From 54b7210b9160c4aa3fffa9e29737111593af6512 Mon Sep 17 00:00:00 2001
From: "Thomas F. K. Jorna" <thomasfkjorna@gmail.com>
Date: Thu, 5 Aug 2021 18:58:49 +0200
Subject: feature: context menu and slightly less jumpy graph

---
 components/contextmenu.tsx | 216 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 216 insertions(+)
 create mode 100644 components/contextmenu.tsx

(limited to 'components/contextmenu.tsx')

diff --git a/components/contextmenu.tsx b/components/contextmenu.tsx
new file mode 100644
index 0000000..c20b3e9
--- /dev/null
+++ b/components/contextmenu.tsx
@@ -0,0 +1,216 @@
+import React, { useRef } from 'react'
+import {
+    Box,
+    Menu,
+    MenuItem,
+    MenuList,
+    MenuGroup,
+    MenuItemOption,
+    MenuOptionGroup,
+    Heading,
+    MenuDivider,
+    Modal,
+    ModalOverlay,
+    ModalContent,
+    ModalHeader,
+    ModalFooter,
+    ModalBody,
+    ModalCloseButton,
+    useDisclosure,
+    Button,
+    PopoverTrigger,
+    PopoverContent,
+    Popover,
+    Flex,
+    PopoverBody,
+    PopoverCloseButton,
+    PopoverArrow,
+    PopoverHeader,
+    PopoverFooter,
+    Portal,
+    Text,
+    VStack,
+} from '@chakra-ui/react'
+import {
+    DeleteIcon,
+    EditIcon,
+    CopyIcon,
+    AddIcon,
+    ViewIcon,
+    ExternalLinkIcon,
+    ChevronRightIcon,
+    PlusSquareIcon,
+} from '@chakra-ui/icons'
+
+import { OrgRoamGraphReponse, OrgRoamLink, OrgRoamNode } from '../api'
+
+export default interface ContextMenuProps {
+    background: Boolean
+    node?: OrgRoamNode
+    nodeType?: string
+    coordinates: number[]
+    handleLocal: (node: OrgRoamNode, add: string) => void
+    openNodeInEmacs: (node: OrgRoamNode) => void
+    menuClose: () => void
+    scope: { nodeIds: string[] }
+    deleteNodeInEmacs: (node: OrgRoamNode) => void
+}
+
+export const ContextMenu = (props: ContextMenuProps) => {
+    const { background, node, nodeType, coordinates, handleLocal, menuClose, scope, openNodeInEmacs, deleteNodeInEmacs } = props
+    const { isOpen, onOpen, onClose } = useDisclosure()
+    const copyRef = useRef<any>()
+    return (
+        <>
+            <Box
+                position="absolute"
+                zIndex="overlay"
+                left={coordinates[0] + 10}
+                top={coordinates[1] - 10}
+                padding={5}
+            >
+                <Menu closeOnBlur={false} defaultIsOpen onClose={() => menuClose()}>
+                    <MenuList zIndex="overlay" bgColor="alt.100" borderColor="gray.500" maxWidth="xs">
+                        {node && (
+                            <>
+                                <Heading size="sm" isTruncated px={3} py={1}>
+                                    {node.title}
+                                </Heading>
+                                <MenuDivider borderColor="gray.500" />
+                            </>
+                        )}
+                        {scope.nodeIds.length !== 0 &&
+                            <>
+                                <MenuItem onClick={() => handleLocal(node!, "add")} icon={<PlusSquareIcon />}>
+                                    Expand local graph at node
+                                </MenuItem>
+                                <MenuItem onClick={() => handleLocal(node!, "replace")} icon={<ViewIcon />}>
+                                    Open local graph for this node
+                                </MenuItem>
+                            </>
+                        }
+                        {!node?.properties.FILELESS ? (
+                            <MenuItem icon={<EditIcon />} onClick={() => openNodeInEmacs(node)}>Open in Emacs</MenuItem>
+                        ) : (
+                            <MenuItem icon={<AddIcon />}>Create node</MenuItem>
+                        )}
+                        {node?.properties.ROAM_REFS && (
+                            <MenuItem icon={<ExternalLinkIcon />}>Open in Zotero</MenuItem>
+                        )}
+                        {scope.nodeIds.length === 0 &&
+                            <MenuItem icon={<ViewIcon />} onClick={() => handleLocal(node!, "replace")}>Open local graph</MenuItem>
+                        }
+                        {/* Doesn't work at the moment
+                            <MenuItem closeOnSelect={false} closeOnBlur={false}>
+                            <Box _hover={{ bg: 'gray.200' }} width="100%">
+                                <Popover
+                                    initialFocusRef={copyRef}
+                                    trigger="hover"
+                                    placement="right-start"
+                                    gutter={0}
+                                >
+                                    <PopoverTrigger>
+                                        <MenuItem closeOnSelect={false} icon={<CopyIcon />}>
+                                            <Flex justifyContent="space-between" alignItems="center">
+                                                Copy...
+                                                <ChevronRightIcon />
+                                            </Flex>
+                                        </MenuItem>
+                                    </PopoverTrigger>
+                                    <PopoverContent width={100}>
+                                        <Menu defaultIsOpen closeOnBlur={false} closeOnSelect={false}>
+                                            <MenuList bg="alt.100" zIndex="popover">
+                                                <MenuItem ref={copyRef}>ID</MenuItem>
+                                                <MenuItem>Title</MenuItem>
+                                                <MenuItem>File path</MenuItem>
+                                            </MenuList>
+                                        </Menu>
+                                    </PopoverContent>
+                                </Popover>
+                            </Box>
+                        </MenuItem> */}
+                        {node?.level === 0 &&
+                            <MenuItem
+                                closeOnSelect={false}
+                                icon={<DeleteIcon color="red.500" />}
+                                color="red.500"
+                                onClick={onOpen}
+                            >
+                                Permenantly delete note
+                            </MenuItem>
+                        }
+                    </MenuList>
+                </Menu>
+            </Box>
+            <Modal isCentered isOpen={isOpen} onClose={onClose}>
+                <ModalOverlay />
+                <ModalContent zIndex="popover" >
+                    <ModalHeader>Delete node?</ModalHeader>
+                    <ModalCloseButton />
+                    <ModalBody>
+                        <VStack
+                            spacing={4}
+                            display="flex"
+                            alignItems="flex-start">
+                            <Text>
+                                This will permanently delete your note:
+                            </Text>
+                            <Text fontWeight="bold">{node?.title}
+                            </Text>
+                            {node?.level !== 0 &&
+                                <Text>This will only delete the from this heading until but not including the next node.
+                                    Your parent file and all other nodes will not be deleted.</Text>}
+                            <Text>
+                                Are you sure you want to do continue?
+                            </Text>
+                        </VStack>
+                    </ModalBody>
+                    <ModalFooter>
+                        <Button mr={3} onClick={() => {
+                            console.log('closing')
+                            onClose()
+                        }}>
+                            Cancel
+                        </Button>
+                        <Button variant="link" colorScheme="red" ml={3}
+                            onClick={() => {
+                                console.log('aaaaa')
+                                deleteNodeInEmacs(node!)
+                                onClose()
+                            }}
+                        >
+                            Delete node
+                        </Button>
+                    </ModalFooter>
+                </ModalContent>
+            </Modal>
+        </>
+    )
+}
+
+/* <Box>
+ *     <Popover>
+ *         <PopoverTrigger>
+ *                 Permenantly delete node
+ *             </MenuItem>
+ *         </PopoverTrigger>
+ *         <PopoverContent borderColor="red.500" _focus={{}}>
+ *             <PopoverHeader fontWeight="semibold">Delete Node?</PopoverHeader>
+ *             <PopoverArrow />
+ *             <PopoverCloseButton onClick={onClose} />
+ *             <PopoverBody>
+ *                 This will permanently delete your node! Are you sure you want to do this?
+ *             </PopoverBody>
+ *             <PopoverFooter>
+ *                 <Flex justifyContent="space-between" py={1}>
+ *                     <Button colorScheme="gray" bg="gray.800" color="alt.100" width={30} onClick={onClose}>
+ *                         Nah
+ *                     </Button>
+ *                     <Button colorScheme="red" variant="link" onClick={onClose}>
+ *                         Delete node
+ *                     </Button>
+ *                 </Flex>
+ *             </PopoverFooter>
+ *         </PopoverContent>
+ *     </Popover>
+ * </Box> */
-- 
cgit v1.2.3


From 6685a50208a283c90ea1567f731b4d85adc90694 Mon Sep 17 00:00:00 2001
From: "Thomas F. K. Jorna" <thomasfkjorna@gmail.com>
Date: Thu, 5 Aug 2021 19:00:40 +0200
Subject: fix: typecast node

---
 components/contextmenu.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'components/contextmenu.tsx')

diff --git a/components/contextmenu.tsx b/components/contextmenu.tsx
index c20b3e9..442b956 100644
--- a/components/contextmenu.tsx
+++ b/components/contextmenu.tsx
@@ -90,7 +90,7 @@ export const ContextMenu = (props: ContextMenuProps) => {
                             </>
                         }
                         {!node?.properties.FILELESS ? (
-                            <MenuItem icon={<EditIcon />} onClick={() => openNodeInEmacs(node)}>Open in Emacs</MenuItem>
+                            <MenuItem icon={<EditIcon />} onClick={() => openNodeInEmacs(node as OrgRoamNode)}>Open in Emacs</MenuItem>
                         ) : (
                             <MenuItem icon={<AddIcon />}>Create node</MenuItem>
                         )}
-- 
cgit v1.2.3


From 54507855a316df0a428119093a16c5e5180fc56d Mon Sep 17 00:00:00 2001
From: "Thomas F. K. Jorna" <thomasfkjorna@gmail.com>
Date: Thu, 5 Aug 2021 21:30:12 +0200
Subject: fix: update notes smoothly

---
 components/contextmenu.tsx | 313 ++++++++++++++++++++++++---------------------
 components/tweaks.tsx      |   3 +
 org-roam-ui.el             |   7 +-
 pages/index.tsx            | 105 ++++++++++-----
 4 files changed, 243 insertions(+), 185 deletions(-)

(limited to 'components/contextmenu.tsx')

diff --git a/components/contextmenu.tsx b/components/contextmenu.tsx
index 442b956..228a780 100644
--- a/components/contextmenu.tsx
+++ b/components/contextmenu.tsx
@@ -1,106 +1,120 @@
 import React, { useRef } from 'react'
 import {
-    Box,
-    Menu,
-    MenuItem,
-    MenuList,
-    MenuGroup,
-    MenuItemOption,
-    MenuOptionGroup,
-    Heading,
-    MenuDivider,
-    Modal,
-    ModalOverlay,
-    ModalContent,
-    ModalHeader,
-    ModalFooter,
-    ModalBody,
-    ModalCloseButton,
-    useDisclosure,
-    Button,
-    PopoverTrigger,
-    PopoverContent,
-    Popover,
-    Flex,
-    PopoverBody,
-    PopoverCloseButton,
-    PopoverArrow,
-    PopoverHeader,
-    PopoverFooter,
-    Portal,
-    Text,
-    VStack,
+  Box,
+  Menu,
+  MenuItem,
+  MenuList,
+  MenuGroup,
+  MenuItemOption,
+  MenuOptionGroup,
+  Heading,
+  MenuDivider,
+  Modal,
+  ModalOverlay,
+  ModalContent,
+  ModalHeader,
+  ModalFooter,
+  ModalBody,
+  ModalCloseButton,
+  useDisclosure,
+  Button,
+  PopoverTrigger,
+  PopoverContent,
+  Popover,
+  Flex,
+  PopoverBody,
+  PopoverCloseButton,
+  PopoverArrow,
+  PopoverHeader,
+  PopoverFooter,
+  Portal,
+  Text,
+  VStack,
 } from '@chakra-ui/react'
 import {
-    DeleteIcon,
-    EditIcon,
-    CopyIcon,
-    AddIcon,
-    ViewIcon,
-    ExternalLinkIcon,
-    ChevronRightIcon,
-    PlusSquareIcon,
+  DeleteIcon,
+  EditIcon,
+  CopyIcon,
+  AddIcon,
+  ViewIcon,
+  ExternalLinkIcon,
+  ChevronRightIcon,
+  PlusSquareIcon,
 } from '@chakra-ui/icons'
 
 import { OrgRoamGraphReponse, OrgRoamLink, OrgRoamNode } from '../api'
 
 export default interface ContextMenuProps {
-    background: Boolean
-    node?: OrgRoamNode
-    nodeType?: string
-    coordinates: number[]
-    handleLocal: (node: OrgRoamNode, add: string) => void
-    openNodeInEmacs: (node: OrgRoamNode) => void
-    menuClose: () => void
-    scope: { nodeIds: string[] }
-    deleteNodeInEmacs: (node: OrgRoamNode) => void
+  background: Boolean
+  node?: OrgRoamNode
+  nodeType?: string
+  coordinates: number[]
+  handleLocal: (node: OrgRoamNode, add: string) => void
+  openNodeInEmacs: (node: OrgRoamNode) => void
+  menuClose: () => void
+  scope: { nodeIds: string[] }
+  deleteNodeInEmacs: (node: OrgRoamNode) => void
 }
 
 export const ContextMenu = (props: ContextMenuProps) => {
-    const { background, node, nodeType, coordinates, handleLocal, menuClose, scope, openNodeInEmacs, deleteNodeInEmacs } = props
-    const { isOpen, onOpen, onClose } = useDisclosure()
-    const copyRef = useRef<any>()
-    return (
-        <>
-            <Box
-                position="absolute"
-                zIndex="overlay"
-                left={coordinates[0] + 10}
-                top={coordinates[1] - 10}
-                padding={5}
-            >
-                <Menu closeOnBlur={false} defaultIsOpen onClose={() => menuClose()}>
-                    <MenuList zIndex="overlay" bgColor="alt.100" borderColor="gray.500" maxWidth="xs">
-                        {node && (
-                            <>
-                                <Heading size="sm" isTruncated px={3} py={1}>
-                                    {node.title}
-                                </Heading>
-                                <MenuDivider borderColor="gray.500" />
-                            </>
-                        )}
-                        {scope.nodeIds.length !== 0 &&
-                            <>
-                                <MenuItem onClick={() => handleLocal(node!, "add")} icon={<PlusSquareIcon />}>
-                                    Expand local graph at node
-                                </MenuItem>
-                                <MenuItem onClick={() => handleLocal(node!, "replace")} icon={<ViewIcon />}>
-                                    Open local graph for this node
-                                </MenuItem>
-                            </>
-                        }
-                        {!node?.properties.FILELESS ? (
-                            <MenuItem icon={<EditIcon />} onClick={() => openNodeInEmacs(node as OrgRoamNode)}>Open in Emacs</MenuItem>
-                        ) : (
-                            <MenuItem icon={<AddIcon />}>Create node</MenuItem>
-                        )}
-                        {node?.properties.ROAM_REFS && (
-                            <MenuItem icon={<ExternalLinkIcon />}>Open in Zotero</MenuItem>
-                        )}
-                        {scope.nodeIds.length === 0 &&
-                            <MenuItem icon={<ViewIcon />} onClick={() => handleLocal(node!, "replace")}>Open local graph</MenuItem>
-                        }
-                        {/* Doesn't work at the moment
+  const {
+    background,
+    node,
+    nodeType,
+    coordinates,
+    handleLocal,
+    menuClose,
+    scope,
+    openNodeInEmacs,
+    deleteNodeInEmacs,
+  } = props
+  const { isOpen, onOpen, onClose } = useDisclosure()
+  const copyRef = useRef<any>()
+  return (
+    <>
+      <Box
+        position="absolute"
+        zIndex="overlay"
+        left={coordinates[0] + 10}
+        top={coordinates[1] - 10}
+        padding={5}
+      >
+        <Menu closeOnBlur={false} defaultIsOpen onClose={() => menuClose()}>
+          <MenuList zIndex="overlay" bgColor="alt.100" borderColor="gray.500" maxWidth="xs">
+            {node && (
+              <>
+                <Heading size="sm" isTruncated px={3} py={1}>
+                  {node.title}
+                </Heading>
+                <MenuDivider borderColor="gray.500" />
+              </>
+            )}
+            {scope.nodeIds.length !== 0 && (
+              <>
+                <MenuItem onClick={() => handleLocal(node!, 'add')} icon={<PlusSquareIcon />}>
+                  Expand local graph at node
+                </MenuItem>
+                <MenuItem onClick={() => handleLocal(node!, 'replace')} icon={<ViewIcon />}>
+                  Open local graph for this node
+                </MenuItem>
+              </>
+            )}
+            {!node?.properties.FILELESS ? (
+              <MenuItem icon={<EditIcon />} onClick={() => openNodeInEmacs(node as OrgRoamNode)}>
+                Open in Emacs
+              </MenuItem>
+            ) : (
+              <MenuItem icon={<AddIcon />}>Create node</MenuItem>
+            )}
+            {node?.properties.ROAM_REFS && (
+              <MenuItem icon={<ExternalLinkIcon />}>Open in Zotero</MenuItem>
+            )}
+            {scope.nodeIds.length === 0 && (
+              <MenuItem icon={<ViewIcon />} onClick={() => handleLocal(node!, 'replace')}>
+                Open local graph
+              </MenuItem>
+            )}
+            {/* Doesn't work at the moment
                             <MenuItem closeOnSelect={false} closeOnBlur={false}>
                             <Box _hover={{ bg: 'gray.200' }} width="100%">
                                 <Popover
@@ -129,63 +143,66 @@ export const ContextMenu = (props: ContextMenuProps) => {
                                 </Popover>
                             </Box>
                         </MenuItem> */}
-                        {node?.level === 0 &&
-                            <MenuItem
-                                closeOnSelect={false}
-                                icon={<DeleteIcon color="red.500" />}
-                                color="red.500"
-                                onClick={onOpen}
-                            >
-                                Permenantly delete note
-                            </MenuItem>
-                        }
-                    </MenuList>
-                </Menu>
-            </Box>
-            <Modal isCentered isOpen={isOpen} onClose={onClose}>
-                <ModalOverlay />
-                <ModalContent zIndex="popover" >
-                    <ModalHeader>Delete node?</ModalHeader>
-                    <ModalCloseButton />
-                    <ModalBody>
-                        <VStack
-                            spacing={4}
-                            display="flex"
-                            alignItems="flex-start">
-                            <Text>
-                                This will permanently delete your note:
-                            </Text>
-                            <Text fontWeight="bold">{node?.title}
-                            </Text>
-                            {node?.level !== 0 &&
-                                <Text>This will only delete the from this heading until but not including the next node.
-                                    Your parent file and all other nodes will not be deleted.</Text>}
-                            <Text>
-                                Are you sure you want to do continue?
-                            </Text>
-                        </VStack>
-                    </ModalBody>
-                    <ModalFooter>
-                        <Button mr={3} onClick={() => {
-                            console.log('closing')
-                            onClose()
-                        }}>
-                            Cancel
-                        </Button>
-                        <Button variant="link" colorScheme="red" ml={3}
-                            onClick={() => {
-                                console.log('aaaaa')
-                                deleteNodeInEmacs(node!)
-                                onClose()
-                            }}
-                        >
-                            Delete node
-                        </Button>
-                    </ModalFooter>
-                </ModalContent>
-            </Modal>
-        </>
-    )
+            {node?.level === 0 && (
+              <MenuItem
+                closeOnSelect={false}
+                icon={<DeleteIcon color="red.500" />}
+                color="red.500"
+                onClick={onOpen}
+              >
+                Permenantly delete note
+              </MenuItem>
+            )}
+          </MenuList>
+        </Menu>
+      </Box>
+      <Modal isCentered isOpen={isOpen} onClose={onClose}>
+        <ModalOverlay />
+        <ModalContent zIndex="popover">
+          <ModalHeader>Delete node?</ModalHeader>
+          <ModalCloseButton />
+          <ModalBody>
+            <VStack spacing={4} display="flex" alignItems="flex-start">
+              <Text>This will permanently delete your note:</Text>
+              <Text fontWeight="bold">{node?.title}</Text>
+              {node?.level !== 0 && (
+                <Text>
+                  This will only delete the from this heading until but not including the next node.
+                  Your parent file and all other nodes will not be deleted.
+                </Text>
+              )}
+              <Text>Are you sure you want to do continue?</Text>
+            </VStack>
+          </ModalBody>
+          <ModalFooter>
+            <Button
+              mr={3}
+              onClick={() => {
+                console.log('closing')
+                onClose()
+                menuClose()
+              }}
+            >
+              Cancel
+            </Button>
+            <Button
+              variant="link"
+              colorScheme="red"
+              ml={3}
+              onClick={() => {
+                console.log('aaaaa')
+                deleteNodeInEmacs(node!)
+                onClose()
+                menuClose()
+              }}
+            >
+              Delete node
+            </Button>
+          </ModalFooter>
+        </ModalContent>
+      </Modal>
+    </>
+  )
 }
 
 /* <Box>
diff --git a/components/tweaks.tsx b/components/tweaks.tsx
index e23476e..9ff994e 100644
--- a/components/tweaks.tsx
+++ b/components/tweaks.tsx
@@ -1130,6 +1130,9 @@ export const Tweaks = (props: TweakProps) => {
                         <Portal>
                           {' '}
                           <MenuList bgColor="gray.200" zIndex="popover">
+                            <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'color' })}>
+                              Just coloring the currently opened node
+                            </MenuItem>
                             <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'local' })}>
                               Opening the local graph
                             </MenuItem>
diff --git a/org-roam-ui.el b/org-roam-ui.el
index b3c3ace..fe0eb1b 100644
--- a/org-roam-ui.el
+++ b/org-roam-ui.el
@@ -151,11 +151,10 @@ This serves the web-build and API over HTTP."
                         :id (alist-get 'id data)))))
                       ((string= command "delete")
                        (progn
-                       (delete-file (alist-get 'file data)
-                       (message "Deleted %s" (alist-get 'file data))))
+                       (message "Deleted %s" (alist-get 'file data))
+                       (delete-file (alist-get 'file data))
                        (org-roam-db-sync)
-                       (org-roam-ui--update-graphdata "node" "deleted" (alist-get 'id data))
-                        )
+                       (org-roam-ui--send-graphdata)))
                 (t (message "Something went wrong when receiving a message from Org-Roam-UI")))))
          :on-close (lambda (_websocket)
             (remove-hook 'after-save-hook #'org-roam-ui--on-save)
diff --git a/pages/index.tsx b/pages/index.tsx
index fb12906..c521741 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -161,7 +161,7 @@ export function GraphPage() {
 
     const newNodes = [
       ...currentGraphData.nodes.map((node: NodeObject) => {
-        const newNode = nodeByIdRef.current[node.id!] ?? false
+        const newNode = nodeByIdRef.current[node?.id!] ?? false
         if (!newNode) {
           return
         }
@@ -169,9 +169,21 @@ export function GraphPage() {
       }),
       ...Object.keys(nodeByIdRef.current)
         .filter((id) => !oldNodeById[id])
-        .map((id) => nodeByIdRef.current[id] as NodeObject),
+        .map((id) => {
+          console.log(id)
+          return nodeByIdRef.current[id] as NodeObject
+        }),
     ]
 
+    const nodeIndex = newNodes.reduce((acc, node, index) => {
+      const id = node?.id as string
+      return {
+        ...acc,
+        [id]: index,
+      }
+    }, {})
+    console.log(newNodes)
+    console.log(nodeIndex)
     /* const currentGraphIndexByLink = currentGraphData.links.reduce<{[key: string]: number}>((acc, link, index) => {
 *   const [source, target] = normalizeLinkEnds(link)
 *     const sourceTarget=source+target
@@ -180,33 +192,56 @@ export function GraphPage() {
 *  [sourceTarget]: index
 * }
 },{}) */
+    const newLinks = [
+      ...currentGraphData!.links.filter((link) => {
+        const [source, target] = normalizeLinkEnds(link)
+        if (!nodeByIdRef.current[source] || !nodeByIdRef.current[target]) {
+          return false
+        }
+        if (
+          !linksByNodeIdRef.current[source]!.some(
+            (link) => link.target === target || link.source === target,
+          ) &&
+          !linksByNodeIdRef.current[target]!.some(
+            (link) => link.target === source || link.source === source,
+          )
+        ) {
+          return false
+        }
+        return true
+      }),
+      ...Object.keys(linksByNodeIdRef.current).flatMap((id) => {
+        if (!oldLinksByNodeId[id]!) {
+          return linksByNodeIdRef.current![id!]!
+        }
+        return (
+          linksByNodeIdRef.current![id]!.filter((link) => {
+            const [source, target] = normalizeLinkEnds(link)
+            return !oldLinksByNodeId[id]!.some(
+              (oldLink) => oldLink.source === source && oldLink.target === target,
+            )!
+          }) ?? []
+        )
+      }),
+    ]
 
-    /* const newLinks = graphData!.links.filter(link => {
-     *   const [source, target] = normalizeLinkEnds(link)
-     *   if (!nodeByIdRef.current[source] || !nodeByIdRef.current[target]) {
-     *     return false
-     *   }
-     *   if (!linksByNodeIdRef.current[source]!.some(link => link.target === target || link.source === target)
-     *     && !linksByNodeIdRef.current[target]!.some(link => link.target === source || link.source === source)) {
-     *     return false
-     *   }
-     *   return true
-     * })
-     * console.log(newLinks)
-     * console.log(currentGraphData.links) */
-    /* ...Object.keys(linksByNodeIdRef.current).flatMap((id) => {
-if (!oldLinksByNodeId[id]!) {
-return linksByNodeIdRef.current![id!]!
-}
-return linksByNodeIdRef.current![id]!.filter(link => {
-const [source, target] = normalizeLinkEnds(link)
-return !oldLinksByNodeId[id]!.some(oldLink => oldLink.source === source && oldLink.target === target)!
-}) ?? []
-})] */
+    const newerLinks = links.map((link) => {
+      const [source, target] = normalizeLinkEnds(link)
+      return {
+        ...link,
+        source: newNodes[nodeIndex[source]],
+        target: newNodes[nodeIndex[target]],
+      }
+    })
     const fg = graphRef.current
-    fg.cooldownTicks = 0
-    setGraphData({ nodes: newNodes as NodeObject[], links: links })
+    setGraphData({ nodes: newNodes as NodeObject[], links: newerLinks })
   }
+  useEffect(() => {
+    if (!graphData) {
+      return
+    }
+    currentGraphDataRef.current = graphData
+  }, [graphData])
 
   const { setEmacsTheme } = useContext(ThemeContext)
 
@@ -225,6 +260,9 @@ return !oldLinksByNodeId[id]!.some(oldLink => oldLink.source === source && oldLi
     speed: number = 2000,
     padding: number = 200,
   ) => {
+    if (command === 'color') {
+      return
+    }
     const fg = graphRef.current
     const sr = scopeRef.current
     const bh = behaviorRef.current
@@ -442,11 +480,9 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
   }
 
   const deleteNodeInEmacs = (node: OrgRoamNode) => {
-    console.log('deletin')
     if (node.level !== 0) {
       return
     }
-    console.log('deletin')
     sendMessageToEmacs('delete', { id: node.id, file: node.file })
   }
 
@@ -509,6 +545,11 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     hiddenNodeIdsRef.current = {}
     const filteredNodes = graphData?.nodes
       ?.filter((nodeArg) => {
+        //sometimes there will be some undefined nodes in the mix
+        // should probably fix the actual issue, but this is a fix
+        if (!nodeArg) {
+          return
+        }
         const node = nodeArg as OrgRoamNode
         if (
           filter.tagsBlacklist.length &&
@@ -530,9 +571,8 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
         }
         return true
       })
-      .filter((nodeArg) => {
-        const node = nodeArg as OrgRoamNode
-        const links = linksByNodeId[node.id as string] ?? []
+      .filter((node) => {
+        const links = linksByNodeId[node?.id as string] ?? []
         const unhiddenLinks = links.filter(
           (link) =>
             !hiddenNodeIdsRef.current[link.source] && !hiddenNodeIdsRef.current[link.target],
@@ -822,7 +862,6 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     setContextPos([event.pageX, event.pageY])
     setRightClickedNode(node)
     onOpen()
-    console.log(event)
   }
 
   const graphCommonProps: ComponentPropsWithoutRef<typeof TForceGraph2D> = {
@@ -1059,7 +1098,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
 
 function isLinkRelatedToNode(link: LinkObject, node: NodeObject | null) {
   return (
-    (link.source as NodeObject).id! === node?.id! || (link.target as NodeObject).id! === node?.id!
+    (link.source as NodeObject)?.id! === node?.id! || (link.target as NodeObject)?.id! === node?.id!
   )
 }
 
-- 
cgit v1.2.3


From b92b006e2c22302e708672de97b9a05081ecca1c Mon Sep 17 00:00:00 2001
From: "Thomas F. K. Jorna" <thomasfkjorna@gmail.com>
Date: Fri, 6 Aug 2021 02:31:59 +0200
Subject: features!: context menu, better ui, and smoother updates

---
 components/config.ts                               |    46 +-
 components/contextmenu.tsx                         |     6 +-
 components/tweaks.tsx                              |  2004 +-
 org-roam-ui.el                                     |     9 +-
 out/404.html                                       |   765 +-
 .../static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js |     1 -
 .../static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js   |     1 -
 out/_next/static/chunks/13-b599b309c84d7675574b.js | 55193 ------------------
 .../static/chunks/238-434e9626e5c308be74a3.js      |     1 +
 out/_next/static/chunks/4.c9fdfbcb8f8ce1720633.js  |   255 +-
 .../static/chunks/d25bd147-2c59edc357c0e2372258.js | 56347 +------------------
 .../static/chunks/fb7d5399-0d6001c72a29ebec41eb.js | 21147 +------
 .../chunks/framework-2f612445bd50b211f15a.js       |  7734 +--
 .../static/chunks/main-ae68c11529959c16c50f.js     |  4320 +-
 .../chunks/pages/_app-b9a9a4081d35806300d5.js      |  8291 +--
 .../chunks/pages/_error-f5e67a79c709c2df06b8.js    |   492 +-
 .../chunks/pages/index-9893d4710094df6598ce.js     |     1 -
 .../chunks/pages/index-a22d59b6e873aa5b1f23.js     |     1 +
 .../chunks/polyfills-e7a279300235e161e32a.js       |  6073 +-
 .../static/chunks/webpack-9c7513cc478a82b87a1b.js  |   186 +-
 out/_next/static/css/331301db207a91d407e5.css      |    16 +-
 .../static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js |     1 +
 .../static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js   |     1 +
 out/index.html                                     |   709 +-
 pages/index.tsx                                    |   250 +-
 25 files changed, 1201 insertions(+), 162649 deletions(-)
 delete mode 100644 out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js
 delete mode 100644 out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js
 delete mode 100644 out/_next/static/chunks/13-b599b309c84d7675574b.js
 create mode 100644 out/_next/static/chunks/238-434e9626e5c308be74a3.js
 delete mode 100644 out/_next/static/chunks/pages/index-9893d4710094df6598ce.js
 create mode 100644 out/_next/static/chunks/pages/index-a22d59b6e873aa5b1f23.js
 create mode 100644 out/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js
 create mode 100644 out/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js

(limited to 'components/contextmenu.tsx')

diff --git a/components/config.ts b/components/config.ts
index 2487168..ef48973 100644
--- a/components/config.ts
+++ b/components/config.ts
@@ -21,9 +21,9 @@ export const initialPhysics = {
   collisionStrength: 20,
   centering: true,
   centeringStrength: 0.05,
-  linkStrength: 0.1,
+  linkStrength: 0.3,
   linkIts: 1,
-  alphaDecay: 0.02,
+  alphaDecay: 0.1,
   alphaTarget: 0,
   alphaMin: 0,
   velocityDecay: 0.25,
@@ -34,9 +34,10 @@ export const initialPhysics = {
 export const initialFilter = {
   orphans: false,
   parents: true,
-  fileless_cites: false,
+  filelessCites: false,
   tagsBlacklist: [],
   tagsWhitelist: [],
+  bad: true,
   nodes: [],
   links: [],
   date: [],
@@ -60,10 +61,11 @@ export const initialVisuals = {
   highlight: true,
   highlightNodeSize: 2,
   highlightLinkSize: 2,
+  highlightFade: 0.8,
   highlightAnim: true,
-  animationSpeed: 700,
+  animationSpeed: 420,
   algorithmOptions: options,
-  algorithmName: 'BackOut',
+  algorithmName: 'SinusoidalOut',
   linkColorScheme: 'gray.500',
   nodeColorScheme: [
     'red.500',
@@ -76,26 +78,26 @@ export const initialVisuals = {
     'purple.500',
     'orange.500',
   ],
-  nodeHighlight: '',
+  nodeHighlight: 'purple.500',
   linkHighlight: 'purple.500',
   backgroundColor: 'white',
   emacsNodeColor: 'gray.800',
-  labelTextColor: 'black',
-  labelBackgroundColor: 'white',
+  labelTextColor: 'gray.900',
+  labelBackgroundColor: '',
   labelBackgroundOpacity: 0.7,
   citeDashes: true,
   citeDashLength: 35,
   citeGapLength: 15,
-  citeLinkColor: 'gray.600',
+  citeLinkColor: 'gray.700',
   citeLinkHighlightColor: '',
   citeNodeColor: 'black',
   refDashes: true,
   refDashLength: 35,
   refGapLength: 15,
-  refLinkColor: 'gray.400',
+  refLinkColor: 'gray.700',
   refLinkHighlightColor: '',
   refNodeColor: 'black',
-  nodeSizeLinks: 2,
+  nodeSizeLinks: 0.5,
 }
 
 export interface TagColors {
@@ -114,3 +116,25 @@ export const initialMouse = {
   local: 'click',
   follow: 'double',
 }
+
+export const colorList = [
+  'red.500',
+  'orange.500',
+  'yellow.500',
+  'green.500',
+  'cyan.500',
+  'blue.500',
+  'pink.500',
+  'purple.500',
+  'white',
+  'gray.100',
+  'gray.200',
+  'gray.300',
+  'gray.400',
+  'gray.500',
+  'gray.600',
+  'gray.700',
+  'gray.800',
+  'gray.900',
+  'black',
+]
diff --git a/components/contextmenu.tsx b/components/contextmenu.tsx
index 228a780..755bd9d 100644
--- a/components/contextmenu.tsx
+++ b/components/contextmenu.tsx
@@ -54,6 +54,7 @@ export default interface ContextMenuProps {
   menuClose: () => void
   scope: { nodeIds: string[] }
   deleteNodeInEmacs: (node: OrgRoamNode) => void
+  createNodeInEmacs: (node: OrgRoamNode) => void
 }
 
 export const ContextMenu = (props: ContextMenuProps) => {
@@ -67,6 +68,7 @@ export const ContextMenu = (props: ContextMenuProps) => {
     scope,
     openNodeInEmacs,
     deleteNodeInEmacs,
+    createNodeInEmacs,
   } = props
   const { isOpen, onOpen, onClose } = useDisclosure()
   const copyRef = useRef<any>()
@@ -104,7 +106,9 @@ export const ContextMenu = (props: ContextMenuProps) => {
                 Open in Emacs
               </MenuItem>
             ) : (
-              <MenuItem icon={<AddIcon />}>Create node</MenuItem>
+              <MenuItem icon={<AddIcon />} onClick={() => createNodeInEmacs(node)}>
+                Create node
+              </MenuItem>
             )}
             {node?.properties.ROAM_REFS && (
               <MenuItem icon={<ExternalLinkIcon />}>Open in Zotero</MenuItem>
diff --git a/components/tweaks.tsx b/components/tweaks.tsx
index bed075f..c62cbd0 100644
--- a/components/tweaks.tsx
+++ b/components/tweaks.tsx
@@ -45,7 +45,7 @@ import {
 } from '@chakra-ui/react'
 import { CUIAutoComplete } from 'chakra-ui-autocomplete'
 
-import React, { useState, useContext } from 'react'
+import React, { useState, useContext, useEffect } from 'react'
 import Scrollbars from 'react-custom-scrollbars-2'
 import {
   initialPhysics,
@@ -54,6 +54,7 @@ import {
   initialMouse,
   initialBehavior,
   TagColors,
+  colorList,
 } from './config'
 
 import { ThemeContext } from '../util/themecontext'
@@ -96,381 +97,434 @@ export const Tweaks = (props: TweakProps) => {
   } = props
   const [showTweaks, setShowTweaks] = useState(true)
   const { highlightColor, setHighlightColor } = useContext(ThemeContext)
-  const colorList = [
-    'red.500',
-    'orange.500',
-    'yellow.500',
-    'green.500',
-    'cyan.500',
-    'blue.500',
-    'pink.500',
-    'purple.500',
-    'white',
-    'gray.100',
-    'gray.200',
-    'gray.300',
-    'gray.400',
-    'gray.500',
-    'gray.600',
-    'gray.700',
-    'gray.800',
-    'gray.900',
-    'black',
-  ]
 
-  return (
-    <>
-      <SlideFade in={!showTweaks}>
-        <Box
-          position="absolute"
-          zIndex="overlay"
-          marginTop={10}
-          marginLeft={10}
-          display={showTweaks ? 'none' : 'block'}
-        >
+  return !showTweaks ? (
+    <Box
+      position="absolute"
+      zIndex="overlay"
+      marginTop={10}
+      marginLeft={10}
+      display={showTweaks ? 'none' : 'block'}
+    >
+      <IconButton
+        variant="ghost"
+        aria-label="Settings"
+        icon={<SettingsIcon />}
+        onClick={() => setShowTweaks(true)}
+      />
+    </Box>
+  ) : (
+    <Box
+      bg="alt.100"
+      w="xs"
+      marginTop={10}
+      marginLeft={10}
+      borderRadius="xl"
+      paddingBottom={5}
+      zIndex={300}
+      position="relative"
+      boxShadow="xl"
+      maxH={0.95 * globalThis.innerHeight}
+    >
+      <Box
+        display="flex"
+        justifyContent="space-between"
+        alignItems="center"
+        paddingRight={2}
+        paddingTop={1}
+      >
+        <Tooltip label={'Switch to ' + threeDim ? '2D' : '3D' + ' view'}>
+          <Button onClick={() => setThreeDim(!threeDim)} variant="ghost" zIndex="overlay">
+            {threeDim ? '3D' : '2D'}
+          </Button>
+        </Tooltip>
+        <Box display="flex" alignItems="center">
+          <Tooltip label="Reset settings to defaults">
+            <IconButton
+              aria-label="Reset Defaults"
+              icon={<RepeatClockIcon />}
+              onClick={() => {
+                setVisuals(initialVisuals)
+                setFilter(initialFilter)
+                setMouse(initialMouse)
+                setPhysics(initialPhysics)
+                setBehavior(initialBehavior)
+              }}
+              variant="none"
+              size="sm"
+            />
+          </Tooltip>
           <IconButton
-            aria-label="Settings"
-            icon={<SettingsIcon />}
-            onClick={() => setShowTweaks(true)}
+            size="sm"
+            icon={<CloseIcon />}
+            aria-label="Close Tweak Panel"
+            variant="ghost"
+            onClick={() => setShowTweaks(false)}
           />
         </Box>
-      </SlideFade>
-      <SlideFade in={showTweaks}>
-        <Box
-          bg="alt.100"
-          w="xs"
-          marginTop={10}
-          marginLeft={10}
-          borderRadius="xl"
-          maxH={650}
-          paddingBottom={5}
-          zIndex={300}
-          position="relative"
-          boxShadow="xl"
-        >
+      </Box>
+      <Scrollbars
+        autoHeight
+        autoHeightMax={0.85 * globalThis.innerHeight}
+        autoHide
+        renderThumbVertical={({ style, ...props }) => (
           <Box
-            display="flex"
-            justifyContent="space-between"
-            alignItems="center"
-            paddingRight={2}
-            paddingTop={1}
-          >
-            <Tooltip label={'Switch to ' + threeDim ? '2D' : '3D' + ' view'}>
-              <Button onClick={() => setThreeDim(!threeDim)} variant="ghost" zIndex="overlay">
-                {threeDim ? '3D' : '2D'}
-              </Button>
-            </Tooltip>
-            <Box display="flex" alignItems="center">
-              <Tooltip label="Reset settings to defaults">
-                <IconButton
-                  aria-label="Reset Defaults"
-                  icon={<RepeatClockIcon />}
-                  onClick={() => {
-                    setVisuals(initialVisuals)
-                    setFilter(initialFilter)
-                    setMouse(initialMouse)
-                    setPhysics(initialPhysics)
-                    setBehavior(initialBehavior)
-                  }}
-                  variant="none"
-                  size="sm"
-                />
-              </Tooltip>
-              <IconButton
-                size="sm"
-                icon={<CloseIcon />}
-                aria-label="Close Tweak Panel"
-                variant="ghost"
-                onClick={() => setShowTweaks(false)}
-              />
-            </Box>
-          </Box>
-          <Scrollbars
-            autoHeight
-            autoHeightMax={600}
-            autoHide
-            renderThumbVertical={({ style, ...props }) => (
-              <Box
-                {...props}
-                style={{
-                  ...style,
-                  borderRadius: 10,
-                }}
-                bg={highlightColor}
-              />
-            )}
-          >
-            <Accordion allowMultiple allowToggle color="black">
-              <AccordionItem>
-                <AccordionButton>
-                  <AccordionIcon marginRight={2} />
-                  <Heading size="sm">Filter</Heading>
-                </AccordionButton>
-                <AccordionPanel>
-                  <VStack
-                    spacing={2}
-                    justifyContent="flex-start"
-                    divider={<StackDivider borderColor="gray.500" />}
-                    align="stretch"
-                    paddingLeft={7}
-                    color="gray.800"
-                  >
-                    <Flex justifyContent="space-between">
-                      <Text>Orphans</Text>
-                      <Switch
-                        onChange={() => {
-                          setFilter({ ...filter, orphans: !filter.orphans })
-                        }}
-                        isChecked={filter.orphans}
-                      ></Switch>
-                    </Flex>
-                    <Flex justifyContent="space-between">
-                      <Text>Link nodes with parent file</Text>
-                      <Switch
-                        onChange={() => {
-                          setFilter({ ...filter, parents: !filter.parents })
-                        }}
-                        isChecked={filter.parents}
-                      ></Switch>
-                    </Flex>
-                    <Flex justifyContent="space-between">
-                      <Text>Citations without note files</Text>
-                      <Switch
-                        onChange={() => {
-                          setFilter({ ...filter, fileless_cites: !filter.fileless_cites })
-                        }}
-                        isChecked={filter.fileless_cites}
-                      ></Switch>
-                    </Flex>
-                  </VStack>
-                  <Accordion padding={0} allowToggle allowMultiple paddingLeft={3}>
-                    <AccordionItem>
-                      <AccordionButton>
-                        Tag filters
-                        <AccordionIcon />
-                      </AccordionButton>
-                      <AccordionPanel pr={0} mr={0}>
-                        <TagPanel
-                          highlightColor={highlightColor}
-                          filter={filter}
-                          setFilter={setFilter}
-                          tags={tags}
-                          mode="blacklist"
-                        />
-                        <TagPanel
-                          highlightColor={highlightColor}
-                          filter={filter}
-                          setFilter={setFilter}
-                          tags={tags}
-                          mode="whitelist"
-                        />
-                      </AccordionPanel>
-                    </AccordionItem>
-                    <AccordionItem>
-                      <AccordionButton>
-                        Tag Colors
-                        <AccordionIcon />
-                      </AccordionButton>
-                      <AccordionPanel pr={0} mr={0}>
-                        <TagColorPanel
-                          tags={tags}
-                          colorList={colorList}
-                          tagColors={tagColors}
-                          setTagColors={setTagColors}
-                          highlightColor={highlightColor}
-                        />
-                      </AccordionPanel>
-                    </AccordionItem>
-                  </Accordion>
-                </AccordionPanel>
-              </AccordionItem>
-              <AccordionItem>
-                <AccordionButton display="flex" justifyContent="space-between">
-                  <Box display="flex">
-                    <AccordionIcon marginRight={2} />
-                    <Heading size="sm">Physics</Heading>
-                  </Box>
-                  {/* <Switch
+            {...props}
+            style={{
+              ...style,
+              borderRadius: 10,
+            }}
+            bg={highlightColor}
+          />
+        )}
+      >
+        <Accordion allowMultiple allowToggle color="black">
+          <AccordionItem>
+            <AccordionButton>
+              <AccordionIcon marginRight={2} />
+              <Heading size="sm">Filter</Heading>
+            </AccordionButton>
+            <AccordionPanel>
+              <VStack
+                spacing={2}
+                justifyContent="flex-start"
+                divider={<StackDivider borderColor="gray.500" />}
+                align="stretch"
+                paddingLeft={7}
+                color="gray.800"
+              >
+                <Flex justifyContent="space-between">
+                  <Text>Orphans</Text>
+                  <Switch
+                    onChange={() => {
+                      setFilter({ ...filter, orphans: !filter.orphans })
+                    }}
+                    isChecked={filter.orphans}
+                  ></Switch>
+                </Flex>
+                <Flex justifyContent="space-between">
+                  <Text>Link nodes with parent file</Text>
+                  <Switch
+                    onChange={() => {
+                      setFilter({ ...filter, parents: !filter.parents })
+                    }}
+                    isChecked={filter.parents}
+                  ></Switch>
+                </Flex>
+                <Flex justifyContent="space-between">
+                  <Text>Citations without note files</Text>
+                  <Switch
+                    onChange={() => {
+                      setFilter({ ...filter, filelessCites: !filter.filelessCites })
+                    }}
+                    isChecked={filter.filelessCites}
+                  ></Switch>
+                </Flex>
+                <Flex justifyContent="space-between">
+                  <Text>Non-existant nodes</Text>
+                  <Switch
+                    onChange={() => {
+                      setTagColors({ ...tagColors, bad: 'white' })
+                      setFilter({ ...filter, bad: !filter.bad })
+                    }}
+                    isChecked={filter.bad}
+                  ></Switch>
+                </Flex>
+              </VStack>
+              <Accordion padding={0} allowToggle allowMultiple paddingLeft={3}>
+                <AccordionItem>
+                  <AccordionButton>
+                    Tag filters
+                    <AccordionIcon />
+                  </AccordionButton>
+                  <AccordionPanel pr={0} mr={0}>
+                    <TagPanel
+                      highlightColor={highlightColor}
+                      filter={filter}
+                      setFilter={setFilter}
+                      tags={tags}
+                      mode="blacklist"
+                    />
+                    <TagPanel
+                      highlightColor={highlightColor}
+                      filter={filter}
+                      setFilter={setFilter}
+                      tags={tags}
+                      mode="whitelist"
+                    />
+                  </AccordionPanel>
+                </AccordionItem>
+                <AccordionItem>
+                  <AccordionButton>
+                    Tag Colors
+                    <AccordionIcon />
+                  </AccordionButton>
+                  <AccordionPanel pr={0} mr={0}>
+                    <TagColorPanel
+                      tags={tags}
+                      colorList={colorList}
+                      tagColors={tagColors}
+                      setTagColors={setTagColors}
+                      highlightColor={highlightColor}
+                    />
+                  </AccordionPanel>
+                </AccordionItem>
+              </Accordion>
+            </AccordionPanel>
+          </AccordionItem>
+          <AccordionItem>
+            <AccordionButton display="flex" justifyContent="space-between">
+              <Box display="flex">
+                <AccordionIcon marginRight={2} />
+                <Heading size="sm">Physics</Heading>
+              </Box>
+              {/* <Switch
                       id="physicsOn"
                       onChange={() => setPhysics({ ...physics, enabled: !physics.enabled })}
                       isChecked={physics.enabled}
                       /> */}
-                </AccordionButton>
-                <AccordionPanel>
-                  <VStack
-                    spacing={2}
-                    justifyContent="flex-start"
-                    divider={<StackDivider borderColor="gray.500" />}
-                    align="stretch"
-                    paddingLeft={7}
-                    color="gray.800"
-                  >
-                    <EnableSection
-                      label="Gravity"
-                      value={physics.gravityOn}
-                      onChange={() => setPhysics({ ...physics, gravityOn: !physics.gravityOn })}
-                    >
-                      <SliderWithInfo
-                        label="Strength"
-                        value={physics.gravity * 10}
-                        onChange={(v) => setPhysics({ ...physics, gravity: v / 10 })}
-                      />
-                    </EnableSection>
-                    <SliderWithInfo
-                      value={-physics.charge / 100}
-                      onChange={(value) => setPhysics({ ...physics, charge: -100 * value })}
-                      label="Repulsive Force"
-                    />
-                    <EnableSection
-                      label="Collision"
-                      infoText="Perfomance sap, disable if slow"
-                      value={physics.collision}
-                      onChange={() => setPhysics({ ...physics, collision: !physics.collision })}
-                    >
-                      <SliderWithInfo
-                        value={physics.collisionStrength / 5}
-                        onChange={(value) =>
-                          setPhysics({ ...physics, collisionStrength: value * 5 })
-                        }
-                        label="Collision Radius"
-                        infoText="Easy with this one, high values can lead to a real jiggly mess"
-                      />
-                    </EnableSection>
-                    <SliderWithInfo
-                      value={physics.linkStrength * 5}
-                      onChange={(value) => setPhysics({ ...physics, linkStrength: value / 5 })}
-                      label="Link Force"
-                    />
-                    <SliderWithInfo
-                      label="Link Iterations"
-                      value={physics.linkIts}
-                      onChange={(value) => setPhysics({ ...physics, linkIts: value })}
-                      min={0}
-                      max={6}
-                      step={1}
-                      infoText="How many links down the line the physics of a single node affects (Slow)"
-                    />
-                    <SliderWithInfo
-                      label="Viscosity"
-                      value={physics.velocityDecay * 10}
-                      onChange={(value) => setPhysics({ ...physics, velocityDecay: value / 10 })}
-                    />
-                  </VStack>
-                  <Box>
-                    <Accordion paddingLeft={3} allowToggle>
-                      <AccordionItem>
-                        <AccordionButton>
-                          <Text>Advanced</Text>
-                          <AccordionIcon marginRight={2} />
-                        </AccordionButton>
-                        <AccordionPanel>
-                          <VStack
-                            spacing={2}
-                            justifyContent="flex-start"
-                            divider={<StackDivider borderColor="gray.500" />}
-                            align="stretch"
-                            paddingLeft={3}
-                            color="gray.800"
-                          >
-                            <SliderWithInfo
-                              label="Stabilization rate"
-                              value={physics.alphaDecay * 50}
-                              onChange={(value) =>
-                                setPhysics({ ...physics, alphaDecay: value / 50 })
-                              }
-                            />
-                            <EnableSection
-                              label="Center nodes"
-                              value={physics.centering}
-                              onChange={() =>
-                                setPhysics({ ...physics, centering: !physics.centering })
-                              }
-                              infoText="Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want."
-                            >
-                              <SliderWithInfo
-                                label="Centering Strength"
-                                value={physics.centeringStrength}
-                                max={2}
-                                step={0.01}
-                                onChange={(v) => setPhysics({ ...physics, centeringStrength: v })}
+            </AccordionButton>
+            <AccordionPanel>
+              <VStack
+                spacing={2}
+                justifyContent="flex-start"
+                divider={<StackDivider borderColor="gray.500" />}
+                align="stretch"
+                paddingLeft={7}
+                color="gray.800"
+              >
+                <EnableSection
+                  label="Gravity"
+                  value={physics.gravityOn}
+                  onChange={() => setPhysics({ ...physics, gravityOn: !physics.gravityOn })}
+                >
+                  <SliderWithInfo
+                    label="Strength"
+                    value={physics.gravity * 10}
+                    onChange={(v) => setPhysics({ ...physics, gravity: v / 10 })}
+                  />
+                </EnableSection>
+                <SliderWithInfo
+                  value={-physics.charge / 100}
+                  onChange={(value) => setPhysics({ ...physics, charge: -100 * value })}
+                  label="Repulsive Force"
+                />
+                <EnableSection
+                  label="Collision"
+                  infoText="Perfomance sap, disable if slow"
+                  value={physics.collision}
+                  onChange={() => setPhysics({ ...physics, collision: !physics.collision })}
+                >
+                  <SliderWithInfo
+                    value={physics.collisionStrength / 5}
+                    onChange={(value) => setPhysics({ ...physics, collisionStrength: value * 5 })}
+                    label="Collision Radius"
+                    infoText="Easy with this one, high values can lead to a real jiggly mess"
+                  />
+                </EnableSection>
+                <SliderWithInfo
+                  value={physics.linkStrength * 5}
+                  onChange={(value) => setPhysics({ ...physics, linkStrength: value / 5 })}
+                  label="Link Force"
+                />
+                <SliderWithInfo
+                  label="Link Iterations"
+                  value={physics.linkIts}
+                  onChange={(value) => setPhysics({ ...physics, linkIts: value })}
+                  min={0}
+                  max={6}
+                  step={1}
+                  infoText="How many links down the line the physics of a single node affects (Slow)"
+                />
+                <SliderWithInfo
+                  label="Viscosity"
+                  value={physics.velocityDecay * 10}
+                  onChange={(value) => setPhysics({ ...physics, velocityDecay: value / 10 })}
+                />
+              </VStack>
+              <Box>
+                <Accordion paddingLeft={3} allowToggle>
+                  <AccordionItem>
+                    <AccordionButton>
+                      <Text>Advanced</Text>
+                      <AccordionIcon marginRight={2} />
+                    </AccordionButton>
+                    <AccordionPanel>
+                      <VStack
+                        spacing={2}
+                        justifyContent="flex-start"
+                        divider={<StackDivider borderColor="gray.500" />}
+                        align="stretch"
+                        paddingLeft={3}
+                        color="gray.800"
+                      >
+                        <SliderWithInfo
+                          label="Stabilization rate"
+                          value={physics.alphaDecay * 50}
+                          onChange={(value) => setPhysics({ ...physics, alphaDecay: value / 50 })}
+                        />
+                        <EnableSection
+                          label="Center nodes"
+                          value={physics.centering}
+                          onChange={() => setPhysics({ ...physics, centering: !physics.centering })}
+                          infoText="Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want."
+                        >
+                          <SliderWithInfo
+                            label="Centering Strength"
+                            value={physics.centeringStrength}
+                            max={2}
+                            step={0.01}
+                            onChange={(v) => setPhysics({ ...physics, centeringStrength: v })}
+                          />
+                        </EnableSection>
+                      </VStack>
+                    </AccordionPanel>
+                  </AccordionItem>
+                </Accordion>
+              </Box>
+            </AccordionPanel>
+          </AccordionItem>
+          <AccordionItem>
+            <AccordionButton>
+              <AccordionIcon marginRight={2} />
+              <Heading size="sm">Visual</Heading>
+            </AccordionButton>
+            <AccordionPanel>
+              <VStack justifyContent="flex-start" align="stretch">
+                <Accordion allowToggle defaultIndex={[0]} paddingLeft={3}>
+                  <AccordionItem>
+                    <AccordionButton>
+                      <Flex justifyContent="space-between" w="100%">
+                        <Text>Colors</Text>
+                        <AccordionIcon marginRight={2} />
+                      </Flex>
+                    </AccordionButton>
+                    <AccordionPanel>
+                      <VStack
+                        spacing={2}
+                        justifyContent="flex-start"
+                        divider={<StackDivider borderColor="gray.500" />}
+                        align="stretch"
+                        color="gray.800"
+                      >
+                        <Box>
+                          <Flex alignItems="center" justifyContent="space-between">
+                            <Text>Nodes</Text>
+                            <Tooltip label="Shuffle node colors">
+                              <IconButton
+                                aria-label="Shuffle node colors"
+                                size="sm"
+                                icon={<RepeatIcon />}
+                                variant="ghost"
+                                onClick={() => {
+                                  const arr = visuals.nodeColorScheme ?? []
+                                  setVisuals({
+                                    ...visuals,
+                                    //shuffle that guy
+                                    //definitely thought of this myself
+                                    nodeColorScheme: arr
+                                      .map((x: any) => [Math.random(), x])
+                                      .sort(([a], [b]) => a - b)
+                                      .map(([_, x]) => x),
+                                  })
+                                }}
                               />
-                            </EnableSection>
-                          </VStack>
-                        </AccordionPanel>
-                      </AccordionItem>
-                    </Accordion>
-                  </Box>
-                </AccordionPanel>
-              </AccordionItem>
-              <AccordionItem>
-                <AccordionButton>
-                  <AccordionIcon marginRight={2} />
-                  <Heading size="sm">Visual</Heading>
-                </AccordionButton>
-                <AccordionPanel>
-                  <VStack justifyContent="flex-start" align="stretch">
-                    <Accordion allowToggle defaultIndex={[0]} paddingLeft={3}>
-                      <AccordionItem>
-                        <AccordionButton>
-                          <Flex justifyContent="space-between" w="100%">
-                            <Text>Colors</Text>
-                            <AccordionIcon marginRight={2} />
-                          </Flex>
-                        </AccordionButton>
-                        <AccordionPanel>
-                          <VStack
-                            spacing={2}
-                            justifyContent="flex-start"
-                            divider={<StackDivider borderColor="gray.500" />}
-                            align="stretch"
-                            color="gray.800"
-                          >
-                            <Box>
-                              <Flex alignItems="center" justifyContent="space-between">
-                                <Text>Nodes</Text>
-                                <Tooltip label="Shuffle node colors">
-                                  <IconButton
-                                    aria-label="Shuffle node colors"
-                                    size="sm"
-                                    icon={<RepeatIcon />}
-                                    variant="ghost"
-                                    onClick={() => {
-                                      const arr = visuals.nodeColorScheme ?? []
-                                      setVisuals({
-                                        ...visuals,
-                                        //shuffle that guy
-                                        //definitely thought of this myself
-                                        nodeColorScheme: arr
-                                          .map((x: any) => [Math.random(), x])
-                                          .sort(([a], [b]) => a - b)
-                                          .map(([_, x]) => x),
-                                      })
-                                    }}
-                                  />
-                                </Tooltip>
-                                <Tooltip label="Cycle node colors">
-                                  <IconButton
-                                    aria-label="Shift node colors"
-                                    icon={<ArrowRightIcon />}
-                                    size="sm"
-                                    variant="ghost"
-                                    onClick={() => {
-                                      const arr = visuals.nodeColorScheme ?? []
-                                      setVisuals({
-                                        ...visuals,
-                                        nodeColorScheme: [...arr.slice(1, arr.length), arr[0]],
-                                      })
+                            </Tooltip>
+                            <Tooltip label="Cycle node colors">
+                              <IconButton
+                                aria-label="Shift node colors"
+                                icon={<ArrowRightIcon />}
+                                size="sm"
+                                variant="ghost"
+                                onClick={() => {
+                                  const arr = visuals.nodeColorScheme ?? []
+                                  setVisuals({
+                                    ...visuals,
+                                    nodeColorScheme: [...arr.slice(1, arr.length), arr[0]],
+                                  })
+                                }}
+                              />
+                            </Tooltip>
+                            <Menu placement="right" closeOnSelect={false} matchWidth>
+                              <MenuButton
+                                width={20}
+                                as={Button}
+                                colorScheme=""
+                                color="black"
+                                rightIcon={<ChevronDownIcon />}
+                              >
+                                <Flex height={6} width={6} flexDirection="column" flexWrap="wrap">
+                                  {visuals.nodeColorScheme.map((color) => (
+                                    <Box
+                                      key={color}
+                                      bgColor={color}
+                                      flex="1 1 8px"
+                                      borderRadius="2xl"
+                                    ></Box>
+                                  ))}
+                                </Flex>
+                              </MenuButton>
+                              <Portal>
+                                {' '}
+                                <MenuList minW={10} zIndex="popover" bgColor="gray.200">
+                                  <MenuOptionGroup
+                                    width={500}
+                                    type="checkbox"
+                                    defaultValue={visuals.nodeColorScheme}
+                                    onChange={(colors) => {
+                                      if (!colors.length) {
+                                        return
+                                      }
+                                      setVisuals({ ...visuals, nodeColorScheme: colors })
                                     }}
-                                  />
-                                </Tooltip>
-                                <Menu placement="right" closeOnSelect={false} matchWidth>
-                                  <MenuButton
-                                    width={20}
-                                    as={Button}
-                                    colorScheme=""
-                                    color="black"
-                                    rightIcon={<ChevronDownIcon />}
                                   >
+                                    {colorList.map((color) => (
+                                      <MenuItemOption
+                                        key={color}
+                                        isChecked={visuals.nodeColorScheme.some((c) => c === color)}
+                                        value={color}
+                                        isDisabled={
+                                          visuals.nodeColorScheme.length === 1 &&
+                                          visuals.nodeColorScheme[0] === color
+                                        }
+                                      >
+                                        <Box
+                                          justifyContent="space-between"
+                                          alignItems="center"
+                                          display="flex"
+                                        >
+                                          <Box
+                                            bgColor={color}
+                                            borderRadius="sm"
+                                            height={6}
+                                            width={6}
+                                          ></Box>
+                                        </Box>
+                                      </MenuItemOption>
+                                    ))}
+                                  </MenuOptionGroup>
+                                </MenuList>
+                              </Portal>
+                            </Menu>
+                          </Flex>
+                          <Flex alignItems="center" justifyContent="space-between">
+                            <Text>Links</Text>
+                            <Menu placement="right">
+                              <MenuButton
+                                as={Button}
+                                colorScheme=""
+                                color="black"
+                                rightIcon={<ChevronDownIcon />}
+                              >
+                                <Box>
+                                  {visuals.linkColorScheme ? (
+                                    <Box
+                                      bgColor={visuals.linkColorScheme}
+                                      borderRadius="sm"
+                                      height={6}
+                                      width={6}
+                                    ></Box>
+                                  ) : (
                                     <Flex
                                       height={6}
                                       width={6}
@@ -486,671 +540,587 @@ export const Tweaks = (props: TweakProps) => {
                                         ></Box>
                                       ))}
                                     </Flex>
-                                  </MenuButton>
-                                  <Portal>
-                                    {' '}
-                                    <MenuList minW={10} zIndex="popover" bgColor="gray.200">
-                                      <MenuOptionGroup
-                                        width={500}
-                                        type="checkbox"
-                                        defaultValue={visuals.nodeColorScheme}
-                                        onChange={(colors) => {
-                                          if (!colors.length) {
-                                            return
-                                          }
-                                          setVisuals({ ...visuals, nodeColorScheme: colors })
-                                        }}
-                                      >
-                                        {colorList.map((color) => (
-                                          <MenuItemOption
-                                            key={color}
-                                            isChecked={visuals.nodeColorScheme.some(
-                                              (c) => c === color,
-                                            )}
-                                            value={color}
-                                            isDisabled={
-                                              visuals.nodeColorScheme.length === 1 &&
-                                              visuals.nodeColorScheme[0] === color
-                                            }
-                                          >
-                                            <Box
-                                              justifyContent="space-between"
-                                              alignItems="center"
-                                              display="flex"
-                                            >
-                                              <Box
-                                                bgColor={color}
-                                                borderRadius="sm"
-                                                height={6}
-                                                width={6}
-                                              ></Box>
-                                            </Box>
-                                          </MenuItemOption>
-                                        ))}
-                                      </MenuOptionGroup>
-                                    </MenuList>
-                                  </Portal>
-                                </Menu>
-                              </Flex>
-                              <Flex alignItems="center" justifyContent="space-between">
-                                <Text>Links</Text>
-                                <Menu placement="right">
-                                  <MenuButton
-                                    as={Button}
-                                    colorScheme=""
-                                    color="black"
-                                    rightIcon={<ChevronDownIcon />}
+                                  )}
+                                </Box>
+                              </MenuButton>
+                              <Portal>
+                                {' '}
+                                <MenuList minW={10} zIndex="popover" bgColor="gray.200">
+                                  <MenuItem
+                                    onClick={() => setVisuals({ ...visuals, linkColorScheme: '' })}
+                                    justifyContent="space-between"
+                                    alignItems="center"
+                                    display="flex"
                                   >
-                                    <Box>
-                                      {visuals.linkColorScheme ? (
+                                    <Flex
+                                      height={6}
+                                      width={6}
+                                      flexDirection="column"
+                                      flexWrap="wrap"
+                                    >
+                                      {visuals.nodeColorScheme.map((color) => (
                                         <Box
-                                          bgColor={visuals.linkColorScheme}
-                                          borderRadius="sm"
-                                          height={6}
-                                          width={6}
-                                        ></Box>
-                                      ) : (
-                                        <Flex
-                                          height={6}
-                                          width={6}
-                                          flexDirection="column"
-                                          flexWrap="wrap"
-                                        >
-                                          {visuals.nodeColorScheme.map((color) => (
-                                            <Box
-                                              key={color}
-                                              bgColor={color}
-                                              flex="1 1 8px"
-                                              borderRadius="2xl"
-                                            ></Box>
-                                          ))}
-                                        </Flex>
-                                      )}
-                                    </Box>
-                                  </MenuButton>
-                                  <Portal>
-                                    {' '}
-                                    <MenuList minW={10} zIndex="popover" bgColor="gray.200">
-                                      <MenuItem
-                                        onClick={() =>
-                                          setVisuals({ ...visuals, linkColorScheme: '' })
-                                        }
-                                        justifyContent="space-between"
-                                        alignItems="center"
-                                        display="flex"
-                                      >
-                                        <Flex
-                                          height={6}
-                                          width={6}
-                                          flexDirection="column"
-                                          flexWrap="wrap"
-                                        >
-                                          {visuals.nodeColorScheme.map((color) => (
-                                            <Box
-                                              key={color}
-                                              bgColor={color}
-                                              flex="1 1 8px"
-                                              borderRadius="2xl"
-                                            ></Box>
-                                          ))}
-                                        </Flex>
-                                      </MenuItem>
-                                      {colorList.map((color) => (
-                                        <MenuItem
                                           key={color}
-                                          onClick={() =>
-                                            setVisuals({
-                                              ...visuals,
-                                              linkColorScheme: color,
-                                            })
-                                          }
-                                          justifyContent="space-between"
-                                          alignItems="center"
-                                          display="flex"
-                                        >
-                                          <Box
-                                            bgColor={color}
-                                            borderRadius="sm"
-                                            height={6}
-                                            width={6}
-                                          ></Box>
-                                        </MenuItem>
+                                          bgColor={color}
+                                          flex="1 1 8px"
+                                          borderRadius="2xl"
+                                        ></Box>
                                       ))}
-                                    </MenuList>
-                                  </Portal>
-                                </Menu>
-                              </Flex>
-                              <Flex alignItems="center" justifyContent="space-between">
-                                <Text>Accent</Text>
-                                <Menu placement="right">
-                                  <MenuButton
-                                    as={Button}
-                                    colorScheme=""
-                                    color="black"
-                                    rightIcon={<ChevronDownIcon />}
-                                  >
-                                    {
+                                    </Flex>
+                                  </MenuItem>
+                                  {colorList.map((color) => (
+                                    <MenuItem
+                                      key={color}
+                                      onClick={() =>
+                                        setVisuals({
+                                          ...visuals,
+                                          linkColorScheme: color,
+                                        })
+                                      }
+                                      justifyContent="space-between"
+                                      alignItems="center"
+                                      display="flex"
+                                    >
                                       <Box
-                                        bgColor={highlightColor}
+                                        bgColor={color}
                                         borderRadius="sm"
                                         height={6}
                                         width={6}
                                       ></Box>
-                                    }
-                                  </MenuButton>
-                                  <Portal>
-                                    {' '}
-                                    <MenuList minW={10} zIndex="popover" bgColor="gray.200">
-                                      {colorList.map((color) => (
-                                        <MenuItem
-                                          key={color}
-                                          onClick={() => setHighlightColor(color)}
-                                          justifyContent="space-between"
-                                          alignItems="center"
-                                          display="flex"
-                                        >
-                                          <Box
-                                            bgColor={color}
-                                            borderRadius="sm"
-                                            height={6}
-                                            width={6}
-                                          ></Box>
-                                        </MenuItem>
-                                      ))}
-                                    </MenuList>
-                                  </Portal>
-                                </Menu>
-                              </Flex>
-                              <ColorMenu
-                                colorList={colorList}
-                                label="Link highlight"
-                                visuals={visuals}
-                                setVisuals={setVisuals}
-                                value="linkHighlight"
-                                visValue={visuals.linkHighlight}
-                              />
-                              <ColorMenu
-                                colorList={colorList}
-                                label="Node highlight"
-                                visuals={visuals}
-                                setVisuals={setVisuals}
-                                value="nodeHighlight"
-                                visValue={visuals.nodeHighlight}
-                              />
-                              <ColorMenu
-                                colorList={colorList}
-                                label="Background"
-                                visuals={visuals}
-                                setVisuals={setVisuals}
-                                value="backgroundColor"
-                                visValue={visuals.backgroundColor}
-                              />
-                              <ColorMenu
-                                colorList={colorList}
-                                label="Emacs node"
-                                visuals={visuals}
-                                setVisuals={setVisuals}
-                                value="emacsNodeColor"
-                                visValue={visuals.emacsNodeColor}
-                              />
-                            </Box>
-                          </VStack>
-                        </AccordionPanel>
-                      </AccordionItem>
-                    </Accordion>
-                    <VStack
-                      spacing={2}
-                      justifyContent="flex-start"
-                      divider={<StackDivider borderColor="gray.500" />}
-                      align="stretch"
-                      paddingLeft={7}
-                      color="gray.800"
-                    >
-                      <SliderWithInfo
-                        label="Node size"
-                        value={visuals.nodeRel}
-                        onChange={(value) => setVisuals({ ...visuals, nodeRel: value })}
-                      />
-                      <SliderWithInfo
-                        label="Node connections size scale"
-                        value={visuals.nodeSizeLinks}
-                        min={0}
-                        max={2}
-                        onChange={(value) => setVisuals({ ...visuals, nodeSizeLinks: value })}
-                      />
-                      {threeDim && (
-                        <>
-                          <SliderWithInfo
-                            label="Node opacity"
-                            value={visuals.nodeOpacity}
-                            min={0}
-                            max={1}
-                            onChange={(value) => setVisuals({ ...visuals, nodeOpacity: value })}
+                                    </MenuItem>
+                                  ))}
+                                </MenuList>
+                              </Portal>
+                            </Menu>
+                          </Flex>
+                          <Flex alignItems="center" justifyContent="space-between">
+                            <Text>Accent</Text>
+                            <Menu placement="right">
+                              <MenuButton
+                                as={Button}
+                                colorScheme=""
+                                color="black"
+                                rightIcon={<ChevronDownIcon />}
+                              >
+                                {
+                                  <Box
+                                    bgColor={highlightColor}
+                                    borderRadius="sm"
+                                    height={6}
+                                    width={6}
+                                  ></Box>
+                                }
+                              </MenuButton>
+                              <Portal>
+                                {' '}
+                                <MenuList minW={10} zIndex="popover" bgColor="gray.200">
+                                  {colorList.map((color) => (
+                                    <MenuItem
+                                      key={color}
+                                      onClick={() => setHighlightColor(color)}
+                                      justifyContent="space-between"
+                                      alignItems="center"
+                                      display="flex"
+                                    >
+                                      <Box
+                                        bgColor={color}
+                                        borderRadius="sm"
+                                        height={6}
+                                        width={6}
+                                      ></Box>
+                                    </MenuItem>
+                                  ))}
+                                </MenuList>
+                              </Portal>
+                            </Menu>
+                          </Flex>
+                          <ColorMenu
+                            colorList={colorList}
+                            label="Link highlight"
+                            visuals={visuals}
+                            setVisuals={setVisuals}
+                            value="linkHighlight"
+                            visValue={visuals.linkHighlight}
                           />
-                          <SliderWithInfo
-                            label="Node resolution"
-                            value={visuals.nodeResolution}
-                            min={5}
-                            max={32}
-                            step={1}
-                            onChange={(value) => setVisuals({ ...visuals, nodeResolution: value })}
+                          <ColorMenu
+                            colorList={colorList}
+                            label="Node highlight"
+                            visuals={visuals}
+                            setVisuals={setVisuals}
+                            value="nodeHighlight"
+                            visValue={visuals.nodeHighlight}
                           />
-                        </>
-                      )}
+                          <ColorMenu
+                            colorList={colorList}
+                            label="Background"
+                            visuals={visuals}
+                            setVisuals={setVisuals}
+                            value="backgroundColor"
+                            visValue={visuals.backgroundColor}
+                          />
+                          <ColorMenu
+                            colorList={colorList}
+                            label="Emacs node"
+                            visuals={visuals}
+                            setVisuals={setVisuals}
+                            value="emacsNodeColor"
+                            visValue={visuals.emacsNodeColor}
+                          />
+                        </Box>
+                      </VStack>
+                    </AccordionPanel>
+                  </AccordionItem>
+                </Accordion>
+                <VStack
+                  spacing={2}
+                  justifyContent="flex-start"
+                  divider={<StackDivider borderColor="gray.500" />}
+                  align="stretch"
+                  paddingLeft={7}
+                  color="gray.800"
+                >
+                  <SliderWithInfo
+                    label="Node size"
+                    value={visuals.nodeRel}
+                    onChange={(value) => setVisuals({ ...visuals, nodeRel: value })}
+                  />
+                  <SliderWithInfo
+                    label="Node connections size scale"
+                    value={visuals.nodeSizeLinks}
+                    min={0}
+                    max={2}
+                    onChange={(value) => setVisuals({ ...visuals, nodeSizeLinks: value })}
+                  />
+                  {threeDim && (
+                    <>
                       <SliderWithInfo
-                        label="Link width"
-                        value={visuals.linkWidth}
-                        onChange={(value) => setVisuals({ ...visuals, linkWidth: value })}
-                      />
-                      {threeDim && (
-                        <SliderWithInfo
-                          label="Link opacity"
-                          min={0}
-                          max={1}
-                          value={visuals.linkOpacity}
-                          onChange={(value) => setVisuals({ ...visuals, linkOpacity: value })}
-                        />
-                      )}
-                      <EnableSection
-                        label="Dash cite links"
-                        infoText="Add dashes to citation links made with org-roam-bibtex"
-                        value={visuals.citeDashes}
-                        onChange={() => setVisuals({ ...visuals, citeDashes: !visuals.citeDashes })}
-                      >
-                        <SliderWithInfo
-                          label="Dash length"
-                          value={visuals.citeDashLength / 10}
-                          onChange={(value) =>
-                            setVisuals({ ...visuals, citeDashLength: value * 10 })
-                          }
-                        />
-                        <SliderWithInfo
-                          label="Gap length"
-                          value={visuals.citeGapLength / 5}
-                          onChange={(value) => setVisuals({ ...visuals, citeGapLength: value * 5 })}
-                        />
-                      </EnableSection>
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Citation node color"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'citeNodeColor'}
-                        visValue={visuals.citeNodeColor}
-                      />
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Citation link color"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'citeLinkColor'}
-                        visValue={visuals.citeLinkColor}
-                      />
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Reference link highlight"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'citeLinkHighlightColor'}
-                        visValue={visuals.citeLinkHighlightColor}
-                      />
-                      <EnableSection
-                        label="Dash ref links"
-                        infoText="Add dashes to citation links, whose target has a note, made with org-roam-bibtex"
-                        value={visuals.refDashes}
-                        onChange={() => setVisuals({ ...visuals, refDashes: !visuals.refDashes })}
-                      >
-                        <SliderWithInfo
-                          label="Dash length"
-                          value={visuals.refDashLength / 10}
-                          onChange={(value) =>
-                            setVisuals({ ...visuals, refDashLength: value * 10 })
-                          }
-                        />
-                        <SliderWithInfo
-                          label="Gap length"
-                          value={visuals.refGapLength / 5}
-                          onChange={(value) => setVisuals({ ...visuals, refGapLength: value * 5 })}
-                        />
-                      </EnableSection>
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Reference node color"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'refNodeColor'}
-                        visValue={visuals.refNodeColor}
-                      />
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Reference link color"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'refLinkColor'}
-                        visValue={visuals.refLinkColor}
+                        label="Node opacity"
+                        value={visuals.nodeOpacity}
+                        min={0}
+                        max={1}
+                        onChange={(value) => setVisuals({ ...visuals, nodeOpacity: value })}
                       />
-                      <ColorMenu
-                        colorList={colorList}
-                        label="Reference link highlight"
-                        visuals={visuals}
-                        setVisuals={setVisuals}
-                        value={'refLinkHighlightColor'}
-                        visValue={visuals.refLinkHighlightColor}
+                      <SliderWithInfo
+                        label="Node resolution"
+                        value={visuals.nodeResolution}
+                        min={5}
+                        max={32}
+                        step={1}
+                        onChange={(value) => setVisuals({ ...visuals, nodeResolution: value })}
                       />
-                      <Box>
-                        <Flex alignItems="center" justifyContent="space-between">
-                          <Text>Labels</Text>
-                          <Menu placement="right">
-                            <MenuButton
-                              as={Button}
-                              colorScheme=""
-                              color="black"
-                              rightIcon={<ChevronDownIcon />}
-                            >
-                              {!visuals.labels
-                                ? 'Never'
-                                : visuals.labels < 2
-                                ? 'On Highlight'
-                                : 'Always'}
-                            </MenuButton>
-                            <Portal>
-                              {' '}
-                              <MenuList zIndex="popover" bgColor="gray.200">
-                                <MenuItem onClick={() => setVisuals({ ...visuals, labels: 0 })}>
-                                  Never
-                                </MenuItem>
-                                <MenuItem onClick={() => setVisuals({ ...visuals, labels: 1 })}>
-                                  On Highlight
-                                </MenuItem>
-                                <MenuItem onClick={() => setVisuals({ ...visuals, labels: 2 })}>
-                                  Always
-                                </MenuItem>
-                                <MenuItem onClick={() => setVisuals({ ...visuals, labels: 3 })}>
-                                  Always (even in 3D)
-                                </MenuItem>
-                              </MenuList>
-                            </Portal>
-                          </Menu>
-                        </Flex>
-                        <Collapse in={visuals.labels > 0} animateOpacity>
-                          <VStack
-                            spacing={1}
-                            justifyContent="flex-start"
-                            divider={<StackDivider borderColor="gray.400" />}
-                            align="stretch"
-                            paddingLeft={2}
-                            color="gray.800"
-                          >
-                            <ColorMenu
-                              colorList={colorList}
-                              label="Text"
-                              visuals={visuals}
-                              setVisuals={setVisuals}
-                              value="labelTextColor"
-                              visValue={visuals.labelTextColor}
-                            />
-                            <ColorMenu
-                              colorList={colorList}
-                              label="Text"
-                              visuals={visuals}
-                              setVisuals={setVisuals}
-                              value="labelBackgroundColor"
-                              visValue={visuals.labelBackgroundColor}
-                            />
-                            <Collapse in={!!visuals.labelBackgroundColor} animateOpacity>
-                              <Box paddingTop={2}>
-                                <SliderWithInfo
-                                  label="Background opacity"
-                                  value={visuals.labelBackgroundOpacity}
-                                  onChange={(value) => {
-                                    console.log(visuals.labelBackgroundOpacity)
-                                    setVisuals({ ...visuals, labelBackgroundOpacity: value })
-                                  }}
-                                  min={0}
-                                  max={1}
-                                  step={0.01}
-                                />
-                              </Box>
-                            </Collapse>
-                            <Collapse in={visuals.labels > 1} animateOpacity>
-                              <Box paddingTop={2}>
-                                <SliderWithInfo
-                                  label="Label Appearance Scale"
-                                  value={visuals.labelScale * 5}
-                                  onChange={(value) =>
-                                    setVisuals({ ...visuals, labelScale: value / 5 })
-                                  }
-                                />
-                              </Box>
-                            </Collapse>
-                          </VStack>
-                        </Collapse>
-                      </Box>
-                      <EnableSection
-                        label="Link arrows"
-                        value={visuals.arrows}
-                        onChange={() => setVisuals({ ...visuals, arrows: !visuals.arrows })}
-                      >
-                        <SliderWithInfo
-                          label="Arrow size"
-                          value={visuals.arrowsLength / 10}
-                          onChange={(value) => setVisuals({ ...visuals, arrowsLength: 10 * value })}
-                        />
-                        <SliderWithInfo
-                          label="Arrow Position"
-                          value={visuals.arrowsPos}
-                          min={0}
-                          max={1}
-                          step={0.01}
-                          onChange={(value) => setVisuals({ ...visuals, arrowsPos: value })}
-                        />
-                        <ColorMenu
-                          colorList={colorList}
-                          label="Arrow Color"
-                          visuals={visuals}
-                          setVisuals={setVisuals}
-                          value="arrowsColor"
-                          visValue={visuals.arrowsColor}
-                        />
-                      </EnableSection>
-                      <EnableSection
-                        label="Directional Particles"
-                        value={visuals.particles}
-                        onChange={() => setVisuals({ ...visuals, particles: !visuals.particles })}
-                      >
-                        <SliderWithInfo
-                          label="Particle Number"
-                          value={visuals.particlesNumber}
-                          max={5}
-                          step={1}
-                          onChange={(value) => setVisuals({ ...visuals, particlesNumber: value })}
-                        />
-                        <SliderWithInfo
-                          label="Particle Size"
-                          value={visuals.particlesWidth}
-                          onChange={(value) => setVisuals({ ...visuals, particlesWidth: value })}
-                        />
-                      </EnableSection>
-                      <EnableSection
-                        label="Highlight"
-                        onChange={() => setVisuals({ ...visuals, highlight: !visuals.highlight })}
-                        value={visuals.highlight}
-                      >
-                        <VStack
-                          spacing={1}
-                          justifyContent="flex-start"
-                          divider={<StackDivider borderColor="gray.400" />}
-                          align="stretch"
-                          paddingLeft={0}
-                        >
-                          <SliderWithInfo
-                            label="Highlight Link Thickness"
-                            value={visuals.highlightLinkSize}
-                            onChange={(value) =>
-                              setVisuals({ ...visuals, highlightLinkSize: value })
-                            }
-                          />
-                          <SliderWithInfo
-                            label="Highlight Node Size"
-                            value={visuals.highlightNodeSize}
-                            onChange={(value) =>
-                              setVisuals({ ...visuals, highlightNodeSize: value })
-                            }
-                          />
-                          {/*<Flex justifyContent="space-between">
-                          <Text> Highlight node color </Text>
-                        </Flex>
-                        <Flex justifyContent="space-between">
-                          <Text> Highlight link color </Text>
-                            </Flex>*/}
-                          <EnableSection
-                            label="Highlight Animation"
-                            onChange={() => {
-                              setVisuals({ ...visuals, highlightAnim: !visuals.highlightAnim })
-                            }}
-                            value={visuals.highlightAnim}
-                          >
-                            <SliderWithInfo
-                              label="Animation speed"
-                              onChange={(v) => setVisuals({ ...visuals, animationSpeed: v })}
-                              value={visuals.animationSpeed}
-                              infoText="Slower speed has a chance of being buggy"
-                              min={50}
-                              max={1000}
-                              step={10}
-                            />
-                            <Select
-                              placeholder={visuals.algorithmName}
-                              onChange={(v) => {
-                                setVisuals({ ...visuals, algorithmName: v.target.value })
-                              }}
-                            >
-                              {visuals.algorithmOptions.map((opt: string) => (
-                                <option key={opt} value={opt}>
-                                  {opt}
-                                </option>
-                              ))}
-                            </Select>
-                          </EnableSection>
-                        </VStack>
-                      </EnableSection>
-                    </VStack>
-                  </VStack>
-                </AccordionPanel>
-              </AccordionItem>
-              <AccordionItem>
-                <AccordionButton>
-                  <AccordionIcon marginRight={2} />
-                  <Heading size="sm">Behavior</Heading>
-                </AccordionButton>
-                <AccordionPanel>
-                  <VStack
-                    spacing={2}
-                    justifyContent="flex-start"
-                    divider={<StackDivider borderColor="gray.500" />}
-                    align="stretch"
-                    paddingLeft={7}
-                    color="gray.800"
+                    </>
+                  )}
+                  <SliderWithInfo
+                    label="Link width"
+                    value={visuals.linkWidth}
+                    onChange={(value) => setVisuals({ ...visuals, linkWidth: value })}
+                  />
+                  {threeDim && (
+                    <SliderWithInfo
+                      label="Link opacity"
+                      min={0}
+                      max={1}
+                      value={visuals.linkOpacity}
+                      onChange={(value) => setVisuals({ ...visuals, linkOpacity: value })}
+                    />
+                  )}
+                  <EnableSection
+                    label="Dash cite links"
+                    infoText="Add dashes to citation links made with org-roam-bibtex"
+                    value={visuals.citeDashes}
+                    onChange={() => setVisuals({ ...visuals, citeDashes: !visuals.citeDashes })}
+                  >
+                    <SliderWithInfo
+                      label="Dash length"
+                      value={visuals.citeDashLength / 10}
+                      onChange={(value) => setVisuals({ ...visuals, citeDashLength: value * 10 })}
+                    />
+                    <SliderWithInfo
+                      label="Gap length"
+                      value={visuals.citeGapLength / 5}
+                      onChange={(value) => setVisuals({ ...visuals, citeGapLength: value * 5 })}
+                    />
+                  </EnableSection>
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Citation node color"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'citeNodeColor'}
+                    visValue={visuals.citeNodeColor}
+                  />
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Citation link color"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'citeLinkColor'}
+                    visValue={visuals.citeLinkColor}
+                  />
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Reference link highlight"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'citeLinkHighlightColor'}
+                    visValue={visuals.citeLinkHighlightColor}
+                  />
+                  <EnableSection
+                    label="Dash ref links"
+                    infoText="Add dashes to citation links, whose target has a note, made with org-roam-bibtex"
+                    value={visuals.refDashes}
+                    onChange={() => setVisuals({ ...visuals, refDashes: !visuals.refDashes })}
                   >
+                    <SliderWithInfo
+                      label="Dash length"
+                      value={visuals.refDashLength / 10}
+                      onChange={(value) => setVisuals({ ...visuals, refDashLength: value * 10 })}
+                    />
+                    <SliderWithInfo
+                      label="Gap length"
+                      value={visuals.refGapLength / 5}
+                      onChange={(value) => setVisuals({ ...visuals, refGapLength: value * 5 })}
+                    />
+                  </EnableSection>
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Reference node color"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'refNodeColor'}
+                    visValue={visuals.refNodeColor}
+                  />
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Reference link color"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'refLinkColor'}
+                    visValue={visuals.refLinkColor}
+                  />
+                  <ColorMenu
+                    colorList={colorList}
+                    label="Reference link highlight"
+                    visuals={visuals}
+                    setVisuals={setVisuals}
+                    value={'refLinkHighlightColor'}
+                    visValue={visuals.refLinkHighlightColor}
+                  />
+                  <Box>
                     <Flex alignItems="center" justifyContent="space-between">
-                      <Flex>
-                        <Text>Expand Node</Text>
-                        <InfoTooltip infoText="View only the node and its direct neighbors" />
-                      </Flex>
+                      <Text>Labels</Text>
                       <Menu placement="right">
                         <MenuButton
                           as={Button}
-                          rightIcon={<ChevronDownIcon />}
                           colorScheme=""
                           color="black"
-                        >
-                          <Text>
-                            {mouse.local
-                              ? mouse.local[0]!.toUpperCase() + mouse.local!.slice(1)
-                              : 'Never'}
-                          </Text>
-                        </MenuButton>
-                        <Portal>
-                          {' '}
-                          <MenuList zIndex="popover" bgColor="gray.200">
-                            <MenuItem onClick={() => setMouse({ ...mouse, local: '' })}>
-                              Never
-                            </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, local: 'click' })}>
-                              Click
-                            </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, local: 'double' })}>
-                              Double Click
-                            </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, local: 'right' })}>
-                              Right Click
-                            </MenuItem>
-                          </MenuList>
-                        </Portal>
-                      </Menu>
-                    </Flex>
-                    <Flex alignItems="center" justifyContent="space-between">
-                      <Text>Open in Emacs</Text>
-                      <Menu placement="right">
-                        <MenuButton
-                          as={Button}
                           rightIcon={<ChevronDownIcon />}
-                          colorScheme=""
-                          color="black"
                         >
-                          <Text>
-                            {mouse.follow
-                              ? mouse.follow[0]!.toUpperCase() + mouse.follow!.slice(1)
-                              : 'Never'}
-                          </Text>
+                          {!visuals.labels
+                            ? 'Never'
+                            : visuals.labels < 2
+                            ? 'On Highlight'
+                            : 'Always'}
                         </MenuButton>
                         <Portal>
                           {' '}
-                          <MenuList bgColor="gray.200" zIndex="popover">
-                            <MenuItem onClick={() => setMouse({ ...mouse, follow: '' })}>
+                          <MenuList zIndex="popover" bgColor="gray.200">
+                            <MenuItem onClick={() => setVisuals({ ...visuals, labels: 0 })}>
                               Never
                             </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, follow: 'click' })}>
-                              Click
+                            <MenuItem onClick={() => setVisuals({ ...visuals, labels: 1 })}>
+                              On Highlight
                             </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, follow: 'double' })}>
-                              Double Click
+                            <MenuItem onClick={() => setVisuals({ ...visuals, labels: 2 })}>
+                              Always
                             </MenuItem>
-                            <MenuItem onClick={() => setMouse({ ...mouse, follow: 'right' })}>
-                              Right Click
+                            <MenuItem onClick={() => setVisuals({ ...visuals, labels: 3 })}>
+                              Always (even in 3D)
                             </MenuItem>
                           </MenuList>
                         </Portal>
                       </Menu>
                     </Flex>
-                    <Flex alignItems="center" justifyContent="space-between">
-                      <Text>Follow Emacs by...</Text>
-                      <Menu placement="right">
-                        <MenuButton
-                          as={Button}
-                          rightIcon={<ChevronDownIcon />}
-                          colorScheme=""
-                          color="black"
+                    <Collapse in={visuals.labels > 0} animateOpacity>
+                      <VStack
+                        spacing={1}
+                        justifyContent="flex-start"
+                        divider={<StackDivider borderColor="gray.400" />}
+                        align="stretch"
+                        paddingLeft={2}
+                        color="gray.800"
+                      >
+                        <ColorMenu
+                          colorList={colorList}
+                          label="Text"
+                          visuals={visuals}
+                          setVisuals={setVisuals}
+                          value="labelTextColor"
+                          visValue={visuals.labelTextColor}
+                        />
+                        <ColorMenu
+                          colorList={colorList}
+                          label="Text"
+                          visuals={visuals}
+                          setVisuals={setVisuals}
+                          value="labelBackgroundColor"
+                          visValue={visuals.labelBackgroundColor}
+                        />
+                        <Collapse in={!!visuals.labelBackgroundColor} animateOpacity>
+                          <Box paddingTop={2}>
+                            <SliderWithInfo
+                              label="Background opacity"
+                              value={visuals.labelBackgroundOpacity}
+                              onChange={(value) => {
+                                console.log(visuals.labelBackgroundOpacity)
+                                setVisuals({ ...visuals, labelBackgroundOpacity: value })
+                              }}
+                              min={0}
+                              max={1}
+                              step={0.01}
+                            />
+                          </Box>
+                        </Collapse>
+                        <Collapse in={visuals.labels > 1} animateOpacity>
+                          <Box paddingTop={2}>
+                            <SliderWithInfo
+                              label="Label Appearance Scale"
+                              value={visuals.labelScale * 5}
+                              onChange={(value) =>
+                                setVisuals({ ...visuals, labelScale: value / 5 })
+                              }
+                            />
+                          </Box>
+                        </Collapse>
+                      </VStack>
+                    </Collapse>
+                  </Box>
+                  <EnableSection
+                    label="Link arrows"
+                    value={visuals.arrows}
+                    onChange={() => setVisuals({ ...visuals, arrows: !visuals.arrows })}
+                  >
+                    <SliderWithInfo
+                      label="Arrow size"
+                      value={visuals.arrowsLength / 10}
+                      onChange={(value) => setVisuals({ ...visuals, arrowsLength: 10 * value })}
+                    />
+                    <SliderWithInfo
+                      label="Arrow Position"
+                      value={visuals.arrowsPos}
+                      min={0}
+                      max={1}
+                      step={0.01}
+                      onChange={(value) => setVisuals({ ...visuals, arrowsPos: value })}
+                    />
+                    <ColorMenu
+                      colorList={colorList}
+                      label="Arrow Color"
+                      visuals={visuals}
+                      setVisuals={setVisuals}
+                      value="arrowsColor"
+                      visValue={visuals.arrowsColor}
+                    />
+                  </EnableSection>
+                  <EnableSection
+                    label="Directional Particles"
+                    value={visuals.particles}
+                    onChange={() => setVisuals({ ...visuals, particles: !visuals.particles })}
+                  >
+                    <SliderWithInfo
+                      label="Particle Number"
+                      value={visuals.particlesNumber}
+                      max={5}
+                      step={1}
+                      onChange={(value) => setVisuals({ ...visuals, particlesNumber: value })}
+                    />
+                    <SliderWithInfo
+                      label="Particle Size"
+                      value={visuals.particlesWidth}
+                      onChange={(value) => setVisuals({ ...visuals, particlesWidth: value })}
+                    />
+                  </EnableSection>
+                  <EnableSection
+                    label="Highlight"
+                    onChange={() => setVisuals({ ...visuals, highlight: !visuals.highlight })}
+                    value={visuals.highlight}
+                  >
+                    <VStack
+                      spacing={1}
+                      justifyContent="flex-start"
+                      divider={<StackDivider borderColor="gray.400" />}
+                      align="stretch"
+                      paddingLeft={0}
+                    >
+                      <SliderWithInfo
+                        label="Highlight Link Thickness"
+                        value={visuals.highlightLinkSize}
+                        onChange={(value) => setVisuals({ ...visuals, highlightLinkSize: value })}
+                      />
+                      <SliderWithInfo
+                        label="Highlight Node Size"
+                        value={visuals.highlightNodeSize}
+                        onChange={(value) => setVisuals({ ...visuals, highlightNodeSize: value })}
+                      />
+                      <SliderWithInfo
+                        min={0}
+                        max={1}
+                        label="Highlight Fade"
+                        value={visuals.highlightFade}
+                        onChange={(value) => setVisuals({ ...visuals, highlightFade: value })}
+                      />
+                      {/*<Flex justifyContent="space-between">
+                          <Text> Highlight node color </Text>
+                        </Flex>
+                        <Flex justifyContent="space-between">
+                          <Text> Highlight link color </Text>
+                            </Flex>*/}
+                      <EnableSection
+                        label="Highlight Animation"
+                        onChange={() => {
+                          setVisuals({ ...visuals, highlightAnim: !visuals.highlightAnim })
+                        }}
+                        value={visuals.highlightAnim}
+                      >
+                        <SliderWithInfo
+                          label="Animation speed"
+                          onChange={(v) => setVisuals({ ...visuals, animationSpeed: v })}
+                          value={visuals.animationSpeed}
+                          infoText="Slower speed has a chance of being buggy"
+                          min={50}
+                          max={1000}
+                          step={10}
+                        />
+                        <Select
+                          placeholder={visuals.algorithmName}
+                          onChange={(v) => {
+                            setVisuals({ ...visuals, algorithmName: v.target.value })
+                          }}
                         >
-                          <Text>{behavior.follow[0].toUpperCase() + behavior.follow.slice(1)}</Text>
-                        </MenuButton>
-                        <Portal>
-                          {' '}
-                          <MenuList bgColor="gray.200" zIndex="popover">
-                            <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'color' })}>
-                              Just coloring the currently opened node
-                            </MenuItem>
-                            <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'local' })}>
-                              Opening the local graph
-                            </MenuItem>
-                            <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'zoom' })}>
-                              Zooming to the current node
-                            </MenuItem>
-                          </MenuList>
-                        </Portal>
-                      </Menu>
-                    </Flex>
-                    {/* <Flex alignItems="center" justifyContent="space-between">
+                          {visuals.algorithmOptions.map((opt: string) => (
+                            <option key={opt} value={opt}>
+                              {opt}
+                            </option>
+                          ))}
+                        </Select>
+                      </EnableSection>
+                    </VStack>
+                  </EnableSection>
+                </VStack>
+              </VStack>
+            </AccordionPanel>
+          </AccordionItem>
+          <AccordionItem>
+            <AccordionButton>
+              <AccordionIcon marginRight={2} />
+              <Heading size="sm">Behavior</Heading>
+            </AccordionButton>
+            <AccordionPanel>
+              <VStack
+                spacing={2}
+                justifyContent="flex-start"
+                divider={<StackDivider borderColor="gray.500" />}
+                align="stretch"
+                paddingLeft={7}
+                color="gray.800"
+              >
+                <Flex alignItems="center" justifyContent="space-between">
+                  <Flex>
+                    <Text>Expand Node</Text>
+                    <InfoTooltip infoText="View only the node and its direct neighbors" />
+                  </Flex>
+                  <Menu placement="right">
+                    <MenuButton
+                      as={Button}
+                      rightIcon={<ChevronDownIcon />}
+                      colorScheme=""
+                      color="black"
+                    >
+                      <Text>
+                        {mouse.local
+                          ? mouse.local[0]!.toUpperCase() + mouse.local!.slice(1)
+                          : 'Never'}
+                      </Text>
+                    </MenuButton>
+                    <Portal>
+                      {' '}
+                      <MenuList zIndex="popover" bgColor="gray.200">
+                        <MenuItem onClick={() => setMouse({ ...mouse, local: '' })}>Never</MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, local: 'click' })}>
+                          Click
+                        </MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, local: 'double' })}>
+                          Double Click
+                        </MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, local: 'right' })}>
+                          Right Click
+                        </MenuItem>
+                      </MenuList>
+                    </Portal>
+                  </Menu>
+                </Flex>
+                <Flex alignItems="center" justifyContent="space-between">
+                  <Text>Open in Emacs</Text>
+                  <Menu placement="right">
+                    <MenuButton
+                      as={Button}
+                      rightIcon={<ChevronDownIcon />}
+                      colorScheme=""
+                      color="black"
+                    >
+                      <Text>
+                        {mouse.follow
+                          ? mouse.follow[0]!.toUpperCase() + mouse.follow!.slice(1)
+                          : 'Never'}
+                      </Text>
+                    </MenuButton>
+                    <Portal>
+                      {' '}
+                      <MenuList bgColor="gray.200" zIndex="popover">
+                        <MenuItem onClick={() => setMouse({ ...mouse, follow: '' })}>
+                          Never
+                        </MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, follow: 'click' })}>
+                          Click
+                        </MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, follow: 'double' })}>
+                          Double Click
+                        </MenuItem>
+                        <MenuItem onClick={() => setMouse({ ...mouse, follow: 'right' })}>
+                          Right Click
+                        </MenuItem>
+                      </MenuList>
+                    </Portal>
+                  </Menu>
+                </Flex>
+                <Flex alignItems="center" justifyContent="space-between">
+                  <Text>Follow Emacs by...</Text>
+                  <Menu placement="right">
+                    <MenuButton
+                      as={Button}
+                      rightIcon={<ChevronDownIcon />}
+                      colorScheme=""
+                      color="black"
+                    >
+                      <Text>{behavior.follow[0].toUpperCase() + behavior.follow.slice(1)}</Text>
+                    </MenuButton>
+                    <Portal>
+                      {' '}
+                      <MenuList bgColor="gray.200" zIndex="popover">
+                        <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'color' })}>
+                          Just coloring the currently opened node
+                        </MenuItem>
+                        <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'local' })}>
+                          Opening the local graph
+                        </MenuItem>
+                        <MenuItem onClick={() => setBehavior({ ...behavior, follow: 'zoom' })}>
+                          Zooming to the current node
+                        </MenuItem>
+                      </MenuList>
+                    </Portal>
+                  </Menu>
+                </Flex>
+                {/* <Flex alignItems="center" justifyContent="space-between">
                       <Flex>
                         <Text>Follow local graph</Text>
                         <InfoTooltip infoText="When in local mode and opening a node that already exists in Emacs, should I add that local graph or open the new one?" />
@@ -1181,31 +1151,29 @@ export const Tweaks = (props: TweakProps) => {
                         </Portal>
                       </Menu>
                     </Flex> */}
-                    <SliderWithInfo
-                      label="Zoom speed"
-                      value={behavior.zoomSpeed}
-                      min={0}
-                      max={4000}
-                      step={100}
-                      onChange={(value) => setBehavior({ ...behavior, zoomSpeed: value })}
-                    />
-                    <SliderWithInfo
-                      label="Zoom padding"
-                      value={behavior.zoomPadding}
-                      min={0}
-                      max={400}
-                      step={1}
-                      onChange={(value) => setBehavior({ ...behavior, zoomPadding: value })}
-                      infoText="How much to zoom out to accomodate all nodes when changing the view."
-                    />
-                  </VStack>
-                </AccordionPanel>
-              </AccordionItem>
-            </Accordion>
-          </Scrollbars>
-        </Box>
-      </SlideFade>
-    </>
+                <SliderWithInfo
+                  label="Zoom speed"
+                  value={behavior.zoomSpeed}
+                  min={0}
+                  max={4000}
+                  step={100}
+                  onChange={(value) => setBehavior({ ...behavior, zoomSpeed: value })}
+                />
+                <SliderWithInfo
+                  label="Zoom padding"
+                  value={behavior.zoomPadding}
+                  min={0}
+                  max={400}
+                  step={1}
+                  onChange={(value) => setBehavior({ ...behavior, zoomPadding: value })}
+                  infoText="How much to zoom out to accomodate all nodes when changing the view."
+                />
+              </VStack>
+            </AccordionPanel>
+          </AccordionItem>
+        </Accordion>
+      </Scrollbars>
+    </Box>
   )
 }
 
diff --git a/org-roam-ui.el b/org-roam-ui.el
index fe0eb1b..655b643 100644
--- a/org-roam-ui.el
+++ b/org-roam-ui.el
@@ -144,7 +144,6 @@ This serves the web-build and API over HTTP."
                       (let* ((msg (json-parse-string (websocket-frame-text frame) :object-type 'alist))
                              (command (alist-get 'command msg))
                              (data (alist-get 'data msg)))
-                        (message "%s" (websocket-frame-text frame))
                 (cond ((string= command "open")
                     (org-roam-node-visit
                         (org-roam-populate (org-roam-node-create
@@ -155,6 +154,14 @@ This serves the web-build and API over HTTP."
                        (delete-file (alist-get 'file data))
                        (org-roam-db-sync)
                        (org-roam-ui--send-graphdata)))
+                      ((string= command "create")
+
+                       (progn
+                        (if (and (fboundp #'orb-edit-note) (alist-get 'ROAM_REFS data))
+                        (orb-edit-note (alist-get 'id data)))
+      (org-roam-capture-
+       :node (org-roam-node-create :title (alist-get 'title data))
+       :props '(:finalize find-file))))
                 (t (message "Something went wrong when receiving a message from Org-Roam-UI")))))
          :on-close (lambda (_websocket)
             (remove-hook 'after-save-hook #'org-roam-ui--on-save)
diff --git a/out/404.html b/out/404.html
index 322d604..4235c5a 100644
--- a/out/404.html
+++ b/out/404.html
@@ -1,764 +1 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width" />
-    <meta charset="utf-8" />
-    <title>404: This page could not be found</title>
-    <meta name="next-head-count" content="3" />
-    <link rel="preload" href="/_next/static/css/331301db207a91d407e5.css" as="style" />
-    <link rel="stylesheet" href="/_next/static/css/331301db207a91d407e5.css" data-n-g="" />
-    <noscript data-n-css=""></noscript>
-    <script
-      defer=""
-      nomodule=""
-      src="/_next/static/chunks/polyfills-e7a279300235e161e32a.js"
-    ></script>
-    <script src="/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js" defer=""></script>
-    <script src="/_next/static/chunks/framework-2f612445bd50b211f15a.js" defer=""></script>
-    <script src="/_next/static/chunks/main-ae68c11529959c16c50f.js" defer=""></script>
-    <script src="/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js" defer=""></script>
-    <script src="/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js" defer=""></script>
-    <script src="/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js" defer=""></script>
-    <script src="/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js" defer=""></script>
-  </head>
-  <body>
-    <div id="__next">
-      <style data-emotion="css-global 1n4e8ad">
-        :host,
-        :root {
-          --chakra-ring-inset: var(--chakra-empty, /*!*/ /*!*/);
-          --chakra-ring-offset-width: 0px;
-          --chakra-ring-offset-color: #fff;
-          --chakra-ring-color: rgba(66, 153, 225, 0.6);
-          --chakra-ring-offset-shadow: 0 0 #0000;
-          --chakra-ring-shadow: 0 0 #0000;
-          --chakra-space-x-reverse: 0;
-          --chakra-space-y-reverse: 0;
-          --chakra-colors-transparent: transparent;
-          --chakra-colors-current: currentColor;
-          --chakra-colors-black: #bbc2cf;
-          --chakra-colors-white: #242730;
-          --chakra-colors-whiteAlpha-50: rgba(255, 255, 255, 0.04);
-          --chakra-colors-whiteAlpha-100: rgba(255, 255, 255, 0.06);
-          --chakra-colors-whiteAlpha-200: rgba(255, 255, 255, 0.08);
-          --chakra-colors-whiteAlpha-300: rgba(255, 255, 255, 0.16);
-          --chakra-colors-whiteAlpha-400: rgba(255, 255, 255, 0.24);
-          --chakra-colors-whiteAlpha-500: rgba(255, 255, 255, 0.36);
-          --chakra-colors-whiteAlpha-600: rgba(255, 255, 255, 0.48);
-          --chakra-colors-whiteAlpha-700: rgba(255, 255, 255, 0.64);
-          --chakra-colors-whiteAlpha-800: rgba(255, 255, 255, 0.8);
-          --chakra-colors-whiteAlpha-900: rgba(255, 255, 255, 0.92);
-          --chakra-colors-blackAlpha-50: rgba(0, 0, 0, 0.04);
-          --chakra-colors-blackAlpha-100: rgba(0, 0, 0, 0.06);
-          --chakra-colors-blackAlpha-200: rgba(0, 0, 0, 0.08);
-          --chakra-colors-blackAlpha-300: rgba(0, 0, 0, 0.16);
-          --chakra-colors-blackAlpha-400: rgba(0, 0, 0, 0.24);
-          --chakra-colors-blackAlpha-500: rgba(0, 0, 0, 0.36);
-          --chakra-colors-blackAlpha-600: rgba(0, 0, 0, 0.48);
-          --chakra-colors-blackAlpha-700: rgba(0, 0, 0, 0.64);
-          --chakra-colors-blackAlpha-800: rgba(0, 0, 0, 0.8);
-          --chakra-colors-blackAlpha-900: rgba(0, 0, 0, 0.92);
-          --chakra-colors-gray-50: #f7fafc;
-          --chakra-colors-gray-100: #1c1f24;
-          --chakra-colors-gray-200: rgb(29, 33, 38);
-          --chakra-colors-gray-300: #21272d;
-          --chakra-colors-gray-400: #23272e;
-          --chakra-colors-gray-500: #484854;
-          --chakra-colors-gray-600: #62686e;
-          --chakra-colors-gray-700: #757b80;
-          --chakra-colors-gray-800: #9ca0a4;
-          --chakra-colors-gray-900: #dfdfdf;
-          --chakra-colors-red-50: #fff5f5;
-          --chakra-colors-red-100: #fed7d7;
-          --chakra-colors-red-200: #feb2b2;
-          --chakra-colors-red-300: #fc8181;
-          --chakra-colors-red-400: #f56565;
-          --chakra-colors-red-500: #ff665c;
-          --chakra-colors-red-600: #c53030;
-          --chakra-colors-red-700: #9b2c2c;
-          --chakra-colors-red-800: #822727;
-          --chakra-colors-red-900: #63171b;
-          --chakra-colors-orange-50: #fffaf0;
-          --chakra-colors-orange-100: #feebc8;
-          --chakra-colors-orange-200: #fbd38d;
-          --chakra-colors-orange-300: #f6ad55;
-          --chakra-colors-orange-400: #ed8936;
-          --chakra-colors-orange-500: #e69055;
-          --chakra-colors-orange-600: #c05621;
-          --chakra-colors-orange-700: #9c4221;
-          --chakra-colors-orange-800: #7b341e;
-          --chakra-colors-orange-900: #652b19;
-          --chakra-colors-yellow-50: #fffff0;
-          --chakra-colors-yellow-100: #fefcbf;
-          --chakra-colors-yellow-200: #faf089;
-          --chakra-colors-yellow-300: #f6e05e;
-          --chakra-colors-yellow-400: #ecc94b;
-          --chakra-colors-yellow-500: #fcce7b;
-          --chakra-colors-yellow-600: #b7791f;
-          --chakra-colors-yellow-700: #975a16;
-          --chakra-colors-yellow-800: #744210;
-          --chakra-colors-yellow-900: #5f370e;
-          --chakra-colors-green-50: #f0fff4;
-          --chakra-colors-green-100: #c6f6d5;
-          --chakra-colors-green-200: #9ae6b4;
-          --chakra-colors-green-300: #68d391;
-          --chakra-colors-green-400: #48bb78;
-          --chakra-colors-green-500: #7bc275;
-          --chakra-colors-green-600: #2f855a;
-          --chakra-colors-green-700: #276749;
-          --chakra-colors-green-800: #22543d;
-          --chakra-colors-green-900: #1c4532;
-          --chakra-colors-teal-50: #e6fffa;
-          --chakra-colors-teal-100: #b2f5ea;
-          --chakra-colors-teal-200: #81e6d9;
-          --chakra-colors-teal-300: #4fd1c5;
-          --chakra-colors-teal-400: #38b2ac;
-          --chakra-colors-teal-500: #51afef;
-          --chakra-colors-teal-600: #2c7a7b;
-          --chakra-colors-teal-700: #285e61;
-          --chakra-colors-teal-800: #234e52;
-          --chakra-colors-teal-900: #1d4044;
-          --chakra-colors-blue-50: #ebf8ff;
-          --chakra-colors-blue-100: #bee3f8;
-          --chakra-colors-blue-200: #90cdf4;
-          --chakra-colors-blue-300: #63b3ed;
-          --chakra-colors-blue-400: #4299e1;
-          --chakra-colors-blue-500: #51afef;
-          --chakra-colors-blue-600: #2b6cb0;
-          --chakra-colors-blue-700: #2c5282;
-          --chakra-colors-blue-800: #2a4365;
-          --chakra-colors-blue-900: #1a365d;
-          --chakra-colors-cyan-50: #edfdfd;
-          --chakra-colors-cyan-100: #c4f1f9;
-          --chakra-colors-cyan-200: #9decf9;
-          --chakra-colors-cyan-300: #76e4f7;
-          --chakra-colors-cyan-400: #0bc5ea;
-          --chakra-colors-cyan-500: #5cefff;
-          --chakra-colors-cyan-600: #00a3c4;
-          --chakra-colors-cyan-700: #0987a0;
-          --chakra-colors-cyan-800: #086f83;
-          --chakra-colors-cyan-900: #065666;
-          --chakra-colors-purple-50: #faf5ff;
-          --chakra-colors-purple-100: #e9d8fd;
-          --chakra-colors-purple-200: #d6bcfa;
-          --chakra-colors-purple-300: #b794f4;
-          --chakra-colors-purple-400: #9f7aea;
-          --chakra-colors-purple-500: #a991f1;
-          --chakra-colors-purple-600: #6b46c1;
-          --chakra-colors-purple-700: #553c9a;
-          --chakra-colors-purple-800: #44337a;
-          --chakra-colors-purple-900: #322659;
-          --chakra-colors-pink-50: #fff5f7;
-          --chakra-colors-pink-100: #fed7e2;
-          --chakra-colors-pink-200: #fbb6ce;
-          --chakra-colors-pink-300: #f687b3;
-          --chakra-colors-pink-400: #ed64a6;
-          --chakra-colors-pink-500: #c57bdb;
-          --chakra-colors-pink-600: #b83280;
-          --chakra-colors-pink-700: #97266d;
-          --chakra-colors-pink-800: #702459;
-          --chakra-colors-pink-900: #521b41;
-          --chakra-colors-linkedin-50: #e8f4f9;
-          --chakra-colors-linkedin-100: #cfedfb;
-          --chakra-colors-linkedin-200: #9bdaf3;
-          --chakra-colors-linkedin-300: #68c7ec;
-          --chakra-colors-linkedin-400: #34b3e4;
-          --chakra-colors-linkedin-500: #00a0dc;
-          --chakra-colors-linkedin-600: #008cc9;
-          --chakra-colors-linkedin-700: #0077b5;
-          --chakra-colors-linkedin-800: #005e93;
-          --chakra-colors-linkedin-900: #004471;
-          --chakra-colors-facebook-50: #e8f4f9;
-          --chakra-colors-facebook-100: #d9dee9;
-          --chakra-colors-facebook-200: #b7c2da;
-          --chakra-colors-facebook-300: #6482c0;
-          --chakra-colors-facebook-400: #4267b2;
-          --chakra-colors-facebook-500: #385898;
-          --chakra-colors-facebook-600: #314e89;
-          --chakra-colors-facebook-700: #29487d;
-          --chakra-colors-facebook-800: #223b67;
-          --chakra-colors-facebook-900: #1e355b;
-          --chakra-colors-messenger-50: #d0e6ff;
-          --chakra-colors-messenger-100: #b9daff;
-          --chakra-colors-messenger-200: #a2cdff;
-          --chakra-colors-messenger-300: #7ab8ff;
-          --chakra-colors-messenger-400: #2e90ff;
-          --chakra-colors-messenger-500: #0078ff;
-          --chakra-colors-messenger-600: #0063d1;
-          --chakra-colors-messenger-700: #0052ac;
-          --chakra-colors-messenger-800: #003c7e;
-          --chakra-colors-messenger-900: #002c5c;
-          --chakra-colors-whatsapp-50: #dffeec;
-          --chakra-colors-whatsapp-100: #b9f5d0;
-          --chakra-colors-whatsapp-200: #90edb3;
-          --chakra-colors-whatsapp-300: #65e495;
-          --chakra-colors-whatsapp-400: #3cdd78;
-          --chakra-colors-whatsapp-500: #22c35e;
-          --chakra-colors-whatsapp-600: #179848;
-          --chakra-colors-whatsapp-700: #0c6c33;
-          --chakra-colors-whatsapp-800: #01421c;
-          --chakra-colors-whatsapp-900: #001803;
-          --chakra-colors-twitter-50: #e5f4fd;
-          --chakra-colors-twitter-100: #c8e9fb;
-          --chakra-colors-twitter-200: #a8dcfa;
-          --chakra-colors-twitter-300: #83cdf7;
-          --chakra-colors-twitter-400: #57bbf5;
-          --chakra-colors-twitter-500: #1da1f2;
-          --chakra-colors-twitter-600: #1a94da;
-          --chakra-colors-twitter-700: #1681bf;
-          --chakra-colors-twitter-800: #136b9e;
-          --chakra-colors-twitter-900: #0d4d71;
-          --chakra-colors-telegram-50: #e3f2f9;
-          --chakra-colors-telegram-100: #c5e4f3;
-          --chakra-colors-telegram-200: #a2d4ec;
-          --chakra-colors-telegram-300: #7ac1e4;
-          --chakra-colors-telegram-400: #47a9da;
-          --chakra-colors-telegram-500: #0088cc;
-          --chakra-colors-telegram-600: #007ab8;
-          --chakra-colors-telegram-700: #006ba1;
-          --chakra-colors-telegram-800: #005885;
-          --chakra-colors-telegram-900: #003f5e;
-          --chakra-colors-alt-100: #2a2e38;
-          --chakra-colors-alt-900: #5d656b;
-          --chakra-borders-none: 0;
-          --chakra-borders-1px: 1px solid;
-          --chakra-borders-2px: 2px solid;
-          --chakra-borders-4px: 4px solid;
-          --chakra-borders-8px: 8px solid;
-          --chakra-fonts-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
-            sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
-          --chakra-fonts-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
-            sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
-          --chakra-fonts-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
-            'Courier New', monospace;
-          --chakra-fontSizes-xs: 0.75rem;
-          --chakra-fontSizes-sm: 0.875rem;
-          --chakra-fontSizes-md: 1rem;
-          --chakra-fontSizes-lg: 1.125rem;
-          --chakra-fontSizes-xl: 1.25rem;
-          --chakra-fontSizes-2xl: 1.5rem;
-          --chakra-fontSizes-3xl: 1.875rem;
-          --chakra-fontSizes-4xl: 2.25rem;
-          --chakra-fontSizes-5xl: 3rem;
-          --chakra-fontSizes-6xl: 3.75rem;
-          --chakra-fontSizes-7xl: 4.5rem;
-          --chakra-fontSizes-8xl: 6rem;
-          --chakra-fontSizes-9xl: 8rem;
-          --chakra-fontWeights-hairline: 100;
-          --chakra-fontWeights-thin: 200;
-          --chakra-fontWeights-light: 300;
-          --chakra-fontWeights-normal: 400;
-          --chakra-fontWeights-medium: 500;
-          --chakra-fontWeights-semibold: 600;
-          --chakra-fontWeights-bold: 700;
-          --chakra-fontWeights-extrabold: 800;
-          --chakra-fontWeights-black: 900;
-          --chakra-letterSpacings-tighter: -0.05em;
-          --chakra-letterSpacings-tight: -0.025em;
-          --chakra-letterSpacings-normal: 0;
-          --chakra-letterSpacings-wide: 0.025em;
-          --chakra-letterSpacings-wider: 0.05em;
-          --chakra-letterSpacings-widest: 0.1em;
-          --chakra-lineHeights-3: 0.75rem;
-          --chakra-lineHeights-4: 1rem;
-          --chakra-lineHeights-5: 1.25rem;
-          --chakra-lineHeights-6: 1.5rem;
-          --chakra-lineHeights-7: 1.75rem;
-          --chakra-lineHeights-8: 2rem;
-          --chakra-lineHeights-9: 2.25rem;
-          --chakra-lineHeights-10: 2.5rem;
-          --chakra-lineHeights-normal: normal;
-          --chakra-lineHeights-none: 1;
-          --chakra-lineHeights-shorter: 1.25;
-          --chakra-lineHeights-short: 1.375;
-          --chakra-lineHeights-base: 1.5;
-          --chakra-lineHeights-tall: 1.625;
-          --chakra-lineHeights-taller: 2;
-          --chakra-radii-none: 0;
-          --chakra-radii-sm: 0.125rem;
-          --chakra-radii-base: 0.25rem;
-          --chakra-radii-md: 0.375rem;
-          --chakra-radii-lg: 0.5rem;
-          --chakra-radii-xl: 0.75rem;
-          --chakra-radii-2xl: 1rem;
-          --chakra-radii-3xl: 1.5rem;
-          --chakra-radii-full: 9999px;
-          --chakra-space-1: 0.25rem;
-          --chakra-space-2: 0.5rem;
-          --chakra-space-3: 0.75rem;
-          --chakra-space-4: 1rem;
-          --chakra-space-5: 1.25rem;
-          --chakra-space-6: 1.5rem;
-          --chakra-space-7: 1.75rem;
-          --chakra-space-8: 2rem;
-          --chakra-space-9: 2.25rem;
-          --chakra-space-10: 2.5rem;
-          --chakra-space-12: 3rem;
-          --chakra-space-14: 3.5rem;
-          --chakra-space-16: 4rem;
-          --chakra-space-20: 5rem;
-          --chakra-space-24: 6rem;
-          --chakra-space-28: 7rem;
-          --chakra-space-32: 8rem;
-          --chakra-space-36: 9rem;
-          --chakra-space-40: 10rem;
-          --chakra-space-44: 11rem;
-          --chakra-space-48: 12rem;
-          --chakra-space-52: 13rem;
-          --chakra-space-56: 14rem;
-          --chakra-space-60: 15rem;
-          --chakra-space-64: 16rem;
-          --chakra-space-72: 18rem;
-          --chakra-space-80: 20rem;
-          --chakra-space-96: 24rem;
-          --chakra-space-px: 1px;
-          --chakra-space-0\.5: 0.125rem;
-          --chakra-space-1\.5: 0.375rem;
-          --chakra-space-2\.5: 0.625rem;
-          --chakra-space-3\.5: 0.875rem;
-          --chakra-shadows-xs: 0 0 0 1px rgba(0, 0, 0, 0.05);
-          --chakra-shadows-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
-          --chakra-shadows-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
-          --chakra-shadows-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
-          --chakra-shadows-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
-            0 4px 6px -2px rgba(0, 0, 0, 0.05);
-          --chakra-shadows-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
-            0 10px 10px -5px rgba(0, 0, 0, 0.04);
-          --chakra-shadows-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
-          --chakra-shadows-outline: 0 0 0 3px #a991f1aa;
-          --chakra-shadows-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
-          --chakra-shadows-none: none;
-          --chakra-shadows-dark-lg: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,
-            rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px;
-          --chakra-sizes-1: 0.25rem;
-          --chakra-sizes-2: 0.5rem;
-          --chakra-sizes-3: 0.75rem;
-          --chakra-sizes-4: 1rem;
-          --chakra-sizes-5: 1.25rem;
-          --chakra-sizes-6: 1.5rem;
-          --chakra-sizes-7: 1.75rem;
-          --chakra-sizes-8: 2rem;
-          --chakra-sizes-9: 2.25rem;
-          --chakra-sizes-10: 2.5rem;
-          --chakra-sizes-12: 3rem;
-          --chakra-sizes-14: 3.5rem;
-          --chakra-sizes-16: 4rem;
-          --chakra-sizes-20: 5rem;
-          --chakra-sizes-24: 6rem;
-          --chakra-sizes-28: 7rem;
-          --chakra-sizes-32: 8rem;
-          --chakra-sizes-36: 9rem;
-          --chakra-sizes-40: 10rem;
-          --chakra-sizes-44: 11rem;
-          --chakra-sizes-48: 12rem;
-          --chakra-sizes-52: 13rem;
-          --chakra-sizes-56: 14rem;
-          --chakra-sizes-60: 15rem;
-          --chakra-sizes-64: 16rem;
-          --chakra-sizes-72: 18rem;
-          --chakra-sizes-80: 20rem;
-          --chakra-sizes-96: 24rem;
-          --chakra-sizes-px: 1px;
-          --chakra-sizes-0\.5: 0.125rem;
-          --chakra-sizes-1\.5: 0.375rem;
-          --chakra-sizes-2\.5: 0.625rem;
-          --chakra-sizes-3\.5: 0.875rem;
-          --chakra-sizes-max: max-content;
-          --chakra-sizes-min: min-content;
-          --chakra-sizes-full: 100%;
-          --chakra-sizes-3xs: 14rem;
-          --chakra-sizes-2xs: 16rem;
-          --chakra-sizes-xs: 20rem;
-          --chakra-sizes-sm: 24rem;
-          --chakra-sizes-md: 28rem;
-          --chakra-sizes-lg: 32rem;
-          --chakra-sizes-xl: 36rem;
-          --chakra-sizes-2xl: 42rem;
-          --chakra-sizes-3xl: 48rem;
-          --chakra-sizes-4xl: 56rem;
-          --chakra-sizes-5xl: 64rem;
-          --chakra-sizes-6xl: 72rem;
-          --chakra-sizes-7xl: 80rem;
-          --chakra-sizes-8xl: 90rem;
-          --chakra-sizes-container-sm: 640px;
-          --chakra-sizes-container-md: 768px;
-          --chakra-sizes-container-lg: 1024px;
-          --chakra-sizes-container-xl: 1280px;
-          --chakra-zIndices-hide: -1;
-          --chakra-zIndices-auto: auto;
-          --chakra-zIndices-base: 0;
-          --chakra-zIndices-docked: 10;
-          --chakra-zIndices-dropdown: 1000;
-          --chakra-zIndices-sticky: 1100;
-          --chakra-zIndices-banner: 1200;
-          --chakra-zIndices-overlay: 1300;
-          --chakra-zIndices-modal: 1400;
-          --chakra-zIndices-popover: 1500;
-          --chakra-zIndices-skipLink: 1600;
-          --chakra-zIndices-toast: 1700;
-          --chakra-zIndices-tooltip: 1800;
-          --chakra-transition-property-common: background-color, border-color, color, fill, stroke,
-            opacity, box-shadow, transform;
-          --chakra-transition-property-colors: background-color, border-color, color, fill, stroke;
-          --chakra-transition-property-dimensions: width, height;
-          --chakra-transition-property-position: left, right, top, bottom;
-          --chakra-transition-property-background: background-color, background-image,
-            background-position;
-          --chakra-transition-easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
-          --chakra-transition-easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
-          --chakra-transition-easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
-          --chakra-transition-duration-ultra-fast: 50ms;
-          --chakra-transition-duration-faster: 100ms;
-          --chakra-transition-duration-fast: 150ms;
-          --chakra-transition-duration-normal: 200ms;
-          --chakra-transition-duration-slow: 300ms;
-          --chakra-transition-duration-slower: 400ms;
-          --chakra-transition-duration-ultra-slow: 500ms;
-          --chakra-blur-none: 0;
-          --chakra-blur-sm: 4px;
-          --chakra-blur-base: 8px;
-          --chakra-blur-md: 12px;
-          --chakra-blur-lg: 16px;
-          --chakra-blur-xl: 24px;
-          --chakra-blur-2xl: 40px;
-          --chakra-blur-3xl: 64px;
-        }</style
-      ><style data-emotion="css-global 1syi0wy">
-        html {
-          line-height: 1.5;
-          -webkit-text-size-adjust: 100%;
-          font-family: system-ui, sans-serif;
-          -webkit-font-smoothing: antialiased;
-          text-rendering: optimizeLegibility;
-          -moz-osx-font-smoothing: grayscale;
-          touch-action: manipulation;
-        }
-        body {
-          position: relative;
-          min-height: 100%;
-          font-feature-settings: 'kern';
-        }
-        *,
-        *::before,
-        *::after {
-          border-width: 0;
-          border-style: solid;
-          box-sizing: border-box;
-        }
-        main {
-          display: block;
-        }
-        hr {
-          border-top-width: 1px;
-          box-sizing: content-box;
-          height: 0;
-          overflow: visible;
-        }
-        pre,
-        code,
-        kbd,
-        samp {
-          font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
-          font-size: 1em;
-        }
-        a {
-          background-color: transparent;
-          color: inherit;
-          -webkit-text-decoration: inherit;
-          text-decoration: inherit;
-        }
-        abbr[title] {
-          border-bottom: none;
-          -webkit-text-decoration: underline;
-          text-decoration: underline;
-          -webkit-text-decoration: underline dotted;
-          -webkit-text-decoration: underline dotted;
-          text-decoration: underline dotted;
-        }
-        b,
-        strong {
-          font-weight: bold;
-        }
-        small {
-          font-size: 80%;
-        }
-        sub,
-        sup {
-          font-size: 75%;
-          line-height: 0;
-          position: relative;
-          vertical-align: baseline;
-        }
-        sub {
-          bottom: -0.25em;
-        }
-        sup {
-          top: -0.5em;
-        }
-        img {
-          border-style: none;
-        }
-        button,
-        input,
-        optgroup,
-        select,
-        textarea {
-          font-family: inherit;
-          font-size: 100%;
-          line-height: 1.15;
-          margin: 0;
-        }
-        button,
-        input {
-          overflow: visible;
-        }
-        button,
-        select {
-          text-transform: none;
-        }
-        button::-moz-focus-inner,
-        [type='button']::-moz-focus-inner,
-        [type='reset']::-moz-focus-inner,
-        [type='submit']::-moz-focus-inner {
-          border-style: none;
-          padding: 0;
-        }
-        fieldset {
-          padding: 0.35em 0.75em 0.625em;
-        }
-        legend {
-          box-sizing: border-box;
-          color: inherit;
-          display: table;
-          max-width: 100%;
-          padding: 0;
-          white-space: normal;
-        }
-        progress {
-          vertical-align: baseline;
-        }
-        textarea {
-          overflow: auto;
-        }
-        [type='checkbox'],
-        [type='radio'] {
-          box-sizing: border-box;
-          padding: 0;
-        }
-        [type='number']::-webkit-inner-spin-button,
-        [type='number']::-webkit-outer-spin-button {
-          -webkit-appearance: none !important;
-        }
-        input[type='number'] {
-          -moz-appearance: textfield;
-        }
-        [type='search'] {
-          -webkit-appearance: textfield;
-          outline-offset: -2px;
-        }
-        [type='search']::-webkit-search-decoration {
-          -webkit-appearance: none !important;
-        }
-        ::-webkit-file-upload-button {
-          -webkit-appearance: button;
-          font: inherit;
-        }
-        details {
-          display: block;
-        }
-        summary {
-          display: -webkit-box;
-          display: -webkit-list-item;
-          display: -ms-list-itembox;
-          display: list-item;
-        }
-        template {
-          display: none;
-        }
-        [hidden] {
-          display: none !important;
-        }
-        body,
-        blockquote,
-        dl,
-        dd,
-        h1,
-        h2,
-        h3,
-        h4,
-        h5,
-        h6,
-        hr,
-        figure,
-        p,
-        pre {
-          margin: 0;
-        }
-        button {
-          background: transparent;
-          padding: 0;
-        }
-        fieldset {
-          margin: 0;
-          padding: 0;
-        }
-        ol,
-        ul {
-          margin: 0;
-          padding: 0;
-        }
-        textarea {
-          resize: vertical;
-        }
-        button,
-        [role='button'] {
-          cursor: pointer;
-        }
-        button::-moz-focus-inner {
-          border: 0 !important;
-        }
-        table {
-          border-collapse: collapse;
-        }
-        h1,
-        h2,
-        h3,
-        h4,
-        h5,
-        h6 {
-          font-size: inherit;
-          font-weight: inherit;
-        }
-        button,
-        input,
-        optgroup,
-        select,
-        textarea {
-          padding: 0;
-          line-height: inherit;
-          color: inherit;
-        }
-        img,
-        svg,
-        video,
-        canvas,
-        audio,
-        iframe,
-        embed,
-        object {
-          display: block;
-          vertical-align: middle;
-        }
-        img,
-        video {
-          max-width: 100%;
-          height: auto;
-        }
-        [data-js-focus-visible] :focus:not([data-focus-visible-added]) {
-          outline: none;
-          box-shadow: none;
-        }
-        select::-ms-expand {
-          display: none;
-        }</style
-      ><style data-emotion="css-global 1baqkrf">
-        body {
-          font-family: var(--chakra-fonts-body);
-          color: var(--chakra-colors-gray-800);
-          background: var(--chakra-colors-white);
-          transition-property: background-color;
-          transition-duration: var(--chakra-transition-duration-normal);
-          line-height: var(--chakra-lineHeights-base);
-        }
-        *::-webkit-input-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *::-moz-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *:-ms-input-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *::placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *,
-        *::before,
-        ::after {
-          border-color: var(--chakra-colors-gray-200);
-          word-wrap: break-word;
-        }
-      </style>
-      <div
-        style="
-          color: #000;
-          background: #fff;
-          font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', 'Fira Sans', Avenir,
-            'Helvetica Neue', 'Lucida Grande', sans-serif;
-          height: 100vh;
-          text-align: center;
-          display: flex;
-          flex-direction: column;
-          align-items: center;
-          justify-content: center;
-        "
-      >
-        <div>
-          <style>
-            body {
-              margin: 0;
-            }
-          </style>
-          <h1
-            style="
-              display: inline-block;
-              border-right: 1px solid rgba(0, 0, 0, 0.3);
-              margin: 0;
-              margin-right: 20px;
-              padding: 10px 23px 10px 0;
-              font-size: 24px;
-              font-weight: 500;
-              vertical-align: top;
-            "
-          >
-            404
-          </h1>
-          <div
-            style="
-              display: inline-block;
-              text-align: left;
-              line-height: 49px;
-              height: 49px;
-              vertical-align: middle;
-            "
-          >
-            <h2
-              style="
-                font-size: 14px;
-                font-weight: normal;
-                line-height: inherit;
-                margin: 0;
-                padding: 0;
-              "
-            >
-              This page could not be found<!-- -->.
-            </h2>
-          </div>
-        </div>
-      </div>
-      <span></span>
-    </div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": { "statusCode": 404 } },
-        "page": "/_error",
-        "query": {},
-        "buildId": "2giOJ1nmT-CM3zCDwFm5_",
-        "nextExport": true,
-        "isFallback": false,
-        "gip": true,
-        "scriptLoader": []
-      }
-    </script>
-  </body>
-</html>
+<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/_next/static/css/331301db207a91d407e5.css" as="style"/><link rel="stylesheet" href="/_next/static/css/331301db207a91d407e5.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-e7a279300235e161e32a.js"></script><script src="/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js" defer=""></script><script src="/_next/static/chunks/framework-2f612445bd50b211f15a.js" defer=""></script><script src="/_next/static/chunks/main-ae68c11529959c16c50f.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js" defer=""></script><script src="/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js" defer=""></script><script src="/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><style data-emotion="css-global 1n4e8ad">:host,:root{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#bbc2cf;--chakra-colors-white:#242730;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#1c1f24;--chakra-colors-gray-200:rgb(29, 33, 38);--chakra-colors-gray-300:#21272d;--chakra-colors-gray-400:#23272e;--chakra-colors-gray-500:#484854;--chakra-colors-gray-600:#62686E;--chakra-colors-gray-700:#757B80;--chakra-colors-gray-800:#9ca0a4;--chakra-colors-gray-900:#DFDFDF;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#ff665c;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#e69055;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#FCCE7B;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#7bc275;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#51afef;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#51afef;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#5cEfFF;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#a991f1;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#C57BDB;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-alt-100:#2a2e38;--chakra-colors-alt-900:#5D656B;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0\.5:0.125rem;--chakra-space-1\.5:0.375rem;--chakra-space-2\.5:0.625rem;--chakra-space-3\.5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px #a991f1aa;--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0\.5:0.125rem;--chakra-sizes-1\.5:0.375rem;--chakra-sizes-2\.5:0.625rem;--chakra-sizes-3\.5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;}</style><style data-emotion="css-global 1syi0wy">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;font-feature-settings:'kern';}*,*::before,*::after{border-width:0;border-style:solid;box-sizing:border-box;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bold;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}textarea{resize:vertical;}button,[role="button"]{cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;}img,video{max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]){outline:none;box-shadow:none;}select::-ms-expand{display:none;}</style><style data-emotion="css-global 1baqkrf">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-gray-800);background:var(--chakra-colors-white);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-gray-400);}*::-moz-placeholder{color:var(--chakra-colors-gray-400);}*:-ms-input-placeholder{color:var(--chakra-colors-gray-400);}*::placeholder{color:var(--chakra-colors-gray-400);}*,*::before,::after{border-color:var(--chakra-colors-gray-200);word-wrap:break-word;}</style><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div><span></span></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"nbHD_zoDspTWfAmwLMeAv","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
\ No newline at end of file
diff --git a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js
deleted file mode 100644
index faf3866..0000000
--- a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js
+++ /dev/null
@@ -1 +0,0 @@
-self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/fb7d5399-0d6001c72a29ebec41eb.js","static/chunks/d25bd147-2c59edc357c0e2372258.js","static/chunks/13-b599b309c84d7675574b.js","static/chunks/pages/index-9893d4710094df6598ce.js"],"/_error":["static/chunks/pages/_error-f5e67a79c709c2df06b8.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
\ No newline at end of file
diff --git a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js b/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js
deleted file mode 100644
index 0511aa8..0000000
--- a/out/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js
+++ /dev/null
@@ -1 +0,0 @@
-self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB();
\ No newline at end of file
diff --git a/out/_next/static/chunks/13-b599b309c84d7675574b.js b/out/_next/static/chunks/13-b599b309c84d7675574b.js
deleted file mode 100644
index ede208b..0000000
--- a/out/_next/static/chunks/13-b599b309c84d7675574b.js
+++ /dev/null
@@ -1,55193 +0,0 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [13],
-  {
-    56769: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        UQ: function () {
-          return R
-        },
-        KF: function () {
-          return z
-        },
-        XE: function () {
-          return H
-        },
-        Qd: function () {
-          return N
-        },
-        Hk: function () {
-          return B
-        },
-      })
-      var r = n(70058),
-        o = n(90063),
-        i = n(2326),
-        a = n(55284),
-        s = n(29676),
-        u = n(89384),
-        c = n(15267),
-        l = n(84461),
-        d = n(73808),
-        f = n(80658),
-        h = n(28500),
-        p = n(67294),
-        v = n(21888),
-        m = n(77581),
-        g = n(51034),
-        y = n(94577),
-        b = n(72947),
-        w = n(27277),
-        _ = n(47248)
-      function x() {
-        return (x =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function k(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var [E, O, T, C] = (0, v.n)()
-      function M(e) {
-        var { onChange: t, defaultIndex: n, index: r, allowMultiple: o, allowToggle: i } = e,
-          a = k(e, ['onChange', 'defaultIndex', 'index', 'allowMultiple', 'allowToggle'])
-        !(function (e) {
-          var t = e.index || e.defaultIndex,
-            n = !(0, d.o8)(t) && !(0, d.kJ)(t) && e.allowMultiple
-          ;(0, f.ZK)({
-            condition: !!n,
-            message:
-              "If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: " +
-              typeof t +
-              ',',
-          })
-        })(e),
-          (function (e) {
-            ;(0, f.ZK)({
-              condition: !(!e.allowMultiple || !e.allowToggle),
-              message:
-                "If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not",
-            })
-          })(e)
-        var s = T(),
-          [u, c] = (0, p.useState)(-1)
-        ;(0, m.z)(() => {
-          c(-1)
-        })
-        var [l, h] = (0, g.T)({
-          value: r,
-          defaultValue: () => (o ? (null != n ? n : []) : null != n ? n : -1),
-          onChange: t,
-        })
-        return {
-          index: l,
-          setIndex: h,
-          htmlProps: a,
-          getAccordionItemProps: (e) => {
-            var t = !1
-            null !== e && (t = (0, d.kJ)(l) ? l.includes(e) : l === e)
-            return {
-              isOpen: t,
-              onChange: (t) => {
-                if (null !== e)
-                  if (o && (0, d.kJ)(l)) {
-                    var n = t ? (0, w.jX)(l, e) : (0, w.cl)(l, e)
-                    h(n)
-                  } else t ? h(e) : i && h(-1)
-              },
-            }
-          },
-          focusedIndex: u,
-          setFocusedIndex: c,
-          descendants: s,
-        }
-      }
-      var [S, P] = (0, h.k)({
-        name: 'AccordionContext',
-        errorMessage:
-          'useAccordionContext: `context` is undefined. Seems you forgot to wrap the accordion components in `<Accordion />`',
-      })
-      function j(e) {
-        var { isDisabled: t, isFocusable: n, id: r } = e,
-          o = k(e, ['isDisabled', 'isFocusable', 'id']),
-          { getAccordionItemProps: i, setFocusedIndex: a } = P(),
-          s = (0, p.useRef)(null),
-          [u, c] = (0, y.ZS)(r, 'accordion-button', 'accordion-panel')
-        !(function (e) {
-          ;(0, f.ZK)({
-            condition: !(!e.isFocusable || e.isDisabled),
-            message:
-              "Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n    ",
-          })
-        })(e)
-        var { register: d, index: h, descendants: v } = C({ disabled: t && !n }),
-          { isOpen: m, onChange: g } = i(-1 === h ? null : h)
-        !(function (e) {
-          ;(0, f.ZK)({
-            condition: e.isOpen && !!e.isDisabled,
-            message: 'Cannot open a disabled accordion item',
-          })
-        })({ isOpen: m, isDisabled: t })
-        var w = (0, p.useCallback)(() => {
-            null == g || g(!m), a(h)
-          }, [h, a, m, g]),
-          E = (0, p.useCallback)(
-            (e) => {
-              var t = {
-                ArrowDown: () => {
-                  var e = v.nextEnabled(h)
-                  e && (0, _.T)(e.node)
-                },
-                ArrowUp: () => {
-                  var e = v.prevEnabled(h)
-                  e && (0, _.T)(e.node)
-                },
-                Home: () => {
-                  var e = v.firstEnabled()
-                  e && (0, _.T)(e.node)
-                },
-                End: () => {
-                  var e = v.lastEnabled()
-                  e && (0, _.T)(e.node)
-                },
-              }[(0, l.uh)(e)]
-              t && (e.preventDefault(), t(e))
-            },
-            [v, h],
-          ),
-          O = (0, p.useCallback)(() => {
-            a(h)
-          }, [a, h]),
-          T = (0, p.useCallback)(
-            function (e, n) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === n && (n = null),
-                x({}, e, {
-                  type: 'button',
-                  ref: (0, b.l)(d, s, n),
-                  id: u,
-                  disabled: !!t,
-                  'aria-expanded': !!m,
-                  'aria-controls': c,
-                  onClick: (0, f.v0)(e.onClick, w),
-                  onFocus: (0, f.v0)(e.onFocus, O),
-                  onKeyDown: (0, f.v0)(e.onKeyDown, E),
-                })
-              )
-            },
-            [u, t, m, w, O, E, c, d],
-          ),
-          M = (0, p.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                x({}, e, { ref: t, role: 'region', id: c, 'aria-labelledby': u, hidden: !m })
-              )
-            },
-            [u, m, c],
-          )
-        return {
-          isOpen: m,
-          isDisabled: t,
-          isFocusable: n,
-          onOpen: () => {
-            null == g || g(!0)
-          },
-          onClose: () => {
-            null == g || g(!1)
-          },
-          getButtonProps: T,
-          getPanelProps: M,
-          htmlProps: o,
-        }
-      }
-      function I() {
-        return (I =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function A(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var R = (0, o.G)((e, t) => {
-        var { children: n, reduceMotion: r } = e,
-          o = A(e, ['children', 'reduceMotion']),
-          c = (0, i.j)('Accordion', o),
-          d = M((0, a.Lr)(o)),
-          { htmlProps: f, descendants: h } = d,
-          v = A(d, ['htmlProps', 'descendants']),
-          m = p.useMemo(() => I({}, v, { reduceMotion: !!r }), [v, r])
-        return p.createElement(
-          E,
-          { value: h },
-          p.createElement(
-            S,
-            { value: m },
-            p.createElement(
-              s.Fo,
-              { value: c },
-              p.createElement(
-                u.m$.div,
-                I({ ref: t }, f, { className: (0, l.cx)('chakra-accordion', o.className) }),
-                n,
-              ),
-            ),
-          ),
-        )
-      })
-      d.Ts && (R.displayName = 'Accordion')
-      var [D, L] = (0, h.k)({
-          name: 'AccordionItemContext',
-          errorMessage:
-            'useAccordionItemContext: `context` is undefined. Seems you forgot to wrap the accordion item parts in `<AccordionItem />` ',
-        }),
-        N = (0, o.G)((e, t) => {
-          var { children: n, className: r } = e,
-            o = j(e),
-            { htmlProps: i } = o,
-            a = A(o, ['htmlProps']),
-            c = I({}, (0, s.yK)().container, { overflowAnchor: 'none' }),
-            d = p.useMemo(() => a, [a])
-          return p.createElement(
-            D,
-            { value: d },
-            p.createElement(
-              u.m$.div,
-              I({ ref: t }, i, { className: (0, l.cx)('chakra-accordion__item', r), __css: c }),
-              (0, f.Pu)(n, { isExpanded: !!a.isOpen, isDisabled: !!a.isDisabled }),
-            ),
-          )
-        })
-      d.Ts && (N.displayName = 'AccordionItem')
-      var z = (0, o.G)((e, t) => {
-        var { getButtonProps: n } = L(),
-          r = n(e, t),
-          o = I(
-            { display: 'flex', alignItems: 'center', width: '100%', outline: 0 },
-            (0, s.yK)().button,
-          )
-        return p.createElement(
-          u.m$.button,
-          I({}, r, { className: (0, l.cx)('chakra-accordion__button', e.className), __css: o }),
-        )
-      })
-      d.Ts && (z.displayName = 'AccordionButton')
-      var B = (0, o.G)((e, t) => {
-        var { reduceMotion: n } = P(),
-          { getPanelProps: r, isOpen: o } = L(),
-          i = r(e, t),
-          a = (0, l.cx)('chakra-accordion__panel', e.className),
-          d = (0, s.yK)()
-        n || delete i.hidden
-        var f = p.createElement(u.m$.div, I({}, i, { __css: d.panel, className: a }))
-        return n ? f : p.createElement(c.U, { in: o }, f)
-      })
-      d.Ts && (B.displayName = 'AccordionPanel')
-      var H = (e) => {
-        var { isOpen: t, isDisabled: n } = L(),
-          { reduceMotion: o } = P(),
-          i = (0, l.cx)('chakra-accordion__icon', e.className),
-          a = I(
-            {
-              opacity: n ? 0.4 : 1,
-              transform: t ? 'rotate(-180deg)' : void 0,
-              transition: o ? void 0 : 'transform 0.2s',
-              transformOrigin: 'center',
-            },
-            (0, s.yK)().icon,
-          )
-        return p.createElement(
-          r.J,
-          I({ viewBox: '0 0 24 24', 'aria-hidden': !0, className: i, __css: a }, e),
-          p.createElement('path', {
-            fill: 'currentColor',
-            d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
-          }),
-        )
-      }
-      d.Ts && (H.displayName = 'AccordionIcon')
-    },
-    40419: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ButtonGroup = t.useButtonGroup = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = n(19277),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, i.createContext)({ strict: !1, name: 'ButtonGroupContext' }),
-        l = c[0],
-        d = c[1]
-      t.useButtonGroup = d
-      var f = (0, r.forwardRef)(function (e, t) {
-        var n = e.size,
-          i = e.colorScheme,
-          s = e.variant,
-          c = e.className,
-          d = e.spacing,
-          f = void 0 === d ? '0.5rem' : d,
-          h = e.isAttached,
-          p = e.isDisabled,
-          v = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'size',
-            'colorScheme',
-            'variant',
-            'className',
-            'spacing',
-            'isAttached',
-            'isDisabled',
-          ]),
-          m = (0, o.cx)('chakra-button__group', c),
-          g = a.useMemo(
-            function () {
-              return { size: n, colorScheme: i, variant: s, isDisabled: p }
-            },
-            [n, i, s, p],
-          ),
-          y = { display: 'inline-flex' }
-        return (
-          (y = u(
-            {},
-            y,
-            h
-              ? {
-                  '> *:first-of-type:not(:last-of-type)': { borderEndRadius: 0 },
-                  '> *:not(:first-of-type):not(:last-of-type)': { borderRadius: 0 },
-                  '> *:not(:first-of-type):last-of-type': { borderStartRadius: 0 },
-                }
-              : { '& > *:not(style) ~ *:not(style)': { marginStart: f } },
-          )),
-          a.createElement(
-            l,
-            { value: g },
-            a.createElement(r.chakra.div, u({ ref: t, role: 'group', __css: y, className: m }, v)),
-          )
-        )
-      })
-      ;(t.ButtonGroup = f), o.__DEV__ && (f.displayName = 'ButtonGroup')
-    },
-    24686: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Button = void 0)
-      var r = n(19277),
-        o = n(90716),
-        i = n(48121),
-        a = n(66751),
-        s = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = c()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        u = n(40419)
-      function c() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (c = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function l(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      function d() {
-        return (d =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var f = (0, i.forwardRef)(function (e, t) {
-        var n,
-          o = (0, u.useButtonGroup)(),
-          c = (0, i.useStyleConfig)('Button', d({}, o, e)),
-          f = (0, i.omitThemingProps)(e),
-          v = f.isDisabled,
-          m = void 0 === v ? (null == o ? void 0 : o.isDisabled) : v,
-          g = f.isLoading,
-          y = f.isActive,
-          b = f.isFullWidth,
-          w = f.children,
-          _ = f.leftIcon,
-          x = f.rightIcon,
-          k = f.loadingText,
-          E = f.iconSpacing,
-          O = void 0 === E ? '0.5rem' : E,
-          T = f.type,
-          C = f.spinner,
-          M = f.spinnerPlacement,
-          S = void 0 === M ? 'start' : M,
-          P = f.className,
-          j = f.as,
-          I = l(f, [
-            'isDisabled',
-            'isLoading',
-            'isActive',
-            'isFullWidth',
-            'children',
-            'leftIcon',
-            'rightIcon',
-            'loadingText',
-            'iconSpacing',
-            'type',
-            'spinner',
-            'spinnerPlacement',
-            'className',
-            'as',
-          ]),
-          A = (0, a.mergeWith)({}, null != (n = null == c ? void 0 : c._focus) ? n : {}, {
-            zIndex: 1,
-          }),
-          R = d(
-            {
-              display: 'inline-flex',
-              appearance: 'none',
-              alignItems: 'center',
-              justifyContent: 'center',
-              userSelect: 'none',
-              position: 'relative',
-              whiteSpace: 'nowrap',
-              verticalAlign: 'middle',
-              outline: 'none',
-              width: b ? '100%' : 'auto',
-            },
-            c,
-            !!o && { _focus: A },
-          ),
-          D = (function (e) {
-            var t = s.useState(!e),
-              n = t[0],
-              r = t[1],
-              o = s.useCallback(function (e) {
-                e && r('BUTTON' === e.tagName)
-              }, []),
-              i = n ? 'button' : void 0
-            return { ref: o, type: i }
-          })(j),
-          L = D.ref,
-          N = D.type
-        return s.createElement(
-          i.chakra.button,
-          d(
-            {
-              disabled: m || g,
-              ref: (0, r.mergeRefs)(t, L),
-              as: j,
-              type: null != T ? T : N,
-              'data-active': (0, a.dataAttr)(y),
-              'data-loading': (0, a.dataAttr)(g),
-              __css: R,
-              className: (0, a.cx)('chakra-button', P),
-            },
-            I,
-          ),
-          _ && !g && s.createElement(h, { marginEnd: O }, _),
-          g &&
-            'start' === S &&
-            s.createElement(
-              p,
-              { className: 'chakra-button__spinner--start', label: k, placement: 'start' },
-              C,
-            ),
-          g ? k || s.createElement(i.chakra.span, { opacity: 0 }, w) : w,
-          g &&
-            'end' === S &&
-            s.createElement(
-              p,
-              { className: 'chakra-button__spinner--end', label: k, placement: 'end' },
-              C,
-            ),
-          x && !g && s.createElement(h, { marginStart: O }, x),
-        )
-      })
-      ;(t.Button = f), a.__DEV__ && (f.displayName = 'Button')
-      var h = function (e) {
-        var t = e.children,
-          n = e.className,
-          r = l(e, ['children', 'className']),
-          o = s.isValidElement(t) ? s.cloneElement(t, { 'aria-hidden': !0, focusable: !1 }) : t,
-          u = (0, a.cx)('chakra-button__icon', n)
-        return s.createElement(
-          i.chakra.span,
-          d({ display: 'inline-flex', alignSelf: 'center', flexShrink: 0 }, r, { className: u }),
-          o,
-        )
-      }
-      a.__DEV__ && (h.displayName = 'ButtonIcon')
-      var p = function (e) {
-        var t,
-          n = e.label,
-          r = e.placement,
-          u = (e.spacing, e.children),
-          c =
-            void 0 === u
-              ? s.createElement(o.Spinner, { color: 'currentColor', width: '1em', height: '1em' })
-              : u,
-          f = e.className,
-          h = e.__css,
-          p = l(e, ['label', 'placement', 'spacing', 'children', 'className', '__css']),
-          v = (0, a.cx)('chakra-button__spinner', f),
-          m = d(
-            (((t = {
-              display: 'flex',
-              alignItems: 'center',
-              position: n ? 'relative' : 'absolute',
-            })['start' === r ? 'marginEnd' : 'marginStart'] = n ? '0.5rem' : 0),
-            (t.fontSize = '1em'),
-            (t.lineHeight = 'normal'),
-            t),
-            h,
-          )
-        return s.createElement(i.chakra.div, d({ className: v }, p, { __css: m }), c)
-      }
-      a.__DEV__ && (p.displayName = 'ButtonSpinner')
-    },
-    84175: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.IconButton = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        a = n(24686)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = e.icon,
-          r = e.children,
-          o = e.isRound,
-          s = e['aria-label'],
-          c = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['icon', 'children', 'isRound', 'aria-label']),
-          l = n || r,
-          d = i.isValidElement(l) ? i.cloneElement(l, { 'aria-hidden': !0, focusable: !1 }) : null
-        return i.createElement(
-          a.Button,
-          u({ padding: '0', borderRadius: o ? 'full' : void 0, ref: t, 'aria-label': s }, c),
-          d,
-        )
-      })
-      ;(t.IconButton = c), o.__DEV__ && (c.displayName = 'IconButton')
-    },
-    46017: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(24686)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(40419)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(84175)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-    },
-    40155: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        z: function () {
-          return O
-        },
-      })
-      var r = n(72947),
-        o = n(70917),
-        i = n(90063),
-        a = n(2326),
-        s = n(55284),
-        u = n(89384),
-        c = n(84461),
-        l = n(73808),
-        d = n(65415),
-        f = n(67294)
-      function h() {
-        return (h =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var p = (0, o.keyframes)({
-          '0%': { transform: 'rotate(0deg)' },
-          '100%': { transform: 'rotate(360deg)' },
-        }),
-        v = (0, i.G)((e, t) => {
-          var n = (0, a.m)('Spinner', e),
-            r = (0, s.Lr)(e),
-            {
-              label: o = 'Loading...',
-              thickness: i = '2px',
-              speed: l = '0.45s',
-              emptyColor: v = 'transparent',
-              className: m,
-            } = r,
-            g = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(r, ['label', 'thickness', 'speed', 'emptyColor', 'className']),
-            y = (0, c.cx)('chakra-spinner', m),
-            b = h(
-              {
-                display: 'inline-block',
-                borderColor: 'currentColor',
-                borderStyle: 'solid',
-                borderRadius: '99999px',
-                borderWidth: i,
-                borderBottomColor: v,
-                borderLeftColor: v,
-                animation: p + ' ' + l + ' linear infinite',
-              },
-              n,
-            )
-          return f.createElement(
-            u.m$.div,
-            h({ ref: t, __css: b, className: y }, g),
-            o && f.createElement(d.TX, null, o),
-          )
-        })
-      l.Ts && (v.displayName = 'Spinner')
-      var m = n(38554),
-        g = n.n(m),
-        y = n(28500)
-      function b() {
-        return (b =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var [w, _] = (0, y.k)({ strict: !1, name: 'ButtonGroupContext' }),
-        x = (0, i.G)((e, t) => {
-          var {
-              size: n,
-              colorScheme: r,
-              variant: o,
-              className: i,
-              spacing: a = '0.5rem',
-              isAttached: s,
-              isDisabled: l,
-            } = e,
-            d = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, [
-              'size',
-              'colorScheme',
-              'variant',
-              'className',
-              'spacing',
-              'isAttached',
-              'isDisabled',
-            ]),
-            h = (0, c.cx)('chakra-button__group', i),
-            p = f.useMemo(
-              () => ({ size: n, colorScheme: r, variant: o, isDisabled: l }),
-              [n, r, o, l],
-            ),
-            v = { display: 'inline-flex' }
-          return (
-            (v = b(
-              {},
-              v,
-              s
-                ? {
-                    '> *:first-of-type:not(:last-of-type)': { borderEndRadius: 0 },
-                    '> *:not(:first-of-type):not(:last-of-type)': { borderRadius: 0 },
-                    '> *:not(:first-of-type):last-of-type': { borderStartRadius: 0 },
-                  }
-                : { '& > *:not(style) ~ *:not(style)': { marginStart: a } },
-            )),
-            f.createElement(
-              w,
-              { value: p },
-              f.createElement(u.m$.div, b({ ref: t, role: 'group', __css: v, className: h }, d)),
-            )
-          )
-        })
-      function k(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      function E() {
-        return (E =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      l.Ts && (x.displayName = 'ButtonGroup')
-      var O = (0, i.G)((e, t) => {
-        var n,
-          o = _(),
-          i = (0, a.m)('Button', E({}, o, e)),
-          l = (0, s.Lr)(e),
-          {
-            isDisabled: d = null == o ? void 0 : o.isDisabled,
-            isLoading: h,
-            isActive: p,
-            isFullWidth: v,
-            children: m,
-            leftIcon: y,
-            rightIcon: b,
-            loadingText: w,
-            iconSpacing: x = '0.5rem',
-            type: O,
-            spinner: M,
-            spinnerPlacement: S = 'start',
-            className: P,
-            as: j,
-          } = l,
-          I = k(l, [
-            'isDisabled',
-            'isLoading',
-            'isActive',
-            'isFullWidth',
-            'children',
-            'leftIcon',
-            'rightIcon',
-            'loadingText',
-            'iconSpacing',
-            'type',
-            'spinner',
-            'spinnerPlacement',
-            'className',
-            'as',
-          ]),
-          A = g()({}, null != (n = null == i ? void 0 : i._focus) ? n : {}, { zIndex: 1 }),
-          R = E(
-            {
-              display: 'inline-flex',
-              appearance: 'none',
-              alignItems: 'center',
-              justifyContent: 'center',
-              userSelect: 'none',
-              position: 'relative',
-              whiteSpace: 'nowrap',
-              verticalAlign: 'middle',
-              outline: 'none',
-              width: v ? '100%' : 'auto',
-            },
-            i,
-            !!o && { _focus: A },
-          ),
-          { ref: D, type: L } = (function (e) {
-            var [t, n] = f.useState(!e),
-              r = f.useCallback((e) => {
-                e && n('BUTTON' === e.tagName)
-              }, []),
-              o = t ? 'button' : void 0
-            return { ref: r, type: o }
-          })(j)
-        return f.createElement(
-          u.m$.button,
-          E(
-            {
-              disabled: d || h,
-              ref: (0, r.l)(t, D),
-              as: j,
-              type: null != O ? O : L,
-              'data-active': (0, c.PB)(p),
-              'data-loading': (0, c.PB)(h),
-              __css: R,
-              className: (0, c.cx)('chakra-button', P),
-            },
-            I,
-          ),
-          y && !h && f.createElement(T, { marginEnd: x }, y),
-          h &&
-            'start' === S &&
-            f.createElement(
-              C,
-              { className: 'chakra-button__spinner--start', label: w, placement: 'start' },
-              M,
-            ),
-          h ? w || f.createElement(u.m$.span, { opacity: 0 }, m) : m,
-          h &&
-            'end' === S &&
-            f.createElement(
-              C,
-              { className: 'chakra-button__spinner--end', label: w, placement: 'end' },
-              M,
-            ),
-          b && !h && f.createElement(T, { marginStart: x }, b),
-        )
-      })
-      l.Ts && (O.displayName = 'Button')
-      var T = (e) => {
-        var { children: t, className: n } = e,
-          r = k(e, ['children', 'className']),
-          o = f.isValidElement(t) ? f.cloneElement(t, { 'aria-hidden': !0, focusable: !1 }) : t,
-          i = (0, c.cx)('chakra-button__icon', n)
-        return f.createElement(
-          u.m$.span,
-          E({ display: 'inline-flex', alignSelf: 'center', flexShrink: 0 }, r, { className: i }),
-          o,
-        )
-      }
-      l.Ts && (T.displayName = 'ButtonIcon')
-      var C = (e) => {
-        var {
-            label: t,
-            placement: n,
-            children: r = f.createElement(v, {
-              color: 'currentColor',
-              width: '1em',
-              height: '1em',
-            }),
-            className: o,
-            __css: i,
-          } = e,
-          a = k(e, ['label', 'placement', 'spacing', 'children', 'className', '__css']),
-          s = (0, c.cx)('chakra-button__spinner', o),
-          l = E(
-            {
-              display: 'flex',
-              alignItems: 'center',
-              position: t ? 'relative' : 'absolute',
-              ['start' === n ? 'marginEnd' : 'marginStart']: t ? '0.5rem' : 0,
-              fontSize: '1em',
-              lineHeight: 'normal',
-            },
-            i,
-          )
-        return f.createElement(u.m$.div, E({ className: s }, a, { __css: l }), r)
-      }
-      l.Ts && (C.displayName = 'ButtonSpinner')
-    },
-    48420: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        h: function () {
-          return u
-        },
-      })
-      var r = n(90063),
-        o = n(73808),
-        i = n(67294),
-        a = n(40155)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.G)((e, t) => {
-        var { icon: n, children: r, isRound: o, 'aria-label': u } = e,
-          c = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['icon', 'children', 'isRound', 'aria-label']),
-          l = n || r,
-          d = i.isValidElement(l) ? i.cloneElement(l, { 'aria-hidden': !0, focusable: !1 }) : null
-        return i.createElement(
-          a.z,
-          s({ padding: '0', borderRadius: o ? 'full' : void 0, ref: t, 'aria-label': u }, c),
-          d,
-        )
-      })
-      o.Ts && (u.displayName = 'IconButton')
-    },
-    45771: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.ColorModeProvider = d),
-        (t.useColorModeValue = function (e, t) {
-          return 'dark' === l().colorMode ? t : e
-        }),
-        (t.LightMode = t.DarkMode = t.useColorMode = t.ColorModeContext = void 0)
-      var r = n(66751),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        i = n(77570),
-        a = n(68346)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = o.createContext({})
-      ;(t.ColorModeContext = c), r.__DEV__ && (c.displayName = 'ColorModeContext')
-      var l = function () {
-        var e = o.useContext(c)
-        if (void 0 === e) throw new Error('useColorMode must be used within a ColorModeProvider')
-        return e
-      }
-      function d(e) {
-        var t = e.value,
-          n = e.children,
-          s = e.options,
-          u = s.useSystemColorMode,
-          l = s.initialColorMode,
-          d = e.colorModeManager,
-          f = void 0 === d ? a.localStorageManager : d,
-          h = o.useState('cookie' === f.type ? f.get(l) : l),
-          p = h[0],
-          v = h[1]
-        o.useEffect(
-          function () {
-            if (r.isBrowser && 'localStorage' === f.type) {
-              var e = u ? (0, i.getColorScheme)(l) : i.root.get() || f.get()
-              e && v(e)
-            }
-          },
-          [f, u, l],
-        ),
-          o.useEffect(
-            function () {
-              var e = 'dark' === p
-              ;(0, i.syncBodyClassName)(e), i.root.set(e ? 'dark' : 'light')
-            },
-            [p],
-          )
-        var m = o.useCallback(
-            function (e) {
-              f.set(e), v(e)
-            },
-            [f],
-          ),
-          g = o.useCallback(
-            function () {
-              m('light' === p ? 'dark' : 'light')
-            },
-            [p, m],
-          )
-        o.useEffect(
-          function () {
-            var e
-            return (
-              u && (e = (0, i.addListener)(m)),
-              function () {
-                e && u && e()
-              }
-            )
-          },
-          [m, u],
-        )
-        var y = o.useMemo(
-          function () {
-            return {
-              colorMode: null != t ? t : p,
-              toggleColorMode: t ? r.noop : g,
-              setColorMode: t ? r.noop : m,
-            }
-          },
-          [p, m, g, t],
-        )
-        return o.createElement(c.Provider, { value: y }, n)
-      }
-      ;(t.useColorMode = l), r.__DEV__ && (d.displayName = 'ColorModeProvider')
-      var f = function (e) {
-        return o.createElement(
-          c.Provider,
-          u({ value: { colorMode: 'dark', toggleColorMode: r.noop, setColorMode: r.noop } }, e),
-        )
-      }
-      ;(t.DarkMode = f), r.__DEV__ && (f.displayName = 'DarkMode')
-      var h = function (e) {
-        return o.createElement(
-          c.Provider,
-          u({ value: { colorMode: 'light', toggleColorMode: r.noop, setColorMode: r.noop } }, e),
-        )
-      }
-      ;(t.LightMode = h), r.__DEV__ && (h.displayName = 'LightMode')
-    },
-    79002: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ColorModeScript = void 0)
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function i(e) {
-        var t,
-          n,
-          r = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
-        try {
-          t = localStorage.getItem('chakra-ui-color-mode')
-        } catch (o) {
-          console.log(
-            'Chakra UI: localStorage is not available. Color mode persistence might not work as expected',
-          )
-        }
-        ;(n = 'string' === typeof t ? t : 'system' === e ? r : e) &&
-          document.documentElement.style.setProperty('--chakra-ui-color-mode', n)
-      }
-      t.ColorModeScript = function (e) {
-        var t = e.initialColorMode,
-          n = void 0 === t ? 'light' : t,
-          o = '(' + String(i) + ")('" + n + "')"
-        return r.createElement('script', { nonce: e.nonce, dangerouslySetInnerHTML: { __html: o } })
-      }
-    },
-    77570: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.syncBodyClassName = function (e) {
-          var t = r.isBrowser ? document.body : a
-          t.classList.add(e ? i : o), t.classList.remove(e ? o : i)
-        }),
-        (t.getColorScheme = function (e) {
-          var t
-          return (
-            null !=
-            (t = (function (e) {
-              var t = null == window.matchMedia ? void 0 : window.matchMedia(e)
-              if (!t) return
-              return !!t.media === t.matches
-            })(s.dark))
-              ? t
-              : 'dark' === e
-          )
-            ? 'dark'
-            : 'light'
-        }),
-        (t.addListener = function (e) {
-          if (!('matchMedia' in window)) return r.noop
-          var t = window.matchMedia(s.dark),
-            n = function () {
-              e(t.matches ? 'dark' : 'light')
-            }
-          return (
-            n(),
-            t.addListener(n),
-            function () {
-              t.removeListener(n)
-            }
-          )
-        }),
-        (t.root = t.darkQuery = t.lightQuery = t.queries = void 0)
-      var r = n(66751),
-        o = 'chakra-ui-light',
-        i = 'chakra-ui-dark',
-        a = { classList: { add: r.noop, remove: r.noop } }
-      var s = { light: '(prefers-color-scheme: light)', dark: '(prefers-color-scheme: dark)' }
-      t.queries = s
-      var u = s.light
-      t.lightQuery = u
-      var c = s.dark
-      t.darkQuery = c
-      var l = {
-        get: function () {
-          return document.documentElement.style.getPropertyValue('--chakra-ui-color-mode')
-        },
-        set: function (e) {
-          r.isBrowser && document.documentElement.style.setProperty('--chakra-ui-color-mode', e)
-        },
-      }
-      t.root = l
-    },
-    12094: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(45771)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(68346)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(79002)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-    },
-    68346: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.cookieStorageManager = t.localStorageManager = t.storageKey = void 0)
-      var r = n(66751),
-        o = function () {
-          return 'undefined' !== typeof Storage
-        },
-        i = 'chakra-ui-color-mode'
-      t.storageKey = i
-      var a = {
-        get: function (e) {
-          if (!o()) return e
-          try {
-            var t = localStorage.getItem(i)
-            return null != t ? t : e
-          } catch (n) {
-            return r.__DEV__ && console.log(n), e
-          }
-        },
-        set: function (e) {
-          if (o())
-            try {
-              localStorage.setItem(i, e)
-            } catch (t) {
-              r.__DEV__ && console.log(t)
-            }
-        },
-        type: 'localStorage',
-      }
-      t.localStorageManager = a
-      t.cookieStorageManager = function (e) {
-        return (
-          void 0 === e && (e = ''),
-          {
-            get: function (t) {
-              var n = e.match(new RegExp('(^| )' + i + '=([^;]+)'))
-              return n ? n[2] : t
-            },
-            set: function (e) {
-              document.cookie = i + '=' + e + '; max-age=31536000; path=/'
-            },
-            type: 'cookie',
-          }
-        )
-      }
-    },
-    62300: function (e, t, n) {
-      'use strict'
-      var r = n(89384),
-        o = n(73808),
-        i = n(67294)
-      function a() {
-        return (a =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var s = (e) => {
-        var {
-            type: t = 'checkbox',
-            _hover: n,
-            _invalid: o,
-            _disabled: s,
-            _focus: u,
-            _checked: c,
-            _child: l = { opacity: 0 },
-            _checkedAndChild: d = { opacity: 1 },
-            _checkedAndDisabled: f,
-            _checkedAndFocus: h,
-            _checkedAndHover: p,
-            children: v,
-          } = e,
-          m = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'type',
-            '_hover',
-            '_invalid',
-            '_disabled',
-            '_focus',
-            '_checked',
-            '_child',
-            '_checkedAndChild',
-            '_checkedAndDisabled',
-            '_checkedAndFocus',
-            '_checkedAndHover',
-            'children',
-          ]),
-          g = 'input[type=' + t + ']:checked:disabled + &',
-          y = 'input[type=' + t + ']:checked:hover:not(:disabled) + &',
-          b = 'input[type=' + t + ']:checked:focus + &',
-          w = 'input[type=' + t + ']:disabled + &',
-          _ = 'input[type=' + t + ']:focus + &',
-          x = 'input[type=' + t + ']:hover:not(:disabled):not(:checked) + &',
-          k = 'input[type=' + t + ']:checked + &, input[type=' + t + '][aria-checked=mixed] + &',
-          E = 'input[type=' + t + '][aria-invalid=true] + &',
-          O = '& > *'
-        return i.createElement(
-          r.m$.div,
-          a({}, m, {
-            'aria-hidden': !0,
-            __css: {
-              display: 'inline-flex',
-              alignItems: 'center',
-              justifyContent: 'center',
-              transitionProperty: 'common',
-              transitionDuration: 'fast',
-              flexShrink: 0,
-              [_]: u,
-              [x]: n,
-              [w]: s,
-              [E]: o,
-              [g]: f,
-              [b]: h,
-              [y]: p,
-              [O]: l,
-              [k]: a({}, c, { [O]: d }),
-            },
-          }),
-          v,
-        )
-      }
-      o.Ts && (s.displayName = 'ControlBox')
-    },
-    21888: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        n: function () {
-          return v
-        },
-      })
-      var r = n(28500),
-        o = n(72947),
-        i = n(67294)
-      function a(e) {
-        return e.sort((e, t) => {
-          var n = e.compareDocumentPosition(t)
-          if (n & Node.DOCUMENT_POSITION_FOLLOWING || n & Node.DOCUMENT_POSITION_CONTAINED_BY)
-            return -1
-          if (n & Node.DOCUMENT_POSITION_PRECEDING || n & Node.DOCUMENT_POSITION_CONTAINS) return 1
-          if (
-            n & Node.DOCUMENT_POSITION_DISCONNECTED ||
-            n & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
-          )
-            throw Error('Cannot sort the given nodes.')
-          return 0
-        })
-      }
-      function s(e, t, n) {
-        var r = e + 1
-        return n && r >= t && (r = 0), r
-      }
-      function u(e, t, n) {
-        var r = e - 1
-        return n && r < 0 && (r = t), r
-      }
-      var c = 'undefined' !== typeof window ? i.useLayoutEffect : i.useEffect
-      function l() {
-        return (l =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function d(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      class f {
-        constructor() {
-          var e = this
-          d(this, 'descendants', new Map()),
-            d(this, 'register', (e) => {
-              var t
-              if (null != e)
-                return 'object' == typeof (t = e) &&
-                  'nodeType' in t &&
-                  t.nodeType === Node.ELEMENT_NODE
-                  ? this.registerNode(e)
-                  : (t) => {
-                      this.registerNode(t, e)
-                    }
-            }),
-            d(this, 'unregister', (e) => {
-              this.descendants.delete(e)
-              var t = a(Array.from(this.descendants.keys()))
-              this.assignIndex(t)
-            }),
-            d(this, 'destroy', () => {
-              this.descendants.clear()
-            }),
-            d(this, 'assignIndex', (e) => {
-              this.descendants.forEach((t) => {
-                var n = e.indexOf(t.node)
-                ;(t.index = n), (t.node.dataset.index = t.index.toString())
-              })
-            }),
-            d(this, 'count', () => this.descendants.size),
-            d(this, 'enabledCount', () => this.enabledValues().length),
-            d(this, 'values', () =>
-              Array.from(this.descendants.values()).sort((e, t) => e.index - t.index),
-            ),
-            d(this, 'enabledValues', () => this.values().filter((e) => !e.disabled)),
-            d(this, 'item', (e) => {
-              if (0 !== this.count()) return this.values()[e]
-            }),
-            d(this, 'enabledItem', (e) => {
-              if (0 !== this.enabledCount()) return this.enabledValues()[e]
-            }),
-            d(this, 'first', () => this.item(0)),
-            d(this, 'firstEnabled', () => this.enabledItem(0)),
-            d(this, 'last', () => this.item(this.descendants.size - 1)),
-            d(this, 'lastEnabled', () => {
-              var e = this.enabledValues().length - 1
-              return this.enabledItem(e)
-            }),
-            d(this, 'indexOf', (e) => {
-              var t, n
-              return e && null != (t = null == (n = this.descendants.get(e)) ? void 0 : n.index)
-                ? t
-                : -1
-            }),
-            d(this, 'enabledIndexOf', (e) =>
-              null == e ? -1 : this.enabledValues().findIndex((t) => t.node.isSameNode(e)),
-            ),
-            d(this, 'next', function (t, n) {
-              void 0 === n && (n = !0)
-              var r = s(t, e.count(), n)
-              return e.item(r)
-            }),
-            d(this, 'nextEnabled', function (t, n) {
-              void 0 === n && (n = !0)
-              var r = e.item(t)
-              if (r) {
-                var o = s(e.enabledIndexOf(r.node), e.enabledCount(), n)
-                return e.enabledItem(o)
-              }
-            }),
-            d(this, 'prev', function (t, n) {
-              void 0 === n && (n = !0)
-              var r = u(t, e.count() - 1, n)
-              return e.item(r)
-            }),
-            d(this, 'prevEnabled', function (t, n) {
-              void 0 === n && (n = !0)
-              var r = e.item(t)
-              if (r) {
-                var o = u(e.enabledIndexOf(r.node), e.enabledCount() - 1, n)
-                return e.enabledItem(o)
-              }
-            }),
-            d(this, 'registerNode', (e, t) => {
-              if (e && !this.descendants.has(e)) {
-                var n = a(Array.from(this.descendants.keys()).concat(e))
-                null != t && t.disabled && (t.disabled = !!t.disabled)
-                var r = l({ node: e, index: -1 }, t)
-                this.descendants.set(e, r), this.assignIndex(n)
-              }
-            })
-        }
-      }
-      var [h, p] = (0, r.k)({
-        name: 'DescendantsProvider',
-        errorMessage: 'useDescendantsContext must be used within DescendantsProvider',
-      })
-      function v() {
-        return [
-          h,
-          () => p(),
-          () =>
-            (function () {
-              var [e] = (0, i.useState)(() => new f())
-              return c(() => () => e.destroy()), e
-            })(),
-          (e) =>
-            (function (e) {
-              var t = p(),
-                [n, r] = (0, i.useState)(-1),
-                a = (0, i.useRef)(null)
-              c(
-                () => () => {
-                  a.current && t.unregister(a.current)
-                },
-                [],
-              ),
-                c(() => {
-                  if (a.current) {
-                    var e = Number(a.current.dataset.index)
-                    n == e || Number.isNaN(e) || r(e)
-                  }
-                })
-              var s = e ? t.register(e) : t.register
-              return {
-                descendants: t,
-                index: n,
-                enabledIndex: t.enabledIndexOf(a.current),
-                register: (0, o.l)(s, a),
-              }
-            })(e),
-        ]
-      }
-    },
-    71312: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.FormHelperText = t.FormControl = t.useFormControlContext = void 0)
-      var r = n(81959),
-        o = n(48121),
-        i = n(66751),
-        a = n(19277),
-        s = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = u()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function u() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (u = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function c() {
-        return (c =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function l(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var d = (0, a.createContext)({ strict: !1, name: 'FormControlContext' }),
-        f = d[0],
-        h = d[1]
-      t.useFormControlContext = h
-      var p = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useMultiStyleConfig)('Form', e),
-          u = (function (e) {
-            var t = e.id,
-              n = e.isRequired,
-              o = e.isInvalid,
-              u = e.isDisabled,
-              d = e.isReadOnly,
-              f = l(e, ['id', 'isRequired', 'isInvalid', 'isDisabled', 'isReadOnly']),
-              h = (0, r.useId)(),
-              p = t || 'field-' + h,
-              v = p + '-label',
-              m = p + '-feedback',
-              g = p + '-helptext',
-              y = s.useState(!1),
-              b = y[0],
-              w = y[1],
-              _ = s.useState(!1),
-              x = _[0],
-              k = _[1],
-              E = (0, r.useBoolean)(),
-              O = E[0],
-              T = E[1],
-              C = s.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    c({ id: g }, e, {
-                      ref: (0, a.mergeRefs)(t, function (e) {
-                        e && k(!0)
-                      }),
-                    })
-                  )
-                },
-                [g],
-              ),
-              M = s.useCallback(
-                function (e, t) {
-                  var n, r
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    c({}, e, {
-                      ref: t,
-                      'data-focus': (0, i.dataAttr)(O),
-                      'data-disabled': (0, i.dataAttr)(u),
-                      'data-invalid': (0, i.dataAttr)(o),
-                      'data-readonly': (0, i.dataAttr)(d),
-                      id: null != (n = e.id) ? n : v,
-                      htmlFor: null != (r = e.htmlFor) ? r : p,
-                    })
-                  )
-                },
-                [p, u, O, o, d, v],
-              ),
-              S = s.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    c({ id: m }, e, {
-                      ref: (0, a.mergeRefs)(t, function (e) {
-                        e && w(!0)
-                      }),
-                      'aria-live': 'polite',
-                    })
-                  )
-                },
-                [m],
-              ),
-              P = s.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    c({}, e, f, { ref: t, role: 'group' })
-                  )
-                },
-                [f],
-              ),
-              j = s.useCallback(function (e, t) {
-                return (
-                  void 0 === e && (e = {}),
-                  void 0 === t && (t = null),
-                  c({}, e, {
-                    ref: t,
-                    role: 'presentation',
-                    'aria-hidden': !0,
-                    children: e.children || '*',
-                  })
-                )
-              }, []),
-              I = s.useCallback(
-                function () {
-                  ;(0, i.scheduleMicrotask)(T.on)
-                },
-                [T],
-              )
-            return {
-              isRequired: !!n,
-              isInvalid: !!o,
-              isReadOnly: !!d,
-              isDisabled: !!u,
-              isFocused: !!O,
-              onFocus: I,
-              onBlur: T.off,
-              hasFeedbackText: b,
-              setHasFeedbackText: w,
-              hasHelpText: x,
-              setHasHelpText: k,
-              id: p,
-              labelId: v,
-              feedbackId: m,
-              helpTextId: g,
-              htmlProps: f,
-              getHelpTextProps: C,
-              getErrorMessageProps: S,
-              getRootProps: P,
-              getLabelProps: M,
-              getRequiredIndicatorProps: j,
-            }
-          })((0, o.omitThemingProps)(e)),
-          d = u.getRootProps,
-          h = (u.htmlProps, l(u, ['getRootProps', 'htmlProps'])),
-          p = (0, i.cx)('chakra-form-control', e.className),
-          v = s.useMemo(
-            function () {
-              return h
-            },
-            [h],
-          )
-        return s.createElement(
-          f,
-          { value: v },
-          s.createElement(
-            o.StylesProvider,
-            { value: n },
-            s.createElement(
-              o.chakra.div,
-              c({}, d({}, t), { className: p, __css: { width: '100%', position: 'relative' } }),
-            ),
-          ),
-        )
-      })
-      ;(t.FormControl = p), i.__DEV__ && (p.displayName = 'FormControl')
-      var v = (0, o.forwardRef)(function (e, t) {
-        var n = h(),
-          r = (0, o.useStyles)(),
-          a = (0, i.cx)('chakra-form__helper-text', e.className)
-        return s.createElement(
-          o.chakra.div,
-          c({}, null == n ? void 0 : n.getHelpTextProps(e, t), {
-            __css: r.helperText,
-            className: a,
-          }),
-        )
-      })
-      ;(t.FormHelperText = v), i.__DEV__ && (v.displayName = 'FormHelperText')
-    },
-    7609: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.FormErrorIcon = t.FormErrorMessage = void 0)
-      var r,
-        o = (r = n(29559)) && r.__esModule ? r : { default: r },
-        i = n(48121),
-        a = n(66751),
-        s = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = c()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        u = n(71312)
-      function c() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (c = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function l() {
-        return (l =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var d = (0, i.forwardRef)(function (e, t) {
-        var n = (0, i.useMultiStyleConfig)('FormError', e),
-          r = (0, i.omitThemingProps)(e),
-          o = (0, u.useFormControlContext)()
-        return null != o && o.isInvalid
-          ? s.createElement(
-              i.StylesProvider,
-              { value: n },
-              s.createElement(
-                i.chakra.div,
-                l({}, null == o ? void 0 : o.getErrorMessageProps(r, t), {
-                  className: (0, a.cx)('chakra-form__error-message', e.className),
-                  __css: l({ display: 'flex', alignItems: 'center' }, n.text),
-                }),
-              ),
-            )
-          : null
-      })
-      ;(t.FormErrorMessage = d), a.__DEV__ && (d.displayName = 'FormErrorMessage')
-      var f = (0, i.forwardRef)(function (e, t) {
-        var n = (0, i.useStyles)(),
-          r = (0, u.useFormControlContext)()
-        if (null == r || !r.isInvalid) return null
-        var c = (0, a.cx)('chakra-form__error-icon', e.className)
-        return s.createElement(
-          o.default,
-          l({ ref: t, 'aria-hidden': !0 }, e, { __css: n.icon, className: c }),
-          s.createElement('path', {
-            fill: 'currentColor',
-            d: 'M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z',
-          }),
-        )
-      })
-      ;(t.FormErrorIcon = f), a.__DEV__ && (f.displayName = 'FormErrorIcon')
-    },
-    22786: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.RequiredIndicator = t.FormLabel = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        a = n(71312)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n,
-          s = (0, r.useStyleConfig)('FormLabel', e),
-          c = (0, r.omitThemingProps)(e),
-          d = (c.className, c.children),
-          f = c.requiredIndicator,
-          h = void 0 === f ? i.createElement(l, null) : f,
-          p = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(c, ['className', 'children', 'requiredIndicator']),
-          v = (0, a.useFormControlContext)(),
-          m = null != (n = null == v ? void 0 : v.getLabelProps(p, t)) ? n : u({ ref: t }, p)
-        return i.createElement(
-          r.chakra.label,
-          u({}, m, {
-            className: (0, o.cx)('chakra-form__label', c.className),
-            __css: u({ display: 'block', textAlign: 'start' }, s),
-          }),
-          d,
-          null != v && v.isRequired ? h : null,
-        )
-      })
-      ;(t.FormLabel = c), o.__DEV__ && (c.displayName = 'FormLabel')
-      var l = (0, r.forwardRef)(function (e, t) {
-        var n = (0, a.useFormControlContext)(),
-          s = (0, r.useStyles)()
-        if (null == n || !n.isRequired) return null
-        var c = (0, o.cx)('chakra-form__required-indicator', e.className)
-        return i.createElement(
-          r.chakra.span,
-          u({}, null == n ? void 0 : n.getRequiredIndicatorProps(e, t), {
-            __css: s.requiredIndicator,
-            className: c,
-          }),
-        )
-      })
-      ;(t.RequiredIndicator = l), o.__DEV__ && (l.displayName = 'RequiredIndicator')
-    },
-    88323: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(71312)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(436)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(7609)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(22786)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-    },
-    436: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useFormControl = function (e) {
-          var t = s(e),
-            n = t.isDisabled,
-            o = t.isInvalid,
-            u = t.isReadOnly,
-            c = t.isRequired
-          return i({}, a(t, ['isDisabled', 'isInvalid', 'isReadOnly', 'isRequired']), {
-            disabled: n,
-            readOnly: u,
-            required: c,
-            'aria-invalid': (0, r.ariaAttr)(o),
-            'aria-required': (0, r.ariaAttr)(c),
-            'aria-readonly': (0, r.ariaAttr)(u),
-          })
-        }),
-        (t.useFormControlProps = s)
-      var r = n(66751),
-        o = n(71312)
-      function i() {
-        return (i =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function a(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      function s(e) {
-        var t,
-          n,
-          s,
-          u = (0, o.useFormControlContext)(),
-          c = e.id,
-          l = e.disabled,
-          d = e.readOnly,
-          f = e.required,
-          h = e.isRequired,
-          p = e.isInvalid,
-          v = e.isReadOnly,
-          m = e.isDisabled,
-          g = e.onFocus,
-          y = e.onBlur,
-          b = a(e, [
-            'id',
-            'disabled',
-            'readOnly',
-            'required',
-            'isRequired',
-            'isInvalid',
-            'isReadOnly',
-            'isDisabled',
-            'onFocus',
-            'onBlur',
-          ]),
-          w = []
-        return (
-          null != u && u.hasFeedbackText && null != u && u.isInvalid && w.push(u.feedbackId),
-          null != u && u.hasHelpText && w.push(u.helpTextId),
-          i({}, b, {
-            'aria-describedby': w.join(' ') || void 0,
-            id: null != c ? c : null == u ? void 0 : u.id,
-            isDisabled: null != (t = null != l ? l : m) ? t : null == u ? void 0 : u.isDisabled,
-            isReadOnly: null != (n = null != d ? d : v) ? n : null == u ? void 0 : u.isReadOnly,
-            isRequired: null != (s = null != f ? f : h) ? s : null == u ? void 0 : u.isRequired,
-            isInvalid: null != p ? p : null == u ? void 0 : u.isInvalid,
-            onFocus: (0, r.callAllHandlers)(null == u ? void 0 : u.onFocus, g),
-            onBlur: (0, r.callAllHandlers)(null == u ? void 0 : u.onBlur, y),
-          })
-        )
-      }
-    },
-    81959: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(59627)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(69038)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(26872)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(46903)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(6993)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(75624)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(33243)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(97649)
-      Object.keys(l).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === l[e]) || (t[e] = l[e]))
-      })
-      var d = n(31948)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(33131)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(53498)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(19867)
-      Object.keys(p).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === p[e]) || (t[e] = p[e]))
-      })
-      var v = n(59457)
-      Object.keys(v).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === v[e]) || (t[e] = v[e]))
-      })
-      var m = n(92695)
-      Object.keys(m).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === m[e]) || (t[e] = m[e]))
-      })
-      var g = n(34281)
-      Object.keys(g).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === g[e]) || (t[e] = g[e]))
-      })
-      var y = n(8042)
-      Object.keys(y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === y[e]) || (t[e] = y[e]))
-      })
-      var b = n(19679)
-      Object.keys(b).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === b[e]) || (t[e] = b[e]))
-      })
-      var w = n(24754)
-      Object.keys(w).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === w[e]) || (t[e] = w[e]))
-      })
-      var _ = n(12166)
-      Object.keys(_).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === _[e]) || (t[e] = _[e]))
-      })
-      var x = n(89395)
-      Object.keys(x).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === x[e]) || (t[e] = x[e]))
-      })
-      var k = n(3267)
-      Object.keys(k).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === k[e]) || (t[e] = k[e]))
-      })
-      var E = n(26465)
-      Object.keys(E).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === E[e]) || (t[e] = E[e]))
-      })
-      var O = n(30474)
-      Object.keys(O).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === O[e]) || (t[e] = O[e]))
-      })
-      var T = n(129)
-      Object.keys(T).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === T[e]) || (t[e] = T[e]))
-      })
-      var C = n(70709)
-      Object.keys(C).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === C[e]) || (t[e] = C[e]))
-      })
-      var M = n(19197)
-      Object.keys(M).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === M[e]) || (t[e] = M[e]))
-      })
-      var S = n(43670)
-      Object.keys(S).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === S[e]) || (t[e] = S[e]))
-      })
-      var P = n(42093)
-      Object.keys(P).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === P[e]) || (t[e] = P[e]))
-      })
-      var j = n(52594)
-      Object.keys(j).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === j[e]) || (t[e] = j[e]))
-      })
-      var I = n(70005)
-      Object.keys(I).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === I[e]) || (t[e] = I[e]))
-      })
-    },
-    59627: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useBoolean = function (e) {
-          void 0 === e && (e = !1)
-          var t = (0, r.useState)(e),
-            n = t[0],
-            o = t[1],
-            i = (0, r.useCallback)(function () {
-              o(!0)
-            }, []),
-            a = (0, r.useCallback)(function () {
-              o(!1)
-            }, []),
-            s = (0, r.useCallback)(function () {
-              o(function (e) {
-                return !e
-              })
-            }, [])
-          return [n, { on: i, off: a, toggle: s }]
-        })
-      var r = n(67294)
-    },
-    69038: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useCallbackRef = function (e, t) {
-          void 0 === t && (t = [])
-          var n = r.useRef(e)
-          return (
-            (0, o.useSafeLayoutEffect)(function () {
-              n.current = e
-            }),
-            r.useCallback(function () {
-              for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
-                t[r] = arguments[r]
-              return null == n.current ? void 0 : n.current.apply(n, t)
-            }, t)
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(70709)
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    26872: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useClipboard = function (e, t) {
-          void 0 === t && (t = {})
-          var n = (0, o.useState)(!1),
-            r = n[0],
-            a = n[1],
-            s = 'number' === typeof t ? { timeout: t } : t,
-            u = s.timeout,
-            c = void 0 === u ? 1500 : u,
-            l = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(s, ['timeout']),
-            d = (0, o.useCallback)(
-              function () {
-                var t = (0, i.default)(e, l)
-                a(t)
-              },
-              [e, l],
-            )
-          return (
-            (0, o.useEffect)(
-              function () {
-                var e = null
-                return (
-                  r &&
-                    (e = window.setTimeout(function () {
-                      a(!1)
-                    }, c)),
-                  function () {
-                    e && window.clearTimeout(e)
-                  }
-                )
-              },
-              [c, r],
-            ),
-            { value: e, onCopy: d, hasCopied: r }
-          )
-        })
-      var r,
-        o = n(67294),
-        i = (r = n(20640)) && r.__esModule ? r : { default: r }
-    },
-    46903: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useConst = function (e) {
-          var t = (0, r.useRef)(null)
-          null === t.current && (t.current = 'function' === typeof e ? e() : e)
-          return t.current
-        })
-      var r = n(67294)
-    },
-    6993: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useControllableProp = function (e, t) {
-          var n = void 0 !== e
-          return [n, n && 'undefined' !== typeof e ? e : t]
-        }),
-        (t.useControllableState = function (e) {
-          var t = e.value,
-            n = e.defaultValue,
-            a = e.onChange,
-            s = e.shouldUpdate,
-            u =
-              void 0 === s
-                ? function (e, t) {
-                    return e !== t
-                  }
-                : s,
-            c = (0, i.useCallbackRef)(a),
-            l = (0, i.useCallbackRef)(u),
-            d = o.useState(n),
-            f = d[0],
-            h = d[1],
-            p = void 0 !== t,
-            v = p ? t : f,
-            m = o.useCallback(
-              function (e) {
-                var t = (0, r.runIfFn)(e, v)
-                l(v, t) && (p || h(t), c(t))
-              },
-              [p, c, v, l],
-            )
-          return [v, m]
-        })
-      var r = n(66751),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        i = n(69038)
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    75624: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useDimensions = function (e, t) {
-          var n = r.useState(null),
-            a = n[0],
-            s = n[1],
-            u = r.useRef()
-          return (
-            (0, i.useSafeLayoutEffect)(
-              function () {
-                if (e.current) {
-                  var n = e.current
-                  return (
-                    r(),
-                    t &&
-                      (window.addEventListener('resize', r), window.addEventListener('scroll', r)),
-                    function () {
-                      t &&
-                        (window.removeEventListener('resize', r),
-                        window.removeEventListener('scroll', r)),
-                        u.current && cancelAnimationFrame(u.current)
-                    }
-                  )
-                }
-                function r() {
-                  u.current = requestAnimationFrame(function () {
-                    var e = (0, o.getBox)(n)
-                    s(e)
-                  })
-                }
-              },
-              [t],
-            ),
-            a
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(66751),
-        i = n(70709)
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    33243: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useDisclosure = function (e) {
-          void 0 === e && (e = {})
-          var t = e,
-            n = t.onClose,
-            s = t.onOpen,
-            c = t.isOpen,
-            l = t.id,
-            d = o.useState(e.defaultIsOpen || !1),
-            f = d[0],
-            h = d[1],
-            p = (0, i.useControllableProp)(c, f),
-            v = p[0],
-            m = p[1],
-            g = (0, a.useId)(l, 'disclosure'),
-            y = o.useCallback(
-              function () {
-                v || h(!1), null == n || n()
-              },
-              [v, n],
-            ),
-            b = o.useCallback(
-              function () {
-                v || h(!0), null == s || s()
-              },
-              [v, s],
-            ),
-            w = o.useCallback(
-              function () {
-                ;(m ? y : b)()
-              },
-              [m, b, y],
-            )
-          return {
-            isOpen: !!m,
-            onOpen: b,
-            onClose: y,
-            onToggle: w,
-            isControlled: v,
-            getButtonProps: function (e) {
-              return (
-                void 0 === e && (e = {}),
-                u({}, e, {
-                  'aria-expanded': 'true',
-                  'aria-controls': g,
-                  onClick: (0, r.callAllHandlers)(e.onClick, w),
-                })
-              )
-            },
-            getDisclosureProps: function (e) {
-              return void 0 === e && (e = {}), u({}, e, { hidden: !m, id: g })
-            },
-          }
-        })
-      var r = n(66751),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        i = n(6993),
-        a = n(8042)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-    },
-    97649: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useEventCallback = function (e) {
-          var t = r.useRef(e)
-          return (
-            (0, o.useSafeLayoutEffect)(function () {
-              t.current = e
-            }),
-            r.useCallback(function (e) {
-              for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++)
-                r[o - 1] = arguments[o]
-              return t.current.apply(t, [e].concat(r))
-            }, [])
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(70709)
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    33131: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useEventListenerMap = function () {
-          var e = o.useRef(new Map()),
-            t = e.current,
-            n = o.useCallback(function (t, n, o, i) {
-              var a = (0, r.wrapPointerEventHandler)(o, 'pointerdown' === n)
-              e.current.set(o, {
-                __listener: a,
-                type: (0, r.getPointerEventName)(n),
-                el: t,
-                options: i,
-              }),
-                t.addEventListener(n, a, i)
-            }, []),
-            i = o.useCallback(function (t, n, r, o) {
-              var i = e.current.get(r).__listener
-              t.removeEventListener(n, i, o), e.current.delete(i)
-            }, [])
-          return (
-            o.useEffect(
-              function () {
-                return function () {
-                  t.forEach(function (e, t) {
-                    i(e.el, e.type, t, e.options)
-                  })
-                }
-              },
-              [i, t],
-            ),
-            { add: n, remove: i }
-          )
-        })
-      var r = n(66751),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    31948: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useEventListener = function (e, t, n, a) {
-          var s = (0, i.useCallbackRef)(t)
-          return (
-            o.useEffect(
-              function () {
-                var t,
-                  o = null != (t = (0, r.runIfFn)(n)) ? t : document
-                return (
-                  o.addEventListener(e, s, a),
-                  function () {
-                    o.removeEventListener(e, s, a)
-                  }
-                )
-              },
-              [e, n, a, s],
-            ),
-            function () {
-              var t
-              ;(null != (t = (0, r.runIfFn)(n)) ? t : document).removeEventListener(e, s, a)
-            }
-          )
-        })
-      var r = n(66751),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        i = n(69038)
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    53498: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useFocusEffect = function (e, t) {
-          var n = t.shouldFocus,
-            i = t.preventScroll
-          ;(0, o.useUpdateEffect)(
-            function () {
-              var t = e.current
-              t &&
-                n &&
-                ((0, r.hasFocusWithin)(t) || (0, r.focus)(t, { preventScroll: i, nextTick: !0 }))
-            },
-            [n, e, i],
-          )
-        })
-      var r = n(66751),
-        o = n(52594)
-    },
-    19867: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useFocusOnHide = function (e, t) {
-          var n = t.shouldFocus,
-            i = t.visible,
-            a = t.focusRef,
-            s = n && !i
-          ;(0, o.useUpdateEffect)(
-            function () {
-              if (
-                s &&
-                !(function (e) {
-                  var t = e.current
-                  if (!t) return !1
-                  var n = (0, r.getActiveElement)(t)
-                  return !!n && !(0, r.contains)(t, n) && !!(0, r.isTabbable)(n)
-                })(e)
-              ) {
-                var t = (null == a ? void 0 : a.current) || e.current
-                t && (0, r.focus)(t, { nextTick: !0 })
-              }
-            },
-            [s, e, a],
-          )
-        })
-      var r = n(66751),
-        o = n(52594)
-    },
-    59457: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useFocusOnPointerDown = function (e) {
-          var t = e.ref,
-            n = e.elements,
-            i = e.enabled,
-            a = (0, r.detectBrowser)('Safari')
-          ;(0, o.usePointerEvent)(
-            function () {
-              return (0, r.getOwnerDocument)(t.current)
-            },
-            'pointerdown',
-            function (e) {
-              if (a && i) {
-                var o = e.target,
-                  s = (null != n ? n : [t]).some(function (e) {
-                    var t = (0, r.isRefObject)(e) ? e.current : e
-                    return (0, r.contains)(t, o)
-                  })
-                !(0, r.isActiveElement)(o) && s && (e.preventDefault(), (0, r.focus)(o))
-              }
-            },
-          )
-        })
-      var r = n(66751),
-        o = n(30474)
-    },
-    92695: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useFocusOnShow = function (e, t) {
-          void 0 === t && (t = s)
-          var n = t,
-            u = n.focusRef,
-            c = n.preventScroll,
-            l = n.shouldFocus,
-            d = n.visible,
-            f = (0, r.isRefObject)(e) ? e.current : e,
-            h = l && d,
-            p = (0, o.useCallback)(
-              function () {
-                if (f && h && !(0, r.contains)(f, document.activeElement))
-                  if (null != u && u.current)
-                    (0, r.focus)(u.current, { preventScroll: c, nextTick: !0 })
-                  else {
-                    var e = (0, r.getAllFocusable)(f)
-                    e.length > 0 && (0, r.focus)(e[0], { preventScroll: c, nextTick: !0 })
-                  }
-              },
-              [h, c, f, u],
-            )
-          ;(0, a.useUpdateEffect)(
-            function () {
-              p()
-            },
-            [p],
-          ),
-            (0, i.useEventListener)('transitionend', p, f)
-        })
-      var r = n(66751),
-        o = n(67294),
-        i = n(31948),
-        a = n(52594),
-        s = { preventScroll: !0, shouldFocus: !1 }
-    },
-    34281: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useForceUpdate = function () {
-          var e = r.useRef(!1),
-            t = r.useState(0),
-            n = t[0],
-            i = t[1]
-          return (
-            (0, o.useUnmountEffect)(function () {
-              e.current = !0
-            }),
-            r.useCallback(
-              function () {
-                e.current || i(n + 1)
-              },
-              [n],
-            )
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(42093)
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    8042: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useId = u),
-        (t.useIds = function (e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++)
-            n[o - 1] = arguments[o]
-          var i = u(e)
-          return r.useMemo(
-            function () {
-              return n.map(function (e) {
-                return e + '-' + i
-              })
-            },
-            [i, n],
-          )
-        }),
-        (t.useOptionalPart = function (e) {
-          var t = r.useState(null),
-            n = t[0],
-            o = t[1]
-          return {
-            ref: r.useCallback(
-              function (t) {
-                o(t ? e : null)
-              },
-              [e],
-            ),
-            id: n,
-            isRendered: Boolean(n),
-          }
-        }),
-        (t.IdProvider = void 0)
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var i = { prefix: Math.round(1e10 * Math.random()), current: 0 },
-        a = r.createContext(i),
-        s = r.memo(function (e) {
-          var t = e.children,
-            n = r.useContext(a),
-            o = n === i,
-            s = r.useMemo(
-              function () {
-                return { prefix: o ? 0 : ++n.prefix, current: 0 }
-              },
-              [o, n],
-            )
-          return r.createElement(a.Provider, { value: s }, t)
-        })
-      function u(e, t) {
-        var n = r.useContext(a)
-        return r.useMemo(
-          function () {
-            return e || [t, n.prefix, ++n.current].filter(Boolean).join('-')
-          },
-          [e, t],
-        )
-      }
-      t.IdProvider = s
-    },
-    19679: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useInterval = function (e, t) {
-          var n = (0, o.useCallbackRef)(e)
-          r.useEffect(
-            function () {
-              var e = null
-              return (
-                null !== t &&
-                  (e = window.setInterval(function () {
-                    return n()
-                  }, t)),
-                function () {
-                  e && window.clearInterval(e)
-                }
-              )
-            },
-            [t, n],
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(69038)
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    24754: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useLatestRef = function (e) {
-          var t = r.useRef(null)
-          return (t.current = e), t
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    12166: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.assignRef = i),
-        (t.useMergeRefs = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return r.useMemo(function () {
-            return t.every(function (e) {
-              return null == e
-            })
-              ? null
-              : function (e) {
-                  t.forEach(function (t) {
-                    t && i(t, e)
-                  })
-                }
-          }, t)
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function i(e, t) {
-        if (null != e)
-          if ('function' !== typeof e)
-            try {
-              e.current = t
-            } catch (n) {
-              throw new Error("Cannot assign value '" + t + "' to ref '" + e + "'")
-            }
-          else e(t)
-      }
-    },
-    89395: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useMouseDownRef = function (e) {
-          void 0 === e && (e = !0)
-          var t = o.default.useRef()
-          return (
-            (0, i.useEventListener)('mousedown', function (n) {
-              e && (t.current = n.target)
-            }),
-            t
-          )
-        })
-      var r,
-        o = (r = n(67294)) && r.__esModule ? r : { default: r },
-        i = n(31948)
-    },
-    3267: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useOutsideClick = function (e) {
-          var t = e.ref,
-            n = e.handler,
-            s = (0, i.useCallbackRef)(n),
-            u = (0, o.useRef)({ isPointerDown: !1, ignoreEmulatedMouseEvents: !1 }).current
-          ;(0, o.useEffect)(
-            function () {
-              var e = function (e) {
-                  a(e, t) && (u.isPointerDown = !0)
-                },
-                o = function (e) {
-                  u.ignoreEmulatedMouseEvents
-                    ? (u.ignoreEmulatedMouseEvents = !1)
-                    : u.isPointerDown && n && a(e, t) && ((u.isPointerDown = !1), s(e))
-                },
-                i = function (e) {
-                  ;(u.ignoreEmulatedMouseEvents = !0),
-                    n && u.isPointerDown && a(e, t) && ((u.isPointerDown = !1), s(e))
-                },
-                c = (0, r.getOwnerDocument)(t.current)
-              return (
-                c.addEventListener('mousedown', e, !0),
-                c.addEventListener('mouseup', o, !0),
-                c.addEventListener('touchstart', e, !0),
-                c.addEventListener('touchend', i, !0),
-                function () {
-                  c.removeEventListener('mousedown', e, !0),
-                    c.removeEventListener('mouseup', o, !0),
-                    c.removeEventListener('touchstart', e, !0),
-                    c.removeEventListener('touchend', i, !0)
-                }
-              )
-            },
-            [n, t, s, u],
-          )
-        })
-      var r = n(66751),
-        o = n(67294),
-        i = n(69038)
-      function a(e, t) {
-        var n,
-          o = e.target
-        if (e.button > 0) return !1
-        if (o && !(0, r.getOwnerDocument)(o).body.contains(o)) return !1
-        return !(null != (n = t.current) && n.contains(o))
-      }
-    },
-    26465: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.usePanGesture = function (e, t) {
-          var n = t.onPan,
-            s = t.onPanStart,
-            u = t.onPanEnd,
-            c = t.onPanSessionStart,
-            l = t.onPanSessionEnd,
-            d = Boolean(n || s || u || c || l),
-            f = (0, o.useRef)(null),
-            h = {
-              onSessionStart: c,
-              onSessionEnd: l,
-              onStart: s,
-              onMove: n,
-              onEnd: function (e, t) {
-                ;(f.current = null), null == u || u(e, t)
-              },
-            }
-          ;(0, o.useEffect)(function () {
-            var e
-            null == (e = f.current) || e.updateHandlers(h)
-          }),
-            (0, i.usePointerEvent)(
-              function () {
-                return e.current
-              },
-              'pointerdown',
-              d
-                ? function (e) {
-                    f.current = new r.PanSession(e, h)
-                  }
-                : r.noop,
-            ),
-            (0, a.useUnmountEffect)(function () {
-              var e
-              null == (e = f.current) || e.end(), (f.current = null)
-            })
-        })
-      var r = n(66751),
-        o = n(67294),
-        i = n(30474),
-        a = n(42093)
-    },
-    30474: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.usePointerEvent = function (e, t, n, i) {
-          return (0, o.useEventListener)(
-            (0, r.getPointerEventName)(t),
-            (0, r.wrapPointerEventHandler)(n, 'pointerdown' === t),
-            e,
-            i,
-          )
-        })
-      var r = n(66751),
-        o = n(31948)
-    },
-    129: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.usePrevious = function (e) {
-          var t = (0, r.useRef)()
-          return (
-            (0, r.useEffect)(
-              function () {
-                t.current = e
-              },
-              [e],
-            ),
-            t.current
-          )
-        })
-      var r = n(67294)
-    },
-    70709: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.useSafeLayoutEffect = void 0)
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var i = n(66751).isBrowser ? r.useLayoutEffect : r.useEffect
-      t.useSafeLayoutEffect = i
-    },
-    19197: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useShortcut = function (e) {
-          void 0 === e && (e = {})
-          var t = e,
-            n = t.timeout,
-            o = void 0 === n ? 300 : n,
-            i = t.preventDefault,
-            a =
-              void 0 === i
-                ? function () {
-                    return !0
-                  }
-                : i,
-            s = r.useState([]),
-            u = s[0],
-            c = s[1],
-            l = r.useRef(),
-            d = function () {
-              l.current && (clearTimeout(l.current), (l.current = null))
-            },
-            f = function () {
-              d(),
-                (l.current = setTimeout(function () {
-                  c([]), (l.current = null)
-                }, o))
-            }
-          return (
-            r.useEffect(function () {
-              return d
-            }, []),
-            function (e) {
-              return function (t) {
-                if ('Backspace' === t.key) {
-                  var n = [].concat(u)
-                  return n.pop(), void c(n)
-                }
-                if (
-                  (function (e) {
-                    var t = e.key
-                    return 1 === t.length || (t.length > 1 && /[^a-zA-Z0-9]/.test(t))
-                  })(t)
-                ) {
-                  var r = u.concat(t.key)
-                  a(t) && (t.preventDefault(), t.stopPropagation()), c(r), e(r.join('')), f()
-                }
-              }
-            }
-          )
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    43670: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useTimeout = function (e, t) {
-          var n = (0, o.useCallbackRef)(e)
-          r.useEffect(
-            function () {
-              if (null != t) {
-                var e
-                return (
-                  (e = window.setTimeout(function () {
-                    n()
-                  }, t)),
-                  function () {
-                    e && window.clearTimeout(e)
-                  }
-                )
-              }
-            },
-            [t, n],
-          )
-        })
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        o = n(69038)
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    42093: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useUnmountEffect = function (e, t) {
-          void 0 === t && (t = [])
-          return r.useEffect(function () {
-            return function () {
-              return e()
-            }
-          }, t)
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    52594: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.useUpdateEffect = void 0)
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      t.useUpdateEffect = function (e, t) {
-        var n = r.useRef(!1)
-        return (
-          r.useEffect(function () {
-            if (n.current) return e()
-            n.current = !0
-          }, t),
-          n.current
-        )
-      }
-    },
-    70005: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useWhyDidYouUpdate = function (e, t) {
-          var n = r.useRef()
-          r.useEffect(function () {
-            if (n.current) {
-              var r = Object.keys(i({}, n.current, t)),
-                o = {}
-              r.forEach(function (e) {
-                n.current[e] !== t[e] && (o[e] = { from: n.current[e], to: t[e] })
-              }),
-                Object.keys(o).length && console.log('[why-did-you-update]', e, o)
-            }
-            n.current = t
-          })
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function i() {
-        return (i =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-    },
-    90639: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        k: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e) {
-        void 0 === e && (e = !1)
-        var [t, n] = (0, r.useState)(e)
-        return [
-          t,
-          {
-            on: (0, r.useCallback)(() => {
-              n(!0)
-            }, []),
-            off: (0, r.useCallback)(() => {
-              n(!1)
-            }, []),
-            toggle: (0, r.useCallback)(() => {
-              n((e) => !e)
-            }, []),
-          },
-        ]
-      }
-    },
-    10762: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        W: function () {
-          return i
-        },
-      })
-      var r = n(67294),
-        o = n(68327)
-      function i(e, t) {
-        void 0 === t && (t = [])
-        var n = r.useRef(e)
-        return (
-          (0, o.G)(() => {
-            n.current = e
-          }),
-          r.useCallback(function () {
-            for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]
-            return null == n.current ? void 0 : n.current(...t)
-          }, t)
-        )
-      }
-    },
-    51034: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        p: function () {
-          return a
-        },
-        T: function () {
-          return s
-        },
-      })
-      var r = n(80658),
-        o = n(67294),
-        i = n(10762)
-      function a(e, t) {
-        var n = void 0 !== e
-        return [n, n && 'undefined' !== typeof e ? e : t]
-      }
-      function s(e) {
-        var { value: t, defaultValue: n, onChange: a, shouldUpdate: s = (e, t) => e !== t } = e,
-          u = (0, i.W)(a),
-          c = (0, i.W)(s),
-          [l, d] = o.useState(n),
-          f = void 0 !== t,
-          h = f ? t : l,
-          p = o.useCallback(
-            (e) => {
-              var t = (0, r.Pu)(e, h)
-              c(h, t) && (f || d(t), u(t))
-            },
-            [f, u, h, c],
-          )
-        return [h, p]
-      }
-    },
-    74860: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        q: function () {
-          return u
-        },
-      })
-      var r = n(80658),
-        o = n(67294),
-        i = n(51034),
-        a = n(94577)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e) {
-        void 0 === e && (e = {})
-        var { onClose: t, onOpen: n, isOpen: u, id: c } = e,
-          [l, d] = o.useState(e.defaultIsOpen || !1),
-          [f, h] = (0, i.p)(u, l),
-          p = (0, a.Me)(c, 'disclosure'),
-          v = o.useCallback(() => {
-            f || d(!1), null == t || t()
-          }, [f, t]),
-          m = o.useCallback(() => {
-            f || d(!0), null == n || n()
-          }, [f, n]),
-          g = o.useCallback(() => {
-            ;(h ? v : m)()
-          }, [h, m, v])
-        return {
-          isOpen: !!h,
-          onOpen: m,
-          onClose: v,
-          onToggle: g,
-          isControlled: f,
-          getButtonProps: function (e) {
-            return (
-              void 0 === e && (e = {}),
-              s({}, e, {
-                'aria-expanded': 'true',
-                'aria-controls': p,
-                onClick: (0, r.v0)(e.onClick, g),
-              })
-            )
-          },
-          getDisclosureProps: function (e) {
-            return void 0 === e && (e = {}), s({}, e, { hidden: !h, id: p })
-          },
-        }
-      }
-    },
-    34941: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        O: function () {
-          return a
-        },
-      })
-      var r = n(80658),
-        o = n(67294),
-        i = n(10762)
-      function a(e, t, n, a) {
-        var s = (0, i.W)(t)
-        return (
-          o.useEffect(() => {
-            var t,
-              o = null != (t = (0, r.Pu)(n)) ? t : document
-            return (
-              o.addEventListener(e, s, a),
-              () => {
-                o.removeEventListener(e, s, a)
-              }
-            )
-          }, [e, n, a, s]),
-          () => {
-            var t
-            ;(null != (t = (0, r.Pu)(n)) ? t : document).removeEventListener(e, s, a)
-          }
-        )
-      }
-    },
-    68327: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        G: function () {
-          return o
-        },
-      })
-      var r = n(67294),
-        o = n(84461).jU ? r.useLayoutEffect : r.useEffect
-    },
-    77581: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        z: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e, t) {
-        return void 0 === t && (t = []), r.useEffect(() => () => e(), t)
-      }
-    },
-    22653: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        r: function () {
-          return o
-        },
-      })
-      var r = n(67294),
-        o = (e, t) => {
-          var n = r.useRef(!1)
-          return (
-            r.useEffect(() => {
-              if (n.current) return e()
-              n.current = !0
-            }, t),
-            n.current
-          )
-        }
-    },
-    87474: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.createIcon = function (e) {
-          var t = e.viewBox,
-            n = void 0 === t ? '0 0 24 24' : t,
-            s = e.d,
-            c = e.path,
-            l = e.displayName,
-            d = e.defaultProps,
-            f = void 0 === d ? {} : d,
-            h = (0, r.forwardRef)(function (e, t) {
-              return i.createElement(
-                a.Icon,
-                u({ ref: t, viewBox: n }, f, e),
-                null != c ? c : i.createElement('path', { fill: 'currentColor', d: s }),
-              )
-            })
-          o.__DEV__ && (h.displayName = l)
-          return h
-        })
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        a = n(41120)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-    },
-    41120: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.default = t.Icon = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = {
-          path: i.createElement(
-            'g',
-            { stroke: 'currentColor', strokeWidth: '1.5' },
-            i.createElement('path', {
-              strokeLinecap: 'round',
-              fill: 'none',
-              d: 'M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25',
-            }),
-            i.createElement('path', {
-              fill: 'currentColor',
-              strokeLinecap: 'round',
-              d: 'M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0',
-            }),
-            i.createElement('circle', {
-              fill: 'none',
-              strokeMiterlimit: '10',
-              cx: '12',
-              cy: '12',
-              r: '11.25',
-            }),
-          ),
-          viewBox: '0 0 24 24',
-        },
-        c = (0, r.forwardRef)(function (e, t) {
-          var n = e.as,
-            a = e.viewBox,
-            c = e.color,
-            l = void 0 === c ? 'currentColor' : c,
-            d = e.focusable,
-            f = void 0 !== d && d,
-            h = e.children,
-            p = e.className,
-            v = e.__css,
-            m = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, ['as', 'viewBox', 'color', 'focusable', 'children', 'className', '__css']),
-            g = {
-              ref: t,
-              focusable: f,
-              className: (0, o.cx)('chakra-icon', p),
-              __css: s(
-                {
-                  w: '1em',
-                  h: '1em',
-                  display: 'inline-block',
-                  lineHeight: '1em',
-                  flexShrink: 0,
-                  color: l,
-                },
-                v,
-              ),
-            },
-            y = null != a ? a : u.viewBox
-          if (n && 'string' !== typeof n) return i.createElement(r.chakra.svg, s({ as: n }, g, m))
-          var b = null != h ? h : u.path
-          return i.createElement(r.chakra.svg, s({ verticalAlign: 'middle', viewBox: y }, g, m), b)
-        })
-      ;(t.Icon = c), o.__DEV__ && (c.displayName = 'Icon')
-      var l = c
-      t.default = l
-    },
-    29559: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = {}
-      t.default = void 0
-      var o = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = a()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var o in e)
-          if (Object.prototype.hasOwnProperty.call(e, o)) {
-            var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-            i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(41120))
-      ;(t.default = o.default),
-        Object.keys(o).forEach(function (e) {
-          'default' !== e &&
-            '__esModule' !== e &&
-            (Object.prototype.hasOwnProperty.call(r, e) ||
-              (e in t && t[e] === o[e]) ||
-              (t[e] = o[e]))
-        })
-      var i = n(87474)
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      Object.keys(i).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-    },
-    89867: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        I: function () {
-          return u
-        },
-      })
-      var r = n(90063),
-        o = n(73808),
-        i = n(67294),
-        a = n(70058)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e) {
-        var { viewBox: t = '0 0 24 24', d: n, path: u, displayName: c, defaultProps: l = {} } = e,
-          d = (0, r.G)((e, r) =>
-            i.createElement(
-              a.J,
-              s({ ref: r, viewBox: t }, l, e),
-              null != u ? u : i.createElement('path', { fill: 'currentColor', d: n }),
-            ),
-          )
-        return o.Ts && (d.displayName = c), d
-      }
-    },
-    70058: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        J: function () {
-          return l
-        },
-      })
-      var r = n(90063),
-        o = n(89384),
-        i = n(84461),
-        a = n(73808),
-        s = n(67294)
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = {
-          path: s.createElement(
-            'g',
-            { stroke: 'currentColor', strokeWidth: '1.5' },
-            s.createElement('path', {
-              strokeLinecap: 'round',
-              fill: 'none',
-              d: 'M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25',
-            }),
-            s.createElement('path', {
-              fill: 'currentColor',
-              strokeLinecap: 'round',
-              d: 'M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0',
-            }),
-            s.createElement('circle', {
-              fill: 'none',
-              strokeMiterlimit: '10',
-              cx: '12',
-              cy: '12',
-              r: '11.25',
-            }),
-          ),
-          viewBox: '0 0 24 24',
-        },
-        l = (0, r.G)((e, t) => {
-          var {
-              as: n,
-              viewBox: r,
-              color: a = 'currentColor',
-              focusable: l = !1,
-              children: d,
-              className: f,
-              __css: h,
-            } = e,
-            p = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, ['as', 'viewBox', 'color', 'focusable', 'children', 'className', '__css']),
-            v = {
-              ref: t,
-              focusable: l,
-              className: (0, i.cx)('chakra-icon', f),
-              __css: u(
-                {
-                  w: '1em',
-                  h: '1em',
-                  display: 'inline-block',
-                  lineHeight: '1em',
-                  flexShrink: 0,
-                  color: a,
-                },
-                h,
-              ),
-            },
-            m = null != r ? r : c.viewBox
-          if (n && 'string' !== typeof n) return s.createElement(o.m$.svg, u({ as: n }, v, p))
-          var g = null != d ? d : c.path
-          return s.createElement(o.m$.svg, u({ verticalAlign: 'middle', viewBox: m }, v, p), g)
-        })
-      a.Ts && (l.displayName = 'Icon')
-    },
-    79095: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.AddIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z',
-        displayName: 'AddIcon',
-      })
-      t.AddIcon = r
-    },
-    41725: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowBackIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z',
-        displayName: 'ArrowBackIcon',
-      })
-      t.ArrowBackIcon = r
-    },
-    16748: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowDownIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z',
-        displayName: 'ArrowDownIcon',
-      })
-      t.ArrowDownIcon = r
-    },
-    75616: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowForwardIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z',
-        displayName: 'ArrowForwardIcon',
-      })
-      t.ArrowForwardIcon = r
-    },
-    30820: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowLeftIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'ArrowLeftIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M10.416,12a2.643,2.643,0,0,1,.775-1.875L20.732.584a1.768,1.768,0,0,1,2.5,2.5l-8.739,8.739a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5l-9.541-9.541A2.643,2.643,0,0,1,10.416,12Z',
-          }),
-          o.createElement('path', {
-            d: 'M.25,12a2.643,2.643,0,0,1,.775-1.875L10.566.584a1.768,1.768,0,0,1,2.5,2.5L4.327,11.823a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5L1.025,13.875A2.643,2.643,0,0,1,.25,12Z',
-          }),
-        ),
-      })
-      t.ArrowLeftIcon = a
-    },
-    57243: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowRightIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'ArrowRightIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z',
-          }),
-          o.createElement('path', {
-            d: 'M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z',
-          }),
-        ),
-      })
-      t.ArrowRightIcon = a
-    },
-    38677: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowUpIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z',
-        displayName: 'ArrowUpIcon',
-      })
-      t.ArrowUpIcon = r
-    },
-    94707: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ArrowUpDownIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        viewBox: '0 0 16 16',
-        d: 'M11.891 9.992a1 1 0 1 1 1.416 1.415l-4.3 4.3a1 1 0 0 1-1.414 0l-4.3-4.3A1 1 0 0 1 4.71 9.992l3.59 3.591 3.591-3.591zm0-3.984L8.3 2.417 4.709 6.008a1 1 0 0 1-1.416-1.415l4.3-4.3a1 1 0 0 1 1.414 0l4.3 4.3a1 1 0 1 1-1.416 1.415z',
-        displayName: 'ArrowUpDownIcon',
-      })
-      t.ArrowUpDownIcon = r
-    },
-    64551: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.AtSignIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'AtSignIcon',
-        d: 'M12,.5A11.634,11.634,0,0,0,.262,12,11.634,11.634,0,0,0,12,23.5a11.836,11.836,0,0,0,6.624-2,1.25,1.25,0,1,0-1.393-2.076A9.34,9.34,0,0,1,12,21a9.132,9.132,0,0,1-9.238-9A9.132,9.132,0,0,1,12,3a9.132,9.132,0,0,1,9.238,9v.891a1.943,1.943,0,0,1-3.884,0V12A5.355,5.355,0,1,0,12,17.261a5.376,5.376,0,0,0,3.861-1.634,4.438,4.438,0,0,0,7.877-2.736V12A11.634,11.634,0,0,0,12,.5Zm0,14.261A2.763,2.763,0,1,1,14.854,12,2.812,2.812,0,0,1,12,14.761Z',
-      })
-      t.AtSignIcon = r
-    },
-    78281: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.AttachmentIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'AttachmentIcon',
-        d: 'M21.843,3.455a6.961,6.961,0,0,0-9.846,0L1.619,13.832a5.128,5.128,0,0,0,7.252,7.252L17.3,12.653A3.293,3.293,0,1,0,12.646,8L7.457,13.184A1,1,0,1,0,8.871,14.6L14.06,9.409a1.294,1.294,0,0,1,1.829,1.83L7.457,19.67a3.128,3.128,0,0,1-4.424-4.424L13.411,4.869a4.962,4.962,0,1,1,7.018,7.018L12.646,19.67a1,1,0,1,0,1.414,1.414L21.843,13.3a6.96,6.96,0,0,0,0-9.846Z',
-      })
-      t.AttachmentIcon = r
-    },
-    94688: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.BellIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'BellIcon',
-        d: 'M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z',
-      })
-      t.BellIcon = r
-    },
-    51713: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.CalendarIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'CalendarIcon',
-        viewBox: '0 0 14 14',
-        d: 'M10.8889,5.5 L3.11111,5.5 L3.11111,7.05556 L10.8889,7.05556 L10.8889,5.5 Z M12.4444,1.05556 L11.6667,1.05556 L11.6667,0 L10.1111,0 L10.1111,1.05556 L3.88889,1.05556 L3.88889,0 L2.33333,0 L2.33333,1.05556 L1.55556,1.05556 C0.692222,1.05556 0.00777777,1.75556 0.00777777,2.61111 L0,12.5 C0,13.3556 0.692222,14 1.55556,14 L12.4444,14 C13.3,14 14,13.3556 14,12.5 L14,2.61111 C14,1.75556 13.3,1.05556 12.4444,1.05556 Z M12.4444,12.5 L1.55556,12.5 L1.55556,3.94444 L12.4444,3.94444 L12.4444,12.5 Z M8.55556,8.61111 L3.11111,8.61111 L3.11111,10.1667 L8.55556,10.1667 L8.55556,8.61111 Z',
-      })
-      t.CalendarIcon = r
-    },
-    92547: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ChatIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M0.913134,0.920639 C1.49851,0.331726 2.29348,0 3.12342,0 L10.8766,0 C11.7065,0 12.5015,0.331725 13.0869,0.920639 C13.6721,1.50939 14,2.30689 14,3.13746 L14,8.12943 C13.9962,8.51443 13.9059,8.97125 13.7629,9.32852 C13.6128,9.683 13.3552,10.0709 13.0869,10.3462 C12.813,10.6163 12.4265,10.8761 12.0734,11.0274 C11.7172,11.1716 11.2607,11.263 10.8766,11.2669 L10.1234,11.2669 L10.1234,12.5676 L10.1209,12.5676 C10.1204,12.793 10.0633,13.0791 9.97807,13.262 C9.8627,13.466 9.61158,13.7198 9.40818,13.8382 L9.40824,13.8383 C9.4077,13.8386 9.40716,13.8388 9.40661,13.8391 C9.40621,13.8393 9.4058,13.8396 9.40539,13.8398 L9.40535,13.8397 C9.22958,13.9254 8.94505,13.9951 8.75059,14 L8.74789,14 C8.35724,13.9963 7.98473,13.8383 7.71035,13.5617 L5.39553,11.2669 L3.12342,11.2669 C2.29348,11.2669 1.49851,10.9352 0.913134,10.3462 C0.644826,10.0709 0.387187,9.683 0.23711,9.32852 C0.0941235,8.97125 0.00379528,8.51443 0,8.12943 L0,3.13746 C0,2.30689 0.327915,1.50939 0.913134,0.920639 Z M3.12342,1.59494 C2.71959,1.59494 2.33133,1.75628 2.04431,2.04503 C1.75713,2.33395 1.59494,2.72681 1.59494,3.13746 L1.59494,8.12943 C1.59114,8.35901 1.62114,8.51076 1.71193,8.72129 C1.79563,8.9346 1.88065,9.06264 2.04431,9.22185 C2.33133,9.5106 2.71959,9.67195 3.12342,9.67195 L5.72383,9.67195 C5.93413,9.67195 6.13592,9.75502 6.28527,9.90308 L8.52848,12.1269 L8.52848,10.4694 C8.52848,10.029 8.88552,9.67195 9.32595,9.67195 L10.8766,9.67195 C11.1034,9.67583 11.2517,9.64614 11.4599,9.55518 C11.6712,9.47132 11.7976,9.38635 11.9557,9.22185 C12.1193,9.06264 12.2044,8.9346 12.2881,8.72129 C12.3789,8.51076 12.4089,8.35901 12.4051,8.12943 L12.4051,3.13746 C12.4051,2.72681 12.2429,2.33394 11.9557,2.04503 C11.6687,1.75628 11.2804,1.59494 10.8766,1.59494 L3.12342,1.59494 Z',
-        displayName: 'ChatIcon',
-        viewBox: '0 0 14 14',
-      })
-      t.ChatIcon = r
-    },
-    26324: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.CheckIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        viewBox: '0 0 14 14',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('polygon', {
-            points: '5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039',
-          }),
-        ),
-      })
-      t.CheckIcon = a
-    },
-    91204: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.CheckCircleIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'CheckCircleIcon',
-        d: 'M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z',
-      })
-      t.CheckCircleIcon = r
-    },
-    62628: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ChevronDownIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'ChevronDownIcon',
-        d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
-      })
-      t.ChevronDownIcon = r
-    },
-    65128: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ChevronLeftIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z',
-        displayName: 'ChevronLeftIcon',
-      })
-      t.ChevronLeftIcon = r
-    },
-    7659: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ChevronRightIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z',
-        displayName: 'ChevronRightIcon',
-      })
-      t.ChevronRightIcon = r
-    },
-    48959: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ChevronUpIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z',
-        displayName: 'ChevronUpIcon',
-      })
-      t.ChevronUpIcon = r
-    },
-    34066: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.CloseIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'CloseIcon',
-        d: 'M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z',
-      })
-      t.CloseIcon = r
-    },
-    68789: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.CopyIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z',
-        displayName: 'CopyIcon',
-      })
-      t.CopyIcon = r
-    },
-    60915: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.DeleteIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'DeleteIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z',
-          }),
-        ),
-      })
-      t.DeleteIcon = a
-    },
-    5013: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.DownloadIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z',
-        displayName: 'DownloadIcon',
-        viewBox: '0 0 14 14',
-      })
-      t.DownloadIcon = r
-    },
-    54411: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.DragHandleIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        viewBox: '0 0 10 10',
-        d: 'M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7.55228475,8 8,8.44771525 8,9 C8,9.55228475 7.55228475,10 7,10 Z',
-        displayName: 'DragHandleIcon',
-      })
-      t.DragHandleIcon = r
-    },
-    27915: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.EditIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'EditIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeWidth: '2' },
-          o.createElement('path', {
-            d: 'M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7',
-          }),
-          o.createElement('path', { d: 'M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z' }),
-        ),
-      })
-      t.EditIcon = a
-    },
-    9079: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.EmailIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'EmailIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M11.114,14.556a1.252,1.252,0,0,0,1.768,0L22.568,4.87a.5.5,0,0,0-.281-.849A1.966,1.966,0,0,0,22,4H2a1.966,1.966,0,0,0-.289.021.5.5,0,0,0-.281.849Z',
-          }),
-          o.createElement('path', {
-            d: 'M23.888,5.832a.182.182,0,0,0-.2.039l-6.2,6.2a.251.251,0,0,0,0,.354l5.043,5.043a.75.75,0,1,1-1.06,1.061l-5.043-5.043a.25.25,0,0,0-.354,0l-2.129,2.129a2.75,2.75,0,0,1-3.888,0L7.926,13.488a.251.251,0,0,0-.354,0L2.529,18.531a.75.75,0,0,1-1.06-1.061l5.043-5.043a.251.251,0,0,0,0-.354l-6.2-6.2a.18.18,0,0,0-.2-.039A.182.182,0,0,0,0,6V18a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V6A.181.181,0,0,0,23.888,5.832Z',
-          }),
-        ),
-      })
-      t.EmailIcon = a
-    },
-    59096: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ExternalLinkIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'ExternalLinkIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeWidth: '2' },
-          o.createElement('path', {
-            d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6',
-          }),
-          o.createElement('path', { d: 'M15 3h6v6' }),
-          o.createElement('path', { d: 'M10 14L21 3' }),
-        ),
-      })
-      t.ExternalLinkIcon = a
-    },
-    14122: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.HamburgerIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'HamburgerIcon',
-        viewBox: '0 0 24 24',
-        d: 'M 3 5 A 1.0001 1.0001 0 1 0 3 7 L 21 7 A 1.0001 1.0001 0 1 0 21 5 L 3 5 z M 3 11 A 1.0001 1.0001 0 1 0 3 13 L 21 13 A 1.0001 1.0001 0 1 0 21 11 L 3 11 z M 3 17 A 1.0001 1.0001 0 1 0 3 19 L 21 19 A 1.0001 1.0001 0 1 0 21 17 L 3 17 z',
-      })
-      t.HamburgerIcon = r
-    },
-    49537: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.InfoIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z',
-      })
-      t.InfoIcon = r
-    },
-    20883: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.InfoOutlineIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'InfoOutlineIcon',
-        path: o.createElement(
-          'g',
-          {
-            fill: 'currentColor',
-            stroke: 'currentColor',
-            strokeLinecap: 'square',
-            strokeWidth: '2',
-          },
-          o.createElement('circle', {
-            cx: '12',
-            cy: '12',
-            fill: 'none',
-            r: '11',
-            stroke: 'currentColor',
-          }),
-          o.createElement('line', { fill: 'none', x1: '11.959', x2: '11.959', y1: '11', y2: '17' }),
-          o.createElement('circle', { cx: '11.959', cy: '7', r: '1', stroke: 'none' }),
-        ),
-      })
-      t.InfoOutlineIcon = a
-    },
-    25929: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.LinkIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'LinkIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z',
-          }),
-          o.createElement('path', {
-            d: 'M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z',
-          }),
-        ),
-      })
-      t.LinkIcon = a
-    },
-    81971: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.LockIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M19.5,9.5h-.75V6.75a6.75,6.75,0,0,0-13.5,0V9.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5ZM7.75,6.75a4.25,4.25,0,0,1,8.5,0V9a.5.5,0,0,1-.5.5H8.25a.5.5,0,0,1-.5-.5Z',
-        displayName: 'LockIcon',
-      })
-      t.LockIcon = r
-    },
-    49888: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.MinusIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'MinusIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('rect', { height: '4', width: '20', x: '2', y: '10' }),
-        ),
-      })
-      t.MinusIcon = a
-    },
-    38054: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.MoonIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M21.4,13.7C20.6,13.9,19.8,14,19,14c-5,0-9-4-9-9c0-0.8,0.1-1.6,0.3-2.4c0.1-0.3,0-0.7-0.3-1 c-0.3-0.3-0.6-0.4-1-0.3C4.3,2.7,1,7.1,1,12c0,6.1,4.9,11,11,11c4.9,0,9.3-3.3,10.6-8.1c0.1-0.3,0-0.7-0.3-1 C22.1,13.7,21.7,13.6,21.4,13.7z',
-        displayName: 'MoonIcon',
-      })
-      t.MoonIcon = r
-    },
-    7846: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.NotAllowedIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8 0-1.85.63-3.55 1.69-4.9L16.9 18.31C15.55 19.37 13.85 20 12 20zm6.31-3.1L7.1 5.69C8.45 4.63 10.15 4 12 4c4.42 0 8 3.58 8 8 0 1.85-.63 3.55-1.69 4.9z',
-        displayName: 'NotAllowedIcon',
-      })
-      t.NotAllowedIcon = r
-    },
-    98271: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.PhoneIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M2.20731,0.0127209 C2.1105,-0.0066419 1.99432,-0.00664663 1.91687,0.032079 C0.871279,0.438698 0.212942,1.92964 0.0580392,2.95587 C-0.426031,6.28627 2.20731,9.17133 4.62766,11.0689 C6.77694,12.7534 10.9012,15.5223 13.3409,12.8503 C13.6507,12.5211 14.0186,12.037 13.9993,11.553 C13.9412,10.7397 13.186,10.1588 12.6051,9.71349 C12.1598,9.38432 11.2304,8.47427 10.6495,8.49363 C10.1267,8.51299 9.79754,9.05515 9.46837,9.38432 L8.88748,9.96521 C8.79067,10.062 7.55145,9.24878 7.41591,9.15197 C6.91248,8.8228 6.4284,8.45491 6.00242,8.04829 C5.57644,7.64167 5.18919,7.19632 4.86002,6.73161 C4.7632,6.59607 3.96933,5.41495 4.04678,5.31813 C4.04678,5.31813 4.72448,4.58234 4.91811,4.2919 C5.32473,3.67229 5.63453,3.18822 5.16982,2.45243 C4.99556,2.18135 4.78257,1.96836 4.55021,1.73601 C4.14359,1.34875 3.73698,0.942131 3.27227,0.612963 C3.02055,0.419335 2.59457,0.0708094 2.20731,0.0127209 Z',
-        displayName: 'PhoneIcon',
-        viewBox: '0 0 14 14',
-      })
-      t.PhoneIcon = r
-    },
-    12779: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.PlusSquareIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'PlusSquareIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeWidth: '2' },
-          o.createElement('rect', { height: '18', width: '18', rx: '2', ry: '2', x: '3', y: '3' }),
-          o.createElement('path', { d: 'M12 8v8' }),
-          o.createElement('path', { d: 'M8 12h8' }),
-        ),
-      })
-      t.PlusSquareIcon = a
-    },
-    93942: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.QuestionIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z',
-        displayName: 'QuestionIcon',
-      })
-      t.QuestionIcon = r
-    },
-    43370: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.QuestionOutlineIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'QuestionOutlineIcon',
-        path: o.createElement(
-          'g',
-          { stroke: 'currentColor', strokeWidth: '1.5' },
-          o.createElement('path', {
-            strokeLinecap: 'round',
-            fill: 'none',
-            d: 'M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25',
-          }),
-          o.createElement('path', {
-            fill: 'none',
-            strokeLinecap: 'round',
-            d: 'M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0',
-          }),
-          o.createElement('circle', {
-            fill: 'none',
-            strokeMiterlimit: '10',
-            cx: '12',
-            cy: '12',
-            r: '11.25',
-          }),
-        ),
-      })
-      t.QuestionOutlineIcon = a
-    },
-    46889: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.RepeatIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'RepeatIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M10.319,4.936a7.239,7.239,0,0,1,7.1,2.252,1.25,1.25,0,1,0,1.872-1.657A9.737,9.737,0,0,0,9.743,2.5,10.269,10.269,0,0,0,2.378,9.61a.249.249,0,0,1-.271.178l-1.033-.13A.491.491,0,0,0,.6,9.877a.5.5,0,0,0-.019.526l2.476,4.342a.5.5,0,0,0,.373.248.43.43,0,0,0,.062,0,.5.5,0,0,0,.359-.152l3.477-3.593a.5.5,0,0,0-.3-.844L5.15,10.172a.25.25,0,0,1-.2-.333A7.7,7.7,0,0,1,10.319,4.936Z',
-          }),
-          o.createElement('path', {
-            d: 'M23.406,14.1a.5.5,0,0,0,.015-.526l-2.5-4.329A.5.5,0,0,0,20.546,9a.489.489,0,0,0-.421.151l-3.456,3.614a.5.5,0,0,0,.3.842l1.848.221a.249.249,0,0,1,.183.117.253.253,0,0,1,.023.216,7.688,7.688,0,0,1-5.369,4.9,7.243,7.243,0,0,1-7.1-2.253,1.25,1.25,0,1,0-1.872,1.656,9.74,9.74,0,0,0,9.549,3.03,10.261,10.261,0,0,0,7.369-7.12.251.251,0,0,1,.27-.179l1.058.127a.422.422,0,0,0,.06,0A.5.5,0,0,0,23.406,14.1Z',
-          }),
-        ),
-      })
-      t.RepeatIcon = a
-    },
-    46364: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.RepeatClockIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'RepeatClockIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z',
-          }),
-          o.createElement('path', {
-            d: 'M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z',
-          }),
-        ),
-      })
-      t.RepeatClockIcon = a
-    },
-    43761: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SearchIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M23.384,21.619,16.855,15.09a9.284,9.284,0,1,0-1.768,1.768l6.529,6.529a1.266,1.266,0,0,0,1.768,0A1.251,1.251,0,0,0,23.384,21.619ZM2.75,9.5a6.75,6.75,0,1,1,6.75,6.75A6.758,6.758,0,0,1,2.75,9.5Z',
-        displayName: 'SearchIcon',
-      })
-      t.SearchIcon = r
-    },
-    66264: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Search2Icon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M23.414,20.591l-4.645-4.645a10.256,10.256,0,1,0-2.828,2.829l4.645,4.644a2.025,2.025,0,0,0,2.828,0A2,2,0,0,0,23.414,20.591ZM10.25,3.005A7.25,7.25,0,1,1,3,10.255,7.258,7.258,0,0,1,10.25,3.005Z',
-        displayName: 'Search2Icon',
-      })
-      t.Search2Icon = r
-    },
-    11375: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SettingsIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        viewBox: '0 0 14 14',
-        d: 'M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z',
-        displayName: 'SettingsIcon',
-      })
-      t.SettingsIcon = r
-    },
-    23961: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SmallAddIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'SmallAddIcon',
-        viewBox: '0 0 20 20',
-        path: o.createElement('path', {
-          fill: 'currentColor',
-          d: 'M14 9h-3V6c0-.55-.45-1-1-1s-1 .45-1 1v3H6c-.55 0-1 .45-1 1s.45 1 1 1h3v3c0 .55.45 1 1 1s1-.45 1-1v-3h3c.55 0 1-.45 1-1s-.45-1-1-1z',
-          fillRule: 'evenodd',
-        }),
-      })
-      t.SmallAddIcon = a
-    },
-    2746: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SmallCloseIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'SmallCloseIcon',
-        viewBox: '0 0 16 16',
-        path: o.createElement('path', {
-          d: 'M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z',
-          fillRule: 'evenodd',
-          fill: 'currentColor',
-        }),
-      })
-      t.SmallCloseIcon = a
-    },
-    28317: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SpinnerIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'SpinnerIcon',
-        path: o.createElement(
-          o.Fragment,
-          null,
-          o.createElement(
-            'defs',
-            null,
-            o.createElement(
-              'linearGradient',
-              { x1: '28.154%', y1: '63.74%', x2: '74.629%', y2: '17.783%', id: 'a' },
-              o.createElement('stop', { stopColor: 'currentColor', offset: '0%' }),
-              o.createElement('stop', { stopColor: '#fff', stopOpacity: '0', offset: '100%' }),
-            ),
-          ),
-          o.createElement(
-            'g',
-            { transform: 'translate(2)', fill: 'none' },
-            o.createElement('circle', {
-              stroke: 'url(#a)',
-              strokeWidth: '4',
-              cx: '10',
-              cy: '12',
-              r: '10',
-            }),
-            o.createElement('path', {
-              d: 'M10 2C4.477 2 0 6.477 0 12',
-              stroke: 'currentColor',
-              strokeWidth: '4',
-            }),
-            o.createElement('rect', {
-              fill: 'currentColor',
-              x: '8',
-              width: '4',
-              height: '4',
-              rx: '8',
-            }),
-          ),
-        ),
-      })
-      t.SpinnerIcon = a
-    },
-    82190: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.StarIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z',
-        displayName: 'StarIcon',
-      })
-      t.StarIcon = r
-    },
-    71033: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SunIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'SunIcon',
-        path: o.createElement(
-          'g',
-          {
-            strokeLinejoin: 'round',
-            strokeLinecap: 'round',
-            strokeWidth: '2',
-            fill: 'none',
-            stroke: 'currentColor',
-          },
-          o.createElement('circle', { cx: '12', cy: '12', r: '5' }),
-          o.createElement('path', { d: 'M12 1v2' }),
-          o.createElement('path', { d: 'M12 21v2' }),
-          o.createElement('path', { d: 'M4.22 4.22l1.42 1.42' }),
-          o.createElement('path', { d: 'M18.36 18.36l1.42 1.42' }),
-          o.createElement('path', { d: 'M1 12h2' }),
-          o.createElement('path', { d: 'M21 12h2' }),
-          o.createElement('path', { d: 'M4.22 19.78l1.42-1.42' }),
-          o.createElement('path', { d: 'M18.36 5.64l1.42-1.42' }),
-        ),
-      })
-      t.SunIcon = a
-    },
-    40430: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.TimeIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'TimeIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z',
-          }),
-          o.createElement('path', {
-            d: 'M17.134,15.81,12.5,11.561V6.5a1,1,0,0,0-2,0V12a1,1,0,0,0,.324.738l4.959,4.545a1.01,1.01,0,0,0,1.413-.061A1,1,0,0,0,17.134,15.81Z',
-          }),
-        ),
-      })
-      t.TimeIcon = a
-    },
-    33670: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.TriangleDownIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z',
-        displayName: 'TriangleDownIcon',
-      })
-      t.TriangleDownIcon = r
-    },
-    27258: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.TriangleUpIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z',
-        displayName: 'TriangleUpIcon',
-      })
-      t.TriangleUpIcon = r
-    },
-    82125: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.UnlockIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M19.5,9.5h-.75V6.75A6.751,6.751,0,0,0,5.533,4.811a1.25,1.25,0,1,0,2.395.717A4.251,4.251,0,0,1,16.25,6.75V9a.5.5,0,0,1-.5.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5Z',
-        displayName: 'UnlockIcon',
-      })
-      t.UnlockIcon = r
-    },
-    48690: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.UpDownIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'UpDownIcon',
-        viewBox: '-1 -1 9 11',
-        d: 'M 3.5 0L 3.98809 -0.569442L 3.5 -0.987808L 3.01191 -0.569442L 3.5 0ZM 3.5 9L 3.01191 9.56944L 3.5 9.98781L 3.98809 9.56944L 3.5 9ZM 0.488094 3.56944L 3.98809 0.569442L 3.01191 -0.569442L -0.488094 2.43056L 0.488094 3.56944ZM 3.01191 0.569442L 6.51191 3.56944L 7.48809 2.43056L 3.98809 -0.569442L 3.01191 0.569442ZM -0.488094 6.56944L 3.01191 9.56944L 3.98809 8.43056L 0.488094 5.43056L -0.488094 6.56944ZM 3.98809 9.56944L 7.48809 6.56944L 6.51191 5.43056L 3.01191 8.43056L 3.98809 9.56944Z',
-      })
-      t.UpDownIcon = r
-    },
-    74624: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ViewIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'ViewIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z',
-          }),
-          o.createElement('circle', { cx: '12', cy: '12', r: '2' }),
-        ),
-      })
-      t.ViewIcon = a
-    },
-    25766: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ViewOffIcon = void 0)
-      var r = n(29559),
-        o = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = i()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = (0, r.createIcon)({
-        displayName: 'ViewOffIcon',
-        path: o.createElement(
-          'g',
-          { fill: 'currentColor' },
-          o.createElement('path', {
-            d: 'M23.2,10.549a20.954,20.954,0,0,0-4.3-3.6l4-3.995a1,1,0,1,0-1.414-1.414l-.018.018a.737.737,0,0,1-.173.291l-19.5,19.5c-.008.007-.018.009-.026.017a1,1,0,0,0,1.631,1.088l4.146-4.146a11.26,11.26,0,0,0,4.31.939h.3c4.256,0,8.489-2.984,11.051-5.8A2.171,2.171,0,0,0,23.2,10.549ZM16.313,13.27a4.581,4.581,0,0,1-3,3.028,4.3,4.3,0,0,1-3.1-.19.253.253,0,0,1-.068-.407l5.56-5.559a.252.252,0,0,1,.407.067A4.3,4.3,0,0,1,16.313,13.27Z',
-          }),
-          o.createElement('path', {
-            d: 'M7.615,13.4a.244.244,0,0,0,.061-.24A4.315,4.315,0,0,1,7.5,12,4.5,4.5,0,0,1,12,7.5a4.276,4.276,0,0,1,1.16.173.244.244,0,0,0,.24-.062l1.941-1.942a.254.254,0,0,0-.1-.421A10.413,10.413,0,0,0,12,4.75C7.7,4.692,3.4,7.7.813,10.549a2.15,2.15,0,0,0-.007,2.9,21.209,21.209,0,0,0,3.438,3.03.256.256,0,0,0,.326-.029Z',
-          }),
-        ),
-      })
-      t.ViewOffIcon = a
-    },
-    7265: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.WarningIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        d: 'M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z',
-        displayName: 'WarningIcon',
-      })
-      t.WarningIcon = r
-    },
-    34237: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.WarningTwoIcon = void 0)
-      var r = (0, n(29559).createIcon)({
-        displayName: 'WarningTwoIcon',
-        d: 'M23.119,20,13.772,2.15h0a2,2,0,0,0-3.543,0L.881,20a2,2,0,0,0,1.772,2.928H21.347A2,2,0,0,0,23.119,20ZM11,8.423a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Zm1.05,11.51h-.028a1.528,1.528,0,0,1-1.522-1.47,1.476,1.476,0,0,1,1.448-1.53h.028A1.527,1.527,0,0,1,13.5,18.4,1.475,1.475,0,0,1,12.05,19.933Z',
-      })
-      t.WarningTwoIcon = r
-    },
-    71018: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(68789)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(43761)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(66264)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(38054)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(71033)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(79095)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(23961)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(11375)
-      Object.keys(l).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === l[e]) || (t[e] = l[e]))
-      })
-      var d = n(91204)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(81971)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(82125)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(74624)
-      Object.keys(p).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === p[e]) || (t[e] = p[e]))
-      })
-      var v = n(25766)
-      Object.keys(v).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === v[e]) || (t[e] = v[e]))
-      })
-      var m = n(5013)
-      Object.keys(m).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === m[e]) || (t[e] = m[e]))
-      })
-      var g = n(60915)
-      Object.keys(g).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === g[e]) || (t[e] = g[e]))
-      })
-      var y = n(46889)
-      Object.keys(y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === y[e]) || (t[e] = y[e]))
-      })
-      var b = n(46364)
-      Object.keys(b).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === b[e]) || (t[e] = b[e]))
-      })
-      var w = n(27915)
-      Object.keys(w).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === w[e]) || (t[e] = w[e]))
-      })
-      var _ = n(65128)
-      Object.keys(_).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === _[e]) || (t[e] = _[e]))
-      })
-      var x = n(7659)
-      Object.keys(x).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === x[e]) || (t[e] = x[e]))
-      })
-      var k = n(62628)
-      Object.keys(k).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === k[e]) || (t[e] = k[e]))
-      })
-      var E = n(48959)
-      Object.keys(E).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === E[e]) || (t[e] = E[e]))
-      })
-      var O = n(41725)
-      Object.keys(O).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === O[e]) || (t[e] = O[e]))
-      })
-      var T = n(75616)
-      Object.keys(T).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === T[e]) || (t[e] = T[e]))
-      })
-      var C = n(38677)
-      Object.keys(C).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === C[e]) || (t[e] = C[e]))
-      })
-      var M = n(94707)
-      Object.keys(M).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === M[e]) || (t[e] = M[e]))
-      })
-      var S = n(16748)
-      Object.keys(S).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === S[e]) || (t[e] = S[e]))
-      })
-      var P = n(59096)
-      Object.keys(P).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === P[e]) || (t[e] = P[e]))
-      })
-      var j = n(25929)
-      Object.keys(j).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === j[e]) || (t[e] = j[e]))
-      })
-      var I = n(12779)
-      Object.keys(I).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === I[e]) || (t[e] = I[e]))
-      })
-      var A = n(51713)
-      Object.keys(A).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === A[e]) || (t[e] = A[e]))
-      })
-      var R = n(92547)
-      Object.keys(R).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === R[e]) || (t[e] = R[e]))
-      })
-      var D = n(40430)
-      Object.keys(D).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === D[e]) || (t[e] = D[e]))
-      })
-      var L = n(57243)
-      Object.keys(L).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === L[e]) || (t[e] = L[e]))
-      })
-      var N = n(30820)
-      Object.keys(N).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === N[e]) || (t[e] = N[e]))
-      })
-      var z = n(64551)
-      Object.keys(z).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === z[e]) || (t[e] = z[e]))
-      })
-      var B = n(78281)
-      Object.keys(B).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === B[e]) || (t[e] = B[e]))
-      })
-      var H = n(48690)
-      Object.keys(H).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === H[e]) || (t[e] = H[e]))
-      })
-      var F = n(82190)
-      Object.keys(F).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === F[e]) || (t[e] = F[e]))
-      })
-      var V = n(9079)
-      Object.keys(V).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === V[e]) || (t[e] = V[e]))
-      })
-      var W = n(98271)
-      Object.keys(W).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === W[e]) || (t[e] = W[e]))
-      })
-      var U = n(54411)
-      Object.keys(U).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === U[e]) || (t[e] = U[e]))
-      })
-      var G = n(28317)
-      Object.keys(G).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === G[e]) || (t[e] = G[e]))
-      })
-      var q = n(34066)
-      Object.keys(q).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === q[e]) || (t[e] = q[e]))
-      })
-      var K = n(2746)
-      Object.keys(K).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === K[e]) || (t[e] = K[e]))
-      })
-      var Z = n(7846)
-      Object.keys(Z).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === Z[e]) || (t[e] = Z[e]))
-      })
-      var X = n(33670)
-      Object.keys(X).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === X[e]) || (t[e] = X[e]))
-      })
-      var $ = n(27258)
-      Object.keys($).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === $[e]) || (t[e] = $[e]))
-      })
-      var Y = n(20883)
-      Object.keys(Y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === Y[e]) || (t[e] = Y[e]))
-      })
-      var Q = n(94688)
-      Object.keys(Q).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === Q[e]) || (t[e] = Q[e]))
-      })
-      var J = n(49537)
-      Object.keys(J).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === J[e]) || (t[e] = J[e]))
-      })
-      var ee = n(93942)
-      Object.keys(ee).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === ee[e]) || (t[e] = ee[e]))
-      })
-      var te = n(43370)
-      Object.keys(te).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === te[e]) || (t[e] = te[e]))
-      })
-      var ne = n(7265)
-      Object.keys(ne).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === ne[e]) || (t[e] = ne[e]))
-      })
-      var re = n(34237)
-      Object.keys(re).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === re[e]) || (t[e] = re[e]))
-      })
-      var oe = n(26324)
-      Object.keys(oe).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === oe[e]) || (t[e] = oe[e]))
-      })
-      var ie = n(49888)
-      Object.keys(ie).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === ie[e]) || (t[e] = ie[e]))
-      })
-      var ae = n(14122)
-      Object.keys(ae).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === ae[e]) || (t[e] = ae[e]))
-      })
-      var se = n(29559)
-      Object.keys(se).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === se[e]) || (t[e] = se[e]))
-      })
-    },
-    93441: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        L: function () {
-          return i
-        },
-      })
-      var r = n(89867),
-        o = n(67294),
-        i = (0, r.I)({
-          displayName: 'ArrowRightIcon',
-          path: o.createElement(
-            'g',
-            { fill: 'currentColor' },
-            o.createElement('path', {
-              d: 'M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z',
-            }),
-            o.createElement('path', {
-              d: 'M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z',
-            }),
-          ),
-        })
-    },
-    6569: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        v: function () {
-          return r
-        },
-      })
-      var r = (0, n(89867).I)({
-        displayName: 'ChevronDownIcon',
-        d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
-      })
-    },
-    48931: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        T: function () {
-          return r
-        },
-      })
-      var r = (0, n(89867).I)({
-        displayName: 'CloseIcon',
-        d: 'M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z',
-      })
-    },
-    2827: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        p: function () {
-          return i
-        },
-      })
-      var r = n(89867),
-        o = n(67294),
-        i = (0, r.I)({
-          displayName: 'DeleteIcon',
-          path: o.createElement(
-            'g',
-            { fill: 'currentColor' },
-            o.createElement('path', {
-              d: 'M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z',
-            }),
-          ),
-        })
-    },
-    24189: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        h: function () {
-          return i
-        },
-      })
-      var r = n(89867),
-        o = n(67294),
-        i = (0, r.I)({
-          displayName: 'InfoOutlineIcon',
-          path: o.createElement(
-            'g',
-            {
-              fill: 'currentColor',
-              stroke: 'currentColor',
-              strokeLinecap: 'square',
-              strokeWidth: '2',
-            },
-            o.createElement('circle', {
-              cx: '12',
-              cy: '12',
-              fill: 'none',
-              r: '11',
-              stroke: 'currentColor',
-            }),
-            o.createElement('line', {
-              fill: 'none',
-              x1: '11.959',
-              x2: '11.959',
-              y1: '11',
-              y2: '17',
-            }),
-            o.createElement('circle', { cx: '11.959', cy: '7', r: '1', stroke: 'none' }),
-          ),
-        })
-    },
-    67546: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        n: function () {
-          return i
-        },
-      })
-      var r = n(89867),
-        o = n(67294),
-        i = (0, r.I)({
-          displayName: 'RepeatIcon',
-          path: o.createElement(
-            'g',
-            { fill: 'currentColor' },
-            o.createElement('path', {
-              d: 'M10.319,4.936a7.239,7.239,0,0,1,7.1,2.252,1.25,1.25,0,1,0,1.872-1.657A9.737,9.737,0,0,0,9.743,2.5,10.269,10.269,0,0,0,2.378,9.61a.249.249,0,0,1-.271.178l-1.033-.13A.491.491,0,0,0,.6,9.877a.5.5,0,0,0-.019.526l2.476,4.342a.5.5,0,0,0,.373.248.43.43,0,0,0,.062,0,.5.5,0,0,0,.359-.152l3.477-3.593a.5.5,0,0,0-.3-.844L5.15,10.172a.25.25,0,0,1-.2-.333A7.7,7.7,0,0,1,10.319,4.936Z',
-            }),
-            o.createElement('path', {
-              d: 'M23.406,14.1a.5.5,0,0,0,.015-.526l-2.5-4.329A.5.5,0,0,0,20.546,9a.489.489,0,0,0-.421.151l-3.456,3.614a.5.5,0,0,0,.3.842l1.848.221a.249.249,0,0,1,.183.117.253.253,0,0,1,.023.216,7.688,7.688,0,0,1-5.369,4.9,7.243,7.243,0,0,1-7.1-2.253,1.25,1.25,0,1,0-1.872,1.656,9.74,9.74,0,0,0,9.549,3.03,10.261,10.261,0,0,0,7.369-7.12.251.251,0,0,1,.27-.179l1.058.127a.422.422,0,0,0,.06,0A.5.5,0,0,0,23.406,14.1Z',
-            }),
-          ),
-        })
-    },
-    83986: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        A: function () {
-          return i
-        },
-      })
-      var r = n(89867),
-        o = n(67294),
-        i = (0, r.I)({
-          displayName: 'RepeatClockIcon',
-          path: o.createElement(
-            'g',
-            { fill: 'currentColor' },
-            o.createElement('path', {
-              d: 'M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z',
-            }),
-            o.createElement('path', {
-              d: 'M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z',
-            }),
-          ),
-        })
-    },
-    93924: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        e: function () {
-          return r
-        },
-      })
-      var r = (0, n(89867).I)({
-        viewBox: '0 0 14 14',
-        d: 'M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z',
-        displayName: 'SettingsIcon',
-      })
-    },
-    87409: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(35236)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(8471)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(89216)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(52832)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-    },
-    8471: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.InputRightAddon = t.InputLeftAddon = t.InputAddon = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = {
-          left: { marginEnd: '-1px', borderEndRadius: 0, borderEndColor: 'transparent' },
-          right: { marginStart: '-1px', borderStartRadius: 0, borderStartColor: 'transparent' },
-        },
-        c = (0, r.chakra)('div', {
-          baseStyle: {
-            flex: '0 0 auto',
-            width: 'auto',
-            display: 'flex',
-            alignItems: 'center',
-            whiteSpace: 'nowrap',
-          },
-        }),
-        l = (0, r.forwardRef)(function (e, t) {
-          var n,
-            o = e.placement,
-            a = void 0 === o ? 'left' : o,
-            l = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, ['placement']),
-            d = null != (n = u[a]) ? n : {},
-            f = (0, r.useStyles)()
-          return i.createElement(c, s({ ref: t }, l, { __css: s({}, f.addon, d) }))
-        })
-      ;(t.InputAddon = l), o.__DEV__ && (l.displayName = 'InputAddon')
-      var d = (0, r.forwardRef)(function (e, t) {
-        return i.createElement(
-          l,
-          s({ ref: t, placement: 'left' }, e, {
-            className: (0, o.cx)('chakra-input__left-addon', e.className),
-          }),
-        )
-      })
-      ;(t.InputLeftAddon = d),
-        o.__DEV__ && (d.displayName = 'InputLeftAddon'),
-        (d.id = 'InputLeftAddon')
-      var f = (0, r.forwardRef)(function (e, t) {
-        return i.createElement(
-          l,
-          s({ ref: t, placement: 'right' }, e, {
-            className: (0, o.cx)('chakra-input__right-addon', e.className),
-          }),
-        )
-      })
-      ;(t.InputRightAddon = f),
-        o.__DEV__ && (f.displayName = 'InputRightAddon'),
-        (f.id = 'InputRightAddon')
-    },
-    52832: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.InputRightElement = t.InputLeftElement = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.chakra)('div', {
-          baseStyle: {
-            display: 'flex',
-            alignItems: 'center',
-            justifyContent: 'center',
-            position: 'absolute',
-            top: '0',
-            zIndex: 2,
-          },
-        }),
-        l = (0, r.forwardRef)(function (e, t) {
-          var n,
-            o,
-            a,
-            l = e.placement,
-            d = void 0 === l ? 'left' : l,
-            f = u(e, ['placement']),
-            h = (0, r.useStyles)().field,
-            p =
-              (((a = {})['left' === d ? 'insetStart' : 'insetEnd'] = '0'),
-              (a.width =
-                null != (n = null == h ? void 0 : h.height) ? n : null == h ? void 0 : h.h),
-              (a.height =
-                null != (o = null == h ? void 0 : h.height) ? o : null == h ? void 0 : h.h),
-              (a.fontSize = null == h ? void 0 : h.fontSize),
-              a)
-          return i.createElement(c, s({ ref: t, __css: p }, f))
-        })
-      ;(l.id = 'InputElement'), o.__DEV__ && (l.displayName = 'InputElement')
-      var d = (0, r.forwardRef)(function (e, t) {
-        var n = e.className,
-          r = u(e, ['className']),
-          a = (0, o.cx)('chakra-input__left-element', n)
-        return i.createElement(l, s({ ref: t, placement: 'left', className: a }, r))
-      })
-      ;(t.InputLeftElement = d),
-        (d.id = 'InputLeftElement'),
-        o.__DEV__ && (d.displayName = 'InputLeftElement')
-      var f = (0, r.forwardRef)(function (e, t) {
-        var n = e.className,
-          r = u(e, ['className']),
-          a = (0, o.cx)('chakra-input__right-element', n)
-        return i.createElement(l, s({ ref: t, placement: 'right', className: a }, r))
-      })
-      ;(t.InputRightElement = f),
-        (f.id = 'InputRightElement'),
-        o.__DEV__ && (f.displayName = 'InputRightElement')
-    },
-    89216: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.InputGroup = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = n(19277),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useMultiStyleConfig)('Input', e),
-          s = (0, r.omitThemingProps)(e),
-          c = s.children,
-          l = s.className,
-          d = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(s, ['children', 'className']),
-          f = (0, o.cx)('chakra-input__group', l),
-          h = {},
-          p = (0, i.getValidChildren)(c),
-          v = n.field
-        p.forEach(function (e) {
-          if (n) {
-            var t, r
-            if (v && 'InputLeftElement' === e.type.id)
-              h.paddingStart = null != (t = v.height) ? t : v.h
-            if (v && 'InputRightElement' === e.type.id)
-              h.paddingEnd = null != (r = v.height) ? r : v.h
-            'InputRightAddon' === e.type.id && (h.borderEndRadius = 0),
-              'InputLeftAddon' === e.type.id && (h.borderStartRadius = 0)
-          }
-        })
-        var m = p.map(function (t) {
-          var n,
-            r,
-            o = {
-              size: (null == (n = t.props) ? void 0 : n.size) || e.size,
-              variant: (null == (r = t.props) ? void 0 : r.variant) || e.variant,
-            }
-          return 'Input' !== t.type.id
-            ? a.cloneElement(t, o)
-            : a.cloneElement(t, Object.assign(o, h, t.props))
-        })
-        return a.createElement(
-          r.chakra.div,
-          u(
-            {
-              className: f,
-              ref: t,
-              __css: { width: '100%', display: 'flex', position: 'relative' },
-            },
-            d,
-          ),
-          a.createElement(r.StylesProvider, { value: n }, m),
-        )
-      })
-      ;(t.InputGroup = c), o.__DEV__ && (c.displayName = 'InputGroup')
-    },
-    35236: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Input = void 0)
-      var r = n(88323),
-        o = n(48121),
-        i = n(66751),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useMultiStyleConfig)('Input', e),
-          s = (0, o.omitThemingProps)(e),
-          c = (0, r.useFormControl)(s),
-          l = (0, i.cx)('chakra-input', e.className)
-        return a.createElement(o.chakra.input, u({}, c, { __css: n.field, ref: t, className: l }))
-      })
-      ;(t.Input = c), i.__DEV__ && (c.displayName = 'Input'), (c.id = 'Input')
-    },
-    74770: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.AspectRatio = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = e.ratio,
-          a = void 0 === n ? 4 / 3 : n,
-          u = e.children,
-          c = e.className,
-          l = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['ratio', 'children', 'className']),
-          d = i.Children.only(u),
-          f = (0, o.cx)('chakra-aspect-ratio', c)
-        return i.createElement(
-          r.chakra.div,
-          s(
-            {
-              ref: t,
-              position: 'relative',
-              className: f,
-              _before: {
-                height: 0,
-                content: '""',
-                display: 'block',
-                paddingBottom: (0, o.mapResponsive)(a, function (e) {
-                  return (1 / e) * 100 + '%'
-                }),
-              },
-              __css: {
-                '& > *:not(style)': {
-                  overflow: 'hidden',
-                  position: 'absolute',
-                  top: '0',
-                  right: '0',
-                  bottom: '0',
-                  left: '0',
-                  display: 'flex',
-                  justifyContent: 'center',
-                  alignItems: 'center',
-                  width: '100%',
-                  height: '100%',
-                },
-                '& > img, & > video': { objectFit: 'cover' },
-              },
-            },
-            l,
-          ),
-          d,
-        )
-      })
-      ;(t.AspectRatio = u), o.__DEV__ && (u.displayName = 'AspectRatio')
-    },
-    63061: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Badge = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Badge', e),
-          a = (0, r.omitThemingProps)(e),
-          u =
-            (a.className,
-            (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(a, ['className']))
-        return i.createElement(
-          r.chakra.span,
-          s({ ref: t, className: (0, o.cx)('chakra-badge', e.className) }, u, {
-            __css: s({ display: 'inline-block', whiteSpace: 'nowrap', verticalAlign: 'middle' }, n),
-          }),
-        )
-      })
-      ;(t.Badge = u), o.__DEV__ && (u.displayName = 'Badge')
-    },
-    26932: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Circle = t.Square = t.Box = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.chakra)('div')
-      ;(t.Box = c), o.__DEV__ && (c.displayName = 'Box')
-      var l = (0, r.forwardRef)(function (e, t) {
-        var n = e.size,
-          r = e.centerContent,
-          o = void 0 === r || r,
-          a = u(e, ['size', 'centerContent']),
-          l = o ? { display: 'flex', alignItems: 'center', justifyContent: 'center' } : {}
-        return i.createElement(
-          c,
-          s({ ref: t, boxSize: n, __css: s({}, l, { flexShrink: 0, flexGrow: 0 }) }, a),
-        )
-      })
-      ;(t.Square = l), o.__DEV__ && (l.displayName = 'Square')
-      var d = (0, r.forwardRef)(function (e, t) {
-        var n = e.size,
-          r = u(e, ['size'])
-        return i.createElement(l, s({ size: n, ref: t, borderRadius: '9999px' }, r))
-      })
-      ;(t.Circle = d), o.__DEV__ && (d.displayName = 'Circle')
-    },
-    21184: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.AbsoluteCenter = t.Center = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.chakra)('div', {
-        baseStyle: { display: 'flex', alignItems: 'center', justifyContent: 'center' },
-      })
-      ;(t.Center = u), o.__DEV__ && (u.displayName = 'Center')
-      var c = {
-          horizontal: { insetStart: '50%', transform: 'translateX(-50%)' },
-          vertical: { top: '50%', transform: 'translateY(-50%)' },
-          both: { insetStart: '50%', top: '50%', transform: 'translate(-50%, -50%)' },
-        },
-        l = (0, r.forwardRef)(function (e, t) {
-          var n = e.axis,
-            o = void 0 === n ? 'both' : n,
-            a = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, ['axis'])
-          return i.createElement(
-            r.chakra.div,
-            s({ ref: t, __css: c[o] }, a, { position: 'absolute' }),
-          )
-        })
-      t.AbsoluteCenter = l
-    },
-    9754: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Code = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Code', e),
-          a = (0, r.omitThemingProps)(e),
-          u =
-            (a.className,
-            (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(a, ['className']))
-        return i.createElement(
-          r.chakra.code,
-          s({ ref: t, className: (0, o.cx)('chakra-code', e.className) }, u, {
-            __css: s({ display: 'inline-block' }, n),
-          }),
-        )
-      })
-      ;(t.Code = u), o.__DEV__ && (u.displayName = 'Code')
-    },
-    28210: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Container = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.omitThemingProps)(e),
-          a = n.className,
-          u = n.centerContent,
-          c = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(n, ['className', 'centerContent']),
-          l = (0, r.useStyleConfig)('Container', e)
-        return i.createElement(
-          r.chakra.div,
-          s({ ref: t, className: (0, o.cx)('chakra-container', a) }, c, {
-            __css: s(
-              {},
-              l,
-              u && { display: 'flex', flexDirection: 'column', alignItems: 'center' },
-            ),
-          }),
-        )
-      })
-      ;(t.Container = u), o.__DEV__ && (u.displayName = 'Container')
-    },
-    43698: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Divider = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Divider', e),
-          a = n.borderLeftWidth,
-          c = n.borderBottomWidth,
-          l = n.borderTopWidth,
-          d = n.borderRightWidth,
-          f = n.borderWidth,
-          h = n.borderStyle,
-          p = n.borderColor,
-          v = u(n, [
-            'borderLeftWidth',
-            'borderBottomWidth',
-            'borderTopWidth',
-            'borderRightWidth',
-            'borderWidth',
-            'borderStyle',
-            'borderColor',
-          ]),
-          m = (0, r.omitThemingProps)(e),
-          g = m.className,
-          y = m.orientation,
-          b = void 0 === y ? 'horizontal' : y,
-          w = m.__css,
-          _ = u(m, ['className', 'orientation', '__css']),
-          x = {
-            vertical: { borderLeftWidth: a || d || f || '1px', height: '100%' },
-            horizontal: { borderBottomWidth: c || l || f || '1px', width: '100%' },
-          }
-        return i.createElement(
-          r.chakra.hr,
-          s({ ref: t, 'aria-orientation': b }, _, {
-            __css: s({}, v, { border: '0', borderColor: p, borderStyle: h }, x[b], w),
-            className: (0, o.cx)('chakra-divider', g),
-          }),
-        )
-      })
-      ;(t.Divider = c), o.__DEV__ && (c.displayName = 'Divider')
-    },
-    87481: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Flex = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = e.direction,
-          o = e.align,
-          a = e.justify,
-          u = e.wrap,
-          c = e.basis,
-          l = e.grow,
-          d = e.shrink,
-          f = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['direction', 'align', 'justify', 'wrap', 'basis', 'grow', 'shrink']),
-          h = {
-            display: 'flex',
-            flexDirection: n,
-            alignItems: o,
-            justifyContent: a,
-            flexWrap: u,
-            flexBasis: c,
-            flexGrow: l,
-            flexShrink: d,
-          }
-        return i.createElement(r.chakra.div, s({ ref: t, __css: h }, f))
-      })
-      ;(t.Flex = u), o.__DEV__ && (u.displayName = 'Flex')
-    },
-    51870: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.GridItem = t.Grid = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = e.area,
-          o = e.templateAreas,
-          a = e.gap,
-          c = e.rowGap,
-          l = e.columnGap,
-          d = e.column,
-          f = e.row,
-          h = e.autoFlow,
-          p = e.autoRows,
-          v = e.templateRows,
-          m = e.autoColumns,
-          g = e.templateColumns,
-          y = u(e, [
-            'area',
-            'templateAreas',
-            'gap',
-            'rowGap',
-            'columnGap',
-            'column',
-            'row',
-            'autoFlow',
-            'autoRows',
-            'templateRows',
-            'autoColumns',
-            'templateColumns',
-          ]),
-          b = {
-            display: 'grid',
-            gridArea: n,
-            gridTemplateAreas: o,
-            gridGap: a,
-            gridRowGap: c,
-            gridColumnGap: l,
-            gridAutoColumns: m,
-            gridColumn: d,
-            gridRow: f,
-            gridAutoFlow: h,
-            gridAutoRows: p,
-            gridTemplateRows: v,
-            gridTemplateColumns: g,
-          }
-        return i.createElement(r.chakra.div, s({ ref: t, __css: b }, y))
-      })
-      function l(e) {
-        return (0, o.mapResponsive)(e, function (e) {
-          return 'auto' === e ? 'auto' : 'span ' + e + '/span ' + e
-        })
-      }
-      ;(t.Grid = c), o.__DEV__ && (c.displayName = 'Grid')
-      var d = (0, r.forwardRef)(function (e, t) {
-        var n = e.colSpan,
-          a = e.colStart,
-          c = e.colEnd,
-          d = e.rowEnd,
-          f = e.rowSpan,
-          h = e.rowStart,
-          p = u(e, ['colSpan', 'colStart', 'colEnd', 'rowEnd', 'rowSpan', 'rowStart']),
-          v = (0, o.filterUndefined)({
-            gridColumn: l(n),
-            gridRow: l(f),
-            gridColumnStart: a,
-            gridColumnEnd: c,
-            gridRowStart: h,
-            gridRowEnd: d,
-          })
-        return i.createElement(r.chakra.div, s({ ref: t, __css: v }, p))
-      })
-      t.GridItem = d
-    },
-    6813: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Heading = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Heading', e),
-          a = (0, r.omitThemingProps)(e),
-          u =
-            (a.className,
-            (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(a, ['className']))
-        return i.createElement(
-          r.chakra.h2,
-          s({ ref: t, className: (0, o.cx)('chakra-heading', e.className) }, u, { __css: n }),
-        )
-      })
-      ;(t.Heading = u), o.__DEV__ && (u.displayName = 'Heading')
-    },
-    11487: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(74770)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(63061)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(26932)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(21184)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(9754)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(28210)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(43698)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(87481)
-      Object.keys(l).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === l[e]) || (t[e] = l[e]))
-      })
-      var d = n(51870)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(6813)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(12947)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(6976)
-      Object.keys(p).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === p[e]) || (t[e] = p[e]))
-      })
-      var v = n(72755)
-      Object.keys(v).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === v[e]) || (t[e] = v[e]))
-      })
-      var m = n(6293)
-      Object.keys(m).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === m[e]) || (t[e] = m[e]))
-      })
-      var g = n(7133)
-      Object.keys(g).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === g[e]) || (t[e] = g[e]))
-      })
-      var y = n(96030)
-      Object.keys(y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === y[e]) || (t[e] = y[e]))
-      })
-      var b = n(80434)
-      Object.keys(b).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === b[e]) || (t[e] = b[e]))
-      })
-      var w = n(88189)
-      Object.keys(w).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === w[e]) || (t[e] = w[e]))
-      })
-      var _ = n(41525)
-      Object.keys(_).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === _[e]) || (t[e] = _[e]))
-      })
-    },
-    12947: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Kbd = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Kbd', e),
-          a = (0, r.omitThemingProps)(e),
-          u = a.className,
-          c = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(a, ['className'])
-        return i.createElement(
-          r.chakra.kbd,
-          s({ ref: t, className: (0, o.cx)('chakra-kbd', u) }, c, {
-            __css: s({ fontFamily: 'mono' }, n),
-          }),
-        )
-      })
-      ;(t.Kbd = u), o.__DEV__ && (u.displayName = 'Kbd')
-    },
-    41525: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.LinkBox = t.LinkOverlay = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = e.isExternal,
-          a = e.target,
-          c = e.rel,
-          l = e.className,
-          d = u(e, ['isExternal', 'target', 'rel', 'className'])
-        return i.createElement(
-          r.chakra.a,
-          s({}, d, {
-            ref: t,
-            className: (0, o.cx)('chakra-linkbox__overlay', l),
-            rel: n ? 'noopener noreferrer' : c,
-            target: n ? '_blank' : a,
-            __css: {
-              position: 'static',
-              '&::before': {
-                content: "''",
-                cursor: 'inherit',
-                display: 'block',
-                position: 'absolute',
-                top: 0,
-                left: 0,
-                zIndex: 0,
-                width: '100%',
-                height: '100%',
-              },
-            },
-          }),
-        )
-      })
-      t.LinkOverlay = c
-      var l = (0, r.forwardRef)(function (e, t) {
-        var n = e.className,
-          a = u(e, ['className'])
-        return i.createElement(
-          r.chakra.div,
-          s({ ref: t, position: 'relative' }, a, {
-            className: (0, o.cx)('chakra-linkbox', n),
-            __css: {
-              'a[href]:not(.chakra-linkbox__overlay), abbr[title]': {
-                position: 'relative',
-                zIndex: 1,
-              },
-            },
-          }),
-        )
-      })
-      t.LinkBox = l
-    },
-    6976: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Link = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Link', e),
-          a = (0, r.omitThemingProps)(e),
-          u = a.className,
-          c = a.isExternal,
-          l = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(a, ['className', 'isExternal'])
-        return i.createElement(
-          r.chakra.a,
-          s(
-            {
-              target: c ? '_blank' : void 0,
-              rel: c ? 'noopener noreferrer' : void 0,
-              ref: t,
-              className: (0, o.cx)('chakra-link', u),
-            },
-            l,
-            { __css: n },
-          ),
-        )
-      })
-      ;(t.Link = u), o.__DEV__ && (u.displayName = 'Link')
-    },
-    72755: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.ListIcon = t.ListItem = t.UnorderedList = t.OrderedList = t.List = void 0)
-      var r = n(29559),
-        o = n(48121),
-        i = n(66751),
-        a = n(19277),
-        s = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = u()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function u() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (u = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function c() {
-        return (c =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function l(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var d = (0, o.forwardRef)(function (e, t) {
-        var n,
-          r = (0, o.useMultiStyleConfig)('List', e),
-          i = (0, o.omitThemingProps)(e),
-          u = i.children,
-          d = i.styleType,
-          f = void 0 === d ? 'none' : d,
-          h = i.stylePosition,
-          p = i.spacing,
-          v = l(i, ['children', 'styleType', 'stylePosition', 'spacing']),
-          m = (0, a.getValidChildren)(u),
-          g = p ? (((n = {})['& > *:not(style) ~ *:not(style)'] = { mt: p }), n) : {}
-        return s.createElement(
-          o.StylesProvider,
-          { value: r },
-          s.createElement(
-            o.chakra.ul,
-            c(
-              {
-                ref: t,
-                listStyleType: f,
-                listStylePosition: h,
-                role: 'list',
-                __css: c({}, r.container, g),
-              },
-              v,
-            ),
-            m,
-          ),
-        )
-      })
-      ;(t.List = d), i.__DEV__ && (d.displayName = 'List')
-      var f = (0, o.forwardRef)(function (e, t) {
-        e.as
-        var n = l(e, ['as'])
-        return s.createElement(
-          d,
-          c({ ref: t, as: 'ol', styleType: 'decimal', marginStart: '1em' }, n),
-        )
-      })
-      ;(t.OrderedList = f), i.__DEV__ && (f.displayName = 'OrderedList')
-      var h = (0, o.forwardRef)(function (e, t) {
-        e.as
-        var n = l(e, ['as'])
-        return s.createElement(
-          d,
-          c({ ref: t, as: 'ul', styleType: 'initial', marginStart: '1em' }, n),
-        )
-      })
-      ;(t.UnorderedList = h), i.__DEV__ && (h.displayName = 'UnorderedList')
-      var p = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useStyles)()
-        return s.createElement(o.chakra.li, c({ ref: t }, e, { __css: n.item }))
-      })
-      ;(t.ListItem = p), i.__DEV__ && (p.displayName = 'ListItem')
-      var v = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useStyles)()
-        return s.createElement(r.Icon, c({ ref: t, role: 'presentation' }, e, { __css: n.icon }))
-      })
-      ;(t.ListIcon = v), i.__DEV__ && (v.displayName = 'ListIcon')
-    },
-    6293: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.SimpleGrid = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        a = n(51870)
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n,
-          r,
-          s = e.columns,
-          c = e.spacingX,
-          l = e.spacingY,
-          d = e.spacing,
-          f = e.minChildWidth,
-          h = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['columns', 'spacingX', 'spacingY', 'spacing', 'minChildWidth']),
-          p = f
-            ? ((r = f),
-              (0, o.mapResponsive)(r, function (e) {
-                return (0, o.isNull)(e)
-                  ? null
-                  : 'repeat(auto-fit, minmax(' +
-                      ((t = e), ((0, o.isNumber)(t) ? t + 'px' : t) + ', 1fr))')
-                var t
-              }))
-            : ((n = s),
-              (0, o.mapResponsive)(n, function (e) {
-                return (0, o.isNull)(e) ? null : 'repeat(' + e + ', minmax(0, 1fr))'
-              }))
-        return i.createElement(
-          a.Grid,
-          u({ ref: t, gap: d, columnGap: c, rowGap: l, templateColumns: p }, h),
-        )
-      })
-      ;(t.SimpleGrid = c), o.__DEV__ && (c.displayName = 'SimpleGrid')
-    },
-    7133: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Spacer = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (0, r.chakra)('div', {
-          baseStyle: { flex: 1, justifySelf: 'stretch', alignSelf: 'stretch' },
-        })
-      ;(t.Spacer = i), o.__DEV__ && (i.displayName = 'Spacer')
-    },
-    96030: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.VStack = t.HStack = t.Stack = t.StackItem = t.StackDivider = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = n(19277),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = u()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        s = n(17596)
-      function u() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (u = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function c() {
-        return (c =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      t.StackDivider = function (e) {
-        return a.createElement(
-          r.chakra.div,
-          c({ className: 'chakra-stack__divider' }, e, {
-            __css: c({}, e.__css, {
-              borderWidth: 0,
-              alignSelf: 'stretch',
-              borderColor: 'inherit',
-              width: 'auto',
-              height: 'auto',
-            }),
-          }),
-        )
-      }
-      var l = function (e) {
-        return a.createElement(
-          r.chakra.div,
-          c({ className: 'chakra-stack__item' }, e, {
-            __css: c({ display: 'inline-block', flex: '0 0 auto', minWidth: 0 }, e.__css),
-          }),
-        )
-      }
-      t.StackItem = l
-      var d = (0, r.forwardRef)(function (e, t) {
-        var n,
-          u = e.isInline,
-          d = e.direction,
-          f = e.align,
-          h = e.justify,
-          p = e.spacing,
-          v = void 0 === p ? '0.5rem' : p,
-          m = e.wrap,
-          g = e.children,
-          y = e.divider,
-          b = e.className,
-          w = e.shouldWrapChildren,
-          _ = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'isInline',
-            'direction',
-            'align',
-            'justify',
-            'spacing',
-            'wrap',
-            'children',
-            'divider',
-            'className',
-            'shouldWrapChildren',
-          ]),
-          x = u ? 'row' : null != d ? d : 'column',
-          k = a.useMemo(
-            function () {
-              return (0, s.getStackStyles)({ direction: x, spacing: v })
-            },
-            [x, v],
-          ),
-          E = a.useMemo(
-            function () {
-              return (0, s.getDividerStyles)({ spacing: v, direction: x })
-            },
-            [v, x],
-          ),
-          O = !!y,
-          T = !w && !O,
-          C = (0, i.getValidChildren)(g),
-          M = T
-            ? C
-            : C.map(function (e, t) {
-                var n = t + 1 === C.length,
-                  r = w ? a.createElement(l, { key: t }, e) : e
-                if (!O) return r
-                var o = n ? null : a.cloneElement(y, { __css: E })
-                return a.createElement(a.Fragment, { key: t }, r, o)
-              }),
-          S = (0, o.cx)('chakra-stack', b)
-        return a.createElement(
-          r.chakra.div,
-          c(
-            {
-              ref: t,
-              display: 'flex',
-              alignItems: f,
-              justifyContent: h,
-              flexDirection: k.flexDirection,
-              flexWrap: m,
-              className: S,
-              __css: O ? {} : ((n = {}), (n[s.selector] = k[s.selector]), n),
-            },
-            _,
-          ),
-          M,
-        )
-      })
-      ;(t.Stack = d), o.__DEV__ && (d.displayName = 'Stack')
-      var f = (0, r.forwardRef)(function (e, t) {
-        return a.createElement(d, c({ align: 'center' }, e, { direction: 'row', ref: t }))
-      })
-      ;(t.HStack = f), o.__DEV__ && (f.displayName = 'HStack')
-      var h = (0, r.forwardRef)(function (e, t) {
-        return a.createElement(d, c({ align: 'center' }, e, { direction: 'column', ref: t }))
-      })
-      ;(t.VStack = h), o.__DEV__ && (h.displayName = 'VStack')
-    },
-    17596: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.getStackStyles = function (e) {
-          var t,
-            n = e.spacing,
-            i = e.direction,
-            a = {
-              column: { marginTop: n, marginEnd: 0, marginBottom: 0, marginStart: 0 },
-              row: { marginTop: 0, marginEnd: 0, marginBottom: 0, marginStart: n },
-              'column-reverse': { marginTop: 0, marginEnd: 0, marginBottom: n, marginStart: 0 },
-              'row-reverse': { marginTop: 0, marginEnd: n, marginBottom: 0, marginStart: 0 },
-            }
-          return (
-            ((t = { flexDirection: i })[o] = (0, r.mapResponsive)(i, function (e) {
-              return a[e]
-            })),
-            t
-          )
-        }),
-        (t.getDividerStyles = function (e) {
-          var t = e.spacing,
-            n = e.direction,
-            o = {
-              column: { my: t, mx: 0, borderLeftWidth: 0, borderBottomWidth: '1px' },
-              'column-reverse': { my: t, mx: 0, borderLeftWidth: 0, borderBottomWidth: '1px' },
-              row: { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
-              'row-reverse': { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
-            }
-          return {
-            '&': (0, r.mapResponsive)(n, function (e) {
-              return o[e]
-            }),
-          }
-        }),
-        (t.selector = void 0)
-      var r = n(66751),
-        o = '& > *:not(style) ~ *:not(style)'
-      t.selector = o
-    },
-    80434: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Text = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.forwardRef)(function (e, t) {
-        var n = (0, r.useStyleConfig)('Text', e),
-          a = (0, r.omitThemingProps)(e),
-          u =
-            (a.className,
-            a.align,
-            a.decoration,
-            a.casing,
-            (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(a, ['className', 'align', 'decoration', 'casing'])),
-          c = (0, o.filterUndefined)({
-            textAlign: e.align,
-            textDecoration: e.decoration,
-            textTransform: e.casing,
-          })
-        return i.createElement(
-          r.chakra.p,
-          s({ ref: t, className: (0, o.cx)('chakra-text', e.className) }, c, u, { __css: n }),
-        )
-      })
-      ;(t.Text = u), o.__DEV__ && (u.displayName = 'Text')
-    },
-    88189: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.WrapItem = t.Wrap = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.forwardRef)(function (e, t) {
-        var n = e.spacing,
-          a = void 0 === n ? '0.5rem' : n,
-          c = e.children,
-          d = e.justify,
-          f = e.direction,
-          h = e.align,
-          p = e.className,
-          v = e.shouldWrapChildren,
-          m = u(e, [
-            'spacing',
-            'children',
-            'justify',
-            'direction',
-            'align',
-            'className',
-            'shouldWrapChildren',
-          ]),
-          g = i.useMemo(
-            function () {
-              return {
-                '--chakra-wrap-spacing': function (e) {
-                  return (0, o.mapResponsive)(a, function (t) {
-                    return (0, r.tokenToCSSVar)('space', t)(e)
-                  })
-                },
-                '--wrap-spacing': 'calc(var(--chakra-wrap-spacing) / 2)',
-                display: 'flex',
-                flexWrap: 'wrap',
-                justifyContent: d,
-                alignItems: h,
-                flexDirection: f,
-                listStyleType: 'none',
-                padding: '0',
-                margin: 'calc(var(--wrap-spacing) * -1)',
-                '& > *:not(style)': { margin: 'var(--wrap-spacing)' },
-              }
-            },
-            [a, d, h, f],
-          ),
-          y = v
-            ? i.Children.map(c, function (e, t) {
-                return i.createElement(l, { key: t }, e)
-              })
-            : c
-        return i.createElement(
-          r.chakra.div,
-          s({ ref: t, className: (0, o.cx)('chakra-wrap', p) }, m),
-          i.createElement(r.chakra.ul, { className: 'chakra-wrap__list', __css: g }, y),
-        )
-      })
-      ;(t.Wrap = c), o.__DEV__ && (c.displayName = 'Wrap')
-      var l = (0, r.forwardRef)(function (e, t) {
-        var n = e.className,
-          a = u(e, ['className'])
-        return i.createElement(
-          r.chakra.li,
-          s(
-            {
-              ref: t,
-              __css: { display: 'flex', alignItems: 'flex-start' },
-              className: (0, o.cx)('chakra-wrap__listitem', n),
-            },
-            a,
-          ),
-        )
-      })
-      ;(t.WrapItem = l), o.__DEV__ && (l.displayName = 'WrapItem')
-    },
-    48017: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        xu: function () {
-          return c
-        },
-      })
-      var r = n(89384),
-        o = n(90063),
-        i = n(73808),
-        a = n(67294)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var c = (0, r.m$)('div')
-      i.Ts && (c.displayName = 'Box')
-      var l = (0, o.G)((e, t) => {
-        var { size: n, centerContent: r = !0 } = e,
-          o = u(e, ['size', 'centerContent']),
-          i = r ? { display: 'flex', alignItems: 'center', justifyContent: 'center' } : {}
-        return a.createElement(
-          c,
-          s({ ref: t, boxSize: n, __css: s({}, i, { flexShrink: 0, flexGrow: 0 }) }, o),
-        )
-      })
-      i.Ts && (l.displayName = 'Square')
-      var d = (0, o.G)((e, t) => {
-        var { size: n } = e,
-          r = u(e, ['size'])
-        return a.createElement(l, s({ size: n, ref: t, borderRadius: '9999px' }, r))
-      })
-      i.Ts && (d.displayName = 'Circle')
-    },
-    94096: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        k: function () {
-          return u
-        },
-      })
-      var r = n(90063),
-        o = n(89384),
-        i = n(73808),
-        a = n(67294)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var u = (0, r.G)((e, t) => {
-        var { direction: n, align: r, justify: i, wrap: u, basis: c, grow: l, shrink: d } = e,
-          f = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['direction', 'align', 'justify', 'wrap', 'basis', 'grow', 'shrink']),
-          h = {
-            display: 'flex',
-            flexDirection: n,
-            alignItems: r,
-            justifyContent: i,
-            flexWrap: u,
-            flexBasis: c,
-            flexGrow: l,
-            flexShrink: d,
-          }
-        return a.createElement(o.m$.div, s({ ref: t, __css: h }, f))
-      })
-      i.Ts && (u.displayName = 'Flex')
-    },
-    336: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        X: function () {
-          return d
-        },
-      })
-      var r = n(90063),
-        o = n(2326),
-        i = n(55284),
-        a = n(89384),
-        s = n(84461),
-        u = n(73808),
-        c = n(67294)
-      function l() {
-        return (l =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var d = (0, r.G)((e, t) => {
-        var n = (0, o.m)('Heading', e),
-          r = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })((0, i.Lr)(e), ['className'])
-        return c.createElement(
-          a.m$.h2,
-          l({ ref: t, className: (0, s.cx)('chakra-heading', e.className) }, r, { __css: n }),
-        )
-      })
-      u.Ts && (d.displayName = 'Heading')
-    },
-    72026: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        cX: function () {
-          return h
-        },
-        gC: function () {
-          return g
-        },
-      })
-      var r = n(89384),
-        o = n(90063),
-        i = n(84461),
-        a = n(73808),
-        s = n(24255),
-        u = n(67294),
-        c = n(4651)
-      Object.freeze(['base', 'sm', 'md', 'lg', 'xl', '2xl'])
-      function l(e, t) {
-        return (0, a.kJ)(e)
-          ? e.map((e) => (null === e ? null : t(e)))
-          : (0, a.Kn)(e)
-          ? (0, c.Yd)(e).reduce((n, r) => ((n[r] = t(e[r])), n), {})
-          : null != e
-          ? t(e)
-          : null
-      }
-      var d = '& > *:not(style) ~ *:not(style)'
-      function f() {
-        return (f =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var h = (e) =>
-          u.createElement(
-            r.m$.div,
-            f({ className: 'chakra-stack__divider' }, e, {
-              __css: f({}, e.__css, {
-                borderWidth: 0,
-                alignSelf: 'stretch',
-                borderColor: 'inherit',
-                width: 'auto',
-                height: 'auto',
-              }),
-            }),
-          ),
-        p = (e) =>
-          u.createElement(
-            r.m$.div,
-            f({ className: 'chakra-stack__item' }, e, {
-              __css: f({ display: 'inline-block', flex: '0 0 auto', minWidth: 0 }, e.__css),
-            }),
-          ),
-        v = (0, o.G)((e, t) => {
-          var {
-              isInline: n,
-              direction: o,
-              align: a,
-              justify: c,
-              spacing: h = '0.5rem',
-              wrap: v,
-              children: m,
-              divider: g,
-              className: y,
-              shouldWrapChildren: b,
-            } = e,
-            w = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, [
-              'isInline',
-              'direction',
-              'align',
-              'justify',
-              'spacing',
-              'wrap',
-              'children',
-              'divider',
-              'className',
-              'shouldWrapChildren',
-            ]),
-            _ = n ? 'row' : null != o ? o : 'column',
-            x = u.useMemo(
-              () =>
-                (function (e) {
-                  var { spacing: t, direction: n } = e,
-                    r = {
-                      column: { marginTop: t, marginEnd: 0, marginBottom: 0, marginStart: 0 },
-                      row: { marginTop: 0, marginEnd: 0, marginBottom: 0, marginStart: t },
-                      'column-reverse': {
-                        marginTop: 0,
-                        marginEnd: 0,
-                        marginBottom: t,
-                        marginStart: 0,
-                      },
-                      'row-reverse': {
-                        marginTop: 0,
-                        marginEnd: t,
-                        marginBottom: 0,
-                        marginStart: 0,
-                      },
-                    }
-                  return { flexDirection: n, [d]: l(n, (e) => r[e]) }
-                })({ direction: _, spacing: h }),
-              [_, h],
-            ),
-            k = u.useMemo(
-              () =>
-                (function (e) {
-                  var { spacing: t, direction: n } = e,
-                    r = {
-                      column: { my: t, mx: 0, borderLeftWidth: 0, borderBottomWidth: '1px' },
-                      'column-reverse': {
-                        my: t,
-                        mx: 0,
-                        borderLeftWidth: 0,
-                        borderBottomWidth: '1px',
-                      },
-                      row: { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
-                      'row-reverse': { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
-                    }
-                  return { '&': l(n, (e) => r[e]) }
-                })({ spacing: h, direction: _ }),
-              [h, _],
-            ),
-            E = !!g,
-            O = !b && !E,
-            T = (0, s.W)(m),
-            C = O
-              ? T
-              : T.map((e, t) => {
-                  var n = t + 1 === T.length,
-                    r = b ? u.createElement(p, { key: t }, e) : e
-                  if (!E) return r
-                  var o = n ? null : u.cloneElement(g, { __css: k })
-                  return u.createElement(u.Fragment, { key: t }, r, o)
-                }),
-            M = (0, i.cx)('chakra-stack', y)
-          return u.createElement(
-            r.m$.div,
-            f(
-              {
-                ref: t,
-                display: 'flex',
-                alignItems: a,
-                justifyContent: c,
-                flexDirection: x.flexDirection,
-                flexWrap: v,
-                className: M,
-                __css: E ? {} : { [d]: x[d] },
-              },
-              w,
-            ),
-            C,
-          )
-        })
-      a.Ts && (v.displayName = 'Stack')
-      var m = (0, o.G)((e, t) =>
-        u.createElement(v, f({ align: 'center' }, e, { direction: 'row', ref: t })),
-      )
-      a.Ts && (m.displayName = 'HStack')
-      var g = (0, o.G)((e, t) =>
-        u.createElement(v, f({ align: 'center' }, e, { direction: 'column', ref: t })),
-      )
-      a.Ts && (g.displayName = 'VStack')
-    },
-    64115: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        x: function () {
-          return f
-        },
-      })
-      var r = n(90063),
-        o = n(2326),
-        i = n(55284),
-        a = n(89384),
-        s = n(4651),
-        u = n(84461),
-        c = n(73808),
-        l = n(67294)
-      function d() {
-        return (d =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var f = (0, r.G)((e, t) => {
-        var n = (0, o.m)('Text', e),
-          r = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })((0, i.Lr)(e), ['className', 'align', 'decoration', 'casing']),
-          c = (0, s.YU)({
-            textAlign: e.align,
-            textDecoration: e.decoration,
-            textTransform: e.casing,
-          })
-        return l.createElement(
-          a.m$.p,
-          d({ ref: t, className: (0, u.cx)('chakra-text', e.className) }, c, r, { __css: n }),
-        )
-      })
-      c.Ts && (f.displayName = 'Text')
-    },
-    48235: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        v2: function () {
-          return q
-        },
-        j2: function () {
-          return Z
-        },
-        sN: function () {
-          return J
-        },
-        ii: function () {
-          return te
-        },
-        qy: function () {
-          return Y
-        },
-        __: function () {
-          return ne
-        },
-      })
-      var r = n(2326),
-        o = n(55284),
-        i = n(29676),
-        a = n(90063),
-        s = n(89384),
-        u = n(80658),
-        c = n(73808),
-        l = n(84461),
-        d = n(11770),
-        f = n(67294),
-        h = n(72947)
-      function p() {
-        return (p =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function v(e) {
-        var t = e.target,
-          { tagName: n, isContentEditable: r } = t
-        return 'INPUT' !== n && 'TEXTAREA' !== n && !0 !== r
-      }
-      function m(e) {
-        void 0 === e && (e = {})
-        var {
-            ref: t,
-            isDisabled: n,
-            isFocusable: r,
-            clickOnEnter: o = !0,
-            clickOnSpace: i = !0,
-            onMouseDown: a,
-            onMouseUp: s,
-            onClick: u,
-            onKeyDown: c,
-            onKeyUp: d,
-            tabIndex: m,
-            onMouseOver: g,
-            onMouseLeave: y,
-          } = e,
-          b = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'ref',
-            'isDisabled',
-            'isFocusable',
-            'clickOnEnter',
-            'clickOnSpace',
-            'onMouseDown',
-            'onMouseUp',
-            'onClick',
-            'onKeyDown',
-            'onKeyUp',
-            'tabIndex',
-            'onMouseOver',
-            'onMouseLeave',
-          ]),
-          [w, _] = f.useState(!0),
-          [x, k] = f.useState(!1),
-          E = (function () {
-            var e = f.useRef(new Map()),
-              t = e.current,
-              n = f.useCallback((t, n, r, o) => {
-                e.current.set(r, { type: n, el: t, options: o }), t.addEventListener(n, r, o)
-              }, []),
-              r = f.useCallback((t, n, r, o) => {
-                t.removeEventListener(n, r, o), e.current.delete(r)
-              }, [])
-            return (
-              f.useEffect(
-                () => () => {
-                  t.forEach((e, t) => {
-                    r(e.el, e.type, t, e.options)
-                  })
-                },
-                [r, t],
-              ),
-              { add: n, remove: r }
-            )
-          })(),
-          O = w ? m : m || 0,
-          T = n && !r,
-          C = f.useCallback(
-            (e) => {
-              if (n) return e.stopPropagation(), void e.preventDefault()
-              e.currentTarget.focus(), null == u || u(e)
-            },
-            [n, u],
-          ),
-          M = f.useCallback(
-            (e) => {
-              x &&
-                v(e) &&
-                (e.preventDefault(), e.stopPropagation(), k(!1), E.remove(document, 'keyup', M, !1))
-            },
-            [x, E],
-          ),
-          S = f.useCallback(
-            (e) => {
-              if (
-                (null == c || c(e),
-                !(n || e.defaultPrevented || e.metaKey) && v(e.nativeEvent) && !w)
-              ) {
-                var t = o && 'Enter' === e.key
-                if ((i && ' ' === e.key && (e.preventDefault(), k(!0)), t))
-                  e.preventDefault(), e.currentTarget.click()
-                E.add(document, 'keyup', M, !1)
-              }
-            },
-            [n, w, c, o, i, E, M],
-          ),
-          P = f.useCallback(
-            (e) => {
-              ;(null == d || d(e), n || e.defaultPrevented || e.metaKey) ||
-                (v(e.nativeEvent) &&
-                  !w &&
-                  i &&
-                  ' ' === e.key &&
-                  (e.preventDefault(), k(!1), e.currentTarget.click()))
-            },
-            [i, w, n, d],
-          ),
-          j = f.useCallback(
-            (e) => {
-              0 === e.button && (k(!1), E.remove(document, 'mouseup', j, !1))
-            },
-            [E],
-          ),
-          I = f.useCallback(
-            (e) => {
-              if (!(0, l.dO)(e)) {
-                if (n) return e.stopPropagation(), void e.preventDefault()
-                w || k(!0),
-                  e.currentTarget.focus({ preventScroll: !0 }),
-                  E.add(document, 'mouseup', j, !1),
-                  null == a || a(e)
-              }
-            },
-            [n, w, a, E, j],
-          ),
-          A = f.useCallback(
-            (e) => {
-              ;(0, l.dO)(e) || (w || k(!1), null == s || s(e))
-            },
-            [s, w],
-          ),
-          R = f.useCallback(
-            (e) => {
-              n ? e.preventDefault() : null == g || g(e)
-            },
-            [n, g],
-          ),
-          D = f.useCallback(
-            (e) => {
-              x && (e.preventDefault(), k(!1)), null == y || y(e)
-            },
-            [x, y],
-          ),
-          L = (0, h.l)(t, (e) => {
-            e && 'BUTTON' !== e.tagName && _(!1)
-          })
-        return p(
-          {},
-          b,
-          w
-            ? {
-                ref: L,
-                type: 'button',
-                'aria-disabled': T ? void 0 : n,
-                disabled: T,
-                onClick: C,
-                onMouseDown: a,
-                onMouseUp: s,
-                onKeyUp: d,
-                onKeyDown: c,
-                onMouseOver: g,
-                onMouseLeave: y,
-              }
-            : {
-                ref: L,
-                role: 'button',
-                'data-active': (0, l.PB)(x),
-                'aria-disabled': n ? 'true' : void 0,
-                tabIndex: T ? void 0 : O,
-                onClick: C,
-                onMouseDown: I,
-                onMouseUp: A,
-                onKeyUp: P,
-                onKeyDown: S,
-                onMouseOver: R,
-                onMouseLeave: D,
-              },
-        )
-      }
-      var g = n(21888),
-        y = n(74860),
-        b = n(10762)
-      function w(e, t) {
-        var n,
-          r = e.target
-        if (e.button > 0) return !1
-        if (r && !(0, l.lZ)(r).body.contains(r)) return !1
-        return !(null != (n = t.current) && n.contains(r))
-      }
-      var _ = n(22653),
-        x = n(17768),
-        k = n(47248)
-      function E(e, t) {
-        var { shouldFocus: n, visible: r, focusRef: o } = t,
-          i = n && !r
-        ;(0, _.r)(() => {
-          if (
-            i &&
-            !(function (e) {
-              var t = e.current
-              if (!t) return !1
-              var n = (0, l.vY)(t)
-              return !!n && !(0, l.r3)(t, n) && !!(0, x.Wq)(n)
-            })(e)
-          ) {
-            var t = (null == o ? void 0 : o.current) || e.current
-            t && (0, k.T)(t, { nextTick: !0 })
-          }
-        }, [i, e, o])
-      }
-      var O = n(94577),
-        T = n(77581)
-      function C(e) {
-        void 0 === e && (e = {})
-        var { timeout: t = 300, preventDefault: n = () => !0 } = e,
-          [r, o] = f.useState([]),
-          i = f.useRef(),
-          a = () => {
-            i.current && (clearTimeout(i.current), (i.current = null))
-          }
-        return (
-          f.useEffect(() => a, []),
-          function (e) {
-            return (s) => {
-              if ('Backspace' === s.key) {
-                var u = [...r]
-                return u.pop(), void o(u)
-              }
-              if (
-                (function (e) {
-                  var { key: t } = e
-                  return 1 === t.length || (t.length > 1 && /[^a-zA-Z0-9]/.test(t))
-                })(s)
-              ) {
-                var c = r.concat(s.key)
-                n(s) && (s.preventDefault(), s.stopPropagation()),
-                  o(c),
-                  e(c.join('')),
-                  a(),
-                  (i.current = setTimeout(() => {
-                    o([]), (i.current = null)
-                  }, t))
-              }
-            }
-          }
-        )
-      }
-      var M = n(51034),
-        S = n(8931),
-        P = n(28500),
-        j = n(24255),
-        I = n(27277)
-      function A() {
-        return (A =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function R(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var [D, L, N, z] = (0, g.n)(),
-        [B, H] = (0, P.k)({ strict: !1, name: 'MenuContext' })
-      function F(e) {
-        void 0 === e && (e = {})
-        var {
-            id: t,
-            closeOnSelect: n = !0,
-            closeOnBlur: r = !0,
-            autoSelect: o = !0,
-            isLazy: i,
-            isOpen: a,
-            defaultIsOpen: s,
-            onClose: u,
-            onOpen: c,
-            placement: d = 'bottom-start',
-            lazyBehavior: h = 'unmount',
-            computePositionOnMount: p,
-          } = e,
-          v = R(e, [
-            'id',
-            'closeOnSelect',
-            'closeOnBlur',
-            'autoSelect',
-            'isLazy',
-            'isOpen',
-            'defaultIsOpen',
-            'onClose',
-            'onOpen',
-            'placement',
-            'lazyBehavior',
-            'computePositionOnMount',
-          ]),
-          {
-            isOpen: m,
-            onOpen: g,
-            onClose: x,
-            onToggle: C,
-          } = (0, y.q)({ isOpen: a, defaultIsOpen: s, onClose: u, onOpen: c }),
-          M = f.useRef(null),
-          P = f.useRef(null)
-        !(function (e) {
-          var { ref: t, handler: n } = e,
-            r = (0, b.W)(n),
-            o = (0, f.useRef)({ isPointerDown: !1, ignoreEmulatedMouseEvents: !1 }).current
-          ;(0, f.useEffect)(() => {
-            var e = (e) => {
-                w(e, t) && (o.isPointerDown = !0)
-              },
-              i = (e) => {
-                o.ignoreEmulatedMouseEvents
-                  ? (o.ignoreEmulatedMouseEvents = !1)
-                  : o.isPointerDown && n && w(e, t) && ((o.isPointerDown = !1), r(e))
-              },
-              a = (e) => {
-                ;(o.ignoreEmulatedMouseEvents = !0),
-                  n && o.isPointerDown && w(e, t) && ((o.isPointerDown = !1), r(e))
-              },
-              s = (0, l.lZ)(t.current)
-            return (
-              s.addEventListener('mousedown', e, !0),
-              s.addEventListener('mouseup', i, !0),
-              s.addEventListener('touchstart', e, !0),
-              s.addEventListener('touchend', a, !0),
-              () => {
-                s.removeEventListener('mousedown', e, !0),
-                  s.removeEventListener('mouseup', i, !0),
-                  s.removeEventListener('touchstart', e, !0),
-                  s.removeEventListener('touchend', a, !0)
-              }
-            )
-          }, [n, t, r, o])
-        })({
-          ref: M,
-          handler: (e) => {
-            var t
-            !m || !r || (null != (t = P.current) && t.contains(e.target)) || x()
-          },
-        })
-        var j = (0, S.D)(A({}, v, { enabled: m || p, placement: d })),
-          [I, D] = f.useState(-1),
-          L = N()
-        ;(0, _.r)(() => {
-          m || D(-1)
-        }, [m]),
-          E(M, { focusRef: P, visible: m, shouldFocus: !0 })
-        var [z, B] = (0, O.ZS)(t, 'menu-button', 'menu-list'),
-          H = f.useCallback(() => {
-            g(), (0, k.T)(M.current, { nextTick: !0, selectTextIfInput: !1 })
-          }, [g, M]),
-          F = f.useRef(new Set([]))
-        return (
-          (0, T.z)(() => {
-            F.current.forEach((e) => clearTimeout(e)), F.current.clear()
-          }),
-          {
-            openAndFocusMenu: H,
-            openAndFocusFirstItem: f.useCallback(() => {
-              g()
-              var e = setTimeout(() => {
-                var e = L.firstEnabled()
-                e && D(e.index)
-              })
-              F.current.add(e)
-            }, [g, D, L]),
-            openAndFocusLastItem: f.useCallback(() => {
-              g()
-              var e = setTimeout(() => {
-                var e = L.lastEnabled()
-                e && D(e.index)
-              })
-              F.current.add(e)
-            }, [g, D, L]),
-            onTransitionEnd: f.useCallback(() => {
-              var e,
-                t,
-                n = (0, l.lZ)(M.current),
-                r = null == (e = M.current) ? void 0 : e.contains(n.activeElement)
-              if (m && !r) {
-                var o = null == (t = L.item(I)) ? void 0 : t.node
-                o && (0, k.T)(o, { selectTextIfInput: !1 })
-              }
-            }, [m, I, L]),
-            descendants: L,
-            popper: j,
-            buttonId: z,
-            menuId: B,
-            forceUpdate: j.forceUpdate,
-            orientation: 'vertical',
-            isOpen: m,
-            onToggle: C,
-            onOpen: g,
-            onClose: x,
-            menuRef: M,
-            buttonRef: P,
-            focusedIndex: I,
-            closeOnSelect: n,
-            closeOnBlur: r,
-            autoSelect: o,
-            setFocusedIndex: D,
-            isLazy: i,
-            lazyBehavior: h,
-          }
-        )
-      }
-      function V(e) {
-        var t
-        return (
-          e instanceof HTMLElement &&
-          !(null == (t = e.getAttribute('role')) || !t.startsWith('menuitem'))
-        )
-      }
-      function W(e, t) {
-        void 0 === e && (e = {}), void 0 === t && (t = null)
-        var {
-            onMouseEnter: n,
-            onMouseMove: r,
-            onMouseLeave: o,
-            onClick: i,
-            isDisabled: a,
-            isFocusable: s,
-            closeOnSelect: u,
-          } = e,
-          c = R(e, [
-            'onMouseEnter',
-            'onMouseMove',
-            'onMouseLeave',
-            'onClick',
-            'isDisabled',
-            'isFocusable',
-            'closeOnSelect',
-          ]),
-          l = H(),
-          {
-            setFocusedIndex: d,
-            focusedIndex: p,
-            closeOnSelect: v,
-            onClose: g,
-            menuRef: y,
-            isOpen: b,
-            menuId: w,
-          } = l,
-          E = f.useRef(null),
-          T = w + '-menuitem-' + (0, O.Me)(),
-          { index: C, register: M } = z({ disabled: a && !s }),
-          S = f.useCallback(
-            (e) => {
-              null == n || n(e), a || d(C)
-            },
-            [d, C, a, n],
-          ),
-          P = f.useCallback(
-            (e) => {
-              null == r || r(e), E.current && !(0, x.H9)(E.current) && S(e)
-            },
-            [S, r],
-          ),
-          j = f.useCallback(
-            (e) => {
-              null == o || o(e), a || d(-1)
-            },
-            [d, a, o],
-          ),
-          I = f.useCallback(
-            (e) => {
-              null == i || i(e), V(e.currentTarget) && (null != u ? u : v) && g()
-            },
-            [g, i, v, u],
-          ),
-          D = C === p,
-          L = a && !s
-        return (
-          (0, _.r)(() => {
-            b &&
-              (D && !L && E.current
-                ? (0, k.T)(E.current, { nextTick: !0, selectTextIfInput: !1 })
-                : y.current && !(0, x.H9)(y.current) && (0, k.T)(y.current))
-          }, [D, L, y, b]),
-          A(
-            {},
-            c,
-            m({
-              onClick: I,
-              onMouseEnter: S,
-              onMouseMove: P,
-              onMouseLeave: j,
-              ref: (0, h.l)(M, E, t),
-              isDisabled: a,
-              isFocusable: s,
-            }),
-            { id: T, role: 'menuitem', tabIndex: D ? 0 : -1 },
-          )
-        )
-      }
-      function U() {
-        return (U =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function G(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var q = (e) => {
-        var { children: t } = e,
-          n = (0, r.j)('Menu', e),
-          a = F((0, o.Lr)(e)),
-          { descendants: s } = a,
-          c = G(a, ['descendants']),
-          l = f.useMemo(() => c, [c]),
-          { isOpen: d, onClose: h, forceUpdate: p } = l
-        return f.createElement(
-          D,
-          { value: s },
-          f.createElement(
-            B,
-            { value: l },
-            f.createElement(
-              i.Fo,
-              { value: n },
-              (0, u.Pu)(t, { isOpen: d, onClose: h, forceUpdate: p }),
-            ),
-          ),
-        )
-      }
-      c.Ts && (q.displayName = 'Menu')
-      var K = (0, a.G)((e, t) => {
-          var n = (0, i.yK)()
-          return f.createElement(
-            s.m$.button,
-            U({ ref: t }, e, {
-              __css: U(
-                { display: 'inline-flex', appearance: 'none', alignItems: 'center', outline: 0 },
-                n.button,
-              ),
-            }),
-          )
-        }),
-        Z = (0, a.G)((e, t) => {
-          var { as: n } = e,
-            r = (function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              var n = H(),
-                {
-                  isOpen: r,
-                  onClose: o,
-                  autoSelect: i,
-                  popper: a,
-                  openAndFocusFirstItem: s,
-                  openAndFocusLastItem: c,
-                  openAndFocusMenu: d,
-                } = n,
-                p = f.useCallback(() => {
-                  r ? o() : (i ? s : d)()
-                }, [i, r, o, s, d]),
-                v = f.useCallback(
-                  (e) => {
-                    var t = (0, l.uh)(e),
-                      n = { Enter: s, ArrowDown: s, ArrowUp: c }[t]
-                    n && (e.preventDefault(), e.stopPropagation(), n(e))
-                  },
-                  [s, c],
-                )
-              return A({}, e, {
-                ref: (0, h.l)(n.buttonRef, t, a.referenceRef),
-                id: n.buttonId,
-                'data-active': (0, l.PB)(n.isOpen),
-                'aria-expanded': n.isOpen,
-                'aria-haspopup': 'menu',
-                'aria-controls': n.menuId,
-                onClick: (0, u.v0)(e.onClick, p),
-                onKeyDown: (0, u.v0)(e.onKeyDown, v),
-              })
-            })(G(e, ['children', 'as']), t),
-            o = n || K
-          return f.createElement(
-            o,
-            U({}, r, { className: (0, l.cx)('chakra-menu__menu-button', e.className) }),
-            f.createElement(
-              s.m$.span,
-              { __css: { pointerEvents: 'none', flex: '1 1 auto', minW: 0 } },
-              e.children,
-            ),
-          )
-        })
-      c.Ts && (Z.displayName = 'MenuButton')
-      var X = {
-          enter: {
-            visibility: 'visible',
-            opacity: 1,
-            scale: 1,
-            transition: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
-          },
-          exit: {
-            transitionEnd: { visibility: 'hidden' },
-            opacity: 0,
-            scale: 0.8,
-            transition: { duration: 0.1, easings: 'easeOut' },
-          },
-        },
-        $ = 'custom' in d.E ? d.E.custom(s.m$.div) : (0, d.E)(s.m$.div),
-        Y = (0, a.G)((e, t) => {
-          var n,
-            r,
-            { rootProps: o } = e,
-            a = G(e, ['rootProps']),
-            { isOpen: c, onTransitionEnd: d } = H(),
-            p = (function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              var n = H()
-              if (!n)
-                throw new Error(
-                  'useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>',
-                )
-              var {
-                  focusedIndex: r,
-                  setFocusedIndex: o,
-                  menuRef: i,
-                  isOpen: a,
-                  onClose: s,
-                  menuId: c,
-                  isLazy: d,
-                  lazyBehavior: p,
-                } = n,
-                v = L(),
-                m = C({ preventDefault: (e) => ' ' !== e.key && V(e.target) }),
-                g = f.useCallback(
-                  (e) => {
-                    var t = (0, l.uh)(e),
-                      n = {
-                        Tab: (e) => e.preventDefault(),
-                        Escape: s,
-                        ArrowDown: () => {
-                          var e = v.nextEnabled(r)
-                          e && o(e.index)
-                        },
-                        ArrowUp: () => {
-                          var e = v.prevEnabled(r)
-                          e && o(e.index)
-                        },
-                      }[t]
-                    if (n) return e.preventDefault(), void n(e)
-                    var i = m((e) => {
-                      var t = (0, I.LP)(
-                        v.values(),
-                        e,
-                        (e) => {
-                          var t, n
-                          return null !=
-                            (t = null == e || null == (n = e.node) ? void 0 : n.textContent)
-                            ? t
-                            : ''
-                        },
-                        v.item(r),
-                      )
-                      if (t) {
-                        var n = v.indexOf(t.node)
-                        o(n)
-                      }
-                    })
-                    V(e.target) && i(e)
-                  },
-                  [v, r, m, s, o],
-                ),
-                y = f.useRef(!1)
-              a && (y.current = !0)
-              var b = (function (e) {
-                var {
-                  hasBeenSelected: t,
-                  isLazy: n,
-                  isSelected: r,
-                  lazyBehavior: o = 'unmount',
-                } = e
-                return !n || !!r || !('keepMounted' !== o || !t)
-              })({ hasBeenSelected: y.current, isLazy: d, lazyBehavior: p, isSelected: a })
-              return A({}, e, {
-                ref: (0, h.l)(i, t),
-                children: b ? e.children : null,
-                tabIndex: -1,
-                role: 'menu',
-                id: c,
-                style: A({}, e.style, { transformOrigin: 'var(--popper-transform-origin)' }),
-                'aria-orientation': 'vertical',
-                onKeyDown: (0, u.v0)(e.onKeyDown, g),
-              })
-            })(a, t),
-            v = (function (e) {
-              void 0 === e && (e = {})
-              var { popper: t, isOpen: n } = H()
-              return t.getPopperProps(
-                A({}, e, { style: A({ visibility: n ? 'visible' : 'hidden' }, e.style) }),
-              )
-            })(o),
-            m = (0, i.yK)()
-          return f.createElement(
-            s.m$.div,
-            U({}, v, {
-              __css: {
-                zIndex: null != (n = e.zIndex) ? n : null == (r = m.list) ? void 0 : r.zIndex,
-              },
-            }),
-            f.createElement(
-              $,
-              U({}, p, {
-                onUpdate: d,
-                className: (0, l.cx)('chakra-menu__menu-list', p.className),
-                variants: X,
-                initial: !1,
-                animate: c ? 'enter' : 'exit',
-                __css: U({ outline: 0 }, m.list),
-              }),
-            ),
-          )
-        })
-      c.Ts && (Y.displayName = 'MenuList')
-      var Q = (0, a.G)((e, t) => {
-          var { type: n } = e,
-            r = G(e, ['type']),
-            o = (0, i.yK)(),
-            a = r.as ? (null != n ? n : void 0) : 'button',
-            u = U(
-              {
-                textDecoration: 'none',
-                color: 'inherit',
-                userSelect: 'none',
-                display: 'flex',
-                width: '100%',
-                alignItems: 'center',
-                textAlign: 'start',
-                flex: '0 0 auto',
-                outline: 0,
-              },
-              o.item,
-            )
-          return f.createElement(s.m$.button, U({ ref: t, type: a }, r, { __css: u }))
-        }),
-        J = (0, a.G)((e, t) => {
-          var {
-              icon: n,
-              iconSpacing: r = '0.75rem',
-              command: o,
-              commandSpacing: i = '0.75rem',
-              children: a,
-            } = e,
-            s = W(G(e, ['icon', 'iconSpacing', 'command', 'commandSpacing', 'children']), t),
-            u =
-              n || o ? f.createElement('span', { style: { pointerEvents: 'none', flex: 1 } }, a) : a
-          return f.createElement(
-            Q,
-            U({}, s, { className: (0, l.cx)('chakra-menu__menuitem', s.className) }),
-            n && f.createElement(ie, { fontSize: '0.8em', marginEnd: r }, n),
-            u,
-            o && f.createElement(oe, { marginStart: i }, o),
-          )
-        })
-      c.Ts && (J.displayName = 'MenuItem')
-      var ee = (e) =>
-          f.createElement(
-            'svg',
-            U({ viewBox: '0 0 14 14', width: '1em', height: '1em' }, e),
-            f.createElement('polygon', {
-              fill: 'currentColor',
-              points:
-                '5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039',
-            }),
-          ),
-        te = (0, a.G)((e, t) => {
-          var { icon: n, iconSpacing: r = '0.75rem' } = e,
-            o = G(e, ['icon', 'iconSpacing']),
-            i = (function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              var { type: n = 'radio', isChecked: r } = e
-              return A({}, W(R(e, ['type', 'isChecked']), t), {
-                role: 'menuitem' + n,
-                'aria-checked': r,
-              })
-            })(o, t)
-          return f.createElement(
-            Q,
-            U({}, i, { className: (0, l.cx)('chakra-menu__menuitem-option', o.className) }),
-            f.createElement(
-              ie,
-              { fontSize: '0.8em', marginEnd: r, opacity: e.isChecked ? 1 : 0 },
-              n || f.createElement(ee, null),
-            ),
-            f.createElement('span', { style: { flex: 1 } }, i.children),
-          )
-        })
-      ;(te.id = 'MenuItemOption'), c.Ts && (te.displayName = 'MenuItemOption')
-      var ne = (e) => {
-        var { className: t, title: n } = e,
-          r = (function (e) {
-            void 0 === e && (e = {})
-            var { children: t, type: n = 'radio', value: r, defaultValue: o, onChange: i } = e,
-              a = R(e, ['children', 'type', 'value', 'defaultValue', 'onChange']),
-              s = 'radio' === n ? '' : [],
-              [u, l] = (0, M.T)({ defaultValue: null != o ? o : s, value: r, onChange: i }),
-              d = f.useCallback(
-                (e) => {
-                  if (('radio' === n && (0, c.HD)(u) && l(e), 'checkbox' === n && (0, c.kJ)(u))) {
-                    var t = u.includes(e) ? (0, I.cl)(u, e) : (0, I.jX)(u, e)
-                    l(t)
-                  }
-                },
-                [u, l, n],
-              )
-            return A({}, a, {
-              children: (0, j.W)(t).map((e) => {
-                if ('MenuItemOption' !== e.type.id) return e
-                var t = 'radio' === n ? e.props.value === u : u.includes(e.props.value)
-                return f.cloneElement(e, {
-                  type: n,
-                  onClick: (t) => {
-                    d(e.props.value), null == e.props.onClick || e.props.onClick(t)
-                  },
-                  isChecked: t,
-                })
-              }),
-            })
-          })(G(e, ['className', 'title']))
-        return f.createElement(
-          re,
-          U({ title: n, className: (0, l.cx)('chakra-menu__option-group', t) }, r),
-        )
-      }
-      c.Ts && (ne.displayName = 'MenuOptionGroup')
-      var re = (0, a.G)((e, t) => {
-        var { title: n, children: r, className: o } = e,
-          a = G(e, ['title', 'children', 'className']),
-          u = (0, l.cx)('chakra-menu__group__title', o),
-          c = (0, i.yK)()
-        return f.createElement(
-          'div',
-          { ref: t, className: 'chakra-menu__group', role: 'group' },
-          n && f.createElement(s.m$.p, U({ className: u }, a, { __css: c.groupTitle }), n),
-          r,
-        )
-      })
-      c.Ts && (re.displayName = 'MenuGroup')
-      var oe = (0, a.G)((e, t) => {
-        var n = (0, i.yK)()
-        return f.createElement(
-          s.m$.span,
-          U({ ref: t }, e, { __css: n.command, className: 'chakra-menu__command' }),
-        )
-      })
-      c.Ts && (oe.displayName = 'MenuCommand')
-      var ie = (e) => {
-        var { className: t, children: n } = e,
-          r = G(e, ['className', 'children']),
-          o = f.Children.only(n),
-          i = f.isValidElement(o)
-            ? f.cloneElement(o, {
-                focusable: 'false',
-                'aria-hidden': !0,
-                className: (0, l.cx)('chakra-menu__icon', o.props.className),
-              })
-            : null,
-          a = (0, l.cx)('chakra-menu__icon-wrapper', t)
-        return f.createElement(s.m$.span, U({ className: a }, r, { __css: { flexShrink: 0 } }), i)
-      }
-      c.Ts && (ie.displayName = 'MenuIcon')
-      c.Ts
-    },
-    8931: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        D: function () {
-          return be
-        },
-      })
-      var r = n(72947)
-      function o(e) {
-        var t = e.getBoundingClientRect()
-        return {
-          width: t.width,
-          height: t.height,
-          top: t.top,
-          right: t.right,
-          bottom: t.bottom,
-          left: t.left,
-          x: t.left,
-          y: t.top,
-        }
-      }
-      function i(e) {
-        if ('[object Window]' !== e.toString()) {
-          var t = e.ownerDocument
-          return t ? t.defaultView : window
-        }
-        return e
-      }
-      function a(e) {
-        var t = i(e)
-        return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }
-      }
-      function s(e) {
-        return e instanceof i(e).Element || e instanceof Element
-      }
-      function u(e) {
-        return e instanceof i(e).HTMLElement || e instanceof HTMLElement
-      }
-      function c(e) {
-        return e ? (e.nodeName || '').toLowerCase() : null
-      }
-      function l(e) {
-        return (s(e) ? e.ownerDocument : e.document).documentElement
-      }
-      function d(e) {
-        return o(l(e)).left + a(e).scrollLeft
-      }
-      function f(e) {
-        return i(e).getComputedStyle(e)
-      }
-      function h(e) {
-        var t = f(e),
-          n = t.overflow,
-          r = t.overflowX,
-          o = t.overflowY
-        return /auto|scroll|overlay|hidden/.test(n + o + r)
-      }
-      function p(e, t, n) {
-        void 0 === n && (n = !1)
-        var r = l(t),
-          s = o(e),
-          f = u(t),
-          p = { scrollLeft: 0, scrollTop: 0 },
-          v = { x: 0, y: 0 }
-        return (
-          (f || (!f && !n)) &&
-            (('body' !== c(t) || h(r)) &&
-              (p = (function (e) {
-                return e !== i(e) && u(e)
-                  ? { scrollLeft: (t = e).scrollLeft, scrollTop: t.scrollTop }
-                  : a(e)
-                var t
-              })(t)),
-            u(t) ? (((v = o(t)).x += t.clientLeft), (v.y += t.clientTop)) : r && (v.x = d(r))),
-          {
-            x: s.left + p.scrollLeft - v.x,
-            y: s.top + p.scrollTop - v.y,
-            width: s.width,
-            height: s.height,
-          }
-        )
-      }
-      function v(e) {
-        return { x: e.offsetLeft, y: e.offsetTop, width: e.offsetWidth, height: e.offsetHeight }
-      }
-      function m(e) {
-        return 'html' === c(e) ? e : e.assignedSlot || e.parentNode || e.host || l(e)
-      }
-      function g(e) {
-        return ['html', 'body', '#document'].indexOf(c(e)) >= 0
-          ? e.ownerDocument.body
-          : u(e) && h(e)
-          ? e
-          : g(m(e))
-      }
-      function y(e, t) {
-        void 0 === t && (t = [])
-        var n = g(e),
-          r = 'body' === c(n),
-          o = i(n),
-          a = r ? [o].concat(o.visualViewport || [], h(n) ? n : []) : n,
-          s = t.concat(a)
-        return r ? s : s.concat(y(m(a)))
-      }
-      function b(e) {
-        return ['table', 'td', 'th'].indexOf(c(e)) >= 0
-      }
-      function w(e) {
-        if (!u(e) || 'fixed' === f(e).position) return null
-        var t = e.offsetParent
-        if (t) {
-          var n = l(t)
-          if ('body' === c(t) && 'static' === f(t).position && 'static' !== f(n).position) return n
-        }
-        return t
-      }
-      function _(e) {
-        for (var t = i(e), n = w(e); n && b(n) && 'static' === f(n).position; ) n = w(n)
-        return n && 'body' === c(n) && 'static' === f(n).position
-          ? t
-          : n ||
-              (function (e) {
-                for (var t = m(e); u(t) && ['html', 'body'].indexOf(c(t)) < 0; ) {
-                  var n = f(t)
-                  if (
-                    'none' !== n.transform ||
-                    'none' !== n.perspective ||
-                    (n.willChange && 'auto' !== n.willChange)
-                  )
-                    return t
-                  t = t.parentNode
-                }
-                return null
-              })(e) ||
-              t
-      }
-      var x = 'top',
-        k = 'bottom',
-        E = 'right',
-        O = 'left',
-        T = 'auto',
-        C = [x, k, E, O],
-        M = 'start',
-        S = 'end',
-        P = 'viewport',
-        j = 'popper',
-        I = C.reduce(function (e, t) {
-          return e.concat([t + '-' + M, t + '-' + S])
-        }, []),
-        A = [].concat(C, [T]).reduce(function (e, t) {
-          return e.concat([t, t + '-' + M, t + '-' + S])
-        }, []),
-        R = [
-          'beforeRead',
-          'read',
-          'afterRead',
-          'beforeMain',
-          'main',
-          'afterMain',
-          'beforeWrite',
-          'write',
-          'afterWrite',
-        ]
-      function D(e) {
-        var t = new Map(),
-          n = new Set(),
-          r = []
-        function o(e) {
-          n.add(e.name),
-            [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) {
-              if (!n.has(e)) {
-                var r = t.get(e)
-                r && o(r)
-              }
-            }),
-            r.push(e)
-        }
-        return (
-          e.forEach(function (e) {
-            t.set(e.name, e)
-          }),
-          e.forEach(function (e) {
-            n.has(e.name) || o(e)
-          }),
-          r
-        )
-      }
-      function L(e) {
-        var t
-        return function () {
-          return (
-            t ||
-              (t = new Promise(function (n) {
-                Promise.resolve().then(function () {
-                  ;(t = void 0), n(e())
-                })
-              })),
-            t
-          )
-        }
-      }
-      var N = { placement: 'bottom', modifiers: [], strategy: 'absolute' }
-      function z() {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return !t.some(function (e) {
-          return !(e && 'function' === typeof e.getBoundingClientRect)
-        })
-      }
-      function B(e) {
-        void 0 === e && (e = {})
-        var t = e,
-          n = t.defaultModifiers,
-          r = void 0 === n ? [] : n,
-          o = t.defaultOptions,
-          i = void 0 === o ? N : o
-        return function (e, t, n) {
-          void 0 === n && (n = i)
-          var o = {
-              placement: 'bottom',
-              orderedModifiers: [],
-              options: Object.assign(Object.assign({}, N), i),
-              modifiersData: {},
-              elements: { reference: e, popper: t },
-              attributes: {},
-              styles: {},
-            },
-            a = [],
-            u = !1,
-            c = {
-              state: o,
-              setOptions: function (n) {
-                l(),
-                  (o.options = Object.assign(Object.assign(Object.assign({}, i), o.options), n)),
-                  (o.scrollParents = {
-                    reference: s(e) ? y(e) : e.contextElement ? y(e.contextElement) : [],
-                    popper: y(t),
-                  })
-                var u = (function (e) {
-                  var t = D(e)
-                  return R.reduce(function (e, n) {
-                    return e.concat(
-                      t.filter(function (e) {
-                        return e.phase === n
-                      }),
-                    )
-                  }, [])
-                })(
-                  (function (e) {
-                    var t = e.reduce(function (e, t) {
-                      var n = e[t.name]
-                      return (
-                        (e[t.name] = n
-                          ? Object.assign(
-                              Object.assign(Object.assign({}, n), t),
-                              {},
-                              {
-                                options: Object.assign(Object.assign({}, n.options), t.options),
-                                data: Object.assign(Object.assign({}, n.data), t.data),
-                              },
-                            )
-                          : t),
-                        e
-                      )
-                    }, {})
-                    return Object.keys(t).map(function (e) {
-                      return t[e]
-                    })
-                  })([].concat(r, o.options.modifiers)),
-                )
-                return (
-                  (o.orderedModifiers = u.filter(function (e) {
-                    return e.enabled
-                  })),
-                  o.orderedModifiers.forEach(function (e) {
-                    var t = e.name,
-                      n = e.options,
-                      r = void 0 === n ? {} : n,
-                      i = e.effect
-                    if ('function' === typeof i) {
-                      var s = i({ state: o, name: t, instance: c, options: r }),
-                        u = function () {}
-                      a.push(s || u)
-                    }
-                  }),
-                  c.update()
-                )
-              },
-              forceUpdate: function () {
-                if (!u) {
-                  var e = o.elements,
-                    t = e.reference,
-                    n = e.popper
-                  if (z(t, n)) {
-                    ;(o.rects = {
-                      reference: p(t, _(n), 'fixed' === o.options.strategy),
-                      popper: v(n),
-                    }),
-                      (o.reset = !1),
-                      (o.placement = o.options.placement),
-                      o.orderedModifiers.forEach(function (e) {
-                        return (o.modifiersData[e.name] = Object.assign({}, e.data))
-                      })
-                    for (var r = 0; r < o.orderedModifiers.length; r++)
-                      if (!0 !== o.reset) {
-                        var i = o.orderedModifiers[r],
-                          a = i.fn,
-                          s = i.options,
-                          l = void 0 === s ? {} : s,
-                          d = i.name
-                        'function' === typeof a &&
-                          (o = a({ state: o, options: l, name: d, instance: c }) || o)
-                      } else (o.reset = !1), (r = -1)
-                  }
-                }
-              },
-              update: L(function () {
-                return new Promise(function (e) {
-                  c.forceUpdate(), e(o)
-                })
-              }),
-              destroy: function () {
-                l(), (u = !0)
-              },
-            }
-          if (!z(e, t)) return c
-          function l() {
-            a.forEach(function (e) {
-              return e()
-            }),
-              (a = [])
-          }
-          return (
-            c.setOptions(n).then(function (e) {
-              !u && n.onFirstUpdate && n.onFirstUpdate(e)
-            }),
-            c
-          )
-        }
-      }
-      var H = { passive: !0 }
-      function F(e) {
-        return e.split('-')[0]
-      }
-      function V(e) {
-        return e.split('-')[1]
-      }
-      function W(e) {
-        return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y'
-      }
-      function U(e) {
-        var t,
-          n = e.reference,
-          r = e.element,
-          o = e.placement,
-          i = o ? F(o) : null,
-          a = o ? V(o) : null,
-          s = n.x + n.width / 2 - r.width / 2,
-          u = n.y + n.height / 2 - r.height / 2
-        switch (i) {
-          case x:
-            t = { x: s, y: n.y - r.height }
-            break
-          case k:
-            t = { x: s, y: n.y + n.height }
-            break
-          case E:
-            t = { x: n.x + n.width, y: u }
-            break
-          case O:
-            t = { x: n.x - r.width, y: u }
-            break
-          default:
-            t = { x: n.x, y: n.y }
-        }
-        var c = i ? W(i) : null
-        if (null != c) {
-          var l = 'y' === c ? 'height' : 'width'
-          switch (a) {
-            case M:
-              t[c] = Math.floor(t[c]) - Math.floor(n[l] / 2 - r[l] / 2)
-              break
-            case S:
-              t[c] = Math.floor(t[c]) + Math.ceil(n[l] / 2 - r[l] / 2)
-          }
-        }
-        return t
-      }
-      var G = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }
-      function q(e) {
-        var t,
-          n = e.popper,
-          r = e.popperRect,
-          o = e.placement,
-          a = e.offsets,
-          s = e.position,
-          u = e.gpuAcceleration,
-          c = e.adaptive,
-          d = (function (e) {
-            var t = e.x,
-              n = e.y,
-              r = window.devicePixelRatio || 1
-            return { x: Math.round(t * r) / r || 0, y: Math.round(n * r) / r || 0 }
-          })(a),
-          f = d.x,
-          h = d.y,
-          p = a.hasOwnProperty('x'),
-          v = a.hasOwnProperty('y'),
-          m = O,
-          g = x,
-          y = window
-        if (c) {
-          var b = _(n)
-          b === i(n) && (b = l(n)),
-            o === x && ((g = k), (h -= b.clientHeight - r.height), (h *= u ? 1 : -1)),
-            o === O && ((m = E), (f -= b.clientWidth - r.width), (f *= u ? 1 : -1))
-        }
-        var w,
-          T = Object.assign({ position: s }, c && G)
-        return u
-          ? Object.assign(
-              Object.assign({}, T),
-              {},
-              (((w = {})[g] = v ? '0' : ''),
-              (w[m] = p ? '0' : ''),
-              (w.transform =
-                (y.devicePixelRatio || 1) < 2
-                  ? 'translate(' + f + 'px, ' + h + 'px)'
-                  : 'translate3d(' + f + 'px, ' + h + 'px, 0)'),
-              w),
-            )
-          : Object.assign(
-              Object.assign({}, T),
-              {},
-              (((t = {})[g] = v ? h + 'px' : ''),
-              (t[m] = p ? f + 'px' : ''),
-              (t.transform = ''),
-              t),
-            )
-      }
-      var K = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }
-      function Z(e) {
-        return e.replace(/left|right|bottom|top/g, function (e) {
-          return K[e]
-        })
-      }
-      var X = { start: 'end', end: 'start' }
-      function $(e) {
-        return e.replace(/start|end/g, function (e) {
-          return X[e]
-        })
-      }
-      function Y(e, t) {
-        var n = Boolean(t.getRootNode && t.getRootNode().host)
-        if (e.contains(t)) return !0
-        if (n) {
-          var r = t
-          do {
-            if (r && e.isSameNode(r)) return !0
-            r = r.parentNode || r.host
-          } while (r)
-        }
-        return !1
-      }
-      function Q(e) {
-        return Object.assign(
-          Object.assign({}, e),
-          {},
-          { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height },
-        )
-      }
-      function J(e, t) {
-        return t === P
-          ? Q(
-              (function (e) {
-                var t = i(e),
-                  n = l(e),
-                  r = t.visualViewport,
-                  o = n.clientWidth,
-                  a = n.clientHeight,
-                  s = 0,
-                  u = 0
-                return (
-                  r &&
-                    ((o = r.width),
-                    (a = r.height),
-                    /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ||
-                      ((s = r.offsetLeft), (u = r.offsetTop))),
-                  { width: o, height: a, x: s + d(e), y: u }
-                )
-              })(e),
-            )
-          : u(t)
-          ? (function (e) {
-              var t = o(e)
-              return (
-                (t.top = t.top + e.clientTop),
-                (t.left = t.left + e.clientLeft),
-                (t.bottom = t.top + e.clientHeight),
-                (t.right = t.left + e.clientWidth),
-                (t.width = e.clientWidth),
-                (t.height = e.clientHeight),
-                (t.x = t.left),
-                (t.y = t.top),
-                t
-              )
-            })(t)
-          : Q(
-              (function (e) {
-                var t = l(e),
-                  n = a(e),
-                  r = e.ownerDocument.body,
-                  o = Math.max(
-                    t.scrollWidth,
-                    t.clientWidth,
-                    r ? r.scrollWidth : 0,
-                    r ? r.clientWidth : 0,
-                  ),
-                  i = Math.max(
-                    t.scrollHeight,
-                    t.clientHeight,
-                    r ? r.scrollHeight : 0,
-                    r ? r.clientHeight : 0,
-                  ),
-                  s = -n.scrollLeft + d(e),
-                  u = -n.scrollTop
-                return (
-                  'rtl' === f(r || t).direction &&
-                    (s += Math.max(t.clientWidth, r ? r.clientWidth : 0) - o),
-                  { width: o, height: i, x: s, y: u }
-                )
-              })(l(e)),
-            )
-      }
-      function ee(e, t, n) {
-        var r =
-            'clippingParents' === t
-              ? (function (e) {
-                  var t = y(m(e)),
-                    n = ['absolute', 'fixed'].indexOf(f(e).position) >= 0 && u(e) ? _(e) : e
-                  return s(n)
-                    ? t.filter(function (e) {
-                        return s(e) && Y(e, n) && 'body' !== c(e)
-                      })
-                    : []
-                })(e)
-              : [].concat(t),
-          o = [].concat(r, [n]),
-          i = o[0],
-          a = o.reduce(function (t, n) {
-            var r = J(e, n)
-            return (
-              (t.top = Math.max(r.top, t.top)),
-              (t.right = Math.min(r.right, t.right)),
-              (t.bottom = Math.min(r.bottom, t.bottom)),
-              (t.left = Math.max(r.left, t.left)),
-              t
-            )
-          }, J(e, i))
-        return (
-          (a.width = a.right - a.left),
-          (a.height = a.bottom - a.top),
-          (a.x = a.left),
-          (a.y = a.top),
-          a
-        )
-      }
-      function te(e) {
-        return Object.assign(Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }), e)
-      }
-      function ne(e, t) {
-        return t.reduce(function (t, n) {
-          return (t[n] = e), t
-        }, {})
-      }
-      function re(e, t) {
-        void 0 === t && (t = {})
-        var n = t,
-          r = n.placement,
-          i = void 0 === r ? e.placement : r,
-          a = n.boundary,
-          u = void 0 === a ? 'clippingParents' : a,
-          c = n.rootBoundary,
-          d = void 0 === c ? P : c,
-          f = n.elementContext,
-          h = void 0 === f ? j : f,
-          p = n.altBoundary,
-          v = void 0 !== p && p,
-          m = n.padding,
-          g = void 0 === m ? 0 : m,
-          y = te('number' !== typeof g ? g : ne(g, C)),
-          b = h === j ? 'reference' : j,
-          w = e.elements.reference,
-          _ = e.rects.popper,
-          O = e.elements[v ? b : h],
-          T = ee(s(O) ? O : O.contextElement || l(e.elements.popper), u, d),
-          M = o(w),
-          S = U({ reference: M, element: _, strategy: 'absolute', placement: i }),
-          I = Q(Object.assign(Object.assign({}, _), S)),
-          A = h === j ? I : M,
-          R = {
-            top: T.top - A.top + y.top,
-            bottom: A.bottom - T.bottom + y.bottom,
-            left: T.left - A.left + y.left,
-            right: A.right - T.right + y.right,
-          },
-          D = e.modifiersData.offset
-        if (h === j && D) {
-          var L = D[i]
-          Object.keys(R).forEach(function (e) {
-            var t = [E, k].indexOf(e) >= 0 ? 1 : -1,
-              n = [x, k].indexOf(e) >= 0 ? 'y' : 'x'
-            R[e] += L[n] * t
-          })
-        }
-        return R
-      }
-      function oe(e, t, n) {
-        return Math.max(e, Math.min(t, n))
-      }
-      function ie(e, t, n) {
-        return (
-          void 0 === n && (n = { x: 0, y: 0 }),
-          {
-            top: e.top - t.height - n.y,
-            right: e.right - t.width + n.x,
-            bottom: e.bottom - t.height + n.y,
-            left: e.left - t.width - n.x,
-          }
-        )
-      }
-      function ae(e) {
-        return [x, E, k, O].some(function (t) {
-          return e[t] >= 0
-        })
-      }
-      var se = B({
-          defaultModifiers: [
-            {
-              name: 'eventListeners',
-              enabled: !0,
-              phase: 'write',
-              fn: function () {},
-              effect: function (e) {
-                var t = e.state,
-                  n = e.instance,
-                  r = e.options,
-                  o = r.scroll,
-                  a = void 0 === o || o,
-                  s = r.resize,
-                  u = void 0 === s || s,
-                  c = i(t.elements.popper),
-                  l = [].concat(t.scrollParents.reference, t.scrollParents.popper)
-                return (
-                  a &&
-                    l.forEach(function (e) {
-                      e.addEventListener('scroll', n.update, H)
-                    }),
-                  u && c.addEventListener('resize', n.update, H),
-                  function () {
-                    a &&
-                      l.forEach(function (e) {
-                        e.removeEventListener('scroll', n.update, H)
-                      }),
-                      u && c.removeEventListener('resize', n.update, H)
-                  }
-                )
-              },
-              data: {},
-            },
-            {
-              name: 'popperOffsets',
-              enabled: !0,
-              phase: 'read',
-              fn: function (e) {
-                var t = e.state,
-                  n = e.name
-                t.modifiersData[n] = U({
-                  reference: t.rects.reference,
-                  element: t.rects.popper,
-                  strategy: 'absolute',
-                  placement: t.placement,
-                })
-              },
-              data: {},
-            },
-            {
-              name: 'computeStyles',
-              enabled: !0,
-              phase: 'beforeWrite',
-              fn: function (e) {
-                var t = e.state,
-                  n = e.options,
-                  r = n.gpuAcceleration,
-                  o = void 0 === r || r,
-                  i = n.adaptive,
-                  a = void 0 === i || i,
-                  s = {
-                    placement: F(t.placement),
-                    popper: t.elements.popper,
-                    popperRect: t.rects.popper,
-                    gpuAcceleration: o,
-                  }
-                null != t.modifiersData.popperOffsets &&
-                  (t.styles.popper = Object.assign(
-                    Object.assign({}, t.styles.popper),
-                    q(
-                      Object.assign(
-                        Object.assign({}, s),
-                        {},
-                        {
-                          offsets: t.modifiersData.popperOffsets,
-                          position: t.options.strategy,
-                          adaptive: a,
-                        },
-                      ),
-                    ),
-                  )),
-                  null != t.modifiersData.arrow &&
-                    (t.styles.arrow = Object.assign(
-                      Object.assign({}, t.styles.arrow),
-                      q(
-                        Object.assign(
-                          Object.assign({}, s),
-                          {},
-                          { offsets: t.modifiersData.arrow, position: 'absolute', adaptive: !1 },
-                        ),
-                      ),
-                    )),
-                  (t.attributes.popper = Object.assign(
-                    Object.assign({}, t.attributes.popper),
-                    {},
-                    { 'data-popper-placement': t.placement },
-                  ))
-              },
-              data: {},
-            },
-            {
-              name: 'applyStyles',
-              enabled: !0,
-              phase: 'write',
-              fn: function (e) {
-                var t = e.state
-                Object.keys(t.elements).forEach(function (e) {
-                  var n = t.styles[e] || {},
-                    r = t.attributes[e] || {},
-                    o = t.elements[e]
-                  u(o) &&
-                    c(o) &&
-                    (Object.assign(o.style, n),
-                    Object.keys(r).forEach(function (e) {
-                      var t = r[e]
-                      !1 === t ? o.removeAttribute(e) : o.setAttribute(e, !0 === t ? '' : t)
-                    }))
-                })
-              },
-              effect: function (e) {
-                var t = e.state,
-                  n = {
-                    popper: { position: t.options.strategy, left: '0', top: '0', margin: '0' },
-                    arrow: { position: 'absolute' },
-                    reference: {},
-                  }
-                return (
-                  Object.assign(t.elements.popper.style, n.popper),
-                  t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow),
-                  function () {
-                    Object.keys(t.elements).forEach(function (e) {
-                      var r = t.elements[e],
-                        o = t.attributes[e] || {},
-                        i = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(
-                          function (e, t) {
-                            return (e[t] = ''), e
-                          },
-                          {},
-                        )
-                      u(r) &&
-                        c(r) &&
-                        (Object.assign(r.style, i),
-                        Object.keys(o).forEach(function (e) {
-                          r.removeAttribute(e)
-                        }))
-                    })
-                  }
-                )
-              },
-              requires: ['computeStyles'],
-            },
-            {
-              name: 'offset',
-              enabled: !0,
-              phase: 'main',
-              requires: ['popperOffsets'],
-              fn: function (e) {
-                var t = e.state,
-                  n = e.options,
-                  r = e.name,
-                  o = n.offset,
-                  i = void 0 === o ? [0, 0] : o,
-                  a = A.reduce(function (e, n) {
-                    return (
-                      (e[n] = (function (e, t, n) {
-                        var r = F(e),
-                          o = [O, x].indexOf(r) >= 0 ? -1 : 1,
-                          i =
-                            'function' === typeof n
-                              ? n(Object.assign(Object.assign({}, t), {}, { placement: e }))
-                              : n,
-                          a = i[0],
-                          s = i[1]
-                        return (
-                          (a = a || 0),
-                          (s = (s || 0) * o),
-                          [O, E].indexOf(r) >= 0 ? { x: s, y: a } : { x: a, y: s }
-                        )
-                      })(n, t.rects, i)),
-                      e
-                    )
-                  }, {}),
-                  s = a[t.placement],
-                  u = s.x,
-                  c = s.y
-                null != t.modifiersData.popperOffsets &&
-                  ((t.modifiersData.popperOffsets.x += u), (t.modifiersData.popperOffsets.y += c)),
-                  (t.modifiersData[r] = a)
-              },
-            },
-            {
-              name: 'flip',
-              enabled: !0,
-              phase: 'main',
-              fn: function (e) {
-                var t = e.state,
-                  n = e.options,
-                  r = e.name
-                if (!t.modifiersData[r]._skip) {
-                  for (
-                    var o = n.mainAxis,
-                      i = void 0 === o || o,
-                      a = n.altAxis,
-                      s = void 0 === a || a,
-                      u = n.fallbackPlacements,
-                      c = n.padding,
-                      l = n.boundary,
-                      d = n.rootBoundary,
-                      f = n.altBoundary,
-                      h = n.flipVariations,
-                      p = void 0 === h || h,
-                      v = n.allowedAutoPlacements,
-                      m = t.options.placement,
-                      g = F(m),
-                      y =
-                        u ||
-                        (g === m || !p
-                          ? [Z(m)]
-                          : (function (e) {
-                              if (F(e) === T) return []
-                              var t = Z(e)
-                              return [$(e), t, $(t)]
-                            })(m)),
-                      b = [m].concat(y).reduce(function (e, n) {
-                        return e.concat(
-                          F(n) === T
-                            ? (function (e, t) {
-                                void 0 === t && (t = {})
-                                var n = t,
-                                  r = n.placement,
-                                  o = n.boundary,
-                                  i = n.rootBoundary,
-                                  a = n.padding,
-                                  s = n.flipVariations,
-                                  u = n.allowedAutoPlacements,
-                                  c = void 0 === u ? A : u,
-                                  l = V(r),
-                                  d = l
-                                    ? s
-                                      ? I
-                                      : I.filter(function (e) {
-                                          return V(e) === l
-                                        })
-                                    : C,
-                                  f = d.filter(function (e) {
-                                    return c.indexOf(e) >= 0
-                                  })
-                                0 === f.length && (f = d)
-                                var h = f.reduce(function (t, n) {
-                                  return (
-                                    (t[n] = re(e, {
-                                      placement: n,
-                                      boundary: o,
-                                      rootBoundary: i,
-                                      padding: a,
-                                    })[F(n)]),
-                                    t
-                                  )
-                                }, {})
-                                return Object.keys(h).sort(function (e, t) {
-                                  return h[e] - h[t]
-                                })
-                              })(t, {
-                                placement: n,
-                                boundary: l,
-                                rootBoundary: d,
-                                padding: c,
-                                flipVariations: p,
-                                allowedAutoPlacements: v,
-                              })
-                            : n,
-                        )
-                      }, []),
-                      w = t.rects.reference,
-                      _ = t.rects.popper,
-                      S = new Map(),
-                      P = !0,
-                      j = b[0],
-                      R = 0;
-                    R < b.length;
-                    R++
-                  ) {
-                    var D = b[R],
-                      L = F(D),
-                      N = V(D) === M,
-                      z = [x, k].indexOf(L) >= 0,
-                      B = z ? 'width' : 'height',
-                      H = re(t, {
-                        placement: D,
-                        boundary: l,
-                        rootBoundary: d,
-                        altBoundary: f,
-                        padding: c,
-                      }),
-                      W = z ? (N ? E : O) : N ? k : x
-                    w[B] > _[B] && (W = Z(W))
-                    var U = Z(W),
-                      G = []
-                    if (
-                      (i && G.push(H[L] <= 0),
-                      s && G.push(H[W] <= 0, H[U] <= 0),
-                      G.every(function (e) {
-                        return e
-                      }))
-                    ) {
-                      ;(j = D), (P = !1)
-                      break
-                    }
-                    S.set(D, G)
-                  }
-                  if (P)
-                    for (
-                      var q = function (e) {
-                          var t = b.find(function (t) {
-                            var n = S.get(t)
-                            if (n)
-                              return n.slice(0, e).every(function (e) {
-                                return e
-                              })
-                          })
-                          if (t) return (j = t), 'break'
-                        },
-                        K = p ? 3 : 1;
-                      K > 0;
-                      K--
-                    ) {
-                      if ('break' === q(K)) break
-                    }
-                  t.placement !== j &&
-                    ((t.modifiersData[r]._skip = !0), (t.placement = j), (t.reset = !0))
-                }
-              },
-              requiresIfExists: ['offset'],
-              data: { _skip: !1 },
-            },
-            {
-              name: 'preventOverflow',
-              enabled: !0,
-              phase: 'main',
-              fn: function (e) {
-                var t = e.state,
-                  n = e.options,
-                  r = e.name,
-                  o = n.mainAxis,
-                  i = void 0 === o || o,
-                  a = n.altAxis,
-                  s = void 0 !== a && a,
-                  u = n.boundary,
-                  c = n.rootBoundary,
-                  l = n.altBoundary,
-                  d = n.padding,
-                  f = n.tether,
-                  h = void 0 === f || f,
-                  p = n.tetherOffset,
-                  m = void 0 === p ? 0 : p,
-                  g = re(t, { boundary: u, rootBoundary: c, padding: d, altBoundary: l }),
-                  y = F(t.placement),
-                  b = V(t.placement),
-                  w = !b,
-                  T = W(y),
-                  C = 'x' === T ? 'y' : 'x',
-                  S = t.modifiersData.popperOffsets,
-                  P = t.rects.reference,
-                  j = t.rects.popper,
-                  I =
-                    'function' === typeof m
-                      ? m(Object.assign(Object.assign({}, t.rects), {}, { placement: t.placement }))
-                      : m,
-                  A = { x: 0, y: 0 }
-                if (S) {
-                  if (i) {
-                    var R = 'y' === T ? x : O,
-                      D = 'y' === T ? k : E,
-                      L = 'y' === T ? 'height' : 'width',
-                      N = S[T],
-                      z = S[T] + g[R],
-                      B = S[T] - g[D],
-                      H = h ? -j[L] / 2 : 0,
-                      U = b === M ? P[L] : j[L],
-                      G = b === M ? -j[L] : -P[L],
-                      q = t.elements.arrow,
-                      K = h && q ? v(q) : { width: 0, height: 0 },
-                      Z = t.modifiersData['arrow#persistent']
-                        ? t.modifiersData['arrow#persistent'].padding
-                        : { top: 0, right: 0, bottom: 0, left: 0 },
-                      X = Z[R],
-                      $ = Z[D],
-                      Y = oe(0, P[L], K[L]),
-                      Q = w ? P[L] / 2 - H - Y - X - I : U - Y - X - I,
-                      J = w ? -P[L] / 2 + H + Y + $ + I : G + Y + $ + I,
-                      ee = t.elements.arrow && _(t.elements.arrow),
-                      te = ee ? ('y' === T ? ee.clientTop || 0 : ee.clientLeft || 0) : 0,
-                      ne = t.modifiersData.offset ? t.modifiersData.offset[t.placement][T] : 0,
-                      ie = S[T] + Q - ne - te,
-                      ae = S[T] + J - ne,
-                      se = oe(h ? Math.min(z, ie) : z, N, h ? Math.max(B, ae) : B)
-                    ;(S[T] = se), (A[T] = se - N)
-                  }
-                  if (s) {
-                    var ue = 'x' === T ? x : O,
-                      ce = 'x' === T ? k : E,
-                      le = S[C],
-                      de = oe(le + g[ue], le, le - g[ce])
-                    ;(S[C] = de), (A[C] = de - le)
-                  }
-                  t.modifiersData[r] = A
-                }
-              },
-              requiresIfExists: ['offset'],
-            },
-            {
-              name: 'arrow',
-              enabled: !0,
-              phase: 'main',
-              fn: function (e) {
-                var t,
-                  n = e.state,
-                  r = e.name,
-                  o = n.elements.arrow,
-                  i = n.modifiersData.popperOffsets,
-                  a = F(n.placement),
-                  s = W(a),
-                  u = [O, E].indexOf(a) >= 0 ? 'height' : 'width'
-                if (o && i) {
-                  var c = n.modifiersData[r + '#persistent'].padding,
-                    l = v(o),
-                    d = 'y' === s ? x : O,
-                    f = 'y' === s ? k : E,
-                    h = n.rects.reference[u] + n.rects.reference[s] - i[s] - n.rects.popper[u],
-                    p = i[s] - n.rects.reference[s],
-                    m = _(o),
-                    g = m ? ('y' === s ? m.clientHeight || 0 : m.clientWidth || 0) : 0,
-                    y = h / 2 - p / 2,
-                    b = c[d],
-                    w = g - l[u] - c[f],
-                    T = g / 2 - l[u] / 2 + y,
-                    C = oe(b, T, w),
-                    M = s
-                  n.modifiersData[r] = (((t = {})[M] = C), (t.centerOffset = C - T), t)
-                }
-              },
-              effect: function (e) {
-                var t = e.state,
-                  n = e.options,
-                  r = e.name,
-                  o = n.element,
-                  i = void 0 === o ? '[data-popper-arrow]' : o,
-                  a = n.padding,
-                  s = void 0 === a ? 0 : a
-                null != i &&
-                  ('string' !== typeof i || (i = t.elements.popper.querySelector(i))) &&
-                  Y(t.elements.popper, i) &&
-                  ((t.elements.arrow = i),
-                  (t.modifiersData[r + '#persistent'] = {
-                    padding: te('number' !== typeof s ? s : ne(s, C)),
-                  }))
-              },
-              requires: ['popperOffsets'],
-              requiresIfExists: ['preventOverflow'],
-            },
-            {
-              name: 'hide',
-              enabled: !0,
-              phase: 'main',
-              requiresIfExists: ['preventOverflow'],
-              fn: function (e) {
-                var t = e.state,
-                  n = e.name,
-                  r = t.rects.reference,
-                  o = t.rects.popper,
-                  i = t.modifiersData.preventOverflow,
-                  a = re(t, { elementContext: 'reference' }),
-                  s = re(t, { altBoundary: !0 }),
-                  u = ie(a, r),
-                  c = ie(s, o, i),
-                  l = ae(u),
-                  d = ae(c)
-                ;(t.modifiersData[n] = {
-                  referenceClippingOffsets: u,
-                  popperEscapeOffsets: c,
-                  isReferenceHidden: l,
-                  hasPopperEscaped: d,
-                }),
-                  (t.attributes.popper = Object.assign(
-                    Object.assign({}, t.attributes.popper),
-                    {},
-                    { 'data-popper-reference-hidden': l, 'data-popper-escaped': d },
-                  ))
-              },
-            },
-          ],
-        }),
-        ue = n(67294),
-        ce = n(23459),
-        le = {
-          name: 'matchWidth',
-          enabled: !0,
-          phase: 'beforeWrite',
-          requires: ['computeStyles'],
-          fn: (e) => {
-            var { state: t } = e
-            t.styles.popper.width = t.rects.reference.width + 'px'
-          },
-          effect: (e) => {
-            var { state: t } = e
-            return () => {
-              var e = t.elements.reference
-              t.elements.popper.style.width = e.offsetWidth + 'px'
-            }
-          },
-        },
-        de = {
-          name: 'transformOrigin',
-          enabled: !0,
-          phase: 'write',
-          fn: (e) => {
-            var { state: t } = e
-            fe(t)
-          },
-          effect: (e) => {
-            var { state: t } = e
-            return () => {
-              fe(t)
-            }
-          },
-        },
-        fe = (e) => {
-          e.elements.popper.style.setProperty(ce.Dq.transformOrigin.var, (0, ce.mv)(e.placement))
-        },
-        he = {
-          name: 'positionArrow',
-          enabled: !0,
-          phase: 'afterWrite',
-          fn: (e) => {
-            var { state: t } = e
-            pe(t)
-          },
-        },
-        pe = (e) => {
-          var t
-          if (e.placement) {
-            var n = ve(e.placement)
-            if (null != (t = e.elements) && t.arrow && n) {
-              Object.assign(e.elements.arrow.style, {
-                [n.property]: n.value,
-                width: ce.Dq.arrowSize.varRef,
-                height: ce.Dq.arrowSize.varRef,
-                zIndex: -1,
-              })
-              var r = {
-                [ce.Dq.arrowSizeHalf.var]: 'calc(' + ce.Dq.arrowSize.varRef + ' / 2)',
-                [ce.Dq.arrowOffset.var]: 'calc(' + ce.Dq.arrowSizeHalf.varRef + ' * -1)',
-              }
-              for (var o in r) e.elements.arrow.style.setProperty(o, r[o])
-            }
-          }
-        },
-        ve = (e) =>
-          e.startsWith('top')
-            ? { property: 'bottom', value: ce.Dq.arrowOffset.varRef }
-            : e.startsWith('bottom')
-            ? { property: 'top', value: ce.Dq.arrowOffset.varRef }
-            : e.startsWith('left')
-            ? { property: 'right', value: ce.Dq.arrowOffset.varRef }
-            : e.startsWith('right')
-            ? { property: 'left', value: ce.Dq.arrowOffset.varRef }
-            : void 0,
-        me = {
-          name: 'innerArrow',
-          enabled: !0,
-          phase: 'main',
-          requires: ['arrow'],
-          fn: (e) => {
-            var { state: t } = e
-            ge(t)
-          },
-          effect: (e) => {
-            var { state: t } = e
-            return () => {
-              ge(t)
-            }
-          },
-        },
-        ge = (e) => {
-          if (e.elements.arrow) {
-            var t = e.elements.arrow.querySelector('[data-popper-arrow-inner]')
-            t &&
-              Object.assign(t.style, {
-                transform: 'rotate(45deg)',
-                background: ce.Dq.arrowBg.varRef,
-                top: 0,
-                left: 0,
-                width: '100%',
-                height: '100%',
-                position: 'absolute',
-                zIndex: 'inherit',
-                boxShadow: (0, ce.Ke)(e.placement),
-              })
-          }
-        }
-      function ye() {
-        return (ye =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function be(e) {
-        void 0 === e && (e = {})
-        var {
-            enabled: t = !0,
-            modifiers: n = [],
-            placement: o = 'bottom',
-            strategy: i = 'absolute',
-            arrowPadding: a = 8,
-            eventListeners: s = !0,
-            offset: u,
-            gutter: c = 8,
-            flip: l = !0,
-            boundary: d = 'clippingParents',
-            preventOverflow: f = !0,
-            matchWidth: h,
-          } = e,
-          p = (0, ue.useRef)(null),
-          v = (0, ue.useRef)(null),
-          m = (0, ue.useRef)(null),
-          g = (0, ue.useRef)(() => {}),
-          y = (0, ue.useCallback)(() => {
-            t &&
-              p.current &&
-              v.current &&
-              (null == g.current || g.current(),
-              (m.current = se(p.current, v.current, {
-                placement: o,
-                modifiers: [
-                  me,
-                  he,
-                  de,
-                  ye({}, le, { enabled: !!h }),
-                  ye({ name: 'eventListeners' }, (0, ce.$B)(s)),
-                  { name: 'arrow', options: { padding: a } },
-                  { name: 'offset', options: { offset: null != u ? u : [0, c] } },
-                  { name: 'flip', enabled: !!l, options: { padding: 8 } },
-                  { name: 'preventOverflow', enabled: !!f, options: { boundary: d } },
-                  ...n,
-                ],
-                strategy: i,
-              })),
-              m.current.forceUpdate(),
-              (g.current = m.current.destroy))
-          }, [t, o, n, h, s, a, u, c, l, f, d, i])
-        ;(0, ue.useEffect)(
-          () => () => {
-            var e
-            p.current || v.current || (null == (e = m.current) || e.destroy(), (m.current = null))
-          },
-          [],
-        )
-        var b = (0, ue.useCallback)(
-            (e) => {
-              ;(p.current = e), y()
-            },
-            [y],
-          ),
-          w = (0, ue.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                ye({}, e, { ref: (0, r.l)(b, t) })
-              )
-            },
-            [b],
-          ),
-          _ = (0, ue.useCallback)(
-            (e) => {
-              ;(v.current = e), y()
-            },
-            [y],
-          ),
-          x = (0, ue.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                ye({}, e, {
-                  ref: (0, r.l)(_, t),
-                  style: ye({}, e.style, {
-                    position: i,
-                    minWidth: 'max-content',
-                    inset: '0 auto auto 0',
-                  }),
-                })
-              )
-            },
-            [i, _],
-          ),
-          k = (0, ue.useCallback)(function (e, t) {
-            return (
-              void 0 === e && (e = {}),
-              void 0 === t && (t = null),
-              ye(
-                {},
-                (function (e, t) {
-                  if (null == e) return {}
-                  var n,
-                    r,
-                    o = {},
-                    i = Object.keys(e)
-                  for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-                  return o
-                })(e, ['size', 'shadowColor', 'bg', 'style']),
-                { ref: t, 'data-popper-arrow': '', style: we(e) },
-              )
-            )
-          }, []),
-          E = (0, ue.useCallback)(function (e, t) {
-            return (
-              void 0 === e && (e = {}),
-              void 0 === t && (t = null),
-              ye({}, e, { ref: t, 'data-popper-arrow-inner': '' })
-            )
-          }, [])
-        return {
-          update() {
-            var e
-            null == (e = m.current) || e.update()
-          },
-          forceUpdate() {
-            var e
-            null == (e = m.current) || e.forceUpdate()
-          },
-          transformOrigin: ce.Dq.transformOrigin.varRef,
-          referenceRef: b,
-          popperRef: _,
-          getPopperProps: x,
-          getArrowProps: k,
-          getArrowInnerProps: E,
-          getReferenceProps: w,
-        }
-      }
-      function we(e) {
-        var { size: t, shadowColor: n, bg: r, style: o } = e,
-          i = ye({}, o, { position: 'absolute' })
-        return (
-          t && (i['--popper-arrow-size'] = t),
-          n && (i['--popper-arrow-shadow-color'] = n),
-          r && (i['--popper-arrow-bg'] = r),
-          i
-        )
-      }
-    },
-    23459: function (e, t, n) {
-      'use strict'
-      function r() {
-        return (r =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      n.d(t, {
-        Dq: function () {
-          return i
-        },
-        Ke: function () {
-          return a
-        },
-        mv: function () {
-          return u
-        },
-        $B: function () {
-          return l
-        },
-      })
-      var o = (e, t) => ({ var: e, varRef: t ? 'var(' + e + ', ' + t + ')' : 'var(' + e + ')' }),
-        i = {
-          arrowShadowColor: o('--popper-arrow-shadow-color'),
-          arrowSize: o('--popper-arrow-size', '8px'),
-          arrowSizeHalf: o('--popper-arrow-size-half'),
-          arrowBg: o('--popper-arrow-bg'),
-          transformOrigin: o('--popper-transform-origin'),
-          arrowOffset: o('--popper-arrow-offset'),
-        }
-      function a(e) {
-        return e.includes('top')
-          ? '1px 1px 1px 0 var(--popper-arrow-shadow-color)'
-          : e.includes('bottom')
-          ? '-1px -1px 1px 0 var(--popper-arrow-shadow-color)'
-          : e.includes('right')
-          ? '-1px 1px 1px 0 var(--popper-arrow-shadow-color)'
-          : e.includes('left')
-          ? '1px -1px 1px 0 var(--popper-arrow-shadow-color)'
-          : void 0
-      }
-      var s = {
-          top: 'bottom center',
-          'top-start': 'bottom left',
-          'top-end': 'bottom right',
-          bottom: 'top center',
-          'bottom-start': 'top left',
-          'bottom-end': 'top right',
-          left: 'right center',
-          'left-start': 'right top',
-          'left-end': 'right bottom',
-          right: 'left center',
-          'right-start': 'left top',
-          'right-end': 'left bottom',
-        },
-        u = (e) => s[e],
-        c = { scroll: !0, resize: !0 }
-      function l(e) {
-        return 'object' === typeof e
-          ? { enabled: !0, options: r({}, c, e) }
-          : { enabled: e, options: c }
-      }
-    },
-    67273: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        h: function () {
-          return b
-        },
-      })
-      var r = n(67294),
-        o = n(77581)
-      function i() {
-        var e = r.useRef(!1),
-          [t, n] = r.useState(0)
-        return (
-          (0, o.z)(() => {
-            e.current = !0
-          }),
-          r.useCallback(() => {
-            e.current || n(t + 1)
-          }, [t])
-        )
-      }
-      var a = n(68327),
-        s = n(84461),
-        u = n(73808),
-        c = n(28500),
-        l = n(73935),
-        d = n(34288)
-      function f() {
-        return (f =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var [h, p] = (0, c.k)({ strict: !1, name: 'PortalContext' }),
-        v = 'chakra-portal',
-        m = (e) =>
-          r.createElement(
-            'div',
-            {
-              className: 'chakra-portal-zIndex',
-              style: { position: 'absolute', zIndex: e.zIndex, top: 0, left: 0, right: 0 },
-            },
-            e.children,
-          ),
-        g = (e) => {
-          var { appendToParentPortal: t, children: n } = e,
-            o = r.useRef(null),
-            s = r.useRef(null),
-            u = i(),
-            c = p(),
-            f = (0, d.L)()
-          ;(0, a.G)(() => {
-            if (o.current) {
-              var e = o.current.ownerDocument,
-                n = t && null != c ? c : e.body
-              if (n) {
-                ;(s.current = e.createElement('div')),
-                  (s.current.className = v),
-                  n.appendChild(s.current),
-                  u()
-                var r = s.current
-                return () => {
-                  n.contains(r) && n.removeChild(r)
-                }
-              }
-            }
-          }, [])
-          var g =
-            null != f && f.zIndex
-              ? r.createElement(m, { zIndex: null == f ? void 0 : f.zIndex }, n)
-              : n
-          return s.current
-            ? (0, l.createPortal)(r.createElement(h, { value: s.current }, g), s.current)
-            : r.createElement('span', { ref: o })
-        },
-        y = (e) => {
-          var { children: t, containerRef: n, appendToParentPortal: o } = e,
-            u = n.current,
-            c = null != u ? u : s.jU ? document.body : void 0,
-            d = r.useMemo(() => {
-              var e = null == u ? void 0 : u.ownerDocument.createElement('div')
-              return e && (e.className = v), e
-            }, [u]),
-            f = i()
-          return (
-            (0, a.G)(() => {
-              f()
-            }, []),
-            (0, a.G)(() => {
-              if (d && c)
-                return (
-                  c.appendChild(d),
-                  () => {
-                    c.removeChild(d)
-                  }
-                )
-            }, [d, c]),
-            c && d ? (0, l.createPortal)(r.createElement(h, { value: o ? d : null }, t), d) : null
-          )
-        }
-      function b(e) {
-        var { containerRef: t } = e,
-          n = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['containerRef'])
-        return t ? r.createElement(y, f({ containerRef: t }, n)) : r.createElement(g, n)
-      }
-      ;(b.defaultProps = { appendToParentPortal: !0 }),
-        (b.className = v),
-        (b.selector = '.chakra-portal'),
-        u.Ts && (b.displayName = 'Portal')
-    },
-    60418: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.getValidChildren = function (e) {
-          return r.Children.toArray(e).filter(function (e) {
-            return r.isValidElement(e)
-          })
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    40805: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.createContext = function (e) {
-          void 0 === e && (e = {})
-          var t = e,
-            n = t.strict,
-            o = void 0 === n || n,
-            i = t.errorMessage,
-            a =
-              void 0 === i
-                ? 'useContext: `context` is undefined. Seems you forgot to wrap component within the Provider'
-                : i,
-            s = t.name,
-            u = r.createContext(void 0)
-          return (
-            (u.displayName = s),
-            [
-              u.Provider,
-              function e() {
-                var t = r.useContext(u)
-                if (!t && o) {
-                  var n = new Error(a)
-                  throw (
-                    ((n.name = 'ContextError'),
-                    null == Error.captureStackTrace || Error.captureStackTrace(n, e),
-                    n)
-                  )
-                }
-                return t
-              },
-              u,
-            ]
-          )
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    19277: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(73702)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(40805)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(47412)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(60418)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-    },
-    73702: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.assignRef = o),
-        (t.mergeRefs = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return function (e) {
-            t.forEach(function (t) {
-              return o(t, e)
-            })
-          }
-        })
-      var r = n(66751)
-      function o(e, t) {
-        if (null != e)
-          if ((0, r.isFunction)(e)) e(t)
-          else
-            try {
-              e.current = t
-            } catch (n) {
-              throw new Error("Cannot assign value '" + t + "' to ref '" + e + "'")
-            }
-      }
-    },
-    47412: function () {},
-    24255: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        W: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e) {
-        return r.Children.toArray(e).filter((e) => r.isValidElement(e))
-      }
-    },
-    72947: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        l: function () {
-          return i
-        },
-      })
-      var r = n(73808)
-      function o(e, t) {
-        if (null != e)
-          if ((0, r.mf)(e)) e(t)
-          else
-            try {
-              e.current = t
-            } catch (n) {
-              throw new Error("Cannot assign value '" + t + "' to ref '" + e + "'")
-            }
-      }
-      function i() {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return (e) => {
-          t.forEach((t) => o(t, e))
-        }
-      }
-    },
-    40980: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        useTheme: function () {
-          return o.useTheme
-        },
-      })
-      n(62300)
-      var r = n(84806)
-      n.o(r, 'useTheme') &&
-        n.d(t, {
-          useTheme: function () {
-            return r.useTheme
-          },
-        })
-      var o = n(11180)
-    },
-    46049: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Ph: function () {
-          return I
-        },
-      })
-      var r = n(84461),
-        o = n(80658),
-        i = n(94577),
-        a = n(90639),
-        s = n(90063),
-        u = n(2326),
-        c = n(55284),
-        l = n(29676),
-        d = n(89384),
-        f = n(73808),
-        h = n(28500),
-        p = n(72947),
-        v = n(67294)
-      function m() {
-        return (m =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function g(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var [y, b] = (0, h.k)({ strict: !1, name: 'FormControlContext' })
-      var w = (0, s.G)((e, t) => {
-        var n = (0, u.j)('Form', e),
-          s = (function (e) {
-            var { id: t, isRequired: n, isInvalid: s, isDisabled: u, isReadOnly: c } = e,
-              l = g(e, ['id', 'isRequired', 'isInvalid', 'isDisabled', 'isReadOnly']),
-              d = (0, i.Me)(),
-              f = t || 'field-' + d,
-              h = f + '-label',
-              y = f + '-feedback',
-              b = f + '-helptext',
-              [w, _] = v.useState(!1),
-              [x, k] = v.useState(!1),
-              [E, O] = (0, a.k)(),
-              T = v.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    m({ id: b }, e, {
-                      ref: (0, p.l)(t, (e) => {
-                        e && k(!0)
-                      }),
-                    })
-                  )
-                },
-                [b],
-              ),
-              C = v.useCallback(
-                function (e, t) {
-                  var n, o
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    m({}, e, {
-                      ref: t,
-                      'data-focus': (0, r.PB)(E),
-                      'data-disabled': (0, r.PB)(u),
-                      'data-invalid': (0, r.PB)(s),
-                      'data-readonly': (0, r.PB)(c),
-                      id: null != (n = e.id) ? n : h,
-                      htmlFor: null != (o = e.htmlFor) ? o : f,
-                    })
-                  )
-                },
-                [f, u, E, s, c, h],
-              ),
-              M = v.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    m({ id: y }, e, {
-                      ref: (0, p.l)(t, (e) => {
-                        e && _(!0)
-                      }),
-                      'aria-live': 'polite',
-                    })
-                  )
-                },
-                [y],
-              ),
-              S = v.useCallback(
-                function (e, t) {
-                  return (
-                    void 0 === e && (e = {}),
-                    void 0 === t && (t = null),
-                    m({}, e, l, { ref: t, role: 'group' })
-                  )
-                },
-                [l],
-              ),
-              P = v.useCallback(function (e, t) {
-                return (
-                  void 0 === e && (e = {}),
-                  void 0 === t && (t = null),
-                  m({}, e, {
-                    ref: t,
-                    role: 'presentation',
-                    'aria-hidden': !0,
-                    children: e.children || '*',
-                  })
-                )
-              }, []),
-              j = v.useCallback(() => {
-                ;(0, o.A4)(O.on)
-              }, [O])
-            return {
-              isRequired: !!n,
-              isInvalid: !!s,
-              isReadOnly: !!c,
-              isDisabled: !!u,
-              isFocused: !!E,
-              onFocus: j,
-              onBlur: O.off,
-              hasFeedbackText: w,
-              setHasFeedbackText: _,
-              hasHelpText: x,
-              setHasHelpText: k,
-              id: f,
-              labelId: h,
-              feedbackId: y,
-              helpTextId: b,
-              htmlProps: l,
-              getHelpTextProps: T,
-              getErrorMessageProps: M,
-              getRootProps: S,
-              getLabelProps: C,
-              getRequiredIndicatorProps: P,
-            }
-          })((0, c.Lr)(e)),
-          { getRootProps: f } = s,
-          h = g(s, ['getRootProps', 'htmlProps']),
-          b = (0, r.cx)('chakra-form-control', e.className),
-          w = v.useMemo(() => h, [h])
-        return v.createElement(
-          y,
-          { value: w },
-          v.createElement(
-            l.Fo,
-            { value: n },
-            v.createElement(
-              d.m$.div,
-              m({}, f({}, t), { className: b, __css: { width: '100%', position: 'relative' } }),
-            ),
-          ),
-        )
-      })
-      f.Ts && (w.displayName = 'FormControl')
-      var _ = (0, s.G)((e, t) => {
-        var n = b(),
-          o = (0, l.yK)(),
-          i = (0, r.cx)('chakra-form__helper-text', e.className)
-        return v.createElement(
-          d.m$.div,
-          m({}, null == n ? void 0 : n.getHelpTextProps(e, t), {
-            __css: o.helperText,
-            className: i,
-          }),
-        )
-      })
-      function x() {
-        return (x =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function k(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      function E(e) {
-        var t = (function (e) {
-            var t,
-              n,
-              r,
-              i = b(),
-              {
-                id: a,
-                disabled: s,
-                readOnly: u,
-                required: c,
-                isRequired: l,
-                isInvalid: d,
-                isReadOnly: f,
-                isDisabled: h,
-                onFocus: p,
-                onBlur: v,
-              } = e,
-              m = k(e, [
-                'id',
-                'disabled',
-                'readOnly',
-                'required',
-                'isRequired',
-                'isInvalid',
-                'isReadOnly',
-                'isDisabled',
-                'onFocus',
-                'onBlur',
-              ]),
-              g = []
-            null != i && i.hasFeedbackText && null != i && i.isInvalid && g.push(i.feedbackId)
-            null != i && i.hasHelpText && g.push(i.helpTextId)
-            return x({}, m, {
-              'aria-describedby': g.join(' ') || void 0,
-              id: null != a ? a : null == i ? void 0 : i.id,
-              isDisabled: null != (t = null != s ? s : h) ? t : null == i ? void 0 : i.isDisabled,
-              isReadOnly: null != (n = null != u ? u : f) ? n : null == i ? void 0 : i.isReadOnly,
-              isRequired: null != (r = null != c ? c : l) ? r : null == i ? void 0 : i.isRequired,
-              isInvalid: null != d ? d : null == i ? void 0 : i.isInvalid,
-              onFocus: (0, o.v0)(null == i ? void 0 : i.onFocus, p),
-              onBlur: (0, o.v0)(null == i ? void 0 : i.onBlur, v),
-            })
-          })(e),
-          { isDisabled: n, isInvalid: i, isReadOnly: a, isRequired: s } = t
-        return x({}, k(t, ['isDisabled', 'isInvalid', 'isReadOnly', 'isRequired']), {
-          disabled: n,
-          readOnly: a,
-          required: s,
-          'aria-invalid': (0, r.Qm)(i),
-          'aria-required': (0, r.Qm)(s),
-          'aria-readonly': (0, r.Qm)(a),
-        })
-      }
-      f.Ts && (_.displayName = 'FormHelperText')
-      var O = n(9421),
-        T = n(4651),
-        C = n(38554),
-        M = n.n(C)
-      function S() {
-        return (S =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function P(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var j = (0, s.G)((e, t) => {
-        var { children: n, placeholder: o, className: i } = e,
-          a = E(P(e, ['children', 'placeholder', 'className']))
-        return v.createElement(
-          d.m$.select,
-          S({}, a, { ref: t, className: (0, r.cx)('chakra-select', i) }),
-          o && v.createElement('option', { value: '' }, o),
-          n,
-        )
-      })
-      f.Ts && (j.displayName = 'SelectField')
-      var I = (0, s.G)((e, t) => {
-        var n = (0, u.j)('Select', e),
-          r = (0, c.Lr)(e),
-          {
-            rootProps: o,
-            placeholder: i,
-            icon: a,
-            color: s,
-            height: l,
-            h: f,
-            minH: h,
-            minHeight: p,
-            iconColor: m,
-            iconSize: g,
-          } = r,
-          y = P(r, [
-            'rootProps',
-            'placeholder',
-            'icon',
-            'color',
-            'height',
-            'h',
-            'minH',
-            'minHeight',
-            'iconColor',
-            'iconSize',
-            'isFullWidth',
-          ]),
-          [b, w] = (0, T.Vl)(y, O.layoutPropNames),
-          _ = { width: '100%', height: 'fit-content', position: 'relative', color: s },
-          x = M()({}, n.field, { paddingEnd: '2rem', _focus: { zIndex: 'unset' } })
-        return v.createElement(
-          d.m$.div,
-          S({ className: 'chakra-select__wrapper', __css: _ }, b, o),
-          v.createElement(
-            j,
-            S({ ref: t, height: null != f ? f : l, minH: null != h ? h : p, placeholder: i }, w, {
-              __css: x,
-            }),
-            e.children,
-          ),
-          v.createElement(
-            D,
-            S(
-              { 'data-disabled': e.isDisabled },
-              (m || s) && { color: m || s },
-              { __css: n.icon },
-              g && { fontSize: g },
-            ),
-            a,
-          ),
-        )
-      })
-      f.Ts && (I.displayName = 'Select')
-      var A = (e) =>
-          v.createElement(
-            'svg',
-            S({ viewBox: '0 0 24 24' }, e),
-            v.createElement('path', {
-              fill: 'currentColor',
-              d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
-            }),
-          ),
-        R = (0, d.m$)('div', {
-          baseStyle: {
-            position: 'absolute',
-            display: 'inline-flex',
-            alignItems: 'center',
-            justifyContent: 'center',
-            pointerEvents: 'none',
-            top: '50%',
-            transform: 'translateY(-50%)',
-          },
-        }),
-        D = (e) => {
-          var { children: t = v.createElement(A, null) } = e,
-            n = P(e, ['children']),
-            r = v.cloneElement(t, {
-              role: 'presentation',
-              className: 'chakra-select__icon',
-              focusable: !1,
-              'aria-hidden': !0,
-              style: { width: '1em', height: '1em', color: 'currentColor' },
-            })
-          return v.createElement(
-            R,
-            S({}, n, { className: 'chakra-select__icon-wrapper' }),
-            v.isValidElement(t) ? r : null,
-          )
-        }
-      f.Ts && (D.displayName = 'SelectIcon')
-    },
-    95818: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        iR: function () {
-          return ne
-        },
-        Ms: function () {
-          return ie
-        },
-        gs: function () {
-          return re
-        },
-        Uj: function () {
-          return oe
-        },
-      })
-      var r = n(90063),
-        o = n(2326),
-        i = n(55284),
-        a = n(29676),
-        s = n(89384),
-        u = n(73808),
-        c = n(84461),
-        l = n(28500),
-        d = n(67294),
-        f = n(10762),
-        h = n(51034),
-        p = n(90639)
-      var v = n(94577),
-        m = n(78244),
-        g = n(68327)
-      var y = n(22653),
-        b = n(9839)
-      function w(e) {
-        return !!e.touches
-      }
-      var _ = { pageX: 0, pageY: 0 }
-      function x(e, t) {
-        void 0 === t && (t = 'page')
-        var n = e.touches[0] || e.changedTouches[0] || _
-        return { x: n[t + 'X'], y: n[t + 'Y'] }
-      }
-      function k(e, t) {
-        return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] }
-      }
-      function E(e, t) {
-        return void 0 === t && (t = 'page'), { point: w(e) ? x(e, t) : k(e, t) }
-      }
-      var O = function (e, t) {
-          void 0 === t && (t = !1)
-          var n,
-            r = (t) => e(t, E(t))
-          return t
-            ? ((n = r),
-              (e) => {
-                var t = e instanceof MouseEvent
-                ;(!t || (t && 0 === e.button)) && n(e)
-              })
-            : r
-        },
-        T = {
-          pointerdown: 'mousedown',
-          pointermove: 'mousemove',
-          pointerup: 'mouseup',
-          pointercancel: 'mousecancel',
-          pointerover: 'mouseover',
-          pointerout: 'mouseout',
-          pointerenter: 'mouseenter',
-          pointerleave: 'mouseleave',
-        },
-        C = {
-          pointerdown: 'touchstart',
-          pointermove: 'touchmove',
-          pointerup: 'touchend',
-          pointercancel: 'touchcancel',
-        }
-      function M(e) {
-        return c.jU && null === window.onpointerdown
-          ? e
-          : c.jU && null === window.ontouchstart
-          ? C[e]
-          : c.jU && null === window.onmousedown
-          ? T[e]
-          : e
-      }
-      function S(e, t, n, r) {
-        return (0, c.EV)(e, M(t), O(n, 'pointerdown' === t), r)
-      }
-      var P = n(80658)
-      function j() {
-        return (j =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function I(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      class A {
-        constructor(e, t, n) {
-          if (
-            (I(this, 'history', []),
-            I(this, 'startEvent', null),
-            I(this, 'lastEvent', null),
-            I(this, 'lastEventInfo', null),
-            I(this, 'handlers', {}),
-            I(this, 'removeListeners', P.ZT),
-            I(this, 'threshold', 3),
-            I(this, 'updatePoint', () => {
-              if (this.lastEvent && this.lastEventInfo) {
-                var e = N(this.lastEventInfo, this.history),
-                  t = null !== this.startEvent,
-                  n = (0, P.TE)(e.offset, { x: 0, y: 0 }) >= this.threshold
-                if (t || n) {
-                  var { timestamp: r } = (0, b.$B)()
-                  this.history.push(j({}, e.point, { timestamp: r }))
-                  var { onStart: o, onMove: i } = this.handlers
-                  t || (null == o || o(this.lastEvent, e), (this.startEvent = this.lastEvent)),
-                    null == i || i(this.lastEvent, e)
-                }
-              }
-            }),
-            I(this, 'onPointerMove', (e, t) => {
-              ;(this.lastEvent = e),
-                (this.lastEventInfo = t),
-                (function (e) {
-                  return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent
-                    ? !('mouse' !== e.pointerType)
-                    : e instanceof MouseEvent
-                })(e) && 0 === e.buttons
-                  ? this.onPointerUp(e, t)
-                  : b.ZP.update(this.updatePoint, !0)
-            }),
-            I(this, 'onPointerUp', (e, t) => {
-              var n = N(t, this.history),
-                { onEnd: r, onSessionEnd: o } = this.handlers
-              null == o || o(e, n), this.end(), r && this.startEvent && (null == r || r(e, n))
-            }),
-            !(w((r = e)) && r.touches.length > 1))
-          ) {
-            var r
-            ;(this.handlers = t), n && (this.threshold = n), e.stopPropagation(), e.preventDefault()
-            var o = E(e),
-              { timestamp: i } = (0, b.$B)()
-            this.history = [j({}, o.point, { timestamp: i })]
-            var { onSessionStart: a } = t
-            null == a || a(e, N(o, this.history)),
-              (this.removeListeners = (0, P.zG)(
-                S(window, 'pointermove', this.onPointerMove),
-                S(window, 'pointerup', this.onPointerUp),
-                S(window, 'pointercancel', this.onPointerUp),
-              ))
-          }
-        }
-        updateHandlers(e) {
-          this.handlers = e
-        }
-        end() {
-          var e
-          null == (e = this.removeListeners) || e.call(this), b.qY.update(this.updatePoint)
-        }
-      }
-      function R(e, t) {
-        return { x: e.x - t.x, y: e.y - t.y }
-      }
-      function D(e) {
-        return e[0]
-      }
-      function L(e) {
-        return e[e.length - 1]
-      }
-      function N(e, t) {
-        return {
-          point: e.point,
-          delta: R(e.point, L(t)),
-          offset: R(e.point, D(t)),
-          velocity: z(t, 0.1),
-        }
-      }
-      function z(e, t) {
-        if (e.length < 2) return { x: 0, y: 0 }
-        for (
-          var n = e.length - 1,
-            r = null,
-            o = (function (e) {
-              return e[e.length - 1]
-            })(e);
-          n >= 0 && ((r = e[n]), !(o.timestamp - r.timestamp > 1e3 * t));
-
-        )
-          n--
-        if (!r) return { x: 0, y: 0 }
-        var i = (o.timestamp - r.timestamp) / 1e3
-        if (0 === i) return { x: 0, y: 0 }
-        var a = { x: (o.x - r.x) / i, y: (o.y - r.y) / i }
-        return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a
-      }
-      var B = n(34941)
-      var H = n(77581)
-      function F(e, t) {
-        var n,
-          r,
-          o,
-          i,
-          { onPan: a, onPanStart: s, onPanEnd: u, onPanSessionStart: c, onPanSessionEnd: l } = t,
-          f = Boolean(a || s || u || c || l),
-          h = (0, d.useRef)(null),
-          p = {
-            onSessionStart: c,
-            onSessionEnd: l,
-            onStart: s,
-            onMove: a,
-            onEnd(e, t) {
-              ;(h.current = null), null == u || u(e, t)
-            },
-          }
-        ;(0, d.useEffect)(() => {
-          var e
-          null == (e = h.current) || e.updateHandlers(p)
-        }),
-          (n = () => e.current),
-          (r = 'pointerdown'),
-          (o = f
-            ? function (e) {
-                h.current = new A(e, p)
-              }
-            : P.ZT),
-          (0, B.O)(M(r), O(o, 'pointerdown' === r), n, i),
-          (0, H.z)(() => {
-            var e
-            null == (e = h.current) || e.end(), (h.current = null)
-          })
-      }
-      var V = n(72947)
-      Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER
-      function W(e, t) {
-        var n = (function (e) {
-            var t = parseFloat(e)
-            return (0, u.iy)(t) ? 0 : t
-          })(e),
-          r = 10 ** (null != t ? t : 10)
-        return (n = Math.round(n * r) / r), t ? n.toFixed(t) : n.toString()
-      }
-      function U(e, t, n) {
-        return (100 * (e - t)) / (n - t)
-      }
-      function G(e, t, n) {
-        return W(
-          Math.round((e - t) / n) * n + t,
-          (function (e) {
-            if (!Number.isFinite(e)) return 0
-            for (var t = 1, n = 0; Math.round(e * t) / t !== e; ) (t *= 10), (n += 1)
-            return n
-          })(n),
-        )
-      }
-      function q(e, t, n) {
-        return null == e
-          ? e
-          : ((0, P.ZK)({ condition: n < t, message: 'clamp: max cannot be less than min' }),
-            Math.min(Math.max(e, t), n))
-      }
-      var K = n(47248)
-      function Z() {
-        return (Z =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function X(e) {
-        var { orientation: t, vertical: n, horizontal: r } = e
-        return 'vertical' === t ? n : r
-      }
-      function $() {
-        return ($ =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function Y(e) {
-        var t,
-          {
-            min: n = 0,
-            max: r = 100,
-            onChange: o,
-            value: i,
-            defaultValue: a,
-            isReversed: s,
-            orientation: u = 'horizontal',
-            id: l,
-            isDisabled: b,
-            isReadOnly: w,
-            onChangeStart: _,
-            onChangeEnd: x,
-            step: k = 1,
-            getAriaValueText: E,
-            'aria-valuetext': O,
-            'aria-label': T,
-            'aria-labelledby': C,
-            name: M,
-            focusThumbOnChange: S = !0,
-          } = e,
-          j = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'min',
-            'max',
-            'onChange',
-            'value',
-            'defaultValue',
-            'isReversed',
-            'orientation',
-            'id',
-            'isDisabled',
-            'isReadOnly',
-            'onChangeStart',
-            'onChangeEnd',
-            'step',
-            'getAriaValueText',
-            'aria-valuetext',
-            'aria-label',
-            'aria-labelledby',
-            'name',
-            'focusThumbOnChange',
-          ]),
-          I = (0, f.W)(_),
-          A = (0, f.W)(x),
-          R = (0, f.W)(E),
-          [D, L] = (0, h.T)({ value: i, defaultValue: null != a ? a : Q(n, r), onChange: o }),
-          [N, z] = (0, p.k)(),
-          B = (function (e) {
-            var t = (0, d.useRef)()
-            return (
-              (0, d.useEffect)(() => {
-                t.current = e
-              }, [e]),
-              t.current
-            )
-          })(N),
-          [H, W] = (0, p.k)(),
-          Y = (0, d.useRef)(null),
-          J = !(b || w),
-          ee = q(D, n, r),
-          te = (function (e) {
-            var t = d.useRef(null)
-            return (t.current = e), t
-          })(ee),
-          ne = (0, d.useRef)(te.current),
-          re = U(s ? r - ee + n : ee, n, r),
-          oe = 'vertical' === u,
-          ie = (0, d.useRef)(null),
-          ae = (0, d.useRef)(null),
-          se = (0, d.useRef)(null),
-          [ue, ce] = (0, v.ZS)(l, 'slider-thumb', 'slider-track'),
-          le = (0, d.useCallback)(
-            (e) => {
-              var t, o
-              if (ie.current) {
-                Y.current = 'pointer'
-                var i = (0, m.getBox)(ie.current).borderBox,
-                  { clientX: a, clientY: u } =
-                    null != (t = null == (o = e.touches) ? void 0 : o[0]) ? t : e,
-                  c = (oe ? i.bottom - u : a - i.left) / (oe ? i.height : i.width)
-                s && (c = 1 - c)
-                var l = (function (e, t, n) {
-                  return (n - t) * e + t
-                })(c, n, r)
-                return k && (l = parseFloat(G(l, n, k))), (l = q(l, n, r))
-              }
-            },
-            [oe, s, r, n, k],
-          ),
-          de = (r - n) / 10,
-          fe = k || (r - n) / 100,
-          he = (0, d.useCallback)(
-            (e) => {
-              J && ((e = q((e = parseFloat(G(e, n, fe))), n, r)), L(e))
-            },
-            [fe, r, n, L, J],
-          ),
-          pe = (0, d.useMemo)(
-            () => ({
-              stepUp: function (e) {
-                void 0 === e && (e = fe), he(s ? ee - e : ee + e)
-              },
-              stepDown: function (e) {
-                void 0 === e && (e = fe), he(s ? ee + e : ee - e)
-              },
-              reset: () => he(a || 0),
-              stepTo: (e) => he(e),
-            }),
-            [he, s, ee, fe, a],
-          ),
-          ve = (0, d.useCallback)(
-            (e) => {
-              var t = {
-                ArrowRight: () => pe.stepUp(),
-                ArrowUp: () => pe.stepUp(),
-                ArrowLeft: () => pe.stepDown(),
-                ArrowDown: () => pe.stepDown(),
-                PageUp: () => pe.stepUp(de),
-                PageDown: () => pe.stepDown(de),
-                Home: () => he(n),
-                End: () => he(r),
-              }[(0, c.uh)(e)]
-              t && (e.preventDefault(), e.stopPropagation(), t(e), (Y.current = 'keyboard'))
-            },
-            [pe, he, r, n, de],
-          ),
-          me = null != (t = null == R ? void 0 : R(ee)) ? t : O,
-          ge = (function (e, t) {
-            var [n, r] = d.useState(null),
-              o = d.useRef()
-            return (
-              (0, g.G)(() => {
-                if (e.current) {
-                  var n = e.current
-                  return (
-                    i(),
-                    t &&
-                      (window.addEventListener('resize', i), window.addEventListener('scroll', i)),
-                    () => {
-                      t &&
-                        (window.removeEventListener('resize', i),
-                        window.removeEventListener('scroll', i)),
-                        o.current && cancelAnimationFrame(o.current)
-                    }
-                  )
-                }
-                function i() {
-                  o.current = requestAnimationFrame(() => {
-                    var e = (0, m.getBox)(n)
-                    r(e)
-                  })
-                }
-              }, [t]),
-              n
-            )
-          })(ae),
-          {
-            thumbStyle: ye,
-            rootStyle: be,
-            trackStyle: we,
-            innerTrackStyle: _e,
-          } = (0, d.useMemo)(() => {
-            var e,
-              t = null != (e = null == ge ? void 0 : ge.borderBox) ? e : { width: 0, height: 0 }
-            return (function (e) {
-              var { orientation: t, trackPercent: n, thumbRect: r, isReversed: o } = e,
-                i = Z(
-                  {
-                    position: 'absolute',
-                    userSelect: 'none',
-                    WebkitUserSelect: 'none',
-                    MozUserSelect: 'none',
-                    msUserSelect: 'none',
-                    touchAction: 'none',
-                  },
-                  X({
-                    orientation: t,
-                    vertical: { bottom: 'calc(' + n + '% - ' + r.height / 2 + 'px)' },
-                    horizontal: { left: 'calc(' + n + '% - ' + r.width / 2 + 'px)' },
-                  }),
-                ),
-                a = Z(
-                  {
-                    position: 'relative',
-                    touchAction: 'none',
-                    WebkitTapHighlightColor: 'rgba(0,0,0,0)',
-                    userSelect: 'none',
-                    outline: 0,
-                  },
-                  X({
-                    orientation: t,
-                    vertical: { paddingLeft: r.width / 2, paddingRight: r.width / 2 },
-                    horizontal: { paddingTop: r.height / 2, paddingBottom: r.height / 2 },
-                  }),
-                ),
-                s = Z(
-                  { position: 'absolute' },
-                  X({
-                    orientation: t,
-                    vertical: { left: '50%', transform: 'translateX(-50%)', height: '100%' },
-                    horizontal: { top: '50%', transform: 'translateY(-50%)', width: '100%' },
-                  }),
-                )
-              return {
-                trackStyle: s,
-                innerTrackStyle: Z(
-                  {},
-                  s,
-                  X({
-                    orientation: t,
-                    vertical: o
-                      ? { height: 100 - n + '%', top: 0 }
-                      : { height: n + '%', bottom: 0 },
-                    horizontal: o
-                      ? { width: 100 - n + '%', right: 0 }
-                      : { width: n + '%', left: 0 },
-                  }),
-                ),
-                rootStyle: a,
-                thumbStyle: i,
-              }
-            })({ isReversed: s, orientation: u, thumbRect: t, trackPercent: re })
-          }, [s, u, null == ge ? void 0 : ge.borderBox, re]),
-          xe = (0, d.useCallback)(() => {
-            ae.current && S && setTimeout(() => (0, K.T)(ae.current))
-          }, [S])
-        ;(0, y.r)(() => {
-          xe(), 'keyboard' === Y.current && (null == x || x(te.current))
-        }, [ee, x])
-        var ke = (e) => {
-          var t = le(e)
-          null != t && t !== te.current && L(t)
-        }
-        F(se, {
-          onPanSessionStart(e) {
-            J && ke(e)
-          },
-          onPanSessionEnd() {
-            J &&
-              (B ||
-                ne.current === te.current ||
-                (null == A || A(te.current), (ne.current = te.current)))
-          },
-          onPanStart() {
-            J && (z.on(), null == I || I(te.current))
-          },
-          onPan(e) {
-            J && ke(e)
-          },
-          onPanEnd() {
-            J && (z.off(), null == A || A(te.current))
-          },
-        })
-        var Ee = (0, d.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                $({}, e, j, {
-                  ref: (0, V.l)(t, se),
-                  tabIndex: -1,
-                  'aria-disabled': (0, c.Qm)(b),
-                  'data-focused': (0, c.PB)(H),
-                  style: $({}, e.style, be),
-                })
-              )
-            },
-            [j, b, H, be],
-          ),
-          Oe = (0, d.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                $({}, e, {
-                  ref: (0, V.l)(t, ie),
-                  id: ce,
-                  'data-disabled': (0, c.PB)(b),
-                  style: $({}, e.style, we),
-                })
-              )
-            },
-            [b, ce, we],
-          ),
-          Te = (0, d.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                $({}, e, { ref: t, style: $({}, e.style, _e) })
-              )
-            },
-            [_e],
-          ),
-          Ce = (0, d.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                $({}, e, {
-                  ref: (0, V.l)(t, ae),
-                  role: 'slider',
-                  tabIndex: J ? 0 : void 0,
-                  id: ue,
-                  'data-active': (0, c.PB)(N),
-                  'aria-valuetext': me,
-                  'aria-valuemin': n,
-                  'aria-valuemax': r,
-                  'aria-valuenow': ee,
-                  'aria-orientation': u,
-                  'aria-disabled': (0, c.Qm)(b),
-                  'aria-readonly': (0, c.Qm)(w),
-                  'aria-label': T,
-                  'aria-labelledby': T ? void 0 : C,
-                  style: $({}, e.style, ye),
-                  onKeyDown: (0, P.v0)(e.onKeyDown, ve),
-                  onFocus: (0, P.v0)(e.onFocus, W.on),
-                  onBlur: (0, P.v0)(e.onBlur, W.off),
-                })
-              )
-            },
-            [T, C, b, N, w, J, r, n, ve, u, W.off, W.on, ue, ye, ee, me],
-          ),
-          Me = (0, d.useCallback)(
-            function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              var o = !(e.value < n || e.value > r),
-                i = ee >= e.value,
-                a = U(e.value, n, r),
-                l = $(
-                  { position: 'absolute', pointerEvents: 'none' },
-                  (function (e) {
-                    var { orientation: t, vertical: n, horizontal: r } = e
-                    return 'vertical' === t ? n : r
-                  })({
-                    orientation: u,
-                    vertical: { bottom: s ? 100 - a + '%' : a + '%' },
-                    horizontal: { left: s ? 100 - a + '%' : a + '%' },
-                  }),
-                )
-              return $({}, e, {
-                ref: t,
-                role: 'presentation',
-                'aria-hidden': !0,
-                'data-disabled': (0, c.PB)(b),
-                'data-invalid': (0, c.PB)(!o),
-                'data-highlighted': (0, c.PB)(i),
-                style: $({}, e.style, l),
-              })
-            },
-            [b, s, r, n, u, ee],
-          ),
-          Se = (0, d.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                $({}, e, { ref: t, type: 'hidden', value: ee, name: M })
-              )
-            },
-            [M, ee],
-          )
-        return {
-          state: { value: ee, isFocused: H, isDragging: N },
-          actions: pe,
-          getRootProps: Ee,
-          getTrackProps: Oe,
-          getInnerTrackProps: Te,
-          getThumbProps: Ce,
-          getMarkerProps: Me,
-          getInputProps: Se,
-        }
-      }
-      function Q(e, t) {
-        return t < e ? e : e + (t - e) / 2
-      }
-      function J() {
-        return (J =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var [ee, te] = (0, l.k)({
-          name: 'SliderContext',
-          errorMessage:
-            'useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within <Slider />',
-        }),
-        ne = (0, r.G)((e, t) => {
-          var n = (0, o.j)('Slider', e),
-            r = Y((0, i.Lr)(e)),
-            { getInputProps: u, getRootProps: c } = r,
-            l = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(r, ['getInputProps', 'getRootProps']),
-            f = c(),
-            h = u({}, t),
-            p = J({ display: 'inline-block', position: 'relative', cursor: 'pointer' }, n.container)
-          return d.createElement(
-            ee,
-            { value: l },
-            d.createElement(
-              a.Fo,
-              { value: n },
-              d.createElement(
-                s.m$.div,
-                J({}, f, { className: 'chakra-slider', __css: p }),
-                e.children,
-                d.createElement('input', h),
-              ),
-            ),
-          )
-        })
-      ;(ne.defaultProps = { orientation: 'horizontal' }), u.Ts && (ne.displayName = 'Slider')
-      var re = (0, r.G)((e, t) => {
-        var { getThumbProps: n } = te(),
-          r = J(
-            {
-              display: 'flex',
-              alignItems: 'center',
-              justifyContent: 'center',
-              position: 'absolute',
-              outline: 0,
-            },
-            (0, a.yK)().thumb,
-          ),
-          o = n(e, t)
-        return d.createElement(
-          s.m$.div,
-          J({}, o, { className: (0, c.cx)('chakra-slider__thumb', e.className), __css: r }),
-        )
-      })
-      u.Ts && (re.displayName = 'SliderThumb')
-      var oe = (0, r.G)((e, t) => {
-        var { getTrackProps: n } = te(),
-          r = J({ overflow: 'hidden' }, (0, a.yK)().track),
-          o = n(e, t)
-        return d.createElement(
-          s.m$.div,
-          J({}, o, { className: (0, c.cx)('chakra-slider__track', e.className), __css: r }),
-        )
-      })
-      u.Ts && (oe.displayName = 'SliderTrack')
-      var ie = (0, r.G)((e, t) => {
-        var { getInnerTrackProps: n } = te(),
-          r = J({ width: 'inherit', height: 'inherit' }, (0, a.yK)().filledTrack),
-          o = n(e, t)
-        return d.createElement(
-          s.m$.div,
-          J({}, o, { className: 'chakra-slider__filled-track', __css: r }),
-        )
-      })
-      u.Ts && (ie.displayName = 'SliderFilledTrack')
-      var ae = (0, r.G)((e, t) => {
-        var { getMarkerProps: n } = te(),
-          r = n(e, t)
-        return d.createElement(
-          s.m$.div,
-          J({}, r, { className: (0, c.cx)('chakra-slider__marker', e.className) }),
-        )
-      })
-      u.Ts && (ae.displayName = 'SliderMark')
-    },
-    90716: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(55478)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-    },
-    55478: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.Spinner = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = n(22944),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, r.keyframes)({
-          '0%': { transform: 'rotate(0deg)' },
-          '100%': { transform: 'rotate(360deg)' },
-        }),
-        l = (0, r.forwardRef)(function (e, t) {
-          var n = (0, r.useStyleConfig)('Spinner', e),
-            s = (0, r.omitThemingProps)(e),
-            l = s.label,
-            d = void 0 === l ? 'Loading...' : l,
-            f = s.thickness,
-            h = void 0 === f ? '2px' : f,
-            p = s.speed,
-            v = void 0 === p ? '0.45s' : p,
-            m = s.emptyColor,
-            g = void 0 === m ? 'transparent' : m,
-            y = s.className,
-            b = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(s, ['label', 'thickness', 'speed', 'emptyColor', 'className']),
-            w = (0, o.cx)('chakra-spinner', y),
-            _ = u(
-              {
-                display: 'inline-block',
-                borderColor: 'currentColor',
-                borderStyle: 'solid',
-                borderRadius: '99999px',
-                borderWidth: h,
-                borderBottomColor: g,
-                borderLeftColor: g,
-                animation: c + ' ' + v + ' linear infinite',
-              },
-              n,
-            )
-          return a.createElement(
-            r.chakra.div,
-            u({ ref: t, __css: _, className: w }, b),
-            d && a.createElement(i.VisuallyHidden, null, d),
-          )
-        })
-      ;(t.Spinner = l), o.__DEV__ && (l.displayName = 'Spinner')
-    },
-    56693: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.background = void 0)
-      var r = n(77050),
-        o = {
-          background: r.t.colors('background'),
-          backgroundColor: r.t.colors('backgroundColor'),
-          backgroundImage: r.t.propT('backgroundImage', r.transforms.bgImage),
-          backgroundSize: !0,
-          backgroundPosition: !0,
-          backgroundRepeat: !0,
-          backgroundAttachment: !0,
-          backgroundClip: { transform: r.transforms.bgClip },
-          bgSize: r.t.prop('backgroundSize'),
-          bgPosition: r.t.prop('backgroundPosition'),
-          bg: r.t.colors('background'),
-          bgColor: r.t.colors('backgroundColor'),
-          bgPos: r.t.prop('backgroundPosition'),
-          bgRepeat: r.t.prop('backgroundRepeat'),
-          bgAttachment: r.t.prop('backgroundAttachment'),
-          bgGradient: r.t.propT('backgroundImage', r.transforms.gradient),
-          bgClip: { transform: r.transforms.bgClip },
-        }
-      ;(t.background = o),
-        Object.assign(o, { bgImage: o.backgroundImage, bgImg: o.backgroundImage })
-    },
-    24689: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.border = void 0)
-      var r = n(77050),
-        o = {
-          border: r.t.borders('border'),
-          borderWidth: r.t.borderWidths('borderWidth'),
-          borderStyle: r.t.borderStyles('borderStyle'),
-          borderColor: r.t.colors('borderColor'),
-          borderRadius: r.t.radii('borderRadius'),
-          borderTop: r.t.borders('borderTop'),
-          borderBlockStart: r.t.borders('borderBlockStart'),
-          borderTopLeftRadius: r.t.radii('borderTopLeftRadius'),
-          borderStartStartRadius: r.t.logical({
-            scale: 'radii',
-            property: { ltr: 'borderTopLeftRadius', rtl: 'borderTopRightRadius' },
-          }),
-          borderEndStartRadius: r.t.logical({
-            scale: 'radii',
-            property: { ltr: 'borderBottomLeftRadius', rtl: 'borderBottomRightRadius' },
-          }),
-          borderTopRightRadius: r.t.radii('borderTopRightRadius'),
-          borderStartEndRadius: r.t.logical({
-            scale: 'radii',
-            property: { ltr: 'borderTopRightRadius', rtl: 'borderTopLeftRadius' },
-          }),
-          borderEndEndRadius: r.t.logical({
-            scale: 'radii',
-            property: { ltr: 'borderBottomRightRadius', rtl: 'borderBottomLeftRadius' },
-          }),
-          borderRight: r.t.borders('borderRight'),
-          borderInlineEnd: r.t.borders('borderInlineEnd'),
-          borderBottom: r.t.borders('borderBottom'),
-          borderBlockEnd: r.t.borders('borderBlockEnd'),
-          borderBottomLeftRadius: r.t.radii('borderBottomLeftRadius'),
-          borderBottomRightRadius: r.t.radii('borderBottomRightRadius'),
-          borderLeft: r.t.borders('borderLeft'),
-          borderInlineStart: { property: 'borderInlineStart', scale: 'borders' },
-          borderInlineStartRadius: r.t.logical({
-            scale: 'radii',
-            property: {
-              ltr: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
-              rtl: ['borderTopRightRadius', 'borderBottomRightRadius'],
-            },
-          }),
-          borderInlineEndRadius: r.t.logical({
-            scale: 'radii',
-            property: {
-              ltr: ['borderTopRightRadius', 'borderBottomRightRadius'],
-              rtl: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
-            },
-          }),
-          borderX: r.t.borders(['borderLeft', 'borderRight']),
-          borderInline: r.t.borders('borderInline'),
-          borderY: r.t.borders(['borderTop', 'borderBottom']),
-          borderBlock: r.t.borders('borderBlock'),
-          borderTopWidth: r.t.borderWidths('borderTopWidth'),
-          borderBlockStartWidth: r.t.borderWidths('borderBlockStartWidth'),
-          borderTopColor: r.t.colors('borderTopColor'),
-          borderBlockStartColor: r.t.colors('borderBlockStartColor'),
-          borderTopStyle: r.t.borderStyles('borderTopStyle'),
-          borderBlockStartStyle: r.t.borderStyles('borderBlockStartStyle'),
-          borderBottomWidth: r.t.borderWidths('borderBottomWidth'),
-          borderBlockEndWidth: r.t.borderWidths('borderBlockEndWidth'),
-          borderBottomColor: r.t.colors('borderBottomColor'),
-          borderBlockEndColor: r.t.colors('borderBlockEndColor'),
-          borderBottomStyle: r.t.borderStyles('borderBottomStyle'),
-          borderBlockEndStyle: r.t.borderStyles('borderBlockEndStyle'),
-          borderLeftWidth: r.t.borderWidths('borderLeftWidth'),
-          borderInlineStartWidth: r.t.borderWidths('borderInlineStartWidth'),
-          borderLeftColor: r.t.colors('borderLeftColor'),
-          borderInlineStartColor: r.t.colors('borderInlineStartColor'),
-          borderLeftStyle: r.t.borderStyles('borderLeftStyle'),
-          borderInlineStartStyle: r.t.borderStyles('borderInlineStartStyle'),
-          borderRightWidth: r.t.borderWidths('borderRightWidth'),
-          borderInlineEndWidth: r.t.borderWidths('borderInlineEndWidth'),
-          borderRightColor: r.t.colors('borderRightColor'),
-          borderInlineEndColor: r.t.colors('borderInlineEndColor'),
-          borderRightStyle: r.t.borderStyles('borderRightStyle'),
-          borderInlineEndStyle: r.t.borderStyles('borderInlineEndStyle'),
-          borderTopRadius: r.t.radii(['borderTopLeftRadius', 'borderTopRightRadius']),
-          borderBottomRadius: r.t.radii(['borderBottomLeftRadius', 'borderBottomRightRadius']),
-          borderLeftRadius: r.t.radii(['borderTopLeftRadius', 'borderBottomLeftRadius']),
-          borderRightRadius: r.t.radii(['borderTopRightRadius', 'borderBottomRightRadius']),
-        }
-      ;(t.border = o),
-        Object.assign(o, {
-          rounded: o.borderRadius,
-          roundedTop: o.borderTopRadius,
-          roundedTopLeft: o.borderTopLeftRadius,
-          roundedTopRight: o.borderTopRightRadius,
-          roundedTopStart: o.borderStartStartRadius,
-          roundedTopEnd: o.borderStartEndRadius,
-          roundedBottom: o.borderBottomRadius,
-          roundedBottomLeft: o.borderBottomLeftRadius,
-          roundedBottomRight: o.borderBottomRightRadius,
-          roundedBottomStart: o.borderEndStartRadius,
-          roundedBottomEnd: o.borderEndEndRadius,
-          roundedLeft: o.borderLeftRadius,
-          roundedRight: o.borderRightRadius,
-          roundedStart: o.borderInlineStartRadius,
-          roundedEnd: o.borderInlineEndRadius,
-          borderStart: o.borderInlineStart,
-          borderEnd: o.borderInlineEnd,
-          borderTopStartRadius: o.borderStartStartRadius,
-          borderTopEndRadius: o.borderStartEndRadius,
-          borderBottomStartRadius: o.borderEndStartRadius,
-          borderBottomEndRadius: o.borderEndEndRadius,
-          borderStartRadius: o.borderInlineStartRadius,
-          borderEndRadius: o.borderInlineEndRadius,
-          borderStartWidth: o.borderInlineStartWidth,
-          borderEndWidth: o.borderInlineEndWidth,
-          borderStartColor: o.borderInlineStartColor,
-          borderEndColor: o.borderInlineEndColor,
-          borderStartStyle: o.borderInlineStartStyle,
-          borderEndStyle: o.borderInlineEndStyle,
-        })
-    },
-    4561: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.color = void 0)
-      var r = n(77050),
-        o = {
-          color: r.t.colors('color'),
-          textColor: r.t.colors('color'),
-          fill: r.t.colors('fill'),
-          stroke: r.t.colors('stroke'),
-        }
-      t.color = o
-    },
-    93103: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.effect = void 0)
-      var r = n(77050),
-        o = {
-          boxShadow: r.t.shadows('boxShadow'),
-          mixBlendMode: !0,
-          blendMode: r.t.prop('mixBlendMode'),
-          backgroundBlendMode: !0,
-          bgBlendMode: r.t.prop('backgroundBlendMode'),
-          opacity: !0,
-        }
-      ;(t.effect = o), Object.assign(o, { shadow: o.boxShadow })
-    },
-    94015: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.filter = void 0)
-      var r = n(77050),
-        o = {
-          filter: { transform: r.transforms.filter },
-          blur: r.t.blur('--chakra-blur'),
-          brightness: r.t.propT('--chakra-brightness', r.transforms.brightness),
-          contrast: r.t.propT('--chakra-contrast', r.transforms.contrast),
-          hueRotate: r.t.degreeT('--chakra-hue-rotate'),
-          invert: r.t.propT('--chakra-invert', r.transforms.invert),
-          saturate: r.t.propT('--chakra-saturate', r.transforms.saturate),
-          dropShadow: r.t.propT('--chakra-drop-shadow', r.transforms.dropShadow),
-          backdropFilter: { transform: r.transforms.backdropFilter },
-          backdropBlur: r.t.blur('--chakra-backdrop-blur'),
-          backdropBrightness: r.t.propT('--chakra-backdrop-brightness', r.transforms.brightness),
-          backdropContrast: r.t.propT('--chakra-backdrop-contrast', r.transforms.contrast),
-          backdropHueRotate: r.t.degreeT('--chakra-backdrop-hue-rotate'),
-          backdropInvert: r.t.propT('--chakra-backdrop-invert', r.transforms.invert),
-          backdropSaturate: r.t.propT('--chakra-backdrop-saturate', r.transforms.saturate),
-        }
-      t.filter = o
-    },
-    17608: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.flexbox = void 0)
-      var r = n(77050),
-        o = n(41629),
-        i = n(23744),
-        a = {
-          alignItems: !0,
-          alignContent: !0,
-          justifyItems: !0,
-          justifyContent: !0,
-          flexWrap: !0,
-          flexDirection: { transform: r.transforms.flexDirection },
-          experimental_spaceX: {
-            static: i.spaceXTemplate,
-            transform: (0, o.createTransform)({
-              scale: 'space',
-              transform: function (e) {
-                return null !== e ? { '--chakra-space-x': e } : null
-              },
-            }),
-          },
-          experimental_spaceY: {
-            static: i.spaceYTemplate,
-            transform: (0, o.createTransform)({
-              scale: 'space',
-              transform: function (e) {
-                return null != e ? { '--chakra-space-y': e } : null
-              },
-            }),
-          },
-          flex: !0,
-          flexFlow: !0,
-          flexGrow: !0,
-          flexShrink: !0,
-          flexBasis: r.t.sizes('flexBasis'),
-          justifySelf: !0,
-          alignSelf: !0,
-          order: !0,
-          placeItems: !0,
-          placeContent: !0,
-          placeSelf: !0,
-        }
-      ;(t.flexbox = a), Object.assign(a, { flexDir: a.flexDirection })
-    },
-    41474: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.grid = void 0)
-      var r = n(77050),
-        o = {
-          gridGap: r.t.space('gridGap'),
-          gridColumnGap: r.t.space('gridColumnGap'),
-          gridRowGap: r.t.space('gridRowGap'),
-          gridColumn: !0,
-          gridRow: !0,
-          gridAutoFlow: !0,
-          gridAutoColumns: !0,
-          gridColumnStart: !0,
-          gridColumnEnd: !0,
-          gridRowStart: !0,
-          gridRowEnd: !0,
-          gridAutoRows: !0,
-          gridTemplate: !0,
-          gridTemplateColumns: !0,
-          gridTemplateRows: !0,
-          gridTemplateAreas: !0,
-          gridArea: !0,
-        }
-      t.grid = o
-    },
-    10147: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(56693)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(24689)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(4561)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(93103)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(94015)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(17608)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(41474)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(54497)
-      Object.keys(l).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === l[e]) || (t[e] = l[e]))
-      })
-      var d = n(24569)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(59472)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(51237)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(90130)
-      Object.keys(p).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === p[e]) || (t[e] = p[e]))
-      })
-      var v = n(39650)
-      Object.keys(v).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === v[e]) || (t[e] = v[e]))
-      })
-      var m = n(19309)
-      Object.keys(m).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === m[e]) || (t[e] = m[e]))
-      })
-      var g = n(86705)
-      Object.keys(g).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === g[e]) || (t[e] = g[e]))
-      })
-      var y = n(75438)
-      Object.keys(y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === y[e]) || (t[e] = y[e]))
-      })
-      var b = n(63646)
-      Object.keys(b).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === b[e]) || (t[e] = b[e]))
-      })
-      var w = n(58275)
-      Object.keys(w).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === w[e]) || (t[e] = w[e]))
-      })
-    },
-    54497: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.interactivity = void 0)
-      var r = n(77050),
-        o = {
-          appearance: !0,
-          cursor: !0,
-          resize: !0,
-          userSelect: !0,
-          pointerEvents: !0,
-          outline: { transform: r.transforms.outline },
-          outlineOffset: !0,
-          outlineColor: r.t.colors('outlineColor'),
-        }
-      t.interactivity = o
-    },
-    24569: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.layout = void 0)
-      var r = n(77050),
-        o = {
-          width: r.t.sizesT('width'),
-          inlineSize: r.t.sizesT('inlineSize'),
-          height: r.t.sizes('height'),
-          blockSize: r.t.sizes('blockSize'),
-          boxSize: r.t.sizes(['width', 'height']),
-          minWidth: r.t.sizes('minWidth'),
-          minInlineSize: r.t.sizes('minInlineSize'),
-          minHeight: r.t.sizes('minHeight'),
-          minBlockSize: r.t.sizes('minBlockSize'),
-          maxWidth: r.t.sizes('maxWidth'),
-          maxInlineSize: r.t.sizes('maxInlineSize'),
-          maxHeight: r.t.sizes('maxHeight'),
-          maxBlockSize: r.t.sizes('maxBlockSize'),
-          d: r.t.prop('display'),
-          overflow: !0,
-          overflowX: !0,
-          overflowY: !0,
-          overscrollBehavior: !0,
-          overscrollBehaviorX: !0,
-          overscrollBehaviorY: !0,
-          display: !0,
-          verticalAlign: !0,
-          boxSizing: !0,
-          boxDecorationBreak: !0,
-          float: r.t.propT('float', r.transforms.float),
-          objectFit: !0,
-          objectPosition: !0,
-          visibility: !0,
-          isolation: !0,
-        }
-      ;(t.layout = o),
-        Object.assign(o, {
-          w: o.width,
-          h: o.height,
-          minW: o.minWidth,
-          maxW: o.maxWidth,
-          minH: o.minHeight,
-          maxH: o.maxHeight,
-          overscroll: o.overscrollBehavior,
-          overscrollX: o.overscrollBehaviorX,
-          overscrollY: o.overscrollBehaviorY,
-        })
-    },
-    59472: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.list = void 0)
-      var r = n(77050),
-        o = {
-          listStyleType: !0,
-          listStylePosition: !0,
-          listStylePos: r.t.prop('listStylePosition'),
-          listStyleImage: !0,
-          listStyleImg: r.t.prop('listStyleImage'),
-        }
-      t.list = o
-    },
-    51237: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.others = void 0)
-      var r = n(66751),
-        o = {
-          border: '0px',
-          clip: 'rect(0, 0, 0, 0)',
-          width: '1px',
-          height: '1px',
-          margin: '-1px',
-          padding: '0px',
-          overflow: 'hidden',
-          whiteSpace: 'nowrap',
-          position: 'absolute',
-        },
-        i = {
-          position: 'static',
-          width: 'auto',
-          height: 'auto',
-          clip: 'auto',
-          padding: '0',
-          margin: '0',
-          overflow: 'visible',
-          whiteSpace: 'normal',
-        },
-        a = function (e, t, n) {
-          var o = {},
-            i = (0, r.memoizedGet)(e, t, {})
-          for (var a in i) {
-            ;(a in n && null != n[a]) || (o[a] = i[a])
-          }
-          return o
-        },
-        s = {
-          srOnly: {
-            transform: function (e) {
-              return !0 === e ? o : 'focusable' === e ? i : {}
-            },
-          },
-          layerStyle: {
-            processResult: !0,
-            transform: function (e, t, n) {
-              return a(t, 'layerStyles.' + e, n)
-            },
-          },
-          textStyle: {
-            processResult: !0,
-            transform: function (e, t, n) {
-              return a(t, 'textStyles.' + e, n)
-            },
-          },
-          apply: {
-            processResult: !0,
-            transform: function (e, t, n) {
-              return a(t, e, n)
-            },
-          },
-        }
-      t.others = s
-    },
-    90130: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.position = void 0)
-      var r = n(77050),
-        o = {
-          position: !0,
-          pos: r.t.prop('position'),
-          zIndex: r.t.prop('zIndex', 'zIndices'),
-          inset: r.t.spaceT(['top', 'right', 'bottom', 'left']),
-          insetX: r.t.spaceT(['left', 'right']),
-          insetInline: r.t.spaceT('insetInline'),
-          insetY: r.t.spaceT(['top', 'bottom']),
-          insetBlock: r.t.spaceT('insetBlock'),
-          top: r.t.spaceT('top'),
-          insetBlockStart: r.t.spaceT('insetBlockStart'),
-          bottom: r.t.spaceT('bottom'),
-          insetBlockEnd: r.t.spaceT('insetBlockEnd'),
-          left: r.t.spaceT('left'),
-          insetInlineStart: r.t.logical({
-            scale: 'space',
-            property: { ltr: 'left', rtl: 'right' },
-          }),
-          right: r.t.spaceT('right'),
-          insetInlineEnd: r.t.logical({ scale: 'space', property: { ltr: 'right', rtl: 'left' } }),
-        }
-      ;(t.position = o),
-        Object.assign(o, { insetStart: o.insetInlineStart, insetEnd: o.insetInlineEnd })
-    },
-    39650: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.ring = void 0)
-      var r = n(77050),
-        o = {
-          ring: { transform: r.transforms.ring },
-          ringColor: r.t.colors('--chakra-ring-color'),
-          ringOffset: r.t.prop('--chakra-ring-offset-width'),
-          ringOffsetColor: r.t.colors('--chakra-ring-offset-color'),
-          ringInset: r.t.prop('--chakra-ring-inset'),
-        }
-      t.ring = o
-    },
-    19309: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.space = void 0)
-      var r = n(77050),
-        o = {
-          margin: r.t.spaceT('margin'),
-          marginTop: r.t.spaceT('marginTop'),
-          marginBlockStart: r.t.spaceT('marginBlockStart'),
-          marginRight: r.t.spaceT('marginRight'),
-          marginInlineEnd: r.t.spaceT('marginInlineEnd'),
-          marginBottom: r.t.spaceT('marginBottom'),
-          marginBlockEnd: r.t.spaceT('marginBlockEnd'),
-          marginLeft: r.t.spaceT('marginLeft'),
-          marginInlineStart: r.t.spaceT('marginInlineStart'),
-          marginX: r.t.spaceT(['marginInlineStart', 'marginInlineEnd']),
-          marginInline: r.t.spaceT('marginInline'),
-          marginY: r.t.spaceT(['marginTop', 'marginBottom']),
-          marginBlock: r.t.spaceT('marginBlock'),
-          padding: r.t.space('padding'),
-          paddingTop: r.t.space('paddingTop'),
-          paddingBlockStart: r.t.space('paddingBlockStart'),
-          paddingRight: r.t.space('paddingRight'),
-          paddingBottom: r.t.space('paddingBottom'),
-          paddingBlockEnd: r.t.space('paddingBlockEnd'),
-          paddingLeft: r.t.space('paddingLeft'),
-          paddingInlineStart: r.t.space('paddingInlineStart'),
-          paddingInlineEnd: r.t.space('paddingInlineEnd'),
-          paddingX: r.t.space(['paddingInlineStart', 'paddingInlineEnd']),
-          paddingInline: r.t.space('paddingInline'),
-          paddingY: r.t.space(['paddingTop', 'paddingBottom']),
-          paddingBlock: r.t.space('paddingBlock'),
-        }
-      ;(t.space = o),
-        Object.assign(o, {
-          m: o.margin,
-          mt: o.marginTop,
-          mr: o.marginRight,
-          me: o.marginInlineEnd,
-          marginEnd: o.marginInlineEnd,
-          mb: o.marginBottom,
-          ml: o.marginLeft,
-          ms: o.marginInlineStart,
-          marginStart: o.marginInlineStart,
-          mx: o.marginX,
-          my: o.marginY,
-          p: o.padding,
-          pt: o.paddingTop,
-          py: o.paddingY,
-          px: o.paddingX,
-          pb: o.paddingBottom,
-          pl: o.paddingLeft,
-          ps: o.paddingInlineStart,
-          paddingStart: o.paddingInlineStart,
-          pr: o.paddingRight,
-          pe: o.paddingInlineEnd,
-          paddingEnd: o.paddingInlineEnd,
-        })
-    },
-    86705: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.textDecoration = void 0)
-      var r = n(77050),
-        o = {
-          textDecorationColor: r.t.colors('textDecorationColor'),
-          textDecoration: !0,
-          textDecor: { property: 'textDecoration' },
-          textDecorationLine: !0,
-          textDecorationStyle: !0,
-          textDecorationThickness: !0,
-          textUnderlineOffset: !0,
-          textShadow: r.t.shadows('textShadow'),
-        }
-      t.textDecoration = o
-    },
-    75438: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.transform = void 0)
-      var r = n(77050),
-        o = {
-          clipPath: !0,
-          transform: r.t.propT('transform', r.transforms.transform),
-          transformOrigin: !0,
-          translateX: r.t.spaceT('--chakra-translate-x'),
-          translateY: r.t.spaceT('--chakra-translate-y'),
-          skewX: r.t.degreeT('--chakra-skew-x'),
-          skewY: r.t.degreeT('--chakra-skew-y'),
-          scaleX: r.t.prop('--chakra-scale-x'),
-          scaleY: r.t.prop('--chakra-scale-y'),
-          scale: r.t.prop(['--chakra-scale-x', '--chakra-scale-y']),
-          rotate: r.t.degreeT('--chakra-rotate'),
-        }
-      t.transform = o
-    },
-    63646: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.transition = void 0)
-      var r = n(77050),
-        o = {
-          transition: !0,
-          transitionDelay: !0,
-          animation: !0,
-          willChange: !0,
-          transitionDuration: r.t.prop('transitionDuration', 'transition.duration'),
-          transitionProperty: r.t.prop('transitionProperty', 'transition.property'),
-          transitionTimingFunction: r.t.prop('transitionTimingFunction', 'transition.easing'),
-        }
-      t.transition = o
-    },
-    58275: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.typography = void 0)
-      var r = n(77050),
-        o = {
-          fontFamily: r.t.prop('fontFamily', 'fonts'),
-          fontSize: r.t.prop('fontSize', 'fontSizes', r.transforms.px),
-          fontWeight: r.t.prop('fontWeight', 'fontWeights'),
-          lineHeight: r.t.prop('lineHeight', 'lineHeights'),
-          letterSpacing: r.t.prop('letterSpacing', 'letterSpacings'),
-          textAlign: !0,
-          fontStyle: !0,
-          wordBreak: !0,
-          overflowWrap: !0,
-          textOverflow: !0,
-          textTransform: !0,
-          whiteSpace: !0,
-          noOfLines: {
-            static: {
-              overflow: 'hidden',
-              textOverflow: 'ellipsis',
-              display: '-webkit-box',
-              WebkitBoxOrient: 'vertical',
-              WebkitLineClamp: 'var(--chakra-line-clamp)',
-            },
-            property: '--chakra-line-clamp',
-          },
-          isTruncated: {
-            transform: function (e) {
-              if (!0 === e)
-                return { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }
-            },
-          },
-        }
-      t.typography = o
-    },
-    38986: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.calc = void 0)
-      var r = n(66751)
-      function o(e) {
-        return (0, r.isObject)(e) && e.reference ? e.reference : String(e)
-      }
-      var i = function (e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-            n[r - 1] = arguments[r]
-          return n
-            .map(o)
-            .join(' ' + e + ' ')
-            .replace(/calc/g, '')
-        },
-        a = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return 'calc(' + i.apply(void 0, ['+'].concat(t)) + ')'
-        },
-        s = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return 'calc(' + i.apply(void 0, ['-'].concat(t)) + ')'
-        },
-        u = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return 'calc(' + i.apply(void 0, ['*'].concat(t)) + ')'
-        },
-        c = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return 'calc(' + i.apply(void 0, ['/'].concat(t)) + ')'
-        },
-        l = function (e) {
-          var t = o(e)
-          return null == t || Number.isNaN(parseFloat(t))
-            ? u(t, -1)
-            : String(t).startsWith('-')
-            ? String(t).slice(1)
-            : '-' + t
-        },
-        d = Object.assign(
-          function (e) {
-            return {
-              add: function () {
-                for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
-                  n[r] = arguments[r]
-                return d(a.apply(void 0, [e].concat(n)))
-              },
-              subtract: function () {
-                for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
-                  n[r] = arguments[r]
-                return d(s.apply(void 0, [e].concat(n)))
-              },
-              multiply: function () {
-                for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
-                  n[r] = arguments[r]
-                return d(u.apply(void 0, [e].concat(n)))
-              },
-              divide: function () {
-                for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
-                  n[r] = arguments[r]
-                return d(c.apply(void 0, [e].concat(n)))
-              },
-              negate: function () {
-                return d(l(e))
-              },
-              toString: function () {
-                return e.toString()
-              },
-            }
-          },
-          { add: a, subtract: s, multiply: u, divide: c, negate: l },
-        )
-      t.calc = d
-    },
-    98179: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.createThemeVars = function (e, t) {
-          var n = { cssMap: {}, cssVars: {} }
-          return (
-            (0, r.walkObject)(e, function (e, r) {
-              var o,
-                i = r[0],
-                a = (null != (o = s[i]) ? o : s.defaultHandler)(r, e, t),
-                u = a.cssVars,
-                c = a.cssMap
-              Object.assign(n.cssVars, u), Object.assign(n.cssMap, c)
-            }),
-            n
-          )
-        })
-      var r = n(66751),
-        o = n(38986),
-        i = n(21541)
-      function a() {
-        return (a =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var s = {
-        space: function (e, t, n) {
-          var r,
-            u = s.defaultHandler(e, t, n),
-            c = e[0] + '.-' + e.slice(1).join('.'),
-            l = e.join('-'),
-            d = (0, i.cssVar)(l, void 0, n.cssVarPrefix),
-            f = d.variable,
-            h = d.reference,
-            p = o.calc.negate(t),
-            v = o.calc.negate(h)
-          return {
-            cssVars: u.cssVars,
-            cssMap: a(
-              {},
-              u.cssMap,
-              ((r = {}), (r[c] = { value: '' + p, var: '' + f, varRef: v }), r),
-            ),
-          }
-        },
-        defaultHandler: function (e, t, n) {
-          var r,
-            o,
-            a = e.join('.'),
-            s = e.join('-'),
-            u = (0, i.cssVar)(s, void 0, n.cssVarPrefix),
-            c = u.variable,
-            l = u.reference
-          return {
-            cssVars: ((r = {}), (r[c] = t), r),
-            cssMap: ((o = {}), (o[a] = { value: t, var: c, varRef: l }), o),
-          }
-        },
-      }
-    },
-    21541: function (e, t) {
-      'use strict'
-      function n(e) {
-        var t = (function (e, t) {
-          return void 0 === t && (t = '-'), e.replace(/\s+/g, t)
-        })(e.toString())
-        return t.includes('\\.')
-          ? e
-          : !Number.isInteger(parseFloat(e.toString()))
-          ? t.replace('.', '\\.')
-          : e
-      }
-      function r(e, t) {
-        return void 0 === t && (t = ''), [t, n(e)].filter(Boolean).join('-')
-      }
-      function o(e, t) {
-        return 'var(' + n(e) + (t ? ', ' + t : '') + ')'
-      }
-      function i(e, t) {
-        return void 0 === t && (t = ''), '--' + r(e, t)
-      }
-      ;(t.__esModule = !0),
-        (t.addPrefix = r),
-        (t.toVarReference = o),
-        (t.toVarDefinition = i),
-        (t.cssVar = function (e, t, n) {
-          var r = i(e, n)
-          return { variable: r, reference: o(r, t) }
-        })
-    },
-    13991: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(38986)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(21541)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(51898)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-    },
-    88708: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.extractTokens = function (e) {
-          var t = o
-          return (0, r.pick)(e, t)
-        }),
-        (t.omitVars = function (e) {
-          e.__cssMap, e.__cssVars, e.__breakpoints
-          return (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['__cssMap', '__cssVars', '__breakpoints'])
-        })
-      var r = n(66751)
-      var o = [
-        'colors',
-        'borders',
-        'borderWidths',
-        'borderStyles',
-        'fonts',
-        'fontSizes',
-        'fontWeights',
-        'letterSpacings',
-        'lineHeights',
-        'radii',
-        'space',
-        'shadows',
-        'sizes',
-        'zIndices',
-        'transition',
-        'blur',
-      ]
-    },
-    51898: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.toCSSVar = function (e) {
-          var t,
-            n = (0, i.omitVars)(e),
-            s = (0, i.extractTokens)(n),
-            u = null == (t = n.config) ? void 0 : t.cssVarPrefix,
-            c = (0, o.createThemeVars)(s, { cssVarPrefix: u }),
-            l = c.cssMap,
-            d = c.cssVars
-          return (
-            Object.assign(n, {
-              __cssVars: a(
-                {},
-                {
-                  '--chakra-ring-inset': 'var(--chakra-empty,/*!*/ /*!*/)',
-                  '--chakra-ring-offset-width': '0px',
-                  '--chakra-ring-offset-color': '#fff',
-                  '--chakra-ring-color': 'rgba(66, 153, 225, 0.6)',
-                  '--chakra-ring-offset-shadow': '0 0 #0000',
-                  '--chakra-ring-shadow': '0 0 #0000',
-                  '--chakra-space-x-reverse': '0',
-                  '--chakra-space-y-reverse': '0',
-                },
-                d,
-              ),
-              __cssMap: l,
-              __breakpoints: (0, r.analyzeBreakpoints)(n.breakpoints),
-            }),
-            n
-          )
-        })
-      var r = n(66751),
-        o = n(98179),
-        i = n(88708)
-      function a() {
-        return (a =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-    },
-    49423: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.getCss = d), (t.css = void 0)
-      var r = n(66751),
-        o = n(61527),
-        i = n(19113),
-        a = n(41329)
-      function s(e, t) {
-        var n
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return u(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === n && e.constructor && (n = e.constructor.name)
-              if ('Map' === n || 'Set' === n) return Array.from(e)
-              if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-                return u(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            n && (e = n)
-            var r = 0
-            return function () {
-              return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        return (n = e[Symbol.iterator]()).next.bind(n)
-      }
-      function u(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var c = function (e, t) {
-          return e.startsWith('--') && (0, r.isString)(t) && !(0, r.isCssVar)(t)
-        },
-        l = function (e, t) {
-          var n, r
-          if (null == t) return t
-          var o = function (t) {
-              var n, r
-              return null == (n = e.__cssMap) || null == (r = n[t]) ? void 0 : r.varRef
-            },
-            i = function (e) {
-              var t
-              return null != (t = o(e)) ? t : e
-            },
-            a = t.split(',').map(function (e) {
-              return e.trim()
-            }),
-            s = a[0],
-            u = a[1]
-          return (t = null != (n = null != (r = o(s)) ? r : i(u)) ? n : i(t))
-        }
-      function d(e) {
-        var t = e.configs,
-          n = void 0 === t ? {} : t,
-          o = e.pseudos,
-          i = void 0 === o ? {} : o,
-          u = e.theme
-        return function e(t, o) {
-          void 0 === o && (o = !1)
-          var d = (0, r.runIfFn)(t, u),
-            f = (0, a.expandResponsive)(d)(u),
-            h = {}
-          for (var p in f) {
-            var v,
-              m,
-              g,
-              y,
-              b,
-              w = f[p],
-              _ = (0, r.runIfFn)(w, u)
-            p in i && (p = i[p]), c(p, _) && (_ = l(u, _))
-            var x = n[p]
-            if ((!0 === x && (x = { property: p }), (0, r.isObject)(_))) {
-              var k
-              ;(h[p] = null != (k = h[p]) ? k : {}), (h[p] = (0, r.mergeWith)({}, h[p], e(_, !0)))
-            } else {
-              var E =
-                null != (v = null == (m = x) || null == m.transform ? void 0 : m.transform(_, u, d))
-                  ? v
-                  : _
-              E = null != (g = x) && g.processResult ? e(E, !0) : E
-              var O = (0, r.runIfFn)(null == (y = x) ? void 0 : y.property, u)
-              if (!o && null != (b = x) && b.static) {
-                var T = (0, r.runIfFn)(x.static, u)
-                h = (0, r.mergeWith)({}, h, T)
-              }
-              if (O && Array.isArray(O))
-                for (var C, M = s(O); !(C = M()).done; ) {
-                  h[C.value] = E
-                }
-              else
-                O
-                  ? '&' === O && (0, r.isObject)(E)
-                    ? (h = (0, r.mergeWith)({}, h, E))
-                    : (h[O] = E)
-                  : (0, r.isObject)(E)
-                  ? (h = (0, r.mergeWith)({}, h, E))
-                  : (h[p] = E)
-            }
-          }
-          return h
-        }
-      }
-      t.css = function (e) {
-        return function (t) {
-          return d({ theme: t, pseudos: o.pseudoSelectors, configs: i.systemProps })(e)
-        }
-      }
-    },
-    39907: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = { tokenToCSSVar: !0 }
-      t.tokenToCSSVar = void 0
-      var o = n(10147)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(49423)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(83306)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(21644)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(19113)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(13991)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(41629)
-      t.tokenToCSSVar = l.tokenToCSSVar
-    },
-    61527: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.pseudoPropNames = t.pseudoSelectors = void 0)
-      var r = n(66751),
-        o = function (e) {
-          return e + ':focus &, ' + e + '[data-focus] &'
-        },
-        i = function (e) {
-          return e + ':active &, ' + e + '[data-active] &'
-        },
-        a = function (e) {
-          return e + ':disabled &, ' + e + '[data-disabled] &'
-        },
-        s = function (e) {
-          return e + ':invalid &, ' + e + '[data-invalid] &'
-        },
-        u = function (e) {
-          return e + ':checked &, ' + e + '[data-checked] &'
-        },
-        c = function (e) {
-          return l(e, '[role=group]', '[data-group]', '.group')
-        },
-        l = function (e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-            n[r - 1] = arguments[r]
-          return n.map(e).join(', ')
-        },
-        d = {
-          _hover: '&:hover, &[data-hover]',
-          _active: '&:active, &[data-active]',
-          _focus: '&:focus, &[data-focus]',
-          _highlighted: '&[data-highlighted]',
-          _focusWithin: '&:focus-within',
-          _focusVisible: '&:focus-visible',
-          _disabled: '&[disabled], &[aria-disabled=true], &[data-disabled]',
-          _readOnly: '&[aria-readonly=true], &[readonly], &[data-readonly]',
-          _before: '&::before',
-          _after: '&::after',
-          _empty: '&:empty',
-          _expanded: '&[aria-expanded=true], &[data-expanded]',
-          _checked: '&[aria-checked=true], &[data-checked]',
-          _grabbed: '&[aria-grabbed=true], &[data-grabbed]',
-          _pressed: '&[aria-pressed=true], &[data-pressed]',
-          _invalid: '&[aria-invalid=true], &[data-invalid]',
-          _valid: '&[data-valid], &[data-state=valid]',
-          _loading: '&[data-loading], &[aria-busy=true]',
-          _selected: '&[aria-selected=true], &[data-selected]',
-          _hidden: '&[hidden], &[data-hidden]',
-          _autofill: '&:-webkit-autofill',
-          _even: '&:nth-of-type(even)',
-          _odd: '&:nth-of-type(odd)',
-          _first: '&:first-of-type',
-          _last: '&:last-of-type',
-          _notFirst: '&:not(:first-of-type)',
-          _notLast: '&:not(:last-of-type)',
-          _visited: '&:visited',
-          _activeLink: '&[aria-current=page]',
-          _activeStep: '&[aria-current=step]',
-          _indeterminate: '&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]',
-          _groupHover: c(function (e) {
-            return e + ':hover &, ' + e + '[data-hover] &'
-          }),
-          _groupFocus: c(o),
-          _groupActive: c(i),
-          _groupDisabled: c(a),
-          _groupInvalid: c(s),
-          _groupChecked: c(u),
-          _placeholder: '&::placeholder',
-          _fullScreen: '&:fullscreen',
-          _selection: '&::selection',
-          _rtl: '[dir=rtl] &',
-          _mediaDark: '@media (prefers-color-scheme: dark)',
-          _dark: '.chakra-ui-dark &, [data-theme=dark] &, &[data-theme=dark]',
-          _light: '.chakra-ui-light &, [data-theme=light] &, &[data-theme=light]',
-        }
-      t.pseudoSelectors = d
-      var f = (0, r.objectKeys)(d)
-      t.pseudoPropNames = f
-    },
-    19113: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.isStyleProp = t.propNames = t.layoutPropNames = t.systemProps = void 0)
-      var r = n(66751),
-        o = n(10147),
-        i = n(61527)
-      function a() {
-        return (a =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var s = (0, r.mergeWith)(
-        {},
-        o.background,
-        o.border,
-        o.color,
-        o.flexbox,
-        o.layout,
-        o.filter,
-        o.ring,
-        o.interactivity,
-        o.grid,
-        o.others,
-        o.position,
-        o.effect,
-        o.space,
-        o.typography,
-        o.textDecoration,
-        o.transform,
-        o.list,
-        o.transition,
-      )
-      t.systemProps = s
-      var u = Object.assign({}, o.space, o.layout, o.flexbox, o.grid, o.position),
-        c = (0, r.objectKeys)(u)
-      t.layoutPropNames = c
-      var l = [].concat((0, r.objectKeys)(s), i.pseudoPropNames)
-      t.propNames = l
-      var d = a({}, s, i.pseudoSelectors)
-      t.isStyleProp = function (e) {
-        return e in d
-      }
-    },
-    83306: function () {},
-    21644: function () {},
-    41629: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.createTransform = function (e) {
-          var t = e.scale,
-            n = e.transform,
-            r = e.compose
-          return function (e, i) {
-            var a,
-              s = o(t, e)(i),
-              u = null != (a = null == n ? void 0 : n(s, i)) ? a : s
-            return r && (u = r(u, i)), u
-          }
-        }),
-        (t.tokenToCSSVar = void 0)
-      var r = n(66751),
-        o = function (e, t) {
-          return function (n) {
-            var o = String(t),
-              i = e ? e + '.' + o : o
-            return (0, r.isObject)(n.__cssMap) && i in n.__cssMap ? n.__cssMap[i].varRef : t
-          }
-        }
-      t.tokenToCSSVar = o
-    },
-    41329: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.expandResponsive = void 0)
-      var r = n(66751)
-      t.expandResponsive = function (e) {
-        return function (t) {
-          if (!t.__breakpoints) return e
-          var n = t.__breakpoints,
-            o = n.isResponsive,
-            i = n.toArrayValue,
-            a = n.media,
-            s = {}
-          for (var u in e) {
-            var c = (0, r.runIfFn)(e[u], t)
-            if (null != c)
-              if (((c = (0, r.isObject)(c) && o(c) ? i(c) : c), Array.isArray(c)))
-                for (var l = c.slice(0, a.length).length, d = 0; d < l; d += 1) {
-                  var f = null == a ? void 0 : a[d]
-                  f ? ((s[f] = s[f] || {}), null != c[d] && (s[f][u] = c[d])) : (s[u] = c[d])
-                }
-              else s[u] = c
-          }
-          return s
-        }
-      }
-    },
-    77050: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = { t: !0, transforms: !0 }
-      t.t = void 0
-      var o = n(41629),
-        i = n(36282),
-        a = n(69131)
-      t.transforms = a.transformFunctions
-      var s = n(86925)
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      Object.keys(s).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var c = {
-        borderWidths: (0, i.toConfig)('borderWidths'),
-        borderStyles: (0, i.toConfig)('borderStyles'),
-        colors: (0, i.toConfig)('colors'),
-        borders: (0, i.toConfig)('borders'),
-        radii: (0, i.toConfig)('radii', a.transformFunctions.px),
-        space: (0, i.toConfig)('space', a.transformFunctions.px),
-        spaceT: (0, i.toConfig)('space', a.transformFunctions.px),
-        degreeT: function (e) {
-          return { property: e, transform: a.transformFunctions.degree }
-        },
-        prop: function (e, t, n) {
-          return u(
-            { property: e, scale: t },
-            t && { transform: (0, o.createTransform)({ scale: t, transform: n }) },
-          )
-        },
-        propT: function (e, t) {
-          return { property: e, transform: t }
-        },
-        sizes: (0, i.toConfig)('sizes', a.transformFunctions.px),
-        sizesT: (0, i.toConfig)('sizes', a.transformFunctions.fraction),
-        shadows: (0, i.toConfig)('shadows'),
-        logical: i.logical,
-        blur: (0, i.toConfig)('blur', a.transformFunctions.blur),
-      }
-      t.t = c
-    },
-    21612: function (e, t) {
-      'use strict'
-      function n(e, t) {
-        n = function (e, t) {
-          return new u(e, void 0, t)
-        }
-        var i = o(RegExp),
-          a = RegExp.prototype,
-          s = new WeakMap()
-        function u(e, t, n) {
-          var r = i.call(this, e, t)
-          return s.set(r, n || s.get(e)), r
-        }
-        function c(e, t) {
-          var n = s.get(t)
-          return Object.keys(n).reduce(function (t, r) {
-            return (t[r] = e[n[r]]), t
-          }, Object.create(null))
-        }
-        return (
-          r(u, i),
-          (u.prototype.exec = function (e) {
-            var t = a.exec.call(this, e)
-            return t && (t.groups = c(t, this)), t
-          }),
-          (u.prototype[Symbol.replace] = function (e, t) {
-            if ('string' === typeof t) {
-              var n = s.get(this)
-              return a[Symbol.replace].call(
-                this,
-                e,
-                t.replace(/\$<([^>]+)>/g, function (e, t) {
-                  return '$' + n[t]
-                }),
-              )
-            }
-            if ('function' === typeof t) {
-              var r = this
-              return a[Symbol.replace].call(this, e, function () {
-                var e = []
-                return (
-                  e.push.apply(e, arguments),
-                  'object' !== typeof e[e.length - 1] && e.push(c(e, r)),
-                  t.apply(this, e)
-                )
-              })
-            }
-            return a[Symbol.replace].call(this, e, t)
-          }),
-          n.apply(this, arguments)
-        )
-      }
-      function r(e, t) {
-        if ('function' !== typeof t && null !== t)
-          throw new TypeError('Super expression must either be null or a function')
-        ;(e.prototype = Object.create(t && t.prototype, {
-          constructor: { value: e, writable: !0, configurable: !0 },
-        })),
-          t && s(e, t)
-      }
-      function o(e) {
-        var t = 'function' === typeof Map ? new Map() : void 0
-        return (o = function (e) {
-          if (null === e || ((n = e), -1 === Function.toString.call(n).indexOf('[native code]')))
-            return e
-          var n
-          if ('function' !== typeof e)
-            throw new TypeError('Super expression must either be null or a function')
-          if ('undefined' !== typeof t) {
-            if (t.has(e)) return t.get(e)
-            t.set(e, r)
-          }
-          function r() {
-            return i(e, arguments, u(this).constructor)
-          }
-          return (
-            (r.prototype = Object.create(e.prototype, {
-              constructor: { value: r, enumerable: !1, writable: !0, configurable: !0 },
-            })),
-            s(r, e)
-          )
-        })(e)
-      }
-      function i(e, t, n) {
-        return (i = a()
-          ? Reflect.construct
-          : function (e, t, n) {
-              var r = [null]
-              r.push.apply(r, t)
-              var o = new (Function.bind.apply(e, r))()
-              return n && s(o, n.prototype), o
-            }).apply(null, arguments)
-      }
-      function a() {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-        } catch (e) {
-          return !1
-        }
-      }
-      function s(e, t) {
-        return (s =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      function u(e) {
-        return (u = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function (e) {
-              return e.__proto__ || Object.getPrototypeOf(e)
-            })(e)
-      }
-      ;(t.__esModule = !0), (t.parseGradient = h), (t.gradientTransform = t.globalSet = void 0)
-      var c = {
-          'to-t': 'to top',
-          'to-tr': 'to top right',
-          'to-r': 'to right',
-          'to-br': 'to bottom right',
-          'to-b': 'to bottom',
-          'to-bl': 'to bottom left',
-          'to-l': 'to left',
-          'to-tl': 'to top left',
-        },
-        l = new Set(Object.values(c)),
-        d = new Set(['none', '-moz-initial', 'inherit', 'initial', 'revert', 'unset'])
-      t.globalSet = d
-      var f = function (e) {
-        return e.trim()
-      }
-      function h(e, t) {
-        var r, o
-        if (null == e || d.has(e)) return e
-        var i =
-            null !=
-            (r =
-              null == (o = n(/(^[\x2DA-Za-z]+)\(((.*))\)/g, { type: 1, values: 2 }).exec(e))
-                ? void 0
-                : o.groups)
-              ? r
-              : {},
-          a = i.type,
-          s = i.values
-        if (!a || !s) return e
-        var u = a.includes('-gradient') ? a : a + '-gradient',
-          h = s.split(',').map(f).filter(Boolean),
-          p = h[0],
-          v = h.slice(1)
-        if (0 === (null == v ? void 0 : v.length)) return e
-        var m = p in c ? c[p] : p
-        return (
-          v.unshift(m),
-          u +
-            '(' +
-            v
-              .map(function (e) {
-                if (l.has(e)) return e
-                var n = e.split(' '),
-                  r = n[0],
-                  o = n[1],
-                  i = 'colors.' + r,
-                  a = i in t.__cssMap ? t.__cssMap[i].varRef : r
-                return o ? [a, o].join(' ') : a
-              })
-              .join(', ') +
-            ')'
-        )
-      }
-      t.gradientTransform = function (e, t) {
-        return h(e, null != t ? t : {})
-      }
-    },
-    36282: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.toConfig = function (e, t) {
-          return function (n) {
-            var o = { property: n, scale: e }
-            return (o.transform = (0, r.createTransform)({ scale: e, transform: t })), o
-          }
-        }),
-        (t.logical = function (e) {
-          var t = e.property,
-            n = e.scale,
-            i = e.transform
-          return {
-            scale: n,
-            property: o(t),
-            transform: n ? (0, r.createTransform)({ scale: n, compose: i }) : i,
-          }
-        })
-      var r = n(41629)
-      var o = function (e) {
-        var t = e.rtl,
-          n = e.ltr
-        return function (e) {
-          return 'rtl' === e.direction ? t : n
-        }
-      }
-    },
-    23744: function (e, t) {
-      'use strict'
-      var n, r
-      ;(t.__esModule = !0),
-        (t.getTransformTemplate = function () {
-          return [
-            'translateX(var(--chakra-translate-x, 0))',
-            'translateY(var(--chakra-translate-y, 0))',
-          ]
-            .concat(o)
-            .join(' ')
-        }),
-        (t.getTransformGpuTemplate = function () {
-          return ['translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)']
-            .concat(o)
-            .join(' ')
-        }),
-        (t.getRingTemplate = function (e) {
-          return {
-            '--chakra-ring-offset-shadow':
-              'var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)',
-            '--chakra-ring-shadow':
-              'var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)',
-            '--chakra-ring-width': e,
-            boxShadow: [
-              'var(--chakra-ring-offset-shadow)',
-              'var(--chakra-ring-shadow)',
-              'var(--chakra-shadow, 0 0 #0000)',
-            ].join(', '),
-          }
-        }),
-        (t.spaceYTemplate =
-          t.spaceXTemplate =
-          t.flexDirectionTemplate =
-          t.backdropFilterTemplate =
-          t.filterTemplate =
-            void 0)
-      var o = [
-        'rotate(var(--chakra-rotate, 0))',
-        'scaleX(var(--chakra-scale-x, 1))',
-        'scaleY(var(--chakra-scale-y, 1))',
-        'skewX(var(--chakra-skew-x, 0))',
-        'skewY(var(--chakra-skew-y, 0))',
-      ]
-      var i = {
-        '--chakra-blur': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-brightness': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-contrast': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-invert': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-saturate': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-sepia': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-drop-shadow': 'var(--chakra-empty,/*!*/ /*!*/)',
-        filter: [
-          'var(--chakra-blur)',
-          'var(--chakra-brightness)',
-          'var(--chakra-contrast)',
-          'var(--chakra-grayscale)',
-          'var(--chakra-hue-rotate)',
-          'var(--chakra-invert)',
-          'var(--chakra-saturate)',
-          'var(--chakra-sepia)',
-          'var(--chakra-drop-shadow)',
-        ].join(' '),
-      }
-      t.filterTemplate = i
-      var a = {
-        backdropFilter: [
-          'var(--chakra-backdrop-blur)',
-          'var(--chakra-backdrop-brightness)',
-          'var(--chakra-backdrop-contrast)',
-          'var(--chakra-backdrop-grayscale)',
-          'var(--chakra-backdrop-hue-rotate)',
-          'var(--chakra-backdrop-invert)',
-          'var(--chakra-backdrop-opacity)',
-          'var(--chakra-backdrop-saturate)',
-          'var(--chakra-backdrop-sepia)',
-        ].join(' '),
-        '--chakra-backdrop-blur': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-brightness': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-contrast': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-invert': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-opacity': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-saturate': 'var(--chakra-empty,/*!*/ /*!*/)',
-        '--chakra-backdrop-sepia': 'var(--chakra-empty,/*!*/ /*!*/)',
-      }
-      t.backdropFilterTemplate = a
-      t.flexDirectionTemplate = {
-        'row-reverse': { space: '--chakra-space-x-reverse', divide: '--chakra-divide-x-reverse' },
-        'column-reverse': {
-          space: '--chakra-space-y-reverse',
-          divide: '--chakra-divide-y-reverse',
-        },
-      }
-      var s = '& > :not(style) ~ :not(style)',
-        u =
-          (((n = {})[s] = {
-            marginInlineStart:
-              'calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))',
-            marginInlineEnd: 'calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))',
-          }),
-          n)
-      t.spaceXTemplate = u
-      var c =
-        (((r = {})[s] = {
-          marginTop: 'calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))',
-          marginBottom: 'calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))',
-        }),
-        r)
-      t.spaceYTemplate = c
-    },
-    69131: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.transformFunctions = void 0)
-      var r = n(66751),
-        o = n(23744),
-        i = n(21612),
-        a = function (e) {
-          return function (t) {
-            return e + '(' + t + ')'
-          }
-        },
-        s = {
-          filter: function (e) {
-            return 'auto' !== e ? e : o.filterTemplate
-          },
-          backdropFilter: function (e) {
-            return 'auto' !== e ? e : o.backdropFilterTemplate
-          },
-          ring: function (e) {
-            return (0, o.getRingTemplate)(s.px(e))
-          },
-          bgClip: function (e) {
-            return 'text' === e
-              ? { color: 'transparent', backgroundClip: 'text' }
-              : { backgroundClip: e }
-          },
-          transform: function (e) {
-            return 'auto' === e
-              ? (0, o.getTransformTemplate)()
-              : 'auto-gpu' === e
-              ? (0, o.getTransformGpuTemplate)()
-              : e
-          },
-          px: function (e) {
-            return null == e
-              ? e
-              : (function (e) {
-                  var t = parseFloat(e.toString()),
-                    n = e.toString().replace(String(t), '')
-                  return { unitless: !n, value: t, unit: n }
-                })(e).unitless || (0, r.isNumber)(e)
-              ? e + 'px'
-              : e
-          },
-          fraction: function (e) {
-            return !(0, r.isNumber)(e) || e > 1 ? e : 100 * e + '%'
-          },
-          float: function (e, t) {
-            return 'rtl' === t.direction ? { left: 'right', right: 'left' }[e] : e
-          },
-          degree: function (e) {
-            if ((0, r.isCssVar)(e) || null == e) return e
-            var t = (0, r.isString)(e) && !e.endsWith('deg')
-            return (0, r.isNumber)(e) || t ? e + 'deg' : e
-          },
-          gradient: i.gradientTransform,
-          blur: a('blur'),
-          opacity: a('opacity'),
-          brightness: a('brightness'),
-          contrast: a('contrast'),
-          dropShadow: a('drop-shadow'),
-          grayscale: a('grayscale'),
-          hueRotate: a('hue-rotate'),
-          invert: a('invert'),
-          saturate: a('saturate'),
-          sepia: a('sepia'),
-          bgImage: function (e) {
-            return null == e || u(e) || i.globalSet.has(e) ? e : 'url(' + e + ')'
-          },
-          outline: function (e) {
-            var t = '0' === String(e) || 'none' === String(e)
-            return null !== e && t
-              ? { outline: '2px solid transparent', outlineOffset: '2px' }
-              : { outline: e }
-          },
-          flexDirection: function (e) {
-            var t,
-              n = null != (t = o.flexDirectionTemplate[e]) ? t : {},
-              r = n.space,
-              i = n.divide,
-              a = { flexDirection: e }
-            return r && (a[r] = 1), i && (a[i] = 1), a
-          },
-        }
-      t.transformFunctions = s
-      var u = function (e) {
-        return (0, r.isString)(e) && e.includes('(') && e.includes(')')
-      }
-    },
-    86925: function () {},
-    88134: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        r: function () {
-          return x
-        },
-      })
-      var r = n(10762),
-        o = n(90639),
-        i = n(51034),
-        a = n(68327),
-        s = n(72947),
-        u = n(80658),
-        c = n(84461),
-        l = n(47248),
-        d = n(65415),
-        f = n(67294)
-      function h() {
-        return (h =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function p(e) {
-        void 0 === e && (e = {})
-        var {
-            defaultIsChecked: t,
-            defaultChecked: n = t,
-            isChecked: p,
-            isFocusable: m,
-            isDisabled: g,
-            isReadOnly: y,
-            isRequired: b,
-            onChange: w,
-            isIndeterminate: _,
-            isInvalid: x,
-            name: k,
-            value: E,
-            id: O,
-            onBlur: T,
-            onFocus: C,
-            'aria-label': M,
-            'aria-labelledby': S,
-            'aria-invalid': P,
-            'aria-describedby': j,
-          } = e,
-          I = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'defaultIsChecked',
-            'defaultChecked',
-            'isChecked',
-            'isFocusable',
-            'isDisabled',
-            'isReadOnly',
-            'isRequired',
-            'onChange',
-            'isIndeterminate',
-            'isInvalid',
-            'name',
-            'value',
-            'id',
-            'onBlur',
-            'onFocus',
-            'aria-label',
-            'aria-labelledby',
-            'aria-invalid',
-            'aria-describedby',
-          ]),
-          A = (0, r.W)(w),
-          R = (0, r.W)(T),
-          D = (0, r.W)(C),
-          [L, N] = (0, o.k)(),
-          [z, B] = (0, o.k)(),
-          [H, F] = (0, o.k)(),
-          V = (0, f.useRef)(null),
-          [W, U] = (0, f.useState)(!0),
-          [G, q] = (0, f.useState)(!!n),
-          [K, Z] = (0, i.p)(p, G)
-        ;(0, u.ZK)({
-          condition: !!t,
-          message:
-            'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.',
-        })
-        var X = (0, f.useCallback)(
-          (e) => {
-            y || g
-              ? e.preventDefault()
-              : (K || q(Z ? e.target.checked : !!_ || e.target.checked), null == A || A(e))
-          },
-          [y, g, Z, K, _, A],
-        )
-        ;(0, a.G)(() => {
-          V.current && (V.current.indeterminate = Boolean(_))
-        }, [_])
-        var $ = g && !m,
-          Y = (0, f.useCallback)(
-            (e) => {
-              ' ' === e.key && F.on()
-            },
-            [F],
-          ),
-          Q = (0, f.useCallback)(
-            (e) => {
-              ' ' === e.key && F.off()
-            },
-            [F],
-          )
-        ;(0, a.G)(() => {
-          V.current && V.current.checked !== Z && q(V.current.checked)
-        }, [V.current])
-        var J = (0, f.useCallback)(
-            function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              return h({}, e, {
-                ref: t,
-                'data-active': (0, c.PB)(H),
-                'data-hover': (0, c.PB)(z),
-                'data-checked': (0, c.PB)(Z),
-                'data-focus': (0, c.PB)(L),
-                'data-indeterminate': (0, c.PB)(_),
-                'data-disabled': (0, c.PB)(g),
-                'data-invalid': (0, c.PB)(x),
-                'data-readonly': (0, c.PB)(y),
-                'aria-hidden': !0,
-                onMouseDown: (0, u.v0)(e.onMouseDown, (e) => {
-                  e.preventDefault(), F.on()
-                }),
-                onMouseUp: (0, u.v0)(e.onMouseUp, F.off),
-                onMouseEnter: (0, u.v0)(e.onMouseEnter, B.on),
-                onMouseLeave: (0, u.v0)(e.onMouseLeave, B.off),
-              })
-            },
-            [H, Z, g, L, z, _, x, y, F, B.off, B.on],
-          ),
-          ee = (0, f.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                h({}, I, e, {
-                  ref: (0, s.l)(t, (e) => {
-                    e && U('LABEL' === e.tagName)
-                  }),
-                  onClick: (0, u.v0)(e.onClick, () => {
-                    var e
-                    W ||
-                      (null == (e = V.current) || e.click(), (0, l.T)(V.current, { nextTick: !0 }))
-                  }),
-                  'data-disabled': (0, c.PB)(g),
-                })
-              )
-            },
-            [I, g, W],
-          ),
-          te = (0, f.useCallback)(
-            function (e, t) {
-              void 0 === e && (e = {}), void 0 === t && (t = null)
-              return h({}, e, {
-                ref: (0, s.l)(V, t),
-                type: 'checkbox',
-                name: k,
-                value: E,
-                id: O,
-                onChange: (0, u.v0)(e.onChange, X),
-                onBlur: (0, u.v0)(e.onBlur, R, N.off),
-                onFocus: (0, u.v0)(e.onFocus, D, () => {
-                  ;(0, u.A4)(N.on)
-                }),
-                onKeyDown: (0, u.v0)(e.onKeyDown, Y),
-                onKeyUp: (0, u.v0)(e.onKeyUp, Q),
-                required: b,
-                checked: Z,
-                disabled: $,
-                readOnly: y,
-                'aria-label': M,
-                'aria-labelledby': S,
-                'aria-invalid': P ? Boolean(P) : x,
-                'aria-describedby': j,
-                'aria-disabled': g,
-                style: d.NL,
-              })
-            },
-            [k, E, O, X, N.off, N.on, R, D, Y, Q, b, Z, $, y, M, S, P, x, j, g],
-          ),
-          ne = (0, f.useCallback)(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                h({}, e, {
-                  ref: t,
-                  onMouseDown: (0, u.v0)(e.onMouseDown, v),
-                  onTouchStart: (0, u.v0)(e.onTouchStart, v),
-                  'data-disabled': (0, c.PB)(g),
-                  'data-checked': (0, c.PB)(Z),
-                  'data-invalid': (0, c.PB)(x),
-                })
-              )
-            },
-            [Z, g, x],
-          )
-        return {
-          state: {
-            isInvalid: x,
-            isFocused: L,
-            isChecked: Z,
-            isActive: H,
-            isHovered: z,
-            isIndeterminate: _,
-            isDisabled: g,
-            isReadOnly: y,
-            isRequired: b,
-          },
-          getRootProps: ee,
-          getCheckboxProps: J,
-          getInputProps: te,
-          getLabelProps: ne,
-          htmlProps: I,
-        }
-      }
-      function v(e) {
-        e.preventDefault(), e.stopPropagation()
-      }
-      var m = n(90063),
-        g = n(2326),
-        y = n(55284),
-        b = n(89384),
-        w = n(73808)
-      function _() {
-        return (_ =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var x = (0, m.G)((e, t) => {
-        var n = (0, g.j)('Switch', e),
-          r = (0, y.Lr)(e),
-          { spacing: o = '0.5rem', children: i } = r,
-          a = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(r, ['spacing', 'children']),
-          {
-            state: s,
-            getInputProps: u,
-            getCheckboxProps: l,
-            getRootProps: d,
-            getLabelProps: h,
-          } = p(a),
-          v = f.useMemo(
-            () =>
-              _(
-                { display: 'inline-block', verticalAlign: 'middle', lineHeight: 'normal' },
-                n.container,
-              ),
-            [n.container],
-          ),
-          m = f.useMemo(
-            () =>
-              _(
-                {
-                  display: 'inline-flex',
-                  flexShrink: 0,
-                  justifyContent: 'flex-start',
-                  boxSizing: 'content-box',
-                  cursor: 'pointer',
-                },
-                n.track,
-              ),
-            [n.track],
-          ),
-          w = f.useMemo(() => _({ userSelect: 'none', marginStart: o }, n.label), [o, n.label])
-        return f.createElement(
-          b.m$.label,
-          _({}, d(), { className: (0, c.cx)('chakra-switch', e.className), __css: v }),
-          f.createElement('input', _({ className: 'chakra-switch__input' }, u({}, t))),
-          f.createElement(
-            b.m$.span,
-            _({}, l(), { className: 'chakra-switch__track', __css: m }),
-            f.createElement(b.m$.span, {
-              __css: n.thumb,
-              className: 'chakra-switch__thumb',
-              'data-checked': (0, c.PB)(s.isChecked),
-              'data-hover': (0, c.PB)(s.isHovered),
-            }),
-          ),
-          i &&
-            f.createElement(
-              b.m$.span,
-              _({ className: 'chakra-switch__label' }, h(), { __css: w }),
-              i,
-            ),
-        )
-      })
-      w.Ts && (x.displayName = 'Switch')
-    },
-    15867: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.forwardRef = function (e) {
-          return r.forwardRef(e)
-        })
-      var r = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, i) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, i, a) : (n[i] = e[i])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(67294))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-    },
-    46063: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useChakra = d),
-        (t.useToken = function (e, t, n) {
-          var r = (0, u.useTheme)()
-          if (Array.isArray(t)) {
-            var o = []
-            return (
-              n && (o = Array.isArray(n) ? n : [n]),
-              t.map(function (t, n) {
-                var a,
-                  s = e + '.' + t
-                return (0, i.memoizedGet)(r, s, null != (a = o[n]) ? a : t)
-              })
-            )
-          }
-          var a = e + '.' + t
-          return (0, i.memoizedGet)(r, a, null != n ? n : t)
-        }),
-        (t.useProps = function (e, t) {
-          var n,
-            r,
-            o = d(),
-            u = o.theme,
-            f = o.colorMode,
-            h = t.styleConfig || (null == (n = u.components) ? void 0 : n[e]),
-            p = l(
-              {},
-              null != (r = null == h ? void 0 : h.defaultProps) ? r : {},
-              (0, i.filterUndefined)(t),
-            ),
-            v = (0, a.useRef)({}),
-            m = (0, i.mergeWith)({}, p, { theme: u, colorMode: f })
-          return {
-            styles: (0, a.useMemo)(
-              function () {
-                if (h) {
-                  var e,
-                    t,
-                    n,
-                    r,
-                    o,
-                    a = (0, i.runIfFn)(null != (e = h.baseStyle) ? e : {}, m),
-                    u = (0, i.runIfFn)(
-                      null != (t = null == (n = h.variants) ? void 0 : n[m.variant]) ? t : {},
-                      m,
-                    ),
-                    c = (0, i.runIfFn)(
-                      null != (r = null == (o = h.sizes) ? void 0 : o[m.size]) ? r : {},
-                      m,
-                    ),
-                    l = (0, i.mergeWith)(a, c, u)
-                  h.parts &&
-                    h.parts.forEach(function (e) {
-                      var t
-                      l[e] = null != (t = l[e]) ? t : {}
-                    }),
-                    (0, s.default)(v.current, l) || (v.current = l)
-                }
-                return v.current
-              },
-              [h, m],
-            ),
-            props: (0, c.omitThemingProps)(p),
-          }
-        })
-      var r,
-        o = n(12094),
-        i = n(66751),
-        a = n(67294),
-        s = (r = n(69590)) && r.__esModule ? r : { default: r },
-        u = n(4867),
-        c = n(93138)
-      function l() {
-        return (l =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function d() {
-        return l({}, (0, o.useColorMode)(), { theme: (0, u.useTheme)() })
-      }
-    },
-    48121: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = { keyframes: !0, omitThemingProps: !0, shouldForwardProp: !0 }
-      t.shouldForwardProp = t.omitThemingProps = t.keyframes = void 0
-      var o = n(12094)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(39907)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(70917)
-      t.keyframes = a.keyframes
-      var s = n(46063)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(39824)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(4867)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(93138)
-      t.omitThemingProps = l.omitThemingProps
-      var d = n(40065)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(15867)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(80011)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e &&
-          '__esModule' !== e &&
-          (Object.prototype.hasOwnProperty.call(r, e) || (e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(99214)
-      t.shouldForwardProp = p.shouldForwardProp
-    },
-    4867: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useTheme = function () {
-          var e = u.useContext(s.ThemeContext)
-          if (!e)
-            throw Error(
-              'useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`',
-            )
-          return e
-        }),
-        (t.GlobalStyle = t.useStyles = t.StylesProvider = t.ThemeProvider = void 0)
-      var r = n(12094),
-        o = n(39907),
-        i = n(66751),
-        a = n(19277),
-        s = n(70917),
-        u = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = c()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function c() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (c = function () {
-            return e
-          }),
-          e
-        )
-      }
-      t.ThemeProvider = function (e) {
-        var t = e.cssVarsRoot,
-          n = void 0 === t ? ':host, :root' : t,
-          r = e.theme,
-          i = e.children,
-          a = u.useMemo(
-            function () {
-              return (0, o.toCSSVar)(r)
-            },
-            [r],
-          )
-        return u.createElement(
-          s.ThemeProvider,
-          { theme: a },
-          u.createElement(s.Global, {
-            styles: function (e) {
-              var t
-              return ((t = {})[n] = e.__cssVars), t
-            },
-          }),
-          i,
-        )
-      }
-      var l = (0, a.createContext)({
-          name: 'StylesContext',
-          errorMessage:
-            'useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` ',
-        }),
-        d = l[0],
-        f = l[1]
-      ;(t.useStyles = f), (t.StylesProvider = d)
-      t.GlobalStyle = function () {
-        var e = (0, r.useColorMode)().colorMode
-        return u.createElement(s.Global, {
-          styles: function (t) {
-            var n = (0, i.memoizedGet)(t, 'styles.global'),
-              r = (0, i.runIfFn)(n, { theme: t, colorMode: e })
-            if (r) {
-              var a = (0, o.css)(r)(t)
-              return a
-            }
-          },
-        })
-      }
-    },
-    99214: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.shouldForwardProp = void 0)
-      var r = n(39907),
-        o = new Set(
-          [].concat(r.propNames, [
-            'textStyle',
-            'layerStyle',
-            'apply',
-            'isTruncated',
-            'noOfLines',
-            'focusBorderColor',
-            'errorBorderColor',
-            'as',
-            '__css',
-            'css',
-            'sx',
-          ]),
-        ),
-        i = new Set(['htmlWidth', 'htmlHeight', 'htmlSize'])
-      t.shouldForwardProp = function (e) {
-        return i.has(e) || !o.has(e)
-      }
-    },
-    40065: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.styled = d), (t.chakra = t.toCSSObject = void 0)
-      var r,
-        o = n(39907),
-        i = n(66751),
-        a = (r = n(61194)) && r.__esModule ? r : { default: r },
-        s = n(99214),
-        u = n(93138)
-      function c(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var l = function (e) {
-        var t = e.baseStyle
-        return function (e) {
-          e.theme
-          var n = e.css,
-            r = e.__css,
-            a = e.sx,
-            s = c(e, ['theme', 'css', '__css', 'sx']),
-            u = (0, i.objectFilter)(s, function (e, t) {
-              return (0, o.isStyleProp)(t)
-            }),
-            l = (0, i.runIfFn)(t, e),
-            d = Object.assign({}, r, l, (0, i.filterUndefined)(u), a),
-            f = (0, o.css)(d)(e.theme)
-          return n ? [f, n] : f
-        }
-      }
-      function d(e, t) {
-        var n = null != t ? t : {},
-          r = n.baseStyle,
-          o = c(n, ['baseStyle'])
-        o.shouldForwardProp || (o.shouldForwardProp = s.shouldForwardProp)
-        var i = l({ baseStyle: r })
-        return (0, a.default)(e, o)(i)
-      }
-      t.toCSSObject = l
-      var f = d
-      ;(t.chakra = f),
-        u.domElements.forEach(function (e) {
-          f[e] = f(e)
-        })
-    },
-    39824: function () {},
-    93138: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.omitThemingProps = function (e) {
-          return (0, r.omit)(e, ['styleConfig', 'size', 'variant', 'colorScheme'])
-        }),
-        (t.default = o),
-        (t.getDisplayName = function (e) {
-          return o(e)
-            ? 'chakra.' + e
-            : (function (e) {
-                return (
-                  (!!r.__DEV__ && (0, r.isString)(e) && e) ||
-                  (!(0, r.isString)(e) && e.displayName) ||
-                  (!(0, r.isString)(e) && e.name) ||
-                  'ChakraComponent'
-                )
-              })(e)
-        }),
-        (t.domElements = void 0)
-      var r = n(66751)
-      function o(e) {
-        return (0, r.isString)(e) && (!r.__DEV__ || e.charAt(0) === e.charAt(0).toLowerCase())
-      }
-      t.domElements = [
-        'a',
-        'b',
-        'article',
-        'aside',
-        'blockquote',
-        'button',
-        'caption',
-        'cite',
-        'circle',
-        'code',
-        'dd',
-        'div',
-        'dl',
-        'dt',
-        'fieldset',
-        'figcaption',
-        'figure',
-        'footer',
-        'form',
-        'h1',
-        'h2',
-        'h3',
-        'h4',
-        'h5',
-        'h6',
-        'header',
-        'hr',
-        'img',
-        'input',
-        'kbd',
-        'label',
-        'li',
-        'main',
-        'mark',
-        'nav',
-        'ol',
-        'p',
-        'path',
-        'pre',
-        'q',
-        'rect',
-        's',
-        'svg',
-        'section',
-        'select',
-        'strong',
-        'small',
-        'span',
-        'sub',
-        'sup',
-        'table',
-        'tbody',
-        'td',
-        'textarea',
-        'tfoot',
-        'th',
-        'thead',
-        'tr',
-        'ul',
-      ]
-    },
-    80011: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.useStyleConfig = u),
-        (t.useMultiStyleConfig = function (e, t) {
-          return u(e, t, { isMultiPart: !0 })
-        })
-      var r,
-        o = n(66751),
-        i = n(67294),
-        a = (r = n(69590)) && r.__esModule ? r : { default: r },
-        s = n(46063)
-      function u(e, t, n) {
-        var r, u
-        void 0 === t && (t = {}), void 0 === n && (n = {})
-        var c = t,
-          l = c.styleConfig,
-          d = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(c, ['styleConfig']),
-          f = (0, s.useChakra)(),
-          h = f.theme,
-          p = f.colorMode,
-          v = (0, o.memoizedGet)(h, 'components.' + e),
-          m = l || v,
-          g = (0, o.mergeWith)(
-            { theme: h, colorMode: p },
-            null != (r = null == m ? void 0 : m.defaultProps) ? r : {},
-            (0, o.filterUndefined)((0, o.omit)(d, ['children'])),
-          ),
-          y = (0, i.useRef)({})
-        return (0, i.useMemo)(
-          function () {
-            if (m) {
-              var e,
-                t,
-                r,
-                i,
-                s,
-                u,
-                c = (0, o.runIfFn)(null != (e = m.baseStyle) ? e : {}, g),
-                l = (0, o.runIfFn)(
-                  null != (t = null == (r = m.variants) ? void 0 : r[g.variant]) ? t : {},
-                  g,
-                ),
-                d = (0, o.runIfFn)(
-                  null != (i = null == (s = m.sizes) ? void 0 : s[g.size]) ? i : {},
-                  g,
-                ),
-                f = (0, o.mergeWith)({}, c, d, l)
-              null != (u = n) &&
-                u.isMultiPart &&
-                m.parts &&
-                m.parts.forEach(function (e) {
-                  var t
-                  f[e] = null != (t = f[e]) ? t : {}
-                }),
-                (0, a.default)(y.current, f) || (y.current = f)
-            }
-            return y.current
-          },
-          [m, g, null == (u = n) ? void 0 : u.isMultiPart],
-        )
-      }
-    },
-    90063: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        G: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e) {
-        return r.forwardRef(e)
-      }
-    },
-    11180: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        useTheme: function () {
-          return i.Fg
-        },
-      })
-      var r = n(9421)
-      n.o(r, 'useTheme') &&
-        n.d(t, {
-          useTheme: function () {
-            return r.useTheme
-          },
-        })
-      var o = n(5070)
-      n.o(o, 'useTheme') &&
-        n.d(t, {
-          useTheme: function () {
-            return o.useTheme
-          },
-        })
-      var i = n(29676)
-    },
-    89384: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        m$: function () {
-          return f
-        },
-      })
-      var r = n(9421),
-        o = n(4651),
-        i = n(80658),
-        a = n(61194),
-        s = new Set([
-          ...r.propNames,
-          'textStyle',
-          'layerStyle',
-          'apply',
-          'isTruncated',
-          'noOfLines',
-          'focusBorderColor',
-          'errorBorderColor',
-          'as',
-          '__css',
-          'css',
-          'sx',
-        ]),
-        u = new Set(['htmlWidth', 'htmlHeight', 'htmlSize']),
-        c = (e) => u.has(e) || !s.has(e),
-        l = n(55284)
-      function d(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      var f = function (e, t) {
-        var n = null != t ? t : {},
-          { baseStyle: s } = n,
-          u = d(n, ['baseStyle'])
-        u.shouldForwardProp || (u.shouldForwardProp = c)
-        var l = ((e) => {
-          var { baseStyle: t } = e
-          return (e) => {
-            var { css: n, __css: a, sx: s } = e,
-              u = d(e, ['theme', 'css', '__css', 'sx']),
-              c = (0, o.lw)(u, (e, t) => (0, r.isStyleProp)(t)),
-              l = (0, i.Pu)(t, e),
-              f = Object.assign({}, a, l, (0, o.YU)(c), s),
-              h = (0, r.iv)(f)(e.theme)
-            return n ? [h, n] : h
-          }
-        })({ baseStyle: s })
-        return (0, a.default)(e, u)(l)
-      }
-      l.t6.forEach((e) => {
-        f[e] = f(e)
-      })
-    },
-    5070: function () {},
-    55284: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        t6: function () {
-          return o
-        },
-        Lr: function () {
-          return i
-        },
-      })
-      var r = n(4651),
-        o = [
-          'a',
-          'b',
-          'article',
-          'aside',
-          'blockquote',
-          'button',
-          'caption',
-          'cite',
-          'circle',
-          'code',
-          'dd',
-          'div',
-          'dl',
-          'dt',
-          'fieldset',
-          'figcaption',
-          'figure',
-          'footer',
-          'form',
-          'h1',
-          'h2',
-          'h3',
-          'h4',
-          'h5',
-          'h6',
-          'header',
-          'hr',
-          'img',
-          'input',
-          'kbd',
-          'label',
-          'li',
-          'main',
-          'mark',
-          'nav',
-          'ol',
-          'p',
-          'path',
-          'pre',
-          'q',
-          'rect',
-          's',
-          'svg',
-          'section',
-          'select',
-          'strong',
-          'small',
-          'span',
-          'sub',
-          'sup',
-          'table',
-          'tbody',
-          'td',
-          'textarea',
-          'tfoot',
-          'th',
-          'thead',
-          'tr',
-          'ul',
-        ]
-      function i(e) {
-        return (0, r.CE)(e, ['styleConfig', 'size', 'variant', 'colorScheme'])
-      }
-    },
-    2326: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        j: function () {
-          return v
-        },
-        m: function () {
-          return p
-        },
-      })
-      var r = n(4651),
-        o = n(38554),
-        i = n.n(o),
-        a = n(80658),
-        s = n(67294),
-        u = n(69590),
-        c = n.n(u),
-        l = n(24738),
-        d = n(29676)
-      function f() {
-        return (f =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function h() {
-        return f({}, (0, l.If)(), { theme: (0, d.Fg)() })
-      }
-      function p(e, t, n) {
-        var o, u
-        void 0 === t && (t = {}), void 0 === n && (n = {})
-        var { styleConfig: l } = t,
-          d = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(t, ['styleConfig']),
-          { theme: f, colorMode: p } = h(),
-          v = (0, r.Wf)(f, 'components.' + e),
-          m = l || v,
-          g = i()(
-            { theme: f, colorMode: p },
-            null != (o = null == m ? void 0 : m.defaultProps) ? o : {},
-            (0, r.YU)((0, r.CE)(d, ['children'])),
-          ),
-          y = (0, s.useRef)({})
-        return (0, s.useMemo)(() => {
-          if (m) {
-            var e,
-              t,
-              r,
-              o,
-              s,
-              u,
-              l = (0, a.Pu)(null != (e = m.baseStyle) ? e : {}, g),
-              d = (0, a.Pu)(
-                null != (t = null == (r = m.variants) ? void 0 : r[g.variant]) ? t : {},
-                g,
-              ),
-              f = (0, a.Pu)(null != (o = null == (s = m.sizes) ? void 0 : s[g.size]) ? o : {}, g),
-              h = i()({}, l, f, d)
-            null != (u = n) &&
-              u.isMultiPart &&
-              m.parts &&
-              m.parts.forEach((e) => {
-                var t
-                h[e] = null != (t = h[e]) ? t : {}
-              }),
-              c()(y.current, h) || (y.current = h)
-          }
-          return y.current
-        }, [m, g, null == (u = n) ? void 0 : u.isMultiPart])
-      }
-      function v(e, t) {
-        return p(e, t, { isMultiPart: !0 })
-      }
-    },
-    81820: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(45093)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-    },
-    45093: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.TagCloseButton = t.TagRightIcon = t.TagLeftIcon = t.TagLabel = t.Tag = void 0)
-      var r = n(29559),
-        o = n(48121),
-        i = n(66751),
-        a = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = s()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294))
-      function s() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (s = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function u() {
-        return (u =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var c = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useMultiStyleConfig)('Tag', e),
-          r = (0, o.omitThemingProps)(e),
-          i = u(
-            {
-              display: 'inline-flex',
-              verticalAlign: 'top',
-              alignItems: 'center',
-              maxWidth: '100%',
-            },
-            n.container,
-          )
-        return a.createElement(
-          o.StylesProvider,
-          { value: n },
-          a.createElement(o.chakra.span, u({ ref: t }, r, { __css: i })),
-        )
-      })
-      ;(t.Tag = c), i.__DEV__ && (c.displayName = 'Tag')
-      var l = (0, o.forwardRef)(function (e, t) {
-        var n = (0, o.useStyles)()
-        return a.createElement(o.chakra.span, u({ ref: t, isTruncated: !0 }, e, { __css: n.label }))
-      })
-      ;(t.TagLabel = l), i.__DEV__ && (l.displayName = 'TagLabel')
-      var d = (0, o.forwardRef)(function (e, t) {
-        return a.createElement(r.Icon, u({ ref: t, verticalAlign: 'top', marginEnd: '0.5rem' }, e))
-      })
-      ;(t.TagLeftIcon = d), i.__DEV__ && (d.displayName = 'TagLeftIcon')
-      var f = (0, o.forwardRef)(function (e, t) {
-        return a.createElement(
-          r.Icon,
-          u({ ref: t, verticalAlign: 'top', marginStart: '0.5rem' }, e),
-        )
-      })
-      ;(t.TagRightIcon = f), i.__DEV__ && (f.displayName = 'TagRightIcon')
-      var h = function (e) {
-        return a.createElement(
-          r.Icon,
-          u({ verticalAlign: 'inherit', viewBox: '0 0 512 512' }, e),
-          a.createElement('path', {
-            fill: 'currentColor',
-            d: 'M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z',
-          }),
-        )
-      }
-      i.__DEV__ && (h.displayName = 'TagCloseIcon')
-      var p = function (e) {
-        var t = e.isDisabled,
-          n = e.children,
-          r = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, ['isDisabled', 'children']),
-          i = u(
-            { display: 'flex', alignItems: 'center', justifyContent: 'center', outline: '0' },
-            (0, o.useStyles)().closeButton,
-          )
-        return a.createElement(
-          o.chakra.button,
-          u({}, r, { type: 'button', 'aria-label': 'close', disabled: t, __css: i }),
-          n || a.createElement(h, null),
-        )
-      }
-      ;(t.TagCloseButton = p), i.__DEV__ && (p.displayName = 'TagCloseButton')
-    },
-    96699: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        u: function () {
-          return M
-        },
-      })
-      var r = n(23459),
-        o = n(67273),
-        i = n(89384),
-        a = n(90063),
-        s = n(2326),
-        u = n(55284),
-        c = n(29676),
-        l = n(4651),
-        d = n(73808),
-        f = n(65415),
-        h = n(11770),
-        p = n(53869),
-        v = n(67294),
-        m = {
-          exit: {
-            scale: 0.85,
-            opacity: 0,
-            transition: {
-              opacity: { duration: 0.15, easings: 'easeInOut' },
-              scale: { duration: 0.2, easings: 'easeInOut' },
-            },
-          },
-          enter: {
-            scale: 1,
-            opacity: 1,
-            transition: {
-              opacity: { easings: 'easeOut', duration: 0.2 },
-              scale: { duration: 0.2, ease: [0.175, 0.885, 0.4, 1.1] },
-            },
-          },
-        },
-        g = n(74860),
-        y = n(94577),
-        b = n(34941),
-        w = n(8931),
-        _ = n(80658),
-        x = n(88456),
-        k = n(72947)
-      function E() {
-        return (E =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function O(e) {
-        void 0 === e && (e = {})
-        var {
-            openDelay: t = 0,
-            closeDelay: n = 0,
-            closeOnClick: o = !0,
-            closeOnMouseDown: i,
-            onOpen: a,
-            onClose: s,
-            placement: u,
-            id: c,
-            isOpen: l,
-            defaultIsOpen: d,
-            arrowSize: f = 10,
-            arrowShadowColor: h,
-            arrowPadding: p,
-            modifiers: m,
-            isDisabled: O,
-            gutter: T,
-            offset: C,
-          } = e,
-          M = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'openDelay',
-            'closeDelay',
-            'closeOnClick',
-            'closeOnMouseDown',
-            'onOpen',
-            'onClose',
-            'placement',
-            'id',
-            'isOpen',
-            'defaultIsOpen',
-            'arrowSize',
-            'arrowShadowColor',
-            'arrowPadding',
-            'modifiers',
-            'isDisabled',
-            'gutter',
-            'offset',
-          ]),
-          {
-            isOpen: S,
-            onOpen: P,
-            onClose: j,
-          } = (0, g.q)({ isOpen: l, defaultIsOpen: d, onOpen: a, onClose: s }),
-          {
-            referenceRef: I,
-            getPopperProps: A,
-            getArrowInnerProps: R,
-            getArrowProps: D,
-          } = (0, w.D)({
-            enabled: S,
-            placement: u,
-            arrowPadding: p,
-            modifiers: m,
-            gutter: T,
-            offset: C,
-          }),
-          L = (0, y.Me)(c, 'tooltip'),
-          N = v.useRef(null),
-          z = v.useRef(),
-          B = v.useRef(),
-          H = v.useCallback(() => {
-            O || (z.current = window.setTimeout(P, t))
-          }, [O, P, t]),
-          F = v.useCallback(() => {
-            z.current && clearTimeout(z.current), (B.current = window.setTimeout(j, n))
-          }, [n, j]),
-          V = v.useCallback(() => {
-            o && F()
-          }, [o, F]),
-          W = v.useCallback(() => {
-            i && F()
-          }, [i, F])
-        ;(0, b.O)('keydown', (e) => {
-          S && 'Escape' === e.key && F()
-        }),
-          v.useEffect(
-            () => () => {
-              clearTimeout(z.current), clearTimeout(B.current)
-            },
-            [],
-          ),
-          (0, b.O)('mouseleave', F, N.current)
-        var U = v.useCallback(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                E({}, e, {
-                  ref: (0, k.l)(N, t, I),
-                  onMouseEnter: (0, _.v0)(e.onMouseEnter, H),
-                  onClick: (0, _.v0)(e.onClick, V),
-                  onMouseDown: (0, _.v0)(e.onMouseDown, W),
-                  onFocus: (0, _.v0)(e.onFocus, H),
-                  onBlur: (0, _.v0)(e.onBlur, F),
-                  'aria-describedby': S ? L : void 0,
-                })
-              )
-            },
-            [H, F, W, S, L, V, I],
-          ),
-          G = v.useCallback(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                A(
-                  E({}, e, {
-                    style: E({}, e.style, {
-                      [r.Dq.arrowSize.var]: f ? (0, x.px)(f) : void 0,
-                      [r.Dq.arrowShadowColor.var]: h,
-                    }),
-                  }),
-                  t,
-                )
-              )
-            },
-            [A, f, h],
-          ),
-          q = v.useCallback(
-            function (e, t) {
-              return (
-                void 0 === e && (e = {}),
-                void 0 === t && (t = null),
-                E({ ref: t }, M, e, {
-                  id: L,
-                  role: 'tooltip',
-                  style: E({}, e.style, {
-                    position: 'relative',
-                    transformOrigin: r.Dq.transformOrigin.varRef,
-                  }),
-                })
-              )
-            },
-            [M, L],
-          )
-        return {
-          isOpen: S,
-          show: H,
-          hide: F,
-          getTriggerProps: U,
-          getTooltipProps: q,
-          getTooltipPositionerProps: G,
-          getArrowProps: D,
-          getArrowInnerProps: R,
-        }
-      }
-      function T() {
-        return (T =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var C = (0, i.m$)(h.E.div),
-        M = (0, a.G)((e, t) => {
-          var n = (0, s.m)('Tooltip', e),
-            a = (0, u.Lr)(e),
-            h = (0, c.Fg)(),
-            {
-              children: g,
-              label: y,
-              shouldWrapChildren: b,
-              'aria-label': w,
-              hasArrow: _,
-              bg: x,
-              portalProps: k,
-            } = a,
-            E = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(a, [
-              'children',
-              'label',
-              'shouldWrapChildren',
-              'aria-label',
-              'hasArrow',
-              'bg',
-              'portalProps',
-            ])
-          x && ((n.bg = x), (n[r.Dq.arrowBg.var] = (0, l.K1)(h, 'colors', x)))
-          var M,
-            S = O(E)
-          if ((0, d.HD)(g) || b)
-            M = v.createElement(i.m$.span, T({ tabIndex: 0 }, S.getTriggerProps()), g)
-          else {
-            var P = v.Children.only(g)
-            M = v.cloneElement(P, S.getTriggerProps(P.props, P.ref))
-          }
-          var j = !!w,
-            I = S.getTooltipProps({}, t),
-            A = j ? (0, l.CE)(I, ['role', 'id']) : I,
-            R = (0, l.ei)(I, ['role', 'id'])
-          return y
-            ? v.createElement(
-                v.Fragment,
-                null,
-                M,
-                v.createElement(
-                  p.M,
-                  null,
-                  S.isOpen &&
-                    v.createElement(
-                      o.h,
-                      k,
-                      v.createElement(
-                        i.m$.div,
-                        T({}, S.getTooltipPositionerProps(), {
-                          __css: { zIndex: n.zIndex, pointerEvents: 'none' },
-                        }),
-                        v.createElement(
-                          C,
-                          T({ variants: m }, A, {
-                            initial: 'exit',
-                            animate: 'enter',
-                            exit: 'exit',
-                            __css: n,
-                          }),
-                          y,
-                          j && v.createElement(f.TX, R, w),
-                          _ &&
-                            v.createElement(
-                              i.m$.div,
-                              {
-                                'data-popper-arrow': !0,
-                                className: 'chakra-tooltip__arrow-wrapper',
-                              },
-                              v.createElement(i.m$.div, {
-                                'data-popper-arrow-inner': !0,
-                                className: 'chakra-tooltip__arrow',
-                                __css: { bg: n.bg },
-                              }),
-                            ),
-                        ),
-                      ),
-                    ),
-                ),
-              )
-            : v.createElement(v.Fragment, null, g)
-        })
-      d.Ts && (M.displayName = 'Tooltip')
-    },
-    15267: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        U: function () {
-          return v
-        },
-      })
-      var r = n(80658),
-        o = n(38554),
-        i = n.n(o),
-        a = n(84461),
-        s = n(73808),
-        u = n(53869),
-        c = n(11770),
-        l = n(67294),
-        d = n(24722)
-      function f() {
-        return (f =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var h = {
-          exit: {
-            height: { duration: 0.2, ease: d.YI.ease },
-            opacity: { duration: 0.3, ease: d.YI.ease },
-          },
-          enter: {
-            height: { duration: 0.3, ease: d.YI.ease },
-            opacity: { duration: 0.4, ease: d.YI.ease },
-          },
-        },
-        p = {
-          exit: (e) => {
-            var t,
-              n,
-              {
-                animateOpacity: r,
-                startingHeight: o,
-                transition: i,
-                transitionEnd: a,
-                delay: s,
-              } = e
-            return f(
-              {},
-              r && { opacity: ((n = o), null != n && parseInt(n.toString(), 10) > 0 ? 1 : 0) },
-              {
-                overflow: 'hidden',
-                height: o,
-                transitionEnd: null == a ? void 0 : a.exit,
-                transition: null != (t = null == i ? void 0 : i.exit) ? t : d.p$.exit(h.exit, s),
-              },
-            )
-          },
-          enter: (e) => {
-            var t,
-              { animateOpacity: n, endingHeight: r, transition: o, transitionEnd: i, delay: a } = e
-            return f({}, n && { opacity: 1 }, {
-              height: r,
-              transitionEnd: null == i ? void 0 : i.enter,
-              transition: null != (t = null == o ? void 0 : o.enter) ? t : d.p$.enter(h.enter, a),
-            })
-          },
-        },
-        v = l.forwardRef((e, t) => {
-          var {
-              in: n,
-              unmountOnExit: o,
-              animateOpacity: s = !0,
-              startingHeight: d = 0,
-              endingHeight: h = 'auto',
-              style: v,
-              className: m,
-              transition: g,
-              transitionEnd: y,
-            } = e,
-            b = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, [
-              'in',
-              'unmountOnExit',
-              'animateOpacity',
-              'startingHeight',
-              'endingHeight',
-              'style',
-              'className',
-              'transition',
-              'transitionEnd',
-            ]),
-            [w, _] = l.useState(!1)
-          l.useEffect(() => {
-            var e = setTimeout(() => {
-              _(!0)
-            })
-            return () => clearTimeout(e)
-          }, []),
-            (0, r.ZK)({
-              condition: Boolean(d > 0 && o),
-              message:
-                "startingHeight and unmountOnExit are mutually exclusive. You can't use them together",
-            })
-          var x = parseFloat(d.toString()) > 0,
-            k = {
-              startingHeight: d,
-              endingHeight: h,
-              animateOpacity: s,
-              transition: w ? g : { enter: { duration: 0 } },
-              transitionEnd: i()(y, {
-                enter: { overflow: 'initial' },
-                exit: o ? void 0 : { display: x ? 'block' : 'none' },
-              }),
-            },
-            E = !o || n,
-            O = n || o ? 'enter' : 'exit'
-          return l.createElement(
-            u.M,
-            { initial: !1, custom: k },
-            E &&
-              l.createElement(
-                c.E.div,
-                f({ ref: t }, b, {
-                  className: (0, a.cx)('chakra-collapse', m),
-                  style: f({ overflow: 'hidden', display: 'block' }, v),
-                  custom: k,
-                  variants: p,
-                  initial: !!o && 'exit',
-                  animate: O,
-                  exit: 'exit',
-                }),
-              ),
-          )
-        })
-      s.Ts && (v.displayName = 'Collapse')
-    },
-    90454: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        R: function () {
-          return d
-        },
-      })
-      var r = n(84461),
-        o = n(73808),
-        i = n(53869),
-        a = n(11770),
-        s = n(67294),
-        u = n(24722)
-      function c() {
-        return (c =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var l = {
-          initial: 'initial',
-          animate: 'enter',
-          exit: 'exit',
-          variants: {
-            initial: (e) => {
-              var t,
-                { offsetX: n, offsetY: r, transition: o, transitionEnd: i, delay: a } = e
-              return {
-                opacity: 0,
-                x: n,
-                y: r,
-                transition: null != (t = null == o ? void 0 : o.exit) ? t : u.p$.exit(u.R.exit, a),
-                transitionEnd: null == i ? void 0 : i.exit,
-              }
-            },
-            enter: (e) => {
-              var t,
-                { transition: n, transitionEnd: r, delay: o } = e
-              return {
-                opacity: 1,
-                x: 0,
-                y: 0,
-                transition:
-                  null != (t = null == n ? void 0 : n.enter) ? t : u.p$.enter(u.R.enter, o),
-                transitionEnd: null == r ? void 0 : r.enter,
-              }
-            },
-            exit: (e) => {
-              var t,
-                {
-                  offsetY: n,
-                  offsetX: r,
-                  transition: o,
-                  transitionEnd: i,
-                  reverse: a,
-                  delay: s,
-                } = e,
-                l = { x: r, y: n }
-              return c(
-                {
-                  opacity: 0,
-                  transition:
-                    null != (t = null == o ? void 0 : o.exit) ? t : u.p$.exit(u.R.exit, s),
-                },
-                a
-                  ? c({}, l, { transitionEnd: null == i ? void 0 : i.exit })
-                  : { transitionEnd: c({}, l, null == i ? void 0 : i.exit) },
-              )
-            },
-          },
-        },
-        d = s.forwardRef((e, t) => {
-          var {
-              unmountOnExit: n,
-              in: o,
-              reverse: u = !0,
-              className: d,
-              offsetX: f = 0,
-              offsetY: h = 8,
-              transition: p,
-              transitionEnd: v,
-              delay: m,
-            } = e,
-            g = (function (e, t) {
-              if (null == e) return {}
-              var n,
-                r,
-                o = {},
-                i = Object.keys(e)
-              for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-              return o
-            })(e, [
-              'unmountOnExit',
-              'in',
-              'reverse',
-              'className',
-              'offsetX',
-              'offsetY',
-              'transition',
-              'transitionEnd',
-              'delay',
-            ]),
-            y = !n || (o && n),
-            b = o || n ? 'enter' : 'exit',
-            w = { offsetX: f, offsetY: h, reverse: u, transition: p, transitionEnd: v, delay: m }
-          return s.createElement(
-            i.M,
-            { custom: w },
-            y &&
-              s.createElement(
-                a.E.div,
-                c(
-                  { ref: t, className: (0, r.cx)('chakra-offset-slide', d), custom: w },
-                  l,
-                  { animate: b },
-                  g,
-                ),
-              ),
-          )
-        })
-      o.Ts && (d.displayName = 'SlideFade')
-    },
-    24722: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        YI: function () {
-          return i
-        },
-        R: function () {
-          return a
-        },
-        p$: function () {
-          return s
-        },
-      })
-      var r = n(73808)
-      function o() {
-        return (o =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      var i = {
-        ease: [0.25, 0.1, 0.25, 1],
-        easeIn: [0.4, 0, 1, 1],
-        easeOut: [0, 0, 0.2, 1],
-        easeInOut: [0.4, 0, 0.2, 1],
-      }
-      var a = {
-          enter: { duration: 0.2, ease: i.easeOut },
-          exit: { duration: 0.1, ease: i.easeIn },
-        },
-        s = {
-          enter: (e, t) => o({}, e, { delay: (0, r.hj)(t) ? t : null == t ? void 0 : t.enter }),
-          exit: (e, t) => o({}, e, { delay: (0, r.hj)(t) ? t : null == t ? void 0 : t.exit }),
-        }
-    },
-    4706: function (e, t) {
-      'use strict'
-      function n(e, t, n, r) {
-        void 0 === n && (n = 1), void 0 === r && (r = !0)
-        var o = t - 1
-        if (-1 === e) return n > 0 ? 0 : o
-        var i = e + n
-        return i < 0 ? (r ? o : 0) : i >= t ? (r ? 0 : e > t ? t : e) : i
-      }
-      function r(e, t, r) {
-        return void 0 === r && (r = !0), n(e, t, -1, r)
-      }
-      ;(t.__esModule = !0),
-        (t.getFirstItem = function (e) {
-          return null != e && e.length ? e[0] : void 0
-        }),
-        (t.getLastItem = function (e) {
-          var t = null == e ? 0 : e.length
-          return t ? e[t - 1] : void 0
-        }),
-        (t.getPrevItem = function (e, t, n) {
-          void 0 === n && (n = !0)
-          var o = r(e, t.length, n)
-          return t[o]
-        }),
-        (t.getNextItem = function (e, t, r) {
-          void 0 === r && (r = !0)
-          var o = n(e, t.length, 1, r)
-          return t[o]
-        }),
-        (t.removeIndex = function (e, t) {
-          return e.filter(function (e, n) {
-            return n !== t
-          })
-        }),
-        (t.addItem = function (e, t) {
-          return [].concat(e, [t])
-        }),
-        (t.removeItem = function (e, t) {
-          return e.filter(function (e) {
-            return e !== t
-          })
-        }),
-        (t.getNextIndex = n),
-        (t.getPrevIndex = r),
-        (t.chunk = function (e, t) {
-          return e.reduce(function (e, n, r) {
-            return r % t === 0 ? e.push([n]) : e[e.length - 1].push(n), e
-          }, [])
-        }),
-        (t.getNextItemFromSearch = function (e, t, n, r) {
-          if (null == t) return r
-          if (!r) {
-            return e.find(function (e) {
-              return n(e).toLowerCase().startsWith(t.toLowerCase())
-            })
-          }
-          var o = e.filter(function (e) {
-            return n(e).toLowerCase().startsWith(t.toLowerCase())
-          })
-          if (o.length > 0) {
-            var i
-            if (o.includes(r)) {
-              var a = o.indexOf(r)
-              return (i = a + 1) === o.length && (i = 0), o[i]
-            }
-            return (i = e.indexOf(o[0])), e[i]
-          }
-          return r
-        })
-    },
-    22229: function (e, t) {
-      'use strict'
-      function n(e) {
-        return Array.isArray(e)
-      }
-      function r(e) {
-        return n(e) && 0 === e.length
-      }
-      function o(e) {
-        var t = typeof e
-        return null != e && ('object' === t || 'function' === t) && !n(e)
-      }
-      function i(e) {
-        return o(e) && 0 === Object.keys(e).length
-      }
-      ;(t.__esModule = !0),
-        (t.isNumber = function (e) {
-          return 'number' === typeof e
-        }),
-        (t.isNotNumber = function (e) {
-          return 'number' !== typeof e || Number.isNaN(e) || !Number.isFinite(e)
-        }),
-        (t.isNumeric = function (e) {
-          return null != e && e - parseFloat(e) + 1 >= 0
-        }),
-        (t.isArray = n),
-        (t.isEmptyArray = r),
-        (t.isFunction = function (e) {
-          return 'function' === typeof e
-        }),
-        (t.isDefined = function (e) {
-          return 'undefined' !== typeof e && void 0 !== e
-        }),
-        (t.isUndefined = function (e) {
-          return 'undefined' === typeof e || void 0 === e
-        }),
-        (t.isObject = o),
-        (t.isEmptyObject = i),
-        (t.isNotEmptyObject = function (e) {
-          return e && !i(e)
-        }),
-        (t.isNull = function (e) {
-          return null == e
-        }),
-        (t.isString = function (e) {
-          return '[object String]' === Object.prototype.toString.call(e)
-        }),
-        (t.isCssVar = function (e) {
-          return /^var\(--.+\)$/.test(e)
-        }),
-        (t.isEmpty = function (e) {
-          return n(e) ? r(e) : o(e) ? i(e) : null == e || '' === e
-        }),
-        (t.isRefObject = function (e) {
-          return 'current' in e
-        }),
-        (t.isInputEvent = function (e) {
-          return e && o(e) && o(e.target)
-        }),
-        (t.__TEST__ = t.__DEV__ = void 0)
-      t.__DEV__ = !1
-      t.__TEST__ = !1
-    },
-    42402: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.px = a),
-        (t.analyzeBreakpoints = function (e) {
-          var t
-          if (!e) return null
-          e.base = null != (t = e.base) ? t : '0px'
-          var n = c(e),
-            i = Object.entries(e)
-              .sort(s)
-              .map(function (e, t, n) {
-                var r,
-                  i = e[0],
-                  s = e[1],
-                  u = (null != (r = n[t + 1]) ? r : [])[1]
-                return {
-                  breakpoint: i,
-                  minW: s,
-                  maxW: (u =
-                    parseFloat(u) > 0
-                      ? (function (e) {
-                          var t
-                          if (!e) return e
-                          var n = (e = null != (t = a(e)) ? t : e).endsWith('px') ? -1 : -0.0635
-                          return (0, o.isNumber)(e)
-                            ? '' + (e + n)
-                            : e.replace(/([0-9]+\.?[0-9]*)/, function (e) {
-                                return '' + (parseFloat(e) + n)
-                              })
-                        })(u)
-                      : void 0),
-                  maxWQuery: l(null, u),
-                  minWQuery: l(s),
-                  minMaxQuery: l(s, u),
-                }
-              }),
-            d = (function (e) {
-              var t = Object.keys(u(e))
-              return new Set(t)
-            })(e),
-            f = Array.from(d.values())
-          return {
-            keys: d,
-            normalized: n,
-            isResponsive: function (e) {
-              var t = Object.keys(e)
-              return (
-                t.length > 0 &&
-                t.every(function (e) {
-                  return d.has(e)
-                })
-              )
-            },
-            asObject: u(e),
-            asArray: c(e),
-            details: i,
-            media: [null].concat(
-              n
-                .map(function (e) {
-                  return l(e)
-                })
-                .slice(1),
-            ),
-            toArrayValue: function (e) {
-              if (!(0, o.isObject)(e)) throw new Error('toArrayValue: value must be an object')
-              for (
-                var t = f.map(function (t) {
-                  var n
-                  return null != (n = e[t]) ? n : null
-                });
-                null === (0, r.getLastItem)(t);
-
-              )
-                t.pop()
-              return t
-            },
-            toObjectValue: function (e) {
-              if (!Array.isArray(e)) throw new Error('toObjectValue: value must be an array')
-              return e.reduce(function (e, t, n) {
-                var r = f[n]
-                return null != r && null != t && (e[r] = t), e
-              }, {})
-            },
-          }
-        })
-      var r = n(4706),
-        o = n(22229),
-        i = n(95963)
-      function a(e) {
-        return null == e
-          ? e
-          : (function (e) {
-              var t = parseFloat(e.toString()),
-                n = e.toString().replace(String(t), '')
-              return { unitless: !n, value: t, unit: n }
-            })(e).unitless || (0, o.isNumber)(e)
-          ? e + 'px'
-          : e
-      }
-      var s = function (e, t) {
-          return parseInt(e[1], 10) > parseInt(t[1], 10) ? 1 : -1
-        },
-        u = function (e) {
-          return (0, i.fromEntries)(Object.entries(e).sort(s))
-        }
-      function c(e) {
-        var t = u(e)
-        return Object.assign(Object.values(t), t)
-      }
-      function l(e, t) {
-        var n = []
-        return (
-          e && n.push('@media screen and (min-width: ' + a(e) + ')'),
-          n.length > 0 && t && n.push('and'),
-          t && n.push('@media screen and (max-width: ' + a(t) + ')'),
-          n.join(' ')
-        )
-      }
-    },
-    33211: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.getAllFocusable = i),
-        (t.getFirstFocusable = function (e) {
-          var t = i(e)
-          return t.length ? t[0] : null
-        }),
-        (t.getAllTabbable = a),
-        (t.getFirstTabbableIn = function (e, t) {
-          return a(e, t)[0] || null
-        }),
-        (t.getLastTabbableIn = function (e, t) {
-          var n = a(e, t)
-          return n[n.length - 1] || null
-        }),
-        (t.getNextTabbable = s),
-        (t.getPreviousTabbable = u),
-        (t.focusNextTabbable = function (e, t) {
-          var n = s(e, t)
-          n && (0, r.isHTMLElement)(n) && n.focus()
-        }),
-        (t.focusPreviousTabbable = function (e, t) {
-          var n = u(e, t)
-          n && (0, r.isHTMLElement)(n) && n.focus()
-        }),
-        (t.closest = function (e, t) {
-          if ('closest' in e) return e.closest(t)
-          do {
-            if (c(e, t)) return e
-            e = e.parentElement || e.parentNode
-          } while (null !== e && 1 === e.nodeType)
-          return null
-        })
-      var r = n(99162),
-        o = [
-          'input:not([disabled])',
-          'select:not([disabled])',
-          'textarea:not([disabled])',
-          'embed',
-          'iframe',
-          'object',
-          'a[href]',
-          'area[href]',
-          'button:not([disabled])',
-          '[tabindex]',
-          'audio[controls]',
-          'video[controls]',
-          '*[tabindex]:not([aria-disabled])',
-          '*[contenteditable]',
-        ].join()
-      function i(e) {
-        var t = Array.from(e.querySelectorAll(o))
-        return (
-          t.unshift(e),
-          t.filter(r.isFocusable).filter(function (e) {
-            return 'none' !== window.getComputedStyle(e).display
-          })
-        )
-      }
-      function a(e, t) {
-        var n = Array.from(e.querySelectorAll(o)),
-          i = n.filter(r.isTabbable)
-        return (0, r.isTabbable)(e) && i.unshift(e), !i.length && t ? n : i
-      }
-      function s(e, t) {
-        var n = i(e),
-          o = n.indexOf(document.activeElement),
-          a = n.slice(o + 1)
-        return a.find(r.isTabbable) || n.find(r.isTabbable) || (t ? a[0] : null)
-      }
-      function u(e, t) {
-        var n = i(e).reverse(),
-          o = n.indexOf(document.activeElement),
-          a = n.slice(o + 1)
-        return a.find(r.isTabbable) || n.find(r.isTabbable) || (t ? a[0] : null)
-      }
-      function c(e, t) {
-        return 'matches' in e
-          ? e.matches(t)
-          : 'msMatchesSelector' in e
-          ? e.msMatchesSelector(t)
-          : e.webkitMatchesSelector(t)
-      }
-    },
-    14576: function (e, t) {
-      'use strict'
-      function n(e) {
-        var t
-        return e instanceof Element && null != (t = e.ownerDocument) ? t : document
-      }
-      function r() {
-        return !(
-          'undefined' === typeof window ||
-          !window.document ||
-          !window.document.createElement
-        )
-      }
-      ;(t.__esModule = !0),
-        (t.getOwnerWindow = function (e) {
-          var t, r
-          return e instanceof Element && null != (t = null == (r = n(e)) ? void 0 : r.defaultView)
-            ? t
-            : window
-        }),
-        (t.getOwnerDocument = n),
-        (t.canUseDOM = r),
-        (t.getActiveElement = i),
-        (t.contains = function (e, t) {
-          return !!e && (e === t || e.contains(t))
-        }),
-        (t.addDomEvent = function (e, t, n, r) {
-          return (
-            e.addEventListener(t, n, r),
-            function () {
-              e.removeEventListener(t, n, r)
-            }
-          )
-        }),
-        (t.normalizeEventKey = function (e) {
-          var t = e.key,
-            n = e.keyCode
-          return n >= 37 && n <= 40 && 0 !== t.indexOf('Arrow') ? 'Arrow' + t : t
-        }),
-        (t.getRelatedTarget = function (e) {
-          var t,
-            n,
-            r,
-            o = i(null != (t = e.target) ? t : e.currentTarget),
-            a = e.nativeEvent.explicitOriginalTarget
-          return null != (n = null != (r = e.relatedTarget) ? r : a) ? n : o
-        }),
-        (t.isRightClick = function (e) {
-          return 0 !== e.button
-        }),
-        (t.cx = t.ariaAttr = t.dataAttr = t.isBrowser = void 0)
-      var o = r()
-      t.isBrowser = o
-      t.dataAttr = function (e) {
-        return e ? '' : void 0
-      }
-      t.ariaAttr = function (e) {
-        return !!e || void 0
-      }
-      function i(e) {
-        var t = n(e)
-        return null == t ? void 0 : t.activeElement
-      }
-      t.cx = function () {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return t.filter(Boolean).join(' ')
-      }
-    },
-    86770: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.focus = function (e, t) {
-          void 0 === t && (t = {})
-          var n = t,
-            u = n.isActive,
-            c = void 0 === u ? i.isActiveElement : u,
-            l = n.nextTick,
-            d = n.preventScroll,
-            f = void 0 === d || d,
-            h = n.selectTextIfInput,
-            p = void 0 === h || h
-          if (!e || c(e)) return -1
-          function v() {
-            if (e) {
-              if (
-                (function () {
-                  if (null == s) {
-                    s = !1
-                    try {
-                      document.createElement('div').focus({
-                        get preventScroll() {
-                          return (s = !0), !0
-                        },
-                      })
-                    } catch (e) {}
-                  }
-                  return s
-                })()
-              )
-                e.focus({ preventScroll: f })
-              else if ((e.focus(), f))
-                !(function (e) {
-                  for (
-                    var t,
-                      n = (function (e, t) {
-                        var n
-                        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-                          if (
-                            Array.isArray(e) ||
-                            (n = (function (e, t) {
-                              if (!e) return
-                              if ('string' === typeof e) return a(e, t)
-                              var n = Object.prototype.toString.call(e).slice(8, -1)
-                              'Object' === n && e.constructor && (n = e.constructor.name)
-                              if ('Map' === n || 'Set' === n) return Array.from(e)
-                              if (
-                                'Arguments' === n ||
-                                /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-                              )
-                                return a(e, t)
-                            })(e)) ||
-                            (t && e && 'number' === typeof e.length)
-                          ) {
-                            n && (e = n)
-                            var r = 0
-                            return function () {
-                              return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-                            }
-                          }
-                          throw new TypeError(
-                            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-                          )
-                        }
-                        return (n = e[Symbol.iterator]()).next.bind(n)
-                      })(e);
-                    !(t = n()).done;
-
-                  ) {
-                    var r = t.value,
-                      o = r.element,
-                      i = r.scrollTop,
-                      s = r.scrollLeft
-                    ;(o.scrollTop = i), (o.scrollLeft = s)
-                  }
-                })(
-                  (function (e) {
-                    var t = (0, r.getOwnerDocument)(e),
-                      n = e.parentNode,
-                      o = [],
-                      i = t.scrollingElement || t.documentElement
-                    for (; n instanceof HTMLElement && n !== i; )
-                      (n.offsetHeight < n.scrollHeight || n.offsetWidth < n.scrollWidth) &&
-                        o.push({ element: n, scrollTop: n.scrollTop, scrollLeft: n.scrollLeft }),
-                        (n = n.parentNode)
-                    i instanceof HTMLElement &&
-                      o.push({ element: i, scrollTop: i.scrollTop, scrollLeft: i.scrollLeft })
-                    return o
-                  })(e),
-                )
-              ;(0, i.isInputElement)(e) && p && e.select()
-            } else
-              (0, o.warn)({
-                condition: !0,
-                message: "[chakra-ui]: can't call focus() on `null` or `undefined` element",
-              })
-          }
-          if (l) return requestAnimationFrame(v)
-          return v(), -1
-        })
-      var r = n(14576),
-        o = n(25981),
-        i = n(99162)
-      function a(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var s = null
-    },
-    25981: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.runIfFn = function (e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++)
-            n[o - 1] = arguments[o]
-          return (0, r.isFunction)(e) ? e.apply(void 0, n) : e
-        }),
-        (t.callAllHandlers = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return function (e) {
-            t.some(function (t) {
-              return null == t || t(e), null == e ? void 0 : e.defaultPrevented
-            })
-          }
-        }),
-        (t.callAll = function () {
-          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-          return function (e) {
-            t.forEach(function (t) {
-              null == t || t(e)
-            })
-          }
-        }),
-        (t.once = o),
-        (t.distance = function (e, t) {
-          if ((0, r.isNumber)(e) && (0, r.isNumber)(t)) return u(e, t)
-          if (c(e) && c(t)) {
-            var n = u(e.x, t.x),
-              o = u(e.y, t.y)
-            return Math.sqrt(Math.pow(n, 2) + Math.pow(o, 2))
-          }
-          return 0
-        }),
-        (t.pipe = t.scheduleMicrotask = t.error = t.warn = t.noop = t.compose = void 0)
-      var r = n(22229)
-      function o(e) {
-        var t
-        return function () {
-          if (e) {
-            for (var n = arguments.length, r = new Array(n), o = 0; o < n; o++) r[o] = arguments[o]
-            ;(t = e.apply(this, r)), (e = null)
-          }
-          return t
-        }
-      }
-      t.compose = function (e) {
-        for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-          n[r - 1] = arguments[r]
-        return n.reduce(function (e, t) {
-          return function () {
-            return e(t.apply(void 0, arguments))
-          }
-        }, e)
-      }
-      t.noop = function () {}
-      var i = o(function (e) {
-        return function () {
-          var t = e.condition,
-            n = e.message
-          t && r.__DEV__ && console.warn(n)
-        }
-      })
-      t.warn = i
-      var a = o(function (e) {
-        return function () {
-          var t = e.condition,
-            n = e.message
-          t && r.__DEV__ && console.error(n)
-        }
-      })
-      t.error = a
-      var s = r.__TEST__
-        ? function (e) {
-            return e()
-          }
-        : 'function' === typeof queueMicrotask
-        ? queueMicrotask
-        : function (e) {
-            Promise.resolve().then(e)
-          }
-      t.scheduleMicrotask = s
-      t.pipe = function () {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return function (e) {
-          return t.reduce(function (e, t) {
-            return t(e)
-          }, e)
-        }
-      }
-      var u = function (e, t) {
-          return Math.abs(e - t)
-        },
-        c = function (e) {
-          return 'x' in e && 'y' in e
-        }
-    },
-    66751: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = n(78244)
-      Object.keys(r).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === r[e]) || (t[e] = r[e]))
-      })
-      var o = n(4706)
-      Object.keys(o).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === o[e]) || (t[e] = o[e]))
-      })
-      var i = n(22229)
-      Object.keys(i).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === i[e]) || (t[e] = i[e]))
-      })
-      var a = n(42402)
-      Object.keys(a).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === a[e]) || (t[e] = a[e]))
-      })
-      var s = n(14576)
-      Object.keys(s).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === s[e]) || (t[e] = s[e]))
-      })
-      var u = n(33211)
-      Object.keys(u).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === u[e]) || (t[e] = u[e]))
-      })
-      var c = n(86770)
-      Object.keys(c).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === c[e]) || (t[e] = c[e]))
-      })
-      var l = n(25981)
-      Object.keys(l).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === l[e]) || (t[e] = l[e]))
-      })
-      var d = n(65636)
-      Object.keys(d).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === d[e]) || (t[e] = d[e]))
-      })
-      var f = n(39407)
-      Object.keys(f).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === f[e]) || (t[e] = f[e]))
-      })
-      var h = n(95963)
-      Object.keys(h).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === h[e]) || (t[e] = h[e]))
-      })
-      var p = n(52952)
-      Object.keys(p).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === p[e]) || (t[e] = p[e]))
-      })
-      var v = n(91373)
-      Object.keys(v).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === v[e]) || (t[e] = v[e]))
-      })
-      var m = n(4535)
-      Object.keys(m).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === m[e]) || (t[e] = m[e]))
-      })
-      var g = n(99162)
-      Object.keys(g).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === g[e]) || (t[e] = g[e]))
-      })
-      var y = n(27489)
-      Object.keys(y).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === y[e]) || (t[e] = y[e]))
-      })
-      var b = n(58594)
-      Object.keys(b).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === b[e]) || (t[e] = b[e]))
-      })
-      var w = n(38140)
-      Object.keys(w).forEach(function (e) {
-        'default' !== e && '__esModule' !== e && ((e in t && t[e] === w[e]) || (t[e] = w[e]))
-      })
-    },
-    65636: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.determineLazyBehavior = function (e) {
-          var t = e.hasBeenSelected,
-            n = e.isLazy,
-            r = e.isSelected,
-            o = e.lazyBehavior,
-            i = void 0 === o ? 'unmount' : o
-          return !n || !!r || !('keepMounted' !== i || !t)
-        })
-    },
-    39407: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.toPrecision = s),
-        (t.countDecimalPlaces = u),
-        (t.valueToPercent = function (e, t, n) {
-          return (100 * (e - t)) / (n - t)
-        }),
-        (t.percentToValue = function (e, t, n) {
-          return (n - t) * e + t
-        }),
-        (t.roundValueToStep = function (e, t, n) {
-          var r = Math.round((e - t) / n) * n + t,
-            o = u(n)
-          return s(r, o)
-        }),
-        (t.clampValue = function (e, t, n) {
-          return null == e
-            ? e
-            : ((0, o.warn)({ condition: n < t, message: 'clamp: max cannot be less than min' }),
-              Math.min(Math.max(e, t), n))
-        }),
-        (t.maxSafeInteger = t.minSafeInteger = void 0)
-      var r = n(22229),
-        o = n(25981),
-        i = Number.MIN_SAFE_INTEGER || -9007199254740991
-      t.minSafeInteger = i
-      var a = Number.MAX_SAFE_INTEGER || 9007199254740991
-      function s(e, t) {
-        var n = (function (e) {
-            var t = parseFloat(e)
-            return (0, r.isNotNumber)(t) ? 0 : t
-          })(e),
-          o = Math.pow(10, null != t ? t : 10)
-        return (n = Math.round(n * o) / o), t ? n.toFixed(t) : n.toString()
-      }
-      function u(e) {
-        if (!Number.isFinite(e)) return 0
-        for (var t = 1, n = 0; Math.round(e * t) / t !== e; ) (t *= 10), (n += 1)
-        return n
-      }
-      t.maxSafeInteger = a
-    },
-    95963: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.omit = function (e, t) {
-          var n = {}
-          return (
-            Object.keys(e).forEach(function (r) {
-              t.includes(r) || (n[r] = e[r])
-            }),
-            n
-          )
-        }),
-        (t.pick = function (e, t) {
-          var n = {}
-          return (
-            t.forEach(function (t) {
-              t in e && (n[t] = e[t])
-            }),
-            n
-          )
-        }),
-        (t.split = function (e, t) {
-          var n = {},
-            r = {}
-          return (
-            Object.keys(e).forEach(function (o) {
-              t.includes(o) ? (n[o] = e[o]) : (r[o] = e[o])
-            }),
-            [n, r]
-          )
-        }),
-        (t.get = i),
-        (t.getWithDefault = function (e, t) {
-          return s(t, e, e)
-        }),
-        (t.objectFilter = u),
-        (t.getCSSVar =
-          t.fromEntries =
-          t.objectKeys =
-          t.filterUndefined =
-          t.memoizedGet =
-          t.memoize =
-          t.mergeWith =
-            void 0)
-      var r,
-        o = (r = n(38554)) && r.__esModule ? r : { default: r }
-      function i(e, t, n, r) {
-        var o = 'string' === typeof t ? t.split('.') : [t]
-        for (r = 0; r < o.length && e; r += 1) e = e[o[r]]
-        return void 0 === e ? n : e
-      }
-      t.mergeWith = o.default
-      var a = function (e) {
-        var t = new WeakMap()
-        return function (n, r, o, i) {
-          if ('undefined' === typeof n) return e(n, r, o)
-          t.has(n) || t.set(n, new Map())
-          var a = t.get(n)
-          if (a.has(r)) return a.get(r)
-          var s = e(n, r, o, i)
-          return a.set(r, s), s
-        }
-      }
-      t.memoize = a
-      var s = a(i)
-      function u(e, t) {
-        var n = {}
-        return (
-          Object.keys(e).forEach(function (r) {
-            var o = e[r]
-            t(o, r, e) && (n[r] = o)
-          }),
-          n
-        )
-      }
-      t.memoizedGet = s
-      t.filterUndefined = function (e) {
-        return u(e, function (e) {
-          return null !== e && void 0 !== e
-        })
-      }
-      t.objectKeys = function (e) {
-        return Object.keys(e)
-      }
-      t.fromEntries = function (e) {
-        return e.reduce(function (e, t) {
-          var n = t[0],
-            r = t[1]
-          return (e[n] = r), e
-        }, {})
-      }
-      t.getCSSVar = function (e, t, n) {
-        var r, o
-        return null != (r = null == (o = e.__cssMap[t + '.' + n]) ? void 0 : o.varRef) ? r : n
-      }
-    },
-    52952: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0), (t.PanSession = void 0)
-      var r = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = a()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var o in e)
-            if (Object.prototype.hasOwnProperty.call(e, o)) {
-              var i = r ? Object.getOwnPropertyDescriptor(e, o) : null
-              i && (i.get || i.set) ? Object.defineProperty(n, o, i) : (n[o] = e[o])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(84839)),
-        o = n(91373),
-        i = n(25981)
-      function a() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (a = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function s() {
-        return (s =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function u(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      var c = (function () {
-        function e(e, t, n) {
-          var a = this
-          if (
-            (u(this, 'history', []),
-            u(this, 'startEvent', null),
-            u(this, 'lastEvent', null),
-            u(this, 'lastEventInfo', null),
-            u(this, 'handlers', {}),
-            u(this, 'removeListeners', i.noop),
-            u(this, 'threshold', 3),
-            u(this, 'updatePoint', function () {
-              if (a.lastEvent && a.lastEventInfo) {
-                var e = h(a.lastEventInfo, a.history),
-                  t = null !== a.startEvent,
-                  n = (0, i.distance)(e.offset, { x: 0, y: 0 }) >= a.threshold
-                if (t || n) {
-                  var o = (0, r.getFrameData)().timestamp
-                  a.history.push(s({}, e.point, { timestamp: o }))
-                  var u = a.handlers,
-                    c = u.onStart,
-                    l = u.onMove
-                  t || (null == c || c(a.lastEvent, e), (a.startEvent = a.lastEvent)),
-                    null == l || l(a.lastEvent, e)
-                }
-              }
-            }),
-            u(this, 'onPointerMove', function (e, t) {
-              ;(a.lastEvent = e),
-                (a.lastEventInfo = t),
-                (0, o.isMouseEvent)(e) && 0 === e.buttons
-                  ? a.onPointerUp(e, t)
-                  : r.default.update(a.updatePoint, !0)
-            }),
-            u(this, 'onPointerUp', function (e, t) {
-              var n = h(t, a.history),
-                r = a.handlers,
-                o = r.onEnd,
-                i = r.onSessionEnd
-              null == i || i(e, n), a.end(), o && a.startEvent && (null == o || o(e, n))
-            }),
-            !(0, o.isMultiTouchEvent)(e))
-          ) {
-            ;(this.handlers = t), n && (this.threshold = n), e.stopPropagation(), e.preventDefault()
-            var c = (0, o.extractEventInfo)(e),
-              l = (0, r.getFrameData)().timestamp
-            this.history = [s({}, c.point, { timestamp: l })]
-            var d = t.onSessionStart
-            null == d || d(e, h(c, this.history)),
-              (this.removeListeners = (0, i.pipe)(
-                (0, o.addPointerEvent)(window, 'pointermove', this.onPointerMove),
-                (0, o.addPointerEvent)(window, 'pointerup', this.onPointerUp),
-                (0, o.addPointerEvent)(window, 'pointercancel', this.onPointerUp),
-              ))
-          }
-        }
-        var t = e.prototype
-        return (
-          (t.updateHandlers = function (e) {
-            this.handlers = e
-          }),
-          (t.end = function () {
-            var e
-            null == (e = this.removeListeners) || e.call(this),
-              r.cancelSync.update(this.updatePoint)
-          }),
-          e
-        )
-      })()
-      function l(e, t) {
-        return { x: e.x - t.x, y: e.y - t.y }
-      }
-      function d(e) {
-        return e[0]
-      }
-      function f(e) {
-        return e[e.length - 1]
-      }
-      function h(e, t) {
-        return {
-          point: e.point,
-          delta: l(e.point, f(t)),
-          offset: l(e.point, d(t)),
-          velocity: p(t, 0.1),
-        }
-      }
-      t.PanSession = c
-      function p(e, t) {
-        if (e.length < 2) return { x: 0, y: 0 }
-        for (
-          var n = e.length - 1,
-            r = null,
-            o = (function (e) {
-              return e[e.length - 1]
-            })(e);
-          n >= 0 && ((r = e[n]), !(o.timestamp - r.timestamp > 1e3 * t));
-
-        )
-          n--
-        if (!r) return { x: 0, y: 0 }
-        var i = (o.timestamp - r.timestamp) / 1e3
-        if (0 === i) return { x: 0, y: 0 }
-        var a = { x: (o.x - r.x) / i, y: (o.y - r.y) / i }
-        return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a
-      }
-    },
-    91373: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.isMouseEvent = function (e) {
-          if ('undefined' !== typeof PointerEvent && e instanceof PointerEvent)
-            return !('mouse' !== e.pointerType)
-          return e instanceof MouseEvent
-        }),
-        (t.isTouchEvent = o),
-        (t.extractEventInfo = u),
-        (t.getViewportPointFromEvent = function (e) {
-          return u(e, 'client')
-        }),
-        (t.getPointerEventName = f),
-        (t.addPointerEvent = function (e, t, n, o) {
-          return (0, r.addDomEvent)(e, f(t), c(n, 'pointerdown' === t), o)
-        }),
-        (t.isMultiTouchEvent = function (e) {
-          return o(e) && e.touches.length > 1
-        }),
-        (t.wrapPointerEventHandler = void 0)
-      var r = n(14576)
-      function o(e) {
-        return !!e.touches
-      }
-      var i = { pageX: 0, pageY: 0 }
-      function a(e, t) {
-        void 0 === t && (t = 'page')
-        var n = e.touches[0] || e.changedTouches[0] || i
-        return { x: n[t + 'X'], y: n[t + 'Y'] }
-      }
-      function s(e, t) {
-        return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] }
-      }
-      function u(e, t) {
-        return void 0 === t && (t = 'page'), { point: o(e) ? a(e, t) : s(e, t) }
-      }
-      var c = function (e, t) {
-        void 0 === t && (t = !1)
-        var n,
-          r = function (t) {
-            return e(t, u(t))
-          }
-        return t
-          ? ((n = r),
-            function (e) {
-              var t = e instanceof MouseEvent
-              ;(!t || (t && 0 === e.button)) && n(e)
-            })
-          : r
-      }
-      t.wrapPointerEventHandler = c
-      var l = {
-          pointerdown: 'mousedown',
-          pointermove: 'mousemove',
-          pointerup: 'mouseup',
-          pointercancel: 'mousecancel',
-          pointerover: 'mouseover',
-          pointerout: 'mouseout',
-          pointerenter: 'mouseenter',
-          pointerleave: 'mouseleave',
-        },
-        d = {
-          pointerdown: 'touchstart',
-          pointermove: 'touchmove',
-          pointerup: 'touchend',
-          pointercancel: 'touchcancel',
-        }
-      function f(e) {
-        return r.isBrowser && null === window.onpointerdown
-          ? e
-          : r.isBrowser && null === window.ontouchstart
-          ? d[e]
-          : r.isBrowser && null === window.onmousedown
-          ? l[e]
-          : e
-      }
-    },
-    4535: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.mapResponsive = function (e, t) {
-          if ((0, o.isArray)(e))
-            return e.map(function (e) {
-              return null === e ? null : t(e)
-            })
-          if ((0, o.isObject)(e))
-            return (0, i.objectKeys)(e).reduce(function (n, r) {
-              return (n[r] = t(e[r])), n
-            }, {})
-          if (null != e) return t(e)
-          return null
-        }),
-        (t.objectToArrayNotation = function (e, t) {
-          void 0 === t && (t = a)
-          var n = t.map(function (t) {
-            var n
-            return null != (n = e[t]) ? n : null
-          })
-          for (; null === (0, r.getLastItem)(n); ) n.pop()
-          return n
-        }),
-        (t.arrayToObjectNotation = function (e, t) {
-          void 0 === t && (t = a)
-          var n = {}
-          return (
-            e.forEach(function (e, r) {
-              var o = t[r]
-              null != e && (n[o] = e)
-            }),
-            n
-          )
-        }),
-        (t.isResponsiveObjectLike = function (e, t) {
-          void 0 === t && (t = a)
-          var n = Object.keys(e)
-          return (
-            n.length > 0 &&
-            n.every(function (e) {
-              return t.includes(e)
-            })
-          )
-        }),
-        (t.isCustomBreakpoint = t.breakpoints = void 0)
-      var r = n(4706),
-        o = n(22229),
-        i = n(95963),
-        a = Object.freeze(['base', 'sm', 'md', 'lg', 'xl', '2xl'])
-      t.breakpoints = a
-      t.isCustomBreakpoint = function (e) {
-        return Number.isNaN(Number(e))
-      }
-    },
-    99162: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.isDisabled = a),
-        (t.isInputElement = function (e) {
-          return s(e) && 'input' === e.tagName.toLowerCase() && 'select' in e
-        }),
-        (t.isActiveElement = function (e) {
-          return (
-            (e instanceof HTMLElement ? (0, r.getOwnerDocument)(e) : document).activeElement === e
-          )
-        }),
-        (t.hasFocusWithin = function (e) {
-          return !!document.activeElement && e.contains(document.activeElement)
-        }),
-        (t.isHTMLElement = s),
-        (t.isHidden = u),
-        (t.isContentEditable = c),
-        (t.isFocusable = l),
-        (t.isTabbable = function (e) {
-          return !!e && s(e) && l(e) && !i(e)
-        }),
-        (t.hasNegativeTabIndex = t.hasTabIndex = t.hasDisplayNone = void 0)
-      var r = n(14576)
-      t.hasDisplayNone = function (e) {
-        return 'none' === window.getComputedStyle(e).display
-      }
-      var o = function (e) {
-        return e.hasAttribute('tabindex')
-      }
-      t.hasTabIndex = o
-      var i = function (e) {
-        return o(e) && -1 === e.tabIndex
-      }
-      function a(e) {
-        return (
-          !0 === Boolean(e.getAttribute('disabled')) ||
-          !0 === Boolean(e.getAttribute('aria-disabled'))
-        )
-      }
-      function s(e) {
-        return e instanceof HTMLElement
-      }
-      function u(e) {
-        return !(!e.parentElement || !u(e.parentElement)) || e.hidden
-      }
-      function c(e) {
-        var t = e.getAttribute('contenteditable')
-        return 'false' !== t && null != t
-      }
-      function l(e) {
-        if (!s(e) || u(e) || a(e)) return !1
-        var t = e.localName
-        if (['input', 'select', 'textarea', 'button'].indexOf(t) >= 0) return !0
-        var n = {
-          a: function () {
-            return e.hasAttribute('href')
-          },
-          audio: function () {
-            return e.hasAttribute('controls')
-          },
-          video: function () {
-            return e.hasAttribute('controls')
-          },
-        }
-        return t in n ? n[t]() : !!c(e) || o(e)
-      }
-      t.hasNegativeTabIndex = i
-    },
-    27489: function () {},
-    58594: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.detectDeviceType = function (e) {
-          var t = e.userAgent
-          return /(tablet)|(iPad)|(Nexus 9)/i.test(t)
-            ? 'tablet'
-            : /(mobi)/i.test(t)
-            ? 'phone'
-            : 'desktop'
-        }),
-        (t.detectOS = function (e) {
-          return (
-            !!r.isBrowser &&
-            (function (e) {
-              var t = e.userAgent,
-                n = e.platform
-              switch (!0) {
-                case /Android/.test(t):
-                  return 'Android'
-                case /iPhone|iPad|iPod/.test(n):
-                  return 'iOS'
-                case /Win/.test(n):
-                  return 'Windows'
-                case /Mac/.test(n):
-                  return 'Mac'
-                case /CrOS/.test(t):
-                  return 'Chrome OS'
-                case /Firefox/.test(t):
-                  return 'Firefox OS'
-                default:
-                  return null
-              }
-            })(window.navigator) === e
-          )
-        }),
-        (t.detectBrowser = function (e) {
-          return (
-            !!r.isBrowser &&
-            (function (e) {
-              var t = e.userAgent,
-                n = e.vendor,
-                r = /(android)/i.test(t)
-              switch (!0) {
-                case /CriOS/.test(t):
-                  return 'Chrome for iOS'
-                case /Edg\//.test(t):
-                  return 'Edge'
-                case r && /Silk\//.test(t):
-                  return 'Silk'
-                case /Chrome/.test(t) && /Google Inc/.test(n):
-                  return 'Chrome'
-                case /Firefox\/\d+\.\d+$/.test(t):
-                  return 'Firefox'
-                case r:
-                  return 'AOSP'
-                case /MSIE|Trident/.test(t):
-                  return 'IE'
-                case /Safari/.test(e.userAgent) && /Apple Computer/.test(t):
-                  return 'Safari'
-                case /AppleWebKit/.test(t):
-                  return 'WebKit'
-                default:
-                  return null
-              }
-            })(window.navigator) === e
-          )
-        }),
-        (t.detectTouch = function () {
-          return (
-            !!r.isBrowser &&
-            null === window.ontouchstart &&
-            null === window.ontouchmove &&
-            null === window.ontouchend
-          )
-        })
-      var r = n(14576)
-    },
-    38140: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.walkObject = function (e, t) {
-          return (function e(n, o) {
-            return (
-              void 0 === o && (o = []),
-              (0, r.isArray)(n)
-                ? n.map(function (t, n) {
-                    return e(t, [].concat(o, [String(n)]))
-                  })
-                : (0, r.isObject)(n)
-                ? Object.fromEntries(
-                    Object.entries(n).map(function (t) {
-                      var n = t[0]
-                      return [n, e(t[1], [].concat(o, [n]))]
-                    }),
-                  )
-                : t(n, o)
-            )
-          })(e)
-        })
-      var r = n(22229)
-    },
-    47248: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        T: function () {
-          return a
-        },
-      })
-      var r = n(84461),
-        o = n(80658),
-        i = n(17768)
-      function a(e, t) {
-        void 0 === t && (t = {})
-        var {
-          isActive: n = i.H9,
-          nextTick: a,
-          preventScroll: u = !0,
-          selectTextIfInput: c = !0,
-        } = t
-        if (!e || n(e)) return -1
-        function l() {
-          if (e) {
-            if (
-              (function () {
-                if (null == s) {
-                  s = !1
-                  try {
-                    document.createElement('div').focus({
-                      get preventScroll() {
-                        return (s = !0), !0
-                      },
-                    })
-                  } catch (e) {}
-                }
-                return s
-              })()
-            )
-              e.focus({ preventScroll: u })
-            else if ((e.focus(), u))
-              !(function (e) {
-                for (var { element: t, scrollTop: n, scrollLeft: r } of e)
-                  (t.scrollTop = n), (t.scrollLeft = r)
-              })(
-                (function (e) {
-                  var t = (0, r.lZ)(e),
-                    n = e.parentNode,
-                    o = [],
-                    i = t.scrollingElement || t.documentElement
-                  for (; n instanceof HTMLElement && n !== i; )
-                    (n.offsetHeight < n.scrollHeight || n.offsetWidth < n.scrollWidth) &&
-                      o.push({ element: n, scrollTop: n.scrollTop, scrollLeft: n.scrollLeft }),
-                      (n = n.parentNode)
-                  i instanceof HTMLElement &&
-                    o.push({ element: i, scrollTop: i.scrollTop, scrollLeft: i.scrollLeft })
-                  return o
-                })(e),
-              )
-            ;(0, i.cK)(e) && c && e.select()
-          } else
-            (0, o.ZK)({
-              condition: !0,
-              message: "[chakra-ui]: can't call focus() on `null` or `undefined` element",
-            })
-        }
-        return a ? requestAnimationFrame(l) : (l(), -1)
-      }
-      var s = null
-    },
-    17768: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        cK: function () {
-          return i
-        },
-        H9: function () {
-          return a
-        },
-        Wq: function () {
-          return l
-        },
-      })
-      var r = n(84461),
-        o = (e) => e.hasAttribute('tabindex')
-      function i(e) {
-        return s(e) && 'input' === e.tagName.toLowerCase() && 'select' in e
-      }
-      function a(e) {
-        return (e instanceof HTMLElement ? (0, r.lZ)(e) : document).activeElement === e
-      }
-      function s(e) {
-        return e instanceof HTMLElement
-      }
-      function u(e) {
-        return !(!e.parentElement || !u(e.parentElement)) || e.hidden
-      }
-      function c(e) {
-        if (
-          !s(e) ||
-          u(e) ||
-          (function (e) {
-            return (
-              !0 === Boolean(e.getAttribute('disabled')) ||
-              !0 === Boolean(e.getAttribute('aria-disabled'))
-            )
-          })(e)
-        )
-          return !1
-        var { localName: t } = e
-        if (['input', 'select', 'textarea', 'button'].indexOf(t) >= 0) return !0
-        var n = {
-          a: () => e.hasAttribute('href'),
-          audio: () => e.hasAttribute('controls'),
-          video: () => e.hasAttribute('controls'),
-        }
-        return t in n
-          ? n[t]()
-          : !!(function (e) {
-              var t = e.getAttribute('contenteditable')
-              return 'false' !== t && null != t
-            })(e) || o(e)
-      }
-      function l(e) {
-        return !!e && s(e) && c(e) && !((e) => o(e) && -1 === e.tabIndex)(e)
-      }
-    },
-    22944: function (e, t, n) {
-      'use strict'
-      t.__esModule = !0
-      var r = {}
-      t.default = void 0
-      var o = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = i()
-        if (t && t.has(e)) return t.get(e)
-        var n = {},
-          r = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var o in e)
-          if (Object.prototype.hasOwnProperty.call(e, o)) {
-            var a = r ? Object.getOwnPropertyDescriptor(e, o) : null
-            a && (a.get || a.set) ? Object.defineProperty(n, o, a) : (n[o] = e[o])
-          }
-        ;(n.default = e), t && t.set(e, n)
-        return n
-      })(n(13267))
-      function i() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (i = function () {
-            return e
-          }),
-          e
-        )
-      }
-      ;(t.default = o.default),
-        Object.keys(o).forEach(function (e) {
-          'default' !== e &&
-            '__esModule' !== e &&
-            (Object.prototype.hasOwnProperty.call(r, e) ||
-              (e in t && t[e] === o[e]) ||
-              (t[e] = o[e]))
-        })
-    },
-    13267: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.default = t.VisuallyHiddenInput = t.VisuallyHidden = t.visuallyHiddenStyle = void 0)
-      var r = n(48121),
-        o = n(66751),
-        i = {
-          border: '0px',
-          clip: 'rect(0px, 0px, 0px, 0px)',
-          height: '1px',
-          width: '1px',
-          margin: '-1px',
-          padding: '0px',
-          overflow: 'hidden',
-          whiteSpace: 'nowrap',
-          position: 'absolute',
-        }
-      t.visuallyHiddenStyle = i
-      var a = (0, r.chakra)('span', { baseStyle: i })
-      ;(t.VisuallyHidden = a), o.__DEV__ && (a.displayName = 'VisuallyHidden')
-      var s = (0, r.chakra)('input', { baseStyle: i })
-      ;(t.VisuallyHiddenInput = s), o.__DEV__ && (s.displayName = 'VisuallyHiddenInput')
-      var u = a
-      t.default = u
-    },
-    65415: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        NL: function () {
-          return i
-        },
-        TX: function () {
-          return a
-        },
-      })
-      var r = n(89384),
-        o = n(73808),
-        i = {
-          border: '0px',
-          clip: 'rect(0px, 0px, 0px, 0px)',
-          height: '1px',
-          width: '1px',
-          margin: '-1px',
-          padding: '0px',
-          overflow: 'hidden',
-          whiteSpace: 'nowrap',
-          position: 'absolute',
-        },
-        a = (0, r.m$)('span', { baseStyle: i })
-      o.Ts && (a.displayName = 'VisuallyHidden')
-      var s = (0, r.m$)('input', { baseStyle: i })
-      o.Ts && (s.displayName = 'VisuallyHiddenInput')
-    },
-    46600: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return o
-        },
-      })
-      var r =
-          /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,
-        o = (function (e) {
-          var t = {}
-          return function (n) {
-            return void 0 === t[n] && (t[n] = e(n)), t[n]
-          }
-        })(function (e) {
-          return (
-            r.test(e) ||
-            (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91)
-          )
-        })
-    },
-    61194: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          default: function () {
-            return m
-          },
-        })
-      var r = n(67294),
-        o = n(22122),
-        i = n(67866),
-        a =
-          /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,
-        s = (0, i.Z)(function (e) {
-          return (
-            a.test(e) ||
-            (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91)
-          )
-        }),
-        u = n(30495),
-        c = n(70444),
-        l = n(94199),
-        d = s,
-        f = function (e) {
-          return 'theme' !== e
-        },
-        h = function (e) {
-          return 'string' === typeof e && e.charCodeAt(0) > 96 ? d : f
-        },
-        p = function (e, t, n) {
-          var r
-          if (t) {
-            var o = t.shouldForwardProp
-            r =
-              e.__emotion_forwardProp && o
-                ? function (t) {
-                    return e.__emotion_forwardProp(t) && o(t)
-                  }
-                : o
-          }
-          return 'function' !== typeof r && n && (r = e.__emotion_forwardProp), r
-        },
-        v = function e(t, n) {
-          var i,
-            a,
-            s = t.__emotion_real === t,
-            d = (s && t.__emotion_base) || t
-          void 0 !== n && ((i = n.label), (a = n.target))
-          var f = p(t, n, s),
-            v = f || h(d),
-            m = !v('as')
-          return function () {
-            var g = arguments,
-              y = s && void 0 !== t.__emotion_styles ? t.__emotion_styles.slice(0) : []
-            if ((void 0 !== i && y.push('label:' + i + ';'), null == g[0] || void 0 === g[0].raw))
-              y.push.apply(y, g)
-            else {
-              0, y.push(g[0][0])
-              for (var b = g.length, w = 1; w < b; w++) y.push(g[w], g[0][w])
-            }
-            var _ = (0, u.w)(function (e, t, n) {
-              var o = (m && e.as) || d,
-                i = '',
-                s = [],
-                p = e
-              if (null == e.theme) {
-                for (var g in ((p = {}), e)) p[g] = e[g]
-                p.theme = (0, r.useContext)(u.T)
-              }
-              'string' === typeof e.className
-                ? (i = (0, c.f)(t.registered, s, e.className))
-                : null != e.className && (i = e.className + ' ')
-              var b = (0, l.O)(y.concat(s), t.registered, p)
-              ;(0, c.M)(t, b, 'string' === typeof o)
-              ;(i += t.key + '-' + b.name), void 0 !== a && (i += ' ' + a)
-              var w = m && void 0 === f ? h(o) : v,
-                _ = {}
-              for (var x in e) (m && 'as' === x) || (w(x) && (_[x] = e[x]))
-              return (_.className = i), (_.ref = n), (0, r.createElement)(o, _)
-            })
-            return (
-              (_.displayName =
-                void 0 !== i
-                  ? i
-                  : 'Styled(' +
-                    ('string' === typeof d ? d : d.displayName || d.name || 'Component') +
-                    ')'),
-              (_.defaultProps = t.defaultProps),
-              (_.__emotion_real = _),
-              (_.__emotion_base = d),
-              (_.__emotion_styles = y),
-              (_.__emotion_forwardProp = f),
-              Object.defineProperty(_, 'toString', {
-                value: function () {
-                  return '.' + a
-                },
-              }),
-              (_.withComponent = function (t, r) {
-                return e(t, (0, o.Z)({}, n, r, { shouldForwardProp: p(_, r, !0) })).apply(void 0, y)
-              }),
-              _
-            )
-          }
-        }.bind()
-      ;[
-        'a',
-        'abbr',
-        'address',
-        'area',
-        'article',
-        'aside',
-        'audio',
-        'b',
-        'base',
-        'bdi',
-        'bdo',
-        'big',
-        'blockquote',
-        'body',
-        'br',
-        'button',
-        'canvas',
-        'caption',
-        'cite',
-        'code',
-        'col',
-        'colgroup',
-        'data',
-        'datalist',
-        'dd',
-        'del',
-        'details',
-        'dfn',
-        'dialog',
-        'div',
-        'dl',
-        'dt',
-        'em',
-        'embed',
-        'fieldset',
-        'figcaption',
-        'figure',
-        'footer',
-        'form',
-        'h1',
-        'h2',
-        'h3',
-        'h4',
-        'h5',
-        'h6',
-        'head',
-        'header',
-        'hgroup',
-        'hr',
-        'html',
-        'i',
-        'iframe',
-        'img',
-        'input',
-        'ins',
-        'kbd',
-        'keygen',
-        'label',
-        'legend',
-        'li',
-        'link',
-        'main',
-        'map',
-        'mark',
-        'marquee',
-        'menu',
-        'menuitem',
-        'meta',
-        'meter',
-        'nav',
-        'noscript',
-        'object',
-        'ol',
-        'optgroup',
-        'option',
-        'output',
-        'p',
-        'param',
-        'picture',
-        'pre',
-        'progress',
-        'q',
-        'rp',
-        'rt',
-        'ruby',
-        's',
-        'samp',
-        'script',
-        'section',
-        'select',
-        'small',
-        'source',
-        'span',
-        'strong',
-        'style',
-        'sub',
-        'summary',
-        'sup',
-        'table',
-        'tbody',
-        'td',
-        'textarea',
-        'tfoot',
-        'th',
-        'thead',
-        'time',
-        'title',
-        'tr',
-        'track',
-        'u',
-        'ul',
-        'var',
-        'video',
-        'wbr',
-        'circle',
-        'clipPath',
-        'defs',
-        'ellipse',
-        'foreignObject',
-        'g',
-        'image',
-        'line',
-        'linearGradient',
-        'mask',
-        'path',
-        'pattern',
-        'polygon',
-        'polyline',
-        'radialGradient',
-        'rect',
-        'stop',
-        'svg',
-        'text',
-        'tspan',
-      ].forEach(function (e) {
-        v[e] = v(e)
-      })
-      var m = v
-    },
-    20233: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        _7: function () {
-          return m
-        },
-      })
-      var r = n(67294)
-      var o = function (e) {
-        ;(0, r.useEffect)(function () {
-          e()
-        }, [])
-      }
-      var i = function (e, t) {
-        var n = (0, r.useRef)(!1)
-        ;(0, r.useEffect)(function () {
-          if (n.current) return e()
-          n.current = !0
-        }, t)
-      }
-      var a = function (e) {
-        var t = (0, r.useRef)(e)
-        ;(t.current = e),
-          (0, r.useEffect)(function () {
-            return function () {
-              t.current()
-            }
-          }, [])
-      }
-      'undefined' !== typeof window && 'undefined' !== typeof document
-        ? r.useLayoutEffect
-        : r.useEffect
-      function s(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function u(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) {
-              var n = [],
-                r = !0,
-                o = !1,
-                i = void 0
-              try {
-                for (
-                  var a, s = e[Symbol.iterator]();
-                  !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t);
-                  r = !0
-                );
-              } catch (u) {
-                ;(o = !0), (i = u)
-              } finally {
-                try {
-                  r || null == s.return || s.return()
-                } finally {
-                  if (o) throw i
-                }
-              }
-              return n
-            }
-          })(e, t) ||
-          (function (e, t) {
-            if (e) {
-              if ('string' === typeof e) return s(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              return (
-                'Object' === n && e.constructor && (n = e.constructor.name),
-                'Map' === n || 'Set' === n
-                  ? Array.from(e)
-                  : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-                  ? s(e, t)
-                  : void 0
-              )
-            }
-          })(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      var c =
-        Object.is ||
-        function (e, t) {
-          return e === t ? 0 !== e || 1 / e === 1 / t : e !== e && t !== t
-        }
-      function l(e, t) {
-        for (var n = 0; n < e.length && n < t.length; n++) if (!c(t[n], e[n])) return !1
-        return !0
-      }
-      var d = function (e) {
-        var t = (0, r.useRef)(e)
-        return (t.current = e), t
-      }
-      var f = function (e) {
-        var t = d(e),
-          n = (0, r.useRef)()
-        return (
-          void 0 === n.current &&
-            (n.current = function () {
-              for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)
-                n[r] = arguments[r]
-              return t.current.apply(this, n)
-            }),
-          n.current
-        )
-      }
-      function h(e) {
-        return (h =
-          'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
-            ? function (e) {
-                return typeof e
-              }
-            : function (e) {
-                return e &&
-                  'function' === typeof Symbol &&
-                  e.constructor === Symbol &&
-                  e !== Symbol.prototype
-                  ? 'symbol'
-                  : typeof e
-              })(e)
-      }
-      var p = function () {
-        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]
-        return function (t, n) {
-          var o,
-            i = !1,
-            s = !0
-          'number' === typeof n
-            ? (o = n)
-            : 'object' === h(n) &&
-              n &&
-              ('wait' in n && (o = +n.wait),
-              'leading' in n && (i = !!n.leading),
-              'trailing' in n && (s = !!n.trailing))
-          var u = (0, r.useRef)(),
-            c = (0, r.useRef)(),
-            l = (0, r.useRef)(),
-            d = (0, r.useRef)(),
-            p = (0, r.useRef)(),
-            v = (0, r.useRef)(),
-            m = f(function () {
-              var n = Date.now(),
-                r = n - p.current,
-                i = n - v.current
-              if ((d.current && clearTimeout(d.current), r >= o || (e && i >= o)))
-                (d.current = void 0),
-                  (p.current = void 0),
-                  s && c.current && ((v.current = n), (l.current = t.apply(u.current, c.current)))
-              else {
-                var a = o - r,
-                  f = o - i,
-                  h = e ? Math.min(a, f) : a
-                d.current = setTimeout(m, h)
-              }
-            }),
-            g = f(function () {
-              var e = Date.now(),
-                n = p.current
-              u.current = this
-              for (var r = arguments.length, a = new Array(r), s = 0; s < r; s++)
-                a[s] = arguments[s]
-              return (
-                (c.current = a),
-                (p.current = e),
-                (void 0 === n || e - n >= o) &&
-                  void 0 === d.current &&
-                  ((v.current = e),
-                  (d.current = setTimeout(m, o)),
-                  i && (l.current = t.apply(u.current, c.current))),
-                l.current
-              )
-            }),
-            y = (0, r.useCallback)(function () {
-              void 0 !== d.current && (clearTimeout(d.current), (d.current = void 0)),
-                (u.current = void 0),
-                (c.current = void 0),
-                (p.current = void 0),
-                (v.current = void 0)
-            }, []),
-            b = f(function () {
-              return (
-                void 0 !== d.current &&
-                  c.current &&
-                  ((l.current = t.apply(u.current, c.current)), y()),
-                l.current
-              )
-            })
-          return a(y), [g, { flush: b, cancel: y }]
-        }
-      }
-      var v = function () {
-        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
-          t = p(e)
-        return function (e, n) {
-          var o = d(e),
-            a = u((0, r.useState)(e), 2),
-            s = a[0],
-            l = a[1],
-            h = (0, r.useRef)(s)
-          function p(e) {
-            c(h.current, e) || ((h.current = e), l(e))
-          }
-          var v = u(t(p, n), 2),
-            m = v[0],
-            g = v[1].cancel,
-            y = f(function (e) {
-              g(), p(arguments.length > 0 ? e : o.current)
-            })
-          return (
-            i(
-              function () {
-                m(e)
-              },
-              [e],
-            ),
-            [s, { flush: y, cancel: g }]
-          )
-        }
-      }
-      v(!1), v(!0), p(!1), p(!0)
-      'undefined' !== typeof window &&
-        window.requestIdleCallback &&
-        window.cancelIdleCallback &&
-        (window.requestIdleCallback, window.cancelIdleCallback)
-      var m = function (e, t) {
-        var n, o
-        'number' === typeof t
-          ? (n = t)
-          : 'object' === h(t) &&
-            null !== t &&
-            ('duration' in t && (n = +t.duration),
-            'function' === typeof t.algorithm && (o = t.algorithm))
-        var i = (0, r.useRef)(),
-          s = (0, r.useRef)(),
-          u = f(e),
-          c = f(function (e) {
-            void 0 === s.current && (s.current = e)
-            var t = e - s.current,
-              r = n > 0 ? t / n : 1
-            r < 0 && (r = 0),
-              r > 1 && (r = 1),
-              r < 1 && (i.current = requestAnimationFrame(c)),
-              u(o ? o(r) : r)
-          }),
-          l = (0, r.useCallback)(function () {
-            void 0 !== i.current && (cancelAnimationFrame(i.current), (i.current = void 0)),
-              (s.current = void 0)
-          }, []),
-          d = f(function () {
-            l(), (i.current = requestAnimationFrame(c))
-          })
-        return a(l), [d, l]
-      }
-      var g = function () {
-        var e = (0, r.useRef)(!1)
-        return (
-          o(function () {
-            e.current = !0
-          }),
-          e
-        )
-      }
-      var y = function (e) {
-        var t = (0, r.useRef)(e),
-          n = (0, r.useRef)(e)
-        return (n.current = t.current), (t.current = e), n
-      }
-      var b = function (e, t, n, o) {
-        var i, a, s
-        'boolean' === typeof o
-          ? (i = o)
-          : 'object' === h(o) &&
-            null !== o &&
-            ('capture' in o && (i = !!o.capture),
-            'once' in o && (a = !!o.once),
-            'passive' in o && (s = !!o.passive))
-        var u = f(n)
-        ;(0, r.useEffect)(
-          function () {
-            if (e && e.addEventListener && e.removeEventListener)
-              return (
-                e.addEventListener(t, u, { capture: i, once: a, passive: s }),
-                function () {
-                  e.removeEventListener(t, u, { capture: i })
-                }
-              )
-          },
-          [e, t, u, i, a, s],
-        )
-      }
-      'undefined' !== typeof window &&
-        'undefined' !== typeof window.navigator &&
-        window.navigator.onLine
-      var w = function (e) {
-          var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
-            n = g(),
-            o = y(t),
-            i = (0, r.useRef)()
-          return (n.current && l(o.current, t)) || (i.current = e()), i.current
-        },
-        _ = { ico: 'image/x-icon', png: 'image/png', gif: 'image/gif' }
-      'undefined' !== typeof window && window.matchMedia
-      n(36808)
-      function x(e, t) {
-        var n = (0, r.useRef)(),
-          o = u((0, r.useState)(t), 2),
-          a = o[0],
-          s = o[1],
-          c = f(function (e) {
-            ;(n.current = e), s(e)
-          }),
-          l = f(function () {
-            s(t)
-          })
-        return (
-          i(
-            function () {
-              ;(n.current = void 0), s(t)
-            },
-            [e],
-          ),
-          i(
-            function () {
-              void 0 === n.current && s(t)
-            },
-            [t],
-          ),
-          [a, { set: c, remove: l }]
-        )
-      }
-      var k = function (e) {
-        return e
-          ? function (t, n, o) {
-              var a = o && o.serialize ? o.serialize : JSON.stringify,
-                s = o && o.deserialize ? o.deserialize : JSON.parse,
-                c = f(function () {
-                  try {
-                    var r = e.getItem(t)
-                    return null !== r ? s(r) : n
-                  } catch (o) {
-                    return n
-                  }
-                }),
-                l = f(function (n) {
-                  try {
-                    e.setItem(t, a(n))
-                  } catch (r) {}
-                }),
-                d = f(function () {
-                  e.removeItem(t)
-                }),
-                p = u((0, r.useState)(c()), 2),
-                v = p[0],
-                m = p[1],
-                g = f(function (e) {
-                  l(e), m(e)
-                }),
-                y = f(function () {
-                  d(), m(c())
-                })
-              return (
-                i(
-                  function () {
-                    m(c())
-                  },
-                  [t],
-                ),
-                i(
-                  function () {
-                    null === e.getItem(t) && m(n)
-                  },
-                  [n],
-                ),
-                (0, r.useEffect)(
-                  function () {
-                    function n(n) {
-                      n.storageArea === e && n.key === t && m(c())
-                    }
-                    if (void 0 !== ('undefined' === typeof window ? 'undefined' : h(window)))
-                      return (
-                        window.addEventListener('storage', n),
-                        function () {
-                          return window.removeEventListener('storage', n)
-                        }
-                      )
-                  },
-                  [t],
-                ),
-                [v, { set: g, remove: y }]
-              )
-            }
-          : x
-      }
-      k('undefined' !== typeof localStorage ? localStorage : null),
-        k('undefined' !== typeof sessionStorage ? sessionStorage : null)
-    },
-    54309: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        iP: function () {
-          return d
-        },
-      })
-      var r = n(67294)
-      var o = (e) => {
-        const t = r.useRef(e)
-        return (
-          r.useEffect(() => {
-            t.current = e
-          }),
-          t
-        )
-      }
-      const i = (e, t = 100, n = !1) => {
-        const i = o(e),
-          a = r.useRef(),
-          s = [t, n, i]
-        function u() {
-          a.current && clearTimeout(a.current), (a.current = void 0)
-        }
-        function c() {
-          a.current = void 0
-        }
-        return (
-          r.useEffect(() => u, s),
-          r.useCallback(function () {
-            const e = arguments,
-              { current: r } = a
-            if (void 0 === r && n) return (a.current = setTimeout(c, t)), i.current.apply(null, e)
-            r && clearTimeout(r),
-              (a.current = setTimeout(() => {
-                ;(a.current = void 0), i.current.apply(null, e)
-              }, t))
-          }, s)
-        )
-      }
-      var a =
-        r[
-          'undefined' !== typeof document && void 0 !== document.createElement
-            ? 'useLayoutEffect'
-            : 'useEffect'
-        ]
-      var s = function (e, t, n, o) {
-        const i = r.useRef(n),
-          s = r.useRef(o)
-        a(() => {
-          ;(i.current = n), (s.current = o)
-        }),
-          a(() => {
-            const n = e && 'current' in e ? e.current : e
-            if (!n) return
-            let r = 0
-            function o(...e) {
-              r || i.current.apply(this, e)
-            }
-            n.addEventListener(t, o)
-            const a = s.current
-            return () => {
-              ;(r = 1), n.removeEventListener(t, o), a && a()
-            }
-          }, [e, t])
-      }
-      const u = {},
-        c = 'undefined' === typeof window ? null : window,
-        l = () => [document.documentElement.clientWidth, document.documentElement.clientHeight],
-        d = (e = u) => {
-          const { wait: t, leading: n, initialWidth: o = 0, initialHeight: a = 0 } = e,
-            [d, f] = ((e, t, n) => {
-              const o = r.useState(e)
-              return [o[0], i(o[1], t, n)]
-            })('undefined' === typeof document ? [o, a] : l, t, n),
-            h = () => f(l)
-          return s(c, 'resize', h), s(c, 'orientationchange', h), d
-        }
-    },
-    36194: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        oY: function () {
-          return o
-        },
-      })
-      var r = n(34155),
-        o = {
-          Linear: {
-            None: function (e) {
-              return e
-            },
-          },
-          Quadratic: {
-            In: function (e) {
-              return e * e
-            },
-            Out: function (e) {
-              return e * (2 - e)
-            },
-            InOut: function (e) {
-              return (e *= 2) < 1 ? 0.5 * e * e : -0.5 * (--e * (e - 2) - 1)
-            },
-          },
-          Cubic: {
-            In: function (e) {
-              return e * e * e
-            },
-            Out: function (e) {
-              return --e * e * e + 1
-            },
-            InOut: function (e) {
-              return (e *= 2) < 1 ? 0.5 * e * e * e : 0.5 * ((e -= 2) * e * e + 2)
-            },
-          },
-          Quartic: {
-            In: function (e) {
-              return e * e * e * e
-            },
-            Out: function (e) {
-              return 1 - --e * e * e * e
-            },
-            InOut: function (e) {
-              return (e *= 2) < 1 ? 0.5 * e * e * e * e : -0.5 * ((e -= 2) * e * e * e - 2)
-            },
-          },
-          Quintic: {
-            In: function (e) {
-              return e * e * e * e * e
-            },
-            Out: function (e) {
-              return --e * e * e * e * e + 1
-            },
-            InOut: function (e) {
-              return (e *= 2) < 1 ? 0.5 * e * e * e * e * e : 0.5 * ((e -= 2) * e * e * e * e + 2)
-            },
-          },
-          Sinusoidal: {
-            In: function (e) {
-              return 1 - Math.cos((e * Math.PI) / 2)
-            },
-            Out: function (e) {
-              return Math.sin((e * Math.PI) / 2)
-            },
-            InOut: function (e) {
-              return 0.5 * (1 - Math.cos(Math.PI * e))
-            },
-          },
-          Exponential: {
-            In: function (e) {
-              return 0 === e ? 0 : Math.pow(1024, e - 1)
-            },
-            Out: function (e) {
-              return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
-            },
-            InOut: function (e) {
-              return 0 === e
-                ? 0
-                : 1 === e
-                ? 1
-                : (e *= 2) < 1
-                ? 0.5 * Math.pow(1024, e - 1)
-                : 0.5 * (2 - Math.pow(2, -10 * (e - 1)))
-            },
-          },
-          Circular: {
-            In: function (e) {
-              return 1 - Math.sqrt(1 - e * e)
-            },
-            Out: function (e) {
-              return Math.sqrt(1 - --e * e)
-            },
-            InOut: function (e) {
-              return (e *= 2) < 1
-                ? -0.5 * (Math.sqrt(1 - e * e) - 1)
-                : 0.5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
-            },
-          },
-          Elastic: {
-            In: function (e) {
-              return 0 === e
-                ? 0
-                : 1 === e
-                ? 1
-                : -Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
-            },
-            Out: function (e) {
-              return 0 === e
-                ? 0
-                : 1 === e
-                ? 1
-                : Math.pow(2, -10 * e) * Math.sin(5 * (e - 0.1) * Math.PI) + 1
-            },
-            InOut: function (e) {
-              return 0 === e
-                ? 0
-                : 1 === e
-                ? 1
-                : (e *= 2) < 1
-                ? -0.5 * Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
-                : 0.5 * Math.pow(2, -10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) + 1
-            },
-          },
-          Back: {
-            In: function (e) {
-              var t = 1.70158
-              return e * e * ((t + 1) * e - t)
-            },
-            Out: function (e) {
-              var t = 1.70158
-              return --e * e * ((t + 1) * e + t) + 1
-            },
-            InOut: function (e) {
-              var t = 2.5949095
-              return (e *= 2) < 1
-                ? e * e * ((t + 1) * e - t) * 0.5
-                : 0.5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
-            },
-          },
-          Bounce: {
-            In: function (e) {
-              return 1 - o.Bounce.Out(1 - e)
-            },
-            Out: function (e) {
-              return e < 1 / 2.75
-                ? 7.5625 * e * e
-                : e < 2 / 2.75
-                ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75
-                : e < 2.5 / 2.75
-                ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375
-                : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375
-            },
-            InOut: function (e) {
-              return e < 0.5 ? 0.5 * o.Bounce.In(2 * e) : 0.5 * o.Bounce.Out(2 * e - 1) + 0.5
-            },
-          },
-        },
-        i =
-          'undefined' === typeof self && 'undefined' !== typeof r && r.hrtime
-            ? function () {
-                var e = r.hrtime()
-                return 1e3 * e[0] + e[1] / 1e6
-              }
-            : 'undefined' !== typeof self &&
-              void 0 !== self.performance &&
-              void 0 !== self.performance.now
-            ? self.performance.now.bind(self.performance)
-            : void 0 !== Date.now
-            ? Date.now
-            : function () {
-                return new Date().getTime()
-              },
-        a = (function () {
-          function e() {
-            ;(this._tweens = {}), (this._tweensAddedDuringUpdate = {})
-          }
-          return (
-            (e.prototype.getAll = function () {
-              var e = this
-              return Object.keys(this._tweens).map(function (t) {
-                return e._tweens[t]
-              })
-            }),
-            (e.prototype.removeAll = function () {
-              this._tweens = {}
-            }),
-            (e.prototype.add = function (e) {
-              ;(this._tweens[e.getId()] = e), (this._tweensAddedDuringUpdate[e.getId()] = e)
-            }),
-            (e.prototype.remove = function (e) {
-              delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()]
-            }),
-            (e.prototype.update = function (e, t) {
-              void 0 === e && (e = i()), void 0 === t && (t = !1)
-              var n = Object.keys(this._tweens)
-              if (0 === n.length) return !1
-              for (; n.length > 0; ) {
-                this._tweensAddedDuringUpdate = {}
-                for (var r = 0; r < n.length; r++) {
-                  var o = this._tweens[n[r]],
-                    a = !t
-                  o && !1 === o.update(e, a) && !t && delete this._tweens[n[r]]
-                }
-                n = Object.keys(this._tweensAddedDuringUpdate)
-              }
-              return !0
-            }),
-            e
-          )
-        })(),
-        s = {
-          Linear: function (e, t) {
-            var n = e.length - 1,
-              r = n * t,
-              o = Math.floor(r),
-              i = s.Utils.Linear
-            return t < 0
-              ? i(e[0], e[1], r)
-              : t > 1
-              ? i(e[n], e[n - 1], n - r)
-              : i(e[o], e[o + 1 > n ? n : o + 1], r - o)
-          },
-          Bezier: function (e, t) {
-            for (
-              var n = 0, r = e.length - 1, o = Math.pow, i = s.Utils.Bernstein, a = 0;
-              a <= r;
-              a++
-            )
-              n += o(1 - t, r - a) * o(t, a) * e[a] * i(r, a)
-            return n
-          },
-          CatmullRom: function (e, t) {
-            var n = e.length - 1,
-              r = n * t,
-              o = Math.floor(r),
-              i = s.Utils.CatmullRom
-            return e[0] === e[n]
-              ? (t < 0 && (o = Math.floor((r = n * (1 + t)))),
-                i(e[(o - 1 + n) % n], e[o], e[(o + 1) % n], e[(o + 2) % n], r - o))
-              : t < 0
-              ? e[0] - (i(e[0], e[0], e[1], e[1], -r) - e[0])
-              : t > 1
-              ? e[n] - (i(e[n], e[n], e[n - 1], e[n - 1], r - n) - e[n])
-              : i(e[o ? o - 1 : 0], e[o], e[n < o + 1 ? n : o + 1], e[n < o + 2 ? n : o + 2], r - o)
-          },
-          Utils: {
-            Linear: function (e, t, n) {
-              return (t - e) * n + e
-            },
-            Bernstein: function (e, t) {
-              var n = s.Utils.Factorial
-              return n(e) / n(t) / n(e - t)
-            },
-            Factorial: (function () {
-              var e = [1]
-              return function (t) {
-                var n = 1
-                if (e[t]) return e[t]
-                for (var r = t; r > 1; r--) n *= r
-                return (e[t] = n), n
-              }
-            })(),
-            CatmullRom: function (e, t, n, r, o) {
-              var i = 0.5 * (n - e),
-                a = 0.5 * (r - t),
-                s = o * o
-              return (
-                (2 * t - 2 * n + i + a) * (o * s) + (-3 * t + 3 * n - 2 * i - a) * s + i * o + t
-              )
-            },
-          },
-        },
-        u = (function () {
-          function e() {}
-          return (
-            (e.nextId = function () {
-              return e._nextId++
-            }),
-            (e._nextId = 0),
-            e
-          )
-        })(),
-        c = new a(),
-        l = (function () {
-          function e(e, t) {
-            void 0 === t && (t = c),
-              (this._object = e),
-              (this._group = t),
-              (this._isPaused = !1),
-              (this._pauseStart = 0),
-              (this._valuesStart = {}),
-              (this._valuesEnd = {}),
-              (this._valuesStartRepeat = {}),
-              (this._duration = 1e3),
-              (this._initialRepeat = 0),
-              (this._repeat = 0),
-              (this._yoyo = !1),
-              (this._isPlaying = !1),
-              (this._reversed = !1),
-              (this._delayTime = 0),
-              (this._startTime = 0),
-              (this._easingFunction = o.Linear.None),
-              (this._interpolationFunction = s.Linear),
-              (this._chainedTweens = []),
-              (this._onStartCallbackFired = !1),
-              (this._id = u.nextId()),
-              (this._isChainStopped = !1),
-              (this._goToEnd = !1)
-          }
-          return (
-            (e.prototype.getId = function () {
-              return this._id
-            }),
-            (e.prototype.isPlaying = function () {
-              return this._isPlaying
-            }),
-            (e.prototype.isPaused = function () {
-              return this._isPaused
-            }),
-            (e.prototype.to = function (e, t) {
-              return (
-                (this._valuesEnd = Object.create(e)), void 0 !== t && (this._duration = t), this
-              )
-            }),
-            (e.prototype.duration = function (e) {
-              return (this._duration = e), this
-            }),
-            (e.prototype.start = function (e) {
-              if (this._isPlaying) return this
-              if (
-                (this._group && this._group.add(this),
-                (this._repeat = this._initialRepeat),
-                this._reversed)
-              )
-                for (var t in ((this._reversed = !1), this._valuesStartRepeat))
-                  this._swapEndStartRepeatValues(t),
-                    (this._valuesStart[t] = this._valuesStartRepeat[t])
-              return (
-                (this._isPlaying = !0),
-                (this._isPaused = !1),
-                (this._onStartCallbackFired = !1),
-                (this._isChainStopped = !1),
-                (this._startTime =
-                  void 0 !== e ? ('string' === typeof e ? i() + parseFloat(e) : e) : i()),
-                (this._startTime += this._delayTime),
-                this._setupProperties(
-                  this._object,
-                  this._valuesStart,
-                  this._valuesEnd,
-                  this._valuesStartRepeat,
-                ),
-                this
-              )
-            }),
-            (e.prototype._setupProperties = function (e, t, n, r) {
-              for (var o in n) {
-                var i = e[o],
-                  a = Array.isArray(i),
-                  s = a ? 'array' : typeof i,
-                  u = !a && Array.isArray(n[o])
-                if ('undefined' !== s && 'function' !== s) {
-                  if (u) {
-                    var c = n[o]
-                    if (0 === c.length) continue
-                    ;(c = c.map(this._handleRelativeValue.bind(this, i))), (n[o] = [i].concat(c))
-                  }
-                  if (('object' !== s && !a) || !i || u)
-                    'undefined' === typeof t[o] && (t[o] = i),
-                      a || (t[o] *= 1),
-                      (r[o] = u ? n[o].slice().reverse() : t[o] || 0)
-                  else {
-                    for (var l in ((t[o] = a ? [] : {}), i)) t[o][l] = i[l]
-                    ;(r[o] = a ? [] : {}), this._setupProperties(i, t[o], n[o], r[o])
-                  }
-                }
-              }
-            }),
-            (e.prototype.stop = function () {
-              return (
-                this._isChainStopped || ((this._isChainStopped = !0), this.stopChainedTweens()),
-                this._isPlaying
-                  ? (this._group && this._group.remove(this),
-                    (this._isPlaying = !1),
-                    (this._isPaused = !1),
-                    this._onStopCallback && this._onStopCallback(this._object),
-                    this)
-                  : this
-              )
-            }),
-            (e.prototype.end = function () {
-              return (this._goToEnd = !0), this.update(1 / 0), this
-            }),
-            (e.prototype.pause = function (e) {
-              return (
-                void 0 === e && (e = i()),
-                this._isPaused ||
-                  !this._isPlaying ||
-                  ((this._isPaused = !0),
-                  (this._pauseStart = e),
-                  this._group && this._group.remove(this)),
-                this
-              )
-            }),
-            (e.prototype.resume = function (e) {
-              return (
-                void 0 === e && (e = i()),
-                this._isPaused && this._isPlaying
-                  ? ((this._isPaused = !1),
-                    (this._startTime += e - this._pauseStart),
-                    (this._pauseStart = 0),
-                    this._group && this._group.add(this),
-                    this)
-                  : this
-              )
-            }),
-            (e.prototype.stopChainedTweens = function () {
-              for (var e = 0, t = this._chainedTweens.length; e < t; e++)
-                this._chainedTweens[e].stop()
-              return this
-            }),
-            (e.prototype.group = function (e) {
-              return (this._group = e), this
-            }),
-            (e.prototype.delay = function (e) {
-              return (this._delayTime = e), this
-            }),
-            (e.prototype.repeat = function (e) {
-              return (this._initialRepeat = e), (this._repeat = e), this
-            }),
-            (e.prototype.repeatDelay = function (e) {
-              return (this._repeatDelayTime = e), this
-            }),
-            (e.prototype.yoyo = function (e) {
-              return (this._yoyo = e), this
-            }),
-            (e.prototype.easing = function (e) {
-              return (this._easingFunction = e), this
-            }),
-            (e.prototype.interpolation = function (e) {
-              return (this._interpolationFunction = e), this
-            }),
-            (e.prototype.chain = function () {
-              for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
-              return (this._chainedTweens = e), this
-            }),
-            (e.prototype.onStart = function (e) {
-              return (this._onStartCallback = e), this
-            }),
-            (e.prototype.onUpdate = function (e) {
-              return (this._onUpdateCallback = e), this
-            }),
-            (e.prototype.onRepeat = function (e) {
-              return (this._onRepeatCallback = e), this
-            }),
-            (e.prototype.onComplete = function (e) {
-              return (this._onCompleteCallback = e), this
-            }),
-            (e.prototype.onStop = function (e) {
-              return (this._onStopCallback = e), this
-            }),
-            (e.prototype.update = function (e, t) {
-              if ((void 0 === e && (e = i()), void 0 === t && (t = !0), this._isPaused)) return !0
-              var n,
-                r,
-                o = this._startTime + this._duration
-              if (!this._goToEnd && !this._isPlaying) {
-                if (e > o) return !1
-                t && this.start(e)
-              }
-              if (((this._goToEnd = !1), e < this._startTime)) return !0
-              !1 === this._onStartCallbackFired &&
-                (this._onStartCallback && this._onStartCallback(this._object),
-                (this._onStartCallbackFired = !0)),
-                (r = (e - this._startTime) / this._duration),
-                (r = 0 === this._duration || r > 1 ? 1 : r)
-              var a = this._easingFunction(r)
-              if (
-                (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, a),
-                this._onUpdateCallback && this._onUpdateCallback(this._object, r),
-                1 === r)
-              ) {
-                if (this._repeat > 0) {
-                  for (n in (isFinite(this._repeat) && this._repeat--, this._valuesStartRepeat))
-                    this._yoyo ||
-                      'string' !== typeof this._valuesEnd[n] ||
-                      (this._valuesStartRepeat[n] =
-                        this._valuesStartRepeat[n] + parseFloat(this._valuesEnd[n])),
-                      this._yoyo && this._swapEndStartRepeatValues(n),
-                      (this._valuesStart[n] = this._valuesStartRepeat[n])
-                  return (
-                    this._yoyo && (this._reversed = !this._reversed),
-                    void 0 !== this._repeatDelayTime
-                      ? (this._startTime = e + this._repeatDelayTime)
-                      : (this._startTime = e + this._delayTime),
-                    this._onRepeatCallback && this._onRepeatCallback(this._object),
-                    !0
-                  )
-                }
-                this._onCompleteCallback && this._onCompleteCallback(this._object)
-                for (var s = 0, u = this._chainedTweens.length; s < u; s++)
-                  this._chainedTweens[s].start(this._startTime + this._duration)
-                return (this._isPlaying = !1), !1
-              }
-              return !0
-            }),
-            (e.prototype._updateProperties = function (e, t, n, r) {
-              for (var o in n)
-                if (void 0 !== t[o]) {
-                  var i = t[o] || 0,
-                    a = n[o],
-                    s = Array.isArray(e[o]),
-                    u = Array.isArray(a)
-                  !s && u
-                    ? (e[o] = this._interpolationFunction(a, r))
-                    : 'object' === typeof a && a
-                    ? this._updateProperties(e[o], i, a, r)
-                    : 'number' === typeof (a = this._handleRelativeValue(i, a)) &&
-                      (e[o] = i + (a - i) * r)
-                }
-            }),
-            (e.prototype._handleRelativeValue = function (e, t) {
-              return 'string' !== typeof t
-                ? t
-                : '+' === t.charAt(0) || '-' === t.charAt(0)
-                ? e + parseFloat(t)
-                : parseFloat(t)
-            }),
-            (e.prototype._swapEndStartRepeatValues = function (e) {
-              var t = this._valuesStartRepeat[e],
-                n = this._valuesEnd[e]
-              ;(this._valuesStartRepeat[e] =
-                'string' === typeof n
-                  ? this._valuesStartRepeat[e] + parseFloat(n)
-                  : this._valuesEnd[e]),
-                (this._valuesEnd[e] = t)
-            }),
-            e
-          )
-        })(),
-        d = u.nextId,
-        f = c,
-        h = f.getAll.bind(f),
-        p = f.removeAll.bind(f),
-        v = f.add.bind(f),
-        m = f.remove.bind(f),
-        g = f.update.bind(f),
-        y = {
-          Easing: o,
-          Group: a,
-          Interpolation: s,
-          now: i,
-          Sequence: u,
-          nextId: d,
-          Tween: l,
-          VERSION: '18.6.4',
-          getAll: h,
-          removeAll: p,
-          add: v,
-          remove: m,
-          update: g,
-        }
-      t.ZP = y
-    },
-    92539: function (e, t, n) {
-      'use strict'
-      n.r(t)
-      t.default = function (e) {
-        return e instanceof Function
-          ? e
-          : 'string' === typeof e
-          ? function (t) {
-              return t[e]
-            }
-          : function (t) {
-              return e
-            }
-      }
-    },
-    93379: function (e) {
-      var t = {
-        animationIterationCount: !0,
-        boxFlex: !0,
-        boxFlexGroup: !0,
-        boxOrdinalGroup: !0,
-        columnCount: !0,
-        flex: !0,
-        flexGrow: !0,
-        flexPositive: !0,
-        flexShrink: !0,
-        flexNegative: !0,
-        flexOrder: !0,
-        gridRow: !0,
-        gridColumn: !0,
-        fontWeight: !0,
-        lineClamp: !0,
-        lineHeight: !0,
-        opacity: !0,
-        order: !0,
-        orphans: !0,
-        tabSize: !0,
-        widows: !0,
-        zIndex: !0,
-        zoom: !0,
-        fillOpacity: !0,
-        stopOpacity: !0,
-        strokeDashoffset: !0,
-        strokeOpacity: !0,
-        strokeWidth: !0,
-      }
-      e.exports = function (e, n) {
-        return 'number' !== typeof n || t[e] ? n : n + 'px'
-      }
-    },
-    60401: function (e, t, n) {
-      n(52406), n(29874), n(59236), n(82578), n(36699)
-    },
-    20203: function (e) {
-      ;(e.exports = THREE.ColladaLoader =
-        function (e) {
-          this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager
-        }),
-        (THREE.ColladaLoader.prototype = {
-          constructor: THREE.ColladaLoader,
-          crossOrigin: 'anonymous',
-          load: function (e, t, n, r) {
-            var o = this,
-              i = void 0 === o.path ? THREE.LoaderUtils.extractUrlBase(e) : o.path,
-              a = new THREE.FileLoader(o.manager)
-            a.setPath(o.path),
-              a.load(
-                e,
-                function (e) {
-                  t(o.parse(e, i))
-                },
-                n,
-                r,
-              )
-          },
-          setPath: function (e) {
-            return (this.path = e), this
-          },
-          setResourcePath: function (e) {
-            return (this.resourcePath = e), this
-          },
-          options: {
-            set convertUpAxis(e) {
-              console.warn(
-                'THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically.',
-              )
-            },
-          },
-          setCrossOrigin: function (e) {
-            return (this.crossOrigin = e), this
-          },
-          parse: function (e, t) {
-            function n(e, t) {
-              for (var n = [], r = e.childNodes, o = 0, i = r.length; o < i; o++) {
-                var a = r[o]
-                a.nodeName === t && n.push(a)
-              }
-              return n
-            }
-            function r(e) {
-              if (0 === e.length) return []
-              for (
-                var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, o = t.length;
-                r < o;
-                r++
-              )
-                n[r] = t[r]
-              return n
-            }
-            function o(e) {
-              if (0 === e.length) return []
-              for (
-                var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, o = t.length;
-                r < o;
-                r++
-              )
-                n[r] = parseFloat(t[r])
-              return n
-            }
-            function i(e) {
-              if (0 === e.length) return []
-              for (
-                var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, o = t.length;
-                r < o;
-                r++
-              )
-                n[r] = parseInt(t[r])
-              return n
-            }
-            function a(e) {
-              return e.substring(1)
-            }
-            function s(e) {
-              return 0 === Object.keys(e).length
-            }
-            function u(e) {
-              return void 0 !== e && !0 === e.hasAttribute('meter')
-                ? parseFloat(e.getAttribute('meter'))
-                : 1
-            }
-            function c(e) {
-              return void 0 !== e ? e.textContent : 'Y_UP'
-            }
-            function l(e, t, r, o) {
-              var i = n(e, t)[0]
-              if (void 0 !== i) for (var a = n(i, r), s = 0; s < a.length; s++) o(a[s])
-            }
-            function d(e, t) {
-              for (var n in e) {
-                e[n].build = t(e[n])
-              }
-            }
-            function f(e, t) {
-              return void 0 !== e.build || (e.build = t(e)), e.build
-            }
-            function h(e) {
-              for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'input':
-                      var i = a(o.getAttribute('source')),
-                        s = o.getAttribute('semantic')
-                      t.inputs[s] = i
-                  }
-              }
-              return t
-            }
-            function p(e) {
-              var t = {},
-                n = e.getAttribute('target').split('/'),
-                r = n.shift(),
-                o = n.shift(),
-                i = -1 !== o.indexOf('('),
-                s = -1 !== o.indexOf('.')
-              if (s) (n = o.split('.')), (o = n.shift()), (t.member = n.shift())
-              else if (i) {
-                var u = o.split('(')
-                o = u.shift()
-                for (var c = 0; c < u.length; c++) u[c] = parseInt(u[c].replace(/\)/, ''))
-                t.indices = u
-              }
-              return (
-                (t.id = r),
-                (t.sid = o),
-                (t.arraySyntax = i),
-                (t.memberSyntax = s),
-                (t.sampler = a(e.getAttribute('source'))),
-                t
-              )
-            }
-            function v(e) {
-              var t = [],
-                n = e.channels,
-                r = e.samplers,
-                o = e.sources
-              for (var i in n)
-                if (n.hasOwnProperty(i)) {
-                  var a = n[i],
-                    s = r[a.sampler],
-                    u = s.inputs.INPUT,
-                    c = s.inputs.OUTPUT
-                  _(g(a, o[u], o[c]), t)
-                }
-              return t
-            }
-            function m(e) {
-              return f(qe.animations[e], v)
-            }
-            function g(e, t, n) {
-              var r,
-                o,
-                i,
-                a,
-                s,
-                u,
-                c = qe.nodes[e.id],
-                l = De(c.id),
-                d = c.transforms[e.sid],
-                f = c.matrix.clone().transpose(),
-                h = {}
-              switch (d) {
-                case 'matrix':
-                  for (i = 0, a = t.array.length; i < a; i++)
-                    if (
-                      ((r = t.array[i]),
-                      (o = i * n.stride),
-                      void 0 === h[r] && (h[r] = {}),
-                      !0 === e.arraySyntax)
-                    ) {
-                      var p = n.array[o],
-                        v = e.indices[0] + 4 * e.indices[1]
-                      h[r][v] = p
-                    } else for (s = 0, u = n.stride; s < u; s++) h[r][s] = n.array[o + s]
-                  break
-                case 'translate':
-                case 'rotate':
-                case 'scale':
-                  console.warn(
-                    'THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',
-                    d,
-                  )
-              }
-              var m = (function (e, t) {
-                var n = []
-                for (var r in e) n.push({ time: parseFloat(r), value: e[r] })
-                n.sort(i)
-                for (var o = 0; o < 16; o++) x(n, o, t.elements[o])
-                return n
-                function i(e, t) {
-                  return e.time - t.time
-                }
-              })(h, f)
-              return { name: l.uuid, keyframes: m }
-            }
-            var y = new THREE.Vector3(),
-              b = new THREE.Vector3(),
-              w = new THREE.Quaternion()
-            function _(e, t) {
-              for (
-                var n = e.keyframes,
-                  r = e.name,
-                  o = [],
-                  i = [],
-                  a = [],
-                  s = [],
-                  u = 0,
-                  c = n.length;
-                u < c;
-                u++
-              ) {
-                var l = n[u],
-                  d = l.time,
-                  f = l.value
-                Ee.fromArray(f).transpose(),
-                  Ee.decompose(y, w, b),
-                  o.push(d),
-                  i.push(y.x, y.y, y.z),
-                  a.push(w.x, w.y, w.z, w.w),
-                  s.push(b.x, b.y, b.z)
-              }
-              return (
-                i.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.position', o, i)),
-                a.length > 0 && t.push(new THREE.QuaternionKeyframeTrack(r + '.quaternion', o, a)),
-                s.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.scale', o, s)),
-                t
-              )
-            }
-            function x(e, t, n) {
-              var r,
-                o,
-                i,
-                a = !0
-              for (o = 0, i = e.length; o < i; o++)
-                void 0 === (r = e[o]).value[t] ? (r.value[t] = null) : (a = !1)
-              if (!0 === a) for (o = 0, i = e.length; o < i; o++) (r = e[o]).value[t] = n
-              else
-                !(function (e, t) {
-                  for (var n, r, o = 0, i = e.length; o < i; o++) {
-                    var a = e[o]
-                    if (null === a.value[t]) {
-                      if (((n = k(e, o, t)), (r = E(e, o, t)), null === n)) {
-                        a.value[t] = r.value[t]
-                        continue
-                      }
-                      if (null === r) {
-                        a.value[t] = n.value[t]
-                        continue
-                      }
-                      O(a, n, r, t)
-                    }
-                  }
-                })(e, t)
-            }
-            function k(e, t, n) {
-              for (; t >= 0; ) {
-                var r = e[t]
-                if (null !== r.value[n]) return r
-                t--
-              }
-              return null
-            }
-            function E(e, t, n) {
-              for (; t < e.length; ) {
-                var r = e[t]
-                if (null !== r.value[n]) return r
-                t++
-              }
-              return null
-            }
-            function O(e, t, n, r) {
-              n.time - t.time !== 0
-                ? (e.value[r] =
-                    ((e.time - t.time) * (n.value[r] - t.value[r])) / (n.time - t.time) +
-                    t.value[r])
-                : (e.value[r] = t.value[r])
-            }
-            function T(e) {
-              for (
-                var t = [],
-                  n = e.name,
-                  r = e.end - e.start || -1,
-                  o = e.animations,
-                  i = 0,
-                  a = o.length;
-                i < a;
-                i++
-              )
-                for (var s = m(o[i]), u = 0, c = s.length; u < c; u++) t.push(s[u])
-              return new THREE.AnimationClip(n, r, t)
-            }
-            function C(e) {
-              return f(qe.clips[e], T)
-            }
-            function M(e) {
-              for (var t = { sources: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
-                var i = e.childNodes[n]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'bind_shape_matrix':
-                      t.bindShapeMatrix = o(i.textContent)
-                      break
-                    case 'source':
-                      var a = i.getAttribute('id')
-                      t.sources[a] = oe(i)
-                      break
-                    case 'joints':
-                      t.joints = S(i)
-                      break
-                    case 'vertex_weights':
-                      t.vertexWeights = P(i)
-                  }
-              }
-              return t
-            }
-            function S(e) {
-              for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'input':
-                      var i = o.getAttribute('semantic'),
-                        s = a(o.getAttribute('source'))
-                      t.inputs[i] = s
-                  }
-              }
-              return t
-            }
-            function P(e) {
-              for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'input':
-                      var s = o.getAttribute('semantic'),
-                        u = a(o.getAttribute('source')),
-                        c = parseInt(o.getAttribute('offset'))
-                      t.inputs[s] = { id: u, offset: c }
-                      break
-                    case 'vcount':
-                      t.vcount = i(o.textContent)
-                      break
-                    case 'v':
-                      t.v = i(o.textContent)
-                  }
-              }
-              return t
-            }
-            function j(e) {
-              var t = { id: e.id },
-                n = qe.geometries[t.id]
-              return (
-                void 0 !== e.skin &&
-                  ((t.skin = (function (e) {
-                    var t,
-                      n,
-                      r,
-                      o = 4,
-                      i = {
-                        joints: [],
-                        indices: { array: [], stride: o },
-                        weights: { array: [], stride: o },
-                      },
-                      a = e.sources,
-                      s = e.vertexWeights,
-                      u = s.vcount,
-                      c = s.v,
-                      l = s.inputs.JOINT.offset,
-                      d = s.inputs.WEIGHT.offset,
-                      f = e.sources[e.joints.inputs.JOINT],
-                      h = e.sources[e.joints.inputs.INV_BIND_MATRIX],
-                      p = a[s.inputs.WEIGHT.id].array,
-                      v = 0
-                    for (t = 0, r = u.length; t < r; t++) {
-                      var m = u[t],
-                        g = []
-                      for (n = 0; n < m; n++) {
-                        var y = c[v + l],
-                          b = p[c[v + d]]
-                        g.push({ index: y, weight: b }), (v += 2)
-                      }
-                      for (g.sort(k), n = 0; n < o; n++) {
-                        var w = g[n]
-                        void 0 !== w
-                          ? (i.indices.array.push(w.index), i.weights.array.push(w.weight))
-                          : (i.indices.array.push(0), i.weights.array.push(0))
-                      }
-                    }
-                    e.bindShapeMatrix
-                      ? (i.bindMatrix = new THREE.Matrix4()
-                          .fromArray(e.bindShapeMatrix)
-                          .transpose())
-                      : (i.bindMatrix = new THREE.Matrix4().identity())
-                    for (t = 0, r = f.array.length; t < r; t++) {
-                      var _ = f.array[t],
-                        x = new THREE.Matrix4().fromArray(h.array, t * h.stride).transpose()
-                      i.joints.push({ name: _, boneInverse: x })
-                    }
-                    return i
-                    function k(e, t) {
-                      return t.weight - e.weight
-                    }
-                  })(e.skin)),
-                  (n.sources.skinIndices = t.skin.indices),
-                  (n.sources.skinWeights = t.skin.weights)),
-                t
-              )
-            }
-            function I(e) {
-              return void 0 !== e.build ? e.build : e.init_from
-            }
-            function A(e) {
-              var t = qe.images[e]
-              return void 0 !== t
-                ? f(t, I)
-                : (console.warn("THREE.ColladaLoader: Couldn't find image with ID:", e), null)
-            }
-            function R(e) {
-              for (
-                var t = { surfaces: {}, samplers: {} }, n = 0, r = e.childNodes.length;
-                n < r;
-                n++
-              ) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'newparam':
-                      D(o, t)
-                      break
-                    case 'technique':
-                      t.technique = z(o)
-                      break
-                    case 'extra':
-                      t.extra = U(o)
-                  }
-              }
-              return t
-            }
-            function D(e, t) {
-              for (var n = e.getAttribute('sid'), r = 0, o = e.childNodes.length; r < o; r++) {
-                var i = e.childNodes[r]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'surface':
-                      t.surfaces[n] = L(i)
-                      break
-                    case 'sampler2D':
-                      t.samplers[n] = N(i)
-                  }
-              }
-            }
-            function L(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'init_from':
-                      t.init_from = o.textContent
-                  }
-              }
-              return t
-            }
-            function N(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'source':
-                      t.source = o.textContent
-                  }
-              }
-              return t
-            }
-            function z(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'constant':
-                    case 'lambert':
-                    case 'blinn':
-                    case 'phong':
-                      ;(t.type = o.nodeName), (t.parameters = B(o))
-                  }
-              }
-              return t
-            }
-            function B(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'emission':
-                    case 'diffuse':
-                    case 'specular':
-                    case 'bump':
-                    case 'ambient':
-                    case 'shininess':
-                    case 'transparency':
-                      t[o.nodeName] = H(o)
-                      break
-                    case 'transparent':
-                      t[o.nodeName] = { opaque: o.getAttribute('opaque'), data: H(o) }
-                  }
-              }
-              return t
-            }
-            function H(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var i = e.childNodes[n]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'color':
-                      t[i.nodeName] = o(i.textContent)
-                      break
-                    case 'float':
-                      t[i.nodeName] = parseFloat(i.textContent)
-                      break
-                    case 'texture':
-                      t[i.nodeName] = { id: i.getAttribute('texture'), extra: F(i) }
-                  }
-              }
-              return t
-            }
-            function F(e) {
-              for (var t = { technique: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'extra':
-                      V(o, t)
-                  }
-              }
-              return t
-            }
-            function V(e, t) {
-              for (var n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'technique':
-                      W(o, t)
-                  }
-              }
-            }
-            function W(e, t) {
-              for (var n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'repeatU':
-                    case 'repeatV':
-                    case 'offsetU':
-                    case 'offsetV':
-                      t.technique[o.nodeName] = parseFloat(o.textContent)
-                      break
-                    case 'wrapU':
-                    case 'wrapV':
-                      'TRUE' === o.textContent.toUpperCase()
-                        ? (t.technique[o.nodeName] = 1)
-                        : 'FALSE' === o.textContent.toUpperCase()
-                        ? (t.technique[o.nodeName] = 0)
-                        : (t.technique[o.nodeName] = parseInt(o.textContent))
-                  }
-              }
-            }
-            function U(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'technique':
-                      t.technique = G(o)
-                  }
-              }
-              return t
-            }
-            function G(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'double_sided':
-                      t[o.nodeName] = parseInt(o.textContent)
-                  }
-              }
-              return t
-            }
-            function q(e) {
-              return e
-            }
-            function K(e) {
-              var t,
-                n,
-                r = ((t = e.url), f(qe.effects[t], q)),
-                o = r.profile.technique,
-                i = r.profile.extra
-              switch (o.type) {
-                case 'phong':
-                case 'blinn':
-                  n = new THREE.MeshPhongMaterial()
-                  break
-                case 'lambert':
-                  n = new THREE.MeshLambertMaterial()
-                  break
-                default:
-                  n = new THREE.MeshBasicMaterial()
-              }
-              function a(e) {
-                var t = r.profile.samplers[e.id],
-                  n = null
-                void 0 !== t
-                  ? (n = A(r.profile.surfaces[t.source].init_from))
-                  : (console.warn(
-                      'THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530).',
-                    ),
-                    (n = A(e.id)))
-                if (null !== n) {
-                  var o = (function (e) {
-                    var t,
-                      n = e.slice(2 + ((e.lastIndexOf('.') - 1) >>> 0))
-                    switch ((n = n.toLowerCase())) {
-                      case 'tga':
-                        t = He
-                        break
-                      default:
-                        t = Ve
-                    }
-                    return t
-                  })(n)
-                  if (void 0 !== o) {
-                    var i = o.load(n),
-                      a = e.extra
-                    if (void 0 !== a && void 0 !== a.technique && !1 === s(a.technique)) {
-                      var u = a.technique
-                      ;(i.wrapS = u.wrapU ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
-                        (i.wrapT = u.wrapV ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
-                        i.offset.set(u.offsetU || 0, u.offsetV || 0),
-                        i.repeat.set(u.repeatU || 1, u.repeatV || 1)
-                    } else (i.wrapS = THREE.RepeatWrapping), (i.wrapT = THREE.RepeatWrapping)
-                    return i
-                  }
-                  return (
-                    console.warn('THREE.ColladaLoader: Loader for texture %s not found.', n), null
-                  )
-                }
-                return (
-                  console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", e.id), null
-                )
-              }
-              n.name = e.name
-              var u = o.parameters
-              for (var c in u) {
-                var l = u[c]
-                switch (c) {
-                  case 'diffuse':
-                    l.color && n.color.fromArray(l.color), l.texture && (n.map = a(l.texture))
-                    break
-                  case 'specular':
-                    l.color && n.specular && n.specular.fromArray(l.color),
-                      l.texture && (n.specularMap = a(l.texture))
-                    break
-                  case 'bump':
-                    l.texture && (n.normalMap = a(l.texture))
-                    break
-                  case 'ambient':
-                    l.texture && (n.lightMap = a(l.texture))
-                    break
-                  case 'shininess':
-                    l.float && n.shininess && (n.shininess = l.float)
-                    break
-                  case 'emission':
-                    l.color && n.emissive && n.emissive.fromArray(l.color),
-                      l.texture && (n.emissiveMap = a(l.texture))
-                }
-              }
-              var d = u.transparent,
-                h = u.transparency
-              if (
-                (void 0 === h && d && (h = { float: 1 }),
-                void 0 === d && h && (d = { opaque: 'A_ONE', data: { color: [1, 1, 1, 1] } }),
-                d && h)
-              )
-                if (d.data.texture) n.transparent = !0
-                else {
-                  var p = d.data.color
-                  switch (d.opaque) {
-                    case 'A_ONE':
-                      n.opacity = p[3] * h.float
-                      break
-                    case 'RGB_ZERO':
-                      n.opacity = 1 - p[0] * h.float
-                      break
-                    case 'A_ZERO':
-                      n.opacity = 1 - p[3] * h.float
-                      break
-                    case 'RGB_ONE':
-                      n.opacity = p[0] * h.float
-                      break
-                    default:
-                      console.warn(
-                        'THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',
-                        d.opaque,
-                      )
-                  }
-                  n.opacity < 1 && (n.transparent = !0)
-                }
-              return (
-                void 0 !== i &&
-                  void 0 !== i.technique &&
-                  1 === i.technique.double_sided &&
-                  (n.side = THREE.DoubleSide),
-                n
-              )
-            }
-            function Z(e) {
-              return f(qe.materials[e], K)
-            }
-            function X(e) {
-              for (var t = 0; t < e.childNodes.length; t++) {
-                var n = e.childNodes[t]
-                switch (n.nodeName) {
-                  case 'technique_common':
-                    return $(n)
-                }
-              }
-              return {}
-            }
-            function $(e) {
-              for (var t = {}, n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                switch (r.nodeName) {
-                  case 'perspective':
-                  case 'orthographic':
-                    ;(t.technique = r.nodeName), (t.parameters = Y(r))
-                }
-              }
-              return t
-            }
-            function Y(e) {
-              for (var t = {}, n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                switch (r.nodeName) {
-                  case 'xfov':
-                  case 'yfov':
-                  case 'xmag':
-                  case 'ymag':
-                  case 'znear':
-                  case 'zfar':
-                  case 'aspect_ratio':
-                    t[r.nodeName] = parseFloat(r.textContent)
-                }
-              }
-              return t
-            }
-            function Q(e) {
-              var t
-              switch (e.optics.technique) {
-                case 'perspective':
-                  t = new THREE.PerspectiveCamera(
-                    e.optics.parameters.yfov,
-                    e.optics.parameters.aspect_ratio,
-                    e.optics.parameters.znear,
-                    e.optics.parameters.zfar,
-                  )
-                  break
-                case 'orthographic':
-                  var n = e.optics.parameters.ymag,
-                    r = e.optics.parameters.xmag,
-                    o = e.optics.parameters.aspect_ratio
-                  ;(r = void 0 === r ? n * o : r),
-                    (n = void 0 === n ? r / o : n),
-                    (r *= 0.5),
-                    (n *= 0.5),
-                    (t = new THREE.OrthographicCamera(
-                      -r,
-                      r,
-                      n,
-                      -n,
-                      e.optics.parameters.znear,
-                      e.optics.parameters.zfar,
-                    ))
-                  break
-                default:
-                  t = new THREE.PerspectiveCamera()
-              }
-              return (t.name = e.name), t
-            }
-            function J(e) {
-              var t = qe.cameras[e]
-              return void 0 !== t
-                ? f(t, Q)
-                : (console.warn("THREE.ColladaLoader: Couldn't find camera with ID:", e), null)
-            }
-            function ee(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'directional':
-                    case 'point':
-                    case 'spot':
-                    case 'ambient':
-                      ;(t.technique = o.nodeName), (t.parameters = te(o))
-                  }
-              }
-              return t
-            }
-            function te(e) {
-              for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                var i = e.childNodes[n]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'color':
-                      var a = o(i.textContent)
-                      t.color = new THREE.Color().fromArray(a)
-                      break
-                    case 'falloff_angle':
-                      t.falloffAngle = parseFloat(i.textContent)
-                      break
-                    case 'quadratic_attenuation':
-                      var s = parseFloat(i.textContent)
-                      t.distance = s ? Math.sqrt(1 / s) : 0
-                  }
-              }
-              return t
-            }
-            function ne(e) {
-              var t
-              switch (e.technique) {
-                case 'directional':
-                  t = new THREE.DirectionalLight()
-                  break
-                case 'point':
-                  t = new THREE.PointLight()
-                  break
-                case 'spot':
-                  t = new THREE.SpotLight()
-                  break
-                case 'ambient':
-                  t = new THREE.AmbientLight()
-              }
-              return (
-                e.parameters.color && t.color.copy(e.parameters.color),
-                e.parameters.distance && (t.distance = e.parameters.distance),
-                t
-              )
-            }
-            function re(e) {
-              var t = qe.lights[e]
-              return void 0 !== t
-                ? f(t, ne)
-                : (console.warn("THREE.ColladaLoader: Couldn't find light with ID:", e), null)
-            }
-            function oe(e) {
-              for (var t = { array: [], stride: 3 }, i = 0; i < e.childNodes.length; i++) {
-                var a = e.childNodes[i]
-                if (1 === a.nodeType)
-                  switch (a.nodeName) {
-                    case 'float_array':
-                      t.array = o(a.textContent)
-                      break
-                    case 'Name_array':
-                      t.array = r(a.textContent)
-                      break
-                    case 'technique_common':
-                      var s = n(a, 'accessor')[0]
-                      void 0 !== s && (t.stride = parseInt(s.getAttribute('stride')))
-                  }
-              }
-              return t
-            }
-            function ie(e) {
-              for (var t = {}, n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                1 === r.nodeType && (t[r.getAttribute('semantic')] = a(r.getAttribute('source')))
-              }
-              return t
-            }
-            function ae(e) {
-              for (
-                var t = {
-                    type: e.nodeName,
-                    material: e.getAttribute('material'),
-                    count: parseInt(e.getAttribute('count')),
-                    inputs: {},
-                    stride: 0,
-                    hasUV: !1,
-                  },
-                  n = 0,
-                  r = e.childNodes.length;
-                n < r;
-                n++
-              ) {
-                var o = e.childNodes[n]
-                if (1 === o.nodeType)
-                  switch (o.nodeName) {
-                    case 'input':
-                      var s = a(o.getAttribute('source')),
-                        u = o.getAttribute('semantic'),
-                        c = parseInt(o.getAttribute('offset')),
-                        l = parseInt(o.getAttribute('set')),
-                        d = l > 0 ? u + l : u
-                      ;(t.inputs[d] = { id: s, offset: c }),
-                        (t.stride = Math.max(t.stride, c + 1)),
-                        'TEXCOORD' === u && (t.hasUV = !0)
-                      break
-                    case 'vcount':
-                      t.vcount = i(o.textContent)
-                      break
-                    case 'p':
-                      t.p = i(o.textContent)
-                  }
-              }
-              return t
-            }
-            function se(e) {
-              for (var t = 0, n = 0, r = e.length; n < r; n++) {
-                !0 === e[n].hasUV && t++
-              }
-              t > 0 && t < e.length && (e.uvsNeedsFix = !0)
-            }
-            function ue(e) {
-              var t = {},
-                n = e.sources,
-                r = e.vertices,
-                o = e.primitives
-              if (0 === o.length) return {}
-              var i = (function (e) {
-                for (var t = {}, n = 0; n < e.length; n++) {
-                  var r = e[n]
-                  void 0 === t[r.type] && (t[r.type] = []), t[r.type].push(r)
-                }
-                return t
-              })(o)
-              for (var a in i) {
-                var s = i[a]
-                se(s), (t[a] = ce(s, n, r))
-              }
-              return t
-            }
-            function ce(e, t, n) {
-              for (
-                var r = {},
-                  o = { array: [], stride: 0 },
-                  i = { array: [], stride: 0 },
-                  a = { array: [], stride: 0 },
-                  s = { array: [], stride: 0 },
-                  u = { array: [], stride: 0 },
-                  c = [],
-                  l = 4,
-                  d = [],
-                  f = 4,
-                  h = new THREE.BufferGeometry(),
-                  p = [],
-                  v = 0,
-                  m = 0;
-                m < e.length;
-                m++
-              ) {
-                var g = e[m],
-                  y = g.inputs,
-                  b = 0
-                switch (g.type) {
-                  case 'lines':
-                  case 'linestrips':
-                    b = 2 * g.count
-                    break
-                  case 'triangles':
-                    b = 3 * g.count
-                    break
-                  case 'polylist':
-                    for (var w = 0; w < g.count; w++) {
-                      var _ = g.vcount[w]
-                      switch (_) {
-                        case 3:
-                          b += 3
-                          break
-                        case 4:
-                          b += 6
-                          break
-                        default:
-                          b += 3 * (_ - 2)
-                      }
-                    }
-                    break
-                  default:
-                    console.warn('THREE.ColladaLoader: Unknow primitive type:', g.type)
-                }
-                for (var x in (h.addGroup(v, b, m),
-                (v += b),
-                g.material && p.push(g.material),
-                y)) {
-                  var k = y[x]
-                  switch (x) {
-                    case 'VERTEX':
-                      for (var E in n) {
-                        var O = n[E]
-                        switch (E) {
-                          case 'POSITION':
-                            var T = o.array.length
-                            if (
-                              (le(g, t[O], k.offset, o.array),
-                              (o.stride = t[O].stride),
-                              t.skinWeights &&
-                                t.skinIndices &&
-                                (le(g, t.skinIndices, k.offset, c),
-                                le(g, t.skinWeights, k.offset, d)),
-                              !1 === g.hasUV && !0 === e.uvsNeedsFix)
-                            ) {
-                              b = (o.array.length - T) / o.stride
-                              for (var C = 0; C < b; C++) a.array.push(0, 0)
-                            }
-                            break
-                          case 'NORMAL':
-                            le(g, t[O], k.offset, i.array), (i.stride = t[O].stride)
-                            break
-                          case 'COLOR':
-                            le(g, t[O], k.offset, u.array), (u.stride = t[O].stride)
-                            break
-                          case 'TEXCOORD':
-                            le(g, t[O], k.offset, a.array), (a.stride = t[O].stride)
-                            break
-                          case 'TEXCOORD1':
-                            le(g, t[O], k.offset, s.array), (a.stride = t[O].stride)
-                            break
-                          default:
-                            console.warn(
-                              'THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.',
-                              E,
-                            )
-                        }
-                      }
-                      break
-                    case 'NORMAL':
-                      le(g, t[k.id], k.offset, i.array), (i.stride = t[k.id].stride)
-                      break
-                    case 'COLOR':
-                      le(g, t[k.id], k.offset, u.array), (u.stride = t[k.id].stride)
-                      break
-                    case 'TEXCOORD':
-                      le(g, t[k.id], k.offset, a.array), (a.stride = t[k.id].stride)
-                      break
-                    case 'TEXCOORD1':
-                      le(g, t[k.id], k.offset, s.array), (s.stride = t[k.id].stride)
-                  }
-                }
-              }
-              return (
-                o.array.length > 0 &&
-                  h.addAttribute('position', new THREE.Float32BufferAttribute(o.array, o.stride)),
-                i.array.length > 0 &&
-                  h.addAttribute('normal', new THREE.Float32BufferAttribute(i.array, i.stride)),
-                u.array.length > 0 &&
-                  h.addAttribute('color', new THREE.Float32BufferAttribute(u.array, u.stride)),
-                a.array.length > 0 &&
-                  h.addAttribute('uv', new THREE.Float32BufferAttribute(a.array, a.stride)),
-                s.array.length > 0 &&
-                  h.addAttribute('uv2', new THREE.Float32BufferAttribute(s.array, s.stride)),
-                c.length > 0 && h.addAttribute('skinIndex', new THREE.Float32BufferAttribute(c, l)),
-                d.length > 0 &&
-                  h.addAttribute('skinWeight', new THREE.Float32BufferAttribute(d, f)),
-                (r.data = h),
-                (r.type = e[0].type),
-                (r.materialKeys = p),
-                r
-              )
-            }
-            function le(e, t, n, r) {
-              var o = e.p,
-                i = e.stride,
-                a = e.vcount
-              function s(e) {
-                for (var t = o[e + n] * c, i = t + c; t < i; t++) r.push(u[t])
-              }
-              var u = t.array,
-                c = t.stride
-              if (void 0 !== e.vcount)
-                for (var l = 0, d = 0, f = a.length; d < f; d++) {
-                  var h = a[d]
-                  if (4 === h) {
-                    var p = l + 1 * i,
-                      v = l + 2 * i,
-                      m = l + 3 * i
-                    s(l + 0 * i), s(p), s(m), s(p), s(v), s(m)
-                  } else if (3 === h) {
-                    ;(p = l + 1 * i), (v = l + 2 * i)
-                    s(l + 0 * i), s(p), s(v)
-                  } else if (h > 4)
-                    for (var g = 1, y = h - 2; g <= y; g++) {
-                      ;(p = l + i * g), (v = l + i * (g + 1))
-                      s(l + 0 * i), s(p), s(v)
-                    }
-                  l += i * h
-                }
-              else for (d = 0, f = o.length; d < f; d += i) s(d)
-            }
-            function de(e) {
-              return f(qe.geometries[e], ue)
-            }
-            function fe(e) {
-              return void 0 !== e.build ? e.build : e
-            }
-            function he(e, t) {
-              for (var n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'joint':
-                      t.joints[r.getAttribute('sid')] = pe(r)
-                      break
-                    case 'link':
-                      t.links.push(me(r))
-                  }
-              }
-            }
-            function pe(e) {
-              for (var t, n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'prismatic':
-                    case 'revolute':
-                      t = ve(r)
-                  }
-              }
-              return t
-            }
-            function ve(e, t) {
-              t = {
-                sid: e.getAttribute('sid'),
-                name: e.getAttribute('name') || '',
-                axis: new THREE.Vector3(),
-                limits: { min: 0, max: 0 },
-                type: e.nodeName,
-                static: !1,
-                zeroPosition: 0,
-                middlePosition: 0,
-              }
-              for (var n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'axis':
-                      var i = o(r.textContent)
-                      t.axis.fromArray(i)
-                      break
-                    case 'limits':
-                      var a = r.getElementsByTagName('max')[0],
-                        s = r.getElementsByTagName('min')[0]
-                      ;(t.limits.max = parseFloat(a.textContent)),
-                        (t.limits.min = parseFloat(s.textContent))
-                  }
-              }
-              return (
-                t.limits.min >= t.limits.max && (t.static = !0),
-                (t.middlePosition = (t.limits.min + t.limits.max) / 2),
-                t
-              )
-            }
-            function me(e) {
-              for (
-                var t = {
-                    sid: e.getAttribute('sid'),
-                    name: e.getAttribute('name') || '',
-                    attachments: [],
-                    transforms: [],
-                  },
-                  n = 0;
-                n < e.childNodes.length;
-                n++
-              ) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'attachment_full':
-                      t.attachments.push(ge(r))
-                      break
-                    case 'matrix':
-                    case 'translate':
-                    case 'rotate':
-                      t.transforms.push(ye(r))
-                  }
-              }
-              return t
-            }
-            function ge(e) {
-              for (
-                var t = {
-                    joint: e.getAttribute('joint').split('/').pop(),
-                    transforms: [],
-                    links: [],
-                  },
-                  n = 0;
-                n < e.childNodes.length;
-                n++
-              ) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'link':
-                      t.links.push(me(r))
-                      break
-                    case 'matrix':
-                    case 'translate':
-                    case 'rotate':
-                      t.transforms.push(ye(r))
-                  }
-              }
-              return t
-            }
-            function ye(e) {
-              var t = { type: e.nodeName },
-                n = o(e.textContent)
-              switch (t.type) {
-                case 'matrix':
-                  ;(t.obj = new THREE.Matrix4()), t.obj.fromArray(n).transpose()
-                  break
-                case 'translate':
-                  ;(t.obj = new THREE.Vector3()), t.obj.fromArray(n)
-                  break
-                case 'rotate':
-                  ;(t.obj = new THREE.Vector3()),
-                    t.obj.fromArray(n),
-                    (t.angle = THREE.Math.degToRad(n[3]))
-              }
-              return t
-            }
-            function be(e, t) {
-              for (var n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'technique_common':
-                      we(r, t)
-                  }
-              }
-            }
-            function we(e, t) {
-              for (var n = 0; n < e.childNodes.length; n++) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'inertia':
-                      t.inertia = o(r.textContent)
-                      break
-                    case 'mass':
-                      t.mass = o(r.textContent)[0]
-                  }
-              }
-            }
-            function _e(e) {
-              for (
-                var t = { target: e.getAttribute('target').split('/').pop() }, n = 0;
-                n < e.childNodes.length;
-                n++
-              ) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'axis':
-                      var o = r.getElementsByTagName('param')[0]
-                      t.axis = o.textContent
-                      var i = t.axis.split('inst_').pop().split('axis')[0]
-                      t.jointIndex = i.substr(0, i.length - 1)
-                  }
-              }
-              return t
-            }
-            function xe(e) {
-              return void 0 !== e.build ? e.build : e
-            }
-            function ke(e) {
-              for (
-                var t = [], n = ze.querySelector('[id="' + e.id + '"]'), r = 0;
-                r < n.childNodes.length;
-                r++
-              ) {
-                var i = n.childNodes[r]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'matrix':
-                      var a = o(i.textContent),
-                        s = new THREE.Matrix4().fromArray(a).transpose()
-                      t.push({ sid: i.getAttribute('sid'), type: i.nodeName, obj: s })
-                      break
-                    case 'translate':
-                    case 'scale':
-                      a = o(i.textContent)
-                      var u = new THREE.Vector3().fromArray(a)
-                      t.push({ sid: i.getAttribute('sid'), type: i.nodeName, obj: u })
-                      break
-                    case 'rotate':
-                      ;(a = o(i.textContent)), (u = new THREE.Vector3().fromArray(a))
-                      var c = THREE.Math.degToRad(a[3])
-                      t.push({ sid: i.getAttribute('sid'), type: i.nodeName, obj: u, angle: c })
-                  }
-              }
-              return t
-            }
-            var Ee = new THREE.Matrix4(),
-              Oe = new THREE.Vector3()
-            function Te(e) {
-              for (
-                var t = {
-                    name: e.getAttribute('name') || '',
-                    type: e.getAttribute('type'),
-                    id: e.getAttribute('id'),
-                    sid: e.getAttribute('sid'),
-                    matrix: new THREE.Matrix4(),
-                    nodes: [],
-                    instanceCameras: [],
-                    instanceControllers: [],
-                    instanceLights: [],
-                    instanceGeometries: [],
-                    instanceNodes: [],
-                    transforms: {},
-                  },
-                  n = 0;
-                n < e.childNodes.length;
-                n++
-              ) {
-                var r = e.childNodes[n]
-                if (1 === r.nodeType)
-                  switch (r.nodeName) {
-                    case 'node':
-                      t.nodes.push(r.getAttribute('id')), Te(r)
-                      break
-                    case 'instance_camera':
-                      t.instanceCameras.push(a(r.getAttribute('url')))
-                      break
-                    case 'instance_controller':
-                      t.instanceControllers.push(Ce(r))
-                      break
-                    case 'instance_light':
-                      t.instanceLights.push(a(r.getAttribute('url')))
-                      break
-                    case 'instance_geometry':
-                      t.instanceGeometries.push(Ce(r))
-                      break
-                    case 'instance_node':
-                      t.instanceNodes.push(a(r.getAttribute('url')))
-                      break
-                    case 'matrix':
-                      var i = o(r.textContent)
-                      t.matrix.multiply(Ee.fromArray(i).transpose()),
-                        (t.transforms[r.getAttribute('sid')] = r.nodeName)
-                      break
-                    case 'translate':
-                      i = o(r.textContent)
-                      Oe.fromArray(i),
-                        t.matrix.multiply(Ee.makeTranslation(Oe.x, Oe.y, Oe.z)),
-                        (t.transforms[r.getAttribute('sid')] = r.nodeName)
-                      break
-                    case 'rotate':
-                      i = o(r.textContent)
-                      var s = THREE.Math.degToRad(i[3])
-                      t.matrix.multiply(Ee.makeRotationAxis(Oe.fromArray(i), s)),
-                        (t.transforms[r.getAttribute('sid')] = r.nodeName)
-                      break
-                    case 'scale':
-                      i = o(r.textContent)
-                      t.matrix.scale(Oe.fromArray(i)),
-                        (t.transforms[r.getAttribute('sid')] = r.nodeName)
-                      break
-                    case 'extra':
-                      break
-                    default:
-                      console.log(r)
-                  }
-              }
-              return (
-                Re(t.id)
-                  ? console.warn(
-                      'THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.',
-                      t.id,
-                    )
-                  : (qe.nodes[t.id] = t),
-                t
-              )
-            }
-            function Ce(e) {
-              for (
-                var t = { id: a(e.getAttribute('url')), materials: {}, skeletons: [] }, n = 0;
-                n < e.childNodes.length;
-                n++
-              ) {
-                var r = e.childNodes[n]
-                switch (r.nodeName) {
-                  case 'bind_material':
-                    for (
-                      var o = r.getElementsByTagName('instance_material'), i = 0;
-                      i < o.length;
-                      i++
-                    ) {
-                      var s = o[i],
-                        u = s.getAttribute('symbol'),
-                        c = s.getAttribute('target')
-                      t.materials[u] = a(c)
-                    }
-                    break
-                  case 'skeleton':
-                    t.skeletons.push(a(r.textContent))
-                }
-              }
-              return t
-            }
-            function Me(e, t) {
-              var n,
-                r,
-                o,
-                i = [],
-                a = []
-              for (n = 0; n < e.length; n++) {
-                var s = e[n]
-                if (Re(s)) Se(De(s), t, i)
-                else if (((o = s), void 0 !== qe.visualScenes[o]))
-                  for (var u = qe.visualScenes[s].children, c = 0; c < u.length; c++) {
-                    var l = u[c]
-                    if ('JOINT' === l.type) Se(De(l.id), t, i)
-                  }
-                else
-                  console.error(
-                    'THREE.ColladaLoader: Unable to find root bone of skeleton with ID:',
-                    s,
-                  )
-              }
-              for (n = 0; n < t.length; n++)
-                for (c = 0; c < i.length; c++)
-                  if ((r = i[c]).bone.name === t[n].name) {
-                    ;(a[n] = r), (r.processed = !0)
-                    break
-                  }
-              for (n = 0; n < i.length; n++)
-                !1 === (r = i[n]).processed && (a.push(r), (r.processed = !0))
-              var d = [],
-                f = []
-              for (n = 0; n < a.length; n++) (r = a[n]), d.push(r.bone), f.push(r.boneInverse)
-              return new THREE.Skeleton(d, f)
-            }
-            function Se(e, t, n) {
-              e.traverse(function (e) {
-                if (!0 === e.isBone) {
-                  for (var r, o = 0; o < t.length; o++) {
-                    var i = t[o]
-                    if (i.name === e.name) {
-                      r = i.boneInverse
-                      break
-                    }
-                  }
-                  void 0 === r && (r = new THREE.Matrix4()),
-                    n.push({ bone: e, boneInverse: r, processed: !1 })
-                }
-              })
-            }
-            function Pe(e) {
-              for (
-                var t,
-                  n = [],
-                  r = e.matrix,
-                  o = e.nodes,
-                  i = e.type,
-                  a = e.instanceCameras,
-                  s = e.instanceControllers,
-                  u = e.instanceLights,
-                  c = e.instanceGeometries,
-                  l = e.instanceNodes,
-                  d = 0,
-                  h = o.length;
-                d < h;
-                d++
-              )
-                n.push(De(o[d]))
-              for (d = 0, h = a.length; d < h; d++) {
-                var p = J(a[d])
-                null !== p && n.push(p.clone())
-              }
-              for (d = 0, h = s.length; d < h; d++)
-                for (
-                  var v = s[d],
-                    m = ((t = v.id), f(qe.controllers[t], j)),
-                    g = Ae(de(m.id), v.materials),
-                    y = Me(v.skeletons, m.skin.joints),
-                    b = 0,
-                    w = g.length;
-                  b < w;
-                  b++
-                ) {
-                  var _
-                  ;(_ = g[b]).isSkinnedMesh &&
-                    (_.bind(y, m.skin.bindMatrix), _.normalizeSkinWeights()),
-                    n.push(_)
-                }
-              for (d = 0, h = u.length; d < h; d++) {
-                var x = re(u[d])
-                null !== x && n.push(x.clone())
-              }
-              for (d = 0, h = c.length; d < h; d++)
-                for (b = 0, w = (g = Ae(de((v = c[d]).id), v.materials)).length; b < w; b++)
-                  n.push(g[b])
-              for (d = 0, h = l.length; d < h; d++) n.push(De(l[d]).clone())
-              if (0 === o.length && 1 === n.length) _ = n[0]
-              else {
-                _ = 'JOINT' === i ? new THREE.Bone() : new THREE.Group()
-                for (d = 0; d < n.length; d++) _.add(n[d])
-              }
-              return (
-                '' === _.name && (_.name = 'JOINT' === i ? e.sid : e.name),
-                _.matrix.copy(r),
-                _.matrix.decompose(_.position, _.quaternion, _.scale),
-                _
-              )
-            }
-            var je = new THREE.MeshBasicMaterial({ color: 16711935 })
-            function Ie(e, t) {
-              for (var n = [], r = 0, o = e.length; r < o; r++) {
-                var i = t[e[r]]
-                void 0 === i
-                  ? (console.warn(
-                      'THREE.ColladaLoader: Material with key %s not found. Apply fallback material.',
-                      e[r],
-                    ),
-                    n.push(je))
-                  : n.push(Z(i))
-              }
-              return n
-            }
-            function Ae(e, t) {
-              var n = []
-              for (var r in e) {
-                var o = e[r],
-                  i = Ie(o.materialKeys, t)
-                0 === i.length &&
-                  ('lines' === r || 'linestrips' === r
-                    ? i.push(new THREE.LineBasicMaterial())
-                    : i.push(new THREE.MeshPhongMaterial()))
-                var a = void 0 !== o.data.attributes.skinIndex
-                if (a) for (var s = 0, u = i.length; s < u; s++) i[s].skinning = !0
-                var c,
-                  l = 1 === i.length ? i[0] : i
-                switch (r) {
-                  case 'lines':
-                    c = new THREE.LineSegments(o.data, l)
-                    break
-                  case 'linestrips':
-                    c = new THREE.Line(o.data, l)
-                    break
-                  case 'triangles':
-                  case 'polylist':
-                    c = a ? new THREE.SkinnedMesh(o.data, l) : new THREE.Mesh(o.data, l)
-                }
-                n.push(c)
-              }
-              return n
-            }
-            function Re(e) {
-              return void 0 !== qe.nodes[e]
-            }
-            function De(e) {
-              return f(qe.nodes[e], Pe)
-            }
-            function Le(e) {
-              var t = new THREE.Group()
-              t.name = e.name
-              for (var n = e.children, r = 0; r < n.length; r++) {
-                var o = n[r]
-                t.add(De(o.id))
-              }
-              return t
-            }
-            function Ne(e) {
-              return f(qe.visualScenes[e], Le)
-            }
-            if (0 === e.length) return { scene: new THREE.Scene() }
-            var ze = n(new DOMParser().parseFromString(e, 'application/xml'), 'COLLADA')[0],
-              Be = ze.getAttribute('version')
-            console.log('THREE.ColladaLoader: File version', Be)
-            var He,
-              Fe = (function (e) {
-                return { unit: u(n(e, 'unit')[0]), upAxis: c(n(e, 'up_axis')[0]) }
-              })(n(ze, 'asset')[0]),
-              Ve = new THREE.TextureLoader(this.manager)
-            Ve.setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin),
-              THREE.TGALoader &&
-                (He = new THREE.TGALoader(this.manager)).setPath(this.resourcePath || t)
-            var We = [],
-              Ue = {},
-              Ge = 0,
-              qe = {
-                animations: {},
-                clips: {},
-                controllers: {},
-                images: {},
-                effects: {},
-                materials: {},
-                cameras: {},
-                lights: {},
-                geometries: {},
-                nodes: {},
-                visualScenes: {},
-                kinematicsModels: {},
-                physicsModels: {},
-                kinematicsScenes: {},
-              }
-            l(ze, 'library_animations', 'animation', function (e) {
-              for (
-                var t = { sources: {}, samplers: {}, channels: {} }, n = 0, r = e.childNodes.length;
-                n < r;
-                n++
-              ) {
-                var o,
-                  i = e.childNodes[n]
-                if (1 === i.nodeType)
-                  switch (i.nodeName) {
-                    case 'source':
-                      ;(o = i.getAttribute('id')), (t.sources[o] = oe(i))
-                      break
-                    case 'sampler':
-                      ;(o = i.getAttribute('id')), (t.samplers[o] = h(i))
-                      break
-                    case 'channel':
-                      ;(o = i.getAttribute('target')), (t.channels[o] = p(i))
-                      break
-                    default:
-                      console.log(i)
-                  }
-              }
-              qe.animations[e.getAttribute('id')] = t
-            }),
-              l(ze, 'library_animation_clips', 'animation_clip', function (e) {
-                for (
-                  var t = {
-                      name: e.getAttribute('id') || 'default',
-                      start: parseFloat(e.getAttribute('start') || 0),
-                      end: parseFloat(e.getAttribute('end') || 0),
-                      animations: [],
-                    },
-                    n = 0,
-                    r = e.childNodes.length;
-                  n < r;
-                  n++
-                ) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'instance_animation':
-                        t.animations.push(a(o.getAttribute('url')))
-                    }
-                }
-                qe.clips[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_controllers', 'controller', function (e) {
-                for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'skin':
-                        ;(t.id = a(o.getAttribute('source'))), (t.skin = M(o))
-                        break
-                      case 'morph':
-                        ;(t.id = a(o.getAttribute('source'))),
-                          console.warn(
-                            'THREE.ColladaLoader: Morph target animation not supported yet.',
-                          )
-                    }
-                }
-                qe.controllers[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_images', 'image', function (e) {
-                var t = { init_from: n(e, 'init_from')[0].textContent }
-                qe.images[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_effects', 'effect', function (e) {
-                for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'profile_COMMON':
-                        t.profile = R(o)
-                    }
-                }
-                qe.effects[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_materials', 'material', function (e) {
-                for (
-                  var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length;
-                  n < r;
-                  n++
-                ) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'instance_effect':
-                        t.url = a(o.getAttribute('url'))
-                    }
-                }
-                qe.materials[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_cameras', 'camera', function (e) {
-                for (
-                  var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length;
-                  n < r;
-                  n++
-                ) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'optics':
-                        t.optics = X(o)
-                    }
-                }
-                qe.cameras[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_lights', 'light', function (e) {
-                for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
-                  var o = e.childNodes[n]
-                  if (1 === o.nodeType)
-                    switch (o.nodeName) {
-                      case 'technique_common':
-                        t = ee(o)
-                    }
-                }
-                qe.lights[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_geometries', 'geometry', function (e) {
-                var t = { name: e.getAttribute('name'), sources: {}, vertices: {}, primitives: [] },
-                  r = n(e, 'mesh')[0]
-                if (void 0 !== r) {
-                  for (var o = 0; o < r.childNodes.length; o++) {
-                    var i = r.childNodes[o]
-                    if (1 === i.nodeType) {
-                      var a = i.getAttribute('id')
-                      switch (i.nodeName) {
-                        case 'source':
-                          t.sources[a] = oe(i)
-                          break
-                        case 'vertices':
-                          t.vertices = ie(i)
-                          break
-                        case 'polygons':
-                          console.warn(
-                            'THREE.ColladaLoader: Unsupported primitive type: ',
-                            i.nodeName,
-                          )
-                          break
-                        case 'lines':
-                        case 'linestrips':
-                        case 'polylist':
-                        case 'triangles':
-                          t.primitives.push(ae(i))
-                          break
-                        default:
-                          console.log(i)
-                      }
-                    }
-                  }
-                  qe.geometries[e.getAttribute('id')] = t
-                }
-              }),
-              l(ze, 'library_nodes', 'node', Te),
-              l(ze, 'library_visual_scenes', 'visual_scene', function (e) {
-                var t = { name: e.getAttribute('name'), children: [] }
-                !(function (e) {
-                  for (var t = e.getElementsByTagName('node'), n = 0; n < t.length; n++) {
-                    var r = t[n]
-                    !1 === r.hasAttribute('id') && r.setAttribute('id', 'three_default_' + Ge++)
-                  }
-                })(e)
-                for (var r = n(e, 'node'), o = 0; o < r.length; o++) t.children.push(Te(r[o]))
-                qe.visualScenes[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_kinematics_models', 'kinematics_model', function (e) {
-                for (
-                  var t = { name: e.getAttribute('name') || '', joints: {}, links: [] }, n = 0;
-                  n < e.childNodes.length;
-                  n++
-                ) {
-                  var r = e.childNodes[n]
-                  if (1 === r.nodeType)
-                    switch (r.nodeName) {
-                      case 'technique_common':
-                        he(r, t)
-                    }
-                }
-                qe.kinematicsModels[e.getAttribute('id')] = t
-              }),
-              l(ze, 'library_physics_models', 'physics_model', function (e) {
-                for (
-                  var t = { name: e.getAttribute('name') || '', rigidBodies: {} }, n = 0;
-                  n < e.childNodes.length;
-                  n++
-                ) {
-                  var r = e.childNodes[n]
-                  if (1 === r.nodeType)
-                    switch (r.nodeName) {
-                      case 'rigid_body':
-                        ;(t.rigidBodies[r.getAttribute('name')] = {}),
-                          be(r, t.rigidBodies[r.getAttribute('name')])
-                    }
-                }
-                qe.physicsModels[e.getAttribute('id')] = t
-              }),
-              l(ze, 'scene', 'instance_kinematics_scene', function (e) {
-                for (var t = { bindJointAxis: [] }, n = 0; n < e.childNodes.length; n++) {
-                  var r = e.childNodes[n]
-                  if (1 === r.nodeType)
-                    switch (r.nodeName) {
-                      case 'bind_joint_axis':
-                        t.bindJointAxis.push(_e(r))
-                    }
-                }
-                qe.kinematicsScenes[a(e.getAttribute('url'))] = t
-              }),
-              d(qe.animations, v),
-              d(qe.clips, T),
-              d(qe.controllers, j),
-              d(qe.images, I),
-              d(qe.effects, q),
-              d(qe.materials, K),
-              d(qe.cameras, Q),
-              d(qe.lights, ne),
-              d(qe.geometries, ue),
-              d(qe.visualScenes, Le),
-              (function () {
-                var e = qe.clips
-                if (!0 === s(e)) {
-                  if (!1 === s(qe.animations)) {
-                    var t = []
-                    for (var n in qe.animations)
-                      for (var r = m(n), o = 0, i = r.length; o < i; o++) t.push(r[o])
-                    We.push(new THREE.AnimationClip('default', -1, t))
-                  }
-                } else for (var n in e) We.push(C(n))
-              })(),
-              (function () {
-                var e = Object.keys(qe.kinematicsModels)[0],
-                  t = Object.keys(qe.kinematicsScenes)[0],
-                  n = Object.keys(qe.visualScenes)[0]
-                if (void 0 !== e && void 0 !== t) {
-                  for (
-                    var r,
-                      o = ((r = e), f(qe.kinematicsModels[r], fe)),
-                      i = (function (e) {
-                        return f(qe.kinematicsScenes[e], xe)
-                      })(t),
-                      a = Ne(n),
-                      s = i.bindJointAxis,
-                      u = {},
-                      c = 0,
-                      l = s.length;
-                    c < l;
-                    c++
-                  ) {
-                    var d = s[c],
-                      h = ze.querySelector('[sid="' + d.target + '"]')
-                    if (h) {
-                      var p = h.parentElement
-                      m(d.jointIndex, p)
-                    }
-                  }
-                  var v = new THREE.Matrix4()
-                  Ue = {
-                    joints: o && o.joints,
-                    getJointValue: function (e) {
-                      var t = u[e]
-                      if (t) return t.position
-                      console.warn('THREE.ColladaLoader: Joint ' + e + " doesn't exist.")
-                    },
-                    setJointValue: function (e, t) {
-                      var n = u[e]
-                      if (n) {
-                        var r = n.joint
-                        if (t > r.limits.max || t < r.limits.min)
-                          console.warn(
-                            'THREE.ColladaLoader: Joint ' +
-                              e +
-                              ' value ' +
-                              t +
-                              ' outside of limits (min: ' +
-                              r.limits.min +
-                              ', max: ' +
-                              r.limits.max +
-                              ').',
-                          )
-                        else if (r.static)
-                          console.warn('THREE.ColladaLoader: Joint ' + e + ' is static.')
-                        else {
-                          var o = n.object,
-                            i = r.axis,
-                            a = n.transforms
-                          Ee.identity()
-                          for (var s = 0; s < a.length; s++) {
-                            var c = a[s]
-                            if (c.sid && -1 !== c.sid.indexOf(e))
-                              switch (r.type) {
-                                case 'revolute':
-                                  Ee.multiply(v.makeRotationAxis(i, THREE.Math.degToRad(t)))
-                                  break
-                                case 'prismatic':
-                                  Ee.multiply(v.makeTranslation(i.x * t, i.y * t, i.z * t))
-                                  break
-                                default:
-                                  console.warn('THREE.ColladaLoader: Unknown joint type: ' + r.type)
-                              }
-                            else
-                              switch (c.type) {
-                                case 'matrix':
-                                  Ee.multiply(c.obj)
-                                  break
-                                case 'translate':
-                                  Ee.multiply(v.makeTranslation(c.obj.x, c.obj.y, c.obj.z))
-                                  break
-                                case 'scale':
-                                  Ee.scale(c.obj)
-                                  break
-                                case 'rotate':
-                                  Ee.multiply(v.makeRotationAxis(c.obj, c.angle))
-                              }
-                          }
-                          o.matrix.copy(Ee),
-                            o.matrix.decompose(o.position, o.quaternion, o.scale),
-                            (u[e].position = t)
-                        }
-                      } else console.log('THREE.ColladaLoader: ' + e + ' does not exist.')
-                    },
-                  }
-                }
-                function m(e, t) {
-                  var n = t.getAttribute('name'),
-                    r = o.joints[e]
-                  a.traverse(function (o) {
-                    o.name === n &&
-                      (u[e] = { object: o, transforms: ke(t), joint: r, position: r.zeroPosition })
-                  })
-                }
-              })()
-            var Ke = (function (e) {
-              return Ne(a(n(e, 'instance_visual_scene')[0].getAttribute('url')))
-            })(n(ze, 'scene')[0])
-            return (
-              'Z_UP' === Fe.upAxis &&
-                Ke.quaternion.setFromEuler(new THREE.Euler(-Math.PI / 2, 0, 0)),
-              Ke.scale.multiplyScalar(Fe.unit),
-              { animations: We, kinematics: Ue, library: qe, scene: Ke }
-            )
-          },
-        })
-    },
-    99434: function (e) {
-      e.exports = THREE.FBXLoader = (function () {
-        var e, t, n
-        function r(e) {
-          this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager
-        }
-        function o(e) {
-          this.textureLoader = e
-        }
-        function i() {}
-        function a() {}
-        function s() {}
-        function u() {}
-        function c(e, t) {
-          ;(this.dv = new DataView(e)), (this.offset = 0), (this.littleEndian = void 0 === t || t)
-        }
-        function l() {}
-        function d(e) {
-          var t = e.match(/FBXVersion: (\d+)/)
-          if (t) return parseInt(t[1])
-          throw new Error('THREE.FBXLoader: Cannot find the version number for the file given.')
-        }
-        function f(e) {
-          return e / 46186158e3
-        }
-        ;(r.prototype = {
-          constructor: r,
-          crossOrigin: 'anonymous',
-          load: function (e, t, n, r) {
-            var o = this,
-              i = THREE.LoaderUtils.extractUrlBase(e),
-              a = new THREE.FileLoader(this.manager)
-            a.setResponseType('arraybuffer'),
-              a.load(
-                e,
-                function (n) {
-                  try {
-                    var a = o.parse(n, i)
-                    t(a)
-                  } catch (s) {
-                    setTimeout(function () {
-                      r && r(s), o.manager.itemError(e)
-                    }, 0)
-                  }
-                },
-                n,
-                r,
-              )
-          },
-          setCrossOrigin: function (e) {
-            return (this.crossOrigin = e), this
-          },
-          parse: function (t, n) {
-            if (
-              (function (e) {
-                var t = 'Kaydara FBX Binary  \0'
-                return e.byteLength >= t.length && t === k(e, 0, t.length)
-              })(t)
-            )
-              e = new u().parse(t)
-            else {
-              var r = k(t)
-              if (
-                !(function (e) {
-                  var t = [
-                      'K',
-                      'a',
-                      'y',
-                      'd',
-                      'a',
-                      'r',
-                      'a',
-                      '\\',
-                      'F',
-                      'B',
-                      'X',
-                      '\\',
-                      'B',
-                      'i',
-                      'n',
-                      'a',
-                      'r',
-                      'y',
-                      '\\',
-                      '\\',
-                    ],
-                    n = 0
-                  function r(t) {
-                    var r = e[t - 1]
-                    return (e = e.slice(n + t)), n++, r
-                  }
-                  for (var o = 0; o < t.length; ++o) {
-                    if (r(1) === t[o]) return !1
-                  }
-                  return !0
-                })(r)
-              )
-                throw new Error('THREE.FBXLoader: Unknown format.')
-              if (d(r) < 7e3)
-                throw new Error('THREE.FBXLoader: FBX version not supported, FileVersion: ' + d(r))
-              e = new s().parse(r)
-            }
-            return new o(
-              new THREE.TextureLoader(this.manager).setPath(n).setCrossOrigin(this.crossOrigin),
-            ).parse(e)
-          },
-        }),
-          (o.prototype = {
-            constructor: o,
-            parse: function () {
-              t = this.parseConnections()
-              var e = this.parseImages(),
-                r = this.parseTextures(e),
-                o = this.parseMaterials(r),
-                a = this.parseDeformers(),
-                s = new i().parse(a)
-              return this.parseScene(a, s, o), n
-            },
-            parseConnections: function () {
-              var t = new Map()
-              'Connections' in e &&
-                e.Connections.connections.forEach(function (e) {
-                  var n = e[0],
-                    r = e[1],
-                    o = e[2]
-                  t.has(n) || t.set(n, { parents: [], children: [] })
-                  var i = { ID: r, relationship: o }
-                  t.get(n).parents.push(i), t.has(r) || t.set(r, { parents: [], children: [] })
-                  var a = { ID: n, relationship: o }
-                  t.get(r).children.push(a)
-                })
-              return t
-            },
-            parseImages: function () {
-              var t = {},
-                n = {}
-              if ('Video' in e.Objects) {
-                var r = e.Objects.Video
-                for (var o in r) {
-                  var i = r[o]
-                  if (((t[(c = parseInt(o))] = i.RelativeFilename || i.Filename), 'Content' in i)) {
-                    var a = i.Content instanceof ArrayBuffer && i.Content.byteLength > 0,
-                      s = 'string' === typeof i.Content && '' !== i.Content
-                    if (a || s) {
-                      var u = this.parseImage(r[o])
-                      n[i.RelativeFilename || i.Filename] = u
-                    }
-                  }
-                }
-              }
-              for (var c in t) {
-                var l = t[c]
-                void 0 !== n[l] ? (t[c] = n[l]) : (t[c] = t[c].split('\\').pop())
-              }
-              return t
-            },
-            parseImage: function (e) {
-              var t,
-                n = e.Content,
-                r = e.RelativeFilename || e.Filename,
-                o = r.slice(r.lastIndexOf('.') + 1).toLowerCase()
-              switch (o) {
-                case 'bmp':
-                  t = 'image/bmp'
-                  break
-                case 'jpg':
-                case 'jpeg':
-                  t = 'image/jpeg'
-                  break
-                case 'png':
-                  t = 'image/png'
-                  break
-                case 'tif':
-                  t = 'image/tiff'
-                  break
-                case 'tga':
-                  if ('function' !== typeof THREE.TGALoader)
-                    return void console.warn(
-                      'FBXLoader: THREE.TGALoader is required to load TGA textures',
-                    )
-                  null === THREE.Loader.Handlers.get('.tga') &&
-                    THREE.Loader.Handlers.add(/\.tga$/i, new THREE.TGALoader()),
-                    (t = 'image/tga')
-                  break
-                default:
-                  return void console.warn('FBXLoader: Image type "' + o + '" is not supported.')
-              }
-              if ('string' === typeof n) return 'data:' + t + ';base64,' + n
-              var i = new Uint8Array(n)
-              return window.URL.createObjectURL(new Blob([i], { type: t }))
-            },
-            parseTextures: function (t) {
-              var n = new Map()
-              if ('Texture' in e.Objects) {
-                var r = e.Objects.Texture
-                for (var o in r) {
-                  var i = this.parseTexture(r[o], t)
-                  n.set(parseInt(o), i)
-                }
-              }
-              return n
-            },
-            parseTexture: function (e, t) {
-              var n = this.loadTexture(e, t)
-              ;(n.ID = e.id), (n.name = e.attrName)
-              var r = e.WrapModeU,
-                o = e.WrapModeV,
-                i = void 0 !== r ? r.value : 0,
-                a = void 0 !== o ? o.value : 0
-              if (
-                ((n.wrapS = 0 === i ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
-                (n.wrapT = 0 === a ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
-                'Scaling' in e)
-              ) {
-                var s = e.Scaling.value
-                ;(n.repeat.x = s[0]), (n.repeat.y = s[1])
-              }
-              return n
-            },
-            loadTexture: function (e, n) {
-              var r,
-                o,
-                i = this.textureLoader.path,
-                a = t.get(e.id).children
-              void 0 !== a &&
-                a.length > 0 &&
-                void 0 !== n[a[0].ID] &&
-                ((0 !== (r = n[a[0].ID]).indexOf('blob:') && 0 !== r.indexOf('data:')) ||
-                  this.textureLoader.setPath(void 0))
-              var s = e.FileName.slice(-3).toLowerCase()
-              if ('tga' === s) {
-                var u = THREE.Loader.Handlers.get('.tga')
-                null === u
-                  ? (console.warn(
-                      'FBXLoader: TGALoader not found, creating empty placeholder texture for',
-                      r,
-                    ),
-                    (o = new THREE.Texture()))
-                  : (o = u.load(r))
-              } else
-                'psd' === s
-                  ? (console.warn(
-                      'FBXLoader: PSD textures are not supported, creating empty placeholder texture for',
-                      r,
-                    ),
-                    (o = new THREE.Texture()))
-                  : (o = this.textureLoader.load(r))
-              return this.textureLoader.setPath(i), o
-            },
-            parseMaterials: function (t) {
-              var n = new Map()
-              if ('Material' in e.Objects) {
-                var r = e.Objects.Material
-                for (var o in r) {
-                  var i = this.parseMaterial(r[o], t)
-                  null !== i && n.set(parseInt(o), i)
-                }
-              }
-              return n
-            },
-            parseMaterial: function (e, n) {
-              var r = e.id,
-                o = e.attrName,
-                i = e.ShadingModel
-              if (('object' === typeof i && (i = i.value), !t.has(r))) return null
-              var a,
-                s = this.parseParameters(e, n, r)
-              switch (i.toLowerCase()) {
-                case 'phong':
-                  a = new THREE.MeshPhongMaterial()
-                  break
-                case 'lambert':
-                  a = new THREE.MeshLambertMaterial()
-                  break
-                default:
-                  console.warn(
-                    'THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',
-                    i,
-                  ),
-                    (a = new THREE.MeshPhongMaterial({ color: 3342591 }))
-              }
-              return a.setValues(s), (a.name = o), a
-            },
-            parseParameters: function (e, n, r) {
-              var o = {}
-              e.BumpFactor && (o.bumpScale = e.BumpFactor.value),
-                e.Diffuse
-                  ? (o.color = new THREE.Color().fromArray(e.Diffuse.value))
-                  : e.DiffuseColor &&
-                    'Color' === e.DiffuseColor.type &&
-                    (o.color = new THREE.Color().fromArray(e.DiffuseColor.value)),
-                e.DisplacementFactor && (o.displacementScale = e.DisplacementFactor.value),
-                e.Emissive
-                  ? (o.emissive = new THREE.Color().fromArray(e.Emissive.value))
-                  : e.EmissiveColor &&
-                    'Color' === e.EmissiveColor.type &&
-                    (o.emissive = new THREE.Color().fromArray(e.EmissiveColor.value)),
-                e.EmissiveFactor && (o.emissiveIntensity = parseFloat(e.EmissiveFactor.value)),
-                e.Opacity && (o.opacity = parseFloat(e.Opacity.value)),
-                o.opacity < 1 && (o.transparent = !0),
-                e.ReflectionFactor && (o.reflectivity = e.ReflectionFactor.value),
-                e.Shininess && (o.shininess = e.Shininess.value),
-                e.Specular
-                  ? (o.specular = new THREE.Color().fromArray(e.Specular.value))
-                  : e.SpecularColor &&
-                    'Color' === e.SpecularColor.type &&
-                    (o.specular = new THREE.Color().fromArray(e.SpecularColor.value))
-              var i = this
-              return (
-                t.get(r).children.forEach(function (e) {
-                  var t = e.relationship
-                  switch (t) {
-                    case 'Bump':
-                      o.bumpMap = i.getTexture(n, e.ID)
-                      break
-                    case 'DiffuseColor':
-                      o.map = i.getTexture(n, e.ID)
-                      break
-                    case 'DisplacementColor':
-                      o.displacementMap = i.getTexture(n, e.ID)
-                      break
-                    case 'EmissiveColor':
-                      o.emissiveMap = i.getTexture(n, e.ID)
-                      break
-                    case 'NormalMap':
-                      o.normalMap = i.getTexture(n, e.ID)
-                      break
-                    case 'ReflectionColor':
-                      ;(o.envMap = i.getTexture(n, e.ID)),
-                        (o.envMap.mapping = THREE.EquirectangularReflectionMapping)
-                      break
-                    case 'SpecularColor':
-                      o.specularMap = i.getTexture(n, e.ID)
-                      break
-                    case 'TransparentColor':
-                      ;(o.alphaMap = i.getTexture(n, e.ID)), (o.transparent = !0)
-                      break
-                    case 'AmbientColor':
-                    case 'ShininessExponent':
-                    case 'SpecularFactor':
-                    case 'VectorDisplacementColor':
-                    default:
-                      console.warn(
-                        'THREE.FBXLoader: %s map is not supported in three.js, skipping texture.',
-                        t,
-                      )
-                  }
-                }),
-                o
-              )
-            },
-            getTexture: function (n, r) {
-              return (
-                'LayeredTexture' in e.Objects &&
-                  r in e.Objects.LayeredTexture &&
-                  (console.warn(
-                    'THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer.',
-                  ),
-                  (r = t.get(r).children[0].ID)),
-                n.get(r)
-              )
-            },
-            parseDeformers: function () {
-              var n = {},
-                r = {}
-              if ('Deformer' in e.Objects) {
-                var o = e.Objects.Deformer
-                for (var i in o) {
-                  var a = o[i],
-                    s = t.get(parseInt(i))
-                  if ('Skin' === a.attrType) {
-                    var u = this.parseSkeleton(s, o)
-                    ;(u.ID = i),
-                      s.parents.length > 1 &&
-                        console.warn(
-                          'THREE.FBXLoader: skeleton attached to more than one geometry is not supported.',
-                        ),
-                      (u.geometryID = s.parents[0].ID),
-                      (n[i] = u)
-                  } else if ('BlendShape' === a.attrType) {
-                    var c = { id: i }
-                    ;(c.rawTargets = this.parseMorphTargets(s, o)),
-                      (c.id = i),
-                      s.parents.length > 1 &&
-                        console.warn(
-                          'THREE.FBXLoader: morph target attached to more than one geometry is not supported.',
-                        ),
-                      (r[i] = c)
-                  }
-                }
-              }
-              return { skeletons: n, morphTargets: r }
-            },
-            parseSkeleton: function (e, t) {
-              var n = []
-              return (
-                e.children.forEach(function (e) {
-                  var r = t[e.ID]
-                  if ('Cluster' === r.attrType) {
-                    var o = {
-                      ID: e.ID,
-                      indices: [],
-                      weights: [],
-                      transform: new THREE.Matrix4().fromArray(r.Transform.a),
-                      transformLink: new THREE.Matrix4().fromArray(r.TransformLink.a),
-                      linkMode: r.Mode,
-                    }
-                    'Indexes' in r && ((o.indices = r.Indexes.a), (o.weights = r.Weights.a)),
-                      n.push(o)
-                  }
-                }),
-                { rawBones: n, bones: [] }
-              )
-            },
-            parseMorphTargets: function (e, n) {
-              for (var r = [], o = 0; o < e.children.length; o++) {
-                if (8 === o) {
-                  console.warn(
-                    'FBXLoader: maximum of 8 morph targets supported. Ignoring additional targets.',
-                  )
-                  break
-                }
-                var i = e.children[o],
-                  a = n[i.ID],
-                  s = {
-                    name: a.attrName,
-                    initialWeight: a.DeformPercent,
-                    id: a.id,
-                    fullWeights: a.FullWeights.a,
-                  }
-                if ('BlendShapeChannel' !== a.attrType) return
-                t.get(parseInt(i.ID)).children.forEach(function (e) {
-                  void 0 === e.relationship && (s.geoID = e.ID)
-                }),
-                  r.push(s)
-              }
-              return r
-            },
-            parseScene: function (r, o, i) {
-              n = new THREE.Group()
-              var s = this.parseModels(r.skeletons, o, i),
-                u = e.Objects.Model,
-                c = this
-              s.forEach(function (e) {
-                var r = u[e.ID]
-                c.setLookAtProperties(e, r),
-                  t.get(e.ID).parents.forEach(function (t) {
-                    var n = s.get(t.ID)
-                    void 0 !== n && n.add(e)
-                  }),
-                  null === e.parent && n.add(e)
-              }),
-                this.bindSkeleton(r.skeletons, o, s),
-                this.createAmbientLight(),
-                this.setupMorphMaterials()
-              var l = new a().parse()
-              1 === n.children.length &&
-                n.children[0].isGroup &&
-                ((n.children[0].animations = l), (n = n.children[0])),
-                (n.animations = l)
-            },
-            parseModels: function (n, r, o) {
-              var i = new Map(),
-                a = e.Objects.Model
-              for (var s in a) {
-                var u = parseInt(s),
-                  c = a[s],
-                  l = t.get(u),
-                  d = this.buildSkeleton(l, n, u, c.attrName)
-                if (!d) {
-                  switch (c.attrType) {
-                    case 'Camera':
-                      d = this.createCamera(l)
-                      break
-                    case 'Light':
-                      d = this.createLight(l)
-                      break
-                    case 'Mesh':
-                      d = this.createMesh(l, r, o)
-                      break
-                    case 'NurbsCurve':
-                      d = this.createCurve(l, r)
-                      break
-                    case 'LimbNode':
-                    case 'Null':
-                    default:
-                      d = new THREE.Group()
-                  }
-                  ;(d.name = THREE.PropertyBinding.sanitizeNodeName(c.attrName)), (d.ID = u)
-                }
-                this.setModelTransforms(d, c), i.set(u, d)
-              }
-              return i
-            },
-            buildSkeleton: function (e, t, n, r) {
-              var o = null
-              return (
-                e.parents.forEach(function (e) {
-                  for (var i in t) {
-                    var a = t[i]
-                    a.rawBones.forEach(function (t, i) {
-                      if (t.ID === e.ID) {
-                        var s = o
-                        ;(o = new THREE.Bone()).matrixWorld.copy(t.transformLink),
-                          (o.name = THREE.PropertyBinding.sanitizeNodeName(r)),
-                          (o.ID = n),
-                          (a.bones[i] = o),
-                          null !== s && o.add(s)
-                      }
-                    })
-                  }
-                }),
-                o
-              )
-            },
-            createCamera: function (t) {
-              var n, r
-              if (
-                (t.children.forEach(function (t) {
-                  var n = e.Objects.NodeAttribute[t.ID]
-                  void 0 !== n && (r = n)
-                }),
-                void 0 === r)
-              )
-                n = new THREE.Object3D()
-              else {
-                var o = 0
-                void 0 !== r.CameraProjectionType && 1 === r.CameraProjectionType.value && (o = 1)
-                var i = 1
-                void 0 !== r.NearPlane && (i = r.NearPlane.value / 1e3)
-                var a = 1e3
-                void 0 !== r.FarPlane && (a = r.FarPlane.value / 1e3)
-                var s = window.innerWidth,
-                  u = window.innerHeight
-                void 0 !== r.AspectWidth &&
-                  void 0 !== r.AspectHeight &&
-                  ((s = r.AspectWidth.value), (u = r.AspectHeight.value))
-                var c = s / u,
-                  l = 45
-                void 0 !== r.FieldOfView && (l = r.FieldOfView.value)
-                var d = r.FocalLength ? r.FocalLength.value : null
-                switch (o) {
-                  case 0:
-                    ;(n = new THREE.PerspectiveCamera(l, c, i, a)),
-                      null !== d && n.setFocalLength(d)
-                    break
-                  case 1:
-                    n = new THREE.OrthographicCamera(-s / 2, s / 2, u / 2, -u / 2, i, a)
-                    break
-                  default:
-                    console.warn('THREE.FBXLoader: Unknown camera type ' + o + '.'),
-                      (n = new THREE.Object3D())
-                }
-              }
-              return n
-            },
-            createLight: function (t) {
-              var n, r
-              if (
-                (t.children.forEach(function (t) {
-                  var n = e.Objects.NodeAttribute[t.ID]
-                  void 0 !== n && (r = n)
-                }),
-                void 0 === r)
-              )
-                n = new THREE.Object3D()
-              else {
-                var o
-                o = void 0 === r.LightType ? 0 : r.LightType.value
-                var i = 16777215
-                void 0 !== r.Color && (i = new THREE.Color().fromArray(r.Color.value))
-                var a = void 0 === r.Intensity ? 1 : r.Intensity.value / 100
-                void 0 !== r.CastLightOnObject && 0 === r.CastLightOnObject.value && (a = 0)
-                var s = 0
-                void 0 !== r.FarAttenuationEnd &&
-                  (s =
-                    void 0 !== r.EnableFarAttenuation && 0 === r.EnableFarAttenuation.value
-                      ? 0
-                      : r.FarAttenuationEnd.value)
-                switch (o) {
-                  case 0:
-                    n = new THREE.PointLight(i, a, s, 1)
-                    break
-                  case 1:
-                    n = new THREE.DirectionalLight(i, a)
-                    break
-                  case 2:
-                    var u = Math.PI / 3
-                    void 0 !== r.InnerAngle && (u = THREE.Math.degToRad(r.InnerAngle.value))
-                    var c = 0
-                    void 0 !== r.OuterAngle &&
-                      ((c = THREE.Math.degToRad(r.OuterAngle.value)), (c = Math.max(c, 1))),
-                      (n = new THREE.SpotLight(i, a, s, u, c, 1))
-                    break
-                  default:
-                    console.warn(
-                      'THREE.FBXLoader: Unknown light type ' +
-                        r.LightType.value +
-                        ', defaulting to a THREE.PointLight.',
-                    ),
-                      (n = new THREE.PointLight(i, a))
-                }
-                void 0 !== r.CastShadows && 1 === r.CastShadows.value && (n.castShadow = !0)
-              }
-              return n
-            },
-            createMesh: function (e, t, n) {
-              var r,
-                o = null,
-                i = null,
-                a = []
-              return (
-                e.children.forEach(function (e) {
-                  t.has(e.ID) && (o = t.get(e.ID)), n.has(e.ID) && a.push(n.get(e.ID))
-                }),
-                a.length > 1
-                  ? (i = a)
-                  : a.length > 0
-                  ? (i = a[0])
-                  : ((i = new THREE.MeshPhongMaterial({ color: 13421772 })), a.push(i)),
-                'color' in o.attributes &&
-                  a.forEach(function (e) {
-                    e.vertexColors = THREE.VertexColors
-                  }),
-                o.FBX_Deformer
-                  ? (a.forEach(function (e) {
-                      e.skinning = !0
-                    }),
-                    (r = new THREE.SkinnedMesh(o, i)))
-                  : (r = new THREE.Mesh(o, i)),
-                r
-              )
-            },
-            createCurve: function (e, t) {
-              var n = e.children.reduce(function (e, n) {
-                  return t.has(n.ID) && (e = t.get(n.ID)), e
-                }, null),
-                r = new THREE.LineBasicMaterial({ color: 3342591, linewidth: 1 })
-              return new THREE.Line(n, r)
-            },
-            setModelTransforms: function (e, t) {
-              var n = {}
-              'RotationOrder' in t && (n.eulerOrder = parseInt(t.RotationOrder.value)),
-                'Lcl_Translation' in t && (n.translation = t.Lcl_Translation.value),
-                'RotationOffset' in t && (n.rotationOffset = t.RotationOffset.value),
-                'Lcl_Rotation' in t && (n.rotation = t.Lcl_Rotation.value),
-                'PreRotation' in t && (n.preRotation = t.PreRotation.value),
-                'PostRotation' in t && (n.postRotation = t.PostRotation.value),
-                'Lcl_Scaling' in t && (n.scale = t.Lcl_Scaling.value)
-              var r = w(n)
-              e.applyMatrix(r)
-            },
-            setLookAtProperties: function (r, o) {
-              'LookAtProperty' in o &&
-                t.get(r.ID).children.forEach(function (t) {
-                  if ('LookAtProperty' === t.relationship) {
-                    var o = e.Objects.Model[t.ID]
-                    if ('Lcl_Translation' in o) {
-                      var i = o.Lcl_Translation.value
-                      void 0 !== r.target
-                        ? (r.target.position.fromArray(i), n.add(r.target))
-                        : r.lookAt(new THREE.Vector3().fromArray(i))
-                    }
-                  }
-                })
-            },
-            bindSkeleton: function (e, n, r) {
-              var o = this.parsePoseNodes()
-              for (var i in e) {
-                var a = e[i]
-                t.get(parseInt(a.ID)).parents.forEach(function (e) {
-                  if (n.has(e.ID)) {
-                    var i = e.ID
-                    t.get(i).parents.forEach(function (e) {
-                      r.has(e.ID) && r.get(e.ID).bind(new THREE.Skeleton(a.bones), o[e.ID])
-                    })
-                  }
-                })
-              }
-            },
-            parsePoseNodes: function () {
-              var t = {}
-              if ('Pose' in e.Objects) {
-                var n = e.Objects.Pose
-                for (var r in n)
-                  if ('BindPose' === n[r].attrType) {
-                    var o = n[r].PoseNode
-                    Array.isArray(o)
-                      ? o.forEach(function (e) {
-                          t[e.Node] = new THREE.Matrix4().fromArray(e.Matrix.a)
-                        })
-                      : (t[o.Node] = new THREE.Matrix4().fromArray(o.Matrix.a))
-                  }
-              }
-              return t
-            },
-            createAmbientLight: function () {
-              if ('GlobalSettings' in e && 'AmbientColor' in e.GlobalSettings) {
-                var t = e.GlobalSettings.AmbientColor.value,
-                  r = t[0],
-                  o = t[1],
-                  i = t[2]
-                if (0 !== r || 0 !== o || 0 !== i) {
-                  var a = new THREE.Color(r, o, i)
-                  n.add(new THREE.AmbientLight(a, 1))
-                }
-              }
-            },
-            setupMorphMaterials: function () {
-              n.traverse(function (e) {
-                if (
-                  e.isMesh &&
-                  (e.geometry.morphAttributes.position || e.geometry.morphAttributes.normal)
-                ) {
-                  var t = e.uuid,
-                    r = e.material.uuid,
-                    o = !1
-                  n.traverse(function (e) {
-                    e.isMesh && e.material.uuid === r && e.uuid !== t && (o = !0)
-                  }),
-                    !0 === o && (e.material = e.material.clone()),
-                    (e.material.morphTargets = !0)
-                }
-              })
-            },
-          }),
-          (i.prototype = {
-            constructor: i,
-            parse: function (n) {
-              var r = new Map()
-              if ('Geometry' in e.Objects) {
-                var o = e.Objects.Geometry
-                for (var i in o) {
-                  var a = t.get(parseInt(i)),
-                    s = this.parseGeometry(a, o[i], n)
-                  r.set(parseInt(i), s)
-                }
-              }
-              return r
-            },
-            parseGeometry: function (e, t, n) {
-              switch (t.attrType) {
-                case 'Mesh':
-                  return this.parseMeshGeometry(e, t, n)
-                case 'NurbsCurve':
-                  return this.parseNurbsGeometry(t)
-              }
-            },
-            parseMeshGeometry: function (t, n, r) {
-              var o = r.skeletons,
-                i = r.morphTargets,
-                a = t.parents.map(function (t) {
-                  return e.Objects.Model[t.ID]
-                })
-              if (0 !== a.length) {
-                var s = t.children.reduce(function (e, t) {
-                    return void 0 !== o[t.ID] && (e = o[t.ID]), e
-                  }, null),
-                  u = t.children.reduce(function (e, t) {
-                    return void 0 !== i[t.ID] && (e = i[t.ID]), e
-                  }, null),
-                  c = a[0],
-                  l = {}
-                'RotationOrder' in c && (l.eulerOrder = c.RotationOrder.value),
-                  'GeometricTranslation' in c && (l.translation = c.GeometricTranslation.value),
-                  'GeometricRotation' in c && (l.rotation = c.GeometricRotation.value),
-                  'GeometricScaling' in c && (l.scale = c.GeometricScaling.value)
-                var d = w(l)
-                return this.genGeometry(n, s, u, d)
-              }
-            },
-            genGeometry: function (e, t, n, r) {
-              var o = new THREE.BufferGeometry()
-              e.attrName && (o.name = e.attrName)
-              var i = this.parseGeoNode(e, t),
-                a = this.genBuffers(i),
-                s = new THREE.Float32BufferAttribute(a.vertex, 3)
-              if (
-                (r.applyToBufferAttribute(s),
-                o.addAttribute('position', s),
-                a.colors.length > 0 &&
-                  o.addAttribute('color', new THREE.Float32BufferAttribute(a.colors, 3)),
-                t &&
-                  (o.addAttribute(
-                    'skinIndex',
-                    new THREE.Uint16BufferAttribute(a.weightsIndices, 4),
-                  ),
-                  o.addAttribute(
-                    'skinWeight',
-                    new THREE.Float32BufferAttribute(a.vertexWeights, 4),
-                  ),
-                  (o.FBX_Deformer = t)),
-                a.normal.length > 0)
-              ) {
-                var u = new THREE.Float32BufferAttribute(a.normal, 3)
-                new THREE.Matrix3().getNormalMatrix(r).applyToBufferAttribute(u),
-                  o.addAttribute('normal', u)
-              }
-              if (
-                (a.uvs.forEach(function (e, t) {
-                  var n = 'uv' + (t + 1).toString()
-                  0 === t && (n = 'uv'),
-                    o.addAttribute(n, new THREE.Float32BufferAttribute(a.uvs[t], 2))
-                }),
-                i.material && 'AllSame' !== i.material.mappingType)
-              ) {
-                var c = a.materialIndex[0],
-                  l = 0
-                if (
-                  (a.materialIndex.forEach(function (e, t) {
-                    e !== c && (o.addGroup(l, t - l, c), (c = e), (l = t))
-                  }),
-                  o.groups.length > 0)
-                ) {
-                  var d = o.groups[o.groups.length - 1],
-                    f = d.start + d.count
-                  f !== a.materialIndex.length && o.addGroup(f, a.materialIndex.length - f, c)
-                }
-                0 === o.groups.length && o.addGroup(0, a.materialIndex.length, a.materialIndex[0])
-              }
-              return this.addMorphTargets(o, e, n, r), o
-            },
-            parseGeoNode: function (e, t) {
-              var n = {}
-              if (
-                ((n.vertexPositions = void 0 !== e.Vertices ? e.Vertices.a : []),
-                (n.vertexIndices = void 0 !== e.PolygonVertexIndex ? e.PolygonVertexIndex.a : []),
-                e.LayerElementColor && (n.color = this.parseVertexColors(e.LayerElementColor[0])),
-                e.LayerElementMaterial &&
-                  (n.material = this.parseMaterialIndices(e.LayerElementMaterial[0])),
-                e.LayerElementNormal && (n.normal = this.parseNormals(e.LayerElementNormal[0])),
-                e.LayerElementUV)
-              ) {
-                n.uv = []
-                for (var r = 0; e.LayerElementUV[r]; )
-                  n.uv.push(this.parseUVs(e.LayerElementUV[r])), r++
-              }
-              return (
-                (n.weightTable = {}),
-                null !== t &&
-                  ((n.skeleton = t),
-                  t.rawBones.forEach(function (e, t) {
-                    e.indices.forEach(function (r, o) {
-                      void 0 === n.weightTable[r] && (n.weightTable[r] = []),
-                        n.weightTable[r].push({ id: t, weight: e.weights[o] })
-                    })
-                  })),
-                n
-              )
-            },
-            genBuffers: function (e) {
-              var t = {
-                  vertex: [],
-                  normal: [],
-                  colors: [],
-                  uvs: [],
-                  materialIndex: [],
-                  vertexWeights: [],
-                  weightsIndices: [],
-                },
-                n = 0,
-                r = 0,
-                o = !1,
-                i = [],
-                a = [],
-                s = [],
-                u = [],
-                c = [],
-                l = [],
-                d = this
-              return (
-                e.vertexIndices.forEach(function (f, h) {
-                  var v = !1
-                  f < 0 && ((f ^= -1), (v = !0))
-                  var m = [],
-                    g = []
-                  if ((i.push(3 * f, 3 * f + 1, 3 * f + 2), e.color)) {
-                    var y = p(h, n, f, e.color)
-                    s.push(y[0], y[1], y[2])
-                  }
-                  if (e.skeleton) {
-                    if (
-                      (void 0 !== e.weightTable[f] &&
-                        e.weightTable[f].forEach(function (e) {
-                          g.push(e.weight), m.push(e.id)
-                        }),
-                      g.length > 4)
-                    ) {
-                      o ||
-                        (console.warn(
-                          'THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights.',
-                        ),
-                        (o = !0))
-                      var b = [0, 0, 0, 0],
-                        w = [0, 0, 0, 0]
-                      g.forEach(function (e, t) {
-                        var n = e,
-                          r = m[t]
-                        w.forEach(function (e, t, o) {
-                          if (n > e) {
-                            ;(o[t] = n), (n = e)
-                            var i = b[t]
-                            ;(b[t] = r), (r = i)
-                          }
-                        })
-                      }),
-                        (m = b),
-                        (g = w)
-                    }
-                    for (; g.length < 4; ) g.push(0), m.push(0)
-                    for (var _ = 0; _ < 4; ++_) c.push(g[_]), l.push(m[_])
-                  }
-                  if (e.normal) {
-                    y = p(h, n, f, e.normal)
-                    a.push(y[0], y[1], y[2])
-                  }
-                  if (e.material && 'AllSame' !== e.material.mappingType)
-                    var x = p(h, n, f, e.material)[0]
-                  e.uv &&
-                    e.uv.forEach(function (e, t) {
-                      var r = p(h, n, f, e)
-                      void 0 === u[t] && (u[t] = []), u[t].push(r[0]), u[t].push(r[1])
-                    }),
-                    r++,
-                    v &&
-                      (d.genFace(t, e, i, x, a, s, u, c, l, r),
-                      n++,
-                      (r = 0),
-                      (i = []),
-                      (a = []),
-                      (s = []),
-                      (u = []),
-                      (c = []),
-                      (l = []))
-                }),
-                t
-              )
-            },
-            genFace: function (e, t, n, r, o, i, a, s, u, c) {
-              for (var l = 2; l < c; l++)
-                e.vertex.push(t.vertexPositions[n[0]]),
-                  e.vertex.push(t.vertexPositions[n[1]]),
-                  e.vertex.push(t.vertexPositions[n[2]]),
-                  e.vertex.push(t.vertexPositions[n[3 * (l - 1)]]),
-                  e.vertex.push(t.vertexPositions[n[3 * (l - 1) + 1]]),
-                  e.vertex.push(t.vertexPositions[n[3 * (l - 1) + 2]]),
-                  e.vertex.push(t.vertexPositions[n[3 * l]]),
-                  e.vertex.push(t.vertexPositions[n[3 * l + 1]]),
-                  e.vertex.push(t.vertexPositions[n[3 * l + 2]]),
-                  t.skeleton &&
-                    (e.vertexWeights.push(s[0]),
-                    e.vertexWeights.push(s[1]),
-                    e.vertexWeights.push(s[2]),
-                    e.vertexWeights.push(s[3]),
-                    e.vertexWeights.push(s[4 * (l - 1)]),
-                    e.vertexWeights.push(s[4 * (l - 1) + 1]),
-                    e.vertexWeights.push(s[4 * (l - 1) + 2]),
-                    e.vertexWeights.push(s[4 * (l - 1) + 3]),
-                    e.vertexWeights.push(s[4 * l]),
-                    e.vertexWeights.push(s[4 * l + 1]),
-                    e.vertexWeights.push(s[4 * l + 2]),
-                    e.vertexWeights.push(s[4 * l + 3]),
-                    e.weightsIndices.push(u[0]),
-                    e.weightsIndices.push(u[1]),
-                    e.weightsIndices.push(u[2]),
-                    e.weightsIndices.push(u[3]),
-                    e.weightsIndices.push(u[4 * (l - 1)]),
-                    e.weightsIndices.push(u[4 * (l - 1) + 1]),
-                    e.weightsIndices.push(u[4 * (l - 1) + 2]),
-                    e.weightsIndices.push(u[4 * (l - 1) + 3]),
-                    e.weightsIndices.push(u[4 * l]),
-                    e.weightsIndices.push(u[4 * l + 1]),
-                    e.weightsIndices.push(u[4 * l + 2]),
-                    e.weightsIndices.push(u[4 * l + 3])),
-                  t.color &&
-                    (e.colors.push(i[0]),
-                    e.colors.push(i[1]),
-                    e.colors.push(i[2]),
-                    e.colors.push(i[3 * (l - 1)]),
-                    e.colors.push(i[3 * (l - 1) + 1]),
-                    e.colors.push(i[3 * (l - 1) + 2]),
-                    e.colors.push(i[3 * l]),
-                    e.colors.push(i[3 * l + 1]),
-                    e.colors.push(i[3 * l + 2])),
-                  t.material &&
-                    'AllSame' !== t.material.mappingType &&
-                    (e.materialIndex.push(r), e.materialIndex.push(r), e.materialIndex.push(r)),
-                  t.normal &&
-                    (e.normal.push(o[0]),
-                    e.normal.push(o[1]),
-                    e.normal.push(o[2]),
-                    e.normal.push(o[3 * (l - 1)]),
-                    e.normal.push(o[3 * (l - 1) + 1]),
-                    e.normal.push(o[3 * (l - 1) + 2]),
-                    e.normal.push(o[3 * l]),
-                    e.normal.push(o[3 * l + 1]),
-                    e.normal.push(o[3 * l + 2])),
-                  t.uv &&
-                    t.uv.forEach(function (t, n) {
-                      void 0 === e.uvs[n] && (e.uvs[n] = []),
-                        e.uvs[n].push(a[n][0]),
-                        e.uvs[n].push(a[n][1]),
-                        e.uvs[n].push(a[n][2 * (l - 1)]),
-                        e.uvs[n].push(a[n][2 * (l - 1) + 1]),
-                        e.uvs[n].push(a[n][2 * l]),
-                        e.uvs[n].push(a[n][2 * l + 1])
-                    })
-            },
-            addMorphTargets: function (t, n, r, o) {
-              if (null !== r) {
-                ;(t.morphAttributes.position = []), (t.morphAttributes.normal = [])
-                var i = this
-                r.rawTargets.forEach(function (r) {
-                  var a = e.Objects.Geometry[r.geoID]
-                  void 0 !== a && i.genMorphGeometry(t, n, a, o)
-                })
-              }
-            },
-            genMorphGeometry: function (e, t, n, r) {
-              var o = new THREE.BufferGeometry()
-              n.attrName && (o.name = n.attrName)
-              for (
-                var i = void 0 !== t.PolygonVertexIndex ? t.PolygonVertexIndex.a : [],
-                  a = void 0 !== t.Vertices ? t.Vertices.a.slice() : [],
-                  s = void 0 !== n.Vertices ? n.Vertices.a : [],
-                  u = void 0 !== n.Indexes ? n.Indexes.a : [],
-                  c = 0;
-                c < u.length;
-                c++
-              ) {
-                var l = 3 * u[c]
-                ;(a[l] += s[3 * c]), (a[l + 1] += s[3 * c + 1]), (a[l + 2] += s[3 * c + 2])
-              }
-              var d = { vertexIndices: i, vertexPositions: a },
-                f = this.genBuffers(d),
-                h = new THREE.Float32BufferAttribute(f.vertex, 3)
-              ;(h.name = n.attrName),
-                r.applyToBufferAttribute(h),
-                e.morphAttributes.position.push(h)
-            },
-            parseNormals: function (e) {
-              var t = e.MappingInformationType,
-                n = e.ReferenceInformationType,
-                r = e.Normals.a,
-                o = []
-              return (
-                'IndexToDirect' === n &&
-                  ('NormalIndex' in e
-                    ? (o = e.NormalIndex.a)
-                    : 'NormalsIndex' in e && (o = e.NormalsIndex.a)),
-                { dataSize: 3, buffer: r, indices: o, mappingType: t, referenceType: n }
-              )
-            },
-            parseUVs: function (e) {
-              var t = e.MappingInformationType,
-                n = e.ReferenceInformationType,
-                r = e.UV.a,
-                o = []
-              return (
-                'IndexToDirect' === n && (o = e.UVIndex.a),
-                { dataSize: 2, buffer: r, indices: o, mappingType: t, referenceType: n }
-              )
-            },
-            parseVertexColors: function (e) {
-              var t = e.MappingInformationType,
-                n = e.ReferenceInformationType,
-                r = e.Colors.a,
-                o = []
-              return (
-                'IndexToDirect' === n && (o = e.ColorIndex.a),
-                { dataSize: 4, buffer: r, indices: o, mappingType: t, referenceType: n }
-              )
-            },
-            parseMaterialIndices: function (e) {
-              var t = e.MappingInformationType,
-                n = e.ReferenceInformationType
-              if ('NoMappingInformation' === t)
-                return {
-                  dataSize: 1,
-                  buffer: [0],
-                  indices: [0],
-                  mappingType: 'AllSame',
-                  referenceType: n,
-                }
-              for (var r = e.Materials.a, o = [], i = 0; i < r.length; ++i) o.push(i)
-              return { dataSize: 1, buffer: r, indices: o, mappingType: t, referenceType: n }
-            },
-            parseNurbsGeometry: function (e) {
-              if (void 0 === THREE.NURBSCurve)
-                return (
-                  console.error(
-                    'THREE.FBXLoader: The loader relies on THREE.NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry.',
-                  ),
-                  new THREE.BufferGeometry()
-                )
-              var t = parseInt(e.Order)
-              if (isNaN(t))
-                return (
-                  console.error(
-                    'THREE.FBXLoader: Invalid Order %s given for geometry ID: %s',
-                    e.Order,
-                    e.id,
-                  ),
-                  new THREE.BufferGeometry()
-                )
-              for (
-                var n,
-                  r,
-                  o = t - 1,
-                  i = e.KnotVector.a,
-                  a = [],
-                  s = e.Points.a,
-                  u = 0,
-                  c = s.length;
-                u < c;
-                u += 4
-              )
-                a.push(new THREE.Vector4().fromArray(s, u))
-              if ('Closed' === e.Form) a.push(a[0])
-              else if ('Periodic' === e.Form) {
-                ;(n = o), (r = i.length - 1 - n)
-                for (u = 0; u < o; ++u) a.push(a[u])
-              }
-              var l = new THREE.NURBSCurve(o, i, a, n, r).getPoints(7 * a.length),
-                d = new Float32Array(3 * l.length)
-              l.forEach(function (e, t) {
-                e.toArray(d, 3 * t)
-              })
-              var f = new THREE.BufferGeometry()
-              return f.addAttribute('position', new THREE.BufferAttribute(d, 3)), f
-            },
-          }),
-          (a.prototype = {
-            constructor: a,
-            parse: function () {
-              var e = [],
-                t = this.parseClips()
-              if (void 0 === t) return e
-              for (var n in t) {
-                var r = t[n],
-                  o = this.addClip(r)
-                e.push(o)
-              }
-              return e
-            },
-            parseClips: function () {
-              if (void 0 !== e.Objects.AnimationCurve) {
-                var t = this.parseAnimationCurveNodes()
-                this.parseAnimationCurves(t)
-                var n = this.parseAnimationLayers(t)
-                return this.parseAnimStacks(n)
-              }
-            },
-            parseAnimationCurveNodes: function () {
-              var t = e.Objects.AnimationCurveNode,
-                n = new Map()
-              for (var r in t) {
-                var o = t[r]
-                if (null !== o.attrName.match(/S|R|T|DeformPercent/)) {
-                  var i = { id: o.id, attr: o.attrName, curves: {} }
-                  n.set(i.id, i)
-                }
-              }
-              return n
-            },
-            parseAnimationCurves: function (n) {
-              var r = e.Objects.AnimationCurve
-              for (var o in r) {
-                var i = { id: r[o].id, times: r[o].KeyTime.a.map(f), values: r[o].KeyValueFloat.a },
-                  a = t.get(i.id)
-                if (void 0 !== a) {
-                  var s = a.parents[0].ID,
-                    u = a.parents[0].relationship
-                  u.match(/X/)
-                    ? (n.get(s).curves.x = i)
-                    : u.match(/Y/)
-                    ? (n.get(s).curves.y = i)
-                    : u.match(/Z/)
-                    ? (n.get(s).curves.z = i)
-                    : u.match(/d|DeformPercent/) && n.has(s) && (n.get(s).curves.morph = i)
-                }
-              }
-            },
-            parseAnimationLayers: function (n) {
-              var r = e.Objects.AnimationLayer,
-                o = new Map()
-              for (var i in r) {
-                var a = [],
-                  s = t.get(parseInt(i))
-                if (void 0 !== s) {
-                  var u = s.children,
-                    c = this
-                  u.forEach(function (r, o) {
-                    if (n.has(r.ID)) {
-                      var i = n.get(r.ID)
-                      if (void 0 !== i.curves.x || void 0 !== i.curves.y || void 0 !== i.curves.z) {
-                        if (void 0 === a[o]) {
-                          t.get(r.ID).parents.forEach(function (e) {
-                            void 0 !== e.relationship && (h = e.ID)
-                          })
-                          var s = e.Objects.Model[h.toString()],
-                            u = {
-                              modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName),
-                              initialPosition: [0, 0, 0],
-                              initialRotation: [0, 0, 0],
-                              initialScale: [1, 1, 1],
-                              transform: c.getModelAnimTransform(s),
-                            }
-                          'PreRotation' in s && (u.preRotations = s.PreRotation.value),
-                            'PostRotation' in s && (u.postRotations = s.PostRotation.value),
-                            (a[o] = u)
-                        }
-                        a[o][i.attr] = i
-                      } else if (void 0 !== i.curves.morph) {
-                        if (void 0 === a[o]) {
-                          var l
-                          t.get(r.ID).parents.forEach(function (e) {
-                            void 0 !== e.relationship && (l = e.ID)
-                          })
-                          var d = t.get(l).parents[0].ID,
-                            f = t.get(d).parents[0].ID,
-                            h = t.get(f).parents[0].ID
-                          ;(s = e.Objects.Model[h]),
-                            (u = {
-                              modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName),
-                              morphName: e.Objects.Deformer[l].attrName,
-                            })
-                          a[o] = u
-                        }
-                        a[o][i.attr] = i
-                      }
-                    }
-                  }),
-                    o.set(parseInt(i), a)
-                }
-              }
-              return o
-            },
-            getModelAnimTransform: function (e) {
-              var t = {}
-              return (
-                'RotationOrder' in e && (t.eulerOrder = parseInt(e.RotationOrder.value)),
-                'Lcl_Translation' in e && (t.translation = e.Lcl_Translation.value),
-                'RotationOffset' in e && (t.rotationOffset = e.RotationOffset.value),
-                'Lcl_Rotation' in e && (t.rotation = e.Lcl_Rotation.value),
-                'PreRotation' in e && (t.preRotation = e.PreRotation.value),
-                'PostRotation' in e && (t.postRotation = e.PostRotation.value),
-                'Lcl_Scaling' in e && (t.scale = e.Lcl_Scaling.value),
-                w(t)
-              )
-            },
-            parseAnimStacks: function (n) {
-              var r = e.Objects.AnimationStack,
-                o = {}
-              for (var i in r) {
-                var a = t.get(parseInt(i)).children
-                a.length > 1 &&
-                  console.warn(
-                    'THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.',
-                  )
-                var s = n.get(a[0].ID)
-                o[i] = { name: r[i].attrName, layer: s }
-              }
-              return o
-            },
-            addClip: function (e) {
-              var t = [],
-                n = this
-              return (
-                e.layer.forEach(function (e) {
-                  t = t.concat(n.generateTracks(e))
-                }),
-                new THREE.AnimationClip(e.name, -1, t)
-              )
-            },
-            generateTracks: function (e) {
-              var t = [],
-                n = new THREE.Vector3(),
-                r = new THREE.Quaternion(),
-                o = new THREE.Vector3()
-              if (
-                (e.transform && e.transform.decompose(n, r, o),
-                (n = n.toArray()),
-                (r = new THREE.Euler().setFromQuaternion(r).toArray()),
-                (o = o.toArray()),
-                void 0 !== e.T && Object.keys(e.T.curves).length > 0)
-              ) {
-                var i = this.generateVectorTrack(e.modelName, e.T.curves, n, 'position')
-                void 0 !== i && t.push(i)
-              }
-              if (void 0 !== e.R && Object.keys(e.R.curves).length > 0) {
-                var a = this.generateRotationTrack(
-                  e.modelName,
-                  e.R.curves,
-                  r,
-                  e.preRotations,
-                  e.postRotations,
-                )
-                void 0 !== a && t.push(a)
-              }
-              if (void 0 !== e.S && Object.keys(e.S.curves).length > 0) {
-                var s = this.generateVectorTrack(e.modelName, e.S.curves, o, 'scale')
-                void 0 !== s && t.push(s)
-              }
-              if (void 0 !== e.DeformPercent) {
-                var u = this.generateMorphTrack(e)
-                void 0 !== u && t.push(u)
-              }
-              return t
-            },
-            generateVectorTrack: function (e, t, n, r) {
-              var o = this.getTimesForAllAxes(t),
-                i = this.getKeyframeTrackValues(o, t, n)
-              return new THREE.VectorKeyframeTrack(e + '.' + r, o, i)
-            },
-            generateRotationTrack: function (e, t, n, r, o) {
-              void 0 !== t.x &&
-                (this.interpolateRotations(t.x),
-                (t.x.values = t.x.values.map(THREE.Math.degToRad))),
-                void 0 !== t.y &&
-                  (this.interpolateRotations(t.y),
-                  (t.y.values = t.y.values.map(THREE.Math.degToRad))),
-                void 0 !== t.z &&
-                  (this.interpolateRotations(t.z),
-                  (t.z.values = t.z.values.map(THREE.Math.degToRad)))
-              var i = this.getTimesForAllAxes(t),
-                a = this.getKeyframeTrackValues(i, t, n)
-              void 0 !== r &&
-                ((r = r.map(THREE.Math.degToRad)).push('ZYX'),
-                (r = new THREE.Euler().fromArray(r)),
-                (r = new THREE.Quaternion().setFromEuler(r))),
-                void 0 !== o &&
-                  ((o = o.map(THREE.Math.degToRad)).push('ZYX'),
-                  (o = new THREE.Euler().fromArray(o)),
-                  (o = new THREE.Quaternion().setFromEuler(o).inverse()))
-              for (
-                var s = new THREE.Quaternion(), u = new THREE.Euler(), c = [], l = 0;
-                l < a.length;
-                l += 3
-              )
-                u.set(a[l], a[l + 1], a[l + 2], 'ZYX'),
-                  s.setFromEuler(u),
-                  void 0 !== r && s.premultiply(r),
-                  void 0 !== o && s.multiply(o),
-                  s.toArray(c, (l / 3) * 4)
-              return new THREE.QuaternionKeyframeTrack(e + '.quaternion', i, c)
-            },
-            generateMorphTrack: function (e) {
-              var t = e.DeformPercent.curves.morph,
-                r = t.values.map(function (e) {
-                  return e / 100
-                }),
-                o = n.getObjectByName(e.modelName).morphTargetDictionary[e.morphName]
-              return new THREE.NumberKeyframeTrack(
-                e.modelName + '.morphTargetInfluences[' + o + ']',
-                t.times,
-                r,
-              )
-            },
-            getTimesForAllAxes: function (e) {
-              var t = []
-              return (
-                void 0 !== e.x && (t = t.concat(e.x.times)),
-                void 0 !== e.y && (t = t.concat(e.y.times)),
-                void 0 !== e.z && (t = t.concat(e.z.times)),
-                (t = t
-                  .sort(function (e, t) {
-                    return e - t
-                  })
-                  .filter(function (e, t, n) {
-                    return n.indexOf(e) == t
-                  }))
-              )
-            },
-            getKeyframeTrackValues: function (e, t, n) {
-              var r = n,
-                o = [],
-                i = -1,
-                a = -1,
-                s = -1
-              return (
-                e.forEach(function (e) {
-                  if (
-                    (t.x && (i = t.x.times.indexOf(e)),
-                    t.y && (a = t.y.times.indexOf(e)),
-                    t.z && (s = t.z.times.indexOf(e)),
-                    -1 !== i)
-                  ) {
-                    var n = t.x.values[i]
-                    o.push(n), (r[0] = n)
-                  } else o.push(r[0])
-                  if (-1 !== a) {
-                    var u = t.y.values[a]
-                    o.push(u), (r[1] = u)
-                  } else o.push(r[1])
-                  if (-1 !== s) {
-                    var c = t.z.values[s]
-                    o.push(c), (r[2] = c)
-                  } else o.push(r[2])
-                }),
-                o
-              )
-            },
-            interpolateRotations: function (e) {
-              for (var t = 1; t < e.values.length; t++) {
-                var n = e.values[t - 1],
-                  r = e.values[t] - n,
-                  o = Math.abs(r)
-                if (o >= 180) {
-                  for (
-                    var i = o / 180,
-                      a = r / i,
-                      s = n + a,
-                      u = e.times[t - 1],
-                      c = (e.times[t] - u) / i,
-                      l = u + c,
-                      d = [],
-                      f = [];
-                    l < e.times[t];
-
-                  )
-                    d.push(l), (l += c), f.push(s), (s += a)
-                  ;(e.times = E(e.times, t, d)), (e.values = E(e.values, t, f))
-                }
-              }
-            },
-          }),
-          (s.prototype = {
-            constructor: s,
-            getPrevNode: function () {
-              return this.nodeStack[this.currentIndent - 2]
-            },
-            getCurrentNode: function () {
-              return this.nodeStack[this.currentIndent - 1]
-            },
-            getCurrentProp: function () {
-              return this.currentProp
-            },
-            pushStack: function (e) {
-              this.nodeStack.push(e), (this.currentIndent += 1)
-            },
-            popStack: function () {
-              this.nodeStack.pop(), (this.currentIndent -= 1)
-            },
-            setCurrentProp: function (e, t) {
-              ;(this.currentProp = e), (this.currentPropName = t)
-            },
-            parse: function (e) {
-              ;(this.currentIndent = 0),
-                console.log('FBXTree: ', l),
-                (this.allNodes = new l()),
-                (this.nodeStack = []),
-                (this.currentProp = []),
-                (this.currentPropName = '')
-              var t = this,
-                n = e.split(/[\r\n]+/)
-              return (
-                n.forEach(function (e, r) {
-                  var o = e.match(/^[\s\t]*;/),
-                    i = e.match(/^[\s\t]*$/)
-                  if (!o && !i) {
-                    var a = e.match('^\\t{' + t.currentIndent + '}(\\w+):(.*){', ''),
-                      s = e.match('^\\t{' + t.currentIndent + '}(\\w+):[\\s\\t\\r\\n](.*)'),
-                      u = e.match('^\\t{' + (t.currentIndent - 1) + '}}')
-                    a
-                      ? t.parseNodeBegin(e, a)
-                      : s
-                      ? t.parseNodeProperty(e, s, n[++r])
-                      : u
-                      ? t.popStack()
-                      : e.match(/^[^\s\t}]/) && t.parseNodePropertyContinued(e)
-                  }
-                }),
-                this.allNodes
-              )
-            },
-            parseNodeBegin: function (e, t) {
-              var n = t[1].trim().replace(/^"/, '').replace(/"$/, ''),
-                r = t[2].split(',').map(function (e) {
-                  return e.trim().replace(/^"/, '').replace(/"$/, '')
-                }),
-                o = { name: n },
-                i = this.parseNodeAttr(r),
-                a = this.getCurrentNode()
-              0 === this.currentIndent
-                ? this.allNodes.add(n, o)
-                : n in a
-                ? ('PoseNode' === n
-                    ? a.PoseNode.push(o)
-                    : void 0 !== a[n].id && ((a[n] = {}), (a[n][a[n].id] = a[n])),
-                  '' !== i.id && (a[n][i.id] = o))
-                : 'number' === typeof i.id
-                ? ((a[n] = {}), (a[n][i.id] = o))
-                : 'Properties70' !== n && (a[n] = 'PoseNode' === n ? [o] : o),
-                'number' === typeof i.id && (o.id = i.id),
-                '' !== i.name && (o.attrName = i.name),
-                '' !== i.type && (o.attrType = i.type),
-                this.pushStack(o)
-            },
-            parseNodeAttr: function (e) {
-              var t = e[0]
-              '' !== e[0] && ((t = parseInt(e[0])), isNaN(t) && (t = e[0]))
-              var n = '',
-                r = ''
-              return (
-                e.length > 1 && ((n = e[1].replace(/^(\w+)::/, '')), (r = e[2])),
-                { id: t, name: n, type: r }
-              )
-            },
-            parseNodeProperty: function (e, t, n) {
-              var r = t[1].replace(/^"/, '').replace(/"$/, '').trim(),
-                o = t[2].replace(/^"/, '').replace(/"$/, '').trim()
-              'Content' === r && ',' === o && (o = n.replace(/"/g, '').replace(/,$/, '').trim())
-              var i = this.getCurrentNode()
-              if ('Properties70' !== i.name) {
-                if ('C' === r) {
-                  var a = o.split(',').slice(1),
-                    s = parseInt(a[0]),
-                    u = parseInt(a[1]),
-                    c = o.split(',').slice(3)
-                  ;(r = 'connections'),
-                    (function (e, t) {
-                      for (var n = 0, r = e.length, o = t.length; n < o; n++, r++) e[r] = t[n]
-                    })(
-                      (o = [s, u]),
-                      (c = c.map(function (e) {
-                        return e.trim().replace(/^"/, '')
-                      })),
-                    ),
-                    void 0 === i[r] && (i[r] = [])
-                }
-                'Node' === r && (i.id = o),
-                  r in i && Array.isArray(i[r]) ? i[r].push(o) : 'a' !== r ? (i[r] = o) : (i.a = o),
-                  this.setCurrentProp(i, r),
-                  'a' === r && ',' !== o.slice(-1) && (i.a = x(o))
-              } else this.parseNodeSpecialProperty(e, r, o)
-            },
-            parseNodePropertyContinued: function (e) {
-              var t = this.getCurrentNode()
-              ;(t.a += e), ',' !== e.slice(-1) && (t.a = x(t.a))
-            },
-            parseNodeSpecialProperty: function (e, t, n) {
-              var r = n.split('",').map(function (e) {
-                  return e.trim().replace(/^\"/, '').replace(/\s/, '_')
-                }),
-                o = r[0],
-                i = r[1],
-                a = r[2],
-                s = r[3],
-                u = r[4]
-              switch (i) {
-                case 'int':
-                case 'enum':
-                case 'bool':
-                case 'ULongLong':
-                case 'double':
-                case 'Number':
-                case 'FieldOfView':
-                  u = parseFloat(u)
-                  break
-                case 'Color':
-                case 'ColorRGB':
-                case 'Vector3D':
-                case 'Lcl_Translation':
-                case 'Lcl_Rotation':
-                case 'Lcl_Scaling':
-                  u = x(u)
-              }
-              ;(this.getPrevNode()[o] = { type: i, type2: a, flag: s, value: u }),
-                this.setCurrentProp(this.getPrevNode(), o)
-            },
-          }),
-          (u.prototype = {
-            constructor: u,
-            parse: function (e) {
-              var t = new c(e)
-              t.skip(23)
-              var n = t.getUint32()
-              console.log('THREE.FBXLoader: FBX binary version: ' + n)
-              for (var r = new l(); !this.endOfContent(t); ) {
-                var o = this.parseNode(t, n)
-                null !== o && r.add(o.name, o)
-              }
-              return r
-            },
-            endOfContent: function (e) {
-              return e.size() % 16 === 0
-                ? ((e.getOffset() + 160 + 16) & -16) >= e.size()
-                : e.getOffset() + 160 + 16 >= e.size()
-            },
-            parseNode: function (e, t) {
-              var n = {},
-                r = t >= 7500 ? e.getUint64() : e.getUint32(),
-                o = t >= 7500 ? e.getUint64() : e.getUint32(),
-                i = (t >= 7500 ? e.getUint64() : e.getUint32(), e.getUint8()),
-                a = e.getString(i)
-              if (0 === r) return null
-              for (var s = [], u = 0; u < o; u++) s.push(this.parseProperty(e))
-              var c = s.length > 0 ? s[0] : '',
-                l = s.length > 1 ? s[1] : '',
-                d = s.length > 2 ? s[2] : ''
-              for (n.singleProperty = 1 === o && e.getOffset() === r; r > e.getOffset(); ) {
-                var f = this.parseNode(e, t)
-                null !== f && this.parseSubNode(a, n, f)
-              }
-              return (
-                (n.propertyList = s),
-                'number' === typeof c && (n.id = c),
-                '' !== l && (n.attrName = l),
-                '' !== d && (n.attrType = d),
-                '' !== a && (n.name = a),
-                n
-              )
-            },
-            parseSubNode: function (e, t, n) {
-              if (!0 === n.singleProperty) {
-                var r = n.propertyList[0]
-                Array.isArray(r) ? ((t[n.name] = n), (n.a = r)) : (t[n.name] = r)
-              } else if ('Connections' === e && 'C' === n.name) {
-                var o = []
-                n.propertyList.forEach(function (e, t) {
-                  0 !== t && o.push(e)
-                }),
-                  void 0 === t.connections && (t.connections = []),
-                  t.connections.push(o)
-              } else if ('Properties70' === n.name) {
-                Object.keys(n).forEach(function (e) {
-                  t[e] = n[e]
-                })
-              } else if ('Properties70' === e && 'P' === n.name) {
-                var i,
-                  a = n.propertyList[0],
-                  s = n.propertyList[1],
-                  u = n.propertyList[2],
-                  c = n.propertyList[3]
-                0 === a.indexOf('Lcl ') && (a = a.replace('Lcl ', 'Lcl_')),
-                  0 === s.indexOf('Lcl ') && (s = s.replace('Lcl ', 'Lcl_')),
-                  (i =
-                    'Color' === s ||
-                    'ColorRGB' === s ||
-                    'Vector' === s ||
-                    'Vector3D' === s ||
-                    0 === s.indexOf('Lcl_')
-                      ? [n.propertyList[4], n.propertyList[5], n.propertyList[6]]
-                      : n.propertyList[4]),
-                  (t[a] = { type: s, type2: u, flag: c, value: i })
-              } else
-                void 0 === t[n.name]
-                  ? 'number' === typeof n.id
-                    ? ((t[n.name] = {}), (t[n.name][n.id] = n))
-                    : (t[n.name] = n)
-                  : 'PoseNode' === n.name
-                  ? (Array.isArray(t[n.name]) || (t[n.name] = [t[n.name]]), t[n.name].push(n))
-                  : void 0 === t[n.name][n.id] && (t[n.name][n.id] = n)
-            },
-            parseProperty: function (e) {
-              var t = e.getString(1)
-              switch (t) {
-                case 'C':
-                  return e.getBoolean()
-                case 'D':
-                  return e.getFloat64()
-                case 'F':
-                  return e.getFloat32()
-                case 'I':
-                  return e.getInt32()
-                case 'L':
-                  return e.getInt64()
-                case 'R':
-                  var n = e.getUint32()
-                  return e.getArrayBuffer(n)
-                case 'S':
-                  n = e.getUint32()
-                  return e.getString(n)
-                case 'Y':
-                  return e.getInt16()
-                case 'b':
-                case 'c':
-                case 'd':
-                case 'f':
-                case 'i':
-                case 'l':
-                  var r = e.getUint32(),
-                    o = e.getUint32(),
-                    i = e.getUint32()
-                  if (0 === o)
-                    switch (t) {
-                      case 'b':
-                      case 'c':
-                        return e.getBooleanArray(r)
-                      case 'd':
-                        return e.getFloat64Array(r)
-                      case 'f':
-                        return e.getFloat32Array(r)
-                      case 'i':
-                        return e.getInt32Array(r)
-                      case 'l':
-                        return e.getInt64Array(r)
-                    }
-                  'undefined' === typeof Zlib &&
-                    console.error(
-                      'THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js',
-                    )
-                  var a = new c(
-                    new Zlib.Inflate(new Uint8Array(e.getArrayBuffer(i))).decompress().buffer,
-                  )
-                  switch (t) {
-                    case 'b':
-                    case 'c':
-                      return a.getBooleanArray(r)
-                    case 'd':
-                      return a.getFloat64Array(r)
-                    case 'f':
-                      return a.getFloat32Array(r)
-                    case 'i':
-                      return a.getInt32Array(r)
-                    case 'l':
-                      return a.getInt64Array(r)
-                  }
-                default:
-                  throw new Error('THREE.FBXLoader: Unknown property type ' + t)
-              }
-            },
-          }),
-          (c.prototype = {
-            constructor: c,
-            getOffset: function () {
-              return this.offset
-            },
-            size: function () {
-              return this.dv.buffer.byteLength
-            },
-            skip: function (e) {
-              this.offset += e
-            },
-            getBoolean: function () {
-              return 1 === (1 & this.getUint8())
-            },
-            getBooleanArray: function (e) {
-              for (var t = [], n = 0; n < e; n++) t.push(this.getBoolean())
-              return t
-            },
-            getUint8: function () {
-              var e = this.dv.getUint8(this.offset)
-              return (this.offset += 1), e
-            },
-            getInt16: function () {
-              var e = this.dv.getInt16(this.offset, this.littleEndian)
-              return (this.offset += 2), e
-            },
-            getInt32: function () {
-              var e = this.dv.getInt32(this.offset, this.littleEndian)
-              return (this.offset += 4), e
-            },
-            getInt32Array: function (e) {
-              for (var t = [], n = 0; n < e; n++) t.push(this.getInt32())
-              return t
-            },
-            getUint32: function () {
-              var e = this.dv.getUint32(this.offset, this.littleEndian)
-              return (this.offset += 4), e
-            },
-            getInt64: function () {
-              var e, t
-              return (
-                this.littleEndian
-                  ? ((e = this.getUint32()), (t = this.getUint32()))
-                  : ((t = this.getUint32()), (e = this.getUint32())),
-                2147483648 & t
-                  ? ((t = 4294967295 & ~t),
-                    4294967295 === (e = 4294967295 & ~e) && (t = (t + 1) & 4294967295),
-                    -(4294967296 * t + (e = (e + 1) & 4294967295)))
-                  : 4294967296 * t + e
-              )
-            },
-            getInt64Array: function (e) {
-              for (var t = [], n = 0; n < e; n++) t.push(this.getInt64())
-              return t
-            },
-            getUint64: function () {
-              var e, t
-              return (
-                this.littleEndian
-                  ? ((e = this.getUint32()), (t = this.getUint32()))
-                  : ((t = this.getUint32()), (e = this.getUint32())),
-                4294967296 * t + e
-              )
-            },
-            getFloat32: function () {
-              var e = this.dv.getFloat32(this.offset, this.littleEndian)
-              return (this.offset += 4), e
-            },
-            getFloat32Array: function (e) {
-              for (var t = [], n = 0; n < e; n++) t.push(this.getFloat32())
-              return t
-            },
-            getFloat64: function () {
-              var e = this.dv.getFloat64(this.offset, this.littleEndian)
-              return (this.offset += 8), e
-            },
-            getFloat64Array: function (e) {
-              for (var t = [], n = 0; n < e; n++) t.push(this.getFloat64())
-              return t
-            },
-            getArrayBuffer: function (e) {
-              var t = this.dv.buffer.slice(this.offset, this.offset + e)
-              return (this.offset += e), t
-            },
-            getString: function (e) {
-              for (var t = [], n = 0; n < e; n++) t[n] = this.getUint8()
-              var r = t.indexOf(0)
-              return r >= 0 && (t = t.slice(0, r)), THREE.LoaderUtils.decodeText(new Uint8Array(t))
-            },
-          }),
-          (l.prototype = {
-            constructor: l,
-            add: function (e, t) {
-              this[e] = t
-            },
-          })
-        var h = []
-        function p(e, t, n, r) {
-          var o
-          switch (r.mappingType) {
-            case 'ByPolygonVertex':
-              o = e
-              break
-            case 'ByPolygon':
-              o = t
-              break
-            case 'ByVertice':
-              o = n
-              break
-            case 'AllSame':
-              o = r.indices[0]
-              break
-            default:
-              console.warn('THREE.FBXLoader: unknown attribute mapping type ' + r.mappingType)
-          }
-          'IndexToDirect' === r.referenceType && (o = r.indices[o])
-          var i = o * r.dataSize,
-            a = i + r.dataSize
-          return (function (e, t, n, r) {
-            for (var o = n, i = 0; o < r; o++, i++) e[i] = t[o]
-            return e
-          })(h, r.buffer, i, a)
-        }
-        var v = new THREE.Matrix4(),
-          m = new THREE.Euler(),
-          g = new THREE.Vector3(),
-          y = new THREE.Vector3(),
-          b = new THREE.Matrix4()
-        function w(e) {
-          var t = new THREE.Matrix4()
-          y.set(0, 0, 0), b.identity()
-          var n,
-            r = e.eulerOrder ? _(e.eulerOrder) : _(0)
-          ;(e.translation && y.fromArray(e.translation),
-          e.rotationOffset && y.add(g.fromArray(e.rotationOffset)),
-          e.rotation) &&
-            ((n = e.rotation.map(THREE.Math.degToRad)).push(r),
-            b.makeRotationFromEuler(m.fromArray(n)))
-          e.preRotation &&
-            ((n = e.preRotation.map(THREE.Math.degToRad)).push(r),
-            v.makeRotationFromEuler(m.fromArray(n)),
-            b.premultiply(v))
-          e.postRotation &&
-            ((n = e.postRotation.map(THREE.Math.degToRad)).push(r),
-            v.makeRotationFromEuler(m.fromArray(n)),
-            v.getInverse(v),
-            b.multiply(v))
-          return e.scale && t.scale(g.fromArray(e.scale)), t.setPosition(y), t.multiply(b), t
-        }
-        function _(e) {
-          var t = ['ZYX', 'YZX', 'XZY', 'ZXY', 'YXZ', 'XYZ']
-          return 6 === e
-            ? (console.warn(
-                'THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect.',
-              ),
-              t[0])
-            : t[e]
-        }
-        function x(e) {
-          return e.split(',').map(function (e) {
-            return parseFloat(e)
-          })
-        }
-        function k(e, t, n) {
-          return (
-            void 0 === t && (t = 0),
-            void 0 === n && (n = e.byteLength),
-            THREE.LoaderUtils.decodeText(new Uint8Array(e, t, n))
-          )
-        }
-        function E(e, t, n) {
-          return e.slice(0, t).concat(n).concat(e.slice(t))
-        }
-        return r
-      })()
-    },
-    16453: function (e) {
-      e.exports = Object.assign(function () {}, {
-        FACE_1: 0,
-        FACE_2: 1,
-        FACE_3: 2,
-        FACE_4: 3,
-        L_SHOULDER_1: 4,
-        R_SHOULDER_1: 5,
-        L_SHOULDER_2: 6,
-        R_SHOULDER_2: 7,
-        SELECT: 8,
-        START: 9,
-        DPAD_UP: 12,
-        DPAD_DOWN: 13,
-        DPAD_LEFT: 14,
-        DPAD_RIGHT: 15,
-        VENDOR: 16,
-      })
-    },
-    44379: function (e) {
-      e.exports = function (e, t, n) {
-        ;(this.type = e), (this.index = t), (this.pressed = n.pressed), (this.value = n.value)
-      }
-    },
-    82667: function (e) {
-      e.exports = {
-        size: 5,
-        cellSize: 10,
-        extrudeSettings: {
-          amount: 1,
-          bevelEnabled: !0,
-          bevelSegments: 1,
-          steps: 1,
-          bevelSize: 0.5,
-          bevelThickness: 0.5,
-        },
-        autogenerated: !0,
-        cells: [
-          { q: -1, r: 0, s: 1, h: 1, walkable: !0, userData: {} },
-          { q: 0, r: -1, s: 1, h: 1, walkable: !0, userData: {} },
-          { q: 0, r: 0, s: 0, h: 1, walkable: !0, userData: {} },
-          { q: 1, r: -1, s: 0, h: 1, walkable: !0, userData: {} },
-          { q: -1, r: 1, s: 0, h: 0, walkable: !0, userData: {} },
-          { q: 0, r: 1, s: -1, h: 0, walkable: !0, userData: {} },
-          { q: 1, r: 0, s: -1, h: 0, walkable: !0, userData: {} },
-        ],
-      }
-    },
-    34657: function (e) {
-      function t(e) {
-        const t = document.getElementById(e),
-          n = t.parentNode
-        try {
-          n && n.removeChild(t)
-        } catch (r) {}
-      }
-      function n(e, n, r) {
-        return new r(function (r, o) {
-          const i = n.timeout || 5e3,
-            a = 'script_' + Date.now() + '_' + Math.ceil(1e5 * Math.random()),
-            s = (function (e, t) {
-              var n = document.createElement('script')
-              return (n.type = 'text/javascript'), (n.async = !0), (n.id = t), (n.src = e), n
-            })(e, a),
-            u = setTimeout(function () {
-              o(new Error('Script request to ' + e + ' timed out')), t(a)
-            }, i),
-            c = function (e) {
-              clearTimeout(e)
-            }
-          s.addEventListener('load', function (e) {
-            r({ ok: !0 }), c(u), t(a)
-          }),
-            s.addEventListener('error', function (n) {
-              o(new Error('Script request to ' + e + ' failed ' + n)), c(u), t(a)
-            }),
-            (function (e) {
-              const t = document.getElementsByTagName('script')[0]
-              t.parentNode.insertBefore(e, t)
-            })(s)
-        })
-      }
-      e.exports = function (e) {
-        return (
-          (e = e || {}),
-          function (t, r) {
-            return n(t, (r = r || {}), e.Promise || Promise)
-          }
-        )
-      }
-    },
-    63471: function (e) {
-      var n = (e.exports = {
-        VERSION: '0.1.1',
-        PI: Math.PI,
-        TAU: 2 * Math.PI,
-        DEG_TO_RAD: 0.0174532925,
-        RAD_TO_DEG: 57.2957795,
-        SQRT3: Math.sqrt(3),
-        TILE: 'tile',
-        ENT: 'entity',
-        STR: 'structure',
-        HEX: 'hex',
-        SQR: 'square',
-        ABS: 'abstract',
-      })
-      ;(n.Board = function (e, t) {
-        if (!e) throw new Error('You must pass in a grid system for the board to use.')
-        ;(this.tiles = []),
-          (this.tileGroup = null),
-          (this.group = new THREE.Object3D()),
-          (this.grid = null),
-          (this.overlay = null),
-          (this.finder = new n.AStarFinder(t)),
-          n.Loader.init(),
-          this.setGrid(e)
-      }),
-        (n.Board.prototype = {
-          setEntityOnTile: function (e, t) {
-            var n = this.grid.cellToPixel(t.cell)
-            e.position.copy(n),
-              (e.position.y += e.heightOffset || 0),
-              e.tile && (e.tile.entity = null),
-              (e.tile = t),
-              (t.entity = e)
-          },
-          addTile: function (e) {
-            ;-1 === this.tiles.indexOf(e) &&
-              (this.tiles.push(e),
-              this.snapTileToGrid(e),
-              (e.position.y = 0),
-              this.tileGroup.add(e.mesh),
-              this.grid.add(e.cell),
-              (e.cell.tile = e))
-          },
-          removeTile: function (e) {
-            if (e) {
-              var t = this.tiles.indexOf(e)
-              this.grid.remove(e.cell), -1 !== t && this.tiles.splice(t, 1), e.dispose()
-            }
-          },
-          removeAllTiles: function () {
-            if (this.tileGroup)
-              for (var e = this.tileGroup.children, t = 0; t < e.length; t++)
-                this.tileGroup.remove(e[t])
-          },
-          getTileAtCell: function (e) {
-            var t = this.grid.cellToHash(e)
-            return (
-              e.tile || ('undefined' != typeof this.grid.cells[t] ? this.grid.cells[t].tile : null)
-            )
-          },
-          snapToGrid: function (e) {
-            var t = this.grid.pixelToCell(e)
-            e.copy(this.grid.cellToPixel(t))
-          },
-          snapTileToGrid: function (e) {
-            if (e.cell) e.position.copy(this.grid.cellToPixel(e.cell))
-            else {
-              var t = this.grid.pixelToCell(e.position)
-              e.position.copy(this.grid.cellToPixel(t))
-            }
-            return e
-          },
-          getRandomTile: function () {
-            var e = n.Tools.randomInt(0, this.tiles.length - 1)
-            return this.tiles[e]
-          },
-          findPath: function (e, t, n) {
-            return this.finder.findPath(e.cell, t.cell, n, this.grid)
-          },
-          setGrid: function (e) {
-            this.group.remove(this.tileGroup),
-              this.grid &&
-                e !== this.grid &&
-                (this.removeAllTiles(),
-                this.tiles.forEach(function (e) {
-                  this.grid.remove(e.cell), e.dispose()
-                }),
-                this.grid.dispose()),
-              (this.grid = e),
-              (this.tiles = []),
-              (this.tileGroup = new THREE.Object3D()),
-              this.group.add(this.tileGroup)
-          },
-          generateOverlay: function (e) {
-            var t = new THREE.LineBasicMaterial({ color: 0, opacity: 0.3 })
-            this.overlay && this.group.remove(this.overlay),
-              (this.overlay = new THREE.Object3D()),
-              this.grid.generateOverlay(e, this.overlay, t),
-              this.group.add(this.overlay)
-          },
-          generateTilemap: function (e) {
-            this.reset()
-            var t = this.grid.generateTiles(e)
-            ;(this.tiles = t), (this.tileGroup = new THREE.Object3D())
-            for (var n = 0; n < t.length; n++) this.tileGroup.add(t[n].mesh)
-            this.group.add(this.tileGroup)
-          },
-          reset: function () {
-            this.removeAllTiles(), this.tileGroup && this.group.remove(this.tileGroup)
-          },
-        }),
-        (n.Board.prototype.constructor = n.Board),
-        (n.Cell = function (e, t, r, o) {
-          ;(this.q = e || 0),
-            (this.r = t || 0),
-            (this.s = r || 0),
-            (this.h = o || 1),
-            (this.tile = null),
-            (this.userData = {}),
-            (this.walkable = !0),
-            (this._calcCost = 0),
-            (this._priority = 0),
-            (this._visited = !1),
-            (this._parent = null),
-            (this.uniqueID = n.LinkedList.generateID())
-        }),
-        (n.Cell.prototype = {
-          set: function (e, t, n) {
-            return (this.q = e), (this.r = t), (this.s = n), this
-          },
-          copy: function (e) {
-            return (
-              (this.q = e.q),
-              (this.r = e.r),
-              (this.s = e.s),
-              (this.h = e.h),
-              (this.tile = e.tile || null),
-              (this.userData = e.userData || {}),
-              (this.walkable = e.walkable),
-              this
-            )
-          },
-          add: function (e) {
-            return (this.q += e.q), (this.r += e.r), (this.s += e.s), this
-          },
-          equals: function (e) {
-            return this.q === e.q && this.r === e.r && this.s === e.s
-          },
-        }),
-        (n.Cell.prototype.constructor = n.Cell),
-        (n.HexGrid = function (e) {
-          ;(e = e || {}),
-            (this.type = n.HEX),
-            (this.size = 5),
-            (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize),
-            (this.cells = {}),
-            (this.numCells = 0),
-            (this.extrudeSettings = null),
-            (this.autogenerated = !1)
-          var t,
-            r = []
-          for (t = 0; 6 > t; t++) r.push(this._createVertex(t))
-          for (
-            this.cellShape = new THREE.Shape(), this.cellShape.moveTo(r[0].x, r[0].y), t = 1;
-            6 > t;
-            t++
-          )
-            this.cellShape.lineTo(r[t].x, r[t].y)
-          this.cellShape.lineTo(r[0].x, r[0].y),
-            (this.cellShape.autoClose = !0),
-            (this.cellGeo = new THREE.Geometry()),
-            (this.cellGeo.vertices = r),
-            (this.cellGeo.verticesNeedUpdate = !0),
-            (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)),
-            (this._cellWidth = 2 * this.cellSize),
-            (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth),
-            (this._hashDelimeter = '.'),
-            (this._directions = [
-              new n.Cell(1, -1, 0),
-              new n.Cell(1, 0, -1),
-              new n.Cell(0, 1, -1),
-              new n.Cell(-1, 1, 0),
-              new n.Cell(-1, 0, 1),
-              new n.Cell(0, -1, 1),
-            ]),
-            (this._diagonals = [
-              new n.Cell(2, -1, -1),
-              new n.Cell(1, 1, -2),
-              new n.Cell(-1, 2, -1),
-              new n.Cell(-2, 1, 1),
-              new n.Cell(-1, -1, 2),
-              new n.Cell(1, -2, 1),
-            ]),
-            (this._list = []),
-            (this._vec3 = new THREE.Vector3()),
-            (this._cel = new n.Cell()),
-            (this._conversionVec = new THREE.Vector3()),
-            (this._geoCache = []),
-            (this._matCache = [])
-        }),
-        (n.HexGrid.TWO_THIRDS = 2 / 3),
-        (n.HexGrid.prototype = {
-          cellToPixel: function (e) {
-            return (
-              (this._vec3.x = e.q * this._cellWidth * 0.75),
-              (this._vec3.y = e.h),
-              (this._vec3.z = -(e.s - e.r) * this._cellLength * 0.5),
-              this._vec3
-            )
-          },
-          pixelToCell: function (e) {
-            var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize),
-              r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize
-            return this._cel.set(t, r, -t - r), this._cubeRound(this._cel)
-          },
-          getCellAt: function (e) {
-            var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize),
-              r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize
-            return (
-              this._cel.set(t, r, -t - r),
-              this._cubeRound(this._cel),
-              this.cells[this.cellToHash(this._cel)]
-            )
-          },
-          getNeighbors: function (e, t, n) {
-            var r,
-              o,
-              i = this._directions.length
-            for (this._list.length = 0, r = 0; i > r; r++)
-              this._cel.copy(e),
-                this._cel.add(this._directions[r]),
-                !(o = this.cells[this.cellToHash(this._cel)]) ||
-                  (n && !n(e, o)) ||
-                  this._list.push(o)
-            if (t)
-              for (r = 0; i > r; r++)
-                this._cel.copy(e),
-                  this._cel.add(this._diagonals[r]),
-                  !(o = this.cells[this.cellToHash(this._cel)]) ||
-                    (n && !n(e, o)) ||
-                    this._list.push(o)
-            return this._list
-          },
-          getRandomCell: function () {
-            var e,
-              t = 0,
-              r = n.Tools.randomInt(0, this.numCells)
-            for (e in this.cells) {
-              if (t === r) return this.cells[e]
-              t++
-            }
-            return this.cells[e]
-          },
-          cellToHash: function (e) {
-            return e.q + this._hashDelimeter + e.r + this._hashDelimeter + e.s
-          },
-          distance: function (e, t) {
-            return (
-              Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r), Math.abs(e.s - t.s)) + (t.h - e.h)
-            )
-          },
-          clearPath: function () {
-            var e, t
-            for (e in this.cells)
-              ((t = this.cells[e])._calcCost = 0),
-                (t._priority = 0),
-                (t._parent = null),
-                (t._visited = !1)
-          },
-          traverse: function (e) {
-            var t
-            for (t in this.cells) e(this.cells[t])
-          },
-          generateTile: function (e, t, r) {
-            var o = Math.abs(e.h)
-            1 > o && (o = 1)
-            var i = this._geoCache[o]
-            i ||
-              ((this.extrudeSettings.amount = o),
-              (i = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)),
-              (this._geoCache[o] = i))
-            var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: i, material: r })
-            return (e.tile = a), a
-          },
-          generateTiles: function (e) {
-            e = e || {}
-            var t,
-              r,
-              o,
-              i = [],
-              a = {
-                tileScale: 0.95,
-                cellSize: this.cellSize,
-                material: null,
-                extrudeSettings: {
-                  amount: 1,
-                  bevelEnabled: !0,
-                  bevelSegments: 1,
-                  steps: 1,
-                  bevelSize: 0.5,
-                  bevelThickness: 0.5,
-                },
-              }
-            for (t in ((a = n.Tools.merge(a, e)),
-            (this.cellSize = a.cellSize),
-            (this._cellWidth = 2 * this.cellSize),
-            (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth),
-            (this.autogenerated = !0),
-            (this.extrudeSettings = a.extrudeSettings),
-            this.cells))
-              (o = this.cells[t]),
-                (r = this.generateTile(o, a.tileScale, a.material)).position.copy(
-                  this.cellToPixel(o),
-                ),
-                (r.position.y = 0),
-                i.push(r)
-            return i
-          },
-          generateTilePoly: function (e) {
-            e || (e = new THREE.MeshBasicMaterial({ color: 2405631 }))
-            var t = new THREE.Mesh(this.cellShapeGeo, e)
-            return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t
-          },
-          generate: function (e) {
-            var t, r, o, i
-            for (
-              e = e || {},
-                this.size = 'undefined' == typeof e.size ? this.size : e.size,
-                t = -this.size;
-              t < this.size + 1;
-              t++
-            )
-              for (r = -this.size; r < this.size + 1; r++)
-                (o = -t - r),
-                  Math.abs(t) <= this.size &&
-                    Math.abs(r) <= this.size &&
-                    Math.abs(o) <= this.size &&
-                    ((i = new n.Cell(t, r, o)), this.add(i))
-          },
-          generateOverlay: function (e, t, r) {
-            var o,
-              i,
-              a,
-              s = this.cellShape.createPointsGeometry()
-            for (o = -e; e + 1 > o; o++)
-              for (i = -e; e + 1 > i; i++)
-                if (((a = -o - i), Math.abs(o) <= e && Math.abs(i) <= e && Math.abs(a) <= e)) {
-                  this._cel.set(o, i, a)
-                  var u = new THREE.Line(s, r)
-                  u.position.copy(this.cellToPixel(this._cel)),
-                    (u.rotation.x = 90 * n.DEG_TO_RAD),
-                    t.add(u)
-                }
-          },
-          add: function (e) {
-            var t = this.cellToHash(e)
-            if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e
-          },
-          remove: function (e) {
-            var t = this.cellToHash(e)
-            this.cells[t] && (delete this.cells[t], this.numCells--)
-          },
-          dispose: function () {
-            ;(this.cells = null),
-              (this.numCells = 0),
-              (this.cellShape = null),
-              this.cellGeo.dispose(),
-              (this.cellGeo = null),
-              this.cellShapeGeo.dispose(),
-              (this.cellShapeGeo = null),
-              (this._list = null),
-              (this._vec3 = null),
-              (this._conversionVec = null),
-              (this._geoCache = null),
-              (this._matCache = null)
-          },
-          load: function (e, t, r) {
-            var o = this
-            n.Tools.getJSON({
-              url: e,
-              callback: function (e) {
-                o.fromJSON(e), t.call(r || null, e)
-              },
-              cache: !1,
-              scope: o,
-            })
-          },
-          fromJSON: function (e) {
-            var t,
-              r,
-              o = e.cells
-            for (
-              this.cells = {},
-                this.numCells = 0,
-                this.size = e.size,
-                this.cellSize = e.cellSize,
-                this._cellWidth = 2 * this.cellSize,
-                this._cellLength = 0.5 * n.SQRT3 * this._cellWidth,
-                this.extrudeSettings = e.extrudeSettings,
-                this.autogenerated = e.autogenerated,
-                t = 0;
-              t < o.length;
-              t++
-            )
-              (r = new n.Cell()).copy(o[t]), this.add(r)
-          },
-          toJSON: function () {
-            var e,
-              t,
-              n = {
-                size: this.size,
-                cellSize: this.cellSize,
-                extrudeSettings: this.extrudeSettings,
-                autogenerated: this.autogenerated,
-              },
-              r = []
-            for (t in this.cells)
-              (e = this.cells[t]),
-                r.push({
-                  q: e.q,
-                  r: e.r,
-                  s: e.s,
-                  h: e.h,
-                  walkable: e.walkable,
-                  userData: e.userData,
-                })
-            return (n.cells = r), n
-          },
-          _createVertex: function (e) {
-            var t = (n.TAU / 6) * e
-            return new THREE.Vector3(this.cellSize * Math.cos(t), this.cellSize * Math.sin(t), 0)
-          },
-          _cubeRound: function (e) {
-            var t = Math.round(e.q),
-              n = Math.round(e.r),
-              r = Math.round(e.s),
-              o = Math.abs(t - e.q),
-              i = Math.abs(n - e.r),
-              a = Math.abs(r - e.s)
-            return (
-              o > i && o > a ? (t = -n - r) : i > a ? (n = -t - r) : (r = -t - n),
-              this._cel.set(t, n, r)
-            )
-          },
-        }),
-        (n.HexGrid.prototype.constructor = n.HexGrid),
-        (n.SqrGrid = function (e) {
-          ;(e = e || {}),
-            (this.type = n.SQR),
-            (this.size = 5),
-            (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize),
-            (this.cells = {}),
-            (this.numCells = 0),
-            (this.extrudeSettings = null),
-            (this.autogenerated = !1)
-          var t = []
-          t.push(new THREE.Vector3()),
-            t.push(new THREE.Vector3(-this.cellSize, this.cellSize)),
-            t.push(new THREE.Vector3(this.cellSize, this.cellSize)),
-            t.push(new THREE.Vector3(this.cellSize, -this.cellSize)),
-            (this.cellShape = new THREE.Shape()),
-            this.cellShape.moveTo(-this.cellSize, -this.cellSize),
-            this.cellShape.lineTo(-this.cellSize, this.cellSize),
-            this.cellShape.lineTo(this.cellSize, this.cellSize),
-            this.cellShape.lineTo(this.cellSize, -this.cellSize),
-            this.cellShape.lineTo(-this.cellSize, -this.cellSize),
-            (this.cellGeo = new THREE.Geometry()),
-            (this.cellGeo.vertices = t),
-            (this.cellGeo.verticesNeedUpdate = !0),
-            (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)),
-            (this._fullCellSize = 2 * this.cellSize),
-            (this._hashDelimeter = '.'),
-            (this._directions = [
-              new n.Cell(1, 0, 0),
-              new n.Cell(0, -1, 0),
-              new n.Cell(-1, 0, 0),
-              new n.Cell(0, 1, 0),
-            ]),
-            (this._diagonals = [
-              new n.Cell(-1, -1, 0),
-              new n.Cell(-1, 1, 0),
-              new n.Cell(1, 1, 0),
-              new n.Cell(1, -1, 0),
-            ]),
-            (this._list = []),
-            (this._vec3 = new THREE.Vector3()),
-            (this._cel = new n.Cell()),
-            (this._conversionVec = new THREE.Vector3()),
-            (this._geoCache = []),
-            (this._matCache = [])
-        }),
-        (n.SqrGrid.prototype = {
-          cellToPixel: function (e) {
-            return (
-              (this._vec3.x = e.q * this._fullCellSize),
-              (this._vec3.y = e.h),
-              (this._vec3.z = e.r * this._fullCellSize),
-              this._vec3
-            )
-          },
-          pixelToCell: function (e) {
-            var t = Math.round(e.x / this._fullCellSize),
-              n = Math.round(e.z / this._fullCellSize)
-            return this._cel.set(t, n, 0)
-          },
-          getCellAt: function (e) {
-            var t = Math.round(e.x / this._fullCellSize),
-              n = Math.round(e.z / this._fullCellSize)
-            return this._cel.set(t, n), this.cells[this.cellToHash(this._cel)]
-          },
-          getNeighbors: function (e, t, n) {
-            var r,
-              o,
-              i = this._directions.length
-            for (this._list.length = 0, r = 0; i > r; r++)
-              this._cel.copy(e),
-                this._cel.add(this._directions[r]),
-                !(o = this.cells[this.cellToHash(this._cel)]) ||
-                  (n && !n(e, o)) ||
-                  this._list.push(o)
-            if (t)
-              for (r = 0; i > r; r++)
-                this._cel.copy(e),
-                  this._cel.add(this._diagonals[r]),
-                  !(o = this.cells[this.cellToHash(this._cel)]) ||
-                    (n && !n(e, o)) ||
-                    this._list.push(o)
-            return this._list
-          },
-          getRandomCell: function () {
-            var e,
-              t = 0,
-              r = n.Tools.randomInt(0, this.numCells)
-            for (e in this.cells) {
-              if (t === r) return this.cells[e]
-              t++
-            }
-            return this.cells[e]
-          },
-          cellToHash: function (e) {
-            return e.q + this._hashDelimeter + e.r
-          },
-          distance: function (e, t) {
-            return Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r)) + (t.h - e.h)
-          },
-          clearPath: function () {
-            var e, t
-            for (e in this.cells)
-              ((t = this.cells[e])._calcCost = 0),
-                (t._priority = 0),
-                (t._parent = null),
-                (t._visited = !1)
-          },
-          traverse: function (e) {
-            var t
-            for (t in this.cells) e(this.cells[t])
-          },
-          generateTile: function (e, t, r) {
-            var o = Math.abs(e.h)
-            1 > o && (o = 1)
-            var i = this._geoCache[o]
-            i ||
-              ((this.extrudeSettings.amount = o),
-              (i = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)),
-              (this._geoCache[o] = i))
-            var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: i, material: r })
-            return (e.tile = a), a
-          },
-          generateTiles: function (e) {
-            e = e || {}
-            var t,
-              r,
-              o,
-              i = [],
-              a = {
-                tileScale: 0.95,
-                cellSize: this.cellSize,
-                material: null,
-                extrudeSettings: {
-                  amount: 1,
-                  bevelEnabled: !0,
-                  bevelSegments: 1,
-                  steps: 1,
-                  bevelSize: 0.5,
-                  bevelThickness: 0.5,
-                },
-              }
-            for (t in ((a = n.Tools.merge(a, e)),
-            (this.cellSize = a.cellSize),
-            (this._fullCellSize = 2 * this.cellSize),
-            (this.autogenerated = !0),
-            (this.extrudeSettings = a.extrudeSettings),
-            this.cells))
-              (o = this.cells[t]),
-                (r = this.generateTile(o, a.tileScale, a.material)).position.copy(
-                  this.cellToPixel(o),
-                ),
-                (r.position.y = 0),
-                i.push(r)
-            return i
-          },
-          generateTilePoly: function (e) {
-            e || (e = new THREE.MeshBasicMaterial({ color: 2405631 }))
-            var t = new THREE.Mesh(this.cellShapeGeo, e)
-            return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t
-          },
-          generate: function (e) {
-            ;(e = e || {}), (this.size = 'undefined' == typeof e.size ? this.size : e.size)
-            var t,
-              r,
-              o,
-              i = Math.ceil(this.size / 2)
-            for (t = -i; i > t; t++)
-              for (r = -i; i > r; r++) (o = new n.Cell(t, r + 1)), this.add(o)
-          },
-          generateOverlay: function (e, t, r) {
-            var o,
-              i,
-              a = Math.ceil(e / 2)
-            for (o = -a; a > o; o++)
-              for (i = -a; a > i; i++) {
-                this._cel.set(o, i)
-                var s = new THREE.Line(this.cellGeo, r)
-                s.position.copy(this.cellToPixel(this._cel)),
-                  (s.rotation.x = 90 * n.DEG_TO_RAD),
-                  t.add(s)
-              }
-          },
-          add: function (e) {
-            var t = this.cellToHash(e)
-            if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e
-          },
-          remove: function (e) {
-            var t = this.cellToHash(e)
-            this.cells[t] && (delete this.cells[t], this.numCells--)
-          },
-          dispose: function () {
-            ;(this.cells = null),
-              (this.numCells = 0),
-              (this.cellShape = null),
-              this.cellGeo.dispose(),
-              (this.cellGeo = null),
-              this.cellShapeGeo.dispose(),
-              (this.cellShapeGeo = null),
-              (this._list = null),
-              (this._vec3 = null),
-              (this._conversionVec = null),
-              (this._geoCache = null),
-              (this._matCache = null)
-          },
-          load: function (e, t, r) {
-            n.Tools.getJSON({
-              url: e,
-              callback: function (e) {
-                this.fromJSON(e), t.call(r || null, e)
-              },
-              cache: !1,
-              scope: this,
-            })
-          },
-          fromJSON: function (e) {
-            var t,
-              r,
-              o = e.cells
-            for (
-              this.cells = {},
-                this.numCells = 0,
-                this.size = e.size,
-                this.cellSize = e.cellSize,
-                this._fullCellSize = 2 * this.cellSize,
-                this.extrudeSettings = e.extrudeSettings,
-                this.autogenerated = e.autogenerated,
-                t = 0;
-              t < o.length;
-              t++
-            )
-              (r = new n.Cell()).copy(o[t]), this.add(r)
-          },
-          toJSON: function () {
-            var e,
-              t,
-              n = {
-                size: this.size,
-                cellSize: this.cellSize,
-                extrudeSettings: this.extrudeSettings,
-                autogenerated: this.autogenerated,
-              },
-              r = []
-            for (t in this.cells)
-              (e = this.cells[t]),
-                r.push({
-                  q: e.q,
-                  r: e.r,
-                  s: e.s,
-                  h: e.h,
-                  walkable: e.walkable,
-                  userData: e.userData,
-                })
-            return (n.cells = r), n
-          },
-        }),
-        (n.SqrGrid.prototype.constructor = n.SqrGrid),
-        (n.Tile = function (e) {
-          e = e || {}
-          var t = { cell: null, geometry: null, material: null }
-          if (!(t = n.Tools.merge(t, e)).cell || !t.geometry)
-            throw new Error('Missing vg.Tile configuration')
-          ;(this.cell = t.cell),
-            this.cell.tile && this.cell.tile !== this && this.cell.tile.dispose(),
-            (this.cell.tile = this),
-            (this.uniqueID = n.Tools.generateID()),
-            (this.geometry = t.geometry),
-            (this.material = t.material),
-            this.material ||
-              (this.material = new THREE.MeshPhongMaterial({
-                color: n.Tools.randomizeRGB('30, 30, 30', 13),
-              })),
-            (this.objectType = n.TILE),
-            (this.entity = null),
-            (this.userData = {}),
-            (this.selected = !1),
-            (this.highlight = '0x0084cc'),
-            (this.mesh = new THREE.Mesh(this.geometry, this.material)),
-            (this.mesh.userData.structure = this),
-            (this.position = this.mesh.position),
-            (this.rotation = this.mesh.rotation),
-            (this.rotation.x = -90 * n.DEG_TO_RAD),
-            this.mesh.scale.set(t.scale, t.scale, 1),
-            this.material.emissive
-              ? (this._emissive = this.material.emissive.getHex())
-              : (this._emissive = null)
-        }),
-        (n.Tile.prototype = {
-          select: function () {
-            return (
-              this.material.emissive && this.material.emissive.setHex(this.highlight),
-              (this.selected = !0),
-              this
-            )
-          },
-          deselect: function () {
-            return (
-              null !== this._emissive &&
-                this.material.emissive &&
-                this.material.emissive.setHex(this._emissive),
-              (this.selected = !1),
-              this
-            )
-          },
-          toggle: function () {
-            return this.selected ? this.deselect() : this.select(), this
-          },
-          dispose: function () {
-            this.cell && this.cell.tile && (this.cell.tile = null),
-              (this.cell = null),
-              (this.position = null),
-              (this.rotation = null),
-              this.mesh.parent && this.mesh.parent.remove(this.mesh),
-              (this.mesh.userData.structure = null),
-              (this.mesh = null),
-              (this.material = null),
-              (this.userData = null),
-              (this.entity = null),
-              (this.geometry = null),
-              (this._emissive = null)
-          },
-        }),
-        (n.Tile.prototype.constructor = n.Tile),
-        (function () {
-          var e = function () {
-              ;(this.obj = null), (this.next = null), (this.prev = null), (this.free = !0)
-            },
-            t = function () {
-              ;(this.first = null),
-                (this.last = null),
-                (this.length = 0),
-                (this.objToNodeMap = {}),
-                (this.uniqueID = Date.now() + '' + Math.floor(1e3 * Math.random())),
-                (this.sortArray = [])
-            }
-          ;(t.generateID = function () {
-            return Math.random().toString(36).slice(2) + Date.now()
-          }),
-            ((t.prototype = {
-              getNode: function (e) {
-                return this.objToNodeMap[e.uniqueID]
-              },
-              addNode: function (n) {
-                var r = new e()
-                if (!n.uniqueID)
-                  try {
-                    n.uniqueID = t.generateID()
-                  } catch (o) {
-                    return (
-                      console.error(
-                        '[LinkedList.addNode] obj passed is immutable: cannot attach necessary identifier',
-                      ),
-                      null
-                    )
-                  }
-                return (r.obj = n), (r.free = !1), (this.objToNodeMap[n.uniqueID] = r), r
-              },
-              swapObjects: function (e, t) {
-                ;(this.objToNodeMap[e.obj.uniqueID] = null),
-                  (this.objToNodeMap[t.uniqueID] = e),
-                  (e.obj = t)
-              },
-              add: function (e) {
-                var t = this.objToNodeMap[e.uniqueID]
-                if (t) {
-                  if (!1 === t.free) return
-                  ;(t.obj = e), (t.free = !1), (t.next = null), (t.prev = null)
-                } else t = this.addNode(e)
-                if (this.first) {
-                  if (!this.last)
-                    throw new Error(
-                      "[LinkedList.add] No last in the list -- that shouldn't happen here",
-                    )
-                  ;(this.last.next = t), (t.prev = this.last), (this.last = t), (t.next = null)
-                } else (this.first = t), (this.last = t), (t.next = null), (t.prev = null)
-                this.length++, this.showDebug && this.dump('after add')
-              },
-              has: function (e) {
-                return !!this.objToNodeMap[e.uniqueID]
-              },
-              moveUp: function (e) {
-                this.dump('before move up')
-                var t = this.getNode(e)
-                if (!t) throw "Oops, trying to move an object that isn't in the list"
-                if (t.prev) {
-                  var n = t.prev,
-                    r = n.prev
-                  t == this.last && (this.last = n)
-                  var o = t.next
-                  r && (r.next = t),
-                    (t.next = n),
-                    (t.prev = n.prev),
-                    (n.next = o),
-                    (n.prev = t),
-                    this.first == n && (this.first = t)
-                }
-              },
-              moveDown: function (e) {
-                var t = this.getNode(e)
-                if (!t) throw "Oops, trying to move an object that isn't in the list"
-                if (t.next) {
-                  var n = t.next
-                  this.moveUp(n.obj), this.last == n && (this.last = t)
-                }
-              },
-              sort: function (e) {
-                var t,
-                  n,
-                  r = this.sortArray,
-                  o = this.first
-                for (r.length = 0; o; ) r.push(o.obj), (o = o.next)
-                for (this.clear(), r.sort(e), n = r.length, t = 0; n > t; t++) this.add(r[t])
-              },
-              remove: function (e) {
-                var t = this.getNode(e)
-                return (
-                  !(!t || t.free) &&
-                  (t.prev && (t.prev.next = t.next),
-                  t.next && (t.next.prev = t.prev),
-                  t.prev || (this.first = t.next),
-                  t.next || (this.last = t.prev),
-                  (t.free = !0),
-                  (t.prev = null),
-                  (t.next = null),
-                  this.length--,
-                  !0)
-                )
-              },
-              shift: function () {
-                var e = this.first
-                return 0 === this.length
-                  ? null
-                  : (e.prev && (e.prev.next = e.next),
-                    e.next && (e.next.prev = e.prev),
-                    (this.first = e.next),
-                    e.next || (this.last = null),
-                    (e.free = !0),
-                    (e.prev = null),
-                    (e.next = null),
-                    this.length--,
-                    e.obj)
-              },
-              pop: function () {
-                var e = this.last
-                return 0 === this.length
-                  ? null
-                  : (e.prev && (e.prev.next = e.next),
-                    e.next && (e.next.prev = e.prev),
-                    (this.last = e.prev),
-                    e.prev || (this.first = null),
-                    (e.free = !0),
-                    (e.prev = null),
-                    (e.next = null),
-                    this.length--,
-                    e.obj)
-              },
-              concat: function (e) {
-                for (var t = e.first; t; ) this.add(t.obj), (t = t.next)
-              },
-              clear: function () {
-                for (var e = this.first; e; ) (e.free = !0), (e = e.next)
-                ;(this.first = null), (this.length = 0)
-              },
-              dispose: function () {
-                for (var e = this.first; e; ) (e.obj = null), (e = e.next)
-                ;(this.first = null), (this.objToNodeMap = null)
-              },
-              dump: function (e) {
-                console.log('====================' + e + '=====================')
-                for (var t = this.first; t; )
-                  console.log(
-                    '{' + t.obj.toString() + '} previous=' + (t.prev ? t.prev.obj : 'NULL'),
-                  ),
-                    (t = t.next())
-                console.log('==================================='),
-                  console.log(
-                    'Last: {' +
-                      (this.last ? this.last.obj : 'NULL') +
-                      '} First: {' +
-                      (this.first ? this.first.obj : 'NULL') +
-                      '}',
-                  )
-              },
-            }).constructor = t),
-            (n.LinkedList = t)
-        })(),
-        (function () {
-          var e = function (e, t, n, r, o) {
-            ;(this._listener = t),
-              (this.isOnce = n),
-              (this.context = r),
-              (this.signal = e),
-              (this._priority = o || 0)
-          }
-          ;(e.prototype = {
-            active: !0,
-            params: null,
-            execute: function (e) {
-              var t, n
-              return (
-                this.active &&
-                  this._listener &&
-                  ((n = this.params ? this.params.concat(e) : e),
-                  (t = this._listener.apply(this.context, n)),
-                  this.isOnce && this.detach()),
-                t
-              )
-            },
-            detach: function () {
-              return this.isBound() ? this.signal.remove(this._listener, this.context) : null
-            },
-            isBound: function () {
-              return !!this.signal && !!this._listener
-            },
-            _destroy: function () {
-              delete this.signal, delete this._listener, delete this.context
-            },
-            toString: function () {
-              return (
-                '[SignalBinding isOnce:' +
-                this.isOnce +
-                ', isBound:' +
-                this.isBound() +
-                ', active:' +
-                this.active +
-                ']'
-              )
-            },
-          }).constructor = e
-          var t = function () {
-            ;(this._bindings = []), (this._prevParams = null)
-            var e = this
-            this.dispatch = function () {
-              t.prototype.dispatch.apply(e, arguments)
-            }
-          }
-          ;(t.prototype = {
-            memorize: !1,
-            _shouldPropagate: !0,
-            active: !0,
-            validateListener: function (e, t) {
-              if ('function' != typeof e)
-                throw new Error(
-                  'Signal: listener is a required param of {fn}() and should be a Function.'.replace(
-                    '{fn}',
-                    t,
-                  ),
-                )
-            },
-            _registerListener: function (t, n, r, o) {
-              var i,
-                a = this._indexOfListener(t, r)
-              if (-1 !== a) {
-                if ((i = this._bindings[a]).isOnce !== n)
-                  throw new Error(
-                    'You cannot add' +
-                      (n ? '' : 'Once') +
-                      '() then add' +
-                      (n ? 'Once' : '') +
-                      '() the same listener without removing the relationship first.',
-                  )
-              } else (i = new e(this, t, n, r, o)), this._addBinding(i)
-              return this.memorize && this._prevParams && i.execute(this._prevParams), i
-            },
-            _addBinding: function (e) {
-              var t = this._bindings.length
-              do {
-                t--
-              } while (this._bindings[t] && e._priority <= this._bindings[t]._priority)
-              this._bindings.splice(t + 1, 0, e)
-            },
-            _indexOfListener: function (e, t) {
-              for (var n, r = this._bindings.length; r--; )
-                if ((n = this._bindings[r])._listener === e && n.context === t) return r
-              return -1
-            },
-            has: function (e, t) {
-              return -1 !== this._indexOfListener(e, t)
-            },
-            add: function (e, t, n) {
-              return this.validateListener(e, 'add'), this._registerListener(e, !1, t, n)
-            },
-            addOnce: function (e, t, n) {
-              return this.validateListener(e, 'addOnce'), this._registerListener(e, !0, t, n)
-            },
-            remove: function (e, t) {
-              this.validateListener(e, 'remove')
-              var n = this._indexOfListener(e, t)
-              return -1 !== n && (this._bindings[n]._destroy(), this._bindings.splice(n, 1)), e
-            },
-            removeAll: function (e) {
-              'undefined' == typeof e && (e = null)
-              for (var t = this._bindings.length; t--; )
-                e
-                  ? this._bindings[t].context === e &&
-                    (this._bindings[t]._destroy(), this._bindings.splice(t, 1))
-                  : this._bindings[t]._destroy()
-              e || (this._bindings.length = 0)
-            },
-            getNumListeners: function () {
-              return this._bindings.length
-            },
-            halt: function () {
-              this._shouldPropagate = !1
-            },
-            dispatch: function () {
-              if (this.active) {
-                var e,
-                  t = Array.prototype.slice.call(arguments),
-                  n = this._bindings.length
-                if ((this.memorize && (this._prevParams = t), n)) {
-                  ;(e = this._bindings.slice()), (this._shouldPropagate = !0)
-                  do {
-                    n--
-                  } while (e[n] && this._shouldPropagate && !1 !== e[n].execute(t))
-                }
-              }
-            },
-            forget: function () {
-              this._prevParams = null
-            },
-            dispose: function () {
-              this.removeAll(), delete this._bindings, delete this._prevParams
-            },
-            toString: function () {
-              return (
-                '[Signal active:' + this.active + ' numListeners:' + this.getNumListeners() + ']'
-              )
-            },
-          }),
-            (t.prototype.constructor = t),
-            (n.Signal = t)
-        })(),
-        (n.AStarFinder = function (e) {
-          e = e || {}
-          var t = { allowDiagonal: !1, heuristicFilter: null }
-          ;(t = n.Tools.merge(t, e)),
-            (this.allowDiagonal = t.allowDiagonal),
-            (this.heuristicFilter = t.heuristicFilter),
-            (this.list = new n.LinkedList())
-        }),
-        (n.AStarFinder.prototype = {
-          findPath: function (e, t, r, o) {
-            var i, a, s, u, c, l
-            for (
-              r = r || this.heuristicFilter, o.clearPath(), this.list.clear(), this.list.add(e);
-              this.list.length > 0;
-
-            ) {
-              if ((this.list.sort(this.compare), ((i = this.list.shift())._visited = !0), i === t))
-                return n.PathUtil.backtrace(t)
-              for (c = 0, l = (s = o.getNeighbors(i, this.allowDiagonal, r)).length; l > c; c++)
-                if (
-                  (u = s[c]).walkable &&
-                  ((a = i._calcCost + o.distance(i, u)), !u._visited || a < u._calcCost)
-                ) {
-                  if (
-                    ((u._visited = !0),
-                    (u._parent = i),
-                    (u._calcCost = a),
-                    (u._priority = a + o.distance(t, u)),
-                    u === t)
-                  )
-                    return n.PathUtil.backtrace(t)
-                  this.list.add(u)
-                }
-            }
-            return null
-          },
-          compare: function (e, t) {
-            return e._priority - t._priority
-          },
-        }),
-        (n.AStarFinder.prototype.constructor = n.AStarFinder),
-        (n.PathUtil = {
-          backtrace: function (e) {
-            for (var t = [e]; e._parent; ) (e = e._parent), t.push(e)
-            return t.reverse()
-          },
-          biBacktrace: function (e, t) {
-            var n = this.backtrace(e),
-              r = this.backtrace(t)
-            return n.concat(r.reverse())
-          },
-          pathLength: function (e) {
-            var t,
-              n,
-              r,
-              o,
-              i,
-              a = 0
-            for (t = 1; t < e.length; ++t)
-              (n = e[t - 1]),
-                (r = e[t]),
-                (o = n[0] - r[0]),
-                (i = n[1] - r[1]),
-                (a += Math.sqrt(o * o + i * i))
-            return a
-          },
-          interpolate: function (e, t, n, r) {
-            var o,
-              i,
-              a,
-              s,
-              u,
-              c,
-              l = Math.abs,
-              d = []
-            for (
-              o = n > e ? 1 : -1, i = r > t ? 1 : -1, u = (a = l(n - e)) - (s = l(r - t));
-              e !== n || t !== r;
-
-            )
-              d.push([e, t]),
-                (c = 2 * u) > -s && ((u -= s), (e += o)),
-                a > c && ((u += a), (t += i))
-            return d
-          },
-          expandPath: function (e) {
-            var t,
-              n,
-              r,
-              o,
-              i,
-              a,
-              s = [],
-              u = e.length
-            if (2 > u) return s
-            for (i = 0; u - 1 > i; ++i)
-              for (
-                t = e[i],
-                  n = e[i + 1],
-                  o = (r = this.interpolate(t[0], t[1], n[0], n[1])).length,
-                  a = 0;
-                o - 1 > a;
-                ++a
-              )
-                s.push(r[a])
-            return s.push(e[u - 1]), s
-          },
-          smoothenPath: function (e, t) {
-            var n,
-              r,
-              o,
-              i,
-              a,
-              s,
-              u,
-              c,
-              l,
-              d,
-              f,
-              h,
-              p = t.length,
-              v = t[0][0],
-              m = t[0][1],
-              g = t[p - 1][0],
-              y = t[p - 1][1]
-            for (a = [[(n = v), (r = m)]], u = 2; p > u; ++u) {
-              for (
-                o = (l = t[u])[0], i = l[1], d = this.interpolate(n, r, o, i), h = !1, c = 1;
-                c < d.length;
-                ++c
-              )
-                if (((f = d[c]), !e.isWalkableAt(f[0], f[1]))) {
-                  h = !0
-                  break
-                }
-              h && ((s = t[u - 1]), a.push(s), (n = s[0]), (r = s[1]))
-            }
-            return a.push([g, y]), a
-          },
-          compressPath: function (e) {
-            if (e.length < 3) return e
-            var t,
-              n,
-              r,
-              o,
-              i,
-              a,
-              s = [],
-              u = e[0][0],
-              c = e[0][1],
-              l = e[1][0],
-              d = e[1][1],
-              f = l - u,
-              h = d - c
-            for (
-              f /= i = Math.sqrt(f * f + h * h), h /= i, s.push([u, c]), a = 2;
-              a < e.length;
-              a++
-            )
-              (t = l),
-                (n = d),
-                (r = f),
-                (o = h),
-                (f = (l = e[a][0]) - t),
-                (h = (d = e[a][1]) - n),
-                (h /= i = Math.sqrt(f * f + h * h)),
-                ((f /= i) !== r || h !== o) && s.push([t, n])
-            return s.push([l, d]), s
-          },
-        }),
-        (n.Loader = {
-          manager: null,
-          imageLoader: null,
-          crossOrigin: !1,
-          init: function (e) {
-            ;(this.crossOrigin = e || !1),
-              (this.manager = new THREE.LoadingManager(
-                function () {},
-                function () {},
-                function () {
-                  console.warn('Error loading images')
-                },
-              )),
-              (this.imageLoader = new THREE.ImageLoader(this.manager)),
-              (this.imageLoader.crossOrigin = e)
-          },
-          loadTexture: function (e, t, n, r) {
-            var o = new THREE.Texture(null, t)
-            return (
-              this.imageLoader.load(
-                e,
-                function (e) {
-                  ;(o.image = e), (o.needsUpdate = !0), n && n(o)
-                },
-                null,
-                function (e) {
-                  r && r(e)
-                },
-              ),
-              (o.sourceFile = e),
-              o
-            )
-          },
-        }),
-        (n.MouseCaster = function (e, t, r) {
-          ;(this.down = !1),
-            (this.rightDown = !1),
-            (this.pickedObject = null),
-            (this.selectedObject = null),
-            (this.allHits = null),
-            (this.active = !0),
-            (this.shift = !1),
-            (this.ctrl = !1),
-            (this.wheel = 0),
-            (this.position = new THREE.Vector3()),
-            (this.screenPosition = new THREE.Vector2()),
-            (this.signal = new n.Signal()),
-            (this.group = e),
-            (this._camera = t),
-            (this._raycaster = new THREE.Raycaster()),
-            (this._preventDefault = !1),
-            (r = r || document).addEventListener(
-              'mousemove',
-              this._onDocumentMouseMove.bind(this),
-              !1,
-            ),
-            r.addEventListener('mousedown', this._onDocumentMouseDown.bind(this), !1),
-            r.addEventListener('mouseup', this._onDocumentMouseUp.bind(this), !1),
-            r.addEventListener('mousewheel', this._onMouseWheel.bind(this), !1),
-            r.addEventListener('DOMMouseScroll', this._onMouseWheel.bind(this), !1)
-        }),
-        (n.MouseCaster.OVER = 'over'),
-        (n.MouseCaster.OUT = 'out'),
-        (n.MouseCaster.DOWN = 'down'),
-        (n.MouseCaster.UP = 'up'),
-        (n.MouseCaster.CLICK = 'click'),
-        (n.MouseCaster.WHEEL = 'wheel'),
-        (n.MouseCaster.prototype = {
-          update: function () {
-            if (this.active) {
-              this._raycaster.setFromCamera(this.screenPosition, this._camera)
-              var e,
-                t,
-                r = this._raycaster.intersectObject(this.group, !0)
-              r.length > 0
-                ? ((t = (e = r[0]).object.userData.structure),
-                  this.pickedObject != t &&
-                    (this.pickedObject &&
-                      this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject),
-                    (this.pickedObject = t),
-                    (this.selectedObject = null),
-                    this.signal.dispatch(n.MouseCaster.OVER, this.pickedObject)),
-                  this.position.copy(e.point),
-                  (this.screenPosition.z = e.distance))
-                : (this.pickedObject && this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject),
-                  (this.pickedObject = null),
-                  (this.selectedObject = null)),
-                (this.allHits = r)
-            }
-          },
-          preventDefault: function () {
-            this._preventDefault = !0
-          },
-          _onDocumentMouseDown: function (e) {
-            return (
-              (e = e || window.event).preventDefault(),
-              this._preventDefault
-                ? ((this._preventDefault = !1), !1)
-                : (this.pickedObject && (this.selectedObject = this.pickedObject),
-                  (this.shift = e.shiftKey),
-                  (this.ctrl = e.ctrlKey),
-                  (this.down = 1 === e.which),
-                  (this.rightDown = 3 === e.which),
-                  void this.signal.dispatch(n.MouseCaster.DOWN, this.pickedObject))
-            )
-          },
-          _onDocumentMouseUp: function (e) {
-            return (
-              e.preventDefault(),
-              this._preventDefault
-                ? ((this._preventDefault = !1), !1)
-                : ((this.shift = e.shiftKey),
-                  (this.ctrl = e.ctrlKey),
-                  this.signal.dispatch(n.MouseCaster.UP, this.pickedObject),
-                  this.selectedObject &&
-                    this.pickedObject &&
-                    this.selectedObject.uniqueID === this.pickedObject.uniqueID &&
-                    this.signal.dispatch(n.MouseCaster.CLICK, this.pickedObject),
-                  (this.down = 1 !== e.which && this.down),
-                  void (this.rightDown = 3 !== e.which && this.rightDown))
-            )
-          },
-          _onDocumentMouseMove: function (e) {
-            e.preventDefault(),
-              (this.screenPosition.x = (e.clientX / window.innerWidth) * 2 - 1),
-              (this.screenPosition.y = (-e.clientY / window.innerHeight) * 2 + 1)
-          },
-          _onMouseWheel: function (e) {
-            if (this.active) {
-              e.preventDefault(), e.stopPropagation()
-              var t = 0
-              void 0 !== e.wheelDelta ? (t = e.wheelDelta) : void 0 !== e.detail && (t = -e.detail),
-                t > 0 ? this.wheel++ : this.wheel--,
-                this.signal.dispatch(n.MouseCaster.WHEEL, this.wheel)
-            }
-          },
-        }),
-        (n.MouseCaster.prototype.constructor = n.MouseCaster),
-        (n.Scene = function (e, t) {
-          var r = {
-              element: document.body,
-              alpha: !0,
-              antialias: !0,
-              clearColor: '#fff',
-              sortObjects: !1,
-              fog: null,
-              light: new THREE.DirectionalLight(16777215),
-              lightPosition: null,
-              cameraType: 'PerspectiveCamera',
-              cameraPosition: null,
-              orthoZoom: 4,
-            },
-            o = { minDistance: 100, maxDistance: 1e3, zoomSpeed: 2, noZoom: !1 }
-          if (
-            ((r = n.Tools.merge(r, e)),
-            'boolean' != typeof t && (o = n.Tools.merge(o, t)),
-            (this.renderer = new THREE.WebGLRenderer({ alpha: r.alpha, antialias: r.antialias })),
-            this.renderer.setClearColor(r.clearColor, 0),
-            (this.renderer.sortObjects = r.sortObjects),
-            (this.width = window.innerWidth),
-            (this.height = window.innerHeight),
-            (this.orthoZoom = r.orthoZoom),
-            (this.container = new THREE.Scene()),
-            (this.container.fog = r.fog),
-            this.container.add(new THREE.AmbientLight(14540253)),
-            r.lightPosition || r.light.position.set(-1, 1, -1).normalize(),
-            this.container.add(r.light),
-            'OrthographicCamera' === r.cameraType)
-          ) {
-            var i = window.innerWidth / this.orthoZoom,
-              a = window.innerHeight / this.orthoZoom
-            this.camera = new THREE.OrthographicCamera(i / -2, i / 2, a / 2, a / -2, 1, 5e3)
-          } else this.camera = new THREE.PerspectiveCamera(50, this.width / this.height, 1, 5e3)
-          ;(this.contolled = !!t),
-            this.contolled &&
-              ((this.controls = new THREE.OrbitControls(this.camera, this.renderer.domElement)),
-              (this.controls.minDistance = o.minDistance),
-              (this.controls.maxDistance = o.maxDistance),
-              (this.controls.zoomSpeed = o.zoomSpeed),
-              (this.controls.noZoom = o.noZoom)),
-            r.cameraPosition && this.camera.position.copy(r.cameraPosition),
-            window.addEventListener(
-              'resize',
-              function () {
-                if (
-                  ((this.width = window.innerWidth),
-                  (this.height = window.innerHeight),
-                  'OrthographicCamera' === this.camera.type)
-                ) {
-                  var e = this.width / this.orthoZoom,
-                    t = this.height / this.orthoZoom
-                  ;(this.camera.left = e / -2),
-                    (this.camera.right = e / 2),
-                    (this.camera.top = t / 2),
-                    (this.camera.bottom = t / -2)
-                } else this.camera.aspect = this.width / this.height
-                this.camera.updateProjectionMatrix(), this.renderer.setSize(this.width, this.height)
-              }.bind(this),
-              !1,
-            ),
-            this.attachTo(r.element)
-        }),
-        (n.Scene.prototype = {
-          attachTo: function (e) {
-            ;(e.style.width = this.width + 'px'),
-              (e.style.height = this.height + 'px'),
-              this.renderer.setPixelRatio(window.devicePixelRatio),
-              this.renderer.setSize(this.width, this.height),
-              e.appendChild(this.renderer.domElement)
-          },
-          add: function (e) {
-            this.container.add(e)
-          },
-          remove: function (e) {
-            this.container.remove(e)
-          },
-          render: function () {
-            this.contolled && this.controls.update(),
-              this.renderer.render(this.container, this.camera)
-          },
-          updateOrthoZoom: function () {
-            if (this.orthoZoom <= 0) this.orthoZoom = 0
-            else {
-              var e = this.width / this.orthoZoom,
-                t = this.height / this.orthoZoom
-              ;(this.camera.left = e / -2),
-                (this.camera.right = e / 2),
-                (this.camera.top = t / 2),
-                (this.camera.bottom = t / -2),
-                this.camera.updateProjectionMatrix()
-            }
-          },
-          focusOn: function (e) {
-            this.camera.lookAt(e.position)
-          },
-        }),
-        (n.Scene.prototype.constructor = n.Scene),
-        (n.SelectionManager = function (e) {
-          ;(this.mouse = e),
-            (this.onSelect = new n.Signal()),
-            (this.onDeselect = new n.Signal()),
-            (this.selected = null),
-            (this.toggleSelection = !1),
-            this.mouse.signal.add(this.onMouse, this)
-        }),
-        (n.SelectionManager.prototype = {
-          select: function (e, t) {
-            e &&
-              ((t = t || !0),
-              this.selected !== e && this.clearSelection(t),
-              e.selected
-                ? this.toggleSelection && (t && this.onDeselect.dispatch(e), e.deselect())
-                : e.select(),
-              (this.selected = e),
-              t && this.onSelect.dispatch(e))
-          },
-          clearSelection: function (e) {
-            ;(e = e || !0),
-              this.selected &&
-                (e && this.onDeselect.dispatch(this.selected), this.selected.deselect()),
-              (this.selected = null)
-          },
-          onMouse: function (e, t) {
-            switch (e) {
-              case n.MouseCaster.DOWN:
-                t || this.clearSelection()
-                break
-              case n.MouseCaster.CLICK:
-                this.select(t)
-            }
-          },
-        }),
-        (n.SelectionManager.prototype.constructor = n.SelectionManager),
-        (n.Tools = {
-          clamp: function (e, t, n) {
-            return Math.max(t, Math.min(n, e))
-          },
-          sign: function (e) {
-            return e && e / Math.abs(e)
-          },
-          random: function (e, t) {
-            return 1 === arguments.length
-              ? Math.random() * e - 0.5 * e
-              : Math.random() * (t - e) + e
-          },
-          randomInt: function (e, t) {
-            return 1 === arguments.length
-              ? (Math.random() * e - 0.5 * e) | 0
-              : (Math.random() * (t - e + 1) + e) | 0
-          },
-          normalize: function (e, t, n) {
-            return (e - t) / (n - t)
-          },
-          getShortRotation: function (e) {
-            return (e %= this.TAU) > this.PI ? (e -= this.TAU) : e < -this.PI && (e += this.TAU), e
-          },
-          generateID: function () {
-            return Math.random().toString(36).slice(2) + Date.now()
-          },
-          isPlainObject: function (e) {
-            if ('object' != typeof e || e.nodeType || e === e.window) return !1
-            try {
-              if (
-                e.constructor &&
-                !Object.prototype.hasOwnProperty.call(e.constructor.prototype, 'isPrototypeOf')
-              )
-                return !1
-            } catch (t) {
-              return !1
-            }
-            return !0
-          },
-          merge: function (e, t) {
-            var n = this,
-              r = Array.isArray(t),
-              o = (r && []) || {}
-            return r
-              ? ((e = e || []),
-                (o = o.concat(e)),
-                t.forEach(function (t, r) {
-                  'undefined' == typeof o[r]
-                    ? (o[r] = t)
-                    : n.isPlainObject(t)
-                    ? (o[r] = n.merge(e[r], t))
-                    : -1 === e.indexOf(t) && o.push(t)
-                }),
-                o)
-              : (e &&
-                  n.isPlainObject(e) &&
-                  Object.keys(e).forEach(function (t) {
-                    o[t] = e[t]
-                  }),
-                Object.keys(t).forEach(function (r) {
-                  t[r] && n.isPlainObject(t[r]) && e[r]
-                    ? (o[r] = n.merge(e[r], t[r]))
-                    : (o[r] = t[r])
-                }),
-                o)
-          },
-          now: function () {
-            return window.nwf ? window.nwf.system.Performance.elapsedTime : window.performance.now()
-          },
-          empty: function (e) {
-            for (; e.lastChild; ) e.removeChild(e.lastChild)
-          },
-          radixSort: function (e, t, n, r) {
-            if (((r = r || 31), !((t = t || 0) >= (n = n || e.length) - 1 || 0 > r))) {
-              for (var o = t, i = n, a = 1 << r; i > o; )
-                if (e[o] & a) {
-                  --i
-                  var s = e[o]
-                  ;(e[o] = e[i]), (e[i] = s)
-                } else ++o
-              this.radixSort(e, t, i, r - 1), this.radixSort(e, i, n, r - 1)
-            }
-          },
-          randomizeRGB: function (e, t) {
-            var n,
-              r,
-              o = e.split(','),
-              i = 'rgb('
-            for (t = this.randomInt(t), n = 0; 3 > n; n++)
-              0 > (r = parseInt(o[n]) + t) ? (r = 0) : r > 255 && (r = 255), (i += r + ',')
-            return (i = i.substring(0, i.length - 1)) + ')'
-          },
-          getJSON: function (e) {
-            var t = new XMLHttpRequest(),
-              n =
-                'undefined' != typeof e.cache && e.cache
-                  ? e.url
-                  : e.url + '?t=' + Math.floor(1e4 * Math.random()) + Date.now()
-            ;(t.onreadystatechange = function () {
-              if (200 !== this.status)
-                0 !== this.status &&
-                  console.warn(
-                    '[Tools.getJSON] Error: ' +
-                      this.status +
-                      ' (' +
-                      this.statusText +
-                      ') :: ' +
-                      e.url,
-                  )
-              else {
-                var t = null
-                try {
-                  t = JSON.parse(this.responseText)
-                } catch (n) {
-                  return
-                }
-                e.callback.call(e.scope || null, t)
-              }
-            }),
-              t.open('GET', n, !0),
-              t.setRequestHeader('Accept', 'application/json'),
-              t.setRequestHeader('Content-Type', 'application/json'),
-              t.send('')
-          },
-        })
-    },
-    77454: function () {
-      !(function (e) {
-        var t = 'KeyboardEvent' in e
-        t ||
-          (e.KeyboardEvent = function () {
-            throw TypeError('Illegal constructor')
-          }),
-          'DOM_KEY_LOCATION_STANDARD' in e.KeyboardEvent ||
-            (e.KeyboardEvent.DOM_KEY_LOCATION_STANDARD = 0),
-          'DOM_KEY_LOCATION_LEFT' in e.KeyboardEvent || (e.KeyboardEvent.DOM_KEY_LOCATION_LEFT = 1),
-          'DOM_KEY_LOCATION_RIGHT' in e.KeyboardEvent ||
-            (e.KeyboardEvent.DOM_KEY_LOCATION_RIGHT = 2),
-          'DOM_KEY_LOCATION_NUMPAD' in e.KeyboardEvent ||
-            (e.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD = 3)
-        var n = window.KeyboardEvent.DOM_KEY_LOCATION_STANDARD,
-          r = window.KeyboardEvent.DOM_KEY_LOCATION_LEFT,
-          o = window.KeyboardEvent.DOM_KEY_LOCATION_RIGHT,
-          i = window.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD
-        function a(e, t) {
-          return -1 !== String(e).indexOf(t)
-        }
-        var s = a(navigator.platform, 'Win')
-            ? 'win'
-            : a(navigator.platform, 'Mac')
-            ? 'mac'
-            : a(navigator.platform, 'CrOS')
-            ? 'cros'
-            : a(navigator.platform, 'Linux')
-            ? 'linux'
-            : a(navigator.userAgent, 'iPad') ||
-              a(navigator.platform, 'iPod') ||
-              a(navigator.platform, 'iPhone')
-            ? 'ios'
-            : '',
-          u = a(navigator.userAgent, 'Chrome/')
-            ? 'chrome'
-            : a(navigator.vendor, 'Apple')
-            ? 'safari'
-            : a(navigator.userAgent, 'MSIE')
-            ? 'ie'
-            : a(navigator.userAgent, 'Gecko/')
-            ? 'moz'
-            : a(navigator.userAgent, 'Opera/')
-            ? 'opera'
-            : '',
-          c = u + '-' + s
-        function l(e, t, n) {
-          ;(c !== t && u !== t && s !== t) ||
-            Object.keys(n).forEach(function (t) {
-              e[t] = n[t]
-            })
-        }
-        var d = {
-          3: { code: 'Cancel' },
-          6: { code: 'Help' },
-          8: { code: 'Backspace' },
-          9: { code: 'Tab' },
-          12: { code: 'Clear' },
-          13: { code: 'Enter' },
-          16: { code: 'Shift' },
-          17: { code: 'Control' },
-          18: { code: 'Alt' },
-          19: { code: 'Pause' },
-          20: { code: 'CapsLock' },
-          21: { code: 'KanaMode' },
-          22: { code: 'HangulMode' },
-          23: { code: 'JunjaMode' },
-          24: { code: 'FinalMode' },
-          25: { code: 'KanjiMode' },
-          27: { code: 'Escape' },
-          28: { code: 'Convert' },
-          29: { code: 'NonConvert' },
-          30: { code: 'Accept' },
-          31: { code: 'ModeChange' },
-          32: { code: 'Space' },
-          33: { code: 'PageUp' },
-          34: { code: 'PageDown' },
-          35: { code: 'End' },
-          36: { code: 'Home' },
-          37: { code: 'ArrowLeft' },
-          38: { code: 'ArrowUp' },
-          39: { code: 'ArrowRight' },
-          40: { code: 'ArrowDown' },
-          41: { code: 'Select' },
-          42: { code: 'Print' },
-          43: { code: 'Execute' },
-          44: { code: 'PrintScreen' },
-          45: { code: 'Insert' },
-          46: { code: 'Delete' },
-          47: { code: 'Help' },
-          48: { code: 'Digit0', keyCap: '0' },
-          49: { code: 'Digit1', keyCap: '1' },
-          50: { code: 'Digit2', keyCap: '2' },
-          51: { code: 'Digit3', keyCap: '3' },
-          52: { code: 'Digit4', keyCap: '4' },
-          53: { code: 'Digit5', keyCap: '5' },
-          54: { code: 'Digit6', keyCap: '6' },
-          55: { code: 'Digit7', keyCap: '7' },
-          56: { code: 'Digit8', keyCap: '8' },
-          57: { code: 'Digit9', keyCap: '9' },
-          65: { code: 'KeyA', keyCap: 'a' },
-          66: { code: 'KeyB', keyCap: 'b' },
-          67: { code: 'KeyC', keyCap: 'c' },
-          68: { code: 'KeyD', keyCap: 'd' },
-          69: { code: 'KeyE', keyCap: 'e' },
-          70: { code: 'KeyF', keyCap: 'f' },
-          71: { code: 'KeyG', keyCap: 'g' },
-          72: { code: 'KeyH', keyCap: 'h' },
-          73: { code: 'KeyI', keyCap: 'i' },
-          74: { code: 'KeyJ', keyCap: 'j' },
-          75: { code: 'KeyK', keyCap: 'k' },
-          76: { code: 'KeyL', keyCap: 'l' },
-          77: { code: 'KeyM', keyCap: 'm' },
-          78: { code: 'KeyN', keyCap: 'n' },
-          79: { code: 'KeyO', keyCap: 'o' },
-          80: { code: 'KeyP', keyCap: 'p' },
-          81: { code: 'KeyQ', keyCap: 'q' },
-          82: { code: 'KeyR', keyCap: 'r' },
-          83: { code: 'KeyS', keyCap: 's' },
-          84: { code: 'KeyT', keyCap: 't' },
-          85: { code: 'KeyU', keyCap: 'u' },
-          86: { code: 'KeyV', keyCap: 'v' },
-          87: { code: 'KeyW', keyCap: 'w' },
-          88: { code: 'KeyX', keyCap: 'x' },
-          89: { code: 'KeyY', keyCap: 'y' },
-          90: { code: 'KeyZ', keyCap: 'z' },
-          91: { code: 'OSLeft', location: r },
-          92: { code: 'OSRight', location: o },
-          93: { code: 'ContextMenu' },
-          95: { code: 'Standby' },
-          96: { code: 'Numpad0', keyCap: '0', location: i },
-          97: { code: 'Numpad1', keyCap: '1', location: i },
-          98: { code: 'Numpad2', keyCap: '2', location: i },
-          99: { code: 'Numpad3', keyCap: '3', location: i },
-          100: { code: 'Numpad4', keyCap: '4', location: i },
-          101: { code: 'Numpad5', keyCap: '5', location: i },
-          102: { code: 'Numpad6', keyCap: '6', location: i },
-          103: { code: 'Numpad7', keyCap: '7', location: i },
-          104: { code: 'Numpad8', keyCap: '8', location: i },
-          105: { code: 'Numpad9', keyCap: '9', location: i },
-          106: { code: 'NumpadMultiply', keyCap: '*', location: i },
-          107: { code: 'NumpadAdd', keyCap: '+', location: i },
-          108: { code: 'NumpadComma', keyCap: ',', location: i },
-          109: { code: 'NumpadSubtract', keyCap: '-', location: i },
-          110: { code: 'NumpadDecimal', keyCap: '.', location: i },
-          111: { code: 'NumpadDivide', keyCap: '/', location: i },
-          112: { code: 'F1' },
-          113: { code: 'F2' },
-          114: { code: 'F3' },
-          115: { code: 'F4' },
-          116: { code: 'F5' },
-          117: { code: 'F6' },
-          118: { code: 'F7' },
-          119: { code: 'F8' },
-          120: { code: 'F9' },
-          121: { code: 'F10' },
-          122: { code: 'F11' },
-          123: { code: 'F12' },
-          124: { code: 'F13' },
-          125: { code: 'F14' },
-          126: { code: 'F15' },
-          127: { code: 'F16' },
-          128: { code: 'F17' },
-          129: { code: 'F18' },
-          130: { code: 'F19' },
-          131: { code: 'F20' },
-          132: { code: 'F21' },
-          133: { code: 'F22' },
-          134: { code: 'F23' },
-          135: { code: 'F24' },
-          144: { code: 'NumLock', location: i },
-          145: { code: 'ScrollLock' },
-          160: { code: 'ShiftLeft', location: r },
-          161: { code: 'ShiftRight', location: o },
-          162: { code: 'ControlLeft', location: r },
-          163: { code: 'ControlRight', location: o },
-          164: { code: 'AltLeft', location: r },
-          165: { code: 'AltRight', location: o },
-          166: { code: 'BrowserBack' },
-          167: { code: 'BrowserForward' },
-          168: { code: 'BrowserRefresh' },
-          169: { code: 'BrowserStop' },
-          170: { code: 'BrowserSearch' },
-          171: { code: 'BrowserFavorites' },
-          172: { code: 'BrowserHome' },
-          173: { code: 'VolumeMute' },
-          174: { code: 'VolumeDown' },
-          175: { code: 'VolumeUp' },
-          176: { code: 'MediaTrackNext' },
-          177: { code: 'MediaTrackPrevious' },
-          178: { code: 'MediaStop' },
-          179: { code: 'MediaPlayPause' },
-          180: { code: 'LaunchMail' },
-          181: { code: 'MediaSelect' },
-          182: { code: 'LaunchApp1' },
-          183: { code: 'LaunchApp2' },
-          186: { code: 'Semicolon', keyCap: ';' },
-          187: { code: 'Equal', keyCap: '=' },
-          188: { code: 'Comma', keyCap: ',' },
-          189: { code: 'Minus', keyCap: '-' },
-          190: { code: 'Period', keyCap: '.' },
-          191: { code: 'Slash', keyCap: '/' },
-          192: { code: 'Backquote', keyCap: '`' },
-          219: { code: 'BracketLeft', keyCap: '[' },
-          220: { code: 'Backslash', keyCap: '\\' },
-          221: { code: 'BracketRight', keyCap: ']' },
-          222: { code: 'Quote', keyCap: "'" },
-          226: { code: 'IntlBackslash', keyCap: '\\' },
-          229: { code: 'Process' },
-          246: { code: 'Attn' },
-          247: { code: 'CrSel' },
-          248: { code: 'ExSel' },
-          249: { code: 'EraseEof' },
-          250: { code: 'Play' },
-          251: { code: 'ZoomToggle' },
-          254: { code: 'Clear' },
-        }
-        l(d, 'moz', {
-          59: { code: 'Semicolon', keyCap: ';' },
-          61: { code: 'Equal', keyCap: '=' },
-          107: { code: 'Equal', keyCap: '=' },
-          109: { code: 'Minus', keyCap: '-' },
-          187: { code: 'NumpadAdd', keyCap: '+', location: i },
-          189: { code: 'NumpadSubtract', keyCap: '-', location: i },
-        }),
-          l(d, 'moz-mac', {
-            12: { code: 'NumLock', location: i },
-            173: { code: 'Minus', keyCap: '-' },
-          }),
-          l(d, 'moz-win', { 173: { code: 'Minus', keyCap: '-' } }),
-          l(d, 'chrome-mac', { 93: { code: 'OSRight', location: o } }),
-          l(d, 'safari', { 3: { code: 'Enter' }, 25: { code: 'Tab' } }),
-          l(d, 'ios', { 10: { code: 'Enter', location: n } }),
-          l(d, 'safari-mac', {
-            91: { code: 'OSLeft', location: r },
-            93: { code: 'OSRight', location: o },
-            229: { code: 'KeyQ', keyCap: 'Q' },
-          })
-        var f = {}
-        'cros' === s &&
-          ((f['U+00A0'] = { code: 'ShiftLeft', location: r }),
-          (f['U+00A1'] = { code: 'ShiftRight', location: o }),
-          (f['U+00A2'] = { code: 'ControlLeft', location: r }),
-          (f['U+00A3'] = { code: 'ControlRight', location: o }),
-          (f['U+00A4'] = { code: 'AltLeft', location: r }),
-          (f['U+00A5'] = { code: 'AltRight', location: o })),
-          'chrome-mac' === c && (f['U+0010'] = { code: 'ContextMenu' }),
-          'safari-mac' === c && (f['U+0010'] = { code: 'ContextMenu' }),
-          'ios' === s &&
-            ((f['U+0010'] = { code: 'Function' }),
-            (f['U+001C'] = { code: 'ArrowLeft' }),
-            (f['U+001D'] = { code: 'ArrowRight' }),
-            (f['U+001E'] = { code: 'ArrowUp' }),
-            (f['U+001F'] = { code: 'ArrowDown' }),
-            (f['U+0001'] = { code: 'Home' }),
-            (f['U+0004'] = { code: 'End' }),
-            (f['U+000B'] = { code: 'PageUp' }),
-            (f['U+000C'] = { code: 'PageDown' }))
-        var h = []
-        ;(h[r] = {
-          16: { code: 'ShiftLeft', location: r },
-          17: { code: 'ControlLeft', location: r },
-          18: { code: 'AltLeft', location: r },
-        }),
-          (h[o] = {
-            16: { code: 'ShiftRight', location: o },
-            17: { code: 'ControlRight', location: o },
-            18: { code: 'AltRight', location: o },
-          }),
-          (h[i] = { 13: { code: 'NumpadEnter', location: i } }),
-          l(h[i], 'moz', {
-            109: { code: 'NumpadSubtract', location: i },
-            107: { code: 'NumpadAdd', location: i },
-          }),
-          l(h[r], 'moz-mac', { 224: { code: 'OSLeft', location: r } }),
-          l(h[o], 'moz-mac', { 224: { code: 'OSRight', location: o } }),
-          l(h[o], 'moz-win', { 91: { code: 'OSRight', location: o } }),
-          l(h[o], 'mac', { 93: { code: 'OSRight', location: o } }),
-          l(h[i], 'chrome-mac', { 12: { code: 'NumLock', location: i } }),
-          l(h[i], 'safari-mac', {
-            12: { code: 'NumLock', location: i },
-            187: { code: 'NumpadAdd', location: i },
-            189: { code: 'NumpadSubtract', location: i },
-            190: { code: 'NumpadDecimal', location: i },
-            191: { code: 'NumpadDivide', location: i },
-          })
-        var p = {
-          ShiftLeft: { key: 'Shift' },
-          ShiftRight: { key: 'Shift' },
-          ControlLeft: { key: 'Control' },
-          ControlRight: { key: 'Control' },
-          AltLeft: { key: 'Alt' },
-          AltRight: { key: 'Alt' },
-          OSLeft: { key: 'OS' },
-          OSRight: { key: 'OS' },
-          NumpadEnter: { key: 'Enter' },
-          Space: { key: ' ' },
-          Digit0: { key: '0', shiftKey: ')' },
-          Digit1: { key: '1', shiftKey: '!' },
-          Digit2: { key: '2', shiftKey: '@' },
-          Digit3: { key: '3', shiftKey: '#' },
-          Digit4: { key: '4', shiftKey: '$' },
-          Digit5: { key: '5', shiftKey: '%' },
-          Digit6: { key: '6', shiftKey: '^' },
-          Digit7: { key: '7', shiftKey: '&' },
-          Digit8: { key: '8', shiftKey: '*' },
-          Digit9: { key: '9', shiftKey: '(' },
-          KeyA: { key: 'a', shiftKey: 'A' },
-          KeyB: { key: 'b', shiftKey: 'B' },
-          KeyC: { key: 'c', shiftKey: 'C' },
-          KeyD: { key: 'd', shiftKey: 'D' },
-          KeyE: { key: 'e', shiftKey: 'E' },
-          KeyF: { key: 'f', shiftKey: 'F' },
-          KeyG: { key: 'g', shiftKey: 'G' },
-          KeyH: { key: 'h', shiftKey: 'H' },
-          KeyI: { key: 'i', shiftKey: 'I' },
-          KeyJ: { key: 'j', shiftKey: 'J' },
-          KeyK: { key: 'k', shiftKey: 'K' },
-          KeyL: { key: 'l', shiftKey: 'L' },
-          KeyM: { key: 'm', shiftKey: 'M' },
-          KeyN: { key: 'n', shiftKey: 'N' },
-          KeyO: { key: 'o', shiftKey: 'O' },
-          KeyP: { key: 'p', shiftKey: 'P' },
-          KeyQ: { key: 'q', shiftKey: 'Q' },
-          KeyR: { key: 'r', shiftKey: 'R' },
-          KeyS: { key: 's', shiftKey: 'S' },
-          KeyT: { key: 't', shiftKey: 'T' },
-          KeyU: { key: 'u', shiftKey: 'U' },
-          KeyV: { key: 'v', shiftKey: 'V' },
-          KeyW: { key: 'w', shiftKey: 'W' },
-          KeyX: { key: 'x', shiftKey: 'X' },
-          KeyY: { key: 'y', shiftKey: 'Y' },
-          KeyZ: { key: 'z', shiftKey: 'Z' },
-          Numpad0: { key: '0' },
-          Numpad1: { key: '1' },
-          Numpad2: { key: '2' },
-          Numpad3: { key: '3' },
-          Numpad4: { key: '4' },
-          Numpad5: { key: '5' },
-          Numpad6: { key: '6' },
-          Numpad7: { key: '7' },
-          Numpad8: { key: '8' },
-          Numpad9: { key: '9' },
-          NumpadMultiply: { key: '*' },
-          NumpadAdd: { key: '+' },
-          NumpadComma: { key: ',' },
-          NumpadSubtract: { key: '-' },
-          NumpadDecimal: { key: '.' },
-          NumpadDivide: { key: '/' },
-          Semicolon: { key: ';', shiftKey: ':' },
-          Equal: { key: '=', shiftKey: '+' },
-          Comma: { key: ',', shiftKey: '<' },
-          Minus: { key: '-', shiftKey: '_' },
-          Period: { key: '.', shiftKey: '>' },
-          Slash: { key: '/', shiftKey: '?' },
-          Backquote: { key: '`', shiftKey: '~' },
-          BracketLeft: { key: '[', shiftKey: '{' },
-          Backslash: { key: '\\', shiftKey: '|' },
-          BracketRight: { key: ']', shiftKey: '}' },
-          Quote: { key: "'", shiftKey: '"' },
-          IntlBackslash: { key: '\\', shiftKey: '|' },
-        }
-        l(p, 'mac', { OSLeft: { key: 'Meta' }, OSRight: { key: 'Meta' } })
-        var v = {
-            Esc: 'Escape',
-            Nonconvert: 'NonConvert',
-            Left: 'ArrowLeft',
-            Up: 'ArrowUp',
-            Right: 'ArrowRight',
-            Down: 'ArrowDown',
-            Del: 'Delete',
-            Menu: 'ContextMenu',
-            MediaNextTrack: 'MediaTrackNext',
-            MediaPreviousTrack: 'MediaTrackPrevious',
-            SelectMedia: 'MediaSelect',
-            HalfWidth: 'Hankaku',
-            FullWidth: 'Zenkaku',
-            RomanCharacters: 'Romaji',
-            Crsel: 'CrSel',
-            Exsel: 'ExSel',
-            Zoom: 'ZoomToggle',
-          },
-          m = (function (e, t) {
-            var n = {}
-            return (
-              Object.keys(e).forEach(function (r) {
-                var o = e[r]
-                t in o && (n[o[t]] = o)
-              }),
-              n
-            )
-          })(d, 'code')
-        try {
-          var g = t && 'location' in new KeyboardEvent('')
-        } catch (b) {}
-        function y(e) {
-          var t = 'keyCode' in e ? e.keyCode : 'which' in e ? e.which : 0,
-            n = (function () {
-              if (g || 'keyLocation' in e) {
-                var n = g ? e.location : e.keyLocation
-                if (n && t in h[n]) return h[n][t]
-              }
-              return 'keyIdentifier' in e && e.keyIdentifier in f
-                ? f[e.keyIdentifier]
-                : t in d
-                ? d[t]
-                : null
-            })()
-          if (!n) return null
-          var r = (function () {
-            var t = p[n.code]
-            return t ? (e.shiftKey && 'shiftKey' in t ? t.shiftKey : t.key) : n.code
-          })()
-          return { code: n.code, key: r, location: n.location, keyCap: n.keyCap }
-        }
-        'KeyboardEvent' in e &&
-          'defineProperty' in Object &&
-          (function () {
-            function e(e, t, n) {
-              t in e || Object.defineProperty(e, t, n)
-            }
-            if (
-              (e(KeyboardEvent.prototype, 'code', {
-                get: function () {
-                  var e = y(this)
-                  return e ? e.code : ''
-                },
-              }),
-              'key' in KeyboardEvent.prototype)
-            ) {
-              var t = Object.getOwnPropertyDescriptor(KeyboardEvent.prototype, 'key')
-              Object.defineProperty(KeyboardEvent.prototype, 'key', {
-                get: function () {
-                  var e = t.get.call(this)
-                  return v.hasOwnProperty(e) ? v[e] : e
-                },
-              })
-            }
-            e(KeyboardEvent.prototype, 'key', {
-              get: function () {
-                var e = y(this)
-                return e && 'key' in e ? e.key : 'Unidentified'
-              },
-            }),
-              e(KeyboardEvent.prototype, 'location', {
-                get: function () {
-                  var e = y(this)
-                  return e && 'location' in e ? e.location : n
-                },
-              }),
-              e(KeyboardEvent.prototype, 'locale', {
-                get: function () {
-                  return ''
-                },
-              })
-          })(),
-          'queryKeyCap' in e.KeyboardEvent ||
-            (e.KeyboardEvent.queryKeyCap = function (e, t) {
-              if (((e = String(e)), !m.hasOwnProperty(e))) return 'Undefined'
-              if (t && 'en-us' !== String(t).toLowerCase()) throw Error('Unsupported locale')
-              var n = m[e]
-              return n.keyCap || n.code || 'Undefined'
-            }),
-          (e.identifyKey = function (e) {
-            if (!('code' in e)) {
-              var t = y(e)
-              ;(e.code = t ? t.code : ''),
-                (e.key = t && 'key' in t ? t.key : 'Unidentified'),
-                (e.location =
-                  'location' in e
-                    ? e.location
-                    : 'keyLocation' in e
-                    ? e.keyLocation
-                    : t && 'location' in t
-                    ? t.location
-                    : n),
-                (e.locale = '')
-            }
-          })
-      })(window)
-    },
-    33386: function (e) {
-      e.exports = AFRAME.registerComponent('checkpoint-controls', {
-        schema: {
-          enabled: { default: !0 },
-          mode: { default: 'teleport', oneOf: ['teleport', 'animate'] },
-          animateSpeed: { default: 3 },
-        },
-        init: function () {
-          ;(this.active = !0),
-            (this.checkpoint = null),
-            (this.isNavMeshConstrained = !1),
-            (this.offset = new THREE.Vector3()),
-            (this.position = new THREE.Vector3()),
-            (this.targetPosition = new THREE.Vector3())
-        },
-        play: function () {
-          this.active = !0
-        },
-        pause: function () {
-          this.active = !1
-        },
-        setCheckpoint: function (e) {
-          const t = this.el
-          this.active &&
-            this.checkpoint !== e &&
-            (this.checkpoint && t.emit('navigation-end', { checkpoint: this.checkpoint }),
-            (this.checkpoint = e),
-            this.sync(),
-            this.position.distanceTo(this.targetPosition) < 0.1
-              ? (this.checkpoint = null)
-              : (t.emit('navigation-start', { checkpoint: e }),
-                'teleport' === this.data.mode &&
-                  (this.el.setAttribute('position', this.targetPosition),
-                  (this.checkpoint = null),
-                  t.emit('navigation-end', { checkpoint: e }),
-                  t.components['movement-controls'].updateNavLocation())))
-        },
-        isVelocityActive: function () {
-          return !(!this.active || !this.checkpoint)
-        },
-        getVelocity: function () {
-          if (!this.active) return
-          const e = this.data,
-            t = this.offset,
-            n = this.position,
-            r = this.targetPosition,
-            o = this.checkpoint
-          return (
-            this.sync(),
-            n.distanceTo(r) < 0.1
-              ? ((this.checkpoint = null),
-                this.el.emit('navigation-end', { checkpoint: o }),
-                t.set(0, 0, 0))
-              : (t.setLength(e.animateSpeed), t)
-          )
-        },
-        sync: function () {
-          const e = this.offset,
-            t = this.position,
-            n = this.targetPosition
-          t.copy(this.el.getAttribute('position')),
-            this.checkpoint.object3D.getWorldPosition(n),
-            n.add(this.checkpoint.components.checkpoint.getOffset()),
-            e.copy(n).sub(t)
-        },
-      })
-    },
-    45062: function (e, t, n) {
-      const r = n(16453),
-        o = n(44379),
-        i = 0.2,
-        a = 'left',
-        s = 'right',
-        u = 1,
-        c = 2
-      e.exports = AFRAME.registerComponent('gamepad-controls', {
-        GamepadButton: r,
-        schema: {
-          enabled: { default: !0 },
-          camera: { default: '[camera]', type: 'selector' },
-          rotationSensitivity: { default: 2 },
-        },
-        init: function () {
-          const e = this.el.sceneEl
-          ;(this.system = e.systems['tracked-controls-webxr'] || { controllers: [] }),
-            (this.prevTime = window.performance.now()),
-            (this.buttons = {})
-          const t = this.el.object3D.rotation
-          ;(this.pitch = new THREE.Object3D()),
-            (this.pitch.rotation.x = THREE.Math.degToRad(t.x)),
-            (this.yaw = new THREE.Object3D()),
-            (this.yaw.position.y = 10),
-            (this.yaw.rotation.y = THREE.Math.degToRad(t.y)),
-            this.yaw.add(this.pitch),
-            (this._lookVector = new THREE.Vector2()),
-            (this._moveVector = new THREE.Vector2()),
-            (this._dpadVector = new THREE.Vector2()),
-            e.addBehavior(this)
-        },
-        update: function () {
-          this.tick()
-        },
-        tick: function (e, t) {
-          this.updateButtonState(), this.updateRotation(t)
-        },
-        remove: function () {},
-        isVelocityActive: function () {
-          if (!this.data.enabled || !this.isConnected()) return !1
-          const e = this._dpadVector,
-            t = this._moveVector
-          this.getDpad(e), this.getJoystick(u, t)
-          const n = e.x || t.x,
-            r = e.y || t.y
-          return Math.abs(n) > i || Math.abs(r) > i
-        },
-        getVelocityDelta: function () {
-          const e = this._dpadVector,
-            t = this._moveVector
-          this.getDpad(e), this.getJoystick(u, t)
-          const n = e.x || t.x,
-            r = e.y || t.y,
-            o = new THREE.Vector3()
-          return Math.abs(n) > i && (o.x += n), Math.abs(r) > i && (o.z += r), o
-        },
-        isRotationActive: function () {
-          if (!this.data.enabled || !this.isConnected()) return !1
-          const e = this._lookVector
-          return this.getJoystick(c, e), Math.abs(e.x) > i || Math.abs(e.y) > i
-        },
-        updateRotation: function (e) {
-          if (!this.isRotationActive()) return
-          const t = this.data,
-            n = this.yaw,
-            r = this.pitch,
-            o = t.camera.components['look-controls'],
-            a = o && o.pitchObject && o.yawObject
-          a && (r.rotation.copy(o.pitchObject.rotation), n.rotation.copy(o.yawObject.rotation))
-          const s = this._lookVector
-          this.getJoystick(c, s),
-            Math.abs(s.x) <= i && (s.x = 0),
-            Math.abs(s.y) <= i && (s.y = 0),
-            s.multiplyScalar((t.rotationSensitivity * e) / 1e3),
-            (n.rotation.y -= s.x),
-            (r.rotation.x -= s.y),
-            (r.rotation.x = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, r.rotation.x))),
-            t.camera.object3D.rotation.set(r.rotation.x, n.rotation.y, 0),
-            a && (o.pitchObject.rotation.copy(r.rotation), o.yawObject.rotation.copy(n.rotation))
-        },
-        updateButtonState: function () {
-          const e = this.getGamepad(s)
-          if (this.data.enabled && e)
-            for (var t = 0; t < e.buttons.length; t++)
-              e.buttons[t].pressed && !this.buttons[t]
-                ? this.emit(new o('gamepadbuttondown', t, e.buttons[t]))
-                : !e.buttons[t].pressed &&
-                  this.buttons[t] &&
-                  this.emit(new o('gamepadbuttonup', t, e.buttons[t])),
-                (this.buttons[t] = e.buttons[t].pressed)
-          else Object.keys(this.buttons) && (this.buttons = {})
-        },
-        emit: function (e) {
-          this.el.emit(e.type, e), this.el.emit(e.type + ':' + e.index, new o(e.type, e.index, e))
-        },
-        getGamepad: (function () {
-          const e = [],
-            t = []
-          return function (n) {
-            const r = this.el.sceneEl.components['proxy-controls'],
-              o = r && r.isConnected() && r.getGamepad(0)
-            if (o) return o
-            e.length = 0
-            for (let t = 0; t < this.system.controllers.length; t++) {
-              const r = this.system.controllers[t],
-                o = r ? r.gamepad : null
-              if ((e.push(o), o && o.handedness === n)) return o
-            }
-            const i = navigator.getGamepads ? navigator.getGamepads() : t
-            for (let e = 0; e < i.length; e++) {
-              const t = i[e]
-              if (t && t.hand === n) return t
-            }
-            return e[0] || i[0]
-          }
-        })(),
-        getButton: function (e) {
-          return this.getGamepad(s).buttons[e]
-        },
-        getAxis: function (e) {
-          return this.getGamepad(e > 1 ? s : a).axes[e]
-        },
-        getJoystick: function (e, t) {
-          const n = this.getGamepad(e === u ? a : s)
-          if ('xr-standard' === n.mapping)
-            switch (e) {
-              case u:
-                return t.set(n.axes[2], n.axes[3])
-              case c:
-                return t.set(n.axes[0], n.axes[1])
-            }
-          else
-            switch (e) {
-              case u:
-                return t.set(n.axes[0], n.axes[1])
-              case c:
-                return t.set(n.axes[2], n.axes[3])
-            }
-          throw new Error('Unexpected joystick index "%d".', e)
-        },
-        getDpad: function (e) {
-          const t = this.getGamepad(a)
-          return t.buttons[r.DPAD_RIGHT]
-            ? e.set(
-                (t.buttons[r.DPAD_RIGHT].pressed ? 1 : 0) +
-                  (t.buttons[r.DPAD_LEFT].pressed ? -1 : 0),
-                (t.buttons[r.DPAD_UP].pressed ? -1 : 0) + (t.buttons[r.DPAD_DOWN].pressed ? 1 : 0),
-              )
-            : e.set(0, 0)
-        },
-        isConnected: function () {
-          const e = this.getGamepad(a)
-          return !(!e || !e.connected)
-        },
-        getID: function () {
-          return this.getGamepad(a).id
-        },
-      })
-    },
-    52406: function (e, t, n) {
-      n(33386), n(45062), n(32250), n(79048), n(43819), n(99893)
-    },
-    32250: function (e, t, n) {
-      n(77454)
-      const r = window.KeyboardEvent
-      e.exports = AFRAME.registerComponent('keyboard-controls', {
-        schema: { enabled: { default: !0 }, debug: { default: !1 } },
-        init: function () {
-          ;(this.dVelocity = new THREE.Vector3()),
-            (this.localKeys = {}),
-            (this.listeners = {
-              keydown: this.onKeyDown.bind(this),
-              keyup: this.onKeyUp.bind(this),
-              blur: this.onBlur.bind(this),
-            }),
-            this.attachEventListeners()
-        },
-        isVelocityActive: function () {
-          return this.data.enabled && !!Object.keys(this.getKeys()).length
-        },
-        getVelocityDelta: function () {
-          const e = this.data,
-            t = this.getKeys()
-          return (
-            this.dVelocity.set(0, 0, 0),
-            e.enabled &&
-              ((t.KeyW || t.ArrowUp) && (this.dVelocity.z -= 1),
-              (t.KeyA || t.ArrowLeft) && (this.dVelocity.x -= 1),
-              (t.KeyS || t.ArrowDown) && (this.dVelocity.z += 1),
-              (t.KeyD || t.ArrowRight) && (this.dVelocity.x += 1)),
-            this.dVelocity.clone()
-          )
-        },
-        play: function () {
-          this.attachEventListeners()
-        },
-        pause: function () {
-          this.removeEventListeners()
-        },
-        remove: function () {
-          this.pause()
-        },
-        attachEventListeners: function () {
-          window.addEventListener('keydown', this.listeners.keydown, !1),
-            window.addEventListener('keyup', this.listeners.keyup, !1),
-            window.addEventListener('blur', this.listeners.blur, !1)
-        },
-        removeEventListeners: function () {
-          window.removeEventListener('keydown', this.listeners.keydown),
-            window.removeEventListener('keyup', this.listeners.keyup),
-            window.removeEventListener('blur', this.listeners.blur)
-        },
-        onKeyDown: function (e) {
-          AFRAME.utils.shouldCaptureKeyEvent(e) && ((this.localKeys[e.code] = !0), this.emit(e))
-        },
-        onKeyUp: function (e) {
-          AFRAME.utils.shouldCaptureKeyEvent(e) && (delete this.localKeys[e.code], this.emit(e))
-        },
-        onBlur: function () {
-          for (let e in this.localKeys) this.localKeys.hasOwnProperty(e) && delete this.localKeys[e]
-        },
-        emit: function (e) {
-          '__keyboard-controls-proxy' in e && this.el.emit(e.type, e),
-            this.el.emit(e.type + ':' + e.code, new r(e.type, e)),
-            this.data.debug && console.log(e.type + ':' + e.code)
-        },
-        isPressed: function (e) {
-          return e in this.getKeys()
-        },
-        getKeys: function () {
-          return this.isProxied()
-            ? this.el.sceneEl.components['proxy-controls'].getKeyboard()
-            : this.localKeys
-        },
-        isProxied: function () {
-          const e = this.el.sceneEl.components['proxy-controls']
-          return e && e.isConnected()
-        },
-      })
-    },
-    43819: function (e) {
-      const t = '-controls'
-      e.exports = AFRAME.registerComponent('movement-controls', {
-        dependencies: ['rotation'],
-        schema: {
-          enabled: { default: !0 },
-          controls: { default: ['gamepad', 'trackpad', 'keyboard', 'touch'] },
-          speed: { default: 0.3, min: 0 },
-          fly: { default: !1 },
-          constrainToNavMesh: { default: !1 },
-          camera: { default: '[movement-controls] [camera]', type: 'selector' },
-        },
-        init: function () {
-          const e = this.el
-          ;(this.velocityCtrl = null),
-            (this.velocity = new THREE.Vector3()),
-            (this.heading = new THREE.Quaternion()),
-            (this.navGroup = null),
-            (this.navNode = null),
-            e.sceneEl.hasLoaded
-              ? this.injectControls()
-              : e.sceneEl.addEventListener('loaded', this.injectControls.bind(this))
-        },
-        update: function (e) {
-          const t = this.el,
-            n = this.data,
-            r = t.sceneEl.systems.nav
-          t.sceneEl.hasLoaded && this.injectControls(),
-            r &&
-              n.constrainToNavMesh !== e.constrainToNavMesh &&
-              (n.constrainToNavMesh ? r.addAgent(this) : r.removeAgent(this))
-        },
-        injectControls: function () {
-          const e = this.data
-          var n
-          for (let r = 0; r < e.controls.length; r++)
-            (n = e.controls[r] + t), this.el.components[n] || this.el.setAttribute(n, '')
-        },
-        updateNavLocation: function () {
-          ;(this.navGroup = null), (this.navNode = null)
-        },
-        tick: (function () {
-          const e = new THREE.Vector3(),
-            t = new THREE.Vector3(),
-            n = new THREE.Vector3()
-          return function (r, o) {
-            if (!o) return
-            const i = this.el,
-              a = this.data
-            if (!a.enabled) return
-            this.updateVelocityCtrl()
-            const s = this.velocityCtrl,
-              u = this.velocity
-            if (s)
-              if (
-                (o / 1e3 > 0.2 ? u.set(0, 0, 0) : this.updateVelocity(o),
-                a.constrainToNavMesh && !1 !== s.isNavMeshConstrained)
-              ) {
-                if (u.lengthSq() < 1e-5) return
-                e.copy(i.object3D.position),
-                  t
-                    .copy(u)
-                    .multiplyScalar(o / 1e3)
-                    .add(e)
-                const r = i.sceneEl.systems.nav
-                ;(this.navGroup = null === this.navGroup ? r.getGroup(e) : this.navGroup),
-                  (this.navNode = this.navNode || r.getNode(e, this.navGroup)),
-                  (this.navNode = r.clampStep(e, t, this.navGroup, this.navNode, n)),
-                  i.object3D.position.copy(n)
-              } else
-                i.hasAttribute('velocity')
-                  ? i.setAttribute('velocity', u)
-                  : ((i.object3D.position.x += (u.x * o) / 1e3),
-                    (i.object3D.position.y += (u.y * o) / 1e3),
-                    (i.object3D.position.z += (u.z * o) / 1e3))
-          }
-        })(),
-        updateVelocityCtrl: function () {
-          const e = this.data
-          if (e.enabled) {
-            for (let n = 0, r = e.controls.length; n < r; n++) {
-              const r = this.el.components[e.controls[n] + t]
-              if (r && r.isVelocityActive()) return void (this.velocityCtrl = r)
-            }
-            this.velocityCtrl = null
-          }
-        },
-        updateVelocity: (function () {
-          const e = new THREE.Vector2(),
-            t = new THREE.Quaternion()
-          return function (n) {
-            let r
-            const o = this.el,
-              i = this.velocityCtrl,
-              a = this.velocity,
-              s = this.data
-            if (i) {
-              if (!i.getVelocityDelta) {
-                if (i.getVelocity) return void a.copy(i.getVelocity())
-                if (i.getPositionDelta)
-                  return void a.copy(i.getPositionDelta(n).multiplyScalar(1e3 / n))
-                throw new Error('Incompatible movement controls: ', i)
-              }
-              r = i.getVelocityDelta(n)
-            }
-            if (
-              (o.hasAttribute('velocity') &&
-                !s.constrainToNavMesh &&
-                a.copy(this.el.getAttribute('velocity')),
-              r && s.enabled)
-            ) {
-              const n = s.camera
-              t.copy(n.object3D.quaternion),
-                t.premultiply(o.object3D.quaternion),
-                r.applyQuaternion(t)
-              const i = r.length()
-              s.fly
-                ? (a.copy(r), a.multiplyScalar(16.66667 * this.data.speed))
-                : (e.set(r.x, r.z),
-                  e.setLength(i * this.data.speed * 16.66667),
-                  (a.x = e.x),
-                  (a.z = e.y))
-            }
-          }
-        })(),
-      })
-    },
-    79048: function (e) {
-      e.exports = AFRAME.registerComponent('touch-controls', {
-        schema: { enabled: { default: !0 }, reverseEnabled: { default: !0 } },
-        init: function () {
-          ;(this.dVelocity = new THREE.Vector3()), this.bindMethods(), (this.direction = 0)
-        },
-        play: function () {
-          this.addEventListeners()
-        },
-        pause: function () {
-          this.removeEventListeners(), this.dVelocity.set(0, 0, 0)
-        },
-        remove: function () {
-          this.pause()
-        },
-        addEventListeners: function () {
-          const e = this.el.sceneEl,
-            t = e.canvas
-          t
-            ? (t.addEventListener('touchstart', this.onTouchStart),
-              t.addEventListener('touchend', this.onTouchEnd))
-            : e.addEventListener('render-target-loaded', this.addEventListeners.bind(this))
-        },
-        removeEventListeners: function () {
-          const e = this.el.sceneEl && this.el.sceneEl.canvas
-          e &&
-            (e.removeEventListener('touchstart', this.onTouchStart),
-            e.removeEventListener('touchend', this.onTouchEnd))
-        },
-        isVelocityActive: function () {
-          return this.data.enabled && !!this.direction
-        },
-        getVelocityDelta: function () {
-          return (this.dVelocity.z = this.direction), this.dVelocity.clone()
-        },
-        bindMethods: function () {
-          ;(this.onTouchStart = this.onTouchStart.bind(this)),
-            (this.onTouchEnd = this.onTouchEnd.bind(this))
-        },
-        onTouchStart: function (e) {
-          ;(this.direction = -1),
-            this.data.reverseEnabled && 2 === e.touches.length && (this.direction = 1),
-            e.preventDefault()
-        },
-        onTouchEnd: function (e) {
-          ;(this.direction = 0), e.preventDefault()
-        },
-      })
-    },
-    99893: function (e) {
-      e.exports = AFRAME.registerComponent('trackpad-controls', {
-        schema: {
-          enabled: { default: !0 },
-          enableNegX: { default: !0 },
-          enablePosX: { default: !0 },
-          enableNegZ: { default: !0 },
-          enablePosZ: { default: !0 },
-          mode: { default: 'touch', oneOf: ['swipe', 'touch', 'press'] },
-        },
-        init: function () {
-          ;(this.dVelocity = new THREE.Vector3()),
-            (this.zVel = 0),
-            (this.xVel = 0),
-            this.bindMethods()
-        },
-        play: function () {
-          this.addEventListeners()
-        },
-        pause: function () {
-          this.removeEventListeners(), this.dVelocity.set(0, 0, 0)
-        },
-        remove: function () {
-          this.pause()
-        },
-        addEventListeners: function () {
-          const e = this.data,
-            t = this.el.sceneEl
-          switch ((t.addEventListener('axismove', this.onAxisMove), e.mode)) {
-            case 'swipe':
-            case 'touch':
-              t.addEventListener('trackpadtouchstart', this.onTouchStart),
-                t.addEventListener('trackpadtouchend', this.onTouchEnd)
-              break
-            case 'press':
-              t.addEventListener('trackpaddown', this.onTouchStart),
-                t.addEventListener('trackpadup', this.onTouchEnd)
-          }
-        },
-        removeEventListeners: function () {
-          const e = this.el.sceneEl
-          e.removeEventListener('axismove', this.onAxisMove),
-            e.removeEventListener('trackpadtouchstart', this.onTouchStart),
-            e.removeEventListener('trackpadtouchend', this.onTouchEnd),
-            e.removeEventListener('trackpaddown', this.onTouchStart),
-            e.removeEventListener('trackpadup', this.onTouchEnd)
-        },
-        isVelocityActive: function () {
-          return this.data.enabled && this.isMoving
-        },
-        getVelocityDelta: function () {
-          return (
-            (this.dVelocity.z = this.isMoving ? -this.zVel : 1),
-            (this.dVelocity.x = this.isMoving ? this.xVel : 1),
-            this.dVelocity.clone()
-          )
-        },
-        bindMethods: function () {
-          ;(this.onTouchStart = this.onTouchStart.bind(this)),
-            (this.onTouchEnd = this.onTouchEnd.bind(this)),
-            (this.onAxisMove = this.onAxisMove.bind(this))
-        },
-        onTouchStart: function (e) {
-          switch (this.data.mode) {
-            case 'swipe':
-              ;(this.canRecordAxis = !0), (this.startingAxisData = [])
-              break
-            case 'touch':
-            case 'press':
-              this.isMoving = !0
-          }
-          e.preventDefault()
-        },
-        onTouchEnd: function (e) {
-          'swipe' == this.data.mode && (this.startingAxisData = []),
-            (this.isMoving = !1),
-            e.preventDefault()
-        },
-        onAxisMove: function (e) {
-          switch (this.data.mode) {
-            case 'swipe':
-              return this.handleSwipeAxis(e)
-            case 'touch':
-            case 'press':
-              return this.handleTouchAxis(e)
-          }
-        },
-        handleSwipeAxis: function (e) {
-          const t = this.data,
-            n = e.detail.axis
-          if (
-            (0 === this.startingAxisData.length &&
-              this.canRecordAxis &&
-              ((this.canRecordAxis = !1),
-              (this.startingAxisData[0] = n[0]),
-              (this.startingAxisData[1] = n[1])),
-            this.startingAxisData.length > 0)
-          ) {
-            let e = 0,
-              r = 0
-            t.enableNegX && n[0] < this.startingAxisData[0] && (e = -1),
-              t.enablePosX && n[0] > this.startingAxisData[0] && (e = 1),
-              t.enablePosZ && n[1] > this.startingAxisData[1] && (r = -1),
-              t.enableNegZ && n[1] < this.startingAxisData[1] && (r = 1)
-            const o = Math.abs(this.startingAxisData[1] - n[1])
-            Math.abs(this.startingAxisData[0] - n[0]) > o
-              ? ((this.zVel = 0), (this.xVel = e), (this.isMoving = !0))
-              : ((this.xVel = 0), (this.zVel = r), (this.isMoving = !0))
-          }
-        },
-        handleTouchAxis: function (e) {
-          const t = this.data,
-            n = e.detail.axis
-          let r = 0,
-            o = 0
-          t.enableNegX && n[0] < 0 && (r = -1),
-            t.enablePosX && n[0] > 0 && (r = 1),
-            t.enablePosZ && n[1] > 0 && (o = -1),
-            t.enableNegZ && n[1] < 0 && (o = 1),
-            Math.abs(n[0]) > Math.abs(n[1])
-              ? ((this.zVel = 0), (this.xVel = r))
-              : ((this.xVel = 0), (this.zVel = o))
-        },
-      })
-    },
-    76591: function (e) {
-      const t = { once: THREE.LoopOnce, repeat: THREE.LoopRepeat, pingpong: THREE.LoopPingPong }
-      function n(e) {
-        return e.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&')
-      }
-      e.exports = AFRAME.registerComponent('animation-mixer', {
-        schema: {
-          clip: { default: '*' },
-          duration: { default: 0 },
-          clampWhenFinished: { default: !1, type: 'boolean' },
-          crossFadeDuration: { default: 0 },
-          loop: { default: 'repeat', oneOf: Object.keys(t) },
-          repetitions: { default: 1 / 0, min: 0 },
-          timeScale: { default: 1 },
-        },
-        init: function () {
-          ;(this.model = null), (this.mixer = null), (this.activeActions = [])
-          const e = this.el.getObject3D('mesh')
-          e
-            ? this.load(e)
-            : this.el.addEventListener('model-loaded', (e) => {
-                this.load(e.detail.model)
-              })
-        },
-        load: function (e) {
-          const t = this.el
-          ;(this.model = e),
-            (this.mixer = new THREE.AnimationMixer(e)),
-            this.mixer.addEventListener('loop', (e) => {
-              t.emit('animation-loop', { action: e.action, loopDelta: e.loopDelta })
-            }),
-            this.mixer.addEventListener('finished', (e) => {
-              t.emit('animation-finished', { action: e.action, direction: e.direction })
-            }),
-            this.data.clip && this.update({})
-        },
-        remove: function () {
-          this.mixer && this.mixer.stopAllAction()
-        },
-        update: function (e) {
-          if (!e) return
-          const n = this.data,
-            r = AFRAME.utils.diff(n, e)
-          if ('clip' in r) return this.stopAction(), void (n.clip && this.playAction())
-          this.activeActions.forEach((e) => {
-            'duration' in r && n.duration && e.setDuration(n.duration),
-              'clampWhenFinished' in r && (e.clampWhenFinished = n.clampWhenFinished),
-              ('loop' in r || 'repetitions' in r) && e.setLoop(t[n.loop], n.repetitions),
-              'timeScale' in r && e.setEffectiveTimeScale(n.timeScale)
-          })
-        },
-        stopAction: function () {
-          const e = this.data
-          for (let t = 0; t < this.activeActions.length; t++)
-            e.crossFadeDuration
-              ? this.activeActions[t].fadeOut(e.crossFadeDuration)
-              : this.activeActions[t].stop()
-          this.activeActions.length = 0
-        },
-        playAction: function () {
-          if (!this.mixer) return
-          const e = this.model,
-            r = this.data,
-            o = e.animations || (e.geometry || {}).animations || []
-          if (!o.length) return
-          const i = ((a = r.clip), new RegExp('^' + a.split(/\*+/).map(n).join('.*') + '$'))
-          var a
-          for (let n, s = 0; (n = o[s]); s++)
-            if (n.name.match(i)) {
-              const o = this.mixer.clipAction(n, e)
-              ;(o.enabled = !0),
-                (o.clampWhenFinished = r.clampWhenFinished),
-                r.duration && o.setDuration(r.duration),
-                1 !== r.timeScale && o.setEffectiveTimeScale(r.timeScale),
-                o.setLoop(t[r.loop], r.repetitions).fadeIn(r.crossFadeDuration).play(),
-                this.activeActions.push(o)
-            }
-        },
-        tick: function (e, t) {
-          this.mixer && !isNaN(t) && this.mixer.update(t / 1e3)
-        },
-      })
-    },
-    62290: function (e, t, n) {
-      ;(THREE.ColladaLoader = n(20203)),
-        (e.exports.Component = AFRAME.registerComponent('collada-model-legacy', {
-          schema: { type: 'asset' },
-          init: function () {
-            ;(this.model = null), (this.loader = new THREE.ColladaLoader())
-          },
-          update: function () {
-            var e = this,
-              t = this.el,
-              n = this.data,
-              r = this.el.sceneEl.systems.renderer
-            n &&
-              (this.remove(),
-              this.loader.load(n, function (n) {
-                ;(e.model = n.scene),
-                  e.model.traverse(function (e) {
-                    if (e.isMesh) {
-                      var t = e.material
-                      t.color && r.applyColorCorrection(t.color),
-                        t.map && r.applyColorCorrection(t.map),
-                        t.emissive && r.applyColorCorrection(t.emissive),
-                        t.emissiveMap && r.applyColorCorrection(t.emissiveMap)
-                    }
-                  }),
-                  t.setObject3D('mesh', e.model),
-                  t.emit('model-loaded', { format: 'collada', model: e.model })
-              }))
-          },
-          remove: function () {
-            this.model && this.el.removeObject3D('mesh')
-          },
-        }))
-    },
-    5310: function (e, t, n) {
-      ;(THREE.FBXLoader = n(99434)),
-        (e.exports = AFRAME.registerComponent('fbx-model', {
-          schema: { src: { type: 'asset' }, crossorigin: { default: '' } },
-          init: function () {
-            this.model = null
-          },
-          update: function () {
-            const e = this.data
-            if (!e.src) return
-            this.remove()
-            const t = new THREE.FBXLoader()
-            e.crossorigin && t.setCrossOrigin(e.crossorigin), t.load(e.src, this.load.bind(this))
-          },
-          load: function (e) {
-            ;(this.model = e),
-              this.el.setObject3D('mesh', e),
-              this.el.emit('model-loaded', { format: 'fbx', model: e })
-          },
-          remove: function () {
-            this.model && this.el.removeObject3D('mesh')
-          },
-        }))
-    },
-    88837: function (e, t, n) {
-      const r = n(34657)(),
-        o = (function () {
-          let e
-          return function () {
-            return (
-              (e =
-                e ||
-                r(
-                  'https://cdn.jsdelivr.net/gh/mrdoob/three.js@r86/examples/js/loaders/GLTFLoader.js',
-                )),
-              e
-            )
-          }
-        })()
-      e.exports = AFRAME.registerComponent('gltf-model-legacy', {
-        schema: { type: 'model' },
-        init: function () {
-          ;(this.model = null),
-            (this.loader = null),
-            (this.loaderPromise = o().then(() => {
-              ;(this.loader = new THREE.GLTFLoader()), this.loader.setCrossOrigin('Anonymous')
-            }))
-        },
-        update: function () {
-          const e = this,
-            t = this.el,
-            n = this.data
-          n &&
-            (this.remove(),
-            this.loaderPromise.then(() => {
-              this.loader.load(n, function (n) {
-                ;(e.model = n.scene),
-                  (e.model.animations = n.animations),
-                  t.setObject3D('mesh', e.model),
-                  t.emit('model-loaded', { format: 'gltf', model: e.model })
-              })
-            }))
-        },
-        remove: function () {
-          this.model && this.el.removeObject3D('mesh')
-        },
-      })
-    },
-    29874: function (e, t, n) {
-      n(76591), n(62290), n(5310), n(88837), n(30171)
-    },
-    30171: function (e) {
-      e.exports = AFRAME.registerComponent('object-model', {
-        schema: { src: { type: 'asset' }, crossorigin: { default: '' } },
-        init: function () {
-          this.model = null
-        },
-        update: function () {
-          let e
-          const t = this.data
-          t.src &&
-            (this.remove(),
-            (e = new THREE.ObjectLoader()),
-            t.crossorigin && e.setCrossOrigin(t.crossorigin),
-            e.load(t.src, (e) => {
-              e.traverse((e) => {
-                e instanceof THREE.SkinnedMesh &&
-                  e.material &&
-                  (e.material.skinning = !!((e.geometry && e.geometry.bones) || []).length)
-              }),
-                this.load(e)
-            }))
-        },
-        load: function (e) {
-          ;(this.model = e),
-            this.el.setObject3D('mesh', e),
-            this.el.emit('model-loaded', { format: 'json', model: e })
-        },
-        remove: function () {
-          this.model && this.el.removeObject3D('mesh')
-        },
-      })
-    },
-    37642: function (e) {
-      e.exports = AFRAME.registerComponent('checkpoint', {
-        schema: { offset: { default: { x: 0, y: 0, z: 0 }, type: 'vec3' } },
-        init: function () {
-          ;(this.active = !1),
-            (this.targetEl = null),
-            (this.fire = this.fire.bind(this)),
-            (this.offset = new THREE.Vector3())
-        },
-        update: function () {
-          this.offset.copy(this.data.offset)
-        },
-        play: function () {
-          this.el.addEventListener('click', this.fire)
-        },
-        pause: function () {
-          this.el.removeEventListener('click', this.fire)
-        },
-        remove: function () {
-          this.pause()
-        },
-        fire: function () {
-          const e = this.el.sceneEl.querySelector('[checkpoint-controls]')
-          if (!e) throw new Error('No `checkpoint-controls` component found.')
-          e.components['checkpoint-controls'].setCheckpoint(this.el)
-        },
-        getOffset: function () {
-          return this.offset.copy(this.data.offset)
-        },
-      })
-    },
-    74795: function (e) {
-      function t(e, t, n, r) {
-        e &&
-          ((t = t || []),
-          e.traverse((e) => {
-            if (!e.isMesh) return
-            var o
-            ;((o = e.material)
-              ? Array.isArray(o)
-                ? o
-                : o.materials
-                ? o.materials
-                : [o]
-              : []
-            ).forEach((e) => {
-              ;(e && !('envMap' in e)) ||
-                (t.length && -1 === t.indexOf(e.name)) ||
-                ((e.envMap = n), (e.reflectivity = r), (e.needsUpdate = !0))
-            })
-          }))
-      }
-      e.exports = AFRAME.registerComponent('cube-env-map', {
-        multiple: !0,
-        schema: {
-          path: { default: '' },
-          extension: { default: 'jpg', oneOf: ['jpg', 'png'] },
-          format: { default: 'RGBFormat', oneOf: ['RGBFormat', 'RGBAFormat'] },
-          enableBackground: { default: !1 },
-          reflectivity: { default: 1, min: 0, max: 1 },
-          materials: { default: [] },
-        },
-        init: function () {
-          const e = this.data
-          ;(this.texture = new THREE.CubeTextureLoader().load([
-            e.path + 'posx.' + e.extension,
-            e.path + 'negx.' + e.extension,
-            e.path + 'posy.' + e.extension,
-            e.path + 'negy.' + e.extension,
-            e.path + 'posz.' + e.extension,
-            e.path + 'negz.' + e.extension,
-          ])),
-            (this.texture.format = THREE[e.format]),
-            (this.object3dsetHandler = () => {
-              const e = this.el.getObject3D('mesh'),
-                n = this.data
-              t(e, n.materials, this.texture, n.reflectivity)
-            }),
-            this.el.addEventListener('object3dset', this.object3dsetHandler)
-        },
-        update: function (e) {
-          const n = this.data,
-            r = this.el.getObject3D('mesh')
-          let o = [],
-            i = []
-          if (
-            (n.materials.length &&
-              (e.materials
-                ? ((o = n.materials.filter((t) => !e.materials.includes(t))),
-                  (i = e.materials.filter((e) => !n.materials.includes(e))))
-                : (o = n.materials)),
-            o.length && t(r, o, this.texture, n.reflectivity),
-            i.length && t(r, i, null, 1),
-            e.materials && n.reflectivity !== e.reflectivity)
-          ) {
-            const o = n.materials.filter((t) => e.materials.includes(t))
-            o.length && t(r, o, this.texture, n.reflectivity)
-          }
-          this.data.enableBackground && !e.enableBackground
-            ? this.setBackground(this.texture)
-            : !this.data.enableBackground && e.enableBackground && this.setBackground(null)
-        },
-        remove: function () {
-          this.el.removeEventListener('object3dset', this.object3dsetHandler)
-          const e = this.el.getObject3D('mesh'),
-            n = this.data
-          t(e, n.materials, null, 1), n.enableBackground && this.setBackground(null)
-        },
-        setBackground: function (e) {
-          this.el.sceneEl.object3D.background = e
-        },
-      })
-    },
-    79511: function (e) {
-      e.exports = AFRAME.registerComponent('grab', {
-        init: function () {
-          ;(this.system = this.el.sceneEl.systems.physics),
-            (this.GRABBED_STATE = 'grabbed'),
-            (this.grabbing = !1),
-            (this.hitEl = null),
-            (this.physics = this.el.sceneEl.systems.physics),
-            (this.constraint = null),
-            (this.onHit = this.onHit.bind(this)),
-            (this.onGripOpen = this.onGripOpen.bind(this)),
-            (this.onGripClose = this.onGripClose.bind(this))
-        },
-        play: function () {
-          const e = this.el
-          e.addEventListener('hit', this.onHit),
-            e.addEventListener('gripdown', this.onGripClose),
-            e.addEventListener('gripup', this.onGripOpen),
-            e.addEventListener('trackpaddown', this.onGripClose),
-            e.addEventListener('trackpadup', this.onGripOpen),
-            e.addEventListener('triggerdown', this.onGripClose),
-            e.addEventListener('triggerup', this.onGripOpen)
-        },
-        pause: function () {
-          const e = this.el
-          e.removeEventListener('hit', this.onHit),
-            e.removeEventListener('gripdown', this.onGripClose),
-            e.removeEventListener('gripup', this.onGripOpen),
-            e.removeEventListener('trackpaddown', this.onGripClose),
-            e.removeEventListener('trackpadup', this.onGripOpen),
-            e.removeEventListener('triggerdown', this.onGripClose),
-            e.removeEventListener('triggerup', this.onGripOpen)
-        },
-        onGripClose: function () {
-          this.grabbing = !0
-        },
-        onGripOpen: function () {
-          const e = this.hitEl
-          ;(this.grabbing = !1),
-            e &&
-              (e.removeState(this.GRABBED_STATE),
-              (this.hitEl = void 0),
-              this.system.removeConstraint(this.constraint),
-              (this.constraint = null))
-        },
-        onHit: function (e) {
-          const t = e.detail.el
-          t &&
-            !t.is(this.GRABBED_STATE) &&
-            this.grabbing &&
-            !this.hitEl &&
-            (t.addState(this.GRABBED_STATE),
-            (this.hitEl = t),
-            (this.constraint = new CANNON.LockConstraint(this.el.body, t.body)),
-            this.system.addConstraint(this.constraint))
-        },
-      })
-    },
-    59236: function (e, t, n) {
-      n(37642), n(74795), n(79511), n(70765), n(80837), n(58310), n(78240), n(91790)
-    },
-    70765: function (e) {
-      e.exports = AFRAME.registerComponent('jump-ability', {
-        dependencies: ['velocity'],
-        schema: {
-          on: { default: 'keydown:Space gamepadbuttondown:0' },
-          playerHeight: { default: 1.764 },
-          maxJumps: { default: 1 },
-          distance: { default: 5 },
-          debug: { default: !1 },
-        },
-        init: function () {
-          ;(this.velocity = 0), (this.numJumps = 0)
-          const e = this.beginJump.bind(this),
-            t = this.data.on.split(' ')
-          this.bindings = {}
-          for (let n = 0; n < t.length; n++)
-            (this.bindings[t[n]] = e), this.el.addEventListener(t[n], e)
-          ;(this.bindings.collide = this.onCollide.bind(this)),
-            this.el.addEventListener('collide', this.bindings.collide)
-        },
-        remove: function () {
-          for (var e in this.bindings)
-            this.bindings.hasOwnProperty(e) &&
-              (this.el.removeEventListener(e, this.bindings[e]), delete this.bindings[e])
-          this.el.removeEventListener('collide', this.bindings.collide),
-            delete this.bindings.collide
-        },
-        beginJump: function () {
-          if (this.numJumps < this.data.maxJumps) {
-            const e = this.data,
-              t = Math.sqrt(-2 * e.distance * -24.8),
-              n = this.el.getAttribute('velocity')
-            this.el.setAttribute('velocity', { x: n.x, y: t, z: n.z }),
-              this.numJumps++,
-              this.el.emit('jumpstart')
-          }
-        },
-        onCollide: function () {
-          this.numJumps > 0 && this.el.emit('jumpend'), (this.numJumps = 0)
-        },
-      })
-    },
-    80837: function (e) {
-      const t = 1e-6
-      e.exports = AFRAME.registerComponent('kinematic-body', {
-        dependencies: ['velocity'],
-        schema: {
-          mass: { default: 5 },
-          radius: { default: 1.3 },
-          linearDamping: { default: 0.05 },
-          enableSlopes: { default: !0 },
-          enableJumps: { default: !1 },
-        },
-        init: function () {
-          ;(this.system = this.el.sceneEl.systems.physics), this.system.addComponent(this)
-          const e = this.el,
-            t = this.data,
-            n = new CANNON.Vec3().copy(e.object3D.getWorldPosition(new THREE.Vector3()))
-          ;(this.body = new CANNON.Body({
-            material: this.system.getMaterial('staticMaterial'),
-            position: n,
-            mass: t.mass,
-            linearDamping: t.linearDamping,
-            fixedRotation: !0,
-          })),
-            this.body.addShape(new CANNON.Sphere(t.radius), new CANNON.Vec3(0, t.radius, 0)),
-            (this.body.el = this.el),
-            (this.el.body = this.body),
-            this.system.addBody(this.body),
-            e.hasAttribute('wasd-controls') &&
-              console.warn(
-                '[kinematic-body] Not compatible with wasd-controls, use movement-controls.',
-              )
-        },
-        remove: function () {
-          this.system.removeBody(this.body), this.system.removeComponent(this), delete this.el.body
-        },
-        beforeStep: function (e, t) {
-          if (!t) return
-          const n = this.el,
-            r = this.data,
-            o = this.body
-          r.enableJumps || o.velocity.set(0, 0, 0), o.position.copy(n.getAttribute('position'))
-        },
-        step: (function () {
-          const e = new THREE.Vector3(),
-            n = new THREE.Vector3(),
-            r = new THREE.Vector3(),
-            o = new THREE.Vector3()
-          return function (i, a) {
-            if (!a) return
-            let s,
-              u,
-              c = this.body,
-              l = this.data,
-              d = !1,
-              f = -1 / 0,
-              h = this.system.getContacts()
-            ;(a = Math.min(a, 1e3 * this.system.data.maxInterval)),
-              o.set(0, 0, 0),
-              e.copy(this.el.getAttribute('velocity')),
-              c.velocity.copy(e)
-            for (var p, v = 0; (p = h[v]); v++)
-              if (p.enabled) {
-                if (c.id === p.bi.id) p.ni.negate(r)
-                else {
-                  if (c.id !== p.bj.id) continue
-                  r.copy(p.ni)
-                }
-                ;(d = c.velocity.dot(r) < -t),
-                  d && r.y <= 0.5
-                    ? e.projectOnPlane(r)
-                    : r.y > 0.5 &&
-                      ((s =
-                        c.id === p.bi.id
-                          ? Math.abs(p.rj.y + p.bj.position.y)
-                          : Math.abs(p.ri.y + p.bi.position.y)),
-                      s > f && ((f = s), o.copy(r), (u = c.id === p.bi.id ? p.bj : p.bi)))
-              }
-            n.copy(e).normalize(),
-              u && (!l.enableJumps || n.y < 0.5)
-                ? (l.enableSlopes
-                    ? o.y < 1 - t && o.copy(this.raycastToGround(u, o))
-                    : o.set(0, 1, 0),
-                  e.projectOnPlane(o))
-                : this.system.driver.world &&
-                  e.add(this.system.driver.world.gravity.scale((4 * a) / 1e3)),
-              c.velocity.copy(e),
-              this.el.setAttribute('velocity', c.velocity),
-              this.el.setAttribute('position', c.position)
-          }
-        })(),
-        raycastToGround: function (e, t) {
-          let n,
-            r,
-            o = this.body.position,
-            i = this.body.position.clone()
-          return (
-            (n = new CANNON.Ray(o, i)),
-            n._updateDirection(),
-            n.intersectBody(e),
-            n.hasHit ? ((r = n.result.hitNormalWorld), Math.abs(r.y) > Math.abs(t.y) ? r : t) : t
-          )
-        },
-      })
-    },
-    58310: function (e) {
-      e.exports = AFRAME.registerComponent('mesh-smooth', {
-        init: function () {
-          this.el.addEventListener('model-loaded', (e) => {
-            e.detail.model.traverse((e) => {
-              e.isMesh && e.geometry.computeVertexNormals()
-            })
-          })
-        },
-      })
-    },
-    78240: function (e) {
-      e.exports = AFRAME.registerComponent('normal-material', {
-        init: function () {
-          ;(this.material = new THREE.MeshNormalMaterial({ flatShading: !0 })),
-            (this.applyMaterial = this.applyMaterial.bind(this)),
-            this.el.addEventListener('object3dset', this.applyMaterial)
-        },
-        remove: function () {
-          this.el.removeEventListener('object3dset', this.applyMaterial)
-        },
-        applyMaterial: function () {
-          this.el.object3D.traverse((e) => {
-            e.isMesh && (e.material = this.material)
-          })
-        },
-      })
-    },
-    91790: function (e) {
-      e.exports = AFRAME.registerComponent('sphere-collider', {
-        schema: {
-          objects: { default: '' },
-          state: { default: 'collided' },
-          radius: { default: 0.05 },
-          watch: { default: !0 },
-        },
-        init: function () {
-          ;(this.observer = null),
-            (this.els = []),
-            (this.collisions = []),
-            (this.handleHit = this.handleHit.bind(this)),
-            (this.handleHitEnd = this.handleHitEnd.bind(this))
-        },
-        remove: function () {
-          this.pause()
-        },
-        play: function () {
-          const e = this.el.sceneEl
-          this.data.watch &&
-            ((this.observer = new MutationObserver(this.update.bind(this, null))),
-            this.observer.observe(e, { childList: !0, subtree: !0 }))
-        },
-        pause: function () {
-          this.observer && (this.observer.disconnect(), (this.observer = null))
-        },
-        update: function () {
-          const e = this.data
-          let t
-          ;(t = e.objects ? this.el.sceneEl.querySelectorAll(e.objects) : this.el.sceneEl.children),
-            (this.els = Array.prototype.slice.call(t))
-        },
-        tick: (function () {
-          const e = new THREE.Vector3(),
-            t = new THREE.Vector3(),
-            n = new THREE.Vector3(),
-            r = new THREE.Vector3(),
-            o = new THREE.Box3(),
-            i = new Map()
-          return function () {
-            const a = this.el,
-              s = this.data,
-              u = a.getObject3D('mesh'),
-              c = []
-            let l
-            var d
-            u &&
-              (i.clear(),
-              a.object3D.getWorldPosition(e),
-              a.object3D.getWorldScale(n),
-              (l = s.radius * ((d = n), Math.max.apply(null, d.toArray()))),
-              this.els.forEach(function (n) {
-                let a, s, u, d
-                if (!n.isEntity) return
-                if (((s = n.getObject3D('mesh')), !s)) return
-                if (
-                  (o.setFromObject(s).getSize(r),
-                  (d = Math.max(r.x, r.y, r.z) / 2),
-                  (a = Math.sqrt(2 * d * d)),
-                  o.getCenter(t),
-                  !a)
-                )
-                  return
-                ;(u = e.distanceTo(t)), u < a + l && (c.push(n), i.set(n, u))
-              }),
-              c.sort((e, t) => (i.get(e) > i.get(t) ? 1 : -1)).forEach(this.handleHit),
-              0 === c.length && a.emit('hit', { el: null }),
-              this.collisions.filter((e) => !i.has(e)).forEach(this.handleHitEnd),
-              (this.collisions = c))
-          }
-        })(),
-        handleHit: function (e) {
-          e.emit('hit'), e.addState(this.data.state), this.el.emit('hit', { el: e })
-        },
-        handleHitEnd: function (e) {
-          e.emit('hitend'), e.removeState(this.data.state), this.el.emit('hitend', { el: e })
-        },
-      })
-    },
-    82578: function (e, t, n) {
-      n(38453), n(11250), n(31465)
-    },
-    11250: function (e) {
-      e.exports = AFRAME.registerComponent('nav-agent', {
-        schema: { destination: { type: 'vec3' }, active: { default: !1 }, speed: { default: 2 } },
-        init: function () {
-          ;(this.system = this.el.sceneEl.systems.nav),
-            this.system.addAgent(this),
-            (this.group = null),
-            (this.path = []),
-            (this.raycaster = new THREE.Raycaster())
-        },
-        remove: function () {
-          this.system.removeAgent(this)
-        },
-        update: function () {
-          this.path.length = 0
-        },
-        updateNavLocation: function () {
-          ;(this.group = null), (this.path = [])
-        },
-        tick: (function () {
-          const e = new THREE.Vector3(),
-            t = new THREE.Vector3(),
-            n = new THREE.Vector3()
-          return function (r, o) {
-            const i = this.el,
-              a = this.data,
-              s = this.raycaster,
-              u = (a.speed * o) / 1e3
-            if (!a.active) return
-            if (!this.path.length) {
-              const t = this.el.object3D.position
-              ;(this.group = this.group || this.system.getGroup(t)),
-                (this.path = this.system.getPath(t, e.copy(a.destination), this.group) || []),
-                i.emit('navigation-start')
-            }
-            if (!this.path.length)
-              return (
-                console.warn('[nav] Unable to find path to %o.', a.destination),
-                this.el.setAttribute('nav-agent', { active: !1 }),
-                void i.emit('navigation-end')
-              )
-            const c = i.object3D.position,
-              l = this.path[0]
-            t.subVectors(l, c)
-            let d
-            if (t.length() < u) {
-              if ((this.path.shift(), !this.path.length))
-                return (
-                  this.el.setAttribute('nav-agent', { active: !1 }), void i.emit('navigation-end')
-                )
-              n.copy(c), (d = this.path[0])
-            } else n.copy(t.setLength(u)).add(c), (d = l)
-            ;(d.y = c.y),
-              i.object3D.lookAt(d),
-              s.ray.origin.copy(n),
-              (s.ray.origin.y += 1.5),
-              (s.ray.direction.y = -1)
-            const f = s.intersectObject(this.system.getNavMesh())
-            f.length ? (t.subVectors(f[0].point, c), c.add(t.setLength(u))) : c.copy(n)
-          }
-        })(),
-      })
-    },
-    38453: function (e) {
-      e.exports = AFRAME.registerComponent('nav-mesh', {
-        init: function () {
-          ;(this.system = this.el.sceneEl.systems.nav),
-            (this.hasLoadedNavMesh = !1),
-            this.el.addEventListener('object3dset', this.loadNavMesh.bind(this))
-        },
-        play: function () {
-          this.hasLoadedNavMesh || this.loadNavMesh()
-        },
-        loadNavMesh: function () {
-          const e = this.el.getObject3D('mesh'),
-            t = this.el.sceneEl.object3D
-          if (!e) return
-          let n
-          if (
-            (e.traverse((e) => {
-              e.isMesh && (n = e)
-            }),
-            !n)
-          )
-            return
-          const r = n.geometry.isBufferGeometry
-            ? new THREE.Geometry().fromBufferGeometry(n.geometry)
-            : n.geometry.clone()
-          t.updateMatrixWorld(),
-            r.applyMatrix(n.matrixWorld),
-            this.system.setNavMeshGeometry(r),
-            (this.hasLoadedNavMesh = !0)
-        },
-      })
-    },
-    31465: function (e, t, n) {
-      const { Pathfinding: r } = n(56594),
-        o = new r(),
-        i = 'level'
-      e.exports = AFRAME.registerSystem('nav', {
-        init: function () {
-          ;(this.navMesh = null), (this.agents = new Set())
-        },
-        setNavMeshGeometry: function (e) {
-          ;(this.navMesh = new THREE.Mesh(e)),
-            o.setZoneData(i, r.createZone(e)),
-            Array.from(this.agents).forEach((e) => e.updateNavLocation())
-        },
-        getNavMesh: function () {
-          return this.navMesh
-        },
-        addAgent: function (e) {
-          this.agents.add(e)
-        },
-        removeAgent: function (e) {
-          this.agents.delete(e)
-        },
-        getPath: function (e, t, n) {
-          return this.navMesh ? o.findPath(e, t, i, n) : null
-        },
-        getGroup: function (e) {
-          return this.navMesh ? o.getGroup(i, e) : null
-        },
-        getNode: function (e, t) {
-          return this.navMesh ? o.getClosestNode(e, i, t, !0) : null
-        },
-        clampStep: function (e, t, n, r, a) {
-          return this.navMesh
-            ? r
-              ? o.clampStep(e, t, r, i, n, a)
-              : (a.copy(t), this.getNode(t, n))
-            : (a.copy(t), null)
-        },
-      })
-    },
-    50386: function (e) {
-      e.exports = AFRAME.registerPrimitive('a-grid', {
-        defaultComponents: {
-          geometry: { primitive: 'plane', width: 75, height: 75 },
-          rotation: { x: -90, y: 0, z: 0 },
-          material: {
-            src: 'url(https://cdn.jsdelivr.net/gh/donmccurdy/aframe-extras@v1.16.3/assets/grid.png)',
-            repeat: '75 75',
-          },
-        },
-        mappings: { width: 'geometry.width', height: 'geometry.height', src: 'material.src' },
-      })
-    },
-    23535: function (e, t, n) {
-      const r = n(63471),
-        o = n(82667)
-      ;(e.exports.Primitive = AFRAME.registerPrimitive('a-hexgrid', {
-        defaultComponents: { hexgrid: {} },
-        mappings: { src: 'hexgrid.src' },
-      })),
-        (e.exports.Component = AFRAME.registerComponent('hexgrid', {
-          dependencies: ['material'],
-          schema: { src: { type: 'asset' } },
-          init: function () {
-            const e = this.data
-            e.src
-              ? fetch(e.src)
-                  .then((e) => e.json())
-                  .then((e) => this.addMesh(e))
-              : this.addMesh(o)
-          },
-          addMesh: function (e) {
-            const t = new r.HexGrid()
-            t.fromJSON(e)
-            const n = new r.Board(t)
-            n.generateTilemap(), this.el.setObject3D('mesh', n.group), this.addMaterial()
-          },
-          addMaterial: function () {
-            const e = (this.el.components.material || {}).material
-            e &&
-              this.el.object3D.traverse((t) => {
-                t.isMesh && (t.material = e)
-              })
-          },
-          remove: function () {
-            this.el.removeObject3D('mesh')
-          },
-        }))
-    },
-    59307: function (e) {
-      ;(e.exports.Primitive = AFRAME.registerPrimitive('a-ocean', {
-        defaultComponents: { ocean: {}, rotation: { x: -90, y: 0, z: 0 } },
-        mappings: {
-          width: 'ocean.width',
-          depth: 'ocean.depth',
-          density: 'ocean.density',
-          amplitude: 'ocean.amplitude',
-          amplitudeVariance: 'ocean.amplitudeVariance',
-          speed: 'ocean.speed',
-          speedVariance: 'ocean.speedVariance',
-          color: 'ocean.color',
-          opacity: 'ocean.opacity',
-        },
-      })),
-        (e.exports.Component = AFRAME.registerComponent('ocean', {
-          schema: {
-            width: { default: 10, min: 0 },
-            depth: { default: 10, min: 0 },
-            density: { default: 10 },
-            amplitude: { default: 0.1 },
-            amplitudeVariance: { default: 0.3 },
-            speed: { default: 1 },
-            speedVariance: { default: 2 },
-            color: { default: '#7AD2F7', type: 'color' },
-            opacity: { default: 0.8 },
-          },
-          play: function () {
-            const e = this.el,
-              t = this.data
-            let n = e.components.material
-            const r = new THREE.PlaneGeometry(t.width, t.depth, t.density, t.density)
-            r.mergeVertices(), (this.waves = [])
-            for (let o, i = 0, a = r.vertices.length; i < a; i++)
-              (o = r.vertices[i]),
-                this.waves.push({
-                  z: o.z,
-                  ang: Math.random() * Math.PI * 2,
-                  amp: t.amplitude + Math.random() * t.amplitudeVariance,
-                  speed: (t.speed + Math.random() * t.speedVariance) / 1e3,
-                })
-            n ||
-              ((n = {}),
-              (n.material = new THREE.MeshPhongMaterial({
-                color: t.color,
-                transparent: t.opacity < 1,
-                opacity: t.opacity,
-                shading: THREE.FlatShading,
-              }))),
-              (this.mesh = new THREE.Mesh(r, n.material)),
-              e.setObject3D('mesh', this.mesh)
-          },
-          remove: function () {
-            this.el.removeObject3D('mesh')
-          },
-          tick: function (e, t) {
-            if (!t) return
-            const n = this.mesh.geometry.vertices
-            for (let r, o, i = 0; (r = n[i]); i++)
-              (o = this.waves[i]), (r.z = o.z + Math.sin(o.ang) * o.amp), (o.ang += o.speed * t)
-            this.mesh.geometry.verticesNeedUpdate = !0
-          },
-        }))
-    },
-    50699: function (e) {
-      ;(e.exports.Primitive = AFRAME.registerPrimitive('a-tube', {
-        defaultComponents: { tube: {} },
-        mappings: {
-          path: 'tube.path',
-          segments: 'tube.segments',
-          radius: 'tube.radius',
-          'radial-segments': 'tube.radialSegments',
-          closed: 'tube.closed',
-        },
-      })),
-        (e.exports.Component = AFRAME.registerComponent('tube', {
-          schema: {
-            path: { default: [] },
-            segments: { default: 64 },
-            radius: { default: 1 },
-            radialSegments: { default: 8 },
-            closed: { default: !1 },
-          },
-          init: function () {
-            const e = this.el,
-              t = this.data
-            let n = e.components.material
-            if (!t.path.length)
-              return void console.error('[a-tube] `path` property expected but not found.')
-            const r = new THREE.CatmullRomCurve3(
-                t.path.map(function (e) {
-                  return (
-                    (e = e.split(' ')), new THREE.Vector3(Number(e[0]), Number(e[1]), Number(e[2]))
-                  )
-                }),
-              ),
-              o = new THREE.TubeGeometry(r, t.segments, t.radius, t.radialSegments, t.closed)
-            n || ((n = {}), (n.material = new THREE.MeshPhongMaterial())),
-              (this.mesh = new THREE.Mesh(o, n.material)),
-              this.el.setObject3D('mesh', this.mesh)
-          },
-          update: function (e) {
-            Object.keys(e).length && (this.remove(), this.init())
-          },
-          remove: function () {
-            this.mesh && this.el.removeObject3D('mesh')
-          },
-        }))
-    },
-    36699: function (e, t, n) {
-      n(50386), n(23535), n(59307), n(50699)
-    },
-    31359: function (e, t, n) {
-      if ('undefined' === typeof AFRAME)
-        throw new Error('Component attempted to register before AFRAME was available.')
-      let r = n(92539)
-      'default' in r && (r = r.default)
-      let o = n(81398)
-      'default' in o && (o = o.default)
-      const i = function (e) {
-          return 'string' === typeof e ? JSON.parse(e) : e
-        },
-        a = function (e) {
-          if ('function' === typeof e) return e
-          const t = eval
-          try {
-            return t('(' + e + ')')
-          } catch (n) {}
-          return null
-        },
-        s = function (e) {
-          return isNaN(parseFloat(e)) ? (a(e) ? a(e) : e) : parseFloat(e)
-        }
-      AFRAME.registerComponent('forcegraph', {
-        schema: {
-          jsonUrl: { type: 'string', default: '' },
-          nodes: { parse: i, default: [] },
-          links: { parse: i, default: [] },
-          numDimensions: { type: 'number', default: 3 },
-          dagMode: { type: 'string', default: '' },
-          dagLevelDistance: { type: 'number', default: 0 },
-          dagNodeFilter: { parse: a, function: () => !0 },
-          onDagError: { parse: a, default: void 0 },
-          nodeRelSize: { type: 'number', default: 4 },
-          nodeId: { type: 'string', default: 'id' },
-          nodeVal: { parse: s, default: 'val' },
-          nodeResolution: { type: 'number', default: 8 },
-          nodeVisibility: { parse: s, default: !0 },
-          nodeColor: { parse: s, default: 'color' },
-          nodeAutoColorBy: { parse: s, default: '' },
-          nodeOpacity: { type: 'number', default: 0.75 },
-          nodeThreeObject: { parse: s, default: null },
-          nodeThreeObjectExtend: { parse: s, default: !1 },
-          linkSource: { type: 'string', default: 'source' },
-          linkTarget: { type: 'string', default: 'target' },
-          linkVisibility: { parse: s, default: !0 },
-          linkColor: { parse: s, default: 'color' },
-          linkAutoColorBy: { parse: s, default: '' },
-          linkOpacity: { type: 'number', default: 0.2 },
-          linkWidth: { parse: s, default: 0 },
-          linkResolution: { type: 'number', default: 6 },
-          linkCurvature: { parse: s, default: 0 },
-          linkCurveRotation: { parse: s, default: 0 },
-          linkMaterial: { parse: s, default: null },
-          linkThreeObject: { parse: s, default: null },
-          linkThreeObjectExtend: { parse: s, default: !1 },
-          linkPositionUpdate: { parse: a, default: null },
-          linkDirectionalArrowLength: { parse: s, default: 0 },
-          linkDirectionalArrowColor: { parse: s, default: null },
-          linkDirectionalArrowRelPos: { parse: s, default: 0.5 },
-          linkDirectionalArrowResolution: { type: 'number', default: 8 },
-          linkDirectionalParticles: { parse: s, default: 0 },
-          linkDirectionalParticleSpeed: { parse: s, default: 0.01 },
-          linkDirectionalParticleWidth: { parse: s, default: 0.5 },
-          linkDirectionalParticleColor: { parse: s, default: null },
-          linkDirectionalParticleResolution: { type: 'number', default: 4 },
-          onNodeHover: { parse: a, default: () => {} },
-          onLinkHover: { parse: a, default: () => {} },
-          onNodeClick: { parse: a, default: () => {} },
-          onLinkClick: { parse: a, default: () => {} },
-          forceEngine: { type: 'string', default: 'd3' },
-          d3AlphaMin: { type: 'number', default: 0 },
-          d3AlphaDecay: { type: 'number', default: 0.0228 },
-          d3VelocityDecay: { type: 'number', default: 0.4 },
-          ngraphPhysics: { parse: i, default: null },
-          warmupTicks: { type: 'int', default: 0 },
-          cooldownTicks: { type: 'int', default: 1e18 },
-          cooldownTime: { type: 'int', default: 15e3 },
-          onEngineTick: { parse: a, default: function () {} },
-          onEngineStop: { parse: a, default: function () {} },
-        },
-        getGraphBbox: function () {
-          return this.forceGraph || (this.forceGraph = new o()), this.forceGraph.getGraphBbox()
-        },
-        emitParticle: function () {
-          this.forceGraph || (this.forceGraph = new o())
-          const e = this.forceGraph,
-            t = e.emitParticle.apply(e, arguments)
-          return t === e ? this : t
-        },
-        d3Force: function () {
-          this.forceGraph || (this.forceGraph = new o())
-          const e = this.forceGraph,
-            t = e.d3Force.apply(e, arguments)
-          return t === e ? this : t
-        },
-        d3ReheatSimulation: function () {
-          return this.forceGraph && this.forceGraph.d3ReheatSimulation(), this
-        },
-        refresh: function () {
-          return this.forceGraph && this.forceGraph.refresh(), this
-        },
-        init: function () {
-          const e = (this.state = {})
-          ;(e.infoEl = document.createElement('a-text')),
-            e.infoEl.setAttribute('position', '0 -0.1 -1'),
-            e.infoEl.setAttribute('width', 1),
-            e.infoEl.setAttribute('align', 'center'),
-            e.infoEl.setAttribute('color', 'lavender')
-          const t = document.querySelector('a-entity[camera], a-camera')
-          t.appendChild(e.infoEl),
-            (e.cameraObj = t.object3D.children.filter(function (e) {
-              return 'PerspectiveCamera' === e.type
-            })[0]),
-            this.el.sceneEl.addEventListener('camera-set-active', function (t) {
-              e.cameraObj = t.detail.cameraEl.components.camera.camera
-            }),
-            this.forceGraph || (this.forceGraph = new o()),
-            this.forceGraph
-              .onFinishUpdate(() => this.el.setObject3D('forcegraphGroup', this.forceGraph))
-              .onLoading(() => e.infoEl.setAttribute('value', 'Loading...'))
-              .onFinishLoading(() => e.infoEl.setAttribute('value', '')),
-            this.el.addEventListener('raycaster-intersected', (t) => (e.hoverDetail = t.detail)),
-            this.el.addEventListener(
-              'raycaster-intersected-cleared',
-              (t) => (e.hoverDetail = t.detail),
-            ),
-            this.el.addEventListener(
-              'click',
-              () =>
-                e.hoverObj &&
-                this.data[
-                  'on' + ('node' === e.hoverObj.__graphObjType ? 'Node' : 'Link') + 'Click'
-                ](e.hoverObj.__data),
-            )
-        },
-        remove: function () {
-          this.state.infoEl.remove(), this.el.removeObject3D('forcegraphGroup')
-        },
-        update: function (e) {
-          const t = this,
-            n = this.data,
-            r = AFRAME.utils.diff(n, e)
-          ;[
-            'jsonUrl',
-            'numDimensions',
-            'dagMode',
-            'dagLevelDistance',
-            'dagNodeFilter',
-            'onDagError',
-            'nodeRelSize',
-            'nodeId',
-            'nodeVal',
-            'nodeResolution',
-            'nodeVisibility',
-            'nodeColor',
-            'nodeAutoColorBy',
-            'nodeOpacity',
-            'nodeThreeObject',
-            'nodeThreeObjectExtend',
-            'linkSource',
-            'linkTarget',
-            'linkVisibility',
-            'linkColor',
-            'linkAutoColorBy',
-            'linkOpacity',
-            'linkWidth',
-            'linkResolution',
-            'linkCurvature',
-            'linkCurveRotation',
-            'linkMaterial',
-            'linkThreeObject',
-            'linkThreeObjectExtend',
-            'linkPositionUpdate',
-            'linkDirectionalArrowLength',
-            'linkDirectionalArrowColor',
-            'linkDirectionalArrowRelPos',
-            'linkDirectionalArrowResolution',
-            'linkDirectionalParticles',
-            'linkDirectionalParticleSpeed',
-            'linkDirectionalParticleWidth',
-            'linkDirectionalParticleColor',
-            'linkDirectionalParticleResolution',
-            'forceEngine',
-            'd3AlphaMin',
-            'd3AphaDecay',
-            'd3VelocityDecay',
-            'ngraphPhysics',
-            'warmupTicks',
-            'cooldownTicks',
-            'cooldownTime',
-            'onEngineTick',
-            'onEngineStop',
-          ]
-            .filter(function (e) {
-              return e in r
-            })
-            .forEach(function (e) {
-              t.forceGraph[e]('' !== n[e] ? n[e] : null)
-            }),
-            ('nodes' in r || 'links' in r) &&
-              t.forceGraph.graphData({ nodes: n.nodes, links: n.links })
-        },
-        tick: function (e, t) {
-          const n = this.state,
-            r = this.data,
-            o = n.hoverDetail
-              ? n.hoverDetail.getIntersection
-                ? n.hoverDetail.getIntersection(this.el)
-                : n.hoverDetail.intersection || void 0
-              : void 0
-          let i = o ? o.object : void 0
-          for (; i && !i.hasOwnProperty('__graphObjType'); ) i = i.parent
-          if (i !== n.hoverObj) {
-            const e = n.hoverObj ? n.hoverObj.__graphObjType : null,
-              t = n.hoverObj ? n.hoverObj.__data : null,
-              o = i ? i.__graphObjType : null,
-              a = i ? i.__data : null
-            e && e !== o && r['on' + ('node' === e ? 'Node' : 'Link') + 'Hover'](null, t),
-              o && r['on' + ('node' === o ? 'Node' : 'Link') + 'Hover'](a, e === o ? t : null),
-              (n.hoverObj = i)
-          }
-          this.forceGraph.tickFrame()
-        },
-      })
-    },
-    45403: function (e, t, n) {
-      'use strict'
-      function r(e) {
-        return e && 'object' == typeof e && 'default' in e ? e.default : e
-      }
-      var o = n(67294),
-        i = n(77380),
-        a = r(n(90233)),
-        s = r(n(37763)),
-        u = r(n(96705)),
-        c = n(88323),
-        l = n(11487),
-        d = n(46017),
-        f = n(87409),
-        h = n(71018),
-        p = n(81820)
-      function v() {
-        return (v =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function m(e, t) {
-        return a(e, t, { keys: ['value', 'label'] })
-      }
-      function g(e) {
-        return o.createElement(
-          l.Text,
-          null,
-          o.createElement(l.Box, { as: 'span' }, 'Create'),
-          ' ',
-          o.createElement(l.Box, { as: 'span', bg: 'yellow.300', fontWeight: 'bold' }, '"', e, '"'),
-        )
-      }
-      t.CUIAutoComplete = function (e) {
-        var t = e.items,
-          n = e.optionFilterFunc,
-          r = void 0 === n ? m : n,
-          a = e.itemRenderer,
-          y = e.highlightItemBg,
-          b = void 0 === y ? 'gray.100' : y,
-          w = e.placeholder,
-          _ = e.label,
-          x = e.listStyleProps,
-          k = e.labelStyleProps,
-          E = e.inputStyleProps,
-          O = e.toggleButtonStyleProps,
-          T = e.tagStyleProps,
-          C = e.selectedIconProps,
-          M = e.listItemStyleProps,
-          S = e.onCreateItem,
-          P = e.icon,
-          j = e.hideToggleButton,
-          I = void 0 !== j && j,
-          A = e.disableCreateItem,
-          R = void 0 !== A && A,
-          D = e.createItemRenderer,
-          L = void 0 === D ? g : D,
-          N = e.renderCustomInput,
-          z = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) t.indexOf((n = i[r])) >= 0 || (o[n] = e[n])
-            return o
-          })(e, [
-            'items',
-            'optionFilterFunc',
-            'itemRenderer',
-            'highlightItemBg',
-            'placeholder',
-            'label',
-            'listStyleProps',
-            'labelStyleProps',
-            'inputStyleProps',
-            'toggleButtonStyleProps',
-            'tagStyleProps',
-            'selectedIconProps',
-            'listItemStyleProps',
-            'onCreateItem',
-            'icon',
-            'hideToggleButton',
-            'disableCreateItem',
-            'createItemRenderer',
-            'renderCustomInput',
-          ]),
-          B = o.useState(!1),
-          H = B[0],
-          F = B[1],
-          V = o.useState(''),
-          W = V[0],
-          U = V[1],
-          G = o.useState(t),
-          q = G[0],
-          K = G[1],
-          Z = o.useRef(null),
-          X = i.useMultipleSelection(z),
-          $ = X.getSelectedItemProps,
-          Y = X.getDropdownProps,
-          Q = X.addSelectedItem,
-          J = X.removeSelectedItem,
-          ee = X.selectedItems,
-          te = ee.map(function (e) {
-            return e.value
-          }),
-          ne = i.useCombobox({
-            inputValue: W,
-            selectedItem: void 0,
-            items: q,
-            onInputValueChange: function (e) {
-              var n = e.selectedItem,
-                o = r(t, e.inputValue || '')
-              H && o.length > 0 && F(!1), n || K(o)
-            },
-            stateReducer: function (e, t) {
-              var n = t.changes
-              switch (t.type) {
-                case i.useCombobox.stateChangeTypes.InputBlur:
-                  return v({}, n, { isOpen: !1 })
-                case i.useCombobox.stateChangeTypes.InputKeyDownEnter:
-                case i.useCombobox.stateChangeTypes.ItemClick:
-                  return v({}, n, {
-                    highlightedIndex: e.highlightedIndex,
-                    inputValue: W,
-                    isOpen: !0,
-                  })
-                case i.useCombobox.stateChangeTypes.FunctionSelectItem:
-                  return v({}, n, { inputValue: W })
-                default:
-                  return n
-              }
-            },
-            onStateChange: function (e) {
-              var n = e.inputValue,
-                r = e.selectedItem
-              switch (e.type) {
-                case i.useCombobox.stateChangeTypes.InputChange:
-                  U(n || '')
-                  break
-                case i.useCombobox.stateChangeTypes.InputKeyDownEnter:
-                case i.useCombobox.stateChangeTypes.ItemClick:
-                  r &&
-                    (te.includes(r.value) ? J(r) : S && H ? (S(r), F(!1), K(t), U('')) : Q(r),
-                    fe(null))
-              }
-            },
-          }),
-          re = ne.isOpen,
-          oe = ne.getToggleButtonProps,
-          ie = ne.getLabelProps,
-          ae = ne.getMenuProps,
-          se = ne.getInputProps,
-          ue = ne.getComboboxProps,
-          ce = ne.highlightedIndex,
-          le = ne.getItemProps,
-          de = ne.openMenu,
-          fe = ne.selectItem,
-          he = ne.setHighlightedIndex
-        return (
-          o.useEffect(
-            function () {
-              0 !== q.length || R || (F(!0), K([{ label: '' + W, value: W }]), he(0))
-            },
-            [q, F, he, W, R],
-          ),
-          u(
-            function () {
-              K(t)
-            },
-            [t],
-          ),
-          o.createElement(
-            l.Stack,
-            null,
-            o.createElement(c.FormLabel, Object.assign({}, v({}, ie({}), k)), _),
-            ee &&
-              o.createElement(
-                l.Stack,
-                { spacing: 2, isInline: !0, flexWrap: 'wrap' },
-                ee.map(function (e, t) {
-                  return o.createElement(
-                    p.Tag,
-                    Object.assign(
-                      { mb: 1 },
-                      T,
-                      { key: 'selected-item-' + t },
-                      $({ selectedItem: e, index: t }),
-                    ),
-                    o.createElement(p.TagLabel, null, e.label),
-                    o.createElement(p.TagCloseButton, {
-                      onClick: function (t) {
-                        t.stopPropagation(), J(e)
-                      },
-                      'aria-label': 'Remove menu selection badge',
-                    }),
-                  )
-                }),
-              ),
-            o.createElement(
-              l.Stack,
-              Object.assign({ isInline: !0 }, ue()),
-              N
-                ? N(
-                    v(
-                      {},
-                      E,
-                      se(
-                        Y({
-                          placeholder: w,
-                          onClick: re ? function () {} : de,
-                          onFocus: re ? function () {} : de,
-                          ref: Z,
-                        }),
-                      ),
-                    ),
-                    v({}, O, oe(), { ariaLabel: 'toggle menu', hideToggleButton: I }),
-                  )
-                : o.createElement(
-                    o.Fragment,
-                    null,
-                    o.createElement(
-                      f.Input,
-                      Object.assign(
-                        {},
-                        E,
-                        se(
-                          Y({
-                            placeholder: w,
-                            onClick: re ? function () {} : de,
-                            onFocus: re ? function () {} : de,
-                            ref: Z,
-                          }),
-                        ),
-                      ),
-                    ),
-                    !I &&
-                      o.createElement(
-                        d.Button,
-                        Object.assign({}, O, oe(), { 'aria-label': 'toggle menu' }),
-                        o.createElement(h.ArrowDownIcon, null),
-                      ),
-                  ),
-            ),
-            o.createElement(
-              l.Box,
-              { pb: 4, mb: 4 },
-              o.createElement(
-                l.List,
-                Object.assign(
-                  {
-                    bg: 'white',
-                    borderRadius: '4px',
-                    border: re && '1px solid rgba(0,0,0,0.1)',
-                    boxShadow: '6px 5px 8px rgba(0,50,30,0.02)',
-                  },
-                  x,
-                  ae(),
-                ),
-                re &&
-                  q.map(function (e, t) {
-                    return o.createElement(
-                      l.ListItem,
-                      Object.assign(
-                        { px: 2, py: 1, borderBottom: '1px solid rgba(0,0,0,0.01)' },
-                        M,
-                        { bg: ce === t ? b : 'inherit', key: '' + e.value + t },
-                        le({ item: e, index: t }),
-                      ),
-                      H
-                        ? L(e.label)
-                        : o.createElement(
-                            l.Box,
-                            { display: 'inline-flex', alignItems: 'center' },
-                            te.includes(e.value) &&
-                              o.createElement(
-                                l.ListIcon,
-                                Object.assign(
-                                  {
-                                    as: P || h.CheckCircleIcon,
-                                    color: 'green.500',
-                                    role: 'img',
-                                    display: 'inline',
-                                    'aria-label': 'Selected',
-                                  },
-                                  C,
-                                ),
-                              ),
-                            a
-                              ? a(e)
-                              : o.createElement(s, {
-                                  autoEscape: !0,
-                                  searchWords: [W || ''],
-                                  textToHighlight: ((n = e), n.label),
-                                }),
-                          ),
-                    )
-                    var n
-                  }),
-              ),
-            ),
-          )
-        )
-      }
-    },
-    47647: function (e, t, n) {
-      'use strict'
-      e.exports = n(45403)
-    },
-    20640: function (e, t, n) {
-      'use strict'
-      var r = n(11742),
-        o = { 'text/plain': 'Text', 'text/html': 'Url', default: 'Text' }
-      e.exports = function (e, t) {
-        var n,
-          i,
-          a,
-          s,
-          u,
-          c,
-          l = !1
-        t || (t = {}), (n = t.debug || !1)
-        try {
-          if (
-            ((a = r()),
-            (s = document.createRange()),
-            (u = document.getSelection()),
-            ((c = document.createElement('span')).textContent = e),
-            (c.style.all = 'unset'),
-            (c.style.position = 'fixed'),
-            (c.style.top = 0),
-            (c.style.clip = 'rect(0, 0, 0, 0)'),
-            (c.style.whiteSpace = 'pre'),
-            (c.style.webkitUserSelect = 'text'),
-            (c.style.MozUserSelect = 'text'),
-            (c.style.msUserSelect = 'text'),
-            (c.style.userSelect = 'text'),
-            c.addEventListener('copy', function (r) {
-              if ((r.stopPropagation(), t.format))
-                if ((r.preventDefault(), 'undefined' === typeof r.clipboardData)) {
-                  n && console.warn('unable to use e.clipboardData'),
-                    n && console.warn('trying IE specific stuff'),
-                    window.clipboardData.clearData()
-                  var i = o[t.format] || o.default
-                  window.clipboardData.setData(i, e)
-                } else r.clipboardData.clearData(), r.clipboardData.setData(t.format, e)
-              t.onCopy && (r.preventDefault(), t.onCopy(r.clipboardData))
-            }),
-            document.body.appendChild(c),
-            s.selectNodeContents(c),
-            u.addRange(s),
-            !document.execCommand('copy'))
-          )
-            throw new Error('copy command was unsuccessful')
-          l = !0
-        } catch (d) {
-          n && console.error('unable to copy using execCommand: ', d),
-            n && console.warn('trying IE specific stuff')
-          try {
-            window.clipboardData.setData(t.format || 'text', e),
-              t.onCopy && t.onCopy(window.clipboardData),
-              (l = !0)
-          } catch (d) {
-            n && console.error('unable to copy using clipboardData: ', d),
-              n && console.error('falling back to prompt'),
-              (i = (function (e) {
-                var t = (/mac os x/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl') + '+C'
-                return e.replace(/#{\s*key\s*}/g, t)
-              })('message' in t ? t.message : 'Copy to clipboard: #{key}, Enter')),
-              window.prompt(i, e)
-          }
-        } finally {
-          u && ('function' == typeof u.removeRange ? u.removeRange(s) : u.removeAllRanges()),
-            c && document.body.removeChild(c),
-            a()
-        }
-        return l
-      }
-    },
-    78244: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          calculateBox: function () {
-            return h
-          },
-          createBox: function () {
-            return c
-          },
-          expand: function () {
-            return a
-          },
-          getBox: function () {
-            return p
-          },
-          getRect: function () {
-            return i
-          },
-          offset: function () {
-            return d
-          },
-          shrink: function () {
-            return s
-          },
-          withScroll: function () {
-            return f
-          },
-        })
-      var r = 'Invariant failed'
-      var o = function (e, t) {
-          if (!e) throw new Error(r)
-        },
-        i = function (e) {
-          var t = e.top,
-            n = e.right,
-            r = e.bottom,
-            o = e.left
-          return {
-            top: t,
-            right: n,
-            bottom: r,
-            left: o,
-            width: n - o,
-            height: r - t,
-            x: o,
-            y: t,
-            center: { x: (n + o) / 2, y: (r + t) / 2 },
-          }
-        },
-        a = function (e, t) {
-          return {
-            top: e.top - t.top,
-            left: e.left - t.left,
-            bottom: e.bottom + t.bottom,
-            right: e.right + t.right,
-          }
-        },
-        s = function (e, t) {
-          return {
-            top: e.top + t.top,
-            left: e.left + t.left,
-            bottom: e.bottom - t.bottom,
-            right: e.right - t.right,
-          }
-        },
-        u = { top: 0, right: 0, bottom: 0, left: 0 },
-        c = function (e) {
-          var t = e.borderBox,
-            n = e.margin,
-            r = void 0 === n ? u : n,
-            o = e.border,
-            c = void 0 === o ? u : o,
-            l = e.padding,
-            d = void 0 === l ? u : l,
-            f = i(a(t, r)),
-            h = i(s(t, c)),
-            p = i(s(h, d))
-          return {
-            marginBox: f,
-            borderBox: i(t),
-            paddingBox: h,
-            contentBox: p,
-            margin: r,
-            border: c,
-            padding: d,
-          }
-        },
-        l = function (e) {
-          var t = e.slice(0, -2)
-          if ('px' !== e.slice(-2)) return 0
-          var n = Number(t)
-          return isNaN(n) && o(!1), n
-        },
-        d = function (e, t) {
-          var n,
-            r,
-            o = e.borderBox,
-            i = e.border,
-            a = e.margin,
-            s = e.padding,
-            u =
-              ((r = t),
-              {
-                top: (n = o).top + r.y,
-                left: n.left + r.x,
-                bottom: n.bottom + r.y,
-                right: n.right + r.x,
-              })
-          return c({ borderBox: u, border: i, margin: a, padding: s })
-        },
-        f = function (e, t) {
-          return void 0 === t && (t = { x: window.pageXOffset, y: window.pageYOffset }), d(e, t)
-        },
-        h = function (e, t) {
-          var n = {
-              top: l(t.marginTop),
-              right: l(t.marginRight),
-              bottom: l(t.marginBottom),
-              left: l(t.marginLeft),
-            },
-            r = {
-              top: l(t.paddingTop),
-              right: l(t.paddingRight),
-              bottom: l(t.paddingBottom),
-              left: l(t.paddingLeft),
-            },
-            o = {
-              top: l(t.borderTopWidth),
-              right: l(t.borderRightWidth),
-              bottom: l(t.borderBottomWidth),
-              left: l(t.borderLeftWidth),
-            }
-          return c({ borderBox: e, margin: n, padding: r, border: o })
-        },
-        p = function (e) {
-          var t = e.getBoundingClientRect(),
-            n = window.getComputedStyle(e)
-          return h(t, n)
-        }
-    },
-    20296: function (e) {
-      function t(e, t, n) {
-        var r, o, i, a, s
-        function u() {
-          var c = Date.now() - a
-          c < t && c >= 0
-            ? (r = setTimeout(u, t - c))
-            : ((r = null), n || ((s = e.apply(i, o)), (i = o = null)))
-        }
-        null == t && (t = 100)
-        var c = function () {
-          ;(i = this), (o = arguments), (a = Date.now())
-          var c = n && !r
-          return r || (r = setTimeout(u, t)), c && ((s = e.apply(i, o)), (i = o = null)), s
-        }
-        return (
-          (c.clear = function () {
-            r && (clearTimeout(r), (r = null))
-          }),
-          (c.flush = function () {
-            r && ((s = e.apply(i, o)), (i = o = null), clearTimeout(r), (r = null))
-          }),
-          c
-        )
-      }
-      ;(t.debounce = t), (e.exports = t)
-    },
-    53879: function (e, t, n) {
-      var r = n(87236),
-        o = n(6189),
-        i = { float: 'cssFloat' },
-        a = n(93379)
-      function s(e, t, n) {
-        var s = i[t]
-        if (
-          ('undefined' === typeof s &&
-            (s = (function (e) {
-              var t = o(e),
-                n = r(t)
-              return (i[t] = i[e] = i[n] = n), n
-            })(t)),
-          s)
-        ) {
-          if (void 0 === n) return e.style[s]
-          e.style[s] = a(s, n)
-        }
-      }
-      function u(e, t) {
-        for (var n in t) t.hasOwnProperty(n) && s(e, n, t[n])
-      }
-      function c() {
-        2 === arguments.length
-          ? 'string' === typeof arguments[1]
-            ? (arguments[0].style.cssText = arguments[1])
-            : u(arguments[0], arguments[1])
-          : s(arguments[0], arguments[1], arguments[2])
-      }
-      ;(e.exports = c),
-        (e.exports.set = c),
-        (e.exports.get = function (e, t) {
-          return Array.isArray(t)
-            ? t.reduce(function (t, n) {
-                return (t[n] = s(e, n || '')), t
-              }, {})
-            : s(e, t || '')
-        })
-    },
-    77380: function (e, t, n) {
-      'use strict'
-      function r(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = {},
-          i = Object.keys(e)
-        for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-        return o
-      }
-      n.r(t),
-        n.d(t, {
-          default: function () {
-            return Se
-          },
-          resetIdCounter: function () {
-            return k
-          },
-          useCombobox: function () {
-            return be
-          },
-          useMultipleSelection: function () {
-            return Me
-          },
-          useSelect: function () {
-            return pe
-          },
-        })
-      var o = n(22122)
-      function i(e) {
-        if (void 0 === e)
-          throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
-        return e
-      }
-      function a(e, t) {
-        return (a =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      var s = n(45697),
-        u = n.n(s),
-        c = n(67294)
-      n(21726)
-      function l(e) {
-        return 'object' == typeof e && null != e && 1 === e.nodeType
-      }
-      function d(e, t) {
-        return (!t || 'hidden' !== e) && 'visible' !== e && 'clip' !== e
-      }
-      function f(e, t) {
-        if (e.clientHeight < e.scrollHeight || e.clientWidth < e.scrollWidth) {
-          var n = getComputedStyle(e, null)
-          return (
-            d(n.overflowY, t) ||
-            d(n.overflowX, t) ||
-            (function (e) {
-              var t = (function (e) {
-                if (!e.ownerDocument || !e.ownerDocument.defaultView) return null
-                try {
-                  return e.ownerDocument.defaultView.frameElement
-                } catch (e) {
-                  return null
-                }
-              })(e)
-              return !!t && (t.clientHeight < e.scrollHeight || t.clientWidth < e.scrollWidth)
-            })(e)
-          )
-        }
-        return !1
-      }
-      function h(e, t, n, r, o, i, a, s) {
-        return (i < e && a > t) || (i > e && a < t)
-          ? 0
-          : (i <= e && s <= n) || (a >= t && s >= n)
-          ? i - e - r
-          : (a > t && s < n) || (i < e && s > n)
-          ? a - t + o
-          : 0
-      }
-      var p = 0
-      function v(e) {
-        return 'function' === typeof e ? e : m
-      }
-      function m() {}
-      function g(e, t) {
-        e &&
-          (function (e, t) {
-            var n = window,
-              r = t.scrollMode,
-              o = t.block,
-              i = t.inline,
-              a = t.boundary,
-              s = t.skipOverflowHiddenElements,
-              u =
-                'function' == typeof a
-                  ? a
-                  : function (e) {
-                      return e !== a
-                    }
-            if (!l(e)) throw new TypeError('Invalid target')
-            for (
-              var c = document.scrollingElement || document.documentElement, d = [], p = e;
-              l(p) && u(p);
-
-            ) {
-              if ((p = p.parentElement) === c) {
-                d.push(p)
-                break
-              }
-              ;(null != p && p === document.body && f(p) && !f(document.documentElement)) ||
-                (null != p && f(p, s) && d.push(p))
-            }
-            for (
-              var v = n.visualViewport ? n.visualViewport.width : innerWidth,
-                m = n.visualViewport ? n.visualViewport.height : innerHeight,
-                g = window.scrollX || pageXOffset,
-                y = window.scrollY || pageYOffset,
-                b = e.getBoundingClientRect(),
-                w = b.height,
-                _ = b.width,
-                x = b.top,
-                k = b.right,
-                E = b.bottom,
-                O = b.left,
-                T = 'start' === o || 'nearest' === o ? x : 'end' === o ? E : x + w / 2,
-                C = 'center' === i ? O + _ / 2 : 'end' === i ? k : O,
-                M = [],
-                S = 0;
-              S < d.length;
-              S++
-            ) {
-              var P = d[S],
-                j = P.getBoundingClientRect(),
-                I = j.height,
-                A = j.width,
-                R = j.top,
-                D = j.right,
-                L = j.bottom,
-                N = j.left
-              if (
-                'if-needed' === r &&
-                x >= 0 &&
-                O >= 0 &&
-                E <= m &&
-                k <= v &&
-                x >= R &&
-                E <= L &&
-                O >= N &&
-                k <= D
-              )
-                return M
-              var z = getComputedStyle(P),
-                B = parseInt(z.borderLeftWidth, 10),
-                H = parseInt(z.borderTopWidth, 10),
-                F = parseInt(z.borderRightWidth, 10),
-                V = parseInt(z.borderBottomWidth, 10),
-                W = 0,
-                U = 0,
-                G = 'offsetWidth' in P ? P.offsetWidth - P.clientWidth - B - F : 0,
-                q = 'offsetHeight' in P ? P.offsetHeight - P.clientHeight - H - V : 0
-              if (c === P)
-                (W =
-                  'start' === o
-                    ? T
-                    : 'end' === o
-                    ? T - m
-                    : 'nearest' === o
-                    ? h(y, y + m, m, H, V, y + T, y + T + w, w)
-                    : T - m / 2),
-                  (U =
-                    'start' === i
-                      ? C
-                      : 'center' === i
-                      ? C - v / 2
-                      : 'end' === i
-                      ? C - v
-                      : h(g, g + v, v, B, F, g + C, g + C + _, _)),
-                  (W = Math.max(0, W + y)),
-                  (U = Math.max(0, U + g))
-              else {
-                ;(W =
-                  'start' === o
-                    ? T - R - H
-                    : 'end' === o
-                    ? T - L + V + q
-                    : 'nearest' === o
-                    ? h(R, L, I, H, V + q, T, T + w, w)
-                    : T - (R + I / 2) + q / 2),
-                  (U =
-                    'start' === i
-                      ? C - N - B
-                      : 'center' === i
-                      ? C - (N + A / 2) + G / 2
-                      : 'end' === i
-                      ? C - D + F + G
-                      : h(N, D, A, B, F + G, C, C + _, _))
-                var K = P.scrollLeft,
-                  Z = P.scrollTop
-                ;(T += Z - (W = Math.max(0, Math.min(Z + W, P.scrollHeight - I + q)))),
-                  (C += K - (U = Math.max(0, Math.min(K + U, P.scrollWidth - A + G))))
-              }
-              M.push({ el: P, top: W, left: U })
-            }
-            return M
-          })(e, { boundary: t, block: 'nearest', scrollMode: 'if-needed' }).forEach(function (e) {
-            var t = e.el,
-              n = e.top,
-              r = e.left
-            ;(t.scrollTop = n), (t.scrollLeft = r)
-          })
-      }
-      function y(e, t, n) {
-        return e === t || (t instanceof n.Node && e.contains && e.contains(t))
-      }
-      function b(e, t) {
-        var n
-        function r() {
-          n && clearTimeout(n)
-        }
-        function o() {
-          for (var o = arguments.length, i = new Array(o), a = 0; a < o; a++) i[a] = arguments[a]
-          r(),
-            (n = setTimeout(function () {
-              ;(n = null), e.apply(void 0, i)
-            }, t))
-        }
-        return (o.cancel = r), o
-      }
-      function w() {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return function (e) {
-          for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++)
-            r[o - 1] = arguments[o]
-          return t.some(function (t) {
-            return (
-              t && t.apply(void 0, [e].concat(r)),
-              e.preventDownshiftDefault ||
-                (e.hasOwnProperty('nativeEvent') && e.nativeEvent.preventDownshiftDefault)
-            )
-          })
-        }
-      }
-      function _() {
-        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
-        return function (e) {
-          t.forEach(function (t) {
-            'function' === typeof t ? t(e) : t && (t.current = e)
-          })
-        }
-      }
-      function x() {
-        return String(p++)
-      }
-      function k() {
-        p = 0
-      }
-      function E(e) {
-        var t = e.isOpen,
-          n = e.resultCount,
-          r = e.previousResultCount
-        return t
-          ? n
-            ? n !== r
-              ? n +
-                ' result' +
-                (1 === n ? ' is' : 's are') +
-                ' available, use up and down arrow keys to navigate. Press Enter key to select.'
-              : ''
-            : 'No results are available.'
-          : ''
-      }
-      function O(e, t) {
-        return !(e = Array.isArray(e) ? e[0] : e) && t ? t : e
-      }
-      function T(e) {
-        return 'string' === typeof e.type
-      }
-      function C(e) {
-        return e.props
-      }
-      var M = ['highlightedIndex', 'inputValue', 'isOpen', 'selectedItem', 'type']
-      function S(e) {
-        void 0 === e && (e = {})
-        var t = {}
-        return (
-          M.forEach(function (n) {
-            e.hasOwnProperty(n) && (t[n] = e[n])
-          }),
-          t
-        )
-      }
-      function P(e, t) {
-        return Object.keys(e).reduce(function (n, r) {
-          return (n[r] = j(t, r) ? t[r] : e[r]), n
-        }, {})
-      }
-      function j(e, t) {
-        return void 0 !== e[t]
-      }
-      function I(e) {
-        var t = e.key,
-          n = e.keyCode
-        return n >= 37 && n <= 40 && 0 !== t.indexOf('Arrow') ? 'Arrow' + t : t
-      }
-      function A(e, t, n, r, o) {
-        if ((void 0 === o && (o = !0), 0 === n)) return -1
-        var i = n - 1
-        ;('number' !== typeof t || t < 0 || t >= n) && (t = e > 0 ? -1 : i + 1)
-        var a = t + e
-        a < 0 ? (a = o ? i : 0) : a > i && (a = o ? 0 : i)
-        var s = R(e, a, n, r, o)
-        return -1 === s ? (t >= n ? -1 : t) : s
-      }
-      function R(e, t, n, r, o) {
-        var i = r(t)
-        if (!i || !i.hasAttribute('disabled')) return t
-        if (e > 0) {
-          for (var a = t + 1; a < n; a++) if (!r(a).hasAttribute('disabled')) return a
-        } else for (var s = t - 1; s >= 0; s--) if (!r(s).hasAttribute('disabled')) return s
-        return o ? (e > 0 ? R(1, 0, n, r, !1) : R(-1, n - 1, n, r, !1)) : -1
-      }
-      function D(e, t, n, r) {
-        return (
-          void 0 === r && (r = !0),
-          t.some(function (t) {
-            return t && (y(t, e, n) || (r && y(t, n.document.activeElement, n)))
-          })
-        )
-      }
-      var L = b(function (e) {
-        z(e).textContent = ''
-      }, 500)
-      function N(e, t) {
-        var n = z(t)
-        e && ((n.textContent = e), L(t))
-      }
-      function z(e) {
-        void 0 === e && (e = document)
-        var t = e.getElementById('a11y-status-message')
-        return (
-          t ||
-          ((t = e.createElement('div')).setAttribute('id', 'a11y-status-message'),
-          t.setAttribute('role', 'status'),
-          t.setAttribute('aria-live', 'polite'),
-          t.setAttribute('aria-relevant', 'additions text'),
-          Object.assign(t.style, {
-            border: '0',
-            clip: 'rect(0 0 0 0)',
-            height: '1px',
-            margin: '-1px',
-            overflow: 'hidden',
-            padding: '0',
-            position: 'absolute',
-            width: '1px',
-          }),
-          e.body.appendChild(t),
-          t)
-        )
-      }
-      var B = Object.freeze({
-          __proto__: null,
-          unknown: 0,
-          mouseUp: 1,
-          itemMouseEnter: 2,
-          keyDownArrowUp: 3,
-          keyDownArrowDown: 4,
-          keyDownEscape: 5,
-          keyDownEnter: 6,
-          keyDownHome: 7,
-          keyDownEnd: 8,
-          clickItem: 9,
-          blurInput: 10,
-          changeInput: 11,
-          keyDownSpaceButton: 12,
-          clickButton: 13,
-          blurButton: 14,
-          controlledPropUpdatedSelectedItem: 15,
-          touchEnd: 16,
-        }),
-        H = (function () {
-          var e = (function (e) {
-            var t, n
-            function s(t) {
-              var n
-              ;((n = e.call(this, t) || this).id = n.props.id || 'downshift-' + x()),
-                (n.menuId = n.props.menuId || n.id + '-menu'),
-                (n.labelId = n.props.labelId || n.id + '-label'),
-                (n.inputId = n.props.inputId || n.id + '-input'),
-                (n.getItemId =
-                  n.props.getItemId ||
-                  function (e) {
-                    return n.id + '-item-' + e
-                  }),
-                (n.input = null),
-                (n.items = []),
-                (n.itemCount = null),
-                (n.previousResultCount = 0),
-                (n.timeoutIds = []),
-                (n.internalSetTimeout = function (e, t) {
-                  var r = setTimeout(function () {
-                    ;(n.timeoutIds = n.timeoutIds.filter(function (e) {
-                      return e !== r
-                    })),
-                      e()
-                  }, t)
-                  n.timeoutIds.push(r)
-                }),
-                (n.setItemCount = function (e) {
-                  n.itemCount = e
-                }),
-                (n.unsetItemCount = function () {
-                  n.itemCount = null
-                }),
-                (n.setHighlightedIndex = function (e, t) {
-                  void 0 === e && (e = n.props.defaultHighlightedIndex),
-                    void 0 === t && (t = {}),
-                    (t = S(t)),
-                    n.internalSetState((0, o.Z)({ highlightedIndex: e }, t))
-                }),
-                (n.clearSelection = function (e) {
-                  n.internalSetState(
-                    {
-                      selectedItem: null,
-                      inputValue: '',
-                      highlightedIndex: n.props.defaultHighlightedIndex,
-                      isOpen: n.props.defaultIsOpen,
-                    },
-                    e,
-                  )
-                }),
-                (n.selectItem = function (e, t, r) {
-                  ;(t = S(t)),
-                    n.internalSetState(
-                      (0, o.Z)(
-                        {
-                          isOpen: n.props.defaultIsOpen,
-                          highlightedIndex: n.props.defaultHighlightedIndex,
-                          selectedItem: e,
-                          inputValue: n.props.itemToString(e),
-                        },
-                        t,
-                      ),
-                      r,
-                    )
-                }),
-                (n.selectItemAtIndex = function (e, t, r) {
-                  var o = n.items[e]
-                  null != o && n.selectItem(o, t, r)
-                }),
-                (n.selectHighlightedItem = function (e, t) {
-                  return n.selectItemAtIndex(n.getState().highlightedIndex, e, t)
-                }),
-                (n.internalSetState = function (e, t) {
-                  var r,
-                    i,
-                    a = {},
-                    s = 'function' === typeof e
-                  return (
-                    !s &&
-                      e.hasOwnProperty('inputValue') &&
-                      n.props.onInputValueChange(
-                        e.inputValue,
-                        (0, o.Z)({}, n.getStateAndHelpers(), e),
-                      ),
-                    n.setState(
-                      function (t) {
-                        t = n.getState(t)
-                        var u = s ? e(t) : e
-                        ;(u = n.props.stateReducer(t, u)), (r = u.hasOwnProperty('selectedItem'))
-                        var c = {}
-                        return (
-                          r && u.selectedItem !== t.selectedItem && (i = u.selectedItem),
-                          (u.type = u.type || 0),
-                          Object.keys(u).forEach(function (e) {
-                            t[e] !== u[e] && (a[e] = u[e]),
-                              'type' !== e && (u[e], j(n.props, e) || (c[e] = u[e]))
-                          }),
-                          s &&
-                            u.hasOwnProperty('inputValue') &&
-                            n.props.onInputValueChange(
-                              u.inputValue,
-                              (0, o.Z)({}, n.getStateAndHelpers(), u),
-                            ),
-                          c
-                        )
-                      },
-                      function () {
-                        v(t)(),
-                          Object.keys(a).length > 1 &&
-                            n.props.onStateChange(a, n.getStateAndHelpers()),
-                          r && n.props.onSelect(e.selectedItem, n.getStateAndHelpers()),
-                          void 0 !== i && n.props.onChange(i, n.getStateAndHelpers()),
-                          n.props.onUserAction(a, n.getStateAndHelpers())
-                      },
-                    )
-                  )
-                }),
-                (n.rootRef = function (e) {
-                  return (n._rootNode = e)
-                }),
-                (n.getRootProps = function (e, t) {
-                  var i,
-                    a = void 0 === e ? {} : e,
-                    s = a.refKey,
-                    u = void 0 === s ? 'ref' : s,
-                    c = a.ref,
-                    l = r(a, ['refKey', 'ref']),
-                    d = (void 0 === t ? {} : t).suppressRefError,
-                    f = void 0 !== d && d
-                  ;(n.getRootProps.called = !0),
-                    (n.getRootProps.refKey = u),
-                    (n.getRootProps.suppressRefError = f)
-                  var h = n.getState().isOpen
-                  return (0, o.Z)(
-                    (((i = {})[u] = _(c, n.rootRef)),
-                    (i.role = 'combobox'),
-                    (i['aria-expanded'] = h),
-                    (i['aria-haspopup'] = 'listbox'),
-                    (i['aria-owns'] = h ? n.menuId : null),
-                    (i['aria-labelledby'] = n.labelId),
-                    i),
-                    l,
-                  )
-                }),
-                (n.keyDownHandlers = {
-                  ArrowDown: function (e) {
-                    var t = this
-                    if ((e.preventDefault(), this.getState().isOpen)) {
-                      var n = e.shiftKey ? 5 : 1
-                      this.moveHighlightedIndex(n, { type: 4 })
-                    } else
-                      this.internalSetState({ isOpen: !0, type: 4 }, function () {
-                        var e = t.getItemCount()
-                        if (e > 0) {
-                          var n = A(1, t.getState().highlightedIndex, e, function (e) {
-                            return t.getItemNodeFromIndex(e)
-                          })
-                          t.setHighlightedIndex(n, { type: 4 })
-                        }
-                      })
-                  },
-                  ArrowUp: function (e) {
-                    var t = this
-                    if ((e.preventDefault(), this.getState().isOpen)) {
-                      var n = e.shiftKey ? -5 : -1
-                      this.moveHighlightedIndex(n, { type: 3 })
-                    } else
-                      this.internalSetState({ isOpen: !0, type: 3 }, function () {
-                        var e = t.getItemCount()
-                        if (e > 0) {
-                          var n = A(-1, t.getState().highlightedIndex, e, function (e) {
-                            return t.getItemNodeFromIndex(e)
-                          })
-                          t.setHighlightedIndex(n, { type: 3 })
-                        }
-                      })
-                  },
-                  Enter: function (e) {
-                    if (229 !== e.which) {
-                      var t = this.getState(),
-                        n = t.isOpen,
-                        r = t.highlightedIndex
-                      if (n && null != r) {
-                        e.preventDefault()
-                        var o = this.items[r],
-                          i = this.getItemNodeFromIndex(r)
-                        if (null == o || (i && i.hasAttribute('disabled'))) return
-                        this.selectHighlightedItem({ type: 6 })
-                      }
-                    }
-                  },
-                  Escape: function (e) {
-                    e.preventDefault(),
-                      this.reset(
-                        (0, o.Z)(
-                          { type: 5 },
-                          !this.state.isOpen && { selectedItem: null, inputValue: '' },
-                        ),
-                      )
-                  },
-                }),
-                (n.buttonKeyDownHandlers = (0, o.Z)({}, n.keyDownHandlers, {
-                  ' ': function (e) {
-                    e.preventDefault(), this.toggleMenu({ type: 12 })
-                  },
-                })),
-                (n.inputKeyDownHandlers = (0, o.Z)({}, n.keyDownHandlers, {
-                  Home: function (e) {
-                    var t = this,
-                      n = this.getState().isOpen
-                    if (n) {
-                      e.preventDefault()
-                      var r = this.getItemCount()
-                      if (!(r <= 0) && n) {
-                        var o = R(
-                          1,
-                          0,
-                          r,
-                          function (e) {
-                            return t.getItemNodeFromIndex(e)
-                          },
-                          !1,
-                        )
-                        this.setHighlightedIndex(o, { type: 7 })
-                      }
-                    }
-                  },
-                  End: function (e) {
-                    var t = this,
-                      n = this.getState().isOpen
-                    if (n) {
-                      e.preventDefault()
-                      var r = this.getItemCount()
-                      if (!(r <= 0) && n) {
-                        var o = R(
-                          -1,
-                          r - 1,
-                          r,
-                          function (e) {
-                            return t.getItemNodeFromIndex(e)
-                          },
-                          !1,
-                        )
-                        this.setHighlightedIndex(o, { type: 8 })
-                      }
-                    }
-                  },
-                })),
-                (n.getToggleButtonProps = function (e) {
-                  var t = void 0 === e ? {} : e,
-                    i = t.onClick
-                  t.onPress
-                  var a = t.onKeyDown,
-                    s = t.onKeyUp,
-                    u = t.onBlur,
-                    c = r(t, ['onClick', 'onPress', 'onKeyDown', 'onKeyUp', 'onBlur']),
-                    l = n.getState().isOpen,
-                    d = {
-                      onClick: w(i, n.buttonHandleClick),
-                      onKeyDown: w(a, n.buttonHandleKeyDown),
-                      onKeyUp: w(s, n.buttonHandleKeyUp),
-                      onBlur: w(u, n.buttonHandleBlur),
-                    },
-                    f = c.disabled ? {} : d
-                  return (0, o.Z)(
-                    {
-                      type: 'button',
-                      role: 'button',
-                      'aria-label': l ? 'close menu' : 'open menu',
-                      'aria-haspopup': !0,
-                      'data-toggle': !0,
-                    },
-                    f,
-                    c,
-                  )
-                }),
-                (n.buttonHandleKeyUp = function (e) {
-                  e.preventDefault()
-                }),
-                (n.buttonHandleKeyDown = function (e) {
-                  var t = I(e)
-                  n.buttonKeyDownHandlers[t] && n.buttonKeyDownHandlers[t].call(i(n), e)
-                }),
-                (n.buttonHandleClick = function (e) {
-                  e.preventDefault(),
-                    n.props.environment.document.activeElement ===
-                      n.props.environment.document.body && e.target.focus(),
-                    n.internalSetTimeout(function () {
-                      return n.toggleMenu({ type: 13 })
-                    })
-                }),
-                (n.buttonHandleBlur = function (e) {
-                  var t = e.target
-                  n.internalSetTimeout(function () {
-                    n.isMouseDown ||
-                      (null != n.props.environment.document.activeElement &&
-                        n.props.environment.document.activeElement.id === n.inputId) ||
-                      n.props.environment.document.activeElement === t ||
-                      n.reset({ type: 14 })
-                  })
-                }),
-                (n.getLabelProps = function (e) {
-                  return (0, o.Z)({ htmlFor: n.inputId, id: n.labelId }, e)
-                }),
-                (n.getInputProps = function (e) {
-                  var t = void 0 === e ? {} : e,
-                    i = t.onKeyDown,
-                    a = t.onBlur,
-                    s = t.onChange,
-                    u = t.onInput
-                  t.onChangeText
-                  var c = r(t, ['onKeyDown', 'onBlur', 'onChange', 'onInput', 'onChangeText']),
-                    l = {}
-                  var d,
-                    f = n.getState(),
-                    h = f.inputValue,
-                    p = f.isOpen,
-                    v = f.highlightedIndex
-                  c.disabled ||
-                    (((d = {}).onChange = w(s, u, n.inputHandleChange)),
-                    (d.onKeyDown = w(i, n.inputHandleKeyDown)),
-                    (d.onBlur = w(a, n.inputHandleBlur)),
-                    (l = d))
-                  return (0, o.Z)(
-                    {
-                      'aria-autocomplete': 'list',
-                      'aria-activedescendant':
-                        p && 'number' === typeof v && v >= 0 ? n.getItemId(v) : null,
-                      'aria-controls': p ? n.menuId : null,
-                      'aria-labelledby': n.labelId,
-                      autoComplete: 'off',
-                      value: h,
-                      id: n.inputId,
-                    },
-                    l,
-                    c,
-                  )
-                }),
-                (n.inputHandleKeyDown = function (e) {
-                  var t = I(e)
-                  t && n.inputKeyDownHandlers[t] && n.inputKeyDownHandlers[t].call(i(n), e)
-                }),
-                (n.inputHandleChange = function (e) {
-                  n.internalSetState({
-                    type: 11,
-                    isOpen: !0,
-                    inputValue: e.target.value,
-                    highlightedIndex: n.props.defaultHighlightedIndex,
-                  })
-                }),
-                (n.inputHandleBlur = function () {
-                  n.internalSetTimeout(function () {
-                    var e =
-                      n.props.environment.document &&
-                      !!n.props.environment.document.activeElement &&
-                      !!n.props.environment.document.activeElement.dataset &&
-                      n.props.environment.document.activeElement.dataset.toggle &&
-                      n._rootNode &&
-                      n._rootNode.contains(n.props.environment.document.activeElement)
-                    n.isMouseDown || e || n.reset({ type: 10 })
-                  })
-                }),
-                (n.menuRef = function (e) {
-                  n._menuNode = e
-                }),
-                (n.getMenuProps = function (e, t) {
-                  var i,
-                    a = void 0 === e ? {} : e,
-                    s = a.refKey,
-                    u = void 0 === s ? 'ref' : s,
-                    c = a.ref,
-                    l = r(a, ['refKey', 'ref']),
-                    d = (void 0 === t ? {} : t).suppressRefError,
-                    f = void 0 !== d && d
-                  return (
-                    (n.getMenuProps.called = !0),
-                    (n.getMenuProps.refKey = u),
-                    (n.getMenuProps.suppressRefError = f),
-                    (0, o.Z)(
-                      (((i = {})[u] = _(c, n.menuRef)),
-                      (i.role = 'listbox'),
-                      (i['aria-labelledby'] = l && l['aria-label'] ? null : n.labelId),
-                      (i.id = n.menuId),
-                      i),
-                      l,
-                    )
-                  )
-                }),
-                (n.getItemProps = function (e) {
-                  var t,
-                    i = void 0 === e ? {} : e,
-                    a = i.onMouseMove,
-                    s = i.onMouseDown,
-                    u = i.onClick
-                  i.onPress
-                  var c = i.index,
-                    l = i.item,
-                    d = void 0 === l ? void 0 : l,
-                    f = r(i, ['onMouseMove', 'onMouseDown', 'onClick', 'onPress', 'index', 'item'])
-                  void 0 === c ? (n.items.push(d), (c = n.items.indexOf(d))) : (n.items[c] = d)
-                  var h = u,
-                    p =
-                      (((t = {
-                        onMouseMove: w(a, function () {
-                          c !== n.getState().highlightedIndex &&
-                            (n.setHighlightedIndex(c, { type: 2 }),
-                            (n.avoidScrolling = !0),
-                            n.internalSetTimeout(function () {
-                              return (n.avoidScrolling = !1)
-                            }, 250))
-                        }),
-                        onMouseDown: w(s, function (e) {
-                          e.preventDefault()
-                        }),
-                      }).onClick = w(h, function () {
-                        n.selectItemAtIndex(c, { type: 9 })
-                      })),
-                      t),
-                    v = f.disabled ? { onMouseDown: p.onMouseDown } : p
-                  return (0, o.Z)(
-                    {
-                      id: n.getItemId(c),
-                      role: 'option',
-                      'aria-selected': n.getState().highlightedIndex === c,
-                    },
-                    v,
-                    f,
-                  )
-                }),
-                (n.clearItems = function () {
-                  n.items = []
-                }),
-                (n.reset = function (e, t) {
-                  void 0 === e && (e = {}),
-                    (e = S(e)),
-                    n.internalSetState(function (t) {
-                      var r = t.selectedItem
-                      return (0,
-                      o.Z)({ isOpen: n.props.defaultIsOpen, highlightedIndex: n.props.defaultHighlightedIndex, inputValue: n.props.itemToString(r) }, e)
-                    }, t)
-                }),
-                (n.toggleMenu = function (e, t) {
-                  void 0 === e && (e = {}),
-                    (e = S(e)),
-                    n.internalSetState(
-                      function (t) {
-                        var r = t.isOpen
-                        return (0, o.Z)(
-                          { isOpen: !r },
-                          r && { highlightedIndex: n.props.defaultHighlightedIndex },
-                          e,
-                        )
-                      },
-                      function () {
-                        var r = n.getState(),
-                          o = r.isOpen,
-                          i = r.highlightedIndex
-                        o &&
-                          n.getItemCount() > 0 &&
-                          'number' === typeof i &&
-                          n.setHighlightedIndex(i, e),
-                          v(t)()
-                      },
-                    )
-                }),
-                (n.openMenu = function (e) {
-                  n.internalSetState({ isOpen: !0 }, e)
-                }),
-                (n.closeMenu = function (e) {
-                  n.internalSetState({ isOpen: !1 }, e)
-                }),
-                (n.updateStatus = b(function () {
-                  var e = n.getState(),
-                    t = n.items[e.highlightedIndex],
-                    r = n.getItemCount(),
-                    i = n.props.getA11yStatusMessage(
-                      (0, o.Z)(
-                        {
-                          itemToString: n.props.itemToString,
-                          previousResultCount: n.previousResultCount,
-                          resultCount: r,
-                          highlightedItem: t,
-                        },
-                        e,
-                      ),
-                    )
-                  ;(n.previousResultCount = r), N(i, n.props.environment.document)
-                }, 200))
-              var a = n.props,
-                s = a.defaultHighlightedIndex,
-                u = a.initialHighlightedIndex,
-                c = void 0 === u ? s : u,
-                l = a.defaultIsOpen,
-                d = a.initialIsOpen,
-                f = void 0 === d ? l : d,
-                h = a.initialInputValue,
-                p = void 0 === h ? '' : h,
-                m = a.initialSelectedItem,
-                g = void 0 === m ? null : m,
-                y = n.getState({ highlightedIndex: c, isOpen: f, inputValue: p, selectedItem: g })
-              return (
-                null != y.selectedItem &&
-                  void 0 === n.props.initialInputValue &&
-                  (y.inputValue = n.props.itemToString(y.selectedItem)),
-                (n.state = y),
-                n
-              )
-            }
-            ;(n = e),
-              ((t = s).prototype = Object.create(n.prototype)),
-              (t.prototype.constructor = t),
-              a(t, n)
-            var u = s.prototype
-            return (
-              (u.internalClearTimeouts = function () {
-                this.timeoutIds.forEach(function (e) {
-                  clearTimeout(e)
-                }),
-                  (this.timeoutIds = [])
-              }),
-              (u.getState = function (e) {
-                return void 0 === e && (e = this.state), P(e, this.props)
-              }),
-              (u.getItemCount = function () {
-                var e = this.items.length
-                return (
-                  null != this.itemCount
-                    ? (e = this.itemCount)
-                    : void 0 !== this.props.itemCount && (e = this.props.itemCount),
-                  e
-                )
-              }),
-              (u.getItemNodeFromIndex = function (e) {
-                return this.props.environment.document.getElementById(this.getItemId(e))
-              }),
-              (u.scrollHighlightedItemIntoView = function () {
-                var e = this.getItemNodeFromIndex(this.getState().highlightedIndex)
-                this.props.scrollIntoView(e, this._menuNode)
-              }),
-              (u.moveHighlightedIndex = function (e, t) {
-                var n = this,
-                  r = this.getItemCount(),
-                  o = this.getState().highlightedIndex
-                if (r > 0) {
-                  var i = A(e, o, r, function (e) {
-                    return n.getItemNodeFromIndex(e)
-                  })
-                  this.setHighlightedIndex(i, t)
-                }
-              }),
-              (u.getStateAndHelpers = function () {
-                var e = this.getState(),
-                  t = e.highlightedIndex,
-                  n = e.inputValue,
-                  r = e.selectedItem,
-                  o = e.isOpen,
-                  i = this.props.itemToString,
-                  a = this.id,
-                  s = this.getRootProps,
-                  u = this.getToggleButtonProps,
-                  c = this.getLabelProps,
-                  l = this.getMenuProps,
-                  d = this.getInputProps,
-                  f = this.getItemProps,
-                  h = this.openMenu,
-                  p = this.closeMenu,
-                  v = this.toggleMenu,
-                  m = this.selectItem,
-                  g = this.selectItemAtIndex,
-                  y = this.selectHighlightedItem,
-                  b = this.setHighlightedIndex,
-                  w = this.clearSelection,
-                  _ = this.clearItems
-                return {
-                  getRootProps: s,
-                  getToggleButtonProps: u,
-                  getLabelProps: c,
-                  getMenuProps: l,
-                  getInputProps: d,
-                  getItemProps: f,
-                  reset: this.reset,
-                  openMenu: h,
-                  closeMenu: p,
-                  toggleMenu: v,
-                  selectItem: m,
-                  selectItemAtIndex: g,
-                  selectHighlightedItem: y,
-                  setHighlightedIndex: b,
-                  clearSelection: w,
-                  clearItems: _,
-                  setItemCount: this.setItemCount,
-                  unsetItemCount: this.unsetItemCount,
-                  setState: this.internalSetState,
-                  itemToString: i,
-                  id: a,
-                  highlightedIndex: t,
-                  inputValue: n,
-                  isOpen: o,
-                  selectedItem: r,
-                }
-              }),
-              (u.componentDidMount = function () {
-                var e = this
-                var t = function () {
-                    e.isMouseDown = !0
-                  },
-                  n = function (t) {
-                    ;(e.isMouseDown = !1),
-                      !D(t.target, [e._rootNode, e._menuNode], e.props.environment) &&
-                        e.getState().isOpen &&
-                        e.reset({ type: 1 }, function () {
-                          return e.props.onOuterClick(e.getStateAndHelpers())
-                        })
-                  },
-                  r = function () {
-                    e.isTouchMove = !1
-                  },
-                  o = function () {
-                    e.isTouchMove = !0
-                  },
-                  i = function (t) {
-                    var n = D(t.target, [e._rootNode, e._menuNode], e.props.environment, !1)
-                    e.isTouchMove ||
-                      n ||
-                      !e.getState().isOpen ||
-                      e.reset({ type: 16 }, function () {
-                        return e.props.onOuterClick(e.getStateAndHelpers())
-                      })
-                  },
-                  a = this.props.environment
-                a.addEventListener('mousedown', t),
-                  a.addEventListener('mouseup', n),
-                  a.addEventListener('touchstart', r),
-                  a.addEventListener('touchmove', o),
-                  a.addEventListener('touchend', i),
-                  (this.cleanup = function () {
-                    e.internalClearTimeouts(),
-                      e.updateStatus.cancel(),
-                      a.removeEventListener('mousedown', t),
-                      a.removeEventListener('mouseup', n),
-                      a.removeEventListener('touchstart', r),
-                      a.removeEventListener('touchmove', o),
-                      a.removeEventListener('touchend', i)
-                  })
-              }),
-              (u.shouldScroll = function (e, t) {
-                var n = (void 0 === this.props.highlightedIndex ? this.getState() : this.props)
-                    .highlightedIndex,
-                  r = (void 0 === t.highlightedIndex ? e : t).highlightedIndex
-                return (n && this.getState().isOpen && !e.isOpen) || n !== r
-              }),
-              (u.componentDidUpdate = function (e, t) {
-                j(this.props, 'selectedItem') &&
-                  this.props.selectedItemChanged(e.selectedItem, this.props.selectedItem) &&
-                  this.internalSetState({
-                    type: 15,
-                    inputValue: this.props.itemToString(this.props.selectedItem),
-                  }),
-                  !this.avoidScrolling &&
-                    this.shouldScroll(t, e) &&
-                    this.scrollHighlightedItemIntoView(),
-                  this.updateStatus()
-              }),
-              (u.componentWillUnmount = function () {
-                this.cleanup()
-              }),
-              (u.render = function () {
-                var e = O(this.props.children, m)
-                this.clearItems(),
-                  (this.getRootProps.called = !1),
-                  (this.getRootProps.refKey = void 0),
-                  (this.getRootProps.suppressRefError = void 0),
-                  (this.getMenuProps.called = !1),
-                  (this.getMenuProps.refKey = void 0),
-                  (this.getMenuProps.suppressRefError = void 0),
-                  (this.getLabelProps.called = !1),
-                  (this.getInputProps.called = !1)
-                var t = O(e(this.getStateAndHelpers()))
-                return t
-                  ? this.getRootProps.called || this.props.suppressRefError
-                    ? t
-                    : T(t)
-                    ? (0, c.cloneElement)(t, this.getRootProps(C(t)))
-                    : void 0
-                  : null
-              }),
-              s
-            )
-          })(c.Component)
-          return (
-            (e.defaultProps = {
-              defaultHighlightedIndex: null,
-              defaultIsOpen: !1,
-              getA11yStatusMessage: E,
-              itemToString: function (e) {
-                return null == e ? '' : String(e)
-              },
-              onStateChange: m,
-              onInputValueChange: m,
-              onUserAction: m,
-              onChange: m,
-              onSelect: m,
-              onOuterClick: m,
-              selectedItemChanged: function (e, t) {
-                return e !== t
-              },
-              environment: 'undefined' === typeof window ? {} : window,
-              stateReducer: function (e, t) {
-                return t
-              },
-              suppressRefError: !1,
-              scrollIntoView: g,
-            }),
-            (e.stateChangeTypes = B),
-            e
-          )
-        })()
-      var F = { highlightedIndex: -1, isOpen: !1, selectedItem: null, inputValue: '' }
-      function V(e, t, n) {
-        var r = e.props,
-          i = e.type,
-          a = {}
-        Object.keys(t).forEach(function (r) {
-          !(function (e, t, n, r) {
-            var i = t.props,
-              a = t.type,
-              s = 'on' + Z(e) + 'Change'
-            i[s] && void 0 !== r[e] && r[e] !== n[e] && i[s]((0, o.Z)({ type: a }, r))
-          })(r, e, t, n),
-            n[r] !== t[r] && (a[r] = n[r])
-        }),
-          r.onStateChange && Object.keys(a).length && r.onStateChange((0, o.Z)({ type: i }, a))
-      }
-      var W = b(function (e, t) {
-          N(e(), t)
-        }, 200),
-        U =
-          'undefined' !== typeof window &&
-          'undefined' !== typeof window.document &&
-          'undefined' !== typeof window.document.createElement
-            ? c.useLayoutEffect
-            : c.useEffect
-      function G(e) {
-        var t = e.id,
-          n = void 0 === t ? 'downshift-' + x() : t,
-          r = e.labelId,
-          o = e.menuId,
-          i = e.getItemId,
-          a = e.toggleButtonId,
-          s = e.inputId
-        return (0, c.useRef)({
-          labelId: r || n + '-label',
-          menuId: o || n + '-menu',
-          getItemId:
-            i ||
-            function (e) {
-              return n + '-item-' + e
-            },
-          toggleButtonId: a || n + '-toggle-button',
-          inputId: s || n + '-input',
-        }).current
-      }
-      function q(e, t, n) {
-        return void 0 !== e ? e : 0 === n.length ? -1 : n.indexOf(t)
-      }
-      function K(e) {
-        return /^\S{1}$/.test(e)
-      }
-      function Z(e) {
-        return '' + e.slice(0, 1).toUpperCase() + e.slice(1)
-      }
-      function X(e) {
-        var t = (0, c.useRef)(e)
-        return (t.current = e), t
-      }
-      function $(e, t, n) {
-        var r = (0, c.useRef)(),
-          i = (0, c.useRef)(),
-          a = (0, c.useCallback)(
-            function (t, n) {
-              ;(i.current = n), (t = P(t, n.props))
-              var r = e(t, n)
-              return n.props.stateReducer(t, (0, o.Z)({}, n, { changes: r }))
-            },
-            [e],
-          ),
-          s = (0, c.useReducer)(a, t),
-          u = s[0],
-          l = s[1],
-          d = X(n),
-          f = (0, c.useCallback)(
-            function (e) {
-              return l((0, o.Z)({ props: d.current }, e))
-            },
-            [d],
-          ),
-          h = i.current
-        return (
-          (0, c.useEffect)(
-            function () {
-              h && r.current && r.current !== u && V(h, P(r.current, h.props), u), (r.current = u)
-            },
-            [u, n, h],
-          ),
-          [u, f]
-        )
-      }
-      function Y(e, t, n) {
-        var r = $(e, t, n),
-          o = r[0],
-          i = r[1]
-        return [P(o, n), i]
-      }
-      var Q = {
-        itemToString: function (e) {
-          return e ? String(e) : ''
-        },
-        stateReducer: function (e, t) {
-          return t.changes
-        },
-        getA11ySelectionMessage: function (e) {
-          var t = e.selectedItem,
-            n = e.itemToString
-          return t ? n(t) + ' has been selected.' : ''
-        },
-        scrollIntoView: g,
-        circularNavigation: !1,
-        environment: 'undefined' === typeof window ? {} : window,
-      }
-      function J(e, t, n) {
-        void 0 === n && (n = F)
-        var r = 'default' + Z(t)
-        return r in e ? e[r] : n[t]
-      }
-      function ee(e, t, n) {
-        if ((void 0 === n && (n = F), t in e)) return e[t]
-        var r = 'initial' + Z(t)
-        return r in e ? e[r] : J(e, t, n)
-      }
-      function te(e) {
-        var t = ee(e, 'selectedItem'),
-          n = ee(e, 'isOpen'),
-          r = ee(e, 'highlightedIndex'),
-          o = ee(e, 'inputValue')
-        return {
-          highlightedIndex: r < 0 && t && n ? e.items.indexOf(t) : r,
-          isOpen: n,
-          selectedItem: t,
-          inputValue: o,
-        }
-      }
-      function ne(e, t, n, r) {
-        var o = e.items,
-          i = e.initialHighlightedIndex,
-          a = e.defaultHighlightedIndex,
-          s = t.selectedItem,
-          u = t.highlightedIndex
-        return 0 === o.length
-          ? -1
-          : void 0 !== i && u === i
-          ? i
-          : void 0 !== a
-          ? a
-          : s
-          ? 0 === n
-            ? o.indexOf(s)
-            : A(n, o.indexOf(s), o.length, r, !1)
-          : 0 === n
-          ? -1
-          : n < 0
-          ? o.length - 1
-          : 0
-      }
-      function re(e, t, n, r) {
-        var o = (0, c.useRef)({ isMouseDown: !1, isTouchMove: !1 })
-        return (
-          (0, c.useEffect)(
-            function () {
-              var i = function () {
-                  o.current.isMouseDown = !0
-                },
-                a = function (i) {
-                  ;(o.current.isMouseDown = !1),
-                    e &&
-                      !D(
-                        i.target,
-                        t.map(function (e) {
-                          return e.current
-                        }),
-                        n,
-                      ) &&
-                      r()
-                },
-                s = function () {
-                  o.current.isTouchMove = !1
-                },
-                u = function () {
-                  o.current.isTouchMove = !0
-                },
-                c = function (i) {
-                  !e ||
-                    o.current.isTouchMove ||
-                    D(
-                      i.target,
-                      t.map(function (e) {
-                        return e.current
-                      }),
-                      n,
-                      !1,
-                    ) ||
-                    r()
-                }
-              return (
-                n.addEventListener('mousedown', i),
-                n.addEventListener('mouseup', a),
-                n.addEventListener('touchstart', s),
-                n.addEventListener('touchmove', u),
-                n.addEventListener('touchend', c),
-                function () {
-                  n.removeEventListener('mousedown', i),
-                    n.removeEventListener('mouseup', a),
-                    n.removeEventListener('touchstart', s),
-                    n.removeEventListener('touchmove', u),
-                    n.removeEventListener('touchend', c)
-                }
-              )
-            },
-            [e, n],
-          ),
-          o
-        )
-      }
-      var oe = function () {
-        return m
-      }
-      function ie(e, t, n) {
-        var i = n.isInitialMount,
-          a = n.highlightedIndex,
-          s = n.items,
-          u = n.environment,
-          l = r(n, ['isInitialMount', 'highlightedIndex', 'items', 'environment'])
-        ;(0, c.useEffect)(function () {
-          i ||
-            W(function () {
-              return e(
-                (0, o.Z)({ highlightedIndex: a, highlightedItem: s[a], resultCount: s.length }, l),
-              )
-            }, u.document)
-        }, t)
-      }
-      function ae(e) {
-        var t = e.highlightedIndex,
-          n = e.isOpen,
-          r = e.itemRefs,
-          o = e.getItemNodeFromIndex,
-          i = e.menuElement,
-          a = e.scrollIntoView,
-          s = (0, c.useRef)(!0)
-        return (
-          U(
-            function () {
-              t < 0 ||
-                !n ||
-                !Object.keys(r.current).length ||
-                (!1 === s.current ? (s.current = !0) : a(o(t), i))
-            },
-            [t],
-          ),
-          s
-        )
-      }
-      var se = m
-      function ue(e, t, n) {
-        var r,
-          i = t.type,
-          a = t.props
-        switch (i) {
-          case n.ItemMouseMove:
-            r = { highlightedIndex: t.index }
-            break
-          case n.MenuMouseLeave:
-            r = { highlightedIndex: -1 }
-            break
-          case n.ToggleButtonClick:
-          case n.FunctionToggleMenu:
-            r = { isOpen: !e.isOpen, highlightedIndex: e.isOpen ? -1 : ne(a, e, 0) }
-            break
-          case n.FunctionOpenMenu:
-            r = { isOpen: !0, highlightedIndex: ne(a, e, 0) }
-            break
-          case n.FunctionCloseMenu:
-            r = { isOpen: !1 }
-            break
-          case n.FunctionSetHighlightedIndex:
-            r = { highlightedIndex: t.highlightedIndex }
-            break
-          case n.FunctionSetInputValue:
-            r = { inputValue: t.inputValue }
-            break
-          case n.FunctionReset:
-            r = {
-              highlightedIndex: J(a, 'highlightedIndex'),
-              isOpen: J(a, 'isOpen'),
-              selectedItem: J(a, 'selectedItem'),
-              inputValue: J(a, 'inputValue'),
-            }
-            break
-          default:
-            throw new Error('Reducer called without proper action type.')
-        }
-        return (0, o.Z)({}, e, r)
-      }
-      function ce(e, t, n, r, o) {
-        for (var i = e.toLowerCase(), a = 0; a < n.length; a++) {
-          var s = (a + t + 1) % n.length
-          if (r(n[s]).toLowerCase().startsWith(i)) {
-            var u = o(s)
-            if (!u || !u.hasAttribute('disabled')) return s
-          }
-        }
-        return t
-      }
-      u().array.isRequired,
-        u().func,
-        u().func,
-        u().func,
-        u().bool,
-        u().number,
-        u().number,
-        u().number,
-        u().bool,
-        u().bool,
-        u().bool,
-        u().any,
-        u().any,
-        u().any,
-        u().string,
-        u().string,
-        u().string,
-        u().func,
-        u().string,
-        u().func,
-        u().func,
-        u().func,
-        u().func,
-        u().func,
-        u().shape({
-          addEventListener: u().func,
-          removeEventListener: u().func,
-          document: u().shape({ getElementById: u().func, activeElement: u().any, body: u().any }),
-        })
-      var le = (0, o.Z)({}, Q, {
-          getA11yStatusMessage: function (e) {
-            var t = e.isOpen,
-              n = e.resultCount,
-              r = e.previousResultCount
-            return t
-              ? n
-                ? n !== r
-                  ? n +
-                    ' result' +
-                    (1 === n ? ' is' : 's are') +
-                    ' available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select.'
-                  : ''
-                : 'No results are available.'
-              : ''
-          },
-        }),
-        de = m
-      var fe = Object.freeze({
-        __proto__: null,
-        MenuKeyDownArrowDown: 0,
-        MenuKeyDownArrowUp: 1,
-        MenuKeyDownEscape: 2,
-        MenuKeyDownHome: 3,
-        MenuKeyDownEnd: 4,
-        MenuKeyDownEnter: 5,
-        MenuKeyDownSpaceButton: 6,
-        MenuKeyDownCharacter: 7,
-        MenuBlur: 8,
-        MenuMouseLeave: 9,
-        ItemMouseMove: 10,
-        ItemClick: 11,
-        ToggleButtonClick: 12,
-        ToggleButtonKeyDownArrowDown: 13,
-        ToggleButtonKeyDownArrowUp: 14,
-        ToggleButtonKeyDownCharacter: 15,
-        FunctionToggleMenu: 16,
-        FunctionOpenMenu: 17,
-        FunctionCloseMenu: 18,
-        FunctionSetHighlightedIndex: 19,
-        FunctionSelectItem: 20,
-        FunctionSetInputValue: 21,
-        FunctionReset: 22,
-      })
-      function he(e, t) {
-        var n,
-          r = t.type,
-          i = t.props,
-          a = t.shiftKey
-        switch (r) {
-          case 11:
-            n = {
-              isOpen: J(i, 'isOpen'),
-              highlightedIndex: J(i, 'highlightedIndex'),
-              selectedItem: i.items[t.index],
-            }
-            break
-          case 15:
-            var s = t.key,
-              u = '' + e.inputValue + s,
-              c = ce(
-                u,
-                e.selectedItem ? i.items.indexOf(e.selectedItem) : -1,
-                i.items,
-                i.itemToString,
-                t.getItemNodeFromIndex,
-              )
-            n = (0, o.Z)({ inputValue: u }, c >= 0 && { selectedItem: i.items[c] })
-            break
-          case 13:
-            n = { highlightedIndex: ne(i, e, 1, t.getItemNodeFromIndex), isOpen: !0 }
-            break
-          case 14:
-            n = { highlightedIndex: ne(i, e, -1, t.getItemNodeFromIndex), isOpen: !0 }
-            break
-          case 5:
-          case 6:
-            n = (0, o.Z)(
-              { isOpen: J(i, 'isOpen'), highlightedIndex: J(i, 'highlightedIndex') },
-              e.highlightedIndex >= 0 && { selectedItem: i.items[e.highlightedIndex] },
-            )
-            break
-          case 3:
-            n = { highlightedIndex: R(1, 0, i.items.length, t.getItemNodeFromIndex, !1) }
-            break
-          case 4:
-            n = {
-              highlightedIndex: R(
-                -1,
-                i.items.length - 1,
-                i.items.length,
-                t.getItemNodeFromIndex,
-                !1,
-              ),
-            }
-            break
-          case 2:
-          case 8:
-            n = { isOpen: !1, highlightedIndex: -1 }
-            break
-          case 7:
-            var l = t.key,
-              d = '' + e.inputValue + l,
-              f = ce(d, e.highlightedIndex, i.items, i.itemToString, t.getItemNodeFromIndex)
-            n = (0, o.Z)({ inputValue: d }, f >= 0 && { highlightedIndex: f })
-            break
-          case 0:
-            n = {
-              highlightedIndex: A(
-                a ? 5 : 1,
-                e.highlightedIndex,
-                i.items.length,
-                t.getItemNodeFromIndex,
-                i.circularNavigation,
-              ),
-            }
-            break
-          case 1:
-            n = {
-              highlightedIndex: A(
-                a ? -5 : -1,
-                e.highlightedIndex,
-                i.items.length,
-                t.getItemNodeFromIndex,
-                i.circularNavigation,
-              ),
-            }
-            break
-          case 20:
-            n = { selectedItem: t.selectedItem }
-            break
-          default:
-            return ue(e, t, fe)
-        }
-        return (0, o.Z)({}, e, n)
-      }
-      function pe(e) {
-        void 0 === e && (e = {}), de(e, pe)
-        var t = (0, o.Z)({}, le, e),
-          n = t.items,
-          i = t.scrollIntoView,
-          a = t.environment,
-          s = t.initialIsOpen,
-          u = t.defaultIsOpen,
-          l = t.itemToString,
-          d = t.getA11ySelectionMessage,
-          f = t.getA11yStatusMessage,
-          h = Y(he, te(t), t),
-          p = h[0],
-          v = h[1],
-          m = p.isOpen,
-          g = p.highlightedIndex,
-          y = p.selectedItem,
-          x = p.inputValue,
-          k = (0, c.useRef)(null),
-          E = (0, c.useRef)(null),
-          O = (0, c.useRef)({}),
-          T = (0, c.useRef)(!0),
-          C = (0, c.useRef)(null),
-          M = G(t),
-          S = (0, c.useRef)(),
-          P = (0, c.useRef)(!0),
-          j = X({ state: p, props: t }),
-          A = (0, c.useCallback)(
-            function (e) {
-              return O.current[M.getItemId(e)]
-            },
-            [M],
-          )
-        ie(
-          f,
-          [m, g, x, n],
-          (0, o.Z)(
-            {
-              isInitialMount: P.current,
-              previousResultCount: S.current,
-              items: n,
-              environment: a,
-              itemToString: l,
-            },
-            p,
-          ),
-        ),
-          ie(
-            d,
-            [y],
-            (0, o.Z)(
-              {
-                isInitialMount: P.current,
-                previousResultCount: S.current,
-                items: n,
-                environment: a,
-                itemToString: l,
-              },
-              p,
-            ),
-          )
-        var R = ae({
-          menuElement: E.current,
-          highlightedIndex: g,
-          isOpen: m,
-          itemRefs: O,
-          scrollIntoView: i,
-          getItemNodeFromIndex: A,
-        })
-        ;(0, c.useEffect)(function () {
-          return (
-            (C.current = b(function (e) {
-              e({ type: 21, inputValue: '' })
-            }, 500)),
-            function () {
-              C.current.cancel()
-            }
-          )
-        }, []),
-          (0, c.useEffect)(
-            function () {
-              x && C.current(v)
-            },
-            [v, x],
-          ),
-          se({ isInitialMount: P.current, props: t, state: p }),
-          (0, c.useEffect)(
-            function () {
-              P.current
-                ? (s || u || m) && E.current && E.current.focus()
-                : m
-                ? E.current && E.current.focus()
-                : a.document.activeElement === E.current &&
-                  k.current &&
-                  ((T.current = !1), k.current.focus())
-            },
-            [m],
-          ),
-          (0, c.useEffect)(function () {
-            P.current || (S.current = n.length)
-          })
-        var D = re(m, [E, k], a, function () {
-            v({ type: 8 })
-          }),
-          L = oe()
-        ;(0, c.useEffect)(function () {
-          P.current = !1
-        }, []),
-          (0, c.useEffect)(
-            function () {
-              m || (O.current = {})
-            },
-            [m],
-          )
-        var N = (0, c.useMemo)(
-            function () {
-              return {
-                ArrowDown: function (e) {
-                  e.preventDefault(), v({ type: 13, getItemNodeFromIndex: A, shiftKey: e.shiftKey })
-                },
-                ArrowUp: function (e) {
-                  e.preventDefault(), v({ type: 14, getItemNodeFromIndex: A, shiftKey: e.shiftKey })
-                },
-              }
-            },
-            [v, A],
-          ),
-          z = (0, c.useMemo)(
-            function () {
-              return {
-                ArrowDown: function (e) {
-                  e.preventDefault(), v({ type: 0, getItemNodeFromIndex: A, shiftKey: e.shiftKey })
-                },
-                ArrowUp: function (e) {
-                  e.preventDefault(), v({ type: 1, getItemNodeFromIndex: A, shiftKey: e.shiftKey })
-                },
-                Home: function (e) {
-                  e.preventDefault(), v({ type: 3, getItemNodeFromIndex: A })
-                },
-                End: function (e) {
-                  e.preventDefault(), v({ type: 4, getItemNodeFromIndex: A })
-                },
-                Escape: function () {
-                  v({ type: 2 })
-                },
-                Enter: function (e) {
-                  e.preventDefault(), v({ type: 5 })
-                },
-                ' ': function (e) {
-                  e.preventDefault(), v({ type: 6 })
-                },
-              }
-            },
-            [v, A],
-          ),
-          B = (0, c.useCallback)(
-            function () {
-              v({ type: 16 })
-            },
-            [v],
-          ),
-          H = (0, c.useCallback)(
-            function () {
-              v({ type: 18 })
-            },
-            [v],
-          ),
-          F = (0, c.useCallback)(
-            function () {
-              v({ type: 17 })
-            },
-            [v],
-          ),
-          V = (0, c.useCallback)(
-            function (e) {
-              v({ type: 19, highlightedIndex: e })
-            },
-            [v],
-          ),
-          W = (0, c.useCallback)(
-            function (e) {
-              v({ type: 20, selectedItem: e })
-            },
-            [v],
-          ),
-          U = (0, c.useCallback)(
-            function () {
-              v({ type: 22 })
-            },
-            [v],
-          ),
-          Z = (0, c.useCallback)(
-            function (e) {
-              v({ type: 21, inputValue: e })
-            },
-            [v],
-          ),
-          $ = (0, c.useCallback)(
-            function (e) {
-              return (0, o.Z)({ id: M.labelId, htmlFor: M.toggleButtonId }, e)
-            },
-            [M],
-          ),
-          Q = (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.onMouseLeave,
-                s = i.refKey,
-                u = void 0 === s ? 'ref' : s,
-                c = i.onKeyDown,
-                l = i.onBlur,
-                d = i.ref,
-                f = r(i, ['onMouseLeave', 'refKey', 'onKeyDown', 'onBlur', 'ref']),
-                h = (void 0 === t ? {} : t).suppressRefError,
-                p = void 0 !== h && h,
-                m = j.current.state
-              return (
-                L('getMenuProps', p, u, E),
-                (0, o.Z)(
-                  (((n = {})[u] = _(d, function (e) {
-                    E.current = e
-                  })),
-                  (n.id = M.menuId),
-                  (n.role = 'listbox'),
-                  (n['aria-labelledby'] = M.labelId),
-                  (n.tabIndex = -1),
-                  n),
-                  m.isOpen &&
-                    m.highlightedIndex > -1 && {
-                      'aria-activedescendant': M.getItemId(m.highlightedIndex),
-                    },
-                  {
-                    onMouseLeave: w(a, function () {
-                      v({ type: 9 })
-                    }),
-                    onKeyDown: w(c, function (e) {
-                      var t = I(e)
-                      t && z[t] ? z[t](e) : K(t) && v({ type: 7, key: t, getItemNodeFromIndex: A })
-                    }),
-                    onBlur: w(l, function () {
-                      !1 !== T.current ? !D.current.isMouseDown && v({ type: 8 }) : (T.current = !0)
-                    }),
-                  },
-                  f,
-                )
-              )
-            },
-            [v, j, z, D, L, M, A],
-          )
-        return {
-          getToggleButtonProps: (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.onClick,
-                s = i.onKeyDown,
-                u = i.refKey,
-                c = void 0 === u ? 'ref' : u,
-                l = i.ref,
-                d = r(i, ['onClick', 'onKeyDown', 'refKey', 'ref']),
-                f = (void 0 === t ? {} : t).suppressRefError,
-                h = void 0 !== f && f,
-                p = (0, o.Z)(
-                  (((n = {})[c] = _(l, function (e) {
-                    k.current = e
-                  })),
-                  (n.id = M.toggleButtonId),
-                  (n['aria-haspopup'] = 'listbox'),
-                  (n['aria-expanded'] = j.current.state.isOpen),
-                  (n['aria-labelledby'] = M.labelId + ' ' + M.toggleButtonId),
-                  n),
-                  d,
-                )
-              return (
-                d.disabled ||
-                  ((p.onClick = w(a, function () {
-                    v({ type: 12 })
-                  })),
-                  (p.onKeyDown = w(s, function (e) {
-                    var t = I(e)
-                    t && N[t] ? N[t](e) : K(t) && v({ type: 15, key: t, getItemNodeFromIndex: A })
-                  }))),
-                L('getToggleButtonProps', h, c, k),
-                p
-              )
-            },
-            [v, j, N, L, M, A],
-          ),
-          getLabelProps: $,
-          getMenuProps: Q,
-          getItemProps: (0, c.useCallback)(
-            function (e) {
-              var t,
-                n = void 0 === e ? {} : e,
-                i = n.item,
-                a = n.index,
-                s = n.onMouseMove,
-                u = n.onClick,
-                c = n.refKey,
-                l = void 0 === c ? 'ref' : c,
-                d = n.ref,
-                f = r(n, ['item', 'index', 'onMouseMove', 'onClick', 'refKey', 'ref']),
-                h = j.current,
-                p = h.state,
-                m = h.props,
-                g = q(a, i, m.items)
-              if (g < 0) throw new Error('Pass either item or item index in getItemProps!')
-              var y = (0, o.Z)(
-                (((t = {
-                  role: 'option',
-                  'aria-selected': '' + (g === p.highlightedIndex),
-                  id: M.getItemId(g),
-                })[l] = _(d, function (e) {
-                  e && (O.current[M.getItemId(g)] = e)
-                })),
-                t),
-                f,
-              )
-              return (
-                f.disabled ||
-                  ((y.onMouseMove = w(s, function () {
-                    a !== p.highlightedIndex && ((R.current = !1), v({ type: 10, index: a }))
-                  })),
-                  (y.onClick = w(u, function () {
-                    v({ type: 11, index: a })
-                  }))),
-                y
-              )
-            },
-            [v, j, R, M],
-          ),
-          toggleMenu: B,
-          openMenu: F,
-          closeMenu: H,
-          setHighlightedIndex: V,
-          selectItem: W,
-          reset: U,
-          setInputValue: Z,
-          highlightedIndex: g,
-          isOpen: m,
-          selectedItem: y,
-          inputValue: x,
-        }
-      }
-      pe.stateChangeTypes = fe
-      var ve = Object.freeze({
-        __proto__: null,
-        InputKeyDownArrowDown: 0,
-        InputKeyDownArrowUp: 1,
-        InputKeyDownEscape: 2,
-        InputKeyDownHome: 3,
-        InputKeyDownEnd: 4,
-        InputKeyDownEnter: 5,
-        InputChange: 6,
-        InputBlur: 7,
-        MenuMouseLeave: 8,
-        ItemMouseMove: 9,
-        ItemClick: 10,
-        ToggleButtonClick: 11,
-        FunctionToggleMenu: 12,
-        FunctionOpenMenu: 13,
-        FunctionCloseMenu: 14,
-        FunctionSetHighlightedIndex: 15,
-        FunctionSelectItem: 16,
-        FunctionSetInputValue: 17,
-        FunctionReset: 18,
-        ControlledPropUpdatedSelectedItem: 19,
-      })
-      u().array.isRequired,
-        u().func,
-        u().func,
-        u().func,
-        u().bool,
-        u().number,
-        u().number,
-        u().number,
-        u().bool,
-        u().bool,
-        u().bool,
-        u().any,
-        u().any,
-        u().any,
-        u().string,
-        u().string,
-        u().string,
-        u().string,
-        u().string,
-        u().string,
-        u().func,
-        u().string,
-        u().string,
-        u().func,
-        u().func,
-        u().func,
-        u().func,
-        u().func,
-        u().func,
-        u().shape({
-          addEventListener: u().func,
-          removeEventListener: u().func,
-          document: u().shape({ getElementById: u().func, activeElement: u().any, body: u().any }),
-        })
-      var me = m
-      var ge = (0, o.Z)({}, Q, { getA11yStatusMessage: E, circularNavigation: !0 })
-      function ye(e, t) {
-        var n,
-          r = t.type,
-          i = t.props,
-          a = t.shiftKey
-        switch (r) {
-          case 10:
-            n = {
-              isOpen: J(i, 'isOpen'),
-              highlightedIndex: J(i, 'highlightedIndex'),
-              selectedItem: i.items[t.index],
-              inputValue: i.itemToString(i.items[t.index]),
-            }
-            break
-          case 0:
-            n = e.isOpen
-              ? {
-                  highlightedIndex: A(
-                    a ? 5 : 1,
-                    e.highlightedIndex,
-                    i.items.length,
-                    t.getItemNodeFromIndex,
-                    i.circularNavigation,
-                  ),
-                }
-              : {
-                  highlightedIndex: ne(i, e, 1, t.getItemNodeFromIndex),
-                  isOpen: i.items.length >= 0,
-                }
-            break
-          case 1:
-            n = e.isOpen
-              ? {
-                  highlightedIndex: A(
-                    a ? -5 : -1,
-                    e.highlightedIndex,
-                    i.items.length,
-                    t.getItemNodeFromIndex,
-                    i.circularNavigation,
-                  ),
-                }
-              : {
-                  highlightedIndex: ne(i, e, -1, t.getItemNodeFromIndex),
-                  isOpen: i.items.length >= 0,
-                }
-            break
-          case 5:
-            n = (0, o.Z)(
-              {},
-              e.isOpen &&
-                e.highlightedIndex >= 0 && {
-                  selectedItem: i.items[e.highlightedIndex],
-                  isOpen: J(i, 'isOpen'),
-                  highlightedIndex: J(i, 'highlightedIndex'),
-                  inputValue: i.itemToString(i.items[e.highlightedIndex]),
-                },
-            )
-            break
-          case 2:
-            n = (0, o.Z)(
-              { isOpen: !1, highlightedIndex: -1 },
-              !e.isOpen && { selectedItem: null, inputValue: '' },
-            )
-            break
-          case 3:
-            n = { highlightedIndex: R(1, 0, i.items.length, t.getItemNodeFromIndex, !1) }
-            break
-          case 4:
-            n = {
-              highlightedIndex: R(
-                -1,
-                i.items.length - 1,
-                i.items.length,
-                t.getItemNodeFromIndex,
-                !1,
-              ),
-            }
-            break
-          case 7:
-            n = (0, o.Z)(
-              { isOpen: !1, highlightedIndex: -1 },
-              e.highlightedIndex >= 0 &&
-                t.selectItem && {
-                  selectedItem: i.items[e.highlightedIndex],
-                  inputValue: i.itemToString(i.items[e.highlightedIndex]),
-                },
-            )
-            break
-          case 6:
-            n = { isOpen: !0, highlightedIndex: J(i, 'highlightedIndex'), inputValue: t.inputValue }
-            break
-          case 16:
-            n = { selectedItem: t.selectedItem, inputValue: i.itemToString(t.selectedItem) }
-            break
-          case 19:
-            n = { inputValue: t.inputValue }
-            break
-          default:
-            return ue(e, t, ve)
-        }
-        return (0, o.Z)({}, e, n)
-      }
-      function be(e) {
-        void 0 === e && (e = {}), me(e, be)
-        var t = (0, o.Z)({}, ge, e),
-          n = t.initialIsOpen,
-          i = t.defaultIsOpen,
-          a = t.items,
-          s = t.scrollIntoView,
-          u = t.environment,
-          l = t.getA11yStatusMessage,
-          d = t.getA11ySelectionMessage,
-          f = t.itemToString,
-          h = (function (e, t, n) {
-            var r = (0, c.useRef)(),
-              o = $(e, t, n),
-              i = o[0],
-              a = o[1]
-            return (
-              (0, c.useEffect)(function () {
-                j(n, 'selectedItem') &&
-                  (r.current !== n.selectedItem &&
-                    a({ type: 19, inputValue: n.itemToString(n.selectedItem) }),
-                  (r.current = i.selectedItem === r.current ? n.selectedItem : i.selectedItem))
-              }),
-              [P(i, n), a]
-            )
-          })(
-            ye,
-            (function (e) {
-              var t = te(e),
-                n = t.selectedItem,
-                r = t.inputValue
-              return (
-                '' === r &&
-                  n &&
-                  void 0 === e.defaultInputValue &&
-                  void 0 === e.initialInputValue &&
-                  void 0 === e.inputValue &&
-                  (r = e.itemToString(n)),
-                (0, o.Z)({}, t, { inputValue: r })
-              )
-            })(t),
-            t,
-          ),
-          p = h[0],
-          v = h[1],
-          m = p.isOpen,
-          g = p.highlightedIndex,
-          y = p.selectedItem,
-          b = p.inputValue,
-          x = (0, c.useRef)(null),
-          k = (0, c.useRef)({}),
-          E = (0, c.useRef)(null),
-          O = (0, c.useRef)(null),
-          T = (0, c.useRef)(null),
-          C = (0, c.useRef)(!0),
-          M = G(t),
-          S = (0, c.useRef)(),
-          A = X({ state: p, props: t }),
-          R = (0, c.useCallback)(
-            function (e) {
-              return k.current[M.getItemId(e)]
-            },
-            [M],
-          )
-        ie(
-          l,
-          [m, g, b, a],
-          (0, o.Z)(
-            {
-              isInitialMount: C.current,
-              previousResultCount: S.current,
-              items: a,
-              environment: u,
-              itemToString: f,
-            },
-            p,
-          ),
-        ),
-          ie(
-            d,
-            [y],
-            (0, o.Z)(
-              {
-                isInitialMount: C.current,
-                previousResultCount: S.current,
-                items: a,
-                environment: u,
-                itemToString: f,
-              },
-              p,
-            ),
-          )
-        var D = ae({
-          menuElement: x.current,
-          highlightedIndex: g,
-          isOpen: m,
-          itemRefs: k,
-          scrollIntoView: s,
-          getItemNodeFromIndex: R,
-        })
-        se({ isInitialMount: C.current, props: t, state: p }),
-          (0, c.useEffect)(function () {
-            ;(n || i || m) && E.current && E.current.focus()
-          }, []),
-          (0, c.useEffect)(function () {
-            C.current || (S.current = a.length)
-          })
-        var L = re(m, [T, x, O], u, function () {
-            v({ type: 7, selectItem: !1 })
-          }),
-          N = oe()
-        ;(0, c.useEffect)(function () {
-          C.current = !1
-        }, []),
-          (0, c.useEffect)(
-            function () {
-              m || (k.current = {})
-            },
-            [m],
-          )
-        var z = (0, c.useMemo)(
-            function () {
-              return {
-                ArrowDown: function (e) {
-                  e.preventDefault(), v({ type: 0, shiftKey: e.shiftKey, getItemNodeFromIndex: R })
-                },
-                ArrowUp: function (e) {
-                  e.preventDefault(), v({ type: 1, shiftKey: e.shiftKey, getItemNodeFromIndex: R })
-                },
-                Home: function (e) {
-                  A.current.state.isOpen &&
-                    (e.preventDefault(), v({ type: 3, getItemNodeFromIndex: R }))
-                },
-                End: function (e) {
-                  A.current.state.isOpen &&
-                    (e.preventDefault(), v({ type: 4, getItemNodeFromIndex: R }))
-                },
-                Escape: function () {
-                  var e = A.current.state
-                  ;(e.isOpen || e.inputValue || e.selectedItem || e.highlightedIndex > -1) &&
-                    v({ type: 2 })
-                },
-                Enter: function (e) {
-                  var t = A.current.state
-                  !t.isOpen ||
-                    t.highlightedIndex < 0 ||
-                    229 === e.which ||
-                    (e.preventDefault(), v({ type: 5, getItemNodeFromIndex: R }))
-                },
-              }
-            },
-            [v, A, R],
-          ),
-          B = (0, c.useCallback)(
-            function (e) {
-              return (0, o.Z)({ id: M.labelId, htmlFor: M.inputId }, e)
-            },
-            [M],
-          ),
-          H = (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.onMouseLeave,
-                s = i.refKey,
-                u = void 0 === s ? 'ref' : s,
-                c = i.ref,
-                l = r(i, ['onMouseLeave', 'refKey', 'ref']),
-                d = (void 0 === t ? {} : t).suppressRefError
-              return (
-                N('getMenuProps', void 0 !== d && d, u, x),
-                (0, o.Z)(
-                  (((n = {})[u] = _(c, function (e) {
-                    x.current = e
-                  })),
-                  (n.id = M.menuId),
-                  (n.role = 'listbox'),
-                  (n['aria-labelledby'] = M.labelId),
-                  (n.onMouseLeave = w(a, function () {
-                    v({ type: 8 })
-                  })),
-                  n),
-                  l,
-                )
-              )
-            },
-            [v, N, M],
-          ),
-          F = (0, c.useCallback)(
-            function (e) {
-              var t,
-                n,
-                i = void 0 === e ? {} : e,
-                a = i.item,
-                s = i.index,
-                u = i.refKey,
-                c = void 0 === u ? 'ref' : u,
-                l = i.ref,
-                d = i.onMouseMove,
-                f = i.onClick
-              i.onPress
-              var h = r(i, ['item', 'index', 'refKey', 'ref', 'onMouseMove', 'onClick', 'onPress']),
-                p = A.current,
-                m = p.props,
-                g = p.state,
-                y = q(s, a, m.items)
-              if (y < 0) throw new Error('Pass either item or item index in getItemProps!')
-              var b = f
-              return (0, o.Z)(
-                (((t = {})[c] = _(l, function (e) {
-                  e && (k.current[M.getItemId(y)] = e)
-                })),
-                (t.role = 'option'),
-                (t['aria-selected'] = '' + (y === g.highlightedIndex)),
-                (t.id = M.getItemId(y)),
-                t),
-                !h.disabled &&
-                  (((n = {
-                    onMouseMove: w(d, function () {
-                      s !== g.highlightedIndex && ((D.current = !1), v({ type: 9, index: s }))
-                    }),
-                  }).onClick = w(b, function () {
-                    v({ type: 10, index: s }), E.current && E.current.focus()
-                  })),
-                  n),
-                h,
-              )
-            },
-            [v, A, D, M],
-          ),
-          V = (0, c.useCallback)(
-            function (e) {
-              var t,
-                n = void 0 === e ? {} : e,
-                i = n.onClick
-              n.onPress
-              var a = n.refKey,
-                s = void 0 === a ? 'ref' : a,
-                u = n.ref,
-                c = r(n, ['onClick', 'onPress', 'refKey', 'ref'])
-              return (0, o.Z)(
-                (((t = {})[s] = _(u, function (e) {
-                  O.current = e
-                })),
-                (t.id = M.toggleButtonId),
-                (t.tabIndex = -1),
-                t),
-                !c.disabled &&
-                  (0, o.Z)(
-                    {},
-                    {
-                      onClick: w(i, function () {
-                        v({ type: 11 }), !A.current.state.isOpen && E.current && E.current.focus()
-                      }),
-                    },
-                  ),
-                c,
-              )
-            },
-            [v, A, M],
-          ),
-          W = (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.onKeyDown,
-                s = i.onChange,
-                u = i.onInput,
-                c = i.onBlur
-              i.onChangeText
-              var l = i.refKey,
-                d = void 0 === l ? 'ref' : l,
-                f = i.ref,
-                h = r(i, [
-                  'onKeyDown',
-                  'onChange',
-                  'onInput',
-                  'onBlur',
-                  'onChangeText',
-                  'refKey',
-                  'ref',
-                ]),
-                p = (void 0 === t ? {} : t).suppressRefError
-              N('getInputProps', void 0 !== p && p, d, E)
-              var m,
-                g = A.current.state,
-                y = {}
-              h.disabled ||
-                (((m = {}).onChange = w(s, u, function (e) {
-                  v({ type: 6, inputValue: e.target.value })
-                })),
-                (m.onKeyDown = w(a, function (e) {
-                  var t = I(e)
-                  t && z[t] && z[t](e)
-                })),
-                (m.onBlur = w(c, function () {
-                  g.isOpen && !L.current.isMouseDown && v({ type: 7, selectItem: !0 })
-                })),
-                (y = m))
-              return (0, o.Z)(
-                (((n = {})[d] = _(f, function (e) {
-                  E.current = e
-                })),
-                (n.id = M.inputId),
-                (n['aria-autocomplete'] = 'list'),
-                (n['aria-controls'] = M.menuId),
-                n),
-                g.isOpen &&
-                  g.highlightedIndex > -1 && {
-                    'aria-activedescendant': M.getItemId(g.highlightedIndex),
-                  },
-                { 'aria-labelledby': M.labelId, autoComplete: 'off', value: g.inputValue },
-                y,
-                h,
-              )
-            },
-            [v, z, A, L, N, M],
-          ),
-          U = (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.refKey,
-                s = void 0 === a ? 'ref' : a,
-                u = i.ref,
-                c = r(i, ['refKey', 'ref']),
-                l = (void 0 === t ? {} : t).suppressRefError
-              return (
-                N('getComboboxProps', void 0 !== l && l, s, T),
-                (0, o.Z)(
-                  (((n = {})[s] = _(u, function (e) {
-                    T.current = e
-                  })),
-                  (n.role = 'combobox'),
-                  (n['aria-haspopup'] = 'listbox'),
-                  (n['aria-owns'] = M.menuId),
-                  (n['aria-expanded'] = A.current.state.isOpen),
-                  n),
-                  c,
-                )
-              )
-            },
-            [A, N, M],
-          ),
-          K = (0, c.useCallback)(
-            function () {
-              v({ type: 12 })
-            },
-            [v],
-          ),
-          Z = (0, c.useCallback)(
-            function () {
-              v({ type: 14 })
-            },
-            [v],
-          ),
-          Y = (0, c.useCallback)(
-            function () {
-              v({ type: 13 })
-            },
-            [v],
-          ),
-          Q = (0, c.useCallback)(
-            function (e) {
-              v({ type: 15, highlightedIndex: e })
-            },
-            [v],
-          ),
-          J = (0, c.useCallback)(
-            function (e) {
-              v({ type: 16, selectedItem: e })
-            },
-            [v],
-          )
-        return {
-          getItemProps: F,
-          getLabelProps: B,
-          getMenuProps: H,
-          getInputProps: W,
-          getComboboxProps: U,
-          getToggleButtonProps: V,
-          toggleMenu: K,
-          openMenu: Y,
-          closeMenu: Z,
-          setHighlightedIndex: Q,
-          setInputValue: (0, c.useCallback)(
-            function (e) {
-              v({ type: 17, inputValue: e })
-            },
-            [v],
-          ),
-          selectItem: J,
-          reset: (0, c.useCallback)(
-            function () {
-              v({ type: 18 })
-            },
-            [v],
-          ),
-          highlightedIndex: g,
-          isOpen: m,
-          selectedItem: y,
-          inputValue: b,
-        }
-      }
-      be.stateChangeTypes = ve
-      var we = { activeIndex: -1, selectedItems: [] }
-      function _e(e, t) {
-        return ee(e, t, we)
-      }
-      function xe(e, t) {
-        return J(e, t, we)
-      }
-      function ke(e) {
-        if (e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) return !1
-        var t = e.target
-        return (
-          !(t instanceof HTMLInputElement && '' !== t.value) ||
-          (0 === t.selectionStart && 0 === t.selectionEnd)
-        )
-      }
-      u().array,
-        u().array,
-        u().array,
-        u().func,
-        u().func,
-        u().func,
-        u().number,
-        u().number,
-        u().number,
-        u().func,
-        u().func,
-        u().string,
-        u().string,
-        u().shape({
-          addEventListener: u().func,
-          removeEventListener: u().func,
-          document: u().shape({ getElementById: u().func, activeElement: u().any, body: u().any }),
-        })
-      var Ee = {
-          itemToString: Q.itemToString,
-          stateReducer: Q.stateReducer,
-          environment: Q.environment,
-          getA11yRemovalMessage: function (e) {
-            var t = e.removedSelectedItem
-            return (0, e.itemToString)(t) + ' has been removed.'
-          },
-          keyNavigationNext: 'ArrowRight',
-          keyNavigationPrevious: 'ArrowLeft',
-        },
-        Oe = m
-      var Te = Object.freeze({
-        __proto__: null,
-        SelectedItemClick: 0,
-        SelectedItemKeyDownDelete: 1,
-        SelectedItemKeyDownBackspace: 2,
-        SelectedItemKeyDownNavigationNext: 3,
-        SelectedItemKeyDownNavigationPrevious: 4,
-        DropdownKeyDownNavigationPrevious: 5,
-        DropdownKeyDownBackspace: 6,
-        DropdownClick: 7,
-        FunctionAddSelectedItem: 8,
-        FunctionRemoveSelectedItem: 9,
-        FunctionSetSelectedItems: 10,
-        FunctionSetActiveIndex: 11,
-        FunctionReset: 12,
-      })
-      function Ce(e, t) {
-        var n,
-          r = t.type,
-          i = t.index,
-          a = t.props,
-          s = t.selectedItem,
-          u = e.activeIndex,
-          c = e.selectedItems
-        switch (r) {
-          case 0:
-            n = { activeIndex: i }
-            break
-          case 4:
-            n = { activeIndex: u - 1 < 0 ? 0 : u - 1 }
-            break
-          case 3:
-            n = { activeIndex: u + 1 >= c.length ? -1 : u + 1 }
-            break
-          case 2:
-          case 1:
-            var l = u
-            1 === c.length ? (l = -1) : u === c.length - 1 && (l = c.length - 2),
-              (n = (0, o.Z)(
-                { selectedItems: [].concat(c.slice(0, u), c.slice(u + 1)) },
-                { activeIndex: l },
-              ))
-            break
-          case 5:
-            n = { activeIndex: c.length - 1 }
-            break
-          case 6:
-            n = { selectedItems: c.slice(0, c.length - 1) }
-            break
-          case 8:
-            n = { selectedItems: [].concat(c, [s]) }
-            break
-          case 7:
-            n = { activeIndex: -1 }
-            break
-          case 9:
-            var d = u,
-              f = c.indexOf(s)
-            1 === c.length ? (d = -1) : f === c.length - 1 && (d = c.length - 2),
-              (n = (0, o.Z)(
-                { selectedItems: [].concat(c.slice(0, f), c.slice(f + 1)) },
-                { activeIndex: d },
-              ))
-            break
-          case 10:
-            n = { selectedItems: t.selectedItems }
-            break
-          case 11:
-            n = { activeIndex: t.activeIndex }
-            break
-          case 12:
-            n = { activeIndex: xe(a, 'activeIndex'), selectedItems: xe(a, 'selectedItems') }
-            break
-          default:
-            throw new Error('Reducer called without proper action type.')
-        }
-        return (0, o.Z)({}, e, n)
-      }
-      function Me(e) {
-        void 0 === e && (e = {}), Oe(e, Me)
-        var t = (0, o.Z)({}, Ee, e),
-          n = t.getA11yRemovalMessage,
-          i = t.itemToString,
-          a = t.environment,
-          s = t.keyNavigationNext,
-          u = t.keyNavigationPrevious,
-          l = Y(
-            Ce,
-            (function (e) {
-              return { activeIndex: _e(e, 'activeIndex'), selectedItems: _e(e, 'selectedItems') }
-            })(t),
-            t,
-          ),
-          d = l[0],
-          f = l[1],
-          h = d.activeIndex,
-          p = d.selectedItems,
-          v = (0, c.useRef)(!0),
-          m = (0, c.useRef)(null),
-          g = (0, c.useRef)(p),
-          y = (0, c.useRef)()
-        y.current = []
-        var b = X({ state: d, props: t })
-        ;(0, c.useEffect)(
-          function () {
-            if (!v.current) {
-              if (p.length < g.current.length) {
-                var e = g.current.find(function (e) {
-                  return p.indexOf(e) < 0
-                })
-                N(
-                  n({
-                    itemToString: i,
-                    resultCount: p.length,
-                    removedSelectedItem: e,
-                    activeIndex: h,
-                    activeSelectedItem: p[h],
-                  }),
-                  a.document,
-                )
-              }
-              g.current = p
-            }
-          },
-          [p.length],
-        ),
-          (0, c.useEffect)(
-            function () {
-              v.current ||
-                (-1 === h && m.current ? m.current.focus() : y.current[h] && y.current[h].focus())
-            },
-            [h],
-          ),
-          se({ isInitialMount: v.current, props: t, state: d })
-        var x = oe()
-        ;(0, c.useEffect)(function () {
-          v.current = !1
-        }, [])
-        var k = (0, c.useMemo)(
-            function () {
-              var e
-              return (
-                ((e = {})[u] = function () {
-                  f({ type: 4 })
-                }),
-                (e[s] = function () {
-                  f({ type: 3 })
-                }),
-                (e.Delete = function () {
-                  f({ type: 1 })
-                }),
-                (e.Backspace = function () {
-                  f({ type: 2 })
-                }),
-                e
-              )
-            },
-            [f, s, u],
-          ),
-          E = (0, c.useMemo)(
-            function () {
-              var e
-              return (
-                ((e = {})[u] = function (e) {
-                  ke(e) && f({ type: 5 })
-                }),
-                (e.Backspace = function (e) {
-                  ke(e) && f({ type: 6 })
-                }),
-                e
-              )
-            },
-            [f, u],
-          )
-        return {
-          getSelectedItemProps: (0, c.useCallback)(
-            function (e) {
-              var t,
-                n = void 0 === e ? {} : e,
-                i = n.refKey,
-                a = void 0 === i ? 'ref' : i,
-                s = n.ref,
-                u = n.onClick,
-                c = n.onKeyDown,
-                l = n.selectedItem,
-                d = n.index,
-                h = r(n, ['refKey', 'ref', 'onClick', 'onKeyDown', 'selectedItem', 'index']),
-                p = b.current.state
-              if (q(d, l, p.selectedItems) < 0)
-                throw new Error('Pass either selectedItem or index in getSelectedItemProps!')
-              return (0, o.Z)(
-                (((t = {})[a] = _(s, function (e) {
-                  e && y.current.push(e)
-                })),
-                (t.tabIndex = d === p.activeIndex ? 0 : -1),
-                (t.onClick = w(u, function () {
-                  f({ type: 0, index: d })
-                })),
-                (t.onKeyDown = w(c, function (e) {
-                  var t = I(e)
-                  t && k[t] && k[t](e)
-                })),
-                t),
-                h,
-              )
-            },
-            [f, b, k],
-          ),
-          getDropdownProps: (0, c.useCallback)(
-            function (e, t) {
-              var n,
-                i = void 0 === e ? {} : e,
-                a = i.refKey,
-                s = void 0 === a ? 'ref' : a,
-                u = i.ref,
-                c = i.onKeyDown,
-                l = i.onClick,
-                d = i.preventKeyAction,
-                h = void 0 !== d && d,
-                p = r(i, ['refKey', 'ref', 'onKeyDown', 'onClick', 'preventKeyAction']),
-                v = (void 0 === t ? {} : t).suppressRefError
-              x('getDropdownProps', void 0 !== v && v, s, m)
-              return (0, o.Z)(
-                (((n = {})[s] = _(u, function (e) {
-                  e && (m.current = e)
-                })),
-                n),
-                !h && {
-                  onKeyDown: w(c, function (e) {
-                    var t = I(e)
-                    t && E[t] && E[t](e)
-                  }),
-                  onClick: w(l, function () {
-                    f({ type: 7 })
-                  }),
-                },
-                p,
-              )
-            },
-            [f, E, x],
-          ),
-          addSelectedItem: (0, c.useCallback)(
-            function (e) {
-              f({ type: 8, selectedItem: e })
-            },
-            [f],
-          ),
-          removeSelectedItem: (0, c.useCallback)(
-            function (e) {
-              f({ type: 9, selectedItem: e })
-            },
-            [f],
-          ),
-          setSelectedItems: (0, c.useCallback)(
-            function (e) {
-              f({ type: 10, selectedItems: e })
-            },
-            [f],
-          ),
-          setActiveIndex: (0, c.useCallback)(
-            function (e) {
-              f({ type: 11, activeIndex: e })
-            },
-            [f],
-          ),
-          reset: (0, c.useCallback)(
-            function () {
-              f({ type: 12 })
-            },
-            [f],
-          ),
-          selectedItems: p,
-          activeIndex: h,
-        }
-      }
-      Me.stateChangeTypes = Te
-      var Se = H
-    },
-    56781: function (e, t) {
-      'use strict'
-      var n = 60103,
-        r = 60106,
-        o = 60107,
-        i = 60108,
-        a = 60114,
-        s = 60109,
-        u = 60110,
-        c = 60112,
-        l = 60113,
-        d = 60120,
-        f = 60115,
-        h = 60116,
-        p = 60121,
-        v = 60122,
-        m = 60117,
-        g = 60129,
-        y = 60131
-      if ('function' === typeof Symbol && Symbol.for) {
-        var b = Symbol.for
-        ;(n = b('react.element')),
-          (r = b('react.portal')),
-          (o = b('react.fragment')),
-          (i = b('react.strict_mode')),
-          (a = b('react.profiler')),
-          (s = b('react.provider')),
-          (u = b('react.context')),
-          (c = b('react.forward_ref')),
-          (l = b('react.suspense')),
-          (d = b('react.suspense_list')),
-          (f = b('react.memo')),
-          (h = b('react.lazy')),
-          (p = b('react.block')),
-          (v = b('react.server.block')),
-          (m = b('react.fundamental')),
-          (g = b('react.debug_trace_mode')),
-          (y = b('react.legacy_hidden'))
-      }
-      function w(e) {
-        if ('object' === typeof e && null !== e) {
-          var t = e.$$typeof
-          switch (t) {
-            case n:
-              switch ((e = e.type)) {
-                case o:
-                case a:
-                case i:
-                case l:
-                case d:
-                  return e
-                default:
-                  switch ((e = e && e.$$typeof)) {
-                    case u:
-                    case c:
-                    case h:
-                    case f:
-                    case s:
-                      return e
-                    default:
-                      return t
-                  }
-              }
-            case r:
-              return t
-          }
-        }
-      }
-    },
-    21726: function (e, t, n) {
-      'use strict'
-      n(56781)
-    },
-    38252: function (e) {
-      'use strict'
-      e.exports = function e(t, n) {
-        if (t === n) return !0
-        if (t && n && 'object' == typeof t && 'object' == typeof n) {
-          if (t.constructor !== n.constructor) return !1
-          var r, o, i
-          if (Array.isArray(t)) {
-            if ((r = t.length) != n.length) return !1
-            for (o = r; 0 !== o--; ) if (!e(t[o], n[o])) return !1
-            return !0
-          }
-          if (t.constructor === RegExp) return t.source === n.source && t.flags === n.flags
-          if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === n.valueOf()
-          if (t.toString !== Object.prototype.toString) return t.toString() === n.toString()
-          if ((r = (i = Object.keys(t)).length) !== Object.keys(n).length) return !1
-          for (o = r; 0 !== o--; ) if (!Object.prototype.hasOwnProperty.call(n, i[o])) return !1
-          for (o = r; 0 !== o--; ) {
-            var a = i[o]
-            if (('_owner' !== a || !t.$$typeof) && !e(t[a], n[a])) return !1
-          }
-          return !0
-        }
-        return t !== t && n !== n
-      }
-    },
-    53869: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        M: function () {
-          return p
-        },
-      })
-      var r = n(70655),
-        o = n(67294),
-        i = n(6717)
-      var a = n(8626),
-        s = n(45930),
-        u = 0
-      function c() {
-        var e = u
-        return u++, e
-      }
-      var l = function (e) {
-        var t = e.children,
-          n = e.initial,
-          r = e.isPresent,
-          i = e.onExitComplete,
-          u = e.custom,
-          l = e.presenceAffectsLayout,
-          f = (0, s.h)(d),
-          h = (0, s.h)(c),
-          p = (0, o.useMemo)(
-            function () {
-              return {
-                id: h,
-                initial: n,
-                isPresent: r,
-                custom: u,
-                onExitComplete: function (e) {
-                  f.set(e, !0)
-                  var t = !0
-                  f.forEach(function (e) {
-                    e || (t = !1)
-                  }),
-                    t && (null === i || void 0 === i || i())
-                },
-                register: function (e) {
-                  return (
-                    f.set(e, !1),
-                    function () {
-                      return f.delete(e)
-                    }
-                  )
-                },
-              }
-            },
-            l ? void 0 : [r],
-          )
-        return (
-          (0, o.useMemo)(
-            function () {
-              f.forEach(function (e, t) {
-                return f.set(t, !1)
-              })
-            },
-            [r],
-          ),
-          o.useEffect(
-            function () {
-              !r && !f.size && (null === i || void 0 === i || i())
-            },
-            [r],
-          ),
-          o.createElement(a.O.Provider, { value: p }, t)
-        )
-      }
-      function d() {
-        return new Map()
-      }
-      var f = n(49870)
-      function h(e) {
-        return e.key || ''
-      }
-      var p = function (e) {
-        var t = e.children,
-          n = e.custom,
-          a = e.initial,
-          s = void 0 === a || a,
-          u = e.onExitComplete,
-          c = e.exitBeforeEnter,
-          d = e.presenceAffectsLayout,
-          p = void 0 === d || d,
-          v = (function () {
-            var e = (0, o.useRef)(!1),
-              t = (0, r.__read)((0, o.useState)(0), 2),
-              n = t[0],
-              a = t[1]
-            return (
-              (0, i.z)(function () {
-                return (e.current = !0)
-              }),
-              (0, o.useCallback)(
-                function () {
-                  !e.current && a(n + 1)
-                },
-                [n],
-              )
-            )
-          })(),
-          m = (0, o.useContext)(f.WH)
-        ;(0, f.Md)(m) && (v = m.forceUpdate)
-        var g = (0, o.useRef)(!0),
-          y = (function (e) {
-            var t = []
-            return (
-              o.Children.forEach(e, function (e) {
-                ;(0, o.isValidElement)(e) && t.push(e)
-              }),
-              t
-            )
-          })(t),
-          b = (0, o.useRef)(y),
-          w = (0, o.useRef)(new Map()).current,
-          _ = (0, o.useRef)(new Set()).current
-        if (
-          ((function (e, t) {
-            e.forEach(function (e) {
-              var n = h(e)
-              t.set(n, e)
-            })
-          })(y, w),
-          g.current)
-        )
-          return (
-            (g.current = !1),
-            o.createElement(
-              o.Fragment,
-              null,
-              y.map(function (e) {
-                return o.createElement(
-                  l,
-                  { key: h(e), isPresent: !0, initial: !!s && void 0, presenceAffectsLayout: p },
-                  e,
-                )
-              }),
-            )
-          )
-        for (
-          var x = (0, r.__spreadArray)([], (0, r.__read)(y)),
-            k = b.current.map(h),
-            E = y.map(h),
-            O = k.length,
-            T = 0;
-          T < O;
-          T++
-        ) {
-          var C = k[T]
-          ;-1 === E.indexOf(C) ? _.add(C) : _.delete(C)
-        }
-        return (
-          c && _.size && (x = []),
-          _.forEach(function (e) {
-            if (-1 === E.indexOf(e)) {
-              var t = w.get(e)
-              if (t) {
-                var r = k.indexOf(e)
-                x.splice(
-                  r,
-                  0,
-                  o.createElement(
-                    l,
-                    {
-                      key: h(t),
-                      isPresent: !1,
-                      onExitComplete: function () {
-                        w.delete(e), _.delete(e)
-                        var t = b.current.findIndex(function (t) {
-                          return t.key === e
-                        })
-                        b.current.splice(t, 1), _.size || ((b.current = y), v(), u && u())
-                      },
-                      custom: n,
-                      presenceAffectsLayout: p,
-                    },
-                    t,
-                  ),
-                )
-              }
-            }
-          }),
-          (x = x.map(function (e) {
-            var t = e.key
-            return _.has(t)
-              ? e
-              : o.createElement(l, { key: h(e), isPresent: !0, presenceAffectsLayout: p }, e)
-          })),
-          (b.current = x),
-          o.createElement(
-            o.Fragment,
-            null,
-            _.size
-              ? x
-              : x.map(function (e) {
-                  return (0, o.cloneElement)(e)
-                }),
-          )
-        )
-      }
-    },
-    7646: function (e, t, n) {
-      'use strict'
-      var r, o
-      n.d(t, {
-        z: function () {
-          return r
-        },
-        c: function () {
-          return o
-        },
-      }),
-        (function (e) {
-          ;(e[(e.Entering = 0)] = 'Entering'),
-            (e[(e.Present = 1)] = 'Present'),
-            (e[(e.Exiting = 2)] = 'Exiting')
-        })(r || (r = {})),
-        (function (e) {
-          ;(e[(e.Hide = 0)] = 'Hide'), (e[(e.Show = 1)] = 'Show')
-        })(o || (o = {}))
-    },
-    8626: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        O: function () {
-          return r
-        },
-      })
-      var r = (0, n(67294).createContext)(null)
-    },
-    49870: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        bg: function () {
-          return p
-        },
-        WH: function () {
-          return h
-        },
-        Md: function () {
-          return v
-        },
-      })
-      var r = n(67294),
-        o = n(70655),
-        i = n(9839),
-        a = n(58839),
-        s = n(27565),
-        u = n(519),
-        c = n(7646),
-        l = {
-          layoutReady: function (e) {
-            return e.notifyLayoutReady()
-          },
-        }
-      function d() {
-        var e = new Set()
-        return {
-          add: function (t) {
-            return e.add(t)
-          },
-          flush: function (t) {
-            var n = void 0 === t ? l : t,
-              r = n.layoutReady,
-              d = n.parent
-            ;(0, s.U)(function (t, n) {
-              var s = Array.from(e).sort(u._),
-                l = d ? (0, a.kv)(d) : []
-              n(function () {
-                ;(0, o.__spreadArray)(
-                  (0, o.__spreadArray)([], (0, o.__read)(l)),
-                  (0, o.__read)(s),
-                ).forEach(function (e) {
-                  return e.resetTransform()
-                })
-              }),
-                t(function () {
-                  s.forEach(a.de)
-                }),
-                n(function () {
-                  l.forEach(function (e) {
-                    return e.restoreTransform()
-                  }),
-                    s.forEach(r)
-                }),
-                t(function () {
-                  s.forEach(function (e) {
-                    e.isPresent && (e.presence = c.z.Present)
-                  })
-                }),
-                n(function () {
-                  i.iW.preRender(), i.iW.render()
-                }),
-                t(function () {
-                  i.ZP.postRender(function () {
-                    return s.forEach(f)
-                  }),
-                    e.clear()
-                })
-            }),
-              (0, s.R)()
-          },
-        }
-      }
-      function f(e) {
-        e.prevViewportBox = e.projection.target
-      }
-      var h = (0, r.createContext)(d()),
-        p = (0, r.createContext)(d())
-      function v(e) {
-        return !!e.forceUpdate
-      }
-    },
-    11770: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        E: function () {
-          return ki
-        },
-      })
-      var r = n(70655),
-        o = n(67294),
-        i = function (e) {
-          return {
-            isEnabled: function (t) {
-              return e.some(function (e) {
-                return !!t[e]
-              })
-            },
-          }
-        },
-        a = {
-          measureLayout: i(['layout', 'layoutId', 'drag', '_layoutResetTransform']),
-          animation: i([
-            'animate',
-            'exit',
-            'variants',
-            'whileHover',
-            'whileTap',
-            'whileFocus',
-            'whileDrag',
-          ]),
-          exit: i(['exit']),
-          drag: i(['drag', 'dragControls']),
-          focus: i(['whileFocus']),
-          hover: i(['whileHover', 'onHoverStart', 'onHoverEnd']),
-          tap: i(['whileTap', 'onTap', 'onTapStart', 'onTapCancel']),
-          pan: i(['onPan', 'onPanStart', 'onPanSessionStart', 'onPanEnd']),
-          layoutAnimation: i(['layout', 'layoutId']),
-        }
-      var s = (0, o.createContext)({ strict: !1 }),
-        u = Object.keys(a),
-        c = u.length
-      var l = (0, o.createContext)({
-          transformPagePoint: function (e) {
-            return e
-          },
-          isStatic: !1,
-        }),
-        d = (0, o.createContext)({})
-      var f = n(8626),
-        h = n(45930)
-      function p() {
-        var e = (0, o.useContext)(f.O)
-        if (null === e) return [!0, null]
-        var t = e.isPresent,
-          n = e.onExitComplete,
-          r = e.register,
-          i = y()
-        ;(0, o.useEffect)(function () {
-          return r(i)
-        }, [])
-        return !t && n
-          ? [
-              !1,
-              function () {
-                return null === n || void 0 === n ? void 0 : n(i)
-              },
-            ]
-          : [!0]
-      }
-      function v(e) {
-        return null === e || e.isPresent
-      }
-      var m = 0,
-        g = function () {
-          return m++
-        },
-        y = function () {
-          return (0, h.h)(g)
-        },
-        b = (0, o.createContext)(null),
-        w = 'undefined' !== typeof window,
-        _ = w ? o.useLayoutEffect : o.useEffect
-      function x(e, t, n, i) {
-        var a = (0, o.useContext)(l),
-          u = (0, o.useContext)(s),
-          c = (0, o.useContext)(d).visualElement,
-          h = (0, o.useContext)(f.O),
-          p = (function (e) {
-            var t = e.layoutId,
-              n = (0, o.useContext)(b)
-            return n && void 0 !== t ? n + '-' + t : t
-          })(n),
-          m = (0, o.useRef)(void 0)
-        i || (i = u.renderer),
-          !m.current &&
-            i &&
-            (m.current = i(e, {
-              visualState: t,
-              parent: c,
-              props: (0, r.__assign)((0, r.__assign)({}, n), { layoutId: p }),
-              presenceId: null === h || void 0 === h ? void 0 : h.id,
-              blockInitialAnimation: !1 === (null === h || void 0 === h ? void 0 : h.initial),
-            }))
-        var g = m.current
-        return (
-          _(function () {
-            g &&
-              (g.setProps(
-                (0, r.__assign)((0, r.__assign)((0, r.__assign)({}, a), n), { layoutId: p }),
-              ),
-              (g.isPresent = v(h)),
-              (g.isPresenceRoot =
-                !c || c.presenceId !== (null === h || void 0 === h ? void 0 : h.id)),
-              g.syncRender())
-          }),
-          (0, o.useEffect)(function () {
-            var e
-            g && (null === (e = g.animationState) || void 0 === e || e.animateChanges())
-          }),
-          _(function () {
-            return function () {
-              return null === g || void 0 === g ? void 0 : g.notifyUnmount()
-            }
-          }, []),
-          g
-        )
-      }
-      function k(e) {
-        return 'object' === typeof e && Object.prototype.hasOwnProperty.call(e, 'current')
-      }
-      function E(e) {
-        return Array.isArray(e)
-      }
-      function O(e) {
-        return 'string' === typeof e || E(e)
-      }
-      function T(e, t, n, r, o) {
-        var i
-        return (
-          void 0 === r && (r = {}),
-          void 0 === o && (o = {}),
-          'string' === typeof t && (t = null === (i = e.variants) || void 0 === i ? void 0 : i[t]),
-          'function' === typeof t ? t(null !== n && void 0 !== n ? n : e.custom, r, o) : t
-        )
-      }
-      function C(e, t, n) {
-        var r = e.getProps()
-        return T(
-          r,
-          t,
-          null !== n && void 0 !== n ? n : r.custom,
-          (function (e) {
-            var t = {}
-            return (
-              e.forEachValue(function (e, n) {
-                return (t[n] = e.get())
-              }),
-              t
-            )
-          })(e),
-          (function (e) {
-            var t = {}
-            return (
-              e.forEachValue(function (e, n) {
-                return (t[n] = e.getVelocity())
-              }),
-              t
-            )
-          })(e),
-        )
-      }
-      function M(e) {
-        var t
-        return (
-          'function' === typeof (null === (t = e.animate) || void 0 === t ? void 0 : t.start) ||
-          O(e.initial) ||
-          O(e.animate) ||
-          O(e.whileHover) ||
-          O(e.whileDrag) ||
-          O(e.whileTap) ||
-          O(e.whileFocus) ||
-          O(e.exit)
-        )
-      }
-      function S(e) {
-        return Boolean(M(e) || e.variants)
-      }
-      function P(e, t) {
-        var n = (function (e, t) {
-            if (M(e)) {
-              var n = e.initial,
-                r = e.animate
-              return { initial: !1 === n || O(n) ? n : void 0, animate: O(r) ? r : void 0 }
-            }
-            return !1 !== e.inherit ? t : {}
-          })(e, (0, o.useContext)(d)),
-          r = n.initial,
-          i = n.animate
-        return (0, o.useMemo)(
-          function () {
-            return { initial: r, animate: i }
-          },
-          t ? [j(r), j(i)] : [],
-        )
-      }
-      function j(e) {
-        return Array.isArray(e) ? e.join(' ') : e
-      }
-      function I(e) {
-        var t = e.preloadedFeatures,
-          n = e.createVisualElement,
-          i = e.useRender,
-          f = e.useVisualState,
-          h = e.Component
-        return (
-          t &&
-            (function (e) {
-              for (var t in e) {
-                var n = e[t]
-                null !== n && (a[t].Component = n)
-              }
-            })(t),
-          (0, o.forwardRef)(function (e, t) {
-            var p = (0, o.useContext)(l).isStatic,
-              v = null,
-              m = P(e, p),
-              g = f(e, p)
-            return (
-              !p &&
-                w &&
-                ((m.visualElement = x(h, g, e, n)),
-                (v = (function (e, t, n) {
-                  var i = []
-                  if (((0, o.useContext)(s), !t)) return null
-                  for (var l = 0; l < c; l++) {
-                    var d = u[l],
-                      f = a[d],
-                      h = f.isEnabled,
-                      p = f.Component
-                    h(e) &&
-                      p &&
-                      i.push(
-                        o.createElement(p, (0, r.__assign)({ key: d }, e, { visualElement: t })),
-                      )
-                  }
-                  return i
-                })(e, m.visualElement))),
-              o.createElement(
-                o.Fragment,
-                null,
-                o.createElement(
-                  d.Provider,
-                  { value: m },
-                  i(
-                    h,
-                    e,
-                    (function (e, t, n) {
-                      return (0, o.useCallback)(
-                        function (r) {
-                          var o
-                          r && (null === (o = e.mount) || void 0 === o || o.call(e, r)),
-                            t && (r ? t.mount(r) : t.unmount()),
-                            n && ('function' === typeof n ? n(r) : k(n) && (n.current = r))
-                        },
-                        [t],
-                      )
-                    })(g, m.visualElement, t),
-                    g,
-                    p,
-                  ),
-                ),
-                v,
-              )
-            )
-          })
-        )
-      }
-      function A(e) {
-        function t(t, n) {
-          return void 0 === n && (n = {}), I(e(t, n))
-        }
-        var n = new Map()
-        return new Proxy(t, {
-          get: function (e, r) {
-            return n.has(r) || n.set(r, t(r)), n.get(r)
-          },
-        })
-      }
-      var R = [
-        'animate',
-        'circle',
-        'defs',
-        'desc',
-        'ellipse',
-        'g',
-        'image',
-        'line',
-        'filter',
-        'marker',
-        'mask',
-        'metadata',
-        'path',
-        'pattern',
-        'polygon',
-        'polyline',
-        'rect',
-        'stop',
-        'svg',
-        'switch',
-        'symbol',
-        'text',
-        'tspan',
-        'use',
-        'view',
-      ]
-      function D(e) {
-        return 'string' === typeof e && !e.includes('-') && !!(R.indexOf(e) > -1 || /[A-Z]/.test(e))
-      }
-      var L = {}
-      var N = ['', 'X', 'Y', 'Z'],
-        z = ['transformPerspective', 'x', 'y', 'z']
-      function B(e, t) {
-        return z.indexOf(e) - z.indexOf(t)
-      }
-      ;['translate', 'scale', 'rotate', 'skew'].forEach(function (e) {
-        return N.forEach(function (t) {
-          return z.push(e + t)
-        })
-      })
-      var H = new Set(z)
-      function F(e) {
-        return H.has(e)
-      }
-      var V = new Set(['originX', 'originY', 'originZ'])
-      function W(e) {
-        return V.has(e)
-      }
-      function U(e, t) {
-        var n = t.layout,
-          r = t.layoutId
-        return F(e) || W(e) || ((n || void 0 !== r) && (!!L[e] || 'opacity' === e))
-      }
-      var G = function (e) {
-          return null !== e && 'object' === typeof e && e.getVelocity
-        },
-        q = {
-          x: 'translateX',
-          y: 'translateY',
-          z: 'translateZ',
-          transformPerspective: 'perspective',
-        }
-      function K(e) {
-        return e.startsWith('--')
-      }
-      var Z = function (e, t) {
-          return t && 'number' === typeof e ? t.transform(e) : e
-        },
-        X = function (e, t) {
-          return function (n) {
-            return Math.max(Math.min(n, t), e)
-          }
-        },
-        $ = function (e) {
-          return e % 1 ? Number(e.toFixed(5)) : e
-        },
-        Y = /(-)?([\d]*\.?[\d])+/g,
-        Q =
-          /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,
-        J =
-          /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i
-      function ee(e) {
-        return 'string' === typeof e
-      }
-      var te = function (e) {
-          return {
-            test: function (t) {
-              return ee(t) && t.endsWith(e) && 1 === t.split(' ').length
-            },
-            parse: parseFloat,
-            transform: function (t) {
-              return '' + t + e
-            },
-          }
-        },
-        ne = te('deg'),
-        re = te('%'),
-        oe = te('px'),
-        ie = te('vh'),
-        ae = te('vw'),
-        se = (0, r.__assign)((0, r.__assign)({}, re), {
-          parse: function (e) {
-            return re.parse(e) / 100
-          },
-          transform: function (e) {
-            return re.transform(100 * e)
-          },
-        }),
-        ue = {
-          test: function (e) {
-            return 'number' === typeof e
-          },
-          parse: parseFloat,
-          transform: function (e) {
-            return e
-          },
-        },
-        ce = (0, r.__assign)((0, r.__assign)({}, ue), { transform: X(0, 1) }),
-        le = (0, r.__assign)((0, r.__assign)({}, ue), { default: 1 }),
-        de = (0, r.__assign)((0, r.__assign)({}, ue), { transform: Math.round }),
-        fe = {
-          borderWidth: oe,
-          borderTopWidth: oe,
-          borderRightWidth: oe,
-          borderBottomWidth: oe,
-          borderLeftWidth: oe,
-          borderRadius: oe,
-          radius: oe,
-          borderTopLeftRadius: oe,
-          borderTopRightRadius: oe,
-          borderBottomRightRadius: oe,
-          borderBottomLeftRadius: oe,
-          width: oe,
-          maxWidth: oe,
-          height: oe,
-          maxHeight: oe,
-          size: oe,
-          top: oe,
-          right: oe,
-          bottom: oe,
-          left: oe,
-          padding: oe,
-          paddingTop: oe,
-          paddingRight: oe,
-          paddingBottom: oe,
-          paddingLeft: oe,
-          margin: oe,
-          marginTop: oe,
-          marginRight: oe,
-          marginBottom: oe,
-          marginLeft: oe,
-          rotate: ne,
-          rotateX: ne,
-          rotateY: ne,
-          rotateZ: ne,
-          scale: le,
-          scaleX: le,
-          scaleY: le,
-          scaleZ: le,
-          skew: ne,
-          skewX: ne,
-          skewY: ne,
-          distance: oe,
-          translateX: oe,
-          translateY: oe,
-          translateZ: oe,
-          x: oe,
-          y: oe,
-          z: oe,
-          perspective: oe,
-          transformPerspective: oe,
-          opacity: ce,
-          originX: se,
-          originY: se,
-          originZ: oe,
-          zIndex: de,
-          fillOpacity: ce,
-          strokeOpacity: ce,
-          numOctaves: de,
-        }
-      function he(e, t, n, r, o, i, a, s) {
-        var u,
-          c = e.style,
-          l = e.vars,
-          d = e.transform,
-          f = e.transformKeys,
-          h = e.transformOrigin
-        f.length = 0
-        var p = !1,
-          v = !1,
-          m = !0
-        for (var g in t) {
-          var y = t[g]
-          if (K(g)) l[g] = y
-          else {
-            var b = fe[g],
-              w = Z(y, b)
-            if (F(g)) {
-              if (((p = !0), (d[g] = w), f.push(g), !m)) continue
-              y !== (null !== (u = b.default) && void 0 !== u ? u : 0) && (m = !1)
-            } else if (W(g)) (h[g] = w), (v = !0)
-            else if (
-              (null === n || void 0 === n ? void 0 : n.isHydrated) &&
-              (null === r || void 0 === r ? void 0 : r.isHydrated) &&
-              L[g]
-            ) {
-              var _ = L[g].process(y, r, n),
-                x = L[g].applyTo
-              if (x) for (var k = x.length, E = 0; E < k; E++) c[x[E]] = _
-              else c[g] = _
-            } else c[g] = w
-          }
-        }
-        r && n && a && s
-          ? ((c.transform = a(r.deltaFinal, r.treeScale, p ? d : void 0)),
-            i && (c.transform = i(d, c.transform)),
-            (c.transformOrigin = s(r)))
-          : (p &&
-              (c.transform = (function (e, t, n, r) {
-                var o = e.transform,
-                  i = e.transformKeys,
-                  a = t.enableHardwareAcceleration,
-                  s = void 0 === a || a,
-                  u = t.allowTransformNone,
-                  c = void 0 === u || u,
-                  l = ''
-                i.sort(B)
-                for (var d = !1, f = i.length, h = 0; h < f; h++) {
-                  var p = i[h]
-                  ;(l += (q[p] || p) + '(' + o[p] + ') '), 'z' === p && (d = !0)
-                }
-                return (
-                  !d && s ? (l += 'translateZ(0)') : (l = l.trim()),
-                  r ? (l = r(o, n ? '' : l)) : c && n && (l = 'none'),
-                  l
-                )
-              })(e, o, m, i)),
-            v &&
-              (c.transformOrigin = (function (e) {
-                var t = e.originX,
-                  n = void 0 === t ? '50%' : t,
-                  r = e.originY,
-                  o = void 0 === r ? '50%' : r,
-                  i = e.originZ
-                return n + ' ' + o + ' ' + (void 0 === i ? 0 : i)
-              })(h)))
-      }
-      var pe = function () {
-        return { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} }
-      }
-      function ve(e, t, n) {
-        for (var r in t) G(t[r]) || U(r, n) || (e[r] = t[r])
-      }
-      function me(e, t, n) {
-        var i = {}
-        return (
-          ve(i, e.style || {}, e),
-          Object.assign(
-            i,
-            (function (e, t, n) {
-              var i = e.transformTemplate
-              return (0, o.useMemo)(
-                function () {
-                  var e = {
-                    style: {},
-                    transform: {},
-                    transformKeys: [],
-                    transformOrigin: {},
-                    vars: {},
-                  }
-                  he(e, t, void 0, void 0, { enableHardwareAcceleration: !n }, i)
-                  var o = e.vars,
-                    a = e.style
-                  return (0, r.__assign)((0, r.__assign)({}, o), a)
-                },
-                [t],
-              )
-            })(e, t, n),
-          ),
-          e.transformValues && (i = e.transformValues(i)),
-          i
-        )
-      }
-      function ge(e, t, n) {
-        var r = {},
-          o = me(e, t, n)
-        return (
-          Boolean(e.drag) &&
-            ((r.draggable = !1),
-            (o.userSelect = o.WebkitUserSelect = o.WebkitTouchCallout = 'none'),
-            (o.touchAction = !0 === e.drag ? 'none' : 'pan-' + ('x' === e.drag ? 'y' : 'x'))),
-          (r.style = o),
-          r
-        )
-      }
-      var ye = new Set([
-        'initial',
-        'animate',
-        'exit',
-        'style',
-        'variants',
-        'transition',
-        'transformTemplate',
-        'transformValues',
-        'custom',
-        'inherit',
-        'layout',
-        'layoutId',
-        '_layoutResetTransform',
-        'onLayoutAnimationComplete',
-        'onViewportBoxUpdate',
-        'onLayoutMeasure',
-        'onBeforeLayoutMeasure',
-        'onAnimationStart',
-        'onAnimationComplete',
-        'onUpdate',
-        'onDragStart',
-        'onDrag',
-        'onDragEnd',
-        'onMeasureDragConstraints',
-        'onDirectionLock',
-        'onDragTransitionEnd',
-        'drag',
-        'dragControls',
-        'dragListener',
-        'dragConstraints',
-        'dragDirectionLock',
-        '_dragX',
-        '_dragY',
-        'dragElastic',
-        'dragMomentum',
-        'dragPropagation',
-        'dragTransition',
-        'whileDrag',
-        'onPan',
-        'onPanStart',
-        'onPanEnd',
-        'onPanSessionStart',
-        'onTap',
-        'onTapStart',
-        'onTapCancel',
-        'onHoverStart',
-        'onHoverEnd',
-        'whileFocus',
-        'whileTap',
-        'whileHover',
-      ])
-      function be(e) {
-        return ye.has(e)
-      }
-      var we = function (e) {
-        return !be(e)
-      }
-      try {
-        var _e = n(46600).Z
-        we = function (e) {
-          return e.startsWith('on') ? !be(e) : _e(e)
-        }
-      } catch (Ei) {}
-      function xe(e, t, n) {
-        return 'string' === typeof e ? e : oe.transform(t + n * e)
-      }
-      var ke = function (e, t) {
-          return oe.transform(e * t)
-        },
-        Ee = { offset: 'stroke-dashoffset', array: 'stroke-dasharray' },
-        Oe = { offset: 'strokeDashoffset', array: 'strokeDasharray' }
-      function Te(e, t, n, o, i, a, s, u) {
-        var c = t.attrX,
-          l = t.attrY,
-          d = t.originX,
-          f = t.originY,
-          h = t.pathLength,
-          p = t.pathSpacing,
-          v = void 0 === p ? 1 : p,
-          m = t.pathOffset,
-          g = void 0 === m ? 0 : m
-        he(
-          e,
-          (0, r.__rest)(t, [
-            'attrX',
-            'attrY',
-            'originX',
-            'originY',
-            'pathLength',
-            'pathSpacing',
-            'pathOffset',
-          ]),
-          n,
-          o,
-          i,
-          a,
-          s,
-          u,
-        ),
-          (e.attrs = e.style),
-          (e.style = {})
-        var y = e.attrs,
-          b = e.style,
-          w = e.dimensions,
-          _ = e.totalPathLength
-        y.transform && (w && (b.transform = y.transform), delete y.transform),
-          w &&
-            (void 0 !== d || void 0 !== f || b.transform) &&
-            (b.transformOrigin = (function (e, t, n) {
-              return xe(t, e.x, e.width) + ' ' + xe(n, e.y, e.height)
-            })(w, void 0 !== d ? d : 0.5, void 0 !== f ? f : 0.5)),
-          void 0 !== c && (y.x = c),
-          void 0 !== l && (y.y = l),
-          void 0 !== _ &&
-            void 0 !== h &&
-            (function (e, t, n, r, o, i) {
-              void 0 === r && (r = 1), void 0 === o && (o = 0), void 0 === i && (i = !0)
-              var a = i ? Ee : Oe
-              e[a.offset] = ke(-o, t)
-              var s = ke(n, t),
-                u = ke(r, t)
-              e[a.array] = s + ' ' + u
-            })(y, _, h, v, g, !1)
-      }
-      var Ce = function () {
-        return (0, r.__assign)(
-          (0, r.__assign)(
-            {},
-            { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} },
-          ),
-          { attrs: {} },
-        )
-      }
-      function Me(e, t) {
-        var n = (0, o.useMemo)(
-          function () {
-            var n = Ce()
-            return (
-              Te(n, t, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate),
-              (0, r.__assign)((0, r.__assign)({}, n.attrs), { style: (0, r.__assign)({}, n.style) })
-            )
-          },
-          [t],
-        )
-        if (e.style) {
-          var i = {}
-          ve(i, e.style, e), (n.style = (0, r.__assign)((0, r.__assign)({}, i), n.style))
-        }
-        return n
-      }
-      function Se(e) {
-        void 0 === e && (e = !1)
-        return function (t, n, i, a, s) {
-          var u = a.latestValues,
-            c = (D(t) ? Me : ge)(n, u, s),
-            l = (function (e, t, n) {
-              var r = {}
-              for (var o in e) (we(o) || (!0 === n && be(o)) || (!t && !be(o))) && (r[o] = e[o])
-              return r
-            })(n, 'string' === typeof t, e),
-            d = (0, r.__assign)((0, r.__assign)((0, r.__assign)({}, l), c), { ref: i })
-          return (0, o.createElement)(t, d)
-        }
-      }
-      var Pe = /([a-z])([A-Z])/g,
-        je = function (e) {
-          return e.replace(Pe, '$1-$2').toLowerCase()
-        }
-      function Ie(e, t) {
-        var n = t.style,
-          r = t.vars
-        for (var o in (Object.assign(e.style, n), r)) e.style.setProperty(o, r[o])
-      }
-      var Ae = new Set([
-        'baseFrequency',
-        'diffuseConstant',
-        'kernelMatrix',
-        'kernelUnitLength',
-        'keySplines',
-        'keyTimes',
-        'limitingConeAngle',
-        'markerHeight',
-        'markerWidth',
-        'numOctaves',
-        'targetX',
-        'targetY',
-        'surfaceScale',
-        'specularConstant',
-        'specularExponent',
-        'stdDeviation',
-        'tableValues',
-        'viewBox',
-        'gradientTransform',
-      ])
-      function Re(e, t) {
-        for (var n in (Ie(e, t), t.attrs)) e.setAttribute(Ae.has(n) ? n : je(n), t.attrs[n])
-      }
-      function De(e) {
-        var t = e.style,
-          n = {}
-        for (var r in t) (G(t[r]) || U(r, e)) && (n[r] = t[r])
-        return n
-      }
-      function Le(e) {
-        var t = De(e)
-        for (var n in e) {
-          if (G(e[n])) t['x' === n || 'y' === n ? 'attr' + n.toUpperCase() : n] = e[n]
-        }
-        return t
-      }
-      function Ne(e) {
-        return 'object' === typeof e && 'function' === typeof e.start
-      }
-      var ze = function (e) {
-        return Array.isArray(e)
-      }
-      function Be(e) {
-        var t,
-          n = G(e) ? e.get() : e
-        return (t = n), Boolean(t && 'object' === typeof t && t.mix && t.toValue) ? n.toValue() : n
-      }
-      function He(e, t, n, r) {
-        var o = e.scrapeMotionValuesFromProps,
-          i = e.createRenderState,
-          a = e.onMount,
-          s = { latestValues: Ve(t, n, r, o), renderState: i() }
-        return (
-          a &&
-            (s.mount = function (e) {
-              return a(t, e, s)
-            }),
-          s
-        )
-      }
-      var Fe = function (e) {
-        return function (t, n) {
-          var r = (0, o.useContext)(d),
-            i = (0, o.useContext)(f.O)
-          return n
-            ? He(e, t, r, i)
-            : (0, h.h)(function () {
-                return He(e, t, r, i)
-              })
-        }
-      }
-      function Ve(e, t, n, o) {
-        var i = {},
-          a = !1 === (null === n || void 0 === n ? void 0 : n.initial),
-          s = o(e)
-        for (var u in s) i[u] = Be(s[u])
-        var c = e.initial,
-          l = e.animate,
-          d = M(e),
-          f = S(e)
-        t &&
-          f &&
-          !d &&
-          !1 !== e.inherit &&
-          ((null !== c && void 0 !== c) || (c = t.initial),
-          (null !== l && void 0 !== l) || (l = t.animate))
-        var h = a || !1 === c ? l : c
-        h &&
-          'boolean' !== typeof h &&
-          !Ne(h) &&
-          (Array.isArray(h) ? h : [h]).forEach(function (t) {
-            var n = T(e, t)
-            if (n) {
-              var o = n.transitionEnd
-              n.transition
-              var a = (0, r.__rest)(n, ['transitionEnd', 'transition'])
-              for (var s in a) i[s] = a[s]
-              for (var s in o) i[s] = o[s]
-            }
-          })
-        return i
-      }
-      var We = {
-        useVisualState: Fe({
-          scrapeMotionValuesFromProps: Le,
-          createRenderState: Ce,
-          onMount: function (e, t, n) {
-            var r = n.renderState,
-              o = n.latestValues
-            try {
-              r.dimensions =
-                'function' === typeof t.getBBox ? t.getBBox() : t.getBoundingClientRect()
-            } catch (i) {
-              r.dimensions = { x: 0, y: 0, width: 0, height: 0 }
-            }
-            'path' === t.tagName && (r.totalPathLength = t.getTotalLength()),
-              Te(r, o, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate),
-              Re(t, r)
-          },
-        }),
-      }
-      var Ue,
-        Ge = { useVisualState: Fe({ scrapeMotionValuesFromProps: De, createRenderState: pe }) }
-      function qe(e, t, n, r) {
-        return (
-          e.addEventListener(t, n, r),
-          function () {
-            return e.removeEventListener(t, n, r)
-          }
-        )
-      }
-      function Ke(e, t, n, r) {
-        ;(0, o.useEffect)(
-          function () {
-            var o = e.current
-            if (n && o) return qe(o, t, n, r)
-          },
-          [e, t, n, r],
-        )
-      }
-      function Ze(e) {
-        return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent
-          ? !('mouse' !== e.pointerType)
-          : e instanceof MouseEvent
-      }
-      function Xe(e) {
-        return !!e.touches
-      }
-      !(function (e) {
-        ;(e.Animate = 'animate'),
-          (e.Hover = 'whileHover'),
-          (e.Tap = 'whileTap'),
-          (e.Drag = 'whileDrag'),
-          (e.Focus = 'whileFocus'),
-          (e.Exit = 'exit')
-      })(Ue || (Ue = {}))
-      var $e = { pageX: 0, pageY: 0 }
-      function Ye(e, t) {
-        void 0 === t && (t = 'page')
-        var n = e.touches[0] || e.changedTouches[0] || $e
-        return { x: n[t + 'X'], y: n[t + 'Y'] }
-      }
-      function Qe(e, t) {
-        return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] }
-      }
-      function Je(e, t) {
-        return void 0 === t && (t = 'page'), { point: Xe(e) ? Ye(e, t) : Qe(e, t) }
-      }
-      var et = function (e, t) {
-          void 0 === t && (t = !1)
-          var n,
-            r = function (t) {
-              return e(t, Je(t))
-            }
-          return t
-            ? ((n = r),
-              function (e) {
-                var t = e instanceof MouseEvent
-                ;(!t || (t && 0 === e.button)) && n(e)
-              })
-            : r
-        },
-        tt = {
-          pointerdown: 'mousedown',
-          pointermove: 'mousemove',
-          pointerup: 'mouseup',
-          pointercancel: 'mousecancel',
-          pointerover: 'mouseover',
-          pointerout: 'mouseout',
-          pointerenter: 'mouseenter',
-          pointerleave: 'mouseleave',
-        },
-        nt = {
-          pointerdown: 'touchstart',
-          pointermove: 'touchmove',
-          pointerup: 'touchend',
-          pointercancel: 'touchcancel',
-        }
-      function rt(e) {
-        return w && null === window.onpointerdown
-          ? e
-          : w && null === window.ontouchstart
-          ? nt[e]
-          : w && null === window.onmousedown
-          ? tt[e]
-          : e
-      }
-      function ot(e, t, n, r) {
-        return qe(e, rt(t), et(n, 'pointerdown' === t), r)
-      }
-      function it(e, t, n, r) {
-        return Ke(e, rt(t), n && et(n, 'pointerdown' === t), r)
-      }
-      function at(e) {
-        var t = null
-        return function () {
-          return (
-            null === t &&
-            ((t = e),
-            function () {
-              t = null
-            })
-          )
-        }
-      }
-      var st = at('dragHorizontal'),
-        ut = at('dragVertical')
-      function ct(e) {
-        var t = !1
-        if ('y' === e) t = ut()
-        else if ('x' === e) t = st()
-        else {
-          var n = st(),
-            r = ut()
-          n && r
-            ? (t = function () {
-                n(), r()
-              })
-            : (n && n(), r && r())
-        }
-        return t
-      }
-      function lt() {
-        var e = ct(!0)
-        return !e || (e(), !1)
-      }
-      function dt(e, t, n) {
-        return function (r, o) {
-          var i
-          Ze(r) &&
-            !lt() &&
-            (null === n || void 0 === n || n(r, o),
-            null === (i = e.animationState) || void 0 === i || i.setActive(Ue.Hover, t))
-        }
-      }
-      var ft = function (e, t) {
-          return !!t && (e === t || ft(e, t.parentElement))
-        },
-        ht = n(6717),
-        pt = function (e, t) {
-          return function (n) {
-            return t(e(n))
-          }
-        },
-        vt = function () {
-          for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
-          return e.reduce(pt)
-        }
-      var mt = function (e) {
-          return function (t) {
-            return e(t), null
-          }
-        },
-        gt = {
-          tap: mt(function (e) {
-            var t = e.onTap,
-              n = e.onTapStart,
-              r = e.onTapCancel,
-              i = e.whileTap,
-              a = e.visualElement,
-              s = t || n || r || i,
-              u = (0, o.useRef)(!1),
-              c = (0, o.useRef)(null)
-            function l() {
-              var e
-              null === (e = c.current) || void 0 === e || e.call(c), (c.current = null)
-            }
-            function d() {
-              var e
-              return (
-                l(),
-                (u.current = !1),
-                null === (e = a.animationState) || void 0 === e || e.setActive(Ue.Tap, !1),
-                !lt()
-              )
-            }
-            function f(e, n) {
-              d() &&
-                (ft(a.getInstance(), e.target)
-                  ? null === t || void 0 === t || t(e, n)
-                  : null === r || void 0 === r || r(e, n))
-            }
-            function h(e, t) {
-              d() && (null === r || void 0 === r || r(e, t))
-            }
-            it(
-              a,
-              'pointerdown',
-              s
-                ? function (e, t) {
-                    var r
-                    l(),
-                      u.current ||
-                        ((u.current = !0),
-                        (c.current = vt(
-                          ot(window, 'pointerup', f),
-                          ot(window, 'pointercancel', h),
-                        )),
-                        null === n || void 0 === n || n(e, t),
-                        null === (r = a.animationState) || void 0 === r || r.setActive(Ue.Tap, !0))
-                  }
-                : void 0,
-            ),
-              (0, ht.z)(l)
-          }),
-          focus: mt(function (e) {
-            var t = e.whileFocus,
-              n = e.visualElement
-            Ke(
-              n,
-              'focus',
-              t
-                ? function () {
-                    var e
-                    null === (e = n.animationState) || void 0 === e || e.setActive(Ue.Focus, !0)
-                  }
-                : void 0,
-            ),
-              Ke(
-                n,
-                'blur',
-                t
-                  ? function () {
-                      var e
-                      null === (e = n.animationState) || void 0 === e || e.setActive(Ue.Focus, !1)
-                    }
-                  : void 0,
-              )
-          }),
-          hover: mt(function (e) {
-            var t = e.onHoverStart,
-              n = e.onHoverEnd,
-              r = e.whileHover,
-              o = e.visualElement
-            it(o, 'pointerenter', t || r ? dt(o, !0, t) : void 0),
-              it(o, 'pointerleave', n || r ? dt(o, !1, n) : void 0)
-          }),
-        }
-      function yt(e, t) {
-        if (!Array.isArray(t)) return !1
-        var n = t.length
-        if (n !== e.length) return !1
-        for (var r = 0; r < n; r++) if (t[r] !== e[r]) return !1
-        return !0
-      }
-      var bt = function (e, t, n) {
-          return Math.min(Math.max(n, e), t)
-        },
-        wt = 0.001
-      function _t(e) {
-        var t,
-          n,
-          r = e.duration,
-          o = void 0 === r ? 800 : r,
-          i = e.bounce,
-          a = void 0 === i ? 0.25 : i,
-          s = e.velocity,
-          u = void 0 === s ? 0 : s,
-          c = e.mass,
-          l = void 0 === c ? 1 : c,
-          d = 1 - a
-        ;(d = bt(0.05, 1, d)),
-          (o = bt(0.01, 10, o / 1e3)),
-          d < 1
-            ? ((t = function (e) {
-                var t = e * d,
-                  n = t * o,
-                  r = t - u,
-                  i = xt(e, d),
-                  a = Math.exp(-n)
-                return wt - (r / i) * a
-              }),
-              (n = function (e) {
-                var n = e * d * o,
-                  r = n * u + u,
-                  i = Math.pow(d, 2) * Math.pow(e, 2) * o,
-                  a = Math.exp(-n),
-                  s = xt(Math.pow(e, 2), d)
-                return ((-t(e) + wt > 0 ? -1 : 1) * ((r - i) * a)) / s
-              }))
-            : ((t = function (e) {
-                return Math.exp(-e * o) * ((e - u) * o + 1) - 0.001
-              }),
-              (n = function (e) {
-                return Math.exp(-e * o) * (o * o * (u - e))
-              }))
-        var f = (function (e, t, n) {
-          for (var r = n, o = 1; o < 12; o++) r -= e(r) / t(r)
-          return r
-        })(t, n, 5 / o)
-        if (((o *= 1e3), isNaN(f))) return { stiffness: 100, damping: 10, duration: o }
-        var h = Math.pow(f, 2) * l
-        return { stiffness: h, damping: 2 * d * Math.sqrt(l * h), duration: o }
-      }
-      function xt(e, t) {
-        return e * Math.sqrt(1 - t * t)
-      }
-      var kt = ['duration', 'bounce'],
-        Et = ['stiffness', 'damping', 'mass']
-      function Ot(e, t) {
-        return t.some(function (t) {
-          return void 0 !== e[t]
-        })
-      }
-      function Tt(e) {
-        var t = e.from,
-          n = void 0 === t ? 0 : t,
-          o = e.to,
-          i = void 0 === o ? 1 : o,
-          a = e.restSpeed,
-          s = void 0 === a ? 2 : a,
-          u = e.restDelta,
-          c = (0, r.__rest)(e, ['from', 'to', 'restSpeed', 'restDelta']),
-          l = { done: !1, value: n },
-          d = (function (e) {
-            var t = (0, r.__assign)(
-              { velocity: 0, stiffness: 100, damping: 10, mass: 1, isResolvedFromDuration: !1 },
-              e,
-            )
-            if (!Ot(e, Et) && Ot(e, kt)) {
-              var n = _t(e)
-              ;(t = (0, r.__assign)((0, r.__assign)((0, r.__assign)({}, t), n), {
-                velocity: 0,
-                mass: 1,
-              })).isResolvedFromDuration = !0
-            }
-            return t
-          })(c),
-          f = d.stiffness,
-          h = d.damping,
-          p = d.mass,
-          v = d.velocity,
-          m = d.duration,
-          g = d.isResolvedFromDuration,
-          y = Ct,
-          b = Ct
-        function w() {
-          var e = v ? -v / 1e3 : 0,
-            t = i - n,
-            r = h / (2 * Math.sqrt(f * p)),
-            o = Math.sqrt(f / p) / 1e3
-          if (((null !== u && void 0 !== u) || (u = Math.abs(i - n) <= 1 ? 0.01 : 0.4), r < 1)) {
-            var a = xt(o, r)
-            ;(y = function (n) {
-              var s = Math.exp(-r * o * n)
-              return i - s * (((e + r * o * t) / a) * Math.sin(a * n) + t * Math.cos(a * n))
-            }),
-              (b = function (n) {
-                var i = Math.exp(-r * o * n)
-                return (
-                  r * o * i * ((Math.sin(a * n) * (e + r * o * t)) / a + t * Math.cos(a * n)) -
-                  i * (Math.cos(a * n) * (e + r * o * t) - a * t * Math.sin(a * n))
-                )
-              })
-          } else if (1 === r)
-            y = function (n) {
-              return i - Math.exp(-o * n) * (t + (e + o * t) * n)
-            }
-          else {
-            var s = o * Math.sqrt(r * r - 1)
-            y = function (n) {
-              var a = Math.exp(-r * o * n),
-                u = Math.min(s * n, 300)
-              return i - (a * ((e + r * o * t) * Math.sinh(u) + s * t * Math.cosh(u))) / s
-            }
-          }
-        }
-        return (
-          w(),
-          {
-            next: function (e) {
-              var t = y(e)
-              if (g) l.done = e >= m
-              else {
-                var n = 1e3 * b(e),
-                  r = Math.abs(n) <= s,
-                  o = Math.abs(i - t) <= u
-                l.done = r && o
-              }
-              return (l.value = l.done ? i : t), l
-            },
-            flipTarget: function () {
-              var e
-              ;(v = -v), (n = (e = [i, n])[0]), (i = e[1]), w()
-            },
-          }
-        )
-      }
-      Tt.needsInterpolation = function (e, t) {
-        return 'string' === typeof e || 'string' === typeof t
-      }
-      var Ct = function (e) {
-          return 0
-        },
-        Mt = function (e, t, n) {
-          var r = t - e
-          return 0 === r ? 1 : (n - e) / r
-        },
-        St = function (e, t, n) {
-          return -n * e + n * t + e
-        },
-        Pt = function (e, t) {
-          return function (n) {
-            return Boolean(
-              (ee(n) && J.test(n) && n.startsWith(e)) ||
-                (t && Object.prototype.hasOwnProperty.call(n, t)),
-            )
-          }
-        },
-        jt = function (e, t, n) {
-          return function (r) {
-            var o
-            if (!ee(r)) return r
-            var i = r.match(Y),
-              a = i[0],
-              s = i[1],
-              u = i[2],
-              c = i[3]
-            return (
-              ((o = {})[e] = parseFloat(a)),
-              (o[t] = parseFloat(s)),
-              (o[n] = parseFloat(u)),
-              (o.alpha = void 0 !== c ? parseFloat(c) : 1),
-              o
-            )
-          }
-        },
-        It = X(0, 255),
-        At = (0, r.__assign)((0, r.__assign)({}, ue), {
-          transform: function (e) {
-            return Math.round(It(e))
-          },
-        }),
-        Rt = {
-          test: Pt('rgb', 'red'),
-          parse: jt('red', 'green', 'blue'),
-          transform: function (e) {
-            var t = e.red,
-              n = e.green,
-              r = e.blue,
-              o = e.alpha,
-              i = void 0 === o ? 1 : o
-            return (
-              'rgba(' +
-              At.transform(t) +
-              ', ' +
-              At.transform(n) +
-              ', ' +
-              At.transform(r) +
-              ', ' +
-              $(ce.transform(i)) +
-              ')'
-            )
-          },
-        }
-      var Dt = {
-          test: Pt('#'),
-          parse: function (e) {
-            var t = '',
-              n = '',
-              r = '',
-              o = ''
-            return (
-              e.length > 5
-                ? ((t = e.substr(1, 2)),
-                  (n = e.substr(3, 2)),
-                  (r = e.substr(5, 2)),
-                  (o = e.substr(7, 2)))
-                : ((t = e.substr(1, 1)),
-                  (n = e.substr(2, 1)),
-                  (r = e.substr(3, 1)),
-                  (o = e.substr(4, 1)),
-                  (t += t),
-                  (n += n),
-                  (r += r),
-                  (o += o)),
-              {
-                red: parseInt(t, 16),
-                green: parseInt(n, 16),
-                blue: parseInt(r, 16),
-                alpha: o ? parseInt(o, 16) / 255 : 1,
-              }
-            )
-          },
-          transform: Rt.transform,
-        },
-        Lt = {
-          test: Pt('hsl', 'hue'),
-          parse: jt('hue', 'saturation', 'lightness'),
-          transform: function (e) {
-            var t = e.hue,
-              n = e.saturation,
-              r = e.lightness,
-              o = e.alpha,
-              i = void 0 === o ? 1 : o
-            return (
-              'hsla(' +
-              Math.round(t) +
-              ', ' +
-              re.transform($(n)) +
-              ', ' +
-              re.transform($(r)) +
-              ', ' +
-              $(ce.transform(i)) +
-              ')'
-            )
-          },
-        },
-        Nt = function (e, t, n) {
-          var r = e * e,
-            o = t * t
-          return Math.sqrt(Math.max(0, n * (o - r) + r))
-        },
-        zt = [Dt, Rt, Lt],
-        Bt = function (e) {
-          return zt.find(function (t) {
-            return t.test(e)
-          })
-        },
-        Ht = function (e) {
-          return "'" + e + "' is not an animatable color. Use the equivalent color code instead."
-        },
-        Ft = function (e, t) {
-          var n = Bt(e),
-            o = Bt(t)
-          Ht(e), Ht(t), n.transform, o.transform
-          var i = n.parse(e),
-            a = o.parse(t),
-            s = (0, r.__assign)({}, i),
-            u = n === Lt ? St : Nt
-          return function (e) {
-            for (var t in s) 'alpha' !== t && (s[t] = u(i[t], a[t], e))
-            return (s.alpha = St(i.alpha, a.alpha, e)), n.transform(s)
-          }
-        },
-        Vt = {
-          test: function (e) {
-            return Rt.test(e) || Dt.test(e) || Lt.test(e)
-          },
-          parse: function (e) {
-            return Rt.test(e) ? Rt.parse(e) : Lt.test(e) ? Lt.parse(e) : Dt.parse(e)
-          },
-          transform: function (e) {
-            return ee(e) ? e : e.hasOwnProperty('red') ? Rt.transform(e) : Lt.transform(e)
-          },
-        },
-        Wt = '${c}',
-        Ut = '${n}'
-      function Gt(e) {
-        var t = [],
-          n = 0,
-          r = e.match(Q)
-        r && ((n = r.length), (e = e.replace(Q, Wt)), t.push.apply(t, r.map(Vt.parse)))
-        var o = e.match(Y)
-        return (
-          o && ((e = e.replace(Y, Ut)), t.push.apply(t, o.map(ue.parse))),
-          { values: t, numColors: n, tokenised: e }
-        )
-      }
-      function qt(e) {
-        return Gt(e).values
-      }
-      function Kt(e) {
-        var t = Gt(e),
-          n = t.values,
-          r = t.numColors,
-          o = t.tokenised,
-          i = n.length
-        return function (e) {
-          for (var t = o, n = 0; n < i; n++)
-            t = t.replace(n < r ? Wt : Ut, n < r ? Vt.transform(e[n]) : $(e[n]))
-          return t
-        }
-      }
-      var Zt = function (e) {
-        return 'number' === typeof e ? 0 : e
-      }
-      var Xt = {
-          test: function (e) {
-            var t, n, r, o
-            return (
-              isNaN(e) &&
-              ee(e) &&
-              (null !== (n = null === (t = e.match(Y)) || void 0 === t ? void 0 : t.length) &&
-              void 0 !== n
-                ? n
-                : 0) +
-                (null !== (o = null === (r = e.match(Q)) || void 0 === r ? void 0 : r.length) &&
-                void 0 !== o
-                  ? o
-                  : 0) >
-                0
-            )
-          },
-          parse: qt,
-          createTransformer: Kt,
-          getAnimatableNone: function (e) {
-            var t = qt(e)
-            return Kt(e)(t.map(Zt))
-          },
-        },
-        $t = function (e) {
-          return 'number' === typeof e
-        }
-      function Yt(e, t) {
-        return $t(e)
-          ? function (n) {
-              return St(e, t, n)
-            }
-          : Vt.test(e)
-          ? Ft(e, t)
-          : tn(e, t)
-      }
-      var Qt = function (e, t) {
-          var n = (0, r.__spreadArray)([], e),
-            o = n.length,
-            i = e.map(function (e, n) {
-              return Yt(e, t[n])
-            })
-          return function (e) {
-            for (var t = 0; t < o; t++) n[t] = i[t](e)
-            return n
-          }
-        },
-        Jt = function (e, t) {
-          var n = (0, r.__assign)((0, r.__assign)({}, e), t),
-            o = {}
-          for (var i in n) void 0 !== e[i] && void 0 !== t[i] && (o[i] = Yt(e[i], t[i]))
-          return function (e) {
-            for (var t in o) n[t] = o[t](e)
-            return n
-          }
-        }
-      function en(e) {
-        for (var t = Xt.parse(e), n = t.length, r = 0, o = 0, i = 0, a = 0; a < n; a++)
-          r || 'number' === typeof t[a] ? r++ : void 0 !== t[a].hue ? i++ : o++
-        return { parsed: t, numNumbers: r, numRGB: o, numHSL: i }
-      }
-      var tn = function (e, t) {
-          var n = Xt.createTransformer(t),
-            r = en(e),
-            o = en(t)
-          return (
-            r.numHSL === o.numHSL && r.numRGB === o.numRGB && (r.numNumbers, o.numNumbers),
-            vt(Qt(r.parsed, o.parsed), n)
-          )
-        },
-        nn = function (e, t) {
-          return function (n) {
-            return St(e, t, n)
-          }
-        }
-      function rn(e, t, n) {
-        for (
-          var r,
-            o = [],
-            i =
-              n ||
-              ('number' === typeof (r = e[0])
-                ? nn
-                : 'string' === typeof r
-                ? Vt.test(r)
-                  ? Ft
-                  : tn
-                : Array.isArray(r)
-                ? Qt
-                : 'object' === typeof r
-                ? Jt
-                : void 0),
-            a = e.length - 1,
-            s = 0;
-          s < a;
-          s++
-        ) {
-          var u = i(e[s], e[s + 1])
-          if (t) {
-            var c = Array.isArray(t) ? t[s] : t
-            u = vt(c, u)
-          }
-          o.push(u)
-        }
-        return o
-      }
-      function on(e, t, n) {
-        var r = void 0 === n ? {} : n,
-          o = r.clamp,
-          i = void 0 === o || o,
-          a = r.ease,
-          s = r.mixer,
-          u = e.length
-        t.length,
-          !a || !Array.isArray(a) || a.length,
-          e[0] > e[u - 1] && ((e = [].concat(e)), (t = [].concat(t)), e.reverse(), t.reverse())
-        var c = rn(t, a, s),
-          l =
-            2 === u
-              ? (function (e, t) {
-                  var n = e[0],
-                    r = e[1],
-                    o = t[0]
-                  return function (e) {
-                    return o(Mt(n, r, e))
-                  }
-                })(e, c)
-              : (function (e, t) {
-                  var n = e.length,
-                    r = n - 1
-                  return function (o) {
-                    var i = 0,
-                      a = !1
-                    if ((o <= e[0] ? (a = !0) : o >= e[r] && ((i = r - 1), (a = !0)), !a)) {
-                      for (var s = 1; s < n && !(e[s] > o || s === r); s++);
-                      i = s - 1
-                    }
-                    var u = Mt(e[i], e[i + 1], o)
-                    return t[i](u)
-                  }
-                })(e, c)
-        return i
-          ? function (t) {
-              return l(bt(e[0], e[u - 1], t))
-            }
-          : l
-      }
-      var an,
-        sn = function (e) {
-          return function (t) {
-            return 1 - e(1 - t)
-          }
-        },
-        un = function (e) {
-          return function (t) {
-            return t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2
-          }
-        },
-        cn = function (e) {
-          return function (t) {
-            return t * t * ((e + 1) * t - e)
-          }
-        },
-        ln = function (e) {
-          return e
-        },
-        dn =
-          ((an = 2),
-          function (e) {
-            return Math.pow(e, an)
-          }),
-        fn = sn(dn),
-        hn = un(dn),
-        pn = function (e) {
-          return 1 - Math.sin(Math.acos(e))
-        },
-        vn = sn(pn),
-        mn = un(vn),
-        gn = cn(1.525),
-        yn = sn(gn),
-        bn = un(gn),
-        wn = (function (e) {
-          var t = cn(e)
-          return function (e) {
-            return (e *= 2) < 1 ? 0.5 * t(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1)))
-          }
-        })(1.525),
-        _n = function (e) {
-          if (1 === e || 0 === e) return e
-          var t = e * e
-          return e < 0.36363636363636365
-            ? 7.5625 * t
-            : e < 0.7272727272727273
-            ? 9.075 * t - 9.9 * e + 3.4
-            : e < 0.9
-            ? 12.066481994459833 * t - 19.63545706371191 * e + 8.898060941828255
-            : 10.8 * e * e - 20.52 * e + 10.72
-        },
-        xn = sn(_n)
-      function kn(e, t) {
-        return e
-          .map(function () {
-            return t || hn
-          })
-          .splice(0, e.length - 1)
-      }
-      function En(e) {
-        var t = e.from,
-          n = void 0 === t ? 0 : t,
-          r = e.to,
-          o = void 0 === r ? 1 : r,
-          i = e.ease,
-          a = e.offset,
-          s = e.duration,
-          u = void 0 === s ? 300 : s,
-          c = { done: !1, value: n },
-          l = Array.isArray(o) ? o : [n, o],
-          d = (function (e, t) {
-            return e.map(function (e) {
-              return e * t
-            })
-          })(
-            a && a.length === l.length
-              ? a
-              : (function (e) {
-                  var t = e.length
-                  return e.map(function (e, n) {
-                    return 0 !== n ? n / (t - 1) : 0
-                  })
-                })(l),
-            u,
-          )
-        function f() {
-          return on(d, l, { ease: Array.isArray(i) ? i : kn(l, i) })
-        }
-        var h = f()
-        return {
-          next: function (e) {
-            return (c.value = h(e)), (c.done = e >= u), c
-          },
-          flipTarget: function () {
-            l.reverse(), (h = f())
-          },
-        }
-      }
-      var On = {
-        keyframes: En,
-        spring: Tt,
-        decay: function (e) {
-          var t = e.velocity,
-            n = void 0 === t ? 0 : t,
-            r = e.from,
-            o = void 0 === r ? 0 : r,
-            i = e.power,
-            a = void 0 === i ? 0.8 : i,
-            s = e.timeConstant,
-            u = void 0 === s ? 350 : s,
-            c = e.restDelta,
-            l = void 0 === c ? 0.5 : c,
-            d = e.modifyTarget,
-            f = { done: !1, value: o },
-            h = a * n,
-            p = o + h,
-            v = void 0 === d ? p : d(p)
-          return (
-            v !== p && (h = v - o),
-            {
-              next: function (e) {
-                var t = -h * Math.exp(-e / u)
-                return (f.done = !(t > l || t < -l)), (f.value = f.done ? v : v + t), f
-              },
-              flipTarget: function () {},
-            }
-          )
-        },
-      }
-      var Tn = n(9839)
-      function Cn(e, t, n) {
-        return void 0 === n && (n = 0), e - t - n
-      }
-      var Mn = function (e) {
-        var t = function (t) {
-          var n = t.delta
-          return e(n)
-        }
-        return {
-          start: function () {
-            return Tn.ZP.update(t, !0)
-          },
-          stop: function () {
-            return Tn.qY.update(t)
-          },
-        }
-      }
-      function Sn(e) {
-        var t,
-          n,
-          o,
-          i,
-          a,
-          s = e.from,
-          u = e.autoplay,
-          c = void 0 === u || u,
-          l = e.driver,
-          d = void 0 === l ? Mn : l,
-          f = e.elapsed,
-          h = void 0 === f ? 0 : f,
-          p = e.repeat,
-          v = void 0 === p ? 0 : p,
-          m = e.repeatType,
-          g = void 0 === m ? 'loop' : m,
-          y = e.repeatDelay,
-          b = void 0 === y ? 0 : y,
-          w = e.onPlay,
-          _ = e.onStop,
-          x = e.onComplete,
-          k = e.onRepeat,
-          E = e.onUpdate,
-          O = (0, r.__rest)(e, [
-            'from',
-            'autoplay',
-            'driver',
-            'elapsed',
-            'repeat',
-            'repeatType',
-            'repeatDelay',
-            'onPlay',
-            'onStop',
-            'onComplete',
-            'onRepeat',
-            'onUpdate',
-          ]),
-          T = O.to,
-          C = 0,
-          M = O.duration,
-          S = !1,
-          P = !0,
-          j = (function (e) {
-            if (Array.isArray(e.to)) return En
-            if (On[e.type]) return On[e.type]
-            var t = new Set(Object.keys(e))
-            return t.has('ease') || (t.has('duration') && !t.has('dampingRatio'))
-              ? En
-              : t.has('dampingRatio') ||
-                t.has('stiffness') ||
-                t.has('mass') ||
-                t.has('damping') ||
-                t.has('restSpeed') ||
-                t.has('restDelta')
-              ? Tt
-              : En
-          })(O)
-        ;(null === (n = (t = j).needsInterpolation) || void 0 === n ? void 0 : n.call(t, s, T)) &&
-          ((a = on([0, 100], [s, T], { clamp: !1 })), (s = 0), (T = 100))
-        var I = j((0, r.__assign)((0, r.__assign)({}, O), { from: s, to: T }))
-        function A() {
-          C++,
-            'reverse' === g
-              ? (h = (function (e, t, n, r) {
-                  return (
-                    void 0 === n && (n = 0),
-                    void 0 === r && (r = !0),
-                    r ? Cn(t + -e, t, n) : t - (e - t) + n
-                  )
-                })(h, M, b, (P = C % 2 === 0)))
-              : ((h = Cn(h, M, b)), 'mirror' === g && I.flipTarget()),
-            (S = !1),
-            k && k()
-        }
-        function R(e) {
-          if ((P || (e = -e), (h += e), !S)) {
-            var t = I.next(Math.max(0, h))
-            ;(i = t.value), a && (i = a(i)), (S = P ? t.done : h <= 0)
-          }
-          null === E || void 0 === E || E(i),
-            S &&
-              (0 === C && ((null !== M && void 0 !== M) || (M = h)),
-              C < v
-                ? (function (e, t, n, r) {
-                    return r ? e >= t + n : e <= -n
-                  })(h, M, b, P) && A()
-                : (o.stop(), x && x()))
-        }
-        return (
-          c && (null === w || void 0 === w || w(), (o = d(R)).start()),
-          {
-            stop: function () {
-              null === _ || void 0 === _ || _(), o.stop()
-            },
-          }
-        )
-      }
-      function Pn(e, t) {
-        return t ? e * (1e3 / t) : 0
-      }
-      var jn = function (e) {
-          return 1e3 * e
-        },
-        In = function (e, t) {
-          return 1 - 3 * t + 3 * e
-        },
-        An = function (e, t) {
-          return 3 * t - 6 * e
-        },
-        Rn = function (e) {
-          return 3 * e
-        },
-        Dn = function (e, t, n) {
-          return ((In(t, n) * e + An(t, n)) * e + Rn(t)) * e
-        },
-        Ln = function (e, t, n) {
-          return 3 * In(t, n) * e * e + 2 * An(t, n) * e + Rn(t)
-        }
-      var Nn = 0.1
-      function zn(e, t, n, r) {
-        if (e === t && n === r) return ln
-        for (var o = new Float32Array(11), i = 0; i < 11; ++i) o[i] = Dn(i * Nn, e, n)
-        function a(t) {
-          for (var r = 0, i = 1; 10 !== i && o[i] <= t; ++i) r += Nn
-          --i
-          var a = r + ((t - o[i]) / (o[i + 1] - o[i])) * Nn,
-            s = Ln(a, e, n)
-          return s >= 0.001
-            ? (function (e, t, n, r) {
-                for (var o = 0; o < 8; ++o) {
-                  var i = Ln(t, n, r)
-                  if (0 === i) return t
-                  t -= (Dn(t, n, r) - e) / i
-                }
-                return t
-              })(t, a, e, n)
-            : 0 === s
-            ? a
-            : (function (e, t, n, r, o) {
-                var i,
-                  a,
-                  s = 0
-                do {
-                  ;(i = Dn((a = t + (n - t) / 2), r, o) - e) > 0 ? (n = a) : (t = a)
-                } while (Math.abs(i) > 1e-7 && ++s < 10)
-                return a
-              })(t, r, r + Nn, e, n)
-        }
-        return function (e) {
-          return 0 === e || 1 === e ? e : Dn(a(e), t, r)
-        }
-      }
-      var Bn = {
-          linear: ln,
-          easeIn: dn,
-          easeInOut: hn,
-          easeOut: fn,
-          circIn: pn,
-          circInOut: mn,
-          circOut: vn,
-          backIn: gn,
-          backInOut: bn,
-          backOut: yn,
-          anticipate: wn,
-          bounceIn: xn,
-          bounceInOut: function (e) {
-            return e < 0.5 ? 0.5 * (1 - _n(1 - 2 * e)) : 0.5 * _n(2 * e - 1) + 0.5
-          },
-          bounceOut: _n,
-        },
-        Hn = function (e) {
-          if (Array.isArray(e)) {
-            e.length
-            var t = (0, r.__read)(e, 4)
-            return zn(t[0], t[1], t[2], t[3])
-          }
-          return 'string' === typeof e ? Bn[e] : e
-        },
-        Fn = function (e, t) {
-          return (
-            'zIndex' !== e &&
-            (!('number' !== typeof t && !Array.isArray(t)) ||
-              !('string' !== typeof t || !Xt.test(t) || t.startsWith('url(')))
-          )
-        },
-        Vn = function () {
-          return { type: 'spring', stiffness: 500, damping: 25, restDelta: 0.5, restSpeed: 10 }
-        },
-        Wn = function (e) {
-          return {
-            type: 'spring',
-            stiffness: 550,
-            damping: 0 === e ? 2 * Math.sqrt(550) : 30,
-            restDelta: 0.01,
-            restSpeed: 10,
-          }
-        },
-        Un = function () {
-          return { type: 'keyframes', ease: 'linear', duration: 0.3 }
-        },
-        Gn = function (e) {
-          return { type: 'keyframes', duration: 0.8, values: e }
-        },
-        qn = {
-          x: Vn,
-          y: Vn,
-          z: Vn,
-          rotate: Vn,
-          rotateX: Vn,
-          rotateY: Vn,
-          rotateZ: Vn,
-          scaleX: Wn,
-          scaleY: Wn,
-          scale: Wn,
-          opacity: Un,
-          backgroundColor: Un,
-          color: Un,
-          default: Wn,
-        },
-        Kn = new Set(['brightness', 'contrast', 'saturate', 'opacity'])
-      function Zn(e) {
-        var t = e.slice(0, -1).split('('),
-          n = t[0],
-          r = t[1]
-        if ('drop-shadow' === n) return e
-        var o = (r.match(Y) || [])[0]
-        if (!o) return e
-        var i = r.replace(o, ''),
-          a = Kn.has(n) ? 1 : 0
-        return o !== r && (a *= 100), n + '(' + a + i + ')'
-      }
-      var Xn = /([a-z-]*)\(.*?\)/g,
-        $n = (0, r.__assign)((0, r.__assign)({}, Xt), {
-          getAnimatableNone: function (e) {
-            var t = e.match(Xn)
-            return t ? t.map(Zn).join(' ') : e
-          },
-        }),
-        Yn = (0, r.__assign)((0, r.__assign)({}, fe), {
-          color: Vt,
-          backgroundColor: Vt,
-          outlineColor: Vt,
-          fill: Vt,
-          stroke: Vt,
-          borderColor: Vt,
-          borderTopColor: Vt,
-          borderRightColor: Vt,
-          borderBottomColor: Vt,
-          borderLeftColor: Vt,
-          filter: $n,
-          WebkitFilter: $n,
-        }),
-        Qn = function (e) {
-          return Yn[e]
-        }
-      function Jn(e, t) {
-        var n,
-          r = Qn(e)
-        return (
-          r !== $n && (r = Xt),
-          null === (n = r.getAnimatableNone) || void 0 === n ? void 0 : n.call(r, t)
-        )
-      }
-      function er(e) {
-        var t = e.ease,
-          n = e.times,
-          o = e.yoyo,
-          i = e.flip,
-          a = e.loop,
-          s = (0, r.__rest)(e, ['ease', 'times', 'yoyo', 'flip', 'loop']),
-          u = (0, r.__assign)({}, s)
-        return (
-          n && (u.offset = n),
-          s.duration && (u.duration = jn(s.duration)),
-          s.repeatDelay && (u.repeatDelay = jn(s.repeatDelay)),
-          t &&
-            (u.ease = (function (e) {
-              return Array.isArray(e) && 'number' !== typeof e[0]
-            })(t)
-              ? t.map(Hn)
-              : Hn(t)),
-          'tween' === s.type && (u.type = 'keyframes'),
-          (o || a || i) &&
-            (!0,
-            o
-              ? (u.repeatType = 'reverse')
-              : a
-              ? (u.repeatType = 'loop')
-              : i && (u.repeatType = 'mirror'),
-            (u.repeat = a || o || i || s.repeat)),
-          'spring' !== s.type && (u.type = 'keyframes'),
-          u
-        )
-      }
-      function tr(e, t, n) {
-        var o
-        return (
-          Array.isArray(t.to) &&
-            ((null !== (o = e.duration) && void 0 !== o) || (e.duration = 0.8)),
-          (function (e) {
-            Array.isArray(e.to) &&
-              null === e.to[0] &&
-              ((e.to = (0, r.__spreadArray)([], (0, r.__read)(e.to))), (e.to[0] = e.from))
-          })(t),
-          (function (e) {
-            e.when,
-              e.delay,
-              e.delayChildren,
-              e.staggerChildren,
-              e.staggerDirection,
-              e.repeat,
-              e.repeatType,
-              e.repeatDelay,
-              e.from
-            var t = (0, r.__rest)(e, [
-              'when',
-              'delay',
-              'delayChildren',
-              'staggerChildren',
-              'staggerDirection',
-              'repeat',
-              'repeatType',
-              'repeatDelay',
-              'from',
-            ])
-            return !!Object.keys(t).length
-          })(e) ||
-            (e = (0, r.__assign)(
-              (0, r.__assign)({}, e),
-              (function (e, t) {
-                var n
-                return (n = ze(t) ? Gn : qn[e] || qn.default), (0, r.__assign)({ to: t }, n(t))
-              })(n, t.to),
-            )),
-          (0, r.__assign)((0, r.__assign)({}, t), er(e))
-        )
-      }
-      function nr(e, t, n, o, i) {
-        var a,
-          s = ir(o, e),
-          u = null !== (a = s.from) && void 0 !== a ? a : t.get(),
-          c = Fn(e, n)
-        'none' === u && c && 'string' === typeof n
-          ? (u = Jn(e, n))
-          : rr(u) && 'string' === typeof n
-          ? (u = or(n))
-          : !Array.isArray(n) && rr(n) && 'string' === typeof u && (n = or(u))
-        var l = Fn(e, u)
-        return l && c && !1 !== s.type
-          ? function () {
-              var o = {
-                from: u,
-                to: n,
-                velocity: t.getVelocity(),
-                onComplete: i,
-                onUpdate: function (e) {
-                  return t.set(e)
-                },
-              }
-              return 'inertia' === s.type || 'decay' === s.type
-                ? (function (e) {
-                    var t,
-                      n = e.from,
-                      o = void 0 === n ? 0 : n,
-                      i = e.velocity,
-                      a = void 0 === i ? 0 : i,
-                      s = e.min,
-                      u = e.max,
-                      c = e.power,
-                      l = void 0 === c ? 0.8 : c,
-                      d = e.timeConstant,
-                      f = void 0 === d ? 750 : d,
-                      h = e.bounceStiffness,
-                      p = void 0 === h ? 500 : h,
-                      v = e.bounceDamping,
-                      m = void 0 === v ? 10 : v,
-                      g = e.restDelta,
-                      y = void 0 === g ? 1 : g,
-                      b = e.modifyTarget,
-                      w = e.driver,
-                      _ = e.onUpdate,
-                      x = e.onComplete
-                    function k(e) {
-                      return (void 0 !== s && e < s) || (void 0 !== u && e > u)
-                    }
-                    function E(e) {
-                      return void 0 === s
-                        ? u
-                        : void 0 === u || Math.abs(s - e) < Math.abs(u - e)
-                        ? s
-                        : u
-                    }
-                    function O(e) {
-                      null === t || void 0 === t || t.stop(),
-                        (t = Sn(
-                          (0, r.__assign)((0, r.__assign)({}, e), {
-                            driver: w,
-                            onUpdate: function (t) {
-                              var n
-                              null === _ || void 0 === _ || _(t),
-                                null === (n = e.onUpdate) || void 0 === n || n.call(e, t)
-                            },
-                            onComplete: x,
-                          }),
-                        ))
-                    }
-                    function T(e) {
-                      O(
-                        (0, r.__assign)(
-                          { type: 'spring', stiffness: p, damping: m, restDelta: y },
-                          e,
-                        ),
-                      )
-                    }
-                    if (k(o)) T({ from: o, velocity: a, to: E(o) })
-                    else {
-                      var C = l * a + o
-                      'undefined' !== typeof b && (C = b(C))
-                      var M,
-                        S,
-                        P = E(C),
-                        j = P === s ? -1 : 1
-                      O({
-                        type: 'decay',
-                        from: o,
-                        velocity: a,
-                        timeConstant: f,
-                        power: l,
-                        restDelta: y,
-                        modifyTarget: b,
-                        onUpdate: k(C)
-                          ? function (e) {
-                              ;(M = S),
-                                (S = e),
-                                (a = Pn(e - M, (0, Tn.$B)().delta)),
-                                ((1 === j && e > P) || (-1 === j && e < P)) &&
-                                  T({ from: e, to: P, velocity: a })
-                            }
-                          : void 0,
-                      })
-                    }
-                    return {
-                      stop: function () {
-                        return null === t || void 0 === t ? void 0 : t.stop()
-                      },
-                    }
-                  })((0, r.__assign)((0, r.__assign)({}, o), s))
-                : Sn(
-                    (0, r.__assign)((0, r.__assign)({}, tr(s, o, e)), {
-                      onUpdate: function (e) {
-                        var t
-                        o.onUpdate(e), null === (t = s.onUpdate) || void 0 === t || t.call(s, e)
-                      },
-                      onComplete: function () {
-                        var e
-                        o.onComplete(), null === (e = s.onComplete) || void 0 === e || e.call(s)
-                      },
-                    }),
-                  )
-            }
-          : function () {
-              var e
-              return (
-                t.set(n),
-                i(),
-                null === (e = null === s || void 0 === s ? void 0 : s.onComplete) ||
-                  void 0 === e ||
-                  e.call(s),
-                { stop: function () {} }
-              )
-            }
-      }
-      function rr(e) {
-        return 0 === e || ('string' === typeof e && 0 === parseFloat(e) && -1 === e.indexOf(' '))
-      }
-      function or(e) {
-        return 'number' === typeof e ? 0 : Jn('', e)
-      }
-      function ir(e, t) {
-        return e[t] || e.default || e
-      }
-      function ar(e, t, n, r) {
-        return (
-          void 0 === r && (r = {}),
-          t.start(function (o) {
-            var i,
-              a,
-              s = nr(e, t, n, r, o),
-              u = (function (e, t) {
-                var n
-                return null !== (n = (ir(e, t) || {}).delay) && void 0 !== n ? n : 0
-              })(r, e),
-              c = function () {
-                return (a = s())
-              }
-            return (
-              u ? (i = setTimeout(c, jn(u))) : c(),
-              function () {
-                clearTimeout(i), null === a || void 0 === a || a.stop()
-              }
-            )
-          })
-        )
-      }
-      function sr(e, t) {
-        ;-1 === e.indexOf(t) && e.push(t)
-      }
-      function ur(e, t) {
-        var n = e.indexOf(t)
-        n > -1 && e.splice(n, 1)
-      }
-      var cr = (function () {
-          function e() {
-            this.subscriptions = []
-          }
-          return (
-            (e.prototype.add = function (e) {
-              var t = this
-              return (
-                sr(this.subscriptions, e),
-                function () {
-                  return ur(t.subscriptions, e)
-                }
-              )
-            }),
-            (e.prototype.notify = function (e, t, n) {
-              var r = this.subscriptions.length
-              if (r)
-                if (1 === r) this.subscriptions[0](e, t, n)
-                else
-                  for (var o = 0; o < r; o++) {
-                    var i = this.subscriptions[o]
-                    i && i(e, t, n)
-                  }
-            }),
-            (e.prototype.getSize = function () {
-              return this.subscriptions.length
-            }),
-            (e.prototype.clear = function () {
-              this.subscriptions.length = 0
-            }),
-            e
-          )
-        })(),
-        lr = (function () {
-          function e(e) {
-            var t,
-              n = this
-            ;(this.timeDelta = 0),
-              (this.lastUpdated = 0),
-              (this.updateSubscribers = new cr()),
-              (this.velocityUpdateSubscribers = new cr()),
-              (this.renderSubscribers = new cr()),
-              (this.canTrackVelocity = !1),
-              (this.updateAndNotify = function (e, t) {
-                void 0 === t && (t = !0), (n.prev = n.current), (n.current = e)
-                var r = (0, Tn.$B)(),
-                  o = r.delta,
-                  i = r.timestamp
-                n.lastUpdated !== i &&
-                  ((n.timeDelta = o),
-                  (n.lastUpdated = i),
-                  Tn.ZP.postRender(n.scheduleVelocityCheck)),
-                  n.prev !== n.current && n.updateSubscribers.notify(n.current),
-                  n.velocityUpdateSubscribers.getSize() &&
-                    n.velocityUpdateSubscribers.notify(n.getVelocity()),
-                  t && n.renderSubscribers.notify(n.current)
-              }),
-              (this.scheduleVelocityCheck = function () {
-                return Tn.ZP.postRender(n.velocityCheck)
-              }),
-              (this.velocityCheck = function (e) {
-                e.timestamp !== n.lastUpdated &&
-                  ((n.prev = n.current), n.velocityUpdateSubscribers.notify(n.getVelocity()))
-              }),
-              (this.hasAnimated = !1),
-              (this.prev = this.current = e),
-              (this.canTrackVelocity = ((t = this.current), !isNaN(parseFloat(t))))
-          }
-          return (
-            (e.prototype.onChange = function (e) {
-              return this.updateSubscribers.add(e)
-            }),
-            (e.prototype.clearListeners = function () {
-              this.updateSubscribers.clear()
-            }),
-            (e.prototype.onRenderRequest = function (e) {
-              return e(this.get()), this.renderSubscribers.add(e)
-            }),
-            (e.prototype.attach = function (e) {
-              this.passiveEffect = e
-            }),
-            (e.prototype.set = function (e, t) {
-              void 0 === t && (t = !0),
-                t && this.passiveEffect
-                  ? this.passiveEffect(e, this.updateAndNotify)
-                  : this.updateAndNotify(e, t)
-            }),
-            (e.prototype.get = function () {
-              return this.current
-            }),
-            (e.prototype.getPrevious = function () {
-              return this.prev
-            }),
-            (e.prototype.getVelocity = function () {
-              return this.canTrackVelocity
-                ? Pn(parseFloat(this.current) - parseFloat(this.prev), this.timeDelta)
-                : 0
-            }),
-            (e.prototype.start = function (e) {
-              var t = this
-              return (
-                this.stop(),
-                new Promise(function (n) {
-                  ;(t.hasAnimated = !0), (t.stopAnimation = e(n))
-                }).then(function () {
-                  return t.clearAnimation()
-                })
-              )
-            }),
-            (e.prototype.stop = function () {
-              this.stopAnimation && this.stopAnimation(), this.clearAnimation()
-            }),
-            (e.prototype.isAnimating = function () {
-              return !!this.stopAnimation
-            }),
-            (e.prototype.clearAnimation = function () {
-              this.stopAnimation = null
-            }),
-            (e.prototype.destroy = function () {
-              this.updateSubscribers.clear(), this.renderSubscribers.clear(), this.stop()
-            }),
-            e
-          )
-        })()
-      function dr(e) {
-        return new lr(e)
-      }
-      var fr = function (e) {
-          return function (t) {
-            return t.test(e)
-          }
-        },
-        hr = [
-          ue,
-          oe,
-          re,
-          ne,
-          ae,
-          ie,
-          {
-            test: function (e) {
-              return 'auto' === e
-            },
-            parse: function (e) {
-              return e
-            },
-          },
-        ],
-        pr = function (e) {
-          return hr.find(fr(e))
-        },
-        vr = (0, r.__spreadArray)((0, r.__spreadArray)([], (0, r.__read)(hr)), [Vt, Xt]),
-        mr = function (e) {
-          return vr.find(fr(e))
-        }
-      function gr(e, t, n) {
-        e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, dr(n))
-      }
-      function yr(e, t) {
-        var n = C(e, t),
-          o = n ? e.makeTargetAnimatable(n, !1) : {},
-          i = o.transitionEnd,
-          a = void 0 === i ? {} : i
-        o.transition
-        var s,
-          u = (0, r.__rest)(o, ['transitionEnd', 'transition'])
-        for (var c in (u = (0, r.__assign)((0, r.__assign)({}, u), a))) {
-          gr(e, c, ((s = u[c]), ze(s) ? s[s.length - 1] || 0 : s))
-        }
-      }
-      function br(e, t) {
-        if (t) return (t[e] || t.default || t).from
-      }
-      function wr(e, t, n) {
-        var o
-        void 0 === n && (n = {})
-        var i = C(e, t, n.custom),
-          a = (i || {}).transition,
-          s = void 0 === a ? e.getDefaultTransition() || {} : a
-        n.transitionOverride && (s = n.transitionOverride)
-        var u = i
-            ? function () {
-                return _r(e, i, n)
-              }
-            : function () {
-                return Promise.resolve()
-              },
-          c = (null === (o = e.variantChildren) || void 0 === o ? void 0 : o.size)
-            ? function (o) {
-                void 0 === o && (o = 0)
-                var i = s.delayChildren,
-                  a = void 0 === i ? 0 : i,
-                  u = s.staggerChildren,
-                  c = s.staggerDirection
-                return (function (e, t, n, o, i, a) {
-                  void 0 === n && (n = 0)
-                  void 0 === o && (o = 0)
-                  void 0 === i && (i = 1)
-                  var s = [],
-                    u = (e.variantChildren.size - 1) * o,
-                    c =
-                      1 === i
-                        ? function (e) {
-                            return void 0 === e && (e = 0), e * o
-                          }
-                        : function (e) {
-                            return void 0 === e && (e = 0), u - e * o
-                          }
-                  return (
-                    Array.from(e.variantChildren)
-                      .sort(xr)
-                      .forEach(function (e, o) {
-                        s.push(
-                          wr(
-                            e,
-                            t,
-                            (0, r.__assign)((0, r.__assign)({}, a), { delay: n + c(o) }),
-                          ).then(function () {
-                            return e.notifyAnimationComplete(t)
-                          }),
-                        )
-                      }),
-                    Promise.all(s)
-                  )
-                })(e, t, a + o, u, c, n)
-              }
-            : function () {
-                return Promise.resolve()
-              },
-          l = s.when
-        if (l) {
-          var d = (0, r.__read)('beforeChildren' === l ? [u, c] : [c, u], 2),
-            f = d[0],
-            h = d[1]
-          return f().then(h)
-        }
-        return Promise.all([u(), c(n.delay)])
-      }
-      function _r(e, t, n) {
-        var o,
-          i = void 0 === n ? {} : n,
-          a = i.delay,
-          s = void 0 === a ? 0 : a,
-          u = i.transitionOverride,
-          c = i.type,
-          l = e.makeTargetAnimatable(t),
-          d = l.transition,
-          f = void 0 === d ? e.getDefaultTransition() : d,
-          h = l.transitionEnd,
-          p = (0, r.__rest)(l, ['transition', 'transitionEnd'])
-        u && (f = u)
-        var v = [],
-          m = c && (null === (o = e.animationState) || void 0 === o ? void 0 : o.getState()[c])
-        for (var g in p) {
-          var y = e.getValue(g),
-            b = p[g]
-          if (!(!y || void 0 === b || (m && kr(m, g)))) {
-            var w = ar(g, y, b, (0, r.__assign)({ delay: s }, f))
-            v.push(w)
-          }
-        }
-        return Promise.all(v).then(function () {
-          h && yr(e, h)
-        })
-      }
-      function xr(e, t) {
-        return e.sortNodePosition(t)
-      }
-      function kr(e, t) {
-        var n = e.protectedKeys,
-          r = e.needsAnimating,
-          o = n.hasOwnProperty(t) && !0 !== r[t]
-        return (r[t] = !1), o
-      }
-      var Er = [Ue.Animate, Ue.Hover, Ue.Tap, Ue.Drag, Ue.Focus, Ue.Exit],
-        Or = (0, r.__spreadArray)([], (0, r.__read)(Er)).reverse(),
-        Tr = Er.length
-      function Cr(e) {
-        return function (t) {
-          return Promise.all(
-            t.map(function (t) {
-              var n = t.animation,
-                r = t.options
-              return (function (e, t, n) {
-                var r
-                if ((void 0 === n && (n = {}), e.notifyAnimationStart(), Array.isArray(t))) {
-                  var o = t.map(function (t) {
-                    return wr(e, t, n)
-                  })
-                  r = Promise.all(o)
-                } else if ('string' === typeof t) r = wr(e, t, n)
-                else {
-                  var i = 'function' === typeof t ? C(e, t, n.custom) : t
-                  r = _r(e, i, n)
-                }
-                return r.then(function () {
-                  return e.notifyAnimationComplete(t)
-                })
-              })(e, n, r)
-            }),
-          )
-        }
-      }
-      function Mr(e) {
-        var t = Cr(e),
-          n = (function () {
-            var e
-            return (
-              ((e = {})[Ue.Animate] = Sr(!0)),
-              (e[Ue.Hover] = Sr()),
-              (e[Ue.Tap] = Sr()),
-              (e[Ue.Drag] = Sr()),
-              (e[Ue.Focus] = Sr()),
-              (e[Ue.Exit] = Sr()),
-              e
-            )
-          })(),
-          o = {},
-          i = !0,
-          a = function (t, n) {
-            var o = C(e, n)
-            if (o) {
-              o.transition
-              var i = o.transitionEnd,
-                a = (0, r.__rest)(o, ['transition', 'transitionEnd'])
-              t = (0, r.__assign)((0, r.__assign)((0, r.__assign)({}, t), a), i)
-            }
-            return t
-          }
-        function s(s, u) {
-          for (
-            var c,
-              l = e.getProps(),
-              d = e.getVariantContext(!0) || {},
-              f = [],
-              h = new Set(),
-              p = {},
-              v = 1 / 0,
-              m = function (t) {
-                var o = Or[t],
-                  m = n[o],
-                  g = null !== (c = l[o]) && void 0 !== c ? c : d[o],
-                  y = O(g),
-                  b = o === u ? m.isActive : null
-                !1 === b && (v = t)
-                var w = g === d[o] && g !== l[o] && y
-                if (
-                  (w && i && e.manuallyAnimateOnMount && (w = !1),
-                  (m.protectedKeys = (0, r.__assign)({}, p)),
-                  (!m.isActive && null === b) ||
-                    (!g && !m.prevProp) ||
-                    Ne(g) ||
-                    'boolean' === typeof g)
-                )
-                  return 'continue'
-                var _ =
-                    (function (e, t) {
-                      if ('string' === typeof t) return t !== e
-                      if (E(t)) return !yt(t, e)
-                      return !1
-                    })(m.prevProp, g) ||
-                    (o === u && m.isActive && !w && y) ||
-                    (t > v && y),
-                  x = Array.isArray(g) ? g : [g],
-                  k = x.reduce(a, {})
-                !1 === b && (k = {})
-                var T = m.prevResolvedValues,
-                  C = void 0 === T ? {} : T,
-                  M = (0, r.__assign)((0, r.__assign)({}, C), k),
-                  S = function (e) {
-                    ;(_ = !0), h.delete(e), (m.needsAnimating[e] = !0)
-                  }
-                for (var P in M) {
-                  var j = k[P],
-                    I = C[P]
-                  p.hasOwnProperty(P) ||
-                    (j !== I
-                      ? ze(j) && ze(I)
-                        ? yt(j, I)
-                          ? (m.protectedKeys[P] = !0)
-                          : S(P)
-                        : void 0 !== j
-                        ? S(P)
-                        : h.add(P)
-                      : void 0 !== j && h.has(P)
-                      ? S(P)
-                      : (m.protectedKeys[P] = !0))
-                }
-                ;(m.prevProp = g),
-                  (m.prevResolvedValues = k),
-                  m.isActive && (p = (0, r.__assign)((0, r.__assign)({}, p), k)),
-                  i && e.blockInitialAnimation && (_ = !1),
-                  _ &&
-                    !w &&
-                    f.push.apply(
-                      f,
-                      (0, r.__spreadArray)(
-                        [],
-                        (0, r.__read)(
-                          x.map(function (e) {
-                            return { animation: e, options: (0, r.__assign)({ type: o }, s) }
-                          }),
-                        ),
-                      ),
-                    )
-              },
-              g = 0;
-            g < Tr;
-            g++
-          )
-            m(g)
-          if (((o = (0, r.__assign)({}, p)), h.size)) {
-            var y = {}
-            h.forEach(function (t) {
-              var n = e.getBaseTarget(t)
-              void 0 !== n && (y[t] = n)
-            }),
-              f.push({ animation: y })
-          }
-          var b = Boolean(f.length)
-          return (
-            i && !1 === l.initial && !e.manuallyAnimateOnMount && (b = !1),
-            (i = !1),
-            b ? t(f) : Promise.resolve()
-          )
-        }
-        return {
-          isAnimated: function (e) {
-            return void 0 !== o[e]
-          },
-          animateChanges: s,
-          setActive: function (t, r, o) {
-            var i
-            return n[t].isActive === r
-              ? Promise.resolve()
-              : (null === (i = e.variantChildren) ||
-                  void 0 === i ||
-                  i.forEach(function (e) {
-                    var n
-                    return null === (n = e.animationState) || void 0 === n
-                      ? void 0
-                      : n.setActive(t, r)
-                  }),
-                (n[t].isActive = r),
-                s(o, t))
-          },
-          setAnimateFunction: function (n) {
-            t = n(e)
-          },
-          getState: function () {
-            return n
-          },
-        }
-      }
-      function Sr(e) {
-        return (
-          void 0 === e && (e = !1),
-          { isActive: e, protectedKeys: {}, needsAnimating: {}, prevResolvedValues: {} }
-        )
-      }
-      var Pr = {
-          animation: mt(function (e) {
-            var t = e.visualElement,
-              n = e.animate
-            t.animationState || (t.animationState = Mr(t)),
-              Ne(n) &&
-                (0, o.useEffect)(
-                  function () {
-                    return n.subscribe(t)
-                  },
-                  [n],
-                )
-          }),
-          exit: mt(function (e) {
-            var t = e.custom,
-              n = e.visualElement,
-              i = (0, r.__read)(p(), 2),
-              a = i[0],
-              s = i[1],
-              u = (0, o.useContext)(f.O)
-            ;(0, o.useEffect)(
-              function () {
-                var e,
-                  r,
-                  o =
-                    null === (e = n.animationState) || void 0 === e
-                      ? void 0
-                      : e.setActive(Ue.Exit, !a, {
-                          custom:
-                            null !== (r = null === u || void 0 === u ? void 0 : u.custom) &&
-                            void 0 !== r
-                              ? r
-                              : t,
-                        })
-                !a && (null === o || void 0 === o || o.then(s))
-              },
-              [a],
-            )
-          }),
-        },
-        jr = function (e) {
-          return e.hasOwnProperty('x') && e.hasOwnProperty('y')
-        },
-        Ir = function (e) {
-          return jr(e) && e.hasOwnProperty('z')
-        },
-        Ar = function (e, t) {
-          return Math.abs(e - t)
-        }
-      function Rr(e, t) {
-        if ($t(e) && $t(t)) return Ar(e, t)
-        if (jr(e) && jr(t)) {
-          var n = Ar(e.x, t.x),
-            r = Ar(e.y, t.y),
-            o = Ir(e) && Ir(t) ? Ar(e.z, t.z) : 0
-          return Math.sqrt(Math.pow(n, 2) + Math.pow(r, 2) + Math.pow(o, 2))
-        }
-      }
-      var Dr = (function () {
-        function e(e, t, n) {
-          var o = this,
-            i = (void 0 === n ? {} : n).transformPagePoint
-          if (
-            ((this.startEvent = null),
-            (this.lastMoveEvent = null),
-            (this.lastMoveEventInfo = null),
-            (this.handlers = {}),
-            (this.updatePoint = function () {
-              if (o.lastMoveEvent && o.lastMoveEventInfo) {
-                var e = zr(o.lastMoveEventInfo, o.history),
-                  t = null !== o.startEvent,
-                  n = Rr(e.offset, { x: 0, y: 0 }) >= 3
-                if (t || n) {
-                  var i = e.point,
-                    a = (0, Tn.$B)().timestamp
-                  o.history.push((0, r.__assign)((0, r.__assign)({}, i), { timestamp: a }))
-                  var s = o.handlers,
-                    u = s.onStart,
-                    c = s.onMove
-                  t || (u && u(o.lastMoveEvent, e), (o.startEvent = o.lastMoveEvent)),
-                    c && c(o.lastMoveEvent, e)
-                }
-              }
-            }),
-            (this.handlePointerMove = function (e, t) {
-              ;(o.lastMoveEvent = e),
-                (o.lastMoveEventInfo = Lr(t, o.transformPagePoint)),
-                Ze(e) && 0 === e.buttons ? o.handlePointerUp(e, t) : Tn.ZP.update(o.updatePoint, !0)
-            }),
-            (this.handlePointerUp = function (e, t) {
-              o.end()
-              var n = o.handlers,
-                r = n.onEnd,
-                i = n.onSessionEnd,
-                a = zr(Lr(t, o.transformPagePoint), o.history)
-              o.startEvent && r && r(e, a), i && i(e, a)
-            }),
-            !(Xe(e) && e.touches.length > 1))
-          ) {
-            ;(this.handlers = t), (this.transformPagePoint = i)
-            var a = Lr(Je(e), this.transformPagePoint),
-              s = a.point,
-              u = (0, Tn.$B)().timestamp
-            this.history = [(0, r.__assign)((0, r.__assign)({}, s), { timestamp: u })]
-            var c = t.onSessionStart
-            c && c(e, zr(a, this.history)),
-              (this.removeListeners = vt(
-                ot(window, 'pointermove', this.handlePointerMove),
-                ot(window, 'pointerup', this.handlePointerUp),
-                ot(window, 'pointercancel', this.handlePointerUp),
-              ))
-          }
-        }
-        return (
-          (e.prototype.updateHandlers = function (e) {
-            this.handlers = e
-          }),
-          (e.prototype.end = function () {
-            this.removeListeners && this.removeListeners(), Tn.qY.update(this.updatePoint)
-          }),
-          e
-        )
-      })()
-      function Lr(e, t) {
-        return t ? { point: t(e.point) } : e
-      }
-      function Nr(e, t) {
-        return { x: e.x - t.x, y: e.y - t.y }
-      }
-      function zr(e, t) {
-        var n = e.point
-        return { point: n, delta: Nr(n, Hr(t)), offset: Nr(n, Br(t)), velocity: Fr(t, 0.1) }
-      }
-      function Br(e) {
-        return e[0]
-      }
-      function Hr(e) {
-        return e[e.length - 1]
-      }
-      function Fr(e, t) {
-        if (e.length < 2) return { x: 0, y: 0 }
-        for (
-          var n = e.length - 1, r = null, o = Hr(e);
-          n >= 0 && ((r = e[n]), !(o.timestamp - r.timestamp > jn(t)));
-
-        )
-          n--
-        if (!r) return { x: 0, y: 0 }
-        var i = (o.timestamp - r.timestamp) / 1e3
-        if (0 === i) return { x: 0, y: 0 }
-        var a = { x: (o.x - r.x) / i, y: (o.y - r.y) / i }
-        return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a
-      }
-      var Vr = n(93327)
-      function Wr(e) {
-        return [e('x'), e('y')]
-      }
-      function Ur(e, t, n) {
-        var r = t.min,
-          o = t.max
-        return (
-          void 0 !== r && e < r
-            ? (e = n ? St(r, e, n.min) : Math.max(e, r))
-            : void 0 !== o && e > o && (e = n ? St(o, e, n.max) : Math.min(e, o)),
-          e
-        )
-      }
-      function Gr(e, t, n) {
-        return {
-          min: void 0 !== t ? e.min + t : void 0,
-          max: void 0 !== n ? e.max + n - (e.max - e.min) : void 0,
-        }
-      }
-      function qr(e, t) {
-        var n,
-          o = t.min - e.min,
-          i = t.max - e.max
-        return (
-          t.max - t.min < e.max - e.min && ((o = (n = (0, r.__read)([i, o], 2))[0]), (i = n[1])),
-          { min: e.min + o, max: e.min + i }
-        )
-      }
-      function Kr(e, t, n) {
-        return { min: Zr(e, t), max: Zr(e, n) }
-      }
-      function Zr(e, t) {
-        var n
-        return 'number' === typeof e ? e : null !== (n = e[t]) && void 0 !== n ? n : 0
-      }
-      function Xr(e, t) {
-        var n = e.getBoundingClientRect()
-        return (0, Vr.RX)((0, Vr.dV)(n, t))
-      }
-      function $r(e, t, n) {
-        return void 0 === t && (t = 0), void 0 === n && (n = 0.01), Rr(e, t) < n
-      }
-      function Yr(e) {
-        return e.max - e.min
-      }
-      function Qr(e, t) {
-        var n = 0.5,
-          r = Yr(e),
-          o = Yr(t)
-        return (
-          o > r ? (n = Mt(t.min, t.max - r, e.min)) : r > o && (n = Mt(e.min, e.max - o, t.min)),
-          bt(0, 1, n)
-        )
-      }
-      function Jr(e, t, n, r) {
-        void 0 === r && (r = 0.5),
-          (e.origin = r),
-          (e.originPoint = St(t.min, t.max, e.origin)),
-          (e.scale = Yr(n) / Yr(t)),
-          $r(e.scale, 1, 1e-4) && (e.scale = 1),
-          (e.translate = St(n.min, n.max, e.origin) - e.originPoint),
-          $r(e.translate) && (e.translate = 0)
-      }
-      function eo(e, t, n, r) {
-        Jr(e.x, t.x, n.x, to(r.originX)), Jr(e.y, t.y, n.y, to(r.originY))
-      }
-      function to(e) {
-        return 'number' === typeof e ? e : 0.5
-      }
-      function no(e, t, n) {
-        ;(e.min = n.min + t.min), (e.max = e.min + Yr(t))
-      }
-      var ro = n(58839)
-      function oo(e, t) {
-        return { min: t.min - e.min, max: t.max - e.min }
-      }
-      function io(e, t) {
-        return { x: oo(e.x, t.x), y: oo(e.y, t.y) }
-      }
-      function ao(e, t) {
-        var n = e.getLayoutId(),
-          r = t.getLayoutId()
-        return n !== r || (void 0 === r && e !== t)
-      }
-      function so(e) {
-        var t = e.getProps(),
-          n = t.drag,
-          r = t._dragX
-        return n && !r
-      }
-      function uo(e, t) {
-        ;(e.min = t.min), (e.max = t.max)
-      }
-      function co(e, t, n) {
-        return n + t * (e - n)
-      }
-      function lo(e, t, n, r, o) {
-        return void 0 !== o && (e = co(e, o, r)), co(e, n, r) + t
-      }
-      function fo(e, t, n, r, o) {
-        void 0 === t && (t = 0),
-          void 0 === n && (n = 1),
-          (e.min = lo(e.min, t, n, r, o)),
-          (e.max = lo(e.max, t, n, r, o))
-      }
-      function ho(e, t) {
-        var n = t.x,
-          r = t.y
-        fo(e.x, n.translate, n.scale, n.originPoint), fo(e.y, r.translate, r.scale, r.originPoint)
-      }
-      function po(e, t, n, o) {
-        var i = (0, r.__read)(o, 3),
-          a = i[0],
-          s = i[1],
-          u = i[2]
-        ;(e.min = t.min), (e.max = t.max)
-        var c = void 0 !== n[u] ? n[u] : 0.5,
-          l = St(t.min, t.max, c)
-        fo(e, n[a], n[s], l, n.scale)
-      }
-      var vo = ['x', 'scaleX', 'originX'],
-        mo = ['y', 'scaleY', 'originY']
-      function go(e, t, n) {
-        po(e.x, t.x, n, vo), po(e.y, t.y, n, mo)
-      }
-      function yo(e, t, n, r, o) {
-        return (e = co((e -= t), 1 / n, r)), void 0 !== o && (e = co(e, 1 / o, r)), e
-      }
-      function bo(e, t, n) {
-        var o = (0, r.__read)(n, 3),
-          i = o[0],
-          a = o[1],
-          s = o[2]
-        !(function (e, t, n, r, o) {
-          void 0 === t && (t = 0), void 0 === n && (n = 1), void 0 === r && (r = 0.5)
-          var i = St(e.min, e.max, r) - t
-          ;(e.min = yo(e.min, t, n, i, o)), (e.max = yo(e.max, t, n, i, o))
-        })(e, t[i], t[a], t[s], t.scale)
-      }
-      function wo(e, t) {
-        bo(e.x, t, vo), bo(e.y, t, mo)
-      }
-      var _o,
-        xo = n(27565),
-        ko = new WeakMap(),
-        Eo = (function () {
-          function e(e) {
-            var t = e.visualElement
-            ;(this.isDragging = !1),
-              (this.currentDirection = null),
-              (this.constraints = !1),
-              (this.elastic = (0, Vr.VZ)()),
-              (this.props = {}),
-              (this.hasMutatedConstraints = !1),
-              (this.cursorProgress = { x: 0.5, y: 0.5 }),
-              (this.originPoint = {}),
-              (this.openGlobalLock = null),
-              (this.panSession = null),
-              (this.visualElement = t),
-              this.visualElement.enableLayoutProjection(),
-              ko.set(t, this)
-          }
-          return (
-            (e.prototype.start = function (e, t) {
-              var n = this,
-                o = void 0 === t ? {} : t,
-                i = o.snapToCursor,
-                a = void 0 !== i && i,
-                s = o.cursorProgress,
-                u = this.props.transformPagePoint
-              this.panSession = new Dr(
-                e,
-                {
-                  onSessionStart: function (e) {
-                    var t
-                    n.stopMotion()
-                    var o = (function (e) {
-                      return Je(e, 'client')
-                    })(e).point
-                    null === (t = n.cancelLayout) || void 0 === t || t.call(n),
-                      (n.cancelLayout = (0, xo.U)(function (e, t) {
-                        var i = (0, ro.kv)(n.visualElement),
-                          u = (0, ro.e3)(n.visualElement),
-                          c = (0, r.__spreadArray)(
-                            (0, r.__spreadArray)([], (0, r.__read)(i)),
-                            (0, r.__read)(u),
-                          ),
-                          l = !1
-                        n.isLayoutDrag() && n.visualElement.lockProjectionTarget(),
-                          t(function () {
-                            c.forEach(function (e) {
-                              return e.resetTransform()
-                            })
-                          }),
-                          e(function () {
-                            ;(0, ro.de)(n.visualElement), u.forEach(ro.de)
-                          }),
-                          t(function () {
-                            c.forEach(function (e) {
-                              return e.restoreTransform()
-                            }),
-                              a && (l = n.snapToCursor(o))
-                          }),
-                          e(function () {
-                            Boolean(n.getAxisMotionValue('x') && !n.isExternalDrag()) ||
-                              n.visualElement.rebaseProjectionTarget(
-                                !0,
-                                n.visualElement.measureViewportBox(!1),
-                              ),
-                              n.visualElement.scheduleUpdateLayoutProjection()
-                            var e = n.visualElement.projection
-                            Wr(function (t) {
-                              if (!l) {
-                                var r = e.target[t],
-                                  i = r.min,
-                                  a = r.max
-                                n.cursorProgress[t] = s ? s[t] : Mt(i, a, o[t])
-                              }
-                              var u = n.getAxisMotionValue(t)
-                              u && (n.originPoint[t] = u.get())
-                            })
-                          }),
-                          t(function () {
-                            Tn.iW.update(), Tn.iW.preRender(), Tn.iW.render(), Tn.iW.postRender()
-                          }),
-                          e(function () {
-                            return n.resolveDragConstraints()
-                          })
-                      }))
-                  },
-                  onStart: function (e, t) {
-                    var r,
-                      o,
-                      i,
-                      a = n.props,
-                      s = a.drag,
-                      u = a.dragPropagation
-                    ;(!s ||
-                      u ||
-                      (n.openGlobalLock && n.openGlobalLock(),
-                      (n.openGlobalLock = ct(s)),
-                      n.openGlobalLock)) &&
-                      ((0, xo.R)(),
-                      (n.isDragging = !0),
-                      (n.currentDirection = null),
-                      null === (o = (r = n.props).onDragStart) || void 0 === o || o.call(r, e, t),
-                      null === (i = n.visualElement.animationState) ||
-                        void 0 === i ||
-                        i.setActive(Ue.Drag, !0))
-                  },
-                  onMove: function (e, t) {
-                    var r,
-                      o,
-                      i,
-                      a,
-                      s = n.props,
-                      u = s.dragPropagation,
-                      c = s.dragDirectionLock
-                    if (u || n.openGlobalLock) {
-                      var l = t.offset
-                      if (c && null === n.currentDirection)
-                        return (
-                          (n.currentDirection = (function (e, t) {
-                            void 0 === t && (t = 10)
-                            var n = null
-                            Math.abs(e.y) > t ? (n = 'y') : Math.abs(e.x) > t && (n = 'x')
-                            return n
-                          })(l)),
-                          void (
-                            null !== n.currentDirection &&
-                            (null === (o = (r = n.props).onDirectionLock) ||
-                              void 0 === o ||
-                              o.call(r, n.currentDirection))
-                          )
-                        )
-                      n.updateAxis('x', t.point, l),
-                        n.updateAxis('y', t.point, l),
-                        null === (a = (i = n.props).onDrag) || void 0 === a || a.call(i, e, t),
-                        (_o = e)
-                    }
-                  },
-                  onSessionEnd: function (e, t) {
-                    return n.stop(e, t)
-                  },
-                },
-                { transformPagePoint: u },
-              )
-            }),
-            (e.prototype.resolveDragConstraints = function () {
-              var e = this,
-                t = this.props,
-                n = t.dragConstraints,
-                r = t.dragElastic,
-                o = this.visualElement.getLayoutState().layoutCorrected
-              ;(this.constraints =
-                !!n &&
-                (k(n)
-                  ? this.resolveRefConstraints(o, n)
-                  : (function (e, t) {
-                      var n = t.top,
-                        r = t.left,
-                        o = t.bottom,
-                        i = t.right
-                      return { x: Gr(e.x, r, i), y: Gr(e.y, n, o) }
-                    })(o, n))),
-                (this.elastic = (function (e) {
-                  return (
-                    !1 === e ? (e = 0) : !0 === e && (e = 0.35),
-                    { x: Kr(e, 'left', 'right'), y: Kr(e, 'top', 'bottom') }
-                  )
-                })(r)),
-                this.constraints &&
-                  !this.hasMutatedConstraints &&
-                  Wr(function (t) {
-                    e.getAxisMotionValue(t) &&
-                      (e.constraints[t] = (function (e, t) {
-                        var n = {}
-                        return (
-                          void 0 !== t.min && (n.min = t.min - e.min),
-                          void 0 !== t.max && (n.max = t.max - e.min),
-                          n
-                        )
-                      })(o[t], e.constraints[t]))
-                  })
-            }),
-            (e.prototype.resolveRefConstraints = function (e, t) {
-              var n = this.props,
-                r = n.onMeasureDragConstraints,
-                o = n.transformPagePoint,
-                i = t.current
-              this.constraintsBox = Xr(i, o)
-              var a = (function (e, t) {
-                return { x: qr(e.x, t.x), y: qr(e.y, t.y) }
-              })(e, this.constraintsBox)
-              if (r) {
-                var s = r((0, Vr._6)(a))
-                ;(this.hasMutatedConstraints = !!s), s && (a = (0, Vr.RX)(s))
-              }
-              return a
-            }),
-            (e.prototype.cancelDrag = function () {
-              var e, t
-              this.visualElement.unlockProjectionTarget(),
-                null === (e = this.cancelLayout) || void 0 === e || e.call(this),
-                (this.isDragging = !1),
-                this.panSession && this.panSession.end(),
-                (this.panSession = null),
-                !this.props.dragPropagation &&
-                  this.openGlobalLock &&
-                  (this.openGlobalLock(), (this.openGlobalLock = null)),
-                null === (t = this.visualElement.animationState) ||
-                  void 0 === t ||
-                  t.setActive(Ue.Drag, !1)
-            }),
-            (e.prototype.stop = function (e, t) {
-              var n, r, o
-              null === (n = this.panSession) || void 0 === n || n.end(), (this.panSession = null)
-              var i = this.isDragging
-              if ((this.cancelDrag(), i)) {
-                var a = t.velocity
-                this.animateDragEnd(a),
-                  null === (o = (r = this.props).onDragEnd) || void 0 === o || o.call(r, e, t)
-              }
-            }),
-            (e.prototype.snapToCursor = function (e) {
-              var t = this
-              return Wr(function (n) {
-                if (Oo(n, t.props.drag, t.currentDirection)) {
-                  var r = t.getAxisMotionValue(n)
-                  if (!r) return (t.cursorProgress[n] = 0.5), !0
-                  var o = t.visualElement.getLayoutState().layout,
-                    i = o[n].max - o[n].min,
-                    a = o[n].min + i / 2,
-                    s = e[n] - a
-                  ;(t.originPoint[n] = e[n]), r.set(s)
-                }
-              }).includes(!0)
-            }),
-            (e.prototype.updateAxis = function (e, t, n) {
-              if (Oo(e, this.props.drag, this.currentDirection))
-                return this.getAxisMotionValue(e)
-                  ? this.updateAxisMotionValue(e, n)
-                  : this.updateVisualElementAxis(e, t)
-            }),
-            (e.prototype.updateAxisMotionValue = function (e, t) {
-              var n = this.getAxisMotionValue(e)
-              if (t && n) {
-                var r = this.originPoint[e] + t[e],
-                  o = this.constraints ? Ur(r, this.constraints[e], this.elastic[e]) : r
-                n.set(o)
-              }
-            }),
-            (e.prototype.updateVisualElementAxis = function (e, t) {
-              var n,
-                r = this.visualElement.getLayoutState().layout[e],
-                o = r.max - r.min,
-                i = this.cursorProgress[e],
-                a = (function (e, t, n, r, o) {
-                  var i = e - t * n
-                  return r ? Ur(i, r, o) : i
-                })(
-                  t[e],
-                  o,
-                  i,
-                  null === (n = this.constraints) || void 0 === n ? void 0 : n[e],
-                  this.elastic[e],
-                )
-              this.visualElement.setProjectionTargetAxis(e, a, a + o)
-            }),
-            (e.prototype.setProps = function (e) {
-              var t = e.drag,
-                n = void 0 !== t && t,
-                o = e.dragDirectionLock,
-                i = void 0 !== o && o,
-                a = e.dragPropagation,
-                s = void 0 !== a && a,
-                u = e.dragConstraints,
-                c = void 0 !== u && u,
-                l = e.dragElastic,
-                d = void 0 === l ? 0.35 : l,
-                f = e.dragMomentum,
-                h = void 0 === f || f,
-                p = (0, r.__rest)(e, [
-                  'drag',
-                  'dragDirectionLock',
-                  'dragPropagation',
-                  'dragConstraints',
-                  'dragElastic',
-                  'dragMomentum',
-                ])
-              this.props = (0, r.__assign)(
-                {
-                  drag: n,
-                  dragDirectionLock: i,
-                  dragPropagation: s,
-                  dragConstraints: c,
-                  dragElastic: d,
-                  dragMomentum: h,
-                },
-                p,
-              )
-            }),
-            (e.prototype.getAxisMotionValue = function (e) {
-              var t = this.props,
-                n = t.layout,
-                r = t.layoutId,
-                o = '_drag' + e.toUpperCase()
-              return this.props[o]
-                ? this.props[o]
-                : n || void 0 !== r
-                ? void 0
-                : this.visualElement.getValue(e, 0)
-            }),
-            (e.prototype.isLayoutDrag = function () {
-              return !this.getAxisMotionValue('x')
-            }),
-            (e.prototype.isExternalDrag = function () {
-              var e = this.props,
-                t = e._dragX,
-                n = e._dragY
-              return t || n
-            }),
-            (e.prototype.animateDragEnd = function (e) {
-              var t = this,
-                n = this.props,
-                o = n.drag,
-                i = n.dragMomentum,
-                a = n.dragElastic,
-                s = n.dragTransition,
-                u = (function (e, t) {
-                  void 0 === t && (t = !0)
-                  var n,
-                    r = e.getProjectionParent()
-                  return (
-                    !!r &&
-                    (t
-                      ? wo((n = io(r.projection.target, e.projection.target)), r.getLatestValues())
-                      : (n = io(r.getLayoutState().layout, e.getLayoutState().layout)),
-                    Wr(function (t) {
-                      return e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0)
-                    }),
-                    !0)
-                  )
-                })(this.visualElement, this.isLayoutDrag() && !this.isExternalDrag()),
-                c = this.constraints || {}
-              if (u && Object.keys(c).length && this.isLayoutDrag()) {
-                var l = this.visualElement.getProjectionParent()
-                if (l) {
-                  var d = io(l.projection.targetFinal, c)
-                  Wr(function (e) {
-                    var t = d[e],
-                      n = t.min,
-                      r = t.max
-                    c[e] = { min: isNaN(n) ? void 0 : n, max: isNaN(r) ? void 0 : r }
-                  })
-                }
-              }
-              var f = Wr(function (n) {
-                var l
-                if (Oo(n, o, t.currentDirection)) {
-                  var d =
-                      null !== (l = null === c || void 0 === c ? void 0 : c[n]) && void 0 !== l
-                        ? l
-                        : {},
-                    f = a ? 200 : 1e6,
-                    h = a ? 40 : 1e7,
-                    p = (0, r.__assign)(
-                      (0, r.__assign)(
-                        {
-                          type: 'inertia',
-                          velocity: i ? e[n] : 0,
-                          bounceStiffness: f,
-                          bounceDamping: h,
-                          timeConstant: 750,
-                          restDelta: 1,
-                          restSpeed: 10,
-                        },
-                        s,
-                      ),
-                      d,
-                    )
-                  return t.getAxisMotionValue(n)
-                    ? t.startAxisValueAnimation(n, p)
-                    : t.visualElement.startLayoutAnimation(n, p, u)
-                }
-              })
-              return Promise.all(f).then(function () {
-                var e, n
-                null === (n = (e = t.props).onDragTransitionEnd) || void 0 === n || n.call(e)
-              })
-            }),
-            (e.prototype.stopMotion = function () {
-              var e = this
-              Wr(function (t) {
-                var n = e.getAxisMotionValue(t)
-                n ? n.stop() : e.visualElement.stopLayoutAnimation()
-              })
-            }),
-            (e.prototype.startAxisValueAnimation = function (e, t) {
-              var n = this.getAxisMotionValue(e)
-              if (n) {
-                var r = n.get()
-                return n.set(r), n.set(r), ar(e, n, 0, t)
-              }
-            }),
-            (e.prototype.scalePoint = function () {
-              var e = this,
-                t = this.props,
-                n = t.drag
-              if (k(t.dragConstraints) && this.constraintsBox) {
-                this.stopMotion()
-                var r = { x: 0, y: 0 }
-                Wr(function (t) {
-                  r[t] = Qr(e.visualElement.projection.target[t], e.constraintsBox[t])
-                }),
-                  this.updateConstraints(function () {
-                    Wr(function (t) {
-                      if (Oo(t, n, null)) {
-                        var o = (function (e, t, n) {
-                            var r = e.max - e.min,
-                              o = St(t.min, t.max - r, n)
-                            return { min: o, max: o + r }
-                          })(e.visualElement.projection.target[t], e.constraintsBox[t], r[t]),
-                          i = o.min,
-                          a = o.max
-                        e.visualElement.setProjectionTargetAxis(t, i, a)
-                      }
-                    })
-                  }),
-                  setTimeout(xo.R, 1)
-              }
-            }),
-            (e.prototype.updateConstraints = function (e) {
-              var t = this
-              this.cancelLayout = (0, xo.U)(function (n, r) {
-                var o = (0, ro.kv)(t.visualElement)
-                r(function () {
-                  return o.forEach(function (e) {
-                    return e.resetTransform()
-                  })
-                }),
-                  n(function () {
-                    return (0, ro.de)(t.visualElement)
-                  }),
-                  r(function () {
-                    return o.forEach(function (e) {
-                      return e.restoreTransform()
-                    })
-                  }),
-                  n(function () {
-                    t.resolveDragConstraints()
-                  }),
-                  e && r(e)
-              })
-            }),
-            (e.prototype.mount = function (e) {
-              var t = this,
-                n = ot(e.getInstance(), 'pointerdown', function (e) {
-                  var n = t.props,
-                    r = n.drag,
-                    o = n.dragListener
-                  r && (void 0 === o || o) && t.start(e)
-                }),
-                r = qe(window, 'resize', function () {
-                  t.scalePoint()
-                }),
-                o = e.onLayoutUpdate(function () {
-                  t.isDragging && t.resolveDragConstraints()
-                }),
-                i = e.prevDragCursor
-              return (
-                i && this.start(_o, { cursorProgress: i }),
-                function () {
-                  null === n || void 0 === n || n(),
-                    null === r || void 0 === r || r(),
-                    null === o || void 0 === o || o(),
-                    t.cancelDrag()
-                }
-              )
-            }),
-            e
-          )
-        })()
-      function Oo(e, t, n) {
-        return (!0 === t || t === e) && (null === n || n === e)
-      }
-      var To = {
-          pan: mt(function (e) {
-            var t = e.onPan,
-              n = e.onPanStart,
-              r = e.onPanEnd,
-              i = e.onPanSessionStart,
-              a = e.visualElement,
-              s = t || n || r || i,
-              u = (0, o.useRef)(null),
-              c = (0, o.useContext)(l).transformPagePoint,
-              d = {
-                onSessionStart: i,
-                onStart: n,
-                onMove: t,
-                onEnd: function (e, t) {
-                  ;(u.current = null), r && r(e, t)
-                },
-              }
-            ;(0, o.useEffect)(function () {
-              null !== u.current && u.current.updateHandlers(d)
-            }),
-              it(
-                a,
-                'pointerdown',
-                s &&
-                  function (e) {
-                    u.current = new Dr(e, d, { transformPagePoint: c })
-                  },
-              ),
-              (0, ht.z)(function () {
-                return u.current && u.current.end()
-              })
-          }),
-          drag: mt(function (e) {
-            var t = e.dragControls,
-              n = e.visualElement,
-              i = (0, o.useContext)(l).transformPagePoint,
-              a = (0, h.h)(function () {
-                return new Eo({ visualElement: n })
-              })
-            a.setProps((0, r.__assign)((0, r.__assign)({}, e), { transformPagePoint: i })),
-              (0, o.useEffect)(
-                function () {
-                  return t && t.subscribe(a)
-                },
-                [a],
-              ),
-              (0, o.useEffect)(function () {
-                return a.mount(n)
-              }, [])
-          }),
-        },
-        Co = n(7646)
-      function Mo(e) {
-        return 'string' === typeof e && e.startsWith('var(--')
-      }
-      var So = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/
-      function Po(e, t, n) {
-        void 0 === n && (n = 1)
-        var o = (0, r.__read)(
-            (function (e) {
-              var t = So.exec(e)
-              if (!t) return [,]
-              var n = (0, r.__read)(t, 3)
-              return [n[1], n[2]]
-            })(e),
-            2,
-          ),
-          i = o[0],
-          a = o[1]
-        if (i) {
-          var s = window.getComputedStyle(t).getPropertyValue(i)
-          return s ? s.trim() : Mo(a) ? Po(a, t, n + 1) : a
-        }
-      }
-      function jo(e, t) {
-        return (e / (t.max - t.min)) * 100
-      }
-      var Io = '_$css'
-      var Ao = {
-          process: function (e, t, n) {
-            var r = n.target
-            if ('string' === typeof e) {
-              if (!oe.test(e)) return e
-              e = parseFloat(e)
-            }
-            return jo(e, r.x) + '% ' + jo(e, r.y) + '%'
-          },
-        },
-        Ro = {
-          borderRadius: (0, r.__assign)((0, r.__assign)({}, Ao), {
-            applyTo: [
-              'borderTopLeftRadius',
-              'borderTopRightRadius',
-              'borderBottomLeftRadius',
-              'borderBottomRightRadius',
-            ],
-          }),
-          borderTopLeftRadius: Ao,
-          borderTopRightRadius: Ao,
-          borderBottomLeftRadius: Ao,
-          borderBottomRightRadius: Ao,
-          boxShadow: {
-            process: function (e, t) {
-              var n = t.delta,
-                r = t.treeScale,
-                o = e,
-                i = e.includes('var('),
-                a = []
-              i &&
-                (e = e.replace(So, function (e) {
-                  return a.push(e), Io
-                }))
-              var s = Xt.parse(e)
-              if (s.length > 5) return o
-              var u = Xt.createTransformer(e),
-                c = 'number' !== typeof s[0] ? 1 : 0,
-                l = n.x.scale * r.x,
-                d = n.y.scale * r.y
-              ;(s[0 + c] /= l), (s[1 + c] /= d)
-              var f = St(l, d, 0.5)
-              'number' === typeof s[2 + c] && (s[2 + c] /= f),
-                'number' === typeof s[3 + c] && (s[3 + c] /= f)
-              var h = u(s)
-              if (i) {
-                var p = 0
-                h = h.replace(Io, function () {
-                  var e = a[p]
-                  return p++, e
-                })
-              }
-              return h
-            },
-          },
-        },
-        Do = (function (e) {
-          function t() {
-            var t = (null !== e && e.apply(this, arguments)) || this
-            return (
-              (t.frameTarget = (0, Vr.VZ)()),
-              (t.currentAnimationTarget = (0, Vr.VZ)()),
-              (t.isAnimating = { x: !1, y: !1 }),
-              (t.stopAxisAnimation = { x: void 0, y: void 0 }),
-              (t.isAnimatingTree = !1),
-              (t.animate = function (e, n, o) {
-                void 0 === o && (o = {})
-                var i = o.originBox,
-                  a = o.targetBox,
-                  s = o.visibilityAction,
-                  u = o.shouldStackAnimate,
-                  c = o.onComplete,
-                  l = o.prevParent,
-                  d = (0, r.__rest)(o, [
-                    'originBox',
-                    'targetBox',
-                    'visibilityAction',
-                    'shouldStackAnimate',
-                    'onComplete',
-                    'prevParent',
-                  ]),
-                  f = t.props,
-                  h = f.visualElement,
-                  p = f.layout
-                if (!1 === u) return (t.isAnimatingTree = !1), t.safeToRemove()
-                if (!t.isAnimatingTree || !0 === u) {
-                  u && (t.isAnimatingTree = !0), (n = i || n), (e = a || e)
-                  var v = !1,
-                    m = h.getProjectionParent()
-                  if (m) {
-                    var g = m.prevViewportBox,
-                      y = m.getLayoutState().layout
-                    l &&
-                      (a && (y = l.getLayoutState().layout),
-                      i && !ao(l, m) && l.prevViewportBox && (g = l.prevViewportBox)),
-                      g && Fo(l, i, a) && ((v = !0), (n = io(g, n)), (e = io(y, e)))
-                  }
-                  var b = Lo(n, e),
-                    w = Wr(function (o) {
-                      var i, a
-                      if ('position' === p) {
-                        var u = e[o].max - e[o].min
-                        n[o].max = n[o].min + u
-                      }
-                      if (!h.projection.isTargetLocked)
-                        return void 0 === s
-                          ? b
-                            ? t.animateAxis(
-                                o,
-                                e[o],
-                                n[o],
-                                (0, r.__assign)((0, r.__assign)({}, d), { isRelative: v }),
-                              )
-                            : (null === (a = (i = t.stopAxisAnimation)[o]) ||
-                                void 0 === a ||
-                                a.call(i),
-                              h.setProjectionTargetAxis(o, e[o].min, e[o].max, v))
-                          : void h.setVisibility(s === Co.c.Show)
-                    })
-                  return (
-                    h.syncRender(),
-                    Promise.all(w).then(function () {
-                      ;(t.isAnimatingTree = !1), c && c(), h.notifyLayoutAnimationComplete()
-                    })
-                  )
-                }
-              }),
-              t
-            )
-          }
-          return (
-            (0, r.__extends)(t, e),
-            (t.prototype.componentDidMount = function () {
-              var e = this,
-                t = this.props.visualElement
-              ;(t.animateMotionValue = ar),
-                t.enableLayoutProjection(),
-                (this.unsubLayoutReady = t.onLayoutUpdate(this.animate)),
-                (t.layoutSafeToRemove = function () {
-                  return e.safeToRemove()
-                }),
-                (function (e) {
-                  for (var t in e) L[t] = e[t]
-                })(Ro)
-            }),
-            (t.prototype.componentWillUnmount = function () {
-              var e = this
-              this.unsubLayoutReady(),
-                Wr(function (t) {
-                  var n, r
-                  return null === (r = (n = e.stopAxisAnimation)[t]) || void 0 === r
-                    ? void 0
-                    : r.call(n)
-                })
-            }),
-            (t.prototype.animateAxis = function (e, t, n, r) {
-              var o,
-                i,
-                a = this,
-                s = void 0 === r ? {} : r,
-                u = s.transition,
-                c = s.isRelative
-              if (!this.isAnimating[e] || !Bo(t, this.currentAnimationTarget[e])) {
-                null === (i = (o = this.stopAxisAnimation)[e]) || void 0 === i || i.call(o),
-                  (this.isAnimating[e] = !0)
-                var l = this.props.visualElement,
-                  d = this.frameTarget[e],
-                  f = l.getProjectionAnimationProgress()[e]
-                f.clearListeners(), f.set(0), f.set(0)
-                var h = function () {
-                  var r = f.get() / 1e3
-                  !(function (e, t, n, r) {
-                    ;(e.min = St(t.min, n.min, r)), (e.max = St(t.max, n.max, r))
-                  })(d, n, t, r),
-                    l.setProjectionTargetAxis(e, d.min, d.max, c)
-                }
-                h()
-                var p = f.onChange(h)
-                ;(this.stopAxisAnimation[e] = function () {
-                  ;(a.isAnimating[e] = !1), f.stop(), p()
-                }),
-                  (this.currentAnimationTarget[e] = t)
-                var v = u || l.getDefaultTransition() || Ho
-                return ar('x' === e ? 'layoutX' : 'layoutY', f, 1e3, v && ir(v, 'layout')).then(
-                  this.stopAxisAnimation[e],
-                )
-              }
-            }),
-            (t.prototype.safeToRemove = function () {
-              var e, t
-              null === (t = (e = this.props).safeToRemove) || void 0 === t || t.call(e)
-            }),
-            (t.prototype.render = function () {
-              return null
-            }),
-            t
-          )
-        })(o.Component)
-      function Lo(e, t) {
-        return !zo(e) && !zo(t) && (!Bo(e.x, t.x) || !Bo(e.y, t.y))
-      }
-      var No = { min: 0, max: 0 }
-      function zo(e) {
-        return Bo(e.x, No) && Bo(e.y, No)
-      }
-      function Bo(e, t) {
-        return e.min === t.min && e.max === t.max
-      }
-      var Ho = { duration: 0.45, ease: [0.4, 0, 0.1, 1] }
-      function Fo(e, t, n) {
-        return e || (!e && !(t || n))
-      }
-      var Vo = n(49870),
-        Wo = (function (e) {
-          function t() {
-            return (null !== e && e.apply(this, arguments)) || this
-          }
-          return (
-            (0, r.__extends)(t, e),
-            (t.prototype.componentDidMount = function () {
-              var e = this.props,
-                t = e.syncLayout,
-                n = e.framerSyncLayout,
-                r = e.visualElement
-              ;(0, Vo.Md)(t) && t.register(r),
-                (0, Vo.Md)(n) && n.register(r),
-                r.onUnmount(function () {
-                  ;(0, Vo.Md)(t) && t.remove(r), (0, Vo.Md)(n) && n.remove(r)
-                })
-            }),
-            (t.prototype.getSnapshotBeforeUpdate = function () {
-              var e = this.props,
-                t = e.syncLayout,
-                n = e.visualElement
-              return (0, Vo.Md)(t) ? t.syncUpdate() : ((0, ro.x7)(n), t.add(n)), null
-            }),
-            (t.prototype.componentDidUpdate = function () {
-              var e = this.props.syncLayout
-              ;(0, Vo.Md)(e) || e.flush()
-            }),
-            (t.prototype.render = function () {
-              return null
-            }),
-            t
-          )
-        })(o.Component)
-      var Uo = {
-        measureLayout: function (e) {
-          var t = (0, o.useContext)(Vo.WH),
-            n = (0, o.useContext)(Vo.bg)
-          return o.createElement(Wo, (0, r.__assign)({}, e, { syncLayout: t, framerSyncLayout: n }))
-        },
-        layoutAnimation: function (e) {
-          var t = (0, r.__read)(p(), 2)[1]
-          return o.createElement(Do, (0, r.__assign)({}, e, { safeToRemove: t }))
-        },
-      }
-      function Go() {
-        return {
-          isHydrated: !1,
-          layout: (0, Vr.VZ)(),
-          layoutCorrected: (0, Vr.VZ)(),
-          treeScale: { x: 1, y: 1 },
-          delta: (0, Vr.pY)(),
-          deltaFinal: (0, Vr.pY)(),
-          deltaTransform: '',
-        }
-      }
-      var qo = Go()
-      function Ko(e, t, n) {
-        var r = e.x,
-          o = e.y,
-          i = 'translate3d(' + r.translate / t.x + 'px, ' + o.translate / t.y + 'px, 0) '
-        if (n) {
-          var a = n.rotate,
-            s = n.rotateX,
-            u = n.rotateY
-          a && (i += 'rotate(' + a + ') '),
-            s && (i += 'rotateX(' + s + ') '),
-            u && (i += 'rotateY(' + u + ') ')
-        }
-        return (i += 'scale(' + r.scale + ', ' + o.scale + ')'), n || i !== Xo ? i : ''
-      }
-      function Zo(e) {
-        var t = e.deltaFinal
-        return 100 * t.x.origin + '% ' + 100 * t.y.origin + '% 0'
-      }
-      var Xo = Ko(qo.delta, qo.treeScale, { x: 1, y: 1 }),
-        $o = [
-          'LayoutMeasure',
-          'BeforeLayoutMeasure',
-          'LayoutUpdate',
-          'ViewportBoxUpdate',
-          'Update',
-          'Render',
-          'AnimationComplete',
-          'LayoutAnimationComplete',
-          'AnimationStart',
-          'SetAxisTarget',
-          'Unmount',
-        ]
-      function Yo(e, t, n, r) {
-        var o,
-          i,
-          a = e.delta,
-          s = e.layout,
-          u = e.layoutCorrected,
-          c = e.treeScale,
-          l = t.target
-        ;(i = s),
-          uo((o = u).x, i.x),
-          uo(o.y, i.y),
-          (function (e, t, n) {
-            var r = n.length
-            if (r) {
-              var o, i
-              t.x = t.y = 1
-              for (var a = 0; a < r; a++)
-                (i = (o = n[a]).getLayoutState().delta),
-                  (t.x *= i.x.scale),
-                  (t.y *= i.y.scale),
-                  ho(e, i),
-                  so(o) && go(e, e, o.getLatestValues())
-            }
-          })(u, c, n),
-          eo(a, u, l, r)
-      }
-      var Qo = n(519),
-        Jo = (function () {
-          function e() {
-            ;(this.children = []), (this.isDirty = !1)
-          }
-          return (
-            (e.prototype.add = function (e) {
-              sr(this.children, e), (this.isDirty = !0)
-            }),
-            (e.prototype.remove = function (e) {
-              ur(this.children, e), (this.isDirty = !0)
-            }),
-            (e.prototype.forEach = function (e) {
-              this.isDirty && this.children.sort(Qo._),
-                (this.isDirty = !1),
-                this.children.forEach(e)
-            }),
-            e
-          )
-        })()
-      var ei = function (e) {
-        var t = e.treeType,
-          n = void 0 === t ? '' : t,
-          o = e.build,
-          i = e.getBaseTarget,
-          a = e.makeTargetAnimatable,
-          s = e.measureViewportBox,
-          u = e.render,
-          c = e.readValueFromInstance,
-          l = e.resetTransform,
-          d = e.restoreTransform,
-          f = e.removeValueFromRenderState,
-          h = e.sortNodePosition,
-          p = e.scrapeMotionValuesFromProps
-        return function (e, t) {
-          var v = e.parent,
-            m = e.props,
-            g = e.presenceId,
-            y = e.blockInitialAnimation,
-            b = e.visualState
-          void 0 === t && (t = {})
-          var w,
-            _,
-            x,
-            k,
-            E,
-            T,
-            C = b.latestValues,
-            P = b.renderState,
-            j = (function () {
-              var e = $o.map(function () {
-                  return new cr()
-                }),
-                t = {},
-                n = {
-                  clearAllListeners: function () {
-                    return e.forEach(function (e) {
-                      return e.clear()
-                    })
-                  },
-                  updatePropListeners: function (e) {
-                    return $o.forEach(function (r) {
-                      var o
-                      null === (o = t[r]) || void 0 === o || o.call(t)
-                      var i = 'on' + r,
-                        a = e[i]
-                      a && (t[r] = n[i](a))
-                    })
-                  },
-                }
-              return (
-                e.forEach(function (e, t) {
-                  ;(n['on' + $o[t]] = function (t) {
-                    return e.add(t)
-                  }),
-                    (n['notify' + $o[t]] = function () {
-                      for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
-                      return e.notify.apply(e, (0, r.__spreadArray)([], (0, r.__read)(t)))
-                    })
-                }),
-                n
-              )
-            })(),
-            I = {
-              isEnabled: !1,
-              isHydrated: !1,
-              isTargetLocked: !1,
-              target: (0, Vr.VZ)(),
-              targetFinal: (0, Vr.VZ)(),
-            },
-            A = I,
-            R = C,
-            D = Go(),
-            L = !1,
-            N = new Map(),
-            z = new Map(),
-            B = {},
-            H = (0, r.__assign)({}, C)
-          function F() {
-            w &&
-              (Y.isProjectionReady() &&
-                (go(A.targetFinal, A.target, R),
-                eo(D.deltaFinal, D.layoutCorrected, A.targetFinal, C)),
-              V(),
-              u(w, P))
-          }
-          function V() {
-            var e = C
-            if (k && k.isActive()) {
-              var n = k.getCrossfadeState(Y)
-              n && (e = n)
-            }
-            o(Y, P, e, A, D, t, m)
-          }
-          function W() {
-            j.notifyUpdate(C)
-          }
-          function U() {
-            Y.layoutTree.forEach(ni)
-          }
-          var q = p(m)
-          for (var K in q) {
-            var Z = q[K]
-            void 0 !== C[K] && G(Z) && Z.set(C[K], !1)
-          }
-          var X = M(m),
-            $ = S(m),
-            Y = (0, r.__assign)(
-              (0, r.__assign)(
-                {
-                  treeType: n,
-                  current: null,
-                  depth: v ? v.depth + 1 : 0,
-                  parent: v,
-                  children: new Set(),
-                  path: v
-                    ? (0, r.__spreadArray)((0, r.__spreadArray)([], (0, r.__read)(v.path)), [v])
-                    : [],
-                  layoutTree: v ? v.layoutTree : new Jo(),
-                  presenceId: g,
-                  projection: I,
-                  variantChildren: $ ? new Set() : void 0,
-                  isVisible: void 0,
-                  manuallyAnimateOnMount: Boolean(
-                    null === v || void 0 === v ? void 0 : v.isMounted(),
-                  ),
-                  blockInitialAnimation: y,
-                  isMounted: function () {
-                    return Boolean(w)
-                  },
-                  mount: function (e) {
-                    ;(w = Y.current = e),
-                      Y.pointTo(Y),
-                      $ &&
-                        v &&
-                        !X &&
-                        (T = null === v || void 0 === v ? void 0 : v.addVariantChild(Y)),
-                      null === v || void 0 === v || v.children.add(Y)
-                  },
-                  unmount: function () {
-                    Tn.qY.update(W),
-                      Tn.qY.render(F),
-                      Tn.qY.preRender(Y.updateLayoutProjection),
-                      z.forEach(function (e) {
-                        return e()
-                      }),
-                      Y.stopLayoutAnimation(),
-                      Y.layoutTree.remove(Y),
-                      null === T || void 0 === T || T(),
-                      null === v || void 0 === v || v.children.delete(Y),
-                      null === x || void 0 === x || x(),
-                      j.clearAllListeners()
-                  },
-                  addVariantChild: function (e) {
-                    var t,
-                      n = Y.getClosestVariantNode()
-                    if (n)
-                      return (
-                        null === (t = n.variantChildren) || void 0 === t || t.add(e),
-                        function () {
-                          return n.variantChildren.delete(e)
-                        }
-                      )
-                  },
-                  sortNodePosition: function (e) {
-                    return h && n === e.treeType ? h(Y.getInstance(), e.getInstance()) : 0
-                  },
-                  getClosestVariantNode: function () {
-                    return $ ? Y : null === v || void 0 === v ? void 0 : v.getClosestVariantNode()
-                  },
-                  scheduleUpdateLayoutProjection: v
-                    ? v.scheduleUpdateLayoutProjection
-                    : function () {
-                        return Tn.ZP.preRender(Y.updateTreeLayoutProjection, !1, !0)
-                      },
-                  getLayoutId: function () {
-                    return m.layoutId
-                  },
-                  getInstance: function () {
-                    return w
-                  },
-                  getStaticValue: function (e) {
-                    return C[e]
-                  },
-                  setStaticValue: function (e, t) {
-                    return (C[e] = t)
-                  },
-                  getLatestValues: function () {
-                    return C
-                  },
-                  setVisibility: function (e) {
-                    Y.isVisible !== e && ((Y.isVisible = e), Y.scheduleRender())
-                  },
-                  makeTargetAnimatable: function (e, t) {
-                    return void 0 === t && (t = !0), a(Y, e, m, t)
-                  },
-                  addValue: function (e, t) {
-                    Y.hasValue(e) && Y.removeValue(e),
-                      N.set(e, t),
-                      (C[e] = t.get()),
-                      (function (e, t) {
-                        var n = t.onChange(function (t) {
-                            ;(C[e] = t), m.onUpdate && Tn.ZP.update(W, !1, !0)
-                          }),
-                          r = t.onRenderRequest(Y.scheduleRender)
-                        z.set(e, function () {
-                          n(), r()
-                        })
-                      })(e, t)
-                  },
-                  removeValue: function (e) {
-                    var t
-                    N.delete(e),
-                      null === (t = z.get(e)) || void 0 === t || t(),
-                      z.delete(e),
-                      delete C[e],
-                      f(e, P)
-                  },
-                  hasValue: function (e) {
-                    return N.has(e)
-                  },
-                  getValue: function (e, t) {
-                    var n = N.get(e)
-                    return void 0 === n && void 0 !== t && ((n = dr(t)), Y.addValue(e, n)), n
-                  },
-                  forEachValue: function (e) {
-                    return N.forEach(e)
-                  },
-                  readValue: function (e) {
-                    var n
-                    return null !== (n = C[e]) && void 0 !== n ? n : c(w, e, t)
-                  },
-                  setBaseTarget: function (e, t) {
-                    H[e] = t
-                  },
-                  getBaseTarget: function (e) {
-                    if (i) {
-                      var t = i(m, e)
-                      if (void 0 !== t && !G(t)) return t
-                    }
-                    return H[e]
-                  },
-                },
-                j,
-              ),
-              {
-                build: function () {
-                  return V(), P
-                },
-                scheduleRender: function () {
-                  Tn.ZP.render(F, !1, !0)
-                },
-                syncRender: F,
-                setProps: function (e) {
-                  ;(m = e),
-                    j.updatePropListeners(e),
-                    (B = (function (e, t, n) {
-                      var r
-                      for (var o in t) {
-                        var i = t[o],
-                          a = n[o]
-                        if (G(i)) e.addValue(o, i)
-                        else if (G(a)) e.addValue(o, dr(i))
-                        else if (a !== i)
-                          if (e.hasValue(o)) {
-                            var s = e.getValue(o)
-                            !s.hasAnimated && s.set(i)
-                          } else
-                            e.addValue(
-                              o,
-                              dr(null !== (r = e.getStaticValue(o)) && void 0 !== r ? r : i),
-                            )
-                      }
-                      for (var o in n) void 0 === t[o] && e.removeValue(o)
-                      return t
-                    })(Y, p(m), B))
-                },
-                getProps: function () {
-                  return m
-                },
-                getVariant: function (e) {
-                  var t
-                  return null === (t = m.variants) || void 0 === t ? void 0 : t[e]
-                },
-                getDefaultTransition: function () {
-                  return m.transition
-                },
-                getVariantContext: function (e) {
-                  if ((void 0 === e && (e = !1), e))
-                    return null === v || void 0 === v ? void 0 : v.getVariantContext()
-                  if (!X) {
-                    var t = (null === v || void 0 === v ? void 0 : v.getVariantContext()) || {}
-                    return void 0 !== m.initial && (t.initial = m.initial), t
-                  }
-                  for (var n = {}, r = 0; r < ii; r++) {
-                    var o = oi[r],
-                      i = m[o]
-                    ;(O(i) || !1 === i) && (n[o] = i)
-                  }
-                  return n
-                },
-                enableLayoutProjection: function () {
-                  ;(I.isEnabled = !0), Y.layoutTree.add(Y)
-                },
-                lockProjectionTarget: function () {
-                  I.isTargetLocked = !0
-                },
-                unlockProjectionTarget: function () {
-                  Y.stopLayoutAnimation(), (I.isTargetLocked = !1)
-                },
-                getLayoutState: function () {
-                  return D
-                },
-                setCrossfader: function (e) {
-                  k = e
-                },
-                isProjectionReady: function () {
-                  return I.isEnabled && I.isHydrated && D.isHydrated
-                },
-                startLayoutAnimation: function (e, t, n) {
-                  void 0 === n && (n = !1)
-                  var r = Y.getProjectionAnimationProgress()[e],
-                    o = n ? I.relativeTarget[e] : I.target[e],
-                    i = o.min,
-                    a = o.max - i
-                  return (
-                    r.clearListeners(),
-                    r.set(i),
-                    r.set(i),
-                    r.onChange(function (t) {
-                      Y.setProjectionTargetAxis(e, t, t + a, n)
-                    }),
-                    Y.animateMotionValue(e, r, 0, t)
-                  )
-                },
-                stopLayoutAnimation: function () {
-                  Wr(function (e) {
-                    return Y.getProjectionAnimationProgress()[e].stop()
-                  })
-                },
-                measureViewportBox: function (e) {
-                  void 0 === e && (e = !0)
-                  var n = s(w, t)
-                  return e || wo(n, C), n
-                },
-                getProjectionAnimationProgress: function () {
-                  return E || (E = { x: dr(0), y: dr(0) }), E
-                },
-                setProjectionTargetAxis: function (e, t, n, r) {
-                  var o
-                  void 0 === r && (r = !1),
-                    r
-                      ? (I.relativeTarget || (I.relativeTarget = (0, Vr.VZ)()),
-                        (o = I.relativeTarget[e]))
-                      : ((I.relativeTarget = void 0), (o = I.target[e])),
-                    (I.isHydrated = !0),
-                    (o.min = t),
-                    (o.max = n),
-                    (L = !0),
-                    j.notifySetAxisTarget()
-                },
-                rebaseProjectionTarget: function (e, t) {
-                  void 0 === t && (t = D.layout)
-                  var n = Y.getProjectionAnimationProgress(),
-                    r = n.x,
-                    o = n.y,
-                    i =
-                      !I.relativeTarget && !I.isTargetLocked && !r.isAnimating() && !o.isAnimating()
-                  ;(e || i) &&
-                    Wr(function (e) {
-                      var n = t[e],
-                        r = n.min,
-                        o = n.max
-                      Y.setProjectionTargetAxis(e, r, o)
-                    })
-                },
-                notifyLayoutReady: function (e) {
-                  !(function (e) {
-                    var t = e.getProjectionParent()
-                    if (t) {
-                      var n = io(t.getLayoutState().layout, e.getLayoutState().layout)
-                      Wr(function (t) {
-                        e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0)
-                      })
-                    } else e.rebaseProjectionTarget()
-                  })(Y),
-                    Y.notifyLayoutUpdate(D.layout, Y.prevViewportBox || D.layout, e)
-                },
-                resetTransform: function () {
-                  return l(Y, w, m)
-                },
-                restoreTransform: function () {
-                  return d(w, P)
-                },
-                updateLayoutProjection: function () {
-                  if (Y.isProjectionReady()) {
-                    var e = D.delta,
-                      t = D.treeScale,
-                      n = t.x,
-                      r = t.y,
-                      o = D.deltaTransform
-                    Yo(D, A, Y.path, C), L && Y.notifyViewportBoxUpdate(A.target, e), (L = !1)
-                    var i = Ko(e, t)
-                    ;(i === o && n === t.x && r === t.y) || Y.scheduleRender(),
-                      (D.deltaTransform = i)
-                  }
-                },
-                updateTreeLayoutProjection: function () {
-                  Y.layoutTree.forEach(ti), Tn.ZP.preRender(U, !1, !0)
-                },
-                getProjectionParent: function () {
-                  if (void 0 === _) {
-                    for (var e = !1, t = Y.path.length - 1; t >= 0; t--) {
-                      var n = Y.path[t]
-                      if (n.projection.isEnabled) {
-                        e = n
-                        break
-                      }
-                    }
-                    _ = e
-                  }
-                  return _
-                },
-                resolveRelativeTargetBox: function () {
-                  var e = Y.getProjectionParent()
-                  if (
-                    I.relativeTarget &&
-                    e &&
-                    ((function (e, t) {
-                      no(e.target.x, e.relativeTarget.x, t.target.x),
-                        no(e.target.y, e.relativeTarget.y, t.target.y)
-                    })(I, e.projection),
-                    so(e))
-                  ) {
-                    var t = I.target
-                    go(t, t, e.getLatestValues())
-                  }
-                },
-                shouldResetTransform: function () {
-                  return Boolean(m._layoutResetTransform)
-                },
-                pointTo: function (e) {
-                  ;(A = e.projection),
-                    (R = e.getLatestValues()),
-                    null === x || void 0 === x || x(),
-                    (x = vt(
-                      e.onSetAxisTarget(Y.scheduleUpdateLayoutProjection),
-                      e.onLayoutAnimationComplete(function () {
-                        var e
-                        Y.isPresent
-                          ? (Y.presence = Co.z.Present)
-                          : null === (e = Y.layoutSafeToRemove) || void 0 === e || e.call(Y)
-                      }),
-                    ))
-                },
-                isPresent: !0,
-                presence: Co.z.Entering,
-              },
-            )
-          return Y
-        }
-      }
-      function ti(e) {
-        e.resolveRelativeTargetBox()
-      }
-      function ni(e) {
-        e.updateLayoutProjection()
-      }
-      var ri,
-        oi = (0, r.__spreadArray)(['initial'], (0, r.__read)(Er)),
-        ii = oi.length,
-        ai = new Set(['width', 'height', 'top', 'left', 'right', 'bottom', 'x', 'y']),
-        si = function (e) {
-          return ai.has(e)
-        },
-        ui = function (e, t) {
-          e.set(t, !1), e.set(t)
-        },
-        ci = function (e) {
-          return e === ue || e === oe
-        }
-      !(function (e) {
-        ;(e.width = 'width'),
-          (e.height = 'height'),
-          (e.left = 'left'),
-          (e.right = 'right'),
-          (e.top = 'top'),
-          (e.bottom = 'bottom')
-      })(ri || (ri = {}))
-      var li = function (e, t) {
-          return parseFloat(e.split(', ')[t])
-        },
-        di = function (e, t) {
-          return function (n, r) {
-            var o = r.transform
-            if ('none' === o || !o) return 0
-            var i = o.match(/^matrix3d\((.+)\)$/)
-            if (i) return li(i[1], t)
-            var a = o.match(/^matrix\((.+)\)$/)
-            return a ? li(a[1], e) : 0
-          }
-        },
-        fi = new Set(['x', 'y', 'z']),
-        hi = z.filter(function (e) {
-          return !fi.has(e)
-        })
-      var pi = {
-          width: function (e) {
-            var t = e.x
-            return t.max - t.min
-          },
-          height: function (e) {
-            var t = e.y
-            return t.max - t.min
-          },
-          top: function (e, t) {
-            var n = t.top
-            return parseFloat(n)
-          },
-          left: function (e, t) {
-            var n = t.left
-            return parseFloat(n)
-          },
-          bottom: function (e, t) {
-            var n = e.y,
-              r = t.top
-            return parseFloat(r) + (n.max - n.min)
-          },
-          right: function (e, t) {
-            var n = e.x,
-              r = t.left
-            return parseFloat(r) + (n.max - n.min)
-          },
-          x: di(4, 13),
-          y: di(5, 14),
-        },
-        vi = function (e, t, n, o) {
-          void 0 === n && (n = {}),
-            void 0 === o && (o = {}),
-            (t = (0, r.__assign)({}, t)),
-            (o = (0, r.__assign)({}, o))
-          var i = Object.keys(t).filter(si),
-            a = [],
-            s = !1,
-            u = []
-          if (
-            (i.forEach(function (r) {
-              var i = e.getValue(r)
-              if (e.hasValue(r)) {
-                var c,
-                  l = n[r],
-                  d = t[r],
-                  f = pr(l)
-                if (ze(d))
-                  for (var h = d.length, p = null === d[0] ? 1 : 0; p < h; p++)
-                    c ? pr(d[p]) : (c = pr(d[p])) === f || (ci(f) && ci(c))
-                else c = pr(d)
-                if (f !== c)
-                  if (ci(f) && ci(c)) {
-                    var v = i.get()
-                    'string' === typeof v && i.set(parseFloat(v)),
-                      'string' === typeof d
-                        ? (t[r] = parseFloat(d))
-                        : Array.isArray(d) && c === oe && (t[r] = d.map(parseFloat))
-                  } else
-                    (null === f || void 0 === f ? void 0 : f.transform) &&
-                    (null === c || void 0 === c ? void 0 : c.transform) &&
-                    (0 === l || 0 === d)
-                      ? 0 === l
-                        ? i.set(c.transform(l))
-                        : (t[r] = f.transform(d))
-                      : (s ||
-                          ((a = (function (e) {
-                            var t = []
-                            return (
-                              hi.forEach(function (n) {
-                                var r = e.getValue(n)
-                                void 0 !== r &&
-                                  (t.push([n, r.get()]), r.set(n.startsWith('scale') ? 1 : 0))
-                              }),
-                              t.length && e.syncRender(),
-                              t
-                            )
-                          })(e)),
-                          (s = !0)),
-                        u.push(r),
-                        (o[r] = void 0 !== o[r] ? o[r] : t[r]),
-                        ui(i, d))
-              }
-            }),
-            u.length)
-          ) {
-            var c = (function (e, t, n) {
-              var r = t.measureViewportBox(),
-                o = t.getInstance(),
-                i = getComputedStyle(o),
-                a = i.display,
-                s = {
-                  top: i.top,
-                  left: i.left,
-                  bottom: i.bottom,
-                  right: i.right,
-                  transform: i.transform,
-                }
-              'none' === a && t.setStaticValue('display', e.display || 'block'), t.syncRender()
-              var u = t.measureViewportBox()
-              return (
-                n.forEach(function (n) {
-                  var o = t.getValue(n)
-                  ui(o, pi[n](r, s)), (e[n] = pi[n](u, i))
-                }),
-                e
-              )
-            })(t, e, u)
-            return (
-              a.length &&
-                a.forEach(function (t) {
-                  var n = (0, r.__read)(t, 2),
-                    o = n[0],
-                    i = n[1]
-                  e.getValue(o).set(i)
-                }),
-              e.syncRender(),
-              { target: c, transitionEnd: o }
-            )
-          }
-          return { target: t, transitionEnd: o }
-        }
-      function mi(e, t, n, r) {
-        return (function (e) {
-          return Object.keys(e).some(si)
-        })(t)
-          ? vi(e, t, n, r)
-          : { target: t, transitionEnd: r }
-      }
-      var gi = function (e, t, n, o) {
-        var i = (function (e, t, n) {
-          var o,
-            i = (0, r.__rest)(t, []),
-            a = e.getInstance()
-          if (!(a instanceof HTMLElement)) return { target: i, transitionEnd: n }
-          for (var s in (n && (n = (0, r.__assign)({}, n)),
-          e.forEachValue(function (e) {
-            var t = e.get()
-            if (Mo(t)) {
-              var n = Po(t, a)
-              n && e.set(n)
-            }
-          }),
-          i)) {
-            var u = i[s]
-            if (Mo(u)) {
-              var c = Po(u, a)
-              c && ((i[s] = c), n && ((null !== (o = n[s]) && void 0 !== o) || (n[s] = u)))
-            }
-          }
-          return { target: i, transitionEnd: n }
-        })(e, t, o)
-        return mi(e, (t = i.target), n, (o = i.transitionEnd))
-      }
-      var yi = {
-          treeType: 'dom',
-          readValueFromInstance: function (e, t) {
-            if (F(t)) {
-              var n = Qn(t)
-              return (n && n.default) || 0
-            }
-            var r,
-              o = ((r = e), window.getComputedStyle(r))
-            return (K(t) ? o.getPropertyValue(t) : o[t]) || 0
-          },
-          sortNodePosition: function (e, t) {
-            return 2 & e.compareDocumentPosition(t) ? 1 : -1
-          },
-          getBaseTarget: function (e, t) {
-            var n
-            return null === (n = e.style) || void 0 === n ? void 0 : n[t]
-          },
-          measureViewportBox: function (e, t) {
-            return Xr(e, t.transformPagePoint)
-          },
-          resetTransform: function (e, t, n) {
-            var r = n.transformTemplate
-            ;(t.style.transform = r ? r({}, '') : 'none'), e.scheduleRender()
-          },
-          restoreTransform: function (e, t) {
-            e.style.transform = t.style.transform
-          },
-          removeValueFromRenderState: function (e, t) {
-            var n = t.vars,
-              r = t.style
-            delete n[e], delete r[e]
-          },
-          makeTargetAnimatable: function (e, t, n, o) {
-            var i = n.transformValues
-            void 0 === o && (o = !0)
-            var a = t.transition,
-              s = t.transitionEnd,
-              u = (0, r.__rest)(t, ['transition', 'transitionEnd']),
-              c = (function (e, t, n) {
-                var r,
-                  o,
-                  i = {}
-                for (var a in e)
-                  i[a] =
-                    null !== (r = br(a, t)) && void 0 !== r
-                      ? r
-                      : null === (o = n.getValue(a)) || void 0 === o
-                      ? void 0
-                      : o.get()
-                return i
-              })(u, a || {}, e)
-            if ((i && (s && (s = i(s)), u && (u = i(u)), c && (c = i(c))), o)) {
-              !(function (e, t, n) {
-                var r,
-                  o,
-                  i,
-                  a,
-                  s = Object.keys(t).filter(function (t) {
-                    return !e.hasValue(t)
-                  }),
-                  u = s.length
-                if (u)
-                  for (var c = 0; c < u; c++) {
-                    var l = s[c],
-                      d = t[l],
-                      f = null
-                    Array.isArray(d) && (f = d[0]),
-                      null === f &&
-                        (f =
-                          null !== (o = null !== (r = n[l]) && void 0 !== r ? r : e.readValue(l)) &&
-                          void 0 !== o
-                            ? o
-                            : t[l]),
-                      void 0 !== f &&
-                        null !== f &&
-                        ('string' === typeof f && /^\-?\d*\.?\d+$/.test(f)
-                          ? (f = parseFloat(f))
-                          : !mr(f) && Xt.test(d) && (f = Jn(l, d)),
-                        e.addValue(l, dr(f)),
-                        (null !== (i = (a = n)[l]) && void 0 !== i) || (a[l] = f),
-                        e.setBaseTarget(l, f))
-                  }
-              })(e, u, c)
-              var l = gi(e, u, c, s)
-              ;(s = l.transitionEnd), (u = l.target)
-            }
-            return (0, r.__assign)({ transition: a, transitionEnd: s }, u)
-          },
-          scrapeMotionValuesFromProps: De,
-          build: function (e, t, n, r, o, i, a) {
-            void 0 !== e.isVisible && (t.style.visibility = e.isVisible ? 'visible' : 'hidden')
-            var s = r.isEnabled && o.isHydrated
-            he(t, n, r, o, i, a.transformTemplate, s ? Ko : void 0, s ? Zo : void 0)
-          },
-          render: Ie,
-        },
-        bi = ei(yi),
-        wi = ei(
-          (0, r.__assign)((0, r.__assign)({}, yi), {
-            getBaseTarget: function (e, t) {
-              return e[t]
-            },
-            readValueFromInstance: function (e, t) {
-              var n
-              return F(t)
-                ? (null === (n = Qn(t)) || void 0 === n ? void 0 : n.default) || 0
-                : ((t = Ae.has(t) ? t : je(t)), e.getAttribute(t))
-            },
-            scrapeMotionValuesFromProps: Le,
-            build: function (e, t, n, r, o, i, a) {
-              var s = r.isEnabled && o.isHydrated
-              Te(t, n, r, o, i, a.transformTemplate, s ? Ko : void 0, s ? Zo : void 0)
-            },
-            render: Re,
-          }),
-        ),
-        _i = function (e, t) {
-          return D(e)
-            ? wi(t, { enableHardwareAcceleration: !1 })
-            : bi(t, { enableHardwareAcceleration: !0 })
-        },
-        xi = (0, r.__assign)((0, r.__assign)((0, r.__assign)((0, r.__assign)({}, Pr), gt), To), Uo),
-        ki = A(function (e, t) {
-          return (function (e, t, n, o) {
-            var i = t.forwardMotionProps,
-              a = void 0 !== i && i,
-              s = D(e) ? We : Ge
-            return (0,
-            r.__assign)((0, r.__assign)({}, s), { preloadedFeatures: n, useRender: Se(a), createVisualElement: o, Component: e })
-          })(e, t, xi, _i)
-        })
-    },
-    58839: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        kv: function () {
-          return s
-        },
-        e3: function () {
-          return u
-        },
-        x7: function () {
-          return l
-        },
-        de: function () {
-          return c
-        },
-      })
-      var r = n(9839),
-        o = n(93327),
-        i = n(519)
-      function a(e) {
-        return e.projection.isEnabled || e.shouldResetTransform()
-      }
-      function s(e, t) {
-        void 0 === t && (t = [])
-        var n = e.parent
-        return n && s(n, t), a(e) && t.push(e), t
-      }
-      function u(e) {
-        var t = [],
-          n = function (e) {
-            a(e) && t.push(e), e.children.forEach(n)
-          }
-        return e.children.forEach(n), t.sort(i._)
-      }
-      function c(e) {
-        if (!e.shouldResetTransform()) {
-          var t = e.getLayoutState()
-          e.notifyBeforeLayoutMeasure(t.layout),
-            (t.isHydrated = !0),
-            (t.layout = e.measureViewportBox()),
-            (t.layoutCorrected = (0, o.nP)(t.layout)),
-            e.notifyLayoutMeasure(t.layout, e.prevViewportBox || t.layout),
-            r.ZP.update(function () {
-              return e.rebaseProjectionTarget()
-            })
-        }
-      }
-      function l(e) {
-        e.shouldResetTransform() ||
-          ((e.prevViewportBox = e.measureViewportBox(!1)),
-          e.rebaseProjectionTarget(!1, e.prevViewportBox))
-      }
-    },
-    27565: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        U: function () {
-          return i
-        },
-        R: function () {
-          return a
-        },
-      })
-      var r = new Set()
-      function o(e, t, n) {
-        e[n] || (e[n] = []), e[n].push(t)
-      }
-      function i(e) {
-        return (
-          r.add(e),
-          function () {
-            return r.delete(e)
-          }
-        )
-      }
-      function a() {
-        if (r.size) {
-          var e = 0,
-            t = [[]],
-            n = [],
-            i = function (n) {
-              return o(t, n, e)
-            },
-            a = function (t) {
-              o(n, t, e), e++
-            }
-          r.forEach(function (t) {
-            t(i, a), (e = 0)
-          }),
-            r.clear()
-          for (var u = n.length, c = 0; c <= u; c++)
-            t[c] && t[c].forEach(s), n[c] && n[c].forEach(s)
-        }
-      }
-      var s = function (e) {
-        return e()
-      }
-    },
-    519: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        _: function () {
-          return r
-        },
-      })
-      var r = function (e, t) {
-        return e.depth - t.depth
-      }
-    },
-    93327: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        VZ: function () {
-          return u
-        },
-        _6: function () {
-          return a
-        },
-        RX: function () {
-          return i
-        },
-        nP: function () {
-          return c
-        },
-        pY: function () {
-          return d
-        },
-        dV: function () {
-          return s
-        },
-      })
-      var r = n(70655)
-      function o(e) {
-        return e
-      }
-      function i(e) {
-        var t = e.top
-        return { x: { min: e.left, max: e.right }, y: { min: t, max: e.bottom } }
-      }
-      function a(e) {
-        var t = e.x,
-          n = e.y
-        return { top: n.min, bottom: n.max, left: t.min, right: t.max }
-      }
-      function s(e, t) {
-        var n = e.top,
-          r = e.left,
-          i = e.bottom,
-          a = e.right
-        void 0 === t && (t = o)
-        var s = t({ x: r, y: n }),
-          u = t({ x: a, y: i })
-        return { top: s.y, left: s.x, bottom: u.y, right: u.x }
-      }
-      function u() {
-        return { x: { min: 0, max: 1 }, y: { min: 0, max: 1 } }
-      }
-      function c(e) {
-        return { x: (0, r.__assign)({}, e.x), y: (0, r.__assign)({}, e.y) }
-      }
-      var l = { translate: 0, scale: 1, origin: 0, originPoint: 0 }
-      function d() {
-        return { x: (0, r.__assign)({}, l), y: (0, r.__assign)({}, l) }
-      }
-    },
-    45930: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        h: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e) {
-        var t = (0, r.useRef)(null)
-        return null === t.current && (t.current = e()), t.current
-      }
-    },
-    6717: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        z: function () {
-          return o
-        },
-      })
-      var r = n(67294)
-      function o(e) {
-        return (0, r.useEffect)(function () {
-          return function () {
-            return e()
-          }
-        }, [])
-      }
-    },
-    9839: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        qY: function () {
-          return h
-        },
-        ZP: function () {
-          return b
-        },
-        iW: function () {
-          return p
-        },
-        $B: function () {
-          return y
-        },
-      })
-      var r = (1 / 60) * 1e3,
-        o =
-          'undefined' !== typeof performance
-            ? function () {
-                return performance.now()
-              }
-            : function () {
-                return Date.now()
-              },
-        i =
-          'undefined' !== typeof window
-            ? function (e) {
-                return window.requestAnimationFrame(e)
-              }
-            : function (e) {
-                return setTimeout(function () {
-                  return e(o())
-                }, r)
-              }
-      var a = !0,
-        s = !1,
-        u = !1,
-        c = { delta: 0, timestamp: 0 },
-        l = ['read', 'update', 'preRender', 'render', 'postRender'],
-        d = l.reduce(function (e, t) {
-          return (
-            (e[t] = (function (e) {
-              var t = [],
-                n = [],
-                r = 0,
-                o = !1,
-                i = new WeakSet(),
-                a = {
-                  schedule: function (e, a, s) {
-                    void 0 === a && (a = !1), void 0 === s && (s = !1)
-                    var u = s && o,
-                      c = u ? t : n
-                    return (
-                      a && i.add(e), -1 === c.indexOf(e) && (c.push(e), u && o && (r = t.length)), e
-                    )
-                  },
-                  cancel: function (e) {
-                    var t = n.indexOf(e)
-                    ;-1 !== t && n.splice(t, 1), i.delete(e)
-                  },
-                  process: function (s) {
-                    var u
-                    if (((o = !0), (t = (u = [n, t])[0]), ((n = u[1]).length = 0), (r = t.length)))
-                      for (var c = 0; c < r; c++) {
-                        var l = t[c]
-                        l(s), i.has(l) && (a.schedule(l), e())
-                      }
-                    o = !1
-                  },
-                }
-              return a
-            })(function () {
-              return (s = !0)
-            })),
-            e
-          )
-        }, {}),
-        f = l.reduce(function (e, t) {
-          var n = d[t]
-          return (
-            (e[t] = function (e, t, r) {
-              return (
-                void 0 === t && (t = !1), void 0 === r && (r = !1), s || g(), n.schedule(e, t, r)
-              )
-            }),
-            e
-          )
-        }, {}),
-        h = l.reduce(function (e, t) {
-          return (e[t] = d[t].cancel), e
-        }, {}),
-        p = l.reduce(function (e, t) {
-          return (
-            (e[t] = function () {
-              return d[t].process(c)
-            }),
-            e
-          )
-        }, {}),
-        v = function (e) {
-          return d[e].process(c)
-        },
-        m = function (e) {
-          ;(s = !1),
-            (c.delta = a ? r : Math.max(Math.min(e - c.timestamp, 40), 1)),
-            (c.timestamp = e),
-            (u = !0),
-            l.forEach(v),
-            (u = !1),
-            s && ((a = !1), i(m))
-        },
-        g = function () {
-          ;(s = !0), (a = !0), u || i(m)
-        },
-        y = function () {
-          return c
-        },
-        b = f
-    },
-    84839: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      var n = (1 / 60) * 1e3,
-        r =
-          'undefined' !== typeof performance
-            ? function () {
-                return performance.now()
-              }
-            : function () {
-                return Date.now()
-              },
-        o =
-          'undefined' !== typeof window
-            ? function (e) {
-                return window.requestAnimationFrame(e)
-              }
-            : function (e) {
-                return setTimeout(function () {
-                  return e(r())
-                }, n)
-              }
-      var i = !0,
-        a = !1,
-        s = !1,
-        u = { delta: 0, timestamp: 0 },
-        c = ['read', 'update', 'preRender', 'render', 'postRender'],
-        l = c.reduce(function (e, t) {
-          return (
-            (e[t] = (function (e) {
-              var t = [],
-                n = [],
-                r = 0,
-                o = !1,
-                i = new WeakSet(),
-                a = {
-                  schedule: function (e, a, s) {
-                    void 0 === a && (a = !1), void 0 === s && (s = !1)
-                    var u = s && o,
-                      c = u ? t : n
-                    return (
-                      a && i.add(e), -1 === c.indexOf(e) && (c.push(e), u && o && (r = t.length)), e
-                    )
-                  },
-                  cancel: function (e) {
-                    var t = n.indexOf(e)
-                    ;-1 !== t && n.splice(t, 1), i.delete(e)
-                  },
-                  process: function (s) {
-                    var u
-                    if (((o = !0), (t = (u = [n, t])[0]), ((n = u[1]).length = 0), (r = t.length)))
-                      for (var c = 0; c < r; c++) {
-                        var l = t[c]
-                        l(s), i.has(l) && (a.schedule(l), e())
-                      }
-                    o = !1
-                  },
-                }
-              return a
-            })(function () {
-              return (a = !0)
-            })),
-            e
-          )
-        }, {}),
-        d = c.reduce(function (e, t) {
-          var n = l[t]
-          return (
-            (e[t] = function (e, t, r) {
-              return (
-                void 0 === t && (t = !1), void 0 === r && (r = !1), a || m(), n.schedule(e, t, r)
-              )
-            }),
-            e
-          )
-        }, {}),
-        f = c.reduce(function (e, t) {
-          return (e[t] = l[t].cancel), e
-        }, {}),
-        h = c.reduce(function (e, t) {
-          return (
-            (e[t] = function () {
-              return l[t].process(u)
-            }),
-            e
-          )
-        }, {}),
-        p = function (e) {
-          return l[e].process(u)
-        },
-        v = function (e) {
-          ;(a = !1),
-            (u.delta = i ? n : Math.max(Math.min(e - u.timestamp, 40), 1)),
-            (u.timestamp = e),
-            (s = !0),
-            c.forEach(p),
-            (s = !1),
-            a && ((i = !1), o(v))
-        },
-        m = function () {
-          ;(a = !0), (i = !0), s || o(v)
-        }
-      ;(t.cancelSync = f),
-        (t.default = d),
-        (t.flushSync = h),
-        (t.getFrameData = function () {
-          return u
-        })
-    },
-    23405: function (e) {
-      e.exports = function (e) {
-        return [...e].reduce((e, [t, n]) => ((e[t] = n), e), {})
-      }
-    },
-    1527: function (e, t) {
-      'use strict'
-      function n(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, t)
-        if (Object.getOwnPropertySymbols) {
-          var i = Object.getOwnPropertySymbols(e)
-          for (r = 0; r < i.length; r++)
-            (n = i[r]),
-              t.indexOf(n) >= 0 ||
-                (Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]))
-        }
-        return o
-      }
-      function r(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          i(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function o(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return a(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          i(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function i(e, t) {
-        if (e) {
-          if ('string' === typeof e) return a(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? a(e, t)
-              : void 0
-          )
-        }
-      }
-      function a(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function s(e) {
-        var t = (function (e, t) {
-          if ('object' !== typeof e || null === e) return e
-          var n = e[Symbol.toPrimitive]
-          if (void 0 !== n) {
-            var r = n.call(e, t || 'default')
-            if ('object' !== typeof r) return r
-            throw new TypeError('@@toPrimitive must return a primitive value.')
-          }
-          return ('string' === t ? String : Number)(e)
-        })(e, 'string')
-        return 'symbol' === typeof t ? t : String(t)
-      }
-      t.Z = function () {
-        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
-          t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
-          i = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2],
-          a = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
-          u = (t instanceof Array ? (t.length ? t : [void 0]) : [t]).map(function (e) {
-            return { keyAccessor: e, isProp: !(e instanceof Function) }
-          }),
-          c = e.reduce(function (e, t) {
-            var r = e,
-              o = t
-            return (
-              u.forEach(function (e, t) {
-                var a,
-                  c = e.keyAccessor
-                if (e.isProp) {
-                  var l = o,
-                    d = l[c],
-                    f = n(l, [c].map(s))
-                  ;(a = d), (o = f)
-                } else a = c(o, t)
-                t + 1 < u.length
-                  ? (r.hasOwnProperty(a) || (r[a] = {}), (r = r[a]))
-                  : i
-                  ? (r.hasOwnProperty(a) || (r[a] = []), r[a].push(o))
-                  : (r[a] = o)
-              }),
-              e
-            )
-          }, {})
-        i instanceof Function &&
-          (function e(t) {
-            var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1
-            n === u.length
-              ? Object.keys(t).forEach(function (e) {
-                  return (t[e] = i(t[e]))
-                })
-              : Object.values(t).forEach(function (t) {
-                  return e(t, n + 1)
-                })
-          })(c)
-        var l = c
-        return (
-          a &&
-            ((l = []),
-            (function e(t) {
-              var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []
-              n.length === u.length
-                ? l.push({ keys: n, vals: t })
-                : Object.entries(t).forEach(function (t) {
-                    var i = r(t, 2),
-                      a = i[0],
-                      s = i[1]
-                    return e(s, [].concat(o(n), [a]))
-                  })
-            })(c),
-            t instanceof Array && 0 === t.length && 1 === l.length && (l[0].keys = [])),
-          l
-        )
-      }
-    },
-    36808: function (e, t, n) {
-      var r, o
-      !(function (i) {
-        if (
-          (void 0 === (o = 'function' === typeof (r = i) ? r.call(t, n, t, e) : r) ||
-            (e.exports = o),
-          !0,
-          (e.exports = i()),
-          !!0)
-        ) {
-          var a = window.Cookies,
-            s = (window.Cookies = i())
-          s.noConflict = function () {
-            return (window.Cookies = a), s
-          }
-        }
-      })(function () {
-        function e() {
-          for (var e = 0, t = {}; e < arguments.length; e++) {
-            var n = arguments[e]
-            for (var r in n) t[r] = n[r]
-          }
-          return t
-        }
-        function t(e) {
-          return e.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent)
-        }
-        return (function n(r) {
-          function o() {}
-          function i(t, n, i) {
-            if ('undefined' !== typeof document) {
-              'number' === typeof (i = e({ path: '/' }, o.defaults, i)).expires &&
-                (i.expires = new Date(1 * new Date() + 864e5 * i.expires)),
-                (i.expires = i.expires ? i.expires.toUTCString() : '')
-              try {
-                var a = JSON.stringify(n)
-                ;/^[\{\[]/.test(a) && (n = a)
-              } catch (c) {}
-              ;(n = r.write
-                ? r.write(n, t)
-                : encodeURIComponent(String(n)).replace(
-                    /%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,
-                    decodeURIComponent,
-                  )),
-                (t = encodeURIComponent(String(t))
-                  .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
-                  .replace(/[\(\)]/g, escape))
-              var s = ''
-              for (var u in i)
-                i[u] && ((s += '; ' + u), !0 !== i[u] && (s += '=' + i[u].split(';')[0]))
-              return (document.cookie = t + '=' + n + s)
-            }
-          }
-          function a(e, n) {
-            if ('undefined' !== typeof document) {
-              for (
-                var o = {}, i = document.cookie ? document.cookie.split('; ') : [], a = 0;
-                a < i.length;
-                a++
-              ) {
-                var s = i[a].split('='),
-                  u = s.slice(1).join('=')
-                n || '"' !== u.charAt(0) || (u = u.slice(1, -1))
-                try {
-                  var c = t(s[0])
-                  if (((u = (r.read || r)(u, c) || t(u)), n))
-                    try {
-                      u = JSON.parse(u)
-                    } catch (l) {}
-                  if (((o[c] = u), e === c)) break
-                } catch (l) {}
-              }
-              return e ? o[e] : o
-            }
-          }
-          return (
-            (o.set = i),
-            (o.get = function (e) {
-              return a(e, !1)
-            }),
-            (o.getJSON = function (e) {
-              return a(e, !0)
-            }),
-            (o.remove = function (t, n) {
-              i(t, '', e(n, { expires: -1 }))
-            }),
-            (o.defaults = {}),
-            (o.withConverter = n),
-            o
-          )
-        })(function () {})
-      })
-    },
-    44858: function (e, t, n) {
-      'use strict'
-      var r = n(20296),
-        o = n.n(r)
-      function i(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          (function (e, t) {
-            if (!e) return
-            if ('string' === typeof e) return a(e, t)
-            var n = Object.prototype.toString.call(e).slice(8, -1)
-            'Object' === n && e.constructor && (n = e.constructor.name)
-            if ('Map' === n || 'Set' === n) return Array.from(e)
-            if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-              return a(e, t)
-          })(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function a(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var s = function e(t, n) {
-        var r = n.default,
-          o = void 0 === r ? null : r,
-          i = n.triggerUpdate,
-          a = void 0 === i || i,
-          s = n.onChange,
-          u = void 0 === s ? function (e, t) {} : s
-        !(function (e, t) {
-          if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-        })(this, e),
-          (this.name = t),
-          (this.defaultVal = o),
-          (this.triggerUpdate = a),
-          (this.onChange = u)
-      }
-      t.Z = function (e) {
-        var t = e.stateInit,
-          n =
-            void 0 === t
-              ? function () {
-                  return {}
-                }
-              : t,
-          r = e.props,
-          a = void 0 === r ? {} : r,
-          u = e.methods,
-          c = void 0 === u ? {} : u,
-          l = e.aliases,
-          d = void 0 === l ? {} : l,
-          f = e.init,
-          h = void 0 === f ? function () {} : f,
-          p = e.update,
-          v = void 0 === p ? function () {} : p,
-          m = Object.keys(a).map(function (e) {
-            return new s(e, a[e])
-          })
-        return function () {
-          var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
-            t = Object.assign({}, n instanceof Function ? n(e) : n, { initialised: !1 }),
-            r = {}
-          function a(t) {
-            return s(t, e), u(), a
-          }
-          var s = function (e, n) {
-              h.call(a, e, t, n), (t.initialised = !0)
-            },
-            u = o()(function () {
-              t.initialised && (v.call(a, t, r), (r = {}))
-            }, 1)
-          return (
-            m.forEach(function (e) {
-              a[e.name] = (function (e) {
-                var n = e.name,
-                  o = e.triggerUpdate,
-                  i = void 0 !== o && o,
-                  s = e.onChange,
-                  c = void 0 === s ? function (e, t) {} : s,
-                  l = e.defaultVal,
-                  d = void 0 === l ? null : l
-                return function (e) {
-                  var o = t[n]
-                  if (!arguments.length) return o
-                  var s = void 0 === e ? d : e
-                  return (
-                    (t[n] = s), c.call(a, s, t, o), !r.hasOwnProperty(n) && (r[n] = o), i && u(), a
-                  )
-                }
-              })(e)
-            }),
-            Object.keys(c).forEach(function (e) {
-              a[e] = function () {
-                for (var n, r = arguments.length, o = new Array(r), i = 0; i < r; i++)
-                  o[i] = arguments[i]
-                return (n = c[e]).call.apply(n, [a, t].concat(o))
-              }
-            }),
-            Object.entries(d).forEach(function (e) {
-              var t = i(e, 2),
-                n = t[0],
-                r = t[1]
-              return (a[n] = a[r])
-            }),
-            (a.resetProps = function () {
-              return (
-                m.forEach(function (e) {
-                  a[e.name](e.defaultVal)
-                }),
-                a
-              )
-            }),
-            a.resetProps(),
-            (t._rerender = u),
-            a
-          )
-        }
-      }
-    },
-    93096: function (e, t, n) {
-      var r = 'Expected a function',
-        o = /^\s+|\s+$/g,
-        i = /^[-+]0x[0-9a-f]+$/i,
-        a = /^0b[01]+$/i,
-        s = /^0o[0-7]+$/i,
-        u = parseInt,
-        c = 'object' == typeof n.g && n.g && n.g.Object === Object && n.g,
-        l = 'object' == typeof self && self && self.Object === Object && self,
-        d = c || l || Function('return this')(),
-        f = Object.prototype.toString,
-        h = Math.max,
-        p = Math.min,
-        v = function () {
-          return d.Date.now()
-        }
-      function m(e, t, n) {
-        var o,
-          i,
-          a,
-          s,
-          u,
-          c,
-          l = 0,
-          d = !1,
-          f = !1,
-          m = !0
-        if ('function' != typeof e) throw new TypeError(r)
-        function b(t) {
-          var n = o,
-            r = i
-          return (o = i = void 0), (l = t), (s = e.apply(r, n))
-        }
-        function w(e) {
-          return (l = e), (u = setTimeout(x, t)), d ? b(e) : s
-        }
-        function _(e) {
-          var n = e - c
-          return void 0 === c || n >= t || n < 0 || (f && e - l >= a)
-        }
-        function x() {
-          var e = v()
-          if (_(e)) return k(e)
-          u = setTimeout(
-            x,
-            (function (e) {
-              var n = t - (e - c)
-              return f ? p(n, a - (e - l)) : n
-            })(e),
-          )
-        }
-        function k(e) {
-          return (u = void 0), m && o ? b(e) : ((o = i = void 0), s)
-        }
-        function E() {
-          var e = v(),
-            n = _(e)
-          if (((o = arguments), (i = this), (c = e), n)) {
-            if (void 0 === u) return w(c)
-            if (f) return (u = setTimeout(x, t)), b(c)
-          }
-          return void 0 === u && (u = setTimeout(x, t)), s
-        }
-        return (
-          (t = y(t) || 0),
-          g(n) &&
-            ((d = !!n.leading),
-            (a = (f = 'maxWait' in n) ? h(y(n.maxWait) || 0, t) : a),
-            (m = 'trailing' in n ? !!n.trailing : m)),
-          (E.cancel = function () {
-            void 0 !== u && clearTimeout(u), (l = 0), (o = c = i = u = void 0)
-          }),
-          (E.flush = function () {
-            return void 0 === u ? s : k(v())
-          }),
-          E
-        )
-      }
-      function g(e) {
-        var t = typeof e
-        return !!e && ('object' == t || 'function' == t)
-      }
-      function y(e) {
-        if ('number' == typeof e) return e
-        if (
-          (function (e) {
-            return (
-              'symbol' == typeof e ||
-              ((function (e) {
-                return !!e && 'object' == typeof e
-              })(e) &&
-                '[object Symbol]' == f.call(e))
-            )
-          })(e)
-        )
-          return NaN
-        if (g(e)) {
-          var t = 'function' == typeof e.valueOf ? e.valueOf() : e
-          e = g(t) ? t + '' : t
-        }
-        if ('string' != typeof e) return 0 === e ? e : +e
-        e = e.replace(o, '')
-        var n = a.test(e)
-        return n || s.test(e) ? u(e.slice(2), n ? 2 : 8) : i.test(e) ? NaN : +e
-      }
-      e.exports = function (e, t, n) {
-        var o = !0,
-          i = !0
-        if ('function' != typeof e) throw new TypeError(r)
-        return (
-          g(n) &&
-            ((o = 'leading' in n ? !!n.leading : o), (i = 'trailing' in n ? !!n.trailing : i)),
-          m(e, t, { leading: o, maxWait: t, trailing: i })
-        )
-      }
-    },
-    90233: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          rankings: function () {
-            return a
-          },
-        })
-      var r = n(22122),
-        o = n(76826),
-        i = n.n(o),
-        a = {
-          CASE_SENSITIVE_EQUAL: 9,
-          EQUAL: 8,
-          STARTS_WITH: 7,
-          WORD_STARTS_WITH: 6,
-          STRING_CASE: 5,
-          STRING_CASE_ACRONYM: 4,
-          CONTAINS: 3,
-          ACRONYM: 2,
-          MATCHES: 1,
-          NO_MATCH: 0,
-        },
-        s = { CAMEL: 0.8, PASCAL: 0.6, KEBAB: 0.4, SNAKE: 0.2, NO_CASE: 0 }
-      ;(c.rankings = a), (c.caseRankings = s)
-      var u = function (e, t) {
-        return String(e.rankedItem).localeCompare(t.rankedItem)
-      }
-      function c(e, t, n) {
-        void 0 === n && (n = {})
-        var r = n,
-          o = r.keys,
-          i = r.threshold,
-          s = void 0 === i ? a.MATCHES : i,
-          c = r.baseSort,
-          d = void 0 === c ? u : c
-        return e
-          .reduce(function (e, r, i) {
-            var u = (function (e, t, n, r) {
-                if (!t)
-                  return {
-                    rankedItem: e,
-                    rank: l(e, n, r),
-                    keyIndex: -1,
-                    keyThreshold: r.threshold,
-                  }
-                return (function (e, t) {
-                  return t.reduce(function (t, n) {
-                    var r = (function (e, t) {
-                      'object' === typeof t && (t = t.key)
-                      var n
-                      n =
-                        'function' === typeof t
-                          ? t(e)
-                          : -1 !== t.indexOf('.')
-                          ? t.split('.').reduce(function (e, t) {
-                              return e ? e[t] : null
-                            }, e)
-                          : e[t]
-                      return null != n ? [].concat(n) : null
-                    })(e, n)
-                    return (
-                      r &&
-                        r.forEach(function (e) {
-                          t.push({ itemValue: e, attributes: f(n) })
-                        }),
-                      t
-                    )
-                  }, [])
-                })(e, t).reduce(
-                  function (e, t, o) {
-                    var i = e.rank,
-                      s = e.rankedItem,
-                      u = e.keyIndex,
-                      c = e.keyThreshold,
-                      d = t.itemValue,
-                      f = t.attributes,
-                      h = l(d, n, r),
-                      p = s,
-                      v = f.minRanking,
-                      m = f.maxRanking,
-                      g = f.threshold
-                    return (
-                      h < v && h >= a.MATCHES ? (h = v) : h > m && (h = m),
-                      h > i && ((i = h), (u = o), (c = g), (p = d)),
-                      { rankedItem: p, rank: i, keyIndex: u, keyThreshold: c }
-                    )
-                  },
-                  { rank: a.NO_MATCH, keyIndex: -1, keyThreshold: r.threshold },
-                )
-              })(r, o, t, n),
-              c = u.rankedItem,
-              d = u.rank,
-              h = u.keyIndex,
-              p = u.keyThreshold
-            d >= (void 0 === p ? s : p) &&
-              e.push({ rankedItem: c, item: r, rank: d, index: i, keyIndex: h })
-            return e
-          }, [])
-          .sort(function (e, t) {
-            return (function (e, t, n) {
-              var r = -1,
-                o = 1,
-                i = e.rank,
-                a = e.keyIndex,
-                s = t.rank,
-                u = t.keyIndex
-              return i === s ? (a === u ? n(e, t) : a < u ? r : o) : i > s ? r : o
-            })(e, t, d)
-          })
-          .map(function (e) {
-            return e.item
-          })
-      }
-      function l(e, t, n) {
-        if (((e = d(e, n)), (t = d(t, n)).length > e.length)) return a.NO_MATCH
-        if (e === t) return a.CASE_SENSITIVE_EQUAL
-        var r = (function (e) {
-            var t = e.toLowerCase() !== e,
-              n = e.indexOf('-') >= 0,
-              r = e.indexOf('_') >= 0
-            if (!t && !r && n) return s.KEBAB
-            if (!t && r && !n) return s.SNAKE
-            if (t && !n && !r) {
-              return e[0].toUpperCase() === e[0] ? s.PASCAL : s.CAMEL
-            }
-            return s.NO_CASE
-          })(e),
-          o = (function (e, t, n) {
-            var r = e.toLowerCase().indexOf(t.toLowerCase())
-            switch (n) {
-              case s.SNAKE:
-                return '_' === e[r - 1]
-              case s.KEBAB:
-                return '-' === e[r - 1]
-              case s.PASCAL:
-              case s.CAMEL:
-                return -1 !== r && e[r] === e[r].toUpperCase()
-              default:
-                return !1
-            }
-          })(e, t, r),
-          i = (function (e, t, n) {
-            var r = null
-            switch (n) {
-              case s.SNAKE:
-                r = '_'
-                break
-              case s.KEBAB:
-                r = '-'
-                break
-              case s.PASCAL:
-              case s.CAMEL:
-                r = /(?=[A-Z])/
-                break
-              default:
-                r = null
-            }
-            var o = e.split(r)
-            return t
-              .toLowerCase()
-              .split('')
-              .reduce(function (e, t, n) {
-                var r = o[n]
-                return e && r && r[0].toLowerCase() === t
-              }, !0)
-          })(e, t, r)
-        return (e = e.toLowerCase()) === (t = t.toLowerCase())
-          ? a.EQUAL + r
-          : 0 === e.indexOf(t)
-          ? a.STARTS_WITH + r
-          : -1 !== e.indexOf(' ' + t)
-          ? a.WORD_STARTS_WITH + r
-          : o
-          ? a.STRING_CASE + r
-          : r > 0 && i
-          ? a.STRING_CASE_ACRONYM + r
-          : -1 !== e.indexOf(t)
-          ? a.CONTAINS + r
-          : 1 === t.length
-          ? a.NO_MATCH
-          : -1 !==
-            (function (e) {
-              var t = ''
-              return (
-                e.split(' ').forEach(function (e) {
-                  e.split('-').forEach(function (e) {
-                    t += e.substr(0, 1)
-                  })
-                }),
-                t
-              )
-            })(e).indexOf(t)
-          ? a.ACRONYM + r
-          : (function (e, t) {
-              var n = 0,
-                r = 0
-              function o(e, t, r) {
-                for (var o = r; o < t.length; o++) {
-                  if (t[o] === e) return (n += 1), o + 1
-                }
-                return -1
-              }
-              function i(e) {
-                var r = n / t.length
-                return a.MATCHES + r * (1 / e)
-              }
-              var s = o(t[0], e, 0)
-              if (s < 0) return a.NO_MATCH
-              r = s
-              for (var u = 1; u < t.length; u++) {
-                if (!((r = o(t[u], e, r)) > -1)) return a.NO_MATCH
-              }
-              return i(r - s)
-            })(e, t)
-      }
-      function d(e, t) {
-        return (e = '' + e), t.keepDiacritics || (e = i()(e)), e
-      }
-      function f(e) {
-        return (
-          'string' === typeof e && (e = { key: e }),
-          (0, r.Z)({ maxRanking: 1 / 0, minRanking: -1 / 0 }, e)
-        )
-      }
-      t.default = c
-    },
-    3752: function (e, t, n) {
-      'use strict'
-      function r(e, t) {
-        var n
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return o(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === n && e.constructor && (n = e.constructor.name)
-              if ('Map' === n || 'Set' === n) return Array.from(e)
-              if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-                return o(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            n && (e = n)
-            var r = 0,
-              i = function () {}
-            return {
-              s: i,
-              n: function () {
-                return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-              },
-              e: function (e) {
-                throw e
-              },
-              f: i,
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        var a,
-          s = !0,
-          u = !1
-        return {
-          s: function () {
-            n = e[Symbol.iterator]()
-          },
-          n: function () {
-            var e = n.next()
-            return (s = e.done), e
-          },
-          e: function (e) {
-            ;(u = !0), (a = e)
-          },
-          f: function () {
-            try {
-              s || null == n.return || n.return()
-            } finally {
-              if (u) throw a
-            }
-          },
-        }
-      }
-      function o(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function i(e, t) {
-        var n
-        if (void 0 === t) {
-          var o,
-            i = r(e)
-          try {
-            for (i.s(); !(o = i.n()).done; ) {
-              var a = o.value
-              null != a && (n < a || (void 0 === n && a >= a)) && (n = a)
-            }
-          } catch (d) {
-            i.e(d)
-          } finally {
-            i.f()
-          }
-        } else {
-          var s,
-            u = -1,
-            c = r(e)
-          try {
-            for (c.s(); !(s = c.n()).done; ) {
-              var l = s.value
-              null != (l = t(l, ++u, e)) && (n < l || (void 0 === n && l >= l)) && (n = l)
-            }
-          } catch (d) {
-            c.e(d)
-          } finally {
-            c.f()
-          }
-        }
-        return n
-      }
-      n.d(t, {
-        Z: function () {
-          return i
-        },
-      })
-    },
-    86701: function (e, t, n) {
-      'use strict'
-      function r(e, t) {
-        var n
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return o(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === n && e.constructor && (n = e.constructor.name)
-              if ('Map' === n || 'Set' === n) return Array.from(e)
-              if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-                return o(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            n && (e = n)
-            var r = 0,
-              i = function () {}
-            return {
-              s: i,
-              n: function () {
-                return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-              },
-              e: function (e) {
-                throw e
-              },
-              f: i,
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        var a,
-          s = !0,
-          u = !1
-        return {
-          s: function () {
-            n = e[Symbol.iterator]()
-          },
-          n: function () {
-            var e = n.next()
-            return (s = e.done), e
-          },
-          e: function (e) {
-            ;(u = !0), (a = e)
-          },
-          f: function () {
-            try {
-              s || null == n.return || n.return()
-            } finally {
-              if (u) throw a
-            }
-          },
-        }
-      }
-      function o(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function i(e, t) {
-        var n
-        if (void 0 === t) {
-          var o,
-            i = r(e)
-          try {
-            for (i.s(); !(o = i.n()).done; ) {
-              var a = o.value
-              null != a && (n > a || (void 0 === n && a >= a)) && (n = a)
-            }
-          } catch (d) {
-            i.e(d)
-          } finally {
-            i.f()
-          }
-        } else {
-          var s,
-            u = -1,
-            c = r(e)
-          try {
-            for (c.s(); !(s = c.n()).done; ) {
-              var l = s.value
-              null != (l = t(l, ++u, e)) && (n > l || (void 0 === n && l >= l)) && (n = l)
-            }
-          } catch (d) {
-            c.e(d)
-          } finally {
-            c.f()
-          }
-        }
-        return n
-      }
-      n.d(t, {
-        Z: function () {
-          return i
-        },
-      })
-    },
-    14275: function (e, t, n) {
-      'use strict'
-      function r(e, t, n) {
-        if (isNaN(t)) return e
-        var r,
-          o,
-          i,
-          a,
-          s,
-          u,
-          c = e._root,
-          l = { data: n },
-          d = e._x0,
-          f = e._x1
-        if (!c) return (e._root = l), e
-        for (; c.length; )
-          if (((a = t >= (o = (d + f) / 2)) ? (d = o) : (f = o), (r = c), !(c = c[(s = +a)])))
-            return (r[s] = l), e
-        if (t === (i = +e._x.call(null, c.data)))
-          return (l.next = c), r ? (r[s] = l) : (e._root = l), e
-        do {
-          ;(r = r ? (r[s] = new Array(2)) : (e._root = new Array(2))),
-            (a = t >= (o = (d + f) / 2)) ? (d = o) : (f = o)
-        } while ((s = +a) === (u = +(i >= o)))
-        return (r[u] = c), (r[s] = l), e
-      }
-      function o(e, t, n) {
-        ;(this.node = e), (this.x0 = t), (this.x1 = n)
-      }
-      function i(e) {
-        return e[0]
-      }
-      function a(e, t) {
-        var n = new s(null == t ? i : t, NaN, NaN)
-        return null == e ? n : n.addAll(e)
-      }
-      function s(e, t, n) {
-        ;(this._x = e), (this._x0 = t), (this._x1 = n), (this._root = void 0)
-      }
-      function u(e) {
-        for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
-        return t
-      }
-      n.d(t, {
-        Z: function () {
-          return a
-        },
-      })
-      var c = (a.prototype = s.prototype)
-      ;(c.copy = function () {
-        var e,
-          t,
-          n = new s(this._x, this._x0, this._x1),
-          r = this._root
-        if (!r) return n
-        if (!r.length) return (n._root = u(r)), n
-        for (e = [{ source: r, target: (n._root = new Array(2)) }]; (r = e.pop()); )
-          for (var o = 0; o < 2; ++o)
-            (t = r.source[o]) &&
-              (t.length
-                ? e.push({ source: t, target: (r.target[o] = new Array(2)) })
-                : (r.target[o] = u(t)))
-        return n
-      }),
-        (c.add = function (e) {
-          var t = +this._x.call(null, e)
-          return r(this.cover(t), t, e)
-        }),
-        (c.addAll = function (e) {
-          var t,
-            n,
-            o = e.length,
-            i = new Array(o),
-            a = 1 / 0,
-            s = -1 / 0
-          for (t = 0; t < o; ++t)
-            isNaN((n = +this._x.call(null, e[t]))) ||
-              ((i[t] = n), n < a && (a = n), n > s && (s = n))
-          if (a > s) return this
-          for (this.cover(a).cover(s), t = 0; t < o; ++t) r(this, i[t], e[t])
-          return this
-        }),
-        (c.cover = function (e) {
-          if (isNaN((e = +e))) return this
-          var t = this._x0,
-            n = this._x1
-          if (isNaN(t)) n = (t = Math.floor(e)) + 1
-          else {
-            for (var r, o, i = n - t || 1, a = this._root; t > e || e >= n; )
-              switch (((o = +(e < t)), ((r = new Array(2))[o] = a), (a = r), (i *= 2), o)) {
-                case 0:
-                  n = t + i
-                  break
-                case 1:
-                  t = n - i
-              }
-            this._root && this._root.length && (this._root = a)
-          }
-          return (this._x0 = t), (this._x1 = n), this
-        }),
-        (c.data = function () {
-          var e = []
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  e.push(t.data)
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (c.extent = function (e) {
-          return arguments.length
-            ? this.cover(+e[0][0]).cover(+e[1][0])
-            : isNaN(this._x0)
-            ? void 0
-            : [[this._x0], [this._x1]]
-        }),
-        (c.find = function (e, t) {
-          var n,
-            r,
-            i,
-            a,
-            s,
-            u = this._x0,
-            c = this._x1,
-            l = [],
-            d = this._root
-          for (
-            d && l.push(new o(d, u, c)), null == t ? (t = 1 / 0) : ((u = e - t), (c = e + t));
-            (a = l.pop());
-
-          )
-            if (!(!(d = a.node) || (r = a.x0) > c || (i = a.x1) < u))
-              if (d.length) {
-                var f = (r + i) / 2
-                l.push(new o(d[1], f, i), new o(d[0], r, f)),
-                  (s = +(e >= f)) &&
-                    ((a = l[l.length - 1]),
-                    (l[l.length - 1] = l[l.length - 1 - s]),
-                    (l[l.length - 1 - s] = a))
-              } else {
-                var h = Math.abs(e - +this._x.call(null, d.data))
-                h < t && ((t = h), (u = e - h), (c = e + h), (n = d.data))
-              }
-          return n
-        }),
-        (c.remove = function (e) {
-          if (isNaN((i = +this._x.call(null, e)))) return this
-          var t,
-            n,
-            r,
-            o,
-            i,
-            a,
-            s,
-            u,
-            c,
-            l = this._root,
-            d = this._x0,
-            f = this._x1
-          if (!l) return this
-          if (l.length)
-            for (;;) {
-              if (((s = i >= (a = (d + f) / 2)) ? (d = a) : (f = a), (t = l), !(l = l[(u = +s)])))
-                return this
-              if (!l.length) break
-              t[(u + 1) & 1] && ((n = t), (c = u))
-            }
-          for (; l.data !== e; ) if (((r = l), !(l = l.next))) return this
-          return (
-            (o = l.next) && delete l.next,
-            r
-              ? (o ? (r.next = o) : delete r.next, this)
-              : t
-              ? (o ? (t[u] = o) : delete t[u],
-                (l = t[0] || t[1]) &&
-                  l === (t[1] || t[0]) &&
-                  !l.length &&
-                  (n ? (n[c] = l) : (this._root = l)),
-                this)
-              : ((this._root = o), this)
-          )
-        }),
-        (c.removeAll = function (e) {
-          for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
-          return this
-        }),
-        (c.root = function () {
-          return this._root
-        }),
-        (c.size = function () {
-          var e = 0
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  ++e
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (c.visit = function (e) {
-          var t,
-            n,
-            r,
-            i,
-            a = [],
-            s = this._root
-          for (s && a.push(new o(s, this._x0, this._x1)); (t = a.pop()); )
-            if (!e((s = t.node), (r = t.x0), (i = t.x1)) && s.length) {
-              var u = (r + i) / 2
-              ;(n = s[1]) && a.push(new o(n, u, i)), (n = s[0]) && a.push(new o(n, r, u))
-            }
-          return this
-        }),
-        (c.visitAfter = function (e) {
-          var t,
-            n = [],
-            r = []
-          for (this._root && n.push(new o(this._root, this._x0, this._x1)); (t = n.pop()); ) {
-            var i = t.node
-            if (i.length) {
-              var a,
-                s = t.x0,
-                u = t.x1,
-                c = (s + u) / 2
-              ;(a = i[0]) && n.push(new o(a, s, c)), (a = i[1]) && n.push(new o(a, c, u))
-            }
-            r.push(t)
-          }
-          for (; (t = r.pop()); ) e(t.node, t.x0, t.x1)
-          return this
-        }),
-        (c.x = function (e) {
-          return arguments.length ? ((this._x = e), this) : this._x
-        })
-    },
-    77137: function (e, t) {
-      'use strict'
-      var n = { value: function () {} }
-      function r() {
-        for (var e, t = 0, n = arguments.length, r = {}; t < n; ++t) {
-          if (!(e = arguments[t] + '') || e in r || /[\s.]/.test(e))
-            throw new Error('illegal type: ' + e)
-          r[e] = []
-        }
-        return new o(r)
-      }
-      function o(e) {
-        this._ = e
-      }
-      function i(e, t) {
-        return e
-          .trim()
-          .split(/^|\s+/)
-          .map(function (e) {
-            var n = '',
-              r = e.indexOf('.')
-            if ((r >= 0 && ((n = e.slice(r + 1)), (e = e.slice(0, r))), e && !t.hasOwnProperty(e)))
-              throw new Error('unknown type: ' + e)
-            return { type: e, name: n }
-          })
-      }
-      function a(e, t) {
-        for (var n, r = 0, o = e.length; r < o; ++r) if ((n = e[r]).name === t) return n.value
-      }
-      function s(e, t, r) {
-        for (var o = 0, i = e.length; o < i; ++o)
-          if (e[o].name === t) {
-            ;(e[o] = n), (e = e.slice(0, o).concat(e.slice(o + 1)))
-            break
-          }
-        return null != r && e.push({ name: t, value: r }), e
-      }
-      ;(o.prototype = r.prototype =
-        {
-          constructor: o,
-          on: function (e, t) {
-            var n,
-              r = this._,
-              o = i(e + '', r),
-              u = -1,
-              c = o.length
-            if (!(arguments.length < 2)) {
-              if (null != t && 'function' !== typeof t) throw new Error('invalid callback: ' + t)
-              for (; ++u < c; )
-                if ((n = (e = o[u]).type)) r[n] = s(r[n], e.name, t)
-                else if (null == t) for (n in r) r[n] = s(r[n], e.name, null)
-              return this
-            }
-            for (; ++u < c; ) if ((n = (e = o[u]).type) && (n = a(r[n], e.name))) return n
-          },
-          copy: function () {
-            var e = {},
-              t = this._
-            for (var n in t) e[n] = t[n].slice()
-            return new o(e)
-          },
-          call: function (e, t) {
-            if ((n = arguments.length - 2) > 0)
-              for (var n, r, o = new Array(n), i = 0; i < n; ++i) o[i] = arguments[i + 2]
-            if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e)
-            for (i = 0, n = (r = this._[e]).length; i < n; ++i) r[i].value.apply(t, o)
-          },
-          apply: function (e, t, n) {
-            if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e)
-            for (var r = this._[e], o = 0, i = r.length; o < i; ++o) r[o].value.apply(t, n)
-          },
-        }),
-        (t.Z = r)
-    },
-    20216: function (e, t, n) {
-      'use strict'
-      function r(e, t, n) {
-        var r,
-          o = 1
-        function i() {
-          var i,
-            a,
-            s = r.length,
-            u = 0,
-            c = 0,
-            l = 0
-          for (i = 0; i < s; ++i) (u += (a = r[i]).x || 0), (c += a.y || 0), (l += a.z || 0)
-          for (u = (u / s - e) * o, c = (c / s - t) * o, l = (l / s - n) * o, i = 0; i < s; ++i)
-            (a = r[i]), u && (a.x -= u), c && (a.y -= c), l && (a.z -= l)
-        }
-        return (
-          null == e && (e = 0),
-          null == t && (t = 0),
-          null == n && (n = 0),
-          (i.initialize = function (e) {
-            r = e
-          }),
-          (i.x = function (t) {
-            return arguments.length ? ((e = +t), i) : e
-          }),
-          (i.y = function (e) {
-            return arguments.length ? ((t = +e), i) : t
-          }),
-          (i.z = function (e) {
-            return arguments.length ? ((n = +e), i) : n
-          }),
-          (i.strength = function (e) {
-            return arguments.length ? ((o = +e), i) : o
-          }),
-          i
-        )
-      }
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-    },
-    29437: function (e, t, n) {
-      'use strict'
-      function r(e) {
-        return function () {
-          return e
-        }
-      }
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-    },
-    8246: function (e, t, n) {
-      'use strict'
-      function r(e) {
-        return 1e-6 * (e() - 0.5)
-      }
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-    },
-    15560: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return s
-        },
-      })
-      var r = n(29437),
-        o = n(8246)
-      function i(e) {
-        return e.index
-      }
-      function a(e, t) {
-        var n = e.get(t)
-        if (!n) throw new Error('node not found: ' + t)
-        return n
-      }
-      function s(e) {
-        var t,
-          n,
-          s,
-          u,
-          c,
-          l,
-          d,
-          f = i,
-          h = function (e) {
-            return 1 / Math.min(c[e.source.index], c[e.target.index])
-          },
-          p = (0, r.Z)(30),
-          v = 1
-        function m(r) {
-          for (var i = 0, a = e.length; i < v; ++i)
-            for (var s, c, f, h, p, m = 0, g = 0, y = 0, b = 0; m < a; ++m)
-              (c = (s = e[m]).source),
-                (g = (f = s.target).x + f.vx - c.x - c.vx || (0, o.Z)(d)),
-                u > 1 && (y = f.y + f.vy - c.y - c.vy || (0, o.Z)(d)),
-                u > 2 && (b = f.z + f.vz - c.z - c.vz || (0, o.Z)(d)),
-                (g *= h = (((h = Math.sqrt(g * g + y * y + b * b)) - n[m]) / h) * r * t[m]),
-                (y *= h),
-                (b *= h),
-                (f.vx -= g * (p = l[m])),
-                u > 1 && (f.vy -= y * p),
-                u > 2 && (f.vz -= b * p),
-                (c.vx += g * (p = 1 - p)),
-                u > 1 && (c.vy += y * p),
-                u > 2 && (c.vz += b * p)
-        }
-        function g() {
-          if (s) {
-            var r,
-              o,
-              i = s.length,
-              u = e.length,
-              d = new Map(
-                s.map(function (e, t) {
-                  return [f(e, t, s), e]
-                }),
-              )
-            for (r = 0, c = new Array(i); r < u; ++r)
-              ((o = e[r]).index = r),
-                'object' !== typeof o.source && (o.source = a(d, o.source)),
-                'object' !== typeof o.target && (o.target = a(d, o.target)),
-                (c[o.source.index] = (c[o.source.index] || 0) + 1),
-                (c[o.target.index] = (c[o.target.index] || 0) + 1)
-            for (r = 0, l = new Array(u); r < u; ++r)
-              (o = e[r]), (l[r] = c[o.source.index] / (c[o.source.index] + c[o.target.index]))
-            ;(t = new Array(u)), y(), (n = new Array(u)), b()
-          }
-        }
-        function y() {
-          if (s) for (var n = 0, r = e.length; n < r; ++n) t[n] = +h(e[n], n, e)
-        }
-        function b() {
-          if (s) for (var t = 0, r = e.length; t < r; ++t) n[t] = +p(e[t], t, e)
-        }
-        return (
-          null == e && (e = []),
-          (m.initialize = function (e) {
-            s = e
-            for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-              n[r - 1] = arguments[r]
-            ;(d =
-              n.find(function (e) {
-                return 'function' === typeof e
-              }) || Math.random),
-              (u =
-                n.find(function (e) {
-                  return [1, 2, 3].includes(e)
-                }) || 2),
-              g()
-          }),
-          (m.links = function (t) {
-            return arguments.length ? ((e = t), g(), m) : e
-          }),
-          (m.id = function (e) {
-            return arguments.length ? ((f = e), m) : f
-          }),
-          (m.iterations = function (e) {
-            return arguments.length ? ((v = +e), m) : v
-          }),
-          (m.strength = function (e) {
-            return arguments.length ? ((h = 'function' === typeof e ? e : (0, r.Z)(+e)), y(), m) : h
-          }),
-          (m.distance = function (e) {
-            return arguments.length ? ((p = 'function' === typeof e ? e : (0, r.Z)(+e)), b(), m) : p
-          }),
-          m
-        )
-      }
-    },
-    92405: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return c
-        },
-      })
-      var r = n(14275),
-        o = n(60054),
-        i = n(78357),
-        a = n(29437),
-        s = n(8246),
-        u = n(54505)
-      function c() {
-        var e,
-          t,
-          n,
-          c,
-          l,
-          d,
-          f = (0, a.Z)(-30),
-          h = 1,
-          p = 1 / 0,
-          v = 0.81
-        function m(a) {
-          var s,
-            c = e.length,
-            d = (
-              1 === t
-                ? (0, r.Z)(e, u.x)
-                : 2 === t
-                ? (0, o.Z)(e, u.x, u.y)
-                : 3 === t
-                ? (0, i.Z)(e, u.x, u.y, u.z)
-                : null
-            ).visitAfter(y)
-          for (l = a, s = 0; s < c; ++s) (n = e[s]), d.visit(b)
-        }
-        function g() {
-          if (e) {
-            var t,
-              n,
-              r = e.length
-            for (d = new Array(r), t = 0; t < r; ++t) (n = e[t]), (d[n.index] = +f(n, t, e))
-          }
-        }
-        function y(e) {
-          var n,
-            r,
-            o,
-            i,
-            a,
-            s,
-            u = 0,
-            c = 0,
-            l = e.length
-          if (l) {
-            for (o = i = a = s = 0; s < l; ++s)
-              (n = e[s]) &&
-                (r = Math.abs(n.value)) &&
-                ((u += n.value),
-                (c += r),
-                (o += r * (n.x || 0)),
-                (i += r * (n.y || 0)),
-                (a += r * (n.z || 0)))
-            ;(u *= Math.sqrt(4 / l)), (e.x = o / c), t > 1 && (e.y = i / c), t > 2 && (e.z = a / c)
-          } else {
-            ;((n = e).x = n.data.x), t > 1 && (n.y = n.data.y), t > 2 && (n.z = n.data.z)
-            do {
-              u += d[n.data.index]
-            } while ((n = n.next))
-          }
-          e.value = u
-        }
-        function b(e, r, o, i, a) {
-          if (!e.value) return !0
-          var u = [o, i, a][t - 1],
-            f = e.x - n.x,
-            m = t > 1 ? e.y - n.y : 0,
-            g = t > 2 ? e.z - n.z : 0,
-            y = u - r,
-            b = f * f + m * m + g * g
-          if ((y * y) / v < b)
-            return (
-              b < p &&
-                (0 === f && (b += (f = (0, s.Z)(c)) * f),
-                t > 1 && 0 === m && (b += (m = (0, s.Z)(c)) * m),
-                t > 2 && 0 === g && (b += (g = (0, s.Z)(c)) * g),
-                b < h && (b = Math.sqrt(h * b)),
-                (n.vx += (f * e.value * l) / b),
-                t > 1 && (n.vy += (m * e.value * l) / b),
-                t > 2 && (n.vz += (g * e.value * l) / b)),
-              !0
-            )
-          if (!(e.length || b >= p)) {
-            ;(e.data !== n || e.next) &&
-              (0 === f && (b += (f = (0, s.Z)(c)) * f),
-              t > 1 && 0 === m && (b += (m = (0, s.Z)(c)) * m),
-              t > 2 && 0 === g && (b += (g = (0, s.Z)(c)) * g),
-              b < h && (b = Math.sqrt(h * b)))
-            do {
-              e.data !== n &&
-                ((y = (d[e.data.index] * l) / b),
-                (n.vx += f * y),
-                t > 1 && (n.vy += m * y),
-                t > 2 && (n.vz += g * y))
-            } while ((e = e.next))
-          }
-        }
-        return (
-          (m.initialize = function (n) {
-            e = n
-            for (var r = arguments.length, o = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
-              o[i - 1] = arguments[i]
-            ;(c =
-              o.find(function (e) {
-                return 'function' === typeof e
-              }) || Math.random),
-              (t =
-                o.find(function (e) {
-                  return [1, 2, 3].includes(e)
-                }) || 2),
-              g()
-          }),
-          (m.strength = function (e) {
-            return arguments.length ? ((f = 'function' === typeof e ? e : (0, a.Z)(+e)), g(), m) : f
-          }),
-          (m.distanceMin = function (e) {
-            return arguments.length ? ((h = e * e), m) : Math.sqrt(h)
-          }),
-          (m.distanceMax = function (e) {
-            return arguments.length ? ((p = e * e), m) : Math.sqrt(p)
-          }),
-          (m.theta = function (e) {
-            return arguments.length ? ((v = e * e), m) : Math.sqrt(v)
-          }),
-          m
-        )
-      }
-    },
-    16917: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return o
-        },
-      })
-      var r = n(29437)
-      function o(e, t, n, o) {
-        var i,
-          a,
-          s,
-          u,
-          c = (0, r.Z)(0.1)
-        function l(e) {
-          for (var r = 0, c = i.length; r < c; ++r) {
-            var l = i[r],
-              d = l.x - t || 1e-6,
-              f = (l.y || 0) - n || 1e-6,
-              h = (l.z || 0) - o || 1e-6,
-              p = Math.sqrt(d * d + f * f + h * h),
-              v = ((u[r] - p) * s[r] * e) / p
-            ;(l.vx += d * v), a > 1 && (l.vy += f * v), a > 2 && (l.vz += h * v)
-          }
-        }
-        function d() {
-          if (i) {
-            var t,
-              n = i.length
-            for (s = new Array(n), u = new Array(n), t = 0; t < n; ++t)
-              (u[t] = +e(i[t], t, i)), (s[t] = isNaN(u[t]) ? 0 : +c(i[t], t, i))
-          }
-        }
-        return (
-          'function' !== typeof e && (e = (0, r.Z)(+e)),
-          null == t && (t = 0),
-          null == n && (n = 0),
-          null == o && (o = 0),
-          (l.initialize = function (e) {
-            i = e
-            for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-              n[r - 1] = arguments[r]
-            ;(a =
-              n.find(function (e) {
-                return [1, 2, 3].includes(e)
-              }) || 2),
-              d()
-          }),
-          (l.strength = function (e) {
-            return arguments.length ? ((c = 'function' === typeof e ? e : (0, r.Z)(+e)), d(), l) : c
-          }),
-          (l.radius = function (t) {
-            return arguments.length ? ((e = 'function' === typeof t ? t : (0, r.Z)(+t)), d(), l) : e
-          }),
-          (l.x = function (e) {
-            return arguments.length ? ((t = +e), l) : t
-          }),
-          (l.y = function (e) {
-            return arguments.length ? ((n = +e), l) : n
-          }),
-          (l.z = function (e) {
-            return arguments.length ? ((o = +e), l) : o
-          }),
-          l
-        )
-      }
-    },
-    54505: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return d
-        },
-        x: function () {
-          return a
-        },
-        y: function () {
-          return s
-        },
-        z: function () {
-          return u
-        },
-      })
-      var r = n(77137),
-        o = n(513),
-        i = 4294967296
-      function a(e) {
-        return e.x
-      }
-      function s(e) {
-        return e.y
-      }
-      function u(e) {
-        return e.z
-      }
-      var c = Math.PI * (3 - Math.sqrt(5)),
-        l = (20 * Math.PI) / (9 + Math.sqrt(221))
-      function d(e, t) {
-        t = t || 2
-        var n,
-          a = Math.min(3, Math.max(1, Math.round(t))),
-          s = 1,
-          u = 0.001,
-          d = 1 - Math.pow(u, 1 / 300),
-          f = 0,
-          h = 0.6,
-          p = new Map(),
-          v = (0, o.HT)(y),
-          m = (0, r.Z)('tick', 'end'),
-          g = (function () {
-            var e = 1
-            return function () {
-              return (e = (1664525 * e + 1013904223) % i) / i
-            }
-          })()
-        function y() {
-          b(), m.call('tick', n), s < u && (v.stop(), m.call('end', n))
-        }
-        function b(t) {
-          var r,
-            o,
-            i = e.length
-          void 0 === t && (t = 1)
-          for (var u = 0; u < t; ++u)
-            for (
-              s += (f - s) * d,
-                p.forEach(function (e) {
-                  e(s)
-                }),
-                r = 0;
-              r < i;
-              ++r
-            )
-              null == (o = e[r]).fx ? (o.x += o.vx *= h) : ((o.x = o.fx), (o.vx = 0)),
-                a > 1 && (null == o.fy ? (o.y += o.vy *= h) : ((o.y = o.fy), (o.vy = 0))),
-                a > 2 && (null == o.fz ? (o.z += o.vz *= h) : ((o.z = o.fz), (o.vz = 0)))
-          return n
-        }
-        function w() {
-          for (var t, n = 0, r = e.length; n < r; ++n) {
-            if (
-              (((t = e[n]).index = n),
-              null != t.fx && (t.x = t.fx),
-              null != t.fy && (t.y = t.fy),
-              null != t.fz && (t.z = t.fz),
-              isNaN(t.x) || (a > 1 && isNaN(t.y)) || (a > 2 && isNaN(t.z)))
-            ) {
-              var o = 10 * (a > 2 ? Math.cbrt(0.5 + n) : a > 1 ? Math.sqrt(0.5 + n) : n),
-                i = n * c,
-                s = n * l
-              1 === a
-                ? (t.x = o)
-                : 2 === a
-                ? ((t.x = o * Math.cos(i)), (t.y = o * Math.sin(i)))
-                : ((t.x = o * Math.sin(i) * Math.cos(s)),
-                  (t.y = o * Math.cos(i)),
-                  (t.z = o * Math.sin(i) * Math.sin(s)))
-            }
-            ;(isNaN(t.vx) || (a > 1 && isNaN(t.vy)) || (a > 2 && isNaN(t.vz))) &&
-              ((t.vx = 0), a > 1 && (t.vy = 0), a > 2 && (t.vz = 0))
-          }
-        }
-        function _(t) {
-          return t.initialize && t.initialize(e, g, a), t
-        }
-        return (
-          null == e && (e = []),
-          w(),
-          (n = {
-            tick: b,
-            restart: function () {
-              return v.restart(y), n
-            },
-            stop: function () {
-              return v.stop(), n
-            },
-            numDimensions: function (e) {
-              return arguments.length
-                ? ((a = Math.min(3, Math.max(1, Math.round(e)))), p.forEach(_), n)
-                : a
-            },
-            nodes: function (t) {
-              return arguments.length ? ((e = t), w(), p.forEach(_), n) : e
-            },
-            alpha: function (e) {
-              return arguments.length ? ((s = +e), n) : s
-            },
-            alphaMin: function (e) {
-              return arguments.length ? ((u = +e), n) : u
-            },
-            alphaDecay: function (e) {
-              return arguments.length ? ((d = +e), n) : +d
-            },
-            alphaTarget: function (e) {
-              return arguments.length ? ((f = +e), n) : f
-            },
-            velocityDecay: function (e) {
-              return arguments.length ? ((h = 1 - e), n) : 1 - h
-            },
-            randomSource: function (e) {
-              return arguments.length ? ((g = e), p.forEach(_), n) : g
-            },
-            force: function (e, t) {
-              return arguments.length > 1 ? (null == t ? p.delete(e) : p.set(e, _(t)), n) : p.get(e)
-            },
-            find: function () {
-              var t,
-                n,
-                r,
-                o,
-                i,
-                s,
-                u = Array.prototype.slice.call(arguments),
-                c = u.shift() || 0,
-                l = (a > 1 ? u.shift() : null) || 0,
-                d = (a > 2 ? u.shift() : null) || 0,
-                f = u.shift() || 1 / 0,
-                h = 0,
-                p = e.length
-              for (f *= f, h = 0; h < p; ++h)
-                (o =
-                  (t = c - (i = e[h]).x) * t +
-                  (n = l - (i.y || 0)) * n +
-                  (r = d - (i.z || 0)) * r) < f && ((s = i), (f = o))
-              return s
-            },
-            on: function (e, t) {
-              return arguments.length > 1 ? (m.on(e, t), n) : m.on(e)
-            },
-          })
-        )
-      }
-    },
-    78357: function (e, t, n) {
-      'use strict'
-      function r(e, t, n, r, o) {
-        if (isNaN(t) || isNaN(n) || isNaN(r)) return e
-        var i,
-          a,
-          s,
-          u,
-          c,
-          l,
-          d,
-          f,
-          h,
-          p,
-          v,
-          m,
-          g = e._root,
-          y = { data: o },
-          b = e._x0,
-          w = e._y0,
-          _ = e._z0,
-          x = e._x1,
-          k = e._y1,
-          E = e._z1
-        if (!g) return (e._root = y), e
-        for (; g.length; )
-          if (
-            ((f = t >= (a = (b + x) / 2)) ? (b = a) : (x = a),
-            (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s),
-            (p = r >= (u = (_ + E) / 2)) ? (_ = u) : (E = u),
-            (i = g),
-            !(g = g[(v = (p << 2) | (h << 1) | f)]))
-          )
-            return (i[v] = y), e
-        if (
-          ((c = +e._x.call(null, g.data)),
-          (l = +e._y.call(null, g.data)),
-          (d = +e._z.call(null, g.data)),
-          t === c && n === l && r === d)
-        )
-          return (y.next = g), i ? (i[v] = y) : (e._root = y), e
-        do {
-          ;(i = i ? (i[v] = new Array(8)) : (e._root = new Array(8))),
-            (f = t >= (a = (b + x) / 2)) ? (b = a) : (x = a),
-            (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s),
-            (p = r >= (u = (_ + E) / 2)) ? (_ = u) : (E = u)
-        } while (
-          (v = (p << 2) | (h << 1) | f) === (m = ((d >= u) << 2) | ((l >= s) << 1) | (c >= a))
-        )
-        return (i[m] = g), (i[v] = y), e
-      }
-      function o(e, t, n, r, o, i, a) {
-        ;(this.node = e),
-          (this.x0 = t),
-          (this.y0 = n),
-          (this.z0 = r),
-          (this.x1 = o),
-          (this.y1 = i),
-          (this.z1 = a)
-      }
-      function i(e) {
-        return e[0]
-      }
-      function a(e) {
-        return e[1]
-      }
-      function s(e) {
-        return e[2]
-      }
-      function u(e, t, n, r) {
-        var o = new c(
-          null == t ? i : t,
-          null == n ? a : n,
-          null == r ? s : r,
-          NaN,
-          NaN,
-          NaN,
-          NaN,
-          NaN,
-          NaN,
-        )
-        return null == e ? o : o.addAll(e)
-      }
-      function c(e, t, n, r, o, i, a, s, u) {
-        ;(this._x = e),
-          (this._y = t),
-          (this._z = n),
-          (this._x0 = r),
-          (this._y0 = o),
-          (this._z0 = i),
-          (this._x1 = a),
-          (this._y1 = s),
-          (this._z1 = u),
-          (this._root = void 0)
-      }
-      function l(e) {
-        for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
-        return t
-      }
-      n.d(t, {
-        Z: function () {
-          return u
-        },
-      })
-      var d = (u.prototype = c.prototype)
-      ;(d.copy = function () {
-        var e,
-          t,
-          n = new c(
-            this._x,
-            this._y,
-            this._z,
-            this._x0,
-            this._y0,
-            this._z0,
-            this._x1,
-            this._y1,
-            this._z1,
-          ),
-          r = this._root
-        if (!r) return n
-        if (!r.length) return (n._root = l(r)), n
-        for (e = [{ source: r, target: (n._root = new Array(8)) }]; (r = e.pop()); )
-          for (var o = 0; o < 8; ++o)
-            (t = r.source[o]) &&
-              (t.length
-                ? e.push({ source: t, target: (r.target[o] = new Array(8)) })
-                : (r.target[o] = l(t)))
-        return n
-      }),
-        (d.add = function (e) {
-          var t = +this._x.call(null, e),
-            n = +this._y.call(null, e),
-            o = +this._z.call(null, e)
-          return r(this.cover(t, n, o), t, n, o, e)
-        }),
-        (d.addAll = function (e) {
-          var t,
-            n,
-            o,
-            i,
-            a,
-            s = e.length,
-            u = new Array(s),
-            c = new Array(s),
-            l = new Array(s),
-            d = 1 / 0,
-            f = 1 / 0,
-            h = 1 / 0,
-            p = -1 / 0,
-            v = -1 / 0,
-            m = -1 / 0
-          for (n = 0; n < s; ++n)
-            isNaN((o = +this._x.call(null, (t = e[n])))) ||
-              isNaN((i = +this._y.call(null, t))) ||
-              isNaN((a = +this._z.call(null, t))) ||
-              ((u[n] = o),
-              (c[n] = i),
-              (l[n] = a),
-              o < d && (d = o),
-              o > p && (p = o),
-              i < f && (f = i),
-              i > v && (v = i),
-              a < h && (h = a),
-              a > m && (m = a))
-          if (d > p || f > v || h > m) return this
-          for (this.cover(d, f, h).cover(p, v, m), n = 0; n < s; ++n)
-            r(this, u[n], c[n], l[n], e[n])
-          return this
-        }),
-        (d.cover = function (e, t, n) {
-          if (isNaN((e = +e)) || isNaN((t = +t)) || isNaN((n = +n))) return this
-          var r = this._x0,
-            o = this._y0,
-            i = this._z0,
-            a = this._x1,
-            s = this._y1,
-            u = this._z1
-          if (isNaN(r))
-            (a = (r = Math.floor(e)) + 1),
-              (s = (o = Math.floor(t)) + 1),
-              (u = (i = Math.floor(n)) + 1)
-          else {
-            for (
-              var c, l, d = a - r || 1, f = this._root;
-              r > e || e >= a || o > t || t >= s || i > n || n >= u;
-
-            )
-              switch (
-                ((l = ((n < i) << 2) | ((t < o) << 1) | (e < r)),
-                ((c = new Array(8))[l] = f),
-                (f = c),
-                (d *= 2),
-                l)
-              ) {
-                case 0:
-                  ;(a = r + d), (s = o + d), (u = i + d)
-                  break
-                case 1:
-                  ;(r = a - d), (s = o + d), (u = i + d)
-                  break
-                case 2:
-                  ;(a = r + d), (o = s - d), (u = i + d)
-                  break
-                case 3:
-                  ;(r = a - d), (o = s - d), (u = i + d)
-                  break
-                case 4:
-                  ;(a = r + d), (s = o + d), (i = u - d)
-                  break
-                case 5:
-                  ;(r = a - d), (s = o + d), (i = u - d)
-                  break
-                case 6:
-                  ;(a = r + d), (o = s - d), (i = u - d)
-                  break
-                case 7:
-                  ;(r = a - d), (o = s - d), (i = u - d)
-              }
-            this._root && this._root.length && (this._root = f)
-          }
-          return (
-            (this._x0 = r),
-            (this._y0 = o),
-            (this._z0 = i),
-            (this._x1 = a),
-            (this._y1 = s),
-            (this._z1 = u),
-            this
-          )
-        }),
-        (d.data = function () {
-          var e = []
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  e.push(t.data)
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (d.extent = function (e) {
-          return arguments.length
-            ? this.cover(+e[0][0], +e[0][1], +e[0][2]).cover(+e[1][0], +e[1][1], +e[1][2])
-            : isNaN(this._x0)
-            ? void 0
-            : [
-                [this._x0, this._y0, this._z0],
-                [this._x1, this._y1, this._z1],
-              ]
-        }),
-        (d.find = function (e, t, n, r) {
-          var i,
-            a,
-            s,
-            u,
-            c,
-            l,
-            d,
-            f,
-            h,
-            p = this._x0,
-            v = this._y0,
-            m = this._z0,
-            g = this._x1,
-            y = this._y1,
-            b = this._z1,
-            w = [],
-            _ = this._root
-          for (
-            _ && w.push(new o(_, p, v, m, g, y, b)),
-              null == r
-                ? (r = 1 / 0)
-                : ((p = e - r),
-                  (v = t - r),
-                  (m = n - r),
-                  (g = e + r),
-                  (y = t + r),
-                  (b = n + r),
-                  (r *= r));
-            (f = w.pop());
-
-          )
-            if (
-              !(
-                !(_ = f.node) ||
-                (a = f.x0) > g ||
-                (s = f.y0) > y ||
-                (u = f.z0) > b ||
-                (c = f.x1) < p ||
-                (l = f.y1) < v ||
-                (d = f.z1) < m
-              )
-            )
-              if (_.length) {
-                var x = (a + c) / 2,
-                  k = (s + l) / 2,
-                  E = (u + d) / 2
-                w.push(
-                  new o(_[7], x, k, E, c, l, d),
-                  new o(_[6], a, k, E, x, l, d),
-                  new o(_[5], x, s, E, c, k, d),
-                  new o(_[4], a, s, E, x, k, d),
-                  new o(_[3], x, k, u, c, l, E),
-                  new o(_[2], a, k, u, x, l, E),
-                  new o(_[1], x, s, u, c, k, E),
-                  new o(_[0], a, s, u, x, k, E),
-                ),
-                  (h = ((n >= E) << 2) | ((t >= k) << 1) | (e >= x)) &&
-                    ((f = w[w.length - 1]),
-                    (w[w.length - 1] = w[w.length - 1 - h]),
-                    (w[w.length - 1 - h] = f))
-              } else {
-                var O = e - +this._x.call(null, _.data),
-                  T = t - +this._y.call(null, _.data),
-                  C = n - +this._z.call(null, _.data),
-                  M = O * O + T * T + C * C
-                if (M < r) {
-                  var S = Math.sqrt((r = M))
-                  ;(p = e - S),
-                    (v = t - S),
-                    (m = n - S),
-                    (g = e + S),
-                    (y = t + S),
-                    (b = n + S),
-                    (i = _.data)
-                }
-              }
-          return i
-        }),
-        (d.remove = function (e) {
-          if (
-            isNaN((i = +this._x.call(null, e))) ||
-            isNaN((a = +this._y.call(null, e))) ||
-            isNaN((s = +this._z.call(null, e)))
-          )
-            return this
-          var t,
-            n,
-            r,
-            o,
-            i,
-            a,
-            s,
-            u,
-            c,
-            l,
-            d,
-            f,
-            h,
-            p,
-            v,
-            m = this._root,
-            g = this._x0,
-            y = this._y0,
-            b = this._z0,
-            w = this._x1,
-            _ = this._y1,
-            x = this._z1
-          if (!m) return this
-          if (m.length)
-            for (;;) {
-              if (
-                ((d = i >= (u = (g + w) / 2)) ? (g = u) : (w = u),
-                (f = a >= (c = (y + _) / 2)) ? (y = c) : (_ = c),
-                (h = s >= (l = (b + x) / 2)) ? (b = l) : (x = l),
-                (t = m),
-                !(m = m[(p = (h << 2) | (f << 1) | d)]))
-              )
-                return this
-              if (!m.length) break
-              ;(t[(p + 1) & 7] ||
-                t[(p + 2) & 7] ||
-                t[(p + 3) & 7] ||
-                t[(p + 4) & 7] ||
-                t[(p + 5) & 7] ||
-                t[(p + 6) & 7] ||
-                t[(p + 7) & 7]) &&
-                ((n = t), (v = p))
-            }
-          for (; m.data !== e; ) if (((r = m), !(m = m.next))) return this
-          return (
-            (o = m.next) && delete m.next,
-            r
-              ? (o ? (r.next = o) : delete r.next, this)
-              : t
-              ? (o ? (t[p] = o) : delete t[p],
-                (m = t[0] || t[1] || t[2] || t[3] || t[4] || t[5] || t[6] || t[7]) &&
-                  m === (t[7] || t[6] || t[5] || t[4] || t[3] || t[2] || t[1] || t[0]) &&
-                  !m.length &&
-                  (n ? (n[v] = m) : (this._root = m)),
-                this)
-              : ((this._root = o), this)
-          )
-        }),
-        (d.removeAll = function (e) {
-          for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
-          return this
-        }),
-        (d.root = function () {
-          return this._root
-        }),
-        (d.size = function () {
-          var e = 0
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  ++e
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (d.visit = function (e) {
-          var t,
-            n,
-            r,
-            i,
-            a,
-            s,
-            u,
-            c,
-            l = [],
-            d = this._root
-          for (
-            d && l.push(new o(d, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));
-            (t = l.pop());
-
-          )
-            if (
-              !e(
-                (d = t.node),
-                (r = t.x0),
-                (i = t.y0),
-                (a = t.z0),
-                (s = t.x1),
-                (u = t.y1),
-                (c = t.z1),
-              ) &&
-              d.length
-            ) {
-              var f = (r + s) / 2,
-                h = (i + u) / 2,
-                p = (a + c) / 2
-              ;(n = d[7]) && l.push(new o(n, f, h, p, s, u, c)),
-                (n = d[6]) && l.push(new o(n, r, h, p, f, u, c)),
-                (n = d[5]) && l.push(new o(n, f, i, p, s, h, c)),
-                (n = d[4]) && l.push(new o(n, r, i, p, f, h, c)),
-                (n = d[3]) && l.push(new o(n, f, h, a, s, u, p)),
-                (n = d[2]) && l.push(new o(n, r, h, a, f, u, p)),
-                (n = d[1]) && l.push(new o(n, f, i, a, s, h, p)),
-                (n = d[0]) && l.push(new o(n, r, i, a, f, h, p))
-            }
-          return this
-        }),
-        (d.visitAfter = function (e) {
-          var t,
-            n = [],
-            r = []
-          for (
-            this._root &&
-            n.push(new o(this._root, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));
-            (t = n.pop());
-
-          ) {
-            var i = t.node
-            if (i.length) {
-              var a,
-                s = t.x0,
-                u = t.y0,
-                c = t.z0,
-                l = t.x1,
-                d = t.y1,
-                f = t.z1,
-                h = (s + l) / 2,
-                p = (u + d) / 2,
-                v = (c + f) / 2
-              ;(a = i[0]) && n.push(new o(a, s, u, c, h, p, v)),
-                (a = i[1]) && n.push(new o(a, h, u, c, l, p, v)),
-                (a = i[2]) && n.push(new o(a, s, p, c, h, d, v)),
-                (a = i[3]) && n.push(new o(a, h, p, c, l, d, v)),
-                (a = i[4]) && n.push(new o(a, s, u, v, h, p, f)),
-                (a = i[5]) && n.push(new o(a, h, u, v, l, p, f)),
-                (a = i[6]) && n.push(new o(a, s, p, v, h, d, f)),
-                (a = i[7]) && n.push(new o(a, h, p, v, l, d, f))
-            }
-            r.push(t)
-          }
-          for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.z0, t.x1, t.y1, t.z1)
-          return this
-        }),
-        (d.x = function (e) {
-          return arguments.length ? ((this._x = e), this) : this._x
-        }),
-        (d.y = function (e) {
-          return arguments.length ? ((this._y = e), this) : this._y
-        }),
-        (d.z = function (e) {
-          return arguments.length ? ((this._z = e), this) : this._z
-        })
-    },
-    60054: function (e, t, n) {
-      'use strict'
-      function r(e, t, n, r) {
-        if (isNaN(t) || isNaN(n)) return e
-        var o,
-          i,
-          a,
-          s,
-          u,
-          c,
-          l,
-          d,
-          f,
-          h = e._root,
-          p = { data: r },
-          v = e._x0,
-          m = e._y0,
-          g = e._x1,
-          y = e._y1
-        if (!h) return (e._root = p), e
-        for (; h.length; )
-          if (
-            ((c = t >= (i = (v + g) / 2)) ? (v = i) : (g = i),
-            (l = n >= (a = (m + y) / 2)) ? (m = a) : (y = a),
-            (o = h),
-            !(h = h[(d = (l << 1) | c)]))
-          )
-            return (o[d] = p), e
-        if (((s = +e._x.call(null, h.data)), (u = +e._y.call(null, h.data)), t === s && n === u))
-          return (p.next = h), o ? (o[d] = p) : (e._root = p), e
-        do {
-          ;(o = o ? (o[d] = new Array(4)) : (e._root = new Array(4))),
-            (c = t >= (i = (v + g) / 2)) ? (v = i) : (g = i),
-            (l = n >= (a = (m + y) / 2)) ? (m = a) : (y = a)
-        } while ((d = (l << 1) | c) === (f = ((u >= a) << 1) | (s >= i)))
-        return (o[f] = h), (o[d] = p), e
-      }
-      function o(e, t, n, r, o) {
-        ;(this.node = e), (this.x0 = t), (this.y0 = n), (this.x1 = r), (this.y1 = o)
-      }
-      function i(e) {
-        return e[0]
-      }
-      function a(e) {
-        return e[1]
-      }
-      function s(e, t, n) {
-        var r = new u(null == t ? i : t, null == n ? a : n, NaN, NaN, NaN, NaN)
-        return null == e ? r : r.addAll(e)
-      }
-      function u(e, t, n, r, o, i) {
-        ;(this._x = e),
-          (this._y = t),
-          (this._x0 = n),
-          (this._y0 = r),
-          (this._x1 = o),
-          (this._y1 = i),
-          (this._root = void 0)
-      }
-      function c(e) {
-        for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
-        return t
-      }
-      n.d(t, {
-        Z: function () {
-          return s
-        },
-      })
-      var l = (s.prototype = u.prototype)
-      ;(l.copy = function () {
-        var e,
-          t,
-          n = new u(this._x, this._y, this._x0, this._y0, this._x1, this._y1),
-          r = this._root
-        if (!r) return n
-        if (!r.length) return (n._root = c(r)), n
-        for (e = [{ source: r, target: (n._root = new Array(4)) }]; (r = e.pop()); )
-          for (var o = 0; o < 4; ++o)
-            (t = r.source[o]) &&
-              (t.length
-                ? e.push({ source: t, target: (r.target[o] = new Array(4)) })
-                : (r.target[o] = c(t)))
-        return n
-      }),
-        (l.add = function (e) {
-          var t = +this._x.call(null, e),
-            n = +this._y.call(null, e)
-          return r(this.cover(t, n), t, n, e)
-        }),
-        (l.addAll = function (e) {
-          var t,
-            n,
-            o,
-            i,
-            a = e.length,
-            s = new Array(a),
-            u = new Array(a),
-            c = 1 / 0,
-            l = 1 / 0,
-            d = -1 / 0,
-            f = -1 / 0
-          for (n = 0; n < a; ++n)
-            isNaN((o = +this._x.call(null, (t = e[n])))) ||
-              isNaN((i = +this._y.call(null, t))) ||
-              ((s[n] = o),
-              (u[n] = i),
-              o < c && (c = o),
-              o > d && (d = o),
-              i < l && (l = i),
-              i > f && (f = i))
-          if (c > d || l > f) return this
-          for (this.cover(c, l).cover(d, f), n = 0; n < a; ++n) r(this, s[n], u[n], e[n])
-          return this
-        }),
-        (l.cover = function (e, t) {
-          if (isNaN((e = +e)) || isNaN((t = +t))) return this
-          var n = this._x0,
-            r = this._y0,
-            o = this._x1,
-            i = this._y1
-          if (isNaN(n)) (o = (n = Math.floor(e)) + 1), (i = (r = Math.floor(t)) + 1)
-          else {
-            for (var a, s, u = o - n || 1, c = this._root; n > e || e >= o || r > t || t >= i; )
-              switch (
-                ((s = ((t < r) << 1) | (e < n)), ((a = new Array(4))[s] = c), (c = a), (u *= 2), s)
-              ) {
-                case 0:
-                  ;(o = n + u), (i = r + u)
-                  break
-                case 1:
-                  ;(n = o - u), (i = r + u)
-                  break
-                case 2:
-                  ;(o = n + u), (r = i - u)
-                  break
-                case 3:
-                  ;(n = o - u), (r = i - u)
-              }
-            this._root && this._root.length && (this._root = c)
-          }
-          return (this._x0 = n), (this._y0 = r), (this._x1 = o), (this._y1 = i), this
-        }),
-        (l.data = function () {
-          var e = []
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  e.push(t.data)
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (l.extent = function (e) {
-          return arguments.length
-            ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1])
-            : isNaN(this._x0)
-            ? void 0
-            : [
-                [this._x0, this._y0],
-                [this._x1, this._y1],
-              ]
-        }),
-        (l.find = function (e, t, n) {
-          var r,
-            i,
-            a,
-            s,
-            u,
-            c,
-            l,
-            d = this._x0,
-            f = this._y0,
-            h = this._x1,
-            p = this._y1,
-            v = [],
-            m = this._root
-          for (
-            m && v.push(new o(m, d, f, h, p)),
-              null == n
-                ? (n = 1 / 0)
-                : ((d = e - n), (f = t - n), (h = e + n), (p = t + n), (n *= n));
-            (c = v.pop());
-
-          )
-            if (
-              !(
-                !(m = c.node) ||
-                (i = c.x0) > h ||
-                (a = c.y0) > p ||
-                (s = c.x1) < d ||
-                (u = c.y1) < f
-              )
-            )
-              if (m.length) {
-                var g = (i + s) / 2,
-                  y = (a + u) / 2
-                v.push(
-                  new o(m[3], g, y, s, u),
-                  new o(m[2], i, y, g, u),
-                  new o(m[1], g, a, s, y),
-                  new o(m[0], i, a, g, y),
-                ),
-                  (l = ((t >= y) << 1) | (e >= g)) &&
-                    ((c = v[v.length - 1]),
-                    (v[v.length - 1] = v[v.length - 1 - l]),
-                    (v[v.length - 1 - l] = c))
-              } else {
-                var b = e - +this._x.call(null, m.data),
-                  w = t - +this._y.call(null, m.data),
-                  _ = b * b + w * w
-                if (_ < n) {
-                  var x = Math.sqrt((n = _))
-                  ;(d = e - x), (f = t - x), (h = e + x), (p = t + x), (r = m.data)
-                }
-              }
-          return r
-        }),
-        (l.remove = function (e) {
-          if (isNaN((i = +this._x.call(null, e))) || isNaN((a = +this._y.call(null, e))))
-            return this
-          var t,
-            n,
-            r,
-            o,
-            i,
-            a,
-            s,
-            u,
-            c,
-            l,
-            d,
-            f,
-            h = this._root,
-            p = this._x0,
-            v = this._y0,
-            m = this._x1,
-            g = this._y1
-          if (!h) return this
-          if (h.length)
-            for (;;) {
-              if (
-                ((c = i >= (s = (p + m) / 2)) ? (p = s) : (m = s),
-                (l = a >= (u = (v + g) / 2)) ? (v = u) : (g = u),
-                (t = h),
-                !(h = h[(d = (l << 1) | c)]))
-              )
-                return this
-              if (!h.length) break
-              ;(t[(d + 1) & 3] || t[(d + 2) & 3] || t[(d + 3) & 3]) && ((n = t), (f = d))
-            }
-          for (; h.data !== e; ) if (((r = h), !(h = h.next))) return this
-          return (
-            (o = h.next) && delete h.next,
-            r
-              ? (o ? (r.next = o) : delete r.next, this)
-              : t
-              ? (o ? (t[d] = o) : delete t[d],
-                (h = t[0] || t[1] || t[2] || t[3]) &&
-                  h === (t[3] || t[2] || t[1] || t[0]) &&
-                  !h.length &&
-                  (n ? (n[f] = h) : (this._root = h)),
-                this)
-              : ((this._root = o), this)
-          )
-        }),
-        (l.removeAll = function (e) {
-          for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
-          return this
-        }),
-        (l.root = function () {
-          return this._root
-        }),
-        (l.size = function () {
-          var e = 0
-          return (
-            this.visit(function (t) {
-              if (!t.length)
-                do {
-                  ++e
-                } while ((t = t.next))
-            }),
-            e
-          )
-        }),
-        (l.visit = function (e) {
-          var t,
-            n,
-            r,
-            i,
-            a,
-            s,
-            u = [],
-            c = this._root
-          for (c && u.push(new o(c, this._x0, this._y0, this._x1, this._y1)); (t = u.pop()); )
-            if (!e((c = t.node), (r = t.x0), (i = t.y0), (a = t.x1), (s = t.y1)) && c.length) {
-              var l = (r + a) / 2,
-                d = (i + s) / 2
-              ;(n = c[3]) && u.push(new o(n, l, d, a, s)),
-                (n = c[2]) && u.push(new o(n, r, d, l, s)),
-                (n = c[1]) && u.push(new o(n, l, i, a, d)),
-                (n = c[0]) && u.push(new o(n, r, i, l, d))
-            }
-          return this
-        }),
-        (l.visitAfter = function (e) {
-          var t,
-            n = [],
-            r = []
-          for (
-            this._root && n.push(new o(this._root, this._x0, this._y0, this._x1, this._y1));
-            (t = n.pop());
-
-          ) {
-            var i = t.node
-            if (i.length) {
-              var a,
-                s = t.x0,
-                u = t.y0,
-                c = t.x1,
-                l = t.y1,
-                d = (s + c) / 2,
-                f = (u + l) / 2
-              ;(a = i[0]) && n.push(new o(a, s, u, d, f)),
-                (a = i[1]) && n.push(new o(a, d, u, c, f)),
-                (a = i[2]) && n.push(new o(a, s, f, d, l)),
-                (a = i[3]) && n.push(new o(a, d, f, c, l))
-            }
-            r.push(t)
-          }
-          for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.x1, t.y1)
-          return this
-        }),
-        (l.x = function (e) {
-          return arguments.length ? ((this._x = e), this) : this._x
-        }),
-        (l.y = function (e) {
-          return arguments.length ? ((this._y = e), this) : this._y
-        })
-    },
-    47646: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-      var r = (function (e) {
-        for (var t = (e.length / 6) | 0, n = new Array(t), r = 0; r < t; )
-          n[r] = '#' + e.slice(6 * r, 6 * ++r)
-        return n
-      })('a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928')
-    },
-    72462: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return f
-        },
-      })
-      class r extends Map {
-        constructor(e, t = s) {
-          if (
-            (super(),
-            Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: t } }),
-            null != e)
-          )
-            for (const [n, r] of e) this.set(n, r)
-        }
-        get(e) {
-          return super.get(o(this, e))
-        }
-        has(e) {
-          return super.has(o(this, e))
-        }
-        set(e, t) {
-          return super.set(i(this, e), t)
-        }
-        delete(e) {
-          return super.delete(a(this, e))
-        }
-      }
-      Set
-      function o({ _intern: e, _key: t }, n) {
-        const r = t(n)
-        return e.has(r) ? e.get(r) : n
-      }
-      function i({ _intern: e, _key: t }, n) {
-        const r = t(n)
-        return e.has(r) ? e.get(r) : (e.set(r, n), n)
-      }
-      function a({ _intern: e, _key: t }, n) {
-        const r = t(n)
-        return e.has(r) && ((n = e.get(n)), e.delete(r)), n
-      }
-      function s(e) {
-        return null !== e && 'object' === typeof e ? e.valueOf() : e
-      }
-      function u(e, t) {
-        switch (arguments.length) {
-          case 0:
-            break
-          case 1:
-            this.range(e)
-            break
-          default:
-            this.range(t).domain(e)
-        }
-        return this
-      }
-      function c(e, t) {
-        var n
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return l(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === n && e.constructor && (n = e.constructor.name)
-              if ('Map' === n || 'Set' === n) return Array.from(e)
-              if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-                return l(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            n && (e = n)
-            var r = 0,
-              o = function () {}
-            return {
-              s: o,
-              n: function () {
-                return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-              },
-              e: function (e) {
-                throw e
-              },
-              f: o,
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        var i,
-          a = !0,
-          s = !1
-        return {
-          s: function () {
-            n = e[Symbol.iterator]()
-          },
-          n: function () {
-            var e = n.next()
-            return (a = e.done), e
-          },
-          e: function (e) {
-            ;(s = !0), (i = e)
-          },
-          f: function () {
-            try {
-              a || null == n.return || n.return()
-            } finally {
-              if (s) throw i
-            }
-          },
-        }
-      }
-      function l(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var d = Symbol('implicit')
-      function f() {
-        var e = new r(),
-          t = [],
-          n = [],
-          o = d
-        function i(r) {
-          var i = e.get(r)
-          if (void 0 === i) {
-            if (o !== d) return o
-            e.set(r, (i = t.push(r) - 1))
-          }
-          return n[i % n.length]
-        }
-        return (
-          (i.domain = function (n) {
-            if (!arguments.length) return t.slice()
-            ;(t = []), (e = new r())
-            var o,
-              a = c(n)
-            try {
-              for (a.s(); !(o = a.n()).done; ) {
-                var s = o.value
-                e.has(s) || e.set(s, t.push(s) - 1)
-              }
-            } catch (u) {
-              a.e(u)
-            } finally {
-              a.f()
-            }
-            return i
-          }),
-          (i.range = function (e) {
-            return arguments.length ? ((n = Array.from(e)), i) : n.slice()
-          }),
-          (i.unknown = function (e) {
-            return arguments.length ? ((o = e), i) : o
-          }),
-          (i.copy = function () {
-            return f(t, n).unknown(o)
-          }),
-          u.apply(i, arguments),
-          i
-        )
-      }
-    },
-    513: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        zO: function () {
-          return h
-        },
-        B7: function () {
-          return v
-        },
-        HT: function () {
-          return m
-        },
-      })
-      var r,
-        o,
-        i = 0,
-        a = 0,
-        s = 0,
-        u = 0,
-        c = 0,
-        l = 0,
-        d = 'object' === typeof performance && performance.now ? performance : Date,
-        f = window.requestAnimationFrame
-          ? window.requestAnimationFrame.bind(window)
-          : function (e) {
-              setTimeout(e, 17)
-            }
-      function h() {
-        return c || (f(p), (c = d.now() + l))
-      }
-      function p() {
-        c = 0
-      }
-      function v() {
-        this._call = this._time = this._next = null
-      }
-      function m(e, t, n) {
-        var r = new v()
-        return r.restart(e, t, n), r
-      }
-      function g() {
-        ;(c = (u = d.now()) + l), (i = a = 0)
-        try {
-          !(function () {
-            h(), ++i
-            for (var e, t = r; t; ) (e = c - t._time) >= 0 && t._call.call(void 0, e), (t = t._next)
-            --i
-          })()
-        } finally {
-          ;(i = 0),
-            (function () {
-              var e,
-                t,
-                n = r,
-                i = 1 / 0
-              for (; n; )
-                n._call
-                  ? (i > n._time && (i = n._time), (e = n), (n = n._next))
-                  : ((t = n._next), (n._next = null), (n = e ? (e._next = t) : (r = t)))
-              ;(o = e), b(i)
-            })(),
-            (c = 0)
-        }
-      }
-      function y() {
-        var e = d.now(),
-          t = e - u
-        t > 1e3 && ((l -= t), (u = e))
-      }
-      function b(e) {
-        i ||
-          (a && (a = clearTimeout(a)),
-          e - c > 24
-            ? (e < 1 / 0 && (a = setTimeout(g, e - d.now() - l)), s && (s = clearInterval(s)))
-            : (s || ((u = d.now()), (s = setInterval(y, 1e3))), (i = 1), f(g)))
-      }
-      v.prototype = m.prototype = {
-        constructor: v,
-        restart: function (e, t, n) {
-          if ('function' !== typeof e) throw new TypeError('callback is not a function')
-          ;(n = (null == n ? h() : +n) + (null == t ? 0 : +t)),
-            this._next || o === this || (o ? (o._next = this) : (r = this), (o = this)),
-            (this._call = e),
-            (this._time = n),
-            b()
-        },
-        stop: function () {
-          this._call && ((this._call = null), (this._time = 1 / 0), b())
-        },
-      }
-    },
-    75093: function (e, t, n) {
-      'use strict'
-      function r(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-    },
-    92447: function (e, t, n) {
-      'use strict'
-      function r(e, t, n, r, o, i, a) {
-        try {
-          var s = e[i](a),
-            u = s.value
-        } catch (c) {
-          return void n(c)
-        }
-        s.done ? t(u) : Promise.resolve(u).then(r, o)
-      }
-      function o(e) {
-        return function () {
-          var t = this,
-            n = arguments
-          return new Promise(function (o, i) {
-            var a = e.apply(t, n)
-            function s(e) {
-              r(a, o, i, s, u, 'next', e)
-            }
-            function u(e) {
-              r(a, o, i, s, u, 'throw', e)
-            }
-            s(void 0)
-          })
-        }
-      }
-      n.d(t, {
-        Z: function () {
-          return o
-        },
-      })
-    },
-    38347: function (e, t, n) {
-      'use strict'
-      function r(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, t)
-        if (Object.getOwnPropertySymbols) {
-          var i = Object.getOwnPropertySymbols(e)
-          for (r = 0; r < i.length; r++)
-            (n = i[r]),
-              t.indexOf(n) >= 0 ||
-                (Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]))
-        }
-        return o
-      }
-      n.d(t, {
-        Z: function () {
-          return r
-        },
-      })
-    },
-    64121: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return o
-        },
-      })
-      var r = n(40355)
-      function o(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) {
-              var n = [],
-                r = !0,
-                o = !1,
-                i = void 0
-              try {
-                for (
-                  var a, s = e[Symbol.iterator]();
-                  !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t);
-                  r = !0
-                );
-              } catch (u) {
-                ;(o = !0), (i = u)
-              } finally {
-                try {
-                  r || null == s.return || s.return()
-                } finally {
-                  if (o) throw i
-                }
-              }
-              return n
-            }
-          })(e, t) ||
-          (0, r.Z)(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-    },
-    59999: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return i
-        },
-      })
-      var r = n(75093)
-      var o = n(40355)
-      function i(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return (0, r.Z)(e)
-          })(e) ||
-          (function (e) {
-            if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e)
-          })(e) ||
-          (0, o.Z)(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-    },
-    40355: function (e, t, n) {
-      'use strict'
-      n.d(t, {
-        Z: function () {
-          return o
-        },
-      })
-      var r = n(75093)
-      function o(e, t) {
-        if (e) {
-          if ('string' === typeof e) return (0, r.Z)(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? (0, r.Z)(e, t)
-              : void 0
-          )
-        }
-      }
-    },
-    84245: function (e) {
-      e.exports = function (e) {
-        !(function (e) {
-          if (!e) throw new Error('Eventify cannot use falsy object as events subject')
-          for (var t = ['on', 'fire', 'off'], n = 0; n < t.length; ++n)
-            if (e.hasOwnProperty(t[n]))
-              throw new Error(
-                "Subject cannot be eventified, since it already has property '" + t[n] + "'",
-              )
-        })(e)
-        var t = (function (e) {
-          var t = Object.create(null)
-          return {
-            on: function (n, r, o) {
-              if ('function' !== typeof r) throw new Error('callback is expected to be a function')
-              var i = t[n]
-              return i || (i = t[n] = []), i.push({ callback: r, ctx: o }), e
-            },
-            off: function (n, r) {
-              if ('undefined' === typeof n) return (t = Object.create(null)), e
-              if (t[n])
-                if ('function' !== typeof r) delete t[n]
-                else
-                  for (var o = t[n], i = 0; i < o.length; ++i) o[i].callback === r && o.splice(i, 1)
-              return e
-            },
-            fire: function (n) {
-              var r,
-                o = t[n]
-              if (!o) return e
-              arguments.length > 1 && (r = Array.prototype.splice.call(arguments, 1))
-              for (var i = 0; i < o.length; ++i) {
-                var a = o[i]
-                a.callback.apply(a.ctx, r)
-              }
-              return e
-            },
-          }
-        })(e)
-        return (e.on = t.on), (e.off = t.off), (e.fire = t.fire), e
-      }
-    },
-    16505: function (e, t, n) {
-      ;(e.exports = function (e, t) {
-        if (!e) throw new Error('Graph structure cannot be undefined')
-        var i = ((t && t.createSimulator) || n(45818))(t)
-        if (Array.isArray(t)) throw new Error('Physics settings is expected to be an object')
-        var a = function (t) {
-          var n = e.getLinks(t)
-          return n ? 1 + n.length / 3 : 1
-        }
-        t && 'function' === typeof t.nodeMass && (a = t.nodeMass)
-        var s = new Map(),
-          u = {},
-          c = 0,
-          l = i.settings.springTransform || o
-        ;(c = 0),
-          e.forEachNode(function (e) {
-            m(e.id), (c += 1)
-          }),
-          e.forEachLink(y),
-          e.on('changed', v)
-        var d = !1,
-          f = {
-            step: function () {
-              if (0 === c) return h(!0), !0
-              var e = i.step()
-              ;(f.lastMove = e), f.fire('step')
-              var t = e / c <= 0.01
-              return h(t), t
-            },
-            getNodePosition: function (e) {
-              return _(e).pos
-            },
-            setNodePosition: function (e) {
-              var t = _(e)
-              t.setPosition.apply(t, Array.prototype.slice.call(arguments, 1))
-            },
-            getLinkPosition: function (e) {
-              var t = u[e]
-              if (t) return { from: t.from.pos, to: t.to.pos }
-            },
-            getGraphRect: function () {
-              return i.getBBox()
-            },
-            forEachBody: p,
-            pinNode: function (e, t) {
-              _(e.id).isPinned = !!t
-            },
-            isNodePinned: function (e) {
-              return _(e.id).isPinned
-            },
-            dispose: function () {
-              e.off('changed', v), f.fire('disposed')
-            },
-            getBody: function (e) {
-              return s.get(e)
-            },
-            getSpring: function (t, n) {
-              var r
-              if (void 0 === n) r = 'object' !== typeof t ? t : t.id
-              else {
-                var o = e.hasLink(t, n)
-                if (!o) return
-                r = o.id
-              }
-              return u[r]
-            },
-            getForceVectorLength: function () {
-              var e = 0,
-                t = 0
-              return (
-                p(function (n) {
-                  ;(e += Math.abs(n.force.x)), (t += Math.abs(n.force.y))
-                }),
-                Math.sqrt(e * e + t * t)
-              )
-            },
-            simulator: i,
-            graph: e,
-            lastMove: 0,
-          }
-        return r(f), f
-        function h(e) {
-          var t
-          d !== e && ((d = e), (t = e), f.fire('stable', t))
-        }
-        function p(e) {
-          s.forEach(e)
-        }
-        function v(t) {
-          for (var n = 0; n < t.length; ++n) {
-            var r = t[n]
-            'add' === r.changeType
-              ? (r.node && m(r.node.id), r.link && y(r.link))
-              : 'remove' === r.changeType && (r.node && g(r.node), r.link && b(r.link))
-          }
-          c = e.getNodesCount()
-        }
-        function m(t) {
-          var n = s.get(t)
-          if (!n) {
-            var r = e.getNode(t)
-            if (!r) throw new Error('initBody() was called with unknown node id')
-            var o = r.position
-            if (!o) {
-              var a = (function (e) {
-                var t = []
-                if (!e.links) return t
-                for (var n = Math.min(e.links.length, 2), r = 0; r < n; ++r) {
-                  var o = e.links[r],
-                    i = o.fromId !== e.id ? s.get(o.fromId) : s.get(o.toId)
-                  i && i.pos && t.push(i)
-                }
-                return t
-              })(r)
-              o = i.getBestNewBodyPosition(a)
-            }
-            ;((n = i.addBodyAt(o)).id = t),
-              s.set(t, n),
-              w(t),
-              (function (e) {
-                return e && (e.isPinned || (e.data && e.data.isPinned))
-              })(r) && (n.isPinned = !0)
-          }
-        }
-        function g(e) {
-          var t = e.id,
-            n = s.get(t)
-          n && (s.delete(t), i.removeBody(n))
-        }
-        function y(e) {
-          w(e.fromId), w(e.toId)
-          var t = s.get(e.fromId),
-            n = s.get(e.toId),
-            r = i.addSpring(t, n, e.length)
-          l(e, r), (u[e.id] = r)
-        }
-        function b(t) {
-          var n = u[t.id]
-          if (n) {
-            var r = e.getNode(t.fromId),
-              o = e.getNode(t.toId)
-            r && w(r.id), o && w(o.id), delete u[t.id], i.removeSpring(n)
-          }
-        }
-        function w(e) {
-          var t = s.get(e)
-          if (((t.mass = a(e)), Number.isNaN(t.mass)))
-            throw new Error('Node mass should be a number')
-        }
-        function _(e) {
-          var t = s.get(e)
-          return t || (m(e), (t = s.get(e))), t
-        }
-      }),
-        (e.exports.simulator = n(45818))
-      var r = n(84245)
-      function o() {}
-    },
-    15189: function (e, t, n) {
-      const r = n(16422)
-      e.exports = function (e) {
-        return function (t, n) {
-          let o = (n && n.indent) || 0,
-            i = n && void 0 !== n.join ? n.join : '\n',
-            a = Array(o + 1).join(' '),
-            s = []
-          for (let u = 0; u < e; ++u) {
-            let e = r(u),
-              n = 0 === u ? '' : a
-            s.push(n + t.replace(/{var}/g, e))
-          }
-          return s.join(i)
-        }
-      }
-    },
-    30891: function (e, t, n) {
-      ;(e.exports = function (e) {
-        let t = o(e)
-        return new Function('bodies', 'settings', 'random', t)
-      }),
-        (e.exports.generateFunctionBody = o)
-      const r = n(15189)
-      function o(e) {
-        let t = r(e)
-        return `\n  var boundingBox = {\n    ${t('min_{var}: 0, max_{var}: 0,', {
-          indent: 4,
-        })}\n  };\n\n  return {\n    box: boundingBox,\n\n    update: updateBoundingBox,\n\n    reset: resetBoundingBox,\n\n    getBestNewPosition: function (neighbors) {\n      var ${t(
-          'base_{var} = 0',
-          { join: ', ' },
-        )};\n\n      if (neighbors.length) {\n        for (var i = 0; i < neighbors.length; ++i) {\n          let neighborPos = neighbors[i].pos;\n          ${t(
-          'base_{var} += neighborPos.{var};',
-          { indent: 10 },
-        )}\n        }\n\n        ${t('base_{var} /= neighbors.length;', {
-          indent: 8,
-        })}\n      } else {\n        ${t(
-          'base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;',
-          { indent: 8 },
-        )}\n      }\n\n      var springLength = settings.springLength;\n      return {\n        ${t(
-          '{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,',
-          { indent: 8 },
-        )}\n      };\n    }\n  };\n\n  function updateBoundingBox() {\n    var i = bodies.length;\n    if (i === 0) return; // No bodies - no borders.\n\n    ${t(
-          'var max_{var} = -Infinity;',
-          { indent: 4 },
-        )}\n    ${t('var min_{var} = Infinity;', {
-          indent: 4,
-        })}\n\n    while(i--) {\n      // this is O(n), it could be done faster with quadtree, if we check the root node bounds\n      var bodyPos = bodies[i].pos;\n      ${t(
-          'if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};',
-          { indent: 6 },
-        )}\n      ${t('if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};', {
-          indent: 6,
-        })}\n    }\n\n    ${t('boundingBox.min_{var} = min_{var};', { indent: 4 })}\n    ${t(
-          'boundingBox.max_{var} = max_{var};',
-          { indent: 4 },
-        )}\n  }\n\n  function resetBoundingBox() {\n    ${t(
-          'boundingBox.min_{var} = boundingBox.max_{var} = 0;',
-          { indent: 4 },
-        )}\n  }\n`
-      }
-    },
-    6410: function (e, t, n) {
-      const r = n(15189)
-      function o(e, t) {
-        return `\n${a(e, t)}\n${i(e)}\nreturn {Body: Body, Vector: Vector};\n`
-      }
-      function i(e) {
-        let t = r(e),
-          n = t('{var}', { join: ', ' })
-        return `\nfunction Body(${n}) {\n  this.isPinned = false;\n  this.pos = new Vector(${n});\n  this.force = new Vector();\n  this.velocity = new Vector();\n  this.mass = 1;\n\n  this.springCount = 0;\n  this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n  this.force.reset();\n  this.springCount = 0;\n  this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n  ${t(
-          'this.pos.{var} = {var} || 0;',
-          { indent: 2 },
-        )}\n};`
-      }
-      function a(e, t) {
-        let n = r(e),
-          o = ''
-        return (
-          t &&
-            (o = `${n(
-              "\n   var v{var};\nObject.defineProperty(this, '{var}', {\n  set: function(v) { \n    if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n    v{var} = v; \n  },\n  get: function() { return v{var}; }\n});",
-            )}`),
-          `function Vector(${n('{var}', {
-            join: ', ',
-          })}) {\n  ${o}\n    if (typeof arguments[0] === 'object') {\n      // could be another vector\n      let v = arguments[0];\n      ${n(
-            'if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',
-            { indent: 4 },
-          )}\n      ${n('this.{var} = v.{var};', { indent: 4 })}\n    } else {\n      ${n(
-            'this.{var} = typeof {var} === "number" ? {var} : 0;',
-            { indent: 4 },
-          )}\n    }\n  }\n  \n  Vector.prototype.reset = function () {\n    ${n('this.{var} = ', {
-            join: '',
-          })}0;\n  };`
-        )
-      }
-      ;(e.exports = function (e, t) {
-        let n = o(e, t),
-          { Body: r } = new Function(n)()
-        return r
-      }),
-        (e.exports.generateCreateBodyFunctionBody = o),
-        (e.exports.getVectorCode = a),
-        (e.exports.getBodyCode = i)
-    },
-    36647: function (e, t, n) {
-      const r = n(15189)
-      function o(e) {
-        return `\n  if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number');\n\n  return {\n    update: function(body) {\n      ${r(
-          e,
-        )('body.force.{var} -= options.dragCoefficient * body.velocity.{var};', {
-          indent: 6,
-        })}\n    }\n  };\n`
-      }
-      ;(e.exports = function (e) {
-        let t = o(e)
-        return new Function('options', t)
-      }),
-        (e.exports.generateCreateDragForceFunctionBody = o)
-    },
-    34079: function (e, t, n) {
-      const r = n(15189)
-      function o(e) {
-        let t = r(e)
-        return `\n  if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n  if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n  return {\n    /**\n     * Updates forces acting on a spring\n     */\n    update: function (spring) {\n      var body1 = spring.from;\n      var body2 = spring.to;\n      var length = spring.length < 0 ? options.springLength : spring.length;\n      ${t(
-          'var d{var} = body2.pos.{var} - body1.pos.{var};',
-          { indent: 6 },
-        )}\n      var r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n\n      if (r === 0) {\n        ${t('d{var} = (random.nextDouble() - 0.5) / 50;', {
-          indent: 8,
-        })}\n        r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n      }\n\n      var d = r - length;\n      var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n      ${t(
-          'body1.force.{var} += coefficient * d{var}',
-          { indent: 6 },
-        )};\n      body1.springCount += 1;\n      body1.springLength += r;\n\n      ${t(
-          'body2.force.{var} -= coefficient * d{var}',
-          { indent: 6 },
-        )};\n      body2.springCount += 1;\n      body2.springLength += r;\n    }\n  };\n`
-      }
-      ;(e.exports = function (e) {
-        let t = o(e)
-        return new Function('options', 'random', t)
-      }),
-        (e.exports.generateCreateSpringForceFunctionBody = o)
-    },
-    51763: function (e, t, n) {
-      const r = n(15189)
-      function o(e) {
-        let t = r(e)
-        return `\n  var length = bodies.length;\n  if (length === 0) return 0;\n\n  ${t(
-          'var d{var} = 0, t{var} = 0;',
-          { indent: 2 },
-        )}\n\n  for (var i = 0; i < length; ++i) {\n    var body = bodies[i];\n    if (body.isPinned) continue;\n\n    if (adaptiveTimeStepWeight && body.springCount) {\n      timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n    }\n\n    var coeff = timeStep / body.mass;\n\n    ${t(
-          'body.velocity.{var} += coeff * body.force.{var};',
-          { indent: 4 },
-        )}\n    ${t('var v{var} = body.velocity.{var};', { indent: 4 })}\n    var v = Math.sqrt(${t(
-          'v{var} * v{var}',
-          { join: ' + ' },
-        )});\n\n    if (v > 1) {\n      // We normalize it so that we move within timeStep range. \n      // for the case when v <= 1 - we let velocity to fade out.\n      ${t(
-          'body.velocity.{var} = v{var} / v;',
-          { indent: 6 },
-        )}\n    }\n\n    ${t('d{var} = timeStep * body.velocity.{var};', { indent: 4 })}\n\n    ${t(
-          'body.pos.{var} += d{var};',
-          { indent: 4 },
-        )}\n\n    ${t('t{var} += Math.abs(d{var});', { indent: 4 })}\n  }\n\n  return (${t(
-          't{var} * t{var}',
-          { join: ' + ' },
-        )})/length;\n`
-      }
-      ;(e.exports = function (e) {
-        let t = o(e)
-        return new Function('bodies', 'timeStep', 'adaptiveTimeStepWeight', t)
-      }),
-        (e.exports.generateIntegratorFunctionBody = o)
-    },
-    1584: function (e, t, n) {
-      const r = n(15189),
-        o = n(16422)
-      function i(e) {
-        let t = r(e),
-          n = Math.pow(2, e)
-        return `\n${l()}\n${c(e)}\n${a(e)}\n${u(e)}\n${s(
-          e,
-        )}\n\nfunction createQuadTree(options, random) {\n  options = options || {};\n  options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n  options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n  var gravity = options.gravity;\n  var updateQueue = [];\n  var insertStack = new InsertStack();\n  var theta = options.theta;\n\n  var nodesCache = [];\n  var currentInCache = 0;\n  var root = newNode();\n\n  return {\n    insertBodies: insertBodies,\n\n    /**\n     * Gets root node if it is present\n     */\n    getRoot: function() {\n      return root;\n    },\n\n    updateBodyForce: update,\n\n    options: function(newOptions) {\n      if (newOptions) {\n        if (typeof newOptions.gravity === 'number') {\n          gravity = newOptions.gravity;\n        }\n        if (typeof newOptions.theta === 'number') {\n          theta = newOptions.theta;\n        }\n\n        return this;\n      }\n\n      return {\n        gravity: gravity,\n        theta: theta\n      };\n    }\n  };\n\n  function newNode() {\n    // To avoid pressure on GC we reuse nodes.\n    var node = nodesCache[currentInCache];\n    if (node) {\n${(function (
-          e,
-        ) {
-          let t = []
-          for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`)
-          return t.join('\n')
-        })('      node.')}\n      node.body = null;\n      node.mass = ${t('node.mass_{var} = ', {
-          join: '',
-        })}0;\n      ${t('node.min_{var} = node.max_{var} = ', {
-          join: '',
-        })}0;\n    } else {\n      node = new QuadNode();\n      nodesCache[currentInCache] = node;\n    }\n\n    ++currentInCache;\n    return node;\n  }\n\n  function update(sourceBody) {\n    var queue = updateQueue;\n    var v;\n    ${t(
-          'var d{var};',
-          { indent: 4 },
-        )}\n    var r; \n    ${t('var f{var} = 0;', {
-          indent: 4,
-        })}\n    var queueLength = 1;\n    var shiftIdx = 0;\n    var pushIdx = 1;\n\n    queue[0] = root;\n\n    while (queueLength) {\n      var node = queue[shiftIdx];\n      var body = node.body;\n\n      queueLength -= 1;\n      shiftIdx += 1;\n      var differentBody = (body !== sourceBody);\n      if (body && differentBody) {\n        // If the current node is a leaf node (and it is not source body),\n        // calculate the force exerted by the current node on body, and add this\n        // amount to body's net force.\n        ${t(
-          'd{var} = body.pos.{var} - sourceBody.pos.{var};',
-          { indent: 8 },
-        )}\n        r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n\n        if (r === 0) {\n          // Poor man's protection against zero distance.\n          ${t(
-          'd{var} = (random.nextDouble() - 0.5) / 50;',
-          { indent: 10 },
-        )}\n          r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n        }\n\n        // This is standard gravitation force calculation but we divide\n        // by r^3 to save two operations when normalizing force vector.\n        v = gravity * body.mass * sourceBody.mass / (r * r * r);\n        ${t(
-          'f{var} += v * d{var};',
-          { indent: 8 },
-        )}\n      } else if (differentBody) {\n        // Otherwise, calculate the ratio s / r,  where s is the width of the region\n        // represented by the internal node, and r is the distance between the body\n        // and the node's center-of-mass\n        ${t(
-          'd{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};',
-          { indent: 8 },
-        )}\n        r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n\n        if (r === 0) {\n          // Sorry about code duplication. I don't want to create many functions\n          // right away. Just want to see performance first.\n          ${t(
-          'd{var} = (random.nextDouble() - 0.5) / 50;',
-          { indent: 10 },
-        )}\n          r = Math.sqrt(${t('d{var} * d{var}', {
-          join: ' + ',
-        })});\n        }\n        // If s / r < \u03b8, treat this internal node as a single body, and calculate the\n        // force it exerts on sourceBody, and add this amount to sourceBody's net force.\n        if ((node.max_${o(
-          0,
-        )} - node.min_${o(
-          0,
-        )}) / r < theta) {\n          // in the if statement above we consider node's width only\n          // because the region was made into square during tree creation.\n          // Thus there is no difference between using width or height.\n          v = gravity * node.mass * sourceBody.mass / (r * r * r);\n          ${t(
-          'f{var} += v * d{var};',
-          { indent: 10 },
-        )}\n        } else {\n          // Otherwise, run the procedure recursively on each of the current node's children.\n\n          // I intentionally unfolded this loop, to save several CPU cycles.\n${(function () {
-          let e = Array(11).join(' '),
-            t = []
-          for (let r = 0; r < n; ++r)
-            t.push(e + `if (node.quad${r}) {`),
-              t.push(e + `  queue[pushIdx] = node.quad${r};`),
-              t.push(e + '  queueLength += 1;'),
-              t.push(e + '  pushIdx += 1;'),
-              t.push(e + '}')
-          return t.join('\n')
-        })()}\n        }\n      }\n    }\n\n    ${t('sourceBody.force.{var} += f{var};', {
-          indent: 4,
-        })}\n  }\n\n  function insertBodies(bodies) {\n    ${t('var {var}min = Number.MAX_VALUE;', {
-          indent: 4,
-        })}\n    ${t('var {var}max = Number.MIN_VALUE;', {
-          indent: 4,
-        })}\n    var i = bodies.length;\n\n    // To reduce quad tree depth we are looking for exact bounding box of all particles.\n    while (i--) {\n      var pos = bodies[i].pos;\n      ${t(
-          'if (pos.{var} < {var}min) {var}min = pos.{var};',
-          { indent: 6 },
-        )}\n      ${t('if (pos.{var} > {var}max) {var}max = pos.{var};', {
-          indent: 6,
-        })}\n    }\n\n    // Makes the bounds square.\n    var maxSideLength = -Infinity;\n    ${t(
-          'if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;',
-          { indent: 4 },
-        )}\n\n    currentInCache = 0;\n    root = newNode();\n    ${t(
-          'root.min_{var} = {var}min;',
-          { indent: 4 },
-        )}\n    ${t('root.max_{var} = {var}min + maxSideLength;', {
-          indent: 4,
-        })}\n\n    i = bodies.length - 1;\n    if (i >= 0) {\n      root.body = bodies[i];\n    }\n    while (i--) {\n      insert(bodies[i], root);\n    }\n  }\n\n  function insert(newBody) {\n    insertStack.reset();\n    insertStack.push(root, newBody);\n\n    while (!insertStack.isEmpty()) {\n      var stackItem = insertStack.pop();\n      var node = stackItem.node;\n      var body = stackItem.body;\n\n      if (!node.body) {\n        // This is internal node. Update the total mass of the node and center-of-mass.\n        ${t(
-          'var {var} = body.pos.{var};',
-          { indent: 8 },
-        )}\n        node.mass += body.mass;\n        ${t('node.mass_{var} += body.mass * {var};', {
-          indent: 8,
-        })}\n\n        // Recursively insert the body in the appropriate quadrant.\n        // But first find the appropriate quadrant.\n        var quadIdx = 0; // Assume we are in the 0's quad.\n        ${t(
-          'var min_{var} = node.min_{var};',
-          { indent: 8 },
-        )}\n        ${t('var max_{var} = (min_{var} + node.max_{var}) / 2;', {
-          indent: 8,
-        })}\n\n${(function (t) {
-          let n = [],
-            r = Array(t + 1).join(' ')
-          for (let i = 0; i < e; ++i)
-            n.push(r + `if (${o(i)} > max_${o(i)}) {`),
-              n.push(r + `  quadIdx = quadIdx + ${Math.pow(2, i)};`),
-              n.push(r + `  min_${o(i)} = max_${o(i)};`),
-              n.push(r + `  max_${o(i)} = node.max_${o(i)};`),
-              n.push(r + '}')
-          return n.join('\n')
-        })(
-          8,
-        )}\n\n        var child = getChild(node, quadIdx);\n\n        if (!child) {\n          // The node is internal but this quadrant is not taken. Add\n          // subnode to it.\n          child = newNode();\n          ${t(
-          'child.min_{var} = min_{var};',
-          { indent: 10 },
-        )}\n          ${t('child.max_{var} = max_{var};', {
-          indent: 10,
-        })}\n          child.body = body;\n\n          setChild(node, quadIdx, child);\n        } else {\n          // continue searching in this quadrant.\n          insertStack.push(child, body);\n        }\n      } else {\n        // We are trying to add to the leaf node.\n        // We have to convert current leaf into internal node\n        // and continue adding two nodes.\n        var oldBody = node.body;\n        node.body = null; // internal nodes do not cary bodies\n\n        if (isSamePosition(oldBody.pos, body.pos)) {\n          // Prevent infinite subdivision by bumping one node\n          // anywhere in this quadrant\n          var retriesCount = 3;\n          do {\n            var offset = random.nextDouble();\n            ${t(
-          'var d{var} = (node.max_{var} - node.min_{var}) * offset;',
-          { indent: 12 },
-        )}\n\n            ${t('oldBody.pos.{var} = node.min_{var} + d{var};', {
-          indent: 12,
-        })}\n            retriesCount -= 1;\n            // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n          } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n          if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n            // This is very bad, we ran out of precision.\n            // if we do not return from the method we'll get into\n            // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n            // Next layout iteration should get larger bounding box in the first step and fix this\n            return;\n          }\n        }\n        // Next iteration should subdivide node further.\n        insertStack.push(node, oldBody);\n        insertStack.push(node, body);\n      }\n    }\n  }\n}\nreturn createQuadTree;\n\n`
-      }
-      function a(e) {
-        let t = r(e)
-        return `\n  function isSamePosition(point1, point2) {\n    ${t(
-          'var d{var} = Math.abs(point1.{var} - point2.{var});',
-          { indent: 2 },
-        )}\n  \n    return ${t('d{var} < 1e-8', { join: ' && ' })};\n  }  \n`
-      }
-      function s(e) {
-        var t = Math.pow(2, e)
-        return `\nfunction setChild(node, idx, child) {\n  ${(function () {
-          let e = []
-          for (let n = 0; n < t; ++n) {
-            let t = 0 === n ? '  ' : '  else '
-            e.push(`${t}if (idx === ${n}) node.quad${n} = child;`)
-          }
-          return e.join('\n')
-        })()}\n}`
-      }
-      function u(e) {
-        return `function getChild(node, idx) {\n${(function () {
-          let t = [],
-            n = Math.pow(2, e)
-          for (let e = 0; e < n; ++e) t.push(`  if (idx === ${e}) return node.quad${e};`)
-          return t.join('\n')
-        })()}\n  return null;\n}`
-      }
-      function c(e) {
-        let t = r(e),
-          n = Math.pow(2, e)
-        return `\nfunction QuadNode() {\n  // body stored inside this node. In quad tree only leaf nodes (by construction)\n  // contain bodies:\n  this.body = null;\n\n  // Child nodes are stored in quads. Each quad is presented by number:\n  // 0 | 1\n  // -----\n  // 2 | 3\n${(function (
-          e,
-        ) {
-          let t = []
-          for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`)
-          return t.join('\n')
-        })(
-          '  this.',
-        )}\n\n  // Total mass of current node\n  this.mass = 0;\n\n  // Center of mass coordinates\n  ${t(
-          'this.mass_{var} = 0;',
-          { indent: 2 },
-        )}\n\n  // bounding box coordinates\n  ${t('this.min_{var} = 0;', { indent: 2 })}\n  ${t(
-          'this.max_{var} = 0;',
-          { indent: 2 },
-        )}\n}\n`
-      }
-      function l() {
-        return '\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n    this.stack = [];\n    this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n    isEmpty: function() {\n        return this.popIdx === 0;\n    },\n    push: function (node, body) {\n        var item = this.stack[this.popIdx];\n        if (!item) {\n            // we are trying to avoid memory pressure: create new element\n            // only when absolutely necessary\n            this.stack[this.popIdx] = new InsertStackElement(node, body);\n        } else {\n            item.node = node;\n            item.body = body;\n        }\n        ++this.popIdx;\n    },\n    pop: function () {\n        if (this.popIdx > 0) {\n            return this.stack[--this.popIdx];\n        }\n    },\n    reset: function () {\n        this.popIdx = 0;\n    }\n};\n\nfunction InsertStackElement(node, body) {\n    this.node = node; // QuadTree node\n    this.body = body; // physical body which needs to be inserted to node\n}\n'
-      }
-      ;(e.exports = function (e) {
-        let t = i(e)
-        return new Function(t)()
-      }),
-        (e.exports.generateQuadTreeFunctionBody = i),
-        (e.exports.getInsertStackCode = l),
-        (e.exports.getQuadNodeCode = c),
-        (e.exports.isSamePosition = a),
-        (e.exports.getChildBodyCode = u),
-        (e.exports.setChildBodyCode = s)
-    },
-    16422: function (e) {
-      e.exports = function (e) {
-        return 0 === e ? 'x' : 1 === e ? 'y' : 2 === e ? 'z' : 'c' + (e + 1)
-      }
-    },
-    45818: function (e, t, n) {
-      e.exports = function (e) {
-        var t = n(68403),
-          d = n(35510),
-          f = n(84245)
-        if (e) {
-          if (void 0 !== e.springCoeff)
-            throw new Error('springCoeff was renamed to springCoefficient')
-          if (void 0 !== e.dragCoeff) throw new Error('dragCoeff was renamed to dragCoefficient')
-        }
-        e = d(e, {
-          springLength: 10,
-          springCoefficient: 0.8,
-          gravity: -12,
-          theta: 0.8,
-          dragCoefficient: 0.9,
-          timeStep: 0.5,
-          adaptiveTimeStepWeight: 0,
-          dimensions: 2,
-          debug: !1,
-        })
-        var h = c[e.dimensions]
-        if (!h) {
-          var p = e.dimensions
-          ;(h = {
-            Body: r(p, e.debug),
-            createQuadTree: o(p),
-            createBounds: i(p),
-            createDragForce: a(p),
-            createSpringForce: s(p),
-            integrate: u(p),
-          }),
-            (c[p] = h)
-        }
-        var v = h.Body,
-          m = h.createQuadTree,
-          g = h.createBounds,
-          y = h.createDragForce,
-          b = h.createSpringForce,
-          w = h.integrate,
-          _ = n(78712).random(42),
-          x = [],
-          k = [],
-          E = m(e, _),
-          O = g(x, e, _),
-          T = b(e, _),
-          C = y(e),
-          M = [],
-          S = new Map(),
-          P = 0
-        A('nbody', function () {
-          if (0 === x.length) return
-          E.insertBodies(x)
-          var e = x.length
-          for (; e--; ) {
-            var t = x[e]
-            t.isPinned || (t.reset(), E.updateBodyForce(t), C.update(t))
-          }
-        }),
-          A('spring', function () {
-            var e = k.length
-            for (; e--; ) T.update(k[e])
-          })
-        var j = {
-          bodies: x,
-          quadTree: E,
-          springs: k,
-          settings: e,
-          addForce: A,
-          removeForce: function (e) {
-            var t = M.indexOf(S.get(e))
-            if (t < 0) return
-            M.splice(t, 1), S.delete(e)
-          },
-          getForces: function () {
-            return S
-          },
-          step: function () {
-            for (var t = 0; t < M.length; ++t) M[t](P)
-            var n = w(x, e.timeStep, e.adaptiveTimeStepWeight)
-            return (P += 1), n
-          },
-          addBody: function (e) {
-            if (!e) throw new Error('Body is required')
-            return x.push(e), e
-          },
-          addBodyAt: function (e) {
-            if (!e) throw new Error('Body position is required')
-            var t = ((e) => new v(e))(e)
-            return x.push(t), t
-          },
-          removeBody: function (e) {
-            if (e) {
-              var t = x.indexOf(e)
-              if (!(t < 0)) return x.splice(t, 1), 0 === x.length && O.reset(), !0
-            }
-          },
-          addSpring: function (e, n, r, o) {
-            if (!e || !n) throw new Error('Cannot add null spring to force simulator')
-            'number' !== typeof r && (r = -1)
-            var i = new t(e, n, r, o >= 0 ? o : -1)
-            return k.push(i), i
-          },
-          getTotalMovement: function () {
-            return 0
-          },
-          removeSpring: function (e) {
-            if (e) {
-              var t = k.indexOf(e)
-              return t > -1 ? (k.splice(t, 1), !0) : void 0
-            }
-          },
-          getBestNewBodyPosition: function (e) {
-            return O.getBestNewPosition(e)
-          },
-          getBBox: I,
-          getBoundingBox: I,
-          invalidateBBox: function () {
-            console.warn(
-              'invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call',
-            )
-          },
-          gravity: function (t) {
-            return void 0 !== t ? ((e.gravity = t), E.options({ gravity: t }), this) : e.gravity
-          },
-          theta: function (t) {
-            return void 0 !== t ? ((e.theta = t), E.options({ theta: t }), this) : e.theta
-          },
-          random: _,
-        }
-        return (
-          (function (e, t) {
-            for (var n in e) l(e, t, n)
-          })(e, j),
-          f(j),
-          j
-        )
-        function I() {
-          return O.update(), O.box
-        }
-        function A(e, t) {
-          if (S.has(e)) throw new Error('Force ' + e + ' is already added')
-          S.set(e, t), M.push(t)
-        }
-      }
-      var r = n(6410),
-        o = n(1584),
-        i = n(30891),
-        a = n(36647),
-        s = n(34079),
-        u = n(51763),
-        c = {}
-      function l(e, t, n) {
-        if (e.hasOwnProperty(n) && 'function' !== typeof t[n]) {
-          var r = Number.isFinite(e[n])
-          t[n] = r
-            ? function (r) {
-                if (void 0 !== r) {
-                  if (!Number.isFinite(r))
-                    throw new Error('Value of ' + n + ' should be a valid number.')
-                  return (e[n] = r), t
-                }
-                return e[n]
-              }
-            : function (r) {
-                return void 0 !== r ? ((e[n] = r), t) : e[n]
-              }
-        }
-      }
-    },
-    68403: function (e) {
-      e.exports = function (e, t, n, r) {
-        ;(this.from = e), (this.to = t), (this.length = n), (this.coefficient = r)
-      }
-    },
-    54736: function (e, t, n) {
-      e.exports = function (e) {
-        'uniqueLinkId' in (e = e || {}) &&
-          (console.warn(
-            'ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n',
-            '\n',
-            'Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique).',
-          ),
-          (e.multigraph = e.uniqueLinkId))
-        void 0 === e.multigraph && (e.multigraph = !1)
-        if ('function' !== typeof Map)
-          throw new Error(
-            'ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph',
-          )
-        var t = new Map(),
-          n = [],
-          c = {},
-          l = 0,
-          d = e.multigraph
-            ? function (e, t, n) {
-                var r = u(e, t),
-                  o = c.hasOwnProperty(r)
-                if (o || T(e, t)) {
-                  o || (c[r] = 0)
-                  var i = '@' + ++c[r]
-                  r = u(e + i, t + i)
-                }
-                return new s(e, t, n, r)
-              }
-            : function (e, t, n) {
-                var r = u(e, t)
-                return new s(e, t, n, r)
-              },
-          f = [],
-          h = C,
-          p = C,
-          v = C,
-          m = C,
-          g = {
-            addNode: w,
-            addLink: function (e, t, r) {
-              v()
-              var o = _(e) || w(e),
-                i = _(t) || w(t),
-                s = d(e, t, r)
-              n.push(s), a(o, s), e !== t && a(i, s)
-              return h(s, 'add'), m(), s
-            },
-            removeLink: O,
-            removeNode: x,
-            getNode: _,
-            getNodeCount: k,
-            getLinkCount: E,
-            getLinksCount: E,
-            getNodesCount: k,
-            getLinks: function (e) {
-              var t = _(e)
-              return t ? t.links : null
-            },
-            forEachNode: P,
-            forEachLinkedNode: function (e, n, r) {
-              var o = _(e)
-              if (o && o.links && 'function' === typeof n)
-                return r
-                  ? (function (e, n, r) {
-                      for (var o = 0; o < e.length; ++o) {
-                        var i = e[o]
-                        if (i.fromId === n && r(t.get(i.toId), i)) return !0
-                      }
-                    })(o.links, e, n)
-                  : (function (e, n, r) {
-                      for (var o = 0; o < e.length; ++o) {
-                        var i = e[o],
-                          a = i.fromId === n ? i.toId : i.fromId
-                        if (r(t.get(a), i)) return !0
-                      }
-                    })(o.links, e, n)
-            },
-            forEachLink: function (e) {
-              var t, r
-              if ('function' === typeof e) for (t = 0, r = n.length; t < r; ++t) e(n[t])
-            },
-            beginUpdate: v,
-            endUpdate: m,
-            clear: function () {
-              v(),
-                P(function (e) {
-                  x(e.id)
-                }),
-                m()
-            },
-            hasLink: T,
-            hasNode: _,
-            getLink: T,
-          }
-        return (
-          r(g),
-          (function () {
-            var e = g.on
-            function t() {
-              return (
-                (g.beginUpdate = v = M),
-                (g.endUpdate = m = S),
-                (h = y),
-                (p = b),
-                (g.on = e),
-                e.apply(g, arguments)
-              )
-            }
-            g.on = t
-          })(),
-          g
-        )
-        function y(e, t) {
-          f.push({ link: e, changeType: t })
-        }
-        function b(e, t) {
-          f.push({ node: e, changeType: t })
-        }
-        function w(e, n) {
-          if (void 0 === e) throw new Error('Invalid node identifier')
-          v()
-          var r = _(e)
-          return (
-            r ? ((r.data = n), p(r, 'update')) : ((r = new i(e, n)), p(r, 'add')),
-            t.set(e, r),
-            m(),
-            r
-          )
-        }
-        function _(e) {
-          return t.get(e)
-        }
-        function x(e) {
-          var n = _(e)
-          if (!n) return !1
-          v()
-          var r = n.links
-          if (r) {
-            n.links = null
-            for (var o = 0; o < r.length; ++o) O(r[o])
-          }
-          return t.delete(e), p(n, 'remove'), m(), !0
-        }
-        function k() {
-          return t.size
-        }
-        function E() {
-          return n.length
-        }
-        function O(e) {
-          if (!e) return !1
-          var t = o(e, n)
-          if (t < 0) return !1
-          v(), n.splice(t, 1)
-          var r = _(e.fromId),
-            i = _(e.toId)
-          return (
-            r && (t = o(e, r.links)) >= 0 && r.links.splice(t, 1),
-            i && (t = o(e, i.links)) >= 0 && i.links.splice(t, 1),
-            h(e, 'remove'),
-            m(),
-            !0
-          )
-        }
-        function T(e, t) {
-          var n,
-            r = _(e)
-          if (!r || !r.links) return null
-          for (n = 0; n < r.links.length; ++n) {
-            var o = r.links[n]
-            if (o.fromId === e && o.toId === t) return o
-          }
-          return null
-        }
-        function C() {}
-        function M() {
-          l += 1
-        }
-        function S() {
-          0 === (l -= 1) && f.length > 0 && (g.fire('changed', f), (f.length = 0))
-        }
-        function P(e) {
-          if ('function' !== typeof e)
-            throw new Error('Function is expected to iterate over graph nodes. You passed ' + e)
-          for (var n = t.values(), r = n.next(); !r.done; ) {
-            if (e(r.value)) return !0
-            r = n.next()
-          }
-        }
-      }
-      var r = n(84245)
-      function o(e, t) {
-        if (!t) return -1
-        if (t.indexOf) return t.indexOf(e)
-        var n,
-          r = t.length
-        for (n = 0; n < r; n += 1) if (t[n] === e) return n
-        return -1
-      }
-      function i(e, t) {
-        ;(this.id = e), (this.links = null), (this.data = t)
-      }
-      function a(e, t) {
-        e.links ? e.links.push(t) : (e.links = [t])
-      }
-      function s(e, t, n, r) {
-        ;(this.fromId = e), (this.toId = t), (this.data = n), (this.id = r)
-      }
-      function u(e, t) {
-        return e.toString() + '\ud83d\udc49 ' + t.toString()
-      }
-    },
-    35510: function (e) {
-      e.exports = function e(t, n) {
-        var r
-        t || (t = {})
-        if (n)
-          for (r in n)
-            if (n.hasOwnProperty(r)) {
-              var o = t.hasOwnProperty(r),
-                i = typeof n[r]
-              !o || typeof t[r] !== i ? (t[r] = n[r]) : 'object' === i && (t[r] = e(t[r], n[r]))
-            }
-        return t
-      }
-    },
-    78712: function (e) {
-      function t(e) {
-        return new n('number' === typeof e ? e : +new Date())
-      }
-      function n(e) {
-        this.seed = e
-      }
-      function r(e) {
-        return (
-          Math.sqrt((2 * Math.PI) / e) *
-          Math.pow((1 / Math.E) * (e + 1 / (12 * e - 1 / (10 * e))), e)
-        )
-      }
-      function o() {
-        var e = this.seed
-        return (
-          (e =
-            4294967295 &
-            (3042594569 ^
-              (e =
-                ((e =
-                  4294967295 &
-                  (((e =
-                    ((e =
-                      4294967295 &
-                      (3345072700 ^ (e = (e + 2127912214 + (e << 12)) & 4294967295) ^ (e >>> 19))) +
-                      374761393 +
-                      (e << 5)) &
-                    4294967295) +
-                    3550635116) ^
-                    (e << 9))) +
-                  4251993797 +
-                  (e << 3)) &
-                4294967295) ^
-              (e >>> 16))),
-          (this.seed = e),
-          (268435455 & e) / 268435456
-        )
-      }
-      ;(e.exports = t),
-        (e.exports.random = t),
-        (e.exports.randomIterator = function (e, n) {
-          var r = n || t()
-          if ('function' !== typeof r.next)
-            throw new Error('customRandom does not match expected API: next() function is missing')
-          return {
-            forEach: function (t) {
-              var n, o, i
-              for (n = e.length - 1; n > 0; --n)
-                (o = r.next(n + 1)), (i = e[o]), (e[o] = e[n]), (e[n] = i), t(i)
-              e.length && t(e[0])
-            },
-            shuffle: function () {
-              var t, n, o
-              for (t = e.length - 1; t > 0; --t)
-                (n = r.next(t + 1)), (o = e[n]), (e[n] = e[t]), (e[t] = o)
-              return e
-            },
-          }
-        }),
-        (n.prototype.next = function (e) {
-          return Math.floor(this.nextDouble() * e)
-        }),
-        (n.prototype.nextDouble = o),
-        (n.prototype.uniform = o),
-        (n.prototype.gaussian = function () {
-          var e, t, n
-          do {
-            ;(t = 2 * this.nextDouble() - 1), (n = 2 * this.nextDouble() - 1), (e = t * t + n * n)
-          } while (e >= 1 || 0 === e)
-          return t * Math.sqrt((-2 * Math.log(e)) / e)
-        }),
-        (n.prototype.levy = function () {
-          var e = 1.5,
-            t = Math.pow(
-              (r(2.5) * Math.sin((Math.PI * e) / 2)) / (r(1.25) * e * Math.pow(2, 0.25)),
-              1 / e,
-            )
-          return (this.gaussian() * t) / Math.pow(Math.abs(this.gaussian()), 1 / e)
-        })
-    },
-    75: function (e, t, n) {
-      var r = n(34155)
-      ;(function () {
-        var t, n, o, i, a, s
-        'undefined' !== typeof performance && null !== performance && performance.now
-          ? (e.exports = function () {
-              return performance.now()
-            })
-          : 'undefined' !== typeof r && null !== r && r.hrtime
-          ? ((e.exports = function () {
-              return (t() - a) / 1e6
-            }),
-            (n = r.hrtime),
-            (i = (t = function () {
-              var e
-              return 1e9 * (e = n())[0] + e[1]
-            })()),
-            (s = 1e9 * r.uptime()),
-            (a = i - s))
-          : Date.now
-          ? ((e.exports = function () {
-              return Date.now() - o
-            }),
-            (o = Date.now()))
-          : ((e.exports = function () {
-              return new Date().getTime() - o
-            }),
-            (o = new Date().getTime()))
-      }.call(this))
-    },
-    87236: function (e) {
-      var t = null,
-        n = ['Webkit', 'Moz', 'O', 'ms']
-      e.exports = function (e) {
-        t || (t = document.createElement('div'))
-        var r = t.style
-        if (e in r) return e
-        for (var o = e.charAt(0).toUpperCase() + e.slice(1), i = n.length; i >= 0; i--) {
-          var a = n[i] + o
-          if (a in r) return a
-        }
-        return !1
-      }
-    },
-    34155: function (e) {
-      var t,
-        n,
-        r = (e.exports = {})
-      function o() {
-        throw new Error('setTimeout has not been defined')
-      }
-      function i() {
-        throw new Error('clearTimeout has not been defined')
-      }
-      function a(e) {
-        if (t === setTimeout) return setTimeout(e, 0)
-        if ((t === o || !t) && setTimeout) return (t = setTimeout), setTimeout(e, 0)
-        try {
-          return t(e, 0)
-        } catch (n) {
-          try {
-            return t.call(null, e, 0)
-          } catch (n) {
-            return t.call(this, e, 0)
-          }
-        }
-      }
-      !(function () {
-        try {
-          t = 'function' === typeof setTimeout ? setTimeout : o
-        } catch (e) {
-          t = o
-        }
-        try {
-          n = 'function' === typeof clearTimeout ? clearTimeout : i
-        } catch (e) {
-          n = i
-        }
-      })()
-      var s,
-        u = [],
-        c = !1,
-        l = -1
-      function d() {
-        c && s && ((c = !1), s.length ? (u = s.concat(u)) : (l = -1), u.length && f())
-      }
-      function f() {
-        if (!c) {
-          var e = a(d)
-          c = !0
-          for (var t = u.length; t; ) {
-            for (s = u, u = []; ++l < t; ) s && s[l].run()
-            ;(l = -1), (t = u.length)
-          }
-          ;(s = null),
-            (c = !1),
-            (function (e) {
-              if (n === clearTimeout) return clearTimeout(e)
-              if ((n === i || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e)
-              try {
-                n(e)
-              } catch (t) {
-                try {
-                  return n.call(null, e)
-                } catch (t) {
-                  return n.call(this, e)
-                }
-              }
-            })(e)
-        }
-      }
-      function h(e, t) {
-        ;(this.fun = e), (this.array = t)
-      }
-      function p() {}
-      ;(r.nextTick = function (e) {
-        var t = new Array(arguments.length - 1)
-        if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
-        u.push(new h(e, t)), 1 !== u.length || c || a(f)
-      }),
-        (h.prototype.run = function () {
-          this.fun.apply(null, this.array)
-        }),
-        (r.title = 'browser'),
-        (r.browser = !0),
-        (r.env = {}),
-        (r.argv = []),
-        (r.version = ''),
-        (r.versions = {}),
-        (r.on = p),
-        (r.addListener = p),
-        (r.once = p),
-        (r.off = p),
-        (r.removeListener = p),
-        (r.removeAllListeners = p),
-        (r.emit = p),
-        (r.prependListener = p),
-        (r.prependOnceListener = p),
-        (r.listeners = function (e) {
-          return []
-        }),
-        (r.binding = function (e) {
-          throw new Error('process.binding is not supported')
-        }),
-        (r.cwd = function () {
-          return '/'
-        }),
-        (r.chdir = function (e) {
-          throw new Error('process.chdir is not supported')
-        }),
-        (r.umask = function () {
-          return 0
-        })
-    },
-    54087: function (e, t, n) {
-      for (
-        var r = n(75),
-          o = 'undefined' === typeof window ? n.g : window,
-          i = ['moz', 'webkit'],
-          a = 'AnimationFrame',
-          s = o['request' + a],
-          u = o['cancel' + a] || o['cancelRequest' + a],
-          c = 0;
-        !s && c < i.length;
-        c++
-      )
-        (s = o[i[c] + 'Request' + a]), (u = o[i[c] + 'Cancel' + a] || o[i[c] + 'CancelRequest' + a])
-      if (!s || !u) {
-        var l = 0,
-          d = 0,
-          f = []
-        ;(s = function (e) {
-          if (0 === f.length) {
-            var t = r(),
-              n = Math.max(0, 16.666666666666668 - (t - l))
-            ;(l = n + t),
-              setTimeout(function () {
-                var e = f.slice(0)
-                f.length = 0
-                for (var t = 0; t < e.length; t++)
-                  if (!e[t].cancelled)
-                    try {
-                      e[t].callback(l)
-                    } catch (n) {
-                      setTimeout(function () {
-                        throw n
-                      }, 0)
-                    }
-              }, Math.round(n))
-          }
-          return f.push({ handle: ++d, callback: e, cancelled: !1 }), d
-        }),
-          (u = function (e) {
-            for (var t = 0; t < f.length; t++) f[t].handle === e && (f[t].cancelled = !0)
-          })
-      }
-      ;(e.exports = function (e) {
-        return s.call(o, e)
-      }),
-        (e.exports.cancel = function () {
-          u.apply(o, arguments)
-        }),
-        (e.exports.polyfill = function (e) {
-          e || (e = o), (e.requestAnimationFrame = s), (e.cancelAnimationFrame = u)
-        })
-    },
-    33485: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      var r =
-        Object.assign ||
-        function (e) {
-          for (var t = 1; t < arguments.length; t++) {
-            var n = arguments[t]
-            for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-          }
-          return e
-        }
-      ;(t.renderViewDefault = function (e) {
-        return a.default.createElement('div', e)
-      }),
-        (t.renderTrackHorizontalDefault = function (e) {
-          var t = e.style,
-            n = s(e, ['style']),
-            o = r({}, t, { right: 2, bottom: 2, left: 2, borderRadius: 3 })
-          return a.default.createElement('div', r({ style: o }, n))
-        }),
-        (t.renderTrackVerticalDefault = function (e) {
-          var t = e.style,
-            n = s(e, ['style']),
-            o = r({}, t, { right: 2, bottom: 2, top: 2, borderRadius: 3 })
-          return a.default.createElement('div', r({ style: o }, n))
-        }),
-        (t.renderThumbHorizontalDefault = function (e) {
-          var t = e.style,
-            n = s(e, ['style']),
-            o = r({}, t, {
-              cursor: 'pointer',
-              borderRadius: 'inherit',
-              backgroundColor: 'rgba(0,0,0,.2)',
-            })
-          return a.default.createElement('div', r({ style: o }, n))
-        }),
-        (t.renderThumbVerticalDefault = function (e) {
-          var t = e.style,
-            n = s(e, ['style']),
-            o = r({}, t, {
-              cursor: 'pointer',
-              borderRadius: 'inherit',
-              backgroundColor: 'rgba(0,0,0,.2)',
-            })
-          return a.default.createElement('div', r({ style: o }, n))
-        })
-      var o,
-        i = n(67294),
-        a = (o = i) && o.__esModule ? o : { default: o }
-      function s(e, t) {
-        var n = {}
-        for (var r in e)
-          t.indexOf(r) >= 0 || (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]))
-        return n
-      }
-    },
-    36164: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      var r =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          },
-        o = (function () {
-          function e(e, t) {
-            for (var n = 0; n < t.length; n++) {
-              var r = t[n]
-              ;(r.enumerable = r.enumerable || !1),
-                (r.configurable = !0),
-                'value' in r && (r.writable = !0),
-                Object.defineProperty(e, r.key, r)
-            }
-          }
-          return function (t, n, r) {
-            return n && e(t.prototype, n), r && e(t, r), t
-          }
-        })(),
-        i = n(54087),
-        a = g(i),
-        s = g(n(53879)),
-        u = n(67294),
-        c = g(n(45697)),
-        l = g(n(77928)),
-        d = g(n(66445)),
-        f = g(n(18309)),
-        h = g(n(51608)),
-        p = g(n(43840)),
-        v = n(58285),
-        m = n(33485)
-      function g(e) {
-        return e && e.__esModule ? e : { default: e }
-      }
-      function y(e, t) {
-        if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-      }
-      function b(e, t) {
-        if (!e)
-          throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
-        return !t || ('object' !== typeof t && 'function' !== typeof t) ? e : t
-      }
-      var w = (function (e) {
-        function t(e) {
-          var n
-          y(this, t)
-          for (var r = arguments.length, o = Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
-            o[i - 1] = arguments[i]
-          var a = b(
-            this,
-            (n = t.__proto__ || Object.getPrototypeOf(t)).call.apply(n, [this, e].concat(o)),
-          )
-          return (
-            (a.getScrollLeft = a.getScrollLeft.bind(a)),
-            (a.getScrollTop = a.getScrollTop.bind(a)),
-            (a.getScrollWidth = a.getScrollWidth.bind(a)),
-            (a.getScrollHeight = a.getScrollHeight.bind(a)),
-            (a.getClientWidth = a.getClientWidth.bind(a)),
-            (a.getClientHeight = a.getClientHeight.bind(a)),
-            (a.getValues = a.getValues.bind(a)),
-            (a.getThumbHorizontalWidth = a.getThumbHorizontalWidth.bind(a)),
-            (a.getThumbVerticalHeight = a.getThumbVerticalHeight.bind(a)),
-            (a.getScrollLeftForOffset = a.getScrollLeftForOffset.bind(a)),
-            (a.getScrollTopForOffset = a.getScrollTopForOffset.bind(a)),
-            (a.scrollLeft = a.scrollLeft.bind(a)),
-            (a.scrollTop = a.scrollTop.bind(a)),
-            (a.scrollToLeft = a.scrollToLeft.bind(a)),
-            (a.scrollToTop = a.scrollToTop.bind(a)),
-            (a.scrollToRight = a.scrollToRight.bind(a)),
-            (a.scrollToBottom = a.scrollToBottom.bind(a)),
-            (a.handleTrackMouseEnter = a.handleTrackMouseEnter.bind(a)),
-            (a.handleTrackMouseLeave = a.handleTrackMouseLeave.bind(a)),
-            (a.handleHorizontalTrackMouseDown = a.handleHorizontalTrackMouseDown.bind(a)),
-            (a.handleVerticalTrackMouseDown = a.handleVerticalTrackMouseDown.bind(a)),
-            (a.handleHorizontalThumbMouseDown = a.handleHorizontalThumbMouseDown.bind(a)),
-            (a.handleVerticalThumbMouseDown = a.handleVerticalThumbMouseDown.bind(a)),
-            (a.handleWindowResize = a.handleWindowResize.bind(a)),
-            (a.handleScroll = a.handleScroll.bind(a)),
-            (a.handleDrag = a.handleDrag.bind(a)),
-            (a.handleDragEnd = a.handleDragEnd.bind(a)),
-            (a.state = { didMountUniversal: !1 }),
-            a
-          )
-        }
-        return (
-          (function (e, t) {
-            if ('function' !== typeof t && null !== t)
-              throw new TypeError(
-                'Super expression must either be null or a function, not ' + typeof t,
-              )
-            ;(e.prototype = Object.create(t && t.prototype, {
-              constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 },
-            })),
-              t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : (e.__proto__ = t))
-          })(t, e),
-          o(t, [
-            {
-              key: 'componentDidMount',
-              value: function () {
-                this.addListeners(), this.update(), this.componentDidMountUniversal()
-              },
-            },
-            {
-              key: 'componentDidMountUniversal',
-              value: function () {
-                this.props.universal && this.setState({ didMountUniversal: !0 })
-              },
-            },
-            {
-              key: 'componentDidUpdate',
-              value: function () {
-                this.update()
-              },
-            },
-            {
-              key: 'componentWillUnmount',
-              value: function () {
-                this.removeListeners(),
-                  (0, i.cancel)(this.requestFrame),
-                  clearTimeout(this.hideTracksTimeout),
-                  clearInterval(this.detectScrollingInterval)
-              },
-            },
-            {
-              key: 'getScrollLeft',
-              value: function () {
-                return this.view ? this.view.scrollLeft : 0
-              },
-            },
-            {
-              key: 'getScrollTop',
-              value: function () {
-                return this.view ? this.view.scrollTop : 0
-              },
-            },
-            {
-              key: 'getScrollWidth',
-              value: function () {
-                return this.view ? this.view.scrollWidth : 0
-              },
-            },
-            {
-              key: 'getScrollHeight',
-              value: function () {
-                return this.view ? this.view.scrollHeight : 0
-              },
-            },
-            {
-              key: 'getClientWidth',
-              value: function () {
-                return this.view ? this.view.clientWidth : 0
-              },
-            },
-            {
-              key: 'getClientHeight',
-              value: function () {
-                return this.view ? this.view.clientHeight : 0
-              },
-            },
-            {
-              key: 'getValues',
-              value: function () {
-                var e = this.view || {},
-                  t = e.scrollLeft,
-                  n = void 0 === t ? 0 : t,
-                  r = e.scrollTop,
-                  o = void 0 === r ? 0 : r,
-                  i = e.scrollWidth,
-                  a = void 0 === i ? 0 : i,
-                  s = e.scrollHeight,
-                  u = void 0 === s ? 0 : s,
-                  c = e.clientWidth,
-                  l = void 0 === c ? 0 : c,
-                  d = e.clientHeight,
-                  f = void 0 === d ? 0 : d
-                return {
-                  left: n / (a - l) || 0,
-                  top: o / (u - f) || 0,
-                  scrollLeft: n,
-                  scrollTop: o,
-                  scrollWidth: a,
-                  scrollHeight: u,
-                  clientWidth: l,
-                  clientHeight: f,
-                }
-              },
-            },
-            {
-              key: 'getThumbHorizontalWidth',
-              value: function () {
-                var e = this.props,
-                  t = e.thumbSize,
-                  n = e.thumbMinSize,
-                  r = this.view,
-                  o = r.scrollWidth,
-                  i = r.clientWidth,
-                  a = (0, h.default)(this.trackHorizontal),
-                  s = Math.ceil((i / o) * a)
-                return a <= s ? 0 : t || Math.max(s, n)
-              },
-            },
-            {
-              key: 'getThumbVerticalHeight',
-              value: function () {
-                var e = this.props,
-                  t = e.thumbSize,
-                  n = e.thumbMinSize,
-                  r = this.view,
-                  o = r.scrollHeight,
-                  i = r.clientHeight,
-                  a = (0, p.default)(this.trackVertical),
-                  s = Math.ceil((i / o) * a)
-                return a <= s ? 0 : t || Math.max(s, n)
-              },
-            },
-            {
-              key: 'getScrollLeftForOffset',
-              value: function (e) {
-                var t = this.view,
-                  n = t.scrollWidth,
-                  r = t.clientWidth
-                return (
-                  (e / ((0, h.default)(this.trackHorizontal) - this.getThumbHorizontalWidth())) *
-                  (n - r)
-                )
-              },
-            },
-            {
-              key: 'getScrollTopForOffset',
-              value: function (e) {
-                var t = this.view,
-                  n = t.scrollHeight,
-                  r = t.clientHeight
-                return (
-                  (e / ((0, p.default)(this.trackVertical) - this.getThumbVerticalHeight())) *
-                  (n - r)
-                )
-              },
-            },
-            {
-              key: 'scrollLeft',
-              value: function () {
-                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0
-                this.view && (this.view.scrollLeft = e)
-              },
-            },
-            {
-              key: 'scrollTop',
-              value: function () {
-                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0
-                this.view && (this.view.scrollTop = e)
-              },
-            },
-            {
-              key: 'scrollToLeft',
-              value: function () {
-                this.view && (this.view.scrollLeft = 0)
-              },
-            },
-            {
-              key: 'scrollToTop',
-              value: function () {
-                this.view && (this.view.scrollTop = 0)
-              },
-            },
-            {
-              key: 'scrollToRight',
-              value: function () {
-                this.view && (this.view.scrollLeft = this.view.scrollWidth)
-              },
-            },
-            {
-              key: 'scrollToBottom',
-              value: function () {
-                this.view && (this.view.scrollTop = this.view.scrollHeight)
-              },
-            },
-            {
-              key: 'addListeners',
-              value: function () {
-                if ('undefined' !== typeof document && this.view) {
-                  var e = this.view,
-                    t = this.trackHorizontal,
-                    n = this.trackVertical,
-                    r = this.thumbHorizontal,
-                    o = this.thumbVertical
-                  e.addEventListener('scroll', this.handleScroll),
-                    (0, d.default)() &&
-                      (t.addEventListener('mouseenter', this.handleTrackMouseEnter),
-                      t.addEventListener('mouseleave', this.handleTrackMouseLeave),
-                      t.addEventListener('mousedown', this.handleHorizontalTrackMouseDown),
-                      n.addEventListener('mouseenter', this.handleTrackMouseEnter),
-                      n.addEventListener('mouseleave', this.handleTrackMouseLeave),
-                      n.addEventListener('mousedown', this.handleVerticalTrackMouseDown),
-                      r.addEventListener('mousedown', this.handleHorizontalThumbMouseDown),
-                      o.addEventListener('mousedown', this.handleVerticalThumbMouseDown),
-                      window.addEventListener('resize', this.handleWindowResize))
-                }
-              },
-            },
-            {
-              key: 'removeListeners',
-              value: function () {
-                if ('undefined' !== typeof document && this.view) {
-                  var e = this.view,
-                    t = this.trackHorizontal,
-                    n = this.trackVertical,
-                    r = this.thumbHorizontal,
-                    o = this.thumbVertical
-                  e.removeEventListener('scroll', this.handleScroll),
-                    (0, d.default)() &&
-                      (t.removeEventListener('mouseenter', this.handleTrackMouseEnter),
-                      t.removeEventListener('mouseleave', this.handleTrackMouseLeave),
-                      t.removeEventListener('mousedown', this.handleHorizontalTrackMouseDown),
-                      n.removeEventListener('mouseenter', this.handleTrackMouseEnter),
-                      n.removeEventListener('mouseleave', this.handleTrackMouseLeave),
-                      n.removeEventListener('mousedown', this.handleVerticalTrackMouseDown),
-                      r.removeEventListener('mousedown', this.handleHorizontalThumbMouseDown),
-                      o.removeEventListener('mousedown', this.handleVerticalThumbMouseDown),
-                      window.removeEventListener('resize', this.handleWindowResize),
-                      this.teardownDragging())
-                }
-              },
-            },
-            {
-              key: 'handleScroll',
-              value: function (e) {
-                var t = this,
-                  n = this.props,
-                  r = n.onScroll,
-                  o = n.onScrollFrame
-                r && r(e),
-                  this.update(function (e) {
-                    var n = e.scrollLeft,
-                      r = e.scrollTop
-                    ;(t.viewScrollLeft = n), (t.viewScrollTop = r), o && o(e)
-                  }),
-                  this.detectScrolling()
-              },
-            },
-            {
-              key: 'handleScrollStart',
-              value: function () {
-                var e = this.props.onScrollStart
-                e && e(), this.handleScrollStartAutoHide()
-              },
-            },
-            {
-              key: 'handleScrollStartAutoHide',
-              value: function () {
-                this.props.autoHide && this.showTracks()
-              },
-            },
-            {
-              key: 'handleScrollStop',
-              value: function () {
-                var e = this.props.onScrollStop
-                e && e(), this.handleScrollStopAutoHide()
-              },
-            },
-            {
-              key: 'handleScrollStopAutoHide',
-              value: function () {
-                this.props.autoHide && this.hideTracks()
-              },
-            },
-            {
-              key: 'handleWindowResize',
-              value: function () {
-                ;(0, d.default)(!1), this.forceUpdate()
-              },
-            },
-            {
-              key: 'handleHorizontalTrackMouseDown',
-              value: function (e) {
-                e.preventDefault()
-                var t = e.target,
-                  n = e.clientX,
-                  r = t.getBoundingClientRect().left,
-                  o = this.getThumbHorizontalWidth(),
-                  i = Math.abs(r - n) - o / 2
-                this.view.scrollLeft = this.getScrollLeftForOffset(i)
-              },
-            },
-            {
-              key: 'handleVerticalTrackMouseDown',
-              value: function (e) {
-                e.preventDefault()
-                var t = e.target,
-                  n = e.clientY,
-                  r = t.getBoundingClientRect().top,
-                  o = this.getThumbVerticalHeight(),
-                  i = Math.abs(r - n) - o / 2
-                this.view.scrollTop = this.getScrollTopForOffset(i)
-              },
-            },
-            {
-              key: 'handleHorizontalThumbMouseDown',
-              value: function (e) {
-                e.preventDefault(), this.handleDragStart(e)
-                var t = e.target,
-                  n = e.clientX,
-                  r = t.offsetWidth,
-                  o = t.getBoundingClientRect().left
-                this.prevPageX = r - (n - o)
-              },
-            },
-            {
-              key: 'handleVerticalThumbMouseDown',
-              value: function (e) {
-                e.preventDefault(), this.handleDragStart(e)
-                var t = e.target,
-                  n = e.clientY,
-                  r = t.offsetHeight,
-                  o = t.getBoundingClientRect().top
-                this.prevPageY = r - (n - o)
-              },
-            },
-            {
-              key: 'setupDragging',
-              value: function () {
-                ;(0, s.default)(document.body, v.disableSelectStyle),
-                  document.addEventListener('mousemove', this.handleDrag),
-                  document.addEventListener('mouseup', this.handleDragEnd),
-                  (document.onselectstart = f.default)
-              },
-            },
-            {
-              key: 'teardownDragging',
-              value: function () {
-                ;(0, s.default)(document.body, v.disableSelectStyleReset),
-                  document.removeEventListener('mousemove', this.handleDrag),
-                  document.removeEventListener('mouseup', this.handleDragEnd),
-                  (document.onselectstart = void 0)
-              },
-            },
-            {
-              key: 'handleDragStart',
-              value: function (e) {
-                ;(this.dragging = !0), e.stopImmediatePropagation(), this.setupDragging()
-              },
-            },
-            {
-              key: 'handleDrag',
-              value: function (e) {
-                if (this.prevPageX) {
-                  var t = e.clientX,
-                    n =
-                      -this.trackHorizontal.getBoundingClientRect().left +
-                      t -
-                      (this.getThumbHorizontalWidth() - this.prevPageX)
-                  this.view.scrollLeft = this.getScrollLeftForOffset(n)
-                }
-                if (this.prevPageY) {
-                  var r = e.clientY,
-                    o =
-                      -this.trackVertical.getBoundingClientRect().top +
-                      r -
-                      (this.getThumbVerticalHeight() - this.prevPageY)
-                  this.view.scrollTop = this.getScrollTopForOffset(o)
-                }
-                return !1
-              },
-            },
-            {
-              key: 'handleDragEnd',
-              value: function () {
-                ;(this.dragging = !1),
-                  (this.prevPageX = this.prevPageY = 0),
-                  this.teardownDragging(),
-                  this.handleDragEndAutoHide()
-              },
-            },
-            {
-              key: 'handleDragEndAutoHide',
-              value: function () {
-                this.props.autoHide && this.hideTracks()
-              },
-            },
-            {
-              key: 'handleTrackMouseEnter',
-              value: function () {
-                ;(this.trackMouseOver = !0), this.handleTrackMouseEnterAutoHide()
-              },
-            },
-            {
-              key: 'handleTrackMouseEnterAutoHide',
-              value: function () {
-                this.props.autoHide && this.showTracks()
-              },
-            },
-            {
-              key: 'handleTrackMouseLeave',
-              value: function () {
-                ;(this.trackMouseOver = !1), this.handleTrackMouseLeaveAutoHide()
-              },
-            },
-            {
-              key: 'handleTrackMouseLeaveAutoHide',
-              value: function () {
-                this.props.autoHide && this.hideTracks()
-              },
-            },
-            {
-              key: 'showTracks',
-              value: function () {
-                clearTimeout(this.hideTracksTimeout),
-                  (0, s.default)(this.trackHorizontal, { opacity: 1 }),
-                  (0, s.default)(this.trackVertical, { opacity: 1 })
-              },
-            },
-            {
-              key: 'hideTracks',
-              value: function () {
-                var e = this
-                if (!this.dragging && !this.scrolling && !this.trackMouseOver) {
-                  var t = this.props.autoHideTimeout
-                  clearTimeout(this.hideTracksTimeout),
-                    (this.hideTracksTimeout = setTimeout(function () {
-                      ;(0, s.default)(e.trackHorizontal, { opacity: 0 }),
-                        (0, s.default)(e.trackVertical, { opacity: 0 })
-                    }, t))
-                }
-              },
-            },
-            {
-              key: 'detectScrolling',
-              value: function () {
-                var e = this
-                this.scrolling ||
-                  ((this.scrolling = !0),
-                  this.handleScrollStart(),
-                  (this.detectScrollingInterval = setInterval(function () {
-                    e.lastViewScrollLeft === e.viewScrollLeft &&
-                      e.lastViewScrollTop === e.viewScrollTop &&
-                      (clearInterval(e.detectScrollingInterval),
-                      (e.scrolling = !1),
-                      e.handleScrollStop()),
-                      (e.lastViewScrollLeft = e.viewScrollLeft),
-                      (e.lastViewScrollTop = e.viewScrollTop)
-                  }, 100)))
-              },
-            },
-            {
-              key: 'raf',
-              value: function (e) {
-                var t = this
-                this.requestFrame && a.default.cancel(this.requestFrame),
-                  (this.requestFrame = (0, a.default)(function () {
-                    ;(t.requestFrame = void 0), e()
-                  }))
-              },
-            },
-            {
-              key: 'update',
-              value: function (e) {
-                var t = this
-                this.raf(function () {
-                  return t._update(e)
-                })
-              },
-            },
-            {
-              key: '_update',
-              value: function (e) {
-                var t = this.props,
-                  n = t.onUpdate,
-                  r = t.hideTracksWhenNotNeeded,
-                  o = this.getValues()
-                if ((0, d.default)()) {
-                  var i = o.scrollLeft,
-                    a = o.clientWidth,
-                    u = o.scrollWidth,
-                    c = (0, h.default)(this.trackHorizontal),
-                    l = this.getThumbHorizontalWidth(),
-                    f = { width: l, transform: 'translateX(' + (i / (u - a)) * (c - l) + 'px)' },
-                    v = o.scrollTop,
-                    m = o.clientHeight,
-                    g = o.scrollHeight,
-                    y = (0, p.default)(this.trackVertical),
-                    b = this.getThumbVerticalHeight(),
-                    w = { height: b, transform: 'translateY(' + (v / (g - m)) * (y - b) + 'px)' }
-                  if (r) {
-                    var _ = { visibility: u > a ? 'visible' : 'hidden' },
-                      x = { visibility: g > m ? 'visible' : 'hidden' }
-                    ;(0, s.default)(this.trackHorizontal, _), (0, s.default)(this.trackVertical, x)
-                  }
-                  ;(0, s.default)(this.thumbHorizontal, f), (0, s.default)(this.thumbVertical, w)
-                }
-                n && n(o), 'function' === typeof e && e(o)
-              },
-            },
-            {
-              key: 'render',
-              value: function () {
-                var e = this,
-                  t = (0, d.default)(),
-                  n = this.props,
-                  o =
-                    (n.onScroll,
-                    n.onScrollFrame,
-                    n.onScrollStart,
-                    n.onScrollStop,
-                    n.onUpdate,
-                    n.renderView),
-                  i = n.renderTrackHorizontal,
-                  a = n.renderTrackVertical,
-                  s = n.renderThumbHorizontal,
-                  c = n.renderThumbVertical,
-                  f = n.tagName,
-                  h = (n.hideTracksWhenNotNeeded, n.autoHide),
-                  p = (n.autoHideTimeout, n.autoHideDuration),
-                  m = (n.thumbSize, n.thumbMinSize, n.universal),
-                  g = n.autoHeight,
-                  y = n.autoHeightMin,
-                  b = n.autoHeightMax,
-                  w = n.style,
-                  _ = n.children,
-                  x = (function (e, t) {
-                    var n = {}
-                    for (var r in e)
-                      t.indexOf(r) >= 0 ||
-                        (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]))
-                    return n
-                  })(n, [
-                    'onScroll',
-                    'onScrollFrame',
-                    'onScrollStart',
-                    'onScrollStop',
-                    'onUpdate',
-                    'renderView',
-                    'renderTrackHorizontal',
-                    'renderTrackVertical',
-                    'renderThumbHorizontal',
-                    'renderThumbVertical',
-                    'tagName',
-                    'hideTracksWhenNotNeeded',
-                    'autoHide',
-                    'autoHideTimeout',
-                    'autoHideDuration',
-                    'thumbSize',
-                    'thumbMinSize',
-                    'universal',
-                    'autoHeight',
-                    'autoHeightMin',
-                    'autoHeightMax',
-                    'style',
-                    'children',
-                  ]),
-                  k = this.state.didMountUniversal,
-                  E = r(
-                    {},
-                    v.containerStyleDefault,
-                    g && r({}, v.containerStyleAutoHeight, { minHeight: y, maxHeight: b }),
-                    w,
-                  ),
-                  O = r(
-                    {},
-                    v.viewStyleDefault,
-                    { marginRight: t ? -t : 0, marginBottom: t ? -t : 0 },
-                    g &&
-                      r({}, v.viewStyleAutoHeight, {
-                        minHeight: (0, l.default)(y) ? 'calc(' + y + ' + ' + t + 'px)' : y + t,
-                        maxHeight: (0, l.default)(b) ? 'calc(' + b + ' + ' + t + 'px)' : b + t,
-                      }),
-                    g && m && !k && { minHeight: y, maxHeight: b },
-                    m && !k && v.viewStyleUniversalInitial,
-                  ),
-                  T = { transition: 'opacity ' + p + 'ms', opacity: 0 },
-                  C = r(
-                    {},
-                    v.trackHorizontalStyleDefault,
-                    h && T,
-                    (!t || (m && !k)) && { display: 'none' },
-                  ),
-                  M = r(
-                    {},
-                    v.trackVerticalStyleDefault,
-                    h && T,
-                    (!t || (m && !k)) && { display: 'none' },
-                  )
-                return (0, u.createElement)(
-                  f,
-                  r({}, x, {
-                    style: E,
-                    ref: function (t) {
-                      e.container = t
-                    },
-                  }),
-                  [
-                    (0, u.cloneElement)(
-                      o({ style: O }),
-                      {
-                        key: 'view',
-                        ref: function (t) {
-                          e.view = t
-                        },
-                      },
-                      _,
-                    ),
-                    (0, u.cloneElement)(
-                      i({ style: C }),
-                      {
-                        key: 'trackHorizontal',
-                        ref: function (t) {
-                          e.trackHorizontal = t
-                        },
-                      },
-                      (0, u.cloneElement)(s({ style: v.thumbHorizontalStyleDefault }), {
-                        ref: function (t) {
-                          e.thumbHorizontal = t
-                        },
-                      }),
-                    ),
-                    (0, u.cloneElement)(
-                      a({ style: M }),
-                      {
-                        key: 'trackVertical',
-                        ref: function (t) {
-                          e.trackVertical = t
-                        },
-                      },
-                      (0, u.cloneElement)(c({ style: v.thumbVerticalStyleDefault }), {
-                        ref: function (t) {
-                          e.thumbVertical = t
-                        },
-                      }),
-                    ),
-                  ],
-                )
-              },
-            },
-          ]),
-          t
-        )
-      })(u.Component)
-      ;(t.default = w),
-        (w.propTypes = {
-          onScroll: c.default.func,
-          onScrollFrame: c.default.func,
-          onScrollStart: c.default.func,
-          onScrollStop: c.default.func,
-          onUpdate: c.default.func,
-          renderView: c.default.func,
-          renderTrackHorizontal: c.default.func,
-          renderTrackVertical: c.default.func,
-          renderThumbHorizontal: c.default.func,
-          renderThumbVertical: c.default.func,
-          tagName: c.default.string,
-          thumbSize: c.default.number,
-          thumbMinSize: c.default.number,
-          hideTracksWhenNotNeeded: c.default.bool,
-          autoHide: c.default.bool,
-          autoHideTimeout: c.default.number,
-          autoHideDuration: c.default.number,
-          autoHeight: c.default.bool,
-          autoHeightMin: c.default.oneOfType([c.default.number, c.default.string]),
-          autoHeightMax: c.default.oneOfType([c.default.number, c.default.string]),
-          universal: c.default.bool,
-          style: c.default.object,
-          children: c.default.node,
-        }),
-        (w.defaultProps = {
-          renderView: m.renderViewDefault,
-          renderTrackHorizontal: m.renderTrackHorizontalDefault,
-          renderTrackVertical: m.renderTrackVerticalDefault,
-          renderThumbHorizontal: m.renderThumbHorizontalDefault,
-          renderThumbVertical: m.renderThumbVerticalDefault,
-          tagName: 'div',
-          thumbMinSize: 30,
-          hideTracksWhenNotNeeded: !1,
-          autoHide: !1,
-          autoHideTimeout: 1e3,
-          autoHideDuration: 200,
-          autoHeight: !1,
-          autoHeightMin: 0,
-          autoHeightMax: 200,
-          universal: !1,
-        })
-    },
-    58285: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      ;(t.containerStyleDefault = {
-        position: 'relative',
-        overflow: 'hidden',
-        width: '100%',
-        height: '100%',
-      }),
-        (t.containerStyleAutoHeight = { height: 'auto' }),
-        (t.viewStyleDefault = {
-          position: 'absolute',
-          top: 0,
-          left: 0,
-          right: 0,
-          bottom: 0,
-          overflow: 'scroll',
-          WebkitOverflowScrolling: 'touch',
-        }),
-        (t.viewStyleAutoHeight = {
-          position: 'relative',
-          top: void 0,
-          left: void 0,
-          right: void 0,
-          bottom: void 0,
-        }),
-        (t.viewStyleUniversalInitial = { overflow: 'hidden', marginRight: 0, marginBottom: 0 }),
-        (t.trackHorizontalStyleDefault = { position: 'absolute', height: 6 }),
-        (t.trackVerticalStyleDefault = { position: 'absolute', width: 6 }),
-        (t.thumbHorizontalStyleDefault = {
-          position: 'relative',
-          display: 'block',
-          height: '100%',
-        }),
-        (t.thumbVerticalStyleDefault = { position: 'relative', display: 'block', width: '100%' }),
-        (t.disableSelectStyle = { userSelect: 'none' }),
-        (t.disableSelectStyleReset = { userSelect: '' })
-    },
-    86658: function (e, t, n) {
-      'use strict'
-      var r,
-        o = n(36164),
-        i = (r = o) && r.__esModule ? r : { default: r }
-      ;(t.ZP = i.default), i.default
-    },
-    43840: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.default = function (e) {
-          var t = e.clientHeight,
-            n = getComputedStyle(e),
-            r = n.paddingTop,
-            o = n.paddingBottom
-          return t - parseFloat(r) - parseFloat(o)
-        })
-    },
-    51608: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.default = function (e) {
-          var t = e.clientWidth,
-            n = getComputedStyle(e),
-            r = n.paddingLeft,
-            o = n.paddingRight
-          return t - parseFloat(r) - parseFloat(o)
-        })
-    },
-    66445: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.default = function () {
-          var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]
-          if (e && !1 !== a) return a
-          if ('undefined' !== typeof document) {
-            var t = document.createElement('div')
-            ;(0, i.default)(t, {
-              width: 100,
-              height: 100,
-              position: 'absolute',
-              top: -9999,
-              overflow: 'scroll',
-              MsOverflowStyle: 'scrollbar',
-            }),
-              document.body.appendChild(t),
-              (a = t.offsetWidth - t.clientWidth),
-              document.body.removeChild(t)
-          } else a = 0
-          return a || 0
-        })
-      var r,
-        o = n(53879),
-        i = (r = o) && r.__esModule ? r : { default: r }
-      var a = !1
-    },
-    77928: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.default = function (e) {
-          return 'string' === typeof e
-        })
-    },
-    18309: function (e, t) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.default = function () {
-          return !1
-        })
-    },
-    69590: function (e) {
-      var t = 'undefined' !== typeof Element,
-        n = 'function' === typeof Map,
-        r = 'function' === typeof Set,
-        o = 'function' === typeof ArrayBuffer && !!ArrayBuffer.isView
-      function i(e, a) {
-        if (e === a) return !0
-        if (e && a && 'object' == typeof e && 'object' == typeof a) {
-          if (e.constructor !== a.constructor) return !1
-          var s, u, c, l
-          if (Array.isArray(e)) {
-            if ((s = e.length) != a.length) return !1
-            for (u = s; 0 !== u--; ) if (!i(e[u], a[u])) return !1
-            return !0
-          }
-          if (n && e instanceof Map && a instanceof Map) {
-            if (e.size !== a.size) return !1
-            for (l = e.entries(); !(u = l.next()).done; ) if (!a.has(u.value[0])) return !1
-            for (l = e.entries(); !(u = l.next()).done; )
-              if (!i(u.value[1], a.get(u.value[0]))) return !1
-            return !0
-          }
-          if (r && e instanceof Set && a instanceof Set) {
-            if (e.size !== a.size) return !1
-            for (l = e.entries(); !(u = l.next()).done; ) if (!a.has(u.value[0])) return !1
-            return !0
-          }
-          if (o && ArrayBuffer.isView(e) && ArrayBuffer.isView(a)) {
-            if ((s = e.length) != a.length) return !1
-            for (u = s; 0 !== u--; ) if (e[u] !== a[u]) return !1
-            return !0
-          }
-          if (e.constructor === RegExp) return e.source === a.source && e.flags === a.flags
-          if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === a.valueOf()
-          if (e.toString !== Object.prototype.toString) return e.toString() === a.toString()
-          if ((s = (c = Object.keys(e)).length) !== Object.keys(a).length) return !1
-          for (u = s; 0 !== u--; ) if (!Object.prototype.hasOwnProperty.call(a, c[u])) return !1
-          if (t && e instanceof Element) return !1
-          for (u = s; 0 !== u--; )
-            if (
-              (('_owner' !== c[u] && '__v' !== c[u] && '__o' !== c[u]) || !e.$$typeof) &&
-              !i(e[c[u]], a[c[u]])
-            )
-              return !1
-          return !0
-        }
-        return e !== e && a !== a
-      }
-      e.exports = function (e, t) {
-        try {
-          return i(e, t)
-        } catch (n) {
-          if ((n.message || '').match(/stack|recursion/i))
-            return console.warn('react-fast-compare cannot handle circular refs'), !1
-          throw n
-        }
-      }
-    },
-    61957: function (e, n, r) {
-      'use strict'
-      r.d(n, {
-        f$: function () {
-          return Hi
-        },
-        s6: function () {
-          return Bi
-        },
-      })
-      var o = r(67294)
-      function i(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function a(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          u(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function s(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return c(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          u(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function u(e, t) {
-        if (e) {
-          if ('string' === typeof e) return c(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? c(e, t)
-              : void 0
-          )
-        }
-      }
-      function c(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var l = function (e, t) {
-          var n = new Set(t)
-          return Object.assign.apply(
-            Object,
-            [{}].concat(
-              s(
-                Object.entries(e)
-                  .filter(function (e) {
-                    var t = a(e, 1)[0]
-                    return !n.has(t)
-                  })
-                  .map(function (e) {
-                    var t = a(e, 2)
-                    return i({}, t[0], t[1])
-                  }),
-              ),
-            ),
-          )
-        },
-        d = r(23405),
-        f = r.n(d)
-      function h(e) {
-        return (h =
-          'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
-            ? function (e) {
-                return typeof e
-              }
-            : function (e) {
-                return e &&
-                  'function' === typeof Symbol &&
-                  e.constructor === Symbol &&
-                  e !== Symbol.prototype
-                  ? 'symbol'
-                  : typeof e
-              })(e)
-      }
-      function p(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          m(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function v(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return g(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          m(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function m(e, t) {
-        if (e) {
-          if ('string' === typeof e) return g(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? g(e, t)
-              : void 0
-          )
-        }
-      }
-      function g(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var y = function (e, t) {
-          var n =
-              'object' === h(t)
-                ? t
-                : {
-                    wrapperElementType: t,
-                    methodNames: (arguments.length <= 2 ? void 0 : arguments[2]) || void 0,
-                    initPropNames: (arguments.length <= 3 ? void 0 : arguments[3]) || void 0,
-                  },
-            r = n.wrapperElementType,
-            i = void 0 === r ? 'div' : r,
-            a = n.nodeMapper,
-            s =
-              void 0 === a
-                ? function (e) {
-                    return e
-                  }
-                : a,
-            u = n.methodNames,
-            c = void 0 === u ? [] : u,
-            d = n.initPropNames,
-            m = void 0 === d ? [] : d
-          return (0, o.forwardRef)(function (t, n) {
-            var r = (0, o.useRef)(),
-              a = p((0, o.useState)({}), 2),
-              u = a[0],
-              d = a[1]
-            ;(0, o.useEffect)(function () {
-              return d(t)
-            })
-            var h = (0, o.useMemo)(function () {
-              var n = f()(
-                m
-                  .filter(function (e) {
-                    return t.hasOwnProperty(e)
-                  })
-                  .map(function (e) {
-                    return [e, t[e]]
-                  }),
-              )
-              return e(n)
-            }, [])
-            ;(0, o.useLayoutEffect)(function () {
-              h(s(r.current))
-            }, []),
-              (0, o.useEffect)(function () {
-                return h._destructor instanceof Function ? h._destructor : void 0
-              }, [])
-            var g = (0, o.useCallback)(
-                function (e) {
-                  for (
-                    var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
-                    r < t;
-                    r++
-                  )
-                    n[r - 1] = arguments[r]
-                  return h[e] instanceof Function ? h[e].apply(h, n) : void 0
-                },
-                [h],
-              ),
-              y = l(t, [].concat(v(c), v(m)))
-            return (
-              Object.keys(y)
-                .filter(function (e) {
-                  return u[e] !== t[e]
-                })
-                .forEach(function (e) {
-                  return g(e, t[e])
-                }),
-              (0, o.useImperativeHandle)(n, function () {
-                return f()(
-                  c.map(function (e) {
-                    return [
-                      e,
-                      function () {
-                        for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
-                          n[r] = arguments[r]
-                        return g.apply(void 0, [e].concat(n))
-                      },
-                    ]
-                  }),
-                )
-              }),
-              o.createElement(i, { ref: r })
-            )
-          })
-        },
-        b = (r(75569), r(60401), r(31359), r(44858)),
-        w = r(92539)
-      function _(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function x(e) {
-        for (var t = 1; t < arguments.length; t++) {
-          var n = null != arguments[t] ? arguments[t] : {}
-          t % 2
-            ? _(Object(n), !0).forEach(function (t) {
-                k(e, t, n[t])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-            : _(Object(n)).forEach(function (t) {
-                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-              })
-        }
-        return e
-      }
-      function k(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function E(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n =
-              null == e
-                ? null
-                : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          T(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function O(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return C(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          T(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function T(e, t) {
-        if (e) {
-          if ('string' === typeof e) return C(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? C(e, t)
-              : void 0
-          )
-        }
-      }
-      function C(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      !(function (e, t) {
-        void 0 === t && (t = {})
-        var n = t.insertAt
-        if (e && 'undefined' !== typeof document) {
-          var r = document.head || document.getElementsByTagName('head')[0],
-            o = document.createElement('style')
-          ;(o.type = 'text/css'),
-            'top' === n && r.firstChild ? r.insertBefore(o, r.firstChild) : r.appendChild(o),
-            o.styleSheet ? (o.styleSheet.cssText = e) : o.appendChild(document.createTextNode(e))
-        }
-      })(
-        '.graph-nav-info {\n  position: absolute;\n  bottom: 5px;\n  width: 100%;\n  text-align: center;\n  color: slategrey;\n  opacity: 0.7;\n  font-size: 10px;\n  font-family: Sans-serif;\n  z-index: 1000;\n}',
-      )
-      var M = (0, b.Z)({
-          props: {
-            width: {
-              default: window.innerWidth,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.container && (t.container.style.width = e)
-              },
-            },
-            height: {
-              default: window.innerHeight,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.container && (t.container.style.height = e)
-              },
-            },
-            jsonUrl: {},
-            graphData: { default: { nodes: [], links: [] } },
-            numDimensions: { default: 3 },
-            dagMode: {},
-            dagLevelDistance: {},
-            dagNodeFilter: {
-              default: function () {
-                return !0
-              },
-            },
-            onDagError: { default: void 0 },
-            backgroundColor: { default: '#002' },
-            showNavInfo: { default: !0 },
-            nodeRelSize: { default: 4 },
-            nodeId: { default: 'id' },
-            nodeLabel: { default: 'name' },
-            nodeDesc: { default: 'desc' },
-            onNodeHover: {},
-            onNodeClick: {},
-            nodeVal: { default: 'val' },
-            nodeResolution: { default: 8 },
-            nodeVisibility: { default: !0 },
-            nodeColor: { default: 'color' },
-            nodeAutoColorBy: {},
-            nodeOpacity: { default: 0.75 },
-            nodeThreeObject: {},
-            nodeThreeObjectExtend: { default: !1 },
-            linkSource: { default: 'source' },
-            linkTarget: { default: 'target' },
-            linkLabel: { default: 'name' },
-            linkDesc: { default: 'desc' },
-            onLinkHover: {},
-            onLinkClick: {},
-            linkVisibility: { default: !0 },
-            linkColor: { default: 'color' },
-            linkAutoColorBy: {},
-            linkOpacity: { default: 0.2 },
-            linkWidth: { default: 0 },
-            linkResolution: { default: 6 },
-            linkCurvature: { default: 0 },
-            linkCurveRotation: { default: 0 },
-            linkMaterial: {},
-            linkThreeObject: {},
-            linkThreeObjectExtend: { default: !1 },
-            linkPositionUpdate: {},
-            linkDirectionalArrowLength: { default: 0 },
-            linkDirectionalArrowColor: {},
-            linkDirectionalArrowRelPos: { default: 0.5 },
-            linkDirectionalArrowResolution: { default: 8 },
-            linkDirectionalParticles: { default: 0 },
-            linkDirectionalParticleSpeed: { default: 0.01 },
-            linkDirectionalParticleWidth: { default: 0.5 },
-            linkDirectionalParticleColor: {},
-            linkDirectionalParticleResolution: { default: 4 },
-            forceEngine: { default: 'd3' },
-            d3AlphaMin: { default: 0 },
-            d3AlphaDecay: { default: 0.0228 },
-            d3VelocityDecay: { default: 0.4 },
-            ngraphPhysics: {},
-            warmupTicks: { default: 0 },
-            cooldownTicks: {},
-            cooldownTime: { default: 15e3 },
-            onEngineTick: {},
-            onEngineStop: {},
-          },
-          methods: x(
-            x(
-              {},
-              Object.assign.apply(
-                Object,
-                [{}].concat(
-                  O(
-                    [
-                      'getGraphBbox',
-                      'emitParticle',
-                      'd3Force',
-                      'd3ReheatSimulation',
-                      'refresh',
-                    ].map(function (e) {
-                      return k({}, e, function (t) {
-                        for (
-                          var n = t.forcegraph.components.forcegraph,
-                            r = arguments.length,
-                            o = new Array(r > 1 ? r - 1 : 0),
-                            i = 1;
-                          i < r;
-                          i++
-                        )
-                          o[i - 1] = arguments[i]
-                        var a = n[e].apply(n, o)
-                        return a === n ? this : a
-                      })
-                    }),
-                  ),
-                ),
-              ),
-            ),
-            {},
-            {
-              _destructor: function () {
-                this.graphData({ nodes: [], links: [] })
-              },
-            },
-          ),
-          init: function (e, t) {
-            ;(e.innerHTML = ''),
-              (t.container = document.createElement('div')),
-              e.appendChild(t.container),
-              (t.container.style.position = 'relative'),
-              (t.container.style.width = t.width),
-              (t.container.style.height = t.height),
-              t.container.appendChild((t.navInfo = document.createElement('div'))),
-              (t.navInfo.className = 'graph-nav-info'),
-              (t.navInfo.textContent = 'Mouse drag: look, gamepad/arrow/wasd keys: move')
-            var n,
-              r,
-              o,
-              i,
-              a,
-              s = document.createElement('a-scene')
-            s.setAttribute('embedded', ''),
-              s.appendChild((t.sky = document.createElement('a-sky'))),
-              t.sky.setAttribute('radius', 3e3),
-              s.appendChild((n = document.createElement('a-entity'))),
-              n.setAttribute('position', '0 0 300'),
-              n.setAttribute('movement-controls', 'fly: true; speed: 7'),
-              n.appendChild((r = document.createElement('a-entity'))),
-              r.setAttribute('camera', ''),
-              r.setAttribute('position', '0 0 0'),
-              r.setAttribute('look-controls', 'reverseMouseDrag: false; pointerLockEnabled: false'),
-              r.appendChild((o = document.createElement('a-text'))),
-              o.setAttribute('position', '0 -0.3 -1'),
-              o.setAttribute('width', 2),
-              o.setAttribute('align', 'center'),
-              o.setAttribute('color', 'lavender'),
-              o.setAttribute('value', ''),
-              r.appendChild((i = document.createElement('a-text'))),
-              i.setAttribute('position', '0 -0.4 -1'),
-              i.setAttribute('width', 1.3),
-              i.setAttribute('align', 'center'),
-              i.setAttribute('color', 'lavender'),
-              i.setAttribute('value', ''),
-              s.appendChild((a = document.createElement('a-entity'))),
-              a.setAttribute('cursor', 'rayOrigin: mouse; mouseCursorStylesEnabled: true'),
-              a.setAttribute('raycaster', 'objects: [forcegraph]; interval: 100'),
-              ['left', 'right'].forEach(function (e) {
-                var t
-                n.appendChild((t = document.createElement('a-entity'))),
-                  t.setAttribute('laser-controls', 'hand: '.concat(e)),
-                  t.setAttribute(
-                    'raycaster',
-                    'objects: [forcegraph]; interval: 100; lineColor: steelblue; lineOpacity: 0.85',
-                  )
-              }),
-              s.appendChild((t.forcegraph = document.createElement('a-entity'))),
-              t.forcegraph.setAttribute('forcegraph', null),
-              t.container.appendChild(s),
-              t.forcegraph.setAttribute(
-                'forcegraph',
-                Object.assign.apply(
-                  Object,
-                  O(
-                    ['node', 'link'].map(function (e) {
-                      var n = { node: 'Node', link: 'Link' }[e]
-                      return k({}, 'on'.concat(n, 'Hover'), function (r, a) {
-                        var s = (r && (0, w.default)(t[''.concat(e, 'Label')])(r)) || '',
-                          u = (r && (0, w.default)(t[''.concat(e, 'Desc')])(r)) || ''
-                        o.setAttribute('value', s),
-                          i.setAttribute('value', u),
-                          t['on'.concat(n, 'Hover')] && t['on'.concat(n, 'Hover')](r, a)
-                      })
-                    }),
-                  ),
-                ),
-              )
-          },
-          update: function (e, t) {
-            t.hasOwnProperty('backgroundColor') && e.sky.setAttribute('color', e.backgroundColor),
-              t.hasOwnProperty('showNavInfo') &&
-                (e.navInfo.style.display = e.showNavInfo ? null : 'none')
-            var n = [
-                'jsonUrl',
-                'numDimensions',
-                'dagMode',
-                'dagLevelDistance',
-                'dagNodeFilter',
-                'onDagError',
-                'nodeRelSize',
-                'nodeId',
-                'onNodeClick',
-                'nodeVal',
-                'nodeResolution',
-                'nodeVisibility',
-                'nodeColor',
-                'nodeAutoColorBy',
-                'nodeOpacity',
-                'nodeThreeObject',
-                'nodeThreeObjectExtend',
-                'linkSource',
-                'linkTarget',
-                'onLinkClick',
-                'linkVisibility',
-                'linkColor',
-                'linkAutoColorBy',
-                'linkOpacity',
-                'linkWidth',
-                'linkResolution',
-                'linkCurvature',
-                'linkCurveRotation',
-                'linkMaterial',
-                'linkThreeObject',
-                'linkThreeObjectExtend',
-                'linkPositionUpdate',
-                'linkDirectionalArrowLength',
-                'linkDirectionalArrowColor',
-                'linkDirectionalArrowRelPos',
-                'linkDirectionalArrowResolution',
-                'linkDirectionalParticles',
-                'linkDirectionalParticleSpeed',
-                'linkDirectionalParticleWidth',
-                'linkDirectionalParticleColor',
-                'linkDirectionalParticleResolution',
-                'forceEngine',
-                'd3AlphaMin',
-                'd3AlphaDecay',
-                'd3VelocityDecay',
-                'ngraphPhysics',
-                'warmupTicks',
-                'cooldownTicks',
-                'cooldownTime',
-                'onEngineTick',
-                'onEngineStop',
-              ],
-              r = Object.assign.apply(
-                Object,
-                [{}].concat(
-                  O(
-                    Object.entries(e)
-                      .filter(function (e) {
-                        var r = E(e, 2),
-                          o = r[0],
-                          i = r[1]
-                        return (
-                          t.hasOwnProperty(o) && -1 !== n.indexOf(o) && void 0 !== i && null !== i
-                        )
-                      })
-                      .map(function (e) {
-                        var t = E(e, 2)
-                        return k({}, t[0], t[1])
-                      }),
-                  ),
-                  O(
-                    Object.entries(e.graphData).map(function (e) {
-                      var t = E(e, 2)
-                      return k({}, t[0], t[1])
-                    }),
-                  ),
-                ),
-              )
-            e.forcegraph.setAttribute('forcegraph', r)
-          },
-        }),
-        S = r(45697),
-        P = r.n(S)
-      function j(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function I(e) {
-        for (var t = 1; t < arguments.length; t++) {
-          var n = null != arguments[t] ? arguments[t] : {}
-          t % 2
-            ? j(Object(n), !0).forEach(function (t) {
-                A(e, t, n[t])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-            : j(Object(n)).forEach(function (t) {
-                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-              })
-        }
-        return e
-      }
-      function A(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function R(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n =
-              null == e
-                ? null
-                : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          L(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function D(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return N(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          L(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function L(e, t) {
-        if (e) {
-          if ('string' === typeof e) return N(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? N(e, t)
-              : void 0
-          )
-        }
-      }
-      function N(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var z = (0, b.Z)({
-          props: {
-            width: {},
-            height: {},
-            yOffset: { default: 1.5 },
-            glScale: { default: 200 },
-            jsonUrl: {},
-            graphData: { default: { nodes: [], links: [] } },
-            numDimensions: { default: 3 },
-            dagMode: {},
-            dagLevelDistance: {},
-            dagNodeFilter: {
-              default: function () {
-                return !0
-              },
-            },
-            onDagError: { default: void 0 },
-            nodeRelSize: { default: 4 },
-            nodeId: { default: 'id' },
-            nodeVal: { default: 'val' },
-            nodeResolution: { default: 8 },
-            nodeVisibility: { default: !0 },
-            nodeColor: { default: 'color' },
-            nodeAutoColorBy: {},
-            nodeOpacity: { default: 0.75 },
-            nodeThreeObject: {},
-            nodeThreeObjectExtend: { default: !1 },
-            linkSource: { default: 'source' },
-            linkTarget: { default: 'target' },
-            linkVisibility: { default: !0 },
-            linkColor: { default: 'color' },
-            linkAutoColorBy: {},
-            linkOpacity: { default: 0.2 },
-            linkWidth: { default: 0 },
-            linkResolution: { default: 6 },
-            linkCurvature: { default: 0 },
-            linkCurveRotation: { default: 0 },
-            linkMaterial: {},
-            linkThreeObject: {},
-            linkThreeObjectExtend: { default: !1 },
-            linkPositionUpdate: {},
-            linkDirectionalArrowLength: { default: 0 },
-            linkDirectionalArrowColor: {},
-            linkDirectionalArrowRelPos: { default: 0.5 },
-            linkDirectionalArrowResolution: { default: 8 },
-            linkDirectionalParticles: { default: 0 },
-            linkDirectionalParticleSpeed: { default: 0.01 },
-            linkDirectionalParticleWidth: { default: 0.5 },
-            linkDirectionalParticleColor: {},
-            linkDirectionalParticleResolution: { default: 4 },
-            onNodeHover: {},
-            onNodeClick: {},
-            onLinkHover: {},
-            onLinkClick: {},
-            forceEngine: { default: 'd3' },
-            d3AlphaMin: { default: 0 },
-            d3AlphaDecay: { default: 0.0228 },
-            d3VelocityDecay: { default: 0.4 },
-            ngraphPhysics: {},
-            warmupTicks: { default: 0 },
-            cooldownTicks: {},
-            cooldownTime: { default: 15e3 },
-            onEngineTick: {},
-            onEngineStop: {},
-          },
-          methods: I(
-            I(
-              {},
-              Object.assign.apply(
-                Object,
-                [{}].concat(
-                  D(
-                    [
-                      'getGraphBbox',
-                      'emitParticle',
-                      'd3Force',
-                      'd3ReheatSimulation',
-                      'refresh',
-                    ].map(function (e) {
-                      return A({}, e, function (t) {
-                        for (
-                          var n = t.forcegraph.components.forcegraph,
-                            r = arguments.length,
-                            o = new Array(r > 1 ? r - 1 : 0),
-                            i = 1;
-                          i < r;
-                          i++
-                        )
-                          o[i - 1] = arguments[i]
-                        var a = n[e].apply(n, o)
-                        return a === n ? this : a
-                      })
-                    }),
-                  ),
-                ),
-              ),
-            ),
-            {},
-            {
-              _destructor: function () {
-                this.graphData({ nodes: [], links: [] })
-              },
-            },
-          ),
-          init: function (e, t) {
-            var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-              r = n.markerAttrs,
-              o = void 0 === r ? { preset: 'hiro' } : r
-            ;(e.innerHTML = ''),
-              (t.container = document.createElement('div')),
-              e.appendChild(t.container)
-            var i = document.createElement('a-scene')
-            i.setAttribute('embedded', ''), i.setAttribute('arjs', 'debugUIEnabled: false;')
-            var a,
-              s = document.createElement('a-marker')
-            Object.entries(o).forEach(function (e) {
-              var t = R(e, 2),
-                n = t[0],
-                r = t[1]
-              return s.setAttribute(n, r)
-            }),
-              i.appendChild(s),
-              i.appendChild((a = document.createElement('a-entity'))),
-              a.setAttribute('cursor'),
-              a.setAttribute('raycaster', 'objects: [forcegraph]'),
-              (t.forcegraph = document.createElement('a-entity')),
-              t.forcegraph.setAttribute('forcegraph', null),
-              s.appendChild(t.forcegraph)
-            var u = document.createElement('a-entity')
-            u.setAttribute('camera', ''), i.appendChild(u), t.container.appendChild(i)
-          },
-          update: function (e, t) {
-            t.hasOwnProperty('width') && e.width && (e.container.style.width = e.width),
-              t.hasOwnProperty('height') && e.height && (e.container.style.height = e.height),
-              t.hasOwnProperty('glScale') &&
-                e.forcegraph.setAttribute(
-                  'scale',
-                  D(new Array(3))
-                    .map(function () {
-                      return 1 / e.glScale
-                    })
-                    .join(' '),
-                ),
-              t.hasOwnProperty('yOffset') &&
-                e.forcegraph.setAttribute('position', '0 '.concat(e.yOffset, ' 0'))
-            var n = [
-                'jsonUrl',
-                'numDimensions',
-                'dagMode',
-                'dagLevelDistance',
-                'dagNodeFilter',
-                'onDagError',
-                'nodeRelSize',
-                'nodeId',
-                'nodeVal',
-                'nodeResolution',
-                'nodeVisibility',
-                'nodeColor',
-                'nodeAutoColorBy',
-                'nodeOpacity',
-                'nodeThreeObject',
-                'nodeThreeObjectExtend',
-                'linkSource',
-                'linkTarget',
-                'linkVisibility',
-                'linkColor',
-                'linkAutoColorBy',
-                'linkOpacity',
-                'linkWidth',
-                'linkResolution',
-                'linkCurvature',
-                'linkCurveRotation',
-                'linkMaterial',
-                'linkThreeObject',
-                'linkThreeObjectExtend',
-                'linkPositionUpdate',
-                'linkDirectionalArrowLength',
-                'linkDirectionalArrowColor',
-                'linkDirectionalArrowRelPos',
-                'linkDirectionalArrowResolution',
-                'linkDirectionalParticles',
-                'linkDirectionalParticleSpeed',
-                'linkDirectionalParticleWidth',
-                'linkDirectionalParticleColor',
-                'linkDirectionalParticleResolution',
-                'onNodeHover',
-                'onNodeClick',
-                'onLinkHover',
-                'onLinkClick',
-                'forceEngine',
-                'd3AlphaMin',
-                'd3AlphaDecay',
-                'd3VelocityDecay',
-                'ngraphPhysics',
-                'warmupTicks',
-                'cooldownTicks',
-                'cooldownTime',
-                'onEngineTick',
-                'onEngineStop',
-              ],
-              r = Object.assign.apply(
-                Object,
-                [{}].concat(
-                  D(
-                    Object.entries(e)
-                      .filter(function (e) {
-                        var r = R(e, 2),
-                          o = r[0],
-                          i = r[1]
-                        return (
-                          t.hasOwnProperty(o) && -1 !== n.indexOf(o) && void 0 !== i && null !== i
-                        )
-                      })
-                      .map(function (e) {
-                        var t = R(e, 2)
-                        return A({}, t[0], t[1])
-                      }),
-                  ),
-                  D(
-                    Object.entries(e.graphData).map(function (e) {
-                      var t = R(e, 2)
-                      return A({}, t[0], t[1])
-                    }),
-                  ),
-                ),
-              )
-            e.forcegraph.setAttribute('forcegraph', r)
-          },
-        }),
-        B = r(2212)
-      const H = new B.JOQ(),
-        F = new B.iMs(),
-        V = new B.FM8(),
-        W = new B.Pa4(),
-        U = new B.Pa4(),
-        G = new B.Pa4(),
-        q = new B.yGw()
-      class K extends B.pBf {
-        constructor(e, t, n) {
-          super(), (n.style.touchAction = 'none')
-          let r = null,
-            o = null
-          const i = [],
-            a = this
-          function s() {
-            n.addEventListener('pointermove', c),
-              n.addEventListener('pointerdown', l),
-              n.addEventListener('pointerup', d),
-              n.addEventListener('pointerleave', d)
-          }
-          function u() {
-            n.removeEventListener('pointermove', c),
-              n.removeEventListener('pointerdown', l),
-              n.removeEventListener('pointerup', d),
-              n.removeEventListener('pointerleave', d),
-              (n.style.cursor = '')
-          }
-          function c(s) {
-            if (!1 !== a.enabled) {
-              if ((f(s), F.setFromCamera(V, t), r))
-                return (
-                  F.ray.intersectPlane(H, U) && r.position.copy(U.sub(W).applyMatrix4(q)),
-                  void a.dispatchEvent({ type: 'drag', object: r })
-                )
-              if ('mouse' === s.pointerType || 'pen' === s.pointerType)
-                if (
-                  ((i.length = 0),
-                  F.setFromCamera(V, t),
-                  F.intersectObjects(e, !0, i),
-                  i.length > 0)
-                ) {
-                  const e = i[0].object
-                  H.setFromNormalAndCoplanarPoint(
-                    t.getWorldDirection(H.normal),
-                    G.setFromMatrixPosition(e.matrixWorld),
-                  ),
-                    o !== e &&
-                      null !== o &&
-                      (a.dispatchEvent({ type: 'hoveroff', object: o }),
-                      (n.style.cursor = 'auto'),
-                      (o = null)),
-                    o !== e &&
-                      (a.dispatchEvent({ type: 'hoveron', object: e }),
-                      (n.style.cursor = 'pointer'),
-                      (o = e))
-                } else
-                  null !== o &&
-                    (a.dispatchEvent({ type: 'hoveroff', object: o }),
-                    (n.style.cursor = 'auto'),
-                    (o = null))
-            }
-          }
-          function l(o) {
-            !1 !== a.enabled &&
-              (f(o),
-              (i.length = 0),
-              F.setFromCamera(V, t),
-              F.intersectObjects(e, !0, i),
-              i.length > 0 &&
-                ((r = !0 === a.transformGroup ? e[0] : i[0].object),
-                H.setFromNormalAndCoplanarPoint(
-                  t.getWorldDirection(H.normal),
-                  G.setFromMatrixPosition(r.matrixWorld),
-                ),
-                F.ray.intersectPlane(H, U) &&
-                  (q.copy(r.parent.matrixWorld).invert(),
-                  W.copy(U).sub(G.setFromMatrixPosition(r.matrixWorld))),
-                (n.style.cursor = 'move'),
-                a.dispatchEvent({ type: 'dragstart', object: r })))
-          }
-          function d() {
-            !1 !== a.enabled &&
-              (r && (a.dispatchEvent({ type: 'dragend', object: r }), (r = null)),
-              (n.style.cursor = o ? 'pointer' : 'auto'))
-          }
-          function f(e) {
-            const t = n.getBoundingClientRect()
-            ;(V.x = ((e.clientX - t.left) / t.width) * 2 - 1),
-              (V.y = (-(e.clientY - t.top) / t.height) * 2 + 1)
-          }
-          s(),
-            (this.enabled = !0),
-            (this.transformGroup = !1),
-            (this.activate = s),
-            (this.deactivate = u),
-            (this.dispose = function () {
-              u()
-            }),
-            (this.getObjects = function () {
-              return e
-            })
-        }
-      }
-      var Z = r(81398)
-      const X = { type: 'change' },
-        $ = { type: 'start' },
-        Y = { type: 'end' }
-      class Q extends B.pBf {
-        constructor(e, t) {
-          super(),
-            void 0 === t &&
-              console.warn(
-                'THREE.TrackballControls: The second parameter "domElement" is now mandatory.',
-              ),
-            t === document &&
-              console.error(
-                'THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.',
-              )
-          const n = this,
-            r = -1,
-            o = 0,
-            i = 1,
-            a = 2,
-            s = 3,
-            u = 4
-          ;(this.object = e),
-            (this.domElement = t),
-            (this.domElement.style.touchAction = 'none'),
-            (this.enabled = !0),
-            (this.screen = { left: 0, top: 0, width: 0, height: 0 }),
-            (this.rotateSpeed = 1),
-            (this.zoomSpeed = 1.2),
-            (this.panSpeed = 0.3),
-            (this.noRotate = !1),
-            (this.noZoom = !1),
-            (this.noPan = !1),
-            (this.staticMoving = !1),
-            (this.dynamicDampingFactor = 0.2),
-            (this.minDistance = 0),
-            (this.maxDistance = 1 / 0),
-            (this.keys = ['KeyA', 'KeyS', 'KeyD']),
-            (this.mouseButtons = { LEFT: B.RsA.ROTATE, MIDDLE: B.RsA.DOLLY, RIGHT: B.RsA.PAN }),
-            (this.target = new B.Pa4())
-          const c = 1e-6,
-            l = new B.Pa4()
-          let d = 1,
-            f = r,
-            h = r,
-            p = 0,
-            v = 0,
-            m = 0
-          const g = new B.Pa4(),
-            y = new B.FM8(),
-            b = new B.FM8(),
-            w = new B.Pa4(),
-            _ = new B.FM8(),
-            x = new B.FM8(),
-            k = new B.FM8(),
-            E = new B.FM8(),
-            O = [],
-            T = {}
-          ;(this.target0 = this.target.clone()),
-            (this.position0 = this.object.position.clone()),
-            (this.up0 = this.object.up.clone()),
-            (this.zoom0 = this.object.zoom),
-            (this.handleResize = function () {
-              const e = n.domElement.getBoundingClientRect(),
-                t = n.domElement.ownerDocument.documentElement
-              ;(n.screen.left = e.left + window.pageXOffset - t.clientLeft),
-                (n.screen.top = e.top + window.pageYOffset - t.clientTop),
-                (n.screen.width = e.width),
-                (n.screen.height = e.height)
-            })
-          const C = (function () {
-              const e = new B.FM8()
-              return function (t, r) {
-                return (
-                  e.set((t - n.screen.left) / n.screen.width, (r - n.screen.top) / n.screen.height),
-                  e
-                )
-              }
-            })(),
-            M = (function () {
-              const e = new B.FM8()
-              return function (t, r) {
-                return (
-                  e.set(
-                    (t - 0.5 * n.screen.width - n.screen.left) / (0.5 * n.screen.width),
-                    (n.screen.height + 2 * (n.screen.top - r)) / n.screen.width,
-                  ),
-                  e
-                )
-              }
-            })()
-          function S(e) {
-            !1 !== n.enabled &&
-              (0 === O.length &&
-                (n.domElement.ownerDocument.addEventListener('pointermove', P),
-                n.domElement.ownerDocument.addEventListener('pointerup', j)),
-              (function (e) {
-                O.push(e)
-              })(e),
-              'touch' === e.pointerType
-                ? (function (e) {
-                    switch ((z(e), O.length)) {
-                      case 1:
-                        ;(f = s), b.copy(M(O[0].pageX, O[0].pageY)), y.copy(b)
-                        break
-                      default:
-                        f = u
-                        const e = O[0].pageX - O[1].pageX,
-                          t = O[0].pageY - O[1].pageY
-                        v = p = Math.sqrt(e * e + t * t)
-                        const n = (O[0].pageX + O[1].pageX) / 2,
-                          r = (O[0].pageY + O[1].pageY) / 2
-                        k.copy(C(n, r)), E.copy(k)
-                    }
-                    n.dispatchEvent($)
-                  })(e)
-                : (function (e) {
-                    if (f === r)
-                      switch (e.button) {
-                        case n.mouseButtons.LEFT:
-                          f = o
-                          break
-                        case n.mouseButtons.MIDDLE:
-                          f = i
-                          break
-                        case n.mouseButtons.RIGHT:
-                          f = a
-                          break
-                        default:
-                          f = r
-                      }
-                    const t = h !== r ? h : f
-                    t !== o || n.noRotate
-                      ? t !== i || n.noZoom
-                        ? t !== a || n.noPan || (k.copy(C(e.pageX, e.pageY)), E.copy(k))
-                        : (_.copy(C(e.pageX, e.pageY)), x.copy(_))
-                      : (b.copy(M(e.pageX, e.pageY)), y.copy(b))
-                    n.domElement.ownerDocument.addEventListener('pointermove', P),
-                      n.domElement.ownerDocument.addEventListener('pointerup', j),
-                      n.dispatchEvent($)
-                  })(e))
-          }
-          function P(e) {
-            !1 !== n.enabled &&
-              ('touch' === e.pointerType
-                ? (function (e) {
-                    switch ((z(e), O.length)) {
-                      case 1:
-                        y.copy(b), b.copy(M(e.pageX, e.pageY))
-                        break
-                      default:
-                        const t = (function (e) {
-                            const t = e.pointerId === O[0].pointerId ? O[1] : O[0]
-                            return T[t.pointerId]
-                          })(e),
-                          n = e.pageX - t.x,
-                          r = e.pageY - t.y
-                        v = Math.sqrt(n * n + r * r)
-                        const o = (e.pageX + t.x) / 2,
-                          i = (e.pageY + t.y) / 2
-                        E.copy(C(o, i))
-                    }
-                  })(e)
-                : (function (e) {
-                    const t = h !== r ? h : f
-                    t !== o || n.noRotate
-                      ? t !== i || n.noZoom
-                        ? t !== a || n.noPan || E.copy(C(e.pageX, e.pageY))
-                        : x.copy(C(e.pageX, e.pageY))
-                      : (y.copy(b), b.copy(M(e.pageX, e.pageY)))
-                  })(e))
-          }
-          function j(e) {
-            !1 !== n.enabled &&
-              ('touch' === e.pointerType
-                ? (function (e) {
-                    switch (O.length) {
-                      case 0:
-                        f = r
-                        break
-                      case 1:
-                        ;(f = s), b.copy(M(e.pageX, e.pageY)), y.copy(b)
-                    }
-                    n.dispatchEvent(Y)
-                  })(e)
-                : ((f = r),
-                  n.domElement.ownerDocument.removeEventListener('pointermove', P),
-                  n.domElement.ownerDocument.removeEventListener('pointerup', j),
-                  n.dispatchEvent(Y)),
-              N(e),
-              0 === O.length &&
-                (n.domElement.ownerDocument.removeEventListener('pointermove', P),
-                n.domElement.ownerDocument.removeEventListener('pointerup', j)))
-          }
-          function I(e) {
-            N(e)
-          }
-          function A(e) {
-            !1 !== n.enabled &&
-              (window.removeEventListener('keydown', A),
-              h === r &&
-                (e.code !== n.keys[o] || n.noRotate
-                  ? e.code !== n.keys[i] || n.noZoom
-                    ? e.code !== n.keys[a] || n.noPan || (h = a)
-                    : (h = i)
-                  : (h = o)))
-          }
-          function R() {
-            !1 !== n.enabled && ((h = r), window.addEventListener('keydown', A))
-          }
-          function D(e) {
-            if (!1 !== n.enabled && !0 !== n.noZoom) {
-              switch ((e.preventDefault(), e.deltaMode)) {
-                case 2:
-                  _.y -= 0.025 * e.deltaY
-                  break
-                case 1:
-                  _.y -= 0.01 * e.deltaY
-                  break
-                default:
-                  _.y -= 25e-5 * e.deltaY
-              }
-              n.dispatchEvent($), n.dispatchEvent(Y)
-            }
-          }
-          function L(e) {
-            !1 !== n.enabled && e.preventDefault()
-          }
-          function N(e) {
-            delete T[e.pointerId]
-            for (let t = 0; t < O.length; t++)
-              if (O[t].pointerId == e.pointerId) return void O.splice(t, 1)
-          }
-          function z(e) {
-            let t = T[e.pointerId]
-            void 0 === t && ((t = new B.FM8()), (T[e.pointerId] = t)), t.set(e.pageX, e.pageY)
-          }
-          ;(this.rotateCamera = (function () {
-            const e = new B.Pa4(),
-              t = new B._fP(),
-              r = new B.Pa4(),
-              o = new B.Pa4(),
-              i = new B.Pa4(),
-              a = new B.Pa4()
-            return function () {
-              a.set(b.x - y.x, b.y - y.y, 0)
-              let s = a.length()
-              s
-                ? (g.copy(n.object.position).sub(n.target),
-                  r.copy(g).normalize(),
-                  o.copy(n.object.up).normalize(),
-                  i.crossVectors(o, r).normalize(),
-                  o.setLength(b.y - y.y),
-                  i.setLength(b.x - y.x),
-                  a.copy(o.add(i)),
-                  e.crossVectors(a, g).normalize(),
-                  (s *= n.rotateSpeed),
-                  t.setFromAxisAngle(e, s),
-                  g.applyQuaternion(t),
-                  n.object.up.applyQuaternion(t),
-                  w.copy(e),
-                  (m = s))
-                : !n.staticMoving &&
-                  m &&
-                  ((m *= Math.sqrt(1 - n.dynamicDampingFactor)),
-                  g.copy(n.object.position).sub(n.target),
-                  t.setFromAxisAngle(w, m),
-                  g.applyQuaternion(t),
-                  n.object.up.applyQuaternion(t)),
-                y.copy(b)
-            }
-          })()),
-            (this.zoomCamera = function () {
-              let e
-              f === u
-                ? ((e = p / v),
-                  (p = v),
-                  n.object.isPerspectiveCamera
-                    ? g.multiplyScalar(e)
-                    : n.object.isOrthographicCamera
-                    ? ((n.object.zoom *= e), n.object.updateProjectionMatrix())
-                    : console.warn('THREE.TrackballControls: Unsupported camera type'))
-                : ((e = 1 + (x.y - _.y) * n.zoomSpeed),
-                  1 !== e &&
-                    e > 0 &&
-                    (n.object.isPerspectiveCamera
-                      ? g.multiplyScalar(e)
-                      : n.object.isOrthographicCamera
-                      ? ((n.object.zoom /= e), n.object.updateProjectionMatrix())
-                      : console.warn('THREE.TrackballControls: Unsupported camera type')),
-                  n.staticMoving ? _.copy(x) : (_.y += (x.y - _.y) * this.dynamicDampingFactor))
-            }),
-            (this.panCamera = (function () {
-              const e = new B.FM8(),
-                t = new B.Pa4(),
-                r = new B.Pa4()
-              return function () {
-                if ((e.copy(E).sub(k), e.lengthSq())) {
-                  if (n.object.isOrthographicCamera) {
-                    const t =
-                        (n.object.right - n.object.left) / n.object.zoom / n.domElement.clientWidth,
-                      r =
-                        (n.object.top - n.object.bottom) / n.object.zoom / n.domElement.clientWidth
-                    ;(e.x *= t), (e.y *= r)
-                  }
-                  e.multiplyScalar(g.length() * n.panSpeed),
-                    r.copy(g).cross(n.object.up).setLength(e.x),
-                    r.add(t.copy(n.object.up).setLength(e.y)),
-                    n.object.position.add(r),
-                    n.target.add(r),
-                    n.staticMoving
-                      ? k.copy(E)
-                      : k.add(e.subVectors(E, k).multiplyScalar(n.dynamicDampingFactor))
-                }
-              }
-            })()),
-            (this.checkDistances = function () {
-              ;(n.noZoom && n.noPan) ||
-                (g.lengthSq() > n.maxDistance * n.maxDistance &&
-                  (n.object.position.addVectors(n.target, g.setLength(n.maxDistance)), _.copy(x)),
-                g.lengthSq() < n.minDistance * n.minDistance &&
-                  (n.object.position.addVectors(n.target, g.setLength(n.minDistance)), _.copy(x)))
-            }),
-            (this.update = function () {
-              g.subVectors(n.object.position, n.target),
-                n.noRotate || n.rotateCamera(),
-                n.noZoom || n.zoomCamera(),
-                n.noPan || n.panCamera(),
-                n.object.position.addVectors(n.target, g),
-                n.object.isPerspectiveCamera
-                  ? (n.checkDistances(),
-                    n.object.lookAt(n.target),
-                    l.distanceToSquared(n.object.position) > c &&
-                      (n.dispatchEvent(X), l.copy(n.object.position)))
-                  : n.object.isOrthographicCamera
-                  ? (n.object.lookAt(n.target),
-                    (l.distanceToSquared(n.object.position) > c || d !== n.object.zoom) &&
-                      (n.dispatchEvent(X), l.copy(n.object.position), (d = n.object.zoom)))
-                  : console.warn('THREE.TrackballControls: Unsupported camera type')
-            }),
-            (this.reset = function () {
-              ;(f = r),
-                (h = r),
-                n.target.copy(n.target0),
-                n.object.position.copy(n.position0),
-                n.object.up.copy(n.up0),
-                (n.object.zoom = n.zoom0),
-                n.object.updateProjectionMatrix(),
-                g.subVectors(n.object.position, n.target),
-                n.object.lookAt(n.target),
-                n.dispatchEvent(X),
-                l.copy(n.object.position),
-                (d = n.object.zoom)
-            }),
-            (this.dispose = function () {
-              n.domElement.removeEventListener('contextmenu', L),
-                n.domElement.removeEventListener('pointerdown', S),
-                n.domElement.removeEventListener('pointercancel', I),
-                n.domElement.removeEventListener('wheel', D),
-                window.removeEventListener('keydown', A),
-                window.removeEventListener('keyup', R)
-            }),
-            this.domElement.addEventListener('contextmenu', L),
-            this.domElement.addEventListener('pointerdown', S),
-            this.domElement.addEventListener('pointercancel', I),
-            this.domElement.addEventListener('wheel', D, { passive: !1 }),
-            window.addEventListener('keydown', A),
-            window.addEventListener('keyup', R),
-            this.handleResize(),
-            this.update()
-        }
-      }
-      const J = { type: 'change' },
-        ee = { type: 'start' },
-        te = { type: 'end' }
-      class ne extends B.pBf {
-        constructor(e, t) {
-          super(),
-            void 0 === t &&
-              console.warn(
-                'THREE.OrbitControls: The second parameter "domElement" is now mandatory.',
-              ),
-            t === document &&
-              console.error(
-                'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.',
-              ),
-            (this.object = e),
-            (this.domElement = t),
-            (this.domElement.style.touchAction = 'none'),
-            (this.enabled = !0),
-            (this.target = new B.Pa4()),
-            (this.minDistance = 0),
-            (this.maxDistance = 1 / 0),
-            (this.minZoom = 0),
-            (this.maxZoom = 1 / 0),
-            (this.minPolarAngle = 0),
-            (this.maxPolarAngle = Math.PI),
-            (this.minAzimuthAngle = -1 / 0),
-            (this.maxAzimuthAngle = 1 / 0),
-            (this.enableDamping = !1),
-            (this.dampingFactor = 0.05),
-            (this.enableZoom = !0),
-            (this.zoomSpeed = 1),
-            (this.enableRotate = !0),
-            (this.rotateSpeed = 1),
-            (this.enablePan = !0),
-            (this.panSpeed = 1),
-            (this.screenSpacePanning = !0),
-            (this.keyPanSpeed = 7),
-            (this.autoRotate = !1),
-            (this.autoRotateSpeed = 2),
-            (this.keys = {
-              LEFT: 'ArrowLeft',
-              UP: 'ArrowUp',
-              RIGHT: 'ArrowRight',
-              BOTTOM: 'ArrowDown',
-            }),
-            (this.mouseButtons = { LEFT: B.RsA.ROTATE, MIDDLE: B.RsA.DOLLY, RIGHT: B.RsA.PAN }),
-            (this.touches = { ONE: B.QmN.ROTATE, TWO: B.QmN.DOLLY_PAN }),
-            (this.target0 = this.target.clone()),
-            (this.position0 = this.object.position.clone()),
-            (this.zoom0 = this.object.zoom),
-            (this._domElementKeyEvents = null),
-            (this.getPolarAngle = function () {
-              return a.phi
-            }),
-            (this.getAzimuthalAngle = function () {
-              return a.theta
-            }),
-            (this.listenToKeyEvents = function (e) {
-              e.addEventListener('keydown', U), (this._domElementKeyEvents = e)
-            }),
-            (this.saveState = function () {
-              n.target0.copy(n.target),
-                n.position0.copy(n.object.position),
-                (n.zoom0 = n.object.zoom)
-            }),
-            (this.reset = function () {
-              n.target.copy(n.target0),
-                n.object.position.copy(n.position0),
-                (n.object.zoom = n.zoom0),
-                n.object.updateProjectionMatrix(),
-                n.dispatchEvent(J),
-                n.update(),
-                (o = r.NONE)
-            }),
-            (this.update = (function () {
-              const t = new B.Pa4(),
-                d = new B._fP().setFromUnitVectors(e.up, new B.Pa4(0, 1, 0)),
-                f = d.clone().invert(),
-                h = new B.Pa4(),
-                p = new B._fP(),
-                v = 2 * Math.PI
-              return function () {
-                const e = n.object.position
-                t.copy(e).sub(n.target),
-                  t.applyQuaternion(d),
-                  a.setFromVector3(t),
-                  n.autoRotate && o === r.NONE && k(((2 * Math.PI) / 60 / 60) * n.autoRotateSpeed),
-                  n.enableDamping
-                    ? ((a.theta += s.theta * n.dampingFactor), (a.phi += s.phi * n.dampingFactor))
-                    : ((a.theta += s.theta), (a.phi += s.phi))
-                let m = n.minAzimuthAngle,
-                  g = n.maxAzimuthAngle
-                return (
-                  isFinite(m) &&
-                    isFinite(g) &&
-                    (m < -Math.PI ? (m += v) : m > Math.PI && (m -= v),
-                    g < -Math.PI ? (g += v) : g > Math.PI && (g -= v),
-                    (a.theta =
-                      m <= g
-                        ? Math.max(m, Math.min(g, a.theta))
-                        : a.theta > (m + g) / 2
-                        ? Math.max(m, a.theta)
-                        : Math.min(g, a.theta))),
-                  (a.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, a.phi))),
-                  a.makeSafe(),
-                  (a.radius *= u),
-                  (a.radius = Math.max(n.minDistance, Math.min(n.maxDistance, a.radius))),
-                  !0 === n.enableDamping
-                    ? n.target.addScaledVector(c, n.dampingFactor)
-                    : n.target.add(c),
-                  t.setFromSpherical(a),
-                  t.applyQuaternion(f),
-                  e.copy(n.target).add(t),
-                  n.object.lookAt(n.target),
-                  !0 === n.enableDamping
-                    ? ((s.theta *= 1 - n.dampingFactor),
-                      (s.phi *= 1 - n.dampingFactor),
-                      c.multiplyScalar(1 - n.dampingFactor))
-                    : (s.set(0, 0, 0), c.set(0, 0, 0)),
-                  (u = 1),
-                  !!(
-                    l ||
-                    h.distanceToSquared(n.object.position) > i ||
-                    8 * (1 - p.dot(n.object.quaternion)) > i
-                  ) &&
-                    (n.dispatchEvent(J),
-                    h.copy(n.object.position),
-                    p.copy(n.object.quaternion),
-                    (l = !1),
-                    !0)
-                )
-              }
-            })()),
-            (this.dispose = function () {
-              n.domElement.removeEventListener('contextmenu', G),
-                n.domElement.removeEventListener('pointerdown', z),
-                n.domElement.removeEventListener('pointercancel', V),
-                n.domElement.removeEventListener('wheel', W),
-                n.domElement.ownerDocument.removeEventListener('pointermove', H),
-                n.domElement.ownerDocument.removeEventListener('pointerup', F),
-                null !== n._domElementKeyEvents &&
-                  n._domElementKeyEvents.removeEventListener('keydown', U)
-            })
-          const n = this,
-            r = {
-              NONE: -1,
-              ROTATE: 0,
-              DOLLY: 1,
-              PAN: 2,
-              TOUCH_ROTATE: 3,
-              TOUCH_PAN: 4,
-              TOUCH_DOLLY_PAN: 5,
-              TOUCH_DOLLY_ROTATE: 6,
-            }
-          let o = r.NONE
-          const i = 1e-6,
-            a = new B.$V(),
-            s = new B.$V()
-          let u = 1
-          const c = new B.Pa4()
-          let l = !1
-          const d = new B.FM8(),
-            f = new B.FM8(),
-            h = new B.FM8(),
-            p = new B.FM8(),
-            v = new B.FM8(),
-            m = new B.FM8(),
-            g = new B.FM8(),
-            y = new B.FM8(),
-            b = new B.FM8(),
-            w = [],
-            _ = {}
-          function x() {
-            return Math.pow(0.95, n.zoomSpeed)
-          }
-          function k(e) {
-            s.theta -= e
-          }
-          function E(e) {
-            s.phi -= e
-          }
-          const O = (function () {
-              const e = new B.Pa4()
-              return function (t, n) {
-                e.setFromMatrixColumn(n, 0), e.multiplyScalar(-t), c.add(e)
-              }
-            })(),
-            T = (function () {
-              const e = new B.Pa4()
-              return function (t, r) {
-                !0 === n.screenSpacePanning
-                  ? e.setFromMatrixColumn(r, 1)
-                  : (e.setFromMatrixColumn(r, 0), e.crossVectors(n.object.up, e)),
-                  e.multiplyScalar(t),
-                  c.add(e)
-              }
-            })(),
-            C = (function () {
-              const e = new B.Pa4()
-              return function (t, r) {
-                const o = n.domElement
-                if (n.object.isPerspectiveCamera) {
-                  const i = n.object.position
-                  e.copy(i).sub(n.target)
-                  let a = e.length()
-                  ;(a *= Math.tan(((n.object.fov / 2) * Math.PI) / 180)),
-                    O((2 * t * a) / o.clientHeight, n.object.matrix),
-                    T((2 * r * a) / o.clientHeight, n.object.matrix)
-                } else
-                  n.object.isOrthographicCamera
-                    ? (O(
-                        (t * (n.object.right - n.object.left)) / n.object.zoom / o.clientWidth,
-                        n.object.matrix,
-                      ),
-                      T(
-                        (r * (n.object.top - n.object.bottom)) / n.object.zoom / o.clientHeight,
-                        n.object.matrix,
-                      ))
-                    : (console.warn(
-                        'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.',
-                      ),
-                      (n.enablePan = !1))
-              }
-            })()
-          function M(e) {
-            n.object.isPerspectiveCamera
-              ? (u /= e)
-              : n.object.isOrthographicCamera
-              ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e))),
-                n.object.updateProjectionMatrix(),
-                (l = !0))
-              : (console.warn(
-                  'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.',
-                ),
-                (n.enableZoom = !1))
-          }
-          function S(e) {
-            n.object.isPerspectiveCamera
-              ? (u *= e)
-              : n.object.isOrthographicCamera
-              ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e))),
-                n.object.updateProjectionMatrix(),
-                (l = !0))
-              : (console.warn(
-                  'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.',
-                ),
-                (n.enableZoom = !1))
-          }
-          function P(e) {
-            d.set(e.clientX, e.clientY)
-          }
-          function j(e) {
-            p.set(e.clientX, e.clientY)
-          }
-          function I() {
-            if (1 === w.length) d.set(w[0].pageX, w[0].pageY)
-            else {
-              const e = 0.5 * (w[0].pageX + w[1].pageX),
-                t = 0.5 * (w[0].pageY + w[1].pageY)
-              d.set(e, t)
-            }
-          }
-          function A() {
-            if (1 === w.length) p.set(w[0].pageX, w[0].pageY)
-            else {
-              const e = 0.5 * (w[0].pageX + w[1].pageX),
-                t = 0.5 * (w[0].pageY + w[1].pageY)
-              p.set(e, t)
-            }
-          }
-          function R() {
-            const e = w[0].pageX - w[1].pageX,
-              t = w[0].pageY - w[1].pageY,
-              n = Math.sqrt(e * e + t * t)
-            g.set(0, n)
-          }
-          function D(e) {
-            if (1 == w.length) f.set(e.pageX, e.pageY)
-            else {
-              const t = Z(e),
-                n = 0.5 * (e.pageX + t.x),
-                r = 0.5 * (e.pageY + t.y)
-              f.set(n, r)
-            }
-            h.subVectors(f, d).multiplyScalar(n.rotateSpeed)
-            const t = n.domElement
-            k((2 * Math.PI * h.x) / t.clientHeight),
-              E((2 * Math.PI * h.y) / t.clientHeight),
-              d.copy(f)
-          }
-          function L(e) {
-            if (1 === w.length) v.set(e.pageX, e.pageY)
-            else {
-              const t = Z(e),
-                n = 0.5 * (e.pageX + t.x),
-                r = 0.5 * (e.pageY + t.y)
-              v.set(n, r)
-            }
-            m.subVectors(v, p).multiplyScalar(n.panSpeed), C(m.x, m.y), p.copy(v)
-          }
-          function N(e) {
-            const t = Z(e),
-              r = e.pageX - t.x,
-              o = e.pageY - t.y,
-              i = Math.sqrt(r * r + o * o)
-            y.set(0, i), b.set(0, Math.pow(y.y / g.y, n.zoomSpeed)), M(b.y), g.copy(y)
-          }
-          function z(e) {
-            !1 !== n.enabled &&
-              (0 === w.length &&
-                (n.domElement.ownerDocument.addEventListener('pointermove', H),
-                n.domElement.ownerDocument.addEventListener('pointerup', F)),
-              (function (e) {
-                w.push(e)
-              })(e),
-              'touch' === e.pointerType
-                ? (function (e) {
-                    switch ((K(e), w.length)) {
-                      case 1:
-                        switch (n.touches.ONE) {
-                          case B.QmN.ROTATE:
-                            if (!1 === n.enableRotate) return
-                            I(), (o = r.TOUCH_ROTATE)
-                            break
-                          case B.QmN.PAN:
-                            if (!1 === n.enablePan) return
-                            A(), (o = r.TOUCH_PAN)
-                            break
-                          default:
-                            o = r.NONE
-                        }
-                        break
-                      case 2:
-                        switch (n.touches.TWO) {
-                          case B.QmN.DOLLY_PAN:
-                            if (!1 === n.enableZoom && !1 === n.enablePan) return
-                            n.enableZoom && R(), n.enablePan && A(), (o = r.TOUCH_DOLLY_PAN)
-                            break
-                          case B.QmN.DOLLY_ROTATE:
-                            if (!1 === n.enableZoom && !1 === n.enableRotate) return
-                            n.enableZoom && R(), n.enableRotate && I(), (o = r.TOUCH_DOLLY_ROTATE)
-                            break
-                          default:
-                            o = r.NONE
-                        }
-                        break
-                      default:
-                        o = r.NONE
-                    }
-                    o !== r.NONE && n.dispatchEvent(ee)
-                  })(e)
-                : (function (e) {
-                    let t
-                    switch (e.button) {
-                      case 0:
-                        t = n.mouseButtons.LEFT
-                        break
-                      case 1:
-                        t = n.mouseButtons.MIDDLE
-                        break
-                      case 2:
-                        t = n.mouseButtons.RIGHT
-                        break
-                      default:
-                        t = -1
-                    }
-                    switch (t) {
-                      case B.RsA.DOLLY:
-                        if (!1 === n.enableZoom) return
-                        !(function (e) {
-                          g.set(e.clientX, e.clientY)
-                        })(e),
-                          (o = r.DOLLY)
-                        break
-                      case B.RsA.ROTATE:
-                        if (e.ctrlKey || e.metaKey || e.shiftKey) {
-                          if (!1 === n.enablePan) return
-                          j(e), (o = r.PAN)
-                        } else {
-                          if (!1 === n.enableRotate) return
-                          P(e), (o = r.ROTATE)
-                        }
-                        break
-                      case B.RsA.PAN:
-                        if (e.ctrlKey || e.metaKey || e.shiftKey) {
-                          if (!1 === n.enableRotate) return
-                          P(e), (o = r.ROTATE)
-                        } else {
-                          if (!1 === n.enablePan) return
-                          j(e), (o = r.PAN)
-                        }
-                        break
-                      default:
-                        o = r.NONE
-                    }
-                    o !== r.NONE && n.dispatchEvent(ee)
-                  })(e))
-          }
-          function H(e) {
-            !1 !== n.enabled &&
-              ('touch' === e.pointerType
-                ? (function (e) {
-                    switch ((K(e), o)) {
-                      case r.TOUCH_ROTATE:
-                        if (!1 === n.enableRotate) return
-                        D(e), n.update()
-                        break
-                      case r.TOUCH_PAN:
-                        if (!1 === n.enablePan) return
-                        L(e), n.update()
-                        break
-                      case r.TOUCH_DOLLY_PAN:
-                        if (!1 === n.enableZoom && !1 === n.enablePan) return
-                        !(function (e) {
-                          n.enableZoom && N(e), n.enablePan && L(e)
-                        })(e),
-                          n.update()
-                        break
-                      case r.TOUCH_DOLLY_ROTATE:
-                        if (!1 === n.enableZoom && !1 === n.enableRotate) return
-                        !(function (e) {
-                          n.enableZoom && N(e), n.enableRotate && D(e)
-                        })(e),
-                          n.update()
-                        break
-                      default:
-                        o = r.NONE
-                    }
-                  })(e)
-                : (function (e) {
-                    if (!1 === n.enabled) return
-                    switch (o) {
-                      case r.ROTATE:
-                        if (!1 === n.enableRotate) return
-                        !(function (e) {
-                          f.set(e.clientX, e.clientY),
-                            h.subVectors(f, d).multiplyScalar(n.rotateSpeed)
-                          const t = n.domElement
-                          k((2 * Math.PI * h.x) / t.clientHeight),
-                            E((2 * Math.PI * h.y) / t.clientHeight),
-                            d.copy(f),
-                            n.update()
-                        })(e)
-                        break
-                      case r.DOLLY:
-                        if (!1 === n.enableZoom) return
-                        !(function (e) {
-                          y.set(e.clientX, e.clientY),
-                            b.subVectors(y, g),
-                            b.y > 0 ? M(x()) : b.y < 0 && S(x()),
-                            g.copy(y),
-                            n.update()
-                        })(e)
-                        break
-                      case r.PAN:
-                        if (!1 === n.enablePan) return
-                        !(function (e) {
-                          v.set(e.clientX, e.clientY),
-                            m.subVectors(v, p).multiplyScalar(n.panSpeed),
-                            C(m.x, m.y),
-                            p.copy(v),
-                            n.update()
-                        })(e)
-                    }
-                  })(e))
-          }
-          function F(e) {
-            !1 !== n.enabled &&
-              (e.pointerType,
-              n.dispatchEvent(te),
-              (o = r.NONE),
-              q(e),
-              0 === w.length &&
-                (n.domElement.ownerDocument.removeEventListener('pointermove', H),
-                n.domElement.ownerDocument.removeEventListener('pointerup', F)))
-          }
-          function V(e) {
-            q(e)
-          }
-          function W(e) {
-            !1 === n.enabled ||
-              !1 === n.enableZoom ||
-              (o !== r.NONE && o !== r.ROTATE) ||
-              (e.preventDefault(),
-              n.dispatchEvent(ee),
-              (function (e) {
-                e.deltaY < 0 ? S(x()) : e.deltaY > 0 && M(x()), n.update()
-              })(e),
-              n.dispatchEvent(te))
-          }
-          function U(e) {
-            !1 !== n.enabled &&
-              !1 !== n.enablePan &&
-              (function (e) {
-                let t = !1
-                switch (e.code) {
-                  case n.keys.UP:
-                    C(0, n.keyPanSpeed), (t = !0)
-                    break
-                  case n.keys.BOTTOM:
-                    C(0, -n.keyPanSpeed), (t = !0)
-                    break
-                  case n.keys.LEFT:
-                    C(n.keyPanSpeed, 0), (t = !0)
-                    break
-                  case n.keys.RIGHT:
-                    C(-n.keyPanSpeed, 0), (t = !0)
-                }
-                t && (e.preventDefault(), n.update())
-              })(e)
-          }
-          function G(e) {
-            !1 !== n.enabled && e.preventDefault()
-          }
-          function q(e) {
-            delete _[e.pointerId]
-            for (let t = 0; t < w.length; t++)
-              if (w[t].pointerId == e.pointerId) return void w.splice(t, 1)
-          }
-          function K(e) {
-            let t = _[e.pointerId]
-            void 0 === t && ((t = new B.FM8()), (_[e.pointerId] = t)), t.set(e.pageX, e.pageY)
-          }
-          function Z(e) {
-            const t = e.pointerId === w[0].pointerId ? w[1] : w[0]
-            return _[t.pointerId]
-          }
-          n.domElement.addEventListener('contextmenu', G),
-            n.domElement.addEventListener('pointerdown', z),
-            n.domElement.addEventListener('pointercancel', V),
-            n.domElement.addEventListener('wheel', W, { passive: !1 }),
-            this.update()
-        }
-      }
-      const re = { type: 'change' }
-      class oe extends B.pBf {
-        constructor(e, t) {
-          super(),
-            void 0 === t &&
-              (console.warn(
-                'THREE.FlyControls: The second parameter "domElement" is now mandatory.',
-              ),
-              (t = document)),
-            (this.object = e),
-            (this.domElement = t),
-            (this.movementSpeed = 1),
-            (this.rollSpeed = 0.005),
-            (this.dragToLook = !1),
-            (this.autoForward = !1)
-          const n = this,
-            r = 1e-6,
-            o = new B._fP(),
-            i = new B.Pa4()
-          ;(this.tmpQuaternion = new B._fP()),
-            (this.mouseStatus = 0),
-            (this.moveState = {
-              up: 0,
-              down: 0,
-              left: 0,
-              right: 0,
-              forward: 0,
-              back: 0,
-              pitchUp: 0,
-              pitchDown: 0,
-              yawLeft: 0,
-              yawRight: 0,
-              rollLeft: 0,
-              rollRight: 0,
-            }),
-            (this.moveVector = new B.Pa4(0, 0, 0)),
-            (this.rotationVector = new B.Pa4(0, 0, 0)),
-            (this.keydown = function (e) {
-              if (!e.altKey) {
-                switch (e.code) {
-                  case 'ShiftLeft':
-                  case 'ShiftRight':
-                    this.movementSpeedMultiplier = 0.1
-                    break
-                  case 'KeyW':
-                    this.moveState.forward = 1
-                    break
-                  case 'KeyS':
-                    this.moveState.back = 1
-                    break
-                  case 'KeyA':
-                    this.moveState.left = 1
-                    break
-                  case 'KeyD':
-                    this.moveState.right = 1
-                    break
-                  case 'KeyR':
-                    this.moveState.up = 1
-                    break
-                  case 'KeyF':
-                    this.moveState.down = 1
-                    break
-                  case 'ArrowUp':
-                    this.moveState.pitchUp = 1
-                    break
-                  case 'ArrowDown':
-                    this.moveState.pitchDown = 1
-                    break
-                  case 'ArrowLeft':
-                    this.moveState.yawLeft = 1
-                    break
-                  case 'ArrowRight':
-                    this.moveState.yawRight = 1
-                    break
-                  case 'KeyQ':
-                    this.moveState.rollLeft = 1
-                    break
-                  case 'KeyE':
-                    this.moveState.rollRight = 1
-                }
-                this.updateMovementVector(), this.updateRotationVector()
-              }
-            }),
-            (this.keyup = function (e) {
-              switch (e.code) {
-                case 'ShiftLeft':
-                case 'ShiftRight':
-                  this.movementSpeedMultiplier = 1
-                  break
-                case 'KeyW':
-                  this.moveState.forward = 0
-                  break
-                case 'KeyS':
-                  this.moveState.back = 0
-                  break
-                case 'KeyA':
-                  this.moveState.left = 0
-                  break
-                case 'KeyD':
-                  this.moveState.right = 0
-                  break
-                case 'KeyR':
-                  this.moveState.up = 0
-                  break
-                case 'KeyF':
-                  this.moveState.down = 0
-                  break
-                case 'ArrowUp':
-                  this.moveState.pitchUp = 0
-                  break
-                case 'ArrowDown':
-                  this.moveState.pitchDown = 0
-                  break
-                case 'ArrowLeft':
-                  this.moveState.yawLeft = 0
-                  break
-                case 'ArrowRight':
-                  this.moveState.yawRight = 0
-                  break
-                case 'KeyQ':
-                  this.moveState.rollLeft = 0
-                  break
-                case 'KeyE':
-                  this.moveState.rollRight = 0
-              }
-              this.updateMovementVector(), this.updateRotationVector()
-            }),
-            (this.mousedown = function (e) {
-              if (this.dragToLook) this.mouseStatus++
-              else {
-                switch (e.button) {
-                  case 0:
-                    this.moveState.forward = 1
-                    break
-                  case 2:
-                    this.moveState.back = 1
-                }
-                this.updateMovementVector()
-              }
-            }),
-            (this.mousemove = function (e) {
-              if (!this.dragToLook || this.mouseStatus > 0) {
-                const t = this.getContainerDimensions(),
-                  n = t.size[0] / 2,
-                  r = t.size[1] / 2
-                ;(this.moveState.yawLeft = -(e.pageX - t.offset[0] - n) / n),
-                  (this.moveState.pitchDown = (e.pageY - t.offset[1] - r) / r),
-                  this.updateRotationVector()
-              }
-            }),
-            (this.mouseup = function (e) {
-              if (this.dragToLook)
-                this.mouseStatus--, (this.moveState.yawLeft = this.moveState.pitchDown = 0)
-              else {
-                switch (e.button) {
-                  case 0:
-                    this.moveState.forward = 0
-                    break
-                  case 2:
-                    this.moveState.back = 0
-                }
-                this.updateMovementVector()
-              }
-              this.updateRotationVector()
-            }),
-            (this.update = function (e) {
-              const t = e * n.movementSpeed,
-                a = e * n.rollSpeed
-              n.object.translateX(n.moveVector.x * t),
-                n.object.translateY(n.moveVector.y * t),
-                n.object.translateZ(n.moveVector.z * t),
-                n.tmpQuaternion
-                  .set(n.rotationVector.x * a, n.rotationVector.y * a, n.rotationVector.z * a, 1)
-                  .normalize(),
-                n.object.quaternion.multiply(n.tmpQuaternion),
-                (i.distanceToSquared(n.object.position) > r ||
-                  8 * (1 - o.dot(n.object.quaternion)) > r) &&
-                  (n.dispatchEvent(re), o.copy(n.object.quaternion), i.copy(n.object.position))
-            }),
-            (this.updateMovementVector = function () {
-              const e = this.moveState.forward || (this.autoForward && !this.moveState.back) ? 1 : 0
-              ;(this.moveVector.x = -this.moveState.left + this.moveState.right),
-                (this.moveVector.y = -this.moveState.down + this.moveState.up),
-                (this.moveVector.z = -e + this.moveState.back)
-            }),
-            (this.updateRotationVector = function () {
-              ;(this.rotationVector.x = -this.moveState.pitchDown + this.moveState.pitchUp),
-                (this.rotationVector.y = -this.moveState.yawRight + this.moveState.yawLeft),
-                (this.rotationVector.z = -this.moveState.rollRight + this.moveState.rollLeft)
-            }),
-            (this.getContainerDimensions = function () {
-              return this.domElement != document
-                ? {
-                    size: [this.domElement.offsetWidth, this.domElement.offsetHeight],
-                    offset: [this.domElement.offsetLeft, this.domElement.offsetTop],
-                  }
-                : { size: [window.innerWidth, window.innerHeight], offset: [0, 0] }
-            }),
-            (this.dispose = function () {
-              this.domElement.removeEventListener('contextmenu', ie),
-                this.domElement.removeEventListener('mousedown', s),
-                this.domElement.removeEventListener('mousemove', a),
-                this.domElement.removeEventListener('mouseup', u),
-                window.removeEventListener('keydown', c),
-                window.removeEventListener('keyup', l)
-            })
-          const a = this.mousemove.bind(this),
-            s = this.mousedown.bind(this),
-            u = this.mouseup.bind(this),
-            c = this.keydown.bind(this),
-            l = this.keyup.bind(this)
-          this.domElement.addEventListener('contextmenu', ie),
-            this.domElement.addEventListener('mousemove', a),
-            this.domElement.addEventListener('mousedown', s),
-            this.domElement.addEventListener('mouseup', u),
-            window.addEventListener('keydown', c),
-            window.addEventListener('keyup', l),
-            this.updateMovementVector(),
-            this.updateRotationVector()
-        }
-      }
-      function ie(e) {
-        e.preventDefault()
-      }
-      var ae = {
-        uniforms: { tDiffuse: { value: null }, opacity: { value: 1 } },
-        vertexShader:
-          '\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}',
-        fragmentShader:
-          '\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}',
-      }
-      class se {
-        constructor() {
-          ;(this.enabled = !0), (this.needsSwap = !0), (this.clear = !1), (this.renderToScreen = !1)
-        }
-        setSize() {}
-        render() {
-          console.error('THREE.Pass: .render() must be implemented in derived pass.')
-        }
-      }
-      const ue = new B.iKG(-1, 1, 1, -1, 0, 1),
-        ce = new B.u9r()
-      ce.setAttribute('position', new B.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)),
-        ce.setAttribute('uv', new B.a$l([0, 2, 0, 0, 2, 0], 2))
-      class le {
-        constructor(e) {
-          this._mesh = new B.Kj0(ce, e)
-        }
-        dispose() {
-          this._mesh.geometry.dispose()
-        }
-        render(e) {
-          e.render(this._mesh, ue)
-        }
-        get material() {
-          return this._mesh.material
-        }
-        set material(e) {
-          this._mesh.material = e
-        }
-      }
-      class de extends se {
-        constructor(e, t) {
-          super(),
-            (this.textureID = void 0 !== t ? t : 'tDiffuse'),
-            e instanceof B.jyz
-              ? ((this.uniforms = e.uniforms), (this.material = e))
-              : e &&
-                ((this.uniforms = B.rDY.clone(e.uniforms)),
-                (this.material = new B.jyz({
-                  defines: Object.assign({}, e.defines),
-                  uniforms: this.uniforms,
-                  vertexShader: e.vertexShader,
-                  fragmentShader: e.fragmentShader,
-                }))),
-            (this.fsQuad = new le(this.material))
-        }
-        render(e, t, n) {
-          this.uniforms[this.textureID] && (this.uniforms[this.textureID].value = n.texture),
-            (this.fsQuad.material = this.material),
-            this.renderToScreen
-              ? (e.setRenderTarget(null), this.fsQuad.render(e))
-              : (e.setRenderTarget(t),
-                this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil),
-                this.fsQuad.render(e))
-        }
-      }
-      class fe extends se {
-        constructor(e, t) {
-          super(),
-            (this.scene = e),
-            (this.camera = t),
-            (this.clear = !0),
-            (this.needsSwap = !1),
-            (this.inverse = !1)
-        }
-        render(e, t, n) {
-          const r = e.getContext(),
-            o = e.state
-          let i, a
-          o.buffers.color.setMask(!1),
-            o.buffers.depth.setMask(!1),
-            o.buffers.color.setLocked(!0),
-            o.buffers.depth.setLocked(!0),
-            this.inverse ? ((i = 0), (a = 1)) : ((i = 1), (a = 0)),
-            o.buffers.stencil.setTest(!0),
-            o.buffers.stencil.setOp(r.REPLACE, r.REPLACE, r.REPLACE),
-            o.buffers.stencil.setFunc(r.ALWAYS, i, 4294967295),
-            o.buffers.stencil.setClear(a),
-            o.buffers.stencil.setLocked(!0),
-            e.setRenderTarget(n),
-            this.clear && e.clear(),
-            e.render(this.scene, this.camera),
-            e.setRenderTarget(t),
-            this.clear && e.clear(),
-            e.render(this.scene, this.camera),
-            o.buffers.color.setLocked(!1),
-            o.buffers.depth.setLocked(!1),
-            o.buffers.stencil.setLocked(!1),
-            o.buffers.stencil.setFunc(r.EQUAL, 1, 4294967295),
-            o.buffers.stencil.setOp(r.KEEP, r.KEEP, r.KEEP),
-            o.buffers.stencil.setLocked(!0)
-        }
-      }
-      class he extends se {
-        constructor() {
-          super(), (this.needsSwap = !1)
-        }
-        render(e) {
-          e.state.buffers.stencil.setLocked(!1), e.state.buffers.stencil.setTest(!1)
-        }
-      }
-      class pe {
-        constructor(e, t) {
-          if (((this.renderer = e), void 0 === t)) {
-            const n = { minFilter: B.wem, magFilter: B.wem, format: B.wk1 },
-              r = e.getSize(new B.FM8())
-            ;(this._pixelRatio = e.getPixelRatio()),
-              (this._width = r.width),
-              (this._height = r.height),
-              ((t = new B.dd2(
-                this._width * this._pixelRatio,
-                this._height * this._pixelRatio,
-                n,
-              )).texture.name = 'EffectComposer.rt1')
-          } else (this._pixelRatio = 1), (this._width = t.width), (this._height = t.height)
-          ;(this.renderTarget1 = t),
-            (this.renderTarget2 = t.clone()),
-            (this.renderTarget2.texture.name = 'EffectComposer.rt2'),
-            (this.writeBuffer = this.renderTarget1),
-            (this.readBuffer = this.renderTarget2),
-            (this.renderToScreen = !0),
-            (this.passes = []),
-            void 0 === ae && console.error('THREE.EffectComposer relies on CopyShader'),
-            void 0 === de && console.error('THREE.EffectComposer relies on ShaderPass'),
-            (this.copyPass = new de(ae)),
-            (this.clock = new B.SUY())
-        }
-        swapBuffers() {
-          const e = this.readBuffer
-          ;(this.readBuffer = this.writeBuffer), (this.writeBuffer = e)
-        }
-        addPass(e) {
-          this.passes.push(e),
-            e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio)
-        }
-        insertPass(e, t) {
-          this.passes.splice(t, 0, e),
-            e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio)
-        }
-        removePass(e) {
-          const t = this.passes.indexOf(e)
-          ;-1 !== t && this.passes.splice(t, 1)
-        }
-        isLastEnabledPass(e) {
-          for (let t = e + 1; t < this.passes.length; t++) if (this.passes[t].enabled) return !1
-          return !0
-        }
-        render(e) {
-          void 0 === e && (e = this.clock.getDelta())
-          const t = this.renderer.getRenderTarget()
-          let n = !1
-          for (let r = 0, o = this.passes.length; r < o; r++) {
-            const t = this.passes[r]
-            if (!1 !== t.enabled) {
-              if (
-                ((t.renderToScreen = this.renderToScreen && this.isLastEnabledPass(r)),
-                t.render(this.renderer, this.writeBuffer, this.readBuffer, e, n),
-                t.needsSwap)
-              ) {
-                if (n) {
-                  const t = this.renderer.getContext(),
-                    n = this.renderer.state.buffers.stencil
-                  n.setFunc(t.NOTEQUAL, 1, 4294967295),
-                    this.copyPass.render(this.renderer, this.writeBuffer, this.readBuffer, e),
-                    n.setFunc(t.EQUAL, 1, 4294967295)
-                }
-                this.swapBuffers()
-              }
-              void 0 !== fe && (t instanceof fe ? (n = !0) : t instanceof he && (n = !1))
-            }
-          }
-          this.renderer.setRenderTarget(t)
-        }
-        reset(e) {
-          if (void 0 === e) {
-            const t = this.renderer.getSize(new B.FM8())
-            ;(this._pixelRatio = this.renderer.getPixelRatio()),
-              (this._width = t.width),
-              (this._height = t.height),
-              (e = this.renderTarget1.clone()).setSize(
-                this._width * this._pixelRatio,
-                this._height * this._pixelRatio,
-              )
-          }
-          this.renderTarget1.dispose(),
-            this.renderTarget2.dispose(),
-            (this.renderTarget1 = e),
-            (this.renderTarget2 = e.clone()),
-            (this.writeBuffer = this.renderTarget1),
-            (this.readBuffer = this.renderTarget2)
-        }
-        setSize(e, t) {
-          ;(this._width = e), (this._height = t)
-          const n = this._width * this._pixelRatio,
-            r = this._height * this._pixelRatio
-          this.renderTarget1.setSize(n, r), this.renderTarget2.setSize(n, r)
-          for (let o = 0; o < this.passes.length; o++) this.passes[o].setSize(n, r)
-        }
-        setPixelRatio(e) {
-          ;(this._pixelRatio = e), this.setSize(this._width, this._height)
-        }
-      }
-      new B.iKG(-1, 1, 1, -1, 0, 1)
-      const ve = new B.u9r()
-      ve.setAttribute('position', new B.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)),
-        ve.setAttribute('uv', new B.a$l([0, 2, 0, 0, 2, 0], 2))
-      class me extends se {
-        constructor(e, t, n, r, o) {
-          super(),
-            (this.scene = e),
-            (this.camera = t),
-            (this.overrideMaterial = n),
-            (this.clearColor = r),
-            (this.clearAlpha = void 0 !== o ? o : 0),
-            (this.clear = !0),
-            (this.clearDepth = !1),
-            (this.needsSwap = !1),
-            (this._oldClearColor = new B.Ilk())
-        }
-        render(e, t, n) {
-          const r = e.autoClear
-          let o, i
-          ;(e.autoClear = !1),
-            void 0 !== this.overrideMaterial &&
-              ((i = this.scene.overrideMaterial),
-              (this.scene.overrideMaterial = this.overrideMaterial)),
-            this.clearColor &&
-              (e.getClearColor(this._oldClearColor),
-              (o = e.getClearAlpha()),
-              e.setClearColor(this.clearColor, this.clearAlpha)),
-            this.clearDepth && e.clearDepth(),
-            e.setRenderTarget(this.renderToScreen ? null : n),
-            this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil),
-            e.render(this.scene, this.camera),
-            this.clearColor && e.setClearColor(this._oldClearColor, o),
-            void 0 !== this.overrideMaterial && (this.scene.overrideMaterial = i),
-            (e.autoClear = r)
-        }
-      }
-      function ge() {
-        return (ge =
-          Object.assign ||
-          function (e) {
-            for (var t = 1; t < arguments.length; t++) {
-              var n = arguments[t]
-              for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-            }
-            return e
-          }).apply(this, arguments)
-      }
-      function ye(e, t) {
-        return (ye =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      function be(e) {
-        return (be = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function (e) {
-              return e.__proto__ || Object.getPrototypeOf(e)
-            })(e)
-      }
-      function we() {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
-        } catch (e) {
-          return !1
-        }
-      }
-      function _e(e, t, n) {
-        return (_e = we()
-          ? Reflect.construct
-          : function (e, t, n) {
-              var r = [null]
-              r.push.apply(r, t)
-              var o = new (Function.bind.apply(e, r))()
-              return n && ye(o, n.prototype), o
-            }).apply(null, arguments)
-      }
-      function xe(e) {
-        var t = 'function' === typeof Map ? new Map() : void 0
-        return (xe = function (e) {
-          if (null === e || ((n = e), -1 === Function.toString.call(n).indexOf('[native code]')))
-            return e
-          var n
-          if ('function' !== typeof e)
-            throw new TypeError('Super expression must either be null or a function')
-          if ('undefined' !== typeof t) {
-            if (t.has(e)) return t.get(e)
-            t.set(e, r)
-          }
-          function r() {
-            return _e(e, arguments, be(this).constructor)
-          }
-          return (
-            (r.prototype = Object.create(e.prototype, {
-              constructor: { value: r, enumerable: !1, writable: !0, configurable: !0 },
-            })),
-            ye(r, e)
-          )
-        })(e)
-      }
-      var ke = (function (e) {
-        var t, n
-        function r(t) {
-          return (function (e) {
-            if (void 0 === e)
-              throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
-            return e
-          })(
-            e.call(
-              this,
-              'An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#' +
-                t +
-                ' for more information.',
-            ) || this,
-          )
-        }
-        return (
-          (n = e),
-          ((t = r).prototype = Object.create(n.prototype)),
-          (t.prototype.constructor = t),
-          ye(t, n),
-          r
-        )
-      })(xe(Error))
-      function Ee(e) {
-        return Math.round(255 * e)
-      }
-      function Oe(e, t, n) {
-        return Ee(e) + ',' + Ee(t) + ',' + Ee(n)
-      }
-      function Te(e, t, n, r) {
-        if ((void 0 === r && (r = Oe), 0 === t)) return r(n, n, n)
-        var o = (((e % 360) + 360) % 360) / 60,
-          i = (1 - Math.abs(2 * n - 1)) * t,
-          a = i * (1 - Math.abs((o % 2) - 1)),
-          s = 0,
-          u = 0,
-          c = 0
-        o >= 0 && o < 1
-          ? ((s = i), (u = a))
-          : o >= 1 && o < 2
-          ? ((s = a), (u = i))
-          : o >= 2 && o < 3
-          ? ((u = i), (c = a))
-          : o >= 3 && o < 4
-          ? ((u = a), (c = i))
-          : o >= 4 && o < 5
-          ? ((s = a), (c = i))
-          : o >= 5 && o < 6 && ((s = i), (c = a))
-        var l = n - i / 2
-        return r(s + l, u + l, c + l)
-      }
-      var Ce = {
-        aliceblue: 'f0f8ff',
-        antiquewhite: 'faebd7',
-        aqua: '00ffff',
-        aquamarine: '7fffd4',
-        azure: 'f0ffff',
-        beige: 'f5f5dc',
-        bisque: 'ffe4c4',
-        black: '000',
-        blanchedalmond: 'ffebcd',
-        blue: '0000ff',
-        blueviolet: '8a2be2',
-        brown: 'a52a2a',
-        burlywood: 'deb887',
-        cadetblue: '5f9ea0',
-        chartreuse: '7fff00',
-        chocolate: 'd2691e',
-        coral: 'ff7f50',
-        cornflowerblue: '6495ed',
-        cornsilk: 'fff8dc',
-        crimson: 'dc143c',
-        cyan: '00ffff',
-        darkblue: '00008b',
-        darkcyan: '008b8b',
-        darkgoldenrod: 'b8860b',
-        darkgray: 'a9a9a9',
-        darkgreen: '006400',
-        darkgrey: 'a9a9a9',
-        darkkhaki: 'bdb76b',
-        darkmagenta: '8b008b',
-        darkolivegreen: '556b2f',
-        darkorange: 'ff8c00',
-        darkorchid: '9932cc',
-        darkred: '8b0000',
-        darksalmon: 'e9967a',
-        darkseagreen: '8fbc8f',
-        darkslateblue: '483d8b',
-        darkslategray: '2f4f4f',
-        darkslategrey: '2f4f4f',
-        darkturquoise: '00ced1',
-        darkviolet: '9400d3',
-        deeppink: 'ff1493',
-        deepskyblue: '00bfff',
-        dimgray: '696969',
-        dimgrey: '696969',
-        dodgerblue: '1e90ff',
-        firebrick: 'b22222',
-        floralwhite: 'fffaf0',
-        forestgreen: '228b22',
-        fuchsia: 'ff00ff',
-        gainsboro: 'dcdcdc',
-        ghostwhite: 'f8f8ff',
-        gold: 'ffd700',
-        goldenrod: 'daa520',
-        gray: '808080',
-        green: '008000',
-        greenyellow: 'adff2f',
-        grey: '808080',
-        honeydew: 'f0fff0',
-        hotpink: 'ff69b4',
-        indianred: 'cd5c5c',
-        indigo: '4b0082',
-        ivory: 'fffff0',
-        khaki: 'f0e68c',
-        lavender: 'e6e6fa',
-        lavenderblush: 'fff0f5',
-        lawngreen: '7cfc00',
-        lemonchiffon: 'fffacd',
-        lightblue: 'add8e6',
-        lightcoral: 'f08080',
-        lightcyan: 'e0ffff',
-        lightgoldenrodyellow: 'fafad2',
-        lightgray: 'd3d3d3',
-        lightgreen: '90ee90',
-        lightgrey: 'd3d3d3',
-        lightpink: 'ffb6c1',
-        lightsalmon: 'ffa07a',
-        lightseagreen: '20b2aa',
-        lightskyblue: '87cefa',
-        lightslategray: '789',
-        lightslategrey: '789',
-        lightsteelblue: 'b0c4de',
-        lightyellow: 'ffffe0',
-        lime: '0f0',
-        limegreen: '32cd32',
-        linen: 'faf0e6',
-        magenta: 'f0f',
-        maroon: '800000',
-        mediumaquamarine: '66cdaa',
-        mediumblue: '0000cd',
-        mediumorchid: 'ba55d3',
-        mediumpurple: '9370db',
-        mediumseagreen: '3cb371',
-        mediumslateblue: '7b68ee',
-        mediumspringgreen: '00fa9a',
-        mediumturquoise: '48d1cc',
-        mediumvioletred: 'c71585',
-        midnightblue: '191970',
-        mintcream: 'f5fffa',
-        mistyrose: 'ffe4e1',
-        moccasin: 'ffe4b5',
-        navajowhite: 'ffdead',
-        navy: '000080',
-        oldlace: 'fdf5e6',
-        olive: '808000',
-        olivedrab: '6b8e23',
-        orange: 'ffa500',
-        orangered: 'ff4500',
-        orchid: 'da70d6',
-        palegoldenrod: 'eee8aa',
-        palegreen: '98fb98',
-        paleturquoise: 'afeeee',
-        palevioletred: 'db7093',
-        papayawhip: 'ffefd5',
-        peachpuff: 'ffdab9',
-        peru: 'cd853f',
-        pink: 'ffc0cb',
-        plum: 'dda0dd',
-        powderblue: 'b0e0e6',
-        purple: '800080',
-        rebeccapurple: '639',
-        red: 'f00',
-        rosybrown: 'bc8f8f',
-        royalblue: '4169e1',
-        saddlebrown: '8b4513',
-        salmon: 'fa8072',
-        sandybrown: 'f4a460',
-        seagreen: '2e8b57',
-        seashell: 'fff5ee',
-        sienna: 'a0522d',
-        silver: 'c0c0c0',
-        skyblue: '87ceeb',
-        slateblue: '6a5acd',
-        slategray: '708090',
-        slategrey: '708090',
-        snow: 'fffafa',
-        springgreen: '00ff7f',
-        steelblue: '4682b4',
-        tan: 'd2b48c',
-        teal: '008080',
-        thistle: 'd8bfd8',
-        tomato: 'ff6347',
-        turquoise: '40e0d0',
-        violet: 'ee82ee',
-        wheat: 'f5deb3',
-        white: 'fff',
-        whitesmoke: 'f5f5f5',
-        yellow: 'ff0',
-        yellowgreen: '9acd32',
-      }
-      var Me = /^#[a-fA-F0-9]{6}$/,
-        Se = /^#[a-fA-F0-9]{8}$/,
-        Pe = /^#[a-fA-F0-9]{3}$/,
-        je = /^#[a-fA-F0-9]{4}$/,
-        Ie = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,
-        Ae =
-          /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,
-        Re =
-          /^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,
-        De =
-          /^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i
-      function Le(e) {
-        if ('string' !== typeof e) throw new ke(3)
-        var t = (function (e) {
-          if ('string' !== typeof e) return e
-          var t = e.toLowerCase()
-          return Ce[t] ? '#' + Ce[t] : e
-        })(e)
-        if (t.match(Me))
-          return {
-            red: parseInt('' + t[1] + t[2], 16),
-            green: parseInt('' + t[3] + t[4], 16),
-            blue: parseInt('' + t[5] + t[6], 16),
-          }
-        if (t.match(Se)) {
-          var n = parseFloat((parseInt('' + t[7] + t[8], 16) / 255).toFixed(2))
-          return {
-            red: parseInt('' + t[1] + t[2], 16),
-            green: parseInt('' + t[3] + t[4], 16),
-            blue: parseInt('' + t[5] + t[6], 16),
-            alpha: n,
-          }
-        }
-        if (t.match(Pe))
-          return {
-            red: parseInt('' + t[1] + t[1], 16),
-            green: parseInt('' + t[2] + t[2], 16),
-            blue: parseInt('' + t[3] + t[3], 16),
-          }
-        if (t.match(je)) {
-          var r = parseFloat((parseInt('' + t[4] + t[4], 16) / 255).toFixed(2))
-          return {
-            red: parseInt('' + t[1] + t[1], 16),
-            green: parseInt('' + t[2] + t[2], 16),
-            blue: parseInt('' + t[3] + t[3], 16),
-            alpha: r,
-          }
-        }
-        var o = Ie.exec(t)
-        if (o)
-          return {
-            red: parseInt('' + o[1], 10),
-            green: parseInt('' + o[2], 10),
-            blue: parseInt('' + o[3], 10),
-          }
-        var i = Ae.exec(t.substring(0, 50))
-        if (i)
-          return {
-            red: parseInt('' + i[1], 10),
-            green: parseInt('' + i[2], 10),
-            blue: parseInt('' + i[3], 10),
-            alpha: parseFloat('' + i[4]),
-          }
-        var a = Re.exec(t)
-        if (a) {
-          var s =
-              'rgb(' +
-              Te(
-                parseInt('' + a[1], 10),
-                parseInt('' + a[2], 10) / 100,
-                parseInt('' + a[3], 10) / 100,
-              ) +
-              ')',
-            u = Ie.exec(s)
-          if (!u) throw new ke(4, t, s)
-          return {
-            red: parseInt('' + u[1], 10),
-            green: parseInt('' + u[2], 10),
-            blue: parseInt('' + u[3], 10),
-          }
-        }
-        var c = De.exec(t.substring(0, 50))
-        if (c) {
-          var l =
-              'rgb(' +
-              Te(
-                parseInt('' + c[1], 10),
-                parseInt('' + c[2], 10) / 100,
-                parseInt('' + c[3], 10) / 100,
-              ) +
-              ')',
-            d = Ie.exec(l)
-          if (!d) throw new ke(4, t, l)
-          return {
-            red: parseInt('' + d[1], 10),
-            green: parseInt('' + d[2], 10),
-            blue: parseInt('' + d[3], 10),
-            alpha: parseFloat('' + c[4]),
-          }
-        }
-        throw new ke(5)
-      }
-      var Ne = function (e) {
-        return 7 === e.length && e[1] === e[2] && e[3] === e[4] && e[5] === e[6]
-          ? '#' + e[1] + e[3] + e[5]
-          : e
-      }
-      function ze(e) {
-        var t = e.toString(16)
-        return 1 === t.length ? '0' + t : t
-      }
-      function Be(e, t, n) {
-        if ('number' === typeof e && 'number' === typeof t && 'number' === typeof n)
-          return Ne('#' + ze(e) + ze(t) + ze(n))
-        if ('object' === typeof e && void 0 === t && void 0 === n)
-          return Ne('#' + ze(e.red) + ze(e.green) + ze(e.blue))
-        throw new ke(6)
-      }
-      function He(e, t, n, r) {
-        if ('string' === typeof e && 'number' === typeof t) {
-          var o = Le(e)
-          return 'rgba(' + o.red + ',' + o.green + ',' + o.blue + ',' + t + ')'
-        }
-        if (
-          'number' === typeof e &&
-          'number' === typeof t &&
-          'number' === typeof n &&
-          'number' === typeof r
-        )
-          return r >= 1 ? Be(e, t, n) : 'rgba(' + e + ',' + t + ',' + n + ',' + r + ')'
-        if ('object' === typeof e && void 0 === t && void 0 === n && void 0 === r)
-          return e.alpha >= 1
-            ? Be(e.red, e.green, e.blue)
-            : 'rgba(' + e.red + ',' + e.green + ',' + e.blue + ',' + e.alpha + ')'
-        throw new ke(7)
-      }
-      function Fe(e, t, n) {
-        return function () {
-          var r = n.concat(Array.prototype.slice.call(arguments))
-          return r.length >= t ? e.apply(this, r) : Fe(e, t, r)
-        }
-      }
-      function Ve(e) {
-        return Fe(e, e.length, [])
-      }
-      function We(e, t, n) {
-        return Math.max(e, Math.min(t, n))
-      }
-      function Ue(e, t) {
-        if ('transparent' === t) return t
-        var n = Le(t)
-        return He(
-          ge({}, n, {
-            alpha: We(
-              0,
-              1,
-              (100 * ('number' === typeof n.alpha ? n.alpha : 1) + 100 * parseFloat(e)) / 100,
-            ),
-          }),
-        )
-      }
-      var Ge = Ve(Ue)
-      var qe = r(36194)
-      function Ke(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function Ze(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n =
-              null == e
-                ? null
-                : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          $e(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function Xe(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return Ye(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          $e(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function $e(e, t) {
-        if (e) {
-          if ('string' === typeof e) return Ye(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? Ye(e, t)
-              : void 0
-          )
-        }
-      }
-      function Ye(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      !(function (e, t) {
-        void 0 === t && (t = {})
-        var n = t.insertAt
-        if (e && 'undefined' !== typeof document) {
-          var r = document.head || document.getElementsByTagName('head')[0],
-            o = document.createElement('style')
-          ;(o.type = 'text/css'),
-            'top' === n && r.firstChild ? r.insertBefore(o, r.firstChild) : r.appendChild(o),
-            o.styleSheet ? (o.styleSheet.cssText = e) : o.appendChild(document.createTextNode(e))
-        }
-      })(
-        '.scene-nav-info {\n  bottom: 5px;\n  width: 100%;\n  text-align: center;\n  color: slategrey;\n  opacity: 0.7;\n  font-size: 10px;\n}\n\n.scene-tooltip {\n  color: lavender;\n  font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n  position: absolute;\n  font-family: sans-serif;\n  pointer-events: none;\n}\n\n.scene-container canvas:focus {\n  outline: none;\n}',
-      )
-      var Qe = window.THREE
-          ? window.THREE
-          : {
-              WebGLRenderer: B.CP7,
-              Scene: B.xsS,
-              PerspectiveCamera: B.cPb,
-              Raycaster: B.iMs,
-              TextureLoader: B.dpR,
-              Vector2: B.FM8,
-              Vector3: B.Pa4,
-              Box3: B.ZzF,
-              Color: B.Ilk,
-              Mesh: B.Kj0,
-              SphereGeometry: B.xo$,
-              MeshBasicMaterial: B.vBJ,
-              BackSide: B._Li,
-              EventDispatcher: B.pBf,
-              MOUSE: B.RsA,
-              Quaternion: B._fP,
-              Spherical: B.$V,
-              Clock: B.SUY,
-            },
-        Je = (0, b.Z)({
-          props: {
-            width: {
-              default: window.innerWidth,
-              onChange: function (e, t, n) {
-                isNaN(e) && (t.width = n)
-              },
-            },
-            height: {
-              default: window.innerHeight,
-              onChange: function (e, t, n) {
-                isNaN(e) && (t.height = n)
-              },
-            },
-            backgroundColor: { default: '#000011' },
-            backgroundImageUrl: {},
-            onBackgroundImageLoaded: {},
-            showNavInfo: { default: !0 },
-            skyRadius: { default: 5e4 },
-            objects: { default: [] },
-            enablePointerInteraction: {
-              default: !0,
-              onChange: function (e, t) {
-                ;(t.hoverObj = null), t.toolTipElem && (t.toolTipElem.innerHTML = '')
-              },
-              triggerUpdate: !1,
-            },
-            lineHoverPrecision: { default: 1, triggerUpdate: !1 },
-            hoverOrderComparator: {
-              default: function () {
-                return -1
-              },
-              triggerUpdate: !1,
-            },
-            hoverFilter: {
-              default: function () {
-                return !0
-              },
-              triggerUpdate: !1,
-            },
-            tooltipContent: { triggerUpdate: !1 },
-            hoverDuringDrag: { default: !1, triggerUpdate: !1 },
-            clickAfterDrag: { default: !1, triggerUpdate: !1 },
-            onHover: { default: function () {}, triggerUpdate: !1 },
-            onClick: { default: function () {}, triggerUpdate: !1 },
-            onRightClick: { triggerUpdate: !1 },
-          },
-          methods: {
-            tick: function (e) {
-              if (e.initialised) {
-                if (
-                  (e.controls.update && e.controls.update(e.clock.getDelta()),
-                  e.postProcessingComposer
-                    ? e.postProcessingComposer.render()
-                    : e.renderer.render(e.scene, e.camera),
-                  e.extraRenderers.forEach(function (t) {
-                    return t.render(e.scene, e.camera)
-                  }),
-                  e.enablePointerInteraction)
-                ) {
-                  var t = null
-                  if (e.hoverDuringDrag || !e.isPointerDragging) {
-                    var n = this.intersectingObjects(e.pointerPos.x, e.pointerPos.y)
-                        .filter(function (t) {
-                          return e.hoverFilter(t.object)
-                        })
-                        .sort(function (t, n) {
-                          return e.hoverOrderComparator(t.object, n.object)
-                        }),
-                      r = n.length ? n[0] : null
-                    ;(t = r ? r.object : null), (e.intersectionPoint = r ? r.point : null)
-                  }
-                  t !== e.hoverObj &&
-                    (e.onHover(t, e.hoverObj),
-                    (e.toolTipElem.innerHTML = (t && (0, w.default)(e.tooltipContent)(t)) || ''),
-                    (e.hoverObj = t))
-                }
-                qe.ZP.update()
-              }
-              return this
-            },
-            getPointerPos: function (e) {
-              var t = e.pointerPos
-              return { x: t.x, y: t.y }
-            },
-            cameraPosition: function (e, t, n, r) {
-              var o = e.camera
-              if (t && e.initialised) {
-                var i = t,
-                  a = n || { x: 0, y: 0, z: 0 }
-                if (r) {
-                  var s = Object.assign({}, o.position),
-                    u = d()
-                  new qe.ZP.Tween(s)
-                    .to(i, r)
-                    .easing(qe.ZP.Easing.Quadratic.Out)
-                    .onUpdate(c)
-                    .start(),
-                    new qe.ZP.Tween(u)
-                      .to(a, r / 3)
-                      .easing(qe.ZP.Easing.Quadratic.Out)
-                      .onUpdate(l)
-                      .start()
-                } else c(i), l(a)
-                return this
-              }
-              return Object.assign({}, o.position, { lookAt: d() })
-              function c(e) {
-                var t = e.x,
-                  n = e.y,
-                  r = e.z
-                void 0 !== t && (o.position.x = t),
-                  void 0 !== n && (o.position.y = n),
-                  void 0 !== r && (o.position.z = r)
-              }
-              function l(t) {
-                e.controls.target = new Qe.Vector3(t.x, t.y, t.z)
-              }
-              function d() {
-                return Object.assign(
-                  new Qe.Vector3(0, 0, -1e3).applyQuaternion(o.quaternion).add(o.position),
-                )
-              }
-            },
-            zoomToFit: function (e) {
-              for (
-                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
-                  n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10,
-                  r = arguments.length,
-                  o = new Array(r > 3 ? r - 3 : 0),
-                  i = 3;
-                i < r;
-                i++
-              )
-                o[i - 3] = arguments[i]
-              return this.fitToBbox(this.getBbox.apply(this, o), t, n)
-            },
-            fitToBbox: function (e, t) {
-              var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
-                r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10,
-                o = e.camera
-              if (t) {
-                var i = new Qe.Vector3(0, 0, 0),
-                  a =
-                    2 *
-                    Math.max.apply(
-                      Math,
-                      Xe(
-                        Object.entries(t).map(function (e) {
-                          var t = Ze(e, 2),
-                            n = t[0],
-                            r = t[1]
-                          return Math.max.apply(
-                            Math,
-                            Xe(
-                              r.map(function (e) {
-                                return Math.abs(i[n] - e)
-                              }),
-                            ),
-                          )
-                        }),
-                      ),
-                    ),
-                  s = (1 - (2 * r) / e.height) * o.fov,
-                  u = a / Math.atan((s * Math.PI) / 180),
-                  c = u / o.aspect,
-                  l = Math.max(u, c)
-                if (l > 0) {
-                  var d = i.clone().sub(o.position).normalize().multiplyScalar(-l)
-                  this.cameraPosition(d, i, n)
-                }
-              }
-              return this
-            },
-            getBbox: function (e) {
-              var t =
-                  arguments.length > 1 && void 0 !== arguments[1]
-                    ? arguments[1]
-                    : function () {
-                        return !0
-                      },
-                n = new Qe.Box3(new Qe.Vector3(0, 0, 0), new Qe.Vector3(0, 0, 0)),
-                r = e.objects.filter(t)
-              return r.length
-                ? (r.forEach(function (e) {
-                    return n.expandByObject(e)
-                  }),
-                  Object.assign.apply(
-                    Object,
-                    Xe(
-                      ['x', 'y', 'z'].map(function (e) {
-                        return Ke({}, e, [n.min[e], n.max[e]])
-                      }),
-                    ),
-                  ))
-                : null
-            },
-            getScreenCoords: function (e, t, n, r) {
-              var o = new Qe.Vector3(t, n, r)
-              return (
-                o.project(this.camera()),
-                { x: ((o.x + 1) * e.width) / 2, y: (-(o.y - 1) * e.height) / 2 }
-              )
-            },
-            getSceneCoords: function (e, t, n) {
-              var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
-                o = new Qe.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1),
-                i = new Qe.Raycaster()
-              return i.setFromCamera(o, e.camera), Object.assign({}, i.ray.at(r, new Qe.Vector3()))
-            },
-            intersectingObjects: function (e, t, n) {
-              var r = new Qe.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1),
-                o = new Qe.Raycaster()
-              return (
-                (o.params.Line.threshold = e.lineHoverPrecision),
-                o.setFromCamera(r, e.camera),
-                o.intersectObjects(e.objects, !0)
-              )
-            },
-            renderer: function (e) {
-              return e.renderer
-            },
-            scene: function (e) {
-              return e.scene
-            },
-            camera: function (e) {
-              return e.camera
-            },
-            postProcessingComposer: function (e) {
-              return e.postProcessingComposer
-            },
-            controls: function (e) {
-              return e.controls
-            },
-            tbControls: function (e) {
-              return e.controls
-            },
-          },
-          stateInit: function () {
-            return {
-              scene: new Qe.Scene(),
-              camera: new Qe.PerspectiveCamera(),
-              clock: new Qe.Clock(),
-            }
-          },
-          init: function (e, t) {
-            var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-              r = n.controlType,
-              o = void 0 === r ? 'trackball' : r,
-              i = n.rendererConfig,
-              a = void 0 === i ? {} : i,
-              s = n.extraRenderers,
-              u = void 0 === s ? [] : s,
-              c = n.waitForLoadComplete,
-              l = void 0 === c || c
-            ;(e.innerHTML = ''),
-              e.appendChild((t.container = document.createElement('div'))),
-              (t.container.className = 'scene-container'),
-              (t.container.style.position = 'relative'),
-              t.container.appendChild((t.navInfo = document.createElement('div'))),
-              (t.navInfo.className = 'scene-nav-info'),
-              (t.navInfo.textContent =
-                {
-                  orbit: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan',
-                  trackball: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan',
-                  fly: 'WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw',
-                }[o] || ''),
-              (t.navInfo.style.display = t.showNavInfo ? null : 'none'),
-              (t.toolTipElem = document.createElement('div')),
-              t.toolTipElem.classList.add('scene-tooltip'),
-              t.container.appendChild(t.toolTipElem),
-              (t.pointerPos = new Qe.Vector2()),
-              (t.pointerPos.x = -2),
-              (t.pointerPos.y = -2),
-              ['pointermove', 'pointerdown'].forEach(function (e) {
-                return t.container.addEventListener(
-                  e,
-                  function (n) {
-                    if (
-                      ('pointerdown' === e && (t.isPointerPressed = !0),
-                      !t.isPointerDragging &&
-                        'pointermove' === n.type &&
-                        (n.pressure > 0 || t.isPointerPressed) &&
-                        ('touch' !== n.pointerType ||
-                          void 0 === n.movementX ||
-                          [n.movementX, n.movementY].some(function (e) {
-                            return Math.abs(e) > 1
-                          })) &&
-                        (t.isPointerDragging = !0),
-                      t.enablePointerInteraction)
-                    ) {
-                      var r = (function (e) {
-                        var t = e.getBoundingClientRect(),
-                          n = window.pageXOffset || document.documentElement.scrollLeft,
-                          r = window.pageYOffset || document.documentElement.scrollTop
-                        return { top: t.top + r, left: t.left + n }
-                      })(t.container)
-                      ;(t.pointerPos.x = n.pageX - r.left),
-                        (t.pointerPos.y = n.pageY - r.top),
-                        (t.toolTipElem.style.top = ''.concat(t.pointerPos.y, 'px')),
-                        (t.toolTipElem.style.left = ''.concat(t.pointerPos.x, 'px')),
-                        (t.toolTipElem.style.transform = 'translate(-'.concat(
-                          (t.pointerPos.x / t.width) * 100,
-                          '%, 21px)',
-                        ))
-                    }
-                  },
-                  { passive: !0 },
-                )
-              }),
-              t.container.addEventListener(
-                'pointerup',
-                function (e) {
-                  ;(t.isPointerPressed = !1),
-                    (t.isPointerDragging && ((t.isPointerDragging = !1), !t.clickAfterDrag)) ||
-                      requestAnimationFrame(function () {
-                        0 === e.button && t.onClick(t.hoverObj || null, e, t.intersectionPoint),
-                          2 === e.button &&
-                            t.onRightClick &&
-                            t.onRightClick(t.hoverObj || null, e, t.intersectionPoint)
-                      })
-                },
-                { passive: !0, capture: !0 },
-              ),
-              t.container.addEventListener('contextmenu', function (e) {
-                t.onRightClick && e.preventDefault()
-              }),
-              (t.renderer = new Qe.WebGLRenderer(Object.assign({ antialias: !0, alpha: !0 }, a))),
-              t.renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)),
-              t.container.appendChild(t.renderer.domElement),
-              (t.extraRenderers = u),
-              t.extraRenderers.forEach(function (e) {
-                ;(e.domElement.style.position = 'absolute'),
-                  (e.domElement.style.top = '0px'),
-                  (e.domElement.style.pointerEvents = 'none'),
-                  t.container.appendChild(e.domElement)
-              }),
-              (t.postProcessingComposer = new pe(t.renderer)),
-              t.postProcessingComposer.addPass(new me(t.scene, t.camera)),
-              (t.controls = new { trackball: Q, orbit: ne, fly: oe }[o](
-                t.camera,
-                t.renderer.domElement,
-              )),
-              'fly' === o &&
-                ((t.controls.movementSpeed = 300),
-                (t.controls.rollSpeed = Math.PI / 6),
-                (t.controls.dragToLook = !0)),
-              ('trackball' !== o && 'orbit' !== o) ||
-                ((t.controls.minDistance = 0.1),
-                (t.controls.maxDistance = t.skyRadius),
-                t.controls.addEventListener('start', function () {
-                  t.controlsEngaged = !0
-                }),
-                t.controls.addEventListener('change', function () {
-                  t.controlsEngaged && (t.controlsDragging = !0)
-                }),
-                t.controls.addEventListener('end', function () {
-                  ;(t.controlsEngaged = !1), (t.controlsDragging = !1)
-                })),
-              [t.renderer, t.postProcessingComposer]
-                .concat(Xe(t.extraRenderers))
-                .forEach(function (e) {
-                  return e.setSize(t.width, t.height)
-                }),
-              (t.camera.aspect = t.width / t.height),
-              t.camera.updateProjectionMatrix(),
-              (t.camera.position.z = 1e3),
-              t.scene.add((t.skysphere = new Qe.Mesh())),
-              (t.skysphere.visible = !1),
-              (t.loadComplete = t.scene.visible = !l),
-              (window.scene = t.scene)
-          },
-          update: function (e, t) {
-            if (
-              (e.width &&
-                e.height &&
-                (t.hasOwnProperty('width') || t.hasOwnProperty('height')) &&
-                ((e.container.style.width = e.width),
-                (e.container.style.height = e.height),
-                [e.renderer, e.postProcessingComposer]
-                  .concat(Xe(e.extraRenderers))
-                  .forEach(function (t) {
-                    return t.setSize(e.width, e.height)
-                  }),
-                (e.camera.aspect = e.width / e.height),
-                e.camera.updateProjectionMatrix()),
-              t.hasOwnProperty('skyRadius') &&
-                e.skyRadius &&
-                (e.controls.hasOwnProperty('maxDistance') &&
-                  t.skyRadius &&
-                  (e.controls.maxDistance = e.skyRadius),
-                (e.camera.far = 2.5 * e.skyRadius),
-                e.camera.updateProjectionMatrix(),
-                (e.skysphere.geometry = new Qe.SphereGeometry(e.skyRadius))),
-              t.hasOwnProperty('backgroundColor'))
-            ) {
-              var n = Le(e.backgroundColor).alpha
-              void 0 === n && (n = 1),
-                e.renderer.setClearColor(new Qe.Color(Ge(1, e.backgroundColor)), n)
-            }
-            function r() {
-              e.loadComplete = e.scene.visible = !0
-            }
-            t.hasOwnProperty('backgroundImageUrl') &&
-              (e.backgroundImageUrl
-                ? new Qe.TextureLoader().load(e.backgroundImageUrl, function (t) {
-                    ;(e.skysphere.material = new Qe.MeshBasicMaterial({
-                      map: t,
-                      side: Qe.BackSide,
-                    })),
-                      (e.skysphere.visible = !0),
-                      e.onBackgroundImageLoaded && setTimeout(e.onBackgroundImageLoaded),
-                      !e.loadComplete && r()
-                  })
-                : ((e.skysphere.visible = !1),
-                  (e.skysphere.material.map = null),
-                  !e.loadComplete && r())),
-              t.hasOwnProperty('showNavInfo') &&
-                (e.navInfo.style.display = e.showNavInfo ? null : 'none'),
-              t.hasOwnProperty('objects') &&
-                ((t.objects || []).forEach(function (t) {
-                  return e.scene.remove(t)
-                }),
-                e.objects.forEach(function (t) {
-                  return e.scene.add(t)
-                }))
-          },
-        })
-      function et(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function tt(e) {
-        for (var t = 1; t < arguments.length; t++) {
-          var n = null != arguments[t] ? arguments[t] : {}
-          t % 2
-            ? et(Object(n), !0).forEach(function (t) {
-                nt(e, t, n[t])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-            : et(Object(n)).forEach(function (t) {
-                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-              })
-        }
-        return e
-      }
-      function nt(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function rt(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return ot(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          (function (e, t) {
-            if (!e) return
-            if ('string' === typeof e) return ot(e, t)
-            var n = Object.prototype.toString.call(e).slice(8, -1)
-            'Object' === n && e.constructor && (n = e.constructor.name)
-            if ('Map' === n || 'Set' === n) return Array.from(e)
-            if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-              return ot(e, t)
-          })(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function ot(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function it(e, t) {
-        var n = new t()
-        return {
-          linkProp: function (t) {
-            return {
-              default: n[t](),
-              onChange: function (n, r) {
-                r[e][t](n)
-              },
-              triggerUpdate: !1,
-            }
-          },
-          linkMethod: function (t) {
-            return function (n) {
-              for (
-                var r = n[e], o = arguments.length, i = new Array(o > 1 ? o - 1 : 0), a = 1;
-                a < o;
-                a++
-              )
-                i[a - 1] = arguments[a]
-              var s = r[t].apply(r, i)
-              return s === r ? this : s
-            }
-          },
-        }
-      }
-      !(function (e, t) {
-        void 0 === t && (t = {})
-        var n = t.insertAt
-        if (e && 'undefined' !== typeof document) {
-          var r = document.head || document.getElementsByTagName('head')[0],
-            o = document.createElement('style')
-          ;(o.type = 'text/css'),
-            'top' === n && r.firstChild ? r.insertBefore(o, r.firstChild) : r.appendChild(o),
-            o.styleSheet ? (o.styleSheet.cssText = e) : o.appendChild(document.createTextNode(e))
-        }
-      })(
-        '.graph-info-msg {\n  top: 50%;\n  width: 100%;\n  text-align: center;\n  color: lavender;\n  opacity: 0.7;\n  font-size: 22px;\n  position: absolute;\n  font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n  cursor: pointer;\n}\n\n.scene-container .grabbable {\n  cursor: move;\n  cursor: grab;\n  cursor: -moz-grab;\n  cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n  cursor: grabbing;\n  cursor: -moz-grabbing;\n  cursor: -webkit-grabbing;\n}',
-      )
-      var at = window.THREE
-          ? window.THREE
-          : { AmbientLight: B.Mig, DirectionalLight: B.Ox3, Vector3: B.Pa4 },
-        st = it('forceGraph', Z.default),
-        ut = Object.assign.apply(
-          Object,
-          rt(
-            [
-              'jsonUrl',
-              'graphData',
-              'numDimensions',
-              'dagMode',
-              'dagLevelDistance',
-              'dagNodeFilter',
-              'onDagError',
-              'nodeRelSize',
-              'nodeId',
-              'nodeVal',
-              'nodeResolution',
-              'nodeColor',
-              'nodeAutoColorBy',
-              'nodeOpacity',
-              'nodeVisibility',
-              'nodeThreeObject',
-              'nodeThreeObjectExtend',
-              'linkSource',
-              'linkTarget',
-              'linkVisibility',
-              'linkColor',
-              'linkAutoColorBy',
-              'linkOpacity',
-              'linkWidth',
-              'linkResolution',
-              'linkCurvature',
-              'linkCurveRotation',
-              'linkMaterial',
-              'linkThreeObject',
-              'linkThreeObjectExtend',
-              'linkPositionUpdate',
-              'linkDirectionalArrowLength',
-              'linkDirectionalArrowColor',
-              'linkDirectionalArrowRelPos',
-              'linkDirectionalArrowResolution',
-              'linkDirectionalParticles',
-              'linkDirectionalParticleSpeed',
-              'linkDirectionalParticleWidth',
-              'linkDirectionalParticleColor',
-              'linkDirectionalParticleResolution',
-              'forceEngine',
-              'd3AlphaDecay',
-              'd3VelocityDecay',
-              'd3AlphaMin',
-              'ngraphPhysics',
-              'warmupTicks',
-              'cooldownTicks',
-              'cooldownTime',
-              'onEngineTick',
-              'onEngineStop',
-            ].map(function (e) {
-              return nt({}, e, st.linkProp(e))
-            }),
-          ),
-        ),
-        ct = Object.assign.apply(
-          Object,
-          rt(
-            ['refresh', 'getGraphBbox', 'd3Force', 'd3ReheatSimulation', 'emitParticle'].map(
-              function (e) {
-                return nt({}, e, st.linkMethod(e))
-              },
-            ),
-          ),
-        ),
-        lt = it('renderObjs', Je),
-        dt = Object.assign.apply(
-          Object,
-          rt(
-            ['width', 'height', 'backgroundColor', 'showNavInfo', 'enablePointerInteraction'].map(
-              function (e) {
-                return nt({}, e, lt.linkProp(e))
-              },
-            ),
-          ),
-        ),
-        ft = Object.assign.apply(
-          Object,
-          rt(
-            ['cameraPosition', 'postProcessingComposer'].map(function (e) {
-              return nt({}, e, lt.linkMethod(e))
-            }),
-          ).concat([
-            {
-              graph2ScreenCoords: lt.linkMethod('getScreenCoords'),
-              screen2GraphCoords: lt.linkMethod('getSceneCoords'),
-            },
-          ]),
-        )
-      function ht(e) {
-        for (var t = e; t && !t.hasOwnProperty('__graphObjType'); ) t = t.parent
-        return t
-      }
-      var pt = (0, b.Z)({
-          props: tt(
-            tt(
-              {
-                nodeLabel: { default: 'name', triggerUpdate: !1 },
-                linkLabel: { default: 'name', triggerUpdate: !1 },
-                linkHoverPrecision: {
-                  default: 1,
-                  onChange: function (e, t) {
-                    return t.renderObjs.lineHoverPrecision(e)
-                  },
-                  triggerUpdate: !1,
-                },
-                enableNavigationControls: {
-                  default: !0,
-                  onChange: function (e, t) {
-                    var n = t.renderObjs.controls()
-                    n && (n.enabled = e)
-                  },
-                  triggerUpdate: !1,
-                },
-                enableNodeDrag: { default: !0, triggerUpdate: !1 },
-                onNodeDrag: { default: function () {}, triggerUpdate: !1 },
-                onNodeDragEnd: { default: function () {}, triggerUpdate: !1 },
-                onNodeClick: { triggerUpdate: !1 },
-                onNodeRightClick: { triggerUpdate: !1 },
-                onNodeHover: { triggerUpdate: !1 },
-                onLinkClick: { triggerUpdate: !1 },
-                onLinkRightClick: { triggerUpdate: !1 },
-                onLinkHover: { triggerUpdate: !1 },
-                onBackgroundClick: { triggerUpdate: !1 },
-                onBackgroundRightClick: { triggerUpdate: !1 },
-              },
-              ut,
-            ),
-            dt,
-          ),
-          methods: tt(
-            tt(
-              {
-                zoomToFit: function (e, t, n) {
-                  for (
-                    var r, o = arguments.length, i = new Array(o > 3 ? o - 3 : 0), a = 3;
-                    a < o;
-                    a++
-                  )
-                    i[a - 3] = arguments[a]
-                  return (
-                    e.renderObjs.fitToBbox((r = e.forceGraph).getGraphBbox.apply(r, i), t, n), this
-                  )
-                },
-                pauseAnimation: function (e) {
-                  return (
-                    null !== e.animationFrameRequestId &&
-                      (cancelAnimationFrame(e.animationFrameRequestId),
-                      (e.animationFrameRequestId = null)),
-                    this
-                  )
-                },
-                resumeAnimation: function (e) {
-                  return null === e.animationFrameRequestId && this._animationCycle(), this
-                },
-                _animationCycle: function (e) {
-                  e.enablePointerInteraction && (this.renderer().domElement.style.cursor = null),
-                    e.forceGraph.tickFrame(),
-                    e.renderObjs.tick(),
-                    (e.animationFrameRequestId = requestAnimationFrame(this._animationCycle))
-                },
-                scene: function (e) {
-                  return e.renderObjs.scene()
-                },
-                camera: function (e) {
-                  return e.renderObjs.camera()
-                },
-                renderer: function (e) {
-                  return e.renderObjs.renderer()
-                },
-                controls: function (e) {
-                  return e.renderObjs.controls()
-                },
-                tbControls: function (e) {
-                  return e.renderObjs.tbControls()
-                },
-                _destructor: function () {
-                  this.pauseAnimation(), this.graphData({ nodes: [], links: [] })
-                },
-              },
-              ct,
-            ),
-            ft,
-          ),
-          stateInit: function (e) {
-            var t = e.controlType,
-              n = e.rendererConfig,
-              r = e.extraRenderers
-            return {
-              forceGraph: new Z.default(),
-              renderObjs: Je({ controlType: t, rendererConfig: n, extraRenderers: r }),
-            }
-          },
-          init: function (e, t) {
-            ;(e.innerHTML = ''),
-              e.appendChild((t.container = document.createElement('div'))),
-              (t.container.style.position = 'relative')
-            var n = document.createElement('div')
-            t.container.appendChild(n), t.renderObjs(n)
-            var r,
-              o = t.renderObjs.camera(),
-              i = t.renderObjs.renderer(),
-              a = t.renderObjs.controls()
-            ;(a.enabled = !!t.enableNavigationControls),
-              (t.lastSetCameraZ = o.position.z),
-              t.container.appendChild((r = document.createElement('div'))),
-              (r.className = 'graph-info-msg'),
-              (r.textContent = ''),
-              t.forceGraph
-                .onLoading(function () {
-                  r.textContent = 'Loading...'
-                })
-                .onFinishLoading(function () {
-                  r.textContent = ''
-                })
-                .onUpdate(function () {
-                  ;(t.graphData = t.forceGraph.graphData()),
-                    0 === o.position.x &&
-                      0 === o.position.y &&
-                      o.position.z === t.lastSetCameraZ &&
-                      t.graphData.nodes.length &&
-                      (o.lookAt(t.forceGraph.position),
-                      (t.lastSetCameraZ = o.position.z = 170 * Math.cbrt(t.graphData.nodes.length)))
-                })
-                .onFinishUpdate(function () {
-                  if (t._dragControls) {
-                    var e = t.graphData.nodes.find(function (e) {
-                      return e.__initialFixedPos && !e.__disposeControlsAfterDrag
-                    })
-                    e ? (e.__disposeControlsAfterDrag = !0) : t._dragControls.dispose(),
-                      (t._dragControls = void 0)
-                  }
-                  if (t.enableNodeDrag && t.enablePointerInteraction && 'd3' === t.forceEngine) {
-                    var n = (t._dragControls = new K(
-                      t.graphData.nodes
-                        .map(function (e) {
-                          return e.__threeObj
-                        })
-                        .filter(function (e) {
-                          return e
-                        }),
-                      o,
-                      i.domElement,
-                    ))
-                    n.addEventListener('dragstart', function (e) {
-                      ;(a.enabled = !1),
-                        (e.object.__initialPos = e.object.position.clone()),
-                        (e.object.__prevPos = e.object.position.clone())
-                      var t = ht(e.object).__data
-                      !t.__initialFixedPos &&
-                        (t.__initialFixedPos = { fx: t.fx, fy: t.fy, fz: t.fz }),
-                        !t.__initialPos && (t.__initialPos = { x: t.x, y: t.y, z: t.z }),
-                        ['x', 'y', 'z'].forEach(function (e) {
-                          return (t['f'.concat(e)] = t[e])
-                        }),
-                        i.domElement.classList.add('grabbable')
-                    }),
-                      n.addEventListener('drag', function (e) {
-                        var n = ht(e.object)
-                        if (!e.object.hasOwnProperty('__graphObjType')) {
-                          var r = e.object.__initialPos,
-                            o = e.object.__prevPos,
-                            i = e.object.position
-                          n.position.add(i.clone().sub(o)), o.copy(i), i.copy(r)
-                        }
-                        var a = n.__data,
-                          s = n.position,
-                          u = { x: s.x - a.x, y: s.y - a.y, z: s.z - a.z }
-                        ;['x', 'y', 'z'].forEach(function (e) {
-                          return (a['f'.concat(e)] = a[e] = s[e])
-                        }),
-                          t.forceGraph.d3AlphaTarget(0.3).resetCountdown(),
-                          (a.__dragged = !0),
-                          t.onNodeDrag(a, u)
-                      }),
-                      n.addEventListener('dragend', function (e) {
-                        delete e.object.__initialPos, delete e.object.__prevPos
-                        var r = ht(e.object).__data
-                        r.__disposeControlsAfterDrag &&
-                          (n.dispose(), delete r.__disposeControlsAfterDrag)
-                        var o = r.__initialFixedPos,
-                          s = r.__initialPos,
-                          u = { x: s.x - r.x, y: s.y - r.y, z: s.z - r.z }
-                        o &&
-                          (['x', 'y', 'z'].forEach(function (e) {
-                            var t = 'f'.concat(e)
-                            void 0 === o[t] && delete r[t]
-                          }),
-                          delete r.__initialFixedPos,
-                          delete r.__initialPos,
-                          r.__dragged && (delete r.__dragged, t.onNodeDragEnd(r, u))),
-                          t.forceGraph.d3AlphaTarget(0).resetCountdown(),
-                          t.enableNavigationControls &&
-                            ((a.enabled = !0),
-                            a.domElement &&
-                              a.domElement.ownerDocument &&
-                              a.domElement.ownerDocument.dispatchEvent(
-                                new PointerEvent('pointerup', { pointerType: 'touch' }),
-                              )),
-                          i.domElement.classList.remove('grabbable')
-                      })
-                  }
-                }),
-              t.renderObjs
-                .objects([
-                  new at.AmbientLight(12303291),
-                  new at.DirectionalLight(16777215, 0.6),
-                  t.forceGraph,
-                ])
-                .hoverOrderComparator(function (e, t) {
-                  var n = ht(e)
-                  if (!n) return 1
-                  var r = ht(t)
-                  if (!r) return -1
-                  var o = function (e) {
-                    return 'node' === e.__graphObjType
-                  }
-                  return o(r) - o(n)
-                })
-                .tooltipContent(function (e) {
-                  var n = ht(e)
-                  return (
-                    (n && (0, w.default)(t[''.concat(n.__graphObjType, 'Label')])(n.__data)) || ''
-                  )
-                })
-                .hoverDuringDrag(!1)
-                .onHover(function (e) {
-                  var n = ht(e)
-                  if (n !== t.hoverObj) {
-                    var r = t.hoverObj ? t.hoverObj.__graphObjType : null,
-                      o = t.hoverObj ? t.hoverObj.__data : null,
-                      a = n ? n.__graphObjType : null,
-                      s = n ? n.__data : null
-                    if (r && r !== a) {
-                      var u = t['on'.concat('node' === r ? 'Node' : 'Link', 'Hover')]
-                      u && u(null, o)
-                    }
-                    if (a) {
-                      var c = t['on'.concat('node' === a ? 'Node' : 'Link', 'Hover')]
-                      c && c(s, r === a ? o : null)
-                    }
-                    i.domElement.classList[
-                      (n && t['on'.concat('node' === a ? 'Node' : 'Link', 'Click')]) ||
-                      (!n && t.onBackgroundClick)
-                        ? 'add'
-                        : 'remove'
-                    ]('clickable'),
-                      (t.hoverObj = n)
-                  }
-                })
-                .clickAfterDrag(!1)
-                .onClick(function (e, n) {
-                  var r = ht(e)
-                  if (r) {
-                    var o = t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'Click')]
-                    o && o(r.__data, n)
-                  } else t.onBackgroundClick && t.onBackgroundClick(n)
-                })
-                .onRightClick(function (e, n) {
-                  var r = ht(e)
-                  if (r) {
-                    var o =
-                      t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'RightClick')]
-                    o && o(r.__data, n)
-                  } else t.onBackgroundRightClick && t.onBackgroundRightClick(n)
-                }),
-              this._animationCycle()
-          },
-        }),
-        vt = r(26265)
-      function mt() {}
-      function gt(e) {
-        return null == e
-          ? mt
-          : function () {
-              return this.querySelector(e)
-            }
-      }
-      function yt(e) {
-        return null == e ? [] : Array.isArray(e) ? e : Array.from(e)
-      }
-      function bt() {
-        return []
-      }
-      function wt(e) {
-        return null == e
-          ? bt
-          : function () {
-              return this.querySelectorAll(e)
-            }
-      }
-      function _t(e) {
-        return function () {
-          return this.matches(e)
-        }
-      }
-      function xt(e) {
-        return function (t) {
-          return t.matches(e)
-        }
-      }
-      var kt = Array.prototype.find
-      function Et() {
-        return this.firstElementChild
-      }
-      var Ot = Array.prototype.filter
-      function Tt() {
-        return Array.from(this.children)
-      }
-      function Ct(e) {
-        return new Array(e.length)
-      }
-      function Mt(e, t) {
-        ;(this.ownerDocument = e.ownerDocument),
-          (this.namespaceURI = e.namespaceURI),
-          (this._next = null),
-          (this._parent = e),
-          (this.__data__ = t)
-      }
-      function St(e) {
-        return function () {
-          return e
-        }
-      }
-      function Pt(e, t, n, r, o, i) {
-        for (var a, s = 0, u = t.length, c = i.length; s < c; ++s)
-          (a = t[s]) ? ((a.__data__ = i[s]), (r[s] = a)) : (n[s] = new Mt(e, i[s]))
-        for (; s < u; ++s) (a = t[s]) && (o[s] = a)
-      }
-      function jt(e, t, n, r, o, i, a) {
-        var s,
-          u,
-          c,
-          l = new Map(),
-          d = t.length,
-          f = i.length,
-          h = new Array(d)
-        for (s = 0; s < d; ++s)
-          (u = t[s]) &&
-            ((h[s] = c = a.call(u, u.__data__, s, t) + ''), l.has(c) ? (o[s] = u) : l.set(c, u))
-        for (s = 0; s < f; ++s)
-          (c = a.call(e, i[s], s, i) + ''),
-            (u = l.get(c))
-              ? ((r[s] = u), (u.__data__ = i[s]), l.delete(c))
-              : (n[s] = new Mt(e, i[s]))
-        for (s = 0; s < d; ++s) (u = t[s]) && l.get(h[s]) === u && (o[s] = u)
-      }
-      function It(e) {
-        return e.__data__
-      }
-      function At(e) {
-        return 'object' === typeof e && 'length' in e ? e : Array.from(e)
-      }
-      function Rt(e, t) {
-        return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN
-      }
-      function Dt(e, t) {
-        var n
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return Lt(e, t)
-              var n = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === n && e.constructor && (n = e.constructor.name)
-              if ('Map' === n || 'Set' === n) return Array.from(e)
-              if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-                return Lt(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            n && (e = n)
-            var r = 0,
-              o = function () {}
-            return {
-              s: o,
-              n: function () {
-                return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-              },
-              e: function (e) {
-                throw e
-              },
-              f: o,
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        var i,
-          a = !0,
-          s = !1
-        return {
-          s: function () {
-            n = e[Symbol.iterator]()
-          },
-          n: function () {
-            var e = n.next()
-            return (a = e.done), e
-          },
-          e: function (e) {
-            ;(s = !0), (i = e)
-          },
-          f: function () {
-            try {
-              a || null == n.return || n.return()
-            } finally {
-              if (s) throw i
-            }
-          },
-        }
-      }
-      function Lt(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      Mt.prototype = {
-        constructor: Mt,
-        appendChild: function (e) {
-          return this._parent.insertBefore(e, this._next)
-        },
-        insertBefore: function (e, t) {
-          return this._parent.insertBefore(e, t)
-        },
-        querySelector: function (e) {
-          return this._parent.querySelector(e)
-        },
-        querySelectorAll: function (e) {
-          return this._parent.querySelectorAll(e)
-        },
-      }
-      var Nt = 'http://www.w3.org/1999/xhtml',
-        zt = {
-          svg: 'http://www.w3.org/2000/svg',
-          xhtml: Nt,
-          xlink: 'http://www.w3.org/1999/xlink',
-          xml: 'http://www.w3.org/XML/1998/namespace',
-          xmlns: 'http://www.w3.org/2000/xmlns/',
-        }
-      function Bt(e) {
-        var t = (e += ''),
-          n = t.indexOf(':')
-        return (
-          n >= 0 && 'xmlns' !== (t = e.slice(0, n)) && (e = e.slice(n + 1)),
-          zt.hasOwnProperty(t) ? { space: zt[t], local: e } : e
-        )
-      }
-      function Ht(e) {
-        return function () {
-          this.removeAttribute(e)
-        }
-      }
-      function Ft(e) {
-        return function () {
-          this.removeAttributeNS(e.space, e.local)
-        }
-      }
-      function Vt(e, t) {
-        return function () {
-          this.setAttribute(e, t)
-        }
-      }
-      function Wt(e, t) {
-        return function () {
-          this.setAttributeNS(e.space, e.local, t)
-        }
-      }
-      function Ut(e, t) {
-        return function () {
-          var n = t.apply(this, arguments)
-          null == n ? this.removeAttribute(e) : this.setAttribute(e, n)
-        }
-      }
-      function Gt(e, t) {
-        return function () {
-          var n = t.apply(this, arguments)
-          null == n
-            ? this.removeAttributeNS(e.space, e.local)
-            : this.setAttributeNS(e.space, e.local, n)
-        }
-      }
-      function qt(e) {
-        return (
-          (e.ownerDocument && e.ownerDocument.defaultView) || (e.document && e) || e.defaultView
-        )
-      }
-      function Kt(e) {
-        return function () {
-          this.style.removeProperty(e)
-        }
-      }
-      function Zt(e, t, n) {
-        return function () {
-          this.style.setProperty(e, t, n)
-        }
-      }
-      function Xt(e, t, n) {
-        return function () {
-          var r = t.apply(this, arguments)
-          null == r ? this.style.removeProperty(e) : this.style.setProperty(e, r, n)
-        }
-      }
-      function $t(e, t) {
-        return e.style.getPropertyValue(t) || qt(e).getComputedStyle(e, null).getPropertyValue(t)
-      }
-      function Yt(e) {
-        return function () {
-          delete this[e]
-        }
-      }
-      function Qt(e, t) {
-        return function () {
-          this[e] = t
-        }
-      }
-      function Jt(e, t) {
-        return function () {
-          var n = t.apply(this, arguments)
-          null == n ? delete this[e] : (this[e] = n)
-        }
-      }
-      function en(e) {
-        return e.trim().split(/^|\s+/)
-      }
-      function tn(e) {
-        return e.classList || new nn(e)
-      }
-      function nn(e) {
-        ;(this._node = e), (this._names = en(e.getAttribute('class') || ''))
-      }
-      function rn(e, t) {
-        for (var n = tn(e), r = -1, o = t.length; ++r < o; ) n.add(t[r])
-      }
-      function on(e, t) {
-        for (var n = tn(e), r = -1, o = t.length; ++r < o; ) n.remove(t[r])
-      }
-      function an(e) {
-        return function () {
-          rn(this, e)
-        }
-      }
-      function sn(e) {
-        return function () {
-          on(this, e)
-        }
-      }
-      function un(e, t) {
-        return function () {
-          ;(t.apply(this, arguments) ? rn : on)(this, e)
-        }
-      }
-      function cn() {
-        this.textContent = ''
-      }
-      function ln(e) {
-        return function () {
-          this.textContent = e
-        }
-      }
-      function dn(e) {
-        return function () {
-          var t = e.apply(this, arguments)
-          this.textContent = null == t ? '' : t
-        }
-      }
-      function fn() {
-        this.innerHTML = ''
-      }
-      function hn(e) {
-        return function () {
-          this.innerHTML = e
-        }
-      }
-      function pn(e) {
-        return function () {
-          var t = e.apply(this, arguments)
-          this.innerHTML = null == t ? '' : t
-        }
-      }
-      function vn() {
-        this.nextSibling && this.parentNode.appendChild(this)
-      }
-      function mn() {
-        this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild)
-      }
-      function gn(e) {
-        return function () {
-          var t = this.ownerDocument,
-            n = this.namespaceURI
-          return n === Nt && t.documentElement.namespaceURI === Nt
-            ? t.createElement(e)
-            : t.createElementNS(n, e)
-        }
-      }
-      function yn(e) {
-        return function () {
-          return this.ownerDocument.createElementNS(e.space, e.local)
-        }
-      }
-      function bn(e) {
-        var t = Bt(e)
-        return (t.local ? yn : gn)(t)
-      }
-      function wn() {
-        return null
-      }
-      function _n() {
-        var e = this.parentNode
-        e && e.removeChild(this)
-      }
-      function xn() {
-        var e = this.cloneNode(!1),
-          t = this.parentNode
-        return t ? t.insertBefore(e, this.nextSibling) : e
-      }
-      function kn() {
-        var e = this.cloneNode(!0),
-          t = this.parentNode
-        return t ? t.insertBefore(e, this.nextSibling) : e
-      }
-      function En(e) {
-        return e
-          .trim()
-          .split(/^|\s+/)
-          .map(function (e) {
-            var t = '',
-              n = e.indexOf('.')
-            return n >= 0 && ((t = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: t }
-          })
-      }
-      function On(e) {
-        return function () {
-          var t = this.__on
-          if (t) {
-            for (var n, r = 0, o = -1, i = t.length; r < i; ++r)
-              (n = t[r]),
-                (e.type && n.type !== e.type) || n.name !== e.name
-                  ? (t[++o] = n)
-                  : this.removeEventListener(n.type, n.listener, n.options)
-            ++o ? (t.length = o) : delete this.__on
-          }
-        }
-      }
-      function Tn(e, t, n) {
-        return function () {
-          var r,
-            o = this.__on,
-            i = (function (e) {
-              return function (t) {
-                e.call(this, t, this.__data__)
-              }
-            })(t)
-          if (o)
-            for (var a = 0, s = o.length; a < s; ++a)
-              if ((r = o[a]).type === e.type && r.name === e.name)
-                return (
-                  this.removeEventListener(r.type, r.listener, r.options),
-                  this.addEventListener(r.type, (r.listener = i), (r.options = n)),
-                  void (r.value = t)
-                )
-          this.addEventListener(e.type, i, n),
-            (r = { type: e.type, name: e.name, value: t, listener: i, options: n }),
-            o ? o.push(r) : (this.__on = [r])
-        }
-      }
-      function Cn(e, t, n) {
-        var r = qt(e),
-          o = r.CustomEvent
-        'function' === typeof o
-          ? (o = new o(t, n))
-          : ((o = r.document.createEvent('Event')),
-            n
-              ? (o.initEvent(t, n.bubbles, n.cancelable), (o.detail = n.detail))
-              : o.initEvent(t, !1, !1)),
-          e.dispatchEvent(o)
-      }
-      function Mn(e, t) {
-        return function () {
-          return Cn(this, e, t)
-        }
-      }
-      function Sn(e, t) {
-        return function () {
-          return Cn(this, e, t.apply(this, arguments))
-        }
-      }
-      nn.prototype = {
-        add: function (e) {
-          this._names.indexOf(e) < 0 &&
-            (this._names.push(e), this._node.setAttribute('class', this._names.join(' ')))
-        },
-        remove: function (e) {
-          var t = this._names.indexOf(e)
-          t >= 0 &&
-            (this._names.splice(t, 1), this._node.setAttribute('class', this._names.join(' ')))
-        },
-        contains: function (e) {
-          return this._names.indexOf(e) >= 0
-        },
-      }
-      var Pn = r(809),
-        jn = r.n(Pn),
-        In = jn().mark(An)
-      function An() {
-        var e, t, n, r, o, i, a
-        return jn().wrap(
-          function (s) {
-            for (;;)
-              switch ((s.prev = s.next)) {
-                case 0:
-                  ;(e = this._groups), (t = 0), (n = e.length)
-                case 1:
-                  if (!(t < n)) {
-                    s.next = 13
-                    break
-                  }
-                  ;(r = e[t]), (o = 0), (i = r.length)
-                case 3:
-                  if (!(o < i)) {
-                    s.next = 10
-                    break
-                  }
-                  if (!(a = r[o])) {
-                    s.next = 7
-                    break
-                  }
-                  return (s.next = 7), a
-                case 7:
-                  ++o, (s.next = 3)
-                  break
-                case 10:
-                  ++t, (s.next = 1)
-                  break
-                case 13:
-                case 'end':
-                  return s.stop()
-              }
-          },
-          In,
-          this,
-        )
-      }
-      var Rn = [null]
-      function Dn(e, t) {
-        ;(this._groups = e), (this._parents = t)
-      }
-      function Ln() {
-        return new Dn([[document.documentElement]], Rn)
-      }
-      Dn.prototype = Ln.prototype = (0, vt.Z)(
-        {
-          constructor: Dn,
-          select: function (e) {
-            'function' !== typeof e && (e = gt(e))
-            for (var t = this._groups, n = t.length, r = new Array(n), o = 0; o < n; ++o)
-              for (var i, a, s = t[o], u = s.length, c = (r[o] = new Array(u)), l = 0; l < u; ++l)
-                (i = s[l]) &&
-                  (a = e.call(i, i.__data__, l, s)) &&
-                  ('__data__' in i && (a.__data__ = i.__data__), (c[l] = a))
-            return new Dn(r, this._parents)
-          },
-          selectAll: function (e) {
-            e =
-              'function' === typeof e
-                ? (function (e) {
-                    return function () {
-                      return yt(e.apply(this, arguments))
-                    }
-                  })(e)
-                : wt(e)
-            for (var t = this._groups, n = t.length, r = [], o = [], i = 0; i < n; ++i)
-              for (var a, s = t[i], u = s.length, c = 0; c < u; ++c)
-                (a = s[c]) && (r.push(e.call(a, a.__data__, c, s)), o.push(a))
-            return new Dn(r, o)
-          },
-          selectChild: function (e) {
-            return this.select(
-              null == e
-                ? Et
-                : (function (e) {
-                    return function () {
-                      return kt.call(this.children, e)
-                    }
-                  })('function' === typeof e ? e : xt(e)),
-            )
-          },
-          selectChildren: function (e) {
-            return this.selectAll(
-              null == e
-                ? Tt
-                : (function (e) {
-                    return function () {
-                      return Ot.call(this.children, e)
-                    }
-                  })('function' === typeof e ? e : xt(e)),
-            )
-          },
-          filter: function (e) {
-            'function' !== typeof e && (e = _t(e))
-            for (var t = this._groups, n = t.length, r = new Array(n), o = 0; o < n; ++o)
-              for (var i, a = t[o], s = a.length, u = (r[o] = []), c = 0; c < s; ++c)
-                (i = a[c]) && e.call(i, i.__data__, c, a) && u.push(i)
-            return new Dn(r, this._parents)
-          },
-          data: function (e, t) {
-            if (!arguments.length) return Array.from(this, It)
-            var n = t ? jt : Pt,
-              r = this._parents,
-              o = this._groups
-            'function' !== typeof e && (e = St(e))
-            for (
-              var i = o.length, a = new Array(i), s = new Array(i), u = new Array(i), c = 0;
-              c < i;
-              ++c
-            ) {
-              var l = r[c],
-                d = o[c],
-                f = d.length,
-                h = At(e.call(l, l && l.__data__, c, r)),
-                p = h.length,
-                v = (s[c] = new Array(p)),
-                m = (a[c] = new Array(p)),
-                g = (u[c] = new Array(f))
-              n(l, d, v, m, g, h, t)
-              for (var y, b, w = 0, _ = 0; w < p; ++w)
-                if ((y = v[w])) {
-                  for (w >= _ && (_ = w + 1); !(b = m[_]) && ++_ < p; );
-                  y._next = b || null
-                }
-            }
-            return ((a = new Dn(a, r))._enter = s), (a._exit = u), a
-          },
-          enter: function () {
-            return new Dn(this._enter || this._groups.map(Ct), this._parents)
-          },
-          exit: function () {
-            return new Dn(this._exit || this._groups.map(Ct), this._parents)
-          },
-          join: function (e, t, n) {
-            var r = this.enter(),
-              o = this,
-              i = this.exit()
-            return (
-              'function' === typeof e ? (r = e(r)) && (r = r.selection()) : (r = r.append(e + '')),
-              null != t && (o = t(o)) && (o = o.selection()),
-              null == n ? i.remove() : n(i),
-              r && o ? r.merge(o).order() : o
-            )
-          },
-          merge: function (e) {
-            for (
-              var t = e.selection ? e.selection() : e,
-                n = this._groups,
-                r = t._groups,
-                o = n.length,
-                i = r.length,
-                a = Math.min(o, i),
-                s = new Array(o),
-                u = 0;
-              u < a;
-              ++u
-            )
-              for (
-                var c, l = n[u], d = r[u], f = l.length, h = (s[u] = new Array(f)), p = 0;
-                p < f;
-                ++p
-              )
-                (c = l[p] || d[p]) && (h[p] = c)
-            for (; u < o; ++u) s[u] = n[u]
-            return new Dn(s, this._parents)
-          },
-          selection: function () {
-            return this
-          },
-          order: function () {
-            for (var e = this._groups, t = -1, n = e.length; ++t < n; )
-              for (var r, o = e[t], i = o.length - 1, a = o[i]; --i >= 0; )
-                (r = o[i]) &&
-                  (a && 4 ^ r.compareDocumentPosition(a) && a.parentNode.insertBefore(r, a),
-                  (a = r))
-            return this
-          },
-          sort: function (e) {
-            function t(t, n) {
-              return t && n ? e(t.__data__, n.__data__) : !t - !n
-            }
-            e || (e = Rt)
-            for (var n = this._groups, r = n.length, o = new Array(r), i = 0; i < r; ++i) {
-              for (var a, s = n[i], u = s.length, c = (o[i] = new Array(u)), l = 0; l < u; ++l)
-                (a = s[l]) && (c[l] = a)
-              c.sort(t)
-            }
-            return new Dn(o, this._parents).order()
-          },
-          call: function () {
-            var e = arguments[0]
-            return (arguments[0] = this), e.apply(null, arguments), this
-          },
-          nodes: function () {
-            return Array.from(this)
-          },
-          node: function () {
-            for (var e = this._groups, t = 0, n = e.length; t < n; ++t)
-              for (var r = e[t], o = 0, i = r.length; o < i; ++o) {
-                var a = r[o]
-                if (a) return a
-              }
-            return null
-          },
-          size: function () {
-            var e,
-              t = 0,
-              n = Dt(this)
-            try {
-              for (n.s(); !(e = n.n()).done; ) {
-                e.value
-                ++t
-              }
-            } catch (r) {
-              n.e(r)
-            } finally {
-              n.f()
-            }
-            return t
-          },
-          empty: function () {
-            return !this.node()
-          },
-          each: function (e) {
-            for (var t = this._groups, n = 0, r = t.length; n < r; ++n)
-              for (var o, i = t[n], a = 0, s = i.length; a < s; ++a)
-                (o = i[a]) && e.call(o, o.__data__, a, i)
-            return this
-          },
-          attr: function (e, t) {
-            var n = Bt(e)
-            if (arguments.length < 2) {
-              var r = this.node()
-              return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n)
-            }
-            return this.each(
-              (null == t
-                ? n.local
-                  ? Ft
-                  : Ht
-                : 'function' === typeof t
-                ? n.local
-                  ? Gt
-                  : Ut
-                : n.local
-                ? Wt
-                : Vt)(n, t),
-            )
-          },
-          style: function (e, t, n) {
-            return arguments.length > 1
-              ? this.each(
-                  (null == t ? Kt : 'function' === typeof t ? Xt : Zt)(e, t, null == n ? '' : n),
-                )
-              : $t(this.node(), e)
-          },
-          property: function (e, t) {
-            return arguments.length > 1
-              ? this.each((null == t ? Yt : 'function' === typeof t ? Jt : Qt)(e, t))
-              : this.node()[e]
-          },
-          classed: function (e, t) {
-            var n = en(e + '')
-            if (arguments.length < 2) {
-              for (var r = tn(this.node()), o = -1, i = n.length; ++o < i; )
-                if (!r.contains(n[o])) return !1
-              return !0
-            }
-            return this.each(('function' === typeof t ? un : t ? an : sn)(n, t))
-          },
-          text: function (e) {
-            return arguments.length
-              ? this.each(null == e ? cn : ('function' === typeof e ? dn : ln)(e))
-              : this.node().textContent
-          },
-          html: function (e) {
-            return arguments.length
-              ? this.each(null == e ? fn : ('function' === typeof e ? pn : hn)(e))
-              : this.node().innerHTML
-          },
-          raise: function () {
-            return this.each(vn)
-          },
-          lower: function () {
-            return this.each(mn)
-          },
-          append: function (e) {
-            var t = 'function' === typeof e ? e : bn(e)
-            return this.select(function () {
-              return this.appendChild(t.apply(this, arguments))
-            })
-          },
-          insert: function (e, t) {
-            var n = 'function' === typeof e ? e : bn(e),
-              r = null == t ? wn : 'function' === typeof t ? t : gt(t)
-            return this.select(function () {
-              return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null)
-            })
-          },
-          remove: function () {
-            return this.each(_n)
-          },
-          clone: function (e) {
-            return this.select(e ? kn : xn)
-          },
-          datum: function (e) {
-            return arguments.length ? this.property('__data__', e) : this.node().__data__
-          },
-          on: function (e, t, n) {
-            var r,
-              o,
-              i = En(e + ''),
-              a = i.length
-            if (!(arguments.length < 2)) {
-              for (s = t ? Tn : On, r = 0; r < a; ++r) this.each(s(i[r], t, n))
-              return this
-            }
-            var s = this.node().__on
-            if (s)
-              for (var u, c = 0, l = s.length; c < l; ++c)
-                for (r = 0, u = s[c]; r < a; ++r)
-                  if ((o = i[r]).type === u.type && o.name === u.name) return u.value
-          },
-          dispatch: function (e, t) {
-            return this.each(('function' === typeof t ? Sn : Mn)(e, t))
-          },
-        },
-        Symbol.iterator,
-        An,
-      )
-      var Nn = Ln
-      function zn(e) {
-        return 'string' === typeof e
-          ? new Dn([[document.querySelector(e)]], [document.documentElement])
-          : new Dn([[e]], Rn)
-      }
-      var Bn = r(77137),
-        Hn = { passive: !1 },
-        Fn = { capture: !0, passive: !1 }
-      function Vn(e) {
-        e.stopImmediatePropagation()
-      }
-      function Wn(e) {
-        e.preventDefault(), e.stopImmediatePropagation()
-      }
-      function Un(e) {
-        var t = e.document.documentElement,
-          n = zn(e).on('dragstart.drag', Wn, Fn)
-        'onselectstart' in t
-          ? n.on('selectstart.drag', Wn, Fn)
-          : ((t.__noselect = t.style.MozUserSelect), (t.style.MozUserSelect = 'none'))
-      }
-      function Gn(e, t) {
-        var n = e.document.documentElement,
-          r = zn(e).on('dragstart.drag', null)
-        t &&
-          (r.on('click.drag', Wn, Fn),
-          setTimeout(function () {
-            r.on('click.drag', null)
-          }, 0)),
-          'onselectstart' in n
-            ? r.on('selectstart.drag', null)
-            : ((n.style.MozUserSelect = n.__noselect), delete n.__noselect)
-      }
-      function qn(e) {
-        return ((e = Math.exp(e)) + 1 / e) / 2
-      }
-      var Kn = (function e(t, n, r) {
-        function o(e, o) {
-          var i,
-            a,
-            s = e[0],
-            u = e[1],
-            c = e[2],
-            l = o[0],
-            d = o[1],
-            f = o[2],
-            h = l - s,
-            p = d - u,
-            v = h * h + p * p
-          if (v < 1e-12)
-            (a = Math.log(f / c) / t),
-              (i = function (e) {
-                return [s + e * h, u + e * p, c * Math.exp(t * e * a)]
-              })
-          else {
-            var m = Math.sqrt(v),
-              g = (f * f - c * c + r * v) / (2 * c * n * m),
-              y = (f * f - c * c - r * v) / (2 * f * n * m),
-              b = Math.log(Math.sqrt(g * g + 1) - g),
-              w = Math.log(Math.sqrt(y * y + 1) - y)
-            ;(a = (w - b) / t),
-              (i = function (e) {
-                var r,
-                  o = e * a,
-                  i = qn(b),
-                  l =
-                    (c / (n * m)) *
-                    (i * ((r = t * o + b), ((r = Math.exp(2 * r)) - 1) / (r + 1)) -
-                      (function (e) {
-                        return ((e = Math.exp(e)) - 1 / e) / 2
-                      })(b))
-                return [s + l * h, u + l * p, (c * i) / qn(t * o + b)]
-              })
-          }
-          return (i.duration = (1e3 * a * t) / Math.SQRT2), i
-        }
-        return (
-          (o.rho = function (t) {
-            var n = Math.max(0.001, +t),
-              r = n * n
-            return e(n, r, r * r)
-          }),
-          o
-        )
-      })(Math.SQRT2, 2, 4)
-      function Zn(e, t) {
-        if (
-          ((e = (function (e) {
-            for (var t; (t = e.sourceEvent); ) e = t
-            return e
-          })(e)),
-          void 0 === t && (t = e.currentTarget),
-          t)
-        ) {
-          var n = t.ownerSVGElement || t
-          if (n.createSVGPoint) {
-            var r = n.createSVGPoint()
-            return (
-              (r.x = e.clientX),
-              (r.y = e.clientY),
-              [(r = r.matrixTransform(t.getScreenCTM().inverse())).x, r.y]
-            )
-          }
-          if (t.getBoundingClientRect) {
-            var o = t.getBoundingClientRect()
-            return [e.clientX - o.left - t.clientLeft, e.clientY - o.top - t.clientTop]
-          }
-        }
-        return [e.pageX, e.pageY]
-      }
-      var Xn = r(513)
-      function $n(e, t, n) {
-        var r = new Xn.B7()
-        return (
-          (t = null == t ? 0 : +t),
-          r.restart(
-            function (n) {
-              r.stop(), e(n + t)
-            },
-            t,
-            n,
-          ),
-          r
-        )
-      }
-      var Yn = (0, Bn.Z)('start', 'end', 'cancel', 'interrupt'),
-        Qn = []
-      function Jn(e, t, n, r, o, i) {
-        var a = e.__transition
-        if (a) {
-          if (n in a) return
-        } else e.__transition = {}
-        !(function (e, t, n) {
-          var r,
-            o = e.__transition
-          function i(e) {
-            ;(n.state = 1), n.timer.restart(a, n.delay, n.time), n.delay <= e && a(e - n.delay)
-          }
-          function a(i) {
-            var c, l, d, f
-            if (1 !== n.state) return u()
-            for (c in o)
-              if ((f = o[c]).name === n.name) {
-                if (3 === f.state) return $n(a)
-                4 === f.state
-                  ? ((f.state = 6),
-                    f.timer.stop(),
-                    f.on.call('interrupt', e, e.__data__, f.index, f.group),
-                    delete o[c])
-                  : +c < t &&
-                    ((f.state = 6),
-                    f.timer.stop(),
-                    f.on.call('cancel', e, e.__data__, f.index, f.group),
-                    delete o[c])
-              }
-            if (
-              ($n(function () {
-                3 === n.state && ((n.state = 4), n.timer.restart(s, n.delay, n.time), s(i))
-              }),
-              (n.state = 2),
-              n.on.call('start', e, e.__data__, n.index, n.group),
-              2 === n.state)
-            ) {
-              for (n.state = 3, r = new Array((d = n.tween.length)), c = 0, l = -1; c < d; ++c)
-                (f = n.tween[c].value.call(e, e.__data__, n.index, n.group)) && (r[++l] = f)
-              r.length = l + 1
-            }
-          }
-          function s(t) {
-            for (
-              var o =
-                  t < n.duration
-                    ? n.ease.call(null, t / n.duration)
-                    : (n.timer.restart(u), (n.state = 5), 1),
-                i = -1,
-                a = r.length;
-              ++i < a;
-
-            )
-              r[i].call(e, o)
-            5 === n.state && (n.on.call('end', e, e.__data__, n.index, n.group), u())
-          }
-          function u() {
-            for (var r in ((n.state = 6), n.timer.stop(), delete o[t], o)) return
-            delete e.__transition
-          }
-          ;(o[t] = n), (n.timer = (0, Xn.HT)(i, 0, n.time))
-        })(e, n, {
-          name: t,
-          index: r,
-          group: o,
-          on: Yn,
-          tween: Qn,
-          time: i.time,
-          delay: i.delay,
-          duration: i.duration,
-          ease: i.ease,
-          timer: null,
-          state: 0,
-        })
-      }
-      function er(e, t) {
-        var n = nr(e, t)
-        if (n.state > 0) throw new Error('too late; already scheduled')
-        return n
-      }
-      function tr(e, t) {
-        var n = nr(e, t)
-        if (n.state > 3) throw new Error('too late; already running')
-        return n
-      }
-      function nr(e, t) {
-        var n = e.__transition
-        if (!n || !(n = n[t])) throw new Error('transition not found')
-        return n
-      }
-      function rr(e, t) {
-        var n,
-          r,
-          o,
-          i = e.__transition,
-          a = !0
-        if (i) {
-          for (o in ((t = null == t ? null : t + ''), i))
-            (n = i[o]).name === t
-              ? ((r = n.state > 2 && n.state < 5),
-                (n.state = 6),
-                n.timer.stop(),
-                n.on.call(r ? 'interrupt' : 'cancel', e, e.__data__, n.index, n.group),
-                delete i[o])
-              : (a = !1)
-          a && delete e.__transition
-        }
-      }
-      var or,
-        ir = r(16033),
-        ar = 180 / Math.PI,
-        sr = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }
-      function ur(e, t, n, r, o, i) {
-        var a, s, u
-        return (
-          (a = Math.sqrt(e * e + t * t)) && ((e /= a), (t /= a)),
-          (u = e * n + t * r) && ((n -= e * u), (r -= t * u)),
-          (s = Math.sqrt(n * n + r * r)) && ((n /= s), (r /= s), (u /= s)),
-          e * r < t * n && ((e = -e), (t = -t), (u = -u), (a = -a)),
-          {
-            translateX: o,
-            translateY: i,
-            rotate: Math.atan2(t, e) * ar,
-            skewX: Math.atan(u) * ar,
-            scaleX: a,
-            scaleY: s,
-          }
-        )
-      }
-      function cr(e, t, n, r) {
-        function o(e) {
-          return e.length ? e.pop() + ' ' : ''
-        }
-        return function (i, a) {
-          var s = [],
-            u = []
-          return (
-            (i = e(i)),
-            (a = e(a)),
-            (function (e, r, o, i, a, s) {
-              if (e !== o || r !== i) {
-                var u = a.push('translate(', null, t, null, n)
-                s.push({ i: u - 4, x: (0, ir.Z)(e, o) }, { i: u - 2, x: (0, ir.Z)(r, i) })
-              } else (o || i) && a.push('translate(' + o + t + i + n)
-            })(i.translateX, i.translateY, a.translateX, a.translateY, s, u),
-            (function (e, t, n, i) {
-              e !== t
-                ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360),
-                  i.push({ i: n.push(o(n) + 'rotate(', null, r) - 2, x: (0, ir.Z)(e, t) }))
-                : t && n.push(o(n) + 'rotate(' + t + r)
-            })(i.rotate, a.rotate, s, u),
-            (function (e, t, n, i) {
-              e !== t
-                ? i.push({ i: n.push(o(n) + 'skewX(', null, r) - 2, x: (0, ir.Z)(e, t) })
-                : t && n.push(o(n) + 'skewX(' + t + r)
-            })(i.skewX, a.skewX, s, u),
-            (function (e, t, n, r, i, a) {
-              if (e !== n || t !== r) {
-                var s = i.push(o(i) + 'scale(', null, ',', null, ')')
-                a.push({ i: s - 4, x: (0, ir.Z)(e, n) }, { i: s - 2, x: (0, ir.Z)(t, r) })
-              } else (1 === n && 1 === r) || i.push(o(i) + 'scale(' + n + ',' + r + ')')
-            })(i.scaleX, i.scaleY, a.scaleX, a.scaleY, s, u),
-            (i = a = null),
-            function (e) {
-              for (var t, n = -1, r = u.length; ++n < r; ) s[(t = u[n]).i] = t.x(e)
-              return s.join('')
-            }
-          )
-        }
-      }
-      var lr = cr(
-          function (e) {
-            var t = new ('function' === typeof DOMMatrix ? DOMMatrix : WebKitCSSMatrix)(e + '')
-            return t.isIdentity ? sr : ur(t.a, t.b, t.c, t.d, t.e, t.f)
-          },
-          'px, ',
-          'px)',
-          'deg)',
-        ),
-        dr = cr(
-          function (e) {
-            return null == e
-              ? sr
-              : (or || (or = document.createElementNS('http://www.w3.org/2000/svg', 'g')),
-                or.setAttribute('transform', e),
-                (e = or.transform.baseVal.consolidate())
-                  ? ur((e = e.matrix).a, e.b, e.c, e.d, e.e, e.f)
-                  : sr)
-          },
-          ', ',
-          ')',
-          ')',
-        )
-      function fr(e, t) {
-        var n, r
-        return function () {
-          var o = tr(this, e),
-            i = o.tween
-          if (i !== n)
-            for (var a = 0, s = (r = n = i).length; a < s; ++a)
-              if (r[a].name === t) {
-                ;(r = r.slice()).splice(a, 1)
-                break
-              }
-          o.tween = r
-        }
-      }
-      function hr(e, t, n) {
-        var r, o
-        if ('function' !== typeof n) throw new Error()
-        return function () {
-          var i = tr(this, e),
-            a = i.tween
-          if (a !== r) {
-            o = (r = a).slice()
-            for (var s = { name: t, value: n }, u = 0, c = o.length; u < c; ++u)
-              if (o[u].name === t) {
-                o[u] = s
-                break
-              }
-            u === c && o.push(s)
-          }
-          i.tween = o
-        }
-      }
-      function pr(e, t, n) {
-        var r = e._id
-        return (
-          e.each(function () {
-            var e = tr(this, r)
-            ;(e.value || (e.value = {}))[t] = n.apply(this, arguments)
-          }),
-          function (e) {
-            return nr(e, r).value[t]
-          }
-        )
-      }
-      var vr = r(76374),
-        mr = r(73028),
-        gr = r(10370)
-      function yr(e, t) {
-        var n
-        return (
-          'number' === typeof t
-            ? ir.Z
-            : t instanceof vr.ZP
-            ? mr.ZP
-            : (n = (0, vr.ZP)(t))
-            ? ((t = n), mr.ZP)
-            : gr.Z
-        )(e, t)
-      }
-      function br(e) {
-        return function () {
-          this.removeAttribute(e)
-        }
-      }
-      function wr(e) {
-        return function () {
-          this.removeAttributeNS(e.space, e.local)
-        }
-      }
-      function _r(e, t, n) {
-        var r,
-          o,
-          i = n + ''
-        return function () {
-          var a = this.getAttribute(e)
-          return a === i ? null : a === r ? o : (o = t((r = a), n))
-        }
-      }
-      function xr(e, t, n) {
-        var r,
-          o,
-          i = n + ''
-        return function () {
-          var a = this.getAttributeNS(e.space, e.local)
-          return a === i ? null : a === r ? o : (o = t((r = a), n))
-        }
-      }
-      function kr(e, t, n) {
-        var r, o, i
-        return function () {
-          var a,
-            s,
-            u = n(this)
-          if (null != u)
-            return (a = this.getAttribute(e)) === (s = u + '')
-              ? null
-              : a === r && s === o
-              ? i
-              : ((o = s), (i = t((r = a), u)))
-          this.removeAttribute(e)
-        }
-      }
-      function Er(e, t, n) {
-        var r, o, i
-        return function () {
-          var a,
-            s,
-            u = n(this)
-          if (null != u)
-            return (a = this.getAttributeNS(e.space, e.local)) === (s = u + '')
-              ? null
-              : a === r && s === o
-              ? i
-              : ((o = s), (i = t((r = a), u)))
-          this.removeAttributeNS(e.space, e.local)
-        }
-      }
-      function Or(e, t) {
-        return function (n) {
-          this.setAttribute(e, t.call(this, n))
-        }
-      }
-      function Tr(e, t) {
-        return function (n) {
-          this.setAttributeNS(e.space, e.local, t.call(this, n))
-        }
-      }
-      function Cr(e, t) {
-        var n, r
-        function o() {
-          var o = t.apply(this, arguments)
-          return o !== r && (n = (r = o) && Tr(e, o)), n
-        }
-        return (o._value = t), o
-      }
-      function Mr(e, t) {
-        var n, r
-        function o() {
-          var o = t.apply(this, arguments)
-          return o !== r && (n = (r = o) && Or(e, o)), n
-        }
-        return (o._value = t), o
-      }
-      function Sr(e, t) {
-        return function () {
-          er(this, e).delay = +t.apply(this, arguments)
-        }
-      }
-      function Pr(e, t) {
-        return (
-          (t = +t),
-          function () {
-            er(this, e).delay = t
-          }
-        )
-      }
-      function jr(e, t) {
-        return function () {
-          tr(this, e).duration = +t.apply(this, arguments)
-        }
-      }
-      function Ir(e, t) {
-        return (
-          (t = +t),
-          function () {
-            tr(this, e).duration = t
-          }
-        )
-      }
-      function Ar(e, t) {
-        if ('function' !== typeof t) throw new Error()
-        return function () {
-          tr(this, e).ease = t
-        }
-      }
-      function Rr(e, t, n) {
-        var r,
-          o,
-          i = (function (e) {
-            return (e + '')
-              .trim()
-              .split(/^|\s+/)
-              .every(function (e) {
-                var t = e.indexOf('.')
-                return t >= 0 && (e = e.slice(0, t)), !e || 'start' === e
-              })
-          })(t)
-            ? er
-            : tr
-        return function () {
-          var a = i(this, e),
-            s = a.on
-          s !== r && (o = (r = s).copy()).on(t, n), (a.on = o)
-        }
-      }
-      var Dr = Nn.prototype.constructor
-      function Lr(e) {
-        return function () {
-          this.style.removeProperty(e)
-        }
-      }
-      function Nr(e, t, n) {
-        return function (r) {
-          this.style.setProperty(e, t.call(this, r), n)
-        }
-      }
-      function zr(e, t, n) {
-        var r, o
-        function i() {
-          var i = t.apply(this, arguments)
-          return i !== o && (r = (o = i) && Nr(e, i, n)), r
-        }
-        return (i._value = t), i
-      }
-      function Br(e) {
-        return function (t) {
-          this.textContent = e.call(this, t)
-        }
-      }
-      function Hr(e) {
-        var t, n
-        function r() {
-          var r = e.apply(this, arguments)
-          return r !== n && (t = (n = r) && Br(r)), t
-        }
-        return (r._value = e), r
-      }
-      var Fr = 0
-      function Vr(e, t, n, r) {
-        ;(this._groups = e), (this._parents = t), (this._name = n), (this._id = r)
-      }
-      function Wr() {
-        return ++Fr
-      }
-      var Ur = Nn.prototype
-      Vr.prototype = function (e) {
-        return Nn().transition(e)
-      }.prototype = (0, vt.Z)(
-        {
-          constructor: Vr,
-          select: function (e) {
-            var t = this._name,
-              n = this._id
-            'function' !== typeof e && (e = gt(e))
-            for (var r = this._groups, o = r.length, i = new Array(o), a = 0; a < o; ++a)
-              for (var s, u, c = r[a], l = c.length, d = (i[a] = new Array(l)), f = 0; f < l; ++f)
-                (s = c[f]) &&
-                  (u = e.call(s, s.__data__, f, c)) &&
-                  ('__data__' in s && (u.__data__ = s.__data__),
-                  (d[f] = u),
-                  Jn(d[f], t, n, f, d, nr(s, n)))
-            return new Vr(i, this._parents, t, n)
-          },
-          selectAll: function (e) {
-            var t = this._name,
-              n = this._id
-            'function' !== typeof e && (e = wt(e))
-            for (var r = this._groups, o = r.length, i = [], a = [], s = 0; s < o; ++s)
-              for (var u, c = r[s], l = c.length, d = 0; d < l; ++d)
-                if ((u = c[d])) {
-                  for (
-                    var f, h = e.call(u, u.__data__, d, c), p = nr(u, n), v = 0, m = h.length;
-                    v < m;
-                    ++v
-                  )
-                    (f = h[v]) && Jn(f, t, n, v, h, p)
-                  i.push(h), a.push(u)
-                }
-            return new Vr(i, a, t, n)
-          },
-          selectChild: Ur.selectChild,
-          selectChildren: Ur.selectChildren,
-          filter: function (e) {
-            'function' !== typeof e && (e = _t(e))
-            for (var t = this._groups, n = t.length, r = new Array(n), o = 0; o < n; ++o)
-              for (var i, a = t[o], s = a.length, u = (r[o] = []), c = 0; c < s; ++c)
-                (i = a[c]) && e.call(i, i.__data__, c, a) && u.push(i)
-            return new Vr(r, this._parents, this._name, this._id)
-          },
-          merge: function (e) {
-            if (e._id !== this._id) throw new Error()
-            for (
-              var t = this._groups,
-                n = e._groups,
-                r = t.length,
-                o = n.length,
-                i = Math.min(r, o),
-                a = new Array(r),
-                s = 0;
-              s < i;
-              ++s
-            )
-              for (
-                var u, c = t[s], l = n[s], d = c.length, f = (a[s] = new Array(d)), h = 0;
-                h < d;
-                ++h
-              )
-                (u = c[h] || l[h]) && (f[h] = u)
-            for (; s < r; ++s) a[s] = t[s]
-            return new Vr(a, this._parents, this._name, this._id)
-          },
-          selection: function () {
-            return new Dr(this._groups, this._parents)
-          },
-          transition: function () {
-            for (
-              var e = this._name, t = this._id, n = Wr(), r = this._groups, o = r.length, i = 0;
-              i < o;
-              ++i
-            )
-              for (var a, s = r[i], u = s.length, c = 0; c < u; ++c)
-                if ((a = s[c])) {
-                  var l = nr(a, t)
-                  Jn(a, e, n, c, s, {
-                    time: l.time + l.delay + l.duration,
-                    delay: 0,
-                    duration: l.duration,
-                    ease: l.ease,
-                  })
-                }
-            return new Vr(r, this._parents, e, n)
-          },
-          call: Ur.call,
-          nodes: Ur.nodes,
-          node: Ur.node,
-          size: Ur.size,
-          empty: Ur.empty,
-          each: Ur.each,
-          on: function (e, t) {
-            var n = this._id
-            return arguments.length < 2 ? nr(this.node(), n).on.on(e) : this.each(Rr(n, e, t))
-          },
-          attr: function (e, t) {
-            var n = Bt(e),
-              r = 'transform' === n ? dr : yr
-            return this.attrTween(
-              e,
-              'function' === typeof t
-                ? (n.local ? Er : kr)(n, r, pr(this, 'attr.' + e, t))
-                : null == t
-                ? (n.local ? wr : br)(n)
-                : (n.local ? xr : _r)(n, r, t),
-            )
-          },
-          attrTween: function (e, t) {
-            var n = 'attr.' + e
-            if (arguments.length < 2) return (n = this.tween(n)) && n._value
-            if (null == t) return this.tween(n, null)
-            if ('function' !== typeof t) throw new Error()
-            var r = Bt(e)
-            return this.tween(n, (r.local ? Cr : Mr)(r, t))
-          },
-          style: function (e, t, n) {
-            var r = 'transform' === (e += '') ? lr : yr
-            return null == t
-              ? this.styleTween(
-                  e,
-                  (function (e, t) {
-                    var n, r, o
-                    return function () {
-                      var i = $t(this, e),
-                        a = (this.style.removeProperty(e), $t(this, e))
-                      return i === a ? null : i === n && a === r ? o : (o = t((n = i), (r = a)))
-                    }
-                  })(e, r),
-                ).on('end.style.' + e, Lr(e))
-              : 'function' === typeof t
-              ? this.styleTween(
-                  e,
-                  (function (e, t, n) {
-                    var r, o, i
-                    return function () {
-                      var a = $t(this, e),
-                        s = n(this),
-                        u = s + ''
-                      return (
-                        null == s && (this.style.removeProperty(e), (u = s = $t(this, e))),
-                        a === u ? null : a === r && u === o ? i : ((o = u), (i = t((r = a), s)))
-                      )
-                    }
-                  })(e, r, pr(this, 'style.' + e, t)),
-                ).each(
-                  (function (e, t) {
-                    var n,
-                      r,
-                      o,
-                      i,
-                      a = 'style.' + t,
-                      s = 'end.' + a
-                    return function () {
-                      var u = tr(this, e),
-                        c = u.on,
-                        l = null == u.value[a] ? i || (i = Lr(t)) : void 0
-                      ;(c === n && o === l) || (r = (n = c).copy()).on(s, (o = l)), (u.on = r)
-                    }
-                  })(this._id, e),
-                )
-              : this.styleTween(
-                  e,
-                  (function (e, t, n) {
-                    var r,
-                      o,
-                      i = n + ''
-                    return function () {
-                      var a = $t(this, e)
-                      return a === i ? null : a === r ? o : (o = t((r = a), n))
-                    }
-                  })(e, r, t),
-                  n,
-                ).on('end.style.' + e, null)
-          },
-          styleTween: function (e, t, n) {
-            var r = 'style.' + (e += '')
-            if (arguments.length < 2) return (r = this.tween(r)) && r._value
-            if (null == t) return this.tween(r, null)
-            if ('function' !== typeof t) throw new Error()
-            return this.tween(r, zr(e, t, null == n ? '' : n))
-          },
-          text: function (e) {
-            return this.tween(
-              'text',
-              'function' === typeof e
-                ? (function (e) {
-                    return function () {
-                      var t = e(this)
-                      this.textContent = null == t ? '' : t
-                    }
-                  })(pr(this, 'text', e))
-                : (function (e) {
-                    return function () {
-                      this.textContent = e
-                    }
-                  })(null == e ? '' : e + ''),
-            )
-          },
-          textTween: function (e) {
-            var t = 'text'
-            if (arguments.length < 1) return (t = this.tween(t)) && t._value
-            if (null == e) return this.tween(t, null)
-            if ('function' !== typeof e) throw new Error()
-            return this.tween(t, Hr(e))
-          },
-          remove: function () {
-            return this.on(
-              'end.remove',
-              (function (e) {
-                return function () {
-                  var t = this.parentNode
-                  for (var n in this.__transition) if (+n !== e) return
-                  t && t.removeChild(this)
-                }
-              })(this._id),
-            )
-          },
-          tween: function (e, t) {
-            var n = this._id
-            if (((e += ''), arguments.length < 2)) {
-              for (var r, o = nr(this.node(), n).tween, i = 0, a = o.length; i < a; ++i)
-                if ((r = o[i]).name === e) return r.value
-              return null
-            }
-            return this.each((null == t ? fr : hr)(n, e, t))
-          },
-          delay: function (e) {
-            var t = this._id
-            return arguments.length
-              ? this.each(('function' === typeof e ? Sr : Pr)(t, e))
-              : nr(this.node(), t).delay
-          },
-          duration: function (e) {
-            var t = this._id
-            return arguments.length
-              ? this.each(('function' === typeof e ? jr : Ir)(t, e))
-              : nr(this.node(), t).duration
-          },
-          ease: function (e) {
-            var t = this._id
-            return arguments.length ? this.each(Ar(t, e)) : nr(this.node(), t).ease
-          },
-          easeVarying: function (e) {
-            if ('function' !== typeof e) throw new Error()
-            return this.each(
-              (function (e, t) {
-                return function () {
-                  var n = t.apply(this, arguments)
-                  if ('function' !== typeof n) throw new Error()
-                  tr(this, e).ease = n
-                }
-              })(this._id, e),
-            )
-          },
-          end: function () {
-            var e,
-              t,
-              n = this,
-              r = n._id,
-              o = n.size()
-            return new Promise(function (i, a) {
-              var s = { value: a },
-                u = {
-                  value: function () {
-                    0 === --o && i()
-                  },
-                }
-              n.each(function () {
-                var n = tr(this, r),
-                  o = n.on
-                o !== e &&
-                  ((t = (e = o).copy())._.cancel.push(s), t._.interrupt.push(s), t._.end.push(u)),
-                  (n.on = t)
-              }),
-                0 === o && i()
-            })
-          },
-        },
-        Symbol.iterator,
-        Ur[Symbol.iterator],
-      )
-      var Gr = {
-        time: null,
-        delay: 0,
-        duration: 250,
-        ease: function (e) {
-          return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2
-        },
-      }
-      function qr(e, t) {
-        for (var n; !(n = e.__transition) || !(n = n[t]); )
-          if (!(e = e.parentNode)) throw new Error('transition '.concat(t, ' not found'))
-        return n
-      }
-      ;(Nn.prototype.interrupt = function (e) {
-        return this.each(function () {
-          rr(this, e)
-        })
-      }),
-        (Nn.prototype.transition = function (e) {
-          var t, n
-          e instanceof Vr
-            ? ((t = e._id), (e = e._name))
-            : ((t = Wr()), ((n = Gr).time = (0, Xn.zO)()), (e = null == e ? null : e + ''))
-          for (var r = this._groups, o = r.length, i = 0; i < o; ++i)
-            for (var a, s = r[i], u = s.length, c = 0; c < u; ++c)
-              (a = s[c]) && Jn(a, e, t, c, s, n || qr(a, t))
-          return new Vr(r, this._parents, e, t)
-        })
-      var Kr = function (e) {
-        return function () {
-          return e
-        }
-      }
-      function Zr(e, t) {
-        var n = t.sourceEvent,
-          r = t.target,
-          o = t.transform,
-          i = t.dispatch
-        Object.defineProperties(this, {
-          type: { value: e, enumerable: !0, configurable: !0 },
-          sourceEvent: { value: n, enumerable: !0, configurable: !0 },
-          target: { value: r, enumerable: !0, configurable: !0 },
-          transform: { value: o, enumerable: !0, configurable: !0 },
-          _: { value: i },
-        })
-      }
-      function Xr(e, t, n) {
-        ;(this.k = e), (this.x = t), (this.y = n)
-      }
-      Xr.prototype = {
-        constructor: Xr,
-        scale: function (e) {
-          return 1 === e ? this : new Xr(this.k * e, this.x, this.y)
-        },
-        translate: function (e, t) {
-          return (0 === e) & (0 === t)
-            ? this
-            : new Xr(this.k, this.x + this.k * e, this.y + this.k * t)
-        },
-        apply: function (e) {
-          return [e[0] * this.k + this.x, e[1] * this.k + this.y]
-        },
-        applyX: function (e) {
-          return e * this.k + this.x
-        },
-        applyY: function (e) {
-          return e * this.k + this.y
-        },
-        invert: function (e) {
-          return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k]
-        },
-        invertX: function (e) {
-          return (e - this.x) / this.k
-        },
-        invertY: function (e) {
-          return (e - this.y) / this.k
-        },
-        rescaleX: function (e) {
-          return e.copy().domain(e.range().map(this.invertX, this).map(e.invert, e))
-        },
-        rescaleY: function (e) {
-          return e.copy().domain(e.range().map(this.invertY, this).map(e.invert, e))
-        },
-        toString: function () {
-          return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')'
-        },
-      }
-      var $r = new Xr(1, 0, 0)
-      function Yr(e) {
-        for (; !e.__zoom; ) if (!(e = e.parentNode)) return $r
-        return e.__zoom
-      }
-      function Qr(e) {
-        e.stopImmediatePropagation()
-      }
-      function Jr(e) {
-        e.preventDefault(), e.stopImmediatePropagation()
-      }
-      function eo(e) {
-        return (!e.ctrlKey || 'wheel' === e.type) && !e.button
-      }
-      function to() {
-        var e = this
-        return e instanceof SVGElement
-          ? (e = e.ownerSVGElement || e).hasAttribute('viewBox')
-            ? [
-                [(e = e.viewBox.baseVal).x, e.y],
-                [e.x + e.width, e.y + e.height],
-              ]
-            : [
-                [0, 0],
-                [e.width.baseVal.value, e.height.baseVal.value],
-              ]
-          : [
-              [0, 0],
-              [e.clientWidth, e.clientHeight],
-            ]
-      }
-      function no() {
-        return this.__zoom || $r
-      }
-      function ro(e) {
-        return (
-          -e.deltaY * (1 === e.deltaMode ? 0.05 : e.deltaMode ? 1 : 0.002) * (e.ctrlKey ? 10 : 1)
-        )
-      }
-      function oo() {
-        return navigator.maxTouchPoints || 'ontouchstart' in this
-      }
-      function io(e, t, n) {
-        var r = e.invertX(t[0][0]) - n[0][0],
-          o = e.invertX(t[1][0]) - n[1][0],
-          i = e.invertY(t[0][1]) - n[0][1],
-          a = e.invertY(t[1][1]) - n[1][1]
-        return e.translate(
-          o > r ? (r + o) / 2 : Math.min(0, r) || Math.max(0, o),
-          a > i ? (i + a) / 2 : Math.min(0, i) || Math.max(0, a),
-        )
-      }
-      function ao() {
-        var e,
-          t,
-          n,
-          r = eo,
-          o = to,
-          i = io,
-          a = ro,
-          s = oo,
-          u = [0, 1 / 0],
-          c = [
-            [-1 / 0, -1 / 0],
-            [1 / 0, 1 / 0],
-          ],
-          l = 250,
-          d = Kn,
-          f = (0, Bn.Z)('start', 'zoom', 'end'),
-          h = 500,
-          p = 0,
-          v = 10
-        function m(e) {
-          e.property('__zoom', no)
-            .on('wheel.zoom', k, { passive: !1 })
-            .on('mousedown.zoom', E)
-            .on('dblclick.zoom', O)
-            .filter(s)
-            .on('touchstart.zoom', T)
-            .on('touchmove.zoom', C)
-            .on('touchend.zoom touchcancel.zoom', M)
-            .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)')
-        }
-        function g(e, t) {
-          return (t = Math.max(u[0], Math.min(u[1], t))) === e.k ? e : new Xr(t, e.x, e.y)
-        }
-        function y(e, t, n) {
-          var r = t[0] - n[0] * e.k,
-            o = t[1] - n[1] * e.k
-          return r === e.x && o === e.y ? e : new Xr(e.k, r, o)
-        }
-        function b(e) {
-          return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2]
-        }
-        function w(e, t, n, r) {
-          e.on('start.zoom', function () {
-            _(this, arguments).event(r).start()
-          })
-            .on('interrupt.zoom end.zoom', function () {
-              _(this, arguments).event(r).end()
-            })
-            .tween('zoom', function () {
-              var e = this,
-                i = arguments,
-                a = _(e, i).event(r),
-                s = o.apply(e, i),
-                u = null == n ? b(s) : 'function' === typeof n ? n.apply(e, i) : n,
-                c = Math.max(s[1][0] - s[0][0], s[1][1] - s[0][1]),
-                l = e.__zoom,
-                f = 'function' === typeof t ? t.apply(e, i) : t,
-                h = d(l.invert(u).concat(c / l.k), f.invert(u).concat(c / f.k))
-              return function (e) {
-                if (1 === e) e = f
-                else {
-                  var t = h(e),
-                    n = c / t[2]
-                  e = new Xr(n, u[0] - t[0] * n, u[1] - t[1] * n)
-                }
-                a.zoom(null, e)
-              }
-            })
-        }
-        function _(e, t, n) {
-          return (!n && e.__zooming) || new x(e, t)
-        }
-        function x(e, t) {
-          ;(this.that = e),
-            (this.args = t),
-            (this.active = 0),
-            (this.sourceEvent = null),
-            (this.extent = o.apply(e, t)),
-            (this.taps = 0)
-        }
-        function k(e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++)
-            n[o - 1] = arguments[o]
-          if (r.apply(this, arguments)) {
-            var s = _(this, n).event(e),
-              l = this.__zoom,
-              d = Math.max(u[0], Math.min(u[1], l.k * Math.pow(2, a.apply(this, arguments)))),
-              f = Zn(e)
-            if (s.wheel)
-              (s.mouse[0][0] === f[0] && s.mouse[0][1] === f[1]) ||
-                (s.mouse[1] = l.invert((s.mouse[0] = f))),
-                clearTimeout(s.wheel)
-            else {
-              if (l.k === d) return
-              ;(s.mouse = [f, l.invert(f)]), rr(this), s.start()
-            }
-            Jr(e),
-              (s.wheel = setTimeout(h, 150)),
-              s.zoom('mouse', i(y(g(l, d), s.mouse[0], s.mouse[1]), s.extent, c))
-          }
-          function h() {
-            ;(s.wheel = null), s.end()
-          }
-        }
-        function E(e) {
-          for (var t = arguments.length, o = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
-            o[a - 1] = arguments[a]
-          if (!n && r.apply(this, arguments)) {
-            var s = e.currentTarget,
-              u = _(this, o, !0).event(e),
-              l = zn(e.view).on('mousemove.zoom', v, !0).on('mouseup.zoom', m, !0),
-              d = Zn(e, s),
-              f = e.clientX,
-              h = e.clientY
-            Un(e.view), Qr(e), (u.mouse = [d, this.__zoom.invert(d)]), rr(this), u.start()
-          }
-          function v(e) {
-            if ((Jr(e), !u.moved)) {
-              var t = e.clientX - f,
-                n = e.clientY - h
-              u.moved = t * t + n * n > p
-            }
-            u.event(e).zoom(
-              'mouse',
-              i(y(u.that.__zoom, (u.mouse[0] = Zn(e, s)), u.mouse[1]), u.extent, c),
-            )
-          }
-          function m(e) {
-            l.on('mousemove.zoom mouseup.zoom', null), Gn(e.view, u.moved), Jr(e), u.event(e).end()
-          }
-        }
-        function O(e) {
-          for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
-            n[a - 1] = arguments[a]
-          if (r.apply(this, arguments)) {
-            var s = this.__zoom,
-              u = Zn(e.changedTouches ? e.changedTouches[0] : e, this),
-              d = s.invert(u),
-              f = s.k * (e.shiftKey ? 0.5 : 2),
-              h = i(y(g(s, f), u, d), o.apply(this, n), c)
-            Jr(e),
-              l > 0
-                ? zn(this).transition().duration(l).call(w, h, u, e)
-                : zn(this).call(m.transform, h, u, e)
-          }
-        }
-        function T(n) {
-          for (var o = arguments.length, i = new Array(o > 1 ? o - 1 : 0), a = 1; a < o; a++)
-            i[a - 1] = arguments[a]
-          if (r.apply(this, arguments)) {
-            var s,
-              u,
-              c,
-              l,
-              d = n.touches,
-              f = d.length,
-              p = _(this, i, n.changedTouches.length === f).event(n)
-            for (Qr(n), u = 0; u < f; ++u)
-              (l = [(l = Zn((c = d[u]), this)), this.__zoom.invert(l), c.identifier]),
-                p.touch0
-                  ? p.touch1 || p.touch0[2] === l[2] || ((p.touch1 = l), (p.taps = 0))
-                  : ((p.touch0 = l), (s = !0), (p.taps = 1 + !!e))
-            e && (e = clearTimeout(e)),
-              s &&
-                (p.taps < 2 &&
-                  ((t = l[0]),
-                  (e = setTimeout(function () {
-                    e = null
-                  }, h))),
-                rr(this),
-                p.start())
-          }
-        }
-        function C(e) {
-          if (this.__zooming) {
-            for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-              n[r - 1] = arguments[r]
-            var o,
-              a,
-              s,
-              u,
-              l = _(this, n).event(e),
-              d = e.changedTouches,
-              f = d.length
-            for (Jr(e), o = 0; o < f; ++o)
-              (s = Zn((a = d[o]), this)),
-                l.touch0 && l.touch0[2] === a.identifier
-                  ? (l.touch0[0] = s)
-                  : l.touch1 && l.touch1[2] === a.identifier && (l.touch1[0] = s)
-            if (((a = l.that.__zoom), l.touch1)) {
-              var h = l.touch0[0],
-                p = l.touch0[1],
-                v = l.touch1[0],
-                m = l.touch1[1],
-                b = (b = v[0] - h[0]) * b + (b = v[1] - h[1]) * b,
-                w = (w = m[0] - p[0]) * w + (w = m[1] - p[1]) * w
-              ;(a = g(a, Math.sqrt(b / w))),
-                (s = [(h[0] + v[0]) / 2, (h[1] + v[1]) / 2]),
-                (u = [(p[0] + m[0]) / 2, (p[1] + m[1]) / 2])
-            } else {
-              if (!l.touch0) return
-              ;(s = l.touch0[0]), (u = l.touch0[1])
-            }
-            l.zoom('touch', i(y(a, s, u), l.extent, c))
-          }
-        }
-        function M(e) {
-          for (var r = arguments.length, o = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
-            o[i - 1] = arguments[i]
-          if (this.__zooming) {
-            var a,
-              s,
-              u = _(this, o).event(e),
-              c = e.changedTouches,
-              l = c.length
-            for (
-              Qr(e),
-                n && clearTimeout(n),
-                n = setTimeout(function () {
-                  n = null
-                }, h),
-                a = 0;
-              a < l;
-              ++a
-            )
-              (s = c[a]),
-                u.touch0 && u.touch0[2] === s.identifier
-                  ? delete u.touch0
-                  : u.touch1 && u.touch1[2] === s.identifier && delete u.touch1
-            if ((u.touch1 && !u.touch0 && ((u.touch0 = u.touch1), delete u.touch1), u.touch0))
-              u.touch0[1] = this.__zoom.invert(u.touch0[0])
-            else if (
-              (u.end(),
-              2 === u.taps && ((s = Zn(s, this)), Math.hypot(t[0] - s[0], t[1] - s[1]) < v))
-            ) {
-              var d = zn(this).on('dblclick.zoom')
-              d && d.apply(this, arguments)
-            }
-          }
-        }
-        return (
-          (m.transform = function (e, t, n, r) {
-            var o = e.selection ? e.selection() : e
-            o.property('__zoom', no),
-              e !== o
-                ? w(e, t, n, r)
-                : o.interrupt().each(function () {
-                    _(this, arguments)
-                      .event(r)
-                      .start()
-                      .zoom(null, 'function' === typeof t ? t.apply(this, arguments) : t)
-                      .end()
-                  })
-          }),
-          (m.scaleBy = function (e, t, n, r) {
-            m.scaleTo(
-              e,
-              function () {
-                var e = this.__zoom.k,
-                  n = 'function' === typeof t ? t.apply(this, arguments) : t
-                return e * n
-              },
-              n,
-              r,
-            )
-          }),
-          (m.scaleTo = function (e, t, n, r) {
-            m.transform(
-              e,
-              function () {
-                var e = o.apply(this, arguments),
-                  r = this.__zoom,
-                  a = null == n ? b(e) : 'function' === typeof n ? n.apply(this, arguments) : n,
-                  s = r.invert(a),
-                  u = 'function' === typeof t ? t.apply(this, arguments) : t
-                return i(y(g(r, u), a, s), e, c)
-              },
-              n,
-              r,
-            )
-          }),
-          (m.translateBy = function (e, t, n, r) {
-            m.transform(
-              e,
-              function () {
-                return i(
-                  this.__zoom.translate(
-                    'function' === typeof t ? t.apply(this, arguments) : t,
-                    'function' === typeof n ? n.apply(this, arguments) : n,
-                  ),
-                  o.apply(this, arguments),
-                  c,
-                )
-              },
-              null,
-              r,
-            )
-          }),
-          (m.translateTo = function (e, t, n, r, a) {
-            m.transform(
-              e,
-              function () {
-                var e = o.apply(this, arguments),
-                  a = this.__zoom,
-                  s = null == r ? b(e) : 'function' === typeof r ? r.apply(this, arguments) : r
-                return i(
-                  $r
-                    .translate(s[0], s[1])
-                    .scale(a.k)
-                    .translate(
-                      'function' === typeof t ? -t.apply(this, arguments) : -t,
-                      'function' === typeof n ? -n.apply(this, arguments) : -n,
-                    ),
-                  e,
-                  c,
-                )
-              },
-              r,
-              a,
-            )
-          }),
-          (x.prototype = {
-            event: function (e) {
-              return e && (this.sourceEvent = e), this
-            },
-            start: function () {
-              return 1 === ++this.active && ((this.that.__zooming = this), this.emit('start')), this
-            },
-            zoom: function (e, t) {
-              return (
-                this.mouse && 'mouse' !== e && (this.mouse[1] = t.invert(this.mouse[0])),
-                this.touch0 && 'touch' !== e && (this.touch0[1] = t.invert(this.touch0[0])),
-                this.touch1 && 'touch' !== e && (this.touch1[1] = t.invert(this.touch1[0])),
-                (this.that.__zoom = t),
-                this.emit('zoom'),
-                this
-              )
-            },
-            end: function () {
-              return 0 === --this.active && (delete this.that.__zooming, this.emit('end')), this
-            },
-            emit: function (e) {
-              var t = zn(this.that).datum()
-              f.call(
-                e,
-                this.that,
-                new Zr(e, {
-                  sourceEvent: this.sourceEvent,
-                  target: m,
-                  type: e,
-                  transform: this.that.__zoom,
-                  dispatch: f,
-                }),
-                t,
-              )
-            },
-          }),
-          (m.wheelDelta = function (e) {
-            return arguments.length ? ((a = 'function' === typeof e ? e : Kr(+e)), m) : a
-          }),
-          (m.filter = function (e) {
-            return arguments.length ? ((r = 'function' === typeof e ? e : Kr(!!e)), m) : r
-          }),
-          (m.touchable = function (e) {
-            return arguments.length ? ((s = 'function' === typeof e ? e : Kr(!!e)), m) : s
-          }),
-          (m.extent = function (e) {
-            return arguments.length
-              ? ((o =
-                  'function' === typeof e
-                    ? e
-                    : Kr([
-                        [+e[0][0], +e[0][1]],
-                        [+e[1][0], +e[1][1]],
-                      ])),
-                m)
-              : o
-          }),
-          (m.scaleExtent = function (e) {
-            return arguments.length ? ((u[0] = +e[0]), (u[1] = +e[1]), m) : [u[0], u[1]]
-          }),
-          (m.translateExtent = function (e) {
-            return arguments.length
-              ? ((c[0][0] = +e[0][0]),
-                (c[1][0] = +e[1][0]),
-                (c[0][1] = +e[0][1]),
-                (c[1][1] = +e[1][1]),
-                m)
-              : [
-                  [c[0][0], c[0][1]],
-                  [c[1][0], c[1][1]],
-                ]
-          }),
-          (m.constrain = function (e) {
-            return arguments.length ? ((i = e), m) : i
-          }),
-          (m.duration = function (e) {
-            return arguments.length ? ((l = +e), m) : l
-          }),
-          (m.interpolate = function (e) {
-            return arguments.length ? ((d = e), m) : d
-          }),
-          (m.on = function () {
-            var e = f.on.apply(f, arguments)
-            return e === f ? m : e
-          }),
-          (m.clickDistance = function (e) {
-            return arguments.length ? ((p = (e = +e) * e), m) : Math.sqrt(p)
-          }),
-          (m.tapDistance = function (e) {
-            return arguments.length ? ((v = +e), m) : v
-          }),
-          m
-        )
-      }
-      Yr.prototype = Xr.prototype
-      var so = function (e) {
-        return function () {
-          return e
-        }
-      }
-      function uo(e, t) {
-        var n = t.sourceEvent,
-          r = t.subject,
-          o = t.target,
-          i = t.identifier,
-          a = t.active,
-          s = t.x,
-          u = t.y,
-          c = t.dx,
-          l = t.dy,
-          d = t.dispatch
-        Object.defineProperties(this, {
-          type: { value: e, enumerable: !0, configurable: !0 },
-          sourceEvent: { value: n, enumerable: !0, configurable: !0 },
-          subject: { value: r, enumerable: !0, configurable: !0 },
-          target: { value: o, enumerable: !0, configurable: !0 },
-          identifier: { value: i, enumerable: !0, configurable: !0 },
-          active: { value: a, enumerable: !0, configurable: !0 },
-          x: { value: s, enumerable: !0, configurable: !0 },
-          y: { value: u, enumerable: !0, configurable: !0 },
-          dx: { value: c, enumerable: !0, configurable: !0 },
-          dy: { value: l, enumerable: !0, configurable: !0 },
-          _: { value: d },
-        })
-      }
-      function co(e) {
-        return !e.ctrlKey && !e.button
-      }
-      function lo() {
-        return this.parentNode
-      }
-      function fo(e, t) {
-        return null == t ? { x: e.x, y: e.y } : t
-      }
-      function ho() {
-        return navigator.maxTouchPoints || 'ontouchstart' in this
-      }
-      uo.prototype.on = function () {
-        var e = this._.on.apply(this._, arguments)
-        return e === this._ ? this : e
-      }
-      var po = r(86701),
-        vo = r(3752),
-        mo = r(93096),
-        go = r.n(mo),
-        yo = r(17621),
-        bo = r.n(yo)
-      function wo(e, t) {
-        if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-      }
-      function _o(e, t) {
-        for (var n = 0; n < t.length; n++) {
-          var r = t[n]
-          ;(r.enumerable = r.enumerable || !1),
-            (r.configurable = !0),
-            'value' in r && (r.writable = !0),
-            Object.defineProperty(e, r.key, r)
-        }
-      }
-      function xo(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return ko(e)
-          })(e) ||
-          (function (e) {
-            if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e)
-          })(e) ||
-          (function (e, t) {
-            if (!e) return
-            if ('string' === typeof e) return ko(e, t)
-            var n = Object.prototype.toString.call(e).slice(8, -1)
-            'Object' === n && e.constructor && (n = e.constructor.name)
-            if ('Map' === n || 'Set' === n) return Array.from(e)
-            if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-              return ko(e, t)
-          })(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function ko(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var Eo = function (e, t, n) {
-          return (e << 16) + (t << 8) + n
-        },
-        Oo = function (e, t) {
-          return (123 * e) % Math.pow(2, t)
-        },
-        To = (function () {
-          function e() {
-            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 6
-            wo(this, e), (this.csBits = t), (this.registry = ['__reserved for background__'])
-          }
-          var t, n, r
-          return (
-            (t = e),
-            (n = [
-              {
-                key: 'register',
-                value: function (e) {
-                  if (this.registry.length >= Math.pow(2, 24 - this.csBits)) return null
-                  var t,
-                    n = this.registry.length,
-                    r = Oo(n, this.csBits),
-                    o =
-                      ((t = n + (r << (24 - this.csBits))),
-                      '#'.concat(Math.min(t, Math.pow(2, 24)).toString(16).padStart(6, '0')))
-                  return this.registry.push(e), o
-                },
-              },
-              {
-                key: 'lookup',
-                value: function (e) {
-                  var t =
-                    'string' === typeof e
-                      ? (function (e) {
-                          var t = bo()(e).toRgb(),
-                            n = t.r,
-                            r = t.g,
-                            o = t.b
-                          return Eo(n, r, o)
-                        })(e)
-                      : Eo.apply(void 0, xo(e))
-                  if (!t) return null
-                  var n = t & (Math.pow(2, 24 - this.csBits) - 1),
-                    r = (t >> (24 - this.csBits)) & (Math.pow(2, this.csBits) - 1)
-                  return Oo(n, this.csBits) !== r || n >= this.registry.length
-                    ? null
-                    : this.registry[n]
-                },
-              },
-            ]) && _o(t.prototype, n),
-            r && _o(t, r),
-            e
-          )
-        })(),
-        Co = r(54505),
-        Mo = r(15560),
-        So = r(92405),
-        Po = r(20216),
-        jo = r(16917)
-      const { abs: Io, cos: Ao, sin: Ro, acos: Do, atan2: Lo, sqrt: No, pow: zo } = Math
-      function Bo(e) {
-        return e < 0 ? -zo(-e, 1 / 3) : zo(e, 1 / 3)
-      }
-      const Ho = Math.PI,
-        Fo = 2 * Ho,
-        Vo = Ho / 2,
-        Wo = Number.MAX_SAFE_INTEGER || 9007199254740991,
-        Uo = Number.MIN_SAFE_INTEGER || -9007199254740991,
-        Go = { x: 0, y: 0, z: 0 },
-        qo = {
-          Tvalues: [
-            -0.06405689286260563, 0.06405689286260563, -0.1911188674736163, 0.1911188674736163,
-            -0.3150426796961634, 0.3150426796961634, -0.4337935076260451, 0.4337935076260451,
-            -0.5454214713888396, 0.5454214713888396, -0.6480936519369755, 0.6480936519369755,
-            -0.7401241915785544, 0.7401241915785544, -0.820001985973903, 0.820001985973903,
-            -0.8864155270044011, 0.8864155270044011, -0.9382745520027328, 0.9382745520027328,
-            -0.9747285559713095, 0.9747285559713095, -0.9951872199970213, 0.9951872199970213,
-          ],
-          Cvalues: [
-            0.12793819534675216, 0.12793819534675216, 0.1258374563468283, 0.1258374563468283,
-            0.12167047292780339, 0.12167047292780339, 0.1155056680537256, 0.1155056680537256,
-            0.10744427011596563, 0.10744427011596563, 0.09761865210411388, 0.09761865210411388,
-            0.08619016153195327, 0.08619016153195327, 0.0733464814110803, 0.0733464814110803,
-            0.05929858491543678, 0.05929858491543678, 0.04427743881741981, 0.04427743881741981,
-            0.028531388628933663, 0.028531388628933663, 0.0123412297999872, 0.0123412297999872,
-          ],
-          arcfn: function (e, t) {
-            const n = t(e)
-            let r = n.x * n.x + n.y * n.y
-            return 'undefined' !== typeof n.z && (r += n.z * n.z), No(r)
-          },
-          compute: function (e, t, n) {
-            if (0 === e) return (t[0].t = 0), t[0]
-            const r = t.length - 1
-            if (1 === e) return (t[r].t = 1), t[r]
-            const o = 1 - e
-            let i = t
-            if (0 === r) return (t[0].t = e), t[0]
-            if (1 === r) {
-              const t = { x: o * i[0].x + e * i[1].x, y: o * i[0].y + e * i[1].y, t: e }
-              return n && (t.z = o * i[0].z + e * i[1].z), t
-            }
-            if (r < 4) {
-              let t,
-                a,
-                s,
-                u = o * o,
-                c = e * e,
-                l = 0
-              2 === r
-                ? ((i = [i[0], i[1], i[2], Go]), (t = u), (a = o * e * 2), (s = c))
-                : 3 === r && ((t = u * o), (a = u * e * 3), (s = o * c * 3), (l = e * c))
-              const d = {
-                x: t * i[0].x + a * i[1].x + s * i[2].x + l * i[3].x,
-                y: t * i[0].y + a * i[1].y + s * i[2].y + l * i[3].y,
-                t: e,
-              }
-              return n && (d.z = t * i[0].z + a * i[1].z + s * i[2].z + l * i[3].z), d
-            }
-            const a = JSON.parse(JSON.stringify(t))
-            for (; a.length > 1; ) {
-              for (let t = 0; t < a.length - 1; t++)
-                (a[t] = {
-                  x: a[t].x + (a[t + 1].x - a[t].x) * e,
-                  y: a[t].y + (a[t + 1].y - a[t].y) * e,
-                }),
-                  'undefined' !== typeof a[t].z && (a[t] = a[t].z + (a[t + 1].z - a[t].z) * e)
-              a.splice(a.length - 1, 1)
-            }
-            return (a[0].t = e), a[0]
-          },
-          computeWithRatios: function (e, t, n, r) {
-            const o = 1 - e,
-              i = n,
-              a = t
-            let s,
-              u = i[0],
-              c = i[1],
-              l = i[2],
-              d = i[3]
-            return (
-              (u *= o),
-              (c *= e),
-              2 === a.length
-                ? ((s = u + c),
-                  {
-                    x: (u * a[0].x + c * a[1].x) / s,
-                    y: (u * a[0].y + c * a[1].y) / s,
-                    z: !!r && (u * a[0].z + c * a[1].z) / s,
-                    t: e,
-                  })
-                : ((u *= o),
-                  (c *= 2 * o),
-                  (l *= e * e),
-                  3 === a.length
-                    ? ((s = u + c + l),
-                      {
-                        x: (u * a[0].x + c * a[1].x + l * a[2].x) / s,
-                        y: (u * a[0].y + c * a[1].y + l * a[2].y) / s,
-                        z: !!r && (u * a[0].z + c * a[1].z + l * a[2].z) / s,
-                        t: e,
-                      })
-                    : ((u *= o),
-                      (c *= 1.5 * o),
-                      (l *= 3 * o),
-                      (d *= e * e * e),
-                      4 === a.length
-                        ? ((s = u + c + l + d),
-                          {
-                            x: (u * a[0].x + c * a[1].x + l * a[2].x + d * a[3].x) / s,
-                            y: (u * a[0].y + c * a[1].y + l * a[2].y + d * a[3].y) / s,
-                            z: !!r && (u * a[0].z + c * a[1].z + l * a[2].z + d * a[3].z) / s,
-                            t: e,
-                          })
-                        : void 0))
-            )
-          },
-          derive: function (e, t) {
-            const n = []
-            for (let r = e, o = r.length, i = o - 1; o > 1; o--, i--) {
-              const e = []
-              for (let n, o = 0; o < i; o++)
-                (n = { x: i * (r[o + 1].x - r[o].x), y: i * (r[o + 1].y - r[o].y) }),
-                  t && (n.z = i * (r[o + 1].z - r[o].z)),
-                  e.push(n)
-              n.push(e), (r = e)
-            }
-            return n
-          },
-          between: function (e, t, n) {
-            return (t <= e && e <= n) || qo.approximately(e, t) || qo.approximately(e, n)
-          },
-          approximately: function (e, t, n) {
-            return Io(e - t) <= (n || 1e-6)
-          },
-          length: function (e) {
-            const t = qo.Tvalues.length
-            let n = 0
-            for (let r, o = 0; o < t; o++)
-              (r = 0.5 * qo.Tvalues[o] + 0.5), (n += qo.Cvalues[o] * qo.arcfn(r, e))
-            return 0.5 * n
-          },
-          map: function (e, t, n, r, o) {
-            return r + (o - r) * ((e - t) / (n - t))
-          },
-          lerp: function (e, t, n) {
-            const r = { x: t.x + e * (n.x - t.x), y: t.y + e * (n.y - t.y) }
-            return void 0 !== t.z && void 0 !== n.z && (r.z = t.z + e * (n.z - t.z)), r
-          },
-          pointToString: function (e) {
-            let t = e.x + '/' + e.y
-            return 'undefined' !== typeof e.z && (t += '/' + e.z), t
-          },
-          pointsToString: function (e) {
-            return '[' + e.map(qo.pointToString).join(', ') + ']'
-          },
-          copy: function (e) {
-            return JSON.parse(JSON.stringify(e))
-          },
-          angle: function (e, t, n) {
-            const r = t.x - e.x,
-              o = t.y - e.y,
-              i = n.x - e.x,
-              a = n.y - e.y
-            return Lo(r * a - o * i, r * i + o * a)
-          },
-          round: function (e, t) {
-            const n = '' + e,
-              r = n.indexOf('.')
-            return parseFloat(n.substring(0, r + 1 + t))
-          },
-          dist: function (e, t) {
-            const n = e.x - t.x,
-              r = e.y - t.y
-            return No(n * n + r * r)
-          },
-          closest: function (e, t) {
-            let n,
-              r,
-              o = zo(2, 63)
-            return (
-              e.forEach(function (e, i) {
-                ;(r = qo.dist(t, e)), r < o && ((o = r), (n = i))
-              }),
-              { mdist: o, mpos: n }
-            )
-          },
-          abcratio: function (e, t) {
-            if (2 !== t && 3 !== t) return !1
-            if ('undefined' === typeof e) e = 0.5
-            else if (0 === e || 1 === e) return e
-            const n = zo(e, t) + zo(1 - e, t)
-            return Io((n - 1) / n)
-          },
-          projectionratio: function (e, t) {
-            if (2 !== t && 3 !== t) return !1
-            if ('undefined' === typeof e) e = 0.5
-            else if (0 === e || 1 === e) return e
-            const n = zo(1 - e, t)
-            return n / (zo(e, t) + n)
-          },
-          lli8: function (e, t, n, r, o, i, a, s) {
-            const u = (e - n) * (i - s) - (t - r) * (o - a)
-            return (
-              0 != u && {
-                x: ((e * r - t * n) * (o - a) - (e - n) * (o * s - i * a)) / u,
-                y: ((e * r - t * n) * (i - s) - (t - r) * (o * s - i * a)) / u,
-              }
-            )
-          },
-          lli4: function (e, t, n, r) {
-            const o = e.x,
-              i = e.y,
-              a = t.x,
-              s = t.y,
-              u = n.x,
-              c = n.y,
-              l = r.x,
-              d = r.y
-            return qo.lli8(o, i, a, s, u, c, l, d)
-          },
-          lli: function (e, t) {
-            return qo.lli4(e, e.c, t, t.c)
-          },
-          makeline: function (e, t) {
-            const n = e.x,
-              r = e.y,
-              o = t.x,
-              i = t.y,
-              a = (o - n) / 3,
-              s = (i - r) / 3
-            return new ni(n, r, n + a, r + s, n + 2 * a, r + 2 * s, o, i)
-          },
-          findbbox: function (e) {
-            let t = Wo,
-              n = Wo,
-              r = Uo,
-              o = Uo
-            return (
-              e.forEach(function (e) {
-                const i = e.bbox()
-                t > i.x.min && (t = i.x.min),
-                  n > i.y.min && (n = i.y.min),
-                  r < i.x.max && (r = i.x.max),
-                  o < i.y.max && (o = i.y.max)
-              }),
-              {
-                x: { min: t, mid: (t + r) / 2, max: r, size: r - t },
-                y: { min: n, mid: (n + o) / 2, max: o, size: o - n },
-              }
-            )
-          },
-          shapeintersections: function (e, t, n, r, o) {
-            if (!qo.bboxoverlap(t, r)) return []
-            const i = [],
-              a = [e.startcap, e.forward, e.back, e.endcap],
-              s = [n.startcap, n.forward, n.back, n.endcap]
-            return (
-              a.forEach(function (t) {
-                t.virtual ||
-                  s.forEach(function (r) {
-                    if (r.virtual) return
-                    const a = t.intersects(r, o)
-                    a.length > 0 && ((a.c1 = t), (a.c2 = r), (a.s1 = e), (a.s2 = n), i.push(a))
-                  })
-              }),
-              i
-            )
-          },
-          makeshape: function (e, t, n) {
-            const r = t.points.length,
-              o = e.points.length,
-              i = qo.makeline(t.points[r - 1], e.points[0]),
-              a = qo.makeline(e.points[o - 1], t.points[0]),
-              s = {
-                startcap: i,
-                forward: e,
-                back: t,
-                endcap: a,
-                bbox: qo.findbbox([i, e, t, a]),
-                intersections: function (e) {
-                  return qo.shapeintersections(s, s.bbox, e, e.bbox, n)
-                },
-              }
-            return s
-          },
-          getminmax: function (e, t, n) {
-            if (!n) return { min: 0, max: 0 }
-            let r,
-              o,
-              i = Wo,
-              a = Uo
-            ;-1 === n.indexOf(0) && (n = [0].concat(n)), -1 === n.indexOf(1) && n.push(1)
-            for (let s = 0, u = n.length; s < u; s++)
-              (r = n[s]), (o = e.get(r)), o[t] < i && (i = o[t]), o[t] > a && (a = o[t])
-            return { min: i, mid: (i + a) / 2, max: a, size: a - i }
-          },
-          align: function (e, t) {
-            const n = t.p1.x,
-              r = t.p1.y,
-              o = -Lo(t.p2.y - r, t.p2.x - n)
-            return e.map(function (e) {
-              return {
-                x: (e.x - n) * Ao(o) - (e.y - r) * Ro(o),
-                y: (e.x - n) * Ro(o) + (e.y - r) * Ao(o),
-              }
-            })
-          },
-          roots: function (e, t) {
-            t = t || { p1: { x: 0, y: 0 }, p2: { x: 1, y: 0 } }
-            const n = e.length - 1,
-              r = qo.align(e, t),
-              o = function (e) {
-                return 0 <= e && e <= 1
-              }
-            if (2 === n) {
-              const e = r[0].y,
-                t = r[1].y,
-                n = r[2].y,
-                i = e - 2 * t + n
-              if (0 !== i) {
-                const r = -No(t * t - e * n),
-                  a = -e + t
-                return [-(r + a) / i, -(-r + a) / i].filter(o)
-              }
-              return t !== n && 0 === i ? [(2 * t - n) / (2 * t - 2 * n)].filter(o) : []
-            }
-            const i = r[0].y,
-              a = r[1].y,
-              s = r[2].y
-            let u = 3 * a - i - 3 * s + r[3].y,
-              c = 3 * i - 6 * a + 3 * s,
-              l = -3 * i + 3 * a,
-              d = i
-            if (qo.approximately(u, 0)) {
-              if (qo.approximately(c, 0)) return qo.approximately(l, 0) ? [] : [-d / l].filter(o)
-              const e = No(l * l - 4 * c * d),
-                t = 2 * c
-              return [(e - l) / t, (-l - e) / t].filter(o)
-            }
-            ;(c /= u), (l /= u), (d /= u)
-            const f = (3 * l - c * c) / 3,
-              h = f / 3,
-              p = (2 * c * c * c - 9 * c * l + 27 * d) / 27,
-              v = p / 2,
-              m = v * v + h * h * h
-            let g, y, b, w, _
-            if (m < 0) {
-              const e = -f / 3,
-                t = No(e * e * e),
-                n = -p / (2 * t),
-                r = Do(n < -1 ? -1 : n > 1 ? 1 : n),
-                i = 2 * Bo(t)
-              return (
-                (b = i * Ao(r / 3) - c / 3),
-                (w = i * Ao((r + Fo) / 3) - c / 3),
-                (_ = i * Ao((r + 2 * Fo) / 3) - c / 3),
-                [b, w, _].filter(o)
-              )
-            }
-            if (0 === m)
-              return (
-                (g = v < 0 ? Bo(-v) : -Bo(v)),
-                (b = 2 * g - c / 3),
-                (w = -g - c / 3),
-                [b, w].filter(o)
-              )
-            {
-              const e = No(m)
-              return (g = Bo(-v + e)), (y = Bo(v + e)), [g - y - c / 3].filter(o)
-            }
-          },
-          droots: function (e) {
-            if (3 === e.length) {
-              const t = e[0],
-                n = e[1],
-                r = e[2],
-                o = t - 2 * n + r
-              if (0 !== o) {
-                const e = -No(n * n - t * r),
-                  i = -t + n
-                return [-(e + i) / o, -(-e + i) / o]
-              }
-              return n !== r && 0 === o ? [(2 * n - r) / (2 * (n - r))] : []
-            }
-            if (2 === e.length) {
-              const t = e[0],
-                n = e[1]
-              return t !== n ? [t / (t - n)] : []
-            }
-            return []
-          },
-          curvature: function (e, t, n, r, o) {
-            let i,
-              a,
-              s,
-              u,
-              c = 0,
-              l = 0
-            const d = qo.compute(e, t),
-              f = qo.compute(e, n),
-              h = d.x * d.x + d.y * d.y
-            if (
-              (r
-                ? ((i = No(
-                    zo(d.y * f.z - f.y * d.z, 2) +
-                      zo(d.z * f.x - f.z * d.x, 2) +
-                      zo(d.x * f.y - f.x * d.y, 2),
-                  )),
-                  (a = zo(h + d.z * d.z, 1.5)))
-                : ((i = d.x * f.y - d.y * f.x), (a = zo(h, 1.5))),
-              0 === i || 0 === a)
-            )
-              return { k: 0, r: 0 }
-            if (((c = i / a), (l = a / i), !o)) {
-              const o = qo.curvature(e - 0.001, t, n, r, !0).k,
-                i = qo.curvature(e + 0.001, t, n, r, !0).k
-              ;(u = (i - c + (c - o)) / 2), (s = (Io(i - c) + Io(c - o)) / 2)
-            }
-            return { k: c, r: l, dk: u, adk: s }
-          },
-          inflections: function (e) {
-            if (e.length < 4) return []
-            const t = qo.align(e, { p1: e[0], p2: e.slice(-1)[0] }),
-              n = t[2].x * t[1].y,
-              r = t[3].x * t[1].y,
-              o = t[1].x * t[2].y,
-              i = 18 * (-3 * n + 2 * r + 3 * o - t[3].x * t[2].y),
-              a = 18 * (3 * n - r - 3 * o),
-              s = 18 * (o - n)
-            if (qo.approximately(i, 0)) {
-              if (!qo.approximately(a, 0)) {
-                let e = -s / a
-                if (0 <= e && e <= 1) return [e]
-              }
-              return []
-            }
-            const u = a * a - 4 * i * s,
-              c = Math.sqrt(u),
-              l = 2 * i
-            return qo.approximately(l, 0)
-              ? []
-              : [(c - a) / l, -(a + c) / l].filter(function (e) {
-                  return 0 <= e && e <= 1
-                })
-          },
-          bboxoverlap: function (e, t) {
-            const n = ['x', 'y'],
-              r = n.length
-            for (let o, i, a, s, u = 0; u < r; u++)
-              if (
-                ((o = n[u]),
-                (i = e[o].mid),
-                (a = t[o].mid),
-                (s = (e[o].size + t[o].size) / 2),
-                Io(i - a) >= s)
-              )
-                return !1
-            return !0
-          },
-          expandbox: function (e, t) {
-            t.x.min < e.x.min && (e.x.min = t.x.min),
-              t.y.min < e.y.min && (e.y.min = t.y.min),
-              t.z && t.z.min < e.z.min && (e.z.min = t.z.min),
-              t.x.max > e.x.max && (e.x.max = t.x.max),
-              t.y.max > e.y.max && (e.y.max = t.y.max),
-              t.z && t.z.max > e.z.max && (e.z.max = t.z.max),
-              (e.x.mid = (e.x.min + e.x.max) / 2),
-              (e.y.mid = (e.y.min + e.y.max) / 2),
-              e.z && (e.z.mid = (e.z.min + e.z.max) / 2),
-              (e.x.size = e.x.max - e.x.min),
-              (e.y.size = e.y.max - e.y.min),
-              e.z && (e.z.size = e.z.max - e.z.min)
-          },
-          pairiteration: function (e, t, n) {
-            const r = e.bbox(),
-              o = t.bbox(),
-              i = 1e5,
-              a = n || 0.5
-            if (r.x.size + r.y.size < a && o.x.size + o.y.size < a)
-              return [
-                (((i * (e._t1 + e._t2)) / 2) | 0) / i + '/' + (((i * (t._t1 + t._t2)) / 2) | 0) / i,
-              ]
-            let s = e.split(0.5),
-              u = t.split(0.5),
-              c = [
-                { left: s.left, right: u.left },
-                { left: s.left, right: u.right },
-                { left: s.right, right: u.right },
-                { left: s.right, right: u.left },
-              ]
-            c = c.filter(function (e) {
-              return qo.bboxoverlap(e.left.bbox(), e.right.bbox())
-            })
-            let l = []
-            return (
-              0 === c.length ||
-                (c.forEach(function (e) {
-                  l = l.concat(qo.pairiteration(e.left, e.right, a))
-                }),
-                (l = l.filter(function (e, t) {
-                  return l.indexOf(e) === t
-                }))),
-              l
-            )
-          },
-          getccenter: function (e, t, n) {
-            const r = t.x - e.x,
-              o = t.y - e.y,
-              i = n.x - t.x,
-              a = n.y - t.y,
-              s = r * Ao(Vo) - o * Ro(Vo),
-              u = r * Ro(Vo) + o * Ao(Vo),
-              c = i * Ao(Vo) - a * Ro(Vo),
-              l = i * Ro(Vo) + a * Ao(Vo),
-              d = (e.x + t.x) / 2,
-              f = (e.y + t.y) / 2,
-              h = (t.x + n.x) / 2,
-              p = (t.y + n.y) / 2,
-              v = d + s,
-              m = f + u,
-              g = h + c,
-              y = p + l,
-              b = qo.lli8(d, f, v, m, h, p, g, y),
-              w = qo.dist(b, e)
-            let _,
-              x = Lo(e.y - b.y, e.x - b.x),
-              k = Lo(t.y - b.y, t.x - b.x),
-              E = Lo(n.y - b.y, n.x - b.x)
-            return (
-              x < E
-                ? ((x > k || k > E) && (x += Fo), x > E && ((_ = E), (E = x), (x = _)))
-                : E < k && k < x
-                ? ((_ = E), (E = x), (x = _))
-                : (E += Fo),
-              (b.s = x),
-              (b.e = E),
-              (b.r = w),
-              b
-            )
-          },
-          numberSort: function (e, t) {
-            return e - t
-          },
-        }
-      class Ko {
-        constructor(e) {
-          ;(this.curves = []),
-            (this._3d = !1),
-            e && ((this.curves = e), (this._3d = this.curves[0]._3d))
-        }
-        valueOf() {
-          return this.toString()
-        }
-        toString() {
-          return (
-            '[' +
-            this.curves
-              .map(function (e) {
-                return qo.pointsToString(e.points)
-              })
-              .join(', ') +
-            ']'
-          )
-        }
-        addCurve(e) {
-          this.curves.push(e), (this._3d = this._3d || e._3d)
-        }
-        length() {
-          return this.curves
-            .map(function (e) {
-              return e.length()
-            })
-            .reduce(function (e, t) {
-              return e + t
-            })
-        }
-        curve(e) {
-          return this.curves[e]
-        }
-        bbox() {
-          const e = this.curves
-          for (var t = e[0].bbox(), n = 1; n < e.length; n++) qo.expandbox(t, e[n].bbox())
-          return t
-        }
-        offset(e) {
-          const t = []
-          return (
-            this.curves.forEach(function (n) {
-              t.push(...n.offset(e))
-            }),
-            new Ko(t)
-          )
-        }
-      }
-      const { abs: Zo, min: Xo, max: $o, cos: Yo, sin: Qo, acos: Jo, sqrt: ei } = Math,
-        ti = Math.PI
-      class ni {
-        constructor(e) {
-          let t = e && e.forEach ? e : Array.from(arguments).slice(),
-            n = !1
-          if ('object' === typeof t[0]) {
-            n = t.length
-            const e = []
-            t.forEach(function (t) {
-              ;['x', 'y', 'z'].forEach(function (n) {
-                'undefined' !== typeof t[n] && e.push(t[n])
-              })
-            }),
-              (t = e)
-          }
-          let r = !1
-          const o = t.length
-          if (n) {
-            if (n > 4) {
-              if (1 !== arguments.length)
-                throw new Error(
-                  'Only new Bezier(point[]) is accepted for 4th and higher order curves',
-                )
-              r = !0
-            }
-          } else if (6 !== o && 8 !== o && 9 !== o && 12 !== o && 1 !== arguments.length)
-            throw new Error('Only new Bezier(point[]) is accepted for 4th and higher order curves')
-          const i = (this._3d =
-              (!r && (9 === o || 12 === o)) || (e && e[0] && 'undefined' !== typeof e[0].z)),
-            a = (this.points = [])
-          for (let d = 0, f = i ? 3 : 2; d < o; d += f) {
-            var s = { x: t[d], y: t[d + 1] }
-            i && (s.z = t[d + 2]), a.push(s)
-          }
-          const u = (this.order = a.length - 1),
-            c = (this.dims = ['x', 'y'])
-          i && c.push('z'), (this.dimlen = c.length)
-          const l = qo.align(a, { p1: a[0], p2: a[u] })
-          ;(this._linear = !l.some((e) => Zo(e.y) > 1e-4)),
-            (this._lut = []),
-            (this._t1 = 0),
-            (this._t2 = 1),
-            this.update()
-        }
-        static quadraticFromPoints(e, t, n, r) {
-          if (('undefined' === typeof r && (r = 0.5), 0 === r)) return new ni(t, t, n)
-          if (1 === r) return new ni(e, t, t)
-          const o = ni.getABC(2, e, t, n, r)
-          return new ni(e, o.A, n)
-        }
-        static cubicFromPoints(e, t, n, r, o) {
-          'undefined' === typeof r && (r = 0.5)
-          const i = ni.getABC(3, e, t, n, r)
-          'undefined' === typeof o && (o = qo.dist(t, i.C))
-          const a = (o * (1 - r)) / r,
-            s = qo.dist(e, n),
-            u = (n.x - e.x) / s,
-            c = (n.y - e.y) / s,
-            l = o * u,
-            d = o * c,
-            f = a * u,
-            h = a * c,
-            p = t.x - l,
-            v = t.y - d,
-            m = t.x + f,
-            g = t.y + h,
-            y = i.A,
-            b = y.x + (p - y.x) / (1 - r),
-            w = y.y + (v - y.y) / (1 - r),
-            _ = y.x + (m - y.x) / r,
-            x = y.y + (g - y.y) / r,
-            k = { x: e.x + (b - e.x) / r, y: e.y + (w - e.y) / r },
-            E = { x: n.x + (_ - n.x) / (1 - r), y: n.y + (x - n.y) / (1 - r) }
-          return new ni(e, k, E, n)
-        }
-        static getUtils() {
-          return qo
-        }
-        getUtils() {
-          return ni.getUtils()
-        }
-        static get PolyBezier() {
-          return Ko
-        }
-        valueOf() {
-          return this.toString()
-        }
-        toString() {
-          return qo.pointsToString(this.points)
-        }
-        toSVG() {
-          if (this._3d) return !1
-          const e = this.points,
-            t = ['M', e[0].x, e[0].y, 2 === this.order ? 'Q' : 'C']
-          for (let n = 1, r = e.length; n < r; n++) t.push(e[n].x), t.push(e[n].y)
-          return t.join(' ')
-        }
-        setRatios(e) {
-          if (e.length !== this.points.length) throw new Error('incorrect number of ratio values')
-          ;(this.ratios = e), (this._lut = [])
-        }
-        verify() {
-          const e = this.coordDigest()
-          e !== this._print && ((this._print = e), this.update())
-        }
-        coordDigest() {
-          return this.points
-            .map(function (e, t) {
-              return '' + t + e.x + e.y + (e.z ? e.z : 0)
-            })
-            .join('')
-        }
-        update() {
-          ;(this._lut = []),
-            (this.dpoints = qo.derive(this.points, this._3d)),
-            this.computedirection()
-        }
-        computedirection() {
-          const e = this.points,
-            t = qo.angle(e[0], e[this.order], e[1])
-          this.clockwise = t > 0
-        }
-        length() {
-          return qo.length(this.derivative.bind(this))
-        }
-        static getABC(e = 2, t, n, r, o = 0.5) {
-          const i = qo.projectionratio(o, e),
-            a = 1 - i,
-            s = { x: i * t.x + a * r.x, y: i * t.y + a * r.y },
-            u = qo.abcratio(o, e)
-          return {
-            A: { x: n.x + (n.x - s.x) / u, y: n.y + (n.y - s.y) / u },
-            B: n,
-            C: s,
-            S: t,
-            E: r,
-          }
-        }
-        getABC(e, t) {
-          t = t || this.get(e)
-          let n = this.points[0],
-            r = this.points[this.order]
-          return ni.getABC(this.order, n, t, r, e)
-        }
-        getLUT(e) {
-          if ((this.verify(), (e = e || 100), this._lut.length === e)) return this._lut
-          ;(this._lut = []), e--
-          for (let t, n, r = 0; r < e; r++)
-            (n = r / (e - 1)), (t = this.compute(n)), (t.t = n), this._lut.push(t)
-          return this._lut
-        }
-        on(e, n) {
-          n = n || 5
-          const r = this.getLUT(),
-            o = []
-          for (let t, i = 0, a = 0; i < r.length; i++)
-            (t = r[i]), qo.dist(t, e) < n && (o.push(t), (a += i / r.length))
-          return !!o.length && (t /= o.length)
-        }
-        project(e) {
-          const t = this.getLUT(),
-            n = t.length - 1,
-            r = qo.closest(t, e),
-            o = r.mpos,
-            i = (o - 1) / n,
-            a = (o + 1) / n,
-            s = 0.1 / n
-          let u,
-            c,
-            l = r.mdist,
-            d = i,
-            f = d
-          for (l += 1; d < a + s; d += s)
-            (u = this.compute(d)), (c = qo.dist(e, u)), c < l && ((l = c), (f = d))
-          return (f = f < 0 ? 0 : f > 1 ? 1 : f), (u = this.compute(f)), (u.t = f), (u.d = l), u
-        }
-        get(e) {
-          return this.compute(e)
-        }
-        point(e) {
-          return this.points[e]
-        }
-        compute(e) {
-          return this.ratios
-            ? qo.computeWithRatios(e, this.points, this.ratios, this._3d)
-            : qo.compute(e, this.points, this._3d, this.ratios)
-        }
-        raise() {
-          const e = this.points,
-            t = [e[0]],
-            n = e.length
-          for (let r, o, i = 1; i < n; i++)
-            (r = e[i]),
-              (o = e[i - 1]),
-              (t[i] = {
-                x: ((n - i) / n) * r.x + (i / n) * o.x,
-                y: ((n - i) / n) * r.y + (i / n) * o.y,
-              })
-          return (t[n] = e[n - 1]), new ni(t)
-        }
-        derivative(e) {
-          return qo.compute(e, this.dpoints[0], this._3d)
-        }
-        dderivative(e) {
-          return qo.compute(e, this.dpoints[1], this._3d)
-        }
-        align() {
-          let e = this.points
-          return new ni(qo.align(e, { p1: e[0], p2: e[e.length - 1] }))
-        }
-        curvature(e) {
-          return qo.curvature(e, this.dpoints[0], this.dpoints[1], this._3d)
-        }
-        inflections() {
-          return qo.inflections(this.points)
-        }
-        normal(e) {
-          return this._3d ? this.__normal3(e) : this.__normal2(e)
-        }
-        __normal2(e) {
-          const t = this.derivative(e),
-            n = ei(t.x * t.x + t.y * t.y)
-          return { x: -t.y / n, y: t.x / n }
-        }
-        __normal3(e) {
-          const t = this.derivative(e),
-            n = this.derivative(e + 0.01),
-            r = ei(t.x * t.x + t.y * t.y + t.z * t.z),
-            o = ei(n.x * n.x + n.y * n.y + n.z * n.z)
-          ;(t.x /= r), (t.y /= r), (t.z /= r), (n.x /= o), (n.y /= o), (n.z /= o)
-          const i = {
-              x: n.y * t.z - n.z * t.y,
-              y: n.z * t.x - n.x * t.z,
-              z: n.x * t.y - n.y * t.x,
-            },
-            a = ei(i.x * i.x + i.y * i.y + i.z * i.z)
-          ;(i.x /= a), (i.y /= a), (i.z /= a)
-          const s = [
-            i.x * i.x,
-            i.x * i.y - i.z,
-            i.x * i.z + i.y,
-            i.x * i.y + i.z,
-            i.y * i.y,
-            i.y * i.z - i.x,
-            i.x * i.z - i.y,
-            i.y * i.z + i.x,
-            i.z * i.z,
-          ]
-          return {
-            x: s[0] * t.x + s[1] * t.y + s[2] * t.z,
-            y: s[3] * t.x + s[4] * t.y + s[5] * t.z,
-            z: s[6] * t.x + s[7] * t.y + s[8] * t.z,
-          }
-        }
-        hull(e) {
-          let t = this.points,
-            n = [],
-            r = [],
-            o = 0
-          for (
-            r[o++] = t[0], r[o++] = t[1], r[o++] = t[2], 3 === this.order && (r[o++] = t[3]);
-            t.length > 1;
-
-          ) {
-            n = []
-            for (let i, a = 0, s = t.length - 1; a < s; a++)
-              (i = qo.lerp(e, t[a], t[a + 1])), (r[o++] = i), n.push(i)
-            t = n
-          }
-          return r
-        }
-        split(e, t) {
-          if (0 === e && t) return this.split(t).left
-          if (1 === t) return this.split(e).right
-          const n = this.hull(e),
-            r = {
-              left:
-                2 === this.order ? new ni([n[0], n[3], n[5]]) : new ni([n[0], n[4], n[7], n[9]]),
-              right:
-                2 === this.order ? new ni([n[5], n[4], n[2]]) : new ni([n[9], n[8], n[6], n[3]]),
-              span: n,
-            }
-          return (
-            (r.left._t1 = qo.map(0, 0, 1, this._t1, this._t2)),
-            (r.left._t2 = qo.map(e, 0, 1, this._t1, this._t2)),
-            (r.right._t1 = qo.map(e, 0, 1, this._t1, this._t2)),
-            (r.right._t2 = qo.map(1, 0, 1, this._t1, this._t2)),
-            t ? ((t = qo.map(t, e, 1, 0, 1)), r.right.split(t).left) : r
-          )
-        }
-        extrema() {
-          const e = {}
-          let t = []
-          return (
-            this.dims.forEach(
-              function (n) {
-                let r = function (e) {
-                    return e[n]
-                  },
-                  o = this.dpoints[0].map(r)
-                ;(e[n] = qo.droots(o)),
-                  3 === this.order &&
-                    ((o = this.dpoints[1].map(r)), (e[n] = e[n].concat(qo.droots(o)))),
-                  (e[n] = e[n].filter(function (e) {
-                    return e >= 0 && e <= 1
-                  })),
-                  (t = t.concat(e[n].sort(qo.numberSort)))
-              }.bind(this),
-            ),
-            (e.values = t.sort(qo.numberSort).filter(function (e, n) {
-              return t.indexOf(e) === n
-            })),
-            e
-          )
-        }
-        bbox() {
-          const e = this.extrema(),
-            t = {}
-          return (
-            this.dims.forEach(
-              function (n) {
-                t[n] = qo.getminmax(this, n, e[n])
-              }.bind(this),
-            ),
-            t
-          )
-        }
-        overlaps(e) {
-          const t = this.bbox(),
-            n = e.bbox()
-          return qo.bboxoverlap(t, n)
-        }
-        offset(e, t) {
-          if ('undefined' !== typeof t) {
-            const n = this.get(e),
-              r = this.normal(e),
-              o = { c: n, n: r, x: n.x + r.x * t, y: n.y + r.y * t }
-            return this._3d && (o.z = n.z + r.z * t), o
-          }
-          if (this._linear) {
-            const t = this.normal(0),
-              n = this.points.map(function (n) {
-                const r = { x: n.x + e * t.x, y: n.y + e * t.y }
-                return n.z && t.z && (r.z = n.z + e * t.z), r
-              })
-            return [new ni(n)]
-          }
-          return this.reduce().map(function (t) {
-            return t._linear ? t.offset(e)[0] : t.scale(e)
-          })
-        }
-        simple() {
-          if (3 === this.order) {
-            const e = qo.angle(this.points[0], this.points[3], this.points[1]),
-              t = qo.angle(this.points[0], this.points[3], this.points[2])
-            if ((e > 0 && t < 0) || (e < 0 && t > 0)) return !1
-          }
-          const e = this.normal(0),
-            t = this.normal(1)
-          let n = e.x * t.x + e.y * t.y
-          return this._3d && (n += e.z * t.z), Zo(Jo(n)) < ti / 3
-        }
-        reduce() {
-          let e,
-            t,
-            n = 0,
-            r = 0,
-            o = 0.01,
-            i = [],
-            a = [],
-            s = this.extrema().values
-          for (
-            -1 === s.indexOf(0) && (s = [0].concat(s)),
-              -1 === s.indexOf(1) && s.push(1),
-              n = s[0],
-              e = 1;
-            e < s.length;
-            e++
-          )
-            (r = s[e]), (t = this.split(n, r)), (t._t1 = n), (t._t2 = r), i.push(t), (n = r)
-          return (
-            i.forEach(function (e) {
-              for (n = 0, r = 0; r <= 1; )
-                for (r = n + o; r <= 1.01; r += o)
-                  if (((t = e.split(n, r)), !t.simple())) {
-                    if (((r -= o), Zo(n - r) < o)) return []
-                    ;(t = e.split(n, r)),
-                      (t._t1 = qo.map(n, 0, 1, e._t1, e._t2)),
-                      (t._t2 = qo.map(r, 0, 1, e._t1, e._t2)),
-                      a.push(t),
-                      (n = r)
-                    break
-                  }
-              n < 1 &&
-                ((t = e.split(n, 1)),
-                (t._t1 = qo.map(n, 0, 1, e._t1, e._t2)),
-                (t._t2 = e._t2),
-                a.push(t))
-            }),
-            a
-          )
-        }
-        scale(e) {
-          const t = this.order
-          let n = !1
-          if (('function' === typeof e && (n = e), n && 2 === t)) return this.raise().scale(n)
-          const r = this.clockwise,
-            o = n ? n(0) : e,
-            i = n ? n(1) : e,
-            a = [this.offset(0, 10), this.offset(1, 10)],
-            s = this.points,
-            u = [],
-            c = qo.lli4(a[0], a[0].c, a[1], a[1].c)
-          if (!c) throw new Error('cannot scale this curve. Try reducing it first.')
-          return (
-            [0, 1].forEach(function (e) {
-              const n = (u[e * t] = qo.copy(s[e * t]))
-              ;(n.x += (e ? i : o) * a[e].n.x), (n.y += (e ? i : o) * a[e].n.y)
-            }),
-            n
-              ? ([0, 1].forEach(function (o) {
-                  if (2 !== t || !o) {
-                    var i = s[o + 1],
-                      a = { x: i.x - c.x, y: i.y - c.y },
-                      l = n ? n((o + 1) / t) : e
-                    n && !r && (l = -l)
-                    var d = ei(a.x * a.x + a.y * a.y)
-                    ;(a.x /= d), (a.y /= d), (u[o + 1] = { x: i.x + l * a.x, y: i.y + l * a.y })
-                  }
-                }),
-                new ni(u))
-              : ([0, 1].forEach((e) => {
-                  if (2 === t && e) return
-                  const n = u[e * t],
-                    r = this.derivative(e),
-                    o = { x: n.x + r.x, y: n.y + r.y }
-                  u[e + 1] = qo.lli4(n, o, c, s[e + 1])
-                }),
-                new ni(u))
-          )
-        }
-        outline(e, t, n, r) {
-          t = 'undefined' === typeof t ? e : t
-          const o = this.reduce(),
-            i = o.length,
-            a = []
-          let s,
-            u = [],
-            c = 0,
-            l = this.length()
-          const d = 'undefined' !== typeof n && 'undefined' !== typeof r
-          function f(e, t, n, r, o) {
-            return function (i) {
-              const a = r / n,
-                s = (r + o) / n,
-                u = t - e
-              return qo.map(i, 0, 1, e + a * u, e + s * u)
-            }
-          }
-          o.forEach(function (o) {
-            const i = o.length()
-            d
-              ? (a.push(o.scale(f(e, n, l, c, i))), u.push(o.scale(f(-t, -r, l, c, i))))
-              : (a.push(o.scale(e)), u.push(o.scale(-t))),
-              (c += i)
-          }),
-            (u = u
-              .map(function (e) {
-                return (
-                  (s = e.points),
-                  s[3] ? (e.points = [s[3], s[2], s[1], s[0]]) : (e.points = [s[2], s[1], s[0]]),
-                  e
-                )
-              })
-              .reverse())
-          const h = a[0].points[0],
-            p = a[i - 1].points[a[i - 1].points.length - 1],
-            v = u[i - 1].points[u[i - 1].points.length - 1],
-            m = u[0].points[0],
-            g = qo.makeline(v, h),
-            y = qo.makeline(p, m),
-            b = [g].concat(a).concat([y]).concat(u)
-          b.length
-          return new Ko(b)
-        }
-        outlineshapes(e, t, n) {
-          t = t || e
-          const r = this.outline(e, t).curves,
-            o = []
-          for (let i = 1, a = r.length; i < a / 2; i++) {
-            const e = qo.makeshape(r[i], r[a - i], n)
-            ;(e.startcap.virtual = i > 1), (e.endcap.virtual = i < a / 2 - 1), o.push(e)
-          }
-          return o
-        }
-        intersects(e, t) {
-          return e
-            ? e.p1 && e.p2
-              ? this.lineIntersects(e)
-              : (e instanceof ni && (e = e.reduce()), this.curveintersects(this.reduce(), e, t))
-            : this.selfintersects(t)
-        }
-        lineIntersects(e) {
-          const t = Xo(e.p1.x, e.p2.x),
-            n = Xo(e.p1.y, e.p2.y),
-            r = $o(e.p1.x, e.p2.x),
-            o = $o(e.p1.y, e.p2.y)
-          return qo.roots(this.points, e).filter((e) => {
-            var i = this.get(e)
-            return qo.between(i.x, t, r) && qo.between(i.y, n, o)
-          })
-        }
-        selfintersects(e) {
-          const t = this.reduce(),
-            n = t.length - 2,
-            r = []
-          for (let o, i, a, s = 0; s < n; s++)
-            (i = t.slice(s, s + 1)),
-              (a = t.slice(s + 2)),
-              (o = this.curveintersects(i, a, e)),
-              r.push(...o)
-          return r
-        }
-        curveintersects(e, t, n) {
-          const r = []
-          e.forEach(function (e) {
-            t.forEach(function (t) {
-              e.overlaps(t) && r.push({ left: e, right: t })
-            })
-          })
-          let o = []
-          return (
-            r.forEach(function (e) {
-              const t = qo.pairiteration(e.left, e.right, n)
-              t.length > 0 && (o = o.concat(t))
-            }),
-            o
-          )
-        }
-        arcs(e) {
-          return (e = e || 0.5), this._iterate(e, [])
-        }
-        _error(e, t, n, r) {
-          const o = (r - n) / 4,
-            i = this.get(n + o),
-            a = this.get(r - o),
-            s = qo.dist(e, t),
-            u = qo.dist(e, i),
-            c = qo.dist(e, a)
-          return Zo(u - s) + Zo(c - s)
-        }
-        _iterate(e, t) {
-          let n,
-            r = 0,
-            o = 1
-          do {
-            ;(n = 0), (o = 1)
-            let i,
-              a,
-              s,
-              u,
-              c,
-              l = this.get(r),
-              d = !1,
-              f = !1,
-              h = o,
-              p = 1,
-              v = 0
-            do {
-              if (
-                ((f = d),
-                (u = s),
-                (h = (r + o) / 2),
-                v++,
-                (i = this.get(h)),
-                (a = this.get(o)),
-                (s = qo.getccenter(l, i, a)),
-                (s.interval = { start: r, end: o }),
-                (d = this._error(s, l, r, o) <= e),
-                (c = f && !d),
-                c || (p = o),
-                d)
-              ) {
-                if (o >= 1) {
-                  if (((s.interval.end = p = 1), (u = s), o > 1)) {
-                    let e = { x: s.x + s.r * Yo(s.e), y: s.y + s.r * Qo(s.e) }
-                    s.e += qo.angle({ x: s.x, y: s.y }, e, this.get(1))
-                  }
-                  break
-                }
-                o += (o - r) / 2
-              } else o = h
-            } while (!c && n++ < 100)
-            if (n >= 100) break
-            ;(u = u || s), t.push(u), (r = p)
-          } while (o < 1)
-          return t
-        }
-      }
-      var ri = r(1527),
-        oi = r(72462),
-        ii = r(47646)
-      function ai(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function si(e) {
-        for (var t = 1; t < arguments.length; t++) {
-          var n = null != arguments[t] ? arguments[t] : {}
-          t % 2
-            ? ai(Object(n), !0).forEach(function (t) {
-                ci(e, t, n[t])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-            : ai(Object(n)).forEach(function (t) {
-                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-              })
-        }
-        return e
-      }
-      function ui(e) {
-        return (ui =
-          'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
-            ? function (e) {
-                return typeof e
-              }
-            : function (e) {
-                return e &&
-                  'function' === typeof Symbol &&
-                  e.constructor === Symbol &&
-                  e !== Symbol.prototype
-                  ? 'symbol'
-                  : typeof e
-              })(e)
-      }
-      function ci(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function li(e, t) {
-        return (li =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      function di() {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
-        } catch (e) {
-          return !1
-        }
-      }
-      function fi(e, t, n) {
-        return (fi = di()
-          ? Reflect.construct
-          : function (e, t, n) {
-              var r = [null]
-              r.push.apply(r, t)
-              var o = new (Function.bind.apply(e, r))()
-              return n && li(o, n.prototype), o
-            }).apply(null, arguments)
-      }
-      function hi(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n =
-              null == e
-                ? null
-                : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          vi(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function pi(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return mi(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          vi(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function vi(e, t) {
-        if (e) {
-          if ('string' === typeof e) return mi(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? mi(e, t)
-              : void 0
-          )
-        }
-      }
-      function mi(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      !(function (e, t) {
-        void 0 === t && (t = {})
-        var n = t.insertAt
-        if (e && 'undefined' !== typeof document) {
-          var r = document.head || document.getElementsByTagName('head')[0],
-            o = document.createElement('style')
-          ;(o.type = 'text/css'),
-            'top' === n && r.firstChild ? r.insertBefore(o, r.firstChild) : r.appendChild(o),
-            o.styleSheet ? (o.styleSheet.cssText = e) : o.appendChild(document.createTextNode(e))
-        }
-      })(
-        '.force-graph-container canvas {\n  display: block;\n  user-select: none;\n  outline: none;\n  -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n  position: absolute;\n  transform: translate(-50%, 25px);\n  font-family: sans-serif;\n  font-size: 16px;\n  padding: 4px;\n  border-radius: 3px;\n  color: #eee;\n  background: rgba(0,0,0,0.65);\n  visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n  cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n  cursor: move;\n  cursor: grab;\n  cursor: -moz-grab;\n  cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n  cursor: grabbing;\n  cursor: -moz-grabbing;\n  cursor: -webkit-grabbing;\n}\n',
-      )
-      var gi = (0, oi.Z)(ii.Z)
-      function yi(e, t, n) {
-        t &&
-          'string' === typeof n &&
-          e
-            .filter(function (e) {
-              return !e[n]
-            })
-            .forEach(function (e) {
-              e[n] = gi(t(e))
-            })
-      }
-      var bi = function (e, t) {
-          return t.onNeedsRedraw && t.onNeedsRedraw()
-        },
-        wi = (0, b.Z)({
-          props: {
-            graphData: {
-              default: { nodes: [], links: [] },
-              onChange: function (e, t) {
-                t.engineRunning = !1
-              },
-            },
-            dagMode: {
-              onChange: function (e, t) {
-                !e &&
-                  (t.graphData.nodes || []).forEach(function (e) {
-                    return (e.fx = e.fy = void 0)
-                  })
-              },
-            },
-            dagLevelDistance: {},
-            dagNodeFilter: {
-              default: function (e) {
-                return !0
-              },
-            },
-            onDagError: { triggerUpdate: !1 },
-            nodeRelSize: { default: 4, triggerUpdate: !1, onChange: bi },
-            nodeId: { default: 'id' },
-            nodeVal: { default: 'val', triggerUpdate: !1, onChange: bi },
-            nodeColor: { default: 'color', triggerUpdate: !1, onChange: bi },
-            nodeAutoColorBy: {},
-            nodeCanvasObject: { triggerUpdate: !1, onChange: bi },
-            nodeCanvasObjectMode: {
-              default: function () {
-                return 'replace'
-              },
-              triggerUpdate: !1,
-              onChange: bi,
-            },
-            nodeVisibility: { default: !0, triggerUpdate: !1, onChange: bi },
-            linkSource: { default: 'source' },
-            linkTarget: { default: 'target' },
-            linkVisibility: { default: !0, triggerUpdate: !1, onChange: bi },
-            linkColor: { default: 'color', triggerUpdate: !1, onChange: bi },
-            linkAutoColorBy: {},
-            linkLineDash: { triggerUpdate: !1, onChange: bi },
-            linkWidth: { default: 1, triggerUpdate: !1, onChange: bi },
-            linkCurvature: { default: 0, triggerUpdate: !1, onChange: bi },
-            linkCanvasObject: { triggerUpdate: !1, onChange: bi },
-            linkCanvasObjectMode: {
-              default: function () {
-                return 'replace'
-              },
-              triggerUpdate: !1,
-              onChange: bi,
-            },
-            linkDirectionalArrowLength: { default: 0, triggerUpdate: !1, onChange: bi },
-            linkDirectionalArrowColor: { triggerUpdate: !1, onChange: bi },
-            linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1, onChange: bi },
-            linkDirectionalParticles: { default: 0 },
-            linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 },
-            linkDirectionalParticleWidth: { default: 4, triggerUpdate: !1 },
-            linkDirectionalParticleColor: { triggerUpdate: !1 },
-            globalScale: { default: 1, triggerUpdate: !1 },
-            d3AlphaMin: { default: 0, triggerUpdate: !1 },
-            d3AlphaDecay: {
-              default: 0.0228,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.forceLayout.alphaDecay(e)
-              },
-            },
-            d3AlphaTarget: {
-              default: 0,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.forceLayout.alphaTarget(e)
-              },
-            },
-            d3VelocityDecay: {
-              default: 0.4,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.forceLayout.velocityDecay(e)
-              },
-            },
-            warmupTicks: { default: 0, triggerUpdate: !1 },
-            cooldownTicks: { default: 1 / 0, triggerUpdate: !1 },
-            cooldownTime: { default: 15e3, triggerUpdate: !1 },
-            onUpdate: { default: function () {}, triggerUpdate: !1 },
-            onFinishUpdate: { default: function () {}, triggerUpdate: !1 },
-            onEngineTick: { default: function () {}, triggerUpdate: !1 },
-            onEngineStop: { default: function () {}, triggerUpdate: !1 },
-            onNeedsRedraw: { triggerUpdate: !1 },
-            isShadow: { default: !1, triggerUpdate: !1 },
-          },
-          methods: {
-            d3Force: function (e, t, n) {
-              return void 0 === n ? e.forceLayout.force(t) : (e.forceLayout.force(t, n), this)
-            },
-            d3ReheatSimulation: function (e) {
-              return e.forceLayout.alpha(1), this.resetCountdown(), this
-            },
-            resetCountdown: function (e) {
-              return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this
-            },
-            isEngineRunning: function (e) {
-              return !!e.engineRunning
-            },
-            tickFrame: function (e) {
-              return (
-                !e.isShadow &&
-                  e.engineRunning &&
-                  (++e.cntTicks > e.cooldownTicks ||
-                  new Date() - e.startTickTime > e.cooldownTime ||
-                  (e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin)
-                    ? ((e.engineRunning = !1), e.onEngineStop())
-                    : (e.forceLayout.tick(), e.onEngineTick())),
-                (function () {
-                  var t = (0, w.default)(e.linkVisibility),
-                    n = (0, w.default)(e.linkColor),
-                    r = (0, w.default)(e.linkWidth),
-                    o = (0, w.default)(e.linkLineDash),
-                    i = (0, w.default)(e.linkCurvature),
-                    a = (0, w.default)(e.linkCanvasObjectMode),
-                    s = e.ctx,
-                    u = 2 * e.isShadow,
-                    c = e.graphData.links.filter(t)
-                  c.forEach(function (e) {
-                    var t = i(e)
-                    if (!t) return void (e.__controlPoints = null)
-                    var n = e.source,
-                      r = e.target
-                    if (!n || !r || !n.hasOwnProperty('x') || !r.hasOwnProperty('x')) return
-                    var o = Math.sqrt(Math.pow(r.x - n.x, 2) + Math.pow(r.y - n.y, 2))
-                    if (o > 0) {
-                      var a = Math.atan2(r.y - n.y, r.x - n.x),
-                        s = o * t,
-                        u = {
-                          x: (n.x + r.x) / 2 + s * Math.cos(a - Math.PI / 2),
-                          y: (n.y + r.y) / 2 + s * Math.sin(a - Math.PI / 2),
-                        }
-                      e.__controlPoints = [u.x, u.y]
-                    } else {
-                      var c = 70 * t
-                      e.__controlPoints = [r.x, r.y - c, r.x + c, r.y]
-                    }
-                  })
-                  var l = [],
-                    d = [],
-                    f = c
-                  if (e.linkCanvasObject) {
-                    var h = [],
-                      p = []
-                    c.forEach(function (e) {
-                      return ({ before: l, after: d, replace: h }[a(e)] || p).push(e)
-                    }),
-                      (f = [].concat(pi(l), d, p)),
-                      (l = l.concat(h))
-                  }
-                  s.save(),
-                    l.forEach(function (t) {
-                      return e.linkCanvasObject(t, s, e.globalScale)
-                    }),
-                    s.restore()
-                  var v = (0, ri.Z)(f, [n, r, o])
-                  s.save(),
-                    Object.entries(v).forEach(function (t) {
-                      var n = hi(t, 2),
-                        r = n[0],
-                        i = n[1],
-                        a = r && 'undefined' !== r ? r : 'rgba(0,0,0,0.15)'
-                      Object.entries(i).forEach(function (t) {
-                        var n = hi(t, 2),
-                          r = n[0],
-                          i = n[1],
-                          c = (r || 1) / e.globalScale + u
-                        Object.entries(i).forEach(function (e) {
-                          var t = hi(e, 2)
-                          t[0]
-                          var n = t[1],
-                            r = o(n[0])
-                          s.beginPath(),
-                            n.forEach(function (e) {
-                              var t = e.source,
-                                n = e.target
-                              if (t && n && t.hasOwnProperty('x') && n.hasOwnProperty('x')) {
-                                s.moveTo(t.x, t.y)
-                                var r = e.__controlPoints
-                                r
-                                  ? s[2 === r.length ? 'quadraticCurveTo' : 'bezierCurveTo'].apply(
-                                      s,
-                                      pi(r).concat([n.x, n.y]),
-                                    )
-                                  : s.lineTo(n.x, n.y)
-                              }
-                            }),
-                            (s.strokeStyle = a),
-                            (s.lineWidth = c),
-                            s.setLineDash(r || []),
-                            s.stroke()
-                        })
-                      })
-                    }),
-                    s.restore(),
-                    s.save(),
-                    d.forEach(function (t) {
-                      return e.linkCanvasObject(t, s, e.globalScale)
-                    }),
-                    s.restore()
-                })(),
-                !e.isShadow &&
-                  (function () {
-                    var t = (0, w.default)(e.linkDirectionalArrowLength),
-                      n = (0, w.default)(e.linkDirectionalArrowRelPos),
-                      r = (0, w.default)(e.linkVisibility),
-                      o = (0, w.default)(e.linkDirectionalArrowColor || e.linkColor),
-                      i = (0, w.default)(e.nodeVal),
-                      a = e.ctx
-                    a.save(),
-                      e.graphData.links.filter(r).forEach(function (r) {
-                        var s = t(r)
-                        if (s && !(s < 0)) {
-                          var u = r.source,
-                            c = r.target
-                          if (u && c && u.hasOwnProperty('x') && c.hasOwnProperty('x')) {
-                            var l = Math.sqrt(Math.max(0, i(u) || 1)) * e.nodeRelSize,
-                              d = Math.sqrt(Math.max(0, i(c) || 1)) * e.nodeRelSize,
-                              f = Math.min(1, Math.max(0, n(r))),
-                              h = o(r) || 'rgba(0,0,0,0.28)',
-                              p = s / 1.6 / 2,
-                              v =
-                                r.__controlPoints &&
-                                fi(ni, [u.x, u.y].concat(pi(r.__controlPoints), [c.x, c.y])),
-                              m = v
-                                ? function (e) {
-                                    return v.get(e)
-                                  }
-                                : function (e) {
-                                    return {
-                                      x: u.x + (c.x - u.x) * e || 0,
-                                      y: u.y + (c.y - u.y) * e || 0,
-                                    }
-                                  },
-                              g = v
-                                ? v.length()
-                                : Math.sqrt(Math.pow(c.x - u.x, 2) + Math.pow(c.y - u.y, 2)),
-                              y = l + s + (g - l - d - s) * f,
-                              b = m(y / g),
-                              w = m((y - s) / g),
-                              _ = m((y - 0.8 * s) / g),
-                              x = Math.atan2(b.y - w.y, b.x - w.x) - Math.PI / 2
-                            a.beginPath(),
-                              a.moveTo(b.x, b.y),
-                              a.lineTo(w.x + p * Math.cos(x), w.y + p * Math.sin(x)),
-                              a.lineTo(_.x, _.y),
-                              a.lineTo(w.x - p * Math.cos(x), w.y - p * Math.sin(x)),
-                              (a.fillStyle = h),
-                              a.fill()
-                          }
-                        }
-                      }),
-                      a.restore()
-                  })(),
-                !e.isShadow &&
-                  (function () {
-                    var t = (0, w.default)(e.linkDirectionalParticles),
-                      n = (0, w.default)(e.linkDirectionalParticleSpeed),
-                      r = (0, w.default)(e.linkDirectionalParticleWidth),
-                      o = (0, w.default)(e.linkVisibility),
-                      i = (0, w.default)(e.linkDirectionalParticleColor || e.linkColor),
-                      a = e.ctx
-                    a.save(),
-                      e.graphData.links.filter(o).forEach(function (o) {
-                        var s = t(o)
-                        if (o.hasOwnProperty('__photons') && o.__photons.length) {
-                          var u = o.source,
-                            c = o.target
-                          if (u && c && u.hasOwnProperty('x') && c.hasOwnProperty('x')) {
-                            var l = n(o),
-                              d = o.__photons || [],
-                              f = Math.max(0, r(o) / 2) / Math.sqrt(e.globalScale),
-                              h = i(o) || 'rgba(0,0,0,0.28)'
-                            a.fillStyle = h
-                            var p = o.__controlPoints
-                                ? fi(ni, [u.x, u.y].concat(pi(o.__controlPoints), [c.x, c.y]))
-                                : null,
-                              v = 0,
-                              m = !1
-                            d.forEach(function (e) {
-                              var t = !!e.__singleHop
-                              if (
-                                (e.hasOwnProperty('__progressRatio') ||
-                                  (e.__progressRatio = t ? 0 : v / s),
-                                !t && v++,
-                                (e.__progressRatio += l),
-                                e.__progressRatio >= 1)
-                              ) {
-                                if (t) return void (m = !0)
-                                e.__progressRatio = e.__progressRatio % 1
-                              }
-                              var n = e.__progressRatio,
-                                r = p
-                                  ? p.get(n)
-                                  : { x: u.x + (c.x - u.x) * n || 0, y: u.y + (c.y - u.y) * n || 0 }
-                              a.beginPath(), a.arc(r.x, r.y, f, 0, 2 * Math.PI, !1), a.fill()
-                            }),
-                              m &&
-                                (o.__photons = o.__photons.filter(function (e) {
-                                  return !e.__singleHop || e.__progressRatio <= 1
-                                }))
-                          }
-                        }
-                      }),
-                      a.restore()
-                  })(),
-                (function () {
-                  var t = (0, w.default)(e.nodeVisibility),
-                    n = (0, w.default)(e.nodeVal),
-                    r = (0, w.default)(e.nodeColor),
-                    o = (0, w.default)(e.nodeCanvasObjectMode),
-                    i = e.ctx,
-                    a = e.isShadow / e.globalScale,
-                    s = e.graphData.nodes.filter(t)
-                  i.save(),
-                    s.forEach(function (t) {
-                      var s = o(t)
-                      if (
-                        !e.nodeCanvasObject ||
-                        ('before' !== s && 'replace' !== s) ||
-                        (e.nodeCanvasObject(t, i, e.globalScale), 'replace' !== s)
-                      ) {
-                        var u = Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize + a
-                        i.beginPath(),
-                          i.arc(t.x, t.y, u, 0, 2 * Math.PI, !1),
-                          (i.fillStyle = r(t) || 'rgba(31, 120, 180, 0.92)'),
-                          i.fill(),
-                          e.nodeCanvasObject &&
-                            'after' === s &&
-                            e.nodeCanvasObject(t, e.ctx, e.globalScale)
-                      } else i.restore()
-                    }),
-                    i.restore()
-                })(),
-                this
-              )
-            },
-            emitParticle: function (e, t) {
-              return (
-                t && (!t.__photons && (t.__photons = []), t.__photons.push({ __singleHop: !0 })),
-                this
-              )
-            },
-          },
-          stateInit: function () {
-            return {
-              forceLayout: (0, Co.Z)()
-                .force('link', (0, Mo.Z)())
-                .force('charge', (0, So.Z)())
-                .force('center', (0, Po.Z)())
-                .force('dagRadial', null)
-                .stop(),
-              engineRunning: !1,
-            }
-          },
-          init: function (e, t) {
-            t.ctx = e
-          },
-          update: function (e) {
-            if (
-              ((e.engineRunning = !1),
-              e.onUpdate(),
-              null !== e.nodeAutoColorBy &&
-                yi(e.graphData.nodes, (0, w.default)(e.nodeAutoColorBy), e.nodeColor),
-              null !== e.linkAutoColorBy &&
-                yi(e.graphData.links, (0, w.default)(e.linkAutoColorBy), e.linkColor),
-              e.graphData.links.forEach(function (t) {
-                ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget])
-              }),
-              !e.isShadow)
-            ) {
-              var t = (0, w.default)(e.linkDirectionalParticles)
-              e.graphData.links.forEach(function (e) {
-                var n = Math.round(Math.abs(t(e)))
-                n
-                  ? (e.__photons = pi(Array(n)).map(function () {
-                      return {}
-                    }))
-                  : delete e.__photons
-              })
-            }
-            e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes)
-            var n = e.forceLayout.force('link')
-            n &&
-              n
-                .id(function (t) {
-                  return t[e.nodeId]
-                })
-                .links(e.graphData.links)
-            var r =
-                e.dagMode &&
-                (function (e, t) {
-                  var n = e.nodes,
-                    r = e.links,
-                    o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-                    i = o.nodeFilter,
-                    a =
-                      void 0 === i
-                        ? function () {
-                            return !0
-                          }
-                        : i,
-                    s = o.onLoopError,
-                    u =
-                      void 0 === s
-                        ? function (e) {
-                            throw 'Invalid DAG structure! Found cycle in node path: '.concat(
-                              e.join(' -> '),
-                              '.',
-                            )
-                          }
-                        : s,
-                    c = {}
-                  n.forEach(function (e) {
-                    return (c[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) })
-                  }),
-                    r.forEach(function (e) {
-                      var n = e.source,
-                        r = e.target,
-                        o = u(n),
-                        i = u(r)
-                      if (!c.hasOwnProperty(o)) throw 'Missing source node with id: '.concat(o)
-                      if (!c.hasOwnProperty(i)) throw 'Missing target node with id: '.concat(i)
-                      var a = c[o],
-                        s = c[i]
-                      function u(e) {
-                        return 'object' === ui(e) ? t(e) : e
-                      }
-                      a.out.push(s)
-                    })
-                  var l = []
-                  return (
-                    d(Object.values(c)),
-                    Object.assign.apply(
-                      Object,
-                      [{}].concat(
-                        pi(
-                          Object.entries(c)
-                            .filter(function (e) {
-                              return !hi(e, 2)[1].skip
-                            })
-                            .map(function (e) {
-                              var t = hi(e, 2)
-                              return ci({}, t[0], t[1].depth)
-                            }),
-                        ),
-                      ),
-                    )
-                  )
-                  function d(e) {
-                    for (
-                      var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
-                        r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
-                        o = 0,
-                        i = e.length;
-                      o < i;
-                      o++
-                    ) {
-                      var a = e[o]
-                      if (-1 !== n.indexOf(a))
-                        if (
-                          'continue' ===
-                          (function () {
-                            var e = [].concat(pi(n.slice(n.indexOf(a))), [a]).map(function (e) {
-                              return t(e.data)
-                            })
-                            return (
-                              l.some(function (t) {
-                                return (
-                                  t.length === e.length &&
-                                  t.every(function (t, n) {
-                                    return t === e[n]
-                                  })
-                                )
-                              }) || (l.push(e), u(e)),
-                              'continue'
-                            )
-                          })()
-                        )
-                          continue
-                      r > a.depth &&
-                        ((a.depth = r), d(a.out, [].concat(pi(n), [a]), r + (a.skip ? 0 : 1)))
-                    }
-                  }
-                })(
-                  e.graphData,
-                  function (t) {
-                    return t[e.nodeId]
-                  },
-                  { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 },
-                ),
-              o = Math.max.apply(Math, pi(Object.values(r || []))),
-              i =
-                e.dagLevelDistance ||
-                (e.graphData.nodes.length / (o || 1)) *
-                  2 *
-                  (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1)
-            if (e.dagMode) {
-              var a = function (t, n) {
-                  return function (a) {
-                    return t ? (r[a[e.nodeId]] - o / 2) * i * (n ? -1 : 1) : void 0
-                  }
-                },
-                s = a(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode),
-                u = a(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'bu' === e.dagMode)
-              e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) {
-                ;(e.fx = s(e)), (e.fy = u(e))
-              })
-            }
-            e.forceLayout.force(
-              'dagRadial',
-              -1 !== ['radialin', 'radialout'].indexOf(e.dagMode)
-                ? (0, jo.Z)(function (t) {
-                    var n = r[t[e.nodeId]] || -1
-                    return ('radialin' === e.dagMode ? o - n : n) * i
-                  }).strength(function (t) {
-                    return e.dagNodeFilter(t) ? 1 : 0
-                  })
-                : null,
-            )
-            for (
-              var c = 0;
-              c < e.warmupTicks && !(e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin);
-              c++
-            )
-              e.forceLayout.tick()
-            this.resetCountdown(), e.onFinishUpdate()
-          },
-        })
-      function _i(e, t) {
-        var n = e instanceof Array ? e : [e],
-          r = new t()
-        return {
-          linkProp: function (e) {
-            return {
-              default: r[e](),
-              onChange: function (t, r) {
-                n.forEach(function (n) {
-                  return r[n][e](t)
-                })
-              },
-              triggerUpdate: !1,
-            }
-          },
-          linkMethod: function (e) {
-            return function (t) {
-              for (var r = arguments.length, o = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
-                o[i - 1] = arguments[i]
-              var a = []
-              return (
-                n.forEach(function (n) {
-                  var r = t[n],
-                    i = r[e].apply(r, o)
-                  i !== r && a.push(i)
-                }),
-                a.length ? a[0] : this
-              )
-            }
-          },
-        }
-      }
-      var xi = _i('forceGraph', wi),
-        ki = _i(['forceGraph', 'shadowGraph'], wi),
-        Ei = Object.assign.apply(
-          Object,
-          pi(
-            [
-              'nodeColor',
-              'nodeAutoColorBy',
-              'nodeCanvasObject',
-              'nodeCanvasObjectMode',
-              'linkColor',
-              'linkAutoColorBy',
-              'linkLineDash',
-              'linkWidth',
-              'linkCanvasObject',
-              'linkCanvasObjectMode',
-              'linkDirectionalArrowLength',
-              'linkDirectionalArrowColor',
-              'linkDirectionalArrowRelPos',
-              'linkDirectionalParticles',
-              'linkDirectionalParticleSpeed',
-              'linkDirectionalParticleWidth',
-              'linkDirectionalParticleColor',
-              'dagMode',
-              'dagLevelDistance',
-              'dagNodeFilter',
-              'onDagError',
-              'd3AlphaMin',
-              'd3AlphaDecay',
-              'd3VelocityDecay',
-              'warmupTicks',
-              'cooldownTicks',
-              'cooldownTime',
-              'onEngineTick',
-              'onEngineStop',
-            ].map(function (e) {
-              return ci({}, e, xi.linkProp(e))
-            }),
-          ).concat(
-            pi(
-              [
-                'nodeRelSize',
-                'nodeId',
-                'nodeVal',
-                'nodeVisibility',
-                'linkSource',
-                'linkTarget',
-                'linkVisibility',
-                'linkCurvature',
-              ].map(function (e) {
-                return ci({}, e, ki.linkProp(e))
-              }),
-            ),
-          ),
-        ),
-        Oi = Object.assign.apply(
-          Object,
-          pi(
-            ['d3Force', 'd3ReheatSimulation', 'emitParticle'].map(function (e) {
-              return ci({}, e, xi.linkMethod(e))
-            }),
-          ),
-        )
-      function Ti(e) {
-        if (e.canvas) {
-          var t = e.canvas.width,
-            n = e.canvas.height
-          300 === t && 150 === n && (t = n = 0)
-          var r = window.devicePixelRatio
-          ;(t /= r),
-            (n /= r),
-            [e.canvas, e.shadowCanvas].forEach(function (o) {
-              ;(o.style.width = ''.concat(e.width, 'px')),
-                (o.style.height = ''.concat(e.height, 'px')),
-                (o.width = e.width * r),
-                (o.height = e.height * r),
-                t || n || o.getContext('2d').scale(r, r)
-            })
-          var o = Yr(e.canvas).k
-          e.zoom.translateBy(e.zoom.__baseElem, (e.width - t) / 2 / o, (e.height - n) / 2 / o),
-            (e.needsRedraw = !0)
-        }
-      }
-      function Ci(e) {
-        var t = window.devicePixelRatio
-        e.setTransform(t, 0, 0, t, 0, 0)
-      }
-      function Mi(e, t, n) {
-        e.save(), Ci(e), e.clearRect(0, 0, t, n), e.restore()
-      }
-      var Si = (0, b.Z)({
-          props: si(
-            {
-              width: {
-                default: window.innerWidth,
-                onChange: function (e, t) {
-                  return Ti(t)
-                },
-                triggerUpdate: !1,
-              },
-              height: {
-                default: window.innerHeight,
-                onChange: function (e, t) {
-                  return Ti(t)
-                },
-                triggerUpdate: !1,
-              },
-              graphData: {
-                default: { nodes: [], links: [] },
-                onChange: function (e, t) {
-                  ;[
-                    { type: 'Node', objs: e.nodes },
-                    { type: 'Link', objs: e.links },
-                  ].forEach(function (e) {
-                    var n = e.type
-                    e.objs
-                      .filter(function (e) {
-                        if (!e.hasOwnProperty('__indexColor')) return !0
-                        var n = t.colorTracker.lookup(e.__indexColor)
-                        return !n || !n.hasOwnProperty('d') || n.d !== e
-                      })
-                      .forEach(function (e) {
-                        e.__indexColor = t.colorTracker.register({ type: n, d: e })
-                      })
-                  }),
-                    t.forceGraph.graphData(e),
-                    t.shadowGraph.graphData(e)
-                },
-                triggerUpdate: !1,
-              },
-              backgroundColor: {
-                onChange: function (e, t) {
-                  t.canvas && e && (t.canvas.style.background = e)
-                },
-                triggerUpdate: !1,
-              },
-              nodeLabel: { default: 'name', triggerUpdate: !1 },
-              nodePointerAreaPaint: {
-                onChange: function (e, t) {
-                  t.shadowGraph.nodeCanvasObject(
-                    e
-                      ? function (t, n, r) {
-                          return e(t, t.__indexColor, n, r)
-                        }
-                      : null,
-                  )
-                },
-                triggerUpdate: !1,
-              },
-              linkPointerAreaPaint: {
-                onChange: function (e, t) {
-                  t.shadowGraph.linkCanvasObject(
-                    e
-                      ? function (t, n, r) {
-                          return e(t, t.__indexColor, n, r)
-                        }
-                      : null,
-                  )
-                },
-                triggerUpdate: !1,
-              },
-              linkLabel: { default: 'name', triggerUpdate: !1 },
-              linkHoverPrecision: { default: 4, triggerUpdate: !1 },
-              minZoom: {
-                default: 0.01,
-                onChange: function (e, t) {
-                  t.zoom.scaleExtent([e, t.zoom.scaleExtent()[1]])
-                },
-                triggerUpdate: !1,
-              },
-              maxZoom: {
-                default: 1e3,
-                onChange: function (e, t) {
-                  t.zoom.scaleExtent([t.zoom.scaleExtent()[0], e])
-                },
-                triggerUpdate: !1,
-              },
-              enableNodeDrag: { default: !0, triggerUpdate: !1 },
-              enableZoomInteraction: { default: !0, triggerUpdate: !1 },
-              enablePanInteraction: { default: !0, triggerUpdate: !1 },
-              enableZoomPanInteraction: { default: !0, triggerUpdate: !1 },
-              enablePointerInteraction: {
-                default: !0,
-                onChange: function (e, t) {
-                  t.hoverObj = null
-                },
-                triggerUpdate: !1,
-              },
-              autoPauseRedraw: { default: !0, triggerUpdate: !1 },
-              onNodeDrag: { default: function () {}, triggerUpdate: !1 },
-              onNodeDragEnd: { default: function () {}, triggerUpdate: !1 },
-              onNodeClick: { triggerUpdate: !1 },
-              onNodeRightClick: { triggerUpdate: !1 },
-              onNodeHover: { triggerUpdate: !1 },
-              onLinkClick: { triggerUpdate: !1 },
-              onLinkRightClick: { triggerUpdate: !1 },
-              onLinkHover: { triggerUpdate: !1 },
-              onBackgroundClick: { triggerUpdate: !1 },
-              onBackgroundRightClick: { triggerUpdate: !1 },
-              onZoom: { default: function () {}, triggerUpdate: !1 },
-              onZoomEnd: { default: function () {}, triggerUpdate: !1 },
-              onRenderFramePre: { triggerUpdate: !1 },
-              onRenderFramePost: { triggerUpdate: !1 },
-            },
-            Ei,
-          ),
-          aliases: { stopAnimation: 'pauseAnimation' },
-          methods: si(
-            {
-              graph2ScreenCoords: function (e, t, n) {
-                var r = Yr(e.canvas)
-                return { x: t * r.k + r.x, y: n * r.k + r.y }
-              },
-              screen2GraphCoords: function (e, t, n) {
-                var r = Yr(e.canvas)
-                return { x: (t - r.x) / r.k, y: (n - r.y) / r.k }
-              },
-              centerAt: function (e, t, n, r) {
-                if (!e.canvas) return null
-                if (void 0 !== t || void 0 !== n) {
-                  var o = Object.assign(
-                    {},
-                    void 0 !== t ? { x: t } : {},
-                    void 0 !== n ? { y: n } : {},
-                  )
-                  return (
-                    r
-                      ? new qe.ZP.Tween(i())
-                          .to(o, r)
-                          .easing(qe.ZP.Easing.Quadratic.Out)
-                          .onUpdate(a)
-                          .start()
-                      : a(o),
-                    this
-                  )
-                }
-                return i()
-                function i() {
-                  var t = Yr(e.canvas)
-                  return { x: (e.width / 2 - t.x) / t.k, y: (e.height / 2 - t.y) / t.k }
-                }
-                function a(t) {
-                  var n = t.x,
-                    r = t.y
-                  e.zoom.translateTo(
-                    e.zoom.__baseElem,
-                    void 0 === n ? i().x : n,
-                    void 0 === r ? i().y : r,
-                  ),
-                    (e.needsRedraw = !0)
-                }
-              },
-              zoom: function (e, t, n) {
-                return e.canvas
-                  ? void 0 !== t
-                    ? (n
-                        ? new qe.ZP.Tween({ k: r() })
-                            .to({ k: t }, n)
-                            .easing(qe.ZP.Easing.Quadratic.Out)
-                            .onUpdate(function (e) {
-                              return o(e.k)
-                            })
-                            .start()
-                        : o(t),
-                      this)
-                    : r()
-                  : null
-                function r() {
-                  return Yr(e.canvas).k
-                }
-                function o(t) {
-                  e.zoom.scaleTo(e.zoom.__baseElem, t), (e.needsRedraw = !0)
-                }
-              },
-              zoomToFit: function (e) {
-                for (
-                  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
-                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10,
-                    r = arguments.length,
-                    o = new Array(r > 3 ? r - 3 : 0),
-                    i = 3;
-                  i < r;
-                  i++
-                )
-                  o[i - 3] = arguments[i]
-                var a = this.getGraphBbox.apply(this, o)
-                if (a) {
-                  var s = { x: (a.x[0] + a.x[1]) / 2, y: (a.y[0] + a.y[1]) / 2 },
-                    u = Math.max(
-                      1e-12,
-                      Math.min(
-                        1e12,
-                        (e.width - 2 * n) / (a.x[1] - a.x[0]),
-                        (e.height - 2 * n) / (a.y[1] - a.y[0]),
-                      ),
-                    )
-                  this.centerAt(s.x, s.y, t), this.zoom(u, t)
-                }
-                return this
-              },
-              getGraphBbox: function (e) {
-                var t =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : function () {
-                          return !0
-                        },
-                  n = (0, w.default)(e.nodeVal),
-                  r = function (t) {
-                    return Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize
-                  },
-                  o = e.graphData.nodes.filter(t).map(function (e) {
-                    return { x: e.x, y: e.y, r: r(e) }
-                  })
-                return o.length
-                  ? {
-                      x: [
-                        (0, po.Z)(o, function (e) {
-                          return e.x - e.r
-                        }),
-                        (0, vo.Z)(o, function (e) {
-                          return e.x + e.r
-                        }),
-                      ],
-                      y: [
-                        (0, po.Z)(o, function (e) {
-                          return e.y - e.r
-                        }),
-                        (0, vo.Z)(o, function (e) {
-                          return e.y + e.r
-                        }),
-                      ],
-                    }
-                  : null
-              },
-              pauseAnimation: function (e) {
-                return (
-                  e.animationFrameRequestId &&
-                    (cancelAnimationFrame(e.animationFrameRequestId),
-                    (e.animationFrameRequestId = null)),
-                  this
-                )
-              },
-              resumeAnimation: function (e) {
-                return e.animationFrameRequestId || this._animationCycle(), this
-              },
-              _destructor: function () {
-                this.pauseAnimation(), this.graphData({ nodes: [], links: [] })
-              },
-            },
-            Oi,
-          ),
-          stateInit: function () {
-            return {
-              lastSetZoom: 1,
-              zoom: ao(),
-              forceGraph: new wi(),
-              shadowGraph: new wi()
-                .cooldownTicks(0)
-                .nodeColor('__indexColor')
-                .linkColor('__indexColor')
-                .isShadow(!0),
-              colorTracker: new To(),
-            }
-          },
-          init: function (e, t) {
-            e.innerHTML = ''
-            var n = document.createElement('div')
-            n.classList.add('force-graph-container'),
-              (n.style.position = 'relative'),
-              e.appendChild(n),
-              (t.canvas = document.createElement('canvas')),
-              t.backgroundColor && (t.canvas.style.background = t.backgroundColor),
-              n.appendChild(t.canvas),
-              (t.shadowCanvas = document.createElement('canvas'))
-            var r = t.canvas.getContext('2d'),
-              o = t.shadowCanvas.getContext('2d'),
-              i = { x: -1e12, y: -1e12 },
-              a = function () {
-                var e = null,
-                  n = window.devicePixelRatio,
-                  r = i.x > 0 && i.y > 0 ? o.getImageData(i.x * n, i.y * n, 1, 1) : null
-                return r && (e = t.colorTracker.lookup(r.data)), e
-              }
-            zn(t.canvas).call(
-              (function () {
-                var e,
-                  t,
-                  n,
-                  r,
-                  o = co,
-                  i = lo,
-                  a = fo,
-                  s = ho,
-                  u = {},
-                  c = (0, Bn.Z)('start', 'drag', 'end'),
-                  l = 0,
-                  d = 0
-                function f(e) {
-                  e.on('mousedown.drag', h)
-                    .filter(s)
-                    .on('touchstart.drag', m)
-                    .on('touchmove.drag', g, Hn)
-                    .on('touchend.drag touchcancel.drag', y)
-                    .style('touch-action', 'none')
-                    .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)')
-                }
-                function h(a, s) {
-                  if (!r && o.call(this, a, s)) {
-                    var u = b(this, i.call(this, a, s), a, s, 'mouse')
-                    u &&
-                      (zn(a.view).on('mousemove.drag', p, Fn).on('mouseup.drag', v, Fn),
-                      Un(a.view),
-                      Vn(a),
-                      (n = !1),
-                      (e = a.clientX),
-                      (t = a.clientY),
-                      u('start', a))
-                  }
-                }
-                function p(r) {
-                  if ((Wn(r), !n)) {
-                    var o = r.clientX - e,
-                      i = r.clientY - t
-                    n = o * o + i * i > d
-                  }
-                  u.mouse('drag', r)
-                }
-                function v(e) {
-                  zn(e.view).on('mousemove.drag mouseup.drag', null),
-                    Gn(e.view, n),
-                    Wn(e),
-                    u.mouse('end', e)
-                }
-                function m(e, t) {
-                  if (o.call(this, e, t)) {
-                    var n,
-                      r,
-                      a = e.changedTouches,
-                      s = i.call(this, e, t),
-                      u = a.length
-                    for (n = 0; n < u; ++n)
-                      (r = b(this, s, e, t, a[n].identifier, a[n])) && (Vn(e), r('start', e, a[n]))
-                  }
-                }
-                function g(e) {
-                  var t,
-                    n,
-                    r = e.changedTouches,
-                    o = r.length
-                  for (t = 0; t < o; ++t) (n = u[r[t].identifier]) && (Wn(e), n('drag', e, r[t]))
-                }
-                function y(e) {
-                  var t,
-                    n,
-                    o = e.changedTouches,
-                    i = o.length
-                  for (
-                    r && clearTimeout(r),
-                      r = setTimeout(function () {
-                        r = null
-                      }, 500),
-                      t = 0;
-                    t < i;
-                    ++t
-                  )
-                    (n = u[o[t].identifier]) && (Vn(e), n('end', e, o[t]))
-                }
-                function b(e, t, n, r, o, i) {
-                  var s,
-                    d,
-                    h,
-                    p = c.copy(),
-                    v = Zn(i || n, t)
-                  if (
-                    null !=
-                    (h = a.call(
-                      e,
-                      new uo('beforestart', {
-                        sourceEvent: n,
-                        target: f,
-                        identifier: o,
-                        active: l,
-                        x: v[0],
-                        y: v[1],
-                        dx: 0,
-                        dy: 0,
-                        dispatch: p,
-                      }),
-                      r,
-                    ))
-                  )
-                    return (
-                      (s = h.x - v[0] || 0),
-                      (d = h.y - v[1] || 0),
-                      function n(i, a, c) {
-                        var m,
-                          g = v
-                        switch (i) {
-                          case 'start':
-                            ;(u[o] = n), (m = l++)
-                            break
-                          case 'end':
-                            delete u[o], --l
-                          case 'drag':
-                            ;(v = Zn(c || a, t)), (m = l)
-                        }
-                        p.call(
-                          i,
-                          e,
-                          new uo(i, {
-                            sourceEvent: a,
-                            subject: h,
-                            target: f,
-                            identifier: o,
-                            active: m,
-                            x: v[0] + s,
-                            y: v[1] + d,
-                            dx: v[0] - g[0],
-                            dy: v[1] - g[1],
-                            dispatch: p,
-                          }),
-                          r,
-                        )
-                      }
-                    )
-                }
-                return (
-                  (f.filter = function (e) {
-                    return arguments.length ? ((o = 'function' === typeof e ? e : so(!!e)), f) : o
-                  }),
-                  (f.container = function (e) {
-                    return arguments.length ? ((i = 'function' === typeof e ? e : so(e)), f) : i
-                  }),
-                  (f.subject = function (e) {
-                    return arguments.length ? ((a = 'function' === typeof e ? e : so(e)), f) : a
-                  }),
-                  (f.touchable = function (e) {
-                    return arguments.length ? ((s = 'function' === typeof e ? e : so(!!e)), f) : s
-                  }),
-                  (f.on = function () {
-                    var e = c.on.apply(c, arguments)
-                    return e === c ? f : e
-                  }),
-                  (f.clickDistance = function (e) {
-                    return arguments.length ? ((d = (e = +e) * e), f) : Math.sqrt(d)
-                  }),
-                  f
-                )
-              })()
-                .subject(function () {
-                  if (!t.enableNodeDrag) return null
-                  var e = a()
-                  return e && 'Node' === e.type ? e.d : null
-                })
-                .on('start', function (e) {
-                  var n = e.subject
-                  ;(n.__initialDragPos = { x: n.x, y: n.y, fx: n.fx, fy: n.fy }),
-                    e.active || ((n.fx = n.x), (n.fy = n.y)),
-                    t.canvas.classList.add('grabbable')
-                })
-                .on('drag', function (e) {
-                  var n = e.subject,
-                    r = n.__initialDragPos,
-                    o = e,
-                    i = Yr(t.canvas).k,
-                    a = { x: r.x + (o.x - r.x) / i - n.x, y: r.y + (o.y - r.y) / i - n.y }
-                  ;['x', 'y'].forEach(function (e) {
-                    return (n['f'.concat(e)] = n[e] = r[e] + (o[e] - r[e]) / i)
-                  }),
-                    t.forceGraph.d3AlphaTarget(0.3).resetCountdown(),
-                    (t.isPointerDragging = !0),
-                    (n.__dragged = !0),
-                    t.onNodeDrag(n, a)
-                })
-                .on('end', function (e) {
-                  var n = e.subject,
-                    r = n.__initialDragPos,
-                    o = { x: n.x - r.x, y: n.y - r.y }
-                  void 0 === r.fx && (n.fx = void 0),
-                    void 0 === r.fy && (n.fy = void 0),
-                    delete n.__initialDragPos,
-                    t.forceGraph.d3AlphaTarget(0).resetCountdown(),
-                    t.canvas.classList.remove('grabbable'),
-                    (t.isPointerDragging = !1),
-                    n.__dragged && (delete n.__dragged, t.onNodeDragEnd(n, o))
-                }),
-            ),
-              t.zoom((t.zoom.__baseElem = zn(t.canvas))),
-              t.zoom.__baseElem.on('dblclick.zoom', null),
-              t.zoom
-                .filter(function (e) {
-                  return (
-                    !e.button &&
-                    t.enableZoomPanInteraction &&
-                    (t.enableZoomInteraction || 'wheel' !== e.type) &&
-                    (t.enablePanInteraction || 'wheel' === e.type)
-                  )
-                })
-                .on('zoom', function (e) {
-                  var n = e.transform
-                  ;[r, o].forEach(function (e) {
-                    Ci(e), e.translate(n.x, n.y), e.scale(n.k, n.k)
-                  }),
-                    t.onZoom(si({}, n)),
-                    (t.needsRedraw = !0)
-                })
-                .on('end', function (e) {
-                  return t.onZoomEnd(si({}, e.transform))
-                }),
-              Ti(t),
-              t.forceGraph
-                .onNeedsRedraw(function () {
-                  return (t.needsRedraw = !0)
-                })
-                .onFinishUpdate(function () {
-                  Yr(t.canvas).k === t.lastSetZoom &&
-                    t.graphData.nodes.length &&
-                    (t.zoom.scaleTo(
-                      t.zoom.__baseElem,
-                      (t.lastSetZoom = 4 / Math.cbrt(t.graphData.nodes.length)),
-                    ),
-                    (t.needsRedraw = !0))
-                })
-            var s = document.createElement('div')
-            s.classList.add('graph-tooltip'),
-              n.appendChild(s),
-              ['pointermove', 'pointerdown'].forEach(function (e) {
-                return n.addEventListener(
-                  e,
-                  function (r) {
-                    'pointerdown' === e && ((t.isPointerPressed = !0), (t.pointerDownEvent = r)),
-                      !t.isPointerDragging &&
-                        'pointermove' === r.type &&
-                        t.onBackgroundClick &&
-                        (r.pressure > 0 || t.isPointerPressed) &&
-                        ('touch' !== r.pointerType ||
-                          void 0 === r.movementX ||
-                          [r.movementX, r.movementY].some(function (e) {
-                            return Math.abs(e) > 1
-                          })) &&
-                        (t.isPointerDragging = !0)
-                    var o = (function (e) {
-                      var t = e.getBoundingClientRect(),
-                        n = window.pageXOffset || document.documentElement.scrollLeft,
-                        r = window.pageYOffset || document.documentElement.scrollTop
-                      return { top: t.top + r, left: t.left + n }
-                    })(n)
-                    ;(i.x = r.pageX - o.left),
-                      (i.y = r.pageY - o.top),
-                      (s.style.top = ''.concat(i.y, 'px')),
-                      (s.style.left = ''.concat(i.x, 'px'))
-                  },
-                  { passive: !0 },
-                )
-              }),
-              n.addEventListener(
-                'pointerup',
-                function (e) {
-                  if (((t.isPointerPressed = !1), t.isPointerDragging)) t.isPointerDragging = !1
-                  else {
-                    var n = [e, t.pointerDownEvent]
-                    requestAnimationFrame(function () {
-                      if (0 === e.button)
-                        if (t.hoverObj) {
-                          var r = t['on'.concat(t.hoverObj.type, 'Click')]
-                          r && r.apply(void 0, [t.hoverObj.d].concat(n))
-                        } else t.onBackgroundClick && t.onBackgroundClick.apply(t, n)
-                      if (2 === e.button)
-                        if (t.hoverObj) {
-                          var o = t['on'.concat(t.hoverObj.type, 'RightClick')]
-                          o && o.apply(void 0, [t.hoverObj.d].concat(n))
-                        } else t.onBackgroundRightClick && t.onBackgroundRightClick.apply(t, n)
-                    })
-                  }
-                },
-                { passive: !0 },
-              ),
-              n.addEventListener('contextmenu', function (e) {
-                return (
-                  !(t.onBackgroundRightClick || t.onNodeRightClick || t.onLinkRightClick) ||
-                  (e.preventDefault(), !1)
-                )
-              }),
-              t.forceGraph(r),
-              t.shadowGraph(o)
-            var u = go()(function () {
-              Mi(o, t.width, t.height),
-                t.shadowGraph.linkWidth(function (e) {
-                  return (0, w.default)(t.linkWidth)(e) + t.linkHoverPrecision
-                })
-              var e = Yr(t.canvas)
-              t.shadowGraph.globalScale(e.k).tickFrame()
-            }, 800)
-            ;(this._animationCycle = function e() {
-              var n =
-                !t.autoPauseRedraw ||
-                !!t.needsRedraw ||
-                t.forceGraph.isEngineRunning() ||
-                t.graphData.links.some(function (e) {
-                  return e.__photons && e.__photons.length
-                })
-              if (((t.needsRedraw = !1), t.enablePointerInteraction)) {
-                var o = t.isPointerDragging ? null : a()
-                if (o !== t.hoverObj) {
-                  var i = t.hoverObj,
-                    c = i ? i.type : null,
-                    l = o ? o.type : null
-                  if (c && c !== l) {
-                    var d = t['on'.concat(c, 'Hover')]
-                    d && d(null, i.d)
-                  }
-                  if (l) {
-                    var f = t['on'.concat(l, 'Hover')]
-                    f && f(o.d, c === l ? i.d : null)
-                  }
-                  var h =
-                    (o && (0, w.default)(t[''.concat(o.type.toLowerCase(), 'Label')])(o.d)) || ''
-                  ;(s.style.visibility = h ? 'visible' : 'hidden'),
-                    (s.innerHTML = h),
-                    t.canvas.classList[
-                      (o && t['on'.concat(l, 'Click')]) || (!o && t.onBackgroundClick)
-                        ? 'add'
-                        : 'remove'
-                    ]('clickable'),
-                    (t.hoverObj = o)
-                }
-                n && u()
-              }
-              if (n) {
-                Mi(r, t.width, t.height)
-                var p = Yr(t.canvas).k
-                t.onRenderFramePre && t.onRenderFramePre(r, p),
-                  t.forceGraph.globalScale(p).tickFrame(),
-                  t.onRenderFramePost && t.onRenderFramePost(r, p)
-              }
-              qe.ZP.update(), (t.animationFrameRequestId = requestAnimationFrame(e))
-            })()
-          },
-          update: function (e) {},
-        }),
-        Pi = {
-          width: P().number,
-          height: P().number,
-          graphData: P().shape({
-            nodes: P().arrayOf(P().object).isRequired,
-            links: P().arrayOf(P().object).isRequired,
-          }),
-          backgroundColor: P().string,
-          nodeRelSize: P().number,
-          nodeId: P().string,
-          nodeLabel: P().oneOfType([P().string, P().func]),
-          nodeVal: P().oneOfType([P().number, P().string, P().func]),
-          nodeVisibility: P().oneOfType([P().bool, P().string, P().func]),
-          nodeColor: P().oneOfType([P().string, P().func]),
-          nodeAutoColorBy: P().oneOfType([P().string, P().func]),
-          onNodeHover: P().func,
-          onNodeClick: P().func,
-          linkSource: P().string,
-          linkTarget: P().string,
-          linkLabel: P().oneOfType([P().string, P().func]),
-          linkVisibility: P().oneOfType([P().bool, P().string, P().func]),
-          linkColor: P().oneOfType([P().string, P().func]),
-          linkAutoColorBy: P().oneOfType([P().string, P().func]),
-          linkWidth: P().oneOfType([P().number, P().string, P().func]),
-          linkCurvature: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalArrowLength: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalArrowColor: P().oneOfType([P().string, P().func]),
-          linkDirectionalArrowRelPos: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalParticles: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalParticleSpeed: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalParticleWidth: P().oneOfType([P().number, P().string, P().func]),
-          linkDirectionalParticleColor: P().oneOfType([P().string, P().func]),
-          onLinkHover: P().func,
-          onLinkClick: P().func,
-          dagMode: P().oneOf(['td', 'bu', 'lr', 'rl', 'zin', 'zout', 'radialin', 'radialout']),
-          dagLevelDistance: P().number,
-          dagNodeFilter: P().func,
-          onDagError: P().func,
-          d3AlphaMin: P().number,
-          d3AlphaDecay: P().number,
-          d3VelocityDecay: P().number,
-          warmupTicks: P().number,
-          cooldownTicks: P().number,
-          cooldownTime: P().number,
-          onEngineTick: P().func,
-          onEngineStop: P().func,
-          getGraphBbox: P().func,
-        },
-        ji = {
-          zoomToFit: P().func,
-          onNodeRightClick: P().func,
-          onNodeDrag: P().func,
-          onNodeDragEnd: P().func,
-          onLinkRightClick: P().func,
-          linkHoverPrecision: P().number,
-          onBackgroundClick: P().func,
-          onBackgroundRightClick: P().func,
-          enablePointerInteraction: P().bool,
-          enableNodeDrag: P().bool,
-        },
-        Ii = {
-          showNavInfo: P().bool,
-          nodeOpacity: P().number,
-          nodeResolution: P().number,
-          nodeThreeObject: P().oneOfType([P().object, P().string, P().func]),
-          nodeThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]),
-          linkOpacity: P().number,
-          linkResolution: P().number,
-          linkCurveRotation: P().oneOfType([P().number, P().string, P().func]),
-          linkMaterial: P().oneOfType([P().object, P().string, P().func]),
-          linkThreeObject: P().oneOfType([P().object, P().string, P().func]),
-          linkThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]),
-          linkPositionUpdate: P().func,
-          linkDirectionalArrowResolution: P().number,
-          linkDirectionalParticleResolution: P().number,
-          forceEngine: P().oneOf(['d3', 'ngraph']),
-          ngraphPhysics: P().object,
-          numDimensions: P().oneOf([1, 2, 3]),
-        },
-        Ai = Object.assign({}, Pi, ji, {
-          linkLineDash: P().oneOfType([P().arrayOf(P().number), P().string, P().func]),
-          nodeCanvasObjectMode: P().oneOfType([P().string, P().func]),
-          nodeCanvasObject: P().func,
-          nodePointerAreaPaint: P().func,
-          linkCanvasObjectMode: P().oneOfType([P().string, P().func]),
-          linkCanvasObject: P().func,
-          linkPointerAreaPaint: P().func,
-          autoPauseRedraw: P().bool,
-          minZoom: P().number,
-          maxZoom: P().number,
-          enableZoomInteraction: P().bool,
-          enablePanInteraction: P().bool,
-          onZoom: P().func,
-          onZoomEnd: P().func,
-          onRenderFramePre: P().func,
-          onRenderFramePost: P().func,
-        }),
-        Ri = Object.assign({}, Pi, ji, Ii, {
-          enableNavigationControls: P().bool,
-          controlType: P().oneOf(['trackball', 'orbit', 'fly']),
-          rendererConfig: P().object,
-          extraRenderers: P().arrayOf(P().shape({ render: P().func.isRequired })),
-        }),
-        Di = Object.assign({}, Pi, Ii, {
-          nodeDesc: P().oneOfType([P().string, P().func]),
-          linkDesc: P().oneOfType([P().string, P().func]),
-        }),
-        Li = Object.assign({}, Pi, Ii, {
-          markerAttrs: P().object,
-          yOffset: P().number,
-          glScale: P().number,
-        })
-      const Ni = y(M, {
-        methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'],
-      })
-      ;(Ni.displayName = 'ForceGraphVR'), (Ni.propTypes = Di)
-      const zi = y(z, {
-        methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'],
-        initPropNames: ['markerAttrs'],
-      })
-      ;(zi.displayName = 'ForceGraphAR'), (zi.propTypes = Li)
-      const Bi = y(pt, {
-        methodNames: [
-          'emitParticle',
-          'd3Force',
-          'd3ReheatSimulation',
-          'stopAnimation',
-          'pauseAnimation',
-          'resumeAnimation',
-          'cameraPosition',
-          'zoomToFit',
-          'getGraphBbox',
-          'screen2GraphCoords',
-          'graph2ScreenCoords',
-          'postProcessingComposer',
-          'scene',
-          'camera',
-          'renderer',
-          'controls',
-          'refresh',
-        ],
-        initPropNames: ['controlType', 'rendererConfig', 'extraRenderers'],
-      })
-      ;(Bi.displayName = 'ForceGraph3D'), (Bi.propTypes = Ri)
-      const Hi = y(Si, {
-        methodNames: [
-          'emitParticle',
-          'd3Force',
-          'd3ReheatSimulation',
-          'stopAnimation',
-          'pauseAnimation',
-          'resumeAnimation',
-          'centerAt',
-          'zoom',
-          'zoomToFit',
-          'getGraphBbox',
-          'screen2GraphCoords',
-          'graph2ScreenCoords',
-        ],
-      })
-      ;(Hi.displayName = 'ForceGraph2D'), (Hi.propTypes = Ai)
-    },
-    37763: function (e, t, n) {
-      e.exports = (function (e) {
-        var t = {}
-        function n(r) {
-          if (t[r]) return t[r].exports
-          var o = (t[r] = { exports: {}, id: r, loaded: !1 })
-          return e[r].call(o.exports, o, o.exports, n), (o.loaded = !0), o.exports
-        }
-        return (n.m = e), (n.c = t), (n.p = ''), n(0)
-      })([
-        function (e, t, n) {
-          e.exports = n(1)
-        },
-        function (e, t, n) {
-          'use strict'
-          Object.defineProperty(t, '__esModule', { value: !0 })
-          var r,
-            o = n(2),
-            i = (r = o) && r.__esModule ? r : { default: r }
-          ;(t.default = i.default), (e.exports = t.default)
-        },
-        function (e, t, n) {
-          'use strict'
-          Object.defineProperty(t, '__esModule', { value: !0 })
-          var r =
-            Object.assign ||
-            function (e) {
-              for (var t = 1; t < arguments.length; t++) {
-                var n = arguments[t]
-                for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
-              }
-              return e
-            }
-          function o(e) {
-            return e && e.__esModule ? e : { default: e }
-          }
-          t.default = c
-          var i = n(3),
-            a = o(n(4)),
-            s = n(14),
-            u = o(n(15))
-          function c(e) {
-            var t = e.activeClassName,
-              n = void 0 === t ? '' : t,
-              o = e.activeIndex,
-              a = void 0 === o ? -1 : o,
-              c = e.activeStyle,
-              l = e.autoEscape,
-              d = e.caseSensitive,
-              f = void 0 !== d && d,
-              h = e.className,
-              p = e.findChunks,
-              v = e.highlightClassName,
-              m = void 0 === v ? '' : v,
-              g = e.highlightStyle,
-              y = void 0 === g ? {} : g,
-              b = e.highlightTag,
-              w = void 0 === b ? 'mark' : b,
-              _ = e.sanitize,
-              x = e.searchWords,
-              k = e.textToHighlight,
-              E = e.unhighlightClassName,
-              O = void 0 === E ? '' : E,
-              T = e.unhighlightStyle,
-              C = (function (e, t) {
-                var n = {}
-                for (var r in e)
-                  t.indexOf(r) >= 0 || (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]))
-                return n
-              })(e, [
-                'activeClassName',
-                'activeIndex',
-                'activeStyle',
-                'autoEscape',
-                'caseSensitive',
-                'className',
-                'findChunks',
-                'highlightClassName',
-                'highlightStyle',
-                'highlightTag',
-                'sanitize',
-                'searchWords',
-                'textToHighlight',
-                'unhighlightClassName',
-                'unhighlightStyle',
-              ]),
-              M = (0, i.findAll)({
-                autoEscape: l,
-                caseSensitive: f,
-                findChunks: p,
-                sanitize: _,
-                searchWords: x,
-                textToHighlight: k,
-              }),
-              S = w,
-              P = -1,
-              j = '',
-              I = void 0,
-              A = (0, u.default)(function (e) {
-                var t = {}
-                for (var n in e) t[n.toLowerCase()] = e[n]
-                return t
-              })
-            return (0, s.createElement)(
-              'span',
-              r({ className: h }, C, {
-                children: M.map(function (e, t) {
-                  var r = k.substr(e.start, e.end - e.start)
-                  if (e.highlight) {
-                    P++
-                    var o = void 0
-                    o = 'object' === typeof m ? (f ? m[r] : (m = A(m))[r.toLowerCase()]) : m
-                    var i = P === +a
-                    ;(j = o + ' ' + (i ? n : '')),
-                      (I = !0 === i && null != c ? Object.assign({}, y, c) : y)
-                    var u = { children: r, className: j, key: t, style: I }
-                    return (
-                      'string' !== typeof S && (u.highlightIndex = P), (0, s.createElement)(S, u)
-                    )
-                  }
-                  return (0,
-                  s.createElement)('span', { children: r, className: O, key: t, style: T })
-                }),
-              }),
-            )
-          }
-          ;(c.propTypes = {
-            activeClassName: a.default.string,
-            activeIndex: a.default.number,
-            activeStyle: a.default.object,
-            autoEscape: a.default.bool,
-            className: a.default.string,
-            findChunks: a.default.func,
-            highlightClassName: a.default.oneOfType([a.default.object, a.default.string]),
-            highlightStyle: a.default.object,
-            highlightTag: a.default.oneOfType([a.default.node, a.default.func, a.default.string]),
-            sanitize: a.default.func,
-            searchWords: a.default.arrayOf(
-              a.default.oneOfType([a.default.string, a.default.instanceOf(RegExp)]),
-            ).isRequired,
-            textToHighlight: a.default.string.isRequired,
-            unhighlightClassName: a.default.string,
-            unhighlightStyle: a.default.object,
-          }),
-            (e.exports = t.default)
-        },
-        function (e, t) {
-          e.exports = (function (e) {
-            var t = {}
-            function n(r) {
-              if (t[r]) return t[r].exports
-              var o = (t[r] = { exports: {}, id: r, loaded: !1 })
-              return e[r].call(o.exports, o, o.exports, n), (o.loaded = !0), o.exports
-            }
-            return (n.m = e), (n.c = t), (n.p = ''), n(0)
-          })([
-            function (e, t, n) {
-              e.exports = n(1)
-            },
-            function (e, t, n) {
-              'use strict'
-              Object.defineProperty(t, '__esModule', { value: !0 })
-              var r = n(2)
-              Object.defineProperty(t, 'combineChunks', {
-                enumerable: !0,
-                get: function () {
-                  return r.combineChunks
-                },
-              }),
-                Object.defineProperty(t, 'fillInChunks', {
-                  enumerable: !0,
-                  get: function () {
-                    return r.fillInChunks
-                  },
-                }),
-                Object.defineProperty(t, 'findAll', {
-                  enumerable: !0,
-                  get: function () {
-                    return r.findAll
-                  },
-                }),
-                Object.defineProperty(t, 'findChunks', {
-                  enumerable: !0,
-                  get: function () {
-                    return r.findChunks
-                  },
-                })
-            },
-            function (e, t) {
-              'use strict'
-              Object.defineProperty(t, '__esModule', { value: !0 })
-              t.findAll = function (e) {
-                var t = e.autoEscape,
-                  i = e.caseSensitive,
-                  a = void 0 !== i && i,
-                  s = e.findChunks,
-                  u = void 0 === s ? r : s,
-                  c = e.sanitize,
-                  l = e.searchWords,
-                  d = e.textToHighlight
-                return o({
-                  chunksToHighlight: n({
-                    chunks: u({
-                      autoEscape: t,
-                      caseSensitive: a,
-                      sanitize: c,
-                      searchWords: l,
-                      textToHighlight: d,
-                    }),
-                  }),
-                  totalLength: d ? d.length : 0,
-                })
-              }
-              var n = (t.combineChunks = function (e) {
-                  var t = e.chunks
-                  return (t = t
-                    .sort(function (e, t) {
-                      return e.start - t.start
-                    })
-                    .reduce(function (e, t) {
-                      if (0 === e.length) return [t]
-                      var n = e.pop()
-                      if (t.start <= n.end) {
-                        var r = Math.max(n.end, t.end)
-                        e.push({ start: n.start, end: r })
-                      } else e.push(n, t)
-                      return e
-                    }, []))
-                }),
-                r = function (e) {
-                  var t = e.autoEscape,
-                    n = e.caseSensitive,
-                    r = e.sanitize,
-                    o = void 0 === r ? i : r,
-                    a = e.searchWords,
-                    s = e.textToHighlight
-                  return (
-                    (s = o(s)),
-                    a
-                      .filter(function (e) {
-                        return e
-                      })
-                      .reduce(function (e, r) {
-                        ;(r = o(r)),
-                          t && (r = r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'))
-                        for (var i = new RegExp(r, n ? 'g' : 'gi'), a = void 0; (a = i.exec(s)); ) {
-                          var u = a.index,
-                            c = i.lastIndex
-                          c > u && e.push({ start: u, end: c }),
-                            a.index == i.lastIndex && i.lastIndex++
-                        }
-                        return e
-                      }, [])
-                  )
-                }
-              t.findChunks = r
-              var o = (t.fillInChunks = function (e) {
-                var t = e.chunksToHighlight,
-                  n = e.totalLength,
-                  r = [],
-                  o = function (e, t, n) {
-                    t - e > 0 && r.push({ start: e, end: t, highlight: n })
-                  }
-                if (0 === t.length) o(0, n, !1)
-                else {
-                  var i = 0
-                  t.forEach(function (e) {
-                    o(i, e.start, !1), o(e.start, e.end, !0), (i = e.end)
-                  }),
-                    o(i, n, !1)
-                }
-                return r
-              })
-              function i(e) {
-                return e
-              }
-            },
-          ])
-        },
-        function (e, t, n) {
-          ;(function (t) {
-            if ('production' !== t.env.NODE_ENV) {
-              var r =
-                ('function' === typeof Symbol && Symbol.for && Symbol.for('react.element')) || 60103
-              e.exports = n(6)(function (e) {
-                return 'object' === typeof e && null !== e && e.$$typeof === r
-              }, !0)
-            } else e.exports = n(13)()
-          }.call(t, n(5)))
-        },
-        function (e, t) {
-          var n,
-            r,
-            o = (e.exports = {})
-          function i() {
-            throw new Error('setTimeout has not been defined')
-          }
-          function a() {
-            throw new Error('clearTimeout has not been defined')
-          }
-          function s(e) {
-            if (n === setTimeout) return setTimeout(e, 0)
-            if ((n === i || !n) && setTimeout) return (n = setTimeout), setTimeout(e, 0)
-            try {
-              return n(e, 0)
-            } catch (t) {
-              try {
-                return n.call(null, e, 0)
-              } catch (t) {
-                return n.call(this, e, 0)
-              }
-            }
-          }
-          !(function () {
-            try {
-              n = 'function' === typeof setTimeout ? setTimeout : i
-            } catch (e) {
-              n = i
-            }
-            try {
-              r = 'function' === typeof clearTimeout ? clearTimeout : a
-            } catch (e) {
-              r = a
-            }
-          })()
-          var u,
-            c = [],
-            l = !1,
-            d = -1
-          function f() {
-            l && u && ((l = !1), u.length ? (c = u.concat(c)) : (d = -1), c.length && h())
-          }
-          function h() {
-            if (!l) {
-              var e = s(f)
-              l = !0
-              for (var t = c.length; t; ) {
-                for (u = c, c = []; ++d < t; ) u && u[d].run()
-                ;(d = -1), (t = c.length)
-              }
-              ;(u = null),
-                (l = !1),
-                (function (e) {
-                  if (r === clearTimeout) return clearTimeout(e)
-                  if ((r === a || !r) && clearTimeout) return (r = clearTimeout), clearTimeout(e)
-                  try {
-                    r(e)
-                  } catch (t) {
-                    try {
-                      return r.call(null, e)
-                    } catch (t) {
-                      return r.call(this, e)
-                    }
-                  }
-                })(e)
-            }
-          }
-          function p(e, t) {
-            ;(this.fun = e), (this.array = t)
-          }
-          function v() {}
-          ;(o.nextTick = function (e) {
-            var t = new Array(arguments.length - 1)
-            if (arguments.length > 1)
-              for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
-            c.push(new p(e, t)), 1 !== c.length || l || s(h)
-          }),
-            (p.prototype.run = function () {
-              this.fun.apply(null, this.array)
-            }),
-            (o.title = 'browser'),
-            (o.browser = !0),
-            (o.env = {}),
-            (o.argv = []),
-            (o.version = ''),
-            (o.versions = {}),
-            (o.on = v),
-            (o.addListener = v),
-            (o.once = v),
-            (o.off = v),
-            (o.removeListener = v),
-            (o.removeAllListeners = v),
-            (o.emit = v),
-            (o.prependListener = v),
-            (o.prependOnceListener = v),
-            (o.listeners = function (e) {
-              return []
-            }),
-            (o.binding = function (e) {
-              throw new Error('process.binding is not supported')
-            }),
-            (o.cwd = function () {
-              return '/'
-            }),
-            (o.chdir = function (e) {
-              throw new Error('process.chdir is not supported')
-            }),
-            (o.umask = function () {
-              return 0
-            })
-        },
-        function (e, t, n) {
-          ;(function (t) {
-            'use strict'
-            var r = n(7),
-              o = n(8),
-              i = n(9),
-              a = n(10),
-              s = n(11),
-              u = n(12)
-            e.exports = function (e, n) {
-              var c = 'function' === typeof Symbol && Symbol.iterator
-              var l = '<<anonymous>>',
-                d = {
-                  array: v('array'),
-                  bool: v('boolean'),
-                  func: v('function'),
-                  number: v('number'),
-                  object: v('object'),
-                  string: v('string'),
-                  symbol: v('symbol'),
-                  any: p(r.thatReturnsNull),
-                  arrayOf: function (e) {
-                    return p(function (t, n, r, o, i) {
-                      if ('function' !== typeof e)
-                        return new h(
-                          'Property `' +
-                            i +
-                            '` of component `' +
-                            r +
-                            '` has invalid PropType notation inside arrayOf.',
-                        )
-                      var a = t[n]
-                      if (!Array.isArray(a))
-                        return new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            g(a) +
-                            '` supplied to `' +
-                            r +
-                            '`, expected an array.',
-                        )
-                      for (var u = 0; u < a.length; u++) {
-                        var c = e(a, u, r, o, i + '[' + u + ']', s)
-                        if (c instanceof Error) return c
-                      }
-                      return null
-                    })
-                  },
-                  element: p(function (t, n, r, o, i) {
-                    var a = t[n]
-                    return e(a)
-                      ? null
-                      : new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            g(a) +
-                            '` supplied to `' +
-                            r +
-                            '`, expected a single ReactElement.',
-                        )
-                  }),
-                  instanceOf: function (e) {
-                    return p(function (t, n, r, o, i) {
-                      if (!(t[n] instanceof e)) {
-                        var a = e.name || l
-                        return new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            (((s = t[n]).constructor && s.constructor.name
-                              ? s.constructor.name
-                              : l) +
-                              '` supplied to `') +
-                            r +
-                            '`, expected instance of `' +
-                            a +
-                            '`.',
-                        )
-                      }
-                      var s
-                      return null
-                    })
-                  },
-                  node: p(function (e, t, n, r, o) {
-                    return m(e[t])
-                      ? null
-                      : new h(
-                          'Invalid ' +
-                            r +
-                            ' `' +
-                            o +
-                            '` supplied to `' +
-                            n +
-                            '`, expected a ReactNode.',
-                        )
-                  }),
-                  objectOf: function (e) {
-                    return p(function (t, n, r, o, i) {
-                      if ('function' !== typeof e)
-                        return new h(
-                          'Property `' +
-                            i +
-                            '` of component `' +
-                            r +
-                            '` has invalid PropType notation inside objectOf.',
-                        )
-                      var a = t[n],
-                        u = g(a)
-                      if ('object' !== u)
-                        return new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            u +
-                            '` supplied to `' +
-                            r +
-                            '`, expected an object.',
-                        )
-                      for (var c in a)
-                        if (a.hasOwnProperty(c)) {
-                          var l = e(a, c, r, o, i + '.' + c, s)
-                          if (l instanceof Error) return l
-                        }
-                      return null
-                    })
-                  },
-                  oneOf: function (e) {
-                    if (!Array.isArray(e))
-                      return (
-                        'production' !== t.env.NODE_ENV &&
-                          i(
-                            !1,
-                            'Invalid argument supplied to oneOf, expected an instance of array.',
-                          ),
-                        r.thatReturnsNull
-                      )
-                    return p(function (t, n, r, o, i) {
-                      for (var a = t[n], s = 0; s < e.length; s++) if (f(a, e[s])) return null
-                      return new h(
-                        'Invalid ' +
-                          o +
-                          ' `' +
-                          i +
-                          '` of value `' +
-                          a +
-                          '` supplied to `' +
-                          r +
-                          '`, expected one of ' +
-                          JSON.stringify(e) +
-                          '.',
-                      )
-                    })
-                  },
-                  oneOfType: function (e) {
-                    if (!Array.isArray(e))
-                      return (
-                        'production' !== t.env.NODE_ENV &&
-                          i(
-                            !1,
-                            'Invalid argument supplied to oneOfType, expected an instance of array.',
-                          ),
-                        r.thatReturnsNull
-                      )
-                    for (var n = 0; n < e.length; n++) {
-                      var o = e[n]
-                      if ('function' !== typeof o)
-                        return (
-                          i(
-                            !1,
-                            'Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.',
-                            b(o),
-                            n,
-                          ),
-                          r.thatReturnsNull
-                        )
-                    }
-                    return p(function (t, n, r, o, i) {
-                      for (var a = 0; a < e.length; a++)
-                        if (null == (0, e[a])(t, n, r, o, i, s)) return null
-                      return new h('Invalid ' + o + ' `' + i + '` supplied to `' + r + '`.')
-                    })
-                  },
-                  shape: function (e) {
-                    return p(function (t, n, r, o, i) {
-                      var a = t[n],
-                        u = g(a)
-                      if ('object' !== u)
-                        return new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            u +
-                            '` supplied to `' +
-                            r +
-                            '`, expected `object`.',
-                        )
-                      for (var c in e) {
-                        var l = e[c]
-                        if (l) {
-                          var d = l(a, c, r, o, i + '.' + c, s)
-                          if (d) return d
-                        }
-                      }
-                      return null
-                    })
-                  },
-                  exact: function (e) {
-                    return p(function (t, n, r, o, i) {
-                      var u = t[n],
-                        c = g(u)
-                      if ('object' !== c)
-                        return new h(
-                          'Invalid ' +
-                            o +
-                            ' `' +
-                            i +
-                            '` of type `' +
-                            c +
-                            '` supplied to `' +
-                            r +
-                            '`, expected `object`.',
-                        )
-                      var l = a({}, t[n], e)
-                      for (var d in l) {
-                        var f = e[d]
-                        if (!f)
-                          return new h(
-                            'Invalid ' +
-                              o +
-                              ' `' +
-                              i +
-                              '` key `' +
-                              d +
-                              '` supplied to `' +
-                              r +
-                              '`.\nBad object: ' +
-                              JSON.stringify(t[n], null, '  ') +
-                              '\nValid keys: ' +
-                              JSON.stringify(Object.keys(e), null, '  '),
-                          )
-                        var p = f(u, d, r, o, i + '.' + d, s)
-                        if (p) return p
-                      }
-                      return null
-                    })
-                  },
-                }
-              function f(e, t) {
-                return e === t ? 0 !== e || 1 / e === 1 / t : e !== e && t !== t
-              }
-              function h(e) {
-                ;(this.message = e), (this.stack = '')
-              }
-              function p(e) {
-                if ('production' !== t.env.NODE_ENV)
-                  var r = {},
-                    a = 0
-                function u(u, c, d, f, p, v, m) {
-                  if (((f = f || l), (v = v || d), m !== s))
-                    if (n)
-                      o(
-                        !1,
-                        'Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types',
-                      )
-                    else if ('production' !== t.env.NODE_ENV && 'undefined' !== typeof console) {
-                      var g = f + ':' + d
-                      !r[g] &&
-                        a < 3 &&
-                        (i(
-                          !1,
-                          'You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.',
-                          v,
-                          f,
-                        ),
-                        (r[g] = !0),
-                        a++)
-                    }
-                  return null == c[d]
-                    ? u
-                      ? null === c[d]
-                        ? new h(
-                            'The ' +
-                              p +
-                              ' `' +
-                              v +
-                              '` is marked as required in `' +
-                              f +
-                              '`, but its value is `null`.',
-                          )
-                        : new h(
-                            'The ' +
-                              p +
-                              ' `' +
-                              v +
-                              '` is marked as required in `' +
-                              f +
-                              '`, but its value is `undefined`.',
-                          )
-                      : null
-                    : e(c, d, f, p, v)
-                }
-                var c = u.bind(null, !1)
-                return (c.isRequired = u.bind(null, !0)), c
-              }
-              function v(e) {
-                return p(function (t, n, r, o, i, a) {
-                  var s = t[n]
-                  return g(s) !== e
-                    ? new h(
-                        'Invalid ' +
-                          o +
-                          ' `' +
-                          i +
-                          '` of type `' +
-                          y(s) +
-                          '` supplied to `' +
-                          r +
-                          '`, expected `' +
-                          e +
-                          '`.',
-                      )
-                    : null
-                })
-              }
-              function m(t) {
-                switch (typeof t) {
-                  case 'number':
-                  case 'string':
-                  case 'undefined':
-                    return !0
-                  case 'boolean':
-                    return !t
-                  case 'object':
-                    if (Array.isArray(t)) return t.every(m)
-                    if (null === t || e(t)) return !0
-                    var n = (function (e) {
-                      var t = e && ((c && e[c]) || e['@@iterator'])
-                      if ('function' === typeof t) return t
-                    })(t)
-                    if (!n) return !1
-                    var r,
-                      o = n.call(t)
-                    if (n !== t.entries) {
-                      for (; !(r = o.next()).done; ) if (!m(r.value)) return !1
-                    } else
-                      for (; !(r = o.next()).done; ) {
-                        var i = r.value
-                        if (i && !m(i[1])) return !1
-                      }
-                    return !0
-                  default:
-                    return !1
-                }
-              }
-              function g(e) {
-                var t = typeof e
-                return Array.isArray(e)
-                  ? 'array'
-                  : e instanceof RegExp
-                  ? 'object'
-                  : (function (e, t) {
-                      return (
-                        'symbol' === e ||
-                        'Symbol' === t['@@toStringTag'] ||
-                        ('function' === typeof Symbol && t instanceof Symbol)
-                      )
-                    })(t, e)
-                  ? 'symbol'
-                  : t
-              }
-              function y(e) {
-                if ('undefined' === typeof e || null === e) return '' + e
-                var t = g(e)
-                if ('object' === t) {
-                  if (e instanceof Date) return 'date'
-                  if (e instanceof RegExp) return 'regexp'
-                }
-                return t
-              }
-              function b(e) {
-                var t = y(e)
-                switch (t) {
-                  case 'array':
-                  case 'object':
-                    return 'an ' + t
-                  case 'boolean':
-                  case 'date':
-                  case 'regexp':
-                    return 'a ' + t
-                  default:
-                    return t
-                }
-              }
-              return (h.prototype = Error.prototype), (d.checkPropTypes = u), (d.PropTypes = d), d
-            }
-          }.call(t, n(5)))
-        },
-        function (e, t) {
-          'use strict'
-          function n(e) {
-            return function () {
-              return e
-            }
-          }
-          var r = function () {}
-          ;(r.thatReturns = n),
-            (r.thatReturnsFalse = n(!1)),
-            (r.thatReturnsTrue = n(!0)),
-            (r.thatReturnsNull = n(null)),
-            (r.thatReturnsThis = function () {
-              return this
-            }),
-            (r.thatReturnsArgument = function (e) {
-              return e
-            }),
-            (e.exports = r)
-        },
-        function (e, t, n) {
-          ;(function (t) {
-            'use strict'
-            var n = function (e) {}
-            'production' !== t.env.NODE_ENV &&
-              (n = function (e) {
-                if (void 0 === e) throw new Error('invariant requires an error message argument')
-              }),
-              (e.exports = function (e, t, r, o, i, a, s, u) {
-                if ((n(t), !e)) {
-                  var c
-                  if (void 0 === t)
-                    c = new Error(
-                      'Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.',
-                    )
-                  else {
-                    var l = [r, o, i, a, s, u],
-                      d = 0
-                    ;(c = new Error(
-                      t.replace(/%s/g, function () {
-                        return l[d++]
-                      }),
-                    )).name = 'Invariant Violation'
-                  }
-                  throw ((c.framesToPop = 1), c)
-                }
-              })
-          }.call(t, n(5)))
-        },
-        function (e, t, n) {
-          ;(function (t) {
-            'use strict'
-            var r = n(7)
-            if ('production' !== t.env.NODE_ENV) {
-              var o = function (e) {
-                for (var t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
-                  n[r - 1] = arguments[r]
-                var o = 0,
-                  i =
-                    'Warning: ' +
-                    e.replace(/%s/g, function () {
-                      return n[o++]
-                    })
-                'undefined' !== typeof console && console.error(i)
-                try {
-                  throw new Error(i)
-                } catch (a) {}
-              }
-              r = function (e, t) {
-                if (void 0 === t)
-                  throw new Error(
-                    '`warning(condition, format, ...args)` requires a warning message argument',
-                  )
-                if (0 !== t.indexOf('Failed Composite propType: ') && !e) {
-                  for (var n = arguments.length, r = Array(n > 2 ? n - 2 : 0), i = 2; i < n; i++)
-                    r[i - 2] = arguments[i]
-                  o.apply(void 0, [t].concat(r))
-                }
-              }
-            }
-            e.exports = r
-          }.call(t, n(5)))
-        },
-        function (e, t) {
-          'use strict'
-          var n = Object.getOwnPropertySymbols,
-            r = Object.prototype.hasOwnProperty,
-            o = Object.prototype.propertyIsEnumerable
-          function i(e) {
-            if (null === e || void 0 === e)
-              throw new TypeError('Object.assign cannot be called with null or undefined')
-            return Object(e)
-          }
-          e.exports = (function () {
-            try {
-              if (!Object.assign) return !1
-              var e = new String('abc')
-              if (((e[5] = 'de'), '5' === Object.getOwnPropertyNames(e)[0])) return !1
-              for (var t = {}, n = 0; n < 10; n++) t['_' + String.fromCharCode(n)] = n
-              if (
-                '0123456789' !==
-                Object.getOwnPropertyNames(t)
-                  .map(function (e) {
-                    return t[e]
-                  })
-                  .join('')
-              )
-                return !1
-              var r = {}
-              return (
-                'abcdefghijklmnopqrst'.split('').forEach(function (e) {
-                  r[e] = e
-                }),
-                'abcdefghijklmnopqrst' === Object.keys(Object.assign({}, r)).join('')
-              )
-            } catch (o) {
-              return !1
-            }
-          })()
-            ? Object.assign
-            : function (e, t) {
-                for (var a, s, u = i(e), c = 1; c < arguments.length; c++) {
-                  for (var l in (a = Object(arguments[c]))) r.call(a, l) && (u[l] = a[l])
-                  if (n) {
-                    s = n(a)
-                    for (var d = 0; d < s.length; d++) o.call(a, s[d]) && (u[s[d]] = a[s[d]])
-                  }
-                }
-                return u
-              }
-        },
-        function (e, t) {
-          'use strict'
-          e.exports = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'
-        },
-        function (e, t, n) {
-          ;(function (t) {
-            'use strict'
-            if ('production' !== t.env.NODE_ENV)
-              var r = n(8),
-                o = n(9),
-                i = n(11),
-                a = {}
-            e.exports = function (e, n, s, u, c) {
-              if ('production' !== t.env.NODE_ENV)
-                for (var l in e)
-                  if (e.hasOwnProperty(l)) {
-                    var d
-                    try {
-                      r(
-                        'function' === typeof e[l],
-                        '%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.',
-                        u || 'React class',
-                        s,
-                        l,
-                        typeof e[l],
-                      ),
-                        (d = e[l](n, l, u, s, null, i))
-                    } catch (h) {
-                      d = h
-                    }
-                    if (
-                      (o(
-                        !d || d instanceof Error,
-                        '%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).',
-                        u || 'React class',
-                        s,
-                        l,
-                        typeof d,
-                      ),
-                      d instanceof Error && !(d.message in a))
-                    ) {
-                      a[d.message] = !0
-                      var f = c ? c() : ''
-                      o(!1, 'Failed %s type: %s%s', s, d.message, null != f ? f : '')
-                    }
-                  }
-            }
-          }.call(t, n(5)))
-        },
-        function (e, t, n) {
-          'use strict'
-          var r = n(7),
-            o = n(8),
-            i = n(11)
-          e.exports = function () {
-            function e(e, t, n, r, a, s) {
-              s !== i &&
-                o(
-                  !1,
-                  'Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types',
-                )
-            }
-            function t() {
-              return e
-            }
-            e.isRequired = e
-            var n = {
-              array: e,
-              bool: e,
-              func: e,
-              number: e,
-              object: e,
-              string: e,
-              symbol: e,
-              any: e,
-              arrayOf: t,
-              element: e,
-              instanceOf: t,
-              node: e,
-              objectOf: t,
-              oneOf: t,
-              oneOfType: t,
-              shape: t,
-              exact: t,
-            }
-            return (n.checkPropTypes = r), (n.PropTypes = n), n
-          }
-        },
-        function (e, t) {
-          e.exports = n(67294)
-        },
-        function (e, t) {
-          'use strict'
-          var n = function (e, t) {
-            return e === t
-          }
-          e.exports = function (e) {
-            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : n,
-              r = void 0,
-              o = [],
-              i = void 0,
-              a = !1,
-              s = function (e, n) {
-                return t(e, o[n])
-              },
-              u = function () {
-                for (var t = arguments.length, n = Array(t), u = 0; u < t; u++) n[u] = arguments[u]
-                return a && r === this && n.length === o.length && n.every(s)
-                  ? i
-                  : ((a = !0), (r = this), (o = n), (i = e.apply(this, n)))
-              }
-            return u
-          }
-        },
-      ])
-    },
-    49909: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      var r = n(67294)
-      t.default = function (e, t, n) {
-        var o = r.useRef(void 0)
-        ;(o.current && n(t, o.current)) || (o.current = t), r.useEffect(e, o.current)
-      }
-    },
-    96705: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 })
-      var r = n(70655),
-        o = n(85987),
-        i = r.__importDefault(n(49909))
-      t.default = function (e, t) {
-        i.default(e, t, o.isDeepEqual)
-      }
-    },
-    85987: function (e, t, n) {
-      'use strict'
-      Object.defineProperty(t, '__esModule', { value: !0 }),
-        (t.isDeepEqual = t.off = t.on = t.isClient = void 0)
-      var r = n(70655).__importDefault(n(38252))
-      ;(t.isClient = 'object' === typeof window),
-        (t.on = function (e) {
-          for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
-          return e.addEventListener.apply(e, t)
-        }),
-        (t.off = function (e) {
-          for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
-          return e.removeEventListener.apply(e, t)
-        }),
-        (t.isDeepEqual = r.default)
-    },
-    22003: function (e, t) {
-      'use strict'
-      var n = function (e, t) {
-        return (n =
-          Object.setPrototypeOf ||
-          ({ __proto__: [] } instanceof Array &&
-            function (e, t) {
-              e.__proto__ = t
-            }) ||
-          function (e, t) {
-            for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
-          })(e, t)
-      }
-      function r(e, t) {
-        function r() {
-          this.constructor = e
-        }
-        n(e, t),
-          (e.prototype = null === t ? Object.create(t) : ((r.prototype = t.prototype), new r()))
-      }
-      function o(e, t) {
-        var n = 'function' === typeof Symbol && e[Symbol.iterator]
-        if (!n) return e
-        var r,
-          o,
-          i = n.call(e),
-          a = []
-        try {
-          for (; (void 0 === t || t-- > 0) && !(r = i.next()).done; ) a.push(r.value)
-        } catch (s) {
-          o = { error: s }
-        } finally {
-          try {
-            r && !r.done && (n = i.return) && n.call(i)
-          } finally {
-            if (o) throw o.error
-          }
-        }
-        return a
-      }
-      function i() {
-        for (var e = [], t = 0; t < arguments.length; t++) e = e.concat(o(arguments[t]))
-        return e
-      }
-      var a = function (e, t) {
-          ;(this.target = t), (this.type = e)
-        },
-        s = (function (e) {
-          function t(t, n) {
-            var r = e.call(this, 'error', n) || this
-            return (r.message = t.message), (r.error = t), r
-          }
-          return r(t, e), t
-        })(a),
-        u = (function (e) {
-          function t(t, n, r) {
-            void 0 === t && (t = 1e3), void 0 === n && (n = '')
-            var o = e.call(this, 'close', r) || this
-            return (o.wasClean = !0), (o.code = t), (o.reason = n), o
-          }
-          return r(t, e), t
-        })(a),
-        c = function () {
-          if ('undefined' !== typeof WebSocket) return WebSocket
-        },
-        l = {
-          maxReconnectionDelay: 1e4,
-          minReconnectionDelay: 1e3 + 4e3 * Math.random(),
-          minUptime: 5e3,
-          reconnectionDelayGrowFactor: 1.3,
-          connectionTimeout: 4e3,
-          maxRetries: 1 / 0,
-          maxEnqueuedMessages: 1 / 0,
-          startClosed: !1,
-          debug: !1,
-        },
-        d = (function () {
-          function e(e, t, n) {
-            var r = this
-            void 0 === n && (n = {}),
-              (this._listeners = { error: [], message: [], open: [], close: [] }),
-              (this._retryCount = -1),
-              (this._shouldReconnect = !0),
-              (this._connectLock = !1),
-              (this._binaryType = 'blob'),
-              (this._closeCalled = !1),
-              (this._messageQueue = []),
-              (this.onclose = null),
-              (this.onerror = null),
-              (this.onmessage = null),
-              (this.onopen = null),
-              (this._handleOpen = function (e) {
-                r._debug('open event')
-                var t = r._options.minUptime,
-                  n = void 0 === t ? l.minUptime : t
-                clearTimeout(r._connectTimeout),
-                  (r._uptimeTimeout = setTimeout(function () {
-                    return r._acceptOpen()
-                  }, n)),
-                  (r._ws.binaryType = r._binaryType),
-                  r._messageQueue.forEach(function (e) {
-                    return r._ws.send(e)
-                  }),
-                  (r._messageQueue = []),
-                  r.onopen && r.onopen(e),
-                  r._listeners.open.forEach(function (t) {
-                    return r._callEventListener(e, t)
-                  })
-              }),
-              (this._handleMessage = function (e) {
-                r._debug('message event'),
-                  r.onmessage && r.onmessage(e),
-                  r._listeners.message.forEach(function (t) {
-                    return r._callEventListener(e, t)
-                  })
-              }),
-              (this._handleError = function (e) {
-                r._debug('error event', e.message),
-                  r._disconnect(void 0, 'TIMEOUT' === e.message ? 'timeout' : void 0),
-                  r.onerror && r.onerror(e),
-                  r._debug('exec error listeners'),
-                  r._listeners.error.forEach(function (t) {
-                    return r._callEventListener(e, t)
-                  }),
-                  r._connect()
-              }),
-              (this._handleClose = function (e) {
-                r._debug('close event'),
-                  r._clearTimeouts(),
-                  r._shouldReconnect && r._connect(),
-                  r.onclose && r.onclose(e),
-                  r._listeners.close.forEach(function (t) {
-                    return r._callEventListener(e, t)
-                  })
-              }),
-              (this._url = e),
-              (this._protocols = t),
-              (this._options = n),
-              this._options.startClosed && (this._shouldReconnect = !1),
-              this._connect()
-          }
-          return (
-            Object.defineProperty(e, 'CONNECTING', {
-              get: function () {
-                return 0
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e, 'OPEN', {
-              get: function () {
-                return 1
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e, 'CLOSING', {
-              get: function () {
-                return 2
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e, 'CLOSED', {
-              get: function () {
-                return 3
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'CONNECTING', {
-              get: function () {
-                return e.CONNECTING
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'OPEN', {
-              get: function () {
-                return e.OPEN
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'CLOSING', {
-              get: function () {
-                return e.CLOSING
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'CLOSED', {
-              get: function () {
-                return e.CLOSED
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'binaryType', {
-              get: function () {
-                return this._ws ? this._ws.binaryType : this._binaryType
-              },
-              set: function (e) {
-                ;(this._binaryType = e), this._ws && (this._ws.binaryType = e)
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'retryCount', {
-              get: function () {
-                return Math.max(this._retryCount, 0)
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'bufferedAmount', {
-              get: function () {
-                return (
-                  this._messageQueue.reduce(function (e, t) {
-                    return (
-                      'string' === typeof t
-                        ? (e += t.length)
-                        : t instanceof Blob
-                        ? (e += t.size)
-                        : (e += t.byteLength),
-                      e
-                    )
-                  }, 0) + (this._ws ? this._ws.bufferedAmount : 0)
-                )
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'extensions', {
-              get: function () {
-                return this._ws ? this._ws.extensions : ''
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'protocol', {
-              get: function () {
-                return this._ws ? this._ws.protocol : ''
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'readyState', {
-              get: function () {
-                return this._ws
-                  ? this._ws.readyState
-                  : this._options.startClosed
-                  ? e.CLOSED
-                  : e.CONNECTING
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            Object.defineProperty(e.prototype, 'url', {
-              get: function () {
-                return this._ws ? this._ws.url : ''
-              },
-              enumerable: !0,
-              configurable: !0,
-            }),
-            (e.prototype.close = function (e, t) {
-              void 0 === e && (e = 1e3),
-                (this._closeCalled = !0),
-                (this._shouldReconnect = !1),
-                this._clearTimeouts(),
-                this._ws
-                  ? this._ws.readyState !== this.CLOSED
-                    ? this._ws.close(e, t)
-                    : this._debug('close: already closed')
-                  : this._debug('close enqueued: no ws instance')
-            }),
-            (e.prototype.reconnect = function (e, t) {
-              ;(this._shouldReconnect = !0),
-                (this._closeCalled = !1),
-                (this._retryCount = -1),
-                this._ws && this._ws.readyState !== this.CLOSED
-                  ? (this._disconnect(e, t), this._connect())
-                  : this._connect()
-            }),
-            (e.prototype.send = function (e) {
-              if (this._ws && this._ws.readyState === this.OPEN)
-                this._debug('send', e), this._ws.send(e)
-              else {
-                var t = this._options.maxEnqueuedMessages,
-                  n = void 0 === t ? l.maxEnqueuedMessages : t
-                this._messageQueue.length < n &&
-                  (this._debug('enqueue', e), this._messageQueue.push(e))
-              }
-            }),
-            (e.prototype.addEventListener = function (e, t) {
-              this._listeners[e] && this._listeners[e].push(t)
-            }),
-            (e.prototype.dispatchEvent = function (e) {
-              var t,
-                n,
-                r = this._listeners[e.type]
-              if (r)
-                try {
-                  for (
-                    var o = (function (e) {
-                        var t = 'function' === typeof Symbol && e[Symbol.iterator],
-                          n = 0
-                        return t
-                          ? t.call(e)
-                          : {
-                              next: function () {
-                                return (
-                                  e && n >= e.length && (e = void 0),
-                                  { value: e && e[n++], done: !e }
-                                )
-                              },
-                            }
-                      })(r),
-                      i = o.next();
-                    !i.done;
-                    i = o.next()
-                  ) {
-                    var a = i.value
-                    this._callEventListener(e, a)
-                  }
-                } catch (s) {
-                  t = { error: s }
-                } finally {
-                  try {
-                    i && !i.done && (n = o.return) && n.call(o)
-                  } finally {
-                    if (t) throw t.error
-                  }
-                }
-              return !0
-            }),
-            (e.prototype.removeEventListener = function (e, t) {
-              this._listeners[e] &&
-                (this._listeners[e] = this._listeners[e].filter(function (e) {
-                  return e !== t
-                }))
-            }),
-            (e.prototype._debug = function () {
-              for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
-              this._options.debug && console.log.apply(console, i(['RWS>'], e))
-            }),
-            (e.prototype._getNextDelay = function () {
-              var e = this._options,
-                t = e.reconnectionDelayGrowFactor,
-                n = void 0 === t ? l.reconnectionDelayGrowFactor : t,
-                r = e.minReconnectionDelay,
-                o = void 0 === r ? l.minReconnectionDelay : r,
-                i = e.maxReconnectionDelay,
-                a = void 0 === i ? l.maxReconnectionDelay : i,
-                s = 0
-              return (
-                this._retryCount > 0 && (s = o * Math.pow(n, this._retryCount - 1)) > a && (s = a),
-                this._debug('next delay', s),
-                s
-              )
-            }),
-            (e.prototype._wait = function () {
-              var e = this
-              return new Promise(function (t) {
-                setTimeout(t, e._getNextDelay())
-              })
-            }),
-            (e.prototype._getNextUrl = function (e) {
-              if ('string' === typeof e) return Promise.resolve(e)
-              if ('function' === typeof e) {
-                var t = e()
-                if ('string' === typeof t) return Promise.resolve(t)
-                if (t.then) return t
-              }
-              throw Error('Invalid URL')
-            }),
-            (e.prototype._connect = function () {
-              var e = this
-              if (!this._connectLock && this._shouldReconnect) {
-                this._connectLock = !0
-                var t = this._options,
-                  n = t.maxRetries,
-                  r = void 0 === n ? l.maxRetries : n,
-                  o = t.connectionTimeout,
-                  i = void 0 === o ? l.connectionTimeout : o,
-                  a = t.WebSocket,
-                  s = void 0 === a ? c() : a
-                if (this._retryCount >= r)
-                  this._debug('max retries reached', this._retryCount, '>=', r)
-                else {
-                  if (
-                    (this._retryCount++,
-                    this._debug('connect', this._retryCount),
-                    this._removeListeners(),
-                    'undefined' === typeof (u = s) || !u || 2 !== u.CLOSING)
-                  )
-                    throw Error('No valid WebSocket class provided')
-                  var u
-                  this._wait()
-                    .then(function () {
-                      return e._getNextUrl(e._url)
-                    })
-                    .then(function (t) {
-                      e._closeCalled ||
-                        (e._debug('connect', { url: t, protocols: e._protocols }),
-                        (e._ws = e._protocols ? new s(t, e._protocols) : new s(t)),
-                        (e._ws.binaryType = e._binaryType),
-                        (e._connectLock = !1),
-                        e._addListeners(),
-                        (e._connectTimeout = setTimeout(function () {
-                          return e._handleTimeout()
-                        }, i)))
-                    })
-                }
-              }
-            }),
-            (e.prototype._handleTimeout = function () {
-              this._debug('timeout event'), this._handleError(new s(Error('TIMEOUT'), this))
-            }),
-            (e.prototype._disconnect = function (e, t) {
-              if ((void 0 === e && (e = 1e3), this._clearTimeouts(), this._ws)) {
-                this._removeListeners()
-                try {
-                  this._ws.close(e, t), this._handleClose(new u(e, t, this))
-                } catch (n) {}
-              }
-            }),
-            (e.prototype._acceptOpen = function () {
-              this._debug('accept open'), (this._retryCount = 0)
-            }),
-            (e.prototype._callEventListener = function (e, t) {
-              'handleEvent' in t ? t.handleEvent(e) : t(e)
-            }),
-            (e.prototype._removeListeners = function () {
-              this._ws &&
-                (this._debug('removeListeners'),
-                this._ws.removeEventListener('open', this._handleOpen),
-                this._ws.removeEventListener('close', this._handleClose),
-                this._ws.removeEventListener('message', this._handleMessage),
-                this._ws.removeEventListener('error', this._handleError))
-            }),
-            (e.prototype._addListeners = function () {
-              this._ws &&
-                (this._debug('addListeners'),
-                this._ws.addEventListener('open', this._handleOpen),
-                this._ws.addEventListener('close', this._handleClose),
-                this._ws.addEventListener('message', this._handleMessage),
-                this._ws.addEventListener('error', this._handleError))
-            }),
-            (e.prototype._clearTimeouts = function () {
-              clearTimeout(this._connectTimeout), clearTimeout(this._uptimeTimeout)
-            }),
-            e
-          )
-        })()
-      t.Z = d
-    },
-    76826: function (e) {
-      var t = {
-          '\xc0': 'A',
-          '\xc1': 'A',
-          '\xc2': 'A',
-          '\xc3': 'A',
-          '\xc4': 'A',
-          '\xc5': 'A',
-          '\u1ea4': 'A',
-          '\u1eae': 'A',
-          '\u1eb2': 'A',
-          '\u1eb4': 'A',
-          '\u1eb6': 'A',
-          '\xc6': 'AE',
-          '\u1ea6': 'A',
-          '\u1eb0': 'A',
-          '\u0202': 'A',
-          '\xc7': 'C',
-          '\u1e08': 'C',
-          '\xc8': 'E',
-          '\xc9': 'E',
-          '\xca': 'E',
-          '\xcb': 'E',
-          '\u1ebe': 'E',
-          '\u1e16': 'E',
-          '\u1ec0': 'E',
-          '\u1e14': 'E',
-          '\u1e1c': 'E',
-          '\u0206': 'E',
-          '\xcc': 'I',
-          '\xcd': 'I',
-          '\xce': 'I',
-          '\xcf': 'I',
-          '\u1e2e': 'I',
-          '\u020a': 'I',
-          '\xd0': 'D',
-          '\xd1': 'N',
-          '\xd2': 'O',
-          '\xd3': 'O',
-          '\xd4': 'O',
-          '\xd5': 'O',
-          '\xd6': 'O',
-          '\xd8': 'O',
-          '\u1ed0': 'O',
-          '\u1e4c': 'O',
-          '\u1e52': 'O',
-          '\u020e': 'O',
-          '\xd9': 'U',
-          '\xda': 'U',
-          '\xdb': 'U',
-          '\xdc': 'U',
-          '\xdd': 'Y',
-          '\xe0': 'a',
-          '\xe1': 'a',
-          '\xe2': 'a',
-          '\xe3': 'a',
-          '\xe4': 'a',
-          '\xe5': 'a',
-          '\u1ea5': 'a',
-          '\u1eaf': 'a',
-          '\u1eb3': 'a',
-          '\u1eb5': 'a',
-          '\u1eb7': 'a',
-          '\xe6': 'ae',
-          '\u1ea7': 'a',
-          '\u1eb1': 'a',
-          '\u0203': 'a',
-          '\xe7': 'c',
-          '\u1e09': 'c',
-          '\xe8': 'e',
-          '\xe9': 'e',
-          '\xea': 'e',
-          '\xeb': 'e',
-          '\u1ebf': 'e',
-          '\u1e17': 'e',
-          '\u1ec1': 'e',
-          '\u1e15': 'e',
-          '\u1e1d': 'e',
-          '\u0207': 'e',
-          '\xec': 'i',
-          '\xed': 'i',
-          '\xee': 'i',
-          '\xef': 'i',
-          '\u1e2f': 'i',
-          '\u020b': 'i',
-          '\xf0': 'd',
-          '\xf1': 'n',
-          '\xf2': 'o',
-          '\xf3': 'o',
-          '\xf4': 'o',
-          '\xf5': 'o',
-          '\xf6': 'o',
-          '\xf8': 'o',
-          '\u1ed1': 'o',
-          '\u1e4d': 'o',
-          '\u1e53': 'o',
-          '\u020f': 'o',
-          '\xf9': 'u',
-          '\xfa': 'u',
-          '\xfb': 'u',
-          '\xfc': 'u',
-          '\xfd': 'y',
-          '\xff': 'y',
-          '\u0100': 'A',
-          '\u0101': 'a',
-          '\u0102': 'A',
-          '\u0103': 'a',
-          '\u0104': 'A',
-          '\u0105': 'a',
-          '\u0106': 'C',
-          '\u0107': 'c',
-          '\u0108': 'C',
-          '\u0109': 'c',
-          '\u010a': 'C',
-          '\u010b': 'c',
-          '\u010c': 'C',
-          '\u010d': 'c',
-          'C\u0306': 'C',
-          'c\u0306': 'c',
-          '\u010e': 'D',
-          '\u010f': 'd',
-          '\u0110': 'D',
-          '\u0111': 'd',
-          '\u0112': 'E',
-          '\u0113': 'e',
-          '\u0114': 'E',
-          '\u0115': 'e',
-          '\u0116': 'E',
-          '\u0117': 'e',
-          '\u0118': 'E',
-          '\u0119': 'e',
-          '\u011a': 'E',
-          '\u011b': 'e',
-          '\u011c': 'G',
-          '\u01f4': 'G',
-          '\u011d': 'g',
-          '\u01f5': 'g',
-          '\u011e': 'G',
-          '\u011f': 'g',
-          '\u0120': 'G',
-          '\u0121': 'g',
-          '\u0122': 'G',
-          '\u0123': 'g',
-          '\u0124': 'H',
-          '\u0125': 'h',
-          '\u0126': 'H',
-          '\u0127': 'h',
-          '\u1e2a': 'H',
-          '\u1e2b': 'h',
-          '\u0128': 'I',
-          '\u0129': 'i',
-          '\u012a': 'I',
-          '\u012b': 'i',
-          '\u012c': 'I',
-          '\u012d': 'i',
-          '\u012e': 'I',
-          '\u012f': 'i',
-          '\u0130': 'I',
-          '\u0131': 'i',
-          '\u0132': 'IJ',
-          '\u0133': 'ij',
-          '\u0134': 'J',
-          '\u0135': 'j',
-          '\u0136': 'K',
-          '\u0137': 'k',
-          '\u1e30': 'K',
-          '\u1e31': 'k',
-          'K\u0306': 'K',
-          'k\u0306': 'k',
-          '\u0139': 'L',
-          '\u013a': 'l',
-          '\u013b': 'L',
-          '\u013c': 'l',
-          '\u013d': 'L',
-          '\u013e': 'l',
-          '\u013f': 'L',
-          '\u0140': 'l',
-          '\u0141': 'l',
-          '\u0142': 'l',
-          '\u1e3e': 'M',
-          '\u1e3f': 'm',
-          'M\u0306': 'M',
-          'm\u0306': 'm',
-          '\u0143': 'N',
-          '\u0144': 'n',
-          '\u0145': 'N',
-          '\u0146': 'n',
-          '\u0147': 'N',
-          '\u0148': 'n',
-          '\u0149': 'n',
-          'N\u0306': 'N',
-          'n\u0306': 'n',
-          '\u014c': 'O',
-          '\u014d': 'o',
-          '\u014e': 'O',
-          '\u014f': 'o',
-          '\u0150': 'O',
-          '\u0151': 'o',
-          '\u0152': 'OE',
-          '\u0153': 'oe',
-          'P\u0306': 'P',
-          'p\u0306': 'p',
-          '\u0154': 'R',
-          '\u0155': 'r',
-          '\u0156': 'R',
-          '\u0157': 'r',
-          '\u0158': 'R',
-          '\u0159': 'r',
-          'R\u0306': 'R',
-          'r\u0306': 'r',
-          '\u0212': 'R',
-          '\u0213': 'r',
-          '\u015a': 'S',
-          '\u015b': 's',
-          '\u015c': 'S',
-          '\u015d': 's',
-          '\u015e': 'S',
-          '\u0218': 'S',
-          '\u0219': 's',
-          '\u015f': 's',
-          '\u0160': 'S',
-          '\u0161': 's',
-          '\u0162': 'T',
-          '\u0163': 't',
-          '\u021b': 't',
-          '\u021a': 'T',
-          '\u0164': 'T',
-          '\u0165': 't',
-          '\u0166': 'T',
-          '\u0167': 't',
-          'T\u0306': 'T',
-          't\u0306': 't',
-          '\u0168': 'U',
-          '\u0169': 'u',
-          '\u016a': 'U',
-          '\u016b': 'u',
-          '\u016c': 'U',
-          '\u016d': 'u',
-          '\u016e': 'U',
-          '\u016f': 'u',
-          '\u0170': 'U',
-          '\u0171': 'u',
-          '\u0172': 'U',
-          '\u0173': 'u',
-          '\u0216': 'U',
-          '\u0217': 'u',
-          'V\u0306': 'V',
-          'v\u0306': 'v',
-          '\u0174': 'W',
-          '\u0175': 'w',
-          '\u1e82': 'W',
-          '\u1e83': 'w',
-          'X\u0306': 'X',
-          'x\u0306': 'x',
-          '\u0176': 'Y',
-          '\u0177': 'y',
-          '\u0178': 'Y',
-          'Y\u0306': 'Y',
-          'y\u0306': 'y',
-          '\u0179': 'Z',
-          '\u017a': 'z',
-          '\u017b': 'Z',
-          '\u017c': 'z',
-          '\u017d': 'Z',
-          '\u017e': 'z',
-          '\u017f': 's',
-          '\u0192': 'f',
-          '\u01a0': 'O',
-          '\u01a1': 'o',
-          '\u01af': 'U',
-          '\u01b0': 'u',
-          '\u01cd': 'A',
-          '\u01ce': 'a',
-          '\u01cf': 'I',
-          '\u01d0': 'i',
-          '\u01d1': 'O',
-          '\u01d2': 'o',
-          '\u01d3': 'U',
-          '\u01d4': 'u',
-          '\u01d5': 'U',
-          '\u01d6': 'u',
-          '\u01d7': 'U',
-          '\u01d8': 'u',
-          '\u01d9': 'U',
-          '\u01da': 'u',
-          '\u01db': 'U',
-          '\u01dc': 'u',
-          '\u1ee8': 'U',
-          '\u1ee9': 'u',
-          '\u1e78': 'U',
-          '\u1e79': 'u',
-          '\u01fa': 'A',
-          '\u01fb': 'a',
-          '\u01fc': 'AE',
-          '\u01fd': 'ae',
-          '\u01fe': 'O',
-          '\u01ff': 'o',
-          '\xde': 'TH',
-          '\xfe': 'th',
-          '\u1e54': 'P',
-          '\u1e55': 'p',
-          '\u1e64': 'S',
-          '\u1e65': 's',
-          'X\u0301': 'X',
-          'x\u0301': 'x',
-          '\u0403': '\u0413',
-          '\u0453': '\u0433',
-          '\u040c': '\u041a',
-          '\u045c': '\u043a',
-          'A\u030b': 'A',
-          'a\u030b': 'a',
-          'E\u030b': 'E',
-          'e\u030b': 'e',
-          'I\u030b': 'I',
-          'i\u030b': 'i',
-          '\u01f8': 'N',
-          '\u01f9': 'n',
-          '\u1ed2': 'O',
-          '\u1ed3': 'o',
-          '\u1e50': 'O',
-          '\u1e51': 'o',
-          '\u1eea': 'U',
-          '\u1eeb': 'u',
-          '\u1e80': 'W',
-          '\u1e81': 'w',
-          '\u1ef2': 'Y',
-          '\u1ef3': 'y',
-          '\u0200': 'A',
-          '\u0201': 'a',
-          '\u0204': 'E',
-          '\u0205': 'e',
-          '\u0208': 'I',
-          '\u0209': 'i',
-          '\u020c': 'O',
-          '\u020d': 'o',
-          '\u0210': 'R',
-          '\u0211': 'r',
-          '\u0214': 'U',
-          '\u0215': 'u',
-          'B\u030c': 'B',
-          'b\u030c': 'b',
-          '\u010c\u0323': 'C',
-          '\u010d\u0323': 'c',
-          '\xca\u030c': 'E',
-          '\xea\u030c': 'e',
-          'F\u030c': 'F',
-          'f\u030c': 'f',
-          '\u01e6': 'G',
-          '\u01e7': 'g',
-          '\u021e': 'H',
-          '\u021f': 'h',
-          'J\u030c': 'J',
-          '\u01f0': 'j',
-          '\u01e8': 'K',
-          '\u01e9': 'k',
-          'M\u030c': 'M',
-          'm\u030c': 'm',
-          'P\u030c': 'P',
-          'p\u030c': 'p',
-          'Q\u030c': 'Q',
-          'q\u030c': 'q',
-          '\u0158\u0329': 'R',
-          '\u0159\u0329': 'r',
-          '\u1e66': 'S',
-          '\u1e67': 's',
-          'V\u030c': 'V',
-          'v\u030c': 'v',
-          'W\u030c': 'W',
-          'w\u030c': 'w',
-          'X\u030c': 'X',
-          'x\u030c': 'x',
-          'Y\u030c': 'Y',
-          'y\u030c': 'y',
-          'A\u0327': 'A',
-          'a\u0327': 'a',
-          'B\u0327': 'B',
-          'b\u0327': 'b',
-          '\u1e10': 'D',
-          '\u1e11': 'd',
-          '\u0228': 'E',
-          '\u0229': 'e',
-          '\u0190\u0327': 'E',
-          '\u025b\u0327': 'e',
-          '\u1e28': 'H',
-          '\u1e29': 'h',
-          'I\u0327': 'I',
-          'i\u0327': 'i',
-          '\u0197\u0327': 'I',
-          '\u0268\u0327': 'i',
-          'M\u0327': 'M',
-          'm\u0327': 'm',
-          'O\u0327': 'O',
-          'o\u0327': 'o',
-          'Q\u0327': 'Q',
-          'q\u0327': 'q',
-          'U\u0327': 'U',
-          'u\u0327': 'u',
-          'X\u0327': 'X',
-          'x\u0327': 'x',
-          'Z\u0327': 'Z',
-          'z\u0327': 'z',
-        },
-        n = Object.keys(t).join('|'),
-        r = new RegExp(n, 'g'),
-        o = new RegExp(n, ''),
-        i = function (e) {
-          return e.replace(r, function (e) {
-            return t[e]
-          })
-        }
-      ;(e.exports = i),
-        (e.exports.has = function (e) {
-          return !!e.match(o)
-        }),
-        (e.exports.remove = i)
-    },
-    81398: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          default: function () {
-            return ue
-          },
-        })
-      var r = n(2212),
-        o = n(54505),
-        i = n(15560),
-        a = n(92405),
-        s = n(20216),
-        u = n(16917),
-        c = n(54736),
-        l = n.n(c),
-        d = n(16505),
-        f = n.n(d),
-        h = n(44858),
-        p = n(92539),
-        v = n(86701),
-        m = n(3752),
-        g = n(1527)
-      function y(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function b(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function w(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, t)
-        if (Object.getOwnPropertySymbols) {
-          var i = Object.getOwnPropertySymbols(e)
-          for (r = 0; r < i.length; r++)
-            (n = i[r]),
-              t.indexOf(n) >= 0 ||
-                (Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]))
-        }
-        return o
-      }
-      function _(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          k(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function x(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return E(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          k(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function k(e, t) {
-        if (e) {
-          if ('string' === typeof e) return E(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? E(e, t)
-              : void 0
-          )
-        }
-      }
-      function E(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      function O(e, t, n) {
-        var r = n.objBindAttr,
-          o = void 0 === r ? '__obj' : r,
-          i = n.dataBindAttr,
-          a = void 0 === i ? '__data' : i,
-          s = n.idAccessor,
-          u = n.purge,
-          c = void 0 !== u && u,
-          l = function (e) {
-            return e.hasOwnProperty(a)
-          },
-          d = t.filter(function (e) {
-            return !l(e)
-          }),
-          f = t.filter(l).map(function (e) {
-            return e[a]
-          }),
-          h = c
-            ? { enter: e, exit: f, update: [] }
-            : (function (e, t, n) {
-                var r = { enter: [], update: [], exit: [] }
-                if (n) {
-                  var o = (0, g.Z)(e, n, !1),
-                    i = (0, g.Z)(t, n, !1),
-                    a = Object.assign({}, o, i)
-                  Object.entries(a).forEach(function (e) {
-                    var t = _(e, 2),
-                      n = t[0],
-                      a = t[1],
-                      s = o.hasOwnProperty(n) ? (i.hasOwnProperty(n) ? 'update' : 'exit') : 'enter'
-                    r[s].push('update' === s ? [o[n], i[n]] : a)
-                  })
-                } else {
-                  var s = new Set(e),
-                    u = new Set(t)
-                  new Set([].concat(x(s), x(u))).forEach(function (e) {
-                    var t = s.has(e) ? (u.has(e) ? 'update' : 'exit') : 'enter'
-                    r[t].push('update' === t ? [e, e] : e)
-                  })
-                }
-                return r
-              })(f, e, s)
-        return (
-          (h.update = h.update.map(function (e) {
-            var t = _(e, 2),
-              n = t[0],
-              r = t[1]
-            return n !== r && ((r[o] = n[o]), (r[o][a] = r)), r
-          })),
-          (h.exit = h.exit.concat(
-            d.map(function (e) {
-              return b({}, o, e)
-            }),
-          )),
-          h
-        )
-      }
-      var T = function (e, t, n, r, o) {
-          var i = o.createObj,
-            a =
-              void 0 === i
-                ? function (e) {
-                    return {}
-                  }
-                : i,
-            s = o.updateObj,
-            u = void 0 === s ? function (e, t) {} : s,
-            c = o.exitObj,
-            l = void 0 === c ? function (e) {} : c,
-            d = o.objBindAttr,
-            f = void 0 === d ? '__obj' : d,
-            h = o.dataBindAttr,
-            p = void 0 === h ? '__data' : h,
-            v = w(o, ['createObj', 'updateObj', 'exitObj', 'objBindAttr', 'dataBindAttr']),
-            m = O(
-              e,
-              t,
-              (function (e) {
-                for (var t = 1; t < arguments.length; t++) {
-                  var n = null != arguments[t] ? arguments[t] : {}
-                  t % 2
-                    ? y(Object(n), !0).forEach(function (t) {
-                        b(e, t, n[t])
-                      })
-                    : Object.getOwnPropertyDescriptors
-                    ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-                    : y(Object(n)).forEach(function (t) {
-                        Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-                      })
-                }
-                return e
-              })({ objBindAttr: f, dataBindAttr: p }, v),
-            ),
-            g = m.enter,
-            _ = m.update
-          m.exit.forEach(function (e) {
-            var t = e[f]
-            delete e[f], l(t), r(t)
-          })
-          var k = (function (e) {
-            var t = []
-            return (
-              e.forEach(function (e) {
-                var n = a(e)
-                n && ((n[p] = e), (e[f] = n), t.push(n))
-              }),
-              t
-            )
-          })(g)
-          !(function (e) {
-            e.forEach(function (e) {
-              var t = e[f]
-              t && ((t[p] = e), u(t, e))
-            })
-          })([].concat(x(g), x(_))),
-            k.forEach(n)
-        },
-        C = n(72462),
-        M = n(47646),
-        S = n(17621),
-        P = n.n(S)
-      function j(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      function I(e) {
-        for (var t = 1; t < arguments.length; t++) {
-          var n = null != arguments[t] ? arguments[t] : {}
-          t % 2
-            ? j(Object(n), !0).forEach(function (t) {
-                D(e, t, n[t])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-            : j(Object(n)).forEach(function (t) {
-                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-              })
-        }
-        return e
-      }
-      function A(e) {
-        return (A =
-          'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
-            ? function (e) {
-                return typeof e
-              }
-            : function (e) {
-                return e &&
-                  'function' === typeof Symbol &&
-                  e.constructor === Symbol &&
-                  e !== Symbol.prototype
-                  ? 'symbol'
-                  : typeof e
-              })(e)
-      }
-      function R(e, t) {
-        if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-      }
-      function D(e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-      function L(e, t) {
-        if ('function' !== typeof t && null !== t)
-          throw new TypeError('Super expression must either be null or a function')
-        ;(e.prototype = Object.create(t && t.prototype, {
-          constructor: { value: e, writable: !0, configurable: !0 },
-        })),
-          t && z(e, t)
-      }
-      function N(e) {
-        return (N = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function (e) {
-              return e.__proto__ || Object.getPrototypeOf(e)
-            })(e)
-      }
-      function z(e, t) {
-        return (z =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      function B() {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
-        } catch (e) {
-          return !1
-        }
-      }
-      function H(e, t, n) {
-        return (H = B()
-          ? Reflect.construct
-          : function (e, t, n) {
-              var r = [null]
-              r.push.apply(r, t)
-              var o = new (Function.bind.apply(e, r))()
-              return n && z(o, n.prototype), o
-            }).apply(null, arguments)
-      }
-      function F(e, t) {
-        if (null == e) return {}
-        var n,
-          r,
-          o = (function (e, t) {
-            if (null == e) return {}
-            var n,
-              r,
-              o = {},
-              i = Object.keys(e)
-            for (r = 0; r < i.length; r++) (n = i[r]), t.indexOf(n) >= 0 || (o[n] = e[n])
-            return o
-          })(e, t)
-        if (Object.getOwnPropertySymbols) {
-          var i = Object.getOwnPropertySymbols(e)
-          for (r = 0; r < i.length; r++)
-            (n = i[r]),
-              t.indexOf(n) >= 0 ||
-                (Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]))
-        }
-        return o
-      }
-      function V(e) {
-        if (void 0 === e)
-          throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
-        return e
-      }
-      function W(e, t) {
-        return !t || ('object' !== typeof t && 'function' !== typeof t) ? V(e) : t
-      }
-      function U(e) {
-        var t = B()
-        return function () {
-          var n,
-            r = N(e)
-          if (t) {
-            var o = N(this).constructor
-            n = Reflect.construct(r, arguments, o)
-          } else n = r.apply(this, arguments)
-          return W(this, n)
-        }
-      }
-      function G(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n =
-              null == e
-                ? null
-                : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          K(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function q(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return Z(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          K(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function K(e, t) {
-        if (e) {
-          if ('string' === typeof e) return Z(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? Z(e, t)
-              : void 0
-          )
-        }
-      }
-      function Z(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var X = function e(t) {
-          t instanceof Array ? t.forEach(e) : (t.map && t.map.dispose(), t.dispose())
-        },
-        $ = function e(t) {
-          t.geometry && t.geometry.dispose(),
-            t.material && X(t.material),
-            t.texture && t.texture.dispose(),
-            t.children && t.children.forEach(e)
-        },
-        Y = function (e) {
-          for (; e.children.length; ) {
-            var t = e.children[0]
-            e.remove(t), $(t)
-          }
-        },
-        Q = ['objFilter']
-      function J(e, t) {
-        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-          r = n.objFilter,
-          o =
-            void 0 === r
-              ? function () {
-                  return !0
-                }
-              : r,
-          i = F(n, Q)
-        return T(
-          e,
-          t.children.filter(o),
-          function (e) {
-            return t.add(e)
-          },
-          function (e) {
-            t.remove(e), Y(e)
-          },
-          I({ objBindAttr: '__threeObj' }, i),
-        )
-      }
-      var ee = function (e) {
-          return isNaN(e) ? parseInt(P()(e).toHex(), 16) : e
-        },
-        te = function (e) {
-          return isNaN(e) ? P()(e).getAlpha() : 1
-        },
-        ne = (0, C.Z)(M.Z)
-      function re(e, t, n) {
-        t &&
-          'string' === typeof n &&
-          e
-            .filter(function (e) {
-              return !e[n]
-            })
-            .forEach(function (e) {
-              e[n] = ne(t(e))
-            })
-      }
-      var oe = window.THREE
-          ? window.THREE
-          : {
-              Group: r.ZAu,
-              Mesh: r.Kj0,
-              MeshLambertMaterial: r.YBo,
-              Color: r.Ilk,
-              BufferGeometry: r.u9r,
-              BufferAttribute: r.TlE,
-              Matrix4: r.yGw,
-              Vector3: r.Pa4,
-              SphereBufferGeometry: r.Aip,
-              CylinderBufferGeometry: r.m_w,
-              TubeBufferGeometry: r.Lcc,
-              ConeBufferGeometry: r._3,
-              Line: r.x12,
-              LineBasicMaterial: r.nls,
-              QuadraticBezierCurve3: r.mXe,
-              CubicBezierCurve3: r.yj7,
-              Box3: r.ZzF,
-            },
-        ie = { graph: l(), forcelayout: f() },
-        ae = new oe.BufferGeometry().setAttribute ? 'setAttribute' : 'addAttribute',
-        se = new oe.BufferGeometry().applyMatrix4 ? 'applyMatrix4' : 'applyMatrix'
-      var ue = (function (e) {
-        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Object,
-          n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
-          r = (function (t) {
-            L(o, t)
-            var r = U(o)
-            function o() {
-              var t
-              R(this, o)
-              for (var i = arguments.length, a = new Array(i), s = 0; s < i; s++)
-                a[s] = arguments[s]
-              return (
-                ((t = r.call.apply(r, [this].concat(a))).__kapsuleInstance = e().apply(
-                  void 0,
-                  [].concat(q(n ? [V(t)] : []), a),
-                )),
-                t
-              )
-            }
-            return o
-          })(t)
-        return (
-          Object.keys(e()).forEach(function (e) {
-            return (r.prototype[e] = function () {
-              var t,
-                n = (t = this.__kapsuleInstance)[e].apply(t, arguments)
-              return n === this.__kapsuleInstance ? this : n
-            })
-          }),
-          r
-        )
-      })(
-        (0, h.Z)({
-          props: {
-            jsonUrl: {
-              onChange: function (e, t) {
-                var n = this
-                e &&
-                  !t.fetchingJson &&
-                  ((t.fetchingJson = !0),
-                  t.onLoading(),
-                  fetch(e)
-                    .then(function (e) {
-                      return e.json()
-                    })
-                    .then(function (e) {
-                      ;(t.fetchingJson = !1), t.onFinishLoading(e), n.graphData(e)
-                    }))
-              },
-              triggerUpdate: !1,
-            },
-            graphData: {
-              default: { nodes: [], links: [] },
-              onChange: function (e, t) {
-                t.engineRunning = !1
-              },
-            },
-            numDimensions: {
-              default: 3,
-              onChange: function (e, t) {
-                var n = t.d3ForceLayout.force('charge')
-                function r(e, t) {
-                  e.forEach(function (e) {
-                    delete e[t], delete e['v'.concat(t)]
-                  })
-                }
-                n && n.strength(e > 2 ? -60 : -30),
-                  e < 3 && r(t.graphData.nodes, 'z'),
-                  e < 2 && r(t.graphData.nodes, 'y')
-              },
-            },
-            dagMode: {
-              onChange: function (e, t) {
-                !e &&
-                  'd3' === t.forceEngine &&
-                  (t.graphData.nodes || []).forEach(function (e) {
-                    return (e.fx = e.fy = e.fz = void 0)
-                  })
-              },
-            },
-            dagLevelDistance: {},
-            dagNodeFilter: {
-              default: function (e) {
-                return !0
-              },
-            },
-            onDagError: { triggerUpdate: !1 },
-            nodeRelSize: { default: 4 },
-            nodeId: { default: 'id' },
-            nodeVal: { default: 'val' },
-            nodeResolution: { default: 8 },
-            nodeColor: { default: 'color' },
-            nodeAutoColorBy: {},
-            nodeOpacity: { default: 0.75 },
-            nodeVisibility: { default: !0 },
-            nodeThreeObject: {},
-            nodeThreeObjectExtend: { default: !1 },
-            linkSource: { default: 'source' },
-            linkTarget: { default: 'target' },
-            linkVisibility: { default: !0 },
-            linkColor: { default: 'color' },
-            linkAutoColorBy: {},
-            linkOpacity: { default: 0.2 },
-            linkWidth: {},
-            linkResolution: { default: 6 },
-            linkCurvature: { default: 0, triggerUpdate: !1 },
-            linkCurveRotation: { default: 0, triggerUpdate: !1 },
-            linkMaterial: {},
-            linkThreeObject: {},
-            linkThreeObjectExtend: { default: !1 },
-            linkPositionUpdate: { triggerUpdate: !1 },
-            linkDirectionalArrowLength: { default: 0 },
-            linkDirectionalArrowColor: {},
-            linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1 },
-            linkDirectionalArrowResolution: { default: 8 },
-            linkDirectionalParticles: { default: 0 },
-            linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 },
-            linkDirectionalParticleWidth: { default: 0.5 },
-            linkDirectionalParticleColor: {},
-            linkDirectionalParticleResolution: { default: 4 },
-            forceEngine: { default: 'd3' },
-            d3AlphaMin: { default: 0 },
-            d3AlphaDecay: {
-              default: 0.0228,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.d3ForceLayout.alphaDecay(e)
-              },
-            },
-            d3AlphaTarget: {
-              default: 0,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.d3ForceLayout.alphaTarget(e)
-              },
-            },
-            d3VelocityDecay: {
-              default: 0.4,
-              triggerUpdate: !1,
-              onChange: function (e, t) {
-                t.d3ForceLayout.velocityDecay(e)
-              },
-            },
-            ngraphPhysics: {
-              default: {
-                timeStep: 20,
-                gravity: -1.2,
-                theta: 0.8,
-                springLength: 30,
-                springCoefficient: 8e-4,
-                dragCoefficient: 0.02,
-              },
-            },
-            warmupTicks: { default: 0, triggerUpdate: !1 },
-            cooldownTicks: { default: 1 / 0, triggerUpdate: !1 },
-            cooldownTime: { default: 15e3, triggerUpdate: !1 },
-            onLoading: { default: function () {}, triggerUpdate: !1 },
-            onFinishLoading: { default: function () {}, triggerUpdate: !1 },
-            onUpdate: { default: function () {}, triggerUpdate: !1 },
-            onFinishUpdate: { default: function () {}, triggerUpdate: !1 },
-            onEngineTick: { default: function () {}, triggerUpdate: !1 },
-            onEngineStop: { default: function () {}, triggerUpdate: !1 },
-          },
-          methods: {
-            refresh: function (e) {
-              return (e._flushObjects = !0), e._rerender(), this
-            },
-            d3Force: function (e, t, n) {
-              return void 0 === n ? e.d3ForceLayout.force(t) : (e.d3ForceLayout.force(t, n), this)
-            },
-            d3ReheatSimulation: function (e) {
-              return e.d3ForceLayout.alpha(1), this.resetCountdown(), this
-            },
-            resetCountdown: function (e) {
-              return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this
-            },
-            tickFrame: function (e) {
-              var t = 'ngraph' !== e.forceEngine
-              return (
-                e.engineRunning &&
-                  (function () {
-                    ++e.cntTicks > e.cooldownTicks ||
-                    new Date() - e.startTickTime > e.cooldownTime ||
-                    (t && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin)
-                      ? ((e.engineRunning = !1), e.onEngineStop())
-                      : (e.layout[t ? 'tick' : 'step'](), e.onEngineTick())
-                    e.graphData.nodes.forEach(function (n) {
-                      var r = n.__threeObj
-                      if (r) {
-                        var o = t ? n : e.layout.getNodePosition(n[e.nodeId])
-                        ;(r.position.x = o.x), (r.position.y = o.y || 0), (r.position.z = o.z || 0)
-                      }
-                    })
-                    var n = (0, p.default)(e.linkWidth),
-                      r = (0, p.default)(e.linkCurvature),
-                      o = (0, p.default)(e.linkCurveRotation),
-                      i = (0, p.default)(e.linkThreeObjectExtend)
-                    function a(n) {
-                      var i = t
-                          ? n
-                          : e.layout.getLinkPosition(e.layout.graph.getLink(n.source, n.target).id),
-                        a = i[t ? 'source' : 'from'],
-                        s = i[t ? 'target' : 'to']
-                      if (a && s && a.hasOwnProperty('x') && s.hasOwnProperty('x')) {
-                        var u = r(n)
-                        if (u) {
-                          var c,
-                            l = new oe.Vector3(a.x, a.y || 0, a.z || 0),
-                            d = new oe.Vector3(s.x, s.y || 0, s.z || 0),
-                            f = l.distanceTo(d),
-                            h = o(n)
-                          if (f > 0) {
-                            var p = s.x - a.x,
-                              v = s.y - a.y || 0,
-                              m = new oe.Vector3().subVectors(d, l),
-                              g = m
-                                .clone()
-                                .multiplyScalar(u)
-                                .cross(
-                                  0 !== p || 0 !== v
-                                    ? new oe.Vector3(0, 0, 1)
-                                    : new oe.Vector3(0, 1, 0),
-                                )
-                                .applyAxisAngle(m.normalize(), h)
-                                .add(new oe.Vector3().addVectors(l, d).divideScalar(2))
-                            c = new oe.QuadraticBezierCurve3(l, g, d)
-                          } else {
-                            var y = 70 * u,
-                              b = -h,
-                              w = b + Math.PI / 2
-                            c = new oe.CubicBezierCurve3(
-                              l,
-                              new oe.Vector3(y * Math.cos(w), y * Math.sin(w), 0).add(l),
-                              new oe.Vector3(y * Math.cos(b), y * Math.sin(b), 0).add(l),
-                              d,
-                            )
-                          }
-                          n.__curve = c
-                        } else n.__curve = null
-                      }
-                    }
-                    e.graphData.links.forEach(function (r) {
-                      var o = r.__lineObj
-                      if (o) {
-                        var s = t
-                            ? r
-                            : e.layout.getLinkPosition(
-                                e.layout.graph.getLink(r.source, r.target).id,
-                              ),
-                          u = s[t ? 'source' : 'from'],
-                          c = s[t ? 'target' : 'to']
-                        if (u && c && u.hasOwnProperty('x') && c.hasOwnProperty('x')) {
-                          a(r)
-                          var l = i(r)
-                          if (
-                            !e.linkPositionUpdate ||
-                            !e.linkPositionUpdate(
-                              l ? o.children[1] : o,
-                              {
-                                start: { x: u.x, y: u.y, z: u.z },
-                                end: { x: c.x, y: c.y, z: c.z },
-                              },
-                              r,
-                            ) ||
-                            l
-                          ) {
-                            var d = 30,
-                              f = r.__curve,
-                              h = o.children.length ? o.children[0] : o
-                            if ('Line' === h.type) {
-                              if (f) h.geometry.setFromPoints(f.getPoints(d))
-                              else {
-                                var p = h.geometry.getAttribute('position')
-                                ;(p && p.array && 6 === p.array.length) ||
-                                  h.geometry[ae](
-                                    'position',
-                                    (p = new oe.BufferAttribute(new Float32Array(6), 3)),
-                                  ),
-                                  (p.array[0] = u.x),
-                                  (p.array[1] = u.y || 0),
-                                  (p.array[2] = u.z || 0),
-                                  (p.array[3] = c.x),
-                                  (p.array[4] = c.y || 0),
-                                  (p.array[5] = c.z || 0),
-                                  (p.needsUpdate = !0)
-                              }
-                              h.geometry.computeBoundingSphere()
-                            } else if ('Mesh' === h.type)
-                              if (f) {
-                                h.geometry.type.match(/^Tube(Buffer)?Geometry$/) ||
-                                  (h.position.set(0, 0, 0),
-                                  h.rotation.set(0, 0, 0),
-                                  h.scale.set(1, 1, 1))
-                                var v = Math.ceil(10 * n(r)) / 10 / 2,
-                                  m = new oe.TubeBufferGeometry(f, d, v, e.linkResolution, !1)
-                                h.geometry.dispose(), (h.geometry = m)
-                              } else {
-                                if (!h.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)) {
-                                  var g = Math.ceil(10 * n(r)) / 10 / 2,
-                                    y = new oe.CylinderBufferGeometry(
-                                      g,
-                                      g,
-                                      1,
-                                      e.linkResolution,
-                                      1,
-                                      !1,
-                                    )
-                                  y[se](new oe.Matrix4().makeTranslation(0, 0.5, 0)),
-                                    y[se](new oe.Matrix4().makeRotationX(Math.PI / 2)),
-                                    h.geometry.dispose(),
-                                    (h.geometry = y)
-                                }
-                                var b = new oe.Vector3(u.x, u.y || 0, u.z || 0),
-                                  w = new oe.Vector3(c.x, c.y || 0, c.z || 0),
-                                  _ = b.distanceTo(w)
-                                ;(h.position.x = b.x),
-                                  (h.position.y = b.y),
-                                  (h.position.z = b.z),
-                                  (h.scale.z = _),
-                                  h.parent.localToWorld(w),
-                                  h.lookAt(w)
-                              }
-                          }
-                        }
-                      }
-                    })
-                  })(),
-                (function () {
-                  var n = (0, p.default)(e.linkDirectionalArrowRelPos),
-                    r = (0, p.default)(e.linkDirectionalArrowLength),
-                    o = (0, p.default)(e.nodeVal)
-                  e.graphData.links.forEach(function (i) {
-                    var a = i.__arrowObj
-                    if (a) {
-                      var s = t
-                          ? i
-                          : e.layout.getLinkPosition(e.layout.graph.getLink(i.source, i.target).id),
-                        u = s[t ? 'source' : 'from'],
-                        c = s[t ? 'target' : 'to']
-                      if (u && c && u.hasOwnProperty('x') && c.hasOwnProperty('x')) {
-                        var l = Math.sqrt(Math.max(0, o(u) || 1)) * e.nodeRelSize,
-                          d = Math.sqrt(Math.max(0, o(c) || 1)) * e.nodeRelSize,
-                          f = r(i),
-                          h = n(i),
-                          p = i.__curve
-                            ? function (e) {
-                                return i.__curve.getPoint(e)
-                              }
-                            : function (e) {
-                                var t = function (e, t, n, r) {
-                                  return t[e] + (n[e] - t[e]) * r || 0
-                                }
-                                return {
-                                  x: t('x', u, c, e),
-                                  y: t('y', u, c, e),
-                                  z: t('z', u, c, e),
-                                }
-                              },
-                          v = i.__curve
-                            ? i.__curve.getLength()
-                            : Math.sqrt(
-                                ['x', 'y', 'z']
-                                  .map(function (e) {
-                                    return Math.pow((c[e] || 0) - (u[e] || 0), 2)
-                                  })
-                                  .reduce(function (e, t) {
-                                    return e + t
-                                  }, 0),
-                              ),
-                          m = l + f + (v - l - d - f) * h,
-                          g = p(m / v),
-                          y = p((m - f) / v)
-                        ;['x', 'y', 'z'].forEach(function (e) {
-                          return (a.position[e] = y[e])
-                        })
-                        var b = H(
-                          oe.Vector3,
-                          q(
-                            ['x', 'y', 'z'].map(function (e) {
-                              return g[e]
-                            }),
-                          ),
-                        )
-                        a.parent.localToWorld(b), a.lookAt(b)
-                      }
-                    }
-                  })
-                })(),
-                (function () {
-                  var n = (0, p.default)(e.linkDirectionalParticleSpeed)
-                  e.graphData.links.forEach(function (r) {
-                    var o = r.__photonsObj && r.__photonsObj.children,
-                      i = r.__singleHopPhotonsObj && r.__singleHopPhotonsObj.children
-                    if ((i && i.length) || (o && o.length)) {
-                      var a = t
-                          ? r
-                          : e.layout.getLinkPosition(e.layout.graph.getLink(r.source, r.target).id),
-                        s = a[t ? 'source' : 'from'],
-                        u = a[t ? 'target' : 'to']
-                      if (s && u && s.hasOwnProperty('x') && u.hasOwnProperty('x')) {
-                        var c = n(r),
-                          l = r.__curve
-                            ? function (e) {
-                                return r.__curve.getPoint(e)
-                              }
-                            : function (e) {
-                                var t = function (e, t, n, r) {
-                                  return t[e] + (n[e] - t[e]) * r || 0
-                                }
-                                return {
-                                  x: t('x', s, u, e),
-                                  y: t('y', s, u, e),
-                                  z: t('z', s, u, e),
-                                }
-                              }
-                        ;[].concat(q(o || []), q(i || [])).forEach(function (e, t) {
-                          var n = 'singleHopPhotons' === e.parent.__linkThreeObjType
-                          if (
-                            (e.hasOwnProperty('__progressRatio') ||
-                              (e.__progressRatio = n ? 0 : t / o.length),
-                            (e.__progressRatio += c),
-                            e.__progressRatio >= 1)
-                          ) {
-                            if (n) return e.parent.remove(e), void Y(e)
-                            e.__progressRatio = e.__progressRatio % 1
-                          }
-                          var r = e.__progressRatio,
-                            i = l(r)
-                          ;['x', 'y', 'z'].forEach(function (t) {
-                            return (e.position[t] = i[t])
-                          })
-                        })
-                      }
-                    }
-                  })
-                })(),
-                this
-              )
-            },
-            emitParticle: function (e, t) {
-              if (t) {
-                if (!t.__singleHopPhotonsObj) {
-                  var n = new oe.Group()
-                  ;(n.__linkThreeObjType = 'singleHopPhotons'),
-                    (t.__singleHopPhotonsObj = n),
-                    e.graphScene.add(n)
-                }
-                var r = (0, p.default)(e.linkDirectionalParticleWidth),
-                  o = Math.ceil(10 * r(t)) / 10 / 2,
-                  i = e.linkDirectionalParticleResolution,
-                  a = new oe.SphereBufferGeometry(o, i, i),
-                  s = (0, p.default)(e.linkColor),
-                  u = (0, p.default)(e.linkDirectionalParticleColor)(t) || s(t) || '#f0f0f0',
-                  c = new oe.Color(ee(u)),
-                  l = 3 * e.linkOpacity,
-                  d = new oe.MeshLambertMaterial({ color: c, transparent: !0, opacity: l })
-                t.__singleHopPhotonsObj.add(new oe.Mesh(a, d))
-              }
-              return this
-            },
-            getGraphBbox: function (e) {
-              var t =
-                arguments.length > 1 && void 0 !== arguments[1]
-                  ? arguments[1]
-                  : function () {
-                      return !0
-                    }
-              if (!e.initialised) return null
-              var n = (function e(n) {
-                var r = []
-                if (n.geometry) {
-                  n.geometry.computeBoundingBox()
-                  var o = new oe.Box3()
-                  o.copy(n.geometry.boundingBox).applyMatrix4(n.matrixWorld), r.push(o)
-                }
-                return r.concat.apply(
-                  r,
-                  q(
-                    (n.children || [])
-                      .filter(function (e) {
-                        return (
-                          !e.hasOwnProperty('__graphObjType') ||
-                          ('node' === e.__graphObjType && t(e.__data))
-                        )
-                      })
-                      .map(e),
-                  ),
-                )
-              })(e.graphScene)
-              return n.length
-                ? Object.assign.apply(
-                    Object,
-                    q(
-                      ['x', 'y', 'z'].map(function (e) {
-                        return D({}, e, [
-                          (0, v.Z)(n, function (t) {
-                            return t.min[e]
-                          }),
-                          (0, m.Z)(n, function (t) {
-                            return t.max[e]
-                          }),
-                        ])
-                      }),
-                    ),
-                  )
-                : null
-            },
-          },
-          stateInit: function () {
-            return {
-              d3ForceLayout: (0, o.Z)()
-                .force('link', (0, i.Z)())
-                .force('charge', (0, a.Z)())
-                .force('center', (0, s.Z)())
-                .force('dagRadial', null)
-                .stop(),
-              engineRunning: !1,
-            }
-          },
-          init: function (e, t) {
-            t.graphScene = e
-          },
-          update: function (e, t) {
-            var n = function (e) {
-              return e.some(function (e) {
-                return t.hasOwnProperty(e)
-              })
-            }
-            if (
-              ((e.engineRunning = !1),
-              e.onUpdate(),
-              null !== e.nodeAutoColorBy &&
-                n(['nodeAutoColorBy', 'graphData', 'nodeColor']) &&
-                re(e.graphData.nodes, (0, p.default)(e.nodeAutoColorBy), e.nodeColor),
-              null !== e.linkAutoColorBy &&
-                n(['linkAutoColorBy', 'graphData', 'linkColor']) &&
-                re(e.graphData.links, (0, p.default)(e.linkAutoColorBy), e.linkColor),
-              e._flushObjects ||
-                n([
-                  'graphData',
-                  'nodeThreeObject',
-                  'nodeThreeObjectExtend',
-                  'nodeVal',
-                  'nodeColor',
-                  'nodeVisibility',
-                  'nodeRelSize',
-                  'nodeResolution',
-                  'nodeOpacity',
-                ]))
-            ) {
-              var r = (0, p.default)(e.nodeThreeObject),
-                o = (0, p.default)(e.nodeThreeObjectExtend),
-                i = (0, p.default)(e.nodeVal),
-                a = (0, p.default)(e.nodeColor),
-                s = (0, p.default)(e.nodeVisibility),
-                c = {},
-                l = {}
-              J(e.graphData.nodes.filter(s), e.graphScene, {
-                purge: e._flushObjects || n(['nodeThreeObject', 'nodeThreeObjectExtend']),
-                objFilter: function (e) {
-                  return 'node' === e.__graphObjType
-                },
-                createObj: function (t) {
-                  var n,
-                    i = r(t),
-                    a = o(t)
-                  return (
-                    i && e.nodeThreeObject === i && (i = i.clone()),
-                    i && !a
-                      ? (n = i)
-                      : (((n = new oe.Mesh()).__graphDefaultObj = !0), i && a && n.add(i)),
-                    (n.__graphObjType = 'node'),
-                    n
-                  )
-                },
-                updateObj: function (t, n) {
-                  if (t.__graphDefaultObj) {
-                    var r = i(n) || 1,
-                      o = Math.cbrt(r) * e.nodeRelSize,
-                      s = e.nodeResolution
-                    ;(t.geometry.type.match(/^Sphere(Buffer)?Geometry$/) &&
-                      t.geometry.parameters.radius === o &&
-                      t.geometry.parameters.widthSegments === s) ||
-                      (c.hasOwnProperty(r) || (c[r] = new oe.SphereBufferGeometry(o, s, s)),
-                      t.geometry.dispose(),
-                      (t.geometry = c[r]))
-                    var u = a(n),
-                      d = new oe.Color(ee(u || '#ffffaa')),
-                      f = e.nodeOpacity * te(u)
-                    ;('MeshLambertMaterial' === t.material.type &&
-                      t.material.color.equals(d) &&
-                      t.material.opacity === f) ||
-                      (l.hasOwnProperty(u) ||
-                        (l[u] = new oe.MeshLambertMaterial({
-                          color: d,
-                          transparent: !0,
-                          opacity: f,
-                        })),
-                      t.material.dispose(),
-                      (t.material = l[u]))
-                  }
-                },
-              })
-            }
-            if (
-              e._flushObjects ||
-              n([
-                'graphData',
-                'linkThreeObject',
-                'linkThreeObjectExtend',
-                'linkMaterial',
-                'linkColor',
-                'linkWidth',
-                'linkVisibility',
-                'linkResolution',
-                'linkOpacity',
-                'linkDirectionalArrowLength',
-                'linkDirectionalArrowColor',
-                'linkDirectionalArrowResolution',
-                'linkDirectionalParticles',
-                'linkDirectionalParticleWidth',
-                'linkDirectionalParticleColor',
-                'linkDirectionalParticleResolution',
-              ])
-            ) {
-              var d = (0, p.default)(e.linkThreeObject),
-                f = (0, p.default)(e.linkThreeObjectExtend),
-                h = (0, p.default)(e.linkMaterial),
-                v = (0, p.default)(e.linkVisibility),
-                m = (0, p.default)(e.linkColor),
-                g = (0, p.default)(e.linkWidth),
-                y = {},
-                b = {},
-                w = {},
-                _ = e.graphData.links.filter(v)
-              if (
-                (J(_, e.graphScene, {
-                  objBindAttr: '__lineObj',
-                  purge:
-                    e._flushObjects || n(['linkThreeObject', 'linkThreeObjectExtend', 'linkWidth']),
-                  objFilter: function (e) {
-                    return 'link' === e.__graphObjType
-                  },
-                  createObj: function (t) {
-                    var n,
-                      r,
-                      o = d(t),
-                      i = f(t)
-                    if ((o && e.linkThreeObject === o && (o = o.clone()), !o || i))
-                      if (!!g(t)) n = new oe.Mesh()
-                      else {
-                        var a = new oe.BufferGeometry()
-                        a[ae]('position', new oe.BufferAttribute(new Float32Array(6), 3)),
-                          (n = new oe.Line(a))
-                      }
-                    return (
-                      o
-                        ? i
-                          ? (((r = new oe.Group()).__graphDefaultObj = !0), r.add(n), r.add(o))
-                          : (r = o)
-                        : ((r = n).__graphDefaultObj = !0),
-                      (r.renderOrder = 10),
-                      (r.__graphObjType = 'link'),
-                      r
-                    )
-                  },
-                  updateObj: function (t, n) {
-                    if (t.__graphDefaultObj) {
-                      var r = t.children.length ? t.children[0] : t,
-                        o = Math.ceil(10 * g(n)) / 10,
-                        i = !!o
-                      if (i) {
-                        var a = o / 2,
-                          s = e.linkResolution
-                        if (
-                          !r.geometry.type.match(/^Cylinder(Buffer)?Geometry$/) ||
-                          r.geometry.parameters.radiusTop !== a ||
-                          r.geometry.parameters.radialSegments !== s
-                        ) {
-                          if (!y.hasOwnProperty(o)) {
-                            var u = new oe.CylinderBufferGeometry(a, a, 1, s, 1, !1)
-                            u[se](new oe.Matrix4().makeTranslation(0, 0.5, 0)),
-                              u[se](new oe.Matrix4().makeRotationX(Math.PI / 2)),
-                              (y[o] = u)
-                          }
-                          r.geometry.dispose(), (r.geometry = y[o])
-                        }
-                      }
-                      var c = h(n)
-                      if (c) r.material = c
-                      else {
-                        var l = m(n),
-                          d = new oe.Color(ee(l || '#f0f0f0')),
-                          f = e.linkOpacity * te(l),
-                          p = i ? 'MeshLambertMaterial' : 'LineBasicMaterial'
-                        if (
-                          r.material.type !== p ||
-                          !r.material.color.equals(d) ||
-                          r.material.opacity !== f
-                        ) {
-                          var v = i ? b : w
-                          v.hasOwnProperty(l) ||
-                            (v[l] = new oe[p]({
-                              color: d,
-                              transparent: f < 1,
-                              opacity: f,
-                              depthWrite: f >= 1,
-                            })),
-                            r.material.dispose(),
-                            (r.material = v[l])
-                        }
-                      }
-                    }
-                  },
-                }),
-                e.linkDirectionalArrowLength || t.hasOwnProperty('linkDirectionalArrowLength'))
-              ) {
-                var x = (0, p.default)(e.linkDirectionalArrowLength),
-                  k = (0, p.default)(e.linkDirectionalArrowColor)
-                J(_.filter(x), e.graphScene, {
-                  objBindAttr: '__arrowObj',
-                  objFilter: function (e) {
-                    return 'arrow' === e.__linkThreeObjType
-                  },
-                  createObj: function () {
-                    var e = new oe.Mesh(void 0, new oe.MeshLambertMaterial({ transparent: !0 }))
-                    return (e.__linkThreeObjType = 'arrow'), e
-                  },
-                  updateObj: function (t, n) {
-                    var r = x(n),
-                      o = e.linkDirectionalArrowResolution
-                    if (
-                      !t.geometry.type.match(/^Cone(Buffer)?Geometry$/) ||
-                      t.geometry.parameters.height !== r ||
-                      t.geometry.parameters.radialSegments !== o
-                    ) {
-                      var i = new oe.ConeBufferGeometry(0.25 * r, r, o)
-                      i.translate(0, r / 2, 0),
-                        i.rotateX(Math.PI / 2),
-                        t.geometry.dispose(),
-                        (t.geometry = i)
-                    }
-                    ;(t.material.color = new oe.Color(k(n) || m(n) || '#f0f0f0')),
-                      (t.material.opacity = 3 * e.linkOpacity)
-                  },
-                })
-              }
-              if (e.linkDirectionalParticles || t.hasOwnProperty('linkDirectionalParticles')) {
-                var E = (0, p.default)(e.linkDirectionalParticles),
-                  O = (0, p.default)(e.linkDirectionalParticleWidth),
-                  T = (0, p.default)(e.linkDirectionalParticleColor),
-                  C = {},
-                  M = {}
-                J(_.filter(E), e.graphScene, {
-                  objBindAttr: '__photonsObj',
-                  objFilter: function (e) {
-                    return 'photons' === e.__linkThreeObjType
-                  },
-                  createObj: function () {
-                    var e = new oe.Group()
-                    return (e.__linkThreeObjType = 'photons'), e
-                  },
-                  updateObj: function (t, n) {
-                    var r,
-                      o = Math.round(Math.abs(E(n))),
-                      i = !!t.children.length && t.children[0],
-                      a = Math.ceil(10 * O(n)) / 10 / 2,
-                      s = e.linkDirectionalParticleResolution
-                    i &&
-                    i.geometry.parameters.radius === a &&
-                    i.geometry.parameters.widthSegments === s
-                      ? (r = i.geometry)
-                      : (M.hasOwnProperty(a) || (M[a] = new oe.SphereBufferGeometry(a, s, s)),
-                        (r = M[a]),
-                        i && i.geometry.dispose())
-                    var u,
-                      c = T(n) || m(n) || '#f0f0f0',
-                      l = new oe.Color(ee(c)),
-                      d = 3 * e.linkOpacity
-                    i && i.material.color.equals(l) && i.material.opacity === d
-                      ? (u = i.material)
-                      : (C.hasOwnProperty(c) ||
-                          (C[c] = new oe.MeshLambertMaterial({
-                            color: l,
-                            transparent: !0,
-                            opacity: d,
-                          })),
-                        (u = C[c]),
-                        i && i.material.dispose()),
-                      J(
-                        q(new Array(o)).map(function (e, t) {
-                          return { idx: t }
-                        }),
-                        t,
-                        {
-                          idAccessor: function (e) {
-                            return e.idx
-                          },
-                          createObj: function () {
-                            return new oe.Mesh(r, u)
-                          },
-                          updateObj: function (e) {
-                            ;(e.geometry = r), (e.material = u)
-                          },
-                        },
-                      )
-                  },
-                })
-              }
-            }
-            if (
-              ((e._flushObjects = !1),
-              n([
-                'graphData',
-                'nodeId',
-                'linkSource',
-                'linkTarget',
-                'numDimensions',
-                'forceEngine',
-                'dagMode',
-                'dagNodeFilter',
-                'dagLevelDistance',
-              ]))
-            ) {
-              ;(e.engineRunning = !1),
-                e.graphData.links.forEach(function (t) {
-                  ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget])
-                })
-              var S,
-                P = 'ngraph' !== e.forceEngine
-              if (P) {
-                ;(S = e.d3ForceLayout)
-                  .stop()
-                  .alpha(1)
-                  .numDimensions(e.numDimensions)
-                  .nodes(e.graphData.nodes)
-                var j = e.d3ForceLayout.force('link')
-                j &&
-                  j
-                    .id(function (t) {
-                      return t[e.nodeId]
-                    })
-                    .links(e.graphData.links)
-                var R =
-                    e.dagMode &&
-                    (function (e, t) {
-                      var n = e.nodes,
-                        r = e.links,
-                        o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-                        i = o.nodeFilter,
-                        a =
-                          void 0 === i
-                            ? function () {
-                                return !0
-                              }
-                            : i,
-                        s = o.onLoopError,
-                        u =
-                          void 0 === s
-                            ? function (e) {
-                                throw 'Invalid DAG structure! Found cycle in node path: '.concat(
-                                  e.join(' -> '),
-                                  '.',
-                                )
-                              }
-                            : s,
-                        c = {}
-                      n.forEach(function (e) {
-                        return (c[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) })
-                      }),
-                        r.forEach(function (e) {
-                          var n = e.source,
-                            r = e.target,
-                            o = u(n),
-                            i = u(r)
-                          if (!c.hasOwnProperty(o)) throw 'Missing source node with id: '.concat(o)
-                          if (!c.hasOwnProperty(i)) throw 'Missing target node with id: '.concat(i)
-                          var a = c[o],
-                            s = c[i]
-                          function u(e) {
-                            return 'object' === A(e) ? t(e) : e
-                          }
-                          a.out.push(s)
-                        })
-                      var l = []
-                      return (
-                        d(Object.values(c)),
-                        Object.assign.apply(
-                          Object,
-                          [{}].concat(
-                            q(
-                              Object.entries(c)
-                                .filter(function (e) {
-                                  return !G(e, 2)[1].skip
-                                })
-                                .map(function (e) {
-                                  var t = G(e, 2)
-                                  return D({}, t[0], t[1].depth)
-                                }),
-                            ),
-                          ),
-                        )
-                      )
-                      function d(e) {
-                        for (
-                          var n =
-                              arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
-                            r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
-                            o = 0,
-                            i = e.length;
-                          o < i;
-                          o++
-                        ) {
-                          var a = e[o]
-                          if (-1 !== n.indexOf(a))
-                            if (
-                              'continue' ===
-                              (function () {
-                                var e = [].concat(q(n.slice(n.indexOf(a))), [a]).map(function (e) {
-                                  return t(e.data)
-                                })
-                                return (
-                                  l.some(function (t) {
-                                    return (
-                                      t.length === e.length &&
-                                      t.every(function (t, n) {
-                                        return t === e[n]
-                                      })
-                                    )
-                                  }) || (l.push(e), u(e)),
-                                  'continue'
-                                )
-                              })()
-                            )
-                              continue
-                          r > a.depth &&
-                            ((a.depth = r), d(a.out, [].concat(q(n), [a]), r + (a.skip ? 0 : 1)))
-                        }
-                      }
-                    })(
-                      e.graphData,
-                      function (t) {
-                        return t[e.nodeId]
-                      },
-                      { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 },
-                    ),
-                  L = Math.max.apply(Math, q(Object.values(R || []))),
-                  N =
-                    e.dagLevelDistance ||
-                    (e.graphData.nodes.length / (L || 1)) *
-                      2 *
-                      (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1)
-                if (e.dagMode) {
-                  var z = function (t, n) {
-                      return function (r) {
-                        return t ? (R[r[e.nodeId]] - L / 2) * N * (n ? -1 : 1) : void 0
-                      }
-                    },
-                    B = z(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode),
-                    H = z(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'td' === e.dagMode),
-                    F = z(-1 !== ['zin', 'zout'].indexOf(e.dagMode), 'zout' === e.dagMode)
-                  e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) {
-                    ;(e.fx = B(e)), (e.fy = H(e)), (e.fz = F(e))
-                  })
-                }
-                e.d3ForceLayout.force(
-                  'dagRadial',
-                  -1 !== ['radialin', 'radialout'].indexOf(e.dagMode)
-                    ? (0, u.Z)(function (t) {
-                        var n = R[t[e.nodeId]] || -1
-                        return ('radialin' === e.dagMode ? L - n : n) * N
-                      }).strength(function (t) {
-                        return e.dagNodeFilter(t) ? 1 : 0
-                      })
-                    : null,
-                )
-              } else {
-                var V = ie.graph()
-                e.graphData.nodes.forEach(function (t) {
-                  V.addNode(t[e.nodeId])
-                }),
-                  e.graphData.links.forEach(function (e) {
-                    V.addLink(e.source, e.target)
-                  }),
-                  ((S = ie.forcelayout(
-                    V,
-                    I({ dimensions: e.numDimensions }, e.ngraphPhysics),
-                  )).graph = V)
-              }
-              for (
-                var W = 0;
-                W < e.warmupTicks &&
-                !(P && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin);
-                W++
-              )
-                S[P ? 'tick' : 'step']()
-              ;(e.layout = S), this.resetCountdown()
-            }
-            ;(e.engineRunning = !0), e.onFinishUpdate()
-          },
-        }),
-        (window.THREE ? window.THREE : { Group: r.ZAu }).Group,
-        !0,
-      )
-    },
-    56594: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          Pathfinding: function () {
-            return v
-          },
-        })
-      var r = function () {}
-      ;(r.computeCentroids = function (e) {
-        var t, n, r
-        for (t = 0, n = e.faces.length; t < n; t++)
-          ((r = e.faces[t]).centroid = new THREE.Vector3(0, 0, 0)),
-            r.centroid.add(e.vertices[r.a]),
-            r.centroid.add(e.vertices[r.b]),
-            r.centroid.add(e.vertices[r.c]),
-            r.centroid.divideScalar(3)
-      }),
-        (r.roundNumber = function (e, t) {
-          return Number(e.toFixed(t))
-        }),
-        (r.sample = function (e) {
-          return e[Math.floor(Math.random() * e.length)]
-        }),
-        (r.mergeVertexIds = function (e, t) {
-          var n = []
-          if (
-            (e.forEach(function (e) {
-              t.indexOf(e) >= 0 && n.push(e)
-            }),
-            n.length < 2)
-          )
-            return []
-          n.includes(e[0]) && n.includes(e[e.length - 1]) && e.push(e.shift()),
-            n.includes(t[0]) && n.includes(t[t.length - 1]) && t.push(t.shift()),
-            (n = []),
-            e.forEach(function (e) {
-              t.includes(e) && n.push(e)
-            })
-          for (var r = n[1], o = n[0], i = e.slice(); i[0] !== r; ) i.push(i.shift())
-          for (var a = 0, s = t.slice(); s[0] !== o; )
-            if ((s.push(s.shift()), a++ > 10)) throw new Error('Unexpected state')
-          return s.shift(), s.pop(), i.concat(s)
-        }),
-        (r.setPolygonCentroid = function (e, t) {
-          var n = new THREE.Vector3(),
-            r = t.vertices
-          e.vertexIds.forEach(function (e) {
-            n.add(r[e])
-          }),
-            n.divideScalar(e.vertexIds.length),
-            e.centroid.copy(n)
-        }),
-        (r.cleanPolygon = function (e, t) {
-          for (var n = [], r = t.vertices, o = 0; o < e.vertexIds.length; o++) {
-            var i,
-              a,
-              s,
-              u = r[e.vertexIds[o]]
-            0 === o
-              ? ((i = e.vertexIds[1]), (a = e.vertexIds[e.vertexIds.length - 1]))
-              : o === e.vertexIds.length - 1
-              ? ((i = e.vertexIds[0]), (a = e.vertexIds[e.vertexIds.length - 2]))
-              : ((i = e.vertexIds[o + 1]), (a = e.vertexIds[o - 1])),
-              (s = r[a])
-            var c = r[i].clone().sub(u),
-              l = s.clone().sub(u),
-              d = c.angleTo(l)
-            if (d > Math.PI - 0.01 && d < Math.PI + 0.01) {
-              var f = []
-              e.neighbours.forEach(function (t) {
-                t.vertexIds.includes(e.vertexIds[o]) || f.push(t)
-              }),
-                (e.neighbours = f)
-            } else n.push(e.vertexIds[o])
-          }
-          ;(e.vertexIds = n), this.setPolygonCentroid(e, t)
-        }),
-        (r.isConvex = function (e, t) {
-          var n = t.vertices
-          if (e.vertexIds.length < 3) return !1
-          for (var r = !0, o = [], i = 0; i < e.vertexIds.length; i++) {
-            var a,
-              s,
-              u = n[e.vertexIds[i]]
-            0 === i
-              ? ((a = n[e.vertexIds[1]]), (s = n[e.vertexIds[e.vertexIds.length - 1]]))
-              : i === e.vertexIds.length - 1
-              ? ((a = n[e.vertexIds[0]]), (s = n[e.vertexIds[e.vertexIds.length - 2]]))
-              : ((a = n[e.vertexIds[i + 1]]), (s = n[e.vertexIds[i - 1]]))
-            var c = a.clone().sub(u),
-              l = s.clone().sub(u),
-              d = c.angleTo(l)
-            if (d === Math.PI || 0 === d) return !1
-            var f = c.cross(l).y
-            o.push(f)
-          }
-          return (
-            o.forEach(function (e) {
-              0 === e && (r = !1)
-            }),
-            o.forEach(
-              o[0] > 0
-                ? function (e) {
-                    e < 0 && (r = !1)
-                  }
-                : function (e) {
-                    e > 0 && (r = !1)
-                  },
-            ),
-            r
-          )
-        }),
-        (r.distanceToSquared = function (e, t) {
-          var n = e.x - t.x,
-            r = e.y - t.y,
-            o = e.z - t.z
-          return n * n + r * r + o * o
-        }),
-        (r.isPointInPoly = function (e, t) {
-          for (var n = !1, r = -1, o = e.length, i = o - 1; ++r < o; i = r)
-            ((e[r].z <= t.z && t.z < e[i].z) || (e[i].z <= t.z && t.z < e[r].z)) &&
-              t.x < ((e[i].x - e[r].x) * (t.z - e[r].z)) / (e[i].z - e[r].z) + e[r].x &&
-              (n = !n)
-          return n
-        }),
-        (r.isVectorInPolygon = function (e, t, n) {
-          var r = 1e5,
-            o = -1e5,
-            i = []
-          return (
-            t.vertexIds.forEach(function (e) {
-              ;(r = Math.min(n[e].y, r)), (o = Math.max(n[e].y, o)), i.push(n[e])
-            }),
-            !!(e.y < o + 0.5 && e.y > r - 0.5 && this.isPointInPoly(i, e))
-          )
-        }),
-        (r.triarea2 = function (e, t, n) {
-          return (n.x - e.x) * (t.z - e.z) - (t.x - e.x) * (n.z - e.z)
-        }),
-        (r.vequal = function (e, t) {
-          return this.distanceToSquared(e, t) < 1e-5
-        })
-      var o = function (e) {
-        ;(this.content = []), (this.scoreFunction = e)
-      }
-      ;(o.prototype.push = function (e) {
-        this.content.push(e), this.sinkDown(this.content.length - 1)
-      }),
-        (o.prototype.pop = function () {
-          var e = this.content[0],
-            t = this.content.pop()
-          return this.content.length > 0 && ((this.content[0] = t), this.bubbleUp(0)), e
-        }),
-        (o.prototype.remove = function (e) {
-          var t = this.content.indexOf(e),
-            n = this.content.pop()
-          t !== this.content.length - 1 &&
-            ((this.content[t] = n),
-            this.scoreFunction(n) < this.scoreFunction(e) ? this.sinkDown(t) : this.bubbleUp(t))
-        }),
-        (o.prototype.size = function () {
-          return this.content.length
-        }),
-        (o.prototype.rescoreElement = function (e) {
-          this.sinkDown(this.content.indexOf(e))
-        }),
-        (o.prototype.sinkDown = function (e) {
-          for (var t = this.content[e]; e > 0; ) {
-            var n = ((e + 1) >> 1) - 1,
-              r = this.content[n]
-            if (!(this.scoreFunction(t) < this.scoreFunction(r))) break
-            ;(this.content[n] = t), (this.content[e] = r), (e = n)
-          }
-        }),
-        (o.prototype.bubbleUp = function (e) {
-          for (var t = this.content.length, n = this.content[e], r = this.scoreFunction(n); ; ) {
-            var o = (e + 1) << 1,
-              i = o - 1,
-              a = null,
-              s = void 0
-            if (
-              (i < t && (s = this.scoreFunction(this.content[i])) < r && (a = i),
-              o < t && this.scoreFunction(this.content[o]) < (null === a ? r : s) && (a = o),
-              null === a)
-            )
-              break
-            ;(this.content[e] = this.content[a]), (this.content[a] = n), (e = a)
-          }
-        })
-      var i = function () {}
-      ;(i.init = function (e) {
-        for (var t = 0; t < e.length; t++) {
-          var n = e[t]
-          ;(n.f = 0),
-            (n.g = 0),
-            (n.h = 0),
-            (n.cost = 1),
-            (n.visited = !1),
-            (n.closed = !1),
-            (n.parent = null)
-        }
-      }),
-        (i.cleanUp = function (e) {
-          for (var t = 0; t < e.length; t++) {
-            var n = e[t]
-            delete n.f,
-              delete n.g,
-              delete n.h,
-              delete n.cost,
-              delete n.visited,
-              delete n.closed,
-              delete n.parent
-          }
-        }),
-        (i.heap = function () {
-          return new o(function (e) {
-            return e.f
-          })
-        }),
-        (i.search = function (e, t, n) {
-          this.init(e)
-          var r = this.heap()
-          for (r.push(t); r.size() > 0; ) {
-            var o = r.pop()
-            if (o === n) {
-              for (var i = o, a = []; i.parent; ) a.push(i), (i = i.parent)
-              return this.cleanUp(a), a.reverse()
-            }
-            o.closed = !0
-            for (var s = this.neighbours(e, o), u = 0, c = s.length; u < c; u++) {
-              var l = s[u]
-              if (!l.closed) {
-                var d = o.g + l.cost,
-                  f = l.visited
-                if (!f || d < l.g) {
-                  if (((l.visited = !0), (l.parent = o), !l.centroid || !n.centroid))
-                    throw new Error('Unexpected state')
-                  ;(l.h = l.h || this.heuristic(l.centroid, n.centroid)),
-                    (l.g = d),
-                    (l.f = l.g + l.h),
-                    f ? r.rescoreElement(l) : r.push(l)
-                }
-              }
-            }
-          }
-          return []
-        }),
-        (i.heuristic = function (e, t) {
-          return r.distanceToSquared(e, t)
-        }),
-        (i.neighbours = function (e, t) {
-          for (var n = [], r = 0; r < t.neighbours.length; r++) n.push(e[t.neighbours[r]])
-          return n
-        })
-      var a = 1,
-        s = function () {}
-      ;(s.buildZone = function (e) {
-        var t = this,
-          n = this._buildNavigationMesh(e),
-          o = {}
-        n.vertices.forEach(function (e) {
-          ;(e.x = r.roundNumber(e.x, 2)),
-            (e.y = r.roundNumber(e.y, 2)),
-            (e.z = r.roundNumber(e.z, 2))
-        }),
-          (o.vertices = n.vertices)
-        var i = this._buildPolygonGroups(n)
-        o.groups = []
-        var a = function (e, t) {
-          for (var n = 0; n < e.length; n++) if (t === e[n]) return n
-        }
-        return (
-          i.forEach(function (e) {
-            var n = []
-            e.forEach(function (o) {
-              var i = o.neighbours.map(function (t) {
-                  return a(e, t)
-                }),
-                s = o.neighbours.map(function (e) {
-                  return t._getSharedVerticesInOrder(o, e)
-                })
-              ;(o.centroid.x = r.roundNumber(o.centroid.x, 2)),
-                (o.centroid.y = r.roundNumber(o.centroid.y, 2)),
-                (o.centroid.z = r.roundNumber(o.centroid.z, 2)),
-                n.push({
-                  id: a(e, o),
-                  neighbours: i,
-                  vertexIds: o.vertexIds,
-                  centroid: o.centroid,
-                  portals: s,
-                })
-            }),
-              o.groups.push(n)
-          }),
-          o
-        )
-      }),
-        (s._buildNavigationMesh = function (e) {
-          return r.computeCentroids(e), e.mergeVertices(), this._buildPolygonsFromGeometry(e)
-        }),
-        (s._buildPolygonGroups = function (e) {
-          var t = [],
-            n = 0,
-            r = function (e) {
-              e.neighbours.forEach(function (t) {
-                void 0 === t.group && ((t.group = e.group), r(t))
-              })
-            }
-          return (
-            e.polygons.forEach(function (e) {
-              void 0 === e.group && ((e.group = n++), r(e)),
-                t[e.group] || (t[e.group] = []),
-                t[e.group].push(e)
-            }),
-            t
-          )
-        }),
-        (s._buildPolygonNeighbours = function (e, t, n) {
-          var r = new Set(),
-            o = n.get(e.vertexIds[0]),
-            i = n.get(e.vertexIds[1]),
-            a = n.get(e.vertexIds[2])
-          o.forEach(function (e) {
-            ;(i.has(e) || a.has(e)) && r.add(t.polygons[e])
-          }),
-            i.forEach(function (e) {
-              a.has(e) && r.add(t.polygons[e])
-            }),
-            (e.neighbours = Array.from(r))
-        }),
-        (s._buildPolygonsFromGeometry = function (e) {
-          for (
-            var t = this, n = [], r = e.vertices, o = e.faceVertexUvs, i = new Map(), s = 0;
-            s < r.length;
-            s++
-          )
-            i.set(s, new Set())
-          e.faces.forEach(function (e) {
-            n.push({
-              id: a++,
-              vertexIds: [e.a, e.b, e.c],
-              centroid: e.centroid,
-              normal: e.normal,
-              neighbours: [],
-            }),
-              i.get(e.a).add(n.length - 1),
-              i.get(e.b).add(n.length - 1),
-              i.get(e.c).add(n.length - 1)
-          })
-          var u = { polygons: n, vertices: r, faceVertexUvs: o }
-          return (
-            n.forEach(function (e) {
-              t._buildPolygonNeighbours(e, u, i)
-            }),
-            u
-          )
-        }),
-        (s._getSharedVerticesInOrder = function (e, t) {
-          var n = e.vertexIds,
-            r = t.vertexIds,
-            o = new Set()
-          if (
-            (n.forEach(function (e) {
-              r.includes(e) && o.add(e)
-            }),
-            o.size < 2)
-          )
-            return []
-          o.has(n[0]) && o.has(n[n.length - 1]) && n.push(n.shift()),
-            o.has(r[0]) && o.has(r[r.length - 1]) && r.push(r.shift())
-          var i = []
-          return (
-            n.forEach(function (e) {
-              r.includes(e) && i.push(e)
-            }),
-            i
-          )
-        })
-      var u = function () {
-        this.portals = []
-      }
-      ;(u.prototype.push = function (e, t) {
-        void 0 === t && (t = e), this.portals.push({ left: e, right: t })
-      }),
-        (u.prototype.stringPull = function () {
-          var e,
-            t,
-            n,
-            o = this.portals,
-            i = [],
-            a = 0,
-            s = 0,
-            u = 0
-          ;(t = o[0].left), (n = o[0].right), i.push((e = o[0].left))
-          for (var c = 1; c < o.length; c++) {
-            var l = o[c].left,
-              d = o[c].right
-            if (r.triarea2(e, n, d) <= 0) {
-              if (!(r.vequal(e, n) || r.triarea2(e, t, d) > 0)) {
-                i.push(t), (t = e = t), (n = e), (s = a = s), (u = a), (c = a)
-                continue
-              }
-              ;(n = d), (u = c)
-            }
-            if (r.triarea2(e, t, l) >= 0) {
-              if (!(r.vequal(e, t) || r.triarea2(e, n, l) < 0)) {
-                i.push(n), (t = e = n), (n = e), (s = a = u), (u = a), (c = a)
-                continue
-              }
-              ;(t = l), (s = c)
-            }
-          }
-          return (
-            (0 !== i.length && r.vequal(i[i.length - 1], o[o.length - 1].left)) ||
-              i.push(o[o.length - 1].left),
-            (this.path = i),
-            i
-          )
-        })
-      var c,
-        l,
-        d,
-        f,
-        h,
-        p,
-        v = function () {
-          this.zones = {}
-        }
-      ;(v.createZone = function (e) {
-        return s.buildZone(e)
-      }),
-        (v.prototype.setZoneData = function (e, t) {
-          this.zones[e] = t
-        }),
-        (v.prototype.getGroup = function (e, t) {
-          if (!this.zones[e]) return null
-          var n = null,
-            o = Math.pow(50, 2)
-          return (
-            this.zones[e].groups.forEach(function (e, i) {
-              e.forEach(function (e) {
-                var a = r.distanceToSquared(e.centroid, t)
-                a < o && ((n = i), (o = a))
-              })
-            }),
-            n
-          )
-        }),
-        (v.prototype.getRandomNode = function (e, t, n, o) {
-          if (!this.zones[e]) return new THREE.Vector3()
-          ;(n = n || null), (o = o || 0)
-          var i = []
-          return (
-            this.zones[e].groups[t].forEach(function (e) {
-              n && o
-                ? r.distanceToSquared(n, e.centroid) < o * o && i.push(e.centroid)
-                : i.push(e.centroid)
-            }),
-            r.sample(i) || new THREE.Vector3()
-          )
-        }),
-        (v.prototype.getClosestNode = function (e, t, n, o) {
-          void 0 === o && (o = !1)
-          var i = this.zones[t].vertices,
-            a = null,
-            s = 1 / 0
-          return (
-            this.zones[t].groups[n].forEach(function (t) {
-              var n = r.distanceToSquared(t.centroid, e)
-              n < s && (!o || r.isVectorInPolygon(e, t, i)) && ((a = t), (s = n))
-            }),
-            a
-          )
-        }),
-        (v.prototype.findPath = function (e, t, n, r) {
-          var o = this.zones[n].groups[r],
-            a = this.zones[n].vertices,
-            s = this.getClosestNode(e, n, r),
-            c = this.getClosestNode(t, n, r, !0)
-          if (!s || !c) return null
-          var l = i.search(o, s, c),
-            d = function (e, t) {
-              for (var n = 0; n < e.neighbours.length; n++)
-                if (e.neighbours[n] === t.id) return e.portals[n]
-            },
-            f = new u()
-          f.push(e)
-          for (var h = 0; h < l.length; h++) {
-            var p = l[h + 1]
-            if (p) {
-              var v = d(l[h], p)
-              f.push(a[v[0]], a[v[1]])
-            }
-          }
-          f.push(t), f.stringPull()
-          var m = f.path.map(function (e) {
-            return new THREE.Vector3(e.x, e.y, e.z)
-          })
-          return m.shift(), m
-        }),
-        (v.prototype.clampStep =
-          ((d = new THREE.Vector3()),
-          (f = new THREE.Plane()),
-          (h = new THREE.Triangle()),
-          (p = new THREE.Vector3()),
-          function (e, t, n, r, o, i) {
-            var a = this.zones[r].vertices,
-              s = this.zones[r].groups[o],
-              u = [n],
-              v = {}
-            ;(v[n.id] = 0),
-              (c = void 0),
-              p.set(0, 0, 0),
-              (l = 1 / 0),
-              f.setFromCoplanarPoints(a[n.vertexIds[0]], a[n.vertexIds[1]], a[n.vertexIds[2]]),
-              f.projectPoint(t, d),
-              t.copy(d)
-            for (var m = u.pop(); m; m = u.pop()) {
-              h.set(a[m.vertexIds[0]], a[m.vertexIds[1]], a[m.vertexIds[2]]),
-                h.closestPointToPoint(t, d),
-                d.distanceToSquared(t) < l && ((c = m), p.copy(d), (l = d.distanceToSquared(t)))
-              var g = v[m]
-              if (!(g > 2))
-                for (var y = 0; y < m.neighbours.length; y++) {
-                  var b = s[m.neighbours[y]]
-                  b.id in v || (u.push(b), (v[b.id] = g + 1))
-                }
-            }
-            return i.copy(p), c
-          }))
-    },
-    31122: function (e, t, n) {
-      'use strict'
-      var r = n(2212)
-      function o(e, t) {
-        if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-      }
-      function i(e, t) {
-        for (var n = 0; n < t.length; n++) {
-          var r = t[n]
-          ;(r.enumerable = r.enumerable || !1),
-            (r.configurable = !0),
-            'value' in r && (r.writable = !0),
-            Object.defineProperty(e, r.key, r)
-        }
-      }
-      function a(e) {
-        return (a = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function (e) {
-              return e.__proto__ || Object.getPrototypeOf(e)
-            })(e)
-      }
-      function s(e, t) {
-        return (s =
-          Object.setPrototypeOf ||
-          function (e, t) {
-            return (e.__proto__ = t), e
-          })(e, t)
-      }
-      function u(e, t) {
-        return !t || ('object' !== typeof t && 'function' !== typeof t)
-          ? (function (e) {
-              if (void 0 === e)
-                throw new ReferenceError(
-                  "this hasn't been initialised - super() hasn't been called",
-                )
-              return e
-            })(e)
-          : t
-      }
-      function c(e) {
-        var t = (function () {
-          if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-          if (Reflect.construct.sham) return !1
-          if ('function' === typeof Proxy) return !0
-          try {
-            return (
-              Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
-            )
-          } catch (e) {
-            return !1
-          }
-        })()
-        return function () {
-          var n,
-            r = a(e)
-          if (t) {
-            var o = a(this).constructor
-            n = Reflect.construct(r, arguments, o)
-          } else n = r.apply(this, arguments)
-          return u(this, n)
-        }
-      }
-      function l(e, t) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return e
-          })(e) ||
-          (function (e, t) {
-            var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
-            if (null == n) return
-            var r,
-              o,
-              i = [],
-              a = !0,
-              s = !1
-            try {
-              for (
-                n = n.call(e);
-                !(a = (r = n.next()).done) && (i.push(r.value), !t || i.length !== t);
-                a = !0
-              );
-            } catch (u) {
-              ;(s = !0), (o = u)
-            } finally {
-              try {
-                a || null == n.return || n.return()
-              } finally {
-                if (s) throw o
-              }
-            }
-            return i
-          })(e, t) ||
-          f(e, t) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function d(e) {
-        return (
-          (function (e) {
-            if (Array.isArray(e)) return h(e)
-          })(e) ||
-          (function (e) {
-            if (
-              ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
-              null != e['@@iterator']
-            )
-              return Array.from(e)
-          })(e) ||
-          f(e) ||
-          (function () {
-            throw new TypeError(
-              'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-            )
-          })()
-        )
-      }
-      function f(e, t) {
-        if (e) {
-          if ('string' === typeof e) return h(e, t)
-          var n = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === n && e.constructor && (n = e.constructor.name),
-            'Map' === n || 'Set' === n
-              ? Array.from(e)
-              : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-              ? h(e, t)
-              : void 0
-          )
-        }
-      }
-      function h(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-        return r
-      }
-      var p =
-          'undefined' !== typeof window && window.THREE
-            ? window.THREE
-            : { LinearFilter: r.wem, Sprite: r.jyi, SpriteMaterial: r.xeV, Texture: r.xEZ },
-        v = (function (e) {
-          !(function (e, t) {
-            if ('function' !== typeof t && null !== t)
-              throw new TypeError('Super expression must either be null or a function')
-            ;(e.prototype = Object.create(t && t.prototype, {
-              constructor: { value: e, writable: !0, configurable: !0 },
-            })),
-              t && s(e, t)
-          })(u, e)
-          var t,
-            n,
-            r,
-            a = c(u)
-          function u() {
-            var e,
-              t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : '',
-              n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 10,
-              r =
-                arguments.length > 2 && void 0 !== arguments[2]
-                  ? arguments[2]
-                  : 'rgba(255, 255, 255, 1)'
-            return (
-              o(this, u),
-              ((e = a.call(this, new p.SpriteMaterial({ map: new p.Texture() })))._text = ''.concat(
-                t,
-              )),
-              (e._textHeight = n),
-              (e._color = r),
-              (e._backgroundColor = !1),
-              (e._padding = 0),
-              (e._borderWidth = 0),
-              (e._borderRadius = 0),
-              (e._borderColor = 'white'),
-              (e._strokeWidth = 0),
-              (e._strokeColor = 'white'),
-              (e._fontFace = 'Arial'),
-              (e._fontSize = 90),
-              (e._fontWeight = 'normal'),
-              (e._canvas = document.createElement('canvas')),
-              (e._texture = e.material.map),
-              (e._texture.minFilter = p.LinearFilter),
-              e._genCanvas(),
-              e
-            )
-          }
-          return (
-            (t = u),
-            (n = [
-              {
-                key: 'text',
-                get: function () {
-                  return this._text
-                },
-                set: function (e) {
-                  ;(this._text = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'textHeight',
-                get: function () {
-                  return this._textHeight
-                },
-                set: function (e) {
-                  ;(this._textHeight = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'color',
-                get: function () {
-                  return this._color
-                },
-                set: function (e) {
-                  ;(this._color = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'backgroundColor',
-                get: function () {
-                  return this._backgroundColor
-                },
-                set: function (e) {
-                  ;(this._backgroundColor = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'padding',
-                get: function () {
-                  return this._padding
-                },
-                set: function (e) {
-                  ;(this._padding = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'borderWidth',
-                get: function () {
-                  return this._borderWidth
-                },
-                set: function (e) {
-                  ;(this._borderWidth = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'borderRadius',
-                get: function () {
-                  return this._borderRadius
-                },
-                set: function (e) {
-                  ;(this._borderRadius = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'borderColor',
-                get: function () {
-                  return this._borderColor
-                },
-                set: function (e) {
-                  ;(this._borderColor = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'fontFace',
-                get: function () {
-                  return this._fontFace
-                },
-                set: function (e) {
-                  ;(this._fontFace = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'fontSize',
-                get: function () {
-                  return this._fontSize
-                },
-                set: function (e) {
-                  ;(this._fontSize = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'fontWeight',
-                get: function () {
-                  return this._fontWeight
-                },
-                set: function (e) {
-                  ;(this._fontWeight = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'strokeWidth',
-                get: function () {
-                  return this._strokeWidth
-                },
-                set: function (e) {
-                  ;(this._strokeWidth = e), this._genCanvas()
-                },
-              },
-              {
-                key: 'strokeColor',
-                get: function () {
-                  return this._strokeColor
-                },
-                set: function (e) {
-                  ;(this._strokeColor = e), this._genCanvas()
-                },
-              },
-              {
-                key: '_genCanvas',
-                value: function () {
-                  var e = this,
-                    t = this._canvas,
-                    n = t.getContext('2d'),
-                    r = Array.isArray(this.borderWidth)
-                      ? this.borderWidth
-                      : [this.borderWidth, this.borderWidth],
-                    o = r.map(function (t) {
-                      return t * e.fontSize * 0.1
-                    }),
-                    i = (
-                      Array.isArray(this.borderRadius)
-                        ? this.borderRadius
-                        : [
-                            this.borderRadius,
-                            this.borderRadius,
-                            this.borderRadius,
-                            this.borderRadius,
-                          ]
-                    ).map(function (t) {
-                      return t * e.fontSize * 0.1
-                    }),
-                    a = Array.isArray(this.padding) ? this.padding : [this.padding, this.padding],
-                    s = a.map(function (t) {
-                      return t * e.fontSize * 0.1
-                    }),
-                    u = this.text.split('\n'),
-                    c = ''
-                      .concat(this.fontWeight, ' ')
-                      .concat(this.fontSize, 'px ')
-                      .concat(this.fontFace)
-                  n.font = c
-                  var f = Math.max.apply(
-                      Math,
-                      d(
-                        u.map(function (e) {
-                          return n.measureText(e).width
-                        }),
-                      ),
-                    ),
-                    h = this.fontSize * u.length
-                  if (
-                    ((t.width = f + 2 * o[0] + 2 * s[0]),
-                    (t.height = h + 2 * o[1] + 2 * s[1]),
-                    this.borderWidth)
-                  ) {
-                    if (((n.strokeStyle = this.borderColor), o[0])) {
-                      var p = o[0] / 2
-                      ;(n.lineWidth = o[0]),
-                        n.beginPath(),
-                        n.moveTo(p, i[0]),
-                        n.lineTo(p, t.height - i[3]),
-                        n.moveTo(t.width - p, i[1]),
-                        n.lineTo(t.width - p, t.height - i[2]),
-                        n.stroke()
-                    }
-                    if (o[1]) {
-                      var v = o[1] / 2
-                      ;(n.lineWidth = o[1]),
-                        n.beginPath(),
-                        n.moveTo(Math.max(o[0], i[0]), v),
-                        n.lineTo(t.width - Math.max(o[0], i[1]), v),
-                        n.moveTo(Math.max(o[0], i[3]), t.height - v),
-                        n.lineTo(t.width - Math.max(o[0], i[2]), t.height - v),
-                        n.stroke()
-                    }
-                    if (this.borderRadius) {
-                      var m = Math.max.apply(Math, d(o)),
-                        g = m / 2
-                      ;(n.lineWidth = m),
-                        n.beginPath(),
-                        [
-                          !!i[0] && [i[0], g, g, i[0]],
-                          !!i[1] && [t.width - i[1], t.width - g, g, i[1]],
-                          !!i[2] && [t.width - i[2], t.width - g, t.height - g, t.height - i[2]],
-                          !!i[3] && [i[3], g, t.height - g, t.height - i[3]],
-                        ]
-                          .filter(function (e) {
-                            return e
-                          })
-                          .forEach(function (e) {
-                            var t = l(e, 4),
-                              r = t[0],
-                              o = t[1],
-                              i = t[2],
-                              a = t[3]
-                            n.moveTo(r, i), n.quadraticCurveTo(o, i, o, a)
-                          }),
-                        n.stroke()
-                    }
-                  }
-                  this.backgroundColor &&
-                    ((n.fillStyle = this.backgroundColor),
-                    this.borderRadius
-                      ? (n.beginPath(),
-                        n.moveTo(o[0], i[0]),
-                        [
-                          [o[0], i[0], t.width - i[1], o[1], o[1], o[1]],
-                          [
-                            t.width - o[0],
-                            t.width - o[0],
-                            t.width - o[0],
-                            o[1],
-                            i[1],
-                            t.height - i[2],
-                          ],
-                          [
-                            t.width - o[0],
-                            t.width - i[2],
-                            i[3],
-                            t.height - o[1],
-                            t.height - o[1],
-                            t.height - o[1],
-                          ],
-                          [o[0], o[0], o[0], t.height - o[1], t.height - i[3], i[0]],
-                        ].forEach(function (e) {
-                          var t = l(e, 6),
-                            r = t[0],
-                            o = t[1],
-                            i = t[2],
-                            a = t[3],
-                            s = t[4],
-                            u = t[5]
-                          n.quadraticCurveTo(r, a, o, s), n.lineTo(i, u)
-                        }),
-                        n.closePath(),
-                        n.fill())
-                      : n.fillRect(o[0], o[1], t.width - 2 * o[0], t.height - 2 * o[1])),
-                    n.translate.apply(n, d(o)),
-                    n.translate.apply(n, d(s)),
-                    (n.font = c),
-                    (n.fillStyle = this.color),
-                    (n.textBaseline = 'bottom')
-                  var y = this.strokeWidth > 0
-                  y &&
-                    ((n.lineWidth = (this.strokeWidth * this.fontSize) / 10),
-                    (n.strokeStyle = this.strokeColor)),
-                    u.forEach(function (t, r) {
-                      var o = (f - n.measureText(t).width) / 2,
-                        i = (r + 1) * e.fontSize
-                      y && n.strokeText(t, o, i), n.fillText(t, o, i)
-                    }),
-                    (this._texture.image = t),
-                    (this._texture.needsUpdate = !0)
-                  var b = this.textHeight * u.length + 2 * r[1] + 2 * a[1]
-                  this.scale.set((b * t.width) / t.height, b, 0)
-                },
-              },
-              {
-                key: 'clone',
-                value: function () {
-                  return new this.constructor(this.text, this.textHeight, this.color).copy(this)
-                },
-              },
-              {
-                key: 'copy',
-                value: function (e) {
-                  return (
-                    p.Sprite.prototype.copy.call(this, e),
-                    (this.color = e.color),
-                    (this.backgroundColor = e.backgroundColor),
-                    (this.padding = e.padding),
-                    (this.borderWidth = e.borderWidth),
-                    (this.borderColor = e.borderColor),
-                    (this.fontFace = e.fontFace),
-                    (this.fontSize = e.fontSize),
-                    (this.fontWeight = e.fontWeight),
-                    (this.strokeWidth = e.strokeWidth),
-                    (this.strokeColor = e.strokeColor),
-                    this
-                  )
-                },
-              },
-            ]) && i(t.prototype, n),
-            r && i(t, r),
-            u
-          )
-        })(p.Sprite)
-      t.Z = v
-    },
-    6189: function (e, t, n) {
-      var r = n(7966)
-      e.exports = function (e) {
-        return r(e).replace(/\s(\w)/g, function (e, t) {
-          return t.toUpperCase()
-        })
-      }
-    },
-    71788: function (e) {
-      e.exports = function (e) {
-        return t.test(e)
-          ? e.toLowerCase()
-          : n.test(e)
-          ? (
-              (function (e) {
-                return e.replace(o, function (e, t) {
-                  return t ? ' ' + t : ''
-                })
-              })(e) || e
-            ).toLowerCase()
-          : r.test(e)
-          ? (function (e) {
-              return e.replace(i, function (e, t, n) {
-                return t + ' ' + n.toLowerCase().split('').join(' ')
-              })
-            })(e).toLowerCase()
-          : e.toLowerCase()
-      }
-      var t = /\s/,
-        n = /(_|-|\.|:)/,
-        r = /([a-z][A-Z]|[A-Z][a-z])/
-      var o = /[\W_]+(.|$)/g
-      var i = /(.)([A-Z]+)/g
-    },
-    7966: function (e, t, n) {
-      var r = n(71788)
-      e.exports = function (e) {
-        return r(e)
-          .replace(/[\W_]+(.|$)/g, function (e, t) {
-            return t ? ' ' + t : ''
-          })
-          .trim()
-      }
-    },
-    11742: function (e) {
-      e.exports = function () {
-        var e = document.getSelection()
-        if (!e.rangeCount) return function () {}
-        for (var t = document.activeElement, n = [], r = 0; r < e.rangeCount; r++)
-          n.push(e.getRangeAt(r))
-        switch (t.tagName.toUpperCase()) {
-          case 'INPUT':
-          case 'TEXTAREA':
-            t.blur()
-            break
-          default:
-            t = null
-        }
-        return (
-          e.removeAllRanges(),
-          function () {
-            'Caret' === e.type && e.removeAllRanges(),
-              e.rangeCount ||
-                n.forEach(function (t) {
-                  e.addRange(t)
-                }),
-              t && t.focus()
-          }
-        )
-      }
-    },
-    70655: function (e, t, n) {
-      'use strict'
-      n.r(t),
-        n.d(t, {
-          __extends: function () {
-            return o
-          },
-          __assign: function () {
-            return i
-          },
-          __rest: function () {
-            return a
-          },
-          __decorate: function () {
-            return s
-          },
-          __param: function () {
-            return u
-          },
-          __metadata: function () {
-            return c
-          },
-          __awaiter: function () {
-            return l
-          },
-          __generator: function () {
-            return d
-          },
-          __createBinding: function () {
-            return f
-          },
-          __exportStar: function () {
-            return h
-          },
-          __values: function () {
-            return p
-          },
-          __read: function () {
-            return v
-          },
-          __spread: function () {
-            return m
-          },
-          __spreadArrays: function () {
-            return g
-          },
-          __spreadArray: function () {
-            return y
-          },
-          __await: function () {
-            return b
-          },
-          __asyncGenerator: function () {
-            return w
-          },
-          __asyncDelegator: function () {
-            return _
-          },
-          __asyncValues: function () {
-            return x
-          },
-          __makeTemplateObject: function () {
-            return k
-          },
-          __importStar: function () {
-            return O
-          },
-          __importDefault: function () {
-            return T
-          },
-          __classPrivateFieldGet: function () {
-            return C
-          },
-          __classPrivateFieldSet: function () {
-            return M
-          },
-        })
-      var r = function (e, t) {
-        return (r =
-          Object.setPrototypeOf ||
-          ({ __proto__: [] } instanceof Array &&
-            function (e, t) {
-              e.__proto__ = t
-            }) ||
-          function (e, t) {
-            for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n])
-          })(e, t)
-      }
-      function o(e, t) {
-        if ('function' !== typeof t && null !== t)
-          throw new TypeError('Class extends value ' + String(t) + ' is not a constructor or null')
-        function n() {
-          this.constructor = e
-        }
-        r(e, t),
-          (e.prototype = null === t ? Object.create(t) : ((n.prototype = t.prototype), new n()))
-      }
-      var i = function () {
-        return (i =
-          Object.assign ||
-          function (e) {
-            for (var t, n = 1, r = arguments.length; n < r; n++)
-              for (var o in (t = arguments[n]))
-                Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o])
-            return e
-          }).apply(this, arguments)
-      }
-      function a(e, t) {
-        var n = {}
-        for (var r in e)
-          Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r])
-        if (null != e && 'function' === typeof Object.getOwnPropertySymbols) {
-          var o = 0
-          for (r = Object.getOwnPropertySymbols(e); o < r.length; o++)
-            t.indexOf(r[o]) < 0 &&
-              Object.prototype.propertyIsEnumerable.call(e, r[o]) &&
-              (n[r[o]] = e[r[o]])
-        }
-        return n
-      }
-      function s(e, t, n, r) {
-        var o,
-          i = arguments.length,
-          a = i < 3 ? t : null === r ? (r = Object.getOwnPropertyDescriptor(t, n)) : r
-        if ('object' === typeof Reflect && 'function' === typeof Reflect.decorate)
-          a = Reflect.decorate(e, t, n, r)
-        else
-          for (var s = e.length - 1; s >= 0; s--)
-            (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a)
-        return i > 3 && a && Object.defineProperty(t, n, a), a
-      }
-      function u(e, t) {
-        return function (n, r) {
-          t(n, r, e)
-        }
-      }
-      function c(e, t) {
-        if ('object' === typeof Reflect && 'function' === typeof Reflect.metadata)
-          return Reflect.metadata(e, t)
-      }
-      function l(e, t, n, r) {
-        return new (n || (n = Promise))(function (o, i) {
-          function a(e) {
-            try {
-              u(r.next(e))
-            } catch (t) {
-              i(t)
-            }
-          }
-          function s(e) {
-            try {
-              u(r.throw(e))
-            } catch (t) {
-              i(t)
-            }
-          }
-          function u(e) {
-            var t
-            e.done
-              ? o(e.value)
-              : ((t = e.value),
-                t instanceof n
-                  ? t
-                  : new n(function (e) {
-                      e(t)
-                    })).then(a, s)
-          }
-          u((r = r.apply(e, t || [])).next())
-        })
-      }
-      function d(e, t) {
-        var n,
-          r,
-          o,
-          i,
-          a = {
-            label: 0,
-            sent: function () {
-              if (1 & o[0]) throw o[1]
-              return o[1]
-            },
-            trys: [],
-            ops: [],
-          }
-        return (
-          (i = { next: s(0), throw: s(1), return: s(2) }),
-          'function' === typeof Symbol &&
-            (i[Symbol.iterator] = function () {
-              return this
-            }),
-          i
-        )
-        function s(i) {
-          return function (s) {
-            return (function (i) {
-              if (n) throw new TypeError('Generator is already executing.')
-              for (; a; )
-                try {
-                  if (
-                    ((n = 1),
-                    r &&
-                      (o =
-                        2 & i[0]
-                          ? r.return
-                          : i[0]
-                          ? r.throw || ((o = r.return) && o.call(r), 0)
-                          : r.next) &&
-                      !(o = o.call(r, i[1])).done)
-                  )
-                    return o
-                  switch (((r = 0), o && (i = [2 & i[0], o.value]), i[0])) {
-                    case 0:
-                    case 1:
-                      o = i
-                      break
-                    case 4:
-                      return a.label++, { value: i[1], done: !1 }
-                    case 5:
-                      a.label++, (r = i[1]), (i = [0])
-                      continue
-                    case 7:
-                      ;(i = a.ops.pop()), a.trys.pop()
-                      continue
-                    default:
-                      if (
-                        !(o = (o = a.trys).length > 0 && o[o.length - 1]) &&
-                        (6 === i[0] || 2 === i[0])
-                      ) {
-                        a = 0
-                        continue
-                      }
-                      if (3 === i[0] && (!o || (i[1] > o[0] && i[1] < o[3]))) {
-                        a.label = i[1]
-                        break
-                      }
-                      if (6 === i[0] && a.label < o[1]) {
-                        ;(a.label = o[1]), (o = i)
-                        break
-                      }
-                      if (o && a.label < o[2]) {
-                        ;(a.label = o[2]), a.ops.push(i)
-                        break
-                      }
-                      o[2] && a.ops.pop(), a.trys.pop()
-                      continue
-                  }
-                  i = t.call(e, a)
-                } catch (s) {
-                  ;(i = [6, s]), (r = 0)
-                } finally {
-                  n = o = 0
-                }
-              if (5 & i[0]) throw i[1]
-              return { value: i[0] ? i[1] : void 0, done: !0 }
-            })([i, s])
-          }
-        }
-      }
-      var f = Object.create
-        ? function (e, t, n, r) {
-            void 0 === r && (r = n),
-              Object.defineProperty(e, r, {
-                enumerable: !0,
-                get: function () {
-                  return t[n]
-                },
-              })
-          }
-        : function (e, t, n, r) {
-            void 0 === r && (r = n), (e[r] = t[n])
-          }
-      function h(e, t) {
-        for (var n in e) 'default' === n || Object.prototype.hasOwnProperty.call(t, n) || f(t, e, n)
-      }
-      function p(e) {
-        var t = 'function' === typeof Symbol && Symbol.iterator,
-          n = t && e[t],
-          r = 0
-        if (n) return n.call(e)
-        if (e && 'number' === typeof e.length)
-          return {
-            next: function () {
-              return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }
-            },
-          }
-        throw new TypeError(t ? 'Object is not iterable.' : 'Symbol.iterator is not defined.')
-      }
-      function v(e, t) {
-        var n = 'function' === typeof Symbol && e[Symbol.iterator]
-        if (!n) return e
-        var r,
-          o,
-          i = n.call(e),
-          a = []
-        try {
-          for (; (void 0 === t || t-- > 0) && !(r = i.next()).done; ) a.push(r.value)
-        } catch (s) {
-          o = { error: s }
-        } finally {
-          try {
-            r && !r.done && (n = i.return) && n.call(i)
-          } finally {
-            if (o) throw o.error
-          }
-        }
-        return a
-      }
-      function m() {
-        for (var e = [], t = 0; t < arguments.length; t++) e = e.concat(v(arguments[t]))
-        return e
-      }
-      function g() {
-        for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length
-        var r = Array(e),
-          o = 0
-        for (t = 0; t < n; t++)
-          for (var i = arguments[t], a = 0, s = i.length; a < s; a++, o++) r[o] = i[a]
-        return r
-      }
-      function y(e, t, n) {
-        if (n || 2 === arguments.length)
-          for (var r, o = 0, i = t.length; o < i; o++)
-            (!r && o in t) || (r || (r = Array.prototype.slice.call(t, 0, o)), (r[o] = t[o]))
-        return e.concat(r || t)
-      }
-      function b(e) {
-        return this instanceof b ? ((this.v = e), this) : new b(e)
-      }
-      function w(e, t, n) {
-        if (!Symbol.asyncIterator) throw new TypeError('Symbol.asyncIterator is not defined.')
-        var r,
-          o = n.apply(e, t || []),
-          i = []
-        return (
-          (r = {}),
-          a('next'),
-          a('throw'),
-          a('return'),
-          (r[Symbol.asyncIterator] = function () {
-            return this
-          }),
-          r
-        )
-        function a(e) {
-          o[e] &&
-            (r[e] = function (t) {
-              return new Promise(function (n, r) {
-                i.push([e, t, n, r]) > 1 || s(e, t)
-              })
-            })
-        }
-        function s(e, t) {
-          try {
-            ;(n = o[e](t)).value instanceof b
-              ? Promise.resolve(n.value.v).then(u, c)
-              : l(i[0][2], n)
-          } catch (r) {
-            l(i[0][3], r)
-          }
-          var n
-        }
-        function u(e) {
-          s('next', e)
-        }
-        function c(e) {
-          s('throw', e)
-        }
-        function l(e, t) {
-          e(t), i.shift(), i.length && s(i[0][0], i[0][1])
-        }
-      }
-      function _(e) {
-        var t, n
-        return (
-          (t = {}),
-          r('next'),
-          r('throw', function (e) {
-            throw e
-          }),
-          r('return'),
-          (t[Symbol.iterator] = function () {
-            return this
-          }),
-          t
-        )
-        function r(r, o) {
-          t[r] = e[r]
-            ? function (t) {
-                return (n = !n) ? { value: b(e[r](t)), done: 'return' === r } : o ? o(t) : t
-              }
-            : o
-        }
-      }
-      function x(e) {
-        if (!Symbol.asyncIterator) throw new TypeError('Symbol.asyncIterator is not defined.')
-        var t,
-          n = e[Symbol.asyncIterator]
-        return n
-          ? n.call(e)
-          : ((e = p(e)),
-            (t = {}),
-            r('next'),
-            r('throw'),
-            r('return'),
-            (t[Symbol.asyncIterator] = function () {
-              return this
-            }),
-            t)
-        function r(n) {
-          t[n] =
-            e[n] &&
-            function (t) {
-              return new Promise(function (r, o) {
-                ;(function (e, t, n, r) {
-                  Promise.resolve(r).then(function (t) {
-                    e({ value: t, done: n })
-                  }, t)
-                })(r, o, (t = e[n](t)).done, t.value)
-              })
-            }
-        }
-      }
-      function k(e, t) {
-        return (
-          Object.defineProperty ? Object.defineProperty(e, 'raw', { value: t }) : (e.raw = t), e
-        )
-      }
-      var E = Object.create
-        ? function (e, t) {
-            Object.defineProperty(e, 'default', { enumerable: !0, value: t })
-          }
-        : function (e, t) {
-            e.default = t
-          }
-      function O(e) {
-        if (e && e.__esModule) return e
-        var t = {}
-        if (null != e)
-          for (var n in e)
-            'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && f(t, e, n)
-        return E(t, e), t
-      }
-      function T(e) {
-        return e && e.__esModule ? e : { default: e }
-      }
-      function C(e, t, n, r) {
-        if ('a' === n && !r) throw new TypeError('Private accessor was defined without a getter')
-        if ('function' === typeof t ? e !== t || !r : !t.has(e))
-          throw new TypeError(
-            'Cannot read private member from an object whose class did not declare it',
-          )
-        return 'm' === n ? r : 'a' === n ? r.call(e) : r ? r.value : t.get(e)
-      }
-      function M(e, t, n, r, o) {
-        if ('m' === r) throw new TypeError('Private method is not writable')
-        if ('a' === r && !o) throw new TypeError('Private accessor was defined without a setter')
-        if ('function' === typeof t ? e !== t || !o : !t.has(e))
-          throw new TypeError(
-            'Cannot write private member to an object whose class did not declare it',
-          )
-        return 'a' === r ? o.call(e, n) : o ? (o.value = n) : t.set(e, n), n
-      }
-    },
-  },
-])
diff --git a/out/_next/static/chunks/238-434e9626e5c308be74a3.js b/out/_next/static/chunks/238-434e9626e5c308be74a3.js
new file mode 100644
index 0000000..695a9dc
--- /dev/null
+++ b/out/_next/static/chunks/238-434e9626e5c308be74a3.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[238],{93552:function(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:function(){return o}})},56769:function(e,t,n){"use strict";n.d(t,{UQ:function(){return R},KF:function(){return B},XE:function(){return F},Qd:function(){return N},Hk:function(){return z}});var r=n(70058),o=n(90063),i=n(2326),a=n(55284),s=n(29676),u=n(89384),c=n(15267),l=n(84461),d=n(73808),f=n(80658),h=n(28500),p=n(67294),v=n(21888),m=n(77581),g=n(51034),y=n(94577),b=n(72947),w=n(27277),_=n(47248);function x(){return(x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function k(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var[E,O,C,T]=(0,v.n)();function M(e){var{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:i}=e,a=k(e,["onChange","defaultIndex","index","allowMultiple","allowToggle"]);!function(e){var t=e.index||e.defaultIndex,n=!(0,d.o8)(t)&&!(0,d.kJ)(t)&&e.allowMultiple;(0,f.ZK)({condition:!!n,message:"If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: "+typeof t+","})}(e),function(e){(0,f.ZK)({condition:!(!e.allowMultiple||!e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}(e);var s=C(),[u,c]=(0,p.useState)(-1);(0,m.z)((()=>{c(-1)}));var[l,h]=(0,g.T)({value:r,defaultValue:()=>o?null!=n?n:[]:null!=n?n:-1,onChange:t});return{index:l,setIndex:h,htmlProps:a,getAccordionItemProps:e=>{var t=!1;null!==e&&(t=(0,d.kJ)(l)?l.includes(e):l===e);return{isOpen:t,onChange:t=>{if(null!==e)if(o&&(0,d.kJ)(l)){var n=t?(0,w.jX)(l,e):(0,w.cl)(l,e);h(n)}else t?h(e):i&&h(-1)}}},focusedIndex:u,setFocusedIndex:c,descendants:s}}var[S,P]=(0,h.k)({name:"AccordionContext",errorMessage:"useAccordionContext: `context` is undefined. Seems you forgot to wrap the accordion components in `<Accordion />`"});function j(e){var{isDisabled:t,isFocusable:n,id:r}=e,o=k(e,["isDisabled","isFocusable","id"]),{getAccordionItemProps:i,setFocusedIndex:a}=P(),s=(0,p.useRef)(null),[u,c]=(0,y.ZS)(r,"accordion-button","accordion-panel");!function(e){(0,f.ZK)({condition:!(!e.isFocusable||e.isDisabled),message:"Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n    "})}(e);var{register:d,index:h,descendants:v}=T({disabled:t&&!n}),{isOpen:m,onChange:g}=i(-1===h?null:h);!function(e){(0,f.ZK)({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}({isOpen:m,isDisabled:t});var w=(0,p.useCallback)((()=>{null==g||g(!m),a(h)}),[h,a,m,g]),E=(0,p.useCallback)((e=>{var t={ArrowDown:()=>{var e=v.nextEnabled(h);e&&(0,_.T)(e.node)},ArrowUp:()=>{var e=v.prevEnabled(h);e&&(0,_.T)(e.node)},Home:()=>{var e=v.firstEnabled();e&&(0,_.T)(e.node)},End:()=>{var e=v.lastEnabled();e&&(0,_.T)(e.node)}}[(0,l.uh)(e)];t&&(e.preventDefault(),t(e))}),[v,h]),O=(0,p.useCallback)((()=>{a(h)}),[a,h]),C=(0,p.useCallback)((function(e,n){return void 0===e&&(e={}),void 0===n&&(n=null),x({},e,{type:"button",ref:(0,b.l)(d,s,n),id:u,disabled:!!t,"aria-expanded":!!m,"aria-controls":c,onClick:(0,f.v0)(e.onClick,w),onFocus:(0,f.v0)(e.onFocus,O),onKeyDown:(0,f.v0)(e.onKeyDown,E)})}),[u,t,m,w,O,E,c,d]),M=(0,p.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),x({},e,{ref:t,role:"region",id:c,"aria-labelledby":u,hidden:!m})}),[u,m,c]);return{isOpen:m,isDisabled:t,isFocusable:n,onOpen:()=>{null==g||g(!0)},onClose:()=>{null==g||g(!1)},getButtonProps:C,getPanelProps:M,htmlProps:o}}function I(){return(I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function A(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var R=(0,o.G)(((e,t)=>{var{children:n,reduceMotion:r}=e,o=A(e,["children","reduceMotion"]),c=(0,i.j)("Accordion",o),d=M((0,a.Lr)(o)),{htmlProps:f,descendants:h}=d,v=A(d,["htmlProps","descendants"]),m=p.useMemo((()=>I({},v,{reduceMotion:!!r})),[v,r]);return p.createElement(E,{value:h},p.createElement(S,{value:m},p.createElement(s.Fo,{value:c},p.createElement(u.m$.div,I({ref:t},f,{className:(0,l.cx)("chakra-accordion",o.className)}),n))))}));d.Ts&&(R.displayName="Accordion");var[D,L]=(0,h.k)({name:"AccordionItemContext",errorMessage:"useAccordionItemContext: `context` is undefined. Seems you forgot to wrap the accordion item parts in `<AccordionItem />` "}),N=(0,o.G)(((e,t)=>{var{children:n,className:r}=e,o=j(e),{htmlProps:i}=o,a=A(o,["htmlProps"]),c=I({},(0,s.yK)().container,{overflowAnchor:"none"}),d=p.useMemo((()=>a),[a]);return p.createElement(D,{value:d},p.createElement(u.m$.div,I({ref:t},i,{className:(0,l.cx)("chakra-accordion__item",r),__css:c}),(0,f.Pu)(n,{isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled})))}));d.Ts&&(N.displayName="AccordionItem");var B=(0,o.G)(((e,t)=>{var{getButtonProps:n}=L(),r=n(e,t),o=I({display:"flex",alignItems:"center",width:"100%",outline:0},(0,s.yK)().button);return p.createElement(u.m$.button,I({},r,{className:(0,l.cx)("chakra-accordion__button",e.className),__css:o}))}));d.Ts&&(B.displayName="AccordionButton");var z=(0,o.G)(((e,t)=>{var{reduceMotion:n}=P(),{getPanelProps:r,isOpen:o}=L(),i=r(e,t),a=(0,l.cx)("chakra-accordion__panel",e.className),d=(0,s.yK)();n||delete i.hidden;var f=p.createElement(u.m$.div,I({},i,{__css:d.panel,className:a}));return n?f:p.createElement(c.U,{in:o},f)}));d.Ts&&(z.displayName="AccordionPanel");var F=e=>{var{isOpen:t,isDisabled:n}=L(),{reduceMotion:o}=P(),i=(0,l.cx)("chakra-accordion__icon",e.className),a=I({opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:o?void 0:"transform 0.2s",transformOrigin:"center"},(0,s.yK)().icon);return p.createElement(r.J,I({viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a},e),p.createElement("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"}))};d.Ts&&(F.displayName="AccordionIcon")},40419:function(e,t,n){"use strict";t.__esModule=!0,t.ButtonGroup=t.useButtonGroup=void 0;var r=n(48121),o=n(66751),i=n(19277),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,i.createContext)({strict:!1,name:"ButtonGroupContext"}),l=c[0],d=c[1];t.useButtonGroup=d;var f=(0,r.forwardRef)((function(e,t){var n=e.size,i=e.colorScheme,s=e.variant,c=e.className,d=e.spacing,f=void 0===d?"0.5rem":d,h=e.isAttached,p=e.isDisabled,v=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["size","colorScheme","variant","className","spacing","isAttached","isDisabled"]),m=(0,o.cx)("chakra-button__group",c),g=a.useMemo((function(){return{size:n,colorScheme:i,variant:s,isDisabled:p}}),[n,i,s,p]),y={display:"inline-flex"};return y=u({},y,h?{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}}:{"& > *:not(style) ~ *:not(style)":{marginStart:f}}),a.createElement(l,{value:g},a.createElement(r.chakra.div,u({ref:t,role:"group",__css:y,className:m},v)))}));t.ButtonGroup=f,o.__DEV__&&(f.displayName="ButtonGroup")},24686:function(e,t,n){"use strict";t.__esModule=!0,t.Button=void 0;var r=n(19277),o=n(90716),i=n(48121),a=n(66751),s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),u=n(40419);function c(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var f=(0,i.forwardRef)((function(e,t){var n,o=(0,u.useButtonGroup)(),c=(0,i.useStyleConfig)("Button",d({},o,e)),f=(0,i.omitThemingProps)(e),v=f.isDisabled,m=void 0===v?null==o?void 0:o.isDisabled:v,g=f.isLoading,y=f.isActive,b=f.isFullWidth,w=f.children,_=f.leftIcon,x=f.rightIcon,k=f.loadingText,E=f.iconSpacing,O=void 0===E?"0.5rem":E,C=f.type,T=f.spinner,M=f.spinnerPlacement,S=void 0===M?"start":M,P=f.className,j=f.as,I=l(f,["isDisabled","isLoading","isActive","isFullWidth","children","leftIcon","rightIcon","loadingText","iconSpacing","type","spinner","spinnerPlacement","className","as"]),A=(0,a.mergeWith)({},null!=(n=null==c?void 0:c._focus)?n:{},{zIndex:1}),R=d({display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",width:b?"100%":"auto"},c,!!o&&{_focus:A}),D=function(e){var t=s.useState(!e),n=t[0],r=t[1],o=s.useCallback((function(e){e&&r("BUTTON"===e.tagName)}),[]),i=n?"button":void 0;return{ref:o,type:i}}(j),L=D.ref,N=D.type;return s.createElement(i.chakra.button,d({disabled:m||g,ref:(0,r.mergeRefs)(t,L),as:j,type:null!=C?C:N,"data-active":(0,a.dataAttr)(y),"data-loading":(0,a.dataAttr)(g),__css:R,className:(0,a.cx)("chakra-button",P)},I),_&&!g&&s.createElement(h,{marginEnd:O},_),g&&"start"===S&&s.createElement(p,{className:"chakra-button__spinner--start",label:k,placement:"start"},T),g?k||s.createElement(i.chakra.span,{opacity:0},w):w,g&&"end"===S&&s.createElement(p,{className:"chakra-button__spinner--end",label:k,placement:"end"},T),x&&!g&&s.createElement(h,{marginStart:O},x))}));t.Button=f,a.__DEV__&&(f.displayName="Button");var h=function(e){var t=e.children,n=e.className,r=l(e,["children","className"]),o=s.isValidElement(t)?s.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,u=(0,a.cx)("chakra-button__icon",n);return s.createElement(i.chakra.span,d({display:"inline-flex",alignSelf:"center",flexShrink:0},r,{className:u}),o)};a.__DEV__&&(h.displayName="ButtonIcon");var p=function(e){var t,n=e.label,r=e.placement,u=(e.spacing,e.children),c=void 0===u?s.createElement(o.Spinner,{color:"currentColor",width:"1em",height:"1em"}):u,f=e.className,h=e.__css,p=l(e,["label","placement","spacing","children","className","__css"]),v=(0,a.cx)("chakra-button__spinner",f),m=d(((t={display:"flex",alignItems:"center",position:n?"relative":"absolute"})["start"===r?"marginEnd":"marginStart"]=n?"0.5rem":0,t.fontSize="1em",t.lineHeight="normal",t),h);return s.createElement(i.chakra.div,d({className:v},p,{__css:m}),c)};a.__DEV__&&(p.displayName="ButtonSpinner")},84175:function(e,t,n){"use strict";t.__esModule=!0,t.IconButton=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),a=n(24686);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,r.forwardRef)((function(e,t){var n=e.icon,r=e.children,o=e.isRound,s=e["aria-label"],c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["icon","children","isRound","aria-label"]),l=n||r,d=i.isValidElement(l)?i.cloneElement(l,{"aria-hidden":!0,focusable:!1}):null;return i.createElement(a.Button,u({padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s},c),d)}));t.IconButton=c,o.__DEV__&&(c.displayName="IconButton")},46017:function(e,t,n){"use strict";t.__esModule=!0;var r=n(24686);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(40419);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(84175);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}))},40155:function(e,t,n){"use strict";n.d(t,{z:function(){return O}});var r=n(72947),o=n(70917),i=n(90063),a=n(2326),s=n(55284),u=n(89384),c=n(84461),l=n(73808),d=n(65415),f=n(67294);function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var p=(0,o.keyframes)({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),v=(0,i.G)(((e,t)=>{var n=(0,a.m)("Spinner",e),r=(0,s.Lr)(e),{label:o="Loading...",thickness:i="2px",speed:l="0.45s",emptyColor:v="transparent",className:m}=r,g=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,["label","thickness","speed","emptyColor","className"]),y=(0,c.cx)("chakra-spinner",m),b=h({display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:v,borderLeftColor:v,animation:p+" "+l+" linear infinite"},n);return f.createElement(u.m$.div,h({ref:t,__css:b,className:y},g),o&&f.createElement(d.TX,null,o))}));l.Ts&&(v.displayName="Spinner");var m=n(38554),g=n.n(m),y=n(28500);function b(){return(b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[w,_]=(0,y.k)({strict:!1,name:"ButtonGroupContext"}),x=(0,i.G)(((e,t)=>{var{size:n,colorScheme:r,variant:o,className:i,spacing:a="0.5rem",isAttached:s,isDisabled:l}=e,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["size","colorScheme","variant","className","spacing","isAttached","isDisabled"]),h=(0,c.cx)("chakra-button__group",i),p=f.useMemo((()=>({size:n,colorScheme:r,variant:o,isDisabled:l})),[n,r,o,l]),v={display:"inline-flex"};return v=b({},v,s?{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}}:{"& > *:not(style) ~ *:not(style)":{marginStart:a}}),f.createElement(w,{value:p},f.createElement(u.m$.div,b({ref:t,role:"group",__css:v,className:h},d)))}));function k(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function E(){return(E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}l.Ts&&(x.displayName="ButtonGroup");var O=(0,i.G)(((e,t)=>{var n,o=_(),i=(0,a.m)("Button",E({},o,e)),l=(0,s.Lr)(e),{isDisabled:d=(null==o?void 0:o.isDisabled),isLoading:h,isActive:p,isFullWidth:v,children:m,leftIcon:y,rightIcon:b,loadingText:w,iconSpacing:x="0.5rem",type:O,spinner:M,spinnerPlacement:S="start",className:P,as:j}=l,I=k(l,["isDisabled","isLoading","isActive","isFullWidth","children","leftIcon","rightIcon","loadingText","iconSpacing","type","spinner","spinnerPlacement","className","as"]),A=g()({},null!=(n=null==i?void 0:i._focus)?n:{},{zIndex:1}),R=E({display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",width:v?"100%":"auto"},i,!!o&&{_focus:A}),{ref:D,type:L}=function(e){var[t,n]=f.useState(!e),r=f.useCallback((e=>{e&&n("BUTTON"===e.tagName)}),[]),o=t?"button":void 0;return{ref:r,type:o}}(j);return f.createElement(u.m$.button,E({disabled:d||h,ref:(0,r.l)(t,D),as:j,type:null!=O?O:L,"data-active":(0,c.PB)(p),"data-loading":(0,c.PB)(h),__css:R,className:(0,c.cx)("chakra-button",P)},I),y&&!h&&f.createElement(C,{marginEnd:x},y),h&&"start"===S&&f.createElement(T,{className:"chakra-button__spinner--start",label:w,placement:"start"},M),h?w||f.createElement(u.m$.span,{opacity:0},m):m,h&&"end"===S&&f.createElement(T,{className:"chakra-button__spinner--end",label:w,placement:"end"},M),b&&!h&&f.createElement(C,{marginStart:x},b))}));l.Ts&&(O.displayName="Button");var C=e=>{var{children:t,className:n}=e,r=k(e,["children","className"]),o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,i=(0,c.cx)("chakra-button__icon",n);return f.createElement(u.m$.span,E({display:"inline-flex",alignSelf:"center",flexShrink:0},r,{className:i}),o)};l.Ts&&(C.displayName="ButtonIcon");var T=e=>{var{label:t,placement:n,children:r=f.createElement(v,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:i}=e,a=k(e,["label","placement","spacing","children","className","__css"]),s=(0,c.cx)("chakra-button__spinner",o),l=E({display:"flex",alignItems:"center",position:t?"relative":"absolute",["start"===n?"marginEnd":"marginStart"]:t?"0.5rem":0,fontSize:"1em",lineHeight:"normal"},i);return f.createElement(u.m$.div,E({className:s},a,{__css:l}),r)};l.Ts&&(T.displayName="ButtonSpinner")},48420:function(e,t,n){"use strict";n.d(t,{h:function(){return u}});var r=n(90063),o=n(73808),i=n(67294),a=n(40155);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.G)(((e,t)=>{var{icon:n,children:r,isRound:o,"aria-label":u}=e,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["icon","children","isRound","aria-label"]),l=n||r,d=i.isValidElement(l)?i.cloneElement(l,{"aria-hidden":!0,focusable:!1}):null;return i.createElement(a.z,s({padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":u},c),d)}));o.Ts&&(u.displayName="IconButton")},45771:function(e,t,n){"use strict";t.__esModule=!0,t.ColorModeProvider=d,t.useColorModeValue=function(e,t){return"dark"===l().colorMode?t:e},t.LightMode=t.DarkMode=t.useColorMode=t.ColorModeContext=void 0;var r=n(66751),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),i=n(77570),a=n(68346);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=o.createContext({});t.ColorModeContext=c,r.__DEV__&&(c.displayName="ColorModeContext");var l=function(){var e=o.useContext(c);if(void 0===e)throw new Error("useColorMode must be used within a ColorModeProvider");return e};function d(e){var t=e.value,n=e.children,s=e.options,u=s.useSystemColorMode,l=s.initialColorMode,d=e.colorModeManager,f=void 0===d?a.localStorageManager:d,h=o.useState("cookie"===f.type?f.get(l):l),p=h[0],v=h[1];o.useEffect((function(){if(r.isBrowser&&"localStorage"===f.type){var e=u?(0,i.getColorScheme)(l):i.root.get()||f.get();e&&v(e)}}),[f,u,l]),o.useEffect((function(){var e="dark"===p;(0,i.syncBodyClassName)(e),i.root.set(e?"dark":"light")}),[p]);var m=o.useCallback((function(e){f.set(e),v(e)}),[f]),g=o.useCallback((function(){m("light"===p?"dark":"light")}),[p,m]);o.useEffect((function(){var e;return u&&(e=(0,i.addListener)(m)),function(){e&&u&&e()}}),[m,u]);var y=o.useMemo((function(){return{colorMode:null!=t?t:p,toggleColorMode:t?r.noop:g,setColorMode:t?r.noop:m}}),[p,m,g,t]);return o.createElement(c.Provider,{value:y},n)}t.useColorMode=l,r.__DEV__&&(d.displayName="ColorModeProvider");var f=function(e){return o.createElement(c.Provider,u({value:{colorMode:"dark",toggleColorMode:r.noop,setColorMode:r.noop}},e))};t.DarkMode=f,r.__DEV__&&(f.displayName="DarkMode");var h=function(e){return o.createElement(c.Provider,u({value:{colorMode:"light",toggleColorMode:r.noop,setColorMode:r.noop}},e))};t.LightMode=h,r.__DEV__&&(h.displayName="LightMode")},79002:function(e,t,n){"use strict";t.__esModule=!0,t.ColorModeScript=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function i(e){var t,n,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";try{t=localStorage.getItem("chakra-ui-color-mode")}catch(o){console.log("Chakra UI: localStorage is not available. Color mode persistence might not work as expected")}(n="string"===typeof t?t:"system"===e?r:e)&&document.documentElement.style.setProperty("--chakra-ui-color-mode",n)}t.ColorModeScript=function(e){var t=e.initialColorMode,n=void 0===t?"light":t,o="("+String(i)+")('"+n+"')";return r.createElement("script",{nonce:e.nonce,dangerouslySetInnerHTML:{__html:o}})}},77570:function(e,t,n){"use strict";t.__esModule=!0,t.syncBodyClassName=function(e){var t=r.isBrowser?document.body:a;t.classList.add(e?i:o),t.classList.remove(e?o:i)},t.getColorScheme=function(e){var t;return(null!=(t=function(e){var t=null==window.matchMedia?void 0:window.matchMedia(e);if(!t)return;return!!t.media===t.matches}(s.dark))?t:"dark"===e)?"dark":"light"},t.addListener=function(e){if(!("matchMedia"in window))return r.noop;var t=window.matchMedia(s.dark),n=function(){e(t.matches?"dark":"light")};return n(),t.addListener(n),function(){t.removeListener(n)}},t.root=t.darkQuery=t.lightQuery=t.queries=void 0;var r=n(66751),o="chakra-ui-light",i="chakra-ui-dark",a={classList:{add:r.noop,remove:r.noop}};var s={light:"(prefers-color-scheme: light)",dark:"(prefers-color-scheme: dark)"};t.queries=s;var u=s.light;t.lightQuery=u;var c=s.dark;t.darkQuery=c;var l={get:function(){return document.documentElement.style.getPropertyValue("--chakra-ui-color-mode")},set:function(e){r.isBrowser&&document.documentElement.style.setProperty("--chakra-ui-color-mode",e)}};t.root=l},12094:function(e,t,n){"use strict";t.__esModule=!0;var r=n(45771);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(68346);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(79002);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}))},68346:function(e,t,n){"use strict";t.__esModule=!0,t.cookieStorageManager=t.localStorageManager=t.storageKey=void 0;var r=n(66751),o=function(){return"undefined"!==typeof Storage},i="chakra-ui-color-mode";t.storageKey=i;var a={get:function(e){if(!o())return e;try{var t=localStorage.getItem(i);return null!=t?t:e}catch(n){return r.__DEV__&&console.log(n),e}},set:function(e){if(o())try{localStorage.setItem(i,e)}catch(t){r.__DEV__&&console.log(t)}},type:"localStorage"};t.localStorageManager=a;t.cookieStorageManager=function(e){return void 0===e&&(e=""),{get:function(t){var n=e.match(new RegExp("(^| )"+i+"=([^;]+)"));return n?n[2]:t},set:function(e){document.cookie=i+"="+e+"; max-age=31536000; path=/"},type:"cookie"}}},62300:function(e,t,n){"use strict";var r=n(89384),o=n(73808),i=n(67294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=e=>{var{type:t="checkbox",_hover:n,_invalid:o,_disabled:s,_focus:u,_checked:c,_child:l={opacity:0},_checkedAndChild:d={opacity:1},_checkedAndDisabled:f,_checkedAndFocus:h,_checkedAndHover:p,children:v}=e,m=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["type","_hover","_invalid","_disabled","_focus","_checked","_child","_checkedAndChild","_checkedAndDisabled","_checkedAndFocus","_checkedAndHover","children"]),g="input[type="+t+"]:checked:disabled + &",y="input[type="+t+"]:checked:hover:not(:disabled) + &",b="input[type="+t+"]:checked:focus + &",w="input[type="+t+"]:disabled + &",_="input[type="+t+"]:focus + &",x="input[type="+t+"]:hover:not(:disabled):not(:checked) + &",k="input[type="+t+"]:checked + &, input[type="+t+"][aria-checked=mixed] + &",E="input[type="+t+"][aria-invalid=true] + &",O="& > *";return i.createElement(r.m$.div,a({},m,{"aria-hidden":!0,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"fast",flexShrink:0,[_]:u,[x]:n,[w]:s,[E]:o,[g]:f,[b]:h,[y]:p,[O]:l,[k]:a({},c,{[O]:d})}}),v)};o.Ts&&(s.displayName="ControlBox")},21888:function(e,t,n){"use strict";n.d(t,{n:function(){return v}});var r=n(28500),o=n(72947),i=n(67294);function a(e){return e.sort(((e,t)=>{var n=e.compareDocumentPosition(t);if(n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(n&Node.DOCUMENT_POSITION_DISCONNECTED||n&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0}))}function s(e,t,n){var r=e+1;return n&&r>=t&&(r=0),r}function u(e,t,n){var r=e-1;return n&&r<0&&(r=t),r}var c="undefined"!==typeof window?i.useLayoutEffect:i.useEffect;function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class f{constructor(){var e=this;d(this,"descendants",new Map),d(this,"register",(e=>{var t;if(null!=e)return"object"==typeof(t=e)&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE?this.registerNode(e):t=>{this.registerNode(t,e)}})),d(this,"unregister",(e=>{this.descendants.delete(e);var t=a(Array.from(this.descendants.keys()));this.assignIndex(t)})),d(this,"destroy",(()=>{this.descendants.clear()})),d(this,"assignIndex",(e=>{this.descendants.forEach((t=>{var n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()}))})),d(this,"count",(()=>this.descendants.size)),d(this,"enabledCount",(()=>this.enabledValues().length)),d(this,"values",(()=>Array.from(this.descendants.values()).sort(((e,t)=>e.index-t.index)))),d(this,"enabledValues",(()=>this.values().filter((e=>!e.disabled)))),d(this,"item",(e=>{if(0!==this.count())return this.values()[e]})),d(this,"enabledItem",(e=>{if(0!==this.enabledCount())return this.enabledValues()[e]})),d(this,"first",(()=>this.item(0))),d(this,"firstEnabled",(()=>this.enabledItem(0))),d(this,"last",(()=>this.item(this.descendants.size-1))),d(this,"lastEnabled",(()=>{var e=this.enabledValues().length-1;return this.enabledItem(e)})),d(this,"indexOf",(e=>{var t,n;return e&&null!=(t=null==(n=this.descendants.get(e))?void 0:n.index)?t:-1})),d(this,"enabledIndexOf",(e=>null==e?-1:this.enabledValues().findIndex((t=>t.node.isSameNode(e))))),d(this,"next",(function(t,n){void 0===n&&(n=!0);var r=s(t,e.count(),n);return e.item(r)})),d(this,"nextEnabled",(function(t,n){void 0===n&&(n=!0);var r=e.item(t);if(r){var o=s(e.enabledIndexOf(r.node),e.enabledCount(),n);return e.enabledItem(o)}})),d(this,"prev",(function(t,n){void 0===n&&(n=!0);var r=u(t,e.count()-1,n);return e.item(r)})),d(this,"prevEnabled",(function(t,n){void 0===n&&(n=!0);var r=e.item(t);if(r){var o=u(e.enabledIndexOf(r.node),e.enabledCount()-1,n);return e.enabledItem(o)}})),d(this,"registerNode",((e,t)=>{if(e&&!this.descendants.has(e)){var n=a(Array.from(this.descendants.keys()).concat(e));null!=t&&t.disabled&&(t.disabled=!!t.disabled);var r=l({node:e,index:-1},t);this.descendants.set(e,r),this.assignIndex(n)}}))}}var[h,p]=(0,r.k)({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function v(){return[h,()=>p(),()=>function(){var[e]=(0,i.useState)((()=>new f));return c((()=>()=>e.destroy())),e}(),e=>function(e){var t=p(),[n,r]=(0,i.useState)(-1),a=(0,i.useRef)(null);c((()=>()=>{a.current&&t.unregister(a.current)}),[]),c((()=>{if(a.current){var e=Number(a.current.dataset.index);n==e||Number.isNaN(e)||r(e)}}));var s=e?t.register(e):t.register;return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(a.current),register:(0,o.l)(s,a)}}(e)]}},71312:function(e,t,n){"use strict";t.__esModule=!0,t.FormHelperText=t.FormControl=t.useFormControlContext=void 0;var r=n(81959),o=n(48121),i=n(66751),a=n(19277),s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function u(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=(0,a.createContext)({strict:!1,name:"FormControlContext"}),f=d[0],h=d[1];t.useFormControlContext=h;var p=(0,o.forwardRef)((function(e,t){var n=(0,o.useMultiStyleConfig)("Form",e),u=function(e){var t=e.id,n=e.isRequired,o=e.isInvalid,u=e.isDisabled,d=e.isReadOnly,f=l(e,["id","isRequired","isInvalid","isDisabled","isReadOnly"]),h=(0,r.useId)(),p=t||"field-"+h,v=p+"-label",m=p+"-feedback",g=p+"-helptext",y=s.useState(!1),b=y[0],w=y[1],_=s.useState(!1),x=_[0],k=_[1],E=(0,r.useBoolean)(),O=E[0],C=E[1],T=s.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),c({id:g},e,{ref:(0,a.mergeRefs)(t,(function(e){e&&k(!0)}))})}),[g]),M=s.useCallback((function(e,t){var n,r;return void 0===e&&(e={}),void 0===t&&(t=null),c({},e,{ref:t,"data-focus":(0,i.dataAttr)(O),"data-disabled":(0,i.dataAttr)(u),"data-invalid":(0,i.dataAttr)(o),"data-readonly":(0,i.dataAttr)(d),id:null!=(n=e.id)?n:v,htmlFor:null!=(r=e.htmlFor)?r:p})}),[p,u,O,o,d,v]),S=s.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),c({id:m},e,{ref:(0,a.mergeRefs)(t,(function(e){e&&w(!0)})),"aria-live":"polite"})}),[m]),P=s.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),c({},e,f,{ref:t,role:"group"})}),[f]),j=s.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),c({},e,{ref:t,role:"presentation","aria-hidden":!0,children:e.children||"*"})}),[]),I=s.useCallback((function(){(0,i.scheduleMicrotask)(C.on)}),[C]);return{isRequired:!!n,isInvalid:!!o,isReadOnly:!!d,isDisabled:!!u,isFocused:!!O,onFocus:I,onBlur:C.off,hasFeedbackText:b,setHasFeedbackText:w,hasHelpText:x,setHasHelpText:k,id:p,labelId:v,feedbackId:m,helpTextId:g,htmlProps:f,getHelpTextProps:T,getErrorMessageProps:S,getRootProps:P,getLabelProps:M,getRequiredIndicatorProps:j}}((0,o.omitThemingProps)(e)),d=u.getRootProps,h=(u.htmlProps,l(u,["getRootProps","htmlProps"])),p=(0,i.cx)("chakra-form-control",e.className),v=s.useMemo((function(){return h}),[h]);return s.createElement(f,{value:v},s.createElement(o.StylesProvider,{value:n},s.createElement(o.chakra.div,c({},d({},t),{className:p,__css:{width:"100%",position:"relative"}}))))}));t.FormControl=p,i.__DEV__&&(p.displayName="FormControl");var v=(0,o.forwardRef)((function(e,t){var n=h(),r=(0,o.useStyles)(),a=(0,i.cx)("chakra-form__helper-text",e.className);return s.createElement(o.chakra.div,c({},null==n?void 0:n.getHelpTextProps(e,t),{__css:r.helperText,className:a}))}));t.FormHelperText=v,i.__DEV__&&(v.displayName="FormHelperText")},7609:function(e,t,n){"use strict";t.__esModule=!0,t.FormErrorIcon=t.FormErrorMessage=void 0;var r,o=(r=n(29559))&&r.__esModule?r:{default:r},i=n(48121),a=n(66751),s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),u=n(71312);function c(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=(0,i.forwardRef)((function(e,t){var n=(0,i.useMultiStyleConfig)("FormError",e),r=(0,i.omitThemingProps)(e),o=(0,u.useFormControlContext)();return null!=o&&o.isInvalid?s.createElement(i.StylesProvider,{value:n},s.createElement(i.chakra.div,l({},null==o?void 0:o.getErrorMessageProps(r,t),{className:(0,a.cx)("chakra-form__error-message",e.className),__css:l({display:"flex",alignItems:"center"},n.text)}))):null}));t.FormErrorMessage=d,a.__DEV__&&(d.displayName="FormErrorMessage");var f=(0,i.forwardRef)((function(e,t){var n=(0,i.useStyles)(),r=(0,u.useFormControlContext)();if(null==r||!r.isInvalid)return null;var c=(0,a.cx)("chakra-form__error-icon",e.className);return s.createElement(o.default,l({ref:t,"aria-hidden":!0},e,{__css:n.icon,className:c}),s.createElement("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"}))}));t.FormErrorIcon=f,a.__DEV__&&(f.displayName="FormErrorIcon")},22786:function(e,t,n){"use strict";t.__esModule=!0,t.RequiredIndicator=t.FormLabel=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),a=n(71312);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,r.forwardRef)((function(e,t){var n,s=(0,r.useStyleConfig)("FormLabel",e),c=(0,r.omitThemingProps)(e),d=(c.className,c.children),f=c.requiredIndicator,h=void 0===f?i.createElement(l,null):f,p=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(c,["className","children","requiredIndicator"]),v=(0,a.useFormControlContext)(),m=null!=(n=null==v?void 0:v.getLabelProps(p,t))?n:u({ref:t},p);return i.createElement(r.chakra.label,u({},m,{className:(0,o.cx)("chakra-form__label",c.className),__css:u({display:"block",textAlign:"start"},s)}),d,null!=v&&v.isRequired?h:null)}));t.FormLabel=c,o.__DEV__&&(c.displayName="FormLabel");var l=(0,r.forwardRef)((function(e,t){var n=(0,a.useFormControlContext)(),s=(0,r.useStyles)();if(null==n||!n.isRequired)return null;var c=(0,o.cx)("chakra-form__required-indicator",e.className);return i.createElement(r.chakra.span,u({},null==n?void 0:n.getRequiredIndicatorProps(e,t),{__css:s.requiredIndicator,className:c}))}));t.RequiredIndicator=l,o.__DEV__&&(l.displayName="RequiredIndicator")},88323:function(e,t,n){"use strict";t.__esModule=!0;var r=n(71312);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(436);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(7609);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(22786);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}))},436:function(e,t,n){"use strict";t.__esModule=!0,t.useFormControl=function(e){var t=s(e),n=t.isDisabled,o=t.isInvalid,u=t.isReadOnly,c=t.isRequired;return i({},a(t,["isDisabled","isInvalid","isReadOnly","isRequired"]),{disabled:n,readOnly:u,required:c,"aria-invalid":(0,r.ariaAttr)(o),"aria-required":(0,r.ariaAttr)(c),"aria-readonly":(0,r.ariaAttr)(u)})},t.useFormControlProps=s;var r=n(66751),o=n(71312);function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function s(e){var t,n,s,u=(0,o.useFormControlContext)(),c=e.id,l=e.disabled,d=e.readOnly,f=e.required,h=e.isRequired,p=e.isInvalid,v=e.isReadOnly,m=e.isDisabled,g=e.onFocus,y=e.onBlur,b=a(e,["id","disabled","readOnly","required","isRequired","isInvalid","isReadOnly","isDisabled","onFocus","onBlur"]),w=[];return null!=u&&u.hasFeedbackText&&null!=u&&u.isInvalid&&w.push(u.feedbackId),null!=u&&u.hasHelpText&&w.push(u.helpTextId),i({},b,{"aria-describedby":w.join(" ")||void 0,id:null!=c?c:null==u?void 0:u.id,isDisabled:null!=(t=null!=l?l:m)?t:null==u?void 0:u.isDisabled,isReadOnly:null!=(n=null!=d?d:v)?n:null==u?void 0:u.isReadOnly,isRequired:null!=(s=null!=f?f:h)?s:null==u?void 0:u.isRequired,isInvalid:null!=p?p:null==u?void 0:u.isInvalid,onFocus:(0,r.callAllHandlers)(null==u?void 0:u.onFocus,g),onBlur:(0,r.callAllHandlers)(null==u?void 0:u.onBlur,y)})}},81959:function(e,t,n){"use strict";t.__esModule=!0;var r=n(59627);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(69038);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(26872);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(46903);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(6993);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(75624);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(33243);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(97649);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||(t[e]=l[e]))}));var d=n(31948);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(33131);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(53498);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(19867);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||(t[e]=p[e]))}));var v=n(59457);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===v[e]||(t[e]=v[e]))}));var m=n(92695);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===m[e]||(t[e]=m[e]))}));var g=n(34281);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===g[e]||(t[e]=g[e]))}));var y=n(8042);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=n(19679);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===b[e]||(t[e]=b[e]))}));var w=n(24754);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===w[e]||(t[e]=w[e]))}));var _=n(12166);Object.keys(_).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===_[e]||(t[e]=_[e]))}));var x=n(89395);Object.keys(x).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===x[e]||(t[e]=x[e]))}));var k=n(3267);Object.keys(k).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===k[e]||(t[e]=k[e]))}));var E=n(26465);Object.keys(E).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===E[e]||(t[e]=E[e]))}));var O=n(30474);Object.keys(O).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===O[e]||(t[e]=O[e]))}));var C=n(129);Object.keys(C).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===C[e]||(t[e]=C[e]))}));var T=n(70709);Object.keys(T).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===T[e]||(t[e]=T[e]))}));var M=n(19197);Object.keys(M).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===M[e]||(t[e]=M[e]))}));var S=n(43670);Object.keys(S).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===S[e]||(t[e]=S[e]))}));var P=n(42093);Object.keys(P).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===P[e]||(t[e]=P[e]))}));var j=n(52594);Object.keys(j).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===j[e]||(t[e]=j[e]))}));var I=n(70005);Object.keys(I).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===I[e]||(t[e]=I[e]))}))},59627:function(e,t,n){"use strict";t.__esModule=!0,t.useBoolean=function(e){void 0===e&&(e=!1);var t=(0,r.useState)(e),n=t[0],o=t[1],i=(0,r.useCallback)((function(){o(!0)}),[]),a=(0,r.useCallback)((function(){o(!1)}),[]),s=(0,r.useCallback)((function(){o((function(e){return!e}))}),[]);return[n,{on:i,off:a,toggle:s}]};var r=n(67294)},69038:function(e,t,n){"use strict";t.__esModule=!0,t.useCallbackRef=function(e,t){void 0===t&&(t=[]);var n=r.useRef(e);return(0,o.useSafeLayoutEffect)((function(){n.current=e})),r.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return null==n.current?void 0:n.current.apply(n,t)}),t)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(70709);function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},26872:function(e,t,n){"use strict";t.__esModule=!0,t.useClipboard=function(e,t){void 0===t&&(t={});var n=(0,o.useState)(!1),r=n[0],a=n[1],s="number"===typeof t?{timeout:t}:t,u=s.timeout,c=void 0===u?1500:u,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(s,["timeout"]),d=(0,o.useCallback)((function(){var t=(0,i.default)(e,l);a(t)}),[e,l]);return(0,o.useEffect)((function(){var e=null;return r&&(e=window.setTimeout((function(){a(!1)}),c)),function(){e&&window.clearTimeout(e)}}),[c,r]),{value:e,onCopy:d,hasCopied:r}};var r,o=n(67294),i=(r=n(20640))&&r.__esModule?r:{default:r}},46903:function(e,t,n){"use strict";t.__esModule=!0,t.useConst=function(e){var t=(0,r.useRef)(null);null===t.current&&(t.current="function"===typeof e?e():e);return t.current};var r=n(67294)},6993:function(e,t,n){"use strict";t.__esModule=!0,t.useControllableProp=function(e,t){var n=void 0!==e;return[n,n&&"undefined"!==typeof e?e:t]},t.useControllableState=function(e){var t=e.value,n=e.defaultValue,a=e.onChange,s=e.shouldUpdate,u=void 0===s?function(e,t){return e!==t}:s,c=(0,i.useCallbackRef)(a),l=(0,i.useCallbackRef)(u),d=o.useState(n),f=d[0],h=d[1],p=void 0!==t,v=p?t:f,m=o.useCallback((function(e){var t=(0,r.runIfFn)(e,v);l(v,t)&&(p||h(t),c(t))}),[p,c,v,l]);return[v,m]};var r=n(66751),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),i=n(69038);function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}},75624:function(e,t,n){"use strict";t.__esModule=!0,t.useDimensions=function(e,t){var n=r.useState(null),a=n[0],s=n[1],u=r.useRef();return(0,i.useSafeLayoutEffect)((function(){if(e.current){var n=e.current;return r(),t&&(window.addEventListener("resize",r),window.addEventListener("scroll",r)),function(){t&&(window.removeEventListener("resize",r),window.removeEventListener("scroll",r)),u.current&&cancelAnimationFrame(u.current)}}function r(){u.current=requestAnimationFrame((function(){var e=(0,o.getBox)(n);s(e)}))}}),[t]),a};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(66751),i=n(70709);function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}},33243:function(e,t,n){"use strict";t.__esModule=!0,t.useDisclosure=function(e){void 0===e&&(e={});var t=e,n=t.onClose,s=t.onOpen,c=t.isOpen,l=t.id,d=o.useState(e.defaultIsOpen||!1),f=d[0],h=d[1],p=(0,i.useControllableProp)(c,f),v=p[0],m=p[1],g=(0,a.useId)(l,"disclosure"),y=o.useCallback((function(){v||h(!1),null==n||n()}),[v,n]),b=o.useCallback((function(){v||h(!0),null==s||s()}),[v,s]),w=o.useCallback((function(){(m?y:b)()}),[m,b,y]);return{isOpen:!!m,onOpen:b,onClose:y,onToggle:w,isControlled:v,getButtonProps:function(e){return void 0===e&&(e={}),u({},e,{"aria-expanded":"true","aria-controls":g,onClick:(0,r.callAllHandlers)(e.onClick,w)})},getDisclosureProps:function(e){return void 0===e&&(e={}),u({},e,{hidden:!m,id:g})}}};var r=n(66751),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),i=n(6993),a=n(8042);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}},97649:function(e,t,n){"use strict";t.__esModule=!0,t.useEventCallback=function(e){var t=r.useRef(e);return(0,o.useSafeLayoutEffect)((function(){t.current=e})),r.useCallback((function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.current.apply(t,[e].concat(r))}),[])};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(70709);function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},33131:function(e,t,n){"use strict";t.__esModule=!0,t.useEventListenerMap=function(){var e=o.useRef(new Map),t=e.current,n=o.useCallback((function(t,n,o,i){var a=(0,r.wrapPointerEventHandler)(o,"pointerdown"===n);e.current.set(o,{__listener:a,type:(0,r.getPointerEventName)(n),el:t,options:i}),t.addEventListener(n,a,i)}),[]),i=o.useCallback((function(t,n,r,o){var i=e.current.get(r).__listener;t.removeEventListener(n,i,o),e.current.delete(i)}),[]);return o.useEffect((function(){return function(){t.forEach((function(e,t){i(e.el,e.type,t,e.options)}))}}),[i,t]),{add:n,remove:i}};var r=n(66751),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},31948:function(e,t,n){"use strict";t.__esModule=!0,t.useEventListener=function(e,t,n,a){var s=(0,i.useCallbackRef)(t);return o.useEffect((function(){var t,o=null!=(t=(0,r.runIfFn)(n))?t:document;return o.addEventListener(e,s,a),function(){o.removeEventListener(e,s,a)}}),[e,n,a,s]),function(){var t;(null!=(t=(0,r.runIfFn)(n))?t:document).removeEventListener(e,s,a)}};var r=n(66751),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),i=n(69038);function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}},53498:function(e,t,n){"use strict";t.__esModule=!0,t.useFocusEffect=function(e,t){var n=t.shouldFocus,i=t.preventScroll;(0,o.useUpdateEffect)((function(){var t=e.current;t&&n&&((0,r.hasFocusWithin)(t)||(0,r.focus)(t,{preventScroll:i,nextTick:!0}))}),[n,e,i])};var r=n(66751),o=n(52594)},19867:function(e,t,n){"use strict";t.__esModule=!0,t.useFocusOnHide=function(e,t){var n=t.shouldFocus,i=t.visible,a=t.focusRef,s=n&&!i;(0,o.useUpdateEffect)((function(){if(s&&!function(e){var t=e.current;if(!t)return!1;var n=(0,r.getActiveElement)(t);return!!n&&(!(0,r.contains)(t,n)&&!!(0,r.isTabbable)(n))}(e)){var t=(null==a?void 0:a.current)||e.current;t&&(0,r.focus)(t,{nextTick:!0})}}),[s,e,a])};var r=n(66751),o=n(52594)},59457:function(e,t,n){"use strict";t.__esModule=!0,t.useFocusOnPointerDown=function(e){var t=e.ref,n=e.elements,i=e.enabled,a=(0,r.detectBrowser)("Safari");(0,o.usePointerEvent)((function(){return(0,r.getOwnerDocument)(t.current)}),"pointerdown",(function(e){if(a&&i){var o=e.target,s=(null!=n?n:[t]).some((function(e){var t=(0,r.isRefObject)(e)?e.current:e;return(0,r.contains)(t,o)}));!(0,r.isActiveElement)(o)&&s&&(e.preventDefault(),(0,r.focus)(o))}}))};var r=n(66751),o=n(30474)},92695:function(e,t,n){"use strict";t.__esModule=!0,t.useFocusOnShow=function(e,t){void 0===t&&(t=s);var n=t,u=n.focusRef,c=n.preventScroll,l=n.shouldFocus,d=n.visible,f=(0,r.isRefObject)(e)?e.current:e,h=l&&d,p=(0,o.useCallback)((function(){if(f&&h&&!(0,r.contains)(f,document.activeElement))if(null!=u&&u.current)(0,r.focus)(u.current,{preventScroll:c,nextTick:!0});else{var e=(0,r.getAllFocusable)(f);e.length>0&&(0,r.focus)(e[0],{preventScroll:c,nextTick:!0})}}),[h,c,f,u]);(0,a.useUpdateEffect)((function(){p()}),[p]),(0,i.useEventListener)("transitionend",p,f)};var r=n(66751),o=n(67294),i=n(31948),a=n(52594),s={preventScroll:!0,shouldFocus:!1}},34281:function(e,t,n){"use strict";t.__esModule=!0,t.useForceUpdate=function(){var e=r.useRef(!1),t=r.useState(0),n=t[0],i=t[1];return(0,o.useUnmountEffect)((function(){e.current=!0})),r.useCallback((function(){e.current||i(n+1)}),[n])};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(42093);function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},8042:function(e,t,n){"use strict";t.__esModule=!0,t.useId=u,t.useIds=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=u(e);return r.useMemo((function(){return n.map((function(e){return e+"-"+i}))}),[i,n])},t.useOptionalPart=function(e){var t=r.useState(null),n=t[0],o=t[1];return{ref:r.useCallback((function(t){o(t?e:null)}),[e]),id:n,isRendered:Boolean(n)}},t.IdProvider=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}var i={prefix:Math.round(1e10*Math.random()),current:0},a=r.createContext(i),s=r.memo((function(e){var t=e.children,n=r.useContext(a),o=n===i,s=r.useMemo((function(){return{prefix:o?0:++n.prefix,current:0}}),[o,n]);return r.createElement(a.Provider,{value:s},t)}));function u(e,t){var n=r.useContext(a);return r.useMemo((function(){return e||[t,n.prefix,++n.current].filter(Boolean).join("-")}),[e,t])}t.IdProvider=s},19679:function(e,t,n){"use strict";t.__esModule=!0,t.useInterval=function(e,t){var n=(0,o.useCallbackRef)(e);r.useEffect((function(){var e=null;return null!==t&&(e=window.setInterval((function(){return n()}),t)),function(){e&&window.clearInterval(e)}}),[t,n])};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(69038);function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},24754:function(e,t,n){"use strict";t.__esModule=!0,t.useLatestRef=function(e){var t=r.useRef(null);return t.current=e,t};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},12166:function(e,t,n){"use strict";t.__esModule=!0,t.assignRef=i,t.useMergeRefs=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.useMemo((function(){return t.every((function(e){return null==e}))?null:function(e){t.forEach((function(t){t&&i(t,e)}))}}),t)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function i(e,t){if(null!=e)if("function"!==typeof e)try{e.current=t}catch(n){throw new Error("Cannot assign value '"+t+"' to ref '"+e+"'")}else e(t)}},89395:function(e,t,n){"use strict";t.__esModule=!0,t.useMouseDownRef=function(e){void 0===e&&(e=!0);var t=o.default.useRef();return(0,i.useEventListener)("mousedown",(function(n){e&&(t.current=n.target)})),t};var r,o=(r=n(67294))&&r.__esModule?r:{default:r},i=n(31948)},3267:function(e,t,n){"use strict";t.__esModule=!0,t.useOutsideClick=function(e){var t=e.ref,n=e.handler,s=(0,i.useCallbackRef)(n),u=(0,o.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,o.useEffect)((function(){var e=function(e){a(e,t)&&(u.isPointerDown=!0)},o=function(e){u.ignoreEmulatedMouseEvents?u.ignoreEmulatedMouseEvents=!1:u.isPointerDown&&n&&a(e,t)&&(u.isPointerDown=!1,s(e))},i=function(e){u.ignoreEmulatedMouseEvents=!0,n&&u.isPointerDown&&a(e,t)&&(u.isPointerDown=!1,s(e))},c=(0,r.getOwnerDocument)(t.current);return c.addEventListener("mousedown",e,!0),c.addEventListener("mouseup",o,!0),c.addEventListener("touchstart",e,!0),c.addEventListener("touchend",i,!0),function(){c.removeEventListener("mousedown",e,!0),c.removeEventListener("mouseup",o,!0),c.removeEventListener("touchstart",e,!0),c.removeEventListener("touchend",i,!0)}}),[n,t,s,u])};var r=n(66751),o=n(67294),i=n(69038);function a(e,t){var n,o=e.target;if(e.button>0)return!1;if(o&&!(0,r.getOwnerDocument)(o).body.contains(o))return!1;return!(null!=(n=t.current)&&n.contains(o))}},26465:function(e,t,n){"use strict";t.__esModule=!0,t.usePanGesture=function(e,t){var n=t.onPan,s=t.onPanStart,u=t.onPanEnd,c=t.onPanSessionStart,l=t.onPanSessionEnd,d=Boolean(n||s||u||c||l),f=(0,o.useRef)(null),h={onSessionStart:c,onSessionEnd:l,onStart:s,onMove:n,onEnd:function(e,t){f.current=null,null==u||u(e,t)}};(0,o.useEffect)((function(){var e;null==(e=f.current)||e.updateHandlers(h)})),(0,i.usePointerEvent)((function(){return e.current}),"pointerdown",d?function(e){f.current=new r.PanSession(e,h)}:r.noop),(0,a.useUnmountEffect)((function(){var e;null==(e=f.current)||e.end(),f.current=null}))};var r=n(66751),o=n(67294),i=n(30474),a=n(42093)},30474:function(e,t,n){"use strict";t.__esModule=!0,t.usePointerEvent=function(e,t,n,i){return(0,o.useEventListener)((0,r.getPointerEventName)(t),(0,r.wrapPointerEventHandler)(n,"pointerdown"===t),e,i)};var r=n(66751),o=n(31948)},129:function(e,t,n){"use strict";t.__esModule=!0,t.usePrevious=function(e){var t=(0,r.useRef)();return(0,r.useEffect)((function(){t.current=e}),[e]),t.current};var r=n(67294)},70709:function(e,t,n){"use strict";t.__esModule=!0,t.useSafeLayoutEffect=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}var i=n(66751).isBrowser?r.useLayoutEffect:r.useEffect;t.useSafeLayoutEffect=i},19197:function(e,t,n){"use strict";t.__esModule=!0,t.useShortcut=function(e){void 0===e&&(e={});var t=e,n=t.timeout,o=void 0===n?300:n,i=t.preventDefault,a=void 0===i?function(){return!0}:i,s=r.useState([]),u=s[0],c=s[1],l=r.useRef(),d=function(){l.current&&(clearTimeout(l.current),l.current=null)},f=function(){d(),l.current=setTimeout((function(){c([]),l.current=null}),o)};return r.useEffect((function(){return d}),[]),function(e){return function(t){if("Backspace"===t.key){var n=[].concat(u);return n.pop(),void c(n)}if(function(e){var t=e.key;return 1===t.length||t.length>1&&/[^a-zA-Z0-9]/.test(t)}(t)){var r=u.concat(t.key);a(t)&&(t.preventDefault(),t.stopPropagation()),c(r),e(r.join("")),f()}}}};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},43670:function(e,t,n){"use strict";t.__esModule=!0,t.useTimeout=function(e,t){var n=(0,o.useCallbackRef)(e);r.useEffect((function(){if(null!=t){var e;return e=window.setTimeout((function(){n()}),t),function(){e&&window.clearTimeout(e)}}}),[t,n])};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),o=n(69038);function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}},42093:function(e,t,n){"use strict";t.__esModule=!0,t.useUnmountEffect=function(e,t){void 0===t&&(t=[]);return r.useEffect((function(){return function(){return e()}}),t)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},52594:function(e,t,n){"use strict";t.__esModule=!0,t.useUpdateEffect=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}t.useUpdateEffect=function(e,t){var n=r.useRef(!1);return r.useEffect((function(){if(n.current)return e();n.current=!0}),t),n.current}},70005:function(e,t,n){"use strict";t.__esModule=!0,t.useWhyDidYouUpdate=function(e,t){var n=r.useRef();r.useEffect((function(){if(n.current){var r=Object.keys(i({},n.current,t)),o={};r.forEach((function(e){n.current[e]!==t[e]&&(o[e]={from:n.current[e],to:t[e]})})),Object.keys(o).length&&console.log("[why-did-you-update]",e,o)}n.current=t}))};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}},90639:function(e,t,n){"use strict";n.d(t,{k:function(){return o}});var r=n(67294);function o(e){void 0===e&&(e=!1);var[t,n]=(0,r.useState)(e);return[t,{on:(0,r.useCallback)((()=>{n(!0)}),[]),off:(0,r.useCallback)((()=>{n(!1)}),[]),toggle:(0,r.useCallback)((()=>{n((e=>!e))}),[])}]}},10762:function(e,t,n){"use strict";n.d(t,{W:function(){return i}});var r=n(67294),o=n(68327);function i(e,t){void 0===t&&(t=[]);var n=r.useRef(e);return(0,o.G)((()=>{n.current=e})),r.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return null==n.current?void 0:n.current(...t)}),t)}},51034:function(e,t,n){"use strict";n.d(t,{p:function(){return a},T:function(){return s}});var r=n(80658),o=n(67294),i=n(10762);function a(e,t){var n=void 0!==e;return[n,n&&"undefined"!==typeof e?e:t]}function s(e){var{value:t,defaultValue:n,onChange:a,shouldUpdate:s=((e,t)=>e!==t)}=e,u=(0,i.W)(a),c=(0,i.W)(s),[l,d]=o.useState(n),f=void 0!==t,h=f?t:l,p=o.useCallback((e=>{var t=(0,r.Pu)(e,h);c(h,t)&&(f||d(t),u(t))}),[f,u,h,c]);return[h,p]}},74860:function(e,t,n){"use strict";n.d(t,{q:function(){return u}});var r=n(80658),o=n(67294),i=n(51034),a=n(94577);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e){void 0===e&&(e={});var{onClose:t,onOpen:n,isOpen:u,id:c}=e,[l,d]=o.useState(e.defaultIsOpen||!1),[f,h]=(0,i.p)(u,l),p=(0,a.Me)(c,"disclosure"),v=o.useCallback((()=>{f||d(!1),null==t||t()}),[f,t]),m=o.useCallback((()=>{f||d(!0),null==n||n()}),[f,n]),g=o.useCallback((()=>{(h?v:m)()}),[h,m,v]);return{isOpen:!!h,onOpen:m,onClose:v,onToggle:g,isControlled:f,getButtonProps:function(e){return void 0===e&&(e={}),s({},e,{"aria-expanded":"true","aria-controls":p,onClick:(0,r.v0)(e.onClick,g)})},getDisclosureProps:function(e){return void 0===e&&(e={}),s({},e,{hidden:!h,id:p})}}}},34941:function(e,t,n){"use strict";n.d(t,{O:function(){return a}});var r=n(80658),o=n(67294),i=n(10762);function a(e,t,n,a){var s=(0,i.W)(t);return o.useEffect((()=>{var t,o=null!=(t=(0,r.Pu)(n))?t:document;return o.addEventListener(e,s,a),()=>{o.removeEventListener(e,s,a)}}),[e,n,a,s]),()=>{var t;(null!=(t=(0,r.Pu)(n))?t:document).removeEventListener(e,s,a)}}},68327:function(e,t,n){"use strict";n.d(t,{G:function(){return o}});var r=n(67294),o=n(84461).jU?r.useLayoutEffect:r.useEffect},77581:function(e,t,n){"use strict";n.d(t,{z:function(){return o}});var r=n(67294);function o(e,t){return void 0===t&&(t=[]),r.useEffect((()=>()=>e()),t)}},22653:function(e,t,n){"use strict";n.d(t,{r:function(){return o}});var r=n(67294),o=(e,t)=>{var n=r.useRef(!1);return r.useEffect((()=>{if(n.current)return e();n.current=!0}),t),n.current}},87474:function(e,t,n){"use strict";t.__esModule=!0,t.createIcon=function(e){var t=e.viewBox,n=void 0===t?"0 0 24 24":t,s=e.d,c=e.path,l=e.displayName,d=e.defaultProps,f=void 0===d?{}:d,h=(0,r.forwardRef)((function(e,t){return i.createElement(a.Icon,u({ref:t,viewBox:n},f,e),null!=c?c:i.createElement("path",{fill:"currentColor",d:s}))}));o.__DEV__&&(h.displayName=l);return h};var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),a=n(41120);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}},41120:function(e,t,n){"use strict";t.__esModule=!0,t.default=t.Icon=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u={path:i.createElement("g",{stroke:"currentColor",strokeWidth:"1.5"},i.createElement("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.createElement("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.createElement("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})),viewBox:"0 0 24 24"},c=(0,r.forwardRef)((function(e,t){var n=e.as,a=e.viewBox,c=e.color,l=void 0===c?"currentColor":c,d=e.focusable,f=void 0!==d&&d,h=e.children,p=e.className,v=e.__css,m=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["as","viewBox","color","focusable","children","className","__css"]),g={ref:t,focusable:f,className:(0,o.cx)("chakra-icon",p),__css:s({w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:l},v)},y=null!=a?a:u.viewBox;if(n&&"string"!==typeof n)return i.createElement(r.chakra.svg,s({as:n},g,m));var b=null!=h?h:u.path;return i.createElement(r.chakra.svg,s({verticalAlign:"middle",viewBox:y},g,m),b)}));t.Icon=c,o.__DEV__&&(c.displayName="Icon");var l=c;t.default=l},29559:function(e,t,n){"use strict";t.__esModule=!0;var r={};t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(41120));t.default=o.default,Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(87474);function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}))},89867:function(e,t,n){"use strict";n.d(t,{I:function(){return u}});var r=n(90063),o=n(73808),i=n(67294),a=n(70058);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e){var{viewBox:t="0 0 24 24",d:n,path:u,displayName:c,defaultProps:l={}}=e,d=(0,r.G)(((e,r)=>i.createElement(a.J,s({ref:r,viewBox:t},l,e),null!=u?u:i.createElement("path",{fill:"currentColor",d:n}))));return o.Ts&&(d.displayName=c),d}},70058:function(e,t,n){"use strict";n.d(t,{J:function(){return l}});var r=n(90063),o=n(89384),i=n(84461),a=n(73808),s=n(67294);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c={path:s.createElement("g",{stroke:"currentColor",strokeWidth:"1.5"},s.createElement("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),s.createElement("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),s.createElement("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})),viewBox:"0 0 24 24"},l=(0,r.G)(((e,t)=>{var{as:n,viewBox:r,color:a="currentColor",focusable:l=!1,children:d,className:f,__css:h}=e,p=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["as","viewBox","color","focusable","children","className","__css"]),v={ref:t,focusable:l,className:(0,i.cx)("chakra-icon",f),__css:u({w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a},h)},m=null!=r?r:c.viewBox;if(n&&"string"!==typeof n)return s.createElement(o.m$.svg,u({as:n},v,p));var g=null!=d?d:c.path;return s.createElement(o.m$.svg,u({verticalAlign:"middle",viewBox:m},v,p),g)}));a.Ts&&(l.displayName="Icon")},79095:function(e,t,n){"use strict";t.__esModule=!0,t.AddIcon=void 0;var r=(0,n(29559).createIcon)({d:"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z",displayName:"AddIcon"});t.AddIcon=r},41725:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowBackIcon=void 0;var r=(0,n(29559).createIcon)({d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z",displayName:"ArrowBackIcon"});t.ArrowBackIcon=r},16748:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowDownIcon=void 0;var r=(0,n(29559).createIcon)({d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",displayName:"ArrowDownIcon"});t.ArrowDownIcon=r},75616:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowForwardIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z",displayName:"ArrowForwardIcon"});t.ArrowForwardIcon=r},30820:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowLeftIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"ArrowLeftIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M10.416,12a2.643,2.643,0,0,1,.775-1.875L20.732.584a1.768,1.768,0,0,1,2.5,2.5l-8.739,8.739a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5l-9.541-9.541A2.643,2.643,0,0,1,10.416,12Z"}),o.createElement("path",{d:"M.25,12a2.643,2.643,0,0,1,.775-1.875L10.566.584a1.768,1.768,0,0,1,2.5,2.5L4.327,11.823a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5L1.025,13.875A2.643,2.643,0,0,1,.25,12Z"}))});t.ArrowLeftIcon=a},57243:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowRightIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"ArrowRightIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z"}),o.createElement("path",{d:"M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z"}))});t.ArrowRightIcon=a},38677:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowUpIcon=void 0;var r=(0,n(29559).createIcon)({d:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",displayName:"ArrowUpIcon"});t.ArrowUpIcon=r},94707:function(e,t,n){"use strict";t.__esModule=!0,t.ArrowUpDownIcon=void 0;var r=(0,n(29559).createIcon)({viewBox:"0 0 16 16",d:"M11.891 9.992a1 1 0 1 1 1.416 1.415l-4.3 4.3a1 1 0 0 1-1.414 0l-4.3-4.3A1 1 0 0 1 4.71 9.992l3.59 3.591 3.591-3.591zm0-3.984L8.3 2.417 4.709 6.008a1 1 0 0 1-1.416-1.415l4.3-4.3a1 1 0 0 1 1.414 0l4.3 4.3a1 1 0 1 1-1.416 1.415z",displayName:"ArrowUpDownIcon"});t.ArrowUpDownIcon=r},64551:function(e,t,n){"use strict";t.__esModule=!0,t.AtSignIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"AtSignIcon",d:"M12,.5A11.634,11.634,0,0,0,.262,12,11.634,11.634,0,0,0,12,23.5a11.836,11.836,0,0,0,6.624-2,1.25,1.25,0,1,0-1.393-2.076A9.34,9.34,0,0,1,12,21a9.132,9.132,0,0,1-9.238-9A9.132,9.132,0,0,1,12,3a9.132,9.132,0,0,1,9.238,9v.891a1.943,1.943,0,0,1-3.884,0V12A5.355,5.355,0,1,0,12,17.261a5.376,5.376,0,0,0,3.861-1.634,4.438,4.438,0,0,0,7.877-2.736V12A11.634,11.634,0,0,0,12,.5Zm0,14.261A2.763,2.763,0,1,1,14.854,12,2.812,2.812,0,0,1,12,14.761Z"});t.AtSignIcon=r},78281:function(e,t,n){"use strict";t.__esModule=!0,t.AttachmentIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"AttachmentIcon",d:"M21.843,3.455a6.961,6.961,0,0,0-9.846,0L1.619,13.832a5.128,5.128,0,0,0,7.252,7.252L17.3,12.653A3.293,3.293,0,1,0,12.646,8L7.457,13.184A1,1,0,1,0,8.871,14.6L14.06,9.409a1.294,1.294,0,0,1,1.829,1.83L7.457,19.67a3.128,3.128,0,0,1-4.424-4.424L13.411,4.869a4.962,4.962,0,1,1,7.018,7.018L12.646,19.67a1,1,0,1,0,1.414,1.414L21.843,13.3a6.96,6.96,0,0,0,0-9.846Z"});t.AttachmentIcon=r},94688:function(e,t,n){"use strict";t.__esModule=!0,t.BellIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"BellIcon",d:"M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"});t.BellIcon=r},51713:function(e,t,n){"use strict";t.__esModule=!0,t.CalendarIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"CalendarIcon",viewBox:"0 0 14 14",d:"M10.8889,5.5 L3.11111,5.5 L3.11111,7.05556 L10.8889,7.05556 L10.8889,5.5 Z M12.4444,1.05556 L11.6667,1.05556 L11.6667,0 L10.1111,0 L10.1111,1.05556 L3.88889,1.05556 L3.88889,0 L2.33333,0 L2.33333,1.05556 L1.55556,1.05556 C0.692222,1.05556 0.00777777,1.75556 0.00777777,2.61111 L0,12.5 C0,13.3556 0.692222,14 1.55556,14 L12.4444,14 C13.3,14 14,13.3556 14,12.5 L14,2.61111 C14,1.75556 13.3,1.05556 12.4444,1.05556 Z M12.4444,12.5 L1.55556,12.5 L1.55556,3.94444 L12.4444,3.94444 L12.4444,12.5 Z M8.55556,8.61111 L3.11111,8.61111 L3.11111,10.1667 L8.55556,10.1667 L8.55556,8.61111 Z"});t.CalendarIcon=r},92547:function(e,t,n){"use strict";t.__esModule=!0,t.ChatIcon=void 0;var r=(0,n(29559).createIcon)({d:"M0.913134,0.920639 C1.49851,0.331726 2.29348,0 3.12342,0 L10.8766,0 C11.7065,0 12.5015,0.331725 13.0869,0.920639 C13.6721,1.50939 14,2.30689 14,3.13746 L14,8.12943 C13.9962,8.51443 13.9059,8.97125 13.7629,9.32852 C13.6128,9.683 13.3552,10.0709 13.0869,10.3462 C12.813,10.6163 12.4265,10.8761 12.0734,11.0274 C11.7172,11.1716 11.2607,11.263 10.8766,11.2669 L10.1234,11.2669 L10.1234,12.5676 L10.1209,12.5676 C10.1204,12.793 10.0633,13.0791 9.97807,13.262 C9.8627,13.466 9.61158,13.7198 9.40818,13.8382 L9.40824,13.8383 C9.4077,13.8386 9.40716,13.8388 9.40661,13.8391 C9.40621,13.8393 9.4058,13.8396 9.40539,13.8398 L9.40535,13.8397 C9.22958,13.9254 8.94505,13.9951 8.75059,14 L8.74789,14 C8.35724,13.9963 7.98473,13.8383 7.71035,13.5617 L5.39553,11.2669 L3.12342,11.2669 C2.29348,11.2669 1.49851,10.9352 0.913134,10.3462 C0.644826,10.0709 0.387187,9.683 0.23711,9.32852 C0.0941235,8.97125 0.00379528,8.51443 0,8.12943 L0,3.13746 C0,2.30689 0.327915,1.50939 0.913134,0.920639 Z M3.12342,1.59494 C2.71959,1.59494 2.33133,1.75628 2.04431,2.04503 C1.75713,2.33395 1.59494,2.72681 1.59494,3.13746 L1.59494,8.12943 C1.59114,8.35901 1.62114,8.51076 1.71193,8.72129 C1.79563,8.9346 1.88065,9.06264 2.04431,9.22185 C2.33133,9.5106 2.71959,9.67195 3.12342,9.67195 L5.72383,9.67195 C5.93413,9.67195 6.13592,9.75502 6.28527,9.90308 L8.52848,12.1269 L8.52848,10.4694 C8.52848,10.029 8.88552,9.67195 9.32595,9.67195 L10.8766,9.67195 C11.1034,9.67583 11.2517,9.64614 11.4599,9.55518 C11.6712,9.47132 11.7976,9.38635 11.9557,9.22185 C12.1193,9.06264 12.2044,8.9346 12.2881,8.72129 C12.3789,8.51076 12.4089,8.35901 12.4051,8.12943 L12.4051,3.13746 C12.4051,2.72681 12.2429,2.33394 11.9557,2.04503 C11.6687,1.75628 11.2804,1.59494 10.8766,1.59494 L3.12342,1.59494 Z",displayName:"ChatIcon",viewBox:"0 0 14 14"});t.ChatIcon=r},26324:function(e,t,n){"use strict";t.__esModule=!0,t.CheckIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({viewBox:"0 0 14 14",path:o.createElement("g",{fill:"currentColor"},o.createElement("polygon",{points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"}))});t.CheckIcon=a},91204:function(e,t,n){"use strict";t.__esModule=!0,t.CheckCircleIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"CheckCircleIcon",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"});t.CheckCircleIcon=r},62628:function(e,t,n){"use strict";t.__esModule=!0,t.ChevronDownIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});t.ChevronDownIcon=r},65128:function(e,t,n){"use strict";t.__esModule=!0,t.ChevronLeftIcon=void 0;var r=(0,n(29559).createIcon)({d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",displayName:"ChevronLeftIcon"});t.ChevronLeftIcon=r},7659:function(e,t,n){"use strict";t.__esModule=!0,t.ChevronRightIcon=void 0;var r=(0,n(29559).createIcon)({d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",displayName:"ChevronRightIcon"});t.ChevronRightIcon=r},48959:function(e,t,n){"use strict";t.__esModule=!0,t.ChevronUpIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"});t.ChevronUpIcon=r},34066:function(e,t,n){"use strict";t.__esModule=!0,t.CloseIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"});t.CloseIcon=r},68789:function(e,t,n){"use strict";t.__esModule=!0,t.CopyIcon=void 0;var r=(0,n(29559).createIcon)({d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",displayName:"CopyIcon"});t.CopyIcon=r},60915:function(e,t,n){"use strict";t.__esModule=!0,t.DeleteIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"DeleteIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"}))});t.DeleteIcon=a},5013:function(e,t,n){"use strict";t.__esModule=!0,t.DownloadIcon=void 0;var r=(0,n(29559).createIcon)({d:"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z",displayName:"DownloadIcon",viewBox:"0 0 14 14"});t.DownloadIcon=r},54411:function(e,t,n){"use strict";t.__esModule=!0,t.DragHandleIcon=void 0;var r=(0,n(29559).createIcon)({viewBox:"0 0 10 10",d:"M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7.55228475,8 8,8.44771525 8,9 C8,9.55228475 7.55228475,10 7,10 Z",displayName:"DragHandleIcon"});t.DragHandleIcon=r},27915:function(e,t,n){"use strict";t.__esModule=!0,t.EditIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"EditIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),o.createElement("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"}))});t.EditIcon=a},9079:function(e,t,n){"use strict";t.__esModule=!0,t.EmailIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"EmailIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M11.114,14.556a1.252,1.252,0,0,0,1.768,0L22.568,4.87a.5.5,0,0,0-.281-.849A1.966,1.966,0,0,0,22,4H2a1.966,1.966,0,0,0-.289.021.5.5,0,0,0-.281.849Z"}),o.createElement("path",{d:"M23.888,5.832a.182.182,0,0,0-.2.039l-6.2,6.2a.251.251,0,0,0,0,.354l5.043,5.043a.75.75,0,1,1-1.06,1.061l-5.043-5.043a.25.25,0,0,0-.354,0l-2.129,2.129a2.75,2.75,0,0,1-3.888,0L7.926,13.488a.251.251,0,0,0-.354,0L2.529,18.531a.75.75,0,0,1-1.06-1.061l5.043-5.043a.251.251,0,0,0,0-.354l-6.2-6.2a.18.18,0,0,0-.2-.039A.182.182,0,0,0,0,6V18a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V6A.181.181,0,0,0,23.888,5.832Z"}))});t.EmailIcon=a},59096:function(e,t,n){"use strict";t.__esModule=!0,t.ExternalLinkIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"ExternalLinkIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),o.createElement("path",{d:"M15 3h6v6"}),o.createElement("path",{d:"M10 14L21 3"}))});t.ExternalLinkIcon=a},14122:function(e,t,n){"use strict";t.__esModule=!0,t.HamburgerIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"HamburgerIcon",viewBox:"0 0 24 24",d:"M 3 5 A 1.0001 1.0001 0 1 0 3 7 L 21 7 A 1.0001 1.0001 0 1 0 21 5 L 3 5 z M 3 11 A 1.0001 1.0001 0 1 0 3 13 L 21 13 A 1.0001 1.0001 0 1 0 21 11 L 3 11 z M 3 17 A 1.0001 1.0001 0 1 0 3 19 L 21 19 A 1.0001 1.0001 0 1 0 21 17 L 3 17 z"});t.HamburgerIcon=r},49537:function(e,t,n){"use strict";t.__esModule=!0,t.InfoIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"});t.InfoIcon=r},20883:function(e,t,n){"use strict";t.__esModule=!0,t.InfoOutlineIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"InfoOutlineIcon",path:o.createElement("g",{fill:"currentColor",stroke:"currentColor",strokeLinecap:"square",strokeWidth:"2"},o.createElement("circle",{cx:"12",cy:"12",fill:"none",r:"11",stroke:"currentColor"}),o.createElement("line",{fill:"none",x1:"11.959",x2:"11.959",y1:"11",y2:"17"}),o.createElement("circle",{cx:"11.959",cy:"7",r:"1",stroke:"none"}))});t.InfoOutlineIcon=a},25929:function(e,t,n){"use strict";t.__esModule=!0,t.LinkIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"LinkIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z"}),o.createElement("path",{d:"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z"}))});t.LinkIcon=a},81971:function(e,t,n){"use strict";t.__esModule=!0,t.LockIcon=void 0;var r=(0,n(29559).createIcon)({d:"M19.5,9.5h-.75V6.75a6.75,6.75,0,0,0-13.5,0V9.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5ZM7.75,6.75a4.25,4.25,0,0,1,8.5,0V9a.5.5,0,0,1-.5.5H8.25a.5.5,0,0,1-.5-.5Z",displayName:"LockIcon"});t.LockIcon=r},49888:function(e,t,n){"use strict";t.__esModule=!0,t.MinusIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"MinusIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("rect",{height:"4",width:"20",x:"2",y:"10"}))});t.MinusIcon=a},38054:function(e,t,n){"use strict";t.__esModule=!0,t.MoonIcon=void 0;var r=(0,n(29559).createIcon)({d:"M21.4,13.7C20.6,13.9,19.8,14,19,14c-5,0-9-4-9-9c0-0.8,0.1-1.6,0.3-2.4c0.1-0.3,0-0.7-0.3-1 c-0.3-0.3-0.6-0.4-1-0.3C4.3,2.7,1,7.1,1,12c0,6.1,4.9,11,11,11c4.9,0,9.3-3.3,10.6-8.1c0.1-0.3,0-0.7-0.3-1 C22.1,13.7,21.7,13.6,21.4,13.7z",displayName:"MoonIcon"});t.MoonIcon=r},7846:function(e,t,n){"use strict";t.__esModule=!0,t.NotAllowedIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8 0-1.85.63-3.55 1.69-4.9L16.9 18.31C15.55 19.37 13.85 20 12 20zm6.31-3.1L7.1 5.69C8.45 4.63 10.15 4 12 4c4.42 0 8 3.58 8 8 0 1.85-.63 3.55-1.69 4.9z",displayName:"NotAllowedIcon"});t.NotAllowedIcon=r},98271:function(e,t,n){"use strict";t.__esModule=!0,t.PhoneIcon=void 0;var r=(0,n(29559).createIcon)({d:"M2.20731,0.0127209 C2.1105,-0.0066419 1.99432,-0.00664663 1.91687,0.032079 C0.871279,0.438698 0.212942,1.92964 0.0580392,2.95587 C-0.426031,6.28627 2.20731,9.17133 4.62766,11.0689 C6.77694,12.7534 10.9012,15.5223 13.3409,12.8503 C13.6507,12.5211 14.0186,12.037 13.9993,11.553 C13.9412,10.7397 13.186,10.1588 12.6051,9.71349 C12.1598,9.38432 11.2304,8.47427 10.6495,8.49363 C10.1267,8.51299 9.79754,9.05515 9.46837,9.38432 L8.88748,9.96521 C8.79067,10.062 7.55145,9.24878 7.41591,9.15197 C6.91248,8.8228 6.4284,8.45491 6.00242,8.04829 C5.57644,7.64167 5.18919,7.19632 4.86002,6.73161 C4.7632,6.59607 3.96933,5.41495 4.04678,5.31813 C4.04678,5.31813 4.72448,4.58234 4.91811,4.2919 C5.32473,3.67229 5.63453,3.18822 5.16982,2.45243 C4.99556,2.18135 4.78257,1.96836 4.55021,1.73601 C4.14359,1.34875 3.73698,0.942131 3.27227,0.612963 C3.02055,0.419335 2.59457,0.0708094 2.20731,0.0127209 Z",displayName:"PhoneIcon",viewBox:"0 0 14 14"});t.PhoneIcon=r},12779:function(e,t,n){"use strict";t.__esModule=!0,t.PlusSquareIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"PlusSquareIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("rect",{height:"18",width:"18",rx:"2",ry:"2",x:"3",y:"3"}),o.createElement("path",{d:"M12 8v8"}),o.createElement("path",{d:"M8 12h8"}))});t.PlusSquareIcon=a},93942:function(e,t,n){"use strict";t.__esModule=!0,t.QuestionIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z",displayName:"QuestionIcon"});t.QuestionIcon=r},43370:function(e,t,n){"use strict";t.__esModule=!0,t.QuestionOutlineIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"QuestionOutlineIcon",path:o.createElement("g",{stroke:"currentColor",strokeWidth:"1.5"},o.createElement("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),o.createElement("path",{fill:"none",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),o.createElement("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"}))});t.QuestionOutlineIcon=a},46889:function(e,t,n){"use strict";t.__esModule=!0,t.RepeatIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"RepeatIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M10.319,4.936a7.239,7.239,0,0,1,7.1,2.252,1.25,1.25,0,1,0,1.872-1.657A9.737,9.737,0,0,0,9.743,2.5,10.269,10.269,0,0,0,2.378,9.61a.249.249,0,0,1-.271.178l-1.033-.13A.491.491,0,0,0,.6,9.877a.5.5,0,0,0-.019.526l2.476,4.342a.5.5,0,0,0,.373.248.43.43,0,0,0,.062,0,.5.5,0,0,0,.359-.152l3.477-3.593a.5.5,0,0,0-.3-.844L5.15,10.172a.25.25,0,0,1-.2-.333A7.7,7.7,0,0,1,10.319,4.936Z"}),o.createElement("path",{d:"M23.406,14.1a.5.5,0,0,0,.015-.526l-2.5-4.329A.5.5,0,0,0,20.546,9a.489.489,0,0,0-.421.151l-3.456,3.614a.5.5,0,0,0,.3.842l1.848.221a.249.249,0,0,1,.183.117.253.253,0,0,1,.023.216,7.688,7.688,0,0,1-5.369,4.9,7.243,7.243,0,0,1-7.1-2.253,1.25,1.25,0,1,0-1.872,1.656,9.74,9.74,0,0,0,9.549,3.03,10.261,10.261,0,0,0,7.369-7.12.251.251,0,0,1,.27-.179l1.058.127a.422.422,0,0,0,.06,0A.5.5,0,0,0,23.406,14.1Z"}))});t.RepeatIcon=a},46364:function(e,t,n){"use strict";t.__esModule=!0,t.RepeatClockIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"RepeatClockIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z"}),o.createElement("path",{d:"M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z"}))});t.RepeatClockIcon=a},43761:function(e,t,n){"use strict";t.__esModule=!0,t.SearchIcon=void 0;var r=(0,n(29559).createIcon)({d:"M23.384,21.619,16.855,15.09a9.284,9.284,0,1,0-1.768,1.768l6.529,6.529a1.266,1.266,0,0,0,1.768,0A1.251,1.251,0,0,0,23.384,21.619ZM2.75,9.5a6.75,6.75,0,1,1,6.75,6.75A6.758,6.758,0,0,1,2.75,9.5Z",displayName:"SearchIcon"});t.SearchIcon=r},66264:function(e,t,n){"use strict";t.__esModule=!0,t.Search2Icon=void 0;var r=(0,n(29559).createIcon)({d:"M23.414,20.591l-4.645-4.645a10.256,10.256,0,1,0-2.828,2.829l4.645,4.644a2.025,2.025,0,0,0,2.828,0A2,2,0,0,0,23.414,20.591ZM10.25,3.005A7.25,7.25,0,1,1,3,10.255,7.258,7.258,0,0,1,10.25,3.005Z",displayName:"Search2Icon"});t.Search2Icon=r},11375:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsIcon=void 0;var r=(0,n(29559).createIcon)({viewBox:"0 0 14 14",d:"M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z",displayName:"SettingsIcon"});t.SettingsIcon=r},23961:function(e,t,n){"use strict";t.__esModule=!0,t.SmallAddIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"SmallAddIcon",viewBox:"0 0 20 20",path:o.createElement("path",{fill:"currentColor",d:"M14 9h-3V6c0-.55-.45-1-1-1s-1 .45-1 1v3H6c-.55 0-1 .45-1 1s.45 1 1 1h3v3c0 .55.45 1 1 1s1-.45 1-1v-3h3c.55 0 1-.45 1-1s-.45-1-1-1z",fillRule:"evenodd"})});t.SmallAddIcon=a},2746:function(e,t,n){"use strict";t.__esModule=!0,t.SmallCloseIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"SmallCloseIcon",viewBox:"0 0 16 16",path:o.createElement("path",{d:"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z",fillRule:"evenodd",fill:"currentColor"})});t.SmallCloseIcon=a},28317:function(e,t,n){"use strict";t.__esModule=!0,t.SpinnerIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"SpinnerIcon",path:o.createElement(o.Fragment,null,o.createElement("defs",null,o.createElement("linearGradient",{x1:"28.154%",y1:"63.74%",x2:"74.629%",y2:"17.783%",id:"a"},o.createElement("stop",{stopColor:"currentColor",offset:"0%"}),o.createElement("stop",{stopColor:"#fff",stopOpacity:"0",offset:"100%"}))),o.createElement("g",{transform:"translate(2)",fill:"none"},o.createElement("circle",{stroke:"url(#a)",strokeWidth:"4",cx:"10",cy:"12",r:"10"}),o.createElement("path",{d:"M10 2C4.477 2 0 6.477 0 12",stroke:"currentColor",strokeWidth:"4"}),o.createElement("rect",{fill:"currentColor",x:"8",width:"4",height:"4",rx:"8"})))});t.SpinnerIcon=a},82190:function(e,t,n){"use strict";t.__esModule=!0,t.StarIcon=void 0;var r=(0,n(29559).createIcon)({d:"M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z",displayName:"StarIcon"});t.StarIcon=r},71033:function(e,t,n){"use strict";t.__esModule=!0,t.SunIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"SunIcon",path:o.createElement("g",{strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:"2",fill:"none",stroke:"currentColor"},o.createElement("circle",{cx:"12",cy:"12",r:"5"}),o.createElement("path",{d:"M12 1v2"}),o.createElement("path",{d:"M12 21v2"}),o.createElement("path",{d:"M4.22 4.22l1.42 1.42"}),o.createElement("path",{d:"M18.36 18.36l1.42 1.42"}),o.createElement("path",{d:"M1 12h2"}),o.createElement("path",{d:"M21 12h2"}),o.createElement("path",{d:"M4.22 19.78l1.42-1.42"}),o.createElement("path",{d:"M18.36 5.64l1.42-1.42"}))});t.SunIcon=a},40430:function(e,t,n){"use strict";t.__esModule=!0,t.TimeIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"TimeIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm0,22A10,10,0,1,1,22,12,10.011,10.011,0,0,1,12,22Z"}),o.createElement("path",{d:"M17.134,15.81,12.5,11.561V6.5a1,1,0,0,0-2,0V12a1,1,0,0,0,.324.738l4.959,4.545a1.01,1.01,0,0,0,1.413-.061A1,1,0,0,0,17.134,15.81Z"}))});t.TimeIcon=a},33670:function(e,t,n){"use strict";t.__esModule=!0,t.TriangleDownIcon=void 0;var r=(0,n(29559).createIcon)({d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z",displayName:"TriangleDownIcon"});t.TriangleDownIcon=r},27258:function(e,t,n){"use strict";t.__esModule=!0,t.TriangleUpIcon=void 0;var r=(0,n(29559).createIcon)({d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z",displayName:"TriangleUpIcon"});t.TriangleUpIcon=r},82125:function(e,t,n){"use strict";t.__esModule=!0,t.UnlockIcon=void 0;var r=(0,n(29559).createIcon)({d:"M19.5,9.5h-.75V6.75A6.751,6.751,0,0,0,5.533,4.811a1.25,1.25,0,1,0,2.395.717A4.251,4.251,0,0,1,16.25,6.75V9a.5.5,0,0,1-.5.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-9.5,6a2,2,0,1,1,3,1.723V19.5a1,1,0,0,1-2,0V17.223A1.994,1.994,0,0,1,10,15.5Z",displayName:"UnlockIcon"});t.UnlockIcon=r},48690:function(e,t,n){"use strict";t.__esModule=!0,t.UpDownIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"UpDownIcon",viewBox:"-1 -1 9 11",d:"M 3.5 0L 3.98809 -0.569442L 3.5 -0.987808L 3.01191 -0.569442L 3.5 0ZM 3.5 9L 3.01191 9.56944L 3.5 9.98781L 3.98809 9.56944L 3.5 9ZM 0.488094 3.56944L 3.98809 0.569442L 3.01191 -0.569442L -0.488094 2.43056L 0.488094 3.56944ZM 3.01191 0.569442L 6.51191 3.56944L 7.48809 2.43056L 3.98809 -0.569442L 3.01191 0.569442ZM -0.488094 6.56944L 3.01191 9.56944L 3.98809 8.43056L 0.488094 5.43056L -0.488094 6.56944ZM 3.98809 9.56944L 7.48809 6.56944L 6.51191 5.43056L 3.01191 8.43056L 3.98809 9.56944Z"});t.UpDownIcon=r},74624:function(e,t,n){"use strict";t.__esModule=!0,t.ViewIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"ViewIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z"}),o.createElement("circle",{cx:"12",cy:"12",r:"2"}))});t.ViewIcon=a},25766:function(e,t,n){"use strict";t.__esModule=!0,t.ViewOffIcon=void 0;var r=n(29559),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}var a=(0,r.createIcon)({displayName:"ViewOffIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M23.2,10.549a20.954,20.954,0,0,0-4.3-3.6l4-3.995a1,1,0,1,0-1.414-1.414l-.018.018a.737.737,0,0,1-.173.291l-19.5,19.5c-.008.007-.018.009-.026.017a1,1,0,0,0,1.631,1.088l4.146-4.146a11.26,11.26,0,0,0,4.31.939h.3c4.256,0,8.489-2.984,11.051-5.8A2.171,2.171,0,0,0,23.2,10.549ZM16.313,13.27a4.581,4.581,0,0,1-3,3.028,4.3,4.3,0,0,1-3.1-.19.253.253,0,0,1-.068-.407l5.56-5.559a.252.252,0,0,1,.407.067A4.3,4.3,0,0,1,16.313,13.27Z"}),o.createElement("path",{d:"M7.615,13.4a.244.244,0,0,0,.061-.24A4.315,4.315,0,0,1,7.5,12,4.5,4.5,0,0,1,12,7.5a4.276,4.276,0,0,1,1.16.173.244.244,0,0,0,.24-.062l1.941-1.942a.254.254,0,0,0-.1-.421A10.413,10.413,0,0,0,12,4.75C7.7,4.692,3.4,7.7.813,10.549a2.15,2.15,0,0,0-.007,2.9,21.209,21.209,0,0,0,3.438,3.03.256.256,0,0,0,.326-.029Z"}))});t.ViewOffIcon=a},7265:function(e,t,n){"use strict";t.__esModule=!0,t.WarningIcon=void 0;var r=(0,n(29559).createIcon)({d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z",displayName:"WarningIcon"});t.WarningIcon=r},34237:function(e,t,n){"use strict";t.__esModule=!0,t.WarningTwoIcon=void 0;var r=(0,n(29559).createIcon)({displayName:"WarningTwoIcon",d:"M23.119,20,13.772,2.15h0a2,2,0,0,0-3.543,0L.881,20a2,2,0,0,0,1.772,2.928H21.347A2,2,0,0,0,23.119,20ZM11,8.423a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Zm1.05,11.51h-.028a1.528,1.528,0,0,1-1.522-1.47,1.476,1.476,0,0,1,1.448-1.53h.028A1.527,1.527,0,0,1,13.5,18.4,1.475,1.475,0,0,1,12.05,19.933Z"});t.WarningTwoIcon=r},71018:function(e,t,n){"use strict";t.__esModule=!0;var r=n(68789);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(43761);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(66264);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(38054);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(71033);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(79095);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(23961);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(11375);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||(t[e]=l[e]))}));var d=n(91204);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(81971);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(82125);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(74624);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||(t[e]=p[e]))}));var v=n(25766);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===v[e]||(t[e]=v[e]))}));var m=n(5013);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===m[e]||(t[e]=m[e]))}));var g=n(60915);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===g[e]||(t[e]=g[e]))}));var y=n(46889);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=n(46364);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===b[e]||(t[e]=b[e]))}));var w=n(27915);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===w[e]||(t[e]=w[e]))}));var _=n(65128);Object.keys(_).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===_[e]||(t[e]=_[e]))}));var x=n(7659);Object.keys(x).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===x[e]||(t[e]=x[e]))}));var k=n(62628);Object.keys(k).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===k[e]||(t[e]=k[e]))}));var E=n(48959);Object.keys(E).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===E[e]||(t[e]=E[e]))}));var O=n(41725);Object.keys(O).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===O[e]||(t[e]=O[e]))}));var C=n(75616);Object.keys(C).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===C[e]||(t[e]=C[e]))}));var T=n(38677);Object.keys(T).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===T[e]||(t[e]=T[e]))}));var M=n(94707);Object.keys(M).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===M[e]||(t[e]=M[e]))}));var S=n(16748);Object.keys(S).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===S[e]||(t[e]=S[e]))}));var P=n(59096);Object.keys(P).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===P[e]||(t[e]=P[e]))}));var j=n(25929);Object.keys(j).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===j[e]||(t[e]=j[e]))}));var I=n(12779);Object.keys(I).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===I[e]||(t[e]=I[e]))}));var A=n(51713);Object.keys(A).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===A[e]||(t[e]=A[e]))}));var R=n(92547);Object.keys(R).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===R[e]||(t[e]=R[e]))}));var D=n(40430);Object.keys(D).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===D[e]||(t[e]=D[e]))}));var L=n(57243);Object.keys(L).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===L[e]||(t[e]=L[e]))}));var N=n(30820);Object.keys(N).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===N[e]||(t[e]=N[e]))}));var B=n(64551);Object.keys(B).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===B[e]||(t[e]=B[e]))}));var z=n(78281);Object.keys(z).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===z[e]||(t[e]=z[e]))}));var F=n(48690);Object.keys(F).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===F[e]||(t[e]=F[e]))}));var H=n(82190);Object.keys(H).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===H[e]||(t[e]=H[e]))}));var V=n(9079);Object.keys(V).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===V[e]||(t[e]=V[e]))}));var W=n(98271);Object.keys(W).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===W[e]||(t[e]=W[e]))}));var U=n(54411);Object.keys(U).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===U[e]||(t[e]=U[e]))}));var G=n(28317);Object.keys(G).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===G[e]||(t[e]=G[e]))}));var q=n(34066);Object.keys(q).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===q[e]||(t[e]=q[e]))}));var K=n(2746);Object.keys(K).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===K[e]||(t[e]=K[e]))}));var Z=n(7846);Object.keys(Z).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===Z[e]||(t[e]=Z[e]))}));var $=n(33670);Object.keys($).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===$[e]||(t[e]=$[e]))}));var X=n(27258);Object.keys(X).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===X[e]||(t[e]=X[e]))}));var Y=n(20883);Object.keys(Y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===Y[e]||(t[e]=Y[e]))}));var Q=n(94688);Object.keys(Q).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===Q[e]||(t[e]=Q[e]))}));var J=n(49537);Object.keys(J).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===J[e]||(t[e]=J[e]))}));var ee=n(93942);Object.keys(ee).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===ee[e]||(t[e]=ee[e]))}));var te=n(43370);Object.keys(te).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===te[e]||(t[e]=te[e]))}));var ne=n(7265);Object.keys(ne).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===ne[e]||(t[e]=ne[e]))}));var re=n(34237);Object.keys(re).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===re[e]||(t[e]=re[e]))}));var oe=n(26324);Object.keys(oe).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===oe[e]||(t[e]=oe[e]))}));var ie=n(49888);Object.keys(ie).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===ie[e]||(t[e]=ie[e]))}));var ae=n(14122);Object.keys(ae).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===ae[e]||(t[e]=ae[e]))}));var se=n(29559);Object.keys(se).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===se[e]||(t[e]=se[e]))}))},50862:function(e,t,n){"use strict";n.d(t,{d:function(){return r}});var r=(0,n(89867).I)({d:"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z",displayName:"AddIcon"})},93441:function(e,t,n){"use strict";n.d(t,{L:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"ArrowRightIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z"}),o.createElement("path",{d:"M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z"}))})},6569:function(e,t,n){"use strict";n.d(t,{v:function(){return r}});var r=(0,n(89867).I)({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})},48931:function(e,t,n){"use strict";n.d(t,{T:function(){return r}});var r=(0,n(89867).I)({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})},2827:function(e,t,n){"use strict";n.d(t,{p:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"DeleteIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"}))})},46617:function(e,t,n){"use strict";n.d(t,{d:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"EditIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),o.createElement("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"}))})},68928:function(e,t,n){"use strict";n.d(t,{h:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"ExternalLinkIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),o.createElement("path",{d:"M15 3h6v6"}),o.createElement("path",{d:"M10 14L21 3"}))})},24189:function(e,t,n){"use strict";n.d(t,{h:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"InfoOutlineIcon",path:o.createElement("g",{fill:"currentColor",stroke:"currentColor",strokeLinecap:"square",strokeWidth:"2"},o.createElement("circle",{cx:"12",cy:"12",fill:"none",r:"11",stroke:"currentColor"}),o.createElement("line",{fill:"none",x1:"11.959",x2:"11.959",y1:"11",y2:"17"}),o.createElement("circle",{cx:"11.959",cy:"7",r:"1",stroke:"none"}))})},94030:function(e,t,n){"use strict";n.d(t,{I:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"PlusSquareIcon",path:o.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2"},o.createElement("rect",{height:"18",width:"18",rx:"2",ry:"2",x:"3",y:"3"}),o.createElement("path",{d:"M12 8v8"}),o.createElement("path",{d:"M8 12h8"}))})},67546:function(e,t,n){"use strict";n.d(t,{n:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"RepeatIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M10.319,4.936a7.239,7.239,0,0,1,7.1,2.252,1.25,1.25,0,1,0,1.872-1.657A9.737,9.737,0,0,0,9.743,2.5,10.269,10.269,0,0,0,2.378,9.61a.249.249,0,0,1-.271.178l-1.033-.13A.491.491,0,0,0,.6,9.877a.5.5,0,0,0-.019.526l2.476,4.342a.5.5,0,0,0,.373.248.43.43,0,0,0,.062,0,.5.5,0,0,0,.359-.152l3.477-3.593a.5.5,0,0,0-.3-.844L5.15,10.172a.25.25,0,0,1-.2-.333A7.7,7.7,0,0,1,10.319,4.936Z"}),o.createElement("path",{d:"M23.406,14.1a.5.5,0,0,0,.015-.526l-2.5-4.329A.5.5,0,0,0,20.546,9a.489.489,0,0,0-.421.151l-3.456,3.614a.5.5,0,0,0,.3.842l1.848.221a.249.249,0,0,1,.183.117.253.253,0,0,1,.023.216,7.688,7.688,0,0,1-5.369,4.9,7.243,7.243,0,0,1-7.1-2.253,1.25,1.25,0,1,0-1.872,1.656,9.74,9.74,0,0,0,9.549,3.03,10.261,10.261,0,0,0,7.369-7.12.251.251,0,0,1,.27-.179l1.058.127a.422.422,0,0,0,.06,0A.5.5,0,0,0,23.406,14.1Z"}))})},83986:function(e,t,n){"use strict";n.d(t,{A:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"RepeatClockIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z"}),o.createElement("path",{d:"M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z"}))})},93924:function(e,t,n){"use strict";n.d(t,{e:function(){return r}});var r=(0,n(89867).I)({viewBox:"0 0 14 14",d:"M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z",displayName:"SettingsIcon"})},55830:function(e,t,n){"use strict";n.d(t,{O:function(){return i}});var r=n(89867),o=n(67294),i=(0,r.I)({displayName:"ViewIcon",path:o.createElement("g",{fill:"currentColor"},o.createElement("path",{d:"M23.432,10.524C20.787,7.614,16.4,4.538,12,4.6,7.6,4.537,3.213,7.615.568,10.524a2.211,2.211,0,0,0,0,2.948C3.182,16.351,7.507,19.4,11.839,19.4h.308c4.347,0,8.671-3.049,11.288-5.929A2.21,2.21,0,0,0,23.432,10.524ZM7.4,12A4.6,4.6,0,1,1,12,16.6,4.6,4.6,0,0,1,7.4,12Z"}),o.createElement("circle",{cx:"12",cy:"12",r:"2"}))})},87409:function(e,t,n){"use strict";t.__esModule=!0;var r=n(35236);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(8471);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(89216);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(52832);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}))},8471:function(e,t,n){"use strict";t.__esModule=!0,t.InputRightAddon=t.InputLeftAddon=t.InputAddon=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u={left:{marginEnd:"-1px",borderEndRadius:0,borderEndColor:"transparent"},right:{marginStart:"-1px",borderStartRadius:0,borderStartColor:"transparent"}},c=(0,r.chakra)("div",{baseStyle:{flex:"0 0 auto",width:"auto",display:"flex",alignItems:"center",whiteSpace:"nowrap"}}),l=(0,r.forwardRef)((function(e,t){var n,o=e.placement,a=void 0===o?"left":o,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["placement"]),d=null!=(n=u[a])?n:{},f=(0,r.useStyles)();return i.createElement(c,s({ref:t},l,{__css:s({},f.addon,d)}))}));t.InputAddon=l,o.__DEV__&&(l.displayName="InputAddon");var d=(0,r.forwardRef)((function(e,t){return i.createElement(l,s({ref:t,placement:"left"},e,{className:(0,o.cx)("chakra-input__left-addon",e.className)}))}));t.InputLeftAddon=d,o.__DEV__&&(d.displayName="InputLeftAddon"),d.id="InputLeftAddon";var f=(0,r.forwardRef)((function(e,t){return i.createElement(l,s({ref:t,placement:"right"},e,{className:(0,o.cx)("chakra-input__right-addon",e.className)}))}));t.InputRightAddon=f,o.__DEV__&&(f.displayName="InputRightAddon"),f.id="InputRightAddon"},52832:function(e,t,n){"use strict";t.__esModule=!0,t.InputRightElement=t.InputLeftElement=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.chakra)("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),l=(0,r.forwardRef)((function(e,t){var n,o,a,l=e.placement,d=void 0===l?"left":l,f=u(e,["placement"]),h=(0,r.useStyles)().field,p=((a={})["left"===d?"insetStart":"insetEnd"]="0",a.width=null!=(n=null==h?void 0:h.height)?n:null==h?void 0:h.h,a.height=null!=(o=null==h?void 0:h.height)?o:null==h?void 0:h.h,a.fontSize=null==h?void 0:h.fontSize,a);return i.createElement(c,s({ref:t,__css:p},f))}));l.id="InputElement",o.__DEV__&&(l.displayName="InputElement");var d=(0,r.forwardRef)((function(e,t){var n=e.className,r=u(e,["className"]),a=(0,o.cx)("chakra-input__left-element",n);return i.createElement(l,s({ref:t,placement:"left",className:a},r))}));t.InputLeftElement=d,d.id="InputLeftElement",o.__DEV__&&(d.displayName="InputLeftElement");var f=(0,r.forwardRef)((function(e,t){var n=e.className,r=u(e,["className"]),a=(0,o.cx)("chakra-input__right-element",n);return i.createElement(l,s({ref:t,placement:"right",className:a},r))}));t.InputRightElement=f,f.id="InputRightElement",o.__DEV__&&(f.displayName="InputRightElement")},89216:function(e,t,n){"use strict";t.__esModule=!0,t.InputGroup=void 0;var r=n(48121),o=n(66751),i=n(19277),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,r.forwardRef)((function(e,t){var n=(0,r.useMultiStyleConfig)("Input",e),s=(0,r.omitThemingProps)(e),c=s.children,l=s.className,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(s,["children","className"]),f=(0,o.cx)("chakra-input__group",l),h={},p=(0,i.getValidChildren)(c),v=n.field;p.forEach((function(e){if(n){var t,r;if(v&&"InputLeftElement"===e.type.id)h.paddingStart=null!=(t=v.height)?t:v.h;if(v&&"InputRightElement"===e.type.id)h.paddingEnd=null!=(r=v.height)?r:v.h;"InputRightAddon"===e.type.id&&(h.borderEndRadius=0),"InputLeftAddon"===e.type.id&&(h.borderStartRadius=0)}}));var m=p.map((function(t){var n,r,o={size:(null==(n=t.props)?void 0:n.size)||e.size,variant:(null==(r=t.props)?void 0:r.variant)||e.variant};return"Input"!==t.type.id?a.cloneElement(t,o):a.cloneElement(t,Object.assign(o,h,t.props))}));return a.createElement(r.chakra.div,u({className:f,ref:t,__css:{width:"100%",display:"flex",position:"relative"}},d),a.createElement(r.StylesProvider,{value:n},m))}));t.InputGroup=c,o.__DEV__&&(c.displayName="InputGroup")},35236:function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var r=n(88323),o=n(48121),i=n(66751),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,o.forwardRef)((function(e,t){var n=(0,o.useMultiStyleConfig)("Input",e),s=(0,o.omitThemingProps)(e),c=(0,r.useFormControl)(s),l=(0,i.cx)("chakra-input",e.className);return a.createElement(o.chakra.input,u({},c,{__css:n.field,ref:t,className:l}))}));t.Input=c,i.__DEV__&&(c.displayName="Input"),c.id="Input"},74770:function(e,t,n){"use strict";t.__esModule=!0,t.AspectRatio=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=e.ratio,a=void 0===n?4/3:n,u=e.children,c=e.className,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["ratio","children","className"]),d=i.Children.only(u),f=(0,o.cx)("chakra-aspect-ratio",c);return i.createElement(r.chakra.div,s({ref:t,position:"relative",className:f,_before:{height:0,content:'""',display:"block",paddingBottom:(0,o.mapResponsive)(a,(function(e){return 1/e*100+"%"}))},__css:{"& > *:not(style)":{overflow:"hidden",position:"absolute",top:"0",right:"0",bottom:"0",left:"0",display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},"& > img, & > video":{objectFit:"cover"}}},l),d)}));t.AspectRatio=u,o.__DEV__&&(u.displayName="AspectRatio")},63061:function(e,t,n){"use strict";t.__esModule=!0,t.Badge=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Badge",e),a=(0,r.omitThemingProps)(e),u=(a.className,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className"]));return i.createElement(r.chakra.span,s({ref:t,className:(0,o.cx)("chakra-badge",e.className)},u,{__css:s({display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle"},n)}))}));t.Badge=u,o.__DEV__&&(u.displayName="Badge")},26932:function(e,t,n){"use strict";t.__esModule=!0,t.Circle=t.Square=t.Box=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.chakra)("div");t.Box=c,o.__DEV__&&(c.displayName="Box");var l=(0,r.forwardRef)((function(e,t){var n=e.size,r=e.centerContent,o=void 0===r||r,a=u(e,["size","centerContent"]),l=o?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return i.createElement(c,s({ref:t,boxSize:n,__css:s({},l,{flexShrink:0,flexGrow:0})},a))}));t.Square=l,o.__DEV__&&(l.displayName="Square");var d=(0,r.forwardRef)((function(e,t){var n=e.size,r=u(e,["size"]);return i.createElement(l,s({size:n,ref:t,borderRadius:"9999px"},r))}));t.Circle=d,o.__DEV__&&(d.displayName="Circle")},21184:function(e,t,n){"use strict";t.__esModule=!0,t.AbsoluteCenter=t.Center=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.chakra)("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});t.Center=u,o.__DEV__&&(u.displayName="Center");var c={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}},l=(0,r.forwardRef)((function(e,t){var n=e.axis,o=void 0===n?"both":n,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["axis"]);return i.createElement(r.chakra.div,s({ref:t,__css:c[o]},a,{position:"absolute"}))}));t.AbsoluteCenter=l},9754:function(e,t,n){"use strict";t.__esModule=!0,t.Code=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Code",e),a=(0,r.omitThemingProps)(e),u=(a.className,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className"]));return i.createElement(r.chakra.code,s({ref:t,className:(0,o.cx)("chakra-code",e.className)},u,{__css:s({display:"inline-block"},n)}))}));t.Code=u,o.__DEV__&&(u.displayName="Code")},28210:function(e,t,n){"use strict";t.__esModule=!0,t.Container=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.omitThemingProps)(e),a=n.className,u=n.centerContent,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(n,["className","centerContent"]),l=(0,r.useStyleConfig)("Container",e);return i.createElement(r.chakra.div,s({ref:t,className:(0,o.cx)("chakra-container",a)},c,{__css:s({},l,u&&{display:"flex",flexDirection:"column",alignItems:"center"})}))}));t.Container=u,o.__DEV__&&(u.displayName="Container")},43698:function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Divider",e),a=n.borderLeftWidth,c=n.borderBottomWidth,l=n.borderTopWidth,d=n.borderRightWidth,f=n.borderWidth,h=n.borderStyle,p=n.borderColor,v=u(n,["borderLeftWidth","borderBottomWidth","borderTopWidth","borderRightWidth","borderWidth","borderStyle","borderColor"]),m=(0,r.omitThemingProps)(e),g=m.className,y=m.orientation,b=void 0===y?"horizontal":y,w=m.__css,_=u(m,["className","orientation","__css"]),x={vertical:{borderLeftWidth:a||d||f||"1px",height:"100%"},horizontal:{borderBottomWidth:c||l||f||"1px",width:"100%"}};return i.createElement(r.chakra.hr,s({ref:t,"aria-orientation":b},_,{__css:s({},v,{border:"0",borderColor:p,borderStyle:h},x[b],w),className:(0,o.cx)("chakra-divider",g)}))}));t.Divider=c,o.__DEV__&&(c.displayName="Divider")},87481:function(e,t,n){"use strict";t.__esModule=!0,t.Flex=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=e.direction,o=e.align,a=e.justify,u=e.wrap,c=e.basis,l=e.grow,d=e.shrink,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["direction","align","justify","wrap","basis","grow","shrink"]),h={display:"flex",flexDirection:n,alignItems:o,justifyContent:a,flexWrap:u,flexBasis:c,flexGrow:l,flexShrink:d};return i.createElement(r.chakra.div,s({ref:t,__css:h},f))}));t.Flex=u,o.__DEV__&&(u.displayName="Flex")},51870:function(e,t,n){"use strict";t.__esModule=!0,t.GridItem=t.Grid=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.forwardRef)((function(e,t){var n=e.area,o=e.templateAreas,a=e.gap,c=e.rowGap,l=e.columnGap,d=e.column,f=e.row,h=e.autoFlow,p=e.autoRows,v=e.templateRows,m=e.autoColumns,g=e.templateColumns,y=u(e,["area","templateAreas","gap","rowGap","columnGap","column","row","autoFlow","autoRows","templateRows","autoColumns","templateColumns"]),b={display:"grid",gridArea:n,gridTemplateAreas:o,gridGap:a,gridRowGap:c,gridColumnGap:l,gridAutoColumns:m,gridColumn:d,gridRow:f,gridAutoFlow:h,gridAutoRows:p,gridTemplateRows:v,gridTemplateColumns:g};return i.createElement(r.chakra.div,s({ref:t,__css:b},y))}));function l(e){return(0,o.mapResponsive)(e,(function(e){return"auto"===e?"auto":"span "+e+"/span "+e}))}t.Grid=c,o.__DEV__&&(c.displayName="Grid");var d=(0,r.forwardRef)((function(e,t){var n=e.colSpan,a=e.colStart,c=e.colEnd,d=e.rowEnd,f=e.rowSpan,h=e.rowStart,p=u(e,["colSpan","colStart","colEnd","rowEnd","rowSpan","rowStart"]),v=(0,o.filterUndefined)({gridColumn:l(n),gridRow:l(f),gridColumnStart:a,gridColumnEnd:c,gridRowStart:h,gridRowEnd:d});return i.createElement(r.chakra.div,s({ref:t,__css:v},p))}));t.GridItem=d},6813:function(e,t,n){"use strict";t.__esModule=!0,t.Heading=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Heading",e),a=(0,r.omitThemingProps)(e),u=(a.className,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className"]));return i.createElement(r.chakra.h2,s({ref:t,className:(0,o.cx)("chakra-heading",e.className)},u,{__css:n}))}));t.Heading=u,o.__DEV__&&(u.displayName="Heading")},11487:function(e,t,n){"use strict";t.__esModule=!0;var r=n(74770);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(63061);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(26932);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(21184);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(9754);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(28210);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(43698);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(87481);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||(t[e]=l[e]))}));var d=n(51870);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(6813);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(12947);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(6976);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||(t[e]=p[e]))}));var v=n(72755);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===v[e]||(t[e]=v[e]))}));var m=n(6293);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===m[e]||(t[e]=m[e]))}));var g=n(7133);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===g[e]||(t[e]=g[e]))}));var y=n(96030);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=n(80434);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===b[e]||(t[e]=b[e]))}));var w=n(88189);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===w[e]||(t[e]=w[e]))}));var _=n(41525);Object.keys(_).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===_[e]||(t[e]=_[e]))}))},12947:function(e,t,n){"use strict";t.__esModule=!0,t.Kbd=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Kbd",e),a=(0,r.omitThemingProps)(e),u=a.className,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className"]);return i.createElement(r.chakra.kbd,s({ref:t,className:(0,o.cx)("chakra-kbd",u)},c,{__css:s({fontFamily:"mono"},n)}))}));t.Kbd=u,o.__DEV__&&(u.displayName="Kbd")},41525:function(e,t,n){"use strict";t.__esModule=!0,t.LinkBox=t.LinkOverlay=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.forwardRef)((function(e,t){var n=e.isExternal,a=e.target,c=e.rel,l=e.className,d=u(e,["isExternal","target","rel","className"]);return i.createElement(r.chakra.a,s({},d,{ref:t,className:(0,o.cx)("chakra-linkbox__overlay",l),rel:n?"noopener noreferrer":c,target:n?"_blank":a,__css:{position:"static","&::before":{content:"''",cursor:"inherit",display:"block",position:"absolute",top:0,left:0,zIndex:0,width:"100%",height:"100%"}}}))}));t.LinkOverlay=c;var l=(0,r.forwardRef)((function(e,t){var n=e.className,a=u(e,["className"]);return i.createElement(r.chakra.div,s({ref:t,position:"relative"},a,{className:(0,o.cx)("chakra-linkbox",n),__css:{"a[href]:not(.chakra-linkbox__overlay), abbr[title]":{position:"relative",zIndex:1}}}))}));t.LinkBox=l},6976:function(e,t,n){"use strict";t.__esModule=!0,t.Link=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Link",e),a=(0,r.omitThemingProps)(e),u=a.className,c=a.isExternal,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className","isExternal"]);return i.createElement(r.chakra.a,s({target:c?"_blank":void 0,rel:c?"noopener noreferrer":void 0,ref:t,className:(0,o.cx)("chakra-link",u)},l,{__css:n}))}));t.Link=u,o.__DEV__&&(u.displayName="Link")},72755:function(e,t,n){"use strict";t.__esModule=!0,t.ListIcon=t.ListItem=t.UnorderedList=t.OrderedList=t.List=void 0;var r=n(29559),o=n(48121),i=n(66751),a=n(19277),s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function u(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=(0,o.forwardRef)((function(e,t){var n,r=(0,o.useMultiStyleConfig)("List",e),i=(0,o.omitThemingProps)(e),u=i.children,d=i.styleType,f=void 0===d?"none":d,h=i.stylePosition,p=i.spacing,v=l(i,["children","styleType","stylePosition","spacing"]),m=(0,a.getValidChildren)(u),g=p?((n={})["& > *:not(style) ~ *:not(style)"]={mt:p},n):{};return s.createElement(o.StylesProvider,{value:r},s.createElement(o.chakra.ul,c({ref:t,listStyleType:f,listStylePosition:h,role:"list",__css:c({},r.container,g)},v),m))}));t.List=d,i.__DEV__&&(d.displayName="List");var f=(0,o.forwardRef)((function(e,t){e.as;var n=l(e,["as"]);return s.createElement(d,c({ref:t,as:"ol",styleType:"decimal",marginStart:"1em"},n))}));t.OrderedList=f,i.__DEV__&&(f.displayName="OrderedList");var h=(0,o.forwardRef)((function(e,t){e.as;var n=l(e,["as"]);return s.createElement(d,c({ref:t,as:"ul",styleType:"initial",marginStart:"1em"},n))}));t.UnorderedList=h,i.__DEV__&&(h.displayName="UnorderedList");var p=(0,o.forwardRef)((function(e,t){var n=(0,o.useStyles)();return s.createElement(o.chakra.li,c({ref:t},e,{__css:n.item}))}));t.ListItem=p,i.__DEV__&&(p.displayName="ListItem");var v=(0,o.forwardRef)((function(e,t){var n=(0,o.useStyles)();return s.createElement(r.Icon,c({ref:t,role:"presentation"},e,{__css:n.icon}))}));t.ListIcon=v,i.__DEV__&&(v.displayName="ListIcon")},6293:function(e,t,n){"use strict";t.__esModule=!0,t.SimpleGrid=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),a=n(51870);function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,r.forwardRef)((function(e,t){var n,r,s=e.columns,c=e.spacingX,l=e.spacingY,d=e.spacing,f=e.minChildWidth,h=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["columns","spacingX","spacingY","spacing","minChildWidth"]),p=f?(r=f,(0,o.mapResponsive)(r,(function(e){return(0,o.isNull)(e)?null:"repeat(auto-fit, minmax("+(t=e,((0,o.isNumber)(t)?t+"px":t)+", 1fr))");var t}))):(n=s,(0,o.mapResponsive)(n,(function(e){return(0,o.isNull)(e)?null:"repeat("+e+", minmax(0, 1fr))"})));return i.createElement(a.Grid,u({ref:t,gap:d,columnGap:c,rowGap:l,templateColumns:p},h))}));t.SimpleGrid=c,o.__DEV__&&(c.displayName="SimpleGrid")},7133:function(e,t,n){"use strict";t.__esModule=!0,t.Spacer=void 0;var r=n(48121),o=n(66751),i=(0,r.chakra)("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});t.Spacer=i,o.__DEV__&&(i.displayName="Spacer")},96030:function(e,t,n){"use strict";t.__esModule=!0,t.VStack=t.HStack=t.Stack=t.StackItem=t.StackDivider=void 0;var r=n(48121),o=n(66751),i=n(19277),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294)),s=n(17596);function u(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}t.StackDivider=function(e){return a.createElement(r.chakra.div,c({className:"chakra-stack__divider"},e,{__css:c({},e.__css,{borderWidth:0,alignSelf:"stretch",borderColor:"inherit",width:"auto",height:"auto"})}))};var l=function(e){return a.createElement(r.chakra.div,c({className:"chakra-stack__item"},e,{__css:c({display:"inline-block",flex:"0 0 auto",minWidth:0},e.__css)}))};t.StackItem=l;var d=(0,r.forwardRef)((function(e,t){var n,u=e.isInline,d=e.direction,f=e.align,h=e.justify,p=e.spacing,v=void 0===p?"0.5rem":p,m=e.wrap,g=e.children,y=e.divider,b=e.className,w=e.shouldWrapChildren,_=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["isInline","direction","align","justify","spacing","wrap","children","divider","className","shouldWrapChildren"]),x=u?"row":null!=d?d:"column",k=a.useMemo((function(){return(0,s.getStackStyles)({direction:x,spacing:v})}),[x,v]),E=a.useMemo((function(){return(0,s.getDividerStyles)({spacing:v,direction:x})}),[v,x]),O=!!y,C=!w&&!O,T=(0,i.getValidChildren)(g),M=C?T:T.map((function(e,t){var n=t+1===T.length,r=w?a.createElement(l,{key:t},e):e;if(!O)return r;var o=n?null:a.cloneElement(y,{__css:E});return a.createElement(a.Fragment,{key:t},r,o)})),S=(0,o.cx)("chakra-stack",b);return a.createElement(r.chakra.div,c({ref:t,display:"flex",alignItems:f,justifyContent:h,flexDirection:k.flexDirection,flexWrap:m,className:S,__css:O?{}:(n={},n[s.selector]=k[s.selector],n)},_),M)}));t.Stack=d,o.__DEV__&&(d.displayName="Stack");var f=(0,r.forwardRef)((function(e,t){return a.createElement(d,c({align:"center"},e,{direction:"row",ref:t}))}));t.HStack=f,o.__DEV__&&(f.displayName="HStack");var h=(0,r.forwardRef)((function(e,t){return a.createElement(d,c({align:"center"},e,{direction:"column",ref:t}))}));t.VStack=h,o.__DEV__&&(h.displayName="VStack")},17596:function(e,t,n){"use strict";t.__esModule=!0,t.getStackStyles=function(e){var t,n=e.spacing,i=e.direction,a={column:{marginTop:n,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:n},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:n,marginStart:0},"row-reverse":{marginTop:0,marginEnd:n,marginBottom:0,marginStart:0}};return(t={flexDirection:i})[o]=(0,r.mapResponsive)(i,(function(e){return a[e]})),t},t.getDividerStyles=function(e){var t=e.spacing,n=e.direction,o={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":(0,r.mapResponsive)(n,(function(e){return o[e]}))}},t.selector=void 0;var r=n(66751),o="& > *:not(style) ~ *:not(style)";t.selector=o},80434:function(e,t,n){"use strict";t.__esModule=!0,t.Text=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Text",e),a=(0,r.omitThemingProps)(e),u=(a.className,a.align,a.decoration,a.casing,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["className","align","decoration","casing"])),c=(0,o.filterUndefined)({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return i.createElement(r.chakra.p,s({ref:t,className:(0,o.cx)("chakra-text",e.className)},c,u,{__css:n}))}));t.Text=u,o.__DEV__&&(u.displayName="Text")},88189:function(e,t,n){"use strict";t.__esModule=!0,t.WrapItem=t.Wrap=void 0;var r=n(48121),o=n(66751),i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.forwardRef)((function(e,t){var n=e.spacing,a=void 0===n?"0.5rem":n,c=e.children,d=e.justify,f=e.direction,h=e.align,p=e.className,v=e.shouldWrapChildren,m=u(e,["spacing","children","justify","direction","align","className","shouldWrapChildren"]),g=i.useMemo((function(){return{"--chakra-wrap-spacing":function(e){return(0,o.mapResponsive)(a,(function(t){return(0,r.tokenToCSSVar)("space",t)(e)}))},"--wrap-spacing":"calc(var(--chakra-wrap-spacing) / 2)",display:"flex",flexWrap:"wrap",justifyContent:d,alignItems:h,flexDirection:f,listStyleType:"none",padding:"0",margin:"calc(var(--wrap-spacing) * -1)","& > *:not(style)":{margin:"var(--wrap-spacing)"}}}),[a,d,h,f]),y=v?i.Children.map(c,(function(e,t){return i.createElement(l,{key:t},e)})):c;return i.createElement(r.chakra.div,s({ref:t,className:(0,o.cx)("chakra-wrap",p)},m),i.createElement(r.chakra.ul,{className:"chakra-wrap__list",__css:g},y))}));t.Wrap=c,o.__DEV__&&(c.displayName="Wrap");var l=(0,r.forwardRef)((function(e,t){var n=e.className,a=u(e,["className"]);return i.createElement(r.chakra.li,s({ref:t,__css:{display:"flex",alignItems:"flex-start"},className:(0,o.cx)("chakra-wrap__listitem",n)},a))}));t.WrapItem=l,o.__DEV__&&(l.displayName="WrapItem")},48017:function(e,t,n){"use strict";n.d(t,{xu:function(){return c}});var r=n(89384),o=n(90063),i=n(73808),a=n(67294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=(0,r.m$)("div");i.Ts&&(c.displayName="Box");var l=(0,o.G)(((e,t)=>{var{size:n,centerContent:r=!0}=e,o=u(e,["size","centerContent"]),i=r?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return a.createElement(c,s({ref:t,boxSize:n,__css:s({},i,{flexShrink:0,flexGrow:0})},o))}));i.Ts&&(l.displayName="Square");var d=(0,o.G)(((e,t)=>{var{size:n}=e,r=u(e,["size"]);return a.createElement(l,s({size:n,ref:t,borderRadius:"9999px"},r))}));i.Ts&&(d.displayName="Circle")},94096:function(e,t,n){"use strict";n.d(t,{k:function(){return u}});var r=n(90063),o=n(89384),i=n(73808),a=n(67294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u=(0,r.G)(((e,t)=>{var{direction:n,align:r,justify:i,wrap:u,basis:c,grow:l,shrink:d}=e,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["direction","align","justify","wrap","basis","grow","shrink"]),h={display:"flex",flexDirection:n,alignItems:r,justifyContent:i,flexWrap:u,flexBasis:c,flexGrow:l,flexShrink:d};return a.createElement(o.m$.div,s({ref:t,__css:h},f))}));i.Ts&&(u.displayName="Flex")},336:function(e,t,n){"use strict";n.d(t,{X:function(){return d}});var r=n(90063),o=n(2326),i=n(55284),a=n(89384),s=n(84461),u=n(73808),c=n(67294);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=(0,r.G)(((e,t)=>{var n=(0,o.m)("Heading",e),r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}((0,i.Lr)(e),["className"]);return c.createElement(a.m$.h2,l({ref:t,className:(0,s.cx)("chakra-heading",e.className)},r,{__css:n}))}));u.Ts&&(d.displayName="Heading")},72026:function(e,t,n){"use strict";n.d(t,{cX:function(){return h},gC:function(){return g}});var r=n(89384),o=n(90063),i=n(84461),a=n(73808),s=n(24255),u=n(67294),c=n(4651);Object.freeze(["base","sm","md","lg","xl","2xl"]);function l(e,t){return(0,a.kJ)(e)?e.map((e=>null===e?null:t(e))):(0,a.Kn)(e)?(0,c.Yd)(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{}):null!=e?t(e):null}var d="& > *:not(style) ~ *:not(style)";function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var h=e=>u.createElement(r.m$.div,f({className:"chakra-stack__divider"},e,{__css:f({},e.__css,{borderWidth:0,alignSelf:"stretch",borderColor:"inherit",width:"auto",height:"auto"})})),p=e=>u.createElement(r.m$.div,f({className:"chakra-stack__item"},e,{__css:f({display:"inline-block",flex:"0 0 auto",minWidth:0},e.__css)})),v=(0,o.G)(((e,t)=>{var{isInline:n,direction:o,align:a,justify:c,spacing:h="0.5rem",wrap:v,children:m,divider:g,className:y,shouldWrapChildren:b}=e,w=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["isInline","direction","align","justify","spacing","wrap","children","divider","className","shouldWrapChildren"]),_=n?"row":null!=o?o:"column",x=u.useMemo((()=>function(e){var{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[d]:l(n,(e=>r[e]))}}({direction:_,spacing:h})),[_,h]),k=u.useMemo((()=>function(e){var{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":l(n,(e=>r[e]))}}({spacing:h,direction:_})),[h,_]),E=!!g,O=!b&&!E,C=(0,s.W)(m),T=O?C:C.map(((e,t)=>{var n=t+1===C.length,r=b?u.createElement(p,{key:t},e):e;if(!E)return r;var o=n?null:u.cloneElement(g,{__css:k});return u.createElement(u.Fragment,{key:t},r,o)})),M=(0,i.cx)("chakra-stack",y);return u.createElement(r.m$.div,f({ref:t,display:"flex",alignItems:a,justifyContent:c,flexDirection:x.flexDirection,flexWrap:v,className:M,__css:E?{}:{[d]:x[d]}},w),T)}));a.Ts&&(v.displayName="Stack");var m=(0,o.G)(((e,t)=>u.createElement(v,f({align:"center"},e,{direction:"row",ref:t}))));a.Ts&&(m.displayName="HStack");var g=(0,o.G)(((e,t)=>u.createElement(v,f({align:"center"},e,{direction:"column",ref:t}))));a.Ts&&(g.displayName="VStack")},64115:function(e,t,n){"use strict";n.d(t,{x:function(){return f}});var r=n(90063),o=n(2326),i=n(55284),a=n(89384),s=n(4651),u=n(84461),c=n(73808),l=n(67294);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var f=(0,r.G)(((e,t)=>{var n=(0,o.m)("Text",e),r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}((0,i.Lr)(e),["className","align","decoration","casing"]),c=(0,s.YU)({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return l.createElement(a.m$.p,d({ref:t,className:(0,u.cx)("chakra-text",e.className)},c,r,{__css:n}))}));c.Ts&&(f.displayName="Text")},48235:function(e,t,n){"use strict";n.d(t,{v2:function(){return q},j2:function(){return Z},R:function(){return ae},sN:function(){return J},ii:function(){return te},qy:function(){return Y},__:function(){return ne}});var r=n(2326),o=n(55284),i=n(29676),a=n(90063),s=n(89384),u=n(80658),c=n(73808),l=n(84461),d=n(99860),f=n(67294),h=n(72947);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function v(e){var t=e.target,{tagName:n,isContentEditable:r}=t;return"INPUT"!==n&&"TEXTAREA"!==n&&!0!==r}function m(e){void 0===e&&(e={});var{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:i=!0,onMouseDown:a,onMouseUp:s,onClick:u,onKeyDown:c,onKeyUp:d,tabIndex:m,onMouseOver:g,onMouseLeave:y}=e,b=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["ref","isDisabled","isFocusable","clickOnEnter","clickOnSpace","onMouseDown","onMouseUp","onClick","onKeyDown","onKeyUp","tabIndex","onMouseOver","onMouseLeave"]),[w,_]=f.useState(!0),[x,k]=f.useState(!1),E=function(){var e=f.useRef(new Map),t=e.current,n=f.useCallback(((t,n,r,o)=>{e.current.set(r,{type:n,el:t,options:o}),t.addEventListener(n,r,o)}),[]),r=f.useCallback(((t,n,r,o)=>{t.removeEventListener(n,r,o),e.current.delete(r)}),[]);return f.useEffect((()=>()=>{t.forEach(((e,t)=>{r(e.el,e.type,t,e.options)}))}),[r,t]),{add:n,remove:r}}(),O=w?m:m||0,C=n&&!r,T=f.useCallback((e=>{if(n)return e.stopPropagation(),void e.preventDefault();e.currentTarget.focus(),null==u||u(e)}),[n,u]),M=f.useCallback((e=>{x&&v(e)&&(e.preventDefault(),e.stopPropagation(),k(!1),E.remove(document,"keyup",M,!1))}),[x,E]),S=f.useCallback((e=>{if(null==c||c(e),!(n||e.defaultPrevented||e.metaKey)&&v(e.nativeEvent)&&!w){var t=o&&"Enter"===e.key;if(i&&" "===e.key&&(e.preventDefault(),k(!0)),t)e.preventDefault(),e.currentTarget.click();E.add(document,"keyup",M,!1)}}),[n,w,c,o,i,E,M]),P=f.useCallback((e=>{(null==d||d(e),n||e.defaultPrevented||e.metaKey)||v(e.nativeEvent)&&!w&&i&&" "===e.key&&(e.preventDefault(),k(!1),e.currentTarget.click())}),[i,w,n,d]),j=f.useCallback((e=>{0===e.button&&(k(!1),E.remove(document,"mouseup",j,!1))}),[E]),I=f.useCallback((e=>{if(!(0,l.dO)(e)){if(n)return e.stopPropagation(),void e.preventDefault();w||k(!0),e.currentTarget.focus({preventScroll:!0}),E.add(document,"mouseup",j,!1),null==a||a(e)}}),[n,w,a,E,j]),A=f.useCallback((e=>{(0,l.dO)(e)||(w||k(!1),null==s||s(e))}),[s,w]),R=f.useCallback((e=>{n?e.preventDefault():null==g||g(e)}),[n,g]),D=f.useCallback((e=>{x&&(e.preventDefault(),k(!1)),null==y||y(e)}),[x,y]),L=(0,h.l)(t,(e=>{e&&"BUTTON"!==e.tagName&&_(!1)}));return p({},b,w?{ref:L,type:"button","aria-disabled":C?void 0:n,disabled:C,onClick:T,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:c,onMouseOver:g,onMouseLeave:y}:{ref:L,role:"button","data-active":(0,l.PB)(x),"aria-disabled":n?"true":void 0,tabIndex:C?void 0:O,onClick:T,onMouseDown:I,onMouseUp:A,onKeyUp:P,onKeyDown:S,onMouseOver:R,onMouseLeave:D})}var g=n(21888),y=n(74860),b=n(10762);function w(e,t){var n,r=e.target;if(e.button>0)return!1;if(r&&!(0,l.lZ)(r).body.contains(r))return!1;return!(null!=(n=t.current)&&n.contains(r))}var _=n(22653),x=n(17768),k=n(47248);function E(e,t){var{shouldFocus:n,visible:r,focusRef:o}=t,i=n&&!r;(0,_.r)((()=>{if(i&&!function(e){var t=e.current;if(!t)return!1;var n=(0,l.vY)(t);return!!n&&!(0,l.r3)(t,n)&&!!(0,x.Wq)(n)}(e)){var t=(null==o?void 0:o.current)||e.current;t&&(0,k.T)(t,{nextTick:!0})}}),[i,e,o])}var O=n(94577),C=n(77581);function T(e){void 0===e&&(e={});var{timeout:t=300,preventDefault:n=(()=>!0)}=e,[r,o]=f.useState([]),i=f.useRef(),a=()=>{i.current&&(clearTimeout(i.current),i.current=null)};return f.useEffect((()=>a),[]),function(e){return s=>{if("Backspace"===s.key){var u=[...r];return u.pop(),void o(u)}if(function(e){var{key:t}=e;return 1===t.length||t.length>1&&/[^a-zA-Z0-9]/.test(t)}(s)){var c=r.concat(s.key);n(s)&&(s.preventDefault(),s.stopPropagation()),o(c),e(c.join("")),a(),i.current=setTimeout((()=>{o([]),i.current=null}),t)}}}}var M=n(51034),S=n(8931),P=n(28500),j=n(24255),I=n(27277);function A(){return(A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function R(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var[D,L,N,B]=(0,g.n)(),[z,F]=(0,P.k)({strict:!1,name:"MenuContext"});function H(e){void 0===e&&(e={});var{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,autoSelect:o=!0,isLazy:i,isOpen:a,defaultIsOpen:s,onClose:u,onOpen:c,placement:d="bottom-start",lazyBehavior:h="unmount",computePositionOnMount:p}=e,v=R(e,["id","closeOnSelect","closeOnBlur","autoSelect","isLazy","isOpen","defaultIsOpen","onClose","onOpen","placement","lazyBehavior","computePositionOnMount"]),{isOpen:m,onOpen:g,onClose:x,onToggle:T}=(0,y.q)({isOpen:a,defaultIsOpen:s,onClose:u,onOpen:c}),M=f.useRef(null),P=f.useRef(null);!function(e){var{ref:t,handler:n}=e,r=(0,b.W)(n),o=(0,f.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,f.useEffect)((()=>{var e=e=>{w(e,t)&&(o.isPointerDown=!0)},i=e=>{o.ignoreEmulatedMouseEvents?o.ignoreEmulatedMouseEvents=!1:o.isPointerDown&&n&&w(e,t)&&(o.isPointerDown=!1,r(e))},a=e=>{o.ignoreEmulatedMouseEvents=!0,n&&o.isPointerDown&&w(e,t)&&(o.isPointerDown=!1,r(e))},s=(0,l.lZ)(t.current);return s.addEventListener("mousedown",e,!0),s.addEventListener("mouseup",i,!0),s.addEventListener("touchstart",e,!0),s.addEventListener("touchend",a,!0),()=>{s.removeEventListener("mousedown",e,!0),s.removeEventListener("mouseup",i,!0),s.removeEventListener("touchstart",e,!0),s.removeEventListener("touchend",a,!0)}}),[n,t,r,o])}({ref:M,handler:e=>{var t;!m||!r||null!=(t=P.current)&&t.contains(e.target)||x()}});var j=(0,S.D)(A({},v,{enabled:m||p,placement:d})),[I,D]=f.useState(-1),L=N();(0,_.r)((()=>{m||D(-1)}),[m]),E(M,{focusRef:P,visible:m,shouldFocus:!0});var[B,z]=(0,O.ZS)(t,"menu-button","menu-list"),F=f.useCallback((()=>{g(),(0,k.T)(M.current,{nextTick:!0,selectTextIfInput:!1})}),[g,M]),H=f.useRef(new Set([]));return(0,C.z)((()=>{H.current.forEach((e=>clearTimeout(e))),H.current.clear()})),{openAndFocusMenu:F,openAndFocusFirstItem:f.useCallback((()=>{g();var e=setTimeout((()=>{var e=L.firstEnabled();e&&D(e.index)}));H.current.add(e)}),[g,D,L]),openAndFocusLastItem:f.useCallback((()=>{g();var e=setTimeout((()=>{var e=L.lastEnabled();e&&D(e.index)}));H.current.add(e)}),[g,D,L]),onTransitionEnd:f.useCallback((()=>{var e,t,n=(0,l.lZ)(M.current),r=null==(e=M.current)?void 0:e.contains(n.activeElement);if(m&&!r){var o=null==(t=L.item(I))?void 0:t.node;o&&(0,k.T)(o,{selectTextIfInput:!1})}}),[m,I,L]),descendants:L,popper:j,buttonId:B,menuId:z,forceUpdate:j.forceUpdate,orientation:"vertical",isOpen:m,onToggle:T,onOpen:g,onClose:x,menuRef:M,buttonRef:P,focusedIndex:I,closeOnSelect:n,closeOnBlur:r,autoSelect:o,setFocusedIndex:D,isLazy:i,lazyBehavior:h}}function V(e){var t;return e instanceof HTMLElement&&!(null==(t=e.getAttribute("role"))||!t.startsWith("menuitem"))}function W(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:i,isDisabled:a,isFocusable:s,closeOnSelect:u}=e,c=R(e,["onMouseEnter","onMouseMove","onMouseLeave","onClick","isDisabled","isFocusable","closeOnSelect"]),l=F(),{setFocusedIndex:d,focusedIndex:p,closeOnSelect:v,onClose:g,menuRef:y,isOpen:b,menuId:w}=l,E=f.useRef(null),C=w+"-menuitem-"+(0,O.Me)(),{index:T,register:M}=B({disabled:a&&!s}),S=f.useCallback((e=>{null==n||n(e),a||d(T)}),[d,T,a,n]),P=f.useCallback((e=>{null==r||r(e),E.current&&!(0,x.H9)(E.current)&&S(e)}),[S,r]),j=f.useCallback((e=>{null==o||o(e),a||d(-1)}),[d,a,o]),I=f.useCallback((e=>{null==i||i(e),V(e.currentTarget)&&(null!=u?u:v)&&g()}),[g,i,v,u]),D=T===p,L=a&&!s;return(0,_.r)((()=>{b&&(D&&!L&&E.current?(0,k.T)(E.current,{nextTick:!0,selectTextIfInput:!1}):y.current&&!(0,x.H9)(y.current)&&(0,k.T)(y.current))}),[D,L,y,b]),A({},c,m({onClick:I,onMouseEnter:S,onMouseMove:P,onMouseLeave:j,ref:(0,h.l)(M,E,t),isDisabled:a,isFocusable:s}),{id:C,role:"menuitem",tabIndex:D?0:-1})}function U(){return(U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function G(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var q=e=>{var{children:t}=e,n=(0,r.j)("Menu",e),a=H((0,o.Lr)(e)),{descendants:s}=a,c=G(a,["descendants"]),l=f.useMemo((()=>c),[c]),{isOpen:d,onClose:h,forceUpdate:p}=l;return f.createElement(D,{value:s},f.createElement(z,{value:l},f.createElement(i.Fo,{value:n},(0,u.Pu)(t,{isOpen:d,onClose:h,forceUpdate:p}))))};c.Ts&&(q.displayName="Menu");var K=(0,a.G)(((e,t)=>{var n=(0,i.yK)();return f.createElement(s.m$.button,U({ref:t},e,{__css:U({display:"inline-flex",appearance:"none",alignItems:"center",outline:0},n.button)}))})),Z=(0,a.G)(((e,t)=>{var{as:n}=e,r=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=F(),{isOpen:r,onClose:o,autoSelect:i,popper:a,openAndFocusFirstItem:s,openAndFocusLastItem:c,openAndFocusMenu:d}=n,p=f.useCallback((()=>{r?o():(i?s:d)()}),[i,r,o,s,d]),v=f.useCallback((e=>{var t=(0,l.uh)(e),n={Enter:s,ArrowDown:s,ArrowUp:c}[t];n&&(e.preventDefault(),e.stopPropagation(),n(e))}),[s,c]);return A({},e,{ref:(0,h.l)(n.buttonRef,t,a.referenceRef),id:n.buttonId,"data-active":(0,l.PB)(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:(0,u.v0)(e.onClick,p),onKeyDown:(0,u.v0)(e.onKeyDown,v)})}(G(e,["children","as"]),t),o=n||K;return f.createElement(o,U({},r,{className:(0,l.cx)("chakra-menu__menu-button",e.className)}),f.createElement(s.m$.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0}},e.children))}));c.Ts&&(Z.displayName="MenuButton");var $={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},X="custom"in d.E?d.E.custom(s.m$.div):(0,d.E)(s.m$.div),Y=(0,a.G)(((e,t)=>{var n,r,{rootProps:o}=e,a=G(e,["rootProps"]),{isOpen:c,onTransitionEnd:d}=F(),p=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=F();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>");var{focusedIndex:r,setFocusedIndex:o,menuRef:i,isOpen:a,onClose:s,menuId:c,isLazy:d,lazyBehavior:p}=n,v=L(),m=T({preventDefault:e=>" "!==e.key&&V(e.target)}),g=f.useCallback((e=>{var t=(0,l.uh)(e),n={Tab:e=>e.preventDefault(),Escape:s,ArrowDown:()=>{var e=v.nextEnabled(r);e&&o(e.index)},ArrowUp:()=>{var e=v.prevEnabled(r);e&&o(e.index)}}[t];if(n)return e.preventDefault(),void n(e);var i=m((e=>{var t=(0,I.LP)(v.values(),e,(e=>{var t,n;return null!=(t=null==e||null==(n=e.node)?void 0:n.textContent)?t:""}),v.item(r));if(t){var n=v.indexOf(t.node);o(n)}}));V(e.target)&&i(e)}),[v,r,m,s,o]),y=f.useRef(!1);a&&(y.current=!0);var b=function(e){var{hasBeenSelected:t,isLazy:n,isSelected:r,lazyBehavior:o="unmount"}=e;return!n||!!r||!("keepMounted"!==o||!t)}({hasBeenSelected:y.current,isLazy:d,lazyBehavior:p,isSelected:a});return A({},e,{ref:(0,h.l)(i,t),children:b?e.children:null,tabIndex:-1,role:"menu",id:c,style:A({},e.style,{transformOrigin:"var(--popper-transform-origin)"}),"aria-orientation":"vertical",onKeyDown:(0,u.v0)(e.onKeyDown,g)})}(a,t),v=function(e){void 0===e&&(e={});var{popper:t,isOpen:n}=F();return t.getPopperProps(A({},e,{style:A({visibility:n?"visible":"hidden"},e.style)}))}(o),m=(0,i.yK)();return f.createElement(s.m$.div,U({},v,{__css:{zIndex:null!=(n=e.zIndex)?n:null==(r=m.list)?void 0:r.zIndex}}),f.createElement(X,U({},p,{onUpdate:d,className:(0,l.cx)("chakra-menu__menu-list",p.className),variants:$,initial:!1,animate:c?"enter":"exit",__css:U({outline:0},m.list)})))}));c.Ts&&(Y.displayName="MenuList");var Q=(0,a.G)(((e,t)=>{var{type:n}=e,r=G(e,["type"]),o=(0,i.yK)(),a=r.as?null!=n?n:void 0:"button",u=U({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0},o.item);return f.createElement(s.m$.button,U({ref:t,type:a},r,{__css:u}))})),J=(0,a.G)(((e,t)=>{var{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:i="0.75rem",children:a}=e,s=W(G(e,["icon","iconSpacing","command","commandSpacing","children"]),t),u=n||o?f.createElement("span",{style:{pointerEvents:"none",flex:1}},a):a;return f.createElement(Q,U({},s,{className:(0,l.cx)("chakra-menu__menuitem",s.className)}),n&&f.createElement(ie,{fontSize:"0.8em",marginEnd:r},n),u,o&&f.createElement(oe,{marginStart:i},o))}));c.Ts&&(J.displayName="MenuItem");var ee=e=>f.createElement("svg",U({viewBox:"0 0 14 14",width:"1em",height:"1em"},e),f.createElement("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})),te=(0,a.G)(((e,t)=>{var{icon:n,iconSpacing:r="0.75rem"}=e,o=G(e,["icon","iconSpacing"]),i=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var{type:n="radio",isChecked:r}=e;return A({},W(R(e,["type","isChecked"]),t),{role:"menuitem"+n,"aria-checked":r})}(o,t);return f.createElement(Q,U({},i,{className:(0,l.cx)("chakra-menu__menuitem-option",o.className)}),f.createElement(ie,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0},n||f.createElement(ee,null)),f.createElement("span",{style:{flex:1}},i.children))}));te.id="MenuItemOption",c.Ts&&(te.displayName="MenuItemOption");var ne=e=>{var{className:t,title:n}=e,r=function(e){void 0===e&&(e={});var{children:t,type:n="radio",value:r,defaultValue:o,onChange:i}=e,a=R(e,["children","type","value","defaultValue","onChange"]),s="radio"===n?"":[],[u,l]=(0,M.T)({defaultValue:null!=o?o:s,value:r,onChange:i}),d=f.useCallback((e=>{if("radio"===n&&(0,c.HD)(u)&&l(e),"checkbox"===n&&(0,c.kJ)(u)){var t=u.includes(e)?(0,I.cl)(u,e):(0,I.jX)(u,e);l(t)}}),[u,l,n]);return A({},a,{children:(0,j.W)(t).map((e=>{if("MenuItemOption"!==e.type.id)return e;var t="radio"===n?e.props.value===u:u.includes(e.props.value);return f.cloneElement(e,{type:n,onClick:t=>{d(e.props.value),null==e.props.onClick||e.props.onClick(t)},isChecked:t})}))})}(G(e,["className","title"]));return f.createElement(re,U({title:n,className:(0,l.cx)("chakra-menu__option-group",t)},r))};c.Ts&&(ne.displayName="MenuOptionGroup");var re=(0,a.G)(((e,t)=>{var{title:n,children:r,className:o}=e,a=G(e,["title","children","className"]),u=(0,l.cx)("chakra-menu__group__title",o),c=(0,i.yK)();return f.createElement("div",{ref:t,className:"chakra-menu__group",role:"group"},n&&f.createElement(s.m$.p,U({className:u},a,{__css:c.groupTitle}),n),r)}));c.Ts&&(re.displayName="MenuGroup");var oe=(0,a.G)(((e,t)=>{var n=(0,i.yK)();return f.createElement(s.m$.span,U({ref:t},e,{__css:n.command,className:"chakra-menu__command"}))}));c.Ts&&(oe.displayName="MenuCommand");var ie=e=>{var{className:t,children:n}=e,r=G(e,["className","children"]),o=f.Children.only(n),i=f.isValidElement(o)?f.cloneElement(o,{focusable:"false","aria-hidden":!0,className:(0,l.cx)("chakra-menu__icon",o.props.className)}):null,a=(0,l.cx)("chakra-menu__icon-wrapper",t);return f.createElement(s.m$.span,U({className:a},r,{__css:{flexShrink:0}}),i)};c.Ts&&(ie.displayName="MenuIcon");var ae=e=>{var{className:t}=e,n=G(e,["className"]),r=(0,i.yK)();return f.createElement(s.m$.hr,U({role:"separator","aria-orientation":"horizontal",className:(0,l.cx)("chakra-menu__divider",t)},n,{__css:r.divider}))};c.Ts&&(ae.displayName="MenuDivider")},49065:function(e,t,n){"use strict";n.d(t,{u_:function(){return $t},fe:function(){return tn},ol:function(){return rn},hz:function(){return Yt},mz:function(){return nn},xB:function(){return en},ZA:function(){return Jt}});var r=n(70058),o=n(90063),i=n(2326),a=n(55284),s=n(89384),u=n(73808),c=n(67294);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=e=>c.createElement(r.J,l({focusable:"false","aria-hidden":!0},e),c.createElement("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})),f=(0,o.G)(((e,t)=>{var n=(0,i.m)("CloseButton",e),r=(0,a.Lr)(e),{children:o,isDisabled:u,__css:f}=r,h=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,["children","isDisabled","__css"]);return c.createElement(s.m$.button,l({type:"button","aria-label":"Close",ref:t,disabled:u,__css:l({},{outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},n,f)},h),o||c.createElement(d,{width:"1em",height:"1em"}))}));function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}u.Ts&&(f.displayName="CloseButton");n(45697);var p="data-focus-lock",v="data-focus-lock-disabled";function m(e,t){return function(e,t){var n=(0,c.useState)((function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0];return n.callback=t,n.facade}(t,(function(t){return e.forEach((function(e){return function(e,t){return"function"===typeof e?e(t):e&&(e.current=t),e}(e,t)}))}))}var g={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},y=function(e){var t=e.children;return c.createElement(c.Fragment,null,c.createElement("div",{key:"guard-first","data-focus-guard":!0,"data-focus-auto-guard":!0,style:g}),t,t&&c.createElement("div",{key:"guard-last","data-focus-guard":!0,"data-focus-auto-guard":!0,style:g}))};y.propTypes={},y.defaultProps={children:null};var b=function(){return(b=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function w(e){return e}function _(e,t){void 0===t&&(t=w);var n=[],r=!1;return{read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var o=t(e,r);return n.push(o),function(){n=n.filter((function(e){return e!==o}))}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var o=n;n=[],o.forEach(e),t=n}var i=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(i)};a(),n={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),n}}}}}function x(e,t){return void 0===t&&(t=w),_(e,t)}function k(e){void 0===e&&(e={});var t=_(null);return t.options=b({async:!0,ssr:!1},e),t}var E=x({},(function(e){return{target:e.target,currentTarget:e.currentTarget}})),O=x(),C=x(),T=k({async:!0}),M=[],S=c.forwardRef((function(e,t){var n,r=c.useState(),o=r[0],i=r[1],a=c.useRef(),s=c.useRef(!1),u=c.useRef(null),l=e.children,d=e.disabled,f=e.noFocusGuards,y=e.persistentFocus,b=e.crossFrame,w=e.autoFocus,_=(e.allowTextSelection,e.group),x=e.className,k=e.whiteList,C=e.shards,S=void 0===C?M:C,P=e.as,j=void 0===P?"div":P,I=e.lockProps,A=void 0===I?{}:I,R=e.sideCar,D=e.returnFocus,L=e.onActivation,N=e.onDeactivation,B=c.useState({})[0],z=c.useCallback((function(){u.current=u.current||document&&document.activeElement,a.current&&L&&L(a.current),s.current=!0}),[L]),F=c.useCallback((function(){s.current=!1,N&&N(a.current)}),[N]),H=c.useCallback((function(e){var t=u.current;if(Boolean(D)&&t&&t.focus){var n="object"===typeof D?D:void 0;u.current=null,e?Promise.resolve().then((function(){return t.focus(n)})):t.focus(n)}}),[D]),V=c.useCallback((function(e){s.current&&E.useMedium(e)}),[]),W=O.useMedium,U=c.useCallback((function(e){a.current!==e&&(a.current=e,i(e))}),[]);var G=h(((n={})[v]=d&&"disabled",n[p]=_,n),A),q=!0!==f,K=q&&"tail"!==f,Z=m([t,U]);return c.createElement(c.Fragment,null,q&&[c.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:d?-1:0,style:g}),c.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:d?-1:1,style:g})],!d&&c.createElement(R,{id:B,sideCar:T,observed:o,disabled:d,persistentFocus:y,crossFrame:b,autoFocus:w,whiteList:k,shards:S,onActivation:z,onDeactivation:F,returnFocus:H}),c.createElement(j,h({ref:Z},G,{className:x,onBlur:W,onFocus:V}),l),K&&c.createElement("div",{"data-focus-guard":!0,tabIndex:d?-1:0,style:g}))}));S.propTypes={},S.defaultProps={children:void 0,disabled:!1,returnFocus:!1,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};var P=S,j=n(93552);var I=function(e,t){return function(n){var r,o=[];function i(){r=e(o.map((function(e){return e.props}))),t(r)}var a,s,u,l=function(e){function t(){return e.apply(this,arguments)||this}(0,j.Z)(t,e),t.peek=function(){return r};var a=t.prototype;return a.componentDidMount=function(){o.push(this),i()},a.componentDidUpdate=function(){i()},a.componentWillUnmount=function(){var e=o.indexOf(this);o.splice(e,1),i()},a.render=function(){return c.createElement(n,this.props)},t}(c.PureComponent);return a=l,s="displayName",u="SideEffect("+function(e){return e.displayName||e.name||"Component"}(n)+")",s in a?Object.defineProperty(a,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[s]=u,l}},A=function(e){return"INPUT"===e.tagName&&"radio"===e.type},R=function(e,t){return A(e)&&e.name?function(e,t){return t.filter(A).filter((function(t){return t.name===e.name})).filter((function(e){return e.checked}))[0]||e}(e,t):e},D=function(e){return e[0]&&e.length>1?R(e[0],e):e[0]},L=function(e,t){return e.length>1?e.indexOf(R(e[t],e)):t},N=function(e){return!e||e===document||e&&e.nodeType===Node.DOCUMENT_NODE||!((t=window.getComputedStyle(e,null))&&t.getPropertyValue&&("none"===t.getPropertyValue("display")||"hidden"===t.getPropertyValue("visibility")))&&N(e.parentNode&&e.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e.parentNode.host:e.parentNode);var t},B=function(e){return Boolean(e&&e.dataset&&e.dataset.focusGuard)},z=function(e){return!B(e)},F=function(e){return Boolean(e)},H="NEW_FOCUS",V=function(e,t,n,r){var o=e.length,i=e[0],a=e[o-1],s=B(n);if(!(e.indexOf(n)>=0)){var u=t.indexOf(n),c=r?t.indexOf(r):u,l=r?e.indexOf(r):-1,d=u-c,f=t.indexOf(i),h=t.indexOf(a),p=function(e){var t=new Set;return e.forEach((function(n){return t.add(R(n,e))})),e.filter((function(e){return t.has(e)}))}(t),v=p.indexOf(n)-(r?p.indexOf(r):u),m=L(e,0),g=L(e,o-1);return-1===u||-1===l?H:!d&&l>=0?l:u<=f&&s&&Math.abs(d)>1?g:u>=h&&s&&Math.abs(d)>1?m:d&&Math.abs(v)>1?l:u<=f?g:u>h?m:d?Math.abs(d)>1?l:(o+l+d)%o:void 0}},W=function(e){for(var t=Array(e.length),n=0;n<e.length;++n)t[n]=e[n];return t},U=function(e){return Array.isArray(e)?e:[e]},G=function(e){return e.parentNode?G(e.parentNode):e},q=function(e){return U(e).filter(Boolean).reduce((function(e,t){var n=t.getAttribute(p);return e.push.apply(e,n?function(e){for(var t=new Set,n=e.length,r=0;r<n;r+=1)for(var o=r+1;o<n;o+=1){var i=e[r].compareDocumentPosition(e[o]);(i&Node.DOCUMENT_POSITION_CONTAINED_BY)>0&&t.add(o),(i&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter((function(e,n){return!t.has(n)}))}(W(G(t).querySelectorAll('[data-focus-lock="'+n+'"]:not(['+v+'="disabled"])'))):[t]),e}),[])},K=function(e,t){var n=e.tabIndex-t.tabIndex,r=e.index-t.index;if(n){if(!e.tabIndex)return 1;if(!t.tabIndex)return-1}return n||r},Z=function(e,t,n){return W(e).map((function(e,t){return{node:e,index:t,tabIndex:n&&-1===e.tabIndex?(e.dataset||{}).focusGuard?0:-1:e.tabIndex}})).filter((function(e){return!t||e.tabIndex>=0})).sort(K)},$=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),X=$+", [data-focus-guard]",Y=function(e,t){return e.reduce((function(e,n){return e.concat(W(n.querySelectorAll(t?X:$)),n.parentNode?W(n.parentNode.querySelectorAll($)).filter((function(e){return e===n})):[])}),[])},Q=function(e){return W(e).filter((function(e){return N(e)})).filter((function(e){return function(e){return!(("INPUT"===e.tagName||"BUTTON"===e.tagName)&&("hidden"===e.type||e.disabled))}(e)}))},J=function(e,t){return Z(Q(Y(e,t)),!0,t)},ee=function(e){return Z(Q(Y(e)),!1)},te=function(e){return Q(function(e){var t=e.querySelectorAll("[data-autofocus-inside]");return W(t).map((function(e){return Y([e])})).reduce((function(e,t){return e.concat(t)}),[])}(e))},ne=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&ne(e.parentNode,t),t},re=function(e,t){for(var n=ne(e),r=ne(t),o=0;o<n.length;o+=1){var i=n[o];if(r.indexOf(i)>=0)return i}return!1},oe=function(e,t,n){var r=U(e),o=U(t),i=r[0],a=!1;return o.filter(Boolean).forEach((function(e){a=re(a||e,e)||a,n.filter(Boolean).forEach((function(e){var t=re(i,e);t&&(a=!a||t.contains(a)?t:re(t,a))}))})),a},ie=function(e,t){var n=document&&document.activeElement,r=q(e).filter(z),o=oe(n||e,e,r),i=ee(r),a=J(r).filter((function(e){var t=e.node;return z(t)}));if(a[0]||(a=i)[0]){var s,u=ee([o]).map((function(e){return e.node})),c=function(e,t){var n=new Map;return t.forEach((function(e){return n.set(e.node,e)})),e.map((function(e){return n.get(e)})).filter(F)}(u,a),l=c.map((function(e){return e.node})),d=V(l,u,n,t);if(d===H){var f=i.map((function(e){return e.node})).filter((s=function(e){return e.reduce((function(e,t){return e.concat(te(t))}),[])}(r),function(e){return e.autofocus||e.dataset&&!!e.dataset.autofocus||s.indexOf(e)>=0}));return{node:f&&f.length?D(f):D(l)}}return void 0===d?d:c[d]}},ae=0,se=!1,ue=function(e,t){var n,r=ie(e,t);if(!se&&r){if(ae>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),se=!0,void setTimeout((function(){se=!1}),1);ae++,(n=r.node).focus(),"contentWindow"in n&&n.contentWindow&&n.contentWindow.focus(),ae--}},ce=function(e){return Boolean(W(e.querySelectorAll("iframe")).some((function(e){return e===document.activeElement})))},le=function(e){var t=document&&document.activeElement;return!(!t||t.dataset&&t.dataset.focusGuard)&&q(e).reduce((function(e,n){return e||n.contains(t)||ce(n)}),!1)};function de(e){var t=window.setImmediate;"undefined"!==typeof t?t(e):setTimeout(e,1)}var fe=function(){return document&&document.activeElement===document.body||document&&W(document.querySelectorAll("[data-no-focus-lock]")).some((function(e){return e.contains(document.activeElement)}))},he=null,pe=null,ve=null,me=!1,ge=function(){return!0};function ye(e,t,n,r){var o=null,i=e;do{var a=r[i];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else{if(!a.lockItem)break;if(i!==e)return;o=null}}while((i+=n)!==t);o&&(o.node.tabIndex=0)}var be=function(e){return e&&"current"in e?e.current:e},we=function(){var e,t=!1;if(he){var n=he,r=n.observed,o=n.persistentFocus,i=n.autoFocus,a=n.shards,s=n.crossFrame,u=r||ve&&ve.portaledElement,c=document&&document.activeElement;if(u){var l=[u].concat(a.map(be).filter(Boolean));if(c&&!function(e){return(he.whiteList||ge)(e)}(c)||(o||(s?Boolean(me):"meanwhile"===me)||!fe()||!pe&&i)&&(!u||le(l)||(e=c,ve&&ve.portaledElement===e)||(document&&!pe&&c&&!i?(c.blur&&c.blur(),document.body.focus()):(t=ue(l,pe),ve={})),me=!1,pe=document&&document.activeElement),document){var d=document&&document.activeElement,f=function(e){var t=q(e).filter(z),n=oe(e,e,t),r=J([n],!0),o=J(t).filter((function(e){var t=e.node;return z(t)})).map((function(e){return e.node}));return r.map((function(e){var t=e.node;return{node:t,index:e.index,lockItem:o.indexOf(t)>=0,guard:B(t)}}))}(l),h=f.map((function(e){return e.node})).indexOf(d);h>-1&&(f.filter((function(e){var t=e.guard,n=e.node;return t&&n.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute("tabIndex")})),ye(h,f.length,1,f),ye(h,-1,-1,f))}}}return t},_e=function(e){we()&&e&&(e.stopPropagation(),e.preventDefault())},xe=function(){return de(we)},ke=function(e){var t=e.target,n=e.currentTarget;n.contains(t)||(ve={observerNode:n,portaledElement:t})},Ee=function(){me="just",setTimeout((function(){me="meanwhile"}),0)};E.assignSyncMedium(ke),O.assignMedium(xe),C.assignMedium((function(e){return e({moveFocusInside:ue,focusInside:le})}));var Oe=I((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var t=e.slice(-1)[0];t&&!he&&(document.addEventListener("focusin",_e,!0),document.addEventListener("focusout",xe),window.addEventListener("blur",Ee));var n=he,r=n&&t&&t.id===n.id;he=t,n&&!r&&(n.onDeactivation(),e.filter((function(e){return e.id===n.id})).length||n.returnFocus(!t)),t?(pe=null,r&&n.observed===t.observed||t.onActivation(),we(),de(we)):(document.removeEventListener("focusin",_e,!0),document.removeEventListener("focusout",xe),window.removeEventListener("blur",Ee),pe=null)}))((function(){return null})),Ce=c.forwardRef((function(e,t){return c.createElement(P,h({sideCar:Oe,ref:t},e))})),Te=P.propTypes||{};Te.sideCar,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n])}(Te,["sideCar"]);Ce.propTypes={};var Me=Ce,Se=n(17768),Pe=["input:not([disabled])","select:not([disabled])","textarea:not([disabled])","embed","iframe","object","a[href]","area[href]","button:not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"].join();function je(e){var t=Array.from(e.querySelectorAll(Pe));return t.unshift(e),t.filter(Se.EB).filter((e=>"none"!==window.getComputedStyle(e).display))}var Ie=n(47248),Ae=e=>{var{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:i,isDisabled:a,autoFocus:s,persistentFocus:u,lockFocusAcrossFrames:l}=e,d=c.useCallback((()=>{if(null!=t&&t.current)t.current.focus();else if(null!=r&&r.current){0===je(r.current).length&&(0,Ie.T)(r.current,{nextTick:!0})}}),[t,r]),f=c.useCallback((()=>{var e;null==n||null==(e=n.current)||e.focus()}),[n]),h=o&&!n;return c.createElement(Me,{crossFrame:l,persistentFocus:u,autoFocus:s,disabled:a,onActivation:d,onDeactivation:f,returnFocus:h},i)};u.Ts&&(Ae.displayName="FocusLock");var Re=n(67273),De=n(29676),Le=n(84461),Ne=n(53869),Be=n(99860),ze=n(24722);function Fe(){return(Fe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var He={initial:"exit",animate:"enter",exit:"exit",variants:{enter:function(e){var t,{transition:n,transitionEnd:r,delay:o}=void 0===e?{}:e;return{opacity:1,transition:null!=(t=null==n?void 0:n.enter)?t:ze.p$.enter(ze.R.enter,o),transitionEnd:null==r?void 0:r.enter}},exit:function(e){var t,{transition:n,transitionEnd:r,delay:o}=void 0===e?{}:e;return{opacity:0,transition:null!=(t=null==n?void 0:n.exit)?t:ze.p$.exit(ze.R.exit,o),transitionEnd:null==r?void 0:r.exit}}}},Ve=c.forwardRef(((e,t)=>{var{unmountOnExit:n,in:r,className:o,transition:i,transitionEnd:a,delay:s}=e,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["unmountOnExit","in","className","transition","transitionEnd","delay"]),l=r||n?"enter":"exit",d=!n||r&&n,f={transition:i,transitionEnd:a,delay:s};return c.createElement(Ne.M,{custom:f},d&&c.createElement(Be.E.div,Fe({ref:t,className:(0,Le.cx)("chakra-fade",o),custom:f},He,{animate:l},u)))}));u.Ts&&(Ve.displayName="Fade");var We=n(80658),Ue=n(28500),Ge=n(69283);var qe=function(){return(qe=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var Ke="right-scroll-bar-position",Ze="width-before-scroll-bar",$e=k(),Xe=function(){},Ye=c.forwardRef((function(e,t){var n=c.useRef(null),r=c.useState({onScrollCapture:Xe,onWheelCapture:Xe,onTouchMoveCapture:Xe}),o=r[0],i=r[1],a=e.forwardProps,s=e.children,u=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,h=e.sideCar,p=e.noIsolation,v=e.inert,g=e.allowPinchZoom,y=e.as,b=void 0===y?"div":y,w=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),_=h,x=m([n,t]),k=qe({},w,o);return c.createElement(c.Fragment,null,d&&c.createElement(_,{sideCar:$e,removeScrollBar:l,shards:f,noIsolation:p,inert:v,setCallbacks:i,allowPinchZoom:!!g,lockRef:n}),a?c.cloneElement(c.Children.only(s),qe({},k,{ref:x})):c.createElement(b,qe({},k,{className:u,ref:x}),s))}));Ye.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Ye.classNames={fullWidth:Ze,zeroRight:Ke};var Qe,Je=function(e){var t=e.sideCar,n=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return c.createElement(r,b({},n))};Je.isSideCarExport=!0;function et(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Qe||n.nc;return t&&e.setAttribute("nonce",t),e}var tt=function(){var e=0,t=null;return{add:function(n){var r,o;0==e&&(t=et())&&(o=n,(r=t).styleSheet?r.styleSheet.cssText=o:r.appendChild(document.createTextNode(o)),function(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}(t)),e++},remove:function(){!--e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},nt=function(){var e=function(){var e=tt();return function(t){c.useEffect((function(){return e.add(t),function(){e.remove()}}),[])}}();return function(t){var n=t.styles;return e(n),null}},rt={left:0,top:0,right:0,gap:0},ot=function(e){return parseInt(e||"",10)||0},it=function(e){if(void 0===e&&(e="margin"),"undefined"===typeof window)return rt;var t=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[ot(n),ot(r),ot(o)]}(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},at=nt(),st=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return void 0===n&&(n="margin"),"\n  .with-scroll-bars-hidden {\n   overflow: hidden "+r+";\n   padding-right: "+s+"px "+r+";\n  }\n  body {\n    overflow: hidden "+r+";\n    "+[t&&"position: relative "+r+";","margin"===n&&"\n    padding-left: "+o+"px;\n    padding-top: "+i+"px;\n    padding-right: "+a+"px;\n    margin-left:0;\n    margin-top:0;\n    margin-right: "+s+"px "+r+";\n    ","padding"===n&&"padding-right: "+s+"px "+r+";"].filter(Boolean).join("")+"\n  }\n  \n  ."+Ke+" {\n    right: "+s+"px "+r+";\n  }\n  \n  ."+Ze+" {\n    margin-right: "+s+"px "+r+";\n  }\n  \n  ."+Ke+" ."+Ke+" {\n    right: 0 "+r+";\n  }\n  \n  ."+Ze+" ."+Ze+" {\n    margin-right: 0 "+r+";\n  }\n  \n  body {\n    --removed-body-scroll-bar-size: "+s+"px;\n  }\n"},ut=function(e){var t=c.useState(it(e.gapMode)),n=t[0],r=t[1];c.useEffect((function(){r(it(e.gapMode))}),[e.gapMode]);var o=e.noRelative,i=e.noImportant,a=e.gapMode,s=void 0===a?"margin":a;return c.createElement(at,{styles:st(n,!o,s,i?"":"!important")})},ct=function(e,t){var n=t;do{if(lt(e,n)){var r=dt(e,n);if(r[1]>r[2])return!0}n=n.parentNode}while(n&&n!==document.body);return!1},lt=function(e,t){return"v"===e?function(e){var t=window.getComputedStyle(e);return"hidden"!==t.overflowY&&!(t.overflowY===t.overflowX&&"visible"===t.overflowY)}(t):function(e){var t=window.getComputedStyle(e);return"hidden"!==t.overflowX&&!(t.overflowY===t.overflowX&&"visible"===t.overflowX)}(t)},dt=function(e,t){return"v"===e?[(n=t).scrollTop,n.scrollHeight,n.clientHeight]:function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t);var n},ft=!1;if("undefined"!==typeof window)try{var ht=Object.defineProperty({},"passive",{get:function(){return ft=!0,!0}});window.addEventListener("test",ht,ht),window.removeEventListener("test",ht,ht)}catch(on){ft=!1}var pt=!!ft&&{passive:!1},vt=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},mt=function(e){return[e.deltaX,e.deltaY]},gt=function(e){return e&&"current"in e?e.current:e},yt=function(e){return"\n  .block-interactivity-"+e+" {pointer-events: none;}\n  .allow-interactivity-"+e+" {pointer-events: all;}\n"},bt=0,wt=[];var _t,xt=(_t=function(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(bt++)[0],i=c.useState((function(){return nt()}))[0],a=c.useRef(e);c.useEffect((function(){a.current=e}),[e]),c.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-"+o);var t=[e.lockRef.current].concat((e.shards||[]).map(gt)).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-"+o)})),function(){document.body.classList.remove("block-interactivity-"+o),t.forEach((function(e){return e.classList.remove("allow-interactivity-"+o)}))}}}),[e.inert,e.lockRef.current,e.shards]);var s=c.useCallback((function(e,t){if("touches"in e&&2===e.touches.length)return!a.current.allowPinchZoom;var o,i=vt(e),s=n.current,u="deltaX"in e?e.deltaX:s[0]-i[0],c="deltaY"in e?e.deltaY:s[1]-i[1],l=e.target,d=Math.abs(u)>Math.abs(c)?"h":"v",f=ct(d,l);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=ct(d,l)),!f)return!1;if(!r.current&&"changedTouches"in e&&(u||c)&&(r.current=o),!o)return!0;var h=r.current||o;return function(e,t,n,r,o){var i=r,a=n.target,s=t.contains(a),u=!1,c=i>0,l=0,d=0;do{var f=dt(e,a),h=f[0],p=f[1]-f[2]-h;(h||p)&&lt(e,a)&&(l+=p,d+=h),a=a.parentNode}while(!s&&a!==document.body||s&&(t.contains(a)||t===a));return(c&&(o&&0===l||!o&&i>l)||!c&&(o&&0===d||!o&&-i>d))&&(u=!0),u}(h,t,e,"h"===h?u:c,!0)}),[]),u=c.useCallback((function(e){var n=e;if(wt.length&&wt[wt.length-1]===i){var r="deltaY"in n?mt(n):vt(n),o=t.current.filter((function(e){return e.name===n.type&&e.target===n.target&&(t=e.delta,o=r,t[0]===o[0]&&t[1]===o[1]);var t,o}))[0];if(o&&o.should)n.preventDefault();else if(!o){var u=(a.current.shards||[]).map(gt).filter(Boolean).filter((function(e){return e.contains(n.target)}));(u.length>0?s(n,u[0]):!a.current.noIsolation)&&n.preventDefault()}}}),[]),l=c.useCallback((function(e,n,r,o){var i={name:e,delta:n,target:r,should:o};t.current.push(i),setTimeout((function(){t.current=t.current.filter((function(e){return e!==i}))}),1)}),[]),d=c.useCallback((function(e){n.current=vt(e),r.current=void 0}),[]),f=c.useCallback((function(t){l(t.type,mt(t),t.target,s(t,e.lockRef.current))}),[]),h=c.useCallback((function(t){l(t.type,vt(t),t.target,s(t,e.lockRef.current))}),[]);c.useEffect((function(){return wt.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",u,pt),document.addEventListener("touchmove",u,pt),document.addEventListener("touchstart",d,pt),function(){wt=wt.filter((function(e){return e!==i})),document.removeEventListener("wheel",u,pt),document.removeEventListener("touchmove",u,pt),document.removeEventListener("touchstart",d,pt)}}),[]);var p=e.removeScrollBar,v=e.inert;return c.createElement(c.Fragment,null,v?c.createElement(i,{styles:yt(o)}):null,p?c.createElement(ut,{gapMode:"margin"}):null)},$e.useMedium(_t),Je),kt=c.forwardRef((function(e,t){return c.createElement(Ye,qe({},e,{ref:t,sideCar:xt}))}));kt.classNames=Ye.classNames;var Et=kt;function Ot(){return(Ot=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var Ct={initial:"initial",animate:"enter",exit:"exit",variants:{initial:e=>{var t,{offsetX:n,offsetY:r,transition:o,transitionEnd:i,delay:a}=e;return{opacity:0,x:n,y:r,transition:null!=(t=null==o?void 0:o.exit)?t:ze.p$.exit(ze.R.exit,a),transitionEnd:null==i?void 0:i.exit}},enter:e=>{var t,{transition:n,transitionEnd:r,delay:o}=e;return{opacity:1,x:0,y:0,transition:null!=(t=null==n?void 0:n.enter)?t:ze.p$.enter(ze.R.enter,o),transitionEnd:null==r?void 0:r.enter}},exit:e=>{var t,{offsetY:n,offsetX:r,transition:o,transitionEnd:i,reverse:a,delay:s}=e,u={x:r,y:n};return Ot({opacity:0,transition:null!=(t=null==o?void 0:o.exit)?t:ze.p$.exit(ze.R.exit,s)},a?Ot({},u,{transitionEnd:null==i?void 0:i.exit}):{transitionEnd:Ot({},u,null==i?void 0:i.exit)})}}},Tt=c.forwardRef(((e,t)=>{var{unmountOnExit:n,in:r,reverse:o=!0,className:i,offsetX:a=0,offsetY:s=8,transition:u,transitionEnd:l,delay:d}=e,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["unmountOnExit","in","reverse","className","offsetX","offsetY","transition","transitionEnd","delay"]),h=!n||r&&n,p=r||n?"enter":"exit",v={offsetX:a,offsetY:s,reverse:o,transition:u,transitionEnd:l,delay:d};return c.createElement(Ne.M,{custom:v},h&&c.createElement(Be.E.div,Ot({ref:t,className:(0,Le.cx)("chakra-offset-slide",i),custom:v},Ct,{animate:p},f)))}));function Mt(){return(Mt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}u.Ts&&(Tt.displayName="SlideFade");var St={initial:"exit",animate:"enter",exit:"exit",variants:{exit:e=>{var t,{reverse:n,initialScale:r,transition:o,transitionEnd:i,delay:a}=e;return Mt({opacity:0},n?{scale:r,transitionEnd:null==i?void 0:i.exit}:{transitionEnd:Mt({scale:r},null==i?void 0:i.exit)},{transition:null!=(t=null==o?void 0:o.exit)?t:ze.p$.exit(ze.R.exit,a)})},enter:e=>{var t,{transitionEnd:n,transition:r,delay:o}=e;return{opacity:1,scale:1,transition:null!=(t=null==r?void 0:r.enter)?t:ze.p$.enter(ze.R.enter,o),transitionEnd:null==n?void 0:n.enter}}}},Pt=c.forwardRef(((e,t)=>{var{unmountOnExit:n,in:r,reverse:o=!0,initialScale:i=.95,className:a,transition:s,transitionEnd:u,delay:l}=e,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["unmountOnExit","in","reverse","initialScale","className","transition","transitionEnd","delay"]),f=!n||r&&n,h=r||n?"enter":"exit",p={initialScale:i,reverse:o,transition:s,transitionEnd:u,delay:l};return c.createElement(Ne.M,{custom:p},f&&c.createElement(Be.E.div,Mt({ref:t,className:(0,Le.cx)("chakra-offset-slide",a)},St,{animate:h,custom:p},d)))}));function jt(){return(jt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}u.Ts&&(Pt.displayName="ScaleFade");var It={slideInBottom:jt({},Ct,{custom:{offsetY:16,reverse:!0}}),slideInRight:jt({},Ct,{custom:{offsetX:16,reverse:!0}}),scale:jt({},St,{custom:{initialScale:.95,reverse:!0}}),none:{}},At=(0,s.m$)(Be.E.section),Rt=c.forwardRef(((e,t)=>{var{preset:n}=e,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["preset"]),o=It[n];return c.createElement(At,jt({ref:t},o,r))})),Dt=n(94577),Lt=n(72947),Nt=new WeakMap,Bt=new WeakMap,zt={},Ft=0,Ht=function(e,t,n){void 0===t&&(t=function(e){return"undefined"===typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e)),void 0===n&&(n="data-aria-hidden");var r=Array.isArray(e)?e:[e];zt[n]||(zt[n]=new WeakMap);var o=zt[n],i=[],a=new Set,s=function(e){e&&!a.has(e)&&(a.add(e),s(e.parentNode))};r.forEach(s);var u=function(e){!e||r.indexOf(e)>=0||Array.prototype.forEach.call(e.children,(function(e){if(a.has(e))u(e);else{var t=e.getAttribute("aria-hidden"),r=null!==t&&"false"!==t,s=(Nt.get(e)||0)+1,c=(o.get(e)||0)+1;Nt.set(e,s),o.set(e,c),i.push(e),1===s&&r&&Bt.set(e,!0),1===c&&e.setAttribute(n,"true"),r||e.setAttribute("aria-hidden","true")}}))};return u(t),a.clear(),Ft++,function(){i.forEach((function(e){var t=Nt.get(e)-1,r=o.get(e)-1;Nt.set(e,t),o.set(e,r),t||(Bt.has(e)||e.removeAttribute("aria-hidden"),Bt.delete(e)),r||e.removeAttribute(n)})),--Ft||(Nt=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,zt={})}};var Vt=new class{constructor(){var e,t,n;n=void 0,(t="modals")in(e=this)?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,this.modals=[]}add(e){this.modals.push(e)}remove(e){this.modals=this.modals.filter((t=>t!==e))}isTopModal(e){return this.modals[this.modals.length-1]===e}};function Wt(){return(Wt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ut(e){var t,n,{isOpen:r,onClose:o,id:i,closeOnOverlayClick:a=!0,closeOnEsc:s=!0,useInert:u=!0,onOverlayClick:l,onEsc:d}=e,f=(0,c.useRef)(null),h=(0,c.useRef)(null),[p,v,m]=(0,Dt.ZS)(i,"chakra-modal","chakra-modal--header","chakra-modal--body");t=f,n=r&&u,(0,c.useEffect)((()=>{if(t.current){var e=null;return n&&t.current&&(e=Ht(t.current)),()=>{n&&(null==e||e())}}}),[n,t]),function(e,t){(0,c.useEffect)((()=>(t&&Vt.add(e),()=>{Vt.remove(e)})),[t,e])}(f,r);var g=(0,c.useRef)(null),y=(0,c.useCallback)((e=>{g.current=e.target}),[]),b=(0,c.useCallback)((e=>{"Escape"===e.key&&(e.stopPropagation(),s&&(null==o||o()),null==d||d())}),[s,o,d]),[w,_]=(0,c.useState)(!1),[x,k]=(0,c.useState)(!1),E=(0,c.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Wt({role:"dialog"},e,{ref:(0,Lt.l)(t,f),id:p,tabIndex:-1,"aria-modal":!0,"aria-labelledby":w?v:void 0,"aria-describedby":x?m:void 0,onClick:(0,We.v0)(e.onClick,(e=>e.stopPropagation()))})}),[m,x,p,v,w]),O=(0,c.useCallback)((e=>{e.stopPropagation(),g.current===e.target&&Vt.isTopModal(f)&&(a&&(null==o||o()),null==l||l())}),[o,a,l]),C=(0,c.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Wt({},e,{ref:(0,Lt.l)(t,h),onClick:(0,We.v0)(e.onClick,O),onKeyDown:(0,We.v0)(e.onKeyDown,b),onMouseDown:(0,We.v0)(e.onMouseDown,y)})}),[b,y,O]);return{isOpen:r,onClose:o,headerId:v,bodyId:m,setBodyMounted:k,setHeaderMounted:_,dialogRef:f,overlayRef:h,getDialogProps:E,getDialogContainerProps:C}}function Gt(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function qt(){return(qt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[Kt,Zt]=(0,Ue.k)({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in `<Modal />`"}),$t=e=>{var{portalProps:t,children:n,autoFocus:r,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:u,blockScrollOnMount:l,allowPinchZoom:d,preserveScrollBarGap:f,motionPreset:h,lockFocusAcrossFrames:p}=e,v=(0,i.j)("Modal",e),m=qt({},Ut(e),{autoFocus:r,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:u,blockScrollOnMount:l,allowPinchZoom:d,preserveScrollBarGap:f,motionPreset:h,lockFocusAcrossFrames:p});return c.createElement(Kt,{value:m},c.createElement(De.Fo,{value:v},c.createElement(Ne.M,null,m.isOpen&&c.createElement(Re.h,t,n))))};$t.defaultProps={lockFocusAcrossFrames:!0,returnFocusOnClose:!0,scrollBehavior:"outside",trapFocus:!0,autoFocus:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale"},u.Ts&&($t.displayName="Modal");var Xt=(0,s.m$)(Be.E.div),Yt=(0,o.G)(((e,t)=>{var{className:n,children:r,containerProps:o}=e,i=Gt(e,["className","children","containerProps"]),{getDialogProps:a,getDialogContainerProps:u}=Zt(),l=a(i,t),d=u(o),f=(0,Le.cx)("chakra-modal__content",n),h=(0,De.yK)(),p=qt({display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0},h.dialog),v=qt({display:"flex",width:"100vw",height:"100vh","@supports(height: -webkit-fill-available)":{height:"-webkit-fill-available"},position:"fixed",left:0,top:0},h.dialogContainer),{motionPreset:m}=Zt();return c.createElement(Qt,null,c.createElement(s.m$.div,qt({},d,{className:"chakra-modal__content-container",__css:v}),c.createElement(Rt,qt({preset:m,className:f},l,{__css:p}),r)))}));function Qt(e){var{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:i,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:u,preserveScrollBarGap:l,lockFocusAcrossFrames:d}=Zt(),[f,h]=(0,Ge.oO)();return c.useEffect((()=>{!f&&h&&setTimeout(h)}),[f,h]),c.createElement(Ae,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:s,restoreFocus:u,contentRef:r,lockFocusAcrossFrames:d},c.createElement(Et,{removeScrollBar:!l,allowPinchZoom:a,enabled:i,forwardProps:!0},e.children))}u.Ts&&(Yt.displayName="ModalContent");var Jt=(0,o.G)(((e,t)=>{var{className:n}=e,r=Gt(e,["className","transition"]),o=(0,Le.cx)("chakra-modal__overlay",n),i=qt({pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh"},(0,De.yK)().overlay),{motionPreset:a}=Zt(),s="none"===a?{}:He;return c.createElement(Xt,qt({},s,{__css:i,ref:t,className:o},r))}));u.Ts&&(Jt.displayName="ModalOverlay");var en=(0,o.G)(((e,t)=>{var{className:n}=e,r=Gt(e,["className"]),{headerId:o,setHeaderMounted:i}=Zt();c.useEffect((()=>(i(!0),()=>i(!1))),[i]);var a=(0,Le.cx)("chakra-modal__header",n),u=qt({flex:0},(0,De.yK)().header);return c.createElement(s.m$.header,qt({ref:t,className:a,id:o},r,{__css:u}))}));u.Ts&&(en.displayName="ModalHeader");var tn=(0,o.G)(((e,t)=>{var{className:n}=e,r=Gt(e,["className"]),{bodyId:o,setBodyMounted:i}=Zt();c.useEffect((()=>(i(!0),()=>i(!1))),[i]);var a=(0,Le.cx)("chakra-modal__body",n),u=(0,De.yK)();return c.createElement(s.m$.div,qt({ref:t,className:a,id:o},r,{__css:u.body}))}));u.Ts&&(tn.displayName="ModalBody");var nn=(0,o.G)(((e,t)=>{var{className:n}=e,r=Gt(e,["className"]),o=(0,Le.cx)("chakra-modal__footer",n),i=qt({display:"flex",alignItems:"center",justifyContent:"flex-end"},(0,De.yK)().footer);return c.createElement(s.m$.footer,qt({ref:t},r,{__css:i,className:o}))}));u.Ts&&(nn.displayName="ModalFooter");var rn=(0,o.G)(((e,t)=>{var{onClick:n,className:r}=e,o=Gt(e,["onClick","className"]),{onClose:i}=Zt(),a=(0,Le.cx)("chakra-modal__close-btn",r),s=(0,De.yK)();return c.createElement(f,qt({ref:t,__css:s.closeButton,className:a,onClick:(0,We.v0)(n,(e=>{e.stopPropagation(),i()}))},o))}));u.Ts&&(rn.displayName="ModalCloseButton")},8931:function(e,t,n){"use strict";n.d(t,{D:function(){return be}});var r=n(72947);function o(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function i(e){if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t?t.defaultView:window}return e}function a(e){var t=i(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function s(e){return e instanceof i(e).Element||e instanceof Element}function u(e){return e instanceof i(e).HTMLElement||e instanceof HTMLElement}function c(e){return e?(e.nodeName||"").toLowerCase():null}function l(e){return(s(e)?e.ownerDocument:e.document).documentElement}function d(e){return o(l(e)).left+a(e).scrollLeft}function f(e){return i(e).getComputedStyle(e)}function h(e){var t=f(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function p(e,t,n){void 0===n&&(n=!1);var r=l(t),s=o(e),f=u(t),p={scrollLeft:0,scrollTop:0},v={x:0,y:0};return(f||!f&&!n)&&(("body"!==c(t)||h(r))&&(p=function(e){return e!==i(e)&&u(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:a(e);var t}(t)),u(t)?((v=o(t)).x+=t.clientLeft,v.y+=t.clientTop):r&&(v.x=d(r))),{x:s.left+p.scrollLeft-v.x,y:s.top+p.scrollTop-v.y,width:s.width,height:s.height}}function v(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function m(e){return"html"===c(e)?e:e.assignedSlot||e.parentNode||e.host||l(e)}function g(e){return["html","body","#document"].indexOf(c(e))>=0?e.ownerDocument.body:u(e)&&h(e)?e:g(m(e))}function y(e,t){void 0===t&&(t=[]);var n=g(e),r="body"===c(n),o=i(n),a=r?[o].concat(o.visualViewport||[],h(n)?n:[]):n,s=t.concat(a);return r?s:s.concat(y(m(a)))}function b(e){return["table","td","th"].indexOf(c(e))>=0}function w(e){if(!u(e)||"fixed"===f(e).position)return null;var t=e.offsetParent;if(t){var n=l(t);if("body"===c(t)&&"static"===f(t).position&&"static"!==f(n).position)return n}return t}function _(e){for(var t=i(e),n=w(e);n&&b(n)&&"static"===f(n).position;)n=w(n);return n&&"body"===c(n)&&"static"===f(n).position?t:n||function(e){for(var t=m(e);u(t)&&["html","body"].indexOf(c(t))<0;){var n=f(t);if("none"!==n.transform||"none"!==n.perspective||n.willChange&&"auto"!==n.willChange)return t;t=t.parentNode}return null}(e)||t}var x="top",k="bottom",E="right",O="left",C="auto",T=[x,k,E,O],M="start",S="end",P="viewport",j="popper",I=T.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+S])}),[]),A=[].concat(T,[C]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+S])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function D(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function L(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var N={placement:"bottom",modifiers:[],strategy:"absolute"};function B(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"===typeof e.getBoundingClientRect)}))}function z(e){void 0===e&&(e={});var t=e,n=t.defaultModifiers,r=void 0===n?[]:n,o=t.defaultOptions,i=void 0===o?N:o;return function(e,t,n){void 0===n&&(n=i);var o={placement:"bottom",orderedModifiers:[],options:Object.assign(Object.assign({},N),i),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},a=[],u=!1,c={state:o,setOptions:function(n){l(),o.options=Object.assign(Object.assign(Object.assign({},i),o.options),n),o.scrollParents={reference:s(e)?y(e):e.contextElement?y(e.contextElement):[],popper:y(t)};var u=function(e){var t=D(e);return R.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign(Object.assign(Object.assign({},n),t),{},{options:Object.assign(Object.assign({},n.options),t.options),data:Object.assign(Object.assign({},n.data),t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(r,o.options.modifiers)));return o.orderedModifiers=u.filter((function(e){return e.enabled})),o.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,r=void 0===n?{}:n,i=e.effect;if("function"===typeof i){var s=i({state:o,name:t,instance:c,options:r}),u=function(){};a.push(s||u)}})),c.update()},forceUpdate:function(){if(!u){var e=o.elements,t=e.reference,n=e.popper;if(B(t,n)){o.rects={reference:p(t,_(n),"fixed"===o.options.strategy),popper:v(n)},o.reset=!1,o.placement=o.options.placement,o.orderedModifiers.forEach((function(e){return o.modifiersData[e.name]=Object.assign({},e.data)}));for(var r=0;r<o.orderedModifiers.length;r++)if(!0!==o.reset){var i=o.orderedModifiers[r],a=i.fn,s=i.options,l=void 0===s?{}:s,d=i.name;"function"===typeof a&&(o=a({state:o,options:l,name:d,instance:c})||o)}else o.reset=!1,r=-1}}},update:L((function(){return new Promise((function(e){c.forceUpdate(),e(o)}))})),destroy:function(){l(),u=!0}};if(!B(e,t))return c;function l(){a.forEach((function(e){return e()})),a=[]}return c.setOptions(n).then((function(e){!u&&n.onFirstUpdate&&n.onFirstUpdate(e)})),c}}var F={passive:!0};function H(e){return e.split("-")[0]}function V(e){return e.split("-")[1]}function W(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?H(o):null,a=o?V(o):null,s=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2;switch(i){case x:t={x:s,y:n.y-r.height};break;case k:t={x:s,y:n.y+n.height};break;case E:t={x:n.x+n.width,y:u};break;case O:t={x:n.x-r.width,y:u};break;default:t={x:n.x,y:n.y}}var c=i?W(i):null;if(null!=c){var l="y"===c?"height":"width";switch(a){case M:t[c]=Math.floor(t[c])-Math.floor(n[l]/2-r[l]/2);break;case S:t[c]=Math.floor(t[c])+Math.ceil(n[l]/2-r[l]/2)}}return t}var G={top:"auto",right:"auto",bottom:"auto",left:"auto"};function q(e){var t,n=e.popper,r=e.popperRect,o=e.placement,a=e.offsets,s=e.position,u=e.gpuAcceleration,c=e.adaptive,d=function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:Math.round(t*r)/r||0,y:Math.round(n*r)/r||0}}(a),f=d.x,h=d.y,p=a.hasOwnProperty("x"),v=a.hasOwnProperty("y"),m=O,g=x,y=window;if(c){var b=_(n);b===i(n)&&(b=l(n)),o===x&&(g=k,h-=b.clientHeight-r.height,h*=u?1:-1),o===O&&(m=E,f-=b.clientWidth-r.width,f*=u?1:-1)}var w,C=Object.assign({position:s},c&&G);return u?Object.assign(Object.assign({},C),{},((w={})[g]=v?"0":"",w[m]=p?"0":"",w.transform=(y.devicePixelRatio||1)<2?"translate("+f+"px, "+h+"px)":"translate3d("+f+"px, "+h+"px, 0)",w)):Object.assign(Object.assign({},C),{},((t={})[g]=v?h+"px":"",t[m]=p?f+"px":"",t.transform="",t))}var K={left:"right",right:"left",bottom:"top",top:"bottom"};function Z(e){return e.replace(/left|right|bottom|top/g,(function(e){return K[e]}))}var $={start:"end",end:"start"};function X(e){return e.replace(/start|end/g,(function(e){return $[e]}))}function Y(e,t){var n=Boolean(t.getRootNode&&t.getRootNode().host);if(e.contains(t))return!0;if(n){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Q(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function J(e,t){return t===P?Q(function(e){var t=i(e),n=l(e),r=t.visualViewport,o=n.clientWidth,a=n.clientHeight,s=0,u=0;return r&&(o=r.width,a=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=r.offsetLeft,u=r.offsetTop)),{width:o,height:a,x:s+d(e),y:u}}(e)):u(t)?function(e){var t=o(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Q(function(e){var t=l(e),n=a(e),r=e.ownerDocument.body,o=Math.max(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),i=Math.max(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),s=-n.scrollLeft+d(e),u=-n.scrollTop;return"rtl"===f(r||t).direction&&(s+=Math.max(t.clientWidth,r?r.clientWidth:0)-o),{width:o,height:i,x:s,y:u}}(l(e)))}function ee(e,t,n){var r="clippingParents"===t?function(e){var t=y(m(e)),n=["absolute","fixed"].indexOf(f(e).position)>=0&&u(e)?_(e):e;return s(n)?t.filter((function(e){return s(e)&&Y(e,n)&&"body"!==c(e)})):[]}(e):[].concat(t),o=[].concat(r,[n]),i=o[0],a=o.reduce((function(t,n){var r=J(e,n);return t.top=Math.max(r.top,t.top),t.right=Math.min(r.right,t.right),t.bottom=Math.min(r.bottom,t.bottom),t.left=Math.max(r.left,t.left),t}),J(e,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function te(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function ne(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function re(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=void 0===r?e.placement:r,a=n.boundary,u=void 0===a?"clippingParents":a,c=n.rootBoundary,d=void 0===c?P:c,f=n.elementContext,h=void 0===f?j:f,p=n.altBoundary,v=void 0!==p&&p,m=n.padding,g=void 0===m?0:m,y=te("number"!==typeof g?g:ne(g,T)),b=h===j?"reference":j,w=e.elements.reference,_=e.rects.popper,O=e.elements[v?b:h],C=ee(s(O)?O:O.contextElement||l(e.elements.popper),u,d),M=o(w),S=U({reference:M,element:_,strategy:"absolute",placement:i}),I=Q(Object.assign(Object.assign({},_),S)),A=h===j?I:M,R={top:C.top-A.top+y.top,bottom:A.bottom-C.bottom+y.bottom,left:C.left-A.left+y.left,right:A.right-C.right+y.right},D=e.modifiersData.offset;if(h===j&&D){var L=D[i];Object.keys(R).forEach((function(e){var t=[E,k].indexOf(e)>=0?1:-1,n=[x,k].indexOf(e)>=0?"y":"x";R[e]+=L[n]*t}))}return R}function oe(e,t,n){return Math.max(e,Math.min(t,n))}function ie(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ae(e){return[x,E,k,O].some((function(t){return e[t]>=0}))}var se=z({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,a=void 0===o||o,s=r.resize,u=void 0===s||s,c=i(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach((function(e){e.addEventListener("scroll",n.update,F)})),u&&c.addEventListener("resize",n.update,F),function(){a&&l.forEach((function(e){e.removeEventListener("scroll",n.update,F)})),u&&c.removeEventListener("resize",n.update,F)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=U({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s={placement:H(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),q(Object.assign(Object.assign({},s),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),q(Object.assign(Object.assign({},s),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];u(o)&&c(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});u(r)&&c(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=A.reduce((function(e,n){return e[n]=function(e,t,n){var r=H(e),o=[O,x].indexOf(r)>=0?-1:1,i="function"===typeof n?n(Object.assign(Object.assign({},t),{},{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[O,E].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],u=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,u=n.fallbackPlacements,c=n.padding,l=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=void 0===h||h,v=n.allowedAutoPlacements,m=t.options.placement,g=H(m),y=u||(g===m||!p?[Z(m)]:function(e){if(H(e)===C)return[];var t=Z(e);return[X(e),t,X(t)]}(m)),b=[m].concat(y).reduce((function(e,n){return e.concat(H(n)===C?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,u=n.allowedAutoPlacements,c=void 0===u?A:u,l=V(r),d=l?s?I:I.filter((function(e){return V(e)===l})):T,f=d.filter((function(e){return c.indexOf(e)>=0}));0===f.length&&(f=d);var h=f.reduce((function(t,n){return t[n]=re(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[H(n)],t}),{});return Object.keys(h).sort((function(e,t){return h[e]-h[t]}))}(t,{placement:n,boundary:l,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:v}):n)}),[]),w=t.rects.reference,_=t.rects.popper,S=new Map,P=!0,j=b[0],R=0;R<b.length;R++){var D=b[R],L=H(D),N=V(D)===M,B=[x,k].indexOf(L)>=0,z=B?"width":"height",F=re(t,{placement:D,boundary:l,rootBoundary:d,altBoundary:f,padding:c}),W=B?N?E:O:N?k:x;w[z]>_[z]&&(W=Z(W));var U=Z(W),G=[];if(i&&G.push(F[L]<=0),s&&G.push(F[W]<=0,F[U]<=0),G.every((function(e){return e}))){j=D,P=!1;break}S.set(D,G)}if(P)for(var q=function(e){var t=b.find((function(t){var n=S.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return j=t,"break"},K=p?3:1;K>0;K--){if("break"===q(K))break}t.placement!==j&&(t.modifiersData[r]._skip=!0,t.placement=j,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0!==a&&a,u=n.boundary,c=n.rootBoundary,l=n.altBoundary,d=n.padding,f=n.tether,h=void 0===f||f,p=n.tetherOffset,m=void 0===p?0:p,g=re(t,{boundary:u,rootBoundary:c,padding:d,altBoundary:l}),y=H(t.placement),b=V(t.placement),w=!b,C=W(y),T="x"===C?"y":"x",S=t.modifiersData.popperOffsets,P=t.rects.reference,j=t.rects.popper,I="function"===typeof m?m(Object.assign(Object.assign({},t.rects),{},{placement:t.placement})):m,A={x:0,y:0};if(S){if(i){var R="y"===C?x:O,D="y"===C?k:E,L="y"===C?"height":"width",N=S[C],B=S[C]+g[R],z=S[C]-g[D],F=h?-j[L]/2:0,U=b===M?P[L]:j[L],G=b===M?-j[L]:-P[L],q=t.elements.arrow,K=h&&q?v(q):{width:0,height:0},Z=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},$=Z[R],X=Z[D],Y=oe(0,P[L],K[L]),Q=w?P[L]/2-F-Y-$-I:U-Y-$-I,J=w?-P[L]/2+F+Y+X+I:G+Y+X+I,ee=t.elements.arrow&&_(t.elements.arrow),te=ee?"y"===C?ee.clientTop||0:ee.clientLeft||0:0,ne=t.modifiersData.offset?t.modifiersData.offset[t.placement][C]:0,ie=S[C]+Q-ne-te,ae=S[C]+J-ne,se=oe(h?Math.min(B,ie):B,N,h?Math.max(z,ae):z);S[C]=se,A[C]=se-N}if(s){var ue="x"===C?x:O,ce="x"===C?k:E,le=S[T],de=oe(le+g[ue],le,le-g[ce]);S[T]=de,A[T]=de-le}t.modifiersData[r]=A}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=n.elements.arrow,i=n.modifiersData.popperOffsets,a=H(n.placement),s=W(a),u=[O,E].indexOf(a)>=0?"height":"width";if(o&&i){var c=n.modifiersData[r+"#persistent"].padding,l=v(o),d="y"===s?x:O,f="y"===s?k:E,h=n.rects.reference[u]+n.rects.reference[s]-i[s]-n.rects.popper[u],p=i[s]-n.rects.reference[s],m=_(o),g=m?"y"===s?m.clientHeight||0:m.clientWidth||0:0,y=h/2-p/2,b=c[d],w=g-l[u]-c[f],C=g/2-l[u]/2+y,T=oe(b,C,w),M=s;n.modifiersData[r]=((t={})[M]=T,t.centerOffset=T-C,t)}},effect:function(e){var t=e.state,n=e.options,r=e.name,o=n.element,i=void 0===o?"[data-popper-arrow]":o,a=n.padding,s=void 0===a?0:a;null!=i&&("string"!==typeof i||(i=t.elements.popper.querySelector(i)))&&Y(t.elements.popper,i)&&(t.elements.arrow=i,t.modifiersData[r+"#persistent"]={padding:te("number"!==typeof s?s:ne(s,T))})},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=re(t,{elementContext:"reference"}),s=re(t,{altBoundary:!0}),u=ie(a,r),c=ie(s,o,i),l=ae(u),d=ae(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:d},t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-reference-hidden":l,"data-popper-escaped":d})}}]}),ue=n(67294),ce=n(23459),le={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:e=>{var{state:t}=e;t.styles.popper.width=t.rects.reference.width+"px"},effect:e=>{var{state:t}=e;return()=>{var e=t.elements.reference;t.elements.popper.style.width=e.offsetWidth+"px"}}},de={name:"transformOrigin",enabled:!0,phase:"write",fn:e=>{var{state:t}=e;fe(t)},effect:e=>{var{state:t}=e;return()=>{fe(t)}}},fe=e=>{e.elements.popper.style.setProperty(ce.Dq.transformOrigin.var,(0,ce.mv)(e.placement))},he={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:e=>{var{state:t}=e;pe(t)}},pe=e=>{var t;if(e.placement){var n=ve(e.placement);if(null!=(t=e.elements)&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ce.Dq.arrowSize.varRef,height:ce.Dq.arrowSize.varRef,zIndex:-1});var r={[ce.Dq.arrowSizeHalf.var]:"calc("+ce.Dq.arrowSize.varRef+" / 2)",[ce.Dq.arrowOffset.var]:"calc("+ce.Dq.arrowSizeHalf.varRef+" * -1)"};for(var o in r)e.elements.arrow.style.setProperty(o,r[o])}}},ve=e=>e.startsWith("top")?{property:"bottom",value:ce.Dq.arrowOffset.varRef}:e.startsWith("bottom")?{property:"top",value:ce.Dq.arrowOffset.varRef}:e.startsWith("left")?{property:"right",value:ce.Dq.arrowOffset.varRef}:e.startsWith("right")?{property:"left",value:ce.Dq.arrowOffset.varRef}:void 0,me={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:e=>{var{state:t}=e;ge(t)},effect:e=>{var{state:t}=e;return()=>{ge(t)}}},ge=e=>{if(e.elements.arrow){var t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");t&&Object.assign(t.style,{transform:"rotate(45deg)",background:ce.Dq.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:(0,ce.Ke)(e.placement)})}};function ye(){return(ye=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function be(e){void 0===e&&(e={});var{enabled:t=!0,modifiers:n=[],placement:o="bottom",strategy:i="absolute",arrowPadding:a=8,eventListeners:s=!0,offset:u,gutter:c=8,flip:l=!0,boundary:d="clippingParents",preventOverflow:f=!0,matchWidth:h}=e,p=(0,ue.useRef)(null),v=(0,ue.useRef)(null),m=(0,ue.useRef)(null),g=(0,ue.useRef)((()=>{})),y=(0,ue.useCallback)((()=>{t&&p.current&&v.current&&(null==g.current||g.current(),m.current=se(p.current,v.current,{placement:o,modifiers:[me,he,de,ye({},le,{enabled:!!h}),ye({name:"eventListeners"},(0,ce.$B)(s)),{name:"arrow",options:{padding:a}},{name:"offset",options:{offset:null!=u?u:[0,c]}},{name:"flip",enabled:!!l,options:{padding:8}},{name:"preventOverflow",enabled:!!f,options:{boundary:d}},...n],strategy:i}),m.current.forceUpdate(),g.current=m.current.destroy)}),[t,o,n,h,s,a,u,c,l,f,d,i]);(0,ue.useEffect)((()=>()=>{var e;p.current||v.current||(null==(e=m.current)||e.destroy(),m.current=null)}),[]);var b=(0,ue.useCallback)((e=>{p.current=e,y()}),[y]),w=(0,ue.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:(0,r.l)(b,t)})}),[b]),_=(0,ue.useCallback)((e=>{v.current=e,y()}),[y]),x=(0,ue.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:(0,r.l)(_,t),style:ye({},e.style,{position:i,minWidth:"max-content",inset:"0 auto auto 0"})})}),[i,_]),k=(0,ue.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["size","shadowColor","bg","style"]),{ref:t,"data-popper-arrow":"",style:we(e)})}),[]),E=(0,ue.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:t,"data-popper-arrow-inner":""})}),[]);return{update(){var e;null==(e=m.current)||e.update()},forceUpdate(){var e;null==(e=m.current)||e.forceUpdate()},transformOrigin:ce.Dq.transformOrigin.varRef,referenceRef:b,popperRef:_,getPopperProps:x,getArrowProps:k,getArrowInnerProps:E,getReferenceProps:w}}function we(e){var{size:t,shadowColor:n,bg:r,style:o}=e,i=ye({},o,{position:"absolute"});return t&&(i["--popper-arrow-size"]=t),n&&(i["--popper-arrow-shadow-color"]=n),r&&(i["--popper-arrow-bg"]=r),i}},23459:function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,{Dq:function(){return i},Ke:function(){return a},mv:function(){return u},$B:function(){return l}});var o=(e,t)=>({var:e,varRef:t?"var("+e+", "+t+")":"var("+e+")"}),i={arrowShadowColor:o("--popper-arrow-shadow-color"),arrowSize:o("--popper-arrow-size","8px"),arrowSizeHalf:o("--popper-arrow-size-half"),arrowBg:o("--popper-arrow-bg"),transformOrigin:o("--popper-transform-origin"),arrowOffset:o("--popper-arrow-offset")};function a(e){return e.includes("top")?"1px 1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("bottom")?"-1px -1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("right")?"-1px 1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("left")?"1px -1px 1px 0 var(--popper-arrow-shadow-color)":void 0}var s={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},u=e=>s[e],c={scroll:!0,resize:!0};function l(e){return"object"===typeof e?{enabled:!0,options:r({},c,e)}:{enabled:e,options:c}}},67273:function(e,t,n){"use strict";n.d(t,{h:function(){return b}});var r=n(67294),o=n(77581);function i(){var e=r.useRef(!1),[t,n]=r.useState(0);return(0,o.z)((()=>{e.current=!0})),r.useCallback((()=>{e.current||n(t+1)}),[t])}var a=n(68327),s=n(84461),u=n(73808),c=n(28500),l=n(73935),d=n(34288);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[h,p]=(0,c.k)({strict:!1,name:"PortalContext"}),v="chakra-portal",m=e=>r.createElement("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0}},e.children),g=e=>{var{appendToParentPortal:t,children:n}=e,o=r.useRef(null),s=r.useRef(null),u=i(),c=p(),f=(0,d.L)();(0,a.G)((()=>{if(o.current){var e=o.current.ownerDocument,n=t&&null!=c?c:e.body;if(n){s.current=e.createElement("div"),s.current.className=v,n.appendChild(s.current),u();var r=s.current;return()=>{n.contains(r)&&n.removeChild(r)}}}}),[]);var g=null!=f&&f.zIndex?r.createElement(m,{zIndex:null==f?void 0:f.zIndex},n):n;return s.current?(0,l.createPortal)(r.createElement(h,{value:s.current},g),s.current):r.createElement("span",{ref:o})},y=e=>{var{children:t,containerRef:n,appendToParentPortal:o}=e,u=n.current,c=null!=u?u:s.jU?document.body:void 0,d=r.useMemo((()=>{var e=null==u?void 0:u.ownerDocument.createElement("div");return e&&(e.className=v),e}),[u]),f=i();return(0,a.G)((()=>{f()}),[]),(0,a.G)((()=>{if(d&&c)return c.appendChild(d),()=>{c.removeChild(d)}}),[d,c]),c&&d?(0,l.createPortal)(r.createElement(h,{value:o?d:null},t),d):null};function b(e){var{containerRef:t}=e,n=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["containerRef"]);return t?r.createElement(y,f({containerRef:t},n)):r.createElement(g,n)}b.defaultProps={appendToParentPortal:!0},b.className=v,b.selector=".chakra-portal",u.Ts&&(b.displayName="Portal")},60418:function(e,t,n){"use strict";t.__esModule=!0,t.getValidChildren=function(e){return r.Children.toArray(e).filter((function(e){return r.isValidElement(e)}))};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},40805:function(e,t,n){"use strict";t.__esModule=!0,t.createContext=function(e){void 0===e&&(e={});var t=e,n=t.strict,o=void 0===n||n,i=t.errorMessage,a=void 0===i?"useContext: `context` is undefined. Seems you forgot to wrap component within the Provider":i,s=t.name,u=r.createContext(void 0);return u.displayName=s,[u.Provider,function e(){var t=r.useContext(u);if(!t&&o){var n=new Error(a);throw n.name="ContextError",null==Error.captureStackTrace||Error.captureStackTrace(n,e),n}return t},u]};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},19277:function(e,t,n){"use strict";t.__esModule=!0;var r=n(73702);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(40805);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(47412);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(60418);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}))},73702:function(e,t,n){"use strict";t.__esModule=!0,t.assignRef=o,t.mergeRefs=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){t.forEach((function(t){return o(t,e)}))}};var r=n(66751);function o(e,t){if(null!=e)if((0,r.isFunction)(e))e(t);else try{e.current=t}catch(n){throw new Error("Cannot assign value '"+t+"' to ref '"+e+"'")}}},47412:function(){},24255:function(e,t,n){"use strict";n.d(t,{W:function(){return o}});var r=n(67294);function o(e){return r.Children.toArray(e).filter((e=>r.isValidElement(e)))}},72947:function(e,t,n){"use strict";n.d(t,{l:function(){return i}});var r=n(73808);function o(e,t){if(null!=e)if((0,r.mf)(e))e(t);else try{e.current=t}catch(n){throw new Error("Cannot assign value '"+t+"' to ref '"+e+"'")}}function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach((t=>o(t,e)))}}},40980:function(e,t,n){"use strict";n.d(t,{useTheme:function(){return o.useTheme}});n(62300);var r=n(84806);n.o(r,"useTheme")&&n.d(t,{useTheme:function(){return r.useTheme}});var o=n(11180)},46049:function(e,t,n){"use strict";n.d(t,{Ph:function(){return I}});var r=n(84461),o=n(80658),i=n(94577),a=n(90639),s=n(90063),u=n(2326),c=n(55284),l=n(29676),d=n(89384),f=n(73808),h=n(28500),p=n(72947),v=n(67294);function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function g(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var[y,b]=(0,h.k)({strict:!1,name:"FormControlContext"});var w=(0,s.G)(((e,t)=>{var n=(0,u.j)("Form",e),s=function(e){var{id:t,isRequired:n,isInvalid:s,isDisabled:u,isReadOnly:c}=e,l=g(e,["id","isRequired","isInvalid","isDisabled","isReadOnly"]),d=(0,i.Me)(),f=t||"field-"+d,h=f+"-label",y=f+"-feedback",b=f+"-helptext",[w,_]=v.useState(!1),[x,k]=v.useState(!1),[E,O]=(0,a.k)(),C=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),m({id:b},e,{ref:(0,p.l)(t,(e=>{e&&k(!0)}))})}),[b]),T=v.useCallback((function(e,t){var n,o;return void 0===e&&(e={}),void 0===t&&(t=null),m({},e,{ref:t,"data-focus":(0,r.PB)(E),"data-disabled":(0,r.PB)(u),"data-invalid":(0,r.PB)(s),"data-readonly":(0,r.PB)(c),id:null!=(n=e.id)?n:h,htmlFor:null!=(o=e.htmlFor)?o:f})}),[f,u,E,s,c,h]),M=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),m({id:y},e,{ref:(0,p.l)(t,(e=>{e&&_(!0)})),"aria-live":"polite"})}),[y]),S=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),m({},e,l,{ref:t,role:"group"})}),[l]),P=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),m({},e,{ref:t,role:"presentation","aria-hidden":!0,children:e.children||"*"})}),[]),j=v.useCallback((()=>{(0,o.A4)(O.on)}),[O]);return{isRequired:!!n,isInvalid:!!s,isReadOnly:!!c,isDisabled:!!u,isFocused:!!E,onFocus:j,onBlur:O.off,hasFeedbackText:w,setHasFeedbackText:_,hasHelpText:x,setHasHelpText:k,id:f,labelId:h,feedbackId:y,helpTextId:b,htmlProps:l,getHelpTextProps:C,getErrorMessageProps:M,getRootProps:S,getLabelProps:T,getRequiredIndicatorProps:P}}((0,c.Lr)(e)),{getRootProps:f}=s,h=g(s,["getRootProps","htmlProps"]),b=(0,r.cx)("chakra-form-control",e.className),w=v.useMemo((()=>h),[h]);return v.createElement(y,{value:w},v.createElement(l.Fo,{value:n},v.createElement(d.m$.div,m({},f({},t),{className:b,__css:{width:"100%",position:"relative"}}))))}));f.Ts&&(w.displayName="FormControl");var _=(0,s.G)(((e,t)=>{var n=b(),o=(0,l.yK)(),i=(0,r.cx)("chakra-form__helper-text",e.className);return v.createElement(d.m$.div,m({},null==n?void 0:n.getHelpTextProps(e,t),{__css:o.helperText,className:i}))}));function x(){return(x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function k(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function E(e){var t=function(e){var t,n,r,i=b(),{id:a,disabled:s,readOnly:u,required:c,isRequired:l,isInvalid:d,isReadOnly:f,isDisabled:h,onFocus:p,onBlur:v}=e,m=k(e,["id","disabled","readOnly","required","isRequired","isInvalid","isReadOnly","isDisabled","onFocus","onBlur"]),g=[];null!=i&&i.hasFeedbackText&&null!=i&&i.isInvalid&&g.push(i.feedbackId);null!=i&&i.hasHelpText&&g.push(i.helpTextId);return x({},m,{"aria-describedby":g.join(" ")||void 0,id:null!=a?a:null==i?void 0:i.id,isDisabled:null!=(t=null!=s?s:h)?t:null==i?void 0:i.isDisabled,isReadOnly:null!=(n=null!=u?u:f)?n:null==i?void 0:i.isReadOnly,isRequired:null!=(r=null!=c?c:l)?r:null==i?void 0:i.isRequired,isInvalid:null!=d?d:null==i?void 0:i.isInvalid,onFocus:(0,o.v0)(null==i?void 0:i.onFocus,p),onBlur:(0,o.v0)(null==i?void 0:i.onBlur,v)})}(e),{isDisabled:n,isInvalid:i,isReadOnly:a,isRequired:s}=t;return x({},k(t,["isDisabled","isInvalid","isReadOnly","isRequired"]),{disabled:n,readOnly:a,required:s,"aria-invalid":(0,r.Qm)(i),"aria-required":(0,r.Qm)(s),"aria-readonly":(0,r.Qm)(a)})}f.Ts&&(_.displayName="FormHelperText");var O=n(9421),C=n(4651),T=n(38554),M=n.n(T);function S(){return(S=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function P(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var j=(0,s.G)(((e,t)=>{var{children:n,placeholder:o,className:i}=e,a=E(P(e,["children","placeholder","className"]));return v.createElement(d.m$.select,S({},a,{ref:t,className:(0,r.cx)("chakra-select",i)}),o&&v.createElement("option",{value:""},o),n)}));f.Ts&&(j.displayName="SelectField");var I=(0,s.G)(((e,t)=>{var n=(0,u.j)("Select",e),r=(0,c.Lr)(e),{rootProps:o,placeholder:i,icon:a,color:s,height:l,h:f,minH:h,minHeight:p,iconColor:m,iconSize:g}=r,y=P(r,["rootProps","placeholder","icon","color","height","h","minH","minHeight","iconColor","iconSize","isFullWidth"]),[b,w]=(0,C.Vl)(y,O.layoutPropNames),_={width:"100%",height:"fit-content",position:"relative",color:s},x=M()({},n.field,{paddingEnd:"2rem",_focus:{zIndex:"unset"}});return v.createElement(d.m$.div,S({className:"chakra-select__wrapper",__css:_},b,o),v.createElement(j,S({ref:t,height:null!=f?f:l,minH:null!=h?h:p,placeholder:i},w,{__css:x}),e.children),v.createElement(D,S({"data-disabled":e.isDisabled},(m||s)&&{color:m||s},{__css:n.icon},g&&{fontSize:g}),a))}));f.Ts&&(I.displayName="Select");var A=e=>v.createElement("svg",S({viewBox:"0 0 24 24"},e),v.createElement("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})),R=(0,d.m$)("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),D=e=>{var{children:t=v.createElement(A,null)}=e,n=P(e,["children"]),r=v.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return v.createElement(R,S({},n,{className:"chakra-select__icon-wrapper"}),v.isValidElement(t)?r:null)};f.Ts&&(D.displayName="SelectIcon")},95818:function(e,t,n){"use strict";n.d(t,{iR:function(){return ne},Ms:function(){return ie},gs:function(){return re},Uj:function(){return oe}});var r=n(90063),o=n(2326),i=n(55284),a=n(29676),s=n(89384),u=n(73808),c=n(84461),l=n(28500),d=n(67294),f=n(10762),h=n(51034),p=n(90639);var v=n(94577),m=n(78244),g=n(68327);var y=n(22653),b=n(9839);function w(e){return!!e.touches}var _={pageX:0,pageY:0};function x(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||_;return{x:n[t+"X"],y:n[t+"Y"]}}function k(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function E(e,t){return void 0===t&&(t="page"),{point:w(e)?x(e,t):k(e,t)}}var O=function(e,t){void 0===t&&(t=!1);var n,r=t=>e(t,E(t));return t?(n=r,e=>{var t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},C={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},T={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function M(e){return c.jU&&null===window.onpointerdown?e:c.jU&&null===window.ontouchstart?T[e]:c.jU&&null===window.onmousedown?C[e]:e}function S(e,t,n,r){return(0,c.EV)(e,M(t),O(n,"pointerdown"===t),r)}var P=n(80658);function j(){return(j=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class A{constructor(e,t,n){if(I(this,"history",[]),I(this,"startEvent",null),I(this,"lastEvent",null),I(this,"lastEventInfo",null),I(this,"handlers",{}),I(this,"removeListeners",P.ZT),I(this,"threshold",3),I(this,"updatePoint",(()=>{if(this.lastEvent&&this.lastEventInfo){var e=N(this.lastEventInfo,this.history),t=null!==this.startEvent,n=(0,P.TE)(e.offset,{x:0,y:0})>=this.threshold;if(t||n){var{timestamp:r}=(0,b.$B)();this.history.push(j({},e.point,{timestamp:r}));var{onStart:o,onMove:i}=this.handlers;t||(null==o||o(this.lastEvent,e),this.startEvent=this.lastEvent),null==i||i(this.lastEvent,e)}}})),I(this,"onPointerMove",((e,t)=>{this.lastEvent=e,this.lastEventInfo=t,function(e){return"undefined"!==typeof PointerEvent&&e instanceof PointerEvent?!("mouse"!==e.pointerType):e instanceof MouseEvent}(e)&&0===e.buttons?this.onPointerUp(e,t):b.ZP.update(this.updatePoint,!0)})),I(this,"onPointerUp",((e,t)=>{var n=N(t,this.history),{onEnd:r,onSessionEnd:o}=this.handlers;null==o||o(e,n),this.end(),r&&this.startEvent&&(null==r||r(e,n))})),!(w(r=e)&&r.touches.length>1)){var r;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();var o=E(e),{timestamp:i}=(0,b.$B)();this.history=[j({},o.point,{timestamp:i})];var{onSessionStart:a}=t;null==a||a(e,N(o,this.history)),this.removeListeners=(0,P.zG)(S(window,"pointermove",this.onPointerMove),S(window,"pointerup",this.onPointerUp),S(window,"pointercancel",this.onPointerUp))}}updateHandlers(e){this.handlers=e}end(){var e;null==(e=this.removeListeners)||e.call(this),b.qY.update(this.updatePoint)}}function R(e,t){return{x:e.x-t.x,y:e.y-t.y}}function D(e){return e[0]}function L(e){return e[e.length-1]}function N(e,t){return{point:e.point,delta:R(e.point,L(t)),offset:R(e.point,D(t)),velocity:B(t,.1)}}function B(e,t){if(e.length<2)return{x:0,y:0};for(var n=e.length-1,r=null,o=function(e){return e[e.length-1]}(e);n>=0&&(r=e[n],!(o.timestamp-r.timestamp>1e3*t));)n--;if(!r)return{x:0,y:0};var i=(o.timestamp-r.timestamp)/1e3;if(0===i)return{x:0,y:0};var a={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}var z=n(34941);var F=n(77581);function H(e,t){var n,r,o,i,{onPan:a,onPanStart:s,onPanEnd:u,onPanSessionStart:c,onPanSessionEnd:l}=t,f=Boolean(a||s||u||c||l),h=(0,d.useRef)(null),p={onSessionStart:c,onSessionEnd:l,onStart:s,onMove:a,onEnd(e,t){h.current=null,null==u||u(e,t)}};(0,d.useEffect)((()=>{var e;null==(e=h.current)||e.updateHandlers(p)})),n=()=>e.current,r="pointerdown",o=f?function(e){h.current=new A(e,p)}:P.ZT,(0,z.O)(M(r),O(o,"pointerdown"===r),n,i),(0,F.z)((()=>{var e;null==(e=h.current)||e.end(),h.current=null}))}var V=n(72947);Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER;function W(e,t){var n=function(e){var t=parseFloat(e);return(0,u.iy)(t)?0:t}(e),r=10**(null!=t?t:10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function U(e,t,n){return 100*(e-t)/(n-t)}function G(e,t,n){return W(Math.round((e-t)/n)*n+t,function(e){if(!Number.isFinite(e))return 0;for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}(n))}function q(e,t,n){return null==e?e:((0,P.ZK)({condition:n<t,message:"clamp: max cannot be less than min"}),Math.min(Math.max(e,t),n))}var K=n(47248);function Z(){return(Z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function $(e){var{orientation:t,vertical:n,horizontal:r}=e;return"vertical"===t?n:r}function X(){return(X=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Y(e){var t,{min:n=0,max:r=100,onChange:o,value:i,defaultValue:a,isReversed:s,orientation:u="horizontal",id:l,isDisabled:b,isReadOnly:w,onChangeStart:_,onChangeEnd:x,step:k=1,getAriaValueText:E,"aria-valuetext":O,"aria-label":C,"aria-labelledby":T,name:M,focusThumbOnChange:S=!0}=e,j=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["min","max","onChange","value","defaultValue","isReversed","orientation","id","isDisabled","isReadOnly","onChangeStart","onChangeEnd","step","getAriaValueText","aria-valuetext","aria-label","aria-labelledby","name","focusThumbOnChange"]),I=(0,f.W)(_),A=(0,f.W)(x),R=(0,f.W)(E),[D,L]=(0,h.T)({value:i,defaultValue:null!=a?a:Q(n,r),onChange:o}),[N,B]=(0,p.k)(),z=function(e){var t=(0,d.useRef)();return(0,d.useEffect)((()=>{t.current=e}),[e]),t.current}(N),[F,W]=(0,p.k)(),Y=(0,d.useRef)(null),J=!(b||w),ee=q(D,n,r),te=function(e){var t=d.useRef(null);return t.current=e,t}(ee),ne=(0,d.useRef)(te.current),re=U(s?r-ee+n:ee,n,r),oe="vertical"===u,ie=(0,d.useRef)(null),ae=(0,d.useRef)(null),se=(0,d.useRef)(null),[ue,ce]=(0,v.ZS)(l,"slider-thumb","slider-track"),le=(0,d.useCallback)((e=>{var t,o;if(ie.current){Y.current="pointer";var i=(0,m.getBox)(ie.current).borderBox,{clientX:a,clientY:u}=null!=(t=null==(o=e.touches)?void 0:o[0])?t:e,c=(oe?i.bottom-u:a-i.left)/(oe?i.height:i.width);s&&(c=1-c);var l=function(e,t,n){return(n-t)*e+t}(c,n,r);return k&&(l=parseFloat(G(l,n,k))),l=q(l,n,r)}}),[oe,s,r,n,k]),de=(r-n)/10,fe=k||(r-n)/100,he=(0,d.useCallback)((e=>{J&&(e=q(e=parseFloat(G(e,n,fe)),n,r),L(e))}),[fe,r,n,L,J]),pe=(0,d.useMemo)((()=>({stepUp:function(e){void 0===e&&(e=fe),he(s?ee-e:ee+e)},stepDown:function(e){void 0===e&&(e=fe),he(s?ee+e:ee-e)},reset:()=>he(a||0),stepTo:e=>he(e)})),[he,s,ee,fe,a]),ve=(0,d.useCallback)((e=>{var t={ArrowRight:()=>pe.stepUp(),ArrowUp:()=>pe.stepUp(),ArrowLeft:()=>pe.stepDown(),ArrowDown:()=>pe.stepDown(),PageUp:()=>pe.stepUp(de),PageDown:()=>pe.stepDown(de),Home:()=>he(n),End:()=>he(r)}[(0,c.uh)(e)];t&&(e.preventDefault(),e.stopPropagation(),t(e),Y.current="keyboard")}),[pe,he,r,n,de]),me=null!=(t=null==R?void 0:R(ee))?t:O,ge=function(e,t){var[n,r]=d.useState(null),o=d.useRef();return(0,g.G)((()=>{if(e.current){var n=e.current;return i(),t&&(window.addEventListener("resize",i),window.addEventListener("scroll",i)),()=>{t&&(window.removeEventListener("resize",i),window.removeEventListener("scroll",i)),o.current&&cancelAnimationFrame(o.current)}}function i(){o.current=requestAnimationFrame((()=>{var e=(0,m.getBox)(n);r(e)}))}}),[t]),n}(ae),{thumbStyle:ye,rootStyle:be,trackStyle:we,innerTrackStyle:_e}=(0,d.useMemo)((()=>{var e,t=null!=(e=null==ge?void 0:ge.borderBox)?e:{width:0,height:0};return function(e){var{orientation:t,trackPercent:n,thumbRect:r,isReversed:o}=e,i=Z({position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none"},$({orientation:t,vertical:{bottom:"calc("+n+"% - "+r.height/2+"px)"},horizontal:{left:"calc("+n+"% - "+r.width/2+"px)"}})),a=Z({position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0},$({orientation:t,vertical:{paddingLeft:r.width/2,paddingRight:r.width/2},horizontal:{paddingTop:r.height/2,paddingBottom:r.height/2}})),s=Z({position:"absolute"},$({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}}));return{trackStyle:s,innerTrackStyle:Z({},s,$({orientation:t,vertical:o?{height:100-n+"%",top:0}:{height:n+"%",bottom:0},horizontal:o?{width:100-n+"%",right:0}:{width:n+"%",left:0}})),rootStyle:a,thumbStyle:i}}({isReversed:s,orientation:u,thumbRect:t,trackPercent:re})}),[s,u,null==ge?void 0:ge.borderBox,re]),xe=(0,d.useCallback)((()=>{ae.current&&S&&setTimeout((()=>(0,K.T)(ae.current)))}),[S]);(0,y.r)((()=>{xe(),"keyboard"===Y.current&&(null==x||x(te.current))}),[ee,x]);var ke=e=>{var t=le(e);null!=t&&t!==te.current&&L(t)};H(se,{onPanSessionStart(e){J&&ke(e)},onPanSessionEnd(){J&&(z||ne.current===te.current||(null==A||A(te.current),ne.current=te.current))},onPanStart(){J&&(B.on(),null==I||I(te.current))},onPan(e){J&&ke(e)},onPanEnd(){J&&(B.off(),null==A||A(te.current))}});var Ee=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),X({},e,j,{ref:(0,V.l)(t,se),tabIndex:-1,"aria-disabled":(0,c.Qm)(b),"data-focused":(0,c.PB)(F),style:X({},e.style,be)})}),[j,b,F,be]),Oe=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),X({},e,{ref:(0,V.l)(t,ie),id:ce,"data-disabled":(0,c.PB)(b),style:X({},e.style,we)})}),[b,ce,we]),Ce=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),X({},e,{ref:t,style:X({},e.style,_e)})}),[_e]),Te=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),X({},e,{ref:(0,V.l)(t,ae),role:"slider",tabIndex:J?0:void 0,id:ue,"data-active":(0,c.PB)(N),"aria-valuetext":me,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":ee,"aria-orientation":u,"aria-disabled":(0,c.Qm)(b),"aria-readonly":(0,c.Qm)(w),"aria-label":C,"aria-labelledby":C?void 0:T,style:X({},e.style,ye),onKeyDown:(0,P.v0)(e.onKeyDown,ve),onFocus:(0,P.v0)(e.onFocus,W.on),onBlur:(0,P.v0)(e.onBlur,W.off)})}),[C,T,b,N,w,J,r,n,ve,u,W.off,W.on,ue,ye,ee,me]),Me=(0,d.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var o=!(e.value<n||e.value>r),i=ee>=e.value,a=U(e.value,n,r),l=X({position:"absolute",pointerEvents:"none"},function(e){var{orientation:t,vertical:n,horizontal:r}=e;return"vertical"===t?n:r}({orientation:u,vertical:{bottom:s?100-a+"%":a+"%"},horizontal:{left:s?100-a+"%":a+"%"}}));return X({},e,{ref:t,role:"presentation","aria-hidden":!0,"data-disabled":(0,c.PB)(b),"data-invalid":(0,c.PB)(!o),"data-highlighted":(0,c.PB)(i),style:X({},e.style,l)})}),[b,s,r,n,u,ee]),Se=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),X({},e,{ref:t,type:"hidden",value:ee,name:M})}),[M,ee]);return{state:{value:ee,isFocused:F,isDragging:N},actions:pe,getRootProps:Ee,getTrackProps:Oe,getInnerTrackProps:Ce,getThumbProps:Te,getMarkerProps:Me,getInputProps:Se}}function Q(e,t){return t<e?e:e+(t-e)/2}function J(){return(J=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[ee,te]=(0,l.k)({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within <Slider />"}),ne=(0,r.G)(((e,t)=>{var n=(0,o.j)("Slider",e),r=Y((0,i.Lr)(e)),{getInputProps:u,getRootProps:c}=r,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,["getInputProps","getRootProps"]),f=c(),h=u({},t),p=J({display:"inline-block",position:"relative",cursor:"pointer"},n.container);return d.createElement(ee,{value:l},d.createElement(a.Fo,{value:n},d.createElement(s.m$.div,J({},f,{className:"chakra-slider",__css:p}),e.children,d.createElement("input",h))))}));ne.defaultProps={orientation:"horizontal"},u.Ts&&(ne.displayName="Slider");var re=(0,r.G)(((e,t)=>{var{getThumbProps:n}=te(),r=J({display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0},(0,a.yK)().thumb),o=n(e,t);return d.createElement(s.m$.div,J({},o,{className:(0,c.cx)("chakra-slider__thumb",e.className),__css:r}))}));u.Ts&&(re.displayName="SliderThumb");var oe=(0,r.G)(((e,t)=>{var{getTrackProps:n}=te(),r=J({overflow:"hidden"},(0,a.yK)().track),o=n(e,t);return d.createElement(s.m$.div,J({},o,{className:(0,c.cx)("chakra-slider__track",e.className),__css:r}))}));u.Ts&&(oe.displayName="SliderTrack");var ie=(0,r.G)(((e,t)=>{var{getInnerTrackProps:n}=te(),r=J({width:"inherit",height:"inherit"},(0,a.yK)().filledTrack),o=n(e,t);return d.createElement(s.m$.div,J({},o,{className:"chakra-slider__filled-track",__css:r}))}));u.Ts&&(ie.displayName="SliderFilledTrack");var ae=(0,r.G)(((e,t)=>{var{getMarkerProps:n}=te(),r=n(e,t);return d.createElement(s.m$.div,J({},r,{className:(0,c.cx)("chakra-slider__marker",e.className)}))}));u.Ts&&(ae.displayName="SliderMark")},90716:function(e,t,n){"use strict";t.__esModule=!0;var r=n(55478);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}))},55478:function(e,t,n){"use strict";t.__esModule=!0,t.Spinner=void 0;var r=n(48121),o=n(66751),i=n(22944),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,r.keyframes)({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),l=(0,r.forwardRef)((function(e,t){var n=(0,r.useStyleConfig)("Spinner",e),s=(0,r.omitThemingProps)(e),l=s.label,d=void 0===l?"Loading...":l,f=s.thickness,h=void 0===f?"2px":f,p=s.speed,v=void 0===p?"0.45s":p,m=s.emptyColor,g=void 0===m?"transparent":m,y=s.className,b=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(s,["label","thickness","speed","emptyColor","className"]),w=(0,o.cx)("chakra-spinner",y),_=u({display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:h,borderBottomColor:g,borderLeftColor:g,animation:c+" "+v+" linear infinite"},n);return a.createElement(r.chakra.div,u({ref:t,__css:_,className:w},b),d&&a.createElement(i.VisuallyHidden,null,d))}));t.Spinner=l,o.__DEV__&&(l.displayName="Spinner")},56693:function(e,t,n){"use strict";t.__esModule=!0,t.background=void 0;var r=n(77050),o={background:r.t.colors("background"),backgroundColor:r.t.colors("backgroundColor"),backgroundImage:r.t.propT("backgroundImage",r.transforms.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:r.transforms.bgClip},bgSize:r.t.prop("backgroundSize"),bgPosition:r.t.prop("backgroundPosition"),bg:r.t.colors("background"),bgColor:r.t.colors("backgroundColor"),bgPos:r.t.prop("backgroundPosition"),bgRepeat:r.t.prop("backgroundRepeat"),bgAttachment:r.t.prop("backgroundAttachment"),bgGradient:r.t.propT("backgroundImage",r.transforms.gradient),bgClip:{transform:r.transforms.bgClip}};t.background=o,Object.assign(o,{bgImage:o.backgroundImage,bgImg:o.backgroundImage})},24689:function(e,t,n){"use strict";t.__esModule=!0,t.border=void 0;var r=n(77050),o={border:r.t.borders("border"),borderWidth:r.t.borderWidths("borderWidth"),borderStyle:r.t.borderStyles("borderStyle"),borderColor:r.t.colors("borderColor"),borderRadius:r.t.radii("borderRadius"),borderTop:r.t.borders("borderTop"),borderBlockStart:r.t.borders("borderBlockStart"),borderTopLeftRadius:r.t.radii("borderTopLeftRadius"),borderStartStartRadius:r.t.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:r.t.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:r.t.radii("borderTopRightRadius"),borderStartEndRadius:r.t.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:r.t.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:r.t.borders("borderRight"),borderInlineEnd:r.t.borders("borderInlineEnd"),borderBottom:r.t.borders("borderBottom"),borderBlockEnd:r.t.borders("borderBlockEnd"),borderBottomLeftRadius:r.t.radii("borderBottomLeftRadius"),borderBottomRightRadius:r.t.radii("borderBottomRightRadius"),borderLeft:r.t.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:r.t.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:r.t.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:r.t.borders(["borderLeft","borderRight"]),borderInline:r.t.borders("borderInline"),borderY:r.t.borders(["borderTop","borderBottom"]),borderBlock:r.t.borders("borderBlock"),borderTopWidth:r.t.borderWidths("borderTopWidth"),borderBlockStartWidth:r.t.borderWidths("borderBlockStartWidth"),borderTopColor:r.t.colors("borderTopColor"),borderBlockStartColor:r.t.colors("borderBlockStartColor"),borderTopStyle:r.t.borderStyles("borderTopStyle"),borderBlockStartStyle:r.t.borderStyles("borderBlockStartStyle"),borderBottomWidth:r.t.borderWidths("borderBottomWidth"),borderBlockEndWidth:r.t.borderWidths("borderBlockEndWidth"),borderBottomColor:r.t.colors("borderBottomColor"),borderBlockEndColor:r.t.colors("borderBlockEndColor"),borderBottomStyle:r.t.borderStyles("borderBottomStyle"),borderBlockEndStyle:r.t.borderStyles("borderBlockEndStyle"),borderLeftWidth:r.t.borderWidths("borderLeftWidth"),borderInlineStartWidth:r.t.borderWidths("borderInlineStartWidth"),borderLeftColor:r.t.colors("borderLeftColor"),borderInlineStartColor:r.t.colors("borderInlineStartColor"),borderLeftStyle:r.t.borderStyles("borderLeftStyle"),borderInlineStartStyle:r.t.borderStyles("borderInlineStartStyle"),borderRightWidth:r.t.borderWidths("borderRightWidth"),borderInlineEndWidth:r.t.borderWidths("borderInlineEndWidth"),borderRightColor:r.t.colors("borderRightColor"),borderInlineEndColor:r.t.colors("borderInlineEndColor"),borderRightStyle:r.t.borderStyles("borderRightStyle"),borderInlineEndStyle:r.t.borderStyles("borderInlineEndStyle"),borderTopRadius:r.t.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:r.t.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:r.t.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:r.t.radii(["borderTopRightRadius","borderBottomRightRadius"])};t.border=o,Object.assign(o,{rounded:o.borderRadius,roundedTop:o.borderTopRadius,roundedTopLeft:o.borderTopLeftRadius,roundedTopRight:o.borderTopRightRadius,roundedTopStart:o.borderStartStartRadius,roundedTopEnd:o.borderStartEndRadius,roundedBottom:o.borderBottomRadius,roundedBottomLeft:o.borderBottomLeftRadius,roundedBottomRight:o.borderBottomRightRadius,roundedBottomStart:o.borderEndStartRadius,roundedBottomEnd:o.borderEndEndRadius,roundedLeft:o.borderLeftRadius,roundedRight:o.borderRightRadius,roundedStart:o.borderInlineStartRadius,roundedEnd:o.borderInlineEndRadius,borderStart:o.borderInlineStart,borderEnd:o.borderInlineEnd,borderTopStartRadius:o.borderStartStartRadius,borderTopEndRadius:o.borderStartEndRadius,borderBottomStartRadius:o.borderEndStartRadius,borderBottomEndRadius:o.borderEndEndRadius,borderStartRadius:o.borderInlineStartRadius,borderEndRadius:o.borderInlineEndRadius,borderStartWidth:o.borderInlineStartWidth,borderEndWidth:o.borderInlineEndWidth,borderStartColor:o.borderInlineStartColor,borderEndColor:o.borderInlineEndColor,borderStartStyle:o.borderInlineStartStyle,borderEndStyle:o.borderInlineEndStyle})},4561:function(e,t,n){"use strict";t.__esModule=!0,t.color=void 0;var r=n(77050),o={color:r.t.colors("color"),textColor:r.t.colors("color"),fill:r.t.colors("fill"),stroke:r.t.colors("stroke")};t.color=o},93103:function(e,t,n){"use strict";t.__esModule=!0,t.effect=void 0;var r=n(77050),o={boxShadow:r.t.shadows("boxShadow"),mixBlendMode:!0,blendMode:r.t.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:r.t.prop("backgroundBlendMode"),opacity:!0};t.effect=o,Object.assign(o,{shadow:o.boxShadow})},94015:function(e,t,n){"use strict";t.__esModule=!0,t.filter=void 0;var r=n(77050),o={filter:{transform:r.transforms.filter},blur:r.t.blur("--chakra-blur"),brightness:r.t.propT("--chakra-brightness",r.transforms.brightness),contrast:r.t.propT("--chakra-contrast",r.transforms.contrast),hueRotate:r.t.degreeT("--chakra-hue-rotate"),invert:r.t.propT("--chakra-invert",r.transforms.invert),saturate:r.t.propT("--chakra-saturate",r.transforms.saturate),dropShadow:r.t.propT("--chakra-drop-shadow",r.transforms.dropShadow),backdropFilter:{transform:r.transforms.backdropFilter},backdropBlur:r.t.blur("--chakra-backdrop-blur"),backdropBrightness:r.t.propT("--chakra-backdrop-brightness",r.transforms.brightness),backdropContrast:r.t.propT("--chakra-backdrop-contrast",r.transforms.contrast),backdropHueRotate:r.t.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:r.t.propT("--chakra-backdrop-invert",r.transforms.invert),backdropSaturate:r.t.propT("--chakra-backdrop-saturate",r.transforms.saturate)};t.filter=o},17608:function(e,t,n){"use strict";t.__esModule=!0,t.flexbox=void 0;var r=n(77050),o=n(41629),i=n(23744),a={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:r.transforms.flexDirection},experimental_spaceX:{static:i.spaceXTemplate,transform:(0,o.createTransform)({scale:"space",transform:function(e){return null!==e?{"--chakra-space-x":e}:null}})},experimental_spaceY:{static:i.spaceYTemplate,transform:(0,o.createTransform)({scale:"space",transform:function(e){return null!=e?{"--chakra-space-y":e}:null}})},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:r.t.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0};t.flexbox=a,Object.assign(a,{flexDir:a.flexDirection})},41474:function(e,t,n){"use strict";t.__esModule=!0,t.grid=void 0;var r=n(77050),o={gridGap:r.t.space("gridGap"),gridColumnGap:r.t.space("gridColumnGap"),gridRowGap:r.t.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0};t.grid=o},10147:function(e,t,n){"use strict";t.__esModule=!0;var r=n(56693);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(24689);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(4561);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(93103);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(94015);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(17608);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(41474);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(54497);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||(t[e]=l[e]))}));var d=n(24569);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(59472);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(51237);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(90130);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||(t[e]=p[e]))}));var v=n(39650);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===v[e]||(t[e]=v[e]))}));var m=n(19309);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===m[e]||(t[e]=m[e]))}));var g=n(86705);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===g[e]||(t[e]=g[e]))}));var y=n(75438);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=n(63646);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===b[e]||(t[e]=b[e]))}));var w=n(58275);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===w[e]||(t[e]=w[e]))}))},54497:function(e,t,n){"use strict";t.__esModule=!0,t.interactivity=void 0;var r=n(77050),o={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:r.transforms.outline},outlineOffset:!0,outlineColor:r.t.colors("outlineColor")};t.interactivity=o},24569:function(e,t,n){"use strict";t.__esModule=!0,t.layout=void 0;var r=n(77050),o={width:r.t.sizesT("width"),inlineSize:r.t.sizesT("inlineSize"),height:r.t.sizes("height"),blockSize:r.t.sizes("blockSize"),boxSize:r.t.sizes(["width","height"]),minWidth:r.t.sizes("minWidth"),minInlineSize:r.t.sizes("minInlineSize"),minHeight:r.t.sizes("minHeight"),minBlockSize:r.t.sizes("minBlockSize"),maxWidth:r.t.sizes("maxWidth"),maxInlineSize:r.t.sizes("maxInlineSize"),maxHeight:r.t.sizes("maxHeight"),maxBlockSize:r.t.sizes("maxBlockSize"),d:r.t.prop("display"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:r.t.propT("float",r.transforms.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};t.layout=o,Object.assign(o,{w:o.width,h:o.height,minW:o.minWidth,maxW:o.maxWidth,minH:o.minHeight,maxH:o.maxHeight,overscroll:o.overscrollBehavior,overscrollX:o.overscrollBehaviorX,overscrollY:o.overscrollBehaviorY})},59472:function(e,t,n){"use strict";t.__esModule=!0,t.list=void 0;var r=n(77050),o={listStyleType:!0,listStylePosition:!0,listStylePos:r.t.prop("listStylePosition"),listStyleImage:!0,listStyleImg:r.t.prop("listStyleImage")};t.list=o},51237:function(e,t,n){"use strict";t.__esModule=!0,t.others=void 0;var r=n(66751),o={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},i={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},a=function(e,t,n){var o={},i=(0,r.memoizedGet)(e,t,{});for(var a in i){a in n&&null!=n[a]||(o[a]=i[a])}return o},s={srOnly:{transform:function(e){return!0===e?o:"focusable"===e?i:{}}},layerStyle:{processResult:!0,transform:function(e,t,n){return a(t,"layerStyles."+e,n)}},textStyle:{processResult:!0,transform:function(e,t,n){return a(t,"textStyles."+e,n)}},apply:{processResult:!0,transform:function(e,t,n){return a(t,e,n)}}};t.others=s},90130:function(e,t,n){"use strict";t.__esModule=!0,t.position=void 0;var r=n(77050),o={position:!0,pos:r.t.prop("position"),zIndex:r.t.prop("zIndex","zIndices"),inset:r.t.spaceT(["top","right","bottom","left"]),insetX:r.t.spaceT(["left","right"]),insetInline:r.t.spaceT("insetInline"),insetY:r.t.spaceT(["top","bottom"]),insetBlock:r.t.spaceT("insetBlock"),top:r.t.spaceT("top"),insetBlockStart:r.t.spaceT("insetBlockStart"),bottom:r.t.spaceT("bottom"),insetBlockEnd:r.t.spaceT("insetBlockEnd"),left:r.t.spaceT("left"),insetInlineStart:r.t.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:r.t.spaceT("right"),insetInlineEnd:r.t.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};t.position=o,Object.assign(o,{insetStart:o.insetInlineStart,insetEnd:o.insetInlineEnd})},39650:function(e,t,n){"use strict";t.__esModule=!0,t.ring=void 0;var r=n(77050),o={ring:{transform:r.transforms.ring},ringColor:r.t.colors("--chakra-ring-color"),ringOffset:r.t.prop("--chakra-ring-offset-width"),ringOffsetColor:r.t.colors("--chakra-ring-offset-color"),ringInset:r.t.prop("--chakra-ring-inset")};t.ring=o},19309:function(e,t,n){"use strict";t.__esModule=!0,t.space=void 0;var r=n(77050),o={margin:r.t.spaceT("margin"),marginTop:r.t.spaceT("marginTop"),marginBlockStart:r.t.spaceT("marginBlockStart"),marginRight:r.t.spaceT("marginRight"),marginInlineEnd:r.t.spaceT("marginInlineEnd"),marginBottom:r.t.spaceT("marginBottom"),marginBlockEnd:r.t.spaceT("marginBlockEnd"),marginLeft:r.t.spaceT("marginLeft"),marginInlineStart:r.t.spaceT("marginInlineStart"),marginX:r.t.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:r.t.spaceT("marginInline"),marginY:r.t.spaceT(["marginTop","marginBottom"]),marginBlock:r.t.spaceT("marginBlock"),padding:r.t.space("padding"),paddingTop:r.t.space("paddingTop"),paddingBlockStart:r.t.space("paddingBlockStart"),paddingRight:r.t.space("paddingRight"),paddingBottom:r.t.space("paddingBottom"),paddingBlockEnd:r.t.space("paddingBlockEnd"),paddingLeft:r.t.space("paddingLeft"),paddingInlineStart:r.t.space("paddingInlineStart"),paddingInlineEnd:r.t.space("paddingInlineEnd"),paddingX:r.t.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:r.t.space("paddingInline"),paddingY:r.t.space(["paddingTop","paddingBottom"]),paddingBlock:r.t.space("paddingBlock")};t.space=o,Object.assign(o,{m:o.margin,mt:o.marginTop,mr:o.marginRight,me:o.marginInlineEnd,marginEnd:o.marginInlineEnd,mb:o.marginBottom,ml:o.marginLeft,ms:o.marginInlineStart,marginStart:o.marginInlineStart,mx:o.marginX,my:o.marginY,p:o.padding,pt:o.paddingTop,py:o.paddingY,px:o.paddingX,pb:o.paddingBottom,pl:o.paddingLeft,ps:o.paddingInlineStart,paddingStart:o.paddingInlineStart,pr:o.paddingRight,pe:o.paddingInlineEnd,paddingEnd:o.paddingInlineEnd})},86705:function(e,t,n){"use strict";t.__esModule=!0,t.textDecoration=void 0;var r=n(77050),o={textDecorationColor:r.t.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:r.t.shadows("textShadow")};t.textDecoration=o},75438:function(e,t,n){"use strict";t.__esModule=!0,t.transform=void 0;var r=n(77050),o={clipPath:!0,transform:r.t.propT("transform",r.transforms.transform),transformOrigin:!0,translateX:r.t.spaceT("--chakra-translate-x"),translateY:r.t.spaceT("--chakra-translate-y"),skewX:r.t.degreeT("--chakra-skew-x"),skewY:r.t.degreeT("--chakra-skew-y"),scaleX:r.t.prop("--chakra-scale-x"),scaleY:r.t.prop("--chakra-scale-y"),scale:r.t.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:r.t.degreeT("--chakra-rotate")};t.transform=o},63646:function(e,t,n){"use strict";t.__esModule=!0,t.transition=void 0;var r=n(77050),o={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:r.t.prop("transitionDuration","transition.duration"),transitionProperty:r.t.prop("transitionProperty","transition.property"),transitionTimingFunction:r.t.prop("transitionTimingFunction","transition.easing")};t.transition=o},58275:function(e,t,n){"use strict";t.__esModule=!0,t.typography=void 0;var r=n(77050),o={fontFamily:r.t.prop("fontFamily","fonts"),fontSize:r.t.prop("fontSize","fontSizes",r.transforms.px),fontWeight:r.t.prop("fontWeight","fontWeights"),lineHeight:r.t.prop("lineHeight","lineHeights"),letterSpacing:r.t.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"},isTruncated:{transform:function(e){if(!0===e)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}}};t.typography=o},38986:function(e,t,n){"use strict";t.__esModule=!0,t.calc=void 0;var r=n(66751);function o(e){return(0,r.isObject)(e)&&e.reference?e.reference:String(e)}var i=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.map(o).join(" "+e+" ").replace(/calc/g,"")},a=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return"calc("+i.apply(void 0,["+"].concat(t))+")"},s=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return"calc("+i.apply(void 0,["-"].concat(t))+")"},u=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return"calc("+i.apply(void 0,["*"].concat(t))+")"},c=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return"calc("+i.apply(void 0,["/"].concat(t))+")"},l=function(e){var t=o(e);return null==t||Number.isNaN(parseFloat(t))?u(t,-1):String(t).startsWith("-")?String(t).slice(1):"-"+t},d=Object.assign((function(e){return{add:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(a.apply(void 0,[e].concat(n)))},subtract:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(s.apply(void 0,[e].concat(n)))},multiply:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(u.apply(void 0,[e].concat(n)))},divide:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(c.apply(void 0,[e].concat(n)))},negate:function(){return d(l(e))},toString:function(){return e.toString()}}}),{add:a,subtract:s,multiply:u,divide:c,negate:l});t.calc=d},98179:function(e,t,n){"use strict";t.__esModule=!0,t.createThemeVars=function(e,t){var n={cssMap:{},cssVars:{}};return(0,r.walkObject)(e,(function(e,r){var o,i=r[0],a=(null!=(o=s[i])?o:s.defaultHandler)(r,e,t),u=a.cssVars,c=a.cssMap;Object.assign(n.cssVars,u),Object.assign(n.cssMap,c)})),n};var r=n(66751),o=n(38986),i=n(21541);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s={space:function(e,t,n){var r,u=s.defaultHandler(e,t,n),c=e[0]+".-"+e.slice(1).join("."),l=e.join("-"),d=(0,i.cssVar)(l,void 0,n.cssVarPrefix),f=d.variable,h=d.reference,p=o.calc.negate(t),v=o.calc.negate(h);return{cssVars:u.cssVars,cssMap:a({},u.cssMap,(r={},r[c]={value:""+p,var:""+f,varRef:v},r))}},defaultHandler:function(e,t,n){var r,o,a=e.join("."),s=e.join("-"),u=(0,i.cssVar)(s,void 0,n.cssVarPrefix),c=u.variable,l=u.reference;return{cssVars:(r={},r[c]=t,r),cssMap:(o={},o[a]={value:t,var:c,varRef:l},o)}}}},21541:function(e,t){"use strict";function n(e){var t=function(e,t){return void 0===t&&(t="-"),e.replace(/\s+/g,t)}(e.toString());return t.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?t.replace(".","\\."):e}function r(e,t){return void 0===t&&(t=""),[t,n(e)].filter(Boolean).join("-")}function o(e,t){return"var("+n(e)+(t?", "+t:"")+")"}function i(e,t){return void 0===t&&(t=""),"--"+r(e,t)}t.__esModule=!0,t.addPrefix=r,t.toVarReference=o,t.toVarDefinition=i,t.cssVar=function(e,t,n){var r=i(e,n);return{variable:r,reference:o(r,t)}}},13991:function(e,t,n){"use strict";t.__esModule=!0;var r=n(38986);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(21541);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(51898);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}))},88708:function(e,t,n){"use strict";t.__esModule=!0,t.extractTokens=function(e){var t=o;return(0,r.pick)(e,t)},t.omitVars=function(e){e.__cssMap,e.__cssVars,e.__breakpoints;return function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["__cssMap","__cssVars","__breakpoints"])};var r=n(66751);var o=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur"]},51898:function(e,t,n){"use strict";t.__esModule=!0,t.toCSSVar=function(e){var t,n=(0,i.omitVars)(e),s=(0,i.extractTokens)(n),u=null==(t=n.config)?void 0:t.cssVarPrefix,c=(0,o.createThemeVars)(s,{cssVarPrefix:u}),l=c.cssMap,d=c.cssVars;return Object.assign(n,{__cssVars:a({},{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},d),__cssMap:l,__breakpoints:(0,r.analyzeBreakpoints)(n.breakpoints)}),n};var r=n(66751),o=n(98179),i=n(88708);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}},49423:function(e,t,n){"use strict";t.__esModule=!0,t.getCss=d,t.css=void 0;var r=n(66751),o=n(61527),i=n(19113),a=n(41329);function s(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var c=function(e,t){return e.startsWith("--")&&(0,r.isString)(t)&&!(0,r.isCssVar)(t)},l=function(e,t){var n,r;if(null==t)return t;var o=function(t){var n,r;return null==(n=e.__cssMap)||null==(r=n[t])?void 0:r.varRef},i=function(e){var t;return null!=(t=o(e))?t:e},a=t.split(",").map((function(e){return e.trim()})),s=a[0],u=a[1];return t=null!=(n=null!=(r=o(s))?r:i(u))?n:i(t)};function d(e){var t=e.configs,n=void 0===t?{}:t,o=e.pseudos,i=void 0===o?{}:o,u=e.theme;return function e(t,o){void 0===o&&(o=!1);var d=(0,r.runIfFn)(t,u),f=(0,a.expandResponsive)(d)(u),h={};for(var p in f){var v,m,g,y,b,w=f[p],_=(0,r.runIfFn)(w,u);p in i&&(p=i[p]),c(p,_)&&(_=l(u,_));var x=n[p];if(!0===x&&(x={property:p}),(0,r.isObject)(_)){var k;h[p]=null!=(k=h[p])?k:{},h[p]=(0,r.mergeWith)({},h[p],e(_,!0))}else{var E=null!=(v=null==(m=x)||null==m.transform?void 0:m.transform(_,u,d))?v:_;E=null!=(g=x)&&g.processResult?e(E,!0):E;var O=(0,r.runIfFn)(null==(y=x)?void 0:y.property,u);if(!o&&null!=(b=x)&&b.static){var C=(0,r.runIfFn)(x.static,u);h=(0,r.mergeWith)({},h,C)}if(O&&Array.isArray(O))for(var T,M=s(O);!(T=M()).done;){h[T.value]=E}else O?"&"===O&&(0,r.isObject)(E)?h=(0,r.mergeWith)({},h,E):h[O]=E:(0,r.isObject)(E)?h=(0,r.mergeWith)({},h,E):h[p]=E}}return h}}t.css=function(e){return function(t){return d({theme:t,pseudos:o.pseudoSelectors,configs:i.systemProps})(e)}}},39907:function(e,t,n){"use strict";t.__esModule=!0;var r={tokenToCSSVar:!0};t.tokenToCSSVar=void 0;var o=n(10147);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(49423);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(83306);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(21644);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(19113);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(13991);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(41629);t.tokenToCSSVar=l.tokenToCSSVar},61527:function(e,t,n){"use strict";t.__esModule=!0,t.pseudoPropNames=t.pseudoSelectors=void 0;var r=n(66751),o=function(e){return e+":focus &, "+e+"[data-focus] &"},i=function(e){return e+":active &, "+e+"[data-active] &"},a=function(e){return e+":disabled &, "+e+"[data-disabled] &"},s=function(e){return e+":invalid &, "+e+"[data-invalid] &"},u=function(e){return e+":checked &, "+e+"[data-checked] &"},c=function(e){return l(e,"[role=group]","[data-group]",".group")},l=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.map(e).join(", ")},d={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible",_disabled:"&[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:c((function(e){return e+":hover &, "+e+"[data-hover] &"})),_groupFocus:c(o),_groupActive:c(i),_groupDisabled:c(a),_groupInvalid:c(s),_groupChecked:c(u),_placeholder:"&::placeholder",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &",_mediaDark:"@media (prefers-color-scheme: dark)",_dark:".chakra-ui-dark &, [data-theme=dark] &, &[data-theme=dark]",_light:".chakra-ui-light &, [data-theme=light] &, &[data-theme=light]"};t.pseudoSelectors=d;var f=(0,r.objectKeys)(d);t.pseudoPropNames=f},19113:function(e,t,n){"use strict";t.__esModule=!0,t.isStyleProp=t.propNames=t.layoutPropNames=t.systemProps=void 0;var r=n(66751),o=n(10147),i=n(61527);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=(0,r.mergeWith)({},o.background,o.border,o.color,o.flexbox,o.layout,o.filter,o.ring,o.interactivity,o.grid,o.others,o.position,o.effect,o.space,o.typography,o.textDecoration,o.transform,o.list,o.transition);t.systemProps=s;var u=Object.assign({},o.space,o.layout,o.flexbox,o.grid,o.position),c=(0,r.objectKeys)(u);t.layoutPropNames=c;var l=[].concat((0,r.objectKeys)(s),i.pseudoPropNames);t.propNames=l;var d=a({},s,i.pseudoSelectors);t.isStyleProp=function(e){return e in d}},83306:function(){},21644:function(){},41629:function(e,t,n){"use strict";t.__esModule=!0,t.createTransform=function(e){var t=e.scale,n=e.transform,r=e.compose;return function(e,i){var a,s=o(t,e)(i),u=null!=(a=null==n?void 0:n(s,i))?a:s;return r&&(u=r(u,i)),u}},t.tokenToCSSVar=void 0;var r=n(66751),o=function(e,t){return function(n){var o=String(t),i=e?e+"."+o:o;return(0,r.isObject)(n.__cssMap)&&i in n.__cssMap?n.__cssMap[i].varRef:t}};t.tokenToCSSVar=o},41329:function(e,t,n){"use strict";t.__esModule=!0,t.expandResponsive=void 0;var r=n(66751);t.expandResponsive=function(e){return function(t){if(!t.__breakpoints)return e;var n=t.__breakpoints,o=n.isResponsive,i=n.toArrayValue,a=n.media,s={};for(var u in e){var c=(0,r.runIfFn)(e[u],t);if(null!=c)if(c=(0,r.isObject)(c)&&o(c)?i(c):c,Array.isArray(c))for(var l=c.slice(0,a.length).length,d=0;d<l;d+=1){var f=null==a?void 0:a[d];f?(s[f]=s[f]||{},null!=c[d]&&(s[f][u]=c[d])):s[u]=c[d]}else s[u]=c}return s}}},77050:function(e,t,n){"use strict";t.__esModule=!0;var r={t:!0,transforms:!0};t.t=void 0;var o=n(41629),i=n(36282),a=n(69131);t.transforms=a.transformFunctions;var s=n(86925);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===s[e]||(t[e]=s[e]))}));var c={borderWidths:(0,i.toConfig)("borderWidths"),borderStyles:(0,i.toConfig)("borderStyles"),colors:(0,i.toConfig)("colors"),borders:(0,i.toConfig)("borders"),radii:(0,i.toConfig)("radii",a.transformFunctions.px),space:(0,i.toConfig)("space",a.transformFunctions.px),spaceT:(0,i.toConfig)("space",a.transformFunctions.px),degreeT:function(e){return{property:e,transform:a.transformFunctions.degree}},prop:function(e,t,n){return u({property:e,scale:t},t&&{transform:(0,o.createTransform)({scale:t,transform:n})})},propT:function(e,t){return{property:e,transform:t}},sizes:(0,i.toConfig)("sizes",a.transformFunctions.px),sizesT:(0,i.toConfig)("sizes",a.transformFunctions.fraction),shadows:(0,i.toConfig)("shadows"),logical:i.logical,blur:(0,i.toConfig)("blur",a.transformFunctions.blur)};t.t=c},21612:function(e,t){"use strict";function n(e,t){n=function(e,t){return new u(e,void 0,t)};var i=o(RegExp),a=RegExp.prototype,s=new WeakMap;function u(e,t,n){var r=i.call(this,e,t);return s.set(r,n||s.get(e)),r}function c(e,t){var n=s.get(t);return Object.keys(n).reduce((function(t,r){return t[r]=e[n[r]],t}),Object.create(null))}return r(u,i),u.prototype.exec=function(e){var t=a.exec.call(this,e);return t&&(t.groups=c(t,this)),t},u.prototype[Symbol.replace]=function(e,t){if("string"===typeof t){var n=s.get(this);return a[Symbol.replace].call(this,e,t.replace(/\$<([^>]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"===typeof t){var r=this;return a[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!==typeof e[e.length-1]&&e.push(c(e,r)),t.apply(this,e)}))}return a[Symbol.replace].call(this,e,t)},n.apply(this,arguments)}function r(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}function o(e){var t="function"===typeof Map?new Map:void 0;return(o=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return i(e,arguments,u(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),s(r,e)})(e)}function i(e,t,n){return(i=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&s(o,n.prototype),o}).apply(null,arguments)}function a(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t.__esModule=!0,t.parseGradient=h,t.gradientTransform=t.globalSet=void 0;var c={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},l=new Set(Object.values(c)),d=new Set(["none","-moz-initial","inherit","initial","revert","unset"]);t.globalSet=d;var f=function(e){return e.trim()};function h(e,t){var r,o;if(null==e||d.has(e))return e;var i=null!=(r=null==(o=n(/(^[\x2DA-Za-z]+)\(((.*))\)/g,{type:1,values:2}).exec(e))?void 0:o.groups)?r:{},a=i.type,s=i.values;if(!a||!s)return e;var u=a.includes("-gradient")?a:a+"-gradient",h=s.split(",").map(f).filter(Boolean),p=h[0],v=h.slice(1);if(0===(null==v?void 0:v.length))return e;var m=p in c?c[p]:p;return v.unshift(m),u+"("+v.map((function(e){if(l.has(e))return e;var n=e.split(" "),r=n[0],o=n[1],i="colors."+r,a=i in t.__cssMap?t.__cssMap[i].varRef:r;return o?[a,o].join(" "):a})).join(", ")+")"}t.gradientTransform=function(e,t){return h(e,null!=t?t:{})}},36282:function(e,t,n){"use strict";t.__esModule=!0,t.toConfig=function(e,t){return function(n){var o={property:n,scale:e};return o.transform=(0,r.createTransform)({scale:e,transform:t}),o}},t.logical=function(e){var t=e.property,n=e.scale,i=e.transform;return{scale:n,property:o(t),transform:n?(0,r.createTransform)({scale:n,compose:i}):i}};var r=n(41629);var o=function(e){var t=e.rtl,n=e.ltr;return function(e){return"rtl"===e.direction?t:n}}},23744:function(e,t){"use strict";var n,r;t.__esModule=!0,t.getTransformTemplate=function(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))"].concat(o).join(" ")},t.getTransformGpuTemplate=function(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)"].concat(o).join(" ")},t.getRingTemplate=function(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}},t.spaceYTemplate=t.spaceXTemplate=t.flexDirectionTemplate=t.backdropFilterTemplate=t.filterTemplate=void 0;var o=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];var i={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")};t.filterTemplate=i;var a={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};t.backdropFilterTemplate=a;t.flexDirectionTemplate={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}};var s="& > :not(style) ~ :not(style)",u=((n={})[s]={marginInlineStart:"calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))",marginInlineEnd:"calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))"},n);t.spaceXTemplate=u;var c=((r={})[s]={marginTop:"calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))",marginBottom:"calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))"},r);t.spaceYTemplate=c},69131:function(e,t,n){"use strict";t.__esModule=!0,t.transformFunctions=void 0;var r=n(66751),o=n(23744),i=n(21612),a=function(e){return function(t){return e+"("+t+")"}},s={filter:function(e){return"auto"!==e?e:o.filterTemplate},backdropFilter:function(e){return"auto"!==e?e:o.backdropFilterTemplate},ring:function(e){return(0,o.getRingTemplate)(s.px(e))},bgClip:function(e){return"text"===e?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform:function(e){return"auto"===e?(0,o.getTransformTemplate)():"auto-gpu"===e?(0,o.getTransformGpuTemplate)():e},px:function(e){return null==e?e:function(e){var t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}(e).unitless||(0,r.isNumber)(e)?e+"px":e},fraction:function(e){return!(0,r.isNumber)(e)||e>1?e:100*e+"%"},float:function(e,t){return"rtl"===t.direction?{left:"right",right:"left"}[e]:e},degree:function(e){if((0,r.isCssVar)(e)||null==e)return e;var t=(0,r.isString)(e)&&!e.endsWith("deg");return(0,r.isNumber)(e)||t?e+"deg":e},gradient:i.gradientTransform,blur:a("blur"),opacity:a("opacity"),brightness:a("brightness"),contrast:a("contrast"),dropShadow:a("drop-shadow"),grayscale:a("grayscale"),hueRotate:a("hue-rotate"),invert:a("invert"),saturate:a("saturate"),sepia:a("sepia"),bgImage:function(e){return null==e||u(e)||i.globalSet.has(e)?e:"url("+e+")"},outline:function(e){var t="0"===String(e)||"none"===String(e);return null!==e&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection:function(e){var t,n=null!=(t=o.flexDirectionTemplate[e])?t:{},r=n.space,i=n.divide,a={flexDirection:e};return r&&(a[r]=1),i&&(a[i]=1),a}};t.transformFunctions=s;var u=function(e){return(0,r.isString)(e)&&e.includes("(")&&e.includes(")")}},86925:function(){},88134:function(e,t,n){"use strict";n.d(t,{r:function(){return x}});var r=n(10762),o=n(90639),i=n(51034),a=n(68327),s=n(72947),u=n(80658),c=n(84461),l=n(47248),d=n(65415),f=n(67294);function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function p(e){void 0===e&&(e={});var{defaultIsChecked:t,defaultChecked:n=t,isChecked:p,isFocusable:m,isDisabled:g,isReadOnly:y,isRequired:b,onChange:w,isIndeterminate:_,isInvalid:x,name:k,value:E,id:O,onBlur:C,onFocus:T,"aria-label":M,"aria-labelledby":S,"aria-invalid":P,"aria-describedby":j}=e,I=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["defaultIsChecked","defaultChecked","isChecked","isFocusable","isDisabled","isReadOnly","isRequired","onChange","isIndeterminate","isInvalid","name","value","id","onBlur","onFocus","aria-label","aria-labelledby","aria-invalid","aria-describedby"]),A=(0,r.W)(w),R=(0,r.W)(C),D=(0,r.W)(T),[L,N]=(0,o.k)(),[B,z]=(0,o.k)(),[F,H]=(0,o.k)(),V=(0,f.useRef)(null),[W,U]=(0,f.useState)(!0),[G,q]=(0,f.useState)(!!n),[K,Z]=(0,i.p)(p,G);(0,u.ZK)({condition:!!t,message:'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.'});var $=(0,f.useCallback)((e=>{y||g?e.preventDefault():(K||q(Z?e.target.checked:!!_||e.target.checked),null==A||A(e))}),[y,g,Z,K,_,A]);(0,a.G)((()=>{V.current&&(V.current.indeterminate=Boolean(_))}),[_]);var X=g&&!m,Y=(0,f.useCallback)((e=>{" "===e.key&&H.on()}),[H]),Q=(0,f.useCallback)((e=>{" "===e.key&&H.off()}),[H]);(0,a.G)((()=>{V.current&&(V.current.checked!==Z&&q(V.current.checked))}),[V.current]);var J=(0,f.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);return h({},e,{ref:t,"data-active":(0,c.PB)(F),"data-hover":(0,c.PB)(B),"data-checked":(0,c.PB)(Z),"data-focus":(0,c.PB)(L),"data-indeterminate":(0,c.PB)(_),"data-disabled":(0,c.PB)(g),"data-invalid":(0,c.PB)(x),"data-readonly":(0,c.PB)(y),"aria-hidden":!0,onMouseDown:(0,u.v0)(e.onMouseDown,(e=>{e.preventDefault(),H.on()})),onMouseUp:(0,u.v0)(e.onMouseUp,H.off),onMouseEnter:(0,u.v0)(e.onMouseEnter,z.on),onMouseLeave:(0,u.v0)(e.onMouseLeave,z.off)})}),[F,Z,g,L,B,_,x,y,H,z.off,z.on]),ee=(0,f.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),h({},I,e,{ref:(0,s.l)(t,(e=>{e&&U("LABEL"===e.tagName)})),onClick:(0,u.v0)(e.onClick,(()=>{var e;W||(null==(e=V.current)||e.click(),(0,l.T)(V.current,{nextTick:!0}))})),"data-disabled":(0,c.PB)(g)})}),[I,g,W]),te=(0,f.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);return h({},e,{ref:(0,s.l)(V,t),type:"checkbox",name:k,value:E,id:O,onChange:(0,u.v0)(e.onChange,$),onBlur:(0,u.v0)(e.onBlur,R,N.off),onFocus:(0,u.v0)(e.onFocus,D,(()=>{(0,u.A4)(N.on)})),onKeyDown:(0,u.v0)(e.onKeyDown,Y),onKeyUp:(0,u.v0)(e.onKeyUp,Q),required:b,checked:Z,disabled:X,readOnly:y,"aria-label":M,"aria-labelledby":S,"aria-invalid":P?Boolean(P):x,"aria-describedby":j,"aria-disabled":g,style:d.NL})}),[k,E,O,$,N.off,N.on,R,D,Y,Q,b,Z,X,y,M,S,P,x,j,g]),ne=(0,f.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),h({},e,{ref:t,onMouseDown:(0,u.v0)(e.onMouseDown,v),onTouchStart:(0,u.v0)(e.onTouchStart,v),"data-disabled":(0,c.PB)(g),"data-checked":(0,c.PB)(Z),"data-invalid":(0,c.PB)(x)})}),[Z,g,x]);return{state:{isInvalid:x,isFocused:L,isChecked:Z,isActive:F,isHovered:B,isIndeterminate:_,isDisabled:g,isReadOnly:y,isRequired:b},getRootProps:ee,getCheckboxProps:J,getInputProps:te,getLabelProps:ne,htmlProps:I}}function v(e){e.preventDefault(),e.stopPropagation()}var m=n(90063),g=n(2326),y=n(55284),b=n(89384),w=n(73808);function _(){return(_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var x=(0,m.G)(((e,t)=>{var n=(0,g.j)("Switch",e),r=(0,y.Lr)(e),{spacing:o="0.5rem",children:i}=r,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,["spacing","children"]),{state:s,getInputProps:u,getCheckboxProps:l,getRootProps:d,getLabelProps:h}=p(a),v=f.useMemo((()=>_({display:"inline-block",verticalAlign:"middle",lineHeight:"normal"},n.container)),[n.container]),m=f.useMemo((()=>_({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer"},n.track)),[n.track]),w=f.useMemo((()=>_({userSelect:"none",marginStart:o},n.label)),[o,n.label]);return f.createElement(b.m$.label,_({},d(),{className:(0,c.cx)("chakra-switch",e.className),__css:v}),f.createElement("input",_({className:"chakra-switch__input"},u({},t))),f.createElement(b.m$.span,_({},l(),{className:"chakra-switch__track",__css:m}),f.createElement(b.m$.span,{__css:n.thumb,className:"chakra-switch__thumb","data-checked":(0,c.PB)(s.isChecked),"data-hover":(0,c.PB)(s.isHovered)})),i&&f.createElement(b.m$.span,_({className:"chakra-switch__label"},h(),{__css:w}),i))}));w.Ts&&(x.displayName="Switch")},15867:function(e,t,n){"use strict";t.__esModule=!0,t.forwardRef=function(e){return r.forwardRef(e)};var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(67294));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}},46063:function(e,t,n){"use strict";t.__esModule=!0,t.useChakra=d,t.useToken=function(e,t,n){var r=(0,u.useTheme)();if(Array.isArray(t)){var o=[];return n&&(o=Array.isArray(n)?n:[n]),t.map((function(t,n){var a,s=e+"."+t;return(0,i.memoizedGet)(r,s,null!=(a=o[n])?a:t)}))}var a=e+"."+t;return(0,i.memoizedGet)(r,a,null!=n?n:t)},t.useProps=function(e,t){var n,r,o=d(),u=o.theme,f=o.colorMode,h=t.styleConfig||(null==(n=u.components)?void 0:n[e]),p=l({},null!=(r=null==h?void 0:h.defaultProps)?r:{},(0,i.filterUndefined)(t)),v=(0,a.useRef)({}),m=(0,i.mergeWith)({},p,{theme:u,colorMode:f});return{styles:(0,a.useMemo)((function(){if(h){var e,t,n,r,o,a=(0,i.runIfFn)(null!=(e=h.baseStyle)?e:{},m),u=(0,i.runIfFn)(null!=(t=null==(n=h.variants)?void 0:n[m.variant])?t:{},m),c=(0,i.runIfFn)(null!=(r=null==(o=h.sizes)?void 0:o[m.size])?r:{},m),l=(0,i.mergeWith)(a,c,u);h.parts&&h.parts.forEach((function(e){var t;l[e]=null!=(t=l[e])?t:{}})),(0,s.default)(v.current,l)||(v.current=l)}return v.current}),[h,m]),props:(0,c.omitThemingProps)(p)}};var r,o=n(12094),i=n(66751),a=n(67294),s=(r=n(69590))&&r.__esModule?r:{default:r},u=n(4867),c=n(93138);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(){return l({},(0,o.useColorMode)(),{theme:(0,u.useTheme)()})}},48121:function(e,t,n){"use strict";t.__esModule=!0;var r={keyframes:!0,omitThemingProps:!0,shouldForwardProp:!0};t.shouldForwardProp=t.omitThemingProps=t.keyframes=void 0;var o=n(12094);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(39907);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(70917);t.keyframes=a.keyframes;var s=n(46063);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(39824);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(4867);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(93138);t.omitThemingProps=l.omitThemingProps;var d=n(40065);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(15867);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(80011);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(99214);t.shouldForwardProp=p.shouldForwardProp},4867:function(e,t,n){"use strict";t.__esModule=!0,t.useTheme=function(){var e=u.useContext(s.ThemeContext);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`");return e},t.GlobalStyle=t.useStyles=t.StylesProvider=t.ThemeProvider=void 0;var r=n(12094),o=n(39907),i=n(66751),a=n(19277),s=n(70917),u=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function c(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}t.ThemeProvider=function(e){var t=e.cssVarsRoot,n=void 0===t?":host, :root":t,r=e.theme,i=e.children,a=u.useMemo((function(){return(0,o.toCSSVar)(r)}),[r]);return u.createElement(s.ThemeProvider,{theme:a},u.createElement(s.Global,{styles:function(e){var t;return(t={})[n]=e.__cssVars,t}}),i)};var l=(0,a.createContext)({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` "}),d=l[0],f=l[1];t.useStyles=f,t.StylesProvider=d;t.GlobalStyle=function(){var e=(0,r.useColorMode)().colorMode;return u.createElement(s.Global,{styles:function(t){var n=(0,i.memoizedGet)(t,"styles.global"),r=(0,i.runIfFn)(n,{theme:t,colorMode:e});if(r){var a=(0,o.css)(r)(t);return a}}})}},99214:function(e,t,n){"use strict";t.__esModule=!0,t.shouldForwardProp=void 0;var r=n(39907),o=new Set([].concat(r.propNames,["textStyle","layerStyle","apply","isTruncated","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"])),i=new Set(["htmlWidth","htmlHeight","htmlSize"]);t.shouldForwardProp=function(e){return i.has(e)||!o.has(e)}},40065:function(e,t,n){"use strict";t.__esModule=!0,t.styled=d,t.chakra=t.toCSSObject=void 0;var r,o=n(39907),i=n(66751),a=(r=n(61194))&&r.__esModule?r:{default:r},s=n(99214),u=n(93138);function c(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var l=function(e){var t=e.baseStyle;return function(e){e.theme;var n=e.css,r=e.__css,a=e.sx,s=c(e,["theme","css","__css","sx"]),u=(0,i.objectFilter)(s,(function(e,t){return(0,o.isStyleProp)(t)})),l=(0,i.runIfFn)(t,e),d=Object.assign({},r,l,(0,i.filterUndefined)(u),a),f=(0,o.css)(d)(e.theme);return n?[f,n]:f}};function d(e,t){var n=null!=t?t:{},r=n.baseStyle,o=c(n,["baseStyle"]);o.shouldForwardProp||(o.shouldForwardProp=s.shouldForwardProp);var i=l({baseStyle:r});return(0,a.default)(e,o)(i)}t.toCSSObject=l;var f=d;t.chakra=f,u.domElements.forEach((function(e){f[e]=f(e)}))},39824:function(){},93138:function(e,t,n){"use strict";t.__esModule=!0,t.omitThemingProps=function(e){return(0,r.omit)(e,["styleConfig","size","variant","colorScheme"])},t.default=o,t.getDisplayName=function(e){return o(e)?"chakra."+e:function(e){return!!r.__DEV__&&((0,r.isString)(e)&&e)||!(0,r.isString)(e)&&e.displayName||!(0,r.isString)(e)&&e.name||"ChakraComponent"}(e)},t.domElements=void 0;var r=n(66751);function o(e){return(0,r.isString)(e)&&(!r.__DEV__||e.charAt(0)===e.charAt(0).toLowerCase())}t.domElements=["a","b","article","aside","blockquote","button","caption","cite","circle","code","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","img","input","kbd","label","li","main","mark","nav","ol","p","path","pre","q","rect","s","svg","section","select","strong","small","span","sub","sup","table","tbody","td","textarea","tfoot","th","thead","tr","ul"]},80011:function(e,t,n){"use strict";t.__esModule=!0,t.useStyleConfig=u,t.useMultiStyleConfig=function(e,t){return u(e,t,{isMultiPart:!0})};var r,o=n(66751),i=n(67294),a=(r=n(69590))&&r.__esModule?r:{default:r},s=n(46063);function u(e,t,n){var r,u;void 0===t&&(t={}),void 0===n&&(n={});var c=t,l=c.styleConfig,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(c,["styleConfig"]),f=(0,s.useChakra)(),h=f.theme,p=f.colorMode,v=(0,o.memoizedGet)(h,"components."+e),m=l||v,g=(0,o.mergeWith)({theme:h,colorMode:p},null!=(r=null==m?void 0:m.defaultProps)?r:{},(0,o.filterUndefined)((0,o.omit)(d,["children"]))),y=(0,i.useRef)({});return(0,i.useMemo)((function(){if(m){var e,t,r,i,s,u,c=(0,o.runIfFn)(null!=(e=m.baseStyle)?e:{},g),l=(0,o.runIfFn)(null!=(t=null==(r=m.variants)?void 0:r[g.variant])?t:{},g),d=(0,o.runIfFn)(null!=(i=null==(s=m.sizes)?void 0:s[g.size])?i:{},g),f=(0,o.mergeWith)({},c,d,l);null!=(u=n)&&u.isMultiPart&&m.parts&&m.parts.forEach((function(e){var t;f[e]=null!=(t=f[e])?t:{}})),(0,a.default)(y.current,f)||(y.current=f)}return y.current}),[m,g,null==(u=n)?void 0:u.isMultiPart])}},90063:function(e,t,n){"use strict";n.d(t,{G:function(){return o}});var r=n(67294);function o(e){return r.forwardRef(e)}},11180:function(e,t,n){"use strict";n.d(t,{useTheme:function(){return i.Fg}});var r=n(9421);n.o(r,"useTheme")&&n.d(t,{useTheme:function(){return r.useTheme}});var o=n(5070);n.o(o,"useTheme")&&n.d(t,{useTheme:function(){return o.useTheme}});var i=n(29676)},89384:function(e,t,n){"use strict";n.d(t,{m$:function(){return f}});var r=n(9421),o=n(4651),i=n(80658),a=n(61194),s=new Set([...r.propNames,"textStyle","layerStyle","apply","isTruncated","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),u=new Set(["htmlWidth","htmlHeight","htmlSize"]),c=e=>u.has(e)||!s.has(e),l=n(55284);function d(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var f=function(e,t){var n=null!=t?t:{},{baseStyle:s}=n,u=d(n,["baseStyle"]);u.shouldForwardProp||(u.shouldForwardProp=c);var l=(e=>{var{baseStyle:t}=e;return e=>{var{css:n,__css:a,sx:s}=e,u=d(e,["theme","css","__css","sx"]),c=(0,o.lw)(u,((e,t)=>(0,r.isStyleProp)(t))),l=(0,i.Pu)(t,e),f=Object.assign({},a,l,(0,o.YU)(c),s),h=(0,r.iv)(f)(e.theme);return n?[h,n]:h}})({baseStyle:s});return(0,a.default)(e,u)(l)};l.t6.forEach((e=>{f[e]=f(e)}))},5070:function(){},55284:function(e,t,n){"use strict";n.d(t,{t6:function(){return o},Lr:function(){return i}});var r=n(4651),o=["a","b","article","aside","blockquote","button","caption","cite","circle","code","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","img","input","kbd","label","li","main","mark","nav","ol","p","path","pre","q","rect","s","svg","section","select","strong","small","span","sub","sup","table","tbody","td","textarea","tfoot","th","thead","tr","ul"];function i(e){return(0,r.CE)(e,["styleConfig","size","variant","colorScheme"])}},2326:function(e,t,n){"use strict";n.d(t,{j:function(){return v},m:function(){return p}});var r=n(4651),o=n(38554),i=n.n(o),a=n(80658),s=n(67294),u=n(69590),c=n.n(u),l=n(24738),d=n(29676);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function h(){return f({},(0,l.If)(),{theme:(0,d.Fg)()})}function p(e,t,n){var o,u;void 0===t&&(t={}),void 0===n&&(n={});var{styleConfig:l}=t,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["styleConfig"]),{theme:f,colorMode:p}=h(),v=(0,r.Wf)(f,"components."+e),m=l||v,g=i()({theme:f,colorMode:p},null!=(o=null==m?void 0:m.defaultProps)?o:{},(0,r.YU)((0,r.CE)(d,["children"]))),y=(0,s.useRef)({});return(0,s.useMemo)((()=>{if(m){var e,t,r,o,s,u,l=(0,a.Pu)(null!=(e=m.baseStyle)?e:{},g),d=(0,a.Pu)(null!=(t=null==(r=m.variants)?void 0:r[g.variant])?t:{},g),f=(0,a.Pu)(null!=(o=null==(s=m.sizes)?void 0:s[g.size])?o:{},g),h=i()({},l,f,d);null!=(u=n)&&u.isMultiPart&&m.parts&&m.parts.forEach((e=>{var t;h[e]=null!=(t=h[e])?t:{}})),c()(y.current,h)||(y.current=h)}return y.current}),[m,g,null==(u=n)?void 0:u.isMultiPart])}function v(e,t){return p(e,t,{isMultiPart:!0})}},81820:function(e,t,n){"use strict";t.__esModule=!0;var r=n(45093);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}))},45093:function(e,t,n){"use strict";t.__esModule=!0,t.TagCloseButton=t.TagRightIcon=t.TagLeftIcon=t.TagLabel=t.Tag=void 0;var r=n(29559),o=n(48121),i=n(66751),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(67294));function s(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var c=(0,o.forwardRef)((function(e,t){var n=(0,o.useMultiStyleConfig)("Tag",e),r=(0,o.omitThemingProps)(e),i=u({display:"inline-flex",verticalAlign:"top",alignItems:"center",maxWidth:"100%"},n.container);return a.createElement(o.StylesProvider,{value:n},a.createElement(o.chakra.span,u({ref:t},r,{__css:i})))}));t.Tag=c,i.__DEV__&&(c.displayName="Tag");var l=(0,o.forwardRef)((function(e,t){var n=(0,o.useStyles)();return a.createElement(o.chakra.span,u({ref:t,isTruncated:!0},e,{__css:n.label}))}));t.TagLabel=l,i.__DEV__&&(l.displayName="TagLabel");var d=(0,o.forwardRef)((function(e,t){return a.createElement(r.Icon,u({ref:t,verticalAlign:"top",marginEnd:"0.5rem"},e))}));t.TagLeftIcon=d,i.__DEV__&&(d.displayName="TagLeftIcon");var f=(0,o.forwardRef)((function(e,t){return a.createElement(r.Icon,u({ref:t,verticalAlign:"top",marginStart:"0.5rem"},e))}));t.TagRightIcon=f,i.__DEV__&&(f.displayName="TagRightIcon");var h=function(e){return a.createElement(r.Icon,u({verticalAlign:"inherit",viewBox:"0 0 512 512"},e),a.createElement("path",{fill:"currentColor",d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"}))};i.__DEV__&&(h.displayName="TagCloseIcon");var p=function(e){var t=e.isDisabled,n=e.children,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["isDisabled","children"]),i=u({display:"flex",alignItems:"center",justifyContent:"center",outline:"0"},(0,o.useStyles)().closeButton);return a.createElement(o.chakra.button,u({},r,{type:"button","aria-label":"close",disabled:t,__css:i}),n||a.createElement(h,null))};t.TagCloseButton=p,i.__DEV__&&(p.displayName="TagCloseButton")},96699:function(e,t,n){"use strict";n.d(t,{u:function(){return M}});var r=n(23459),o=n(67273),i=n(89384),a=n(90063),s=n(2326),u=n(55284),c=n(29676),l=n(4651),d=n(73808),f=n(65415),h=n(99860),p=n(53869),v=n(67294),m={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},g=n(74860),y=n(94577),b=n(34941),w=n(8931),_=n(80658),x=n(88456),k=n(72947);function E(){return(E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function O(e){void 0===e&&(e={});var{openDelay:t=0,closeDelay:n=0,closeOnClick:o=!0,closeOnMouseDown:i,onOpen:a,onClose:s,placement:u,id:c,isOpen:l,defaultIsOpen:d,arrowSize:f=10,arrowShadowColor:h,arrowPadding:p,modifiers:m,isDisabled:O,gutter:C,offset:T}=e,M=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["openDelay","closeDelay","closeOnClick","closeOnMouseDown","onOpen","onClose","placement","id","isOpen","defaultIsOpen","arrowSize","arrowShadowColor","arrowPadding","modifiers","isDisabled","gutter","offset"]),{isOpen:S,onOpen:P,onClose:j}=(0,g.q)({isOpen:l,defaultIsOpen:d,onOpen:a,onClose:s}),{referenceRef:I,getPopperProps:A,getArrowInnerProps:R,getArrowProps:D}=(0,w.D)({enabled:S,placement:u,arrowPadding:p,modifiers:m,gutter:C,offset:T}),L=(0,y.Me)(c,"tooltip"),N=v.useRef(null),B=v.useRef(),z=v.useRef(),F=v.useCallback((()=>{O||(B.current=window.setTimeout(P,t))}),[O,P,t]),H=v.useCallback((()=>{B.current&&clearTimeout(B.current),z.current=window.setTimeout(j,n)}),[n,j]),V=v.useCallback((()=>{o&&H()}),[o,H]),W=v.useCallback((()=>{i&&H()}),[i,H]);(0,b.O)("keydown",(e=>{S&&"Escape"===e.key&&H()})),v.useEffect((()=>()=>{clearTimeout(B.current),clearTimeout(z.current)}),[]),(0,b.O)("mouseleave",H,N.current);var U=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),E({},e,{ref:(0,k.l)(N,t,I),onMouseEnter:(0,_.v0)(e.onMouseEnter,F),onClick:(0,_.v0)(e.onClick,V),onMouseDown:(0,_.v0)(e.onMouseDown,W),onFocus:(0,_.v0)(e.onFocus,F),onBlur:(0,_.v0)(e.onBlur,H),"aria-describedby":S?L:void 0})}),[F,H,W,S,L,V,I]),G=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),A(E({},e,{style:E({},e.style,{[r.Dq.arrowSize.var]:f?(0,x.px)(f):void 0,[r.Dq.arrowShadowColor.var]:h})}),t)}),[A,f,h]),q=v.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),E({ref:t},M,e,{id:L,role:"tooltip",style:E({},e.style,{position:"relative",transformOrigin:r.Dq.transformOrigin.varRef})})}),[M,L]);return{isOpen:S,show:F,hide:H,getTriggerProps:U,getTooltipProps:q,getTooltipPositionerProps:G,getArrowProps:D,getArrowInnerProps:R}}function C(){return(C=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var T=(0,i.m$)(h.E.div),M=(0,a.G)(((e,t)=>{var n=(0,s.m)("Tooltip",e),a=(0,u.Lr)(e),h=(0,c.Fg)(),{children:g,label:y,shouldWrapChildren:b,"aria-label":w,hasArrow:_,bg:x,portalProps:k}=a,E=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(a,["children","label","shouldWrapChildren","aria-label","hasArrow","bg","portalProps"]);x&&(n.bg=x,n[r.Dq.arrowBg.var]=(0,l.K1)(h,"colors",x));var M,S=O(E);if((0,d.HD)(g)||b)M=v.createElement(i.m$.span,C({tabIndex:0},S.getTriggerProps()),g);else{var P=v.Children.only(g);M=v.cloneElement(P,S.getTriggerProps(P.props,P.ref))}var j=!!w,I=S.getTooltipProps({},t),A=j?(0,l.CE)(I,["role","id"]):I,R=(0,l.ei)(I,["role","id"]);return y?v.createElement(v.Fragment,null,M,v.createElement(p.M,null,S.isOpen&&v.createElement(o.h,k,v.createElement(i.m$.div,C({},S.getTooltipPositionerProps(),{__css:{zIndex:n.zIndex,pointerEvents:"none"}}),v.createElement(T,C({variants:m},A,{initial:"exit",animate:"enter",exit:"exit",__css:n}),y,j&&v.createElement(f.TX,R,w),_&&v.createElement(i.m$.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper"},v.createElement(i.m$.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:n.bg}}))))))):v.createElement(v.Fragment,null,g)}));d.Ts&&(M.displayName="Tooltip")},15267:function(e,t,n){"use strict";n.d(t,{U:function(){return v}});var r=n(80658),o=n(38554),i=n.n(o),a=n(84461),s=n(73808),u=n(53869),c=n(99860),l=n(67294),d=n(24722);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var h={exit:{height:{duration:.2,ease:d.YI.ease},opacity:{duration:.3,ease:d.YI.ease}},enter:{height:{duration:.3,ease:d.YI.ease},opacity:{duration:.4,ease:d.YI.ease}}},p={exit:e=>{var t,n,{animateOpacity:r,startingHeight:o,transition:i,transitionEnd:a,delay:s}=e;return f({},r&&{opacity:(n=o,null!=n&&parseInt(n.toString(),10)>0?1:0)},{overflow:"hidden",height:o,transitionEnd:null==a?void 0:a.exit,transition:null!=(t=null==i?void 0:i.exit)?t:d.p$.exit(h.exit,s)})},enter:e=>{var t,{animateOpacity:n,endingHeight:r,transition:o,transitionEnd:i,delay:a}=e;return f({},n&&{opacity:1},{height:r,transitionEnd:null==i?void 0:i.enter,transition:null!=(t=null==o?void 0:o.enter)?t:d.p$.enter(h.enter,a)})}},v=l.forwardRef(((e,t)=>{var{in:n,unmountOnExit:o,animateOpacity:s=!0,startingHeight:d=0,endingHeight:h="auto",style:v,className:m,transition:g,transitionEnd:y}=e,b=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["in","unmountOnExit","animateOpacity","startingHeight","endingHeight","style","className","transition","transitionEnd"]),[w,_]=l.useState(!1);l.useEffect((()=>{var e=setTimeout((()=>{_(!0)}));return()=>clearTimeout(e)}),[]),(0,r.ZK)({condition:Boolean(d>0&&o),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});var x=parseFloat(d.toString())>0,k={startingHeight:d,endingHeight:h,animateOpacity:s,transition:w?g:{enter:{duration:0}},transitionEnd:i()(y,{enter:{overflow:"initial"},exit:o?void 0:{display:x?"block":"none"}})},E=!o||n,O=n||o?"enter":"exit";return l.createElement(u.M,{initial:!1,custom:k},E&&l.createElement(c.E.div,f({ref:t},b,{className:(0,a.cx)("chakra-collapse",m),style:f({overflow:"hidden",display:"block"},v),custom:k,variants:p,initial:!!o&&"exit",animate:O,exit:"exit"})))}));s.Ts&&(v.displayName="Collapse")},24722:function(e,t,n){"use strict";n.d(t,{YI:function(){return i},R:function(){return a},p$:function(){return s}});var r=n(73808);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var i={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]};var a={enter:{duration:.2,ease:i.easeOut},exit:{duration:.1,ease:i.easeIn}},s={enter:(e,t)=>o({},e,{delay:(0,r.hj)(t)?t:null==t?void 0:t.enter}),exit:(e,t)=>o({},e,{delay:(0,r.hj)(t)?t:null==t?void 0:t.exit})}},4706:function(e,t){"use strict";function n(e,t,n,r){void 0===n&&(n=1),void 0===r&&(r=!0);var o=t-1;if(-1===e)return n>0?0:o;var i=e+n;return i<0?r?o:0:i>=t?r?0:e>t?t:e:i}function r(e,t,r){return void 0===r&&(r=!0),n(e,t,-1,r)}t.__esModule=!0,t.getFirstItem=function(e){return null!=e&&e.length?e[0]:void 0},t.getLastItem=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0},t.getPrevItem=function(e,t,n){void 0===n&&(n=!0);var o=r(e,t.length,n);return t[o]},t.getNextItem=function(e,t,r){void 0===r&&(r=!0);var o=n(e,t.length,1,r);return t[o]},t.removeIndex=function(e,t){return e.filter((function(e,n){return n!==t}))},t.addItem=function(e,t){return[].concat(e,[t])},t.removeItem=function(e,t){return e.filter((function(e){return e!==t}))},t.getNextIndex=n,t.getPrevIndex=r,t.chunk=function(e,t){return e.reduce((function(e,n,r){return r%t===0?e.push([n]):e[e.length-1].push(n),e}),[])},t.getNextItemFromSearch=function(e,t,n,r){if(null==t)return r;if(!r){return e.find((function(e){return n(e).toLowerCase().startsWith(t.toLowerCase())}))}var o=e.filter((function(e){return n(e).toLowerCase().startsWith(t.toLowerCase())}));if(o.length>0){var i;if(o.includes(r)){var a=o.indexOf(r);return(i=a+1)===o.length&&(i=0),o[i]}return i=e.indexOf(o[0]),e[i]}return r}},22229:function(e,t){"use strict";function n(e){return Array.isArray(e)}function r(e){return n(e)&&0===e.length}function o(e){var t=typeof e;return null!=e&&("object"===t||"function"===t)&&!n(e)}function i(e){return o(e)&&0===Object.keys(e).length}t.__esModule=!0,t.isNumber=function(e){return"number"===typeof e},t.isNotNumber=function(e){return"number"!==typeof e||Number.isNaN(e)||!Number.isFinite(e)},t.isNumeric=function(e){return null!=e&&e-parseFloat(e)+1>=0},t.isArray=n,t.isEmptyArray=r,t.isFunction=function(e){return"function"===typeof e},t.isDefined=function(e){return"undefined"!==typeof e&&void 0!==e},t.isUndefined=function(e){return"undefined"===typeof e||void 0===e},t.isObject=o,t.isEmptyObject=i,t.isNotEmptyObject=function(e){return e&&!i(e)},t.isNull=function(e){return null==e},t.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},t.isCssVar=function(e){return/^var\(--.+\)$/.test(e)},t.isEmpty=function(e){return n(e)?r(e):o(e)?i(e):null==e||""===e},t.isRefObject=function(e){return"current"in e},t.isInputEvent=function(e){return e&&o(e)&&o(e.target)},t.__TEST__=t.__DEV__=void 0;t.__DEV__=!1;t.__TEST__=!1},42402:function(e,t,n){"use strict";t.__esModule=!0,t.px=a,t.analyzeBreakpoints=function(e){var t;if(!e)return null;e.base=null!=(t=e.base)?t:"0px";var n=c(e),i=Object.entries(e).sort(s).map((function(e,t,n){var r,i=e[0],s=e[1],u=(null!=(r=n[t+1])?r:[])[1];return{breakpoint:i,minW:s,maxW:u=parseFloat(u)>0?function(e){var t;if(!e)return e;var n=(e=null!=(t=a(e))?t:e).endsWith("px")?-1:-.0635;return(0,o.isNumber)(e)?""+(e+n):e.replace(/([0-9]+\.?[0-9]*)/,(function(e){return""+(parseFloat(e)+n)}))}(u):void 0,maxWQuery:l(null,u),minWQuery:l(s),minMaxQuery:l(s,u)}})),d=function(e){var t=Object.keys(u(e));return new Set(t)}(e),f=Array.from(d.values());return{keys:d,normalized:n,isResponsive:function(e){var t=Object.keys(e);return t.length>0&&t.every((function(e){return d.has(e)}))},asObject:u(e),asArray:c(e),details:i,media:[null].concat(n.map((function(e){return l(e)})).slice(1)),toArrayValue:function(e){if(!(0,o.isObject)(e))throw new Error("toArrayValue: value must be an object");for(var t=f.map((function(t){var n;return null!=(n=e[t])?n:null}));null===(0,r.getLastItem)(t);)t.pop();return t},toObjectValue:function(e){if(!Array.isArray(e))throw new Error("toObjectValue: value must be an array");return e.reduce((function(e,t,n){var r=f[n];return null!=r&&null!=t&&(e[r]=t),e}),{})}}};var r=n(4706),o=n(22229),i=n(95963);function a(e){return null==e?e:function(e){var t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}(e).unitless||(0,o.isNumber)(e)?e+"px":e}var s=function(e,t){return parseInt(e[1],10)>parseInt(t[1],10)?1:-1},u=function(e){return(0,i.fromEntries)(Object.entries(e).sort(s))};function c(e){var t=u(e);return Object.assign(Object.values(t),t)}function l(e,t){var n=[];return e&&n.push("@media screen and (min-width: "+a(e)+")"),n.length>0&&t&&n.push("and"),t&&n.push("@media screen and (max-width: "+a(t)+")"),n.join(" ")}},33211:function(e,t,n){"use strict";t.__esModule=!0,t.getAllFocusable=i,t.getFirstFocusable=function(e){var t=i(e);return t.length?t[0]:null},t.getAllTabbable=a,t.getFirstTabbableIn=function(e,t){return a(e,t)[0]||null},t.getLastTabbableIn=function(e,t){var n=a(e,t);return n[n.length-1]||null},t.getNextTabbable=s,t.getPreviousTabbable=u,t.focusNextTabbable=function(e,t){var n=s(e,t);n&&(0,r.isHTMLElement)(n)&&n.focus()},t.focusPreviousTabbable=function(e,t){var n=u(e,t);n&&(0,r.isHTMLElement)(n)&&n.focus()},t.closest=function(e,t){if("closest"in e)return e.closest(t);do{if(c(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null};var r=n(99162),o=["input:not([disabled])","select:not([disabled])","textarea:not([disabled])","embed","iframe","object","a[href]","area[href]","button:not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"].join();function i(e){var t=Array.from(e.querySelectorAll(o));return t.unshift(e),t.filter(r.isFocusable).filter((function(e){return"none"!==window.getComputedStyle(e).display}))}function a(e,t){var n=Array.from(e.querySelectorAll(o)),i=n.filter(r.isTabbable);return(0,r.isTabbable)(e)&&i.unshift(e),!i.length&&t?n:i}function s(e,t){var n=i(e),o=n.indexOf(document.activeElement),a=n.slice(o+1);return a.find(r.isTabbable)||n.find(r.isTabbable)||(t?a[0]:null)}function u(e,t){var n=i(e).reverse(),o=n.indexOf(document.activeElement),a=n.slice(o+1);return a.find(r.isTabbable)||n.find(r.isTabbable)||(t?a[0]:null)}function c(e,t){return"matches"in e?e.matches(t):"msMatchesSelector"in e?e.msMatchesSelector(t):e.webkitMatchesSelector(t)}},14576:function(e,t){"use strict";function n(e){var t;return e instanceof Element&&null!=(t=e.ownerDocument)?t:document}function r(){return!("undefined"===typeof window||!window.document||!window.document.createElement)}t.__esModule=!0,t.getOwnerWindow=function(e){var t,r;return e instanceof Element&&null!=(t=null==(r=n(e))?void 0:r.defaultView)?t:window},t.getOwnerDocument=n,t.canUseDOM=r,t.getActiveElement=i,t.contains=function(e,t){return!!e&&(e===t||e.contains(t))},t.addDomEvent=function(e,t,n,r){return e.addEventListener(t,n,r),function(){e.removeEventListener(t,n,r)}},t.normalizeEventKey=function(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t},t.getRelatedTarget=function(e){var t,n,r,o=i(null!=(t=e.target)?t:e.currentTarget),a=e.nativeEvent.explicitOriginalTarget;return null!=(n=null!=(r=e.relatedTarget)?r:a)?n:o},t.isRightClick=function(e){return 0!==e.button},t.cx=t.ariaAttr=t.dataAttr=t.isBrowser=void 0;var o=r();t.isBrowser=o;t.dataAttr=function(e){return e?"":void 0};t.ariaAttr=function(e){return!!e||void 0};function i(e){var t=n(e);return null==t?void 0:t.activeElement}t.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")}},86770:function(e,t,n){"use strict";t.__esModule=!0,t.focus=function(e,t){void 0===t&&(t={});var n=t,u=n.isActive,c=void 0===u?i.isActiveElement:u,l=n.nextTick,d=n.preventScroll,f=void 0===d||d,h=n.selectTextIfInput,p=void 0===h||h;if(!e||c(e))return-1;function v(){if(e){if(function(){if(null==s){s=!1;try{document.createElement("div").focus({get preventScroll(){return s=!0,!0}})}catch(e){}}return s}())e.focus({preventScroll:f});else if(e.focus(),f)!function(e){for(var t,n=function(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(e);!(t=n()).done;){var r=t.value,o=r.element,i=r.scrollTop,s=r.scrollLeft;o.scrollTop=i,o.scrollLeft=s}}(function(e){var t=(0,r.getOwnerDocument)(e),n=e.parentNode,o=[],i=t.scrollingElement||t.documentElement;for(;n instanceof HTMLElement&&n!==i;)(n.offsetHeight<n.scrollHeight||n.offsetWidth<n.scrollWidth)&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),n=n.parentNode;i instanceof HTMLElement&&o.push({element:i,scrollTop:i.scrollTop,scrollLeft:i.scrollLeft});return o}(e));(0,i.isInputElement)(e)&&p&&e.select()}else(0,o.warn)({condition:!0,message:"[chakra-ui]: can't call focus() on `null` or `undefined` element"})}if(l)return requestAnimationFrame(v);return v(),-1};var r=n(14576),o=n(25981),i=n(99162);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var s=null},25981:function(e,t,n){"use strict";t.__esModule=!0,t.runIfFn=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return(0,r.isFunction)(e)?e.apply(void 0,n):e},t.callAllHandlers=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){t.some((function(t){return null==t||t(e),null==e?void 0:e.defaultPrevented}))}},t.callAll=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){t.forEach((function(t){null==t||t(e)}))}},t.once=o,t.distance=function(e,t){if((0,r.isNumber)(e)&&(0,r.isNumber)(t))return u(e,t);if(c(e)&&c(t)){var n=u(e.x,t.x),o=u(e.y,t.y);return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}return 0},t.pipe=t.scheduleMicrotask=t.error=t.warn=t.noop=t.compose=void 0;var r=n(22229);function o(e){var t;return function(){if(e){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];t=e.apply(this,r),e=null}return t}}t.compose=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}),e)};t.noop=function(){};var i=o((function(e){return function(){var t=e.condition,n=e.message;t&&r.__DEV__&&console.warn(n)}}));t.warn=i;var a=o((function(e){return function(){var t=e.condition,n=e.message;t&&r.__DEV__&&console.error(n)}}));t.error=a;var s=r.__TEST__?function(e){return e()}:"function"===typeof queueMicrotask?queueMicrotask:function(e){Promise.resolve().then(e)};t.scheduleMicrotask=s;t.pipe=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduce((function(e,t){return t(e)}),e)}};var u=function(e,t){return Math.abs(e-t)},c=function(e){return"x"in e&&"y"in e}},66751:function(e,t,n){"use strict";t.__esModule=!0;var r=n(78244);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||(t[e]=r[e]))}));var o=n(4706);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(22229);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(42402);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||(t[e]=a[e]))}));var s=n(14576);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||(t[e]=s[e]))}));var u=n(33211);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||(t[e]=u[e]))}));var c=n(86770);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=n(25981);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||(t[e]=l[e]))}));var d=n(65636);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||(t[e]=d[e]))}));var f=n(39407);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===f[e]||(t[e]=f[e]))}));var h=n(95963);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===h[e]||(t[e]=h[e]))}));var p=n(52952);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||(t[e]=p[e]))}));var v=n(91373);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===v[e]||(t[e]=v[e]))}));var m=n(4535);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===m[e]||(t[e]=m[e]))}));var g=n(99162);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===g[e]||(t[e]=g[e]))}));var y=n(27489);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=n(58594);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===b[e]||(t[e]=b[e]))}));var w=n(38140);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===w[e]||(t[e]=w[e]))}))},65636:function(e,t){"use strict";t.__esModule=!0,t.determineLazyBehavior=function(e){var t=e.hasBeenSelected,n=e.isLazy,r=e.isSelected,o=e.lazyBehavior,i=void 0===o?"unmount":o;return!n||(!!r||!("keepMounted"!==i||!t))}},39407:function(e,t,n){"use strict";t.__esModule=!0,t.toPrecision=s,t.countDecimalPlaces=u,t.valueToPercent=function(e,t,n){return 100*(e-t)/(n-t)},t.percentToValue=function(e,t,n){return(n-t)*e+t},t.roundValueToStep=function(e,t,n){var r=Math.round((e-t)/n)*n+t,o=u(n);return s(r,o)},t.clampValue=function(e,t,n){return null==e?e:((0,o.warn)({condition:n<t,message:"clamp: max cannot be less than min"}),Math.min(Math.max(e,t),n))},t.maxSafeInteger=t.minSafeInteger=void 0;var r=n(22229),o=n(25981),i=Number.MIN_SAFE_INTEGER||-9007199254740991;t.minSafeInteger=i;var a=Number.MAX_SAFE_INTEGER||9007199254740991;function s(e,t){var n=function(e){var t=parseFloat(e);return(0,r.isNotNumber)(t)?0:t}(e),o=Math.pow(10,null!=t?t:10);return n=Math.round(n*o)/o,t?n.toFixed(t):n.toString()}function u(e){if(!Number.isFinite(e))return 0;for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}t.maxSafeInteger=a},95963:function(e,t,n){"use strict";t.__esModule=!0,t.omit=function(e,t){var n={};return Object.keys(e).forEach((function(r){t.includes(r)||(n[r]=e[r])})),n},t.pick=function(e,t){var n={};return t.forEach((function(t){t in e&&(n[t]=e[t])})),n},t.split=function(e,t){var n={},r={};return Object.keys(e).forEach((function(o){t.includes(o)?n[o]=e[o]:r[o]=e[o]})),[n,r]},t.get=i,t.getWithDefault=function(e,t){return s(t,e,e)},t.objectFilter=u,t.getCSSVar=t.fromEntries=t.objectKeys=t.filterUndefined=t.memoizedGet=t.memoize=t.mergeWith=void 0;var r,o=(r=n(38554))&&r.__esModule?r:{default:r};function i(e,t,n,r){var o="string"===typeof t?t.split("."):[t];for(r=0;r<o.length&&e;r+=1)e=e[o[r]];return void 0===e?n:e}t.mergeWith=o.default;var a=function(e){var t=new WeakMap;return function(n,r,o,i){if("undefined"===typeof n)return e(n,r,o);t.has(n)||t.set(n,new Map);var a=t.get(n);if(a.has(r))return a.get(r);var s=e(n,r,o,i);return a.set(r,s),s}};t.memoize=a;var s=a(i);function u(e,t){var n={};return Object.keys(e).forEach((function(r){var o=e[r];t(o,r,e)&&(n[r]=o)})),n}t.memoizedGet=s;t.filterUndefined=function(e){return u(e,(function(e){return null!==e&&void 0!==e}))};t.objectKeys=function(e){return Object.keys(e)};t.fromEntries=function(e){return e.reduce((function(e,t){var n=t[0],r=t[1];return e[n]=r,e}),{})};t.getCSSVar=function(e,t,n){var r,o;return null!=(r=null==(o=e.__cssMap[t+"."+n])?void 0:o.varRef)?r:n}},52952:function(e,t,n){"use strict";t.__esModule=!0,t.PanSession=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(84839)),o=n(91373),i=n(25981);function a(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=function(){function e(e,t,n){var a=this;if(u(this,"history",[]),u(this,"startEvent",null),u(this,"lastEvent",null),u(this,"lastEventInfo",null),u(this,"handlers",{}),u(this,"removeListeners",i.noop),u(this,"threshold",3),u(this,"updatePoint",(function(){if(a.lastEvent&&a.lastEventInfo){var e=h(a.lastEventInfo,a.history),t=null!==a.startEvent,n=(0,i.distance)(e.offset,{x:0,y:0})>=a.threshold;if(t||n){var o=(0,r.getFrameData)().timestamp;a.history.push(s({},e.point,{timestamp:o}));var u=a.handlers,c=u.onStart,l=u.onMove;t||(null==c||c(a.lastEvent,e),a.startEvent=a.lastEvent),null==l||l(a.lastEvent,e)}}})),u(this,"onPointerMove",(function(e,t){a.lastEvent=e,a.lastEventInfo=t,(0,o.isMouseEvent)(e)&&0===e.buttons?a.onPointerUp(e,t):r.default.update(a.updatePoint,!0)})),u(this,"onPointerUp",(function(e,t){var n=h(t,a.history),r=a.handlers,o=r.onEnd,i=r.onSessionEnd;null==i||i(e,n),a.end(),o&&a.startEvent&&(null==o||o(e,n))})),!(0,o.isMultiTouchEvent)(e)){this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();var c=(0,o.extractEventInfo)(e),l=(0,r.getFrameData)().timestamp;this.history=[s({},c.point,{timestamp:l})];var d=t.onSessionStart;null==d||d(e,h(c,this.history)),this.removeListeners=(0,i.pipe)((0,o.addPointerEvent)(window,"pointermove",this.onPointerMove),(0,o.addPointerEvent)(window,"pointerup",this.onPointerUp),(0,o.addPointerEvent)(window,"pointercancel",this.onPointerUp))}}var t=e.prototype;return t.updateHandlers=function(e){this.handlers=e},t.end=function(){var e;null==(e=this.removeListeners)||e.call(this),r.cancelSync.update(this.updatePoint)},e}();function l(e,t){return{x:e.x-t.x,y:e.y-t.y}}function d(e){return e[0]}function f(e){return e[e.length-1]}function h(e,t){return{point:e.point,delta:l(e.point,f(t)),offset:l(e.point,d(t)),velocity:p(t,.1)}}t.PanSession=c;function p(e,t){if(e.length<2)return{x:0,y:0};for(var n=e.length-1,r=null,o=function(e){return e[e.length-1]}(e);n>=0&&(r=e[n],!(o.timestamp-r.timestamp>1e3*t));)n--;if(!r)return{x:0,y:0};var i=(o.timestamp-r.timestamp)/1e3;if(0===i)return{x:0,y:0};var a={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}},91373:function(e,t,n){"use strict";t.__esModule=!0,t.isMouseEvent=function(e){if("undefined"!==typeof PointerEvent&&e instanceof PointerEvent)return!("mouse"!==e.pointerType);return e instanceof MouseEvent},t.isTouchEvent=o,t.extractEventInfo=u,t.getViewportPointFromEvent=function(e){return u(e,"client")},t.getPointerEventName=f,t.addPointerEvent=function(e,t,n,o){return(0,r.addDomEvent)(e,f(t),c(n,"pointerdown"===t),o)},t.isMultiTouchEvent=function(e){return o(e)&&e.touches.length>1},t.wrapPointerEventHandler=void 0;var r=n(14576);function o(e){return!!e.touches}var i={pageX:0,pageY:0};function a(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||i;return{x:n[t+"X"],y:n[t+"Y"]}}function s(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function u(e,t){return void 0===t&&(t="page"),{point:o(e)?a(e,t):s(e,t)}}var c=function(e,t){void 0===t&&(t=!1);var n,r=function(t){return e(t,u(t))};return t?(n=r,function(e){var t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):r};t.wrapPointerEventHandler=c;var l={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},d={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function f(e){return r.isBrowser&&null===window.onpointerdown?e:r.isBrowser&&null===window.ontouchstart?d[e]:r.isBrowser&&null===window.onmousedown?l[e]:e}},4535:function(e,t,n){"use strict";t.__esModule=!0,t.mapResponsive=function(e,t){if((0,o.isArray)(e))return e.map((function(e){return null===e?null:t(e)}));if((0,o.isObject)(e))return(0,i.objectKeys)(e).reduce((function(n,r){return n[r]=t(e[r]),n}),{});if(null!=e)return t(e);return null},t.objectToArrayNotation=function(e,t){void 0===t&&(t=a);var n=t.map((function(t){var n;return null!=(n=e[t])?n:null}));for(;null===(0,r.getLastItem)(n);)n.pop();return n},t.arrayToObjectNotation=function(e,t){void 0===t&&(t=a);var n={};return e.forEach((function(e,r){var o=t[r];null!=e&&(n[o]=e)})),n},t.isResponsiveObjectLike=function(e,t){void 0===t&&(t=a);var n=Object.keys(e);return n.length>0&&n.every((function(e){return t.includes(e)}))},t.isCustomBreakpoint=t.breakpoints=void 0;var r=n(4706),o=n(22229),i=n(95963),a=Object.freeze(["base","sm","md","lg","xl","2xl"]);t.breakpoints=a;t.isCustomBreakpoint=function(e){return Number.isNaN(Number(e))}},99162:function(e,t,n){"use strict";t.__esModule=!0,t.isDisabled=a,t.isInputElement=function(e){return s(e)&&"input"===e.tagName.toLowerCase()&&"select"in e},t.isActiveElement=function(e){return(e instanceof HTMLElement?(0,r.getOwnerDocument)(e):document).activeElement===e},t.hasFocusWithin=function(e){return!!document.activeElement&&e.contains(document.activeElement)},t.isHTMLElement=s,t.isHidden=u,t.isContentEditable=c,t.isFocusable=l,t.isTabbable=function(e){return!!e&&(s(e)&&l(e)&&!i(e))},t.hasNegativeTabIndex=t.hasTabIndex=t.hasDisplayNone=void 0;var r=n(14576);t.hasDisplayNone=function(e){return"none"===window.getComputedStyle(e).display};var o=function(e){return e.hasAttribute("tabindex")};t.hasTabIndex=o;var i=function(e){return o(e)&&-1===e.tabIndex};function a(e){return!0===Boolean(e.getAttribute("disabled"))||!0===Boolean(e.getAttribute("aria-disabled"))}function s(e){return e instanceof HTMLElement}function u(e){return!(!e.parentElement||!u(e.parentElement))||e.hidden}function c(e){var t=e.getAttribute("contenteditable");return"false"!==t&&null!=t}function l(e){if(!s(e)||u(e)||a(e))return!1;var t=e.localName;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;var n={a:function(){return e.hasAttribute("href")},audio:function(){return e.hasAttribute("controls")},video:function(){return e.hasAttribute("controls")}};return t in n?n[t]():!!c(e)||o(e)}t.hasNegativeTabIndex=i},27489:function(){},58594:function(e,t,n){"use strict";t.__esModule=!0,t.detectDeviceType=function(e){var t=e.userAgent;return/(tablet)|(iPad)|(Nexus 9)/i.test(t)?"tablet":/(mobi)/i.test(t)?"phone":"desktop"},t.detectOS=function(e){return!!r.isBrowser&&function(e){var t=e.userAgent,n=e.platform;switch(!0){case/Android/.test(t):return"Android";case/iPhone|iPad|iPod/.test(n):return"iOS";case/Win/.test(n):return"Windows";case/Mac/.test(n):return"Mac";case/CrOS/.test(t):return"Chrome OS";case/Firefox/.test(t):return"Firefox OS";default:return null}}(window.navigator)===e},t.detectBrowser=function(e){return!!r.isBrowser&&function(e){var t=e.userAgent,n=e.vendor,r=/(android)/i.test(t);switch(!0){case/CriOS/.test(t):return"Chrome for iOS";case/Edg\//.test(t):return"Edge";case r&&/Silk\//.test(t):return"Silk";case/Chrome/.test(t)&&/Google Inc/.test(n):return"Chrome";case/Firefox\/\d+\.\d+$/.test(t):return"Firefox";case r:return"AOSP";case/MSIE|Trident/.test(t):return"IE";case/Safari/.test(e.userAgent)&&/Apple Computer/.test(t):return"Safari";case/AppleWebKit/.test(t):return"WebKit";default:return null}}(window.navigator)===e},t.detectTouch=function(){return!!r.isBrowser&&(null===window.ontouchstart&&null===window.ontouchmove&&null===window.ontouchend)};var r=n(14576)},38140:function(e,t,n){"use strict";t.__esModule=!0,t.walkObject=function(e,t){return function e(n,o){return void 0===o&&(o=[]),(0,r.isArray)(n)?n.map((function(t,n){return e(t,[].concat(o,[String(n)]))})):(0,r.isObject)(n)?Object.fromEntries(Object.entries(n).map((function(t){var n=t[0];return[n,e(t[1],[].concat(o,[n]))]}))):t(n,o)}(e)};var r=n(22229)},47248:function(e,t,n){"use strict";n.d(t,{T:function(){return a}});var r=n(84461),o=n(80658),i=n(17768);function a(e,t){void 0===t&&(t={});var{isActive:n=i.H9,nextTick:a,preventScroll:u=!0,selectTextIfInput:c=!0}=t;if(!e||n(e))return-1;function l(){if(e){if(function(){if(null==s){s=!1;try{document.createElement("div").focus({get preventScroll(){return s=!0,!0}})}catch(e){}}return s}())e.focus({preventScroll:u});else if(e.focus(),u)!function(e){for(var{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}(function(e){var t=(0,r.lZ)(e),n=e.parentNode,o=[],i=t.scrollingElement||t.documentElement;for(;n instanceof HTMLElement&&n!==i;)(n.offsetHeight<n.scrollHeight||n.offsetWidth<n.scrollWidth)&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),n=n.parentNode;i instanceof HTMLElement&&o.push({element:i,scrollTop:i.scrollTop,scrollLeft:i.scrollLeft});return o}(e));(0,i.cK)(e)&&c&&e.select()}else(0,o.ZK)({condition:!0,message:"[chakra-ui]: can't call focus() on `null` or `undefined` element"})}return a?requestAnimationFrame(l):(l(),-1)}var s=null},17768:function(e,t,n){"use strict";n.d(t,{cK:function(){return i},H9:function(){return a},EB:function(){return c},Wq:function(){return l}});var r=n(84461),o=e=>e.hasAttribute("tabindex");function i(e){return s(e)&&"input"===e.tagName.toLowerCase()&&"select"in e}function a(e){return(e instanceof HTMLElement?(0,r.lZ)(e):document).activeElement===e}function s(e){return e instanceof HTMLElement}function u(e){return!(!e.parentElement||!u(e.parentElement))||e.hidden}function c(e){if(!s(e)||u(e)||function(e){return!0===Boolean(e.getAttribute("disabled"))||!0===Boolean(e.getAttribute("aria-disabled"))}(e))return!1;var{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;var n={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in n?n[t]():!!function(e){var t=e.getAttribute("contenteditable");return"false"!==t&&null!=t}(e)||o(e)}function l(e){return!!e&&(s(e)&&c(e)&&!(e=>o(e)&&-1===e.tabIndex)(e))}},22944:function(e,t,n){"use strict";t.__esModule=!0;var r={};t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(13267));function i(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}t.default=o.default,Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}))},13267:function(e,t,n){"use strict";t.__esModule=!0,t.default=t.VisuallyHiddenInput=t.VisuallyHidden=t.visuallyHiddenStyle=void 0;var r=n(48121),o=n(66751),i={border:"0px",clip:"rect(0px, 0px, 0px, 0px)",height:"1px",width:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};t.visuallyHiddenStyle=i;var a=(0,r.chakra)("span",{baseStyle:i});t.VisuallyHidden=a,o.__DEV__&&(a.displayName="VisuallyHidden");var s=(0,r.chakra)("input",{baseStyle:i});t.VisuallyHiddenInput=s,o.__DEV__&&(s.displayName="VisuallyHiddenInput");var u=a;t.default=u},65415:function(e,t,n){"use strict";n.d(t,{NL:function(){return i},TX:function(){return a}});var r=n(89384),o=n(73808),i={border:"0px",clip:"rect(0px, 0px, 0px, 0px)",height:"1px",width:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},a=(0,r.m$)("span",{baseStyle:i});o.Ts&&(a.displayName="VisuallyHidden");var s=(0,r.m$)("input",{baseStyle:i});o.Ts&&(s.displayName="VisuallyHiddenInput")},46600:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,o=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return r.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}))},61194:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return m}});var r=n(67294),o=n(22122),i=n(67866),a=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,s=(0,i.Z)((function(e){return a.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),u=n(30495),c=n(70444),l=n(94199),d=s,f=function(e){return"theme"!==e},h=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?d:f},p=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},v=function e(t,n){var i,a,s=t.__emotion_real===t,d=s&&t.__emotion_base||t;void 0!==n&&(i=n.label,a=n.target);var f=p(t,n,s),v=f||h(d),m=!v("as");return function(){var g=arguments,y=s&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==i&&y.push("label:"+i+";"),null==g[0]||void 0===g[0].raw)y.push.apply(y,g);else{0,y.push(g[0][0]);for(var b=g.length,w=1;w<b;w++)y.push(g[w],g[0][w])}var _=(0,u.w)((function(e,t,n){var o=m&&e.as||d,i="",s=[],p=e;if(null==e.theme){for(var g in p={},e)p[g]=e[g];p.theme=(0,r.useContext)(u.T)}"string"===typeof e.className?i=(0,c.f)(t.registered,s,e.className):null!=e.className&&(i=e.className+" ");var b=(0,l.O)(y.concat(s),t.registered,p);(0,c.M)(t,b,"string"===typeof o);i+=t.key+"-"+b.name,void 0!==a&&(i+=" "+a);var w=m&&void 0===f?h(o):v,_={};for(var x in e)m&&"as"===x||w(x)&&(_[x]=e[x]);return _.className=i,_.ref=n,(0,r.createElement)(o,_)}));return _.displayName=void 0!==i?i:"Styled("+("string"===typeof d?d:d.displayName||d.name||"Component")+")",_.defaultProps=t.defaultProps,_.__emotion_real=_,_.__emotion_base=d,_.__emotion_styles=y,_.__emotion_forwardProp=f,Object.defineProperty(_,"toString",{value:function(){return"."+a}}),_.withComponent=function(t,r){return e(t,(0,o.Z)({},n,r,{shouldForwardProp:p(_,r,!0)})).apply(void 0,y)},_}}.bind();["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){v[e]=v(e)}));var m=v},20233:function(e,t,n){"use strict";n.d(t,{_7:function(){return m}});var r=n(67294);var o=function(e){(0,r.useEffect)((function(){e()}),[])};var i=function(e,t){var n=(0,r.useRef)(!1);(0,r.useEffect)((function(){if(n.current)return e();n.current=!0}),t)};var a=function(e){var t=(0,r.useRef)(e);t.current=e,(0,r.useEffect)((function(){return function(){t.current()}}),[])};"undefined"!==typeof window&&"undefined"!==typeof document?r.useLayoutEffect:r.useEffect;function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}}(e,t)||function(e,t){if(e){if("string"===typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var c=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t};function l(e,t){for(var n=0;n<e.length&&n<t.length;n++)if(!c(t[n],e[n]))return!1;return!0}var d=function(e){var t=(0,r.useRef)(e);return t.current=e,t};var f=function(e){var t=d(e),n=(0,r.useRef)();return void 0===n.current&&(n.current=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.current.apply(this,n)}),n.current};function h(e){return(h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var p=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var o,i=!1,s=!0;"number"===typeof n?o=n:"object"===h(n)&&n&&("wait"in n&&(o=+n.wait),"leading"in n&&(i=!!n.leading),"trailing"in n&&(s=!!n.trailing));var u=(0,r.useRef)(),c=(0,r.useRef)(),l=(0,r.useRef)(),d=(0,r.useRef)(),p=(0,r.useRef)(),v=(0,r.useRef)(),m=f((function(){var n=Date.now(),r=n-p.current,i=n-v.current;if(d.current&&clearTimeout(d.current),r>=o||e&&i>=o)d.current=void 0,p.current=void 0,s&&c.current&&(v.current=n,l.current=t.apply(u.current,c.current));else{var a=o-r,f=o-i,h=e?Math.min(a,f):a;d.current=setTimeout(m,h)}})),g=f((function(){var e=Date.now(),n=p.current;u.current=this;for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return c.current=a,p.current=e,(void 0===n||e-n>=o)&&void 0===d.current&&(v.current=e,d.current=setTimeout(m,o),i&&(l.current=t.apply(u.current,c.current))),l.current})),y=(0,r.useCallback)((function(){void 0!==d.current&&(clearTimeout(d.current),d.current=void 0),u.current=void 0,c.current=void 0,p.current=void 0,v.current=void 0}),[]),b=f((function(){return void 0!==d.current&&c.current&&(l.current=t.apply(u.current,c.current),y()),l.current}));return a(y),[g,{flush:b,cancel:y}]}};var v=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=p(e);return function(e,n){var o=d(e),a=u((0,r.useState)(e),2),s=a[0],l=a[1],h=(0,r.useRef)(s);function p(e){c(h.current,e)||(h.current=e,l(e))}var v=u(t(p,n),2),m=v[0],g=v[1].cancel,y=f((function(e){g(),p(arguments.length>0?e:o.current)}));return i((function(){m(e)}),[e]),[s,{flush:y,cancel:g}]}};v(!1),v(!0),p(!1),p(!0);"undefined"!==typeof window&&window.requestIdleCallback&&window.cancelIdleCallback&&(window.requestIdleCallback,window.cancelIdleCallback);var m=function(e,t){var n,o;"number"===typeof t?n=t:"object"===h(t)&&null!==t&&("duration"in t&&(n=+t.duration),"function"===typeof t.algorithm&&(o=t.algorithm));var i=(0,r.useRef)(),s=(0,r.useRef)(),u=f(e),c=f((function(e){void 0===s.current&&(s.current=e);var t=e-s.current,r=n>0?t/n:1;r<0&&(r=0),r>1&&(r=1),r<1&&(i.current=requestAnimationFrame(c)),u(o?o(r):r)})),l=(0,r.useCallback)((function(){void 0!==i.current&&(cancelAnimationFrame(i.current),i.current=void 0),s.current=void 0}),[]),d=f((function(){l(),i.current=requestAnimationFrame(c)}));return a(l),[d,l]};var g=function(){var e=(0,r.useRef)(!1);return o((function(){e.current=!0})),e};var y=function(e){var t=(0,r.useRef)(e),n=(0,r.useRef)(e);return n.current=t.current,t.current=e,n};var b=function(e,t,n,o){var i,a,s;"boolean"===typeof o?i=o:"object"===h(o)&&null!==o&&("capture"in o&&(i=!!o.capture),"once"in o&&(a=!!o.once),"passive"in o&&(s=!!o.passive));var u=f(n);(0,r.useEffect)((function(){if(e&&e.addEventListener&&e.removeEventListener)return e.addEventListener(t,u,{capture:i,once:a,passive:s}),function(){e.removeEventListener(t,u,{capture:i})}}),[e,t,u,i,a,s])};"undefined"!==typeof window&&"undefined"!==typeof window.navigator&&window.navigator.onLine;var w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=g(),o=y(t),i=(0,r.useRef)();return n.current&&l(o.current,t)||(i.current=e()),i.current},_={ico:"image/x-icon",png:"image/png",gif:"image/gif"};"undefined"!==typeof window&&window.matchMedia;n(36808);function x(e,t){var n=(0,r.useRef)(),o=u((0,r.useState)(t),2),a=o[0],s=o[1],c=f((function(e){n.current=e,s(e)})),l=f((function(){s(t)}));return i((function(){n.current=void 0,s(t)}),[e]),i((function(){void 0===n.current&&s(t)}),[t]),[a,{set:c,remove:l}]}var k=function(e){return e?function(t,n,o){var a=o&&o.serialize?o.serialize:JSON.stringify,s=o&&o.deserialize?o.deserialize:JSON.parse,c=f((function(){try{var r=e.getItem(t);return null!==r?s(r):n}catch(o){return n}})),l=f((function(n){try{e.setItem(t,a(n))}catch(r){}})),d=f((function(){e.removeItem(t)})),p=u((0,r.useState)(c()),2),v=p[0],m=p[1],g=f((function(e){l(e),m(e)})),y=f((function(){d(),m(c())}));return i((function(){m(c())}),[t]),i((function(){null===e.getItem(t)&&m(n)}),[n]),(0,r.useEffect)((function(){function n(n){n.storageArea===e&&n.key===t&&m(c())}if(void 0!==("undefined"===typeof window?"undefined":h(window)))return window.addEventListener("storage",n),function(){return window.removeEventListener("storage",n)}}),[t]),[v,{set:g,remove:y}]}:x};k("undefined"!==typeof localStorage?localStorage:null),k("undefined"!==typeof sessionStorage?sessionStorage:null)},54309:function(e,t,n){"use strict";n.d(t,{iP:function(){return d}});var r=n(67294);var o=e=>{const t=r.useRef(e);return r.useEffect((()=>{t.current=e})),t};const i=(e,t=100,n=!1)=>{const i=o(e),a=r.useRef(),s=[t,n,i];function u(){a.current&&clearTimeout(a.current),a.current=void 0}function c(){a.current=void 0}return r.useEffect((()=>u),s),r.useCallback((function(){const e=arguments,{current:r}=a;if(void 0===r&&n)return a.current=setTimeout(c,t),i.current.apply(null,e);r&&clearTimeout(r),a.current=setTimeout((()=>{a.current=void 0,i.current.apply(null,e)}),t)}),s)};var a=r["undefined"!==typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"];var s=function(e,t,n,o){const i=r.useRef(n),s=r.useRef(o);a((()=>{i.current=n,s.current=o})),a((()=>{const n=e&&"current"in e?e.current:e;if(!n)return;let r=0;function o(...e){r||i.current.apply(this,e)}n.addEventListener(t,o);const a=s.current;return()=>{r=1,n.removeEventListener(t,o),a&&a()}}),[e,t])};const u={},c="undefined"===typeof window?null:window,l=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],d=(e=u)=>{const{wait:t,leading:n,initialWidth:o=0,initialHeight:a=0}=e,[d,f]=((e,t,n)=>{const o=r.useState(e);return[o[0],i(o[1],t,n)]})("undefined"===typeof document?[o,a]:l,t,n),h=()=>f(l);return s(c,"resize",h),s(c,"orientationchange",h),d}},36194:function(e,t,n){"use strict";n.d(t,{oY:function(){return o}});var r=n(34155),o={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-o.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*o.Bounce.In(2*e):.5*o.Bounce.Out(2*e-1)+.5}}},i="undefined"===typeof self&&"undefined"!==typeof r&&r.hrtime?function(){var e=r.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!==typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},a=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map((function(t){return e._tweens[t]}))},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},e.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},e.prototype.update=function(e,t){void 0===e&&(e=i()),void 0===t&&(t=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r<n.length;r++){var o=this._tweens[n[r]],a=!t;o&&!1===o.update(e,a)&&!t&&delete this._tweens[n[r]]}n=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),s={Linear:function(e,t){var n=e.length-1,r=n*t,o=Math.floor(r),i=s.Utils.Linear;return t<0?i(e[0],e[1],r):t>1?i(e[n],e[n-1],n-r):i(e[o],e[o+1>n?n:o+1],r-o)},Bezier:function(e,t){for(var n=0,r=e.length-1,o=Math.pow,i=s.Utils.Bernstein,a=0;a<=r;a++)n+=o(1-t,r-a)*o(t,a)*e[a]*i(r,a);return n},CatmullRom:function(e,t){var n=e.length-1,r=n*t,o=Math.floor(r),i=s.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(r=n*(1+t))),i(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],r-o)):t<0?e[0]-(i(e[0],e[0],e[1],e[1],-r)-e[0]):t>1?e[n]-(i(e[n],e[n],e[n-1],e[n-1],r-n)-e[n]):i(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],r-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=s.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var r=t;r>1;r--)n*=r;return e[t]=n,n}}(),CatmullRom:function(e,t,n,r,o){var i=.5*(n-e),a=.5*(r-t),s=o*o;return(2*t-2*n+i+a)*(o*s)+(-3*t+3*n-2*i-a)*s+i*o+t}}},u=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),c=new a,l=function(){function e(e,t){void 0===t&&(t=c),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=o.Linear.None,this._interpolationFunction=s.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=u.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},e.prototype.duration=function(e){return this._duration=e,this},e.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==e?"string"===typeof e?i()+parseFloat(e):e:i(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(e,t,n,r){for(var o in n){var i=e[o],a=Array.isArray(i),s=a?"array":typeof i,u=!a&&Array.isArray(n[o]);if("undefined"!==s&&"function"!==s){if(u){var c=n[o];if(0===c.length)continue;c=c.map(this._handleRelativeValue.bind(this,i)),n[o]=[i].concat(c)}if("object"!==s&&!a||!i||u)"undefined"===typeof t[o]&&(t[o]=i),a||(t[o]*=1),r[o]=u?n[o].slice().reverse():t[o]||0;else{for(var l in t[o]=a?[]:{},i)t[o][l]=i[l];r[o]=a?[]:{},this._setupProperties(i,t[o],n[o],r[o])}}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(e){return void 0===e&&(e=i()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this)),this},e.prototype.resume=function(e){return void 0===e&&(e=i()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},e.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},e.prototype.group=function(e){return this._group=e,this},e.prototype.delay=function(e){return this._delayTime=e,this},e.prototype.repeat=function(e){return this._initialRepeat=e,this._repeat=e,this},e.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},e.prototype.yoyo=function(e){return this._yoyo=e,this},e.prototype.easing=function(e){return this._easingFunction=e,this},e.prototype.interpolation=function(e){return this._interpolationFunction=e,this},e.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},e.prototype.onStart=function(e){return this._onStartCallback=e,this},e.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},e.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},e.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},e.prototype.onStop=function(e){return this._onStopCallback=e,this},e.prototype.update=function(e,t){if(void 0===e&&(e=i()),void 0===t&&(t=!0),this._isPaused)return!0;var n,r,o=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(e>o)return!1;t&&this.start(e)}if(this._goToEnd=!1,e<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),r=(e-this._startTime)/this._duration,r=0===this._duration||r>1?1:r;var a=this._easingFunction(r);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,r),1===r){if(this._repeat>0){for(n in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!==typeof this._valuesEnd[n]||(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var s=0,u=this._chainedTweens.length;s<u;s++)this._chainedTweens[s].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(e,t,n,r){for(var o in n)if(void 0!==t[o]){var i=t[o]||0,a=n[o],s=Array.isArray(e[o]),u=Array.isArray(a);!s&&u?e[o]=this._interpolationFunction(a,r):"object"===typeof a&&a?this._updateProperties(e[o],i,a,r):"number"===typeof(a=this._handleRelativeValue(i,a))&&(e[o]=i+(a-i)*r)}},e.prototype._handleRelativeValue=function(e,t){return"string"!==typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?e+parseFloat(t):parseFloat(t)},e.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],n=this._valuesEnd[e];this._valuesStartRepeat[e]="string"===typeof n?this._valuesStartRepeat[e]+parseFloat(n):this._valuesEnd[e],this._valuesEnd[e]=t},e}(),d=u.nextId,f=c,h=f.getAll.bind(f),p=f.removeAll.bind(f),v=f.add.bind(f),m=f.remove.bind(f),g=f.update.bind(f),y={Easing:o,Group:a,Interpolation:s,now:i,Sequence:u,nextId:d,Tween:l,VERSION:"18.6.4",getAll:h,removeAll:p,add:v,remove:m,update:g};t.ZP=y},92539:function(e,t,n){"use strict";n.r(t);t.default=function(e){return e instanceof Function?e:"string"===typeof e?function(t){return t[e]}:function(t){return e}}},93379:function(e){var t={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};e.exports=function(e,n){return"number"!==typeof n||t[e]?n:n+"px"}},60401:function(e,t,n){n(52406),n(29874),n(59236),n(82578),n(36699)},20203:function(e){e.exports=THREE.ColladaLoader=function(e){this.manager=void 0!==e?e:THREE.DefaultLoadingManager},THREE.ColladaLoader.prototype={constructor:THREE.ColladaLoader,crossOrigin:"anonymous",load:function(e,t,n,r){var o=this,i=void 0===o.path?THREE.LoaderUtils.extractUrlBase(e):o.path,a=new THREE.FileLoader(o.manager);a.setPath(o.path),a.load(e,(function(e){t(o.parse(e,i))}),n,r)},setPath:function(e){return this.path=e,this},setResourcePath:function(e){return this.resourcePath=e,this},options:{set convertUpAxis(e){console.warn("THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically.")}},setCrossOrigin:function(e){return this.crossOrigin=e,this},parse:function(e,t){function n(e,t){for(var n=[],r=e.childNodes,o=0,i=r.length;o<i;o++){var a=r[o];a.nodeName===t&&n.push(a)}return n}function r(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=t[r];return n}function o(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=parseFloat(t[r]);return n}function i(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=parseInt(t[r]);return n}function a(e){return e.substring(1)}function s(e){return 0===Object.keys(e).length}function u(e){return void 0!==e&&!0===e.hasAttribute("meter")?parseFloat(e.getAttribute("meter")):1}function c(e){return void 0!==e?e.textContent:"Y_UP"}function l(e,t,r,o){var i=n(e,t)[0];if(void 0!==i)for(var a=n(i,r),s=0;s<a.length;s++)o(a[s])}function d(e,t){for(var n in e){e[n].build=t(e[n])}}function f(e,t){return void 0!==e.build||(e.build=t(e)),e.build}function h(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"input":var i=a(o.getAttribute("source")),s=o.getAttribute("semantic");t.inputs[s]=i}}return t}function p(e){var t={},n=e.getAttribute("target").split("/"),r=n.shift(),o=n.shift(),i=-1!==o.indexOf("("),s=-1!==o.indexOf(".");if(s)n=o.split("."),o=n.shift(),t.member=n.shift();else if(i){var u=o.split("(");o=u.shift();for(var c=0;c<u.length;c++)u[c]=parseInt(u[c].replace(/\)/,""));t.indices=u}return t.id=r,t.sid=o,t.arraySyntax=i,t.memberSyntax=s,t.sampler=a(e.getAttribute("source")),t}function v(e){var t=[],n=e.channels,r=e.samplers,o=e.sources;for(var i in n)if(n.hasOwnProperty(i)){var a=n[i],s=r[a.sampler],u=s.inputs.INPUT,c=s.inputs.OUTPUT;_(g(a,o[u],o[c]),t)}return t}function m(e){return f(qe.animations[e],v)}function g(e,t,n){var r,o,i,a,s,u,c=qe.nodes[e.id],l=De(c.id),d=c.transforms[e.sid],f=c.matrix.clone().transpose(),h={};switch(d){case"matrix":for(i=0,a=t.array.length;i<a;i++)if(r=t.array[i],o=i*n.stride,void 0===h[r]&&(h[r]={}),!0===e.arraySyntax){var p=n.array[o],v=e.indices[0]+4*e.indices[1];h[r][v]=p}else for(s=0,u=n.stride;s<u;s++)h[r][s]=n.array[o+s];break;case"translate":case"rotate":case"scale":console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',d)}var m=function(e,t){var n=[];for(var r in e)n.push({time:parseFloat(r),value:e[r]});n.sort(i);for(var o=0;o<16;o++)x(n,o,t.elements[o]);return n;function i(e,t){return e.time-t.time}}(h,f);return{name:l.uuid,keyframes:m}}var y=new THREE.Vector3,b=new THREE.Vector3,w=new THREE.Quaternion;function _(e,t){for(var n=e.keyframes,r=e.name,o=[],i=[],a=[],s=[],u=0,c=n.length;u<c;u++){var l=n[u],d=l.time,f=l.value;Ee.fromArray(f).transpose(),Ee.decompose(y,w,b),o.push(d),i.push(y.x,y.y,y.z),a.push(w.x,w.y,w.z,w.w),s.push(b.x,b.y,b.z)}return i.length>0&&t.push(new THREE.VectorKeyframeTrack(r+".position",o,i)),a.length>0&&t.push(new THREE.QuaternionKeyframeTrack(r+".quaternion",o,a)),s.length>0&&t.push(new THREE.VectorKeyframeTrack(r+".scale",o,s)),t}function x(e,t,n){var r,o,i,a=!0;for(o=0,i=e.length;o<i;o++)void 0===(r=e[o]).value[t]?r.value[t]=null:a=!1;if(!0===a)for(o=0,i=e.length;o<i;o++)(r=e[o]).value[t]=n;else!function(e,t){for(var n,r,o=0,i=e.length;o<i;o++){var a=e[o];if(null===a.value[t]){if(n=k(e,o,t),r=E(e,o,t),null===n){a.value[t]=r.value[t];continue}if(null===r){a.value[t]=n.value[t];continue}O(a,n,r,t)}}}(e,t)}function k(e,t,n){for(;t>=0;){var r=e[t];if(null!==r.value[n])return r;t--}return null}function E(e,t,n){for(;t<e.length;){var r=e[t];if(null!==r.value[n])return r;t++}return null}function O(e,t,n,r){n.time-t.time!==0?e.value[r]=(e.time-t.time)*(n.value[r]-t.value[r])/(n.time-t.time)+t.value[r]:e.value[r]=t.value[r]}function C(e){for(var t=[],n=e.name,r=e.end-e.start||-1,o=e.animations,i=0,a=o.length;i<a;i++)for(var s=m(o[i]),u=0,c=s.length;u<c;u++)t.push(s[u]);return new THREE.AnimationClip(n,r,t)}function T(e){return f(qe.clips[e],C)}function M(e){for(var t={sources:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"bind_shape_matrix":t.bindShapeMatrix=o(i.textContent);break;case"source":var a=i.getAttribute("id");t.sources[a]=oe(i);break;case"joints":t.joints=S(i);break;case"vertex_weights":t.vertexWeights=P(i)}}return t}function S(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"input":var i=o.getAttribute("semantic"),s=a(o.getAttribute("source"));t.inputs[i]=s}}return t}function P(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"input":var s=o.getAttribute("semantic"),u=a(o.getAttribute("source")),c=parseInt(o.getAttribute("offset"));t.inputs[s]={id:u,offset:c};break;case"vcount":t.vcount=i(o.textContent);break;case"v":t.v=i(o.textContent)}}return t}function j(e){var t={id:e.id},n=qe.geometries[t.id];return void 0!==e.skin&&(t.skin=function(e){var t,n,r,o=4,i={joints:[],indices:{array:[],stride:o},weights:{array:[],stride:o}},a=e.sources,s=e.vertexWeights,u=s.vcount,c=s.v,l=s.inputs.JOINT.offset,d=s.inputs.WEIGHT.offset,f=e.sources[e.joints.inputs.JOINT],h=e.sources[e.joints.inputs.INV_BIND_MATRIX],p=a[s.inputs.WEIGHT.id].array,v=0;for(t=0,r=u.length;t<r;t++){var m=u[t],g=[];for(n=0;n<m;n++){var y=c[v+l],b=p[c[v+d]];g.push({index:y,weight:b}),v+=2}for(g.sort(k),n=0;n<o;n++){var w=g[n];void 0!==w?(i.indices.array.push(w.index),i.weights.array.push(w.weight)):(i.indices.array.push(0),i.weights.array.push(0))}}e.bindShapeMatrix?i.bindMatrix=(new THREE.Matrix4).fromArray(e.bindShapeMatrix).transpose():i.bindMatrix=(new THREE.Matrix4).identity();for(t=0,r=f.array.length;t<r;t++){var _=f.array[t],x=(new THREE.Matrix4).fromArray(h.array,t*h.stride).transpose();i.joints.push({name:_,boneInverse:x})}return i;function k(e,t){return t.weight-e.weight}}(e.skin),n.sources.skinIndices=t.skin.indices,n.sources.skinWeights=t.skin.weights),t}function I(e){return void 0!==e.build?e.build:e.init_from}function A(e){var t=qe.images[e];return void 0!==t?f(t,I):(console.warn("THREE.ColladaLoader: Couldn't find image with ID:",e),null)}function R(e){for(var t={surfaces:{},samplers:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"newparam":D(o,t);break;case"technique":t.technique=B(o);break;case"extra":t.extra=U(o)}}return t}function D(e,t){for(var n=e.getAttribute("sid"),r=0,o=e.childNodes.length;r<o;r++){var i=e.childNodes[r];if(1===i.nodeType)switch(i.nodeName){case"surface":t.surfaces[n]=L(i);break;case"sampler2D":t.samplers[n]=N(i)}}}function L(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"init_from":t.init_from=o.textContent}}return t}function N(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"source":t.source=o.textContent}}return t}function B(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"constant":case"lambert":case"blinn":case"phong":t.type=o.nodeName,t.parameters=z(o)}}return t}function z(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"emission":case"diffuse":case"specular":case"bump":case"ambient":case"shininess":case"transparency":t[o.nodeName]=F(o);break;case"transparent":t[o.nodeName]={opaque:o.getAttribute("opaque"),data:F(o)}}}return t}function F(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"color":t[i.nodeName]=o(i.textContent);break;case"float":t[i.nodeName]=parseFloat(i.textContent);break;case"texture":t[i.nodeName]={id:i.getAttribute("texture"),extra:H(i)}}}return t}function H(e){for(var t={technique:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"extra":V(o,t)}}return t}function V(e,t){for(var n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"technique":W(o,t)}}}function W(e,t){for(var n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"repeatU":case"repeatV":case"offsetU":case"offsetV":t.technique[o.nodeName]=parseFloat(o.textContent);break;case"wrapU":case"wrapV":"TRUE"===o.textContent.toUpperCase()?t.technique[o.nodeName]=1:"FALSE"===o.textContent.toUpperCase()?t.technique[o.nodeName]=0:t.technique[o.nodeName]=parseInt(o.textContent)}}}function U(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"technique":t.technique=G(o)}}return t}function G(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"double_sided":t[o.nodeName]=parseInt(o.textContent)}}return t}function q(e){return e}function K(e){var t,n,r=(t=e.url,f(qe.effects[t],q)),o=r.profile.technique,i=r.profile.extra;switch(o.type){case"phong":case"blinn":n=new THREE.MeshPhongMaterial;break;case"lambert":n=new THREE.MeshLambertMaterial;break;default:n=new THREE.MeshBasicMaterial}function a(e){var t=r.profile.samplers[e.id],n=null;void 0!==t?n=A(r.profile.surfaces[t.source].init_from):(console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."),n=A(e.id));if(null!==n){var o=function(e){var t,n=e.slice(2+(e.lastIndexOf(".")-1>>>0));switch(n=n.toLowerCase()){case"tga":t=Fe;break;default:t=Ve}return t}(n);if(void 0!==o){var i=o.load(n),a=e.extra;if(void 0!==a&&void 0!==a.technique&&!1===s(a.technique)){var u=a.technique;i.wrapS=u.wrapU?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,i.wrapT=u.wrapV?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,i.offset.set(u.offsetU||0,u.offsetV||0),i.repeat.set(u.repeatU||1,u.repeatV||1)}else i.wrapS=THREE.RepeatWrapping,i.wrapT=THREE.RepeatWrapping;return i}return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",n),null}return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:",e.id),null}n.name=e.name;var u=o.parameters;for(var c in u){var l=u[c];switch(c){case"diffuse":l.color&&n.color.fromArray(l.color),l.texture&&(n.map=a(l.texture));break;case"specular":l.color&&n.specular&&n.specular.fromArray(l.color),l.texture&&(n.specularMap=a(l.texture));break;case"bump":l.texture&&(n.normalMap=a(l.texture));break;case"ambient":l.texture&&(n.lightMap=a(l.texture));break;case"shininess":l.float&&n.shininess&&(n.shininess=l.float);break;case"emission":l.color&&n.emissive&&n.emissive.fromArray(l.color),l.texture&&(n.emissiveMap=a(l.texture))}}var d=u.transparent,h=u.transparency;if(void 0===h&&d&&(h={float:1}),void 0===d&&h&&(d={opaque:"A_ONE",data:{color:[1,1,1,1]}}),d&&h)if(d.data.texture)n.transparent=!0;else{var p=d.data.color;switch(d.opaque){case"A_ONE":n.opacity=p[3]*h.float;break;case"RGB_ZERO":n.opacity=1-p[0]*h.float;break;case"A_ZERO":n.opacity=1-p[3]*h.float;break;case"RGB_ONE":n.opacity=p[0]*h.float;break;default:console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',d.opaque)}n.opacity<1&&(n.transparent=!0)}return void 0!==i&&void 0!==i.technique&&1===i.technique.double_sided&&(n.side=THREE.DoubleSide),n}function Z(e){return f(qe.materials[e],K)}function $(e){for(var t=0;t<e.childNodes.length;t++){var n=e.childNodes[t];switch(n.nodeName){case"technique_common":return X(n)}}return{}}function X(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"perspective":case"orthographic":t.technique=r.nodeName,t.parameters=Y(r)}}return t}function Y(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"xfov":case"yfov":case"xmag":case"ymag":case"znear":case"zfar":case"aspect_ratio":t[r.nodeName]=parseFloat(r.textContent)}}return t}function Q(e){var t;switch(e.optics.technique){case"perspective":t=new THREE.PerspectiveCamera(e.optics.parameters.yfov,e.optics.parameters.aspect_ratio,e.optics.parameters.znear,e.optics.parameters.zfar);break;case"orthographic":var n=e.optics.parameters.ymag,r=e.optics.parameters.xmag,o=e.optics.parameters.aspect_ratio;r=void 0===r?n*o:r,n=void 0===n?r/o:n,r*=.5,n*=.5,t=new THREE.OrthographicCamera(-r,r,n,-n,e.optics.parameters.znear,e.optics.parameters.zfar);break;default:t=new THREE.PerspectiveCamera}return t.name=e.name,t}function J(e){var t=qe.cameras[e];return void 0!==t?f(t,Q):(console.warn("THREE.ColladaLoader: Couldn't find camera with ID:",e),null)}function ee(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"directional":case"point":case"spot":case"ambient":t.technique=o.nodeName,t.parameters=te(o)}}return t}function te(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"color":var a=o(i.textContent);t.color=(new THREE.Color).fromArray(a);break;case"falloff_angle":t.falloffAngle=parseFloat(i.textContent);break;case"quadratic_attenuation":var s=parseFloat(i.textContent);t.distance=s?Math.sqrt(1/s):0}}return t}function ne(e){var t;switch(e.technique){case"directional":t=new THREE.DirectionalLight;break;case"point":t=new THREE.PointLight;break;case"spot":t=new THREE.SpotLight;break;case"ambient":t=new THREE.AmbientLight}return e.parameters.color&&t.color.copy(e.parameters.color),e.parameters.distance&&(t.distance=e.parameters.distance),t}function re(e){var t=qe.lights[e];return void 0!==t?f(t,ne):(console.warn("THREE.ColladaLoader: Couldn't find light with ID:",e),null)}function oe(e){for(var t={array:[],stride:3},i=0;i<e.childNodes.length;i++){var a=e.childNodes[i];if(1===a.nodeType)switch(a.nodeName){case"float_array":t.array=o(a.textContent);break;case"Name_array":t.array=r(a.textContent);break;case"technique_common":var s=n(a,"accessor")[0];void 0!==s&&(t.stride=parseInt(s.getAttribute("stride")))}}return t}function ie(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];1===r.nodeType&&(t[r.getAttribute("semantic")]=a(r.getAttribute("source")))}return t}function ae(e){for(var t={type:e.nodeName,material:e.getAttribute("material"),count:parseInt(e.getAttribute("count")),inputs:{},stride:0,hasUV:!1},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"input":var s=a(o.getAttribute("source")),u=o.getAttribute("semantic"),c=parseInt(o.getAttribute("offset")),l=parseInt(o.getAttribute("set")),d=l>0?u+l:u;t.inputs[d]={id:s,offset:c},t.stride=Math.max(t.stride,c+1),"TEXCOORD"===u&&(t.hasUV=!0);break;case"vcount":t.vcount=i(o.textContent);break;case"p":t.p=i(o.textContent)}}return t}function se(e){for(var t=0,n=0,r=e.length;n<r;n++){!0===e[n].hasUV&&t++}t>0&&t<e.length&&(e.uvsNeedsFix=!0)}function ue(e){var t={},n=e.sources,r=e.vertices,o=e.primitives;if(0===o.length)return{};var i=function(e){for(var t={},n=0;n<e.length;n++){var r=e[n];void 0===t[r.type]&&(t[r.type]=[]),t[r.type].push(r)}return t}(o);for(var a in i){var s=i[a];se(s),t[a]=ce(s,n,r)}return t}function ce(e,t,n){for(var r={},o={array:[],stride:0},i={array:[],stride:0},a={array:[],stride:0},s={array:[],stride:0},u={array:[],stride:0},c=[],l=4,d=[],f=4,h=new THREE.BufferGeometry,p=[],v=0,m=0;m<e.length;m++){var g=e[m],y=g.inputs,b=0;switch(g.type){case"lines":case"linestrips":b=2*g.count;break;case"triangles":b=3*g.count;break;case"polylist":for(var w=0;w<g.count;w++){var _=g.vcount[w];switch(_){case 3:b+=3;break;case 4:b+=6;break;default:b+=3*(_-2)}}break;default:console.warn("THREE.ColladaLoader: Unknow primitive type:",g.type)}for(var x in h.addGroup(v,b,m),v+=b,g.material&&p.push(g.material),y){var k=y[x];switch(x){case"VERTEX":for(var E in n){var O=n[E];switch(E){case"POSITION":var C=o.array.length;if(le(g,t[O],k.offset,o.array),o.stride=t[O].stride,t.skinWeights&&t.skinIndices&&(le(g,t.skinIndices,k.offset,c),le(g,t.skinWeights,k.offset,d)),!1===g.hasUV&&!0===e.uvsNeedsFix){b=(o.array.length-C)/o.stride;for(var T=0;T<b;T++)a.array.push(0,0)}break;case"NORMAL":le(g,t[O],k.offset,i.array),i.stride=t[O].stride;break;case"COLOR":le(g,t[O],k.offset,u.array),u.stride=t[O].stride;break;case"TEXCOORD":le(g,t[O],k.offset,a.array),a.stride=t[O].stride;break;case"TEXCOORD1":le(g,t[O],k.offset,s.array),a.stride=t[O].stride;break;default:console.warn('THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.',E)}}break;case"NORMAL":le(g,t[k.id],k.offset,i.array),i.stride=t[k.id].stride;break;case"COLOR":le(g,t[k.id],k.offset,u.array),u.stride=t[k.id].stride;break;case"TEXCOORD":le(g,t[k.id],k.offset,a.array),a.stride=t[k.id].stride;break;case"TEXCOORD1":le(g,t[k.id],k.offset,s.array),s.stride=t[k.id].stride}}}return o.array.length>0&&h.addAttribute("position",new THREE.Float32BufferAttribute(o.array,o.stride)),i.array.length>0&&h.addAttribute("normal",new THREE.Float32BufferAttribute(i.array,i.stride)),u.array.length>0&&h.addAttribute("color",new THREE.Float32BufferAttribute(u.array,u.stride)),a.array.length>0&&h.addAttribute("uv",new THREE.Float32BufferAttribute(a.array,a.stride)),s.array.length>0&&h.addAttribute("uv2",new THREE.Float32BufferAttribute(s.array,s.stride)),c.length>0&&h.addAttribute("skinIndex",new THREE.Float32BufferAttribute(c,l)),d.length>0&&h.addAttribute("skinWeight",new THREE.Float32BufferAttribute(d,f)),r.data=h,r.type=e[0].type,r.materialKeys=p,r}function le(e,t,n,r){var o=e.p,i=e.stride,a=e.vcount;function s(e){for(var t=o[e+n]*c,i=t+c;t<i;t++)r.push(u[t])}var u=t.array,c=t.stride;if(void 0!==e.vcount)for(var l=0,d=0,f=a.length;d<f;d++){var h=a[d];if(4===h){var p=l+1*i,v=l+2*i,m=l+3*i;s(l+0*i),s(p),s(m),s(p),s(v),s(m)}else if(3===h){p=l+1*i,v=l+2*i;s(l+0*i),s(p),s(v)}else if(h>4)for(var g=1,y=h-2;g<=y;g++){p=l+i*g,v=l+i*(g+1);s(l+0*i),s(p),s(v)}l+=i*h}else for(d=0,f=o.length;d<f;d+=i)s(d)}function de(e){return f(qe.geometries[e],ue)}function fe(e){return void 0!==e.build?e.build:e}function he(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"joint":t.joints[r.getAttribute("sid")]=pe(r);break;case"link":t.links.push(me(r))}}}function pe(e){for(var t,n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"prismatic":case"revolute":t=ve(r)}}return t}function ve(e,t){t={sid:e.getAttribute("sid"),name:e.getAttribute("name")||"",axis:new THREE.Vector3,limits:{min:0,max:0},type:e.nodeName,static:!1,zeroPosition:0,middlePosition:0};for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"axis":var i=o(r.textContent);t.axis.fromArray(i);break;case"limits":var a=r.getElementsByTagName("max")[0],s=r.getElementsByTagName("min")[0];t.limits.max=parseFloat(a.textContent),t.limits.min=parseFloat(s.textContent)}}return t.limits.min>=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function me(e){for(var t={sid:e.getAttribute("sid"),name:e.getAttribute("name")||"",attachments:[],transforms:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"attachment_full":t.attachments.push(ge(r));break;case"matrix":case"translate":case"rotate":t.transforms.push(ye(r))}}return t}function ge(e){for(var t={joint:e.getAttribute("joint").split("/").pop(),transforms:[],links:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"link":t.links.push(me(r));break;case"matrix":case"translate":case"rotate":t.transforms.push(ye(r))}}return t}function ye(e){var t={type:e.nodeName},n=o(e.textContent);switch(t.type){case"matrix":t.obj=new THREE.Matrix4,t.obj.fromArray(n).transpose();break;case"translate":t.obj=new THREE.Vector3,t.obj.fromArray(n);break;case"rotate":t.obj=new THREE.Vector3,t.obj.fromArray(n),t.angle=THREE.Math.degToRad(n[3])}return t}function be(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"technique_common":we(r,t)}}}function we(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"inertia":t.inertia=o(r.textContent);break;case"mass":t.mass=o(r.textContent)[0]}}}function _e(e){for(var t={target:e.getAttribute("target").split("/").pop()},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"axis":var o=r.getElementsByTagName("param")[0];t.axis=o.textContent;var i=t.axis.split("inst_").pop().split("axis")[0];t.jointIndex=i.substr(0,i.length-1)}}return t}function xe(e){return void 0!==e.build?e.build:e}function ke(e){for(var t=[],n=Be.querySelector('[id="'+e.id+'"]'),r=0;r<n.childNodes.length;r++){var i=n.childNodes[r];if(1===i.nodeType)switch(i.nodeName){case"matrix":var a=o(i.textContent),s=(new THREE.Matrix4).fromArray(a).transpose();t.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:s});break;case"translate":case"scale":a=o(i.textContent);var u=(new THREE.Vector3).fromArray(a);t.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:u});break;case"rotate":a=o(i.textContent),u=(new THREE.Vector3).fromArray(a);var c=THREE.Math.degToRad(a[3]);t.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:u,angle:c})}}return t}var Ee=new THREE.Matrix4,Oe=new THREE.Vector3;function Ce(e){for(var t={name:e.getAttribute("name")||"",type:e.getAttribute("type"),id:e.getAttribute("id"),sid:e.getAttribute("sid"),matrix:new THREE.Matrix4,nodes:[],instanceCameras:[],instanceControllers:[],instanceLights:[],instanceGeometries:[],instanceNodes:[],transforms:{}},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"node":t.nodes.push(r.getAttribute("id")),Ce(r);break;case"instance_camera":t.instanceCameras.push(a(r.getAttribute("url")));break;case"instance_controller":t.instanceControllers.push(Te(r));break;case"instance_light":t.instanceLights.push(a(r.getAttribute("url")));break;case"instance_geometry":t.instanceGeometries.push(Te(r));break;case"instance_node":t.instanceNodes.push(a(r.getAttribute("url")));break;case"matrix":var i=o(r.textContent);t.matrix.multiply(Ee.fromArray(i).transpose()),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"translate":i=o(r.textContent);Oe.fromArray(i),t.matrix.multiply(Ee.makeTranslation(Oe.x,Oe.y,Oe.z)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"rotate":i=o(r.textContent);var s=THREE.Math.degToRad(i[3]);t.matrix.multiply(Ee.makeRotationAxis(Oe.fromArray(i),s)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"scale":i=o(r.textContent);t.matrix.scale(Oe.fromArray(i)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"extra":break;default:console.log(r)}}return Re(t.id)?console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.",t.id):qe.nodes[t.id]=t,t}function Te(e){for(var t={id:a(e.getAttribute("url")),materials:{},skeletons:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"bind_material":for(var o=r.getElementsByTagName("instance_material"),i=0;i<o.length;i++){var s=o[i],u=s.getAttribute("symbol"),c=s.getAttribute("target");t.materials[u]=a(c)}break;case"skeleton":t.skeletons.push(a(r.textContent))}}return t}function Me(e,t){var n,r,o,i=[],a=[];for(n=0;n<e.length;n++){var s=e[n];if(Re(s))Se(De(s),t,i);else if(o=s,void 0!==qe.visualScenes[o])for(var u=qe.visualScenes[s].children,c=0;c<u.length;c++){var l=u[c];if("JOINT"===l.type)Se(De(l.id),t,i)}else console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:",s)}for(n=0;n<t.length;n++)for(c=0;c<i.length;c++)if((r=i[c]).bone.name===t[n].name){a[n]=r,r.processed=!0;break}for(n=0;n<i.length;n++)!1===(r=i[n]).processed&&(a.push(r),r.processed=!0);var d=[],f=[];for(n=0;n<a.length;n++)r=a[n],d.push(r.bone),f.push(r.boneInverse);return new THREE.Skeleton(d,f)}function Se(e,t,n){e.traverse((function(e){if(!0===e.isBone){for(var r,o=0;o<t.length;o++){var i=t[o];if(i.name===e.name){r=i.boneInverse;break}}void 0===r&&(r=new THREE.Matrix4),n.push({bone:e,boneInverse:r,processed:!1})}}))}function Pe(e){for(var t,n=[],r=e.matrix,o=e.nodes,i=e.type,a=e.instanceCameras,s=e.instanceControllers,u=e.instanceLights,c=e.instanceGeometries,l=e.instanceNodes,d=0,h=o.length;d<h;d++)n.push(De(o[d]));for(d=0,h=a.length;d<h;d++){var p=J(a[d]);null!==p&&n.push(p.clone())}for(d=0,h=s.length;d<h;d++)for(var v=s[d],m=(t=v.id,f(qe.controllers[t],j)),g=Ae(de(m.id),v.materials),y=Me(v.skeletons,m.skin.joints),b=0,w=g.length;b<w;b++){var _;(_=g[b]).isSkinnedMesh&&(_.bind(y,m.skin.bindMatrix),_.normalizeSkinWeights()),n.push(_)}for(d=0,h=u.length;d<h;d++){var x=re(u[d]);null!==x&&n.push(x.clone())}for(d=0,h=c.length;d<h;d++)for(b=0,w=(g=Ae(de((v=c[d]).id),v.materials)).length;b<w;b++)n.push(g[b]);for(d=0,h=l.length;d<h;d++)n.push(De(l[d]).clone());if(0===o.length&&1===n.length)_=n[0];else{_="JOINT"===i?new THREE.Bone:new THREE.Group;for(d=0;d<n.length;d++)_.add(n[d])}return""===_.name&&(_.name="JOINT"===i?e.sid:e.name),_.matrix.copy(r),_.matrix.decompose(_.position,_.quaternion,_.scale),_}var je=new THREE.MeshBasicMaterial({color:16711935});function Ie(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=t[e[r]];void 0===i?(console.warn("THREE.ColladaLoader: Material with key %s not found. Apply fallback material.",e[r]),n.push(je)):n.push(Z(i))}return n}function Ae(e,t){var n=[];for(var r in e){var o=e[r],i=Ie(o.materialKeys,t);0===i.length&&("lines"===r||"linestrips"===r?i.push(new THREE.LineBasicMaterial):i.push(new THREE.MeshPhongMaterial));var a=void 0!==o.data.attributes.skinIndex;if(a)for(var s=0,u=i.length;s<u;s++)i[s].skinning=!0;var c,l=1===i.length?i[0]:i;switch(r){case"lines":c=new THREE.LineSegments(o.data,l);break;case"linestrips":c=new THREE.Line(o.data,l);break;case"triangles":case"polylist":c=a?new THREE.SkinnedMesh(o.data,l):new THREE.Mesh(o.data,l)}n.push(c)}return n}function Re(e){return void 0!==qe.nodes[e]}function De(e){return f(qe.nodes[e],Pe)}function Le(e){var t=new THREE.Group;t.name=e.name;for(var n=e.children,r=0;r<n.length;r++){var o=n[r];t.add(De(o.id))}return t}function Ne(e){return f(qe.visualScenes[e],Le)}if(0===e.length)return{scene:new THREE.Scene};var Be=n((new DOMParser).parseFromString(e,"application/xml"),"COLLADA")[0],ze=Be.getAttribute("version");console.log("THREE.ColladaLoader: File version",ze);var Fe,He=function(e){return{unit:u(n(e,"unit")[0]),upAxis:c(n(e,"up_axis")[0])}}(n(Be,"asset")[0]),Ve=new THREE.TextureLoader(this.manager);Ve.setPath(this.resourcePath||t).setCrossOrigin(this.crossOrigin),THREE.TGALoader&&(Fe=new THREE.TGALoader(this.manager)).setPath(this.resourcePath||t);var We=[],Ue={},Ge=0,qe={animations:{},clips:{},controllers:{},images:{},effects:{},materials:{},cameras:{},lights:{},geometries:{},nodes:{},visualScenes:{},kinematicsModels:{},physicsModels:{},kinematicsScenes:{}};l(Be,"library_animations","animation",(function(e){for(var t={sources:{},samplers:{},channels:{}},n=0,r=e.childNodes.length;n<r;n++){var o,i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"source":o=i.getAttribute("id"),t.sources[o]=oe(i);break;case"sampler":o=i.getAttribute("id"),t.samplers[o]=h(i);break;case"channel":o=i.getAttribute("target"),t.channels[o]=p(i);break;default:console.log(i)}}qe.animations[e.getAttribute("id")]=t})),l(Be,"library_animation_clips","animation_clip",(function(e){for(var t={name:e.getAttribute("id")||"default",start:parseFloat(e.getAttribute("start")||0),end:parseFloat(e.getAttribute("end")||0),animations:[]},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"instance_animation":t.animations.push(a(o.getAttribute("url")))}}qe.clips[e.getAttribute("id")]=t})),l(Be,"library_controllers","controller",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"skin":t.id=a(o.getAttribute("source")),t.skin=M(o);break;case"morph":t.id=a(o.getAttribute("source")),console.warn("THREE.ColladaLoader: Morph target animation not supported yet.")}}qe.controllers[e.getAttribute("id")]=t})),l(Be,"library_images","image",(function(e){var t={init_from:n(e,"init_from")[0].textContent};qe.images[e.getAttribute("id")]=t})),l(Be,"library_effects","effect",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"profile_COMMON":t.profile=R(o)}}qe.effects[e.getAttribute("id")]=t})),l(Be,"library_materials","material",(function(e){for(var t={name:e.getAttribute("name")},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"instance_effect":t.url=a(o.getAttribute("url"))}}qe.materials[e.getAttribute("id")]=t})),l(Be,"library_cameras","camera",(function(e){for(var t={name:e.getAttribute("name")},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"optics":t.optics=$(o)}}qe.cameras[e.getAttribute("id")]=t})),l(Be,"library_lights","light",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"technique_common":t=ee(o)}}qe.lights[e.getAttribute("id")]=t})),l(Be,"library_geometries","geometry",(function(e){var t={name:e.getAttribute("name"),sources:{},vertices:{},primitives:[]},r=n(e,"mesh")[0];if(void 0!==r){for(var o=0;o<r.childNodes.length;o++){var i=r.childNodes[o];if(1===i.nodeType){var a=i.getAttribute("id");switch(i.nodeName){case"source":t.sources[a]=oe(i);break;case"vertices":t.vertices=ie(i);break;case"polygons":console.warn("THREE.ColladaLoader: Unsupported primitive type: ",i.nodeName);break;case"lines":case"linestrips":case"polylist":case"triangles":t.primitives.push(ae(i));break;default:console.log(i)}}}qe.geometries[e.getAttribute("id")]=t}})),l(Be,"library_nodes","node",Ce),l(Be,"library_visual_scenes","visual_scene",(function(e){var t={name:e.getAttribute("name"),children:[]};!function(e){for(var t=e.getElementsByTagName("node"),n=0;n<t.length;n++){var r=t[n];!1===r.hasAttribute("id")&&r.setAttribute("id","three_default_"+Ge++)}}(e);for(var r=n(e,"node"),o=0;o<r.length;o++)t.children.push(Ce(r[o]));qe.visualScenes[e.getAttribute("id")]=t})),l(Be,"library_kinematics_models","kinematics_model",(function(e){for(var t={name:e.getAttribute("name")||"",joints:{},links:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"technique_common":he(r,t)}}qe.kinematicsModels[e.getAttribute("id")]=t})),l(Be,"library_physics_models","physics_model",(function(e){for(var t={name:e.getAttribute("name")||"",rigidBodies:{}},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"rigid_body":t.rigidBodies[r.getAttribute("name")]={},be(r,t.rigidBodies[r.getAttribute("name")])}}qe.physicsModels[e.getAttribute("id")]=t})),l(Be,"scene","instance_kinematics_scene",(function(e){for(var t={bindJointAxis:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"bind_joint_axis":t.bindJointAxis.push(_e(r))}}qe.kinematicsScenes[a(e.getAttribute("url"))]=t})),d(qe.animations,v),d(qe.clips,C),d(qe.controllers,j),d(qe.images,I),d(qe.effects,q),d(qe.materials,K),d(qe.cameras,Q),d(qe.lights,ne),d(qe.geometries,ue),d(qe.visualScenes,Le),function(){var e=qe.clips;if(!0===s(e)){if(!1===s(qe.animations)){var t=[];for(var n in qe.animations)for(var r=m(n),o=0,i=r.length;o<i;o++)t.push(r[o]);We.push(new THREE.AnimationClip("default",-1,t))}}else for(var n in e)We.push(T(n))}(),function(){var e=Object.keys(qe.kinematicsModels)[0],t=Object.keys(qe.kinematicsScenes)[0],n=Object.keys(qe.visualScenes)[0];if(void 0!==e&&void 0!==t){for(var r,o=(r=e,f(qe.kinematicsModels[r],fe)),i=function(e){return f(qe.kinematicsScenes[e],xe)}(t),a=Ne(n),s=i.bindJointAxis,u={},c=0,l=s.length;c<l;c++){var d=s[c],h=Be.querySelector('[sid="'+d.target+'"]');if(h){var p=h.parentElement;m(d.jointIndex,p)}}var v=new THREE.Matrix4;Ue={joints:o&&o.joints,getJointValue:function(e){var t=u[e];if(t)return t.position;console.warn("THREE.ColladaLoader: Joint "+e+" doesn't exist.")},setJointValue:function(e,t){var n=u[e];if(n){var r=n.joint;if(t>r.limits.max||t<r.limits.min)console.warn("THREE.ColladaLoader: Joint "+e+" value "+t+" outside of limits (min: "+r.limits.min+", max: "+r.limits.max+").");else if(r.static)console.warn("THREE.ColladaLoader: Joint "+e+" is static.");else{var o=n.object,i=r.axis,a=n.transforms;Ee.identity();for(var s=0;s<a.length;s++){var c=a[s];if(c.sid&&-1!==c.sid.indexOf(e))switch(r.type){case"revolute":Ee.multiply(v.makeRotationAxis(i,THREE.Math.degToRad(t)));break;case"prismatic":Ee.multiply(v.makeTranslation(i.x*t,i.y*t,i.z*t));break;default:console.warn("THREE.ColladaLoader: Unknown joint type: "+r.type)}else switch(c.type){case"matrix":Ee.multiply(c.obj);break;case"translate":Ee.multiply(v.makeTranslation(c.obj.x,c.obj.y,c.obj.z));break;case"scale":Ee.scale(c.obj);break;case"rotate":Ee.multiply(v.makeRotationAxis(c.obj,c.angle))}}o.matrix.copy(Ee),o.matrix.decompose(o.position,o.quaternion,o.scale),u[e].position=t}}else console.log("THREE.ColladaLoader: "+e+" does not exist.")}}}function m(e,t){var n=t.getAttribute("name"),r=o.joints[e];a.traverse((function(o){o.name===n&&(u[e]={object:o,transforms:ke(t),joint:r,position:r.zeroPosition})}))}}();var Ke=function(e){return Ne(a(n(e,"instance_visual_scene")[0].getAttribute("url")))}(n(Be,"scene")[0]);return"Z_UP"===He.upAxis&&Ke.quaternion.setFromEuler(new THREE.Euler(-Math.PI/2,0,0)),Ke.scale.multiplyScalar(He.unit),{animations:We,kinematics:Ue,library:qe,scene:Ke}}}},99434:function(e){e.exports=THREE.FBXLoader=function(){var e,t,n;function r(e){this.manager=void 0!==e?e:THREE.DefaultLoadingManager}function o(e){this.textureLoader=e}function i(){}function a(){}function s(){}function u(){}function c(e,t){this.dv=new DataView(e),this.offset=0,this.littleEndian=void 0===t||t}function l(){}function d(e){var t=e.match(/FBXVersion: (\d+)/);if(t)return parseInt(t[1]);throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function f(e){return e/46186158e3}r.prototype={constructor:r,crossOrigin:"anonymous",load:function(e,t,n,r){var o=this,i=THREE.LoaderUtils.extractUrlBase(e),a=new THREE.FileLoader(this.manager);a.setResponseType("arraybuffer"),a.load(e,(function(n){try{var a=o.parse(n,i);t(a)}catch(s){setTimeout((function(){r&&r(s),o.manager.itemError(e)}),0)}}),n,r)},setCrossOrigin:function(e){return this.crossOrigin=e,this},parse:function(t,n){if(function(e){var t="Kaydara FBX Binary  \0";return e.byteLength>=t.length&&t===k(e,0,t.length)}(t))e=(new u).parse(t);else{var r=k(t);if(!function(e){var t=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"],n=0;function r(t){var r=e[t-1];return e=e.slice(n+t),n++,r}for(var o=0;o<t.length;++o){if(r(1)===t[o])return!1}return!0}(r))throw new Error("THREE.FBXLoader: Unknown format.");if(d(r)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+d(r));e=(new s).parse(r)}return new o(new THREE.TextureLoader(this.manager).setPath(n).setCrossOrigin(this.crossOrigin)).parse(e)}},o.prototype={constructor:o,parse:function(){t=this.parseConnections();var e=this.parseImages(),r=this.parseTextures(e),o=this.parseMaterials(r),a=this.parseDeformers(),s=(new i).parse(a);return this.parseScene(a,s,o),n},parseConnections:function(){var t=new Map;"Connections"in e&&e.Connections.connections.forEach((function(e){var n=e[0],r=e[1],o=e[2];t.has(n)||t.set(n,{parents:[],children:[]});var i={ID:r,relationship:o};t.get(n).parents.push(i),t.has(r)||t.set(r,{parents:[],children:[]});var a={ID:n,relationship:o};t.get(r).children.push(a)}));return t},parseImages:function(){var t={},n={};if("Video"in e.Objects){var r=e.Objects.Video;for(var o in r){var i=r[o];if(t[c=parseInt(o)]=i.RelativeFilename||i.Filename,"Content"in i){var a=i.Content instanceof ArrayBuffer&&i.Content.byteLength>0,s="string"===typeof i.Content&&""!==i.Content;if(a||s){var u=this.parseImage(r[o]);n[i.RelativeFilename||i.Filename]=u}}}}for(var c in t){var l=t[c];void 0!==n[l]?t[c]=n[l]:t[c]=t[c].split("\\").pop()}return t},parseImage:function(e){var t,n=e.Content,r=e.RelativeFilename||e.Filename,o=r.slice(r.lastIndexOf(".")+1).toLowerCase();switch(o){case"bmp":t="image/bmp";break;case"jpg":case"jpeg":t="image/jpeg";break;case"png":t="image/png";break;case"tif":t="image/tiff";break;case"tga":if("function"!==typeof THREE.TGALoader)return void console.warn("FBXLoader: THREE.TGALoader is required to load TGA textures");null===THREE.Loader.Handlers.get(".tga")&&THREE.Loader.Handlers.add(/\.tga$/i,new THREE.TGALoader),t="image/tga";break;default:return void console.warn('FBXLoader: Image type "'+o+'" is not supported.')}if("string"===typeof n)return"data:"+t+";base64,"+n;var i=new Uint8Array(n);return window.URL.createObjectURL(new Blob([i],{type:t}))},parseTextures:function(t){var n=new Map;if("Texture"in e.Objects){var r=e.Objects.Texture;for(var o in r){var i=this.parseTexture(r[o],t);n.set(parseInt(o),i)}}return n},parseTexture:function(e,t){var n=this.loadTexture(e,t);n.ID=e.id,n.name=e.attrName;var r=e.WrapModeU,o=e.WrapModeV,i=void 0!==r?r.value:0,a=void 0!==o?o.value:0;if(n.wrapS=0===i?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,n.wrapT=0===a?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,"Scaling"in e){var s=e.Scaling.value;n.repeat.x=s[0],n.repeat.y=s[1]}return n},loadTexture:function(e,n){var r,o,i=this.textureLoader.path,a=t.get(e.id).children;void 0!==a&&a.length>0&&void 0!==n[a[0].ID]&&(0!==(r=n[a[0].ID]).indexOf("blob:")&&0!==r.indexOf("data:")||this.textureLoader.setPath(void 0));var s=e.FileName.slice(-3).toLowerCase();if("tga"===s){var u=THREE.Loader.Handlers.get(".tga");null===u?(console.warn("FBXLoader: TGALoader not found, creating empty placeholder texture for",r),o=new THREE.Texture):o=u.load(r)}else"psd"===s?(console.warn("FBXLoader: PSD textures are not supported, creating empty placeholder texture for",r),o=new THREE.Texture):o=this.textureLoader.load(r);return this.textureLoader.setPath(i),o},parseMaterials:function(t){var n=new Map;if("Material"in e.Objects){var r=e.Objects.Material;for(var o in r){var i=this.parseMaterial(r[o],t);null!==i&&n.set(parseInt(o),i)}}return n},parseMaterial:function(e,n){var r=e.id,o=e.attrName,i=e.ShadingModel;if("object"===typeof i&&(i=i.value),!t.has(r))return null;var a,s=this.parseParameters(e,n,r);switch(i.toLowerCase()){case"phong":a=new THREE.MeshPhongMaterial;break;case"lambert":a=new THREE.MeshLambertMaterial;break;default:console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',i),a=new THREE.MeshPhongMaterial({color:3342591})}return a.setValues(s),a.name=o,a},parseParameters:function(e,n,r){var o={};e.BumpFactor&&(o.bumpScale=e.BumpFactor.value),e.Diffuse?o.color=(new THREE.Color).fromArray(e.Diffuse.value):e.DiffuseColor&&"Color"===e.DiffuseColor.type&&(o.color=(new THREE.Color).fromArray(e.DiffuseColor.value)),e.DisplacementFactor&&(o.displacementScale=e.DisplacementFactor.value),e.Emissive?o.emissive=(new THREE.Color).fromArray(e.Emissive.value):e.EmissiveColor&&"Color"===e.EmissiveColor.type&&(o.emissive=(new THREE.Color).fromArray(e.EmissiveColor.value)),e.EmissiveFactor&&(o.emissiveIntensity=parseFloat(e.EmissiveFactor.value)),e.Opacity&&(o.opacity=parseFloat(e.Opacity.value)),o.opacity<1&&(o.transparent=!0),e.ReflectionFactor&&(o.reflectivity=e.ReflectionFactor.value),e.Shininess&&(o.shininess=e.Shininess.value),e.Specular?o.specular=(new THREE.Color).fromArray(e.Specular.value):e.SpecularColor&&"Color"===e.SpecularColor.type&&(o.specular=(new THREE.Color).fromArray(e.SpecularColor.value));var i=this;return t.get(r).children.forEach((function(e){var t=e.relationship;switch(t){case"Bump":o.bumpMap=i.getTexture(n,e.ID);break;case"DiffuseColor":o.map=i.getTexture(n,e.ID);break;case"DisplacementColor":o.displacementMap=i.getTexture(n,e.ID);break;case"EmissiveColor":o.emissiveMap=i.getTexture(n,e.ID);break;case"NormalMap":o.normalMap=i.getTexture(n,e.ID);break;case"ReflectionColor":o.envMap=i.getTexture(n,e.ID),o.envMap.mapping=THREE.EquirectangularReflectionMapping;break;case"SpecularColor":o.specularMap=i.getTexture(n,e.ID);break;case"TransparentColor":o.alphaMap=i.getTexture(n,e.ID),o.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",t)}})),o},getTexture:function(n,r){return"LayeredTexture"in e.Objects&&r in e.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),r=t.get(r).children[0].ID),n.get(r)},parseDeformers:function(){var n={},r={};if("Deformer"in e.Objects){var o=e.Objects.Deformer;for(var i in o){var a=o[i],s=t.get(parseInt(i));if("Skin"===a.attrType){var u=this.parseSkeleton(s,o);u.ID=i,s.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),u.geometryID=s.parents[0].ID,n[i]=u}else if("BlendShape"===a.attrType){var c={id:i};c.rawTargets=this.parseMorphTargets(s,o),c.id=i,s.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),r[i]=c}}}return{skeletons:n,morphTargets:r}},parseSkeleton:function(e,t){var n=[];return e.children.forEach((function(e){var r=t[e.ID];if("Cluster"===r.attrType){var o={ID:e.ID,indices:[],weights:[],transform:(new THREE.Matrix4).fromArray(r.Transform.a),transformLink:(new THREE.Matrix4).fromArray(r.TransformLink.a),linkMode:r.Mode};"Indexes"in r&&(o.indices=r.Indexes.a,o.weights=r.Weights.a),n.push(o)}})),{rawBones:n,bones:[]}},parseMorphTargets:function(e,n){for(var r=[],o=0;o<e.children.length;o++){if(8===o){console.warn("FBXLoader: maximum of 8 morph targets supported. Ignoring additional targets.");break}var i=e.children[o],a=n[i.ID],s={name:a.attrName,initialWeight:a.DeformPercent,id:a.id,fullWeights:a.FullWeights.a};if("BlendShapeChannel"!==a.attrType)return;t.get(parseInt(i.ID)).children.forEach((function(e){void 0===e.relationship&&(s.geoID=e.ID)})),r.push(s)}return r},parseScene:function(r,o,i){n=new THREE.Group;var s=this.parseModels(r.skeletons,o,i),u=e.Objects.Model,c=this;s.forEach((function(e){var r=u[e.ID];c.setLookAtProperties(e,r),t.get(e.ID).parents.forEach((function(t){var n=s.get(t.ID);void 0!==n&&n.add(e)})),null===e.parent&&n.add(e)})),this.bindSkeleton(r.skeletons,o,s),this.createAmbientLight(),this.setupMorphMaterials();var l=(new a).parse();1===n.children.length&&n.children[0].isGroup&&(n.children[0].animations=l,n=n.children[0]),n.animations=l},parseModels:function(n,r,o){var i=new Map,a=e.Objects.Model;for(var s in a){var u=parseInt(s),c=a[s],l=t.get(u),d=this.buildSkeleton(l,n,u,c.attrName);if(!d){switch(c.attrType){case"Camera":d=this.createCamera(l);break;case"Light":d=this.createLight(l);break;case"Mesh":d=this.createMesh(l,r,o);break;case"NurbsCurve":d=this.createCurve(l,r);break;case"LimbNode":case"Null":default:d=new THREE.Group}d.name=THREE.PropertyBinding.sanitizeNodeName(c.attrName),d.ID=u}this.setModelTransforms(d,c),i.set(u,d)}return i},buildSkeleton:function(e,t,n,r){var o=null;return e.parents.forEach((function(e){for(var i in t){var a=t[i];a.rawBones.forEach((function(t,i){if(t.ID===e.ID){var s=o;(o=new THREE.Bone).matrixWorld.copy(t.transformLink),o.name=THREE.PropertyBinding.sanitizeNodeName(r),o.ID=n,a.bones[i]=o,null!==s&&o.add(s)}}))}})),o},createCamera:function(t){var n,r;if(t.children.forEach((function(t){var n=e.Objects.NodeAttribute[t.ID];void 0!==n&&(r=n)})),void 0===r)n=new THREE.Object3D;else{var o=0;void 0!==r.CameraProjectionType&&1===r.CameraProjectionType.value&&(o=1);var i=1;void 0!==r.NearPlane&&(i=r.NearPlane.value/1e3);var a=1e3;void 0!==r.FarPlane&&(a=r.FarPlane.value/1e3);var s=window.innerWidth,u=window.innerHeight;void 0!==r.AspectWidth&&void 0!==r.AspectHeight&&(s=r.AspectWidth.value,u=r.AspectHeight.value);var c=s/u,l=45;void 0!==r.FieldOfView&&(l=r.FieldOfView.value);var d=r.FocalLength?r.FocalLength.value:null;switch(o){case 0:n=new THREE.PerspectiveCamera(l,c,i,a),null!==d&&n.setFocalLength(d);break;case 1:n=new THREE.OrthographicCamera(-s/2,s/2,u/2,-u/2,i,a);break;default:console.warn("THREE.FBXLoader: Unknown camera type "+o+"."),n=new THREE.Object3D}}return n},createLight:function(t){var n,r;if(t.children.forEach((function(t){var n=e.Objects.NodeAttribute[t.ID];void 0!==n&&(r=n)})),void 0===r)n=new THREE.Object3D;else{var o;o=void 0===r.LightType?0:r.LightType.value;var i=16777215;void 0!==r.Color&&(i=(new THREE.Color).fromArray(r.Color.value));var a=void 0===r.Intensity?1:r.Intensity.value/100;void 0!==r.CastLightOnObject&&0===r.CastLightOnObject.value&&(a=0);var s=0;void 0!==r.FarAttenuationEnd&&(s=void 0!==r.EnableFarAttenuation&&0===r.EnableFarAttenuation.value?0:r.FarAttenuationEnd.value);switch(o){case 0:n=new THREE.PointLight(i,a,s,1);break;case 1:n=new THREE.DirectionalLight(i,a);break;case 2:var u=Math.PI/3;void 0!==r.InnerAngle&&(u=THREE.Math.degToRad(r.InnerAngle.value));var c=0;void 0!==r.OuterAngle&&(c=THREE.Math.degToRad(r.OuterAngle.value),c=Math.max(c,1)),n=new THREE.SpotLight(i,a,s,u,c,1);break;default:console.warn("THREE.FBXLoader: Unknown light type "+r.LightType.value+", defaulting to a THREE.PointLight."),n=new THREE.PointLight(i,a)}void 0!==r.CastShadows&&1===r.CastShadows.value&&(n.castShadow=!0)}return n},createMesh:function(e,t,n){var r,o=null,i=null,a=[];return e.children.forEach((function(e){t.has(e.ID)&&(o=t.get(e.ID)),n.has(e.ID)&&a.push(n.get(e.ID))})),a.length>1?i=a:a.length>0?i=a[0]:(i=new THREE.MeshPhongMaterial({color:13421772}),a.push(i)),"color"in o.attributes&&a.forEach((function(e){e.vertexColors=THREE.VertexColors})),o.FBX_Deformer?(a.forEach((function(e){e.skinning=!0})),r=new THREE.SkinnedMesh(o,i)):r=new THREE.Mesh(o,i),r},createCurve:function(e,t){var n=e.children.reduce((function(e,n){return t.has(n.ID)&&(e=t.get(n.ID)),e}),null),r=new THREE.LineBasicMaterial({color:3342591,linewidth:1});return new THREE.Line(n,r)},setModelTransforms:function(e,t){var n={};"RotationOrder"in t&&(n.eulerOrder=parseInt(t.RotationOrder.value)),"Lcl_Translation"in t&&(n.translation=t.Lcl_Translation.value),"RotationOffset"in t&&(n.rotationOffset=t.RotationOffset.value),"Lcl_Rotation"in t&&(n.rotation=t.Lcl_Rotation.value),"PreRotation"in t&&(n.preRotation=t.PreRotation.value),"PostRotation"in t&&(n.postRotation=t.PostRotation.value),"Lcl_Scaling"in t&&(n.scale=t.Lcl_Scaling.value);var r=w(n);e.applyMatrix(r)},setLookAtProperties:function(r,o){"LookAtProperty"in o&&t.get(r.ID).children.forEach((function(t){if("LookAtProperty"===t.relationship){var o=e.Objects.Model[t.ID];if("Lcl_Translation"in o){var i=o.Lcl_Translation.value;void 0!==r.target?(r.target.position.fromArray(i),n.add(r.target)):r.lookAt((new THREE.Vector3).fromArray(i))}}}))},bindSkeleton:function(e,n,r){var o=this.parsePoseNodes();for(var i in e){var a=e[i];t.get(parseInt(a.ID)).parents.forEach((function(e){if(n.has(e.ID)){var i=e.ID;t.get(i).parents.forEach((function(e){r.has(e.ID)&&r.get(e.ID).bind(new THREE.Skeleton(a.bones),o[e.ID])}))}}))}},parsePoseNodes:function(){var t={};if("Pose"in e.Objects){var n=e.Objects.Pose;for(var r in n)if("BindPose"===n[r].attrType){var o=n[r].PoseNode;Array.isArray(o)?o.forEach((function(e){t[e.Node]=(new THREE.Matrix4).fromArray(e.Matrix.a)})):t[o.Node]=(new THREE.Matrix4).fromArray(o.Matrix.a)}}return t},createAmbientLight:function(){if("GlobalSettings"in e&&"AmbientColor"in e.GlobalSettings){var t=e.GlobalSettings.AmbientColor.value,r=t[0],o=t[1],i=t[2];if(0!==r||0!==o||0!==i){var a=new THREE.Color(r,o,i);n.add(new THREE.AmbientLight(a,1))}}},setupMorphMaterials:function(){n.traverse((function(e){if(e.isMesh&&(e.geometry.morphAttributes.position||e.geometry.morphAttributes.normal)){var t=e.uuid,r=e.material.uuid,o=!1;n.traverse((function(e){e.isMesh&&e.material.uuid===r&&e.uuid!==t&&(o=!0)})),!0===o&&(e.material=e.material.clone()),e.material.morphTargets=!0}}))}},i.prototype={constructor:i,parse:function(n){var r=new Map;if("Geometry"in e.Objects){var o=e.Objects.Geometry;for(var i in o){var a=t.get(parseInt(i)),s=this.parseGeometry(a,o[i],n);r.set(parseInt(i),s)}}return r},parseGeometry:function(e,t,n){switch(t.attrType){case"Mesh":return this.parseMeshGeometry(e,t,n);case"NurbsCurve":return this.parseNurbsGeometry(t)}},parseMeshGeometry:function(t,n,r){var o=r.skeletons,i=r.morphTargets,a=t.parents.map((function(t){return e.Objects.Model[t.ID]}));if(0!==a.length){var s=t.children.reduce((function(e,t){return void 0!==o[t.ID]&&(e=o[t.ID]),e}),null),u=t.children.reduce((function(e,t){return void 0!==i[t.ID]&&(e=i[t.ID]),e}),null),c=a[0],l={};"RotationOrder"in c&&(l.eulerOrder=c.RotationOrder.value),"GeometricTranslation"in c&&(l.translation=c.GeometricTranslation.value),"GeometricRotation"in c&&(l.rotation=c.GeometricRotation.value),"GeometricScaling"in c&&(l.scale=c.GeometricScaling.value);var d=w(l);return this.genGeometry(n,s,u,d)}},genGeometry:function(e,t,n,r){var o=new THREE.BufferGeometry;e.attrName&&(o.name=e.attrName);var i=this.parseGeoNode(e,t),a=this.genBuffers(i),s=new THREE.Float32BufferAttribute(a.vertex,3);if(r.applyToBufferAttribute(s),o.addAttribute("position",s),a.colors.length>0&&o.addAttribute("color",new THREE.Float32BufferAttribute(a.colors,3)),t&&(o.addAttribute("skinIndex",new THREE.Uint16BufferAttribute(a.weightsIndices,4)),o.addAttribute("skinWeight",new THREE.Float32BufferAttribute(a.vertexWeights,4)),o.FBX_Deformer=t),a.normal.length>0){var u=new THREE.Float32BufferAttribute(a.normal,3);(new THREE.Matrix3).getNormalMatrix(r).applyToBufferAttribute(u),o.addAttribute("normal",u)}if(a.uvs.forEach((function(e,t){var n="uv"+(t+1).toString();0===t&&(n="uv"),o.addAttribute(n,new THREE.Float32BufferAttribute(a.uvs[t],2))})),i.material&&"AllSame"!==i.material.mappingType){var c=a.materialIndex[0],l=0;if(a.materialIndex.forEach((function(e,t){e!==c&&(o.addGroup(l,t-l,c),c=e,l=t)})),o.groups.length>0){var d=o.groups[o.groups.length-1],f=d.start+d.count;f!==a.materialIndex.length&&o.addGroup(f,a.materialIndex.length-f,c)}0===o.groups.length&&o.addGroup(0,a.materialIndex.length,a.materialIndex[0])}return this.addMorphTargets(o,e,n,r),o},parseGeoNode:function(e,t){var n={};if(n.vertexPositions=void 0!==e.Vertices?e.Vertices.a:[],n.vertexIndices=void 0!==e.PolygonVertexIndex?e.PolygonVertexIndex.a:[],e.LayerElementColor&&(n.color=this.parseVertexColors(e.LayerElementColor[0])),e.LayerElementMaterial&&(n.material=this.parseMaterialIndices(e.LayerElementMaterial[0])),e.LayerElementNormal&&(n.normal=this.parseNormals(e.LayerElementNormal[0])),e.LayerElementUV){n.uv=[];for(var r=0;e.LayerElementUV[r];)n.uv.push(this.parseUVs(e.LayerElementUV[r])),r++}return n.weightTable={},null!==t&&(n.skeleton=t,t.rawBones.forEach((function(e,t){e.indices.forEach((function(r,o){void 0===n.weightTable[r]&&(n.weightTable[r]=[]),n.weightTable[r].push({id:t,weight:e.weights[o]})}))}))),n},genBuffers:function(e){var t={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]},n=0,r=0,o=!1,i=[],a=[],s=[],u=[],c=[],l=[],d=this;return e.vertexIndices.forEach((function(f,h){var v=!1;f<0&&(f^=-1,v=!0);var m=[],g=[];if(i.push(3*f,3*f+1,3*f+2),e.color){var y=p(h,n,f,e.color);s.push(y[0],y[1],y[2])}if(e.skeleton){if(void 0!==e.weightTable[f]&&e.weightTable[f].forEach((function(e){g.push(e.weight),m.push(e.id)})),g.length>4){o||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),o=!0);var b=[0,0,0,0],w=[0,0,0,0];g.forEach((function(e,t){var n=e,r=m[t];w.forEach((function(e,t,o){if(n>e){o[t]=n,n=e;var i=b[t];b[t]=r,r=i}}))})),m=b,g=w}for(;g.length<4;)g.push(0),m.push(0);for(var _=0;_<4;++_)c.push(g[_]),l.push(m[_])}if(e.normal){y=p(h,n,f,e.normal);a.push(y[0],y[1],y[2])}if(e.material&&"AllSame"!==e.material.mappingType)var x=p(h,n,f,e.material)[0];e.uv&&e.uv.forEach((function(e,t){var r=p(h,n,f,e);void 0===u[t]&&(u[t]=[]),u[t].push(r[0]),u[t].push(r[1])})),r++,v&&(d.genFace(t,e,i,x,a,s,u,c,l,r),n++,r=0,i=[],a=[],s=[],u=[],c=[],l=[])})),t},genFace:function(e,t,n,r,o,i,a,s,u,c){for(var l=2;l<c;l++)e.vertex.push(t.vertexPositions[n[0]]),e.vertex.push(t.vertexPositions[n[1]]),e.vertex.push(t.vertexPositions[n[2]]),e.vertex.push(t.vertexPositions[n[3*(l-1)]]),e.vertex.push(t.vertexPositions[n[3*(l-1)+1]]),e.vertex.push(t.vertexPositions[n[3*(l-1)+2]]),e.vertex.push(t.vertexPositions[n[3*l]]),e.vertex.push(t.vertexPositions[n[3*l+1]]),e.vertex.push(t.vertexPositions[n[3*l+2]]),t.skeleton&&(e.vertexWeights.push(s[0]),e.vertexWeights.push(s[1]),e.vertexWeights.push(s[2]),e.vertexWeights.push(s[3]),e.vertexWeights.push(s[4*(l-1)]),e.vertexWeights.push(s[4*(l-1)+1]),e.vertexWeights.push(s[4*(l-1)+2]),e.vertexWeights.push(s[4*(l-1)+3]),e.vertexWeights.push(s[4*l]),e.vertexWeights.push(s[4*l+1]),e.vertexWeights.push(s[4*l+2]),e.vertexWeights.push(s[4*l+3]),e.weightsIndices.push(u[0]),e.weightsIndices.push(u[1]),e.weightsIndices.push(u[2]),e.weightsIndices.push(u[3]),e.weightsIndices.push(u[4*(l-1)]),e.weightsIndices.push(u[4*(l-1)+1]),e.weightsIndices.push(u[4*(l-1)+2]),e.weightsIndices.push(u[4*(l-1)+3]),e.weightsIndices.push(u[4*l]),e.weightsIndices.push(u[4*l+1]),e.weightsIndices.push(u[4*l+2]),e.weightsIndices.push(u[4*l+3])),t.color&&(e.colors.push(i[0]),e.colors.push(i[1]),e.colors.push(i[2]),e.colors.push(i[3*(l-1)]),e.colors.push(i[3*(l-1)+1]),e.colors.push(i[3*(l-1)+2]),e.colors.push(i[3*l]),e.colors.push(i[3*l+1]),e.colors.push(i[3*l+2])),t.material&&"AllSame"!==t.material.mappingType&&(e.materialIndex.push(r),e.materialIndex.push(r),e.materialIndex.push(r)),t.normal&&(e.normal.push(o[0]),e.normal.push(o[1]),e.normal.push(o[2]),e.normal.push(o[3*(l-1)]),e.normal.push(o[3*(l-1)+1]),e.normal.push(o[3*(l-1)+2]),e.normal.push(o[3*l]),e.normal.push(o[3*l+1]),e.normal.push(o[3*l+2])),t.uv&&t.uv.forEach((function(t,n){void 0===e.uvs[n]&&(e.uvs[n]=[]),e.uvs[n].push(a[n][0]),e.uvs[n].push(a[n][1]),e.uvs[n].push(a[n][2*(l-1)]),e.uvs[n].push(a[n][2*(l-1)+1]),e.uvs[n].push(a[n][2*l]),e.uvs[n].push(a[n][2*l+1])}))},addMorphTargets:function(t,n,r,o){if(null!==r){t.morphAttributes.position=[],t.morphAttributes.normal=[];var i=this;r.rawTargets.forEach((function(r){var a=e.Objects.Geometry[r.geoID];void 0!==a&&i.genMorphGeometry(t,n,a,o)}))}},genMorphGeometry:function(e,t,n,r){var o=new THREE.BufferGeometry;n.attrName&&(o.name=n.attrName);for(var i=void 0!==t.PolygonVertexIndex?t.PolygonVertexIndex.a:[],a=void 0!==t.Vertices?t.Vertices.a.slice():[],s=void 0!==n.Vertices?n.Vertices.a:[],u=void 0!==n.Indexes?n.Indexes.a:[],c=0;c<u.length;c++){var l=3*u[c];a[l]+=s[3*c],a[l+1]+=s[3*c+1],a[l+2]+=s[3*c+2]}var d={vertexIndices:i,vertexPositions:a},f=this.genBuffers(d),h=new THREE.Float32BufferAttribute(f.vertex,3);h.name=n.attrName,r.applyToBufferAttribute(h),e.morphAttributes.position.push(h)},parseNormals:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Normals.a,o=[];return"IndexToDirect"===n&&("NormalIndex"in e?o=e.NormalIndex.a:"NormalsIndex"in e&&(o=e.NormalsIndex.a)),{dataSize:3,buffer:r,indices:o,mappingType:t,referenceType:n}},parseUVs:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.UV.a,o=[];return"IndexToDirect"===n&&(o=e.UVIndex.a),{dataSize:2,buffer:r,indices:o,mappingType:t,referenceType:n}},parseVertexColors:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Colors.a,o=[];return"IndexToDirect"===n&&(o=e.ColorIndex.a),{dataSize:4,buffer:r,indices:o,mappingType:t,referenceType:n}},parseMaterialIndices:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType;if("NoMappingInformation"===t)return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:n};for(var r=e.Materials.a,o=[],i=0;i<r.length;++i)o.push(i);return{dataSize:1,buffer:r,indices:o,mappingType:t,referenceType:n}},parseNurbsGeometry:function(e){if(void 0===THREE.NURBSCurve)return console.error("THREE.FBXLoader: The loader relies on THREE.NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry."),new THREE.BufferGeometry;var t=parseInt(e.Order);if(isNaN(t))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",e.Order,e.id),new THREE.BufferGeometry;for(var n,r,o=t-1,i=e.KnotVector.a,a=[],s=e.Points.a,u=0,c=s.length;u<c;u+=4)a.push((new THREE.Vector4).fromArray(s,u));if("Closed"===e.Form)a.push(a[0]);else if("Periodic"===e.Form){n=o,r=i.length-1-n;for(u=0;u<o;++u)a.push(a[u])}var l=new THREE.NURBSCurve(o,i,a,n,r).getPoints(7*a.length),d=new Float32Array(3*l.length);l.forEach((function(e,t){e.toArray(d,3*t)}));var f=new THREE.BufferGeometry;return f.addAttribute("position",new THREE.BufferAttribute(d,3)),f}},a.prototype={constructor:a,parse:function(){var e=[],t=this.parseClips();if(void 0===t)return e;for(var n in t){var r=t[n],o=this.addClip(r);e.push(o)}return e},parseClips:function(){if(void 0!==e.Objects.AnimationCurve){var t=this.parseAnimationCurveNodes();this.parseAnimationCurves(t);var n=this.parseAnimationLayers(t);return this.parseAnimStacks(n)}},parseAnimationCurveNodes:function(){var t=e.Objects.AnimationCurveNode,n=new Map;for(var r in t){var o=t[r];if(null!==o.attrName.match(/S|R|T|DeformPercent/)){var i={id:o.id,attr:o.attrName,curves:{}};n.set(i.id,i)}}return n},parseAnimationCurves:function(n){var r=e.Objects.AnimationCurve;for(var o in r){var i={id:r[o].id,times:r[o].KeyTime.a.map(f),values:r[o].KeyValueFloat.a},a=t.get(i.id);if(void 0!==a){var s=a.parents[0].ID,u=a.parents[0].relationship;u.match(/X/)?n.get(s).curves.x=i:u.match(/Y/)?n.get(s).curves.y=i:u.match(/Z/)?n.get(s).curves.z=i:u.match(/d|DeformPercent/)&&n.has(s)&&(n.get(s).curves.morph=i)}}},parseAnimationLayers:function(n){var r=e.Objects.AnimationLayer,o=new Map;for(var i in r){var a=[],s=t.get(parseInt(i));if(void 0!==s){var u=s.children,c=this;u.forEach((function(r,o){if(n.has(r.ID)){var i=n.get(r.ID);if(void 0!==i.curves.x||void 0!==i.curves.y||void 0!==i.curves.z){if(void 0===a[o]){t.get(r.ID).parents.forEach((function(e){void 0!==e.relationship&&(h=e.ID)}));var s=e.Objects.Model[h.toString()],u={modelName:THREE.PropertyBinding.sanitizeNodeName(s.attrName),initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1],transform:c.getModelAnimTransform(s)};"PreRotation"in s&&(u.preRotations=s.PreRotation.value),"PostRotation"in s&&(u.postRotations=s.PostRotation.value),a[o]=u}a[o][i.attr]=i}else if(void 0!==i.curves.morph){if(void 0===a[o]){var l;t.get(r.ID).parents.forEach((function(e){void 0!==e.relationship&&(l=e.ID)}));var d=t.get(l).parents[0].ID,f=t.get(d).parents[0].ID,h=t.get(f).parents[0].ID;s=e.Objects.Model[h],u={modelName:THREE.PropertyBinding.sanitizeNodeName(s.attrName),morphName:e.Objects.Deformer[l].attrName};a[o]=u}a[o][i.attr]=i}}})),o.set(parseInt(i),a)}}return o},getModelAnimTransform:function(e){var t={};return"RotationOrder"in e&&(t.eulerOrder=parseInt(e.RotationOrder.value)),"Lcl_Translation"in e&&(t.translation=e.Lcl_Translation.value),"RotationOffset"in e&&(t.rotationOffset=e.RotationOffset.value),"Lcl_Rotation"in e&&(t.rotation=e.Lcl_Rotation.value),"PreRotation"in e&&(t.preRotation=e.PreRotation.value),"PostRotation"in e&&(t.postRotation=e.PostRotation.value),"Lcl_Scaling"in e&&(t.scale=e.Lcl_Scaling.value),w(t)},parseAnimStacks:function(n){var r=e.Objects.AnimationStack,o={};for(var i in r){var a=t.get(parseInt(i)).children;a.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");var s=n.get(a[0].ID);o[i]={name:r[i].attrName,layer:s}}return o},addClip:function(e){var t=[],n=this;return e.layer.forEach((function(e){t=t.concat(n.generateTracks(e))})),new THREE.AnimationClip(e.name,-1,t)},generateTracks:function(e){var t=[],n=new THREE.Vector3,r=new THREE.Quaternion,o=new THREE.Vector3;if(e.transform&&e.transform.decompose(n,r,o),n=n.toArray(),r=(new THREE.Euler).setFromQuaternion(r).toArray(),o=o.toArray(),void 0!==e.T&&Object.keys(e.T.curves).length>0){var i=this.generateVectorTrack(e.modelName,e.T.curves,n,"position");void 0!==i&&t.push(i)}if(void 0!==e.R&&Object.keys(e.R.curves).length>0){var a=this.generateRotationTrack(e.modelName,e.R.curves,r,e.preRotations,e.postRotations);void 0!==a&&t.push(a)}if(void 0!==e.S&&Object.keys(e.S.curves).length>0){var s=this.generateVectorTrack(e.modelName,e.S.curves,o,"scale");void 0!==s&&t.push(s)}if(void 0!==e.DeformPercent){var u=this.generateMorphTrack(e);void 0!==u&&t.push(u)}return t},generateVectorTrack:function(e,t,n,r){var o=this.getTimesForAllAxes(t),i=this.getKeyframeTrackValues(o,t,n);return new THREE.VectorKeyframeTrack(e+"."+r,o,i)},generateRotationTrack:function(e,t,n,r,o){void 0!==t.x&&(this.interpolateRotations(t.x),t.x.values=t.x.values.map(THREE.Math.degToRad)),void 0!==t.y&&(this.interpolateRotations(t.y),t.y.values=t.y.values.map(THREE.Math.degToRad)),void 0!==t.z&&(this.interpolateRotations(t.z),t.z.values=t.z.values.map(THREE.Math.degToRad));var i=this.getTimesForAllAxes(t),a=this.getKeyframeTrackValues(i,t,n);void 0!==r&&((r=r.map(THREE.Math.degToRad)).push("ZYX"),r=(new THREE.Euler).fromArray(r),r=(new THREE.Quaternion).setFromEuler(r)),void 0!==o&&((o=o.map(THREE.Math.degToRad)).push("ZYX"),o=(new THREE.Euler).fromArray(o),o=(new THREE.Quaternion).setFromEuler(o).inverse());for(var s=new THREE.Quaternion,u=new THREE.Euler,c=[],l=0;l<a.length;l+=3)u.set(a[l],a[l+1],a[l+2],"ZYX"),s.setFromEuler(u),void 0!==r&&s.premultiply(r),void 0!==o&&s.multiply(o),s.toArray(c,l/3*4);return new THREE.QuaternionKeyframeTrack(e+".quaternion",i,c)},generateMorphTrack:function(e){var t=e.DeformPercent.curves.morph,r=t.values.map((function(e){return e/100})),o=n.getObjectByName(e.modelName).morphTargetDictionary[e.morphName];return new THREE.NumberKeyframeTrack(e.modelName+".morphTargetInfluences["+o+"]",t.times,r)},getTimesForAllAxes:function(e){var t=[];return void 0!==e.x&&(t=t.concat(e.x.times)),void 0!==e.y&&(t=t.concat(e.y.times)),void 0!==e.z&&(t=t.concat(e.z.times)),t=t.sort((function(e,t){return e-t})).filter((function(e,t,n){return n.indexOf(e)==t}))},getKeyframeTrackValues:function(e,t,n){var r=n,o=[],i=-1,a=-1,s=-1;return e.forEach((function(e){if(t.x&&(i=t.x.times.indexOf(e)),t.y&&(a=t.y.times.indexOf(e)),t.z&&(s=t.z.times.indexOf(e)),-1!==i){var n=t.x.values[i];o.push(n),r[0]=n}else o.push(r[0]);if(-1!==a){var u=t.y.values[a];o.push(u),r[1]=u}else o.push(r[1]);if(-1!==s){var c=t.z.values[s];o.push(c),r[2]=c}else o.push(r[2])})),o},interpolateRotations:function(e){for(var t=1;t<e.values.length;t++){var n=e.values[t-1],r=e.values[t]-n,o=Math.abs(r);if(o>=180){for(var i=o/180,a=r/i,s=n+a,u=e.times[t-1],c=(e.times[t]-u)/i,l=u+c,d=[],f=[];l<e.times[t];)d.push(l),l+=c,f.push(s),s+=a;e.times=E(e.times,t,d),e.values=E(e.values,t,f)}}}},s.prototype={constructor:s,getPrevNode:function(){return this.nodeStack[this.currentIndent-2]},getCurrentNode:function(){return this.nodeStack[this.currentIndent-1]},getCurrentProp:function(){return this.currentProp},pushStack:function(e){this.nodeStack.push(e),this.currentIndent+=1},popStack:function(){this.nodeStack.pop(),this.currentIndent-=1},setCurrentProp:function(e,t){this.currentProp=e,this.currentPropName=t},parse:function(e){this.currentIndent=0,console.log("FBXTree: ",l),this.allNodes=new l,this.nodeStack=[],this.currentProp=[],this.currentPropName="";var t=this,n=e.split(/[\r\n]+/);return n.forEach((function(e,r){var o=e.match(/^[\s\t]*;/),i=e.match(/^[\s\t]*$/);if(!o&&!i){var a=e.match("^\\t{"+t.currentIndent+"}(\\w+):(.*){",""),s=e.match("^\\t{"+t.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),u=e.match("^\\t{"+(t.currentIndent-1)+"}}");a?t.parseNodeBegin(e,a):s?t.parseNodeProperty(e,s,n[++r]):u?t.popStack():e.match(/^[^\s\t}]/)&&t.parseNodePropertyContinued(e)}})),this.allNodes},parseNodeBegin:function(e,t){var n=t[1].trim().replace(/^"/,"").replace(/"$/,""),r=t[2].split(",").map((function(e){return e.trim().replace(/^"/,"").replace(/"$/,"")})),o={name:n},i=this.parseNodeAttr(r),a=this.getCurrentNode();0===this.currentIndent?this.allNodes.add(n,o):n in a?("PoseNode"===n?a.PoseNode.push(o):void 0!==a[n].id&&(a[n]={},a[n][a[n].id]=a[n]),""!==i.id&&(a[n][i.id]=o)):"number"===typeof i.id?(a[n]={},a[n][i.id]=o):"Properties70"!==n&&(a[n]="PoseNode"===n?[o]:o),"number"===typeof i.id&&(o.id=i.id),""!==i.name&&(o.attrName=i.name),""!==i.type&&(o.attrType=i.type),this.pushStack(o)},parseNodeAttr:function(e){var t=e[0];""!==e[0]&&(t=parseInt(e[0]),isNaN(t)&&(t=e[0]));var n="",r="";return e.length>1&&(n=e[1].replace(/^(\w+)::/,""),r=e[2]),{id:t,name:n,type:r}},parseNodeProperty:function(e,t,n){var r=t[1].replace(/^"/,"").replace(/"$/,"").trim(),o=t[2].replace(/^"/,"").replace(/"$/,"").trim();"Content"===r&&","===o&&(o=n.replace(/"/g,"").replace(/,$/,"").trim());var i=this.getCurrentNode();if("Properties70"!==i.name){if("C"===r){var a=o.split(",").slice(1),s=parseInt(a[0]),u=parseInt(a[1]),c=o.split(",").slice(3);r="connections",function(e,t){for(var n=0,r=e.length,o=t.length;n<o;n++,r++)e[r]=t[n]}(o=[s,u],c=c.map((function(e){return e.trim().replace(/^"/,"")}))),void 0===i[r]&&(i[r]=[])}"Node"===r&&(i.id=o),r in i&&Array.isArray(i[r])?i[r].push(o):"a"!==r?i[r]=o:i.a=o,this.setCurrentProp(i,r),"a"===r&&","!==o.slice(-1)&&(i.a=x(o))}else this.parseNodeSpecialProperty(e,r,o)},parseNodePropertyContinued:function(e){var t=this.getCurrentNode();t.a+=e,","!==e.slice(-1)&&(t.a=x(t.a))},parseNodeSpecialProperty:function(e,t,n){var r=n.split('",').map((function(e){return e.trim().replace(/^\"/,"").replace(/\s/,"_")})),o=r[0],i=r[1],a=r[2],s=r[3],u=r[4];switch(i){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":u=parseFloat(u);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":u=x(u)}this.getPrevNode()[o]={type:i,type2:a,flag:s,value:u},this.setCurrentProp(this.getPrevNode(),o)}},u.prototype={constructor:u,parse:function(e){var t=new c(e);t.skip(23);var n=t.getUint32();console.log("THREE.FBXLoader: FBX binary version: "+n);for(var r=new l;!this.endOfContent(t);){var o=this.parseNode(t,n);null!==o&&r.add(o.name,o)}return r},endOfContent:function(e){return e.size()%16===0?(e.getOffset()+160+16&-16)>=e.size():e.getOffset()+160+16>=e.size()},parseNode:function(e,t){var n={},r=t>=7500?e.getUint64():e.getUint32(),o=t>=7500?e.getUint64():e.getUint32(),i=(t>=7500?e.getUint64():e.getUint32(),e.getUint8()),a=e.getString(i);if(0===r)return null;for(var s=[],u=0;u<o;u++)s.push(this.parseProperty(e));var c=s.length>0?s[0]:"",l=s.length>1?s[1]:"",d=s.length>2?s[2]:"";for(n.singleProperty=1===o&&e.getOffset()===r;r>e.getOffset();){var f=this.parseNode(e,t);null!==f&&this.parseSubNode(a,n,f)}return n.propertyList=s,"number"===typeof c&&(n.id=c),""!==l&&(n.attrName=l),""!==d&&(n.attrType=d),""!==a&&(n.name=a),n},parseSubNode:function(e,t,n){if(!0===n.singleProperty){var r=n.propertyList[0];Array.isArray(r)?(t[n.name]=n,n.a=r):t[n.name]=r}else if("Connections"===e&&"C"===n.name){var o=[];n.propertyList.forEach((function(e,t){0!==t&&o.push(e)})),void 0===t.connections&&(t.connections=[]),t.connections.push(o)}else if("Properties70"===n.name){Object.keys(n).forEach((function(e){t[e]=n[e]}))}else if("Properties70"===e&&"P"===n.name){var i,a=n.propertyList[0],s=n.propertyList[1],u=n.propertyList[2],c=n.propertyList[3];0===a.indexOf("Lcl ")&&(a=a.replace("Lcl ","Lcl_")),0===s.indexOf("Lcl ")&&(s=s.replace("Lcl ","Lcl_")),i="Color"===s||"ColorRGB"===s||"Vector"===s||"Vector3D"===s||0===s.indexOf("Lcl_")?[n.propertyList[4],n.propertyList[5],n.propertyList[6]]:n.propertyList[4],t[a]={type:s,type2:u,flag:c,value:i}}else void 0===t[n.name]?"number"===typeof n.id?(t[n.name]={},t[n.name][n.id]=n):t[n.name]=n:"PoseNode"===n.name?(Array.isArray(t[n.name])||(t[n.name]=[t[n.name]]),t[n.name].push(n)):void 0===t[n.name][n.id]&&(t[n.name][n.id]=n)},parseProperty:function(e){var t=e.getString(1);switch(t){case"C":return e.getBoolean();case"D":return e.getFloat64();case"F":return e.getFloat32();case"I":return e.getInt32();case"L":return e.getInt64();case"R":var n=e.getUint32();return e.getArrayBuffer(n);case"S":n=e.getUint32();return e.getString(n);case"Y":return e.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":var r=e.getUint32(),o=e.getUint32(),i=e.getUint32();if(0===o)switch(t){case"b":case"c":return e.getBooleanArray(r);case"d":return e.getFloat64Array(r);case"f":return e.getFloat32Array(r);case"i":return e.getInt32Array(r);case"l":return e.getInt64Array(r)}"undefined"===typeof Zlib&&console.error("THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js");var a=new c(new Zlib.Inflate(new Uint8Array(e.getArrayBuffer(i))).decompress().buffer);switch(t){case"b":case"c":return a.getBooleanArray(r);case"d":return a.getFloat64Array(r);case"f":return a.getFloat32Array(r);case"i":return a.getInt32Array(r);case"l":return a.getInt64Array(r)}default:throw new Error("THREE.FBXLoader: Unknown property type "+t)}}},c.prototype={constructor:c,getOffset:function(){return this.offset},size:function(){return this.dv.buffer.byteLength},skip:function(e){this.offset+=e},getBoolean:function(){return 1===(1&this.getUint8())},getBooleanArray:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getBoolean());return t},getUint8:function(){var e=this.dv.getUint8(this.offset);return this.offset+=1,e},getInt16:function(){var e=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,e},getInt32:function(){var e=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,e},getInt32Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getInt32());return t},getUint32:function(){var e=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,e},getInt64:function(){var e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),2147483648&t?(t=4294967295&~t,4294967295===(e=4294967295&~e)&&(t=t+1&4294967295),-(4294967296*t+(e=e+1&4294967295))):4294967296*t+e},getInt64Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getInt64());return t},getUint64:function(){var e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),4294967296*t+e},getFloat32:function(){var e=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e},getFloat32Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getFloat32());return t},getFloat64:function(){var e=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e},getFloat64Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getFloat64());return t},getArrayBuffer:function(e){var t=this.dv.buffer.slice(this.offset,this.offset+e);return this.offset+=e,t},getString:function(e){for(var t=[],n=0;n<e;n++)t[n]=this.getUint8();var r=t.indexOf(0);return r>=0&&(t=t.slice(0,r)),THREE.LoaderUtils.decodeText(new Uint8Array(t))}},l.prototype={constructor:l,add:function(e,t){this[e]=t}};var h=[];function p(e,t,n,r){var o;switch(r.mappingType){case"ByPolygonVertex":o=e;break;case"ByPolygon":o=t;break;case"ByVertice":o=n;break;case"AllSame":o=r.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+r.mappingType)}"IndexToDirect"===r.referenceType&&(o=r.indices[o]);var i=o*r.dataSize,a=i+r.dataSize;return function(e,t,n,r){for(var o=n,i=0;o<r;o++,i++)e[i]=t[o];return e}(h,r.buffer,i,a)}var v=new THREE.Matrix4,m=new THREE.Euler,g=new THREE.Vector3,y=new THREE.Vector3,b=new THREE.Matrix4;function w(e){var t=new THREE.Matrix4;y.set(0,0,0),b.identity();var n,r=e.eulerOrder?_(e.eulerOrder):_(0);(e.translation&&y.fromArray(e.translation),e.rotationOffset&&y.add(g.fromArray(e.rotationOffset)),e.rotation)&&((n=e.rotation.map(THREE.Math.degToRad)).push(r),b.makeRotationFromEuler(m.fromArray(n)));e.preRotation&&((n=e.preRotation.map(THREE.Math.degToRad)).push(r),v.makeRotationFromEuler(m.fromArray(n)),b.premultiply(v));e.postRotation&&((n=e.postRotation.map(THREE.Math.degToRad)).push(r),v.makeRotationFromEuler(m.fromArray(n)),v.getInverse(v),b.multiply(v));return e.scale&&t.scale(g.fromArray(e.scale)),t.setPosition(y),t.multiply(b),t}function _(e){var t=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return 6===e?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),t[0]):t[e]}function x(e){return e.split(",").map((function(e){return parseFloat(e)}))}function k(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.byteLength),THREE.LoaderUtils.decodeText(new Uint8Array(e,t,n))}function E(e,t,n){return e.slice(0,t).concat(n).concat(e.slice(t))}return r}()},16453:function(e){e.exports=Object.assign((function(){}),{FACE_1:0,FACE_2:1,FACE_3:2,FACE_4:3,L_SHOULDER_1:4,R_SHOULDER_1:5,L_SHOULDER_2:6,R_SHOULDER_2:7,SELECT:8,START:9,DPAD_UP:12,DPAD_DOWN:13,DPAD_LEFT:14,DPAD_RIGHT:15,VENDOR:16})},44379:function(e){e.exports=function(e,t,n){this.type=e,this.index=t,this.pressed=n.pressed,this.value=n.value}},82667:function(e){e.exports={size:5,cellSize:10,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5},autogenerated:!0,cells:[{q:-1,r:0,s:1,h:1,walkable:!0,userData:{}},{q:0,r:-1,s:1,h:1,walkable:!0,userData:{}},{q:0,r:0,s:0,h:1,walkable:!0,userData:{}},{q:1,r:-1,s:0,h:1,walkable:!0,userData:{}},{q:-1,r:1,s:0,h:0,walkable:!0,userData:{}},{q:0,r:1,s:-1,h:0,walkable:!0,userData:{}},{q:1,r:0,s:-1,h:0,walkable:!0,userData:{}}]}},34657:function(e){function t(e){const t=document.getElementById(e),n=t.parentNode;try{n&&n.removeChild(t)}catch(r){}}function n(e,n,r){return new r((function(r,o){const i=n.timeout||5e3,a="script_"+Date.now()+"_"+Math.ceil(1e5*Math.random()),s=function(e,t){var n=document.createElement("script");return n.type="text/javascript",n.async=!0,n.id=t,n.src=e,n}(e,a),u=setTimeout((function(){o(new Error("Script request to "+e+" timed out")),t(a)}),i),c=function(e){clearTimeout(e)};s.addEventListener("load",(function(e){r({ok:!0}),c(u),t(a)})),s.addEventListener("error",(function(n){o(new Error("Script request to "+e+" failed "+n)),c(u),t(a)})),function(e){const t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}(s)}))}e.exports=function(e){return e=e||{},function(t,r){return n(t,r=r||{},e.Promise||Promise)}}},63471:function(e){var n=e.exports={VERSION:"0.1.1",PI:Math.PI,TAU:2*Math.PI,DEG_TO_RAD:.0174532925,RAD_TO_DEG:57.2957795,SQRT3:Math.sqrt(3),TILE:"tile",ENT:"entity",STR:"structure",HEX:"hex",SQR:"square",ABS:"abstract"};n.Board=function(e,t){if(!e)throw new Error("You must pass in a grid system for the board to use.");this.tiles=[],this.tileGroup=null,this.group=new THREE.Object3D,this.grid=null,this.overlay=null,this.finder=new n.AStarFinder(t),n.Loader.init(),this.setGrid(e)},n.Board.prototype={setEntityOnTile:function(e,t){var n=this.grid.cellToPixel(t.cell);e.position.copy(n),e.position.y+=e.heightOffset||0,e.tile&&(e.tile.entity=null),e.tile=t,t.entity=e},addTile:function(e){-1===this.tiles.indexOf(e)&&(this.tiles.push(e),this.snapTileToGrid(e),e.position.y=0,this.tileGroup.add(e.mesh),this.grid.add(e.cell),e.cell.tile=e)},removeTile:function(e){if(e){var t=this.tiles.indexOf(e);this.grid.remove(e.cell),-1!==t&&this.tiles.splice(t,1),e.dispose()}},removeAllTiles:function(){if(this.tileGroup)for(var e=this.tileGroup.children,t=0;t<e.length;t++)this.tileGroup.remove(e[t])},getTileAtCell:function(e){var t=this.grid.cellToHash(e);return e.tile||("undefined"!=typeof this.grid.cells[t]?this.grid.cells[t].tile:null)},snapToGrid:function(e){var t=this.grid.pixelToCell(e);e.copy(this.grid.cellToPixel(t))},snapTileToGrid:function(e){if(e.cell)e.position.copy(this.grid.cellToPixel(e.cell));else{var t=this.grid.pixelToCell(e.position);e.position.copy(this.grid.cellToPixel(t))}return e},getRandomTile:function(){var e=n.Tools.randomInt(0,this.tiles.length-1);return this.tiles[e]},findPath:function(e,t,n){return this.finder.findPath(e.cell,t.cell,n,this.grid)},setGrid:function(e){this.group.remove(this.tileGroup),this.grid&&e!==this.grid&&(this.removeAllTiles(),this.tiles.forEach((function(e){this.grid.remove(e.cell),e.dispose()})),this.grid.dispose()),this.grid=e,this.tiles=[],this.tileGroup=new THREE.Object3D,this.group.add(this.tileGroup)},generateOverlay:function(e){var t=new THREE.LineBasicMaterial({color:0,opacity:.3});this.overlay&&this.group.remove(this.overlay),this.overlay=new THREE.Object3D,this.grid.generateOverlay(e,this.overlay,t),this.group.add(this.overlay)},generateTilemap:function(e){this.reset();var t=this.grid.generateTiles(e);this.tiles=t,this.tileGroup=new THREE.Object3D;for(var n=0;n<t.length;n++)this.tileGroup.add(t[n].mesh);this.group.add(this.tileGroup)},reset:function(){this.removeAllTiles(),this.tileGroup&&this.group.remove(this.tileGroup)}},n.Board.prototype.constructor=n.Board,n.Cell=function(e,t,r,o){this.q=e||0,this.r=t||0,this.s=r||0,this.h=o||1,this.tile=null,this.userData={},this.walkable=!0,this._calcCost=0,this._priority=0,this._visited=!1,this._parent=null,this.uniqueID=n.LinkedList.generateID()},n.Cell.prototype={set:function(e,t,n){return this.q=e,this.r=t,this.s=n,this},copy:function(e){return this.q=e.q,this.r=e.r,this.s=e.s,this.h=e.h,this.tile=e.tile||null,this.userData=e.userData||{},this.walkable=e.walkable,this},add:function(e){return this.q+=e.q,this.r+=e.r,this.s+=e.s,this},equals:function(e){return this.q===e.q&&this.r===e.r&&this.s===e.s}},n.Cell.prototype.constructor=n.Cell,n.HexGrid=function(e){e=e||{},this.type=n.HEX,this.size=5,this.cellSize="undefined"==typeof e.cellSize?10:e.cellSize,this.cells={},this.numCells=0,this.extrudeSettings=null,this.autogenerated=!1;var t,r=[];for(t=0;6>t;t++)r.push(this._createVertex(t));for(this.cellShape=new THREE.Shape,this.cellShape.moveTo(r[0].x,r[0].y),t=1;6>t;t++)this.cellShape.lineTo(r[t].x,r[t].y);this.cellShape.lineTo(r[0].x,r[0].y),this.cellShape.autoClose=!0,this.cellGeo=new THREE.Geometry,this.cellGeo.vertices=r,this.cellGeo.verticesNeedUpdate=!0,this.cellShapeGeo=new THREE.ShapeGeometry(this.cellShape),this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this._hashDelimeter=".",this._directions=[new n.Cell(1,-1,0),new n.Cell(1,0,-1),new n.Cell(0,1,-1),new n.Cell(-1,1,0),new n.Cell(-1,0,1),new n.Cell(0,-1,1)],this._diagonals=[new n.Cell(2,-1,-1),new n.Cell(1,1,-2),new n.Cell(-1,2,-1),new n.Cell(-2,1,1),new n.Cell(-1,-1,2),new n.Cell(1,-2,1)],this._list=[],this._vec3=new THREE.Vector3,this._cel=new n.Cell,this._conversionVec=new THREE.Vector3,this._geoCache=[],this._matCache=[]},n.HexGrid.TWO_THIRDS=2/3,n.HexGrid.prototype={cellToPixel:function(e){return this._vec3.x=e.q*this._cellWidth*.75,this._vec3.y=e.h,this._vec3.z=-(e.s-e.r)*this._cellLength*.5,this._vec3},pixelToCell:function(e){var t=e.x*(n.HexGrid.TWO_THIRDS/this.cellSize),r=(-e.x/3+n.SQRT3/3*e.z)/this.cellSize;return this._cel.set(t,r,-t-r),this._cubeRound(this._cel)},getCellAt:function(e){var t=e.x*(n.HexGrid.TWO_THIRDS/this.cellSize),r=(-e.x/3+n.SQRT3/3*e.z)/this.cellSize;return this._cel.set(t,r,-t-r),this._cubeRound(this._cel),this.cells[this.cellToHash(this._cel)]},getNeighbors:function(e,t,n){var r,o,i=this._directions.length;for(this._list.length=0,r=0;i>r;r++)this._cel.copy(e),this._cel.add(this._directions[r]),!(o=this.cells[this.cellToHash(this._cel)])||n&&!n(e,o)||this._list.push(o);if(t)for(r=0;i>r;r++)this._cel.copy(e),this._cel.add(this._diagonals[r]),!(o=this.cells[this.cellToHash(this._cel)])||n&&!n(e,o)||this._list.push(o);return this._list},getRandomCell:function(){var e,t=0,r=n.Tools.randomInt(0,this.numCells);for(e in this.cells){if(t===r)return this.cells[e];t++}return this.cells[e]},cellToHash:function(e){return e.q+this._hashDelimeter+e.r+this._hashDelimeter+e.s},distance:function(e,t){return Math.max(Math.abs(e.q-t.q),Math.abs(e.r-t.r),Math.abs(e.s-t.s))+(t.h-e.h)},clearPath:function(){var e,t;for(e in this.cells)(t=this.cells[e])._calcCost=0,t._priority=0,t._parent=null,t._visited=!1},traverse:function(e){var t;for(t in this.cells)e(this.cells[t])},generateTile:function(e,t,r){var o=Math.abs(e.h);1>o&&(o=1);var i=this._geoCache[o];i||(this.extrudeSettings.amount=o,i=new THREE.ExtrudeGeometry(this.cellShape,this.extrudeSettings),this._geoCache[o]=i);var a=new n.Tile({size:this.cellSize,scale:t,cell:e,geometry:i,material:r});return e.tile=a,a},generateTiles:function(e){e=e||{};var t,r,o,i=[],a={tileScale:.95,cellSize:this.cellSize,material:null,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5}};for(t in a=n.Tools.merge(a,e),this.cellSize=a.cellSize,this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this.autogenerated=!0,this.extrudeSettings=a.extrudeSettings,this.cells)o=this.cells[t],(r=this.generateTile(o,a.tileScale,a.material)).position.copy(this.cellToPixel(o)),r.position.y=0,i.push(r);return i},generateTilePoly:function(e){e||(e=new THREE.MeshBasicMaterial({color:2405631}));var t=new THREE.Mesh(this.cellShapeGeo,e);return this._vec3.set(1,0,0),t.rotateOnAxis(this._vec3,n.PI/2),t},generate:function(e){var t,r,o,i;for(e=e||{},this.size="undefined"==typeof e.size?this.size:e.size,t=-this.size;t<this.size+1;t++)for(r=-this.size;r<this.size+1;r++)o=-t-r,Math.abs(t)<=this.size&&Math.abs(r)<=this.size&&Math.abs(o)<=this.size&&(i=new n.Cell(t,r,o),this.add(i))},generateOverlay:function(e,t,r){var o,i,a,s=this.cellShape.createPointsGeometry();for(o=-e;e+1>o;o++)for(i=-e;e+1>i;i++)if(a=-o-i,Math.abs(o)<=e&&Math.abs(i)<=e&&Math.abs(a)<=e){this._cel.set(o,i,a);var u=new THREE.Line(s,r);u.position.copy(this.cellToPixel(this._cel)),u.rotation.x=90*n.DEG_TO_RAD,t.add(u)}},add:function(e){var t=this.cellToHash(e);if(!this.cells[t])return this.cells[t]=e,this.numCells++,e},remove:function(e){var t=this.cellToHash(e);this.cells[t]&&(delete this.cells[t],this.numCells--)},dispose:function(){this.cells=null,this.numCells=0,this.cellShape=null,this.cellGeo.dispose(),this.cellGeo=null,this.cellShapeGeo.dispose(),this.cellShapeGeo=null,this._list=null,this._vec3=null,this._conversionVec=null,this._geoCache=null,this._matCache=null},load:function(e,t,r){var o=this;n.Tools.getJSON({url:e,callback:function(e){o.fromJSON(e),t.call(r||null,e)},cache:!1,scope:o})},fromJSON:function(e){var t,r,o=e.cells;for(this.cells={},this.numCells=0,this.size=e.size,this.cellSize=e.cellSize,this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this.extrudeSettings=e.extrudeSettings,this.autogenerated=e.autogenerated,t=0;t<o.length;t++)(r=new n.Cell).copy(o[t]),this.add(r)},toJSON:function(){var e,t,n={size:this.size,cellSize:this.cellSize,extrudeSettings:this.extrudeSettings,autogenerated:this.autogenerated},r=[];for(t in this.cells)e=this.cells[t],r.push({q:e.q,r:e.r,s:e.s,h:e.h,walkable:e.walkable,userData:e.userData});return n.cells=r,n},_createVertex:function(e){var t=n.TAU/6*e;return new THREE.Vector3(this.cellSize*Math.cos(t),this.cellSize*Math.sin(t),0)},_cubeRound:function(e){var t=Math.round(e.q),n=Math.round(e.r),r=Math.round(e.s),o=Math.abs(t-e.q),i=Math.abs(n-e.r),a=Math.abs(r-e.s);return o>i&&o>a?t=-n-r:i>a?n=-t-r:r=-t-n,this._cel.set(t,n,r)}},n.HexGrid.prototype.constructor=n.HexGrid,n.SqrGrid=function(e){e=e||{},this.type=n.SQR,this.size=5,this.cellSize="undefined"==typeof e.cellSize?10:e.cellSize,this.cells={},this.numCells=0,this.extrudeSettings=null,this.autogenerated=!1;var t=[];t.push(new THREE.Vector3),t.push(new THREE.Vector3(-this.cellSize,this.cellSize)),t.push(new THREE.Vector3(this.cellSize,this.cellSize)),t.push(new THREE.Vector3(this.cellSize,-this.cellSize)),this.cellShape=new THREE.Shape,this.cellShape.moveTo(-this.cellSize,-this.cellSize),this.cellShape.lineTo(-this.cellSize,this.cellSize),this.cellShape.lineTo(this.cellSize,this.cellSize),this.cellShape.lineTo(this.cellSize,-this.cellSize),this.cellShape.lineTo(-this.cellSize,-this.cellSize),this.cellGeo=new THREE.Geometry,this.cellGeo.vertices=t,this.cellGeo.verticesNeedUpdate=!0,this.cellShapeGeo=new THREE.ShapeGeometry(this.cellShape),this._fullCellSize=2*this.cellSize,this._hashDelimeter=".",this._directions=[new n.Cell(1,0,0),new n.Cell(0,-1,0),new n.Cell(-1,0,0),new n.Cell(0,1,0)],this._diagonals=[new n.Cell(-1,-1,0),new n.Cell(-1,1,0),new n.Cell(1,1,0),new n.Cell(1,-1,0)],this._list=[],this._vec3=new THREE.Vector3,this._cel=new n.Cell,this._conversionVec=new THREE.Vector3,this._geoCache=[],this._matCache=[]},n.SqrGrid.prototype={cellToPixel:function(e){return this._vec3.x=e.q*this._fullCellSize,this._vec3.y=e.h,this._vec3.z=e.r*this._fullCellSize,this._vec3},pixelToCell:function(e){var t=Math.round(e.x/this._fullCellSize),n=Math.round(e.z/this._fullCellSize);return this._cel.set(t,n,0)},getCellAt:function(e){var t=Math.round(e.x/this._fullCellSize),n=Math.round(e.z/this._fullCellSize);return this._cel.set(t,n),this.cells[this.cellToHash(this._cel)]},getNeighbors:function(e,t,n){var r,o,i=this._directions.length;for(this._list.length=0,r=0;i>r;r++)this._cel.copy(e),this._cel.add(this._directions[r]),!(o=this.cells[this.cellToHash(this._cel)])||n&&!n(e,o)||this._list.push(o);if(t)for(r=0;i>r;r++)this._cel.copy(e),this._cel.add(this._diagonals[r]),!(o=this.cells[this.cellToHash(this._cel)])||n&&!n(e,o)||this._list.push(o);return this._list},getRandomCell:function(){var e,t=0,r=n.Tools.randomInt(0,this.numCells);for(e in this.cells){if(t===r)return this.cells[e];t++}return this.cells[e]},cellToHash:function(e){return e.q+this._hashDelimeter+e.r},distance:function(e,t){return Math.max(Math.abs(e.q-t.q),Math.abs(e.r-t.r))+(t.h-e.h)},clearPath:function(){var e,t;for(e in this.cells)(t=this.cells[e])._calcCost=0,t._priority=0,t._parent=null,t._visited=!1},traverse:function(e){var t;for(t in this.cells)e(this.cells[t])},generateTile:function(e,t,r){var o=Math.abs(e.h);1>o&&(o=1);var i=this._geoCache[o];i||(this.extrudeSettings.amount=o,i=new THREE.ExtrudeGeometry(this.cellShape,this.extrudeSettings),this._geoCache[o]=i);var a=new n.Tile({size:this.cellSize,scale:t,cell:e,geometry:i,material:r});return e.tile=a,a},generateTiles:function(e){e=e||{};var t,r,o,i=[],a={tileScale:.95,cellSize:this.cellSize,material:null,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5}};for(t in a=n.Tools.merge(a,e),this.cellSize=a.cellSize,this._fullCellSize=2*this.cellSize,this.autogenerated=!0,this.extrudeSettings=a.extrudeSettings,this.cells)o=this.cells[t],(r=this.generateTile(o,a.tileScale,a.material)).position.copy(this.cellToPixel(o)),r.position.y=0,i.push(r);return i},generateTilePoly:function(e){e||(e=new THREE.MeshBasicMaterial({color:2405631}));var t=new THREE.Mesh(this.cellShapeGeo,e);return this._vec3.set(1,0,0),t.rotateOnAxis(this._vec3,n.PI/2),t},generate:function(e){e=e||{},this.size="undefined"==typeof e.size?this.size:e.size;var t,r,o,i=Math.ceil(this.size/2);for(t=-i;i>t;t++)for(r=-i;i>r;r++)o=new n.Cell(t,r+1),this.add(o)},generateOverlay:function(e,t,r){var o,i,a=Math.ceil(e/2);for(o=-a;a>o;o++)for(i=-a;a>i;i++){this._cel.set(o,i);var s=new THREE.Line(this.cellGeo,r);s.position.copy(this.cellToPixel(this._cel)),s.rotation.x=90*n.DEG_TO_RAD,t.add(s)}},add:function(e){var t=this.cellToHash(e);if(!this.cells[t])return this.cells[t]=e,this.numCells++,e},remove:function(e){var t=this.cellToHash(e);this.cells[t]&&(delete this.cells[t],this.numCells--)},dispose:function(){this.cells=null,this.numCells=0,this.cellShape=null,this.cellGeo.dispose(),this.cellGeo=null,this.cellShapeGeo.dispose(),this.cellShapeGeo=null,this._list=null,this._vec3=null,this._conversionVec=null,this._geoCache=null,this._matCache=null},load:function(e,t,r){n.Tools.getJSON({url:e,callback:function(e){this.fromJSON(e),t.call(r||null,e)},cache:!1,scope:this})},fromJSON:function(e){var t,r,o=e.cells;for(this.cells={},this.numCells=0,this.size=e.size,this.cellSize=e.cellSize,this._fullCellSize=2*this.cellSize,this.extrudeSettings=e.extrudeSettings,this.autogenerated=e.autogenerated,t=0;t<o.length;t++)(r=new n.Cell).copy(o[t]),this.add(r)},toJSON:function(){var e,t,n={size:this.size,cellSize:this.cellSize,extrudeSettings:this.extrudeSettings,autogenerated:this.autogenerated},r=[];for(t in this.cells)e=this.cells[t],r.push({q:e.q,r:e.r,s:e.s,h:e.h,walkable:e.walkable,userData:e.userData});return n.cells=r,n}},n.SqrGrid.prototype.constructor=n.SqrGrid,n.Tile=function(e){e=e||{};var t={cell:null,geometry:null,material:null};if(!(t=n.Tools.merge(t,e)).cell||!t.geometry)throw new Error("Missing vg.Tile configuration");this.cell=t.cell,this.cell.tile&&this.cell.tile!==this&&this.cell.tile.dispose(),this.cell.tile=this,this.uniqueID=n.Tools.generateID(),this.geometry=t.geometry,this.material=t.material,this.material||(this.material=new THREE.MeshPhongMaterial({color:n.Tools.randomizeRGB("30, 30, 30",13)})),this.objectType=n.TILE,this.entity=null,this.userData={},this.selected=!1,this.highlight="0x0084cc",this.mesh=new THREE.Mesh(this.geometry,this.material),this.mesh.userData.structure=this,this.position=this.mesh.position,this.rotation=this.mesh.rotation,this.rotation.x=-90*n.DEG_TO_RAD,this.mesh.scale.set(t.scale,t.scale,1),this.material.emissive?this._emissive=this.material.emissive.getHex():this._emissive=null},n.Tile.prototype={select:function(){return this.material.emissive&&this.material.emissive.setHex(this.highlight),this.selected=!0,this},deselect:function(){return null!==this._emissive&&this.material.emissive&&this.material.emissive.setHex(this._emissive),this.selected=!1,this},toggle:function(){return this.selected?this.deselect():this.select(),this},dispose:function(){this.cell&&this.cell.tile&&(this.cell.tile=null),this.cell=null,this.position=null,this.rotation=null,this.mesh.parent&&this.mesh.parent.remove(this.mesh),this.mesh.userData.structure=null,this.mesh=null,this.material=null,this.userData=null,this.entity=null,this.geometry=null,this._emissive=null}},n.Tile.prototype.constructor=n.Tile,function(){var e=function(){this.obj=null,this.next=null,this.prev=null,this.free=!0},t=function(){this.first=null,this.last=null,this.length=0,this.objToNodeMap={},this.uniqueID=Date.now()+""+Math.floor(1e3*Math.random()),this.sortArray=[]};t.generateID=function(){return Math.random().toString(36).slice(2)+Date.now()},(t.prototype={getNode:function(e){return this.objToNodeMap[e.uniqueID]},addNode:function(n){var r=new e;if(!n.uniqueID)try{n.uniqueID=t.generateID()}catch(o){return console.error("[LinkedList.addNode] obj passed is immutable: cannot attach necessary identifier"),null}return r.obj=n,r.free=!1,this.objToNodeMap[n.uniqueID]=r,r},swapObjects:function(e,t){this.objToNodeMap[e.obj.uniqueID]=null,this.objToNodeMap[t.uniqueID]=e,e.obj=t},add:function(e){var t=this.objToNodeMap[e.uniqueID];if(t){if(!1===t.free)return;t.obj=e,t.free=!1,t.next=null,t.prev=null}else t=this.addNode(e);if(this.first){if(!this.last)throw new Error("[LinkedList.add] No last in the list -- that shouldn't happen here");this.last.next=t,t.prev=this.last,this.last=t,t.next=null}else this.first=t,this.last=t,t.next=null,t.prev=null;this.length++,this.showDebug&&this.dump("after add")},has:function(e){return!!this.objToNodeMap[e.uniqueID]},moveUp:function(e){this.dump("before move up");var t=this.getNode(e);if(!t)throw"Oops, trying to move an object that isn't in the list";if(t.prev){var n=t.prev,r=n.prev;t==this.last&&(this.last=n);var o=t.next;r&&(r.next=t),t.next=n,t.prev=n.prev,n.next=o,n.prev=t,this.first==n&&(this.first=t)}},moveDown:function(e){var t=this.getNode(e);if(!t)throw"Oops, trying to move an object that isn't in the list";if(t.next){var n=t.next;this.moveUp(n.obj),this.last==n&&(this.last=t)}},sort:function(e){var t,n,r=this.sortArray,o=this.first;for(r.length=0;o;)r.push(o.obj),o=o.next;for(this.clear(),r.sort(e),n=r.length,t=0;n>t;t++)this.add(r[t])},remove:function(e){var t=this.getNode(e);return!(!t||t.free)&&(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.prev||(this.first=t.next),t.next||(this.last=t.prev),t.free=!0,t.prev=null,t.next=null,this.length--,!0)},shift:function(){var e=this.first;return 0===this.length?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.first=e.next,e.next||(this.last=null),e.free=!0,e.prev=null,e.next=null,this.length--,e.obj)},pop:function(){var e=this.last;return 0===this.length?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.last=e.prev,e.prev||(this.first=null),e.free=!0,e.prev=null,e.next=null,this.length--,e.obj)},concat:function(e){for(var t=e.first;t;)this.add(t.obj),t=t.next},clear:function(){for(var e=this.first;e;)e.free=!0,e=e.next;this.first=null,this.length=0},dispose:function(){for(var e=this.first;e;)e.obj=null,e=e.next;this.first=null,this.objToNodeMap=null},dump:function(e){console.log("===================="+e+"=====================");for(var t=this.first;t;)console.log("{"+t.obj.toString()+"} previous="+(t.prev?t.prev.obj:"NULL")),t=t.next();console.log("==================================="),console.log("Last: {"+(this.last?this.last.obj:"NULL")+"} First: {"+(this.first?this.first.obj:"NULL")+"}")}}).constructor=t,n.LinkedList=t}(),function(){var e=function(e,t,n,r,o){this._listener=t,this.isOnce=n,this.context=r,this.signal=e,this._priority=o||0};(e.prototype={active:!0,params:null,execute:function(e){var t,n;return this.active&&this._listener&&(n=this.params?this.params.concat(e):e,t=this._listener.apply(this.context,n),this.isOnce&&this.detach()),t},detach:function(){return this.isBound()?this.signal.remove(this._listener,this.context):null},isBound:function(){return!!this.signal&&!!this._listener},_destroy:function(){delete this.signal,delete this._listener,delete this.context},toString:function(){return"[SignalBinding isOnce:"+this.isOnce+", isBound:"+this.isBound()+", active:"+this.active+"]"}}).constructor=e;var t=function(){this._bindings=[],this._prevParams=null;var e=this;this.dispatch=function(){t.prototype.dispatch.apply(e,arguments)}};t.prototype={memorize:!1,_shouldPropagate:!0,active:!0,validateListener:function(e,t){if("function"!=typeof e)throw new Error("Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",t))},_registerListener:function(t,n,r,o){var i,a=this._indexOfListener(t,r);if(-1!==a){if((i=this._bindings[a]).isOnce!==n)throw new Error("You cannot add"+(n?"":"Once")+"() then add"+(n?"Once":"")+"() the same listener without removing the relationship first.")}else i=new e(this,t,n,r,o),this._addBinding(i);return this.memorize&&this._prevParams&&i.execute(this._prevParams),i},_addBinding:function(e){var t=this._bindings.length;do{t--}while(this._bindings[t]&&e._priority<=this._bindings[t]._priority);this._bindings.splice(t+1,0,e)},_indexOfListener:function(e,t){for(var n,r=this._bindings.length;r--;)if((n=this._bindings[r])._listener===e&&n.context===t)return r;return-1},has:function(e,t){return-1!==this._indexOfListener(e,t)},add:function(e,t,n){return this.validateListener(e,"add"),this._registerListener(e,!1,t,n)},addOnce:function(e,t,n){return this.validateListener(e,"addOnce"),this._registerListener(e,!0,t,n)},remove:function(e,t){this.validateListener(e,"remove");var n=this._indexOfListener(e,t);return-1!==n&&(this._bindings[n]._destroy(),this._bindings.splice(n,1)),e},removeAll:function(e){"undefined"==typeof e&&(e=null);for(var t=this._bindings.length;t--;)e?this._bindings[t].context===e&&(this._bindings[t]._destroy(),this._bindings.splice(t,1)):this._bindings[t]._destroy();e||(this._bindings.length=0)},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(){if(this.active){var e,t=Array.prototype.slice.call(arguments),n=this._bindings.length;if(this.memorize&&(this._prevParams=t),n){e=this._bindings.slice(),this._shouldPropagate=!0;do{n--}while(e[n]&&this._shouldPropagate&&!1!==e[n].execute(t))}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return"[Signal active:"+this.active+" numListeners:"+this.getNumListeners()+"]"}},t.prototype.constructor=t,n.Signal=t}(),n.AStarFinder=function(e){e=e||{};var t={allowDiagonal:!1,heuristicFilter:null};t=n.Tools.merge(t,e),this.allowDiagonal=t.allowDiagonal,this.heuristicFilter=t.heuristicFilter,this.list=new n.LinkedList},n.AStarFinder.prototype={findPath:function(e,t,r,o){var i,a,s,u,c,l;for(r=r||this.heuristicFilter,o.clearPath(),this.list.clear(),this.list.add(e);this.list.length>0;){if(this.list.sort(this.compare),(i=this.list.shift())._visited=!0,i===t)return n.PathUtil.backtrace(t);for(c=0,l=(s=o.getNeighbors(i,this.allowDiagonal,r)).length;l>c;c++)if((u=s[c]).walkable&&(a=i._calcCost+o.distance(i,u),!u._visited||a<u._calcCost)){if(u._visited=!0,u._parent=i,u._calcCost=a,u._priority=a+o.distance(t,u),u===t)return n.PathUtil.backtrace(t);this.list.add(u)}}return null},compare:function(e,t){return e._priority-t._priority}},n.AStarFinder.prototype.constructor=n.AStarFinder,n.PathUtil={backtrace:function(e){for(var t=[e];e._parent;)e=e._parent,t.push(e);return t.reverse()},biBacktrace:function(e,t){var n=this.backtrace(e),r=this.backtrace(t);return n.concat(r.reverse())},pathLength:function(e){var t,n,r,o,i,a=0;for(t=1;t<e.length;++t)n=e[t-1],r=e[t],o=n[0]-r[0],i=n[1]-r[1],a+=Math.sqrt(o*o+i*i);return a},interpolate:function(e,t,n,r){var o,i,a,s,u,c,l=Math.abs,d=[];for(o=n>e?1:-1,i=r>t?1:-1,u=(a=l(n-e))-(s=l(r-t));e!==n||t!==r;)d.push([e,t]),(c=2*u)>-s&&(u-=s,e+=o),a>c&&(u+=a,t+=i);return d},expandPath:function(e){var t,n,r,o,i,a,s=[],u=e.length;if(2>u)return s;for(i=0;u-1>i;++i)for(t=e[i],n=e[i+1],o=(r=this.interpolate(t[0],t[1],n[0],n[1])).length,a=0;o-1>a;++a)s.push(r[a]);return s.push(e[u-1]),s},smoothenPath:function(e,t){var n,r,o,i,a,s,u,c,l,d,f,h,p=t.length,v=t[0][0],m=t[0][1],g=t[p-1][0],y=t[p-1][1];for(a=[[n=v,r=m]],u=2;p>u;++u){for(o=(l=t[u])[0],i=l[1],d=this.interpolate(n,r,o,i),h=!1,c=1;c<d.length;++c)if(f=d[c],!e.isWalkableAt(f[0],f[1])){h=!0;break}h&&(s=t[u-1],a.push(s),n=s[0],r=s[1])}return a.push([g,y]),a},compressPath:function(e){if(e.length<3)return e;var t,n,r,o,i,a,s=[],u=e[0][0],c=e[0][1],l=e[1][0],d=e[1][1],f=l-u,h=d-c;for(f/=i=Math.sqrt(f*f+h*h),h/=i,s.push([u,c]),a=2;a<e.length;a++)t=l,n=d,r=f,o=h,f=(l=e[a][0])-t,h=(d=e[a][1])-n,h/=i=Math.sqrt(f*f+h*h),((f/=i)!==r||h!==o)&&s.push([t,n]);return s.push([l,d]),s}},n.Loader={manager:null,imageLoader:null,crossOrigin:!1,init:function(e){this.crossOrigin=e||!1,this.manager=new THREE.LoadingManager((function(){}),(function(){}),(function(){console.warn("Error loading images")})),this.imageLoader=new THREE.ImageLoader(this.manager),this.imageLoader.crossOrigin=e},loadTexture:function(e,t,n,r){var o=new THREE.Texture(null,t);return this.imageLoader.load(e,(function(e){o.image=e,o.needsUpdate=!0,n&&n(o)}),null,(function(e){r&&r(e)})),o.sourceFile=e,o}},n.MouseCaster=function(e,t,r){this.down=!1,this.rightDown=!1,this.pickedObject=null,this.selectedObject=null,this.allHits=null,this.active=!0,this.shift=!1,this.ctrl=!1,this.wheel=0,this.position=new THREE.Vector3,this.screenPosition=new THREE.Vector2,this.signal=new n.Signal,this.group=e,this._camera=t,this._raycaster=new THREE.Raycaster,this._preventDefault=!1,(r=r||document).addEventListener("mousemove",this._onDocumentMouseMove.bind(this),!1),r.addEventListener("mousedown",this._onDocumentMouseDown.bind(this),!1),r.addEventListener("mouseup",this._onDocumentMouseUp.bind(this),!1),r.addEventListener("mousewheel",this._onMouseWheel.bind(this),!1),r.addEventListener("DOMMouseScroll",this._onMouseWheel.bind(this),!1)},n.MouseCaster.OVER="over",n.MouseCaster.OUT="out",n.MouseCaster.DOWN="down",n.MouseCaster.UP="up",n.MouseCaster.CLICK="click",n.MouseCaster.WHEEL="wheel",n.MouseCaster.prototype={update:function(){if(this.active){this._raycaster.setFromCamera(this.screenPosition,this._camera);var e,t,r=this._raycaster.intersectObject(this.group,!0);r.length>0?(t=(e=r[0]).object.userData.structure,this.pickedObject!=t&&(this.pickedObject&&this.signal.dispatch(n.MouseCaster.OUT,this.pickedObject),this.pickedObject=t,this.selectedObject=null,this.signal.dispatch(n.MouseCaster.OVER,this.pickedObject)),this.position.copy(e.point),this.screenPosition.z=e.distance):(this.pickedObject&&this.signal.dispatch(n.MouseCaster.OUT,this.pickedObject),this.pickedObject=null,this.selectedObject=null),this.allHits=r}},preventDefault:function(){this._preventDefault=!0},_onDocumentMouseDown:function(e){return(e=e||window.event).preventDefault(),this._preventDefault?(this._preventDefault=!1,!1):(this.pickedObject&&(this.selectedObject=this.pickedObject),this.shift=e.shiftKey,this.ctrl=e.ctrlKey,this.down=1===e.which,this.rightDown=3===e.which,void this.signal.dispatch(n.MouseCaster.DOWN,this.pickedObject))},_onDocumentMouseUp:function(e){return e.preventDefault(),this._preventDefault?(this._preventDefault=!1,!1):(this.shift=e.shiftKey,this.ctrl=e.ctrlKey,this.signal.dispatch(n.MouseCaster.UP,this.pickedObject),this.selectedObject&&this.pickedObject&&this.selectedObject.uniqueID===this.pickedObject.uniqueID&&this.signal.dispatch(n.MouseCaster.CLICK,this.pickedObject),this.down=1!==e.which&&this.down,void(this.rightDown=3!==e.which&&this.rightDown))},_onDocumentMouseMove:function(e){e.preventDefault(),this.screenPosition.x=e.clientX/window.innerWidth*2-1,this.screenPosition.y=-e.clientY/window.innerHeight*2+1},_onMouseWheel:function(e){if(this.active){e.preventDefault(),e.stopPropagation();var t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.detail&&(t=-e.detail),t>0?this.wheel++:this.wheel--,this.signal.dispatch(n.MouseCaster.WHEEL,this.wheel)}}},n.MouseCaster.prototype.constructor=n.MouseCaster,n.Scene=function(e,t){var r={element:document.body,alpha:!0,antialias:!0,clearColor:"#fff",sortObjects:!1,fog:null,light:new THREE.DirectionalLight(16777215),lightPosition:null,cameraType:"PerspectiveCamera",cameraPosition:null,orthoZoom:4},o={minDistance:100,maxDistance:1e3,zoomSpeed:2,noZoom:!1};if(r=n.Tools.merge(r,e),"boolean"!=typeof t&&(o=n.Tools.merge(o,t)),this.renderer=new THREE.WebGLRenderer({alpha:r.alpha,antialias:r.antialias}),this.renderer.setClearColor(r.clearColor,0),this.renderer.sortObjects=r.sortObjects,this.width=window.innerWidth,this.height=window.innerHeight,this.orthoZoom=r.orthoZoom,this.container=new THREE.Scene,this.container.fog=r.fog,this.container.add(new THREE.AmbientLight(14540253)),r.lightPosition||r.light.position.set(-1,1,-1).normalize(),this.container.add(r.light),"OrthographicCamera"===r.cameraType){var i=window.innerWidth/this.orthoZoom,a=window.innerHeight/this.orthoZoom;this.camera=new THREE.OrthographicCamera(i/-2,i/2,a/2,a/-2,1,5e3)}else this.camera=new THREE.PerspectiveCamera(50,this.width/this.height,1,5e3);this.contolled=!!t,this.contolled&&(this.controls=new THREE.OrbitControls(this.camera,this.renderer.domElement),this.controls.minDistance=o.minDistance,this.controls.maxDistance=o.maxDistance,this.controls.zoomSpeed=o.zoomSpeed,this.controls.noZoom=o.noZoom),r.cameraPosition&&this.camera.position.copy(r.cameraPosition),window.addEventListener("resize",function(){if(this.width=window.innerWidth,this.height=window.innerHeight,"OrthographicCamera"===this.camera.type){var e=this.width/this.orthoZoom,t=this.height/this.orthoZoom;this.camera.left=e/-2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=t/-2}else this.camera.aspect=this.width/this.height;this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height)}.bind(this),!1),this.attachTo(r.element)},n.Scene.prototype={attachTo:function(e){e.style.width=this.width+"px",e.style.height=this.height+"px",this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(this.width,this.height),e.appendChild(this.renderer.domElement)},add:function(e){this.container.add(e)},remove:function(e){this.container.remove(e)},render:function(){this.contolled&&this.controls.update(),this.renderer.render(this.container,this.camera)},updateOrthoZoom:function(){if(this.orthoZoom<=0)this.orthoZoom=0;else{var e=this.width/this.orthoZoom,t=this.height/this.orthoZoom;this.camera.left=e/-2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=t/-2,this.camera.updateProjectionMatrix()}},focusOn:function(e){this.camera.lookAt(e.position)}},n.Scene.prototype.constructor=n.Scene,n.SelectionManager=function(e){this.mouse=e,this.onSelect=new n.Signal,this.onDeselect=new n.Signal,this.selected=null,this.toggleSelection=!1,this.mouse.signal.add(this.onMouse,this)},n.SelectionManager.prototype={select:function(e,t){e&&(t=t||!0,this.selected!==e&&this.clearSelection(t),e.selected?this.toggleSelection&&(t&&this.onDeselect.dispatch(e),e.deselect()):e.select(),this.selected=e,t&&this.onSelect.dispatch(e))},clearSelection:function(e){e=e||!0,this.selected&&(e&&this.onDeselect.dispatch(this.selected),this.selected.deselect()),this.selected=null},onMouse:function(e,t){switch(e){case n.MouseCaster.DOWN:t||this.clearSelection();break;case n.MouseCaster.CLICK:this.select(t)}}},n.SelectionManager.prototype.constructor=n.SelectionManager,n.Tools={clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},sign:function(e){return e&&e/Math.abs(e)},random:function(e,t){return 1===arguments.length?Math.random()*e-.5*e:Math.random()*(t-e)+e},randomInt:function(e,t){return 1===arguments.length?Math.random()*e-.5*e|0:Math.random()*(t-e+1)+e|0},normalize:function(e,t,n){return(e-t)/(n-t)},getShortRotation:function(e){return(e%=this.TAU)>this.PI?e-=this.TAU:e<-this.PI&&(e+=this.TAU),e},generateID:function(){return Math.random().toString(36).slice(2)+Date.now()},isPlainObject:function(e){if("object"!=typeof e||e.nodeType||e===e.window)return!1;try{if(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},merge:function(e,t){var n=this,r=Array.isArray(t),o=r&&[]||{};return r?(e=e||[],o=o.concat(e),t.forEach((function(t,r){"undefined"==typeof o[r]?o[r]=t:n.isPlainObject(t)?o[r]=n.merge(e[r],t):-1===e.indexOf(t)&&o.push(t)})),o):(e&&n.isPlainObject(e)&&Object.keys(e).forEach((function(t){o[t]=e[t]})),Object.keys(t).forEach((function(r){t[r]&&n.isPlainObject(t[r])&&e[r]?o[r]=n.merge(e[r],t[r]):o[r]=t[r]})),o)},now:function(){return window.nwf?window.nwf.system.Performance.elapsedTime:window.performance.now()},empty:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},radixSort:function(e,t,n,r){if(r=r||31,!((t=t||0)>=(n=n||e.length)-1||0>r)){for(var o=t,i=n,a=1<<r;i>o;)if(e[o]&a){--i;var s=e[o];e[o]=e[i],e[i]=s}else++o;this.radixSort(e,t,i,r-1),this.radixSort(e,i,n,r-1)}},randomizeRGB:function(e,t){var n,r,o=e.split(","),i="rgb(";for(t=this.randomInt(t),n=0;3>n;n++)0>(r=parseInt(o[n])+t)?r=0:r>255&&(r=255),i+=r+",";return(i=i.substring(0,i.length-1))+")"},getJSON:function(e){var t=new XMLHttpRequest,n="undefined"!=typeof e.cache&&e.cache?e.url:e.url+"?t="+Math.floor(1e4*Math.random())+Date.now();t.onreadystatechange=function(){if(200!==this.status)0!==this.status&&console.warn("[Tools.getJSON] Error: "+this.status+" ("+this.statusText+") :: "+e.url);else{var t=null;try{t=JSON.parse(this.responseText)}catch(n){return}e.callback.call(e.scope||null,t)}},t.open("GET",n,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Content-Type","application/json"),t.send("")}}},77454:function(){!function(e){var t="KeyboardEvent"in e;t||(e.KeyboardEvent=function(){throw TypeError("Illegal constructor")}),"DOM_KEY_LOCATION_STANDARD"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_STANDARD=0),"DOM_KEY_LOCATION_LEFT"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_LEFT=1),"DOM_KEY_LOCATION_RIGHT"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_RIGHT=2),"DOM_KEY_LOCATION_NUMPAD"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD=3);var n=window.KeyboardEvent.DOM_KEY_LOCATION_STANDARD,r=window.KeyboardEvent.DOM_KEY_LOCATION_LEFT,o=window.KeyboardEvent.DOM_KEY_LOCATION_RIGHT,i=window.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;function a(e,t){return-1!==String(e).indexOf(t)}var s=a(navigator.platform,"Win")?"win":a(navigator.platform,"Mac")?"mac":a(navigator.platform,"CrOS")?"cros":a(navigator.platform,"Linux")?"linux":a(navigator.userAgent,"iPad")||a(navigator.platform,"iPod")||a(navigator.platform,"iPhone")?"ios":"",u=a(navigator.userAgent,"Chrome/")?"chrome":a(navigator.vendor,"Apple")?"safari":a(navigator.userAgent,"MSIE")?"ie":a(navigator.userAgent,"Gecko/")?"moz":a(navigator.userAgent,"Opera/")?"opera":"",c=u+"-"+s;function l(e,t,n){c!==t&&u!==t&&s!==t||Object.keys(n).forEach((function(t){e[t]=n[t]}))}var d={3:{code:"Cancel"},6:{code:"Help"},8:{code:"Backspace"},9:{code:"Tab"},12:{code:"Clear"},13:{code:"Enter"},16:{code:"Shift"},17:{code:"Control"},18:{code:"Alt"},19:{code:"Pause"},20:{code:"CapsLock"},21:{code:"KanaMode"},22:{code:"HangulMode"},23:{code:"JunjaMode"},24:{code:"FinalMode"},25:{code:"KanjiMode"},27:{code:"Escape"},28:{code:"Convert"},29:{code:"NonConvert"},30:{code:"Accept"},31:{code:"ModeChange"},32:{code:"Space"},33:{code:"PageUp"},34:{code:"PageDown"},35:{code:"End"},36:{code:"Home"},37:{code:"ArrowLeft"},38:{code:"ArrowUp"},39:{code:"ArrowRight"},40:{code:"ArrowDown"},41:{code:"Select"},42:{code:"Print"},43:{code:"Execute"},44:{code:"PrintScreen"},45:{code:"Insert"},46:{code:"Delete"},47:{code:"Help"},48:{code:"Digit0",keyCap:"0"},49:{code:"Digit1",keyCap:"1"},50:{code:"Digit2",keyCap:"2"},51:{code:"Digit3",keyCap:"3"},52:{code:"Digit4",keyCap:"4"},53:{code:"Digit5",keyCap:"5"},54:{code:"Digit6",keyCap:"6"},55:{code:"Digit7",keyCap:"7"},56:{code:"Digit8",keyCap:"8"},57:{code:"Digit9",keyCap:"9"},65:{code:"KeyA",keyCap:"a"},66:{code:"KeyB",keyCap:"b"},67:{code:"KeyC",keyCap:"c"},68:{code:"KeyD",keyCap:"d"},69:{code:"KeyE",keyCap:"e"},70:{code:"KeyF",keyCap:"f"},71:{code:"KeyG",keyCap:"g"},72:{code:"KeyH",keyCap:"h"},73:{code:"KeyI",keyCap:"i"},74:{code:"KeyJ",keyCap:"j"},75:{code:"KeyK",keyCap:"k"},76:{code:"KeyL",keyCap:"l"},77:{code:"KeyM",keyCap:"m"},78:{code:"KeyN",keyCap:"n"},79:{code:"KeyO",keyCap:"o"},80:{code:"KeyP",keyCap:"p"},81:{code:"KeyQ",keyCap:"q"},82:{code:"KeyR",keyCap:"r"},83:{code:"KeyS",keyCap:"s"},84:{code:"KeyT",keyCap:"t"},85:{code:"KeyU",keyCap:"u"},86:{code:"KeyV",keyCap:"v"},87:{code:"KeyW",keyCap:"w"},88:{code:"KeyX",keyCap:"x"},89:{code:"KeyY",keyCap:"y"},90:{code:"KeyZ",keyCap:"z"},91:{code:"OSLeft",location:r},92:{code:"OSRight",location:o},93:{code:"ContextMenu"},95:{code:"Standby"},96:{code:"Numpad0",keyCap:"0",location:i},97:{code:"Numpad1",keyCap:"1",location:i},98:{code:"Numpad2",keyCap:"2",location:i},99:{code:"Numpad3",keyCap:"3",location:i},100:{code:"Numpad4",keyCap:"4",location:i},101:{code:"Numpad5",keyCap:"5",location:i},102:{code:"Numpad6",keyCap:"6",location:i},103:{code:"Numpad7",keyCap:"7",location:i},104:{code:"Numpad8",keyCap:"8",location:i},105:{code:"Numpad9",keyCap:"9",location:i},106:{code:"NumpadMultiply",keyCap:"*",location:i},107:{code:"NumpadAdd",keyCap:"+",location:i},108:{code:"NumpadComma",keyCap:",",location:i},109:{code:"NumpadSubtract",keyCap:"-",location:i},110:{code:"NumpadDecimal",keyCap:".",location:i},111:{code:"NumpadDivide",keyCap:"/",location:i},112:{code:"F1"},113:{code:"F2"},114:{code:"F3"},115:{code:"F4"},116:{code:"F5"},117:{code:"F6"},118:{code:"F7"},119:{code:"F8"},120:{code:"F9"},121:{code:"F10"},122:{code:"F11"},123:{code:"F12"},124:{code:"F13"},125:{code:"F14"},126:{code:"F15"},127:{code:"F16"},128:{code:"F17"},129:{code:"F18"},130:{code:"F19"},131:{code:"F20"},132:{code:"F21"},133:{code:"F22"},134:{code:"F23"},135:{code:"F24"},144:{code:"NumLock",location:i},145:{code:"ScrollLock"},160:{code:"ShiftLeft",location:r},161:{code:"ShiftRight",location:o},162:{code:"ControlLeft",location:r},163:{code:"ControlRight",location:o},164:{code:"AltLeft",location:r},165:{code:"AltRight",location:o},166:{code:"BrowserBack"},167:{code:"BrowserForward"},168:{code:"BrowserRefresh"},169:{code:"BrowserStop"},170:{code:"BrowserSearch"},171:{code:"BrowserFavorites"},172:{code:"BrowserHome"},173:{code:"VolumeMute"},174:{code:"VolumeDown"},175:{code:"VolumeUp"},176:{code:"MediaTrackNext"},177:{code:"MediaTrackPrevious"},178:{code:"MediaStop"},179:{code:"MediaPlayPause"},180:{code:"LaunchMail"},181:{code:"MediaSelect"},182:{code:"LaunchApp1"},183:{code:"LaunchApp2"},186:{code:"Semicolon",keyCap:";"},187:{code:"Equal",keyCap:"="},188:{code:"Comma",keyCap:","},189:{code:"Minus",keyCap:"-"},190:{code:"Period",keyCap:"."},191:{code:"Slash",keyCap:"/"},192:{code:"Backquote",keyCap:"`"},219:{code:"BracketLeft",keyCap:"["},220:{code:"Backslash",keyCap:"\\"},221:{code:"BracketRight",keyCap:"]"},222:{code:"Quote",keyCap:"'"},226:{code:"IntlBackslash",keyCap:"\\"},229:{code:"Process"},246:{code:"Attn"},247:{code:"CrSel"},248:{code:"ExSel"},249:{code:"EraseEof"},250:{code:"Play"},251:{code:"ZoomToggle"},254:{code:"Clear"}};l(d,"moz",{59:{code:"Semicolon",keyCap:";"},61:{code:"Equal",keyCap:"="},107:{code:"Equal",keyCap:"="},109:{code:"Minus",keyCap:"-"},187:{code:"NumpadAdd",keyCap:"+",location:i},189:{code:"NumpadSubtract",keyCap:"-",location:i}}),l(d,"moz-mac",{12:{code:"NumLock",location:i},173:{code:"Minus",keyCap:"-"}}),l(d,"moz-win",{173:{code:"Minus",keyCap:"-"}}),l(d,"chrome-mac",{93:{code:"OSRight",location:o}}),l(d,"safari",{3:{code:"Enter"},25:{code:"Tab"}}),l(d,"ios",{10:{code:"Enter",location:n}}),l(d,"safari-mac",{91:{code:"OSLeft",location:r},93:{code:"OSRight",location:o},229:{code:"KeyQ",keyCap:"Q"}});var f={};"cros"===s&&(f["U+00A0"]={code:"ShiftLeft",location:r},f["U+00A1"]={code:"ShiftRight",location:o},f["U+00A2"]={code:"ControlLeft",location:r},f["U+00A3"]={code:"ControlRight",location:o},f["U+00A4"]={code:"AltLeft",location:r},f["U+00A5"]={code:"AltRight",location:o}),"chrome-mac"===c&&(f["U+0010"]={code:"ContextMenu"}),"safari-mac"===c&&(f["U+0010"]={code:"ContextMenu"}),"ios"===s&&(f["U+0010"]={code:"Function"},f["U+001C"]={code:"ArrowLeft"},f["U+001D"]={code:"ArrowRight"},f["U+001E"]={code:"ArrowUp"},f["U+001F"]={code:"ArrowDown"},f["U+0001"]={code:"Home"},f["U+0004"]={code:"End"},f["U+000B"]={code:"PageUp"},f["U+000C"]={code:"PageDown"});var h=[];h[r]={16:{code:"ShiftLeft",location:r},17:{code:"ControlLeft",location:r},18:{code:"AltLeft",location:r}},h[o]={16:{code:"ShiftRight",location:o},17:{code:"ControlRight",location:o},18:{code:"AltRight",location:o}},h[i]={13:{code:"NumpadEnter",location:i}},l(h[i],"moz",{109:{code:"NumpadSubtract",location:i},107:{code:"NumpadAdd",location:i}}),l(h[r],"moz-mac",{224:{code:"OSLeft",location:r}}),l(h[o],"moz-mac",{224:{code:"OSRight",location:o}}),l(h[o],"moz-win",{91:{code:"OSRight",location:o}}),l(h[o],"mac",{93:{code:"OSRight",location:o}}),l(h[i],"chrome-mac",{12:{code:"NumLock",location:i}}),l(h[i],"safari-mac",{12:{code:"NumLock",location:i},187:{code:"NumpadAdd",location:i},189:{code:"NumpadSubtract",location:i},190:{code:"NumpadDecimal",location:i},191:{code:"NumpadDivide",location:i}});var p={ShiftLeft:{key:"Shift"},ShiftRight:{key:"Shift"},ControlLeft:{key:"Control"},ControlRight:{key:"Control"},AltLeft:{key:"Alt"},AltRight:{key:"Alt"},OSLeft:{key:"OS"},OSRight:{key:"OS"},NumpadEnter:{key:"Enter"},Space:{key:" "},Digit0:{key:"0",shiftKey:")"},Digit1:{key:"1",shiftKey:"!"},Digit2:{key:"2",shiftKey:"@"},Digit3:{key:"3",shiftKey:"#"},Digit4:{key:"4",shiftKey:"$"},Digit5:{key:"5",shiftKey:"%"},Digit6:{key:"6",shiftKey:"^"},Digit7:{key:"7",shiftKey:"&"},Digit8:{key:"8",shiftKey:"*"},Digit9:{key:"9",shiftKey:"("},KeyA:{key:"a",shiftKey:"A"},KeyB:{key:"b",shiftKey:"B"},KeyC:{key:"c",shiftKey:"C"},KeyD:{key:"d",shiftKey:"D"},KeyE:{key:"e",shiftKey:"E"},KeyF:{key:"f",shiftKey:"F"},KeyG:{key:"g",shiftKey:"G"},KeyH:{key:"h",shiftKey:"H"},KeyI:{key:"i",shiftKey:"I"},KeyJ:{key:"j",shiftKey:"J"},KeyK:{key:"k",shiftKey:"K"},KeyL:{key:"l",shiftKey:"L"},KeyM:{key:"m",shiftKey:"M"},KeyN:{key:"n",shiftKey:"N"},KeyO:{key:"o",shiftKey:"O"},KeyP:{key:"p",shiftKey:"P"},KeyQ:{key:"q",shiftKey:"Q"},KeyR:{key:"r",shiftKey:"R"},KeyS:{key:"s",shiftKey:"S"},KeyT:{key:"t",shiftKey:"T"},KeyU:{key:"u",shiftKey:"U"},KeyV:{key:"v",shiftKey:"V"},KeyW:{key:"w",shiftKey:"W"},KeyX:{key:"x",shiftKey:"X"},KeyY:{key:"y",shiftKey:"Y"},KeyZ:{key:"z",shiftKey:"Z"},Numpad0:{key:"0"},Numpad1:{key:"1"},Numpad2:{key:"2"},Numpad3:{key:"3"},Numpad4:{key:"4"},Numpad5:{key:"5"},Numpad6:{key:"6"},Numpad7:{key:"7"},Numpad8:{key:"8"},Numpad9:{key:"9"},NumpadMultiply:{key:"*"},NumpadAdd:{key:"+"},NumpadComma:{key:","},NumpadSubtract:{key:"-"},NumpadDecimal:{key:"."},NumpadDivide:{key:"/"},Semicolon:{key:";",shiftKey:":"},Equal:{key:"=",shiftKey:"+"},Comma:{key:",",shiftKey:"<"},Minus:{key:"-",shiftKey:"_"},Period:{key:".",shiftKey:">"},Slash:{key:"/",shiftKey:"?"},Backquote:{key:"`",shiftKey:"~"},BracketLeft:{key:"[",shiftKey:"{"},Backslash:{key:"\\",shiftKey:"|"},BracketRight:{key:"]",shiftKey:"}"},Quote:{key:"'",shiftKey:'"'},IntlBackslash:{key:"\\",shiftKey:"|"}};l(p,"mac",{OSLeft:{key:"Meta"},OSRight:{key:"Meta"}});var v={Esc:"Escape",Nonconvert:"NonConvert",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Menu:"ContextMenu",MediaNextTrack:"MediaTrackNext",MediaPreviousTrack:"MediaTrackPrevious",SelectMedia:"MediaSelect",HalfWidth:"Hankaku",FullWidth:"Zenkaku",RomanCharacters:"Romaji",Crsel:"CrSel",Exsel:"ExSel",Zoom:"ZoomToggle"},m=function(e,t){var n={};return Object.keys(e).forEach((function(r){var o=e[r];t in o&&(n[o[t]]=o)})),n}(d,"code");try{var g=t&&"location"in new KeyboardEvent("")}catch(b){}function y(e){var t="keyCode"in e?e.keyCode:"which"in e?e.which:0,n=function(){if(g||"keyLocation"in e){var n=g?e.location:e.keyLocation;if(n&&t in h[n])return h[n][t]}return"keyIdentifier"in e&&e.keyIdentifier in f?f[e.keyIdentifier]:t in d?d[t]:null}();if(!n)return null;var r=function(){var t=p[n.code];return t?e.shiftKey&&"shiftKey"in t?t.shiftKey:t.key:n.code}();return{code:n.code,key:r,location:n.location,keyCap:n.keyCap}}"KeyboardEvent"in e&&"defineProperty"in Object&&function(){function e(e,t,n){t in e||Object.defineProperty(e,t,n)}if(e(KeyboardEvent.prototype,"code",{get:function(){var e=y(this);return e?e.code:""}}),"key"in KeyboardEvent.prototype){var t=Object.getOwnPropertyDescriptor(KeyboardEvent.prototype,"key");Object.defineProperty(KeyboardEvent.prototype,"key",{get:function(){var e=t.get.call(this);return v.hasOwnProperty(e)?v[e]:e}})}e(KeyboardEvent.prototype,"key",{get:function(){var e=y(this);return e&&"key"in e?e.key:"Unidentified"}}),e(KeyboardEvent.prototype,"location",{get:function(){var e=y(this);return e&&"location"in e?e.location:n}}),e(KeyboardEvent.prototype,"locale",{get:function(){return""}})}(),"queryKeyCap"in e.KeyboardEvent||(e.KeyboardEvent.queryKeyCap=function(e,t){if(e=String(e),!m.hasOwnProperty(e))return"Undefined";if(t&&"en-us"!==String(t).toLowerCase())throw Error("Unsupported locale");var n=m[e];return n.keyCap||n.code||"Undefined"}),e.identifyKey=function(e){if(!("code"in e)){var t=y(e);e.code=t?t.code:"",e.key=t&&"key"in t?t.key:"Unidentified",e.location="location"in e?e.location:"keyLocation"in e?e.keyLocation:t&&"location"in t?t.location:n,e.locale=""}}}(window)},33386:function(e){e.exports=AFRAME.registerComponent("checkpoint-controls",{schema:{enabled:{default:!0},mode:{default:"teleport",oneOf:["teleport","animate"]},animateSpeed:{default:3}},init:function(){this.active=!0,this.checkpoint=null,this.isNavMeshConstrained=!1,this.offset=new THREE.Vector3,this.position=new THREE.Vector3,this.targetPosition=new THREE.Vector3},play:function(){this.active=!0},pause:function(){this.active=!1},setCheckpoint:function(e){const t=this.el;this.active&&this.checkpoint!==e&&(this.checkpoint&&t.emit("navigation-end",{checkpoint:this.checkpoint}),this.checkpoint=e,this.sync(),this.position.distanceTo(this.targetPosition)<.1?this.checkpoint=null:(t.emit("navigation-start",{checkpoint:e}),"teleport"===this.data.mode&&(this.el.setAttribute("position",this.targetPosition),this.checkpoint=null,t.emit("navigation-end",{checkpoint:e}),t.components["movement-controls"].updateNavLocation())))},isVelocityActive:function(){return!(!this.active||!this.checkpoint)},getVelocity:function(){if(!this.active)return;const e=this.data,t=this.offset,n=this.position,r=this.targetPosition,o=this.checkpoint;return this.sync(),n.distanceTo(r)<.1?(this.checkpoint=null,this.el.emit("navigation-end",{checkpoint:o}),t.set(0,0,0)):(t.setLength(e.animateSpeed),t)},sync:function(){const e=this.offset,t=this.position,n=this.targetPosition;t.copy(this.el.getAttribute("position")),this.checkpoint.object3D.getWorldPosition(n),n.add(this.checkpoint.components.checkpoint.getOffset()),e.copy(n).sub(t)}})},45062:function(e,t,n){const r=n(16453),o=n(44379),i=.2,a="left",s="right",u=1,c=2;e.exports=AFRAME.registerComponent("gamepad-controls",{GamepadButton:r,schema:{enabled:{default:!0},camera:{default:"[camera]",type:"selector"},rotationSensitivity:{default:2}},init:function(){const e=this.el.sceneEl;this.system=e.systems["tracked-controls-webxr"]||{controllers:[]},this.prevTime=window.performance.now(),this.buttons={};const t=this.el.object3D.rotation;this.pitch=new THREE.Object3D,this.pitch.rotation.x=THREE.Math.degToRad(t.x),this.yaw=new THREE.Object3D,this.yaw.position.y=10,this.yaw.rotation.y=THREE.Math.degToRad(t.y),this.yaw.add(this.pitch),this._lookVector=new THREE.Vector2,this._moveVector=new THREE.Vector2,this._dpadVector=new THREE.Vector2,e.addBehavior(this)},update:function(){this.tick()},tick:function(e,t){this.updateButtonState(),this.updateRotation(t)},remove:function(){},isVelocityActive:function(){if(!this.data.enabled||!this.isConnected())return!1;const e=this._dpadVector,t=this._moveVector;this.getDpad(e),this.getJoystick(u,t);const n=e.x||t.x,r=e.y||t.y;return Math.abs(n)>i||Math.abs(r)>i},getVelocityDelta:function(){const e=this._dpadVector,t=this._moveVector;this.getDpad(e),this.getJoystick(u,t);const n=e.x||t.x,r=e.y||t.y,o=new THREE.Vector3;return Math.abs(n)>i&&(o.x+=n),Math.abs(r)>i&&(o.z+=r),o},isRotationActive:function(){if(!this.data.enabled||!this.isConnected())return!1;const e=this._lookVector;return this.getJoystick(c,e),Math.abs(e.x)>i||Math.abs(e.y)>i},updateRotation:function(e){if(!this.isRotationActive())return;const t=this.data,n=this.yaw,r=this.pitch,o=t.camera.components["look-controls"],a=o&&o.pitchObject&&o.yawObject;a&&(r.rotation.copy(o.pitchObject.rotation),n.rotation.copy(o.yawObject.rotation));const s=this._lookVector;this.getJoystick(c,s),Math.abs(s.x)<=i&&(s.x=0),Math.abs(s.y)<=i&&(s.y=0),s.multiplyScalar(t.rotationSensitivity*e/1e3),n.rotation.y-=s.x,r.rotation.x-=s.y,r.rotation.x=Math.max(-Math.PI/2,Math.min(Math.PI/2,r.rotation.x)),t.camera.object3D.rotation.set(r.rotation.x,n.rotation.y,0),a&&(o.pitchObject.rotation.copy(r.rotation),o.yawObject.rotation.copy(n.rotation))},updateButtonState:function(){const e=this.getGamepad(s);if(this.data.enabled&&e)for(var t=0;t<e.buttons.length;t++)e.buttons[t].pressed&&!this.buttons[t]?this.emit(new o("gamepadbuttondown",t,e.buttons[t])):!e.buttons[t].pressed&&this.buttons[t]&&this.emit(new o("gamepadbuttonup",t,e.buttons[t])),this.buttons[t]=e.buttons[t].pressed;else Object.keys(this.buttons)&&(this.buttons={})},emit:function(e){this.el.emit(e.type,e),this.el.emit(e.type+":"+e.index,new o(e.type,e.index,e))},getGamepad:function(){const e=[],t=[];return function(n){const r=this.el.sceneEl.components["proxy-controls"],o=r&&r.isConnected()&&r.getGamepad(0);if(o)return o;e.length=0;for(let t=0;t<this.system.controllers.length;t++){const r=this.system.controllers[t],o=r?r.gamepad:null;if(e.push(o),o&&o.handedness===n)return o}const i=navigator.getGamepads?navigator.getGamepads():t;for(let e=0;e<i.length;e++){const t=i[e];if(t&&t.hand===n)return t}return e[0]||i[0]}}(),getButton:function(e){return this.getGamepad(s).buttons[e]},getAxis:function(e){return this.getGamepad(e>1?s:a).axes[e]},getJoystick:function(e,t){const n=this.getGamepad(e===u?a:s);if("xr-standard"===n.mapping)switch(e){case u:return t.set(n.axes[2],n.axes[3]);case c:return t.set(n.axes[0],n.axes[1])}else switch(e){case u:return t.set(n.axes[0],n.axes[1]);case c:return t.set(n.axes[2],n.axes[3])}throw new Error('Unexpected joystick index "%d".',e)},getDpad:function(e){const t=this.getGamepad(a);return t.buttons[r.DPAD_RIGHT]?e.set((t.buttons[r.DPAD_RIGHT].pressed?1:0)+(t.buttons[r.DPAD_LEFT].pressed?-1:0),(t.buttons[r.DPAD_UP].pressed?-1:0)+(t.buttons[r.DPAD_DOWN].pressed?1:0)):e.set(0,0)},isConnected:function(){const e=this.getGamepad(a);return!(!e||!e.connected)},getID:function(){return this.getGamepad(a).id}})},52406:function(e,t,n){n(33386),n(45062),n(32250),n(79048),n(43819),n(99893)},32250:function(e,t,n){n(77454);const r=window.KeyboardEvent;e.exports=AFRAME.registerComponent("keyboard-controls",{schema:{enabled:{default:!0},debug:{default:!1}},init:function(){this.dVelocity=new THREE.Vector3,this.localKeys={},this.listeners={keydown:this.onKeyDown.bind(this),keyup:this.onKeyUp.bind(this),blur:this.onBlur.bind(this)},this.attachEventListeners()},isVelocityActive:function(){return this.data.enabled&&!!Object.keys(this.getKeys()).length},getVelocityDelta:function(){const e=this.data,t=this.getKeys();return this.dVelocity.set(0,0,0),e.enabled&&((t.KeyW||t.ArrowUp)&&(this.dVelocity.z-=1),(t.KeyA||t.ArrowLeft)&&(this.dVelocity.x-=1),(t.KeyS||t.ArrowDown)&&(this.dVelocity.z+=1),(t.KeyD||t.ArrowRight)&&(this.dVelocity.x+=1)),this.dVelocity.clone()},play:function(){this.attachEventListeners()},pause:function(){this.removeEventListeners()},remove:function(){this.pause()},attachEventListeners:function(){window.addEventListener("keydown",this.listeners.keydown,!1),window.addEventListener("keyup",this.listeners.keyup,!1),window.addEventListener("blur",this.listeners.blur,!1)},removeEventListeners:function(){window.removeEventListener("keydown",this.listeners.keydown),window.removeEventListener("keyup",this.listeners.keyup),window.removeEventListener("blur",this.listeners.blur)},onKeyDown:function(e){AFRAME.utils.shouldCaptureKeyEvent(e)&&(this.localKeys[e.code]=!0,this.emit(e))},onKeyUp:function(e){AFRAME.utils.shouldCaptureKeyEvent(e)&&(delete this.localKeys[e.code],this.emit(e))},onBlur:function(){for(let e in this.localKeys)this.localKeys.hasOwnProperty(e)&&delete this.localKeys[e]},emit:function(e){"__keyboard-controls-proxy"in e&&this.el.emit(e.type,e),this.el.emit(e.type+":"+e.code,new r(e.type,e)),this.data.debug&&console.log(e.type+":"+e.code)},isPressed:function(e){return e in this.getKeys()},getKeys:function(){return this.isProxied()?this.el.sceneEl.components["proxy-controls"].getKeyboard():this.localKeys},isProxied:function(){const e=this.el.sceneEl.components["proxy-controls"];return e&&e.isConnected()}})},43819:function(e){const t="-controls";e.exports=AFRAME.registerComponent("movement-controls",{dependencies:["rotation"],schema:{enabled:{default:!0},controls:{default:["gamepad","trackpad","keyboard","touch"]},speed:{default:.3,min:0},fly:{default:!1},constrainToNavMesh:{default:!1},camera:{default:"[movement-controls] [camera]",type:"selector"}},init:function(){const e=this.el;this.velocityCtrl=null,this.velocity=new THREE.Vector3,this.heading=new THREE.Quaternion,this.navGroup=null,this.navNode=null,e.sceneEl.hasLoaded?this.injectControls():e.sceneEl.addEventListener("loaded",this.injectControls.bind(this))},update:function(e){const t=this.el,n=this.data,r=t.sceneEl.systems.nav;t.sceneEl.hasLoaded&&this.injectControls(),r&&n.constrainToNavMesh!==e.constrainToNavMesh&&(n.constrainToNavMesh?r.addAgent(this):r.removeAgent(this))},injectControls:function(){const e=this.data;var n;for(let r=0;r<e.controls.length;r++)n=e.controls[r]+t,this.el.components[n]||this.el.setAttribute(n,"")},updateNavLocation:function(){this.navGroup=null,this.navNode=null},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3;return function(r,o){if(!o)return;const i=this.el,a=this.data;if(!a.enabled)return;this.updateVelocityCtrl();const s=this.velocityCtrl,u=this.velocity;if(s)if(o/1e3>.2?u.set(0,0,0):this.updateVelocity(o),a.constrainToNavMesh&&!1!==s.isNavMeshConstrained){if(u.lengthSq()<1e-5)return;e.copy(i.object3D.position),t.copy(u).multiplyScalar(o/1e3).add(e);const r=i.sceneEl.systems.nav;this.navGroup=null===this.navGroup?r.getGroup(e):this.navGroup,this.navNode=this.navNode||r.getNode(e,this.navGroup),this.navNode=r.clampStep(e,t,this.navGroup,this.navNode,n),i.object3D.position.copy(n)}else i.hasAttribute("velocity")?i.setAttribute("velocity",u):(i.object3D.position.x+=u.x*o/1e3,i.object3D.position.y+=u.y*o/1e3,i.object3D.position.z+=u.z*o/1e3)}}(),updateVelocityCtrl:function(){const e=this.data;if(e.enabled){for(let n=0,r=e.controls.length;n<r;n++){const r=this.el.components[e.controls[n]+t];if(r&&r.isVelocityActive())return void(this.velocityCtrl=r)}this.velocityCtrl=null}},updateVelocity:function(){const e=new THREE.Vector2,t=new THREE.Quaternion;return function(n){let r;const o=this.el,i=this.velocityCtrl,a=this.velocity,s=this.data;if(i){if(!i.getVelocityDelta){if(i.getVelocity)return void a.copy(i.getVelocity());if(i.getPositionDelta)return void a.copy(i.getPositionDelta(n).multiplyScalar(1e3/n));throw new Error("Incompatible movement controls: ",i)}r=i.getVelocityDelta(n)}if(o.hasAttribute("velocity")&&!s.constrainToNavMesh&&a.copy(this.el.getAttribute("velocity")),r&&s.enabled){const n=s.camera;t.copy(n.object3D.quaternion),t.premultiply(o.object3D.quaternion),r.applyQuaternion(t);const i=r.length();s.fly?(a.copy(r),a.multiplyScalar(16.66667*this.data.speed)):(e.set(r.x,r.z),e.setLength(i*this.data.speed*16.66667),a.x=e.x,a.z=e.y)}}}()})},79048:function(e){e.exports=AFRAME.registerComponent("touch-controls",{schema:{enabled:{default:!0},reverseEnabled:{default:!0}},init:function(){this.dVelocity=new THREE.Vector3,this.bindMethods(),this.direction=0},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners(),this.dVelocity.set(0,0,0)},remove:function(){this.pause()},addEventListeners:function(){const e=this.el.sceneEl,t=e.canvas;t?(t.addEventListener("touchstart",this.onTouchStart),t.addEventListener("touchend",this.onTouchEnd)):e.addEventListener("render-target-loaded",this.addEventListeners.bind(this))},removeEventListeners:function(){const e=this.el.sceneEl&&this.el.sceneEl.canvas;e&&(e.removeEventListener("touchstart",this.onTouchStart),e.removeEventListener("touchend",this.onTouchEnd))},isVelocityActive:function(){return this.data.enabled&&!!this.direction},getVelocityDelta:function(){return this.dVelocity.z=this.direction,this.dVelocity.clone()},bindMethods:function(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)},onTouchStart:function(e){this.direction=-1,this.data.reverseEnabled&&2===e.touches.length&&(this.direction=1),e.preventDefault()},onTouchEnd:function(e){this.direction=0,e.preventDefault()}})},99893:function(e){e.exports=AFRAME.registerComponent("trackpad-controls",{schema:{enabled:{default:!0},enableNegX:{default:!0},enablePosX:{default:!0},enableNegZ:{default:!0},enablePosZ:{default:!0},mode:{default:"touch",oneOf:["swipe","touch","press"]}},init:function(){this.dVelocity=new THREE.Vector3,this.zVel=0,this.xVel=0,this.bindMethods()},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners(),this.dVelocity.set(0,0,0)},remove:function(){this.pause()},addEventListeners:function(){const e=this.data,t=this.el.sceneEl;switch(t.addEventListener("axismove",this.onAxisMove),e.mode){case"swipe":case"touch":t.addEventListener("trackpadtouchstart",this.onTouchStart),t.addEventListener("trackpadtouchend",this.onTouchEnd);break;case"press":t.addEventListener("trackpaddown",this.onTouchStart),t.addEventListener("trackpadup",this.onTouchEnd)}},removeEventListeners:function(){const e=this.el.sceneEl;e.removeEventListener("axismove",this.onAxisMove),e.removeEventListener("trackpadtouchstart",this.onTouchStart),e.removeEventListener("trackpadtouchend",this.onTouchEnd),e.removeEventListener("trackpaddown",this.onTouchStart),e.removeEventListener("trackpadup",this.onTouchEnd)},isVelocityActive:function(){return this.data.enabled&&this.isMoving},getVelocityDelta:function(){return this.dVelocity.z=this.isMoving?-this.zVel:1,this.dVelocity.x=this.isMoving?this.xVel:1,this.dVelocity.clone()},bindMethods:function(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.onAxisMove=this.onAxisMove.bind(this)},onTouchStart:function(e){switch(this.data.mode){case"swipe":this.canRecordAxis=!0,this.startingAxisData=[];break;case"touch":case"press":this.isMoving=!0}e.preventDefault()},onTouchEnd:function(e){"swipe"==this.data.mode&&(this.startingAxisData=[]),this.isMoving=!1,e.preventDefault()},onAxisMove:function(e){switch(this.data.mode){case"swipe":return this.handleSwipeAxis(e);case"touch":case"press":return this.handleTouchAxis(e)}},handleSwipeAxis:function(e){const t=this.data,n=e.detail.axis;if(0===this.startingAxisData.length&&this.canRecordAxis&&(this.canRecordAxis=!1,this.startingAxisData[0]=n[0],this.startingAxisData[1]=n[1]),this.startingAxisData.length>0){let e=0,r=0;t.enableNegX&&n[0]<this.startingAxisData[0]&&(e=-1),t.enablePosX&&n[0]>this.startingAxisData[0]&&(e=1),t.enablePosZ&&n[1]>this.startingAxisData[1]&&(r=-1),t.enableNegZ&&n[1]<this.startingAxisData[1]&&(r=1);const o=Math.abs(this.startingAxisData[1]-n[1]);Math.abs(this.startingAxisData[0]-n[0])>o?(this.zVel=0,this.xVel=e,this.isMoving=!0):(this.xVel=0,this.zVel=r,this.isMoving=!0)}},handleTouchAxis:function(e){const t=this.data,n=e.detail.axis;let r=0,o=0;t.enableNegX&&n[0]<0&&(r=-1),t.enablePosX&&n[0]>0&&(r=1),t.enablePosZ&&n[1]>0&&(o=-1),t.enableNegZ&&n[1]<0&&(o=1),Math.abs(n[0])>Math.abs(n[1])?(this.zVel=0,this.xVel=r):(this.xVel=0,this.zVel=o)}})},76591:function(e){const t={once:THREE.LoopOnce,repeat:THREE.LoopRepeat,pingpong:THREE.LoopPingPong};function n(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}e.exports=AFRAME.registerComponent("animation-mixer",{schema:{clip:{default:"*"},duration:{default:0},clampWhenFinished:{default:!1,type:"boolean"},crossFadeDuration:{default:0},loop:{default:"repeat",oneOf:Object.keys(t)},repetitions:{default:1/0,min:0},timeScale:{default:1}},init:function(){this.model=null,this.mixer=null,this.activeActions=[];const e=this.el.getObject3D("mesh");e?this.load(e):this.el.addEventListener("model-loaded",(e=>{this.load(e.detail.model)}))},load:function(e){const t=this.el;this.model=e,this.mixer=new THREE.AnimationMixer(e),this.mixer.addEventListener("loop",(e=>{t.emit("animation-loop",{action:e.action,loopDelta:e.loopDelta})})),this.mixer.addEventListener("finished",(e=>{t.emit("animation-finished",{action:e.action,direction:e.direction})})),this.data.clip&&this.update({})},remove:function(){this.mixer&&this.mixer.stopAllAction()},update:function(e){if(!e)return;const n=this.data,r=AFRAME.utils.diff(n,e);if("clip"in r)return this.stopAction(),void(n.clip&&this.playAction());this.activeActions.forEach((e=>{"duration"in r&&n.duration&&e.setDuration(n.duration),"clampWhenFinished"in r&&(e.clampWhenFinished=n.clampWhenFinished),("loop"in r||"repetitions"in r)&&e.setLoop(t[n.loop],n.repetitions),"timeScale"in r&&e.setEffectiveTimeScale(n.timeScale)}))},stopAction:function(){const e=this.data;for(let t=0;t<this.activeActions.length;t++)e.crossFadeDuration?this.activeActions[t].fadeOut(e.crossFadeDuration):this.activeActions[t].stop();this.activeActions.length=0},playAction:function(){if(!this.mixer)return;const e=this.model,r=this.data,o=e.animations||(e.geometry||{}).animations||[];if(!o.length)return;const i=(a=r.clip,new RegExp("^"+a.split(/\*+/).map(n).join(".*")+"$"));var a;for(let n,s=0;n=o[s];s++)if(n.name.match(i)){const o=this.mixer.clipAction(n,e);o.enabled=!0,o.clampWhenFinished=r.clampWhenFinished,r.duration&&o.setDuration(r.duration),1!==r.timeScale&&o.setEffectiveTimeScale(r.timeScale),o.setLoop(t[r.loop],r.repetitions).fadeIn(r.crossFadeDuration).play(),this.activeActions.push(o)}},tick:function(e,t){this.mixer&&!isNaN(t)&&this.mixer.update(t/1e3)}})},62290:function(e,t,n){THREE.ColladaLoader=n(20203),e.exports.Component=AFRAME.registerComponent("collada-model-legacy",{schema:{type:"asset"},init:function(){this.model=null,this.loader=new THREE.ColladaLoader},update:function(){var e=this,t=this.el,n=this.data,r=this.el.sceneEl.systems.renderer;n&&(this.remove(),this.loader.load(n,(function(n){e.model=n.scene,e.model.traverse((function(e){if(e.isMesh){var t=e.material;t.color&&r.applyColorCorrection(t.color),t.map&&r.applyColorCorrection(t.map),t.emissive&&r.applyColorCorrection(t.emissive),t.emissiveMap&&r.applyColorCorrection(t.emissiveMap)}})),t.setObject3D("mesh",e.model),t.emit("model-loaded",{format:"collada",model:e.model})})))},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},5310:function(e,t,n){THREE.FBXLoader=n(99434),e.exports=AFRAME.registerComponent("fbx-model",{schema:{src:{type:"asset"},crossorigin:{default:""}},init:function(){this.model=null},update:function(){const e=this.data;if(!e.src)return;this.remove();const t=new THREE.FBXLoader;e.crossorigin&&t.setCrossOrigin(e.crossorigin),t.load(e.src,this.load.bind(this))},load:function(e){this.model=e,this.el.setObject3D("mesh",e),this.el.emit("model-loaded",{format:"fbx",model:e})},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},88837:function(e,t,n){const r=n(34657)(),o=function(){let e;return function(){return e=e||r("https://cdn.jsdelivr.net/gh/mrdoob/three.js@r86/examples/js/loaders/GLTFLoader.js"),e}}();e.exports=AFRAME.registerComponent("gltf-model-legacy",{schema:{type:"model"},init:function(){this.model=null,this.loader=null,this.loaderPromise=o().then((()=>{this.loader=new THREE.GLTFLoader,this.loader.setCrossOrigin("Anonymous")}))},update:function(){const e=this,t=this.el,n=this.data;n&&(this.remove(),this.loaderPromise.then((()=>{this.loader.load(n,(function(n){e.model=n.scene,e.model.animations=n.animations,t.setObject3D("mesh",e.model),t.emit("model-loaded",{format:"gltf",model:e.model})}))})))},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},29874:function(e,t,n){n(76591),n(62290),n(5310),n(88837),n(30171)},30171:function(e){e.exports=AFRAME.registerComponent("object-model",{schema:{src:{type:"asset"},crossorigin:{default:""}},init:function(){this.model=null},update:function(){let e;const t=this.data;t.src&&(this.remove(),e=new THREE.ObjectLoader,t.crossorigin&&e.setCrossOrigin(t.crossorigin),e.load(t.src,(e=>{e.traverse((e=>{e instanceof THREE.SkinnedMesh&&e.material&&(e.material.skinning=!!(e.geometry&&e.geometry.bones||[]).length)})),this.load(e)})))},load:function(e){this.model=e,this.el.setObject3D("mesh",e),this.el.emit("model-loaded",{format:"json",model:e})},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},37642:function(e){e.exports=AFRAME.registerComponent("checkpoint",{schema:{offset:{default:{x:0,y:0,z:0},type:"vec3"}},init:function(){this.active=!1,this.targetEl=null,this.fire=this.fire.bind(this),this.offset=new THREE.Vector3},update:function(){this.offset.copy(this.data.offset)},play:function(){this.el.addEventListener("click",this.fire)},pause:function(){this.el.removeEventListener("click",this.fire)},remove:function(){this.pause()},fire:function(){const e=this.el.sceneEl.querySelector("[checkpoint-controls]");if(!e)throw new Error("No `checkpoint-controls` component found.");e.components["checkpoint-controls"].setCheckpoint(this.el)},getOffset:function(){return this.offset.copy(this.data.offset)}})},74795:function(e){function t(e,t,n,r){e&&(t=t||[],e.traverse((e=>{if(!e.isMesh)return;var o;((o=e.material)?Array.isArray(o)?o:o.materials?o.materials:[o]:[]).forEach((e=>{e&&!("envMap"in e)||t.length&&-1===t.indexOf(e.name)||(e.envMap=n,e.reflectivity=r,e.needsUpdate=!0)}))})))}e.exports=AFRAME.registerComponent("cube-env-map",{multiple:!0,schema:{path:{default:""},extension:{default:"jpg",oneOf:["jpg","png"]},format:{default:"RGBFormat",oneOf:["RGBFormat","RGBAFormat"]},enableBackground:{default:!1},reflectivity:{default:1,min:0,max:1},materials:{default:[]}},init:function(){const e=this.data;this.texture=(new THREE.CubeTextureLoader).load([e.path+"posx."+e.extension,e.path+"negx."+e.extension,e.path+"posy."+e.extension,e.path+"negy."+e.extension,e.path+"posz."+e.extension,e.path+"negz."+e.extension]),this.texture.format=THREE[e.format],this.object3dsetHandler=()=>{const e=this.el.getObject3D("mesh"),n=this.data;t(e,n.materials,this.texture,n.reflectivity)},this.el.addEventListener("object3dset",this.object3dsetHandler)},update:function(e){const n=this.data,r=this.el.getObject3D("mesh");let o=[],i=[];if(n.materials.length&&(e.materials?(o=n.materials.filter((t=>!e.materials.includes(t))),i=e.materials.filter((e=>!n.materials.includes(e)))):o=n.materials),o.length&&t(r,o,this.texture,n.reflectivity),i.length&&t(r,i,null,1),e.materials&&n.reflectivity!==e.reflectivity){const o=n.materials.filter((t=>e.materials.includes(t)));o.length&&t(r,o,this.texture,n.reflectivity)}this.data.enableBackground&&!e.enableBackground?this.setBackground(this.texture):!this.data.enableBackground&&e.enableBackground&&this.setBackground(null)},remove:function(){this.el.removeEventListener("object3dset",this.object3dsetHandler);const e=this.el.getObject3D("mesh"),n=this.data;t(e,n.materials,null,1),n.enableBackground&&this.setBackground(null)},setBackground:function(e){this.el.sceneEl.object3D.background=e}})},79511:function(e){e.exports=AFRAME.registerComponent("grab",{init:function(){this.system=this.el.sceneEl.systems.physics,this.GRABBED_STATE="grabbed",this.grabbing=!1,this.hitEl=null,this.physics=this.el.sceneEl.systems.physics,this.constraint=null,this.onHit=this.onHit.bind(this),this.onGripOpen=this.onGripOpen.bind(this),this.onGripClose=this.onGripClose.bind(this)},play:function(){const e=this.el;e.addEventListener("hit",this.onHit),e.addEventListener("gripdown",this.onGripClose),e.addEventListener("gripup",this.onGripOpen),e.addEventListener("trackpaddown",this.onGripClose),e.addEventListener("trackpadup",this.onGripOpen),e.addEventListener("triggerdown",this.onGripClose),e.addEventListener("triggerup",this.onGripOpen)},pause:function(){const e=this.el;e.removeEventListener("hit",this.onHit),e.removeEventListener("gripdown",this.onGripClose),e.removeEventListener("gripup",this.onGripOpen),e.removeEventListener("trackpaddown",this.onGripClose),e.removeEventListener("trackpadup",this.onGripOpen),e.removeEventListener("triggerdown",this.onGripClose),e.removeEventListener("triggerup",this.onGripOpen)},onGripClose:function(){this.grabbing=!0},onGripOpen:function(){const e=this.hitEl;this.grabbing=!1,e&&(e.removeState(this.GRABBED_STATE),this.hitEl=void 0,this.system.removeConstraint(this.constraint),this.constraint=null)},onHit:function(e){const t=e.detail.el;t&&!t.is(this.GRABBED_STATE)&&this.grabbing&&!this.hitEl&&(t.addState(this.GRABBED_STATE),this.hitEl=t,this.constraint=new CANNON.LockConstraint(this.el.body,t.body),this.system.addConstraint(this.constraint))}})},59236:function(e,t,n){n(37642),n(74795),n(79511),n(70765),n(80837),n(58310),n(78240),n(91790)},70765:function(e){e.exports=AFRAME.registerComponent("jump-ability",{dependencies:["velocity"],schema:{on:{default:"keydown:Space gamepadbuttondown:0"},playerHeight:{default:1.764},maxJumps:{default:1},distance:{default:5},debug:{default:!1}},init:function(){this.velocity=0,this.numJumps=0;const e=this.beginJump.bind(this),t=this.data.on.split(" ");this.bindings={};for(let n=0;n<t.length;n++)this.bindings[t[n]]=e,this.el.addEventListener(t[n],e);this.bindings.collide=this.onCollide.bind(this),this.el.addEventListener("collide",this.bindings.collide)},remove:function(){for(var e in this.bindings)this.bindings.hasOwnProperty(e)&&(this.el.removeEventListener(e,this.bindings[e]),delete this.bindings[e]);this.el.removeEventListener("collide",this.bindings.collide),delete this.bindings.collide},beginJump:function(){if(this.numJumps<this.data.maxJumps){const e=this.data,t=Math.sqrt(-2*e.distance*-24.8),n=this.el.getAttribute("velocity");this.el.setAttribute("velocity",{x:n.x,y:t,z:n.z}),this.numJumps++,this.el.emit("jumpstart")}},onCollide:function(){this.numJumps>0&&this.el.emit("jumpend"),this.numJumps=0}})},80837:function(e){const t=1e-6;e.exports=AFRAME.registerComponent("kinematic-body",{dependencies:["velocity"],schema:{mass:{default:5},radius:{default:1.3},linearDamping:{default:.05},enableSlopes:{default:!0},enableJumps:{default:!1}},init:function(){this.system=this.el.sceneEl.systems.physics,this.system.addComponent(this);const e=this.el,t=this.data,n=(new CANNON.Vec3).copy(e.object3D.getWorldPosition(new THREE.Vector3));this.body=new CANNON.Body({material:this.system.getMaterial("staticMaterial"),position:n,mass:t.mass,linearDamping:t.linearDamping,fixedRotation:!0}),this.body.addShape(new CANNON.Sphere(t.radius),new CANNON.Vec3(0,t.radius,0)),this.body.el=this.el,this.el.body=this.body,this.system.addBody(this.body),e.hasAttribute("wasd-controls")&&console.warn("[kinematic-body] Not compatible with wasd-controls, use movement-controls.")},remove:function(){this.system.removeBody(this.body),this.system.removeComponent(this),delete this.el.body},beforeStep:function(e,t){if(!t)return;const n=this.el,r=this.data,o=this.body;r.enableJumps||o.velocity.set(0,0,0),o.position.copy(n.getAttribute("position"))},step:function(){const e=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Vector3,o=new THREE.Vector3;return function(i,a){if(!a)return;let s,u,c=this.body,l=this.data,d=!1,f=-1/0,h=this.system.getContacts();a=Math.min(a,1e3*this.system.data.maxInterval),o.set(0,0,0),e.copy(this.el.getAttribute("velocity")),c.velocity.copy(e);for(var p,v=0;p=h[v];v++)if(p.enabled){if(c.id===p.bi.id)p.ni.negate(r);else{if(c.id!==p.bj.id)continue;r.copy(p.ni)}d=c.velocity.dot(r)<-t,d&&r.y<=.5?e.projectOnPlane(r):r.y>.5&&(s=c.id===p.bi.id?Math.abs(p.rj.y+p.bj.position.y):Math.abs(p.ri.y+p.bi.position.y),s>f&&(f=s,o.copy(r),u=c.id===p.bi.id?p.bj:p.bi))}n.copy(e).normalize(),u&&(!l.enableJumps||n.y<.5)?(l.enableSlopes?o.y<1-t&&o.copy(this.raycastToGround(u,o)):o.set(0,1,0),e.projectOnPlane(o)):this.system.driver.world&&e.add(this.system.driver.world.gravity.scale(4*a/1e3)),c.velocity.copy(e),this.el.setAttribute("velocity",c.velocity),this.el.setAttribute("position",c.position)}}(),raycastToGround:function(e,t){let n,r,o=this.body.position,i=this.body.position.clone();return n=new CANNON.Ray(o,i),n._updateDirection(),n.intersectBody(e),n.hasHit?(r=n.result.hitNormalWorld,Math.abs(r.y)>Math.abs(t.y)?r:t):t}})},58310:function(e){e.exports=AFRAME.registerComponent("mesh-smooth",{init:function(){this.el.addEventListener("model-loaded",(e=>{e.detail.model.traverse((e=>{e.isMesh&&e.geometry.computeVertexNormals()}))}))}})},78240:function(e){e.exports=AFRAME.registerComponent("normal-material",{init:function(){this.material=new THREE.MeshNormalMaterial({flatShading:!0}),this.applyMaterial=this.applyMaterial.bind(this),this.el.addEventListener("object3dset",this.applyMaterial)},remove:function(){this.el.removeEventListener("object3dset",this.applyMaterial)},applyMaterial:function(){this.el.object3D.traverse((e=>{e.isMesh&&(e.material=this.material)}))}})},91790:function(e){e.exports=AFRAME.registerComponent("sphere-collider",{schema:{objects:{default:""},state:{default:"collided"},radius:{default:.05},watch:{default:!0}},init:function(){this.observer=null,this.els=[],this.collisions=[],this.handleHit=this.handleHit.bind(this),this.handleHitEnd=this.handleHitEnd.bind(this)},remove:function(){this.pause()},play:function(){const e=this.el.sceneEl;this.data.watch&&(this.observer=new MutationObserver(this.update.bind(this,null)),this.observer.observe(e,{childList:!0,subtree:!0}))},pause:function(){this.observer&&(this.observer.disconnect(),this.observer=null)},update:function(){const e=this.data;let t;t=e.objects?this.el.sceneEl.querySelectorAll(e.objects):this.el.sceneEl.children,this.els=Array.prototype.slice.call(t)},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Vector3,o=new THREE.Box3,i=new Map;return function(){const a=this.el,s=this.data,u=a.getObject3D("mesh"),c=[];let l;var d;u&&(i.clear(),a.object3D.getWorldPosition(e),a.object3D.getWorldScale(n),l=s.radius*(d=n,Math.max.apply(null,d.toArray())),this.els.forEach((function(n){let a,s,u,d;if(!n.isEntity)return;if(s=n.getObject3D("mesh"),!s)return;if(o.setFromObject(s).getSize(r),d=Math.max(r.x,r.y,r.z)/2,a=Math.sqrt(2*d*d),o.getCenter(t),!a)return;u=e.distanceTo(t),u<a+l&&(c.push(n),i.set(n,u))})),c.sort(((e,t)=>i.get(e)>i.get(t)?1:-1)).forEach(this.handleHit),0===c.length&&a.emit("hit",{el:null}),this.collisions.filter((e=>!i.has(e))).forEach(this.handleHitEnd),this.collisions=c)}}(),handleHit:function(e){e.emit("hit"),e.addState(this.data.state),this.el.emit("hit",{el:e})},handleHitEnd:function(e){e.emit("hitend"),e.removeState(this.data.state),this.el.emit("hitend",{el:e})}})},82578:function(e,t,n){n(38453),n(11250),n(31465)},11250:function(e){e.exports=AFRAME.registerComponent("nav-agent",{schema:{destination:{type:"vec3"},active:{default:!1},speed:{default:2}},init:function(){this.system=this.el.sceneEl.systems.nav,this.system.addAgent(this),this.group=null,this.path=[],this.raycaster=new THREE.Raycaster},remove:function(){this.system.removeAgent(this)},update:function(){this.path.length=0},updateNavLocation:function(){this.group=null,this.path=[]},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3;return function(r,o){const i=this.el,a=this.data,s=this.raycaster,u=a.speed*o/1e3;if(!a.active)return;if(!this.path.length){const t=this.el.object3D.position;this.group=this.group||this.system.getGroup(t),this.path=this.system.getPath(t,e.copy(a.destination),this.group)||[],i.emit("navigation-start")}if(!this.path.length)return console.warn("[nav] Unable to find path to %o.",a.destination),this.el.setAttribute("nav-agent",{active:!1}),void i.emit("navigation-end");const c=i.object3D.position,l=this.path[0];t.subVectors(l,c);let d;if(t.length()<u){if(this.path.shift(),!this.path.length)return this.el.setAttribute("nav-agent",{active:!1}),void i.emit("navigation-end");n.copy(c),d=this.path[0]}else n.copy(t.setLength(u)).add(c),d=l;d.y=c.y,i.object3D.lookAt(d),s.ray.origin.copy(n),s.ray.origin.y+=1.5,s.ray.direction.y=-1;const f=s.intersectObject(this.system.getNavMesh());f.length?(t.subVectors(f[0].point,c),c.add(t.setLength(u))):c.copy(n)}}()})},38453:function(e){e.exports=AFRAME.registerComponent("nav-mesh",{init:function(){this.system=this.el.sceneEl.systems.nav,this.hasLoadedNavMesh=!1,this.el.addEventListener("object3dset",this.loadNavMesh.bind(this))},play:function(){this.hasLoadedNavMesh||this.loadNavMesh()},loadNavMesh:function(){const e=this.el.getObject3D("mesh"),t=this.el.sceneEl.object3D;if(!e)return;let n;if(e.traverse((e=>{e.isMesh&&(n=e)})),!n)return;const r=n.geometry.isBufferGeometry?(new THREE.Geometry).fromBufferGeometry(n.geometry):n.geometry.clone();t.updateMatrixWorld(),r.applyMatrix(n.matrixWorld),this.system.setNavMeshGeometry(r),this.hasLoadedNavMesh=!0}})},31465:function(e,t,n){const{Pathfinding:r}=n(56594),o=new r,i="level";e.exports=AFRAME.registerSystem("nav",{init:function(){this.navMesh=null,this.agents=new Set},setNavMeshGeometry:function(e){this.navMesh=new THREE.Mesh(e),o.setZoneData(i,r.createZone(e)),Array.from(this.agents).forEach((e=>e.updateNavLocation()))},getNavMesh:function(){return this.navMesh},addAgent:function(e){this.agents.add(e)},removeAgent:function(e){this.agents.delete(e)},getPath:function(e,t,n){return this.navMesh?o.findPath(e,t,i,n):null},getGroup:function(e){return this.navMesh?o.getGroup(i,e):null},getNode:function(e,t){return this.navMesh?o.getClosestNode(e,i,t,!0):null},clampStep:function(e,t,n,r,a){return this.navMesh?r?o.clampStep(e,t,r,i,n,a):(a.copy(t),this.getNode(t,n)):(a.copy(t),null)}})},50386:function(e){e.exports=AFRAME.registerPrimitive("a-grid",{defaultComponents:{geometry:{primitive:"plane",width:75,height:75},rotation:{x:-90,y:0,z:0},material:{src:"url(https://cdn.jsdelivr.net/gh/donmccurdy/aframe-extras@v1.16.3/assets/grid.png)",repeat:"75 75"}},mappings:{width:"geometry.width",height:"geometry.height",src:"material.src"}})},23535:function(e,t,n){const r=n(63471),o=n(82667);e.exports.Primitive=AFRAME.registerPrimitive("a-hexgrid",{defaultComponents:{hexgrid:{}},mappings:{src:"hexgrid.src"}}),e.exports.Component=AFRAME.registerComponent("hexgrid",{dependencies:["material"],schema:{src:{type:"asset"}},init:function(){const e=this.data;e.src?fetch(e.src).then((e=>e.json())).then((e=>this.addMesh(e))):this.addMesh(o)},addMesh:function(e){const t=new r.HexGrid;t.fromJSON(e);const n=new r.Board(t);n.generateTilemap(),this.el.setObject3D("mesh",n.group),this.addMaterial()},addMaterial:function(){const e=(this.el.components.material||{}).material;e&&this.el.object3D.traverse((t=>{t.isMesh&&(t.material=e)}))},remove:function(){this.el.removeObject3D("mesh")}})},59307:function(e){e.exports.Primitive=AFRAME.registerPrimitive("a-ocean",{defaultComponents:{ocean:{},rotation:{x:-90,y:0,z:0}},mappings:{width:"ocean.width",depth:"ocean.depth",density:"ocean.density",amplitude:"ocean.amplitude",amplitudeVariance:"ocean.amplitudeVariance",speed:"ocean.speed",speedVariance:"ocean.speedVariance",color:"ocean.color",opacity:"ocean.opacity"}}),e.exports.Component=AFRAME.registerComponent("ocean",{schema:{width:{default:10,min:0},depth:{default:10,min:0},density:{default:10},amplitude:{default:.1},amplitudeVariance:{default:.3},speed:{default:1},speedVariance:{default:2},color:{default:"#7AD2F7",type:"color"},opacity:{default:.8}},play:function(){const e=this.el,t=this.data;let n=e.components.material;const r=new THREE.PlaneGeometry(t.width,t.depth,t.density,t.density);r.mergeVertices(),this.waves=[];for(let o,i=0,a=r.vertices.length;i<a;i++)o=r.vertices[i],this.waves.push({z:o.z,ang:Math.random()*Math.PI*2,amp:t.amplitude+Math.random()*t.amplitudeVariance,speed:(t.speed+Math.random()*t.speedVariance)/1e3});n||(n={},n.material=new THREE.MeshPhongMaterial({color:t.color,transparent:t.opacity<1,opacity:t.opacity,shading:THREE.FlatShading})),this.mesh=new THREE.Mesh(r,n.material),e.setObject3D("mesh",this.mesh)},remove:function(){this.el.removeObject3D("mesh")},tick:function(e,t){if(!t)return;const n=this.mesh.geometry.vertices;for(let r,o,i=0;r=n[i];i++)o=this.waves[i],r.z=o.z+Math.sin(o.ang)*o.amp,o.ang+=o.speed*t;this.mesh.geometry.verticesNeedUpdate=!0}})},50699:function(e){e.exports.Primitive=AFRAME.registerPrimitive("a-tube",{defaultComponents:{tube:{}},mappings:{path:"tube.path",segments:"tube.segments",radius:"tube.radius","radial-segments":"tube.radialSegments",closed:"tube.closed"}}),e.exports.Component=AFRAME.registerComponent("tube",{schema:{path:{default:[]},segments:{default:64},radius:{default:1},radialSegments:{default:8},closed:{default:!1}},init:function(){const e=this.el,t=this.data;let n=e.components.material;if(!t.path.length)return void console.error("[a-tube] `path` property expected but not found.");const r=new THREE.CatmullRomCurve3(t.path.map((function(e){return e=e.split(" "),new THREE.Vector3(Number(e[0]),Number(e[1]),Number(e[2]))}))),o=new THREE.TubeGeometry(r,t.segments,t.radius,t.radialSegments,t.closed);n||(n={},n.material=new THREE.MeshPhongMaterial),this.mesh=new THREE.Mesh(o,n.material),this.el.setObject3D("mesh",this.mesh)},update:function(e){Object.keys(e).length&&(this.remove(),this.init())},remove:function(){this.mesh&&this.el.removeObject3D("mesh")}})},36699:function(e,t,n){n(50386),n(23535),n(59307),n(50699)},31359:function(e,t,n){if("undefined"===typeof AFRAME)throw new Error("Component attempted to register before AFRAME was available.");let r=n(92539);"default"in r&&(r=r.default);let o=n(81398);"default"in o&&(o=o.default);const i=function(e){return"string"===typeof e?JSON.parse(e):e},a=function(e){if("function"===typeof e)return e;const t=eval;try{return t("("+e+")")}catch(n){}return null},s=function(e){return isNaN(parseFloat(e))?a(e)?a(e):e:parseFloat(e)};AFRAME.registerComponent("forcegraph",{schema:{jsonUrl:{type:"string",default:""},nodes:{parse:i,default:[]},links:{parse:i,default:[]},numDimensions:{type:"number",default:3},dagMode:{type:"string",default:""},dagLevelDistance:{type:"number",default:0},dagNodeFilter:{parse:a,function:()=>!0},onDagError:{parse:a,default:void 0},nodeRelSize:{type:"number",default:4},nodeId:{type:"string",default:"id"},nodeVal:{parse:s,default:"val"},nodeResolution:{type:"number",default:8},nodeVisibility:{parse:s,default:!0},nodeColor:{parse:s,default:"color"},nodeAutoColorBy:{parse:s,default:""},nodeOpacity:{type:"number",default:.75},nodeThreeObject:{parse:s,default:null},nodeThreeObjectExtend:{parse:s,default:!1},linkSource:{type:"string",default:"source"},linkTarget:{type:"string",default:"target"},linkVisibility:{parse:s,default:!0},linkColor:{parse:s,default:"color"},linkAutoColorBy:{parse:s,default:""},linkOpacity:{type:"number",default:.2},linkWidth:{parse:s,default:0},linkResolution:{type:"number",default:6},linkCurvature:{parse:s,default:0},linkCurveRotation:{parse:s,default:0},linkMaterial:{parse:s,default:null},linkThreeObject:{parse:s,default:null},linkThreeObjectExtend:{parse:s,default:!1},linkPositionUpdate:{parse:a,default:null},linkDirectionalArrowLength:{parse:s,default:0},linkDirectionalArrowColor:{parse:s,default:null},linkDirectionalArrowRelPos:{parse:s,default:.5},linkDirectionalArrowResolution:{type:"number",default:8},linkDirectionalParticles:{parse:s,default:0},linkDirectionalParticleSpeed:{parse:s,default:.01},linkDirectionalParticleWidth:{parse:s,default:.5},linkDirectionalParticleColor:{parse:s,default:null},linkDirectionalParticleResolution:{type:"number",default:4},onNodeHover:{parse:a,default:()=>{}},onLinkHover:{parse:a,default:()=>{}},onNodeClick:{parse:a,default:()=>{}},onLinkClick:{parse:a,default:()=>{}},forceEngine:{type:"string",default:"d3"},d3AlphaMin:{type:"number",default:0},d3AlphaDecay:{type:"number",default:.0228},d3VelocityDecay:{type:"number",default:.4},ngraphPhysics:{parse:i,default:null},warmupTicks:{type:"int",default:0},cooldownTicks:{type:"int",default:1e18},cooldownTime:{type:"int",default:15e3},onEngineTick:{parse:a,default:function(){}},onEngineStop:{parse:a,default:function(){}}},getGraphBbox:function(){return this.forceGraph||(this.forceGraph=new o),this.forceGraph.getGraphBbox()},emitParticle:function(){this.forceGraph||(this.forceGraph=new o);const e=this.forceGraph,t=e.emitParticle.apply(e,arguments);return t===e?this:t},d3Force:function(){this.forceGraph||(this.forceGraph=new o);const e=this.forceGraph,t=e.d3Force.apply(e,arguments);return t===e?this:t},d3ReheatSimulation:function(){return this.forceGraph&&this.forceGraph.d3ReheatSimulation(),this},refresh:function(){return this.forceGraph&&this.forceGraph.refresh(),this},init:function(){const e=this.state={};e.infoEl=document.createElement("a-text"),e.infoEl.setAttribute("position","0 -0.1 -1"),e.infoEl.setAttribute("width",1),e.infoEl.setAttribute("align","center"),e.infoEl.setAttribute("color","lavender");const t=document.querySelector("a-entity[camera], a-camera");t.appendChild(e.infoEl),e.cameraObj=t.object3D.children.filter((function(e){return"PerspectiveCamera"===e.type}))[0],this.el.sceneEl.addEventListener("camera-set-active",(function(t){e.cameraObj=t.detail.cameraEl.components.camera.camera})),this.forceGraph||(this.forceGraph=new o),this.forceGraph.onFinishUpdate((()=>this.el.setObject3D("forcegraphGroup",this.forceGraph))).onLoading((()=>e.infoEl.setAttribute("value","Loading..."))).onFinishLoading((()=>e.infoEl.setAttribute("value",""))),this.el.addEventListener("raycaster-intersected",(t=>e.hoverDetail=t.detail)),this.el.addEventListener("raycaster-intersected-cleared",(t=>e.hoverDetail=t.detail)),this.el.addEventListener("click",(()=>e.hoverObj&&this.data["on"+("node"===e.hoverObj.__graphObjType?"Node":"Link")+"Click"](e.hoverObj.__data)))},remove:function(){this.state.infoEl.remove(),this.el.removeObject3D("forcegraphGroup")},update:function(e){const t=this,n=this.data,r=AFRAME.utils.diff(n,e);["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaMin","d3AphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].filter((function(e){return e in r})).forEach((function(e){t.forceGraph[e](""!==n[e]?n[e]:null)})),("nodes"in r||"links"in r)&&t.forceGraph.graphData({nodes:n.nodes,links:n.links})},tick:function(e,t){const n=this.state,r=this.data,o=n.hoverDetail?n.hoverDetail.getIntersection?n.hoverDetail.getIntersection(this.el):n.hoverDetail.intersection||void 0:void 0;let i=o?o.object:void 0;for(;i&&!i.hasOwnProperty("__graphObjType");)i=i.parent;if(i!==n.hoverObj){const e=n.hoverObj?n.hoverObj.__graphObjType:null,t=n.hoverObj?n.hoverObj.__data:null,o=i?i.__graphObjType:null,a=i?i.__data:null;e&&e!==o&&r["on"+("node"===e?"Node":"Link")+"Hover"](null,t),o&&r["on"+("node"===o?"Node":"Link")+"Hover"](a,e===o?t:null),n.hoverObj=i}this.forceGraph.tickFrame()}})},45403:function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=n(67294),i=n(37955),a=r(n(90233)),s=r(n(37763)),u=r(n(96705)),c=n(88323),l=n(11487),d=n(46017),f=n(87409),h=n(71018),p=n(81820);function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function m(e,t){return a(e,t,{keys:["value","label"]})}function g(e){return o.createElement(l.Text,null,o.createElement(l.Box,{as:"span"},"Create")," ",o.createElement(l.Box,{as:"span",bg:"yellow.300",fontWeight:"bold"},'"',e,'"'))}t.CUIAutoComplete=function(e){var t=e.items,n=e.optionFilterFunc,r=void 0===n?m:n,a=e.itemRenderer,y=e.highlightItemBg,b=void 0===y?"gray.100":y,w=e.placeholder,_=e.label,x=e.listStyleProps,k=e.labelStyleProps,E=e.inputStyleProps,O=e.toggleButtonStyleProps,C=e.tagStyleProps,T=e.selectedIconProps,M=e.listItemStyleProps,S=e.onCreateItem,P=e.icon,j=e.hideToggleButton,I=void 0!==j&&j,A=e.disableCreateItem,R=void 0!==A&&A,D=e.createItemRenderer,L=void 0===D?g:D,N=e.renderCustomInput,B=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}(e,["items","optionFilterFunc","itemRenderer","highlightItemBg","placeholder","label","listStyleProps","labelStyleProps","inputStyleProps","toggleButtonStyleProps","tagStyleProps","selectedIconProps","listItemStyleProps","onCreateItem","icon","hideToggleButton","disableCreateItem","createItemRenderer","renderCustomInput"]),z=o.useState(!1),F=z[0],H=z[1],V=o.useState(""),W=V[0],U=V[1],G=o.useState(t),q=G[0],K=G[1],Z=o.useRef(null),$=i.useMultipleSelection(B),X=$.getSelectedItemProps,Y=$.getDropdownProps,Q=$.addSelectedItem,J=$.removeSelectedItem,ee=$.selectedItems,te=ee.map((function(e){return e.value})),ne=i.useCombobox({inputValue:W,selectedItem:void 0,items:q,onInputValueChange:function(e){var n=e.selectedItem,o=r(t,e.inputValue||"");F&&o.length>0&&H(!1),n||K(o)},stateReducer:function(e,t){var n=t.changes;switch(t.type){case i.useCombobox.stateChangeTypes.InputBlur:return v({},n,{isOpen:!1});case i.useCombobox.stateChangeTypes.InputKeyDownEnter:case i.useCombobox.stateChangeTypes.ItemClick:return v({},n,{highlightedIndex:e.highlightedIndex,inputValue:W,isOpen:!0});case i.useCombobox.stateChangeTypes.FunctionSelectItem:return v({},n,{inputValue:W});default:return n}},onStateChange:function(e){var n=e.inputValue,r=e.selectedItem;switch(e.type){case i.useCombobox.stateChangeTypes.InputChange:U(n||"");break;case i.useCombobox.stateChangeTypes.InputKeyDownEnter:case i.useCombobox.stateChangeTypes.ItemClick:r&&(te.includes(r.value)?J(r):S&&F?(S(r),H(!1),K(t),U("")):Q(r),fe(null))}}}),re=ne.isOpen,oe=ne.getToggleButtonProps,ie=ne.getLabelProps,ae=ne.getMenuProps,se=ne.getInputProps,ue=ne.getComboboxProps,ce=ne.highlightedIndex,le=ne.getItemProps,de=ne.openMenu,fe=ne.selectItem,he=ne.setHighlightedIndex;return o.useEffect((function(){0!==q.length||R||(H(!0),K([{label:""+W,value:W}]),he(0))}),[q,H,he,W,R]),u((function(){K(t)}),[t]),o.createElement(l.Stack,null,o.createElement(c.FormLabel,Object.assign({},v({},ie({}),k)),_),ee&&o.createElement(l.Stack,{spacing:2,isInline:!0,flexWrap:"wrap"},ee.map((function(e,t){return o.createElement(p.Tag,Object.assign({mb:1},C,{key:"selected-item-"+t},X({selectedItem:e,index:t})),o.createElement(p.TagLabel,null,e.label),o.createElement(p.TagCloseButton,{onClick:function(t){t.stopPropagation(),J(e)},"aria-label":"Remove menu selection badge"}))}))),o.createElement(l.Stack,Object.assign({isInline:!0},ue()),N?N(v({},E,se(Y({placeholder:w,onClick:re?function(){}:de,onFocus:re?function(){}:de,ref:Z}))),v({},O,oe(),{ariaLabel:"toggle menu",hideToggleButton:I})):o.createElement(o.Fragment,null,o.createElement(f.Input,Object.assign({},E,se(Y({placeholder:w,onClick:re?function(){}:de,onFocus:re?function(){}:de,ref:Z})))),!I&&o.createElement(d.Button,Object.assign({},O,oe(),{"aria-label":"toggle menu"}),o.createElement(h.ArrowDownIcon,null)))),o.createElement(l.Box,{pb:4,mb:4},o.createElement(l.List,Object.assign({bg:"white",borderRadius:"4px",border:re&&"1px solid rgba(0,0,0,0.1)",boxShadow:"6px 5px 8px rgba(0,50,30,0.02)"},x,ae()),re&&q.map((function(e,t){return o.createElement(l.ListItem,Object.assign({px:2,py:1,borderBottom:"1px solid rgba(0,0,0,0.01)"},M,{bg:ce===t?b:"inherit",key:""+e.value+t},le({item:e,index:t})),F?L(e.label):o.createElement(l.Box,{display:"inline-flex",alignItems:"center"},te.includes(e.value)&&o.createElement(l.ListIcon,Object.assign({as:P||h.CheckCircleIcon,color:"green.500",role:"img",display:"inline","aria-label":"Selected"},T)),a?a(e):o.createElement(s,{autoEscape:!0,searchWords:[W||""],textToHighlight:(n=e,n.label)})));var n})))))}},47647:function(e,t,n){"use strict";e.exports=n(45403)},20640:function(e,t,n){"use strict";var r=n(11742),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,s,u,c,l=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),s=document.createRange(),u=document.getSelection(),(c=document.createElement("span")).textContent=e,c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),u.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");l=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{u&&("function"==typeof u.removeRange?u.removeRange(s):u.removeAllRanges()),c&&document.body.removeChild(c),a()}return l}},78244:function(e,t,n){"use strict";n.r(t),n.d(t,{calculateBox:function(){return h},createBox:function(){return c},expand:function(){return a},getBox:function(){return p},getRect:function(){return i},offset:function(){return d},shrink:function(){return s},withScroll:function(){return f}});var r="Invariant failed";var o=function(e,t){if(!e)throw new Error(r)},i=function(e){var t=e.top,n=e.right,r=e.bottom,o=e.left;return{top:t,right:n,bottom:r,left:o,width:n-o,height:r-t,x:o,y:t,center:{x:(n+o)/2,y:(r+t)/2}}},a=function(e,t){return{top:e.top-t.top,left:e.left-t.left,bottom:e.bottom+t.bottom,right:e.right+t.right}},s=function(e,t){return{top:e.top+t.top,left:e.left+t.left,bottom:e.bottom-t.bottom,right:e.right-t.right}},u={top:0,right:0,bottom:0,left:0},c=function(e){var t=e.borderBox,n=e.margin,r=void 0===n?u:n,o=e.border,c=void 0===o?u:o,l=e.padding,d=void 0===l?u:l,f=i(a(t,r)),h=i(s(t,c)),p=i(s(h,d));return{marginBox:f,borderBox:i(t),paddingBox:h,contentBox:p,margin:r,border:c,padding:d}},l=function(e){var t=e.slice(0,-2);if("px"!==e.slice(-2))return 0;var n=Number(t);return isNaN(n)&&o(!1),n},d=function(e,t){var n,r,o=e.borderBox,i=e.border,a=e.margin,s=e.padding,u=(r=t,{top:(n=o).top+r.y,left:n.left+r.x,bottom:n.bottom+r.y,right:n.right+r.x});return c({borderBox:u,border:i,margin:a,padding:s})},f=function(e,t){return void 0===t&&(t={x:window.pageXOffset,y:window.pageYOffset}),d(e,t)},h=function(e,t){var n={top:l(t.marginTop),right:l(t.marginRight),bottom:l(t.marginBottom),left:l(t.marginLeft)},r={top:l(t.paddingTop),right:l(t.paddingRight),bottom:l(t.paddingBottom),left:l(t.paddingLeft)},o={top:l(t.borderTopWidth),right:l(t.borderRightWidth),bottom:l(t.borderBottomWidth),left:l(t.borderLeftWidth)};return c({borderBox:e,margin:n,padding:r,border:o})},p=function(e){var t=e.getBoundingClientRect(),n=window.getComputedStyle(e);return h(t,n)}},20296:function(e){function t(e,t,n){var r,o,i,a,s;function u(){var c=Date.now()-a;c<t&&c>=0?r=setTimeout(u,t-c):(r=null,n||(s=e.apply(i,o),i=o=null))}null==t&&(t=100);var c=function(){i=this,o=arguments,a=Date.now();var c=n&&!r;return r||(r=setTimeout(u,t)),c&&(s=e.apply(i,o),i=o=null),s};return c.clear=function(){r&&(clearTimeout(r),r=null)},c.flush=function(){r&&(s=e.apply(i,o),i=o=null,clearTimeout(r),r=null)},c}t.debounce=t,e.exports=t},53879:function(e,t,n){var r=n(87236),o=n(6189),i={float:"cssFloat"},a=n(93379);function s(e,t,n){var s=i[t];if("undefined"===typeof s&&(s=function(e){var t=o(e),n=r(t);return i[t]=i[e]=i[n]=n,n}(t)),s){if(void 0===n)return e.style[s];e.style[s]=a(s,n)}}function u(e,t){for(var n in t)t.hasOwnProperty(n)&&s(e,n,t[n])}function c(){2===arguments.length?"string"===typeof arguments[1]?arguments[0].style.cssText=arguments[1]:u(arguments[0],arguments[1]):s(arguments[0],arguments[1],arguments[2])}e.exports=c,e.exports.set=c,e.exports.get=function(e,t){return Array.isArray(t)?t.reduce((function(t,n){return t[n]=s(e,n||""),t}),{}):s(e,t||"")}},37955:function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.r(t),n.d(t,{default:function(){return Se},resetIdCounter:function(){return k},useCombobox:function(){return be},useMultipleSelection:function(){return Me},useSelect:function(){return pe}});var o=n(22122);function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var a=n(93552),s=n(45697),u=n.n(s),c=n(67294);n(21726);function l(e){return"object"==typeof e&&null!=e&&1===e.nodeType}function d(e,t){return(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e}function f(e,t){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var n=getComputedStyle(e,null);return d(n.overflowY,t)||d(n.overflowX,t)||function(e){var t=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}}(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)}(e)}return!1}function h(e,t,n,r,o,i,a,s){return i<e&&a>t||i>e&&a<t?0:i<=e&&s<=n||a>=t&&s>=n?i-e-r:a>t&&s<n||i<e&&s>n?a-t+o:0}var p=0;function v(e){return"function"===typeof e?e:m}function m(){}function g(e,t){e&&function(e,t){var n=window,r=t.scrollMode,o=t.block,i=t.inline,a=t.boundary,s=t.skipOverflowHiddenElements,u="function"==typeof a?a:function(e){return e!==a};if(!l(e))throw new TypeError("Invalid target");for(var c=document.scrollingElement||document.documentElement,d=[],p=e;l(p)&&u(p);){if((p=p.parentElement)===c){d.push(p);break}null!=p&&p===document.body&&f(p)&&!f(document.documentElement)||null!=p&&f(p,s)&&d.push(p)}for(var v=n.visualViewport?n.visualViewport.width:innerWidth,m=n.visualViewport?n.visualViewport.height:innerHeight,g=window.scrollX||pageXOffset,y=window.scrollY||pageYOffset,b=e.getBoundingClientRect(),w=b.height,_=b.width,x=b.top,k=b.right,E=b.bottom,O=b.left,C="start"===o||"nearest"===o?x:"end"===o?E:x+w/2,T="center"===i?O+_/2:"end"===i?k:O,M=[],S=0;S<d.length;S++){var P=d[S],j=P.getBoundingClientRect(),I=j.height,A=j.width,R=j.top,D=j.right,L=j.bottom,N=j.left;if("if-needed"===r&&x>=0&&O>=0&&E<=m&&k<=v&&x>=R&&E<=L&&O>=N&&k<=D)return M;var B=getComputedStyle(P),z=parseInt(B.borderLeftWidth,10),F=parseInt(B.borderTopWidth,10),H=parseInt(B.borderRightWidth,10),V=parseInt(B.borderBottomWidth,10),W=0,U=0,G="offsetWidth"in P?P.offsetWidth-P.clientWidth-z-H:0,q="offsetHeight"in P?P.offsetHeight-P.clientHeight-F-V:0;if(c===P)W="start"===o?C:"end"===o?C-m:"nearest"===o?h(y,y+m,m,F,V,y+C,y+C+w,w):C-m/2,U="start"===i?T:"center"===i?T-v/2:"end"===i?T-v:h(g,g+v,v,z,H,g+T,g+T+_,_),W=Math.max(0,W+y),U=Math.max(0,U+g);else{W="start"===o?C-R-F:"end"===o?C-L+V+q:"nearest"===o?h(R,L,I,F,V+q,C,C+w,w):C-(R+I/2)+q/2,U="start"===i?T-N-z:"center"===i?T-(N+A/2)+G/2:"end"===i?T-D+H+G:h(N,D,A,z,H+G,T,T+_,_);var K=P.scrollLeft,Z=P.scrollTop;C+=Z-(W=Math.max(0,Math.min(Z+W,P.scrollHeight-I+q))),T+=K-(U=Math.max(0,Math.min(K+U,P.scrollWidth-A+G)))}M.push({el:P,top:W,left:U})}return M}(e,{boundary:t,block:"nearest",scrollMode:"if-needed"}).forEach((function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r}))}function y(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function b(e,t){var n;function r(){n&&clearTimeout(n)}function o(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];r(),n=setTimeout((function(){n=null,e.apply(void 0,i)}),t)}return o.cancel=r,o}function w(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.some((function(t){return t&&t.apply(void 0,[e].concat(r)),e.preventDownshiftDefault||e.hasOwnProperty("nativeEvent")&&e.nativeEvent.preventDownshiftDefault}))}}function _(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){t.forEach((function(t){"function"===typeof t?t(e):t&&(t.current=e)}))}}function x(){return String(p++)}function k(){p=0}function E(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?n+" result"+(1===n?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter key to select.":"":"No results are available.":""}function O(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}function C(e){return"string"===typeof e.type}function T(e){return e.props}var M=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function S(e){void 0===e&&(e={});var t={};return M.forEach((function(n){e.hasOwnProperty(n)&&(t[n]=e[n])})),t}function P(e,t){return Object.keys(e).reduce((function(n,r){return n[r]=j(t,r)?t[r]:e[r],n}),{})}function j(e,t){return void 0!==e[t]}function I(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&0!==t.indexOf("Arrow")?"Arrow"+t:t}function A(e,t,n,r,o){if(void 0===o&&(o=!0),0===n)return-1;var i=n-1;("number"!==typeof t||t<0||t>=n)&&(t=e>0?-1:i+1);var a=t+e;a<0?a=o?i:0:a>i&&(a=o?0:i);var s=R(e,a,n,r,o);return-1===s?t>=n?-1:t:s}function R(e,t,n,r,o){var i=r(t);if(!i||!i.hasAttribute("disabled"))return t;if(e>0){for(var a=t+1;a<n;a++)if(!r(a).hasAttribute("disabled"))return a}else for(var s=t-1;s>=0;s--)if(!r(s).hasAttribute("disabled"))return s;return o?e>0?R(1,0,n,r,!1):R(-1,n-1,n,r,!1):-1}function D(e,t,n,r){return void 0===r&&(r=!0),t.some((function(t){return t&&(y(t,e,n)||r&&y(t,n.document.activeElement,n))}))}var L=b((function(e){B(e).textContent=""}),500);function N(e,t){var n=B(t);e&&(n.textContent=e,L(t))}function B(e){void 0===e&&(e=document);var t=e.getElementById("a11y-status-message");return t||((t=e.createElement("div")).setAttribute("id","a11y-status-message"),t.setAttribute("role","status"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-relevant","additions text"),Object.assign(t.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),e.body.appendChild(t),t)}var z=Object.freeze({__proto__:null,unknown:0,mouseUp:1,itemMouseEnter:2,keyDownArrowUp:3,keyDownArrowDown:4,keyDownEscape:5,keyDownEnter:6,keyDownHome:7,keyDownEnd:8,clickItem:9,blurInput:10,changeInput:11,keyDownSpaceButton:12,clickButton:13,blurButton:14,controlledPropUpdatedSelectedItem:15,touchEnd:16}),F=function(){var e=function(e){function t(t){var n;(n=e.call(this,t)||this).id=n.props.id||"downshift-"+x(),n.menuId=n.props.menuId||n.id+"-menu",n.labelId=n.props.labelId||n.id+"-label",n.inputId=n.props.inputId||n.id+"-input",n.getItemId=n.props.getItemId||function(e){return n.id+"-item-"+e},n.input=null,n.items=[],n.itemCount=null,n.previousResultCount=0,n.timeoutIds=[],n.internalSetTimeout=function(e,t){var r=setTimeout((function(){n.timeoutIds=n.timeoutIds.filter((function(e){return e!==r})),e()}),t);n.timeoutIds.push(r)},n.setItemCount=function(e){n.itemCount=e},n.unsetItemCount=function(){n.itemCount=null},n.setHighlightedIndex=function(e,t){void 0===e&&(e=n.props.defaultHighlightedIndex),void 0===t&&(t={}),t=S(t),n.internalSetState((0,o.Z)({highlightedIndex:e},t))},n.clearSelection=function(e){n.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:n.props.defaultHighlightedIndex,isOpen:n.props.defaultIsOpen},e)},n.selectItem=function(e,t,r){t=S(t),n.internalSetState((0,o.Z)({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,selectedItem:e,inputValue:n.props.itemToString(e)},t),r)},n.selectItemAtIndex=function(e,t,r){var o=n.items[e];null!=o&&n.selectItem(o,t,r)},n.selectHighlightedItem=function(e,t){return n.selectItemAtIndex(n.getState().highlightedIndex,e,t)},n.internalSetState=function(e,t){var r,i,a={},s="function"===typeof e;return!s&&e.hasOwnProperty("inputValue")&&n.props.onInputValueChange(e.inputValue,(0,o.Z)({},n.getStateAndHelpers(),e)),n.setState((function(t){t=n.getState(t);var u=s?e(t):e;u=n.props.stateReducer(t,u),r=u.hasOwnProperty("selectedItem");var c={};return r&&u.selectedItem!==t.selectedItem&&(i=u.selectedItem),u.type=u.type||0,Object.keys(u).forEach((function(e){t[e]!==u[e]&&(a[e]=u[e]),"type"!==e&&(u[e],j(n.props,e)||(c[e]=u[e]))})),s&&u.hasOwnProperty("inputValue")&&n.props.onInputValueChange(u.inputValue,(0,o.Z)({},n.getStateAndHelpers(),u)),c}),(function(){v(t)(),Object.keys(a).length>1&&n.props.onStateChange(a,n.getStateAndHelpers()),r&&n.props.onSelect(e.selectedItem,n.getStateAndHelpers()),void 0!==i&&n.props.onChange(i,n.getStateAndHelpers()),n.props.onUserAction(a,n.getStateAndHelpers())}))},n.rootRef=function(e){return n._rootNode=e},n.getRootProps=function(e,t){var i,a=void 0===e?{}:e,s=a.refKey,u=void 0===s?"ref":s,c=a.ref,l=r(a,["refKey","ref"]),d=(void 0===t?{}:t).suppressRefError,f=void 0!==d&&d;n.getRootProps.called=!0,n.getRootProps.refKey=u,n.getRootProps.suppressRefError=f;var h=n.getState().isOpen;return(0,o.Z)(((i={})[u]=_(c,n.rootRef),i.role="combobox",i["aria-expanded"]=h,i["aria-haspopup"]="listbox",i["aria-owns"]=h?n.menuId:null,i["aria-labelledby"]=n.labelId,i),l)},n.keyDownHandlers={ArrowDown:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?5:1;this.moveHighlightedIndex(n,{type:4})}else this.internalSetState({isOpen:!0,type:4},(function(){var e=t.getItemCount();if(e>0){var n=A(1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:4})}}))},ArrowUp:function(e){var t=this;if(e.preventDefault(),this.getState().isOpen){var n=e.shiftKey?-5:-1;this.moveHighlightedIndex(n,{type:3})}else this.internalSetState({isOpen:!0,type:3},(function(){var e=t.getItemCount();if(e>0){var n=A(-1,t.getState().highlightedIndex,e,(function(e){return t.getItemNodeFromIndex(e)}));t.setHighlightedIndex(n,{type:3})}}))},Enter:function(e){if(229!==e.which){var t=this.getState(),n=t.isOpen,r=t.highlightedIndex;if(n&&null!=r){e.preventDefault();var o=this.items[r],i=this.getItemNodeFromIndex(r);if(null==o||i&&i.hasAttribute("disabled"))return;this.selectHighlightedItem({type:6})}}},Escape:function(e){e.preventDefault(),this.reset((0,o.Z)({type:5},!this.state.isOpen&&{selectedItem:null,inputValue:""}))}},n.buttonKeyDownHandlers=(0,o.Z)({},n.keyDownHandlers,{" ":function(e){e.preventDefault(),this.toggleMenu({type:12})}}),n.inputKeyDownHandlers=(0,o.Z)({},n.keyDownHandlers,{Home:function(e){var t=this,n=this.getState().isOpen;if(n){e.preventDefault();var r=this.getItemCount();if(!(r<=0)&&n){var o=R(1,0,r,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(o,{type:7})}}},End:function(e){var t=this,n=this.getState().isOpen;if(n){e.preventDefault();var r=this.getItemCount();if(!(r<=0)&&n){var o=R(-1,r-1,r,(function(e){return t.getItemNodeFromIndex(e)}),!1);this.setHighlightedIndex(o,{type:8})}}}}),n.getToggleButtonProps=function(e){var t=void 0===e?{}:e,i=t.onClick;t.onPress;var a=t.onKeyDown,s=t.onKeyUp,u=t.onBlur,c=r(t,["onClick","onPress","onKeyDown","onKeyUp","onBlur"]),l=n.getState().isOpen,d={onClick:w(i,n.buttonHandleClick),onKeyDown:w(a,n.buttonHandleKeyDown),onKeyUp:w(s,n.buttonHandleKeyUp),onBlur:w(u,n.buttonHandleBlur)},f=c.disabled?{}:d;return(0,o.Z)({type:"button",role:"button","aria-label":l?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0},f,c)},n.buttonHandleKeyUp=function(e){e.preventDefault()},n.buttonHandleKeyDown=function(e){var t=I(e);n.buttonKeyDownHandlers[t]&&n.buttonKeyDownHandlers[t].call(i(n),e)},n.buttonHandleClick=function(e){e.preventDefault(),n.props.environment.document.activeElement===n.props.environment.document.body&&e.target.focus(),n.internalSetTimeout((function(){return n.toggleMenu({type:13})}))},n.buttonHandleBlur=function(e){var t=e.target;n.internalSetTimeout((function(){n.isMouseDown||null!=n.props.environment.document.activeElement&&n.props.environment.document.activeElement.id===n.inputId||n.props.environment.document.activeElement===t||n.reset({type:14})}))},n.getLabelProps=function(e){return(0,o.Z)({htmlFor:n.inputId,id:n.labelId},e)},n.getInputProps=function(e){var t=void 0===e?{}:e,i=t.onKeyDown,a=t.onBlur,s=t.onChange,u=t.onInput;t.onChangeText;var c=r(t,["onKeyDown","onBlur","onChange","onInput","onChangeText"]),l={};var d,f=n.getState(),h=f.inputValue,p=f.isOpen,v=f.highlightedIndex;c.disabled||((d={}).onChange=w(s,u,n.inputHandleChange),d.onKeyDown=w(i,n.inputHandleKeyDown),d.onBlur=w(a,n.inputHandleBlur),l=d);return(0,o.Z)({"aria-autocomplete":"list","aria-activedescendant":p&&"number"===typeof v&&v>=0?n.getItemId(v):null,"aria-controls":p?n.menuId:null,"aria-labelledby":n.labelId,autoComplete:"off",value:h,id:n.inputId},l,c)},n.inputHandleKeyDown=function(e){var t=I(e);t&&n.inputKeyDownHandlers[t]&&n.inputKeyDownHandlers[t].call(i(n),e)},n.inputHandleChange=function(e){n.internalSetState({type:11,isOpen:!0,inputValue:e.target.value,highlightedIndex:n.props.defaultHighlightedIndex})},n.inputHandleBlur=function(){n.internalSetTimeout((function(){var e=n.props.environment.document&&!!n.props.environment.document.activeElement&&!!n.props.environment.document.activeElement.dataset&&n.props.environment.document.activeElement.dataset.toggle&&n._rootNode&&n._rootNode.contains(n.props.environment.document.activeElement);n.isMouseDown||e||n.reset({type:10})}))},n.menuRef=function(e){n._menuNode=e},n.getMenuProps=function(e,t){var i,a=void 0===e?{}:e,s=a.refKey,u=void 0===s?"ref":s,c=a.ref,l=r(a,["refKey","ref"]),d=(void 0===t?{}:t).suppressRefError,f=void 0!==d&&d;return n.getMenuProps.called=!0,n.getMenuProps.refKey=u,n.getMenuProps.suppressRefError=f,(0,o.Z)(((i={})[u]=_(c,n.menuRef),i.role="listbox",i["aria-labelledby"]=l&&l["aria-label"]?null:n.labelId,i.id=n.menuId,i),l)},n.getItemProps=function(e){var t,i=void 0===e?{}:e,a=i.onMouseMove,s=i.onMouseDown,u=i.onClick;i.onPress;var c=i.index,l=i.item,d=void 0===l?void 0:l,f=r(i,["onMouseMove","onMouseDown","onClick","onPress","index","item"]);void 0===c?(n.items.push(d),c=n.items.indexOf(d)):n.items[c]=d;var h=u,p=((t={onMouseMove:w(a,(function(){c!==n.getState().highlightedIndex&&(n.setHighlightedIndex(c,{type:2}),n.avoidScrolling=!0,n.internalSetTimeout((function(){return n.avoidScrolling=!1}),250))})),onMouseDown:w(s,(function(e){e.preventDefault()}))}).onClick=w(h,(function(){n.selectItemAtIndex(c,{type:9})})),t),v=f.disabled?{onMouseDown:p.onMouseDown}:p;return(0,o.Z)({id:n.getItemId(c),role:"option","aria-selected":n.getState().highlightedIndex===c},v,f)},n.clearItems=function(){n.items=[]},n.reset=function(e,t){void 0===e&&(e={}),e=S(e),n.internalSetState((function(t){var r=t.selectedItem;return(0,o.Z)({isOpen:n.props.defaultIsOpen,highlightedIndex:n.props.defaultHighlightedIndex,inputValue:n.props.itemToString(r)},e)}),t)},n.toggleMenu=function(e,t){void 0===e&&(e={}),e=S(e),n.internalSetState((function(t){var r=t.isOpen;return(0,o.Z)({isOpen:!r},r&&{highlightedIndex:n.props.defaultHighlightedIndex},e)}),(function(){var r=n.getState(),o=r.isOpen,i=r.highlightedIndex;o&&n.getItemCount()>0&&"number"===typeof i&&n.setHighlightedIndex(i,e),v(t)()}))},n.openMenu=function(e){n.internalSetState({isOpen:!0},e)},n.closeMenu=function(e){n.internalSetState({isOpen:!1},e)},n.updateStatus=b((function(){var e=n.getState(),t=n.items[e.highlightedIndex],r=n.getItemCount(),i=n.props.getA11yStatusMessage((0,o.Z)({itemToString:n.props.itemToString,previousResultCount:n.previousResultCount,resultCount:r,highlightedItem:t},e));n.previousResultCount=r,N(i,n.props.environment.document)}),200);var a=n.props,s=a.defaultHighlightedIndex,u=a.initialHighlightedIndex,c=void 0===u?s:u,l=a.defaultIsOpen,d=a.initialIsOpen,f=void 0===d?l:d,h=a.initialInputValue,p=void 0===h?"":h,m=a.initialSelectedItem,g=void 0===m?null:m,y=n.getState({highlightedIndex:c,isOpen:f,inputValue:p,selectedItem:g});return null!=y.selectedItem&&void 0===n.props.initialInputValue&&(y.inputValue=n.props.itemToString(y.selectedItem)),n.state=y,n}(0,a.Z)(t,e);var n=t.prototype;return n.internalClearTimeouts=function(){this.timeoutIds.forEach((function(e){clearTimeout(e)})),this.timeoutIds=[]},n.getState=function(e){return void 0===e&&(e=this.state),P(e,this.props)},n.getItemCount=function(){var e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e},n.getItemNodeFromIndex=function(e){return this.props.environment.document.getElementById(this.getItemId(e))},n.scrollHighlightedItemIntoView=function(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)},n.moveHighlightedIndex=function(e,t){var n=this,r=this.getItemCount(),o=this.getState().highlightedIndex;if(r>0){var i=A(e,o,r,(function(e){return n.getItemNodeFromIndex(e)}));this.setHighlightedIndex(i,t)}},n.getStateAndHelpers=function(){var e=this.getState(),t=e.highlightedIndex,n=e.inputValue,r=e.selectedItem,o=e.isOpen,i=this.props.itemToString,a=this.id,s=this.getRootProps,u=this.getToggleButtonProps,c=this.getLabelProps,l=this.getMenuProps,d=this.getInputProps,f=this.getItemProps,h=this.openMenu,p=this.closeMenu,v=this.toggleMenu,m=this.selectItem,g=this.selectItemAtIndex,y=this.selectHighlightedItem,b=this.setHighlightedIndex,w=this.clearSelection,_=this.clearItems;return{getRootProps:s,getToggleButtonProps:u,getLabelProps:c,getMenuProps:l,getInputProps:d,getItemProps:f,reset:this.reset,openMenu:h,closeMenu:p,toggleMenu:v,selectItem:m,selectItemAtIndex:g,selectHighlightedItem:y,setHighlightedIndex:b,clearSelection:w,clearItems:_,setItemCount:this.setItemCount,unsetItemCount:this.unsetItemCount,setState:this.internalSetState,itemToString:i,id:a,highlightedIndex:t,inputValue:n,isOpen:o,selectedItem:r}},n.componentDidMount=function(){var e=this;var t=function(){e.isMouseDown=!0},n=function(t){e.isMouseDown=!1,!D(t.target,[e._rootNode,e._menuNode],e.props.environment)&&e.getState().isOpen&&e.reset({type:1},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},r=function(){e.isTouchMove=!1},o=function(){e.isTouchMove=!0},i=function(t){var n=D(t.target,[e._rootNode,e._menuNode],e.props.environment,!1);e.isTouchMove||n||!e.getState().isOpen||e.reset({type:16},(function(){return e.props.onOuterClick(e.getStateAndHelpers())}))},a=this.props.environment;a.addEventListener("mousedown",t),a.addEventListener("mouseup",n),a.addEventListener("touchstart",r),a.addEventListener("touchmove",o),a.addEventListener("touchend",i),this.cleanup=function(){e.internalClearTimeouts(),e.updateStatus.cancel(),a.removeEventListener("mousedown",t),a.removeEventListener("mouseup",n),a.removeEventListener("touchstart",r),a.removeEventListener("touchmove",o),a.removeEventListener("touchend",i)}},n.shouldScroll=function(e,t){var n=(void 0===this.props.highlightedIndex?this.getState():this.props).highlightedIndex,r=(void 0===t.highlightedIndex?e:t).highlightedIndex;return n&&this.getState().isOpen&&!e.isOpen||n!==r},n.componentDidUpdate=function(e,t){j(this.props,"selectedItem")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:15,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()},n.componentWillUnmount=function(){this.cleanup()},n.render=function(){var e=O(this.props.children,m);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;var t=O(e(this.getStateAndHelpers()));return t?this.getRootProps.called||this.props.suppressRefError?t:C(t)?(0,c.cloneElement)(t,this.getRootProps(T(t))):void 0:null},t}(c.Component);return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:E,itemToString:function(e){return null==e?"":String(e)},onStateChange:m,onInputValueChange:m,onUserAction:m,onChange:m,onSelect:m,onOuterClick:m,selectedItemChanged:function(e,t){return e!==t},environment:"undefined"===typeof window?{}:window,stateReducer:function(e,t){return t},suppressRefError:!1,scrollIntoView:g},e.stateChangeTypes=z,e}();var H={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function V(e,t,n){var r=e.props,i=e.type,a={};Object.keys(t).forEach((function(r){!function(e,t,n,r){var i=t.props,a=t.type,s="on"+Z(e)+"Change";i[s]&&void 0!==r[e]&&r[e]!==n[e]&&i[s]((0,o.Z)({type:a},r))}(r,e,t,n),n[r]!==t[r]&&(a[r]=n[r])})),r.onStateChange&&Object.keys(a).length&&r.onStateChange((0,o.Z)({type:i},a))}var W=b((function(e,t){N(e(),t)}),200),U="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?c.useLayoutEffect:c.useEffect;function G(e){var t=e.id,n=void 0===t?"downshift-"+x():t,r=e.labelId,o=e.menuId,i=e.getItemId,a=e.toggleButtonId,s=e.inputId;return(0,c.useRef)({labelId:r||n+"-label",menuId:o||n+"-menu",getItemId:i||function(e){return n+"-item-"+e},toggleButtonId:a||n+"-toggle-button",inputId:s||n+"-input"}).current}function q(e,t,n){return void 0!==e?e:0===n.length?-1:n.indexOf(t)}function K(e){return/^\S{1}$/.test(e)}function Z(e){return""+e.slice(0,1).toUpperCase()+e.slice(1)}function $(e){var t=(0,c.useRef)(e);return t.current=e,t}function X(e,t,n){var r=(0,c.useRef)(),i=(0,c.useRef)(),a=(0,c.useCallback)((function(t,n){i.current=n,t=P(t,n.props);var r=e(t,n);return n.props.stateReducer(t,(0,o.Z)({},n,{changes:r}))}),[e]),s=(0,c.useReducer)(a,t),u=s[0],l=s[1],d=$(n),f=(0,c.useCallback)((function(e){return l((0,o.Z)({props:d.current},e))}),[d]),h=i.current;return(0,c.useEffect)((function(){h&&r.current&&r.current!==u&&V(h,P(r.current,h.props),u),r.current=u}),[u,n,h]),[u,f]}function Y(e,t,n){var r=X(e,t,n),o=r[0],i=r[1];return[P(o,n),i]}var Q={itemToString:function(e){return e?String(e):""},stateReducer:function(e,t){return t.changes},getA11ySelectionMessage:function(e){var t=e.selectedItem,n=e.itemToString;return t?n(t)+" has been selected.":""},scrollIntoView:g,circularNavigation:!1,environment:"undefined"===typeof window?{}:window};function J(e,t,n){void 0===n&&(n=H);var r="default"+Z(t);return r in e?e[r]:n[t]}function ee(e,t,n){if(void 0===n&&(n=H),t in e)return e[t];var r="initial"+Z(t);return r in e?e[r]:J(e,t,n)}function te(e){var t=ee(e,"selectedItem"),n=ee(e,"isOpen"),r=ee(e,"highlightedIndex"),o=ee(e,"inputValue");return{highlightedIndex:r<0&&t&&n?e.items.indexOf(t):r,isOpen:n,selectedItem:t,inputValue:o}}function ne(e,t,n,r){var o=e.items,i=e.initialHighlightedIndex,a=e.defaultHighlightedIndex,s=t.selectedItem,u=t.highlightedIndex;return 0===o.length?-1:void 0!==i&&u===i?i:void 0!==a?a:s?0===n?o.indexOf(s):A(n,o.indexOf(s),o.length,r,!1):0===n?-1:n<0?o.length-1:0}function re(e,t,n,r){var o=(0,c.useRef)({isMouseDown:!1,isTouchMove:!1});return(0,c.useEffect)((function(){var i=function(){o.current.isMouseDown=!0},a=function(i){o.current.isMouseDown=!1,e&&!D(i.target,t.map((function(e){return e.current})),n)&&r()},s=function(){o.current.isTouchMove=!1},u=function(){o.current.isTouchMove=!0},c=function(i){!e||o.current.isTouchMove||D(i.target,t.map((function(e){return e.current})),n,!1)||r()};return n.addEventListener("mousedown",i),n.addEventListener("mouseup",a),n.addEventListener("touchstart",s),n.addEventListener("touchmove",u),n.addEventListener("touchend",c),function(){n.removeEventListener("mousedown",i),n.removeEventListener("mouseup",a),n.removeEventListener("touchstart",s),n.removeEventListener("touchmove",u),n.removeEventListener("touchend",c)}}),[e,n]),o}var oe=function(){return m};function ie(e,t,n){var i=n.isInitialMount,a=n.highlightedIndex,s=n.items,u=n.environment,l=r(n,["isInitialMount","highlightedIndex","items","environment"]);(0,c.useEffect)((function(){i||W((function(){return e((0,o.Z)({highlightedIndex:a,highlightedItem:s[a],resultCount:s.length},l))}),u.document)}),t)}function ae(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,o=e.getItemNodeFromIndex,i=e.menuElement,a=e.scrollIntoView,s=(0,c.useRef)(!0);return U((function(){t<0||!n||!Object.keys(r.current).length||(!1===s.current?s.current=!0:a(o(t),i))}),[t]),s}var se=m;function ue(e,t,n){var r,i=t.type,a=t.props;switch(i){case n.ItemMouseMove:r={highlightedIndex:t.index};break;case n.MenuMouseLeave:r={highlightedIndex:-1};break;case n.ToggleButtonClick:case n.FunctionToggleMenu:r={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:ne(a,e,0)};break;case n.FunctionOpenMenu:r={isOpen:!0,highlightedIndex:ne(a,e,0)};break;case n.FunctionCloseMenu:r={isOpen:!1};break;case n.FunctionSetHighlightedIndex:r={highlightedIndex:t.highlightedIndex};break;case n.FunctionSetInputValue:r={inputValue:t.inputValue};break;case n.FunctionReset:r={highlightedIndex:J(a,"highlightedIndex"),isOpen:J(a,"isOpen"),selectedItem:J(a,"selectedItem"),inputValue:J(a,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return(0,o.Z)({},e,r)}function ce(e,t,n,r,o){for(var i=e.toLowerCase(),a=0;a<n.length;a++){var s=(a+t+1)%n.length;if(r(n[s]).toLowerCase().startsWith(i)){var u=o(s);if(!u||!u.hasAttribute("disabled"))return s}}return t}u().array.isRequired,u().func,u().func,u().func,u().bool,u().number,u().number,u().number,u().bool,u().bool,u().bool,u().any,u().any,u().any,u().string,u().string,u().string,u().func,u().string,u().func,u().func,u().func,u().func,u().func,u().shape({addEventListener:u().func,removeEventListener:u().func,document:u().shape({getElementById:u().func,activeElement:u().any,body:u().any})});var le=(0,o.Z)({},Q,{getA11yStatusMessage:function(e){var t=e.isOpen,n=e.resultCount,r=e.previousResultCount;return t?n?n!==r?n+" result"+(1===n?" is":"s are")+" available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select.":"":"No results are available.":""}}),de=m;var fe=Object.freeze({__proto__:null,MenuKeyDownArrowDown:0,MenuKeyDownArrowUp:1,MenuKeyDownEscape:2,MenuKeyDownHome:3,MenuKeyDownEnd:4,MenuKeyDownEnter:5,MenuKeyDownSpaceButton:6,MenuKeyDownCharacter:7,MenuBlur:8,MenuMouseLeave:9,ItemMouseMove:10,ItemClick:11,ToggleButtonClick:12,ToggleButtonKeyDownArrowDown:13,ToggleButtonKeyDownArrowUp:14,ToggleButtonKeyDownCharacter:15,FunctionToggleMenu:16,FunctionOpenMenu:17,FunctionCloseMenu:18,FunctionSetHighlightedIndex:19,FunctionSelectItem:20,FunctionSetInputValue:21,FunctionReset:22});function he(e,t){var n,r=t.type,i=t.props,a=t.shiftKey;switch(r){case 11:n={isOpen:J(i,"isOpen"),highlightedIndex:J(i,"highlightedIndex"),selectedItem:i.items[t.index]};break;case 15:var s=t.key,u=""+e.inputValue+s,c=ce(u,e.selectedItem?i.items.indexOf(e.selectedItem):-1,i.items,i.itemToString,t.getItemNodeFromIndex);n=(0,o.Z)({inputValue:u},c>=0&&{selectedItem:i.items[c]});break;case 13:n={highlightedIndex:ne(i,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case 14:n={highlightedIndex:ne(i,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case 5:case 6:n=(0,o.Z)({isOpen:J(i,"isOpen"),highlightedIndex:J(i,"highlightedIndex")},e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex]});break;case 3:n={highlightedIndex:R(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:R(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 2:case 8:n={isOpen:!1,highlightedIndex:-1};break;case 7:var l=t.key,d=""+e.inputValue+l,f=ce(d,e.highlightedIndex,i.items,i.itemToString,t.getItemNodeFromIndex);n=(0,o.Z)({inputValue:d},f>=0&&{highlightedIndex:f});break;case 0:n={highlightedIndex:A(a?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 1:n={highlightedIndex:A(a?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)};break;case 20:n={selectedItem:t.selectedItem};break;default:return ue(e,t,fe)}return(0,o.Z)({},e,n)}function pe(e){void 0===e&&(e={}),de(e,pe);var t=(0,o.Z)({},le,e),n=t.items,i=t.scrollIntoView,a=t.environment,s=t.initialIsOpen,u=t.defaultIsOpen,l=t.itemToString,d=t.getA11ySelectionMessage,f=t.getA11yStatusMessage,h=Y(he,te(t),t),p=h[0],v=h[1],m=p.isOpen,g=p.highlightedIndex,y=p.selectedItem,x=p.inputValue,k=(0,c.useRef)(null),E=(0,c.useRef)(null),O=(0,c.useRef)({}),C=(0,c.useRef)(!0),T=(0,c.useRef)(null),M=G(t),S=(0,c.useRef)(),P=(0,c.useRef)(!0),j=$({state:p,props:t}),A=(0,c.useCallback)((function(e){return O.current[M.getItemId(e)]}),[M]);ie(f,[m,g,x,n],(0,o.Z)({isInitialMount:P.current,previousResultCount:S.current,items:n,environment:a,itemToString:l},p)),ie(d,[y],(0,o.Z)({isInitialMount:P.current,previousResultCount:S.current,items:n,environment:a,itemToString:l},p));var R=ae({menuElement:E.current,highlightedIndex:g,isOpen:m,itemRefs:O,scrollIntoView:i,getItemNodeFromIndex:A});(0,c.useEffect)((function(){return T.current=b((function(e){e({type:21,inputValue:""})}),500),function(){T.current.cancel()}}),[]),(0,c.useEffect)((function(){x&&T.current(v)}),[v,x]),se({isInitialMount:P.current,props:t,state:p}),(0,c.useEffect)((function(){P.current?(s||u||m)&&E.current&&E.current.focus():m?E.current&&E.current.focus():a.document.activeElement===E.current&&k.current&&(C.current=!1,k.current.focus())}),[m]),(0,c.useEffect)((function(){P.current||(S.current=n.length)}));var D=re(m,[E,k],a,(function(){v({type:8})})),L=oe();(0,c.useEffect)((function(){P.current=!1}),[]),(0,c.useEffect)((function(){m||(O.current={})}),[m]);var N=(0,c.useMemo)((function(){return{ArrowDown:function(e){e.preventDefault(),v({type:13,getItemNodeFromIndex:A,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),v({type:14,getItemNodeFromIndex:A,shiftKey:e.shiftKey})}}}),[v,A]),B=(0,c.useMemo)((function(){return{ArrowDown:function(e){e.preventDefault(),v({type:0,getItemNodeFromIndex:A,shiftKey:e.shiftKey})},ArrowUp:function(e){e.preventDefault(),v({type:1,getItemNodeFromIndex:A,shiftKey:e.shiftKey})},Home:function(e){e.preventDefault(),v({type:3,getItemNodeFromIndex:A})},End:function(e){e.preventDefault(),v({type:4,getItemNodeFromIndex:A})},Escape:function(){v({type:2})},Enter:function(e){e.preventDefault(),v({type:5})}," ":function(e){e.preventDefault(),v({type:6})}}}),[v,A]),z=(0,c.useCallback)((function(){v({type:16})}),[v]),F=(0,c.useCallback)((function(){v({type:18})}),[v]),H=(0,c.useCallback)((function(){v({type:17})}),[v]),V=(0,c.useCallback)((function(e){v({type:19,highlightedIndex:e})}),[v]),W=(0,c.useCallback)((function(e){v({type:20,selectedItem:e})}),[v]),U=(0,c.useCallback)((function(){v({type:22})}),[v]),Z=(0,c.useCallback)((function(e){v({type:21,inputValue:e})}),[v]),X=(0,c.useCallback)((function(e){return(0,o.Z)({id:M.labelId,htmlFor:M.toggleButtonId},e)}),[M]),Q=(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.onMouseLeave,s=i.refKey,u=void 0===s?"ref":s,c=i.onKeyDown,l=i.onBlur,d=i.ref,f=r(i,["onMouseLeave","refKey","onKeyDown","onBlur","ref"]),h=(void 0===t?{}:t).suppressRefError,p=void 0!==h&&h,m=j.current.state;return L("getMenuProps",p,u,E),(0,o.Z)(((n={})[u]=_(d,(function(e){E.current=e})),n.id=M.menuId,n.role="listbox",n["aria-labelledby"]=M.labelId,n.tabIndex=-1,n),m.isOpen&&m.highlightedIndex>-1&&{"aria-activedescendant":M.getItemId(m.highlightedIndex)},{onMouseLeave:w(a,(function(){v({type:9})})),onKeyDown:w(c,(function(e){var t=I(e);t&&B[t]?B[t](e):K(t)&&v({type:7,key:t,getItemNodeFromIndex:A})})),onBlur:w(l,(function(){!1!==C.current?!D.current.isMouseDown&&v({type:8}):C.current=!0}))},f)}),[v,j,B,D,L,M,A]);return{getToggleButtonProps:(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.onClick,s=i.onKeyDown,u=i.refKey,c=void 0===u?"ref":u,l=i.ref,d=r(i,["onClick","onKeyDown","refKey","ref"]),f=(void 0===t?{}:t).suppressRefError,h=void 0!==f&&f,p=(0,o.Z)(((n={})[c]=_(l,(function(e){k.current=e})),n.id=M.toggleButtonId,n["aria-haspopup"]="listbox",n["aria-expanded"]=j.current.state.isOpen,n["aria-labelledby"]=M.labelId+" "+M.toggleButtonId,n),d);return d.disabled||(p.onClick=w(a,(function(){v({type:12})})),p.onKeyDown=w(s,(function(e){var t=I(e);t&&N[t]?N[t](e):K(t)&&v({type:15,key:t,getItemNodeFromIndex:A})}))),L("getToggleButtonProps",h,c,k),p}),[v,j,N,L,M,A]),getLabelProps:X,getMenuProps:Q,getItemProps:(0,c.useCallback)((function(e){var t,n=void 0===e?{}:e,i=n.item,a=n.index,s=n.onMouseMove,u=n.onClick,c=n.refKey,l=void 0===c?"ref":c,d=n.ref,f=r(n,["item","index","onMouseMove","onClick","refKey","ref"]),h=j.current,p=h.state,m=h.props,g=q(a,i,m.items);if(g<0)throw new Error("Pass either item or item index in getItemProps!");var y=(0,o.Z)(((t={role:"option","aria-selected":""+(g===p.highlightedIndex),id:M.getItemId(g)})[l]=_(d,(function(e){e&&(O.current[M.getItemId(g)]=e)})),t),f);return f.disabled||(y.onMouseMove=w(s,(function(){a!==p.highlightedIndex&&(R.current=!1,v({type:10,index:a}))})),y.onClick=w(u,(function(){v({type:11,index:a})}))),y}),[v,j,R,M]),toggleMenu:z,openMenu:H,closeMenu:F,setHighlightedIndex:V,selectItem:W,reset:U,setInputValue:Z,highlightedIndex:g,isOpen:m,selectedItem:y,inputValue:x}}pe.stateChangeTypes=fe;var ve=Object.freeze({__proto__:null,InputKeyDownArrowDown:0,InputKeyDownArrowUp:1,InputKeyDownEscape:2,InputKeyDownHome:3,InputKeyDownEnd:4,InputKeyDownEnter:5,InputChange:6,InputBlur:7,MenuMouseLeave:8,ItemMouseMove:9,ItemClick:10,ToggleButtonClick:11,FunctionToggleMenu:12,FunctionOpenMenu:13,FunctionCloseMenu:14,FunctionSetHighlightedIndex:15,FunctionSelectItem:16,FunctionSetInputValue:17,FunctionReset:18,ControlledPropUpdatedSelectedItem:19});u().array.isRequired,u().func,u().func,u().func,u().bool,u().number,u().number,u().number,u().bool,u().bool,u().bool,u().any,u().any,u().any,u().string,u().string,u().string,u().string,u().string,u().string,u().func,u().string,u().string,u().func,u().func,u().func,u().func,u().func,u().func,u().shape({addEventListener:u().func,removeEventListener:u().func,document:u().shape({getElementById:u().func,activeElement:u().any,body:u().any})});var me=m;var ge=(0,o.Z)({},Q,{getA11yStatusMessage:E,circularNavigation:!0});function ye(e,t){var n,r=t.type,i=t.props,a=t.shiftKey;switch(r){case 10:n={isOpen:J(i,"isOpen"),highlightedIndex:J(i,"highlightedIndex"),selectedItem:i.items[t.index],inputValue:i.itemToString(i.items[t.index])};break;case 0:n=e.isOpen?{highlightedIndex:A(a?5:1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ne(i,e,1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 1:n=e.isOpen?{highlightedIndex:A(a?-5:-1,e.highlightedIndex,i.items.length,t.getItemNodeFromIndex,i.circularNavigation)}:{highlightedIndex:ne(i,e,-1,t.getItemNodeFromIndex),isOpen:i.items.length>=0};break;case 5:n=(0,o.Z)({},e.isOpen&&e.highlightedIndex>=0&&{selectedItem:i.items[e.highlightedIndex],isOpen:J(i,"isOpen"),highlightedIndex:J(i,"highlightedIndex"),inputValue:i.itemToString(i.items[e.highlightedIndex])});break;case 2:n=(0,o.Z)({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:""});break;case 3:n={highlightedIndex:R(1,0,i.items.length,t.getItemNodeFromIndex,!1)};break;case 4:n={highlightedIndex:R(-1,i.items.length-1,i.items.length,t.getItemNodeFromIndex,!1)};break;case 7:n=(0,o.Z)({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.selectItem&&{selectedItem:i.items[e.highlightedIndex],inputValue:i.itemToString(i.items[e.highlightedIndex])});break;case 6:n={isOpen:!0,highlightedIndex:J(i,"highlightedIndex"),inputValue:t.inputValue};break;case 16:n={selectedItem:t.selectedItem,inputValue:i.itemToString(t.selectedItem)};break;case 19:n={inputValue:t.inputValue};break;default:return ue(e,t,ve)}return(0,o.Z)({},e,n)}function be(e){void 0===e&&(e={}),me(e,be);var t=(0,o.Z)({},ge,e),n=t.initialIsOpen,i=t.defaultIsOpen,a=t.items,s=t.scrollIntoView,u=t.environment,l=t.getA11yStatusMessage,d=t.getA11ySelectionMessage,f=t.itemToString,h=function(e,t,n){var r=(0,c.useRef)(),o=X(e,t,n),i=o[0],a=o[1];return(0,c.useEffect)((function(){j(n,"selectedItem")&&(r.current!==n.selectedItem&&a({type:19,inputValue:n.itemToString(n.selectedItem)}),r.current=i.selectedItem===r.current?n.selectedItem:i.selectedItem)})),[P(i,n),a]}(ye,function(e){var t=te(e),n=t.selectedItem,r=t.inputValue;return""===r&&n&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(r=e.itemToString(n)),(0,o.Z)({},t,{inputValue:r})}(t),t),p=h[0],v=h[1],m=p.isOpen,g=p.highlightedIndex,y=p.selectedItem,b=p.inputValue,x=(0,c.useRef)(null),k=(0,c.useRef)({}),E=(0,c.useRef)(null),O=(0,c.useRef)(null),C=(0,c.useRef)(null),T=(0,c.useRef)(!0),M=G(t),S=(0,c.useRef)(),A=$({state:p,props:t}),R=(0,c.useCallback)((function(e){return k.current[M.getItemId(e)]}),[M]);ie(l,[m,g,b,a],(0,o.Z)({isInitialMount:T.current,previousResultCount:S.current,items:a,environment:u,itemToString:f},p)),ie(d,[y],(0,o.Z)({isInitialMount:T.current,previousResultCount:S.current,items:a,environment:u,itemToString:f},p));var D=ae({menuElement:x.current,highlightedIndex:g,isOpen:m,itemRefs:k,scrollIntoView:s,getItemNodeFromIndex:R});se({isInitialMount:T.current,props:t,state:p}),(0,c.useEffect)((function(){(n||i||m)&&E.current&&E.current.focus()}),[]),(0,c.useEffect)((function(){T.current||(S.current=a.length)}));var L=re(m,[C,x,O],u,(function(){v({type:7,selectItem:!1})})),N=oe();(0,c.useEffect)((function(){T.current=!1}),[]),(0,c.useEffect)((function(){m||(k.current={})}),[m]);var B=(0,c.useMemo)((function(){return{ArrowDown:function(e){e.preventDefault(),v({type:0,shiftKey:e.shiftKey,getItemNodeFromIndex:R})},ArrowUp:function(e){e.preventDefault(),v({type:1,shiftKey:e.shiftKey,getItemNodeFromIndex:R})},Home:function(e){A.current.state.isOpen&&(e.preventDefault(),v({type:3,getItemNodeFromIndex:R}))},End:function(e){A.current.state.isOpen&&(e.preventDefault(),v({type:4,getItemNodeFromIndex:R}))},Escape:function(){var e=A.current.state;(e.isOpen||e.inputValue||e.selectedItem||e.highlightedIndex>-1)&&v({type:2})},Enter:function(e){var t=A.current.state;!t.isOpen||t.highlightedIndex<0||229===e.which||(e.preventDefault(),v({type:5,getItemNodeFromIndex:R}))}}}),[v,A,R]),z=(0,c.useCallback)((function(e){return(0,o.Z)({id:M.labelId,htmlFor:M.inputId},e)}),[M]),F=(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.onMouseLeave,s=i.refKey,u=void 0===s?"ref":s,c=i.ref,l=r(i,["onMouseLeave","refKey","ref"]),d=(void 0===t?{}:t).suppressRefError;return N("getMenuProps",void 0!==d&&d,u,x),(0,o.Z)(((n={})[u]=_(c,(function(e){x.current=e})),n.id=M.menuId,n.role="listbox",n["aria-labelledby"]=M.labelId,n.onMouseLeave=w(a,(function(){v({type:8})})),n),l)}),[v,N,M]),H=(0,c.useCallback)((function(e){var t,n,i=void 0===e?{}:e,a=i.item,s=i.index,u=i.refKey,c=void 0===u?"ref":u,l=i.ref,d=i.onMouseMove,f=i.onClick;i.onPress;var h=r(i,["item","index","refKey","ref","onMouseMove","onClick","onPress"]),p=A.current,m=p.props,g=p.state,y=q(s,a,m.items);if(y<0)throw new Error("Pass either item or item index in getItemProps!");var b=f;return(0,o.Z)(((t={})[c]=_(l,(function(e){e&&(k.current[M.getItemId(y)]=e)})),t.role="option",t["aria-selected"]=""+(y===g.highlightedIndex),t.id=M.getItemId(y),t),!h.disabled&&((n={onMouseMove:w(d,(function(){s!==g.highlightedIndex&&(D.current=!1,v({type:9,index:s}))}))}).onClick=w(b,(function(){v({type:10,index:s}),E.current&&E.current.focus()})),n),h)}),[v,A,D,M]),V=(0,c.useCallback)((function(e){var t,n=void 0===e?{}:e,i=n.onClick;n.onPress;var a=n.refKey,s=void 0===a?"ref":a,u=n.ref,c=r(n,["onClick","onPress","refKey","ref"]);return(0,o.Z)(((t={})[s]=_(u,(function(e){O.current=e})),t.id=M.toggleButtonId,t.tabIndex=-1,t),!c.disabled&&(0,o.Z)({},{onClick:w(i,(function(){v({type:11}),!A.current.state.isOpen&&E.current&&E.current.focus()}))}),c)}),[v,A,M]),W=(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.onKeyDown,s=i.onChange,u=i.onInput,c=i.onBlur;i.onChangeText;var l=i.refKey,d=void 0===l?"ref":l,f=i.ref,h=r(i,["onKeyDown","onChange","onInput","onBlur","onChangeText","refKey","ref"]),p=(void 0===t?{}:t).suppressRefError;N("getInputProps",void 0!==p&&p,d,E);var m,g=A.current.state,y={};h.disabled||((m={}).onChange=w(s,u,(function(e){v({type:6,inputValue:e.target.value})})),m.onKeyDown=w(a,(function(e){var t=I(e);t&&B[t]&&B[t](e)})),m.onBlur=w(c,(function(){g.isOpen&&!L.current.isMouseDown&&v({type:7,selectItem:!0})})),y=m);return(0,o.Z)(((n={})[d]=_(f,(function(e){E.current=e})),n.id=M.inputId,n["aria-autocomplete"]="list",n["aria-controls"]=M.menuId,n),g.isOpen&&g.highlightedIndex>-1&&{"aria-activedescendant":M.getItemId(g.highlightedIndex)},{"aria-labelledby":M.labelId,autoComplete:"off",value:g.inputValue},y,h)}),[v,B,A,L,N,M]),U=(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.refKey,s=void 0===a?"ref":a,u=i.ref,c=r(i,["refKey","ref"]),l=(void 0===t?{}:t).suppressRefError;return N("getComboboxProps",void 0!==l&&l,s,C),(0,o.Z)(((n={})[s]=_(u,(function(e){C.current=e})),n.role="combobox",n["aria-haspopup"]="listbox",n["aria-owns"]=M.menuId,n["aria-expanded"]=A.current.state.isOpen,n),c)}),[A,N,M]),K=(0,c.useCallback)((function(){v({type:12})}),[v]),Z=(0,c.useCallback)((function(){v({type:14})}),[v]),Y=(0,c.useCallback)((function(){v({type:13})}),[v]),Q=(0,c.useCallback)((function(e){v({type:15,highlightedIndex:e})}),[v]),J=(0,c.useCallback)((function(e){v({type:16,selectedItem:e})}),[v]);return{getItemProps:H,getLabelProps:z,getMenuProps:F,getInputProps:W,getComboboxProps:U,getToggleButtonProps:V,toggleMenu:K,openMenu:Y,closeMenu:Z,setHighlightedIndex:Q,setInputValue:(0,c.useCallback)((function(e){v({type:17,inputValue:e})}),[v]),selectItem:J,reset:(0,c.useCallback)((function(){v({type:18})}),[v]),highlightedIndex:g,isOpen:m,selectedItem:y,inputValue:b}}be.stateChangeTypes=ve;var we={activeIndex:-1,selectedItems:[]};function _e(e,t){return ee(e,t,we)}function xe(e,t){return J(e,t,we)}function ke(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;var t=e.target;return!(t instanceof HTMLInputElement&&""!==t.value)||0===t.selectionStart&&0===t.selectionEnd}u().array,u().array,u().array,u().func,u().func,u().func,u().number,u().number,u().number,u().func,u().func,u().string,u().string,u().shape({addEventListener:u().func,removeEventListener:u().func,document:u().shape({getElementById:u().func,activeElement:u().any,body:u().any})});var Ee={itemToString:Q.itemToString,stateReducer:Q.stateReducer,environment:Q.environment,getA11yRemovalMessage:function(e){var t=e.removedSelectedItem;return(0,e.itemToString)(t)+" has been removed."},keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},Oe=m;var Ce=Object.freeze({__proto__:null,SelectedItemClick:0,SelectedItemKeyDownDelete:1,SelectedItemKeyDownBackspace:2,SelectedItemKeyDownNavigationNext:3,SelectedItemKeyDownNavigationPrevious:4,DropdownKeyDownNavigationPrevious:5,DropdownKeyDownBackspace:6,DropdownClick:7,FunctionAddSelectedItem:8,FunctionRemoveSelectedItem:9,FunctionSetSelectedItems:10,FunctionSetActiveIndex:11,FunctionReset:12});function Te(e,t){var n,r=t.type,i=t.index,a=t.props,s=t.selectedItem,u=e.activeIndex,c=e.selectedItems;switch(r){case 0:n={activeIndex:i};break;case 4:n={activeIndex:u-1<0?0:u-1};break;case 3:n={activeIndex:u+1>=c.length?-1:u+1};break;case 2:case 1:var l=u;1===c.length?l=-1:u===c.length-1&&(l=c.length-2),n=(0,o.Z)({selectedItems:[].concat(c.slice(0,u),c.slice(u+1))},{activeIndex:l});break;case 5:n={activeIndex:c.length-1};break;case 6:n={selectedItems:c.slice(0,c.length-1)};break;case 8:n={selectedItems:[].concat(c,[s])};break;case 7:n={activeIndex:-1};break;case 9:var d=u,f=c.indexOf(s);1===c.length?d=-1:f===c.length-1&&(d=c.length-2),n=(0,o.Z)({selectedItems:[].concat(c.slice(0,f),c.slice(f+1))},{activeIndex:d});break;case 10:n={selectedItems:t.selectedItems};break;case 11:n={activeIndex:t.activeIndex};break;case 12:n={activeIndex:xe(a,"activeIndex"),selectedItems:xe(a,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return(0,o.Z)({},e,n)}function Me(e){void 0===e&&(e={}),Oe(e,Me);var t=(0,o.Z)({},Ee,e),n=t.getA11yRemovalMessage,i=t.itemToString,a=t.environment,s=t.keyNavigationNext,u=t.keyNavigationPrevious,l=Y(Te,function(e){return{activeIndex:_e(e,"activeIndex"),selectedItems:_e(e,"selectedItems")}}(t),t),d=l[0],f=l[1],h=d.activeIndex,p=d.selectedItems,v=(0,c.useRef)(!0),m=(0,c.useRef)(null),g=(0,c.useRef)(p),y=(0,c.useRef)();y.current=[];var b=$({state:d,props:t});(0,c.useEffect)((function(){if(!v.current){if(p.length<g.current.length){var e=g.current.find((function(e){return p.indexOf(e)<0}));N(n({itemToString:i,resultCount:p.length,removedSelectedItem:e,activeIndex:h,activeSelectedItem:p[h]}),a.document)}g.current=p}}),[p.length]),(0,c.useEffect)((function(){v.current||(-1===h&&m.current?m.current.focus():y.current[h]&&y.current[h].focus())}),[h]),se({isInitialMount:v.current,props:t,state:d});var x=oe();(0,c.useEffect)((function(){v.current=!1}),[]);var k=(0,c.useMemo)((function(){var e;return(e={})[u]=function(){f({type:4})},e[s]=function(){f({type:3})},e.Delete=function(){f({type:1})},e.Backspace=function(){f({type:2})},e}),[f,s,u]),E=(0,c.useMemo)((function(){var e;return(e={})[u]=function(e){ke(e)&&f({type:5})},e.Backspace=function(e){ke(e)&&f({type:6})},e}),[f,u]);return{getSelectedItemProps:(0,c.useCallback)((function(e){var t,n=void 0===e?{}:e,i=n.refKey,a=void 0===i?"ref":i,s=n.ref,u=n.onClick,c=n.onKeyDown,l=n.selectedItem,d=n.index,h=r(n,["refKey","ref","onClick","onKeyDown","selectedItem","index"]),p=b.current.state;if(q(d,l,p.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");return(0,o.Z)(((t={})[a]=_(s,(function(e){e&&y.current.push(e)})),t.tabIndex=d===p.activeIndex?0:-1,t.onClick=w(u,(function(){f({type:0,index:d})})),t.onKeyDown=w(c,(function(e){var t=I(e);t&&k[t]&&k[t](e)})),t),h)}),[f,b,k]),getDropdownProps:(0,c.useCallback)((function(e,t){var n,i=void 0===e?{}:e,a=i.refKey,s=void 0===a?"ref":a,u=i.ref,c=i.onKeyDown,l=i.onClick,d=i.preventKeyAction,h=void 0!==d&&d,p=r(i,["refKey","ref","onKeyDown","onClick","preventKeyAction"]),v=(void 0===t?{}:t).suppressRefError;x("getDropdownProps",void 0!==v&&v,s,m);return(0,o.Z)(((n={})[s]=_(u,(function(e){e&&(m.current=e)})),n),!h&&{onKeyDown:w(c,(function(e){var t=I(e);t&&E[t]&&E[t](e)})),onClick:w(l,(function(){f({type:7})}))},p)}),[f,E,x]),addSelectedItem:(0,c.useCallback)((function(e){f({type:8,selectedItem:e})}),[f]),removeSelectedItem:(0,c.useCallback)((function(e){f({type:9,selectedItem:e})}),[f]),setSelectedItems:(0,c.useCallback)((function(e){f({type:10,selectedItems:e})}),[f]),setActiveIndex:(0,c.useCallback)((function(e){f({type:11,activeIndex:e})}),[f]),reset:(0,c.useCallback)((function(){f({type:12})}),[f]),selectedItems:p,activeIndex:h}}Me.stateChangeTypes=Ce;var Se=F},56781:function(e,t){"use strict";var n=60103,r=60106,o=60107,i=60108,a=60114,s=60109,u=60110,c=60112,l=60113,d=60120,f=60115,h=60116,p=60121,v=60122,m=60117,g=60129,y=60131;if("function"===typeof Symbol&&Symbol.for){var b=Symbol.for;n=b("react.element"),r=b("react.portal"),o=b("react.fragment"),i=b("react.strict_mode"),a=b("react.profiler"),s=b("react.provider"),u=b("react.context"),c=b("react.forward_ref"),l=b("react.suspense"),d=b("react.suspense_list"),f=b("react.memo"),h=b("react.lazy"),p=b("react.block"),v=b("react.server.block"),m=b("react.fundamental"),g=b("react.debug_trace_mode"),y=b("react.legacy_hidden")}function w(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case o:case a:case i:case l:case d:return e;default:switch(e=e&&e.$$typeof){case u:case c:case h:case f:case s:return e;default:return t}}case r:return t}}}},21726:function(e,t,n){"use strict";n(56781)},38252:function(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!==o--;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!==o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!==o--;){var a=i[o];if(("_owner"!==a||!t.$$typeof)&&!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n}},53869:function(e,t,n){"use strict";n.d(t,{M:function(){return p}});var r=n(70655),o=n(67294),i=n(6717);var a=n(8626),s=n(45930),u=0;function c(){var e=u;return u++,e}var l=function(e){var t=e.children,n=e.initial,r=e.isPresent,i=e.onExitComplete,u=e.custom,l=e.presenceAffectsLayout,f=(0,s.h)(d),h=(0,s.h)(c),p=(0,o.useMemo)((function(){return{id:h,initial:n,isPresent:r,custom:u,onExitComplete:function(e){f.set(e,!0);var t=!0;f.forEach((function(e){e||(t=!1)})),t&&(null===i||void 0===i||i())},register:function(e){return f.set(e,!1),function(){return f.delete(e)}}}}),l?void 0:[r]);return(0,o.useMemo)((function(){f.forEach((function(e,t){return f.set(t,!1)}))}),[r]),o.useEffect((function(){!r&&!f.size&&(null===i||void 0===i||i())}),[r]),o.createElement(a.O.Provider,{value:p},t)};function d(){return new Map}var f=n(49870);function h(e){return e.key||""}var p=function(e){var t=e.children,n=e.custom,a=e.initial,s=void 0===a||a,u=e.onExitComplete,c=e.exitBeforeEnter,d=e.presenceAffectsLayout,p=void 0===d||d,v=function(){var e=(0,o.useRef)(!1),t=(0,r.__read)((0,o.useState)(0),2),n=t[0],a=t[1];return(0,i.z)((function(){return e.current=!0})),(0,o.useCallback)((function(){!e.current&&a(n+1)}),[n])}(),m=(0,o.useContext)(f.WH);(0,f.Md)(m)&&(v=m.forceUpdate);var g=(0,o.useRef)(!0),y=function(e){var t=[];return o.Children.forEach(e,(function(e){(0,o.isValidElement)(e)&&t.push(e)})),t}(t),b=(0,o.useRef)(y),w=(0,o.useRef)(new Map).current,_=(0,o.useRef)(new Set).current;if(function(e,t){e.forEach((function(e){var n=h(e);t.set(n,e)}))}(y,w),g.current)return g.current=!1,o.createElement(o.Fragment,null,y.map((function(e){return o.createElement(l,{key:h(e),isPresent:!0,initial:!!s&&void 0,presenceAffectsLayout:p},e)})));for(var x=(0,r.__spreadArray)([],(0,r.__read)(y)),k=b.current.map(h),E=y.map(h),O=k.length,C=0;C<O;C++){var T=k[C];-1===E.indexOf(T)?_.add(T):_.delete(T)}return c&&_.size&&(x=[]),_.forEach((function(e){if(-1===E.indexOf(e)){var t=w.get(e);if(t){var r=k.indexOf(e);x.splice(r,0,o.createElement(l,{key:h(t),isPresent:!1,onExitComplete:function(){w.delete(e),_.delete(e);var t=b.current.findIndex((function(t){return t.key===e}));b.current.splice(t,1),_.size||(b.current=y,v(),u&&u())},custom:n,presenceAffectsLayout:p},t))}}})),x=x.map((function(e){var t=e.key;return _.has(t)?e:o.createElement(l,{key:h(e),isPresent:!0,presenceAffectsLayout:p},e)})),b.current=x,o.createElement(o.Fragment,null,_.size?x:x.map((function(e){return(0,o.cloneElement)(e)})))}},69283:function(e,t,n){"use strict";n.d(t,{EN:function(){return s},oO:function(){return a}});var r=n(67294),o=n(8626),i=n(45930);function a(){var e=(0,r.useContext)(o.O);if(null===e)return[!0,null];var t=e.isPresent,n=e.onExitComplete,i=e.register,a=l();(0,r.useEffect)((function(){return i(a)}),[]);return!t&&n?[!1,function(){return null===n||void 0===n?void 0:n(a)}]:[!0]}function s(e){return null===e||e.isPresent}var u=0,c=function(){return u++},l=function(){return(0,i.h)(c)}},7646:function(e,t,n){"use strict";var r,o;n.d(t,{z:function(){return r},c:function(){return o}}),function(e){e[e.Entering=0]="Entering",e[e.Present=1]="Present",e[e.Exiting=2]="Exiting"}(r||(r={})),function(e){e[e.Hide=0]="Hide",e[e.Show=1]="Show"}(o||(o={}))},8626:function(e,t,n){"use strict";n.d(t,{O:function(){return r}});var r=(0,n(67294).createContext)(null)},49870:function(e,t,n){"use strict";n.d(t,{bg:function(){return p},WH:function(){return h},Md:function(){return v}});var r=n(67294),o=n(70655),i=n(9839),a=n(58839),s=n(27565),u=n(519),c=n(7646),l={layoutReady:function(e){return e.notifyLayoutReady()}};function d(){var e=new Set;return{add:function(t){return e.add(t)},flush:function(t){var n=void 0===t?l:t,r=n.layoutReady,d=n.parent;(0,s.U)((function(t,n){var s=Array.from(e).sort(u._),l=d?(0,a.kv)(d):[];n((function(){(0,o.__spreadArray)((0,o.__spreadArray)([],(0,o.__read)(l)),(0,o.__read)(s)).forEach((function(e){return e.resetTransform()}))})),t((function(){s.forEach(a.de)})),n((function(){l.forEach((function(e){return e.restoreTransform()})),s.forEach(r)})),t((function(){s.forEach((function(e){e.isPresent&&(e.presence=c.z.Present)}))})),n((function(){i.iW.preRender(),i.iW.render()})),t((function(){i.ZP.postRender((function(){return s.forEach(f)})),e.clear()}))})),(0,s.R)()}}}function f(e){e.prevViewportBox=e.projection.target}var h=(0,r.createContext)(d()),p=(0,r.createContext)(d());function v(e){return!!e.forceUpdate}},99860:function(e,t,n){"use strict";n.d(t,{E:function(){return bi}});var r=n(70655),o=n(67294),i=function(e){return{isEnabled:function(t){return e.some((function(e){return!!t[e]}))}}},a={measureLayout:i(["layout","layoutId","drag","_layoutResetTransform"]),animation:i(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag"]),exit:i(["exit"]),drag:i(["drag","dragControls"]),focus:i(["whileFocus"]),hover:i(["whileHover","onHoverStart","onHoverEnd"]),tap:i(["whileTap","onTap","onTapStart","onTapCancel"]),pan:i(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),layoutAnimation:i(["layout","layoutId"])};var s=(0,o.createContext)({strict:!1}),u=Object.keys(a),c=u.length;var l=(0,o.createContext)({transformPagePoint:function(e){return e},isStatic:!1}),d=(0,o.createContext)({});var f=n(8626),h=n(69283),p=(0,o.createContext)(null),v="undefined"!==typeof window,m=v?o.useLayoutEffect:o.useEffect;function g(e,t,n,i){var a=(0,o.useContext)(l),u=(0,o.useContext)(s),c=(0,o.useContext)(d).visualElement,v=(0,o.useContext)(f.O),g=function(e){var t=e.layoutId,n=(0,o.useContext)(p);return n&&void 0!==t?n+"-"+t:t}(n),y=(0,o.useRef)(void 0);i||(i=u.renderer),!y.current&&i&&(y.current=i(e,{visualState:t,parent:c,props:(0,r.__assign)((0,r.__assign)({},n),{layoutId:g}),presenceId:null===v||void 0===v?void 0:v.id,blockInitialAnimation:!1===(null===v||void 0===v?void 0:v.initial)}));var b=y.current;return m((function(){b&&(b.setProps((0,r.__assign)((0,r.__assign)((0,r.__assign)({},a),n),{layoutId:g})),b.isPresent=(0,h.EN)(v),b.isPresenceRoot=!c||c.presenceId!==(null===v||void 0===v?void 0:v.id),b.syncRender())})),(0,o.useEffect)((function(){var e;b&&(null===(e=b.animationState)||void 0===e||e.animateChanges())})),m((function(){return function(){return null===b||void 0===b?void 0:b.notifyUnmount()}}),[]),b}function y(e){return"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function b(e){return Array.isArray(e)}function w(e){return"string"===typeof e||b(e)}function _(e,t,n,r,o){var i;return void 0===r&&(r={}),void 0===o&&(o={}),"string"===typeof t&&(t=null===(i=e.variants)||void 0===i?void 0:i[t]),"function"===typeof t?t(null!==n&&void 0!==n?n:e.custom,r,o):t}function x(e,t,n){var r=e.getProps();return _(r,t,null!==n&&void 0!==n?n:r.custom,function(e){var t={};return e.forEachValue((function(e,n){return t[n]=e.get()})),t}(e),function(e){var t={};return e.forEachValue((function(e,n){return t[n]=e.getVelocity()})),t}(e))}function k(e){var t;return"function"===typeof(null===(t=e.animate)||void 0===t?void 0:t.start)||w(e.initial)||w(e.animate)||w(e.whileHover)||w(e.whileDrag)||w(e.whileTap)||w(e.whileFocus)||w(e.exit)}function E(e){return Boolean(k(e)||e.variants)}function O(e,t){var n=function(e,t){if(k(e)){var n=e.initial,r=e.animate;return{initial:!1===n||w(n)?n:void 0,animate:w(r)?r:void 0}}return!1!==e.inherit?t:{}}(e,(0,o.useContext)(d)),r=n.initial,i=n.animate;return(0,o.useMemo)((function(){return{initial:r,animate:i}}),t?[C(r),C(i)]:[])}function C(e){return Array.isArray(e)?e.join(" "):e}function T(e){var t=e.preloadedFeatures,n=e.createVisualElement,i=e.useRender,f=e.useVisualState,h=e.Component;return t&&function(e){for(var t in e){var n=e[t];null!==n&&(a[t].Component=n)}}(t),(0,o.forwardRef)((function(e,t){var p=(0,o.useContext)(l).isStatic,m=null,b=O(e,p),w=f(e,p);return!p&&v&&(b.visualElement=g(h,w,e,n),m=function(e,t,n){var i=[];if((0,o.useContext)(s),!t)return null;for(var l=0;l<c;l++){var d=u[l],f=a[d],h=f.isEnabled,p=f.Component;h(e)&&p&&i.push(o.createElement(p,(0,r.__assign)({key:d},e,{visualElement:t})))}return i}(e,b.visualElement)),o.createElement(o.Fragment,null,o.createElement(d.Provider,{value:b},i(h,e,function(e,t,n){return(0,o.useCallback)((function(r){var o;r&&(null===(o=e.mount)||void 0===o||o.call(e,r)),t&&(r?t.mount(r):t.unmount()),n&&("function"===typeof n?n(r):y(n)&&(n.current=r))}),[t])}(w,b.visualElement,t),w,p)),m)}))}function M(e){function t(t,n){return void 0===n&&(n={}),T(e(t,n))}var n=new Map;return new Proxy(t,{get:function(e,r){return n.has(r)||n.set(r,t(r)),n.get(r)}})}var S=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function P(e){return"string"===typeof e&&!e.includes("-")&&!!(S.indexOf(e)>-1||/[A-Z]/.test(e))}var j={};var I=["","X","Y","Z"],A=["transformPerspective","x","y","z"];function R(e,t){return A.indexOf(e)-A.indexOf(t)}["translate","scale","rotate","skew"].forEach((function(e){return I.forEach((function(t){return A.push(e+t)}))}));var D=new Set(A);function L(e){return D.has(e)}var N=new Set(["originX","originY","originZ"]);function B(e){return N.has(e)}function z(e,t){var n=t.layout,r=t.layoutId;return L(e)||B(e)||(n||void 0!==r)&&(!!j[e]||"opacity"===e)}var F=function(e){return null!==e&&"object"===typeof e&&e.getVelocity},H={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function V(e){return e.startsWith("--")}var W=function(e,t){return t&&"number"===typeof e?t.transform(e):e},U=function(e,t){return function(n){return Math.max(Math.min(n,t),e)}},G=function(e){return e%1?Number(e.toFixed(5)):e},q=/(-)?([\d]*\.?[\d])+/g,K=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,Z=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function $(e){return"string"===typeof e}var X=function(e){return{test:function(t){return $(t)&&t.endsWith(e)&&1===t.split(" ").length},parse:parseFloat,transform:function(t){return""+t+e}}},Y=X("deg"),Q=X("%"),J=X("px"),ee=X("vh"),te=X("vw"),ne=(0,r.__assign)((0,r.__assign)({},Q),{parse:function(e){return Q.parse(e)/100},transform:function(e){return Q.transform(100*e)}}),re={test:function(e){return"number"===typeof e},parse:parseFloat,transform:function(e){return e}},oe=(0,r.__assign)((0,r.__assign)({},re),{transform:U(0,1)}),ie=(0,r.__assign)((0,r.__assign)({},re),{default:1}),ae=(0,r.__assign)((0,r.__assign)({},re),{transform:Math.round}),se={borderWidth:J,borderTopWidth:J,borderRightWidth:J,borderBottomWidth:J,borderLeftWidth:J,borderRadius:J,radius:J,borderTopLeftRadius:J,borderTopRightRadius:J,borderBottomRightRadius:J,borderBottomLeftRadius:J,width:J,maxWidth:J,height:J,maxHeight:J,size:J,top:J,right:J,bottom:J,left:J,padding:J,paddingTop:J,paddingRight:J,paddingBottom:J,paddingLeft:J,margin:J,marginTop:J,marginRight:J,marginBottom:J,marginLeft:J,rotate:Y,rotateX:Y,rotateY:Y,rotateZ:Y,scale:ie,scaleX:ie,scaleY:ie,scaleZ:ie,skew:Y,skewX:Y,skewY:Y,distance:J,translateX:J,translateY:J,translateZ:J,x:J,y:J,z:J,perspective:J,transformPerspective:J,opacity:oe,originX:ne,originY:ne,originZ:J,zIndex:ae,fillOpacity:oe,strokeOpacity:oe,numOctaves:ae};function ue(e,t,n,r,o,i,a,s){var u,c=e.style,l=e.vars,d=e.transform,f=e.transformKeys,h=e.transformOrigin;f.length=0;var p=!1,v=!1,m=!0;for(var g in t){var y=t[g];if(V(g))l[g]=y;else{var b=se[g],w=W(y,b);if(L(g)){if(p=!0,d[g]=w,f.push(g),!m)continue;y!==(null!==(u=b.default)&&void 0!==u?u:0)&&(m=!1)}else if(B(g))h[g]=w,v=!0;else if((null===n||void 0===n?void 0:n.isHydrated)&&(null===r||void 0===r?void 0:r.isHydrated)&&j[g]){var _=j[g].process(y,r,n),x=j[g].applyTo;if(x)for(var k=x.length,E=0;E<k;E++)c[x[E]]=_;else c[g]=_}else c[g]=w}}r&&n&&a&&s?(c.transform=a(r.deltaFinal,r.treeScale,p?d:void 0),i&&(c.transform=i(d,c.transform)),c.transformOrigin=s(r)):(p&&(c.transform=function(e,t,n,r){var o=e.transform,i=e.transformKeys,a=t.enableHardwareAcceleration,s=void 0===a||a,u=t.allowTransformNone,c=void 0===u||u,l="";i.sort(R);for(var d=!1,f=i.length,h=0;h<f;h++){var p=i[h];l+=(H[p]||p)+"("+o[p]+") ","z"===p&&(d=!0)}return!d&&s?l+="translateZ(0)":l=l.trim(),r?l=r(o,n?"":l):c&&n&&(l="none"),l}(e,o,m,i)),v&&(c.transformOrigin=function(e){var t=e.originX,n=void 0===t?"50%":t,r=e.originY,o=void 0===r?"50%":r,i=e.originZ;return n+" "+o+" "+(void 0===i?0:i)}(h)))}var ce=function(){return{style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}}};function le(e,t,n){for(var r in t)F(t[r])||z(r,n)||(e[r]=t[r])}function de(e,t,n){var i={};return le(i,e.style||{},e),Object.assign(i,function(e,t,n){var i=e.transformTemplate;return(0,o.useMemo)((function(){var e={style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}};ue(e,t,void 0,void 0,{enableHardwareAcceleration:!n},i);var o=e.vars,a=e.style;return(0,r.__assign)((0,r.__assign)({},o),a)}),[t])}(e,t,n)),e.transformValues&&(i=e.transformValues(i)),i}function fe(e,t,n){var r={},o=de(e,t,n);return Boolean(e.drag)&&(r.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=!0===e.drag?"none":"pan-"+("x"===e.drag?"y":"x")),r.style=o,r}var he=new Set(["initial","animate","exit","style","variants","transition","transformTemplate","transformValues","custom","inherit","layout","layoutId","_layoutResetTransform","onLayoutAnimationComplete","onViewportBoxUpdate","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","drag","dragControls","dragListener","dragConstraints","dragDirectionLock","_dragX","_dragY","dragElastic","dragMomentum","dragPropagation","dragTransition","whileDrag","onPan","onPanStart","onPanEnd","onPanSessionStart","onTap","onTapStart","onTapCancel","onHoverStart","onHoverEnd","whileFocus","whileTap","whileHover"]);function pe(e){return he.has(e)}var ve=function(e){return!pe(e)};try{var me=n(46600).Z;ve=function(e){return e.startsWith("on")?!pe(e):me(e)}}catch(wi){}function ge(e,t,n){return"string"===typeof e?e:J.transform(t+n*e)}var ye=function(e,t){return J.transform(e*t)},be={offset:"stroke-dashoffset",array:"stroke-dasharray"},we={offset:"strokeDashoffset",array:"strokeDasharray"};function _e(e,t,n,o,i,a,s,u){var c=t.attrX,l=t.attrY,d=t.originX,f=t.originY,h=t.pathLength,p=t.pathSpacing,v=void 0===p?1:p,m=t.pathOffset,g=void 0===m?0:m;ue(e,(0,r.__rest)(t,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]),n,o,i,a,s,u),e.attrs=e.style,e.style={};var y=e.attrs,b=e.style,w=e.dimensions,_=e.totalPathLength;y.transform&&(w&&(b.transform=y.transform),delete y.transform),w&&(void 0!==d||void 0!==f||b.transform)&&(b.transformOrigin=function(e,t,n){return ge(t,e.x,e.width)+" "+ge(n,e.y,e.height)}(w,void 0!==d?d:.5,void 0!==f?f:.5)),void 0!==c&&(y.x=c),void 0!==l&&(y.y=l),void 0!==_&&void 0!==h&&function(e,t,n,r,o,i){void 0===r&&(r=1),void 0===o&&(o=0),void 0===i&&(i=!0);var a=i?be:we;e[a.offset]=ye(-o,t);var s=ye(n,t),u=ye(r,t);e[a.array]=s+" "+u}(y,_,h,v,g,!1)}var xe=function(){return(0,r.__assign)((0,r.__assign)({},{style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}}),{attrs:{}})};function ke(e,t){var n=(0,o.useMemo)((function(){var n=xe();return _e(n,t,void 0,void 0,{enableHardwareAcceleration:!1},e.transformTemplate),(0,r.__assign)((0,r.__assign)({},n.attrs),{style:(0,r.__assign)({},n.style)})}),[t]);if(e.style){var i={};le(i,e.style,e),n.style=(0,r.__assign)((0,r.__assign)({},i),n.style)}return n}function Ee(e){void 0===e&&(e=!1);return function(t,n,i,a,s){var u=a.latestValues,c=(P(t)?ke:fe)(n,u,s),l=function(e,t,n){var r={};for(var o in e)(ve(o)||!0===n&&pe(o)||!t&&!pe(o))&&(r[o]=e[o]);return r}(n,"string"===typeof t,e),d=(0,r.__assign)((0,r.__assign)((0,r.__assign)({},l),c),{ref:i});return(0,o.createElement)(t,d)}}var Oe=/([a-z])([A-Z])/g,Ce=function(e){return e.replace(Oe,"$1-$2").toLowerCase()};function Te(e,t){var n=t.style,r=t.vars;for(var o in Object.assign(e.style,n),r)e.style.setProperty(o,r[o])}var Me=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform"]);function Se(e,t){for(var n in Te(e,t),t.attrs)e.setAttribute(Me.has(n)?n:Ce(n),t.attrs[n])}function Pe(e){var t=e.style,n={};for(var r in t)(F(t[r])||z(r,e))&&(n[r]=t[r]);return n}function je(e){var t=Pe(e);for(var n in e){if(F(e[n]))t["x"===n||"y"===n?"attr"+n.toUpperCase():n]=e[n]}return t}function Ie(e){return"object"===typeof e&&"function"===typeof e.start}var Ae=n(45930),Re=function(e){return Array.isArray(e)};function De(e){var t,n=F(e)?e.get():e;return t=n,Boolean(t&&"object"===typeof t&&t.mix&&t.toValue)?n.toValue():n}function Le(e,t,n,r){var o=e.scrapeMotionValuesFromProps,i=e.createRenderState,a=e.onMount,s={latestValues:Be(t,n,r,o),renderState:i()};return a&&(s.mount=function(e){return a(t,e,s)}),s}var Ne=function(e){return function(t,n){var r=(0,o.useContext)(d),i=(0,o.useContext)(f.O);return n?Le(e,t,r,i):(0,Ae.h)((function(){return Le(e,t,r,i)}))}};function Be(e,t,n,o){var i={},a=!1===(null===n||void 0===n?void 0:n.initial),s=o(e);for(var u in s)i[u]=De(s[u]);var c=e.initial,l=e.animate,d=k(e),f=E(e);t&&f&&!d&&!1!==e.inherit&&(null!==c&&void 0!==c||(c=t.initial),null!==l&&void 0!==l||(l=t.animate));var h=a||!1===c?l:c;h&&"boolean"!==typeof h&&!Ie(h)&&(Array.isArray(h)?h:[h]).forEach((function(t){var n=_(e,t);if(n){var o=n.transitionEnd;n.transition;var a=(0,r.__rest)(n,["transitionEnd","transition"]);for(var s in a)i[s]=a[s];for(var s in o)i[s]=o[s]}}));return i}var ze={useVisualState:Ne({scrapeMotionValuesFromProps:je,createRenderState:xe,onMount:function(e,t,n){var r=n.renderState,o=n.latestValues;try{r.dimensions="function"===typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(i){r.dimensions={x:0,y:0,width:0,height:0}}"path"===t.tagName&&(r.totalPathLength=t.getTotalLength()),_e(r,o,void 0,void 0,{enableHardwareAcceleration:!1},e.transformTemplate),Se(t,r)}})};var Fe,He={useVisualState:Ne({scrapeMotionValuesFromProps:Pe,createRenderState:ce})};function Ve(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}function We(e,t,n,r){(0,o.useEffect)((function(){var o=e.current;if(n&&o)return Ve(o,t,n,r)}),[e,t,n,r])}function Ue(e){return"undefined"!==typeof PointerEvent&&e instanceof PointerEvent?!("mouse"!==e.pointerType):e instanceof MouseEvent}function Ge(e){return!!e.touches}!function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.Exit="exit"}(Fe||(Fe={}));var qe={pageX:0,pageY:0};function Ke(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||qe;return{x:n[t+"X"],y:n[t+"Y"]}}function Ze(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function $e(e,t){return void 0===t&&(t="page"),{point:Ge(e)?Ke(e,t):Ze(e,t)}}var Xe=function(e,t){void 0===t&&(t=!1);var n,r=function(t){return e(t,$e(t))};return t?(n=r,function(e){var t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},Ye={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},Qe={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function Je(e){return v&&null===window.onpointerdown?e:v&&null===window.ontouchstart?Qe[e]:v&&null===window.onmousedown?Ye[e]:e}function et(e,t,n,r){return Ve(e,Je(t),Xe(n,"pointerdown"===t),r)}function tt(e,t,n,r){return We(e,Je(t),n&&Xe(n,"pointerdown"===t),r)}function nt(e){var t=null;return function(){return null===t&&(t=e,function(){t=null})}}var rt=nt("dragHorizontal"),ot=nt("dragVertical");function it(e){var t=!1;if("y"===e)t=ot();else if("x"===e)t=rt();else{var n=rt(),r=ot();n&&r?t=function(){n(),r()}:(n&&n(),r&&r())}return t}function at(){var e=it(!0);return!e||(e(),!1)}function st(e,t,n){return function(r,o){var i;Ue(r)&&!at()&&(null===n||void 0===n||n(r,o),null===(i=e.animationState)||void 0===i||i.setActive(Fe.Hover,t))}}var ut=function(e,t){return!!t&&(e===t||ut(e,t.parentElement))},ct=n(6717),lt=function(e,t){return function(n){return t(e(n))}},dt=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(lt)};var ft=function(e){return function(t){return e(t),null}},ht={tap:ft((function(e){var t=e.onTap,n=e.onTapStart,r=e.onTapCancel,i=e.whileTap,a=e.visualElement,s=t||n||r||i,u=(0,o.useRef)(!1),c=(0,o.useRef)(null);function l(){var e;null===(e=c.current)||void 0===e||e.call(c),c.current=null}function d(){var e;return l(),u.current=!1,null===(e=a.animationState)||void 0===e||e.setActive(Fe.Tap,!1),!at()}function f(e,n){d()&&(ut(a.getInstance(),e.target)?null===t||void 0===t||t(e,n):null===r||void 0===r||r(e,n))}function h(e,t){d()&&(null===r||void 0===r||r(e,t))}tt(a,"pointerdown",s?function(e,t){var r;l(),u.current||(u.current=!0,c.current=dt(et(window,"pointerup",f),et(window,"pointercancel",h)),null===n||void 0===n||n(e,t),null===(r=a.animationState)||void 0===r||r.setActive(Fe.Tap,!0))}:void 0),(0,ct.z)(l)})),focus:ft((function(e){var t=e.whileFocus,n=e.visualElement;We(n,"focus",t?function(){var e;null===(e=n.animationState)||void 0===e||e.setActive(Fe.Focus,!0)}:void 0),We(n,"blur",t?function(){var e;null===(e=n.animationState)||void 0===e||e.setActive(Fe.Focus,!1)}:void 0)})),hover:ft((function(e){var t=e.onHoverStart,n=e.onHoverEnd,r=e.whileHover,o=e.visualElement;tt(o,"pointerenter",t||r?st(o,!0,t):void 0),tt(o,"pointerleave",n||r?st(o,!1,n):void 0)}))};function pt(e,t){if(!Array.isArray(t))return!1;var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var vt=function(e,t,n){return Math.min(Math.max(n,e),t)},mt=.001;function gt(e){var t,n,r=e.duration,o=void 0===r?800:r,i=e.bounce,a=void 0===i?.25:i,s=e.velocity,u=void 0===s?0:s,c=e.mass,l=void 0===c?1:c,d=1-a;d=vt(.05,1,d),o=vt(.01,10,o/1e3),d<1?(t=function(e){var t=e*d,n=t*o,r=t-u,i=yt(e,d),a=Math.exp(-n);return mt-r/i*a},n=function(e){var n=e*d*o,r=n*u+u,i=Math.pow(d,2)*Math.pow(e,2)*o,a=Math.exp(-n),s=yt(Math.pow(e,2),d);return(-t(e)+mt>0?-1:1)*((r-i)*a)/s}):(t=function(e){return Math.exp(-e*o)*((e-u)*o+1)-.001},n=function(e){return Math.exp(-e*o)*(o*o*(u-e))});var f=function(e,t,n){for(var r=n,o=1;o<12;o++)r-=e(r)/t(r);return r}(t,n,5/o);if(o*=1e3,isNaN(f))return{stiffness:100,damping:10,duration:o};var h=Math.pow(f,2)*l;return{stiffness:h,damping:2*d*Math.sqrt(l*h),duration:o}}function yt(e,t){return e*Math.sqrt(1-t*t)}var bt=["duration","bounce"],wt=["stiffness","damping","mass"];function _t(e,t){return t.some((function(t){return void 0!==e[t]}))}function xt(e){var t=e.from,n=void 0===t?0:t,o=e.to,i=void 0===o?1:o,a=e.restSpeed,s=void 0===a?2:a,u=e.restDelta,c=(0,r.__rest)(e,["from","to","restSpeed","restDelta"]),l={done:!1,value:n},d=function(e){var t=(0,r.__assign)({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!_t(e,wt)&&_t(e,bt)){var n=gt(e);(t=(0,r.__assign)((0,r.__assign)((0,r.__assign)({},t),n),{velocity:0,mass:1})).isResolvedFromDuration=!0}return t}(c),f=d.stiffness,h=d.damping,p=d.mass,v=d.velocity,m=d.duration,g=d.isResolvedFromDuration,y=kt,b=kt;function w(){var e=v?-v/1e3:0,t=i-n,r=h/(2*Math.sqrt(f*p)),o=Math.sqrt(f/p)/1e3;if(null!==u&&void 0!==u||(u=Math.abs(i-n)<=1?.01:.4),r<1){var a=yt(o,r);y=function(n){var s=Math.exp(-r*o*n);return i-s*((e+r*o*t)/a*Math.sin(a*n)+t*Math.cos(a*n))},b=function(n){var i=Math.exp(-r*o*n);return r*o*i*(Math.sin(a*n)*(e+r*o*t)/a+t*Math.cos(a*n))-i*(Math.cos(a*n)*(e+r*o*t)-a*t*Math.sin(a*n))}}else if(1===r)y=function(n){return i-Math.exp(-o*n)*(t+(e+o*t)*n)};else{var s=o*Math.sqrt(r*r-1);y=function(n){var a=Math.exp(-r*o*n),u=Math.min(s*n,300);return i-a*((e+r*o*t)*Math.sinh(u)+s*t*Math.cosh(u))/s}}}return w(),{next:function(e){var t=y(e);if(g)l.done=e>=m;else{var n=1e3*b(e),r=Math.abs(n)<=s,o=Math.abs(i-t)<=u;l.done=r&&o}return l.value=l.done?i:t,l},flipTarget:function(){var e;v=-v,n=(e=[i,n])[0],i=e[1],w()}}}xt.needsInterpolation=function(e,t){return"string"===typeof e||"string"===typeof t};var kt=function(e){return 0},Et=function(e,t,n){var r=t-e;return 0===r?1:(n-e)/r},Ot=function(e,t,n){return-n*e+n*t+e},Ct=function(e,t){return function(n){return Boolean($(n)&&Z.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t))}},Tt=function(e,t,n){return function(r){var o;if(!$(r))return r;var i=r.match(q),a=i[0],s=i[1],u=i[2],c=i[3];return(o={})[e]=parseFloat(a),o[t]=parseFloat(s),o[n]=parseFloat(u),o.alpha=void 0!==c?parseFloat(c):1,o}},Mt=U(0,255),St=(0,r.__assign)((0,r.__assign)({},re),{transform:function(e){return Math.round(Mt(e))}}),Pt={test:Ct("rgb","red"),parse:Tt("red","green","blue"),transform:function(e){var t=e.red,n=e.green,r=e.blue,o=e.alpha,i=void 0===o?1:o;return"rgba("+St.transform(t)+", "+St.transform(n)+", "+St.transform(r)+", "+G(oe.transform(i))+")"}};var jt={test:Ct("#"),parse:function(e){var t="",n="",r="",o="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),o=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),o=e.substr(4,1),t+=t,n+=n,r+=r,o+=o),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:o?parseInt(o,16)/255:1}},transform:Pt.transform},It={test:Ct("hsl","hue"),parse:Tt("hue","saturation","lightness"),transform:function(e){var t=e.hue,n=e.saturation,r=e.lightness,o=e.alpha,i=void 0===o?1:o;return"hsla("+Math.round(t)+", "+Q.transform(G(n))+", "+Q.transform(G(r))+", "+G(oe.transform(i))+")"}},At=function(e,t,n){var r=e*e,o=t*t;return Math.sqrt(Math.max(0,n*(o-r)+r))},Rt=[jt,Pt,It],Dt=function(e){return Rt.find((function(t){return t.test(e)}))},Lt=function(e){return"'"+e+"' is not an animatable color. Use the equivalent color code instead."},Nt=function(e,t){var n=Dt(e),o=Dt(t);Lt(e),Lt(t),n.transform,o.transform;var i=n.parse(e),a=o.parse(t),s=(0,r.__assign)({},i),u=n===It?Ot:At;return function(e){for(var t in s)"alpha"!==t&&(s[t]=u(i[t],a[t],e));return s.alpha=Ot(i.alpha,a.alpha,e),n.transform(s)}},Bt={test:function(e){return Pt.test(e)||jt.test(e)||It.test(e)},parse:function(e){return Pt.test(e)?Pt.parse(e):It.test(e)?It.parse(e):jt.parse(e)},transform:function(e){return $(e)?e:e.hasOwnProperty("red")?Pt.transform(e):It.transform(e)}},zt="${c}",Ft="${n}";function Ht(e){var t=[],n=0,r=e.match(K);r&&(n=r.length,e=e.replace(K,zt),t.push.apply(t,r.map(Bt.parse)));var o=e.match(q);return o&&(e=e.replace(q,Ft),t.push.apply(t,o.map(re.parse))),{values:t,numColors:n,tokenised:e}}function Vt(e){return Ht(e).values}function Wt(e){var t=Ht(e),n=t.values,r=t.numColors,o=t.tokenised,i=n.length;return function(e){for(var t=o,n=0;n<i;n++)t=t.replace(n<r?zt:Ft,n<r?Bt.transform(e[n]):G(e[n]));return t}}var Ut=function(e){return"number"===typeof e?0:e};var Gt={test:function(e){var t,n,r,o;return isNaN(e)&&$(e)&&(null!==(n=null===(t=e.match(q))||void 0===t?void 0:t.length)&&void 0!==n?n:0)+(null!==(o=null===(r=e.match(K))||void 0===r?void 0:r.length)&&void 0!==o?o:0)>0},parse:Vt,createTransformer:Wt,getAnimatableNone:function(e){var t=Vt(e);return Wt(e)(t.map(Ut))}},qt=function(e){return"number"===typeof e};function Kt(e,t){return qt(e)?function(n){return Ot(e,t,n)}:Bt.test(e)?Nt(e,t):Yt(e,t)}var Zt=function(e,t){var n=(0,r.__spreadArray)([],e),o=n.length,i=e.map((function(e,n){return Kt(e,t[n])}));return function(e){for(var t=0;t<o;t++)n[t]=i[t](e);return n}},$t=function(e,t){var n=(0,r.__assign)((0,r.__assign)({},e),t),o={};for(var i in n)void 0!==e[i]&&void 0!==t[i]&&(o[i]=Kt(e[i],t[i]));return function(e){for(var t in o)n[t]=o[t](e);return n}};function Xt(e){for(var t=Gt.parse(e),n=t.length,r=0,o=0,i=0,a=0;a<n;a++)r||"number"===typeof t[a]?r++:void 0!==t[a].hue?i++:o++;return{parsed:t,numNumbers:r,numRGB:o,numHSL:i}}var Yt=function(e,t){var n=Gt.createTransformer(t),r=Xt(e),o=Xt(t);return r.numHSL===o.numHSL&&r.numRGB===o.numRGB&&(r.numNumbers,o.numNumbers),dt(Zt(r.parsed,o.parsed),n)},Qt=function(e,t){return function(n){return Ot(e,t,n)}};function Jt(e,t,n){for(var r,o=[],i=n||("number"===typeof(r=e[0])?Qt:"string"===typeof r?Bt.test(r)?Nt:Yt:Array.isArray(r)?Zt:"object"===typeof r?$t:void 0),a=e.length-1,s=0;s<a;s++){var u=i(e[s],e[s+1]);if(t){var c=Array.isArray(t)?t[s]:t;u=dt(c,u)}o.push(u)}return o}function en(e,t,n){var r=void 0===n?{}:n,o=r.clamp,i=void 0===o||o,a=r.ease,s=r.mixer,u=e.length;t.length,!a||!Array.isArray(a)||a.length,e[0]>e[u-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());var c=Jt(t,a,s),l=2===u?function(e,t){var n=e[0],r=e[1],o=t[0];return function(e){return o(Et(n,r,e))}}(e,c):function(e,t){var n=e.length,r=n-1;return function(o){var i=0,a=!1;if(o<=e[0]?a=!0:o>=e[r]&&(i=r-1,a=!0),!a){for(var s=1;s<n&&!(e[s]>o||s===r);s++);i=s-1}var u=Et(e[i],e[i+1],o);return t[i](u)}}(e,c);return i?function(t){return l(vt(e[0],e[u-1],t))}:l}var tn,nn=function(e){return function(t){return 1-e(1-t)}},rn=function(e){return function(t){return t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2}},on=function(e){return function(t){return t*t*((e+1)*t-e)}},an=function(e){return e},sn=(tn=2,function(e){return Math.pow(e,tn)}),un=nn(sn),cn=rn(sn),ln=function(e){return 1-Math.sin(Math.acos(e))},dn=nn(ln),fn=rn(dn),hn=on(1.525),pn=nn(hn),vn=rn(hn),mn=function(e){var t=on(e);return function(e){return(e*=2)<1?.5*t(e):.5*(2-Math.pow(2,-10*(e-1)))}}(1.525),gn=function(e){if(1===e||0===e)return e;var t=e*e;return e<.36363636363636365?7.5625*t:e<.7272727272727273?9.075*t-9.9*e+3.4:e<.9?12.066481994459833*t-19.63545706371191*e+8.898060941828255:10.8*e*e-20.52*e+10.72},yn=nn(gn);function bn(e,t){return e.map((function(){return t||cn})).splice(0,e.length-1)}function wn(e){var t=e.from,n=void 0===t?0:t,r=e.to,o=void 0===r?1:r,i=e.ease,a=e.offset,s=e.duration,u=void 0===s?300:s,c={done:!1,value:n},l=Array.isArray(o)?o:[n,o],d=function(e,t){return e.map((function(e){return e*t}))}(a&&a.length===l.length?a:function(e){var t=e.length;return e.map((function(e,n){return 0!==n?n/(t-1):0}))}(l),u);function f(){return en(d,l,{ease:Array.isArray(i)?i:bn(l,i)})}var h=f();return{next:function(e){return c.value=h(e),c.done=e>=u,c},flipTarget:function(){l.reverse(),h=f()}}}var _n={keyframes:wn,spring:xt,decay:function(e){var t=e.velocity,n=void 0===t?0:t,r=e.from,o=void 0===r?0:r,i=e.power,a=void 0===i?.8:i,s=e.timeConstant,u=void 0===s?350:s,c=e.restDelta,l=void 0===c?.5:c,d=e.modifyTarget,f={done:!1,value:o},h=a*n,p=o+h,v=void 0===d?p:d(p);return v!==p&&(h=v-o),{next:function(e){var t=-h*Math.exp(-e/u);return f.done=!(t>l||t<-l),f.value=f.done?v:v+t,f},flipTarget:function(){}}}};var xn=n(9839);function kn(e,t,n){return void 0===n&&(n=0),e-t-n}var En=function(e){var t=function(t){var n=t.delta;return e(n)};return{start:function(){return xn.ZP.update(t,!0)},stop:function(){return xn.qY.update(t)}}};function On(e){var t,n,o,i,a,s=e.from,u=e.autoplay,c=void 0===u||u,l=e.driver,d=void 0===l?En:l,f=e.elapsed,h=void 0===f?0:f,p=e.repeat,v=void 0===p?0:p,m=e.repeatType,g=void 0===m?"loop":m,y=e.repeatDelay,b=void 0===y?0:y,w=e.onPlay,_=e.onStop,x=e.onComplete,k=e.onRepeat,E=e.onUpdate,O=(0,r.__rest)(e,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]),C=O.to,T=0,M=O.duration,S=!1,P=!0,j=function(e){if(Array.isArray(e.to))return wn;if(_n[e.type])return _n[e.type];var t=new Set(Object.keys(e));return t.has("ease")||t.has("duration")&&!t.has("dampingRatio")?wn:t.has("dampingRatio")||t.has("stiffness")||t.has("mass")||t.has("damping")||t.has("restSpeed")||t.has("restDelta")?xt:wn}(O);(null===(n=(t=j).needsInterpolation)||void 0===n?void 0:n.call(t,s,C))&&(a=en([0,100],[s,C],{clamp:!1}),s=0,C=100);var I=j((0,r.__assign)((0,r.__assign)({},O),{from:s,to:C}));function A(){T++,"reverse"===g?h=function(e,t,n,r){return void 0===n&&(n=0),void 0===r&&(r=!0),r?kn(t+-e,t,n):t-(e-t)+n}(h,M,b,P=T%2===0):(h=kn(h,M,b),"mirror"===g&&I.flipTarget()),S=!1,k&&k()}function R(e){if(P||(e=-e),h+=e,!S){var t=I.next(Math.max(0,h));i=t.value,a&&(i=a(i)),S=P?t.done:h<=0}null===E||void 0===E||E(i),S&&(0===T&&(null!==M&&void 0!==M||(M=h)),T<v?function(e,t,n,r){return r?e>=t+n:e<=-n}(h,M,b,P)&&A():(o.stop(),x&&x()))}return c&&(null===w||void 0===w||w(),(o=d(R)).start()),{stop:function(){null===_||void 0===_||_(),o.stop()}}}function Cn(e,t){return t?e*(1e3/t):0}var Tn=function(e){return 1e3*e},Mn=function(e,t){return 1-3*t+3*e},Sn=function(e,t){return 3*t-6*e},Pn=function(e){return 3*e},jn=function(e,t,n){return((Mn(t,n)*e+Sn(t,n))*e+Pn(t))*e},In=function(e,t,n){return 3*Mn(t,n)*e*e+2*Sn(t,n)*e+Pn(t)};var An=.1;function Rn(e,t,n,r){if(e===t&&n===r)return an;for(var o=new Float32Array(11),i=0;i<11;++i)o[i]=jn(i*An,e,n);function a(t){for(var r=0,i=1;10!==i&&o[i]<=t;++i)r+=An;--i;var a=r+(t-o[i])/(o[i+1]-o[i])*An,s=In(a,e,n);return s>=.001?function(e,t,n,r){for(var o=0;o<8;++o){var i=In(t,n,r);if(0===i)return t;t-=(jn(t,n,r)-e)/i}return t}(t,a,e,n):0===s?a:function(e,t,n,r,o){var i,a,s=0;do{(i=jn(a=t+(n-t)/2,r,o)-e)>0?n=a:t=a}while(Math.abs(i)>1e-7&&++s<10);return a}(t,r,r+An,e,n)}return function(e){return 0===e||1===e?e:jn(a(e),t,r)}}var Dn={linear:an,easeIn:sn,easeInOut:cn,easeOut:un,circIn:ln,circInOut:fn,circOut:dn,backIn:hn,backInOut:vn,backOut:pn,anticipate:mn,bounceIn:yn,bounceInOut:function(e){return e<.5?.5*(1-gn(1-2*e)):.5*gn(2*e-1)+.5},bounceOut:gn},Ln=function(e){if(Array.isArray(e)){e.length;var t=(0,r.__read)(e,4);return Rn(t[0],t[1],t[2],t[3])}return"string"===typeof e?Dn[e]:e},Nn=function(e,t){return"zIndex"!==e&&(!("number"!==typeof t&&!Array.isArray(t))||!("string"!==typeof t||!Gt.test(t)||t.startsWith("url(")))},Bn=function(){return{type:"spring",stiffness:500,damping:25,restDelta:.5,restSpeed:10}},zn=function(e){return{type:"spring",stiffness:550,damping:0===e?2*Math.sqrt(550):30,restDelta:.01,restSpeed:10}},Fn=function(){return{type:"keyframes",ease:"linear",duration:.3}},Hn=function(e){return{type:"keyframes",duration:.8,values:e}},Vn={x:Bn,y:Bn,z:Bn,rotate:Bn,rotateX:Bn,rotateY:Bn,rotateZ:Bn,scaleX:zn,scaleY:zn,scale:zn,opacity:Fn,backgroundColor:Fn,color:Fn,default:zn},Wn=new Set(["brightness","contrast","saturate","opacity"]);function Un(e){var t=e.slice(0,-1).split("("),n=t[0],r=t[1];if("drop-shadow"===n)return e;var o=(r.match(q)||[])[0];if(!o)return e;var i=r.replace(o,""),a=Wn.has(n)?1:0;return o!==r&&(a*=100),n+"("+a+i+")"}var Gn=/([a-z-]*)\(.*?\)/g,qn=(0,r.__assign)((0,r.__assign)({},Gt),{getAnimatableNone:function(e){var t=e.match(Gn);return t?t.map(Un).join(" "):e}}),Kn=(0,r.__assign)((0,r.__assign)({},se),{color:Bt,backgroundColor:Bt,outlineColor:Bt,fill:Bt,stroke:Bt,borderColor:Bt,borderTopColor:Bt,borderRightColor:Bt,borderBottomColor:Bt,borderLeftColor:Bt,filter:qn,WebkitFilter:qn}),Zn=function(e){return Kn[e]};function $n(e,t){var n,r=Zn(e);return r!==qn&&(r=Gt),null===(n=r.getAnimatableNone)||void 0===n?void 0:n.call(r,t)}function Xn(e){var t=e.ease,n=e.times,o=e.yoyo,i=e.flip,a=e.loop,s=(0,r.__rest)(e,["ease","times","yoyo","flip","loop"]),u=(0,r.__assign)({},s);return n&&(u.offset=n),s.duration&&(u.duration=Tn(s.duration)),s.repeatDelay&&(u.repeatDelay=Tn(s.repeatDelay)),t&&(u.ease=function(e){return Array.isArray(e)&&"number"!==typeof e[0]}(t)?t.map(Ln):Ln(t)),"tween"===s.type&&(u.type="keyframes"),(o||a||i)&&(!0,o?u.repeatType="reverse":a?u.repeatType="loop":i&&(u.repeatType="mirror"),u.repeat=a||o||i||s.repeat),"spring"!==s.type&&(u.type="keyframes"),u}function Yn(e,t,n){var o;return Array.isArray(t.to)&&(null!==(o=e.duration)&&void 0!==o||(e.duration=.8)),function(e){Array.isArray(e.to)&&null===e.to[0]&&(e.to=(0,r.__spreadArray)([],(0,r.__read)(e.to)),e.to[0]=e.from)}(t),function(e){e.when,e.delay,e.delayChildren,e.staggerChildren,e.staggerDirection,e.repeat,e.repeatType,e.repeatDelay,e.from;var t=(0,r.__rest)(e,["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from"]);return!!Object.keys(t).length}(e)||(e=(0,r.__assign)((0,r.__assign)({},e),function(e,t){var n;return n=Re(t)?Hn:Vn[e]||Vn.default,(0,r.__assign)({to:t},n(t))}(n,t.to))),(0,r.__assign)((0,r.__assign)({},t),Xn(e))}function Qn(e,t,n,o,i){var a,s=tr(o,e),u=null!==(a=s.from)&&void 0!==a?a:t.get(),c=Nn(e,n);"none"===u&&c&&"string"===typeof n?u=$n(e,n):Jn(u)&&"string"===typeof n?u=er(n):!Array.isArray(n)&&Jn(n)&&"string"===typeof u&&(n=er(u));var l=Nn(e,u);return l&&c&&!1!==s.type?function(){var o={from:u,to:n,velocity:t.getVelocity(),onComplete:i,onUpdate:function(e){return t.set(e)}};return"inertia"===s.type||"decay"===s.type?function(e){var t,n=e.from,o=void 0===n?0:n,i=e.velocity,a=void 0===i?0:i,s=e.min,u=e.max,c=e.power,l=void 0===c?.8:c,d=e.timeConstant,f=void 0===d?750:d,h=e.bounceStiffness,p=void 0===h?500:h,v=e.bounceDamping,m=void 0===v?10:v,g=e.restDelta,y=void 0===g?1:g,b=e.modifyTarget,w=e.driver,_=e.onUpdate,x=e.onComplete;function k(e){return void 0!==s&&e<s||void 0!==u&&e>u}function E(e){return void 0===s?u:void 0===u||Math.abs(s-e)<Math.abs(u-e)?s:u}function O(e){null===t||void 0===t||t.stop(),t=On((0,r.__assign)((0,r.__assign)({},e),{driver:w,onUpdate:function(t){var n;null===_||void 0===_||_(t),null===(n=e.onUpdate)||void 0===n||n.call(e,t)},onComplete:x}))}function C(e){O((0,r.__assign)({type:"spring",stiffness:p,damping:m,restDelta:y},e))}if(k(o))C({from:o,velocity:a,to:E(o)});else{var T=l*a+o;"undefined"!==typeof b&&(T=b(T));var M,S,P=E(T),j=P===s?-1:1;O({type:"decay",from:o,velocity:a,timeConstant:f,power:l,restDelta:y,modifyTarget:b,onUpdate:k(T)?function(e){M=S,S=e,a=Cn(e-M,(0,xn.$B)().delta),(1===j&&e>P||-1===j&&e<P)&&C({from:e,to:P,velocity:a})}:void 0})}return{stop:function(){return null===t||void 0===t?void 0:t.stop()}}}((0,r.__assign)((0,r.__assign)({},o),s)):On((0,r.__assign)((0,r.__assign)({},Yn(s,o,e)),{onUpdate:function(e){var t;o.onUpdate(e),null===(t=s.onUpdate)||void 0===t||t.call(s,e)},onComplete:function(){var e;o.onComplete(),null===(e=s.onComplete)||void 0===e||e.call(s)}}))}:function(){var e;return t.set(n),i(),null===(e=null===s||void 0===s?void 0:s.onComplete)||void 0===e||e.call(s),{stop:function(){}}}}function Jn(e){return 0===e||"string"===typeof e&&0===parseFloat(e)&&-1===e.indexOf(" ")}function er(e){return"number"===typeof e?0:$n("",e)}function tr(e,t){return e[t]||e.default||e}function nr(e,t,n,r){return void 0===r&&(r={}),t.start((function(o){var i,a,s=Qn(e,t,n,r,o),u=function(e,t){var n;return null!==(n=(tr(e,t)||{}).delay)&&void 0!==n?n:0}(r,e),c=function(){return a=s()};return u?i=setTimeout(c,Tn(u)):c(),function(){clearTimeout(i),null===a||void 0===a||a.stop()}}))}function rr(e,t){-1===e.indexOf(t)&&e.push(t)}function or(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var ir=function(){function e(){this.subscriptions=[]}return e.prototype.add=function(e){var t=this;return rr(this.subscriptions,e),function(){return or(t.subscriptions,e)}},e.prototype.notify=function(e,t,n){var r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(var o=0;o<r;o++){var i=this.subscriptions[o];i&&i(e,t,n)}},e.prototype.getSize=function(){return this.subscriptions.length},e.prototype.clear=function(){this.subscriptions.length=0},e}(),ar=function(){function e(e){var t,n=this;this.timeDelta=0,this.lastUpdated=0,this.updateSubscribers=new ir,this.velocityUpdateSubscribers=new ir,this.renderSubscribers=new ir,this.canTrackVelocity=!1,this.updateAndNotify=function(e,t){void 0===t&&(t=!0),n.prev=n.current,n.current=e;var r=(0,xn.$B)(),o=r.delta,i=r.timestamp;n.lastUpdated!==i&&(n.timeDelta=o,n.lastUpdated=i,xn.ZP.postRender(n.scheduleVelocityCheck)),n.prev!==n.current&&n.updateSubscribers.notify(n.current),n.velocityUpdateSubscribers.getSize()&&n.velocityUpdateSubscribers.notify(n.getVelocity()),t&&n.renderSubscribers.notify(n.current)},this.scheduleVelocityCheck=function(){return xn.ZP.postRender(n.velocityCheck)},this.velocityCheck=function(e){e.timestamp!==n.lastUpdated&&(n.prev=n.current,n.velocityUpdateSubscribers.notify(n.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t)))}return e.prototype.onChange=function(e){return this.updateSubscribers.add(e)},e.prototype.clearListeners=function(){this.updateSubscribers.clear()},e.prototype.onRenderRequest=function(e){return e(this.get()),this.renderSubscribers.add(e)},e.prototype.attach=function(e){this.passiveEffect=e},e.prototype.set=function(e,t){void 0===t&&(t=!0),t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)},e.prototype.get=function(){return this.current},e.prototype.getPrevious=function(){return this.prev},e.prototype.getVelocity=function(){return this.canTrackVelocity?Cn(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0},e.prototype.start=function(e){var t=this;return this.stop(),new Promise((function(n){t.hasAnimated=!0,t.stopAnimation=e(n)})).then((function(){return t.clearAnimation()}))},e.prototype.stop=function(){this.stopAnimation&&this.stopAnimation(),this.clearAnimation()},e.prototype.isAnimating=function(){return!!this.stopAnimation},e.prototype.clearAnimation=function(){this.stopAnimation=null},e.prototype.destroy=function(){this.updateSubscribers.clear(),this.renderSubscribers.clear(),this.stop()},e}();function sr(e){return new ar(e)}var ur=function(e){return function(t){return t.test(e)}},cr=[re,J,Q,Y,te,ee,{test:function(e){return"auto"===e},parse:function(e){return e}}],lr=function(e){return cr.find(ur(e))},dr=(0,r.__spreadArray)((0,r.__spreadArray)([],(0,r.__read)(cr)),[Bt,Gt]),fr=function(e){return dr.find(ur(e))};function hr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,sr(n))}function pr(e,t){var n=x(e,t),o=n?e.makeTargetAnimatable(n,!1):{},i=o.transitionEnd,a=void 0===i?{}:i;o.transition;var s,u=(0,r.__rest)(o,["transitionEnd","transition"]);for(var c in u=(0,r.__assign)((0,r.__assign)({},u),a)){hr(e,c,(s=u[c],Re(s)?s[s.length-1]||0:s))}}function vr(e,t){if(t)return(t[e]||t.default||t).from}function mr(e,t,n){var o;void 0===n&&(n={});var i=x(e,t,n.custom),a=(i||{}).transition,s=void 0===a?e.getDefaultTransition()||{}:a;n.transitionOverride&&(s=n.transitionOverride);var u=i?function(){return gr(e,i,n)}:function(){return Promise.resolve()},c=(null===(o=e.variantChildren)||void 0===o?void 0:o.size)?function(o){void 0===o&&(o=0);var i=s.delayChildren,a=void 0===i?0:i,u=s.staggerChildren,c=s.staggerDirection;return function(e,t,n,o,i,a){void 0===n&&(n=0);void 0===o&&(o=0);void 0===i&&(i=1);var s=[],u=(e.variantChildren.size-1)*o,c=1===i?function(e){return void 0===e&&(e=0),e*o}:function(e){return void 0===e&&(e=0),u-e*o};return Array.from(e.variantChildren).sort(yr).forEach((function(e,o){s.push(mr(e,t,(0,r.__assign)((0,r.__assign)({},a),{delay:n+c(o)})).then((function(){return e.notifyAnimationComplete(t)})))})),Promise.all(s)}(e,t,a+o,u,c,n)}:function(){return Promise.resolve()},l=s.when;if(l){var d=(0,r.__read)("beforeChildren"===l?[u,c]:[c,u],2),f=d[0],h=d[1];return f().then(h)}return Promise.all([u(),c(n.delay)])}function gr(e,t,n){var o,i=void 0===n?{}:n,a=i.delay,s=void 0===a?0:a,u=i.transitionOverride,c=i.type,l=e.makeTargetAnimatable(t),d=l.transition,f=void 0===d?e.getDefaultTransition():d,h=l.transitionEnd,p=(0,r.__rest)(l,["transition","transitionEnd"]);u&&(f=u);var v=[],m=c&&(null===(o=e.animationState)||void 0===o?void 0:o.getState()[c]);for(var g in p){var y=e.getValue(g),b=p[g];if(!(!y||void 0===b||m&&br(m,g))){var w=nr(g,y,b,(0,r.__assign)({delay:s},f));v.push(w)}}return Promise.all(v).then((function(){h&&pr(e,h)}))}function yr(e,t){return e.sortNodePosition(t)}function br(e,t){var n=e.protectedKeys,r=e.needsAnimating,o=n.hasOwnProperty(t)&&!0!==r[t];return r[t]=!1,o}var wr=[Fe.Animate,Fe.Hover,Fe.Tap,Fe.Drag,Fe.Focus,Fe.Exit],_r=(0,r.__spreadArray)([],(0,r.__read)(wr)).reverse(),xr=wr.length;function kr(e){return function(t){return Promise.all(t.map((function(t){var n=t.animation,r=t.options;return function(e,t,n){var r;if(void 0===n&&(n={}),e.notifyAnimationStart(),Array.isArray(t)){var o=t.map((function(t){return mr(e,t,n)}));r=Promise.all(o)}else if("string"===typeof t)r=mr(e,t,n);else{var i="function"===typeof t?x(e,t,n.custom):t;r=gr(e,i,n)}return r.then((function(){return e.notifyAnimationComplete(t)}))}(e,n,r)})))}}function Er(e){var t=kr(e),n=function(){var e;return(e={})[Fe.Animate]=Or(!0),e[Fe.Hover]=Or(),e[Fe.Tap]=Or(),e[Fe.Drag]=Or(),e[Fe.Focus]=Or(),e[Fe.Exit]=Or(),e}(),o={},i=!0,a=function(t,n){var o=x(e,n);if(o){o.transition;var i=o.transitionEnd,a=(0,r.__rest)(o,["transition","transitionEnd"]);t=(0,r.__assign)((0,r.__assign)((0,r.__assign)({},t),a),i)}return t};function s(s,u){for(var c,l=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set,p={},v=1/0,m=function(t){var o=_r[t],m=n[o],g=null!==(c=l[o])&&void 0!==c?c:d[o],y=w(g),_=o===u?m.isActive:null;!1===_&&(v=t);var x=g===d[o]&&g!==l[o]&&y;if(x&&i&&e.manuallyAnimateOnMount&&(x=!1),m.protectedKeys=(0,r.__assign)({},p),!m.isActive&&null===_||!g&&!m.prevProp||Ie(g)||"boolean"===typeof g)return"continue";var k=function(e,t){if("string"===typeof t)return t!==e;if(b(t))return!pt(t,e);return!1}(m.prevProp,g)||o===u&&m.isActive&&!x&&y||t>v&&y,E=Array.isArray(g)?g:[g],O=E.reduce(a,{});!1===_&&(O={});var C=m.prevResolvedValues,T=void 0===C?{}:C,M=(0,r.__assign)((0,r.__assign)({},T),O),S=function(e){k=!0,h.delete(e),m.needsAnimating[e]=!0};for(var P in M){var j=O[P],I=T[P];p.hasOwnProperty(P)||(j!==I?Re(j)&&Re(I)?pt(j,I)?m.protectedKeys[P]=!0:S(P):void 0!==j?S(P):h.add(P):void 0!==j&&h.has(P)?S(P):m.protectedKeys[P]=!0)}m.prevProp=g,m.prevResolvedValues=O,m.isActive&&(p=(0,r.__assign)((0,r.__assign)({},p),O)),i&&e.blockInitialAnimation&&(k=!1),k&&!x&&f.push.apply(f,(0,r.__spreadArray)([],(0,r.__read)(E.map((function(e){return{animation:e,options:(0,r.__assign)({type:o},s)}})))))},g=0;g<xr;g++)m(g);if(o=(0,r.__assign)({},p),h.size){var y={};h.forEach((function(t){var n=e.getBaseTarget(t);void 0!==n&&(y[t]=n)})),f.push({animation:y})}var _=Boolean(f.length);return i&&!1===l.initial&&!e.manuallyAnimateOnMount&&(_=!1),i=!1,_?t(f):Promise.resolve()}return{isAnimated:function(e){return void 0!==o[e]},animateChanges:s,setActive:function(t,r,o){var i;return n[t].isActive===r?Promise.resolve():(null===(i=e.variantChildren)||void 0===i||i.forEach((function(e){var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)})),n[t].isActive=r,s(o,t))},setAnimateFunction:function(n){t=n(e)},getState:function(){return n}}}function Or(e){return void 0===e&&(e=!1),{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}var Cr={animation:ft((function(e){var t=e.visualElement,n=e.animate;t.animationState||(t.animationState=Er(t)),Ie(n)&&(0,o.useEffect)((function(){return n.subscribe(t)}),[n])})),exit:ft((function(e){var t=e.custom,n=e.visualElement,i=(0,r.__read)((0,h.oO)(),2),a=i[0],s=i[1],u=(0,o.useContext)(f.O);(0,o.useEffect)((function(){var e,r,o=null===(e=n.animationState)||void 0===e?void 0:e.setActive(Fe.Exit,!a,{custom:null!==(r=null===u||void 0===u?void 0:u.custom)&&void 0!==r?r:t});!a&&(null===o||void 0===o||o.then(s))}),[a])}))},Tr=function(e){return e.hasOwnProperty("x")&&e.hasOwnProperty("y")},Mr=function(e){return Tr(e)&&e.hasOwnProperty("z")},Sr=function(e,t){return Math.abs(e-t)};function Pr(e,t){if(qt(e)&&qt(t))return Sr(e,t);if(Tr(e)&&Tr(t)){var n=Sr(e.x,t.x),r=Sr(e.y,t.y),o=Mr(e)&&Mr(t)?Sr(e.z,t.z):0;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2)+Math.pow(o,2))}}var jr=function(){function e(e,t,n){var o=this,i=(void 0===n?{}:n).transformPagePoint;if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=function(){if(o.lastMoveEvent&&o.lastMoveEventInfo){var e=Rr(o.lastMoveEventInfo,o.history),t=null!==o.startEvent,n=Pr(e.offset,{x:0,y:0})>=3;if(t||n){var i=e.point,a=(0,xn.$B)().timestamp;o.history.push((0,r.__assign)((0,r.__assign)({},i),{timestamp:a}));var s=o.handlers,u=s.onStart,c=s.onMove;t||(u&&u(o.lastMoveEvent,e),o.startEvent=o.lastMoveEvent),c&&c(o.lastMoveEvent,e)}}},this.handlePointerMove=function(e,t){o.lastMoveEvent=e,o.lastMoveEventInfo=Ir(t,o.transformPagePoint),Ue(e)&&0===e.buttons?o.handlePointerUp(e,t):xn.ZP.update(o.updatePoint,!0)},this.handlePointerUp=function(e,t){o.end();var n=o.handlers,r=n.onEnd,i=n.onSessionEnd,a=Rr(Ir(t,o.transformPagePoint),o.history);o.startEvent&&r&&r(e,a),i&&i(e,a)},!(Ge(e)&&e.touches.length>1)){this.handlers=t,this.transformPagePoint=i;var a=Ir($e(e),this.transformPagePoint),s=a.point,u=(0,xn.$B)().timestamp;this.history=[(0,r.__assign)((0,r.__assign)({},s),{timestamp:u})];var c=t.onSessionStart;c&&c(e,Rr(a,this.history)),this.removeListeners=dt(et(window,"pointermove",this.handlePointerMove),et(window,"pointerup",this.handlePointerUp),et(window,"pointercancel",this.handlePointerUp))}}return e.prototype.updateHandlers=function(e){this.handlers=e},e.prototype.end=function(){this.removeListeners&&this.removeListeners(),xn.qY.update(this.updatePoint)},e}();function Ir(e,t){return t?{point:t(e.point)}:e}function Ar(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Rr(e,t){var n=e.point;return{point:n,delta:Ar(n,Lr(t)),offset:Ar(n,Dr(t)),velocity:Nr(t,.1)}}function Dr(e){return e[0]}function Lr(e){return e[e.length-1]}function Nr(e,t){if(e.length<2)return{x:0,y:0};for(var n=e.length-1,r=null,o=Lr(e);n>=0&&(r=e[n],!(o.timestamp-r.timestamp>Tn(t)));)n--;if(!r)return{x:0,y:0};var i=(o.timestamp-r.timestamp)/1e3;if(0===i)return{x:0,y:0};var a={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}var Br=n(93327);function zr(e){return[e("x"),e("y")]}function Fr(e,t,n){var r=t.min,o=t.max;return void 0!==r&&e<r?e=n?Ot(r,e,n.min):Math.max(e,r):void 0!==o&&e>o&&(e=n?Ot(o,e,n.max):Math.min(e,o)),e}function Hr(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function Vr(e,t){var n,o=t.min-e.min,i=t.max-e.max;return t.max-t.min<e.max-e.min&&(o=(n=(0,r.__read)([i,o],2))[0],i=n[1]),{min:e.min+o,max:e.min+i}}function Wr(e,t,n){return{min:Ur(e,t),max:Ur(e,n)}}function Ur(e,t){var n;return"number"===typeof e?e:null!==(n=e[t])&&void 0!==n?n:0}function Gr(e,t){var n=e.getBoundingClientRect();return(0,Br.RX)((0,Br.dV)(n,t))}function qr(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=.01),Pr(e,t)<n}function Kr(e){return e.max-e.min}function Zr(e,t){var n=.5,r=Kr(e),o=Kr(t);return o>r?n=Et(t.min,t.max-r,e.min):r>o&&(n=Et(e.min,e.max-o,t.min)),vt(0,1,n)}function $r(e,t,n,r){void 0===r&&(r=.5),e.origin=r,e.originPoint=Ot(t.min,t.max,e.origin),e.scale=Kr(n)/Kr(t),qr(e.scale,1,1e-4)&&(e.scale=1),e.translate=Ot(n.min,n.max,e.origin)-e.originPoint,qr(e.translate)&&(e.translate=0)}function Xr(e,t,n,r){$r(e.x,t.x,n.x,Yr(r.originX)),$r(e.y,t.y,n.y,Yr(r.originY))}function Yr(e){return"number"===typeof e?e:.5}function Qr(e,t,n){e.min=n.min+t.min,e.max=e.min+Kr(t)}var Jr=n(58839);function eo(e,t){return{min:t.min-e.min,max:t.max-e.min}}function to(e,t){return{x:eo(e.x,t.x),y:eo(e.y,t.y)}}function no(e,t){var n=e.getLayoutId(),r=t.getLayoutId();return n!==r||void 0===r&&e!==t}function ro(e){var t=e.getProps(),n=t.drag,r=t._dragX;return n&&!r}function oo(e,t){e.min=t.min,e.max=t.max}function io(e,t,n){return n+t*(e-n)}function ao(e,t,n,r,o){return void 0!==o&&(e=io(e,o,r)),io(e,n,r)+t}function so(e,t,n,r,o){void 0===t&&(t=0),void 0===n&&(n=1),e.min=ao(e.min,t,n,r,o),e.max=ao(e.max,t,n,r,o)}function uo(e,t){var n=t.x,r=t.y;so(e.x,n.translate,n.scale,n.originPoint),so(e.y,r.translate,r.scale,r.originPoint)}function co(e,t,n,o){var i=(0,r.__read)(o,3),a=i[0],s=i[1],u=i[2];e.min=t.min,e.max=t.max;var c=void 0!==n[u]?n[u]:.5,l=Ot(t.min,t.max,c);so(e,n[a],n[s],l,n.scale)}var lo=["x","scaleX","originX"],fo=["y","scaleY","originY"];function ho(e,t,n){co(e.x,t.x,n,lo),co(e.y,t.y,n,fo)}function po(e,t,n,r,o){return e=io(e-=t,1/n,r),void 0!==o&&(e=io(e,1/o,r)),e}function vo(e,t,n){var o=(0,r.__read)(n,3),i=o[0],a=o[1],s=o[2];!function(e,t,n,r,o){void 0===t&&(t=0),void 0===n&&(n=1),void 0===r&&(r=.5);var i=Ot(e.min,e.max,r)-t;e.min=po(e.min,t,n,i,o),e.max=po(e.max,t,n,i,o)}(e,t[i],t[a],t[s],t.scale)}function mo(e,t){vo(e.x,t,lo),vo(e.y,t,fo)}var go,yo=n(27565),bo=new WeakMap,wo=function(){function e(e){var t=e.visualElement;this.isDragging=!1,this.currentDirection=null,this.constraints=!1,this.elastic=(0,Br.VZ)(),this.props={},this.hasMutatedConstraints=!1,this.cursorProgress={x:.5,y:.5},this.originPoint={},this.openGlobalLock=null,this.panSession=null,this.visualElement=t,this.visualElement.enableLayoutProjection(),bo.set(t,this)}return e.prototype.start=function(e,t){var n=this,o=void 0===t?{}:t,i=o.snapToCursor,a=void 0!==i&&i,s=o.cursorProgress,u=this.props.transformPagePoint;this.panSession=new jr(e,{onSessionStart:function(e){var t;n.stopMotion();var o=function(e){return $e(e,"client")}(e).point;null===(t=n.cancelLayout)||void 0===t||t.call(n),n.cancelLayout=(0,yo.U)((function(e,t){var i=(0,Jr.kv)(n.visualElement),u=(0,Jr.e3)(n.visualElement),c=(0,r.__spreadArray)((0,r.__spreadArray)([],(0,r.__read)(i)),(0,r.__read)(u)),l=!1;n.isLayoutDrag()&&n.visualElement.lockProjectionTarget(),t((function(){c.forEach((function(e){return e.resetTransform()}))})),e((function(){(0,Jr.de)(n.visualElement),u.forEach(Jr.de)})),t((function(){c.forEach((function(e){return e.restoreTransform()})),a&&(l=n.snapToCursor(o))})),e((function(){Boolean(n.getAxisMotionValue("x")&&!n.isExternalDrag())||n.visualElement.rebaseProjectionTarget(!0,n.visualElement.measureViewportBox(!1)),n.visualElement.scheduleUpdateLayoutProjection();var e=n.visualElement.projection;zr((function(t){if(!l){var r=e.target[t],i=r.min,a=r.max;n.cursorProgress[t]=s?s[t]:Et(i,a,o[t])}var u=n.getAxisMotionValue(t);u&&(n.originPoint[t]=u.get())}))})),t((function(){xn.iW.update(),xn.iW.preRender(),xn.iW.render(),xn.iW.postRender()})),e((function(){return n.resolveDragConstraints()}))}))},onStart:function(e,t){var r,o,i,a=n.props,s=a.drag,u=a.dragPropagation;(!s||u||(n.openGlobalLock&&n.openGlobalLock(),n.openGlobalLock=it(s),n.openGlobalLock))&&((0,yo.R)(),n.isDragging=!0,n.currentDirection=null,null===(o=(r=n.props).onDragStart)||void 0===o||o.call(r,e,t),null===(i=n.visualElement.animationState)||void 0===i||i.setActive(Fe.Drag,!0))},onMove:function(e,t){var r,o,i,a,s=n.props,u=s.dragPropagation,c=s.dragDirectionLock;if(u||n.openGlobalLock){var l=t.offset;if(c&&null===n.currentDirection)return n.currentDirection=function(e,t){void 0===t&&(t=10);var n=null;Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x");return n}(l),void(null!==n.currentDirection&&(null===(o=(r=n.props).onDirectionLock)||void 0===o||o.call(r,n.currentDirection)));n.updateAxis("x",t.point,l),n.updateAxis("y",t.point,l),null===(a=(i=n.props).onDrag)||void 0===a||a.call(i,e,t),go=e}},onSessionEnd:function(e,t){return n.stop(e,t)}},{transformPagePoint:u})},e.prototype.resolveDragConstraints=function(){var e=this,t=this.props,n=t.dragConstraints,r=t.dragElastic,o=this.visualElement.getLayoutState().layoutCorrected;this.constraints=!!n&&(y(n)?this.resolveRefConstraints(o,n):function(e,t){var n=t.top,r=t.left,o=t.bottom,i=t.right;return{x:Hr(e.x,r,i),y:Hr(e.y,n,o)}}(o,n)),this.elastic=function(e){return!1===e?e=0:!0===e&&(e=.35),{x:Wr(e,"left","right"),y:Wr(e,"top","bottom")}}(r),this.constraints&&!this.hasMutatedConstraints&&zr((function(t){e.getAxisMotionValue(t)&&(e.constraints[t]=function(e,t){var n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(o[t],e.constraints[t]))}))},e.prototype.resolveRefConstraints=function(e,t){var n=this.props,r=n.onMeasureDragConstraints,o=n.transformPagePoint,i=t.current;this.constraintsBox=Gr(i,o);var a=function(e,t){return{x:Vr(e.x,t.x),y:Vr(e.y,t.y)}}(e,this.constraintsBox);if(r){var s=r((0,Br._6)(a));this.hasMutatedConstraints=!!s,s&&(a=(0,Br.RX)(s))}return a},e.prototype.cancelDrag=function(){var e,t;this.visualElement.unlockProjectionTarget(),null===(e=this.cancelLayout)||void 0===e||e.call(this),this.isDragging=!1,this.panSession&&this.panSession.end(),this.panSession=null,!this.props.dragPropagation&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),null===(t=this.visualElement.animationState)||void 0===t||t.setActive(Fe.Drag,!1)},e.prototype.stop=function(e,t){var n,r,o;null===(n=this.panSession)||void 0===n||n.end(),this.panSession=null;var i=this.isDragging;if(this.cancelDrag(),i){var a=t.velocity;this.animateDragEnd(a),null===(o=(r=this.props).onDragEnd)||void 0===o||o.call(r,e,t)}},e.prototype.snapToCursor=function(e){var t=this;return zr((function(n){if(_o(n,t.props.drag,t.currentDirection)){var r=t.getAxisMotionValue(n);if(!r)return t.cursorProgress[n]=.5,!0;var o=t.visualElement.getLayoutState().layout,i=o[n].max-o[n].min,a=o[n].min+i/2,s=e[n]-a;t.originPoint[n]=e[n],r.set(s)}})).includes(!0)},e.prototype.updateAxis=function(e,t,n){if(_o(e,this.props.drag,this.currentDirection))return this.getAxisMotionValue(e)?this.updateAxisMotionValue(e,n):this.updateVisualElementAxis(e,t)},e.prototype.updateAxisMotionValue=function(e,t){var n=this.getAxisMotionValue(e);if(t&&n){var r=this.originPoint[e]+t[e],o=this.constraints?Fr(r,this.constraints[e],this.elastic[e]):r;n.set(o)}},e.prototype.updateVisualElementAxis=function(e,t){var n,r=this.visualElement.getLayoutState().layout[e],o=r.max-r.min,i=this.cursorProgress[e],a=function(e,t,n,r,o){var i=e-t*n;return r?Fr(i,r,o):i}(t[e],o,i,null===(n=this.constraints)||void 0===n?void 0:n[e],this.elastic[e]);this.visualElement.setProjectionTargetAxis(e,a,a+o)},e.prototype.setProps=function(e){var t=e.drag,n=void 0!==t&&t,o=e.dragDirectionLock,i=void 0!==o&&o,a=e.dragPropagation,s=void 0!==a&&a,u=e.dragConstraints,c=void 0!==u&&u,l=e.dragElastic,d=void 0===l?.35:l,f=e.dragMomentum,h=void 0===f||f,p=(0,r.__rest)(e,["drag","dragDirectionLock","dragPropagation","dragConstraints","dragElastic","dragMomentum"]);this.props=(0,r.__assign)({drag:n,dragDirectionLock:i,dragPropagation:s,dragConstraints:c,dragElastic:d,dragMomentum:h},p)},e.prototype.getAxisMotionValue=function(e){var t=this.props,n=t.layout,r=t.layoutId,o="_drag"+e.toUpperCase();return this.props[o]?this.props[o]:n||void 0!==r?void 0:this.visualElement.getValue(e,0)},e.prototype.isLayoutDrag=function(){return!this.getAxisMotionValue("x")},e.prototype.isExternalDrag=function(){var e=this.props,t=e._dragX,n=e._dragY;return t||n},e.prototype.animateDragEnd=function(e){var t=this,n=this.props,o=n.drag,i=n.dragMomentum,a=n.dragElastic,s=n.dragTransition,u=function(e,t){void 0===t&&(t=!0);var n,r=e.getProjectionParent();return!!r&&(t?mo(n=to(r.projection.target,e.projection.target),r.getLatestValues()):n=to(r.getLayoutState().layout,e.getLayoutState().layout),zr((function(t){return e.setProjectionTargetAxis(t,n[t].min,n[t].max,!0)})),!0)}(this.visualElement,this.isLayoutDrag()&&!this.isExternalDrag()),c=this.constraints||{};if(u&&Object.keys(c).length&&this.isLayoutDrag()){var l=this.visualElement.getProjectionParent();if(l){var d=to(l.projection.targetFinal,c);zr((function(e){var t=d[e],n=t.min,r=t.max;c[e]={min:isNaN(n)?void 0:n,max:isNaN(r)?void 0:r}}))}}var f=zr((function(n){var l;if(_o(n,o,t.currentDirection)){var d=null!==(l=null===c||void 0===c?void 0:c[n])&&void 0!==l?l:{},f=a?200:1e6,h=a?40:1e7,p=(0,r.__assign)((0,r.__assign)({type:"inertia",velocity:i?e[n]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10},s),d);return t.getAxisMotionValue(n)?t.startAxisValueAnimation(n,p):t.visualElement.startLayoutAnimation(n,p,u)}}));return Promise.all(f).then((function(){var e,n;null===(n=(e=t.props).onDragTransitionEnd)||void 0===n||n.call(e)}))},e.prototype.stopMotion=function(){var e=this;zr((function(t){var n=e.getAxisMotionValue(t);n?n.stop():e.visualElement.stopLayoutAnimation()}))},e.prototype.startAxisValueAnimation=function(e,t){var n=this.getAxisMotionValue(e);if(n){var r=n.get();return n.set(r),n.set(r),nr(e,n,0,t)}},e.prototype.scalePoint=function(){var e=this,t=this.props,n=t.drag;if(y(t.dragConstraints)&&this.constraintsBox){this.stopMotion();var r={x:0,y:0};zr((function(t){r[t]=Zr(e.visualElement.projection.target[t],e.constraintsBox[t])})),this.updateConstraints((function(){zr((function(t){if(_o(t,n,null)){var o=function(e,t,n){var r=e.max-e.min,o=Ot(t.min,t.max-r,n);return{min:o,max:o+r}}(e.visualElement.projection.target[t],e.constraintsBox[t],r[t]),i=o.min,a=o.max;e.visualElement.setProjectionTargetAxis(t,i,a)}}))})),setTimeout(yo.R,1)}},e.prototype.updateConstraints=function(e){var t=this;this.cancelLayout=(0,yo.U)((function(n,r){var o=(0,Jr.kv)(t.visualElement);r((function(){return o.forEach((function(e){return e.resetTransform()}))})),n((function(){return(0,Jr.de)(t.visualElement)})),r((function(){return o.forEach((function(e){return e.restoreTransform()}))})),n((function(){t.resolveDragConstraints()})),e&&r(e)}))},e.prototype.mount=function(e){var t=this,n=et(e.getInstance(),"pointerdown",(function(e){var n=t.props,r=n.drag,o=n.dragListener;r&&(void 0===o||o)&&t.start(e)})),r=Ve(window,"resize",(function(){t.scalePoint()})),o=e.onLayoutUpdate((function(){t.isDragging&&t.resolveDragConstraints()})),i=e.prevDragCursor;return i&&this.start(go,{cursorProgress:i}),function(){null===n||void 0===n||n(),null===r||void 0===r||r(),null===o||void 0===o||o(),t.cancelDrag()}},e}();function _o(e,t,n){return(!0===t||t===e)&&(null===n||n===e)}var xo={pan:ft((function(e){var t=e.onPan,n=e.onPanStart,r=e.onPanEnd,i=e.onPanSessionStart,a=e.visualElement,s=t||n||r||i,u=(0,o.useRef)(null),c=(0,o.useContext)(l).transformPagePoint,d={onSessionStart:i,onStart:n,onMove:t,onEnd:function(e,t){u.current=null,r&&r(e,t)}};(0,o.useEffect)((function(){null!==u.current&&u.current.updateHandlers(d)})),tt(a,"pointerdown",s&&function(e){u.current=new jr(e,d,{transformPagePoint:c})}),(0,ct.z)((function(){return u.current&&u.current.end()}))})),drag:ft((function(e){var t=e.dragControls,n=e.visualElement,i=(0,o.useContext)(l).transformPagePoint,a=(0,Ae.h)((function(){return new wo({visualElement:n})}));a.setProps((0,r.__assign)((0,r.__assign)({},e),{transformPagePoint:i})),(0,o.useEffect)((function(){return t&&t.subscribe(a)}),[a]),(0,o.useEffect)((function(){return a.mount(n)}),[])}))},ko=n(7646);function Eo(e){return"string"===typeof e&&e.startsWith("var(--")}var Oo=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function Co(e,t,n){void 0===n&&(n=1);var o=(0,r.__read)(function(e){var t=Oo.exec(e);if(!t)return[,];var n=(0,r.__read)(t,3);return[n[1],n[2]]}(e),2),i=o[0],a=o[1];if(i){var s=window.getComputedStyle(t).getPropertyValue(i);return s?s.trim():Eo(a)?Co(a,t,n+1):a}}function To(e,t){return e/(t.max-t.min)*100}var Mo="_$css";var So={process:function(e,t,n){var r=n.target;if("string"===typeof e){if(!J.test(e))return e;e=parseFloat(e)}return To(e,r.x)+"% "+To(e,r.y)+"%"}},Po={borderRadius:(0,r.__assign)((0,r.__assign)({},So),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:So,borderTopRightRadius:So,borderBottomLeftRadius:So,borderBottomRightRadius:So,boxShadow:{process:function(e,t){var n=t.delta,r=t.treeScale,o=e,i=e.includes("var("),a=[];i&&(e=e.replace(Oo,(function(e){return a.push(e),Mo})));var s=Gt.parse(e);if(s.length>5)return o;var u=Gt.createTransformer(e),c="number"!==typeof s[0]?1:0,l=n.x.scale*r.x,d=n.y.scale*r.y;s[0+c]/=l,s[1+c]/=d;var f=Ot(l,d,.5);"number"===typeof s[2+c]&&(s[2+c]/=f),"number"===typeof s[3+c]&&(s[3+c]/=f);var h=u(s);if(i){var p=0;h=h.replace(Mo,(function(){var e=a[p];return p++,e}))}return h}}},jo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.frameTarget=(0,Br.VZ)(),t.currentAnimationTarget=(0,Br.VZ)(),t.isAnimating={x:!1,y:!1},t.stopAxisAnimation={x:void 0,y:void 0},t.isAnimatingTree=!1,t.animate=function(e,n,o){void 0===o&&(o={});var i=o.originBox,a=o.targetBox,s=o.visibilityAction,u=o.shouldStackAnimate,c=o.onComplete,l=o.prevParent,d=(0,r.__rest)(o,["originBox","targetBox","visibilityAction","shouldStackAnimate","onComplete","prevParent"]),f=t.props,h=f.visualElement,p=f.layout;if(!1===u)return t.isAnimatingTree=!1,t.safeToRemove();if(!t.isAnimatingTree||!0===u){u&&(t.isAnimatingTree=!0),n=i||n,e=a||e;var v=!1,m=h.getProjectionParent();if(m){var g=m.prevViewportBox,y=m.getLayoutState().layout;l&&(a&&(y=l.getLayoutState().layout),i&&!no(l,m)&&l.prevViewportBox&&(g=l.prevViewportBox)),g&&No(l,i,a)&&(v=!0,n=to(g,n),e=to(y,e))}var b=Io(n,e),w=zr((function(o){var i,a;if("position"===p){var u=e[o].max-e[o].min;n[o].max=n[o].min+u}if(!h.projection.isTargetLocked)return void 0===s?b?t.animateAxis(o,e[o],n[o],(0,r.__assign)((0,r.__assign)({},d),{isRelative:v})):(null===(a=(i=t.stopAxisAnimation)[o])||void 0===a||a.call(i),h.setProjectionTargetAxis(o,e[o].min,e[o].max,v)):void h.setVisibility(s===ko.c.Show)}));return h.syncRender(),Promise.all(w).then((function(){t.isAnimatingTree=!1,c&&c(),h.notifyLayoutAnimationComplete()}))}},t}return(0,r.__extends)(t,e),t.prototype.componentDidMount=function(){var e=this,t=this.props.visualElement;t.animateMotionValue=nr,t.enableLayoutProjection(),this.unsubLayoutReady=t.onLayoutUpdate(this.animate),t.layoutSafeToRemove=function(){return e.safeToRemove()},function(e){for(var t in e)j[t]=e[t]}(Po)},t.prototype.componentWillUnmount=function(){var e=this;this.unsubLayoutReady(),zr((function(t){var n,r;return null===(r=(n=e.stopAxisAnimation)[t])||void 0===r?void 0:r.call(n)}))},t.prototype.animateAxis=function(e,t,n,r){var o,i,a=this,s=void 0===r?{}:r,u=s.transition,c=s.isRelative;if(!this.isAnimating[e]||!Do(t,this.currentAnimationTarget[e])){null===(i=(o=this.stopAxisAnimation)[e])||void 0===i||i.call(o),this.isAnimating[e]=!0;var l=this.props.visualElement,d=this.frameTarget[e],f=l.getProjectionAnimationProgress()[e];f.clearListeners(),f.set(0),f.set(0);var h=function(){var r=f.get()/1e3;!function(e,t,n,r){e.min=Ot(t.min,n.min,r),e.max=Ot(t.max,n.max,r)}(d,n,t,r),l.setProjectionTargetAxis(e,d.min,d.max,c)};h();var p=f.onChange(h);this.stopAxisAnimation[e]=function(){a.isAnimating[e]=!1,f.stop(),p()},this.currentAnimationTarget[e]=t;var v=u||l.getDefaultTransition()||Lo;return nr("x"===e?"layoutX":"layoutY",f,1e3,v&&tr(v,"layout")).then(this.stopAxisAnimation[e])}},t.prototype.safeToRemove=function(){var e,t;null===(t=(e=this.props).safeToRemove)||void 0===t||t.call(e)},t.prototype.render=function(){return null},t}(o.Component);function Io(e,t){return!Ro(e)&&!Ro(t)&&(!Do(e.x,t.x)||!Do(e.y,t.y))}var Ao={min:0,max:0};function Ro(e){return Do(e.x,Ao)&&Do(e.y,Ao)}function Do(e,t){return e.min===t.min&&e.max===t.max}var Lo={duration:.45,ease:[.4,0,.1,1]};function No(e,t,n){return e||!e&&!(t||n)}var Bo=n(49870),zo=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return(0,r.__extends)(t,e),t.prototype.componentDidMount=function(){var e=this.props,t=e.syncLayout,n=e.framerSyncLayout,r=e.visualElement;(0,Bo.Md)(t)&&t.register(r),(0,Bo.Md)(n)&&n.register(r),r.onUnmount((function(){(0,Bo.Md)(t)&&t.remove(r),(0,Bo.Md)(n)&&n.remove(r)}))},t.prototype.getSnapshotBeforeUpdate=function(){var e=this.props,t=e.syncLayout,n=e.visualElement;return(0,Bo.Md)(t)?t.syncUpdate():((0,Jr.x7)(n),t.add(n)),null},t.prototype.componentDidUpdate=function(){var e=this.props.syncLayout;(0,Bo.Md)(e)||e.flush()},t.prototype.render=function(){return null},t}(o.Component);var Fo={measureLayout:function(e){var t=(0,o.useContext)(Bo.WH),n=(0,o.useContext)(Bo.bg);return o.createElement(zo,(0,r.__assign)({},e,{syncLayout:t,framerSyncLayout:n}))},layoutAnimation:function(e){var t=(0,r.__read)((0,h.oO)(),2)[1];return o.createElement(jo,(0,r.__assign)({},e,{safeToRemove:t}))}};function Ho(){return{isHydrated:!1,layout:(0,Br.VZ)(),layoutCorrected:(0,Br.VZ)(),treeScale:{x:1,y:1},delta:(0,Br.pY)(),deltaFinal:(0,Br.pY)(),deltaTransform:""}}var Vo=Ho();function Wo(e,t,n){var r=e.x,o=e.y,i="translate3d("+r.translate/t.x+"px, "+o.translate/t.y+"px, 0) ";if(n){var a=n.rotate,s=n.rotateX,u=n.rotateY;a&&(i+="rotate("+a+") "),s&&(i+="rotateX("+s+") "),u&&(i+="rotateY("+u+") ")}return i+="scale("+r.scale+", "+o.scale+")",n||i!==Go?i:""}function Uo(e){var t=e.deltaFinal;return 100*t.x.origin+"% "+100*t.y.origin+"% 0"}var Go=Wo(Vo.delta,Vo.treeScale,{x:1,y:1}),qo=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","SetAxisTarget","Unmount"];function Ko(e,t,n,r){var o,i,a=e.delta,s=e.layout,u=e.layoutCorrected,c=e.treeScale,l=t.target;i=s,oo((o=u).x,i.x),oo(o.y,i.y),function(e,t,n){var r=n.length;if(r){var o,i;t.x=t.y=1;for(var a=0;a<r;a++)i=(o=n[a]).getLayoutState().delta,t.x*=i.x.scale,t.y*=i.y.scale,uo(e,i),ro(o)&&ho(e,e,o.getLatestValues())}}(u,c,n),Xr(a,u,l,r)}var Zo=n(519),$o=function(){function e(){this.children=[],this.isDirty=!1}return e.prototype.add=function(e){rr(this.children,e),this.isDirty=!0},e.prototype.remove=function(e){or(this.children,e),this.isDirty=!0},e.prototype.forEach=function(e){this.isDirty&&this.children.sort(Zo._),this.isDirty=!1,this.children.forEach(e)},e}();var Xo=function(e){var t=e.treeType,n=void 0===t?"":t,o=e.build,i=e.getBaseTarget,a=e.makeTargetAnimatable,s=e.measureViewportBox,u=e.render,c=e.readValueFromInstance,l=e.resetTransform,d=e.restoreTransform,f=e.removeValueFromRenderState,h=e.sortNodePosition,p=e.scrapeMotionValuesFromProps;return function(e,t){var v=e.parent,m=e.props,g=e.presenceId,y=e.blockInitialAnimation,b=e.visualState;void 0===t&&(t={});var _,x,O,C,T,M,S=b.latestValues,P=b.renderState,j=function(){var e=qo.map((function(){return new ir})),t={},n={clearAllListeners:function(){return e.forEach((function(e){return e.clear()}))},updatePropListeners:function(e){return qo.forEach((function(r){var o;null===(o=t[r])||void 0===o||o.call(t);var i="on"+r,a=e[i];a&&(t[r]=n[i](a))}))}};return e.forEach((function(e,t){n["on"+qo[t]]=function(t){return e.add(t)},n["notify"+qo[t]]=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.notify.apply(e,(0,r.__spreadArray)([],(0,r.__read)(t)))}})),n}(),I={isEnabled:!1,isHydrated:!1,isTargetLocked:!1,target:(0,Br.VZ)(),targetFinal:(0,Br.VZ)()},A=I,R=S,D=Ho(),L=!1,N=new Map,B=new Map,z={},H=(0,r.__assign)({},S);function V(){_&&(Y.isProjectionReady()&&(ho(A.targetFinal,A.target,R),Xr(D.deltaFinal,D.layoutCorrected,A.targetFinal,S)),W(),u(_,P))}function W(){var e=S;if(C&&C.isActive()){var n=C.getCrossfadeState(Y);n&&(e=n)}o(Y,P,e,A,D,t,m)}function U(){j.notifyUpdate(S)}function G(){Y.layoutTree.forEach(Qo)}var q=p(m);for(var K in q){var Z=q[K];void 0!==S[K]&&F(Z)&&Z.set(S[K],!1)}var $=k(m),X=E(m),Y=(0,r.__assign)((0,r.__assign)({treeType:n,current:null,depth:v?v.depth+1:0,parent:v,children:new Set,path:v?(0,r.__spreadArray)((0,r.__spreadArray)([],(0,r.__read)(v.path)),[v]):[],layoutTree:v?v.layoutTree:new $o,presenceId:g,projection:I,variantChildren:X?new Set:void 0,isVisible:void 0,manuallyAnimateOnMount:Boolean(null===v||void 0===v?void 0:v.isMounted()),blockInitialAnimation:y,isMounted:function(){return Boolean(_)},mount:function(e){_=Y.current=e,Y.pointTo(Y),X&&v&&!$&&(M=null===v||void 0===v?void 0:v.addVariantChild(Y)),null===v||void 0===v||v.children.add(Y)},unmount:function(){xn.qY.update(U),xn.qY.render(V),xn.qY.preRender(Y.updateLayoutProjection),B.forEach((function(e){return e()})),Y.stopLayoutAnimation(),Y.layoutTree.remove(Y),null===M||void 0===M||M(),null===v||void 0===v||v.children.delete(Y),null===O||void 0===O||O(),j.clearAllListeners()},addVariantChild:function(e){var t,n=Y.getClosestVariantNode();if(n)return null===(t=n.variantChildren)||void 0===t||t.add(e),function(){return n.variantChildren.delete(e)}},sortNodePosition:function(e){return h&&n===e.treeType?h(Y.getInstance(),e.getInstance()):0},getClosestVariantNode:function(){return X?Y:null===v||void 0===v?void 0:v.getClosestVariantNode()},scheduleUpdateLayoutProjection:v?v.scheduleUpdateLayoutProjection:function(){return xn.ZP.preRender(Y.updateTreeLayoutProjection,!1,!0)},getLayoutId:function(){return m.layoutId},getInstance:function(){return _},getStaticValue:function(e){return S[e]},setStaticValue:function(e,t){return S[e]=t},getLatestValues:function(){return S},setVisibility:function(e){Y.isVisible!==e&&(Y.isVisible=e,Y.scheduleRender())},makeTargetAnimatable:function(e,t){return void 0===t&&(t=!0),a(Y,e,m,t)},addValue:function(e,t){Y.hasValue(e)&&Y.removeValue(e),N.set(e,t),S[e]=t.get(),function(e,t){var n=t.onChange((function(t){S[e]=t,m.onUpdate&&xn.ZP.update(U,!1,!0)})),r=t.onRenderRequest(Y.scheduleRender);B.set(e,(function(){n(),r()}))}(e,t)},removeValue:function(e){var t;N.delete(e),null===(t=B.get(e))||void 0===t||t(),B.delete(e),delete S[e],f(e,P)},hasValue:function(e){return N.has(e)},getValue:function(e,t){var n=N.get(e);return void 0===n&&void 0!==t&&(n=sr(t),Y.addValue(e,n)),n},forEachValue:function(e){return N.forEach(e)},readValue:function(e){var n;return null!==(n=S[e])&&void 0!==n?n:c(_,e,t)},setBaseTarget:function(e,t){H[e]=t},getBaseTarget:function(e){if(i){var t=i(m,e);if(void 0!==t&&!F(t))return t}return H[e]}},j),{build:function(){return W(),P},scheduleRender:function(){xn.ZP.render(V,!1,!0)},syncRender:V,setProps:function(e){m=e,j.updatePropListeners(e),z=function(e,t,n){var r;for(var o in t){var i=t[o],a=n[o];if(F(i))e.addValue(o,i);else if(F(a))e.addValue(o,sr(i));else if(a!==i)if(e.hasValue(o)){var s=e.getValue(o);!s.hasAnimated&&s.set(i)}else e.addValue(o,sr(null!==(r=e.getStaticValue(o))&&void 0!==r?r:i))}for(var o in n)void 0===t[o]&&e.removeValue(o);return t}(Y,p(m),z)},getProps:function(){return m},getVariant:function(e){var t;return null===(t=m.variants)||void 0===t?void 0:t[e]},getDefaultTransition:function(){return m.transition},getVariantContext:function(e){if(void 0===e&&(e=!1),e)return null===v||void 0===v?void 0:v.getVariantContext();if(!$){var t=(null===v||void 0===v?void 0:v.getVariantContext())||{};return void 0!==m.initial&&(t.initial=m.initial),t}for(var n={},r=0;r<ti;r++){var o=ei[r],i=m[o];(w(i)||!1===i)&&(n[o]=i)}return n},enableLayoutProjection:function(){I.isEnabled=!0,Y.layoutTree.add(Y)},lockProjectionTarget:function(){I.isTargetLocked=!0},unlockProjectionTarget:function(){Y.stopLayoutAnimation(),I.isTargetLocked=!1},getLayoutState:function(){return D},setCrossfader:function(e){C=e},isProjectionReady:function(){return I.isEnabled&&I.isHydrated&&D.isHydrated},startLayoutAnimation:function(e,t,n){void 0===n&&(n=!1);var r=Y.getProjectionAnimationProgress()[e],o=n?I.relativeTarget[e]:I.target[e],i=o.min,a=o.max-i;return r.clearListeners(),r.set(i),r.set(i),r.onChange((function(t){Y.setProjectionTargetAxis(e,t,t+a,n)})),Y.animateMotionValue(e,r,0,t)},stopLayoutAnimation:function(){zr((function(e){return Y.getProjectionAnimationProgress()[e].stop()}))},measureViewportBox:function(e){void 0===e&&(e=!0);var n=s(_,t);return e||mo(n,S),n},getProjectionAnimationProgress:function(){return T||(T={x:sr(0),y:sr(0)}),T},setProjectionTargetAxis:function(e,t,n,r){var o;void 0===r&&(r=!1),r?(I.relativeTarget||(I.relativeTarget=(0,Br.VZ)()),o=I.relativeTarget[e]):(I.relativeTarget=void 0,o=I.target[e]),I.isHydrated=!0,o.min=t,o.max=n,L=!0,j.notifySetAxisTarget()},rebaseProjectionTarget:function(e,t){void 0===t&&(t=D.layout);var n=Y.getProjectionAnimationProgress(),r=n.x,o=n.y,i=!I.relativeTarget&&!I.isTargetLocked&&!r.isAnimating()&&!o.isAnimating();(e||i)&&zr((function(e){var n=t[e],r=n.min,o=n.max;Y.setProjectionTargetAxis(e,r,o)}))},notifyLayoutReady:function(e){!function(e){var t=e.getProjectionParent();if(t){var n=to(t.getLayoutState().layout,e.getLayoutState().layout);zr((function(t){e.setProjectionTargetAxis(t,n[t].min,n[t].max,!0)}))}else e.rebaseProjectionTarget()}(Y),Y.notifyLayoutUpdate(D.layout,Y.prevViewportBox||D.layout,e)},resetTransform:function(){return l(Y,_,m)},restoreTransform:function(){return d(_,P)},updateLayoutProjection:function(){if(Y.isProjectionReady()){var e=D.delta,t=D.treeScale,n=t.x,r=t.y,o=D.deltaTransform;Ko(D,A,Y.path,S),L&&Y.notifyViewportBoxUpdate(A.target,e),L=!1;var i=Wo(e,t);i===o&&n===t.x&&r===t.y||Y.scheduleRender(),D.deltaTransform=i}},updateTreeLayoutProjection:function(){Y.layoutTree.forEach(Yo),xn.ZP.preRender(G,!1,!0)},getProjectionParent:function(){if(void 0===x){for(var e=!1,t=Y.path.length-1;t>=0;t--){var n=Y.path[t];if(n.projection.isEnabled){e=n;break}}x=e}return x},resolveRelativeTargetBox:function(){var e=Y.getProjectionParent();if(I.relativeTarget&&e&&(function(e,t){Qr(e.target.x,e.relativeTarget.x,t.target.x),Qr(e.target.y,e.relativeTarget.y,t.target.y)}(I,e.projection),ro(e))){var t=I.target;ho(t,t,e.getLatestValues())}},shouldResetTransform:function(){return Boolean(m._layoutResetTransform)},pointTo:function(e){A=e.projection,R=e.getLatestValues(),null===O||void 0===O||O(),O=dt(e.onSetAxisTarget(Y.scheduleUpdateLayoutProjection),e.onLayoutAnimationComplete((function(){var e;Y.isPresent?Y.presence=ko.z.Present:null===(e=Y.layoutSafeToRemove)||void 0===e||e.call(Y)})))},isPresent:!0,presence:ko.z.Entering});return Y}};function Yo(e){e.resolveRelativeTargetBox()}function Qo(e){e.updateLayoutProjection()}var Jo,ei=(0,r.__spreadArray)(["initial"],(0,r.__read)(wr)),ti=ei.length,ni=new Set(["width","height","top","left","right","bottom","x","y"]),ri=function(e){return ni.has(e)},oi=function(e,t){e.set(t,!1),e.set(t)},ii=function(e){return e===re||e===J};!function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"}(Jo||(Jo={}));var ai=function(e,t){return parseFloat(e.split(", ")[t])},si=function(e,t){return function(n,r){var o=r.transform;if("none"===o||!o)return 0;var i=o.match(/^matrix3d\((.+)\)$/);if(i)return ai(i[1],t);var a=o.match(/^matrix\((.+)\)$/);return a?ai(a[1],e):0}},ui=new Set(["x","y","z"]),ci=A.filter((function(e){return!ui.has(e)}));var li={width:function(e){var t=e.x;return t.max-t.min},height:function(e){var t=e.y;return t.max-t.min},top:function(e,t){var n=t.top;return parseFloat(n)},left:function(e,t){var n=t.left;return parseFloat(n)},bottom:function(e,t){var n=e.y,r=t.top;return parseFloat(r)+(n.max-n.min)},right:function(e,t){var n=e.x,r=t.left;return parseFloat(r)+(n.max-n.min)},x:si(4,13),y:si(5,14)},di=function(e,t,n,o){void 0===n&&(n={}),void 0===o&&(o={}),t=(0,r.__assign)({},t),o=(0,r.__assign)({},o);var i=Object.keys(t).filter(ri),a=[],s=!1,u=[];if(i.forEach((function(r){var i=e.getValue(r);if(e.hasValue(r)){var c,l=n[r],d=t[r],f=lr(l);if(Re(d))for(var h=d.length,p=null===d[0]?1:0;p<h;p++)c?lr(d[p]):(c=lr(d[p]))===f||ii(f)&&ii(c);else c=lr(d);if(f!==c)if(ii(f)&&ii(c)){var v=i.get();"string"===typeof v&&i.set(parseFloat(v)),"string"===typeof d?t[r]=parseFloat(d):Array.isArray(d)&&c===J&&(t[r]=d.map(parseFloat))}else(null===f||void 0===f?void 0:f.transform)&&(null===c||void 0===c?void 0:c.transform)&&(0===l||0===d)?0===l?i.set(c.transform(l)):t[r]=f.transform(d):(s||(a=function(e){var t=[];return ci.forEach((function(n){var r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))})),t.length&&e.syncRender(),t}(e),s=!0),u.push(r),o[r]=void 0!==o[r]?o[r]:t[r],oi(i,d))}})),u.length){var c=function(e,t,n){var r=t.measureViewportBox(),o=t.getInstance(),i=getComputedStyle(o),a=i.display,s={top:i.top,left:i.left,bottom:i.bottom,right:i.right,transform:i.transform};"none"===a&&t.setStaticValue("display",e.display||"block"),t.syncRender();var u=t.measureViewportBox();return n.forEach((function(n){var o=t.getValue(n);oi(o,li[n](r,s)),e[n]=li[n](u,i)})),e}(t,e,u);return a.length&&a.forEach((function(t){var n=(0,r.__read)(t,2),o=n[0],i=n[1];e.getValue(o).set(i)})),e.syncRender(),{target:c,transitionEnd:o}}return{target:t,transitionEnd:o}};function fi(e,t,n,r){return function(e){return Object.keys(e).some(ri)}(t)?di(e,t,n,r):{target:t,transitionEnd:r}}var hi=function(e,t,n,o){var i=function(e,t,n){var o,i=(0,r.__rest)(t,[]),a=e.getInstance();if(!(a instanceof HTMLElement))return{target:i,transitionEnd:n};for(var s in n&&(n=(0,r.__assign)({},n)),e.forEachValue((function(e){var t=e.get();if(Eo(t)){var n=Co(t,a);n&&e.set(n)}})),i){var u=i[s];if(Eo(u)){var c=Co(u,a);c&&(i[s]=c,n&&(null!==(o=n[s])&&void 0!==o||(n[s]=u)))}}return{target:i,transitionEnd:n}}(e,t,o);return fi(e,t=i.target,n,o=i.transitionEnd)};var pi={treeType:"dom",readValueFromInstance:function(e,t){if(L(t)){var n=Zn(t);return n&&n.default||0}var r,o=(r=e,window.getComputedStyle(r));return(V(t)?o.getPropertyValue(t):o[t])||0},sortNodePosition:function(e,t){return 2&e.compareDocumentPosition(t)?1:-1},getBaseTarget:function(e,t){var n;return null===(n=e.style)||void 0===n?void 0:n[t]},measureViewportBox:function(e,t){return Gr(e,t.transformPagePoint)},resetTransform:function(e,t,n){var r=n.transformTemplate;t.style.transform=r?r({},""):"none",e.scheduleRender()},restoreTransform:function(e,t){e.style.transform=t.style.transform},removeValueFromRenderState:function(e,t){var n=t.vars,r=t.style;delete n[e],delete r[e]},makeTargetAnimatable:function(e,t,n,o){var i=n.transformValues;void 0===o&&(o=!0);var a=t.transition,s=t.transitionEnd,u=(0,r.__rest)(t,["transition","transitionEnd"]),c=function(e,t,n){var r,o,i={};for(var a in e)i[a]=null!==(r=vr(a,t))&&void 0!==r?r:null===(o=n.getValue(a))||void 0===o?void 0:o.get();return i}(u,a||{},e);if(i&&(s&&(s=i(s)),u&&(u=i(u)),c&&(c=i(c))),o){!function(e,t,n){var r,o,i,a,s=Object.keys(t).filter((function(t){return!e.hasValue(t)})),u=s.length;if(u)for(var c=0;c<u;c++){var l=s[c],d=t[l],f=null;Array.isArray(d)&&(f=d[0]),null===f&&(f=null!==(o=null!==(r=n[l])&&void 0!==r?r:e.readValue(l))&&void 0!==o?o:t[l]),void 0!==f&&null!==f&&("string"===typeof f&&/^\-?\d*\.?\d+$/.test(f)?f=parseFloat(f):!fr(f)&&Gt.test(d)&&(f=$n(l,d)),e.addValue(l,sr(f)),null!==(i=(a=n)[l])&&void 0!==i||(a[l]=f),e.setBaseTarget(l,f))}}(e,u,c);var l=hi(e,u,c,s);s=l.transitionEnd,u=l.target}return(0,r.__assign)({transition:a,transitionEnd:s},u)},scrapeMotionValuesFromProps:Pe,build:function(e,t,n,r,o,i,a){void 0!==e.isVisible&&(t.style.visibility=e.isVisible?"visible":"hidden");var s=r.isEnabled&&o.isHydrated;ue(t,n,r,o,i,a.transformTemplate,s?Wo:void 0,s?Uo:void 0)},render:Te},vi=Xo(pi),mi=Xo((0,r.__assign)((0,r.__assign)({},pi),{getBaseTarget:function(e,t){return e[t]},readValueFromInstance:function(e,t){var n;return L(t)?(null===(n=Zn(t))||void 0===n?void 0:n.default)||0:(t=Me.has(t)?t:Ce(t),e.getAttribute(t))},scrapeMotionValuesFromProps:je,build:function(e,t,n,r,o,i,a){var s=r.isEnabled&&o.isHydrated;_e(t,n,r,o,i,a.transformTemplate,s?Wo:void 0,s?Uo:void 0)},render:Se})),gi=function(e,t){return P(e)?mi(t,{enableHardwareAcceleration:!1}):vi(t,{enableHardwareAcceleration:!0})},yi=(0,r.__assign)((0,r.__assign)((0,r.__assign)((0,r.__assign)({},Cr),ht),xo),Fo),bi=M((function(e,t){return function(e,t,n,o){var i=t.forwardMotionProps,a=void 0!==i&&i,s=P(e)?ze:He;return(0,r.__assign)((0,r.__assign)({},s),{preloadedFeatures:n,useRender:Ee(a),createVisualElement:o,Component:e})}(e,t,yi,gi)}))},58839:function(e,t,n){"use strict";n.d(t,{kv:function(){return s},e3:function(){return u},x7:function(){return l},de:function(){return c}});var r=n(9839),o=n(93327),i=n(519);function a(e){return e.projection.isEnabled||e.shouldResetTransform()}function s(e,t){void 0===t&&(t=[]);var n=e.parent;return n&&s(n,t),a(e)&&t.push(e),t}function u(e){var t=[],n=function(e){a(e)&&t.push(e),e.children.forEach(n)};return e.children.forEach(n),t.sort(i._)}function c(e){if(!e.shouldResetTransform()){var t=e.getLayoutState();e.notifyBeforeLayoutMeasure(t.layout),t.isHydrated=!0,t.layout=e.measureViewportBox(),t.layoutCorrected=(0,o.nP)(t.layout),e.notifyLayoutMeasure(t.layout,e.prevViewportBox||t.layout),r.ZP.update((function(){return e.rebaseProjectionTarget()}))}}function l(e){e.shouldResetTransform()||(e.prevViewportBox=e.measureViewportBox(!1),e.rebaseProjectionTarget(!1,e.prevViewportBox))}},27565:function(e,t,n){"use strict";n.d(t,{U:function(){return i},R:function(){return a}});var r=new Set;function o(e,t,n){e[n]||(e[n]=[]),e[n].push(t)}function i(e){return r.add(e),function(){return r.delete(e)}}function a(){if(r.size){var e=0,t=[[]],n=[],i=function(n){return o(t,n,e)},a=function(t){o(n,t,e),e++};r.forEach((function(t){t(i,a),e=0})),r.clear();for(var u=n.length,c=0;c<=u;c++)t[c]&&t[c].forEach(s),n[c]&&n[c].forEach(s)}}var s=function(e){return e()}},519:function(e,t,n){"use strict";n.d(t,{_:function(){return r}});var r=function(e,t){return e.depth-t.depth}},93327:function(e,t,n){"use strict";n.d(t,{VZ:function(){return u},_6:function(){return a},RX:function(){return i},nP:function(){return c},pY:function(){return d},dV:function(){return s}});var r=n(70655);function o(e){return e}function i(e){var t=e.top;return{x:{min:e.left,max:e.right},y:{min:t,max:e.bottom}}}function a(e){var t=e.x,n=e.y;return{top:n.min,bottom:n.max,left:t.min,right:t.max}}function s(e,t){var n=e.top,r=e.left,i=e.bottom,a=e.right;void 0===t&&(t=o);var s=t({x:r,y:n}),u=t({x:a,y:i});return{top:s.y,left:s.x,bottom:u.y,right:u.x}}function u(){return{x:{min:0,max:1},y:{min:0,max:1}}}function c(e){return{x:(0,r.__assign)({},e.x),y:(0,r.__assign)({},e.y)}}var l={translate:0,scale:1,origin:0,originPoint:0};function d(){return{x:(0,r.__assign)({},l),y:(0,r.__assign)({},l)}}},45930:function(e,t,n){"use strict";n.d(t,{h:function(){return o}});var r=n(67294);function o(e){var t=(0,r.useRef)(null);return null===t.current&&(t.current=e()),t.current}},6717:function(e,t,n){"use strict";n.d(t,{z:function(){return o}});var r=n(67294);function o(e){return(0,r.useEffect)((function(){return function(){return e()}}),[])}},9839:function(e,t,n){"use strict";n.d(t,{qY:function(){return h},ZP:function(){return b},iW:function(){return p},$B:function(){return y}});var r=1/60*1e3,o="undefined"!==typeof performance?function(){return performance.now()}:function(){return Date.now()},i="undefined"!==typeof window?function(e){return window.requestAnimationFrame(e)}:function(e){return setTimeout((function(){return e(o())}),r)};var a=!0,s=!1,u=!1,c={delta:0,timestamp:0},l=["read","update","preRender","render","postRender"],d=l.reduce((function(e,t){return e[t]=function(e){var t=[],n=[],r=0,o=!1,i=new WeakSet,a={schedule:function(e,a,s){void 0===a&&(a=!1),void 0===s&&(s=!1);var u=s&&o,c=u?t:n;return a&&i.add(e),-1===c.indexOf(e)&&(c.push(e),u&&o&&(r=t.length)),e},cancel:function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1),i.delete(e)},process:function(s){var u;if(o=!0,t=(u=[n,t])[0],(n=u[1]).length=0,r=t.length)for(var c=0;c<r;c++){var l=t[c];l(s),i.has(l)&&(a.schedule(l),e())}o=!1}};return a}((function(){return s=!0})),e}),{}),f=l.reduce((function(e,t){var n=d[t];return e[t]=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),s||g(),n.schedule(e,t,r)},e}),{}),h=l.reduce((function(e,t){return e[t]=d[t].cancel,e}),{}),p=l.reduce((function(e,t){return e[t]=function(){return d[t].process(c)},e}),{}),v=function(e){return d[e].process(c)},m=function(e){s=!1,c.delta=a?r:Math.max(Math.min(e-c.timestamp,40),1),c.timestamp=e,u=!0,l.forEach(v),u=!1,s&&(a=!1,i(m))},g=function(){s=!0,a=!0,u||i(m)},y=function(){return c},b=f},84839:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=1/60*1e3,r="undefined"!==typeof performance?function(){return performance.now()}:function(){return Date.now()},o="undefined"!==typeof window?function(e){return window.requestAnimationFrame(e)}:function(e){return setTimeout((function(){return e(r())}),n)};var i=!0,a=!1,s=!1,u={delta:0,timestamp:0},c=["read","update","preRender","render","postRender"],l=c.reduce((function(e,t){return e[t]=function(e){var t=[],n=[],r=0,o=!1,i=new WeakSet,a={schedule:function(e,a,s){void 0===a&&(a=!1),void 0===s&&(s=!1);var u=s&&o,c=u?t:n;return a&&i.add(e),-1===c.indexOf(e)&&(c.push(e),u&&o&&(r=t.length)),e},cancel:function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1),i.delete(e)},process:function(s){var u;if(o=!0,t=(u=[n,t])[0],(n=u[1]).length=0,r=t.length)for(var c=0;c<r;c++){var l=t[c];l(s),i.has(l)&&(a.schedule(l),e())}o=!1}};return a}((function(){return a=!0})),e}),{}),d=c.reduce((function(e,t){var n=l[t];return e[t]=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),a||m(),n.schedule(e,t,r)},e}),{}),f=c.reduce((function(e,t){return e[t]=l[t].cancel,e}),{}),h=c.reduce((function(e,t){return e[t]=function(){return l[t].process(u)},e}),{}),p=function(e){return l[e].process(u)},v=function(e){a=!1,u.delta=i?n:Math.max(Math.min(e-u.timestamp,40),1),u.timestamp=e,s=!0,c.forEach(p),s=!1,a&&(i=!1,o(v))},m=function(){a=!0,i=!0,s||o(v)};t.cancelSync=f,t.default=d,t.flushSync=h,t.getFrameData=function(){return u}},23405:function(e){e.exports=function(e){return[...e].reduce(((e,[t,n])=>(e[t]=n,e)),{})}},1527:function(e,t){"use strict";function n(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||i(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){if(e){if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e){var t=function(e,t){if("object"!==typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===typeof t?t:String(t)}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],u=(t instanceof Array?t.length?t:[void 0]:[t]).map((function(e){return{keyAccessor:e,isProp:!(e instanceof Function)}})),c=e.reduce((function(e,t){var r=e,o=t;return u.forEach((function(e,t){var a,c=e.keyAccessor;if(e.isProp){var l=o,d=l[c],f=n(l,[c].map(s));a=d,o=f}else a=c(o,t);t+1<u.length?(r.hasOwnProperty(a)||(r[a]={}),r=r[a]):i?(r.hasOwnProperty(a)||(r[a]=[]),r[a].push(o)):r[a]=o})),e}),{});i instanceof Function&&function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;n===u.length?Object.keys(t).forEach((function(e){return t[e]=i(t[e])})):Object.values(t).forEach((function(t){return e(t,n+1)}))}(c);var l=c;return a&&(l=[],function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];n.length===u.length?l.push({keys:n,vals:t}):Object.entries(t).forEach((function(t){var i=r(t,2),a=i[0],s=i[1];return e(s,[].concat(o(n),[a]))}))}(c),t instanceof Array&&0===t.length&&1===l.length&&(l[0].keys=[])),l}},36808:function(e,t,n){var r,o;!function(i){if(void 0===(o="function"===typeof(r=i)?r.call(t,n,t,e):r)||(e.exports=o),!0,e.exports=i(),!!0){var a=window.Cookies,s=window.Cookies=i();s.noConflict=function(){return window.Cookies=a,s}}}((function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function o(){}function i(t,n,i){if("undefined"!==typeof document){"number"===typeof(i=e({path:"/"},o.defaults,i)).expires&&(i.expires=new Date(1*new Date+864e5*i.expires)),i.expires=i.expires?i.expires.toUTCString():"";try{var a=JSON.stringify(n);/^[\{\[]/.test(a)&&(n=a)}catch(c){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var s="";for(var u in i)i[u]&&(s+="; "+u,!0!==i[u]&&(s+="="+i[u].split(";")[0]));return document.cookie=t+"="+n+s}}function a(e,n){if("undefined"!==typeof document){for(var o={},i=document.cookie?document.cookie.split("; "):[],a=0;a<i.length;a++){var s=i[a].split("="),u=s.slice(1).join("=");n||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var c=t(s[0]);if(u=(r.read||r)(u,c)||t(u),n)try{u=JSON.parse(u)}catch(l){}if(o[c]=u,e===c)break}catch(l){}}return e?o[e]:o}}return o.set=i,o.get=function(e){return a(e,!1)},o.getJSON=function(e){return a(e,!0)},o.remove=function(t,n){i(t,"",e(n,{expires:-1}))},o.defaults={},o.withConverter=n,o}((function(){}))}))},44858:function(e,t,n){"use strict";var r=n(20296),o=n.n(r);function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var s=function e(t,n){var r=n.default,o=void 0===r?null:r,i=n.triggerUpdate,a=void 0===i||i,s=n.onChange,u=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=o,this.triggerUpdate=a,this.onChange=u};t.Z=function(e){var t=e.stateInit,n=void 0===t?function(){return{}}:t,r=e.props,a=void 0===r?{}:r,u=e.methods,c=void 0===u?{}:u,l=e.aliases,d=void 0===l?{}:l,f=e.init,h=void 0===f?function(){}:f,p=e.update,v=void 0===p?function(){}:p,m=Object.keys(a).map((function(e){return new s(e,a[e])}));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},n instanceof Function?n(e):n,{initialised:!1}),r={};function a(t){return s(t,e),u(),a}var s=function(e,n){h.call(a,e,t,n),t.initialised=!0},u=o()((function(){t.initialised&&(v.call(a,t,r),r={})}),1);return m.forEach((function(e){a[e.name]=function(e){var n=e.name,o=e.triggerUpdate,i=void 0!==o&&o,s=e.onChange,c=void 0===s?function(e,t){}:s,l=e.defaultVal,d=void 0===l?null:l;return function(e){var o=t[n];if(!arguments.length)return o;var s=void 0===e?d:e;return t[n]=s,c.call(a,s,t,o),!r.hasOwnProperty(n)&&(r[n]=o),i&&u(),a}}(e)})),Object.keys(c).forEach((function(e){a[e]=function(){for(var n,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=c[e]).call.apply(n,[a,t].concat(o))}})),Object.entries(d).forEach((function(e){var t=i(e,2),n=t[0],r=t[1];return a[n]=a[r]})),a.resetProps=function(){return m.forEach((function(e){a[e.name](e.defaultVal)})),a},a.resetProps(),t._rerender=u,a}}},93096:function(e,t,n){var r="Expected a function",o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l="object"==typeof self&&self&&self.Object===Object&&self,d=c||l||Function("return this")(),f=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return d.Date.now()};function m(e,t,n){var o,i,a,s,u,c,l=0,d=!1,f=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function b(t){var n=o,r=i;return o=i=void 0,l=t,s=e.apply(r,n)}function w(e){return l=e,u=setTimeout(x,t),d?b(e):s}function _(e){var n=e-c;return void 0===c||n>=t||n<0||f&&e-l>=a}function x(){var e=v();if(_(e))return k(e);u=setTimeout(x,function(e){var n=t-(e-c);return f?p(n,a-(e-l)):n}(e))}function k(e){return u=void 0,m&&o?b(e):(o=i=void 0,s)}function E(){var e=v(),n=_(e);if(o=arguments,i=this,c=e,n){if(void 0===u)return w(c);if(f)return u=setTimeout(x,t),b(c)}return void 0===u&&(u=setTimeout(x,t)),s}return t=y(t)||0,g(n)&&(d=!!n.leading,a=(f="maxWait"in n)?h(y(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),E.cancel=function(){void 0!==u&&clearTimeout(u),l=0,o=c=i=u=void 0},E.flush=function(){return void 0===u?s:k(v())},E}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=a.test(e);return n||s.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),m(e,t,{leading:o,maxWait:t,trailing:i})}},90233:function(e,t,n){"use strict";n.r(t),n.d(t,{rankings:function(){return a}});var r=n(22122),o=n(76826),i=n.n(o),a={CASE_SENSITIVE_EQUAL:9,EQUAL:8,STARTS_WITH:7,WORD_STARTS_WITH:6,STRING_CASE:5,STRING_CASE_ACRONYM:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},s={CAMEL:.8,PASCAL:.6,KEBAB:.4,SNAKE:.2,NO_CASE:0};c.rankings=a,c.caseRankings=s;var u=function(e,t){return String(e.rankedItem).localeCompare(t.rankedItem)};function c(e,t,n){void 0===n&&(n={});var r=n,o=r.keys,i=r.threshold,s=void 0===i?a.MATCHES:i,c=r.baseSort,d=void 0===c?u:c;return e.reduce((function(e,r,i){var u=function(e,t,n,r){if(!t)return{rankedItem:e,rank:l(e,n,r),keyIndex:-1,keyThreshold:r.threshold};return function(e,t){return t.reduce((function(t,n){var r=function(e,t){"object"===typeof t&&(t=t.key);var n;n="function"===typeof t?t(e):-1!==t.indexOf(".")?t.split(".").reduce((function(e,t){return e?e[t]:null}),e):e[t];return null!=n?[].concat(n):null}(e,n);return r&&r.forEach((function(e){t.push({itemValue:e,attributes:f(n)})})),t}),[])}(e,t).reduce((function(e,t,o){var i=e.rank,s=e.rankedItem,u=e.keyIndex,c=e.keyThreshold,d=t.itemValue,f=t.attributes,h=l(d,n,r),p=s,v=f.minRanking,m=f.maxRanking,g=f.threshold;return h<v&&h>=a.MATCHES?h=v:h>m&&(h=m),h>i&&(i=h,u=o,c=g,p=d),{rankedItem:p,rank:i,keyIndex:u,keyThreshold:c}}),{rank:a.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}(r,o,t,n),c=u.rankedItem,d=u.rank,h=u.keyIndex,p=u.keyThreshold;d>=(void 0===p?s:p)&&e.push({rankedItem:c,item:r,rank:d,index:i,keyIndex:h});return e}),[]).sort((function(e,t){return function(e,t,n){var r=-1,o=1,i=e.rank,a=e.keyIndex,s=t.rank,u=t.keyIndex;return i===s?a===u?n(e,t):a<u?r:o:i>s?r:o}(e,t,d)})).map((function(e){return e.item}))}function l(e,t,n){if(e=d(e,n),(t=d(t,n)).length>e.length)return a.NO_MATCH;if(e===t)return a.CASE_SENSITIVE_EQUAL;var r=function(e){var t=e.toLowerCase()!==e,n=e.indexOf("-")>=0,r=e.indexOf("_")>=0;if(!t&&!r&&n)return s.KEBAB;if(!t&&r&&!n)return s.SNAKE;if(t&&!n&&!r){return e[0].toUpperCase()===e[0]?s.PASCAL:s.CAMEL}return s.NO_CASE}(e),o=function(e,t,n){var r=e.toLowerCase().indexOf(t.toLowerCase());switch(n){case s.SNAKE:return"_"===e[r-1];case s.KEBAB:return"-"===e[r-1];case s.PASCAL:case s.CAMEL:return-1!==r&&e[r]===e[r].toUpperCase();default:return!1}}(e,t,r),i=function(e,t,n){var r=null;switch(n){case s.SNAKE:r="_";break;case s.KEBAB:r="-";break;case s.PASCAL:case s.CAMEL:r=/(?=[A-Z])/;break;default:r=null}var o=e.split(r);return t.toLowerCase().split("").reduce((function(e,t,n){var r=o[n];return e&&r&&r[0].toLowerCase()===t}),!0)}(e,t,r);return(e=e.toLowerCase())===(t=t.toLowerCase())?a.EQUAL+r:0===e.indexOf(t)?a.STARTS_WITH+r:-1!==e.indexOf(" "+t)?a.WORD_STARTS_WITH+r:o?a.STRING_CASE+r:r>0&&i?a.STRING_CASE_ACRONYM+r:-1!==e.indexOf(t)?a.CONTAINS+r:1===t.length?a.NO_MATCH:-1!==function(e){var t="";return e.split(" ").forEach((function(e){e.split("-").forEach((function(e){t+=e.substr(0,1)}))})),t}(e).indexOf(t)?a.ACRONYM+r:function(e,t){var n=0,r=0;function o(e,t,r){for(var o=r;o<t.length;o++){if(t[o]===e)return n+=1,o+1}return-1}function i(e){var r=n/t.length;return a.MATCHES+r*(1/e)}var s=o(t[0],e,0);if(s<0)return a.NO_MATCH;r=s;for(var u=1;u<t.length;u++){if(!((r=o(t[u],e,r))>-1))return a.NO_MATCH}return i(r-s)}(e,t)}function d(e,t){return e=""+e,t.keepDiacritics||(e=i()(e)),e}function f(e){return"string"===typeof e&&(e={key:e}),(0,r.Z)({maxRanking:1/0,minRanking:-1/0},e)}t.default=c},3752:function(e,t,n){"use strict";function r(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){var n;if(void 0===t){var o,i=r(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;null!=a&&(n<a||void 0===n&&a>=a)&&(n=a)}}catch(d){i.e(d)}finally{i.f()}}else{var s,u=-1,c=r(e);try{for(c.s();!(s=c.n()).done;){var l=s.value;null!=(l=t(l,++u,e))&&(n<l||void 0===n&&l>=l)&&(n=l)}}catch(d){c.e(d)}finally{c.f()}}return n}n.d(t,{Z:function(){return i}})},86701:function(e,t,n){"use strict";function r(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){var n;if(void 0===t){var o,i=r(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;null!=a&&(n>a||void 0===n&&a>=a)&&(n=a)}}catch(d){i.e(d)}finally{i.f()}}else{var s,u=-1,c=r(e);try{for(c.s();!(s=c.n()).done;){var l=s.value;null!=(l=t(l,++u,e))&&(n>l||void 0===n&&l>=l)&&(n=l)}}catch(d){c.e(d)}finally{c.f()}}return n}n.d(t,{Z:function(){return i}})},14275:function(e,t,n){"use strict";function r(e,t,n){if(isNaN(t))return e;var r,o,i,a,s,u,c=e._root,l={data:n},d=e._x0,f=e._x1;if(!c)return e._root=l,e;for(;c.length;)if((a=t>=(o=(d+f)/2))?d=o:f=o,r=c,!(c=c[s=+a]))return r[s]=l,e;if(t===(i=+e._x.call(null,c.data)))return l.next=c,r?r[s]=l:e._root=l,e;do{r=r?r[s]=new Array(2):e._root=new Array(2),(a=t>=(o=(d+f)/2))?d=o:f=o}while((s=+a)===(u=+(i>=o)));return r[u]=c,r[s]=l,e}function o(e,t,n){this.node=e,this.x0=t,this.x1=n}function i(e){return e[0]}function a(e,t){var n=new s(null==t?i:t,NaN,NaN);return null==e?n:n.addAll(e)}function s(e,t,n){this._x=e,this._x0=t,this._x1=n,this._root=void 0}function u(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return a}});var c=a.prototype=s.prototype;c.copy=function(){var e,t,n=new s(this._x,this._x0,this._x1),r=this._root;if(!r)return n;if(!r.length)return n._root=u(r),n;for(e=[{source:r,target:n._root=new Array(2)}];r=e.pop();)for(var o=0;o<2;++o)(t=r.source[o])&&(t.length?e.push({source:t,target:r.target[o]=new Array(2)}):r.target[o]=u(t));return n},c.add=function(e){var t=+this._x.call(null,e);return r(this.cover(t),t,e)},c.addAll=function(e){var t,n,o=e.length,i=new Array(o),a=1/0,s=-1/0;for(t=0;t<o;++t)isNaN(n=+this._x.call(null,e[t]))||(i[t]=n,n<a&&(a=n),n>s&&(s=n));if(a>s)return this;for(this.cover(a).cover(s),t=0;t<o;++t)r(this,i[t],e[t]);return this},c.cover=function(e){if(isNaN(e=+e))return this;var t=this._x0,n=this._x1;if(isNaN(t))n=(t=Math.floor(e))+1;else{for(var r,o,i=n-t||1,a=this._root;t>e||e>=n;)switch(o=+(e<t),(r=new Array(2))[o]=a,a=r,i*=2,o){case 0:n=t+i;break;case 1:t=n-i}this._root&&this._root.length&&(this._root=a)}return this._x0=t,this._x1=n,this},c.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},c.extent=function(e){return arguments.length?this.cover(+e[0][0]).cover(+e[1][0]):isNaN(this._x0)?void 0:[[this._x0],[this._x1]]},c.find=function(e,t){var n,r,i,a,s,u=this._x0,c=this._x1,l=[],d=this._root;for(d&&l.push(new o(d,u,c)),null==t?t=1/0:(u=e-t,c=e+t);a=l.pop();)if(!(!(d=a.node)||(r=a.x0)>c||(i=a.x1)<u))if(d.length){var f=(r+i)/2;l.push(new o(d[1],f,i),new o(d[0],r,f)),(s=+(e>=f))&&(a=l[l.length-1],l[l.length-1]=l[l.length-1-s],l[l.length-1-s]=a)}else{var h=Math.abs(e-+this._x.call(null,d.data));h<t&&(t=h,u=e-h,c=e+h,n=d.data)}return n},c.remove=function(e){if(isNaN(i=+this._x.call(null,e)))return this;var t,n,r,o,i,a,s,u,c,l=this._root,d=this._x0,f=this._x1;if(!l)return this;if(l.length)for(;;){if((s=i>=(a=(d+f)/2))?d=a:f=a,t=l,!(l=l[u=+s]))return this;if(!l.length)break;t[u+1&1]&&(n=t,c=u)}for(;l.data!==e;)if(r=l,!(l=l.next))return this;return(o=l.next)&&delete l.next,r?(o?r.next=o:delete r.next,this):t?(o?t[u]=o:delete t[u],(l=t[0]||t[1])&&l===(t[1]||t[0])&&!l.length&&(n?n[c]=l:this._root=l),this):(this._root=o,this)},c.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},c.root=function(){return this._root},c.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},c.visit=function(e){var t,n,r,i,a=[],s=this._root;for(s&&a.push(new o(s,this._x0,this._x1));t=a.pop();)if(!e(s=t.node,r=t.x0,i=t.x1)&&s.length){var u=(r+i)/2;(n=s[1])&&a.push(new o(n,u,i)),(n=s[0])&&a.push(new o(n,r,u))}return this},c.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new o(this._root,this._x0,this._x1));t=n.pop();){var i=t.node;if(i.length){var a,s=t.x0,u=t.x1,c=(s+u)/2;(a=i[0])&&n.push(new o(a,s,c)),(a=i[1])&&n.push(new o(a,c,u))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.x1);return this},c.x=function(e){return arguments.length?(this._x=e,this):this._x}},77137:function(e,t){"use strict";var n={value:function(){}};function r(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw new Error("illegal type: "+e);r[e]=[]}return new o(r)}function o(e){this._=e}function i(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",r=e.indexOf(".");if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function a(e,t){for(var n,r=0,o=e.length;r<o;++r)if((n=e[r]).name===t)return n.value}function s(e,t,r){for(var o=0,i=e.length;o<i;++o)if(e[o].name===t){e[o]=n,e=e.slice(0,o).concat(e.slice(o+1));break}return null!=r&&e.push({name:t,value:r}),e}o.prototype=r.prototype={constructor:o,on:function(e,t){var n,r=this._,o=i(e+"",r),u=-1,c=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!==typeof t)throw new Error("invalid callback: "+t);for(;++u<c;)if(n=(e=o[u]).type)r[n]=s(r[n],e.name,t);else if(null==t)for(n in r)r[n]=s(r[n],e.name,null);return this}for(;++u<c;)if((n=(e=o[u]).type)&&(n=a(r[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new o(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,o=new Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,n=(r=this._[e]).length;i<n;++i)r[i].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}},t.Z=r},20216:function(e,t,n){"use strict";function r(e,t,n){var r,o=1;function i(){var i,a,s=r.length,u=0,c=0,l=0;for(i=0;i<s;++i)u+=(a=r[i]).x||0,c+=a.y||0,l+=a.z||0;for(u=(u/s-e)*o,c=(c/s-t)*o,l=(l/s-n)*o,i=0;i<s;++i)a=r[i],u&&(a.x-=u),c&&(a.y-=c),l&&(a.z-=l)}return null==e&&(e=0),null==t&&(t=0),null==n&&(n=0),i.initialize=function(e){r=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.z=function(e){return arguments.length?(n=+e,i):n},i.strength=function(e){return arguments.length?(o=+e,i):o},i}n.d(t,{Z:function(){return r}})},29437:function(e,t,n){"use strict";function r(e){return function(){return e}}n.d(t,{Z:function(){return r}})},8246:function(e,t,n){"use strict";function r(e){return 1e-6*(e()-.5)}n.d(t,{Z:function(){return r}})},15560:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(29437),o=n(8246);function i(e){return e.index}function a(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}function s(e){var t,n,s,u,c,l,d,f=i,h=function(e){return 1/Math.min(c[e.source.index],c[e.target.index])},p=(0,r.Z)(30),v=1;function m(r){for(var i=0,a=e.length;i<v;++i)for(var s,c,f,h,p,m=0,g=0,y=0,b=0;m<a;++m)c=(s=e[m]).source,g=(f=s.target).x+f.vx-c.x-c.vx||(0,o.Z)(d),u>1&&(y=f.y+f.vy-c.y-c.vy||(0,o.Z)(d)),u>2&&(b=f.z+f.vz-c.z-c.vz||(0,o.Z)(d)),g*=h=((h=Math.sqrt(g*g+y*y+b*b))-n[m])/h*r*t[m],y*=h,b*=h,f.vx-=g*(p=l[m]),u>1&&(f.vy-=y*p),u>2&&(f.vz-=b*p),c.vx+=g*(p=1-p),u>1&&(c.vy+=y*p),u>2&&(c.vz+=b*p)}function g(){if(s){var r,o,i=s.length,u=e.length,d=new Map(s.map((function(e,t){return[f(e,t,s),e]})));for(r=0,c=new Array(i);r<u;++r)(o=e[r]).index=r,"object"!==typeof o.source&&(o.source=a(d,o.source)),"object"!==typeof o.target&&(o.target=a(d,o.target)),c[o.source.index]=(c[o.source.index]||0)+1,c[o.target.index]=(c[o.target.index]||0)+1;for(r=0,l=new Array(u);r<u;++r)o=e[r],l[r]=c[o.source.index]/(c[o.source.index]+c[o.target.index]);t=new Array(u),y(),n=new Array(u),b()}}function y(){if(s)for(var n=0,r=e.length;n<r;++n)t[n]=+h(e[n],n,e)}function b(){if(s)for(var t=0,r=e.length;t<r;++t)n[t]=+p(e[t],t,e)}return null==e&&(e=[]),m.initialize=function(e){s=e;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];d=n.find((function(e){return"function"===typeof e}))||Math.random,u=n.find((function(e){return[1,2,3].includes(e)}))||2,g()},m.links=function(t){return arguments.length?(e=t,g(),m):e},m.id=function(e){return arguments.length?(f=e,m):f},m.iterations=function(e){return arguments.length?(v=+e,m):v},m.strength=function(e){return arguments.length?(h="function"===typeof e?e:(0,r.Z)(+e),y(),m):h},m.distance=function(e){return arguments.length?(p="function"===typeof e?e:(0,r.Z)(+e),b(),m):p},m}},92405:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(14275),o=n(60054),i=n(78357),a=n(29437),s=n(8246),u=n(54505);function c(){var e,t,n,c,l,d,f=(0,a.Z)(-30),h=1,p=1/0,v=.81;function m(a){var s,c=e.length,d=(1===t?(0,r.Z)(e,u.x):2===t?(0,o.Z)(e,u.x,u.y):3===t?(0,i.Z)(e,u.x,u.y,u.z):null).visitAfter(y);for(l=a,s=0;s<c;++s)n=e[s],d.visit(b)}function g(){if(e){var t,n,r=e.length;for(d=new Array(r),t=0;t<r;++t)n=e[t],d[n.index]=+f(n,t,e)}}function y(e){var n,r,o,i,a,s,u=0,c=0,l=e.length;if(l){for(o=i=a=s=0;s<l;++s)(n=e[s])&&(r=Math.abs(n.value))&&(u+=n.value,c+=r,o+=r*(n.x||0),i+=r*(n.y||0),a+=r*(n.z||0));u*=Math.sqrt(4/l),e.x=o/c,t>1&&(e.y=i/c),t>2&&(e.z=a/c)}else{(n=e).x=n.data.x,t>1&&(n.y=n.data.y),t>2&&(n.z=n.data.z);do{u+=d[n.data.index]}while(n=n.next)}e.value=u}function b(e,r,o,i,a){if(!e.value)return!0;var u=[o,i,a][t-1],f=e.x-n.x,m=t>1?e.y-n.y:0,g=t>2?e.z-n.z:0,y=u-r,b=f*f+m*m+g*g;if(y*y/v<b)return b<p&&(0===f&&(b+=(f=(0,s.Z)(c))*f),t>1&&0===m&&(b+=(m=(0,s.Z)(c))*m),t>2&&0===g&&(b+=(g=(0,s.Z)(c))*g),b<h&&(b=Math.sqrt(h*b)),n.vx+=f*e.value*l/b,t>1&&(n.vy+=m*e.value*l/b),t>2&&(n.vz+=g*e.value*l/b)),!0;if(!(e.length||b>=p)){(e.data!==n||e.next)&&(0===f&&(b+=(f=(0,s.Z)(c))*f),t>1&&0===m&&(b+=(m=(0,s.Z)(c))*m),t>2&&0===g&&(b+=(g=(0,s.Z)(c))*g),b<h&&(b=Math.sqrt(h*b)));do{e.data!==n&&(y=d[e.data.index]*l/b,n.vx+=f*y,t>1&&(n.vy+=m*y),t>2&&(n.vz+=g*y))}while(e=e.next)}}return m.initialize=function(n){e=n;for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];c=o.find((function(e){return"function"===typeof e}))||Math.random,t=o.find((function(e){return[1,2,3].includes(e)}))||2,g()},m.strength=function(e){return arguments.length?(f="function"===typeof e?e:(0,a.Z)(+e),g(),m):f},m.distanceMin=function(e){return arguments.length?(h=e*e,m):Math.sqrt(h)},m.distanceMax=function(e){return arguments.length?(p=e*e,m):Math.sqrt(p)},m.theta=function(e){return arguments.length?(v=e*e,m):Math.sqrt(v)},m}},16917:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(29437);function o(e,t,n,o){var i,a,s,u,c=(0,r.Z)(.1);function l(e){for(var r=0,c=i.length;r<c;++r){var l=i[r],d=l.x-t||1e-6,f=(l.y||0)-n||1e-6,h=(l.z||0)-o||1e-6,p=Math.sqrt(d*d+f*f+h*h),v=(u[r]-p)*s[r]*e/p;l.vx+=d*v,a>1&&(l.vy+=f*v),a>2&&(l.vz+=h*v)}}function d(){if(i){var t,n=i.length;for(s=new Array(n),u=new Array(n),t=0;t<n;++t)u[t]=+e(i[t],t,i),s[t]=isNaN(u[t])?0:+c(i[t],t,i)}}return"function"!==typeof e&&(e=(0,r.Z)(+e)),null==t&&(t=0),null==n&&(n=0),null==o&&(o=0),l.initialize=function(e){i=e;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];a=n.find((function(e){return[1,2,3].includes(e)}))||2,d()},l.strength=function(e){return arguments.length?(c="function"===typeof e?e:(0,r.Z)(+e),d(),l):c},l.radius=function(t){return arguments.length?(e="function"===typeof t?t:(0,r.Z)(+t),d(),l):e},l.x=function(e){return arguments.length?(t=+e,l):t},l.y=function(e){return arguments.length?(n=+e,l):n},l.z=function(e){return arguments.length?(o=+e,l):o},l}},54505:function(e,t,n){"use strict";n.d(t,{Z:function(){return d},x:function(){return a},y:function(){return s},z:function(){return u}});var r=n(77137),o=n(513),i=4294967296;function a(e){return e.x}function s(e){return e.y}function u(e){return e.z}var c=Math.PI*(3-Math.sqrt(5)),l=20*Math.PI/(9+Math.sqrt(221));function d(e,t){t=t||2;var n,a=Math.min(3,Math.max(1,Math.round(t))),s=1,u=.001,d=1-Math.pow(u,1/300),f=0,h=.6,p=new Map,v=(0,o.HT)(y),m=(0,r.Z)("tick","end"),g=function(){var e=1;return function(){return(e=(1664525*e+1013904223)%i)/i}}();function y(){b(),m.call("tick",n),s<u&&(v.stop(),m.call("end",n))}function b(t){var r,o,i=e.length;void 0===t&&(t=1);for(var u=0;u<t;++u)for(s+=(f-s)*d,p.forEach((function(e){e(s)})),r=0;r<i;++r)null==(o=e[r]).fx?o.x+=o.vx*=h:(o.x=o.fx,o.vx=0),a>1&&(null==o.fy?o.y+=o.vy*=h:(o.y=o.fy,o.vy=0)),a>2&&(null==o.fz?o.z+=o.vz*=h:(o.z=o.fz,o.vz=0));return n}function w(){for(var t,n=0,r=e.length;n<r;++n){if((t=e[n]).index=n,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),null!=t.fz&&(t.z=t.fz),isNaN(t.x)||a>1&&isNaN(t.y)||a>2&&isNaN(t.z)){var o=10*(a>2?Math.cbrt(.5+n):a>1?Math.sqrt(.5+n):n),i=n*c,s=n*l;1===a?t.x=o:2===a?(t.x=o*Math.cos(i),t.y=o*Math.sin(i)):(t.x=o*Math.sin(i)*Math.cos(s),t.y=o*Math.cos(i),t.z=o*Math.sin(i)*Math.sin(s))}(isNaN(t.vx)||a>1&&isNaN(t.vy)||a>2&&isNaN(t.vz))&&(t.vx=0,a>1&&(t.vy=0),a>2&&(t.vz=0))}}function _(t){return t.initialize&&t.initialize(e,g,a),t}return null==e&&(e=[]),w(),n={tick:b,restart:function(){return v.restart(y),n},stop:function(){return v.stop(),n},numDimensions:function(e){return arguments.length?(a=Math.min(3,Math.max(1,Math.round(e))),p.forEach(_),n):a},nodes:function(t){return arguments.length?(e=t,w(),p.forEach(_),n):e},alpha:function(e){return arguments.length?(s=+e,n):s},alphaMin:function(e){return arguments.length?(u=+e,n):u},alphaDecay:function(e){return arguments.length?(d=+e,n):+d},alphaTarget:function(e){return arguments.length?(f=+e,n):f},velocityDecay:function(e){return arguments.length?(h=1-e,n):1-h},randomSource:function(e){return arguments.length?(g=e,p.forEach(_),n):g},force:function(e,t){return arguments.length>1?(null==t?p.delete(e):p.set(e,_(t)),n):p.get(e)},find:function(){var t,n,r,o,i,s,u=Array.prototype.slice.call(arguments),c=u.shift()||0,l=(a>1?u.shift():null)||0,d=(a>2?u.shift():null)||0,f=u.shift()||1/0,h=0,p=e.length;for(f*=f,h=0;h<p;++h)(o=(t=c-(i=e[h]).x)*t+(n=l-(i.y||0))*n+(r=d-(i.z||0))*r)<f&&(s=i,f=o);return s},on:function(e,t){return arguments.length>1?(m.on(e,t),n):m.on(e)}}}},78357:function(e,t,n){"use strict";function r(e,t,n,r,o){if(isNaN(t)||isNaN(n)||isNaN(r))return e;var i,a,s,u,c,l,d,f,h,p,v,m,g=e._root,y={data:o},b=e._x0,w=e._y0,_=e._z0,x=e._x1,k=e._y1,E=e._z1;if(!g)return e._root=y,e;for(;g.length;)if((f=t>=(a=(b+x)/2))?b=a:x=a,(h=n>=(s=(w+k)/2))?w=s:k=s,(p=r>=(u=(_+E)/2))?_=u:E=u,i=g,!(g=g[v=p<<2|h<<1|f]))return i[v]=y,e;if(c=+e._x.call(null,g.data),l=+e._y.call(null,g.data),d=+e._z.call(null,g.data),t===c&&n===l&&r===d)return y.next=g,i?i[v]=y:e._root=y,e;do{i=i?i[v]=new Array(8):e._root=new Array(8),(f=t>=(a=(b+x)/2))?b=a:x=a,(h=n>=(s=(w+k)/2))?w=s:k=s,(p=r>=(u=(_+E)/2))?_=u:E=u}while((v=p<<2|h<<1|f)===(m=(d>=u)<<2|(l>=s)<<1|c>=a));return i[m]=g,i[v]=y,e}function o(e,t,n,r,o,i,a){this.node=e,this.x0=t,this.y0=n,this.z0=r,this.x1=o,this.y1=i,this.z1=a}function i(e){return e[0]}function a(e){return e[1]}function s(e){return e[2]}function u(e,t,n,r){var o=new c(null==t?i:t,null==n?a:n,null==r?s:r,NaN,NaN,NaN,NaN,NaN,NaN);return null==e?o:o.addAll(e)}function c(e,t,n,r,o,i,a,s,u){this._x=e,this._y=t,this._z=n,this._x0=r,this._y0=o,this._z0=i,this._x1=a,this._y1=s,this._z1=u,this._root=void 0}function l(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return u}});var d=u.prototype=c.prototype;d.copy=function(){var e,t,n=new c(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),r=this._root;if(!r)return n;if(!r.length)return n._root=l(r),n;for(e=[{source:r,target:n._root=new Array(8)}];r=e.pop();)for(var o=0;o<8;++o)(t=r.source[o])&&(t.length?e.push({source:t,target:r.target[o]=new Array(8)}):r.target[o]=l(t));return n},d.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e),o=+this._z.call(null,e);return r(this.cover(t,n,o),t,n,o,e)},d.addAll=function(e){var t,n,o,i,a,s=e.length,u=new Array(s),c=new Array(s),l=new Array(s),d=1/0,f=1/0,h=1/0,p=-1/0,v=-1/0,m=-1/0;for(n=0;n<s;++n)isNaN(o=+this._x.call(null,t=e[n]))||isNaN(i=+this._y.call(null,t))||isNaN(a=+this._z.call(null,t))||(u[n]=o,c[n]=i,l[n]=a,o<d&&(d=o),o>p&&(p=o),i<f&&(f=i),i>v&&(v=i),a<h&&(h=a),a>m&&(m=a));if(d>p||f>v||h>m)return this;for(this.cover(d,f,h).cover(p,v,m),n=0;n<s;++n)r(this,u[n],c[n],l[n],e[n]);return this},d.cover=function(e,t,n){if(isNaN(e=+e)||isNaN(t=+t)||isNaN(n=+n))return this;var r=this._x0,o=this._y0,i=this._z0,a=this._x1,s=this._y1,u=this._z1;if(isNaN(r))a=(r=Math.floor(e))+1,s=(o=Math.floor(t))+1,u=(i=Math.floor(n))+1;else{for(var c,l,d=a-r||1,f=this._root;r>e||e>=a||o>t||t>=s||i>n||n>=u;)switch(l=(n<i)<<2|(t<o)<<1|e<r,(c=new Array(8))[l]=f,f=c,d*=2,l){case 0:a=r+d,s=o+d,u=i+d;break;case 1:r=a-d,s=o+d,u=i+d;break;case 2:a=r+d,o=s-d,u=i+d;break;case 3:r=a-d,o=s-d,u=i+d;break;case 4:a=r+d,s=o+d,i=u-d;break;case 5:r=a-d,s=o+d,i=u-d;break;case 6:a=r+d,o=s-d,i=u-d;break;case 7:r=a-d,o=s-d,i=u-d}this._root&&this._root.length&&(this._root=f)}return this._x0=r,this._y0=o,this._z0=i,this._x1=a,this._y1=s,this._z1=u,this},d.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},d.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1],+e[0][2]).cover(+e[1][0],+e[1][1],+e[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]},d.find=function(e,t,n,r){var i,a,s,u,c,l,d,f,h,p=this._x0,v=this._y0,m=this._z0,g=this._x1,y=this._y1,b=this._z1,w=[],_=this._root;for(_&&w.push(new o(_,p,v,m,g,y,b)),null==r?r=1/0:(p=e-r,v=t-r,m=n-r,g=e+r,y=t+r,b=n+r,r*=r);f=w.pop();)if(!(!(_=f.node)||(a=f.x0)>g||(s=f.y0)>y||(u=f.z0)>b||(c=f.x1)<p||(l=f.y1)<v||(d=f.z1)<m))if(_.length){var x=(a+c)/2,k=(s+l)/2,E=(u+d)/2;w.push(new o(_[7],x,k,E,c,l,d),new o(_[6],a,k,E,x,l,d),new o(_[5],x,s,E,c,k,d),new o(_[4],a,s,E,x,k,d),new o(_[3],x,k,u,c,l,E),new o(_[2],a,k,u,x,l,E),new o(_[1],x,s,u,c,k,E),new o(_[0],a,s,u,x,k,E)),(h=(n>=E)<<2|(t>=k)<<1|e>=x)&&(f=w[w.length-1],w[w.length-1]=w[w.length-1-h],w[w.length-1-h]=f)}else{var O=e-+this._x.call(null,_.data),C=t-+this._y.call(null,_.data),T=n-+this._z.call(null,_.data),M=O*O+C*C+T*T;if(M<r){var S=Math.sqrt(r=M);p=e-S,v=t-S,m=n-S,g=e+S,y=t+S,b=n+S,i=_.data}}return i},d.remove=function(e){if(isNaN(i=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e))||isNaN(s=+this._z.call(null,e)))return this;var t,n,r,o,i,a,s,u,c,l,d,f,h,p,v,m=this._root,g=this._x0,y=this._y0,b=this._z0,w=this._x1,_=this._y1,x=this._z1;if(!m)return this;if(m.length)for(;;){if((d=i>=(u=(g+w)/2))?g=u:w=u,(f=a>=(c=(y+_)/2))?y=c:_=c,(h=s>=(l=(b+x)/2))?b=l:x=l,t=m,!(m=m[p=h<<2|f<<1|d]))return this;if(!m.length)break;(t[p+1&7]||t[p+2&7]||t[p+3&7]||t[p+4&7]||t[p+5&7]||t[p+6&7]||t[p+7&7])&&(n=t,v=p)}for(;m.data!==e;)if(r=m,!(m=m.next))return this;return(o=m.next)&&delete m.next,r?(o?r.next=o:delete r.next,this):t?(o?t[p]=o:delete t[p],(m=t[0]||t[1]||t[2]||t[3]||t[4]||t[5]||t[6]||t[7])&&m===(t[7]||t[6]||t[5]||t[4]||t[3]||t[2]||t[1]||t[0])&&!m.length&&(n?n[v]=m:this._root=m),this):(this._root=o,this)},d.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},d.root=function(){return this._root},d.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},d.visit=function(e){var t,n,r,i,a,s,u,c,l=[],d=this._root;for(d&&l.push(new o(d,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=l.pop();)if(!e(d=t.node,r=t.x0,i=t.y0,a=t.z0,s=t.x1,u=t.y1,c=t.z1)&&d.length){var f=(r+s)/2,h=(i+u)/2,p=(a+c)/2;(n=d[7])&&l.push(new o(n,f,h,p,s,u,c)),(n=d[6])&&l.push(new o(n,r,h,p,f,u,c)),(n=d[5])&&l.push(new o(n,f,i,p,s,h,c)),(n=d[4])&&l.push(new o(n,r,i,p,f,h,c)),(n=d[3])&&l.push(new o(n,f,h,a,s,u,p)),(n=d[2])&&l.push(new o(n,r,h,a,f,u,p)),(n=d[1])&&l.push(new o(n,f,i,a,s,h,p)),(n=d[0])&&l.push(new o(n,r,i,a,f,h,p))}return this},d.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new o(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=n.pop();){var i=t.node;if(i.length){var a,s=t.x0,u=t.y0,c=t.z0,l=t.x1,d=t.y1,f=t.z1,h=(s+l)/2,p=(u+d)/2,v=(c+f)/2;(a=i[0])&&n.push(new o(a,s,u,c,h,p,v)),(a=i[1])&&n.push(new o(a,h,u,c,l,p,v)),(a=i[2])&&n.push(new o(a,s,p,c,h,d,v)),(a=i[3])&&n.push(new o(a,h,p,c,l,d,v)),(a=i[4])&&n.push(new o(a,s,u,v,h,p,f)),(a=i[5])&&n.push(new o(a,h,u,v,l,p,f)),(a=i[6])&&n.push(new o(a,s,p,v,h,d,f)),(a=i[7])&&n.push(new o(a,h,p,v,l,d,f))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.z0,t.x1,t.y1,t.z1);return this},d.x=function(e){return arguments.length?(this._x=e,this):this._x},d.y=function(e){return arguments.length?(this._y=e,this):this._y},d.z=function(e){return arguments.length?(this._z=e,this):this._z}},60054:function(e,t,n){"use strict";function r(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var o,i,a,s,u,c,l,d,f,h=e._root,p={data:r},v=e._x0,m=e._y0,g=e._x1,y=e._y1;if(!h)return e._root=p,e;for(;h.length;)if((c=t>=(i=(v+g)/2))?v=i:g=i,(l=n>=(a=(m+y)/2))?m=a:y=a,o=h,!(h=h[d=l<<1|c]))return o[d]=p,e;if(s=+e._x.call(null,h.data),u=+e._y.call(null,h.data),t===s&&n===u)return p.next=h,o?o[d]=p:e._root=p,e;do{o=o?o[d]=new Array(4):e._root=new Array(4),(c=t>=(i=(v+g)/2))?v=i:g=i,(l=n>=(a=(m+y)/2))?m=a:y=a}while((d=l<<1|c)===(f=(u>=a)<<1|s>=i));return o[f]=h,o[d]=p,e}function o(e,t,n,r,o){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=o}function i(e){return e[0]}function a(e){return e[1]}function s(e,t,n){var r=new u(null==t?i:t,null==n?a:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function u(e,t,n,r,o,i){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=o,this._y1=i,this._root=void 0}function c(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return s}});var l=s.prototype=u.prototype;l.copy=function(){var e,t,n=new u(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=c(r),n;for(e=[{source:r,target:n._root=new Array(4)}];r=e.pop();)for(var o=0;o<4;++o)(t=r.source[o])&&(t.length?e.push({source:t,target:r.target[o]=new Array(4)}):r.target[o]=c(t));return n},l.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e);return r(this.cover(t,n),t,n,e)},l.addAll=function(e){var t,n,o,i,a=e.length,s=new Array(a),u=new Array(a),c=1/0,l=1/0,d=-1/0,f=-1/0;for(n=0;n<a;++n)isNaN(o=+this._x.call(null,t=e[n]))||isNaN(i=+this._y.call(null,t))||(s[n]=o,u[n]=i,o<c&&(c=o),o>d&&(d=o),i<l&&(l=i),i>f&&(f=i));if(c>d||l>f)return this;for(this.cover(c,l).cover(d,f),n=0;n<a;++n)r(this,s[n],u[n],e[n]);return this},l.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,o=this._x1,i=this._y1;if(isNaN(n))o=(n=Math.floor(e))+1,i=(r=Math.floor(t))+1;else{for(var a,s,u=o-n||1,c=this._root;n>e||e>=o||r>t||t>=i;)switch(s=(t<r)<<1|e<n,(a=new Array(4))[s]=c,c=a,u*=2,s){case 0:o=n+u,i=r+u;break;case 1:n=o-u,i=r+u;break;case 2:o=n+u,r=i-u;break;case 3:n=o-u,r=i-u}this._root&&this._root.length&&(this._root=c)}return this._x0=n,this._y0=r,this._x1=o,this._y1=i,this},l.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},l.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(e,t,n){var r,i,a,s,u,c,l,d=this._x0,f=this._y0,h=this._x1,p=this._y1,v=[],m=this._root;for(m&&v.push(new o(m,d,f,h,p)),null==n?n=1/0:(d=e-n,f=t-n,h=e+n,p=t+n,n*=n);c=v.pop();)if(!(!(m=c.node)||(i=c.x0)>h||(a=c.y0)>p||(s=c.x1)<d||(u=c.y1)<f))if(m.length){var g=(i+s)/2,y=(a+u)/2;v.push(new o(m[3],g,y,s,u),new o(m[2],i,y,g,u),new o(m[1],g,a,s,y),new o(m[0],i,a,g,y)),(l=(t>=y)<<1|e>=g)&&(c=v[v.length-1],v[v.length-1]=v[v.length-1-l],v[v.length-1-l]=c)}else{var b=e-+this._x.call(null,m.data),w=t-+this._y.call(null,m.data),_=b*b+w*w;if(_<n){var x=Math.sqrt(n=_);d=e-x,f=t-x,h=e+x,p=t+x,r=m.data}}return r},l.remove=function(e){if(isNaN(i=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e)))return this;var t,n,r,o,i,a,s,u,c,l,d,f,h=this._root,p=this._x0,v=this._y0,m=this._x1,g=this._y1;if(!h)return this;if(h.length)for(;;){if((c=i>=(s=(p+m)/2))?p=s:m=s,(l=a>=(u=(v+g)/2))?v=u:g=u,t=h,!(h=h[d=l<<1|c]))return this;if(!h.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,f=d)}for(;h.data!==e;)if(r=h,!(h=h.next))return this;return(o=h.next)&&delete h.next,r?(o?r.next=o:delete r.next,this):t?(o?t[d]=o:delete t[d],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=o,this)},l.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},l.root=function(){return this._root},l.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},l.visit=function(e){var t,n,r,i,a,s,u=[],c=this._root;for(c&&u.push(new o(c,this._x0,this._y0,this._x1,this._y1));t=u.pop();)if(!e(c=t.node,r=t.x0,i=t.y0,a=t.x1,s=t.y1)&&c.length){var l=(r+a)/2,d=(i+s)/2;(n=c[3])&&u.push(new o(n,l,d,a,s)),(n=c[2])&&u.push(new o(n,r,d,l,s)),(n=c[1])&&u.push(new o(n,l,i,a,d)),(n=c[0])&&u.push(new o(n,r,i,l,d))}return this},l.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new o(this._root,this._x0,this._y0,this._x1,this._y1));t=n.pop();){var i=t.node;if(i.length){var a,s=t.x0,u=t.y0,c=t.x1,l=t.y1,d=(s+c)/2,f=(u+l)/2;(a=i[0])&&n.push(new o(a,s,u,d,f)),(a=i[1])&&n.push(new o(a,d,u,c,f)),(a=i[2])&&n.push(new o(a,s,f,d,l)),(a=i[3])&&n.push(new o(a,d,f,c,l))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},l.x=function(e){return arguments.length?(this._x=e,this):this._x},l.y=function(e){return arguments.length?(this._y=e,this):this._y}},47646:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var r=function(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(6*r,6*++r);return n}("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928")},72462:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});class r extends Map{constructor(e,t=s){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[n,r]of e)this.set(n,r)}get(e){return super.get(o(this,e))}has(e){return super.has(o(this,e))}set(e,t){return super.set(i(this,e),t)}delete(e){return super.delete(a(this,e))}}Set;function o({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function i({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function a({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(n),e.delete(r)),n}function s(e){return null!==e&&"object"===typeof e?e.valueOf():e}function u(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function c(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var d=Symbol("implicit");function f(){var e=new r,t=[],n=[],o=d;function i(r){var i=e.get(r);if(void 0===i){if(o!==d)return o;e.set(r,i=t.push(r)-1)}return n[i%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new r;var o,a=c(n);try{for(a.s();!(o=a.n()).done;){var s=o.value;e.has(s)||e.set(s,t.push(s)-1)}}catch(u){a.e(u)}finally{a.f()}return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(o=e,i):o},i.copy=function(){return f(t,n).unknown(o)},u.apply(i,arguments),i}},513:function(e,t,n){"use strict";n.d(t,{zO:function(){return h},B7:function(){return v},HT:function(){return m}});var r,o,i=0,a=0,s=0,u=0,c=0,l=0,d="object"===typeof performance&&performance.now?performance:Date,f=window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function h(){return c||(f(p),c=d.now()+l)}function p(){c=0}function v(){this._call=this._time=this._next=null}function m(e,t,n){var r=new v;return r.restart(e,t,n),r}function g(){c=(u=d.now())+l,i=a=0;try{!function(){h(),++i;for(var e,t=r;t;)(e=c-t._time)>=0&&t._call.call(void 0,e),t=t._next;--i}()}finally{i=0,function(){var e,t,n=r,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:r=t);o=e,b(i)}(),c=0}}function y(){var e=d.now(),t=e-u;t>1e3&&(l-=t,u=e)}function b(e){i||(a&&(a=clearTimeout(a)),e-c>24?(e<1/0&&(a=setTimeout(g,e-d.now()-l)),s&&(s=clearInterval(s))):(s||(u=d.now(),s=setInterval(y,1e3)),i=1,f(g)))}v.prototype=m.prototype={constructor:v,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?h():+n)+(null==t?0:+t),this._next||o===this||(o?o._next=this:r=this,o=this),this._call=e,this._time=n,b()},stop:function(){this._call&&(this._call=null,this._time=1/0,b())}}},75093:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{Z:function(){return r}})},92447:function(e,t,n){"use strict";function r(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function s(e){r(a,o,i,s,u,"next",e)}function u(e){r(a,o,i,s,u,"throw",e)}s(void 0)}))}}n.d(t,{Z:function(){return o}})},38347:function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return r}})},64121:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(40355);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}}(e,t)||(0,r.Z)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},59999:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(75093);var o=n(40355);function i(e){return function(e){if(Array.isArray(e))return(0,r.Z)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||(0,o.Z)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},40355:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(75093);function o(e,t){if(e){if("string"===typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.Z)(e,t):void 0}}},84245:function(e){e.exports=function(e){!function(e){if(!e)throw new Error("Eventify cannot use falsy object as events subject");for(var t=["on","fire","off"],n=0;n<t.length;++n)if(e.hasOwnProperty(t[n]))throw new Error("Subject cannot be eventified, since it already has property '"+t[n]+"'")}(e);var t=function(e){var t=Object.create(null);return{on:function(n,r,o){if("function"!==typeof r)throw new Error("callback is expected to be a function");var i=t[n];return i||(i=t[n]=[]),i.push({callback:r,ctx:o}),e},off:function(n,r){if("undefined"===typeof n)return t=Object.create(null),e;if(t[n])if("function"!==typeof r)delete t[n];else for(var o=t[n],i=0;i<o.length;++i)o[i].callback===r&&o.splice(i,1);return e},fire:function(n){var r,o=t[n];if(!o)return e;arguments.length>1&&(r=Array.prototype.splice.call(arguments,1));for(var i=0;i<o.length;++i){var a=o[i];a.callback.apply(a.ctx,r)}return e}}}(e);return e.on=t.on,e.off=t.off,e.fire=t.fire,e}},16505:function(e,t,n){e.exports=function(e,t){if(!e)throw new Error("Graph structure cannot be undefined");var i=(t&&t.createSimulator||n(45818))(t);if(Array.isArray(t))throw new Error("Physics settings is expected to be an object");var a=function(t){var n=e.getLinks(t);return n?1+n.length/3:1};t&&"function"===typeof t.nodeMass&&(a=t.nodeMass);var s=new Map,u={},c=0,l=i.settings.springTransform||o;c=0,e.forEachNode((function(e){m(e.id),c+=1})),e.forEachLink(y),e.on("changed",v);var d=!1,f={step:function(){if(0===c)return h(!0),!0;var e=i.step();f.lastMove=e,f.fire("step");var t=e/c<=.01;return h(t),t},getNodePosition:function(e){return _(e).pos},setNodePosition:function(e){var t=_(e);t.setPosition.apply(t,Array.prototype.slice.call(arguments,1))},getLinkPosition:function(e){var t=u[e];if(t)return{from:t.from.pos,to:t.to.pos}},getGraphRect:function(){return i.getBBox()},forEachBody:p,pinNode:function(e,t){_(e.id).isPinned=!!t},isNodePinned:function(e){return _(e.id).isPinned},dispose:function(){e.off("changed",v),f.fire("disposed")},getBody:function(e){return s.get(e)},getSpring:function(t,n){var r;if(void 0===n)r="object"!==typeof t?t:t.id;else{var o=e.hasLink(t,n);if(!o)return;r=o.id}return u[r]},getForceVectorLength:function(){var e=0,t=0;return p((function(n){e+=Math.abs(n.force.x),t+=Math.abs(n.force.y)})),Math.sqrt(e*e+t*t)},simulator:i,graph:e,lastMove:0};return r(f),f;function h(e){var t;d!==e&&(d=e,t=e,f.fire("stable",t))}function p(e){s.forEach(e)}function v(t){for(var n=0;n<t.length;++n){var r=t[n];"add"===r.changeType?(r.node&&m(r.node.id),r.link&&y(r.link)):"remove"===r.changeType&&(r.node&&g(r.node),r.link&&b(r.link))}c=e.getNodesCount()}function m(t){var n=s.get(t);if(!n){var r=e.getNode(t);if(!r)throw new Error("initBody() was called with unknown node id");var o=r.position;if(!o){var a=function(e){var t=[];if(!e.links)return t;for(var n=Math.min(e.links.length,2),r=0;r<n;++r){var o=e.links[r],i=o.fromId!==e.id?s.get(o.fromId):s.get(o.toId);i&&i.pos&&t.push(i)}return t}(r);o=i.getBestNewBodyPosition(a)}(n=i.addBodyAt(o)).id=t,s.set(t,n),w(t),function(e){return e&&(e.isPinned||e.data&&e.data.isPinned)}(r)&&(n.isPinned=!0)}}function g(e){var t=e.id,n=s.get(t);n&&(s.delete(t),i.removeBody(n))}function y(e){w(e.fromId),w(e.toId);var t=s.get(e.fromId),n=s.get(e.toId),r=i.addSpring(t,n,e.length);l(e,r),u[e.id]=r}function b(t){var n=u[t.id];if(n){var r=e.getNode(t.fromId),o=e.getNode(t.toId);r&&w(r.id),o&&w(o.id),delete u[t.id],i.removeSpring(n)}}function w(e){var t=s.get(e);if(t.mass=a(e),Number.isNaN(t.mass))throw new Error("Node mass should be a number")}function _(e){var t=s.get(e);return t||(m(e),t=s.get(e)),t}},e.exports.simulator=n(45818);var r=n(84245);function o(){}},15189:function(e,t,n){const r=n(16422);e.exports=function(e){return function(t,n){let o=n&&n.indent||0,i=n&&void 0!==n.join?n.join:"\n",a=Array(o+1).join(" "),s=[];for(let u=0;u<e;++u){let e=r(u),n=0===u?"":a;s.push(n+t.replace(/{var}/g,e))}return s.join(i)}}},30891:function(e,t,n){e.exports=function(e){let t=o(e);return new Function("bodies","settings","random",t)},e.exports.generateFunctionBody=o;const r=n(15189);function o(e){let t=r(e);return`\n  var boundingBox = {\n    ${t("min_{var}: 0, max_{var}: 0,",{indent:4})}\n  };\n\n  return {\n    box: boundingBox,\n\n    update: updateBoundingBox,\n\n    reset: resetBoundingBox,\n\n    getBestNewPosition: function (neighbors) {\n      var ${t("base_{var} = 0",{join:", "})};\n\n      if (neighbors.length) {\n        for (var i = 0; i < neighbors.length; ++i) {\n          let neighborPos = neighbors[i].pos;\n          ${t("base_{var} += neighborPos.{var};",{indent:10})}\n        }\n\n        ${t("base_{var} /= neighbors.length;",{indent:8})}\n      } else {\n        ${t("base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;",{indent:8})}\n      }\n\n      var springLength = settings.springLength;\n      return {\n        ${t("{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,",{indent:8})}\n      };\n    }\n  };\n\n  function updateBoundingBox() {\n    var i = bodies.length;\n    if (i === 0) return; // No bodies - no borders.\n\n    ${t("var max_{var} = -Infinity;",{indent:4})}\n    ${t("var min_{var} = Infinity;",{indent:4})}\n\n    while(i--) {\n      // this is O(n), it could be done faster with quadtree, if we check the root node bounds\n      var bodyPos = bodies[i].pos;\n      ${t("if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};",{indent:6})}\n      ${t("if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};",{indent:6})}\n    }\n\n    ${t("boundingBox.min_{var} = min_{var};",{indent:4})}\n    ${t("boundingBox.max_{var} = max_{var};",{indent:4})}\n  }\n\n  function resetBoundingBox() {\n    ${t("boundingBox.min_{var} = boundingBox.max_{var} = 0;",{indent:4})}\n  }\n`}},6410:function(e,t,n){const r=n(15189);function o(e,t){return`\n${a(e,t)}\n${i(e)}\nreturn {Body: Body, Vector: Vector};\n`}function i(e){let t=r(e),n=t("{var}",{join:", "});return`\nfunction Body(${n}) {\n  this.isPinned = false;\n  this.pos = new Vector(${n});\n  this.force = new Vector();\n  this.velocity = new Vector();\n  this.mass = 1;\n\n  this.springCount = 0;\n  this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n  this.force.reset();\n  this.springCount = 0;\n  this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n  ${t("this.pos.{var} = {var} || 0;",{indent:2})}\n};`}function a(e,t){let n=r(e),o="";return t&&(o=`${n("\n   var v{var};\nObject.defineProperty(this, '{var}', {\n  set: function(v) { \n    if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n    v{var} = v; \n  },\n  get: function() { return v{var}; }\n});")}`),`function Vector(${n("{var}",{join:", "})}) {\n  ${o}\n    if (typeof arguments[0] === 'object') {\n      // could be another vector\n      let v = arguments[0];\n      ${n('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',{indent:4})}\n      ${n("this.{var} = v.{var};",{indent:4})}\n    } else {\n      ${n('this.{var} = typeof {var} === "number" ? {var} : 0;',{indent:4})}\n    }\n  }\n  \n  Vector.prototype.reset = function () {\n    ${n("this.{var} = ",{join:""})}0;\n  };`}e.exports=function(e,t){let n=o(e,t),{Body:r}=new Function(n)();return r},e.exports.generateCreateBodyFunctionBody=o,e.exports.getVectorCode=a,e.exports.getBodyCode=i},36647:function(e,t,n){const r=n(15189);function o(e){return`\n  if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number');\n\n  return {\n    update: function(body) {\n      ${r(e)("body.force.{var} -= options.dragCoefficient * body.velocity.{var};",{indent:6})}\n    }\n  };\n`}e.exports=function(e){let t=o(e);return new Function("options",t)},e.exports.generateCreateDragForceFunctionBody=o},34079:function(e,t,n){const r=n(15189);function o(e){let t=r(e);return`\n  if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n  if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n  return {\n    /**\n     * Updates forces acting on a spring\n     */\n    update: function (spring) {\n      var body1 = spring.from;\n      var body2 = spring.to;\n      var length = spring.length < 0 ? options.springLength : spring.length;\n      ${t("var d{var} = body2.pos.{var} - body1.pos.{var};",{indent:6})}\n      var r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n      if (r === 0) {\n        ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:8})}\n        r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n      }\n\n      var d = r - length;\n      var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n      ${t("body1.force.{var} += coefficient * d{var}",{indent:6})};\n      body1.springCount += 1;\n      body1.springLength += r;\n\n      ${t("body2.force.{var} -= coefficient * d{var}",{indent:6})};\n      body2.springCount += 1;\n      body2.springLength += r;\n    }\n  };\n`}e.exports=function(e){let t=o(e);return new Function("options","random",t)},e.exports.generateCreateSpringForceFunctionBody=o},51763:function(e,t,n){const r=n(15189);function o(e){let t=r(e);return`\n  var length = bodies.length;\n  if (length === 0) return 0;\n\n  ${t("var d{var} = 0, t{var} = 0;",{indent:2})}\n\n  for (var i = 0; i < length; ++i) {\n    var body = bodies[i];\n    if (body.isPinned) continue;\n\n    if (adaptiveTimeStepWeight && body.springCount) {\n      timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n    }\n\n    var coeff = timeStep / body.mass;\n\n    ${t("body.velocity.{var} += coeff * body.force.{var};",{indent:4})}\n    ${t("var v{var} = body.velocity.{var};",{indent:4})}\n    var v = Math.sqrt(${t("v{var} * v{var}",{join:" + "})});\n\n    if (v > 1) {\n      // We normalize it so that we move within timeStep range. \n      // for the case when v <= 1 - we let velocity to fade out.\n      ${t("body.velocity.{var} = v{var} / v;",{indent:6})}\n    }\n\n    ${t("d{var} = timeStep * body.velocity.{var};",{indent:4})}\n\n    ${t("body.pos.{var} += d{var};",{indent:4})}\n\n    ${t("t{var} += Math.abs(d{var});",{indent:4})}\n  }\n\n  return (${t("t{var} * t{var}",{join:" + "})})/length;\n`}e.exports=function(e){let t=o(e);return new Function("bodies","timeStep","adaptiveTimeStepWeight",t)},e.exports.generateIntegratorFunctionBody=o},1584:function(e,t,n){const r=n(15189),o=n(16422);function i(e){let t=r(e),n=Math.pow(2,e);return`\n${l()}\n${c(e)}\n${a(e)}\n${u(e)}\n${s(e)}\n\nfunction createQuadTree(options, random) {\n  options = options || {};\n  options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n  options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n  var gravity = options.gravity;\n  var updateQueue = [];\n  var insertStack = new InsertStack();\n  var theta = options.theta;\n\n  var nodesCache = [];\n  var currentInCache = 0;\n  var root = newNode();\n\n  return {\n    insertBodies: insertBodies,\n\n    /**\n     * Gets root node if it is present\n     */\n    getRoot: function() {\n      return root;\n    },\n\n    updateBodyForce: update,\n\n    options: function(newOptions) {\n      if (newOptions) {\n        if (typeof newOptions.gravity === 'number') {\n          gravity = newOptions.gravity;\n        }\n        if (typeof newOptions.theta === 'number') {\n          theta = newOptions.theta;\n        }\n\n        return this;\n      }\n\n      return {\n        gravity: gravity,\n        theta: theta\n      };\n    }\n  };\n\n  function newNode() {\n    // To avoid pressure on GC we reuse nodes.\n    var node = nodesCache[currentInCache];\n    if (node) {\n${function(e){let t=[];for(let r=0;r<n;++r)t.push(`${e}quad${r} = null;`);return t.join("\n")}("      node.")}\n      node.body = null;\n      node.mass = ${t("node.mass_{var} = ",{join:""})}0;\n      ${t("node.min_{var} = node.max_{var} = ",{join:""})}0;\n    } else {\n      node = new QuadNode();\n      nodesCache[currentInCache] = node;\n    }\n\n    ++currentInCache;\n    return node;\n  }\n\n  function update(sourceBody) {\n    var queue = updateQueue;\n    var v;\n    ${t("var d{var};",{indent:4})}\n    var r; \n    ${t("var f{var} = 0;",{indent:4})}\n    var queueLength = 1;\n    var shiftIdx = 0;\n    var pushIdx = 1;\n\n    queue[0] = root;\n\n    while (queueLength) {\n      var node = queue[shiftIdx];\n      var body = node.body;\n\n      queueLength -= 1;\n      shiftIdx += 1;\n      var differentBody = (body !== sourceBody);\n      if (body && differentBody) {\n        // If the current node is a leaf node (and it is not source body),\n        // calculate the force exerted by the current node on body, and add this\n        // amount to body's net force.\n        ${t("d{var} = body.pos.{var} - sourceBody.pos.{var};",{indent:8})}\n        r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n        if (r === 0) {\n          // Poor man's protection against zero distance.\n          ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})}\n          r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n        }\n\n        // This is standard gravitation force calculation but we divide\n        // by r^3 to save two operations when normalizing force vector.\n        v = gravity * body.mass * sourceBody.mass / (r * r * r);\n        ${t("f{var} += v * d{var};",{indent:8})}\n      } else if (differentBody) {\n        // Otherwise, calculate the ratio s / r,  where s is the width of the region\n        // represented by the internal node, and r is the distance between the body\n        // and the node's center-of-mass\n        ${t("d{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};",{indent:8})}\n        r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n        if (r === 0) {\n          // Sorry about code duplication. I don't want to create many functions\n          // right away. Just want to see performance first.\n          ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})}\n          r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n        }\n        // If s / r < \u03b8, treat this internal node as a single body, and calculate the\n        // force it exerts on sourceBody, and add this amount to sourceBody's net force.\n        if ((node.max_${o(0)} - node.min_${o(0)}) / r < theta) {\n          // in the if statement above we consider node's width only\n          // because the region was made into square during tree creation.\n          // Thus there is no difference between using width or height.\n          v = gravity * node.mass * sourceBody.mass / (r * r * r);\n          ${t("f{var} += v * d{var};",{indent:10})}\n        } else {\n          // Otherwise, run the procedure recursively on each of the current node's children.\n\n          // I intentionally unfolded this loop, to save several CPU cycles.\n${function(){let e=Array(11).join(" "),t=[];for(let r=0;r<n;++r)t.push(e+`if (node.quad${r}) {`),t.push(e+`  queue[pushIdx] = node.quad${r};`),t.push(e+"  queueLength += 1;"),t.push(e+"  pushIdx += 1;"),t.push(e+"}");return t.join("\n")}()}\n        }\n      }\n    }\n\n    ${t("sourceBody.force.{var} += f{var};",{indent:4})}\n  }\n\n  function insertBodies(bodies) {\n    ${t("var {var}min = Number.MAX_VALUE;",{indent:4})}\n    ${t("var {var}max = Number.MIN_VALUE;",{indent:4})}\n    var i = bodies.length;\n\n    // To reduce quad tree depth we are looking for exact bounding box of all particles.\n    while (i--) {\n      var pos = bodies[i].pos;\n      ${t("if (pos.{var} < {var}min) {var}min = pos.{var};",{indent:6})}\n      ${t("if (pos.{var} > {var}max) {var}max = pos.{var};",{indent:6})}\n    }\n\n    // Makes the bounds square.\n    var maxSideLength = -Infinity;\n    ${t("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;",{indent:4})}\n\n    currentInCache = 0;\n    root = newNode();\n    ${t("root.min_{var} = {var}min;",{indent:4})}\n    ${t("root.max_{var} = {var}min + maxSideLength;",{indent:4})}\n\n    i = bodies.length - 1;\n    if (i >= 0) {\n      root.body = bodies[i];\n    }\n    while (i--) {\n      insert(bodies[i], root);\n    }\n  }\n\n  function insert(newBody) {\n    insertStack.reset();\n    insertStack.push(root, newBody);\n\n    while (!insertStack.isEmpty()) {\n      var stackItem = insertStack.pop();\n      var node = stackItem.node;\n      var body = stackItem.body;\n\n      if (!node.body) {\n        // This is internal node. Update the total mass of the node and center-of-mass.\n        ${t("var {var} = body.pos.{var};",{indent:8})}\n        node.mass += body.mass;\n        ${t("node.mass_{var} += body.mass * {var};",{indent:8})}\n\n        // Recursively insert the body in the appropriate quadrant.\n        // But first find the appropriate quadrant.\n        var quadIdx = 0; // Assume we are in the 0's quad.\n        ${t("var min_{var} = node.min_{var};",{indent:8})}\n        ${t("var max_{var} = (min_{var} + node.max_{var}) / 2;",{indent:8})}\n\n${function(t){let n=[],r=Array(t+1).join(" ");for(let i=0;i<e;++i)n.push(r+`if (${o(i)} > max_${o(i)}) {`),n.push(r+`  quadIdx = quadIdx + ${Math.pow(2,i)};`),n.push(r+`  min_${o(i)} = max_${o(i)};`),n.push(r+`  max_${o(i)} = node.max_${o(i)};`),n.push(r+"}");return n.join("\n")}(8)}\n\n        var child = getChild(node, quadIdx);\n\n        if (!child) {\n          // The node is internal but this quadrant is not taken. Add\n          // subnode to it.\n          child = newNode();\n          ${t("child.min_{var} = min_{var};",{indent:10})}\n          ${t("child.max_{var} = max_{var};",{indent:10})}\n          child.body = body;\n\n          setChild(node, quadIdx, child);\n        } else {\n          // continue searching in this quadrant.\n          insertStack.push(child, body);\n        }\n      } else {\n        // We are trying to add to the leaf node.\n        // We have to convert current leaf into internal node\n        // and continue adding two nodes.\n        var oldBody = node.body;\n        node.body = null; // internal nodes do not cary bodies\n\n        if (isSamePosition(oldBody.pos, body.pos)) {\n          // Prevent infinite subdivision by bumping one node\n          // anywhere in this quadrant\n          var retriesCount = 3;\n          do {\n            var offset = random.nextDouble();\n            ${t("var d{var} = (node.max_{var} - node.min_{var}) * offset;",{indent:12})}\n\n            ${t("oldBody.pos.{var} = node.min_{var} + d{var};",{indent:12})}\n            retriesCount -= 1;\n            // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n          } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n          if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n            // This is very bad, we ran out of precision.\n            // if we do not return from the method we'll get into\n            // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n            // Next layout iteration should get larger bounding box in the first step and fix this\n            return;\n          }\n        }\n        // Next iteration should subdivide node further.\n        insertStack.push(node, oldBody);\n        insertStack.push(node, body);\n      }\n    }\n  }\n}\nreturn createQuadTree;\n\n`}function a(e){let t=r(e);return`\n  function isSamePosition(point1, point2) {\n    ${t("var d{var} = Math.abs(point1.{var} - point2.{var});",{indent:2})}\n  \n    return ${t("d{var} < 1e-8",{join:" && "})};\n  }  \n`}function s(e){var t=Math.pow(2,e);return`\nfunction setChild(node, idx, child) {\n  ${function(){let e=[];for(let n=0;n<t;++n){let t=0===n?"  ":"  else ";e.push(`${t}if (idx === ${n}) node.quad${n} = child;`)}return e.join("\n")}()}\n}`}function u(e){return`function getChild(node, idx) {\n${function(){let t=[],n=Math.pow(2,e);for(let e=0;e<n;++e)t.push(`  if (idx === ${e}) return node.quad${e};`);return t.join("\n")}()}\n  return null;\n}`}function c(e){let t=r(e),n=Math.pow(2,e);return`\nfunction QuadNode() {\n  // body stored inside this node. In quad tree only leaf nodes (by construction)\n  // contain bodies:\n  this.body = null;\n\n  // Child nodes are stored in quads. Each quad is presented by number:\n  // 0 | 1\n  // -----\n  // 2 | 3\n${function(e){let t=[];for(let r=0;r<n;++r)t.push(`${e}quad${r} = null;`);return t.join("\n")}("  this.")}\n\n  // Total mass of current node\n  this.mass = 0;\n\n  // Center of mass coordinates\n  ${t("this.mass_{var} = 0;",{indent:2})}\n\n  // bounding box coordinates\n  ${t("this.min_{var} = 0;",{indent:2})}\n  ${t("this.max_{var} = 0;",{indent:2})}\n}\n`}function l(){return"\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n    this.stack = [];\n    this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n    isEmpty: function() {\n        return this.popIdx === 0;\n    },\n    push: function (node, body) {\n        var item = this.stack[this.popIdx];\n        if (!item) {\n            // we are trying to avoid memory pressure: create new element\n            // only when absolutely necessary\n            this.stack[this.popIdx] = new InsertStackElement(node, body);\n        } else {\n            item.node = node;\n            item.body = body;\n        }\n        ++this.popIdx;\n    },\n    pop: function () {\n        if (this.popIdx > 0) {\n            return this.stack[--this.popIdx];\n        }\n    },\n    reset: function () {\n        this.popIdx = 0;\n    }\n};\n\nfunction InsertStackElement(node, body) {\n    this.node = node; // QuadTree node\n    this.body = body; // physical body which needs to be inserted to node\n}\n"}e.exports=function(e){let t=i(e);return new Function(t)()},e.exports.generateQuadTreeFunctionBody=i,e.exports.getInsertStackCode=l,e.exports.getQuadNodeCode=c,e.exports.isSamePosition=a,e.exports.getChildBodyCode=u,e.exports.setChildBodyCode=s},16422:function(e){e.exports=function(e){return 0===e?"x":1===e?"y":2===e?"z":"c"+(e+1)}},45818:function(e,t,n){e.exports=function(e){var t=n(68403),d=n(35510),f=n(84245);if(e){if(void 0!==e.springCoeff)throw new Error("springCoeff was renamed to springCoefficient");if(void 0!==e.dragCoeff)throw new Error("dragCoeff was renamed to dragCoefficient")}e=d(e,{springLength:10,springCoefficient:.8,gravity:-12,theta:.8,dragCoefficient:.9,timeStep:.5,adaptiveTimeStepWeight:0,dimensions:2,debug:!1});var h=c[e.dimensions];if(!h){var p=e.dimensions;h={Body:r(p,e.debug),createQuadTree:o(p),createBounds:i(p),createDragForce:a(p),createSpringForce:s(p),integrate:u(p)},c[p]=h}var v=h.Body,m=h.createQuadTree,g=h.createBounds,y=h.createDragForce,b=h.createSpringForce,w=h.integrate,_=n(78712).random(42),x=[],k=[],E=m(e,_),O=g(x,e,_),C=b(e,_),T=y(e),M=[],S=new Map,P=0;A("nbody",(function(){if(0===x.length)return;E.insertBodies(x);var e=x.length;for(;e--;){var t=x[e];t.isPinned||(t.reset(),E.updateBodyForce(t),T.update(t))}})),A("spring",(function(){var e=k.length;for(;e--;)C.update(k[e])}));var j={bodies:x,quadTree:E,springs:k,settings:e,addForce:A,removeForce:function(e){var t=M.indexOf(S.get(e));if(t<0)return;M.splice(t,1),S.delete(e)},getForces:function(){return S},step:function(){for(var t=0;t<M.length;++t)M[t](P);var n=w(x,e.timeStep,e.adaptiveTimeStepWeight);return P+=1,n},addBody:function(e){if(!e)throw new Error("Body is required");return x.push(e),e},addBodyAt:function(e){if(!e)throw new Error("Body position is required");var t=(e=>new v(e))(e);return x.push(t),t},removeBody:function(e){if(e){var t=x.indexOf(e);if(!(t<0))return x.splice(t,1),0===x.length&&O.reset(),!0}},addSpring:function(e,n,r,o){if(!e||!n)throw new Error("Cannot add null spring to force simulator");"number"!==typeof r&&(r=-1);var i=new t(e,n,r,o>=0?o:-1);return k.push(i),i},getTotalMovement:function(){return 0},removeSpring:function(e){if(e){var t=k.indexOf(e);return t>-1?(k.splice(t,1),!0):void 0}},getBestNewBodyPosition:function(e){return O.getBestNewPosition(e)},getBBox:I,getBoundingBox:I,invalidateBBox:function(){console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call")},gravity:function(t){return void 0!==t?(e.gravity=t,E.options({gravity:t}),this):e.gravity},theta:function(t){return void 0!==t?(e.theta=t,E.options({theta:t}),this):e.theta},random:_};return function(e,t){for(var n in e)l(e,t,n)}(e,j),f(j),j;function I(){return O.update(),O.box}function A(e,t){if(S.has(e))throw new Error("Force "+e+" is already added");S.set(e,t),M.push(t)}};var r=n(6410),o=n(1584),i=n(30891),a=n(36647),s=n(34079),u=n(51763),c={};function l(e,t,n){if(e.hasOwnProperty(n)&&"function"!==typeof t[n]){var r=Number.isFinite(e[n]);t[n]=r?function(r){if(void 0!==r){if(!Number.isFinite(r))throw new Error("Value of "+n+" should be a valid number.");return e[n]=r,t}return e[n]}:function(r){return void 0!==r?(e[n]=r,t):e[n]}}}},68403:function(e){e.exports=function(e,t,n,r){this.from=e,this.to=t,this.length=n,this.coefficient=r}},54736:function(e,t,n){e.exports=function(e){"uniqueLinkId"in(e=e||{})&&(console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n","\n","Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique)."),e.multigraph=e.uniqueLinkId);void 0===e.multigraph&&(e.multigraph=!1);if("function"!==typeof Map)throw new Error("ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph");var t=new Map,n=[],c={},l=0,d=e.multigraph?function(e,t,n){var r=u(e,t),o=c.hasOwnProperty(r);if(o||C(e,t)){o||(c[r]=0);var i="@"+ ++c[r];r=u(e+i,t+i)}return new s(e,t,n,r)}:function(e,t,n){var r=u(e,t);return new s(e,t,n,r)},f=[],h=T,p=T,v=T,m=T,g={addNode:w,addLink:function(e,t,r){v();var o=_(e)||w(e),i=_(t)||w(t),s=d(e,t,r);n.push(s),a(o,s),e!==t&&a(i,s);return h(s,"add"),m(),s},removeLink:O,removeNode:x,getNode:_,getNodeCount:k,getLinkCount:E,getLinksCount:E,getNodesCount:k,getLinks:function(e){var t=_(e);return t?t.links:null},forEachNode:P,forEachLinkedNode:function(e,n,r){var o=_(e);if(o&&o.links&&"function"===typeof n)return r?function(e,n,r){for(var o=0;o<e.length;++o){var i=e[o];if(i.fromId===n&&r(t.get(i.toId),i))return!0}}(o.links,e,n):function(e,n,r){for(var o=0;o<e.length;++o){var i=e[o],a=i.fromId===n?i.toId:i.fromId;if(r(t.get(a),i))return!0}}(o.links,e,n)},forEachLink:function(e){var t,r;if("function"===typeof e)for(t=0,r=n.length;t<r;++t)e(n[t])},beginUpdate:v,endUpdate:m,clear:function(){v(),P((function(e){x(e.id)})),m()},hasLink:C,hasNode:_,getLink:C};return r(g),function(){var e=g.on;function t(){return g.beginUpdate=v=M,g.endUpdate=m=S,h=y,p=b,g.on=e,e.apply(g,arguments)}g.on=t}(),g;function y(e,t){f.push({link:e,changeType:t})}function b(e,t){f.push({node:e,changeType:t})}function w(e,n){if(void 0===e)throw new Error("Invalid node identifier");v();var r=_(e);return r?(r.data=n,p(r,"update")):(r=new i(e,n),p(r,"add")),t.set(e,r),m(),r}function _(e){return t.get(e)}function x(e){var n=_(e);if(!n)return!1;v();var r=n.links;if(r){n.links=null;for(var o=0;o<r.length;++o)O(r[o])}return t.delete(e),p(n,"remove"),m(),!0}function k(){return t.size}function E(){return n.length}function O(e){if(!e)return!1;var t=o(e,n);if(t<0)return!1;v(),n.splice(t,1);var r=_(e.fromId),i=_(e.toId);return r&&(t=o(e,r.links))>=0&&r.links.splice(t,1),i&&(t=o(e,i.links))>=0&&i.links.splice(t,1),h(e,"remove"),m(),!0}function C(e,t){var n,r=_(e);if(!r||!r.links)return null;for(n=0;n<r.links.length;++n){var o=r.links[n];if(o.fromId===e&&o.toId===t)return o}return null}function T(){}function M(){l+=1}function S(){0===(l-=1)&&f.length>0&&(g.fire("changed",f),f.length=0)}function P(e){if("function"!==typeof e)throw new Error("Function is expected to iterate over graph nodes. You passed "+e);for(var n=t.values(),r=n.next();!r.done;){if(e(r.value))return!0;r=n.next()}}};var r=n(84245);function o(e,t){if(!t)return-1;if(t.indexOf)return t.indexOf(e);var n,r=t.length;for(n=0;n<r;n+=1)if(t[n]===e)return n;return-1}function i(e,t){this.id=e,this.links=null,this.data=t}function a(e,t){e.links?e.links.push(t):e.links=[t]}function s(e,t,n,r){this.fromId=e,this.toId=t,this.data=n,this.id=r}function u(e,t){return e.toString()+"\ud83d\udc49 "+t.toString()}},35510:function(e){e.exports=function e(t,n){var r;t||(t={});if(n)for(r in n)if(n.hasOwnProperty(r)){var o=t.hasOwnProperty(r),i=typeof n[r];!o||typeof t[r]!==i?t[r]=n[r]:"object"===i&&(t[r]=e(t[r],n[r]))}return t}},78712:function(e){function t(e){return new n("number"===typeof e?e:+new Date)}function n(e){this.seed=e}function r(e){return Math.sqrt(2*Math.PI/e)*Math.pow(1/Math.E*(e+1/(12*e-1/(10*e))),e)}function o(){var e=this.seed;return e=4294967295&(3042594569^(e=(e=4294967295&((e=(e=4294967295&(3345072700^(e=e+2127912214+(e<<12)&4294967295)^e>>>19))+374761393+(e<<5)&4294967295)+3550635116^e<<9))+4251993797+(e<<3)&4294967295)^e>>>16),this.seed=e,(268435455&e)/268435456}e.exports=t,e.exports.random=t,e.exports.randomIterator=function(e,n){var r=n||t();if("function"!==typeof r.next)throw new Error("customRandom does not match expected API: next() function is missing");return{forEach:function(t){var n,o,i;for(n=e.length-1;n>0;--n)o=r.next(n+1),i=e[o],e[o]=e[n],e[n]=i,t(i);e.length&&t(e[0])},shuffle:function(){var t,n,o;for(t=e.length-1;t>0;--t)n=r.next(t+1),o=e[n],e[n]=e[t],e[t]=o;return e}}},n.prototype.next=function(e){return Math.floor(this.nextDouble()*e)},n.prototype.nextDouble=o,n.prototype.uniform=o,n.prototype.gaussian=function(){var e,t,n;do{t=2*this.nextDouble()-1,n=2*this.nextDouble()-1,e=t*t+n*n}while(e>=1||0===e);return t*Math.sqrt(-2*Math.log(e)/e)},n.prototype.levy=function(){var e=1.5,t=Math.pow(r(2.5)*Math.sin(Math.PI*e/2)/(r(1.25)*e*Math.pow(2,.25)),1/e);return this.gaussian()*t/Math.pow(Math.abs(this.gaussian()),1/e)}},75:function(e,t,n){var r=n(34155);(function(){var t,n,o,i,a,s;"undefined"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!==typeof r&&null!==r&&r.hrtime?(e.exports=function(){return(t()-a)/1e6},n=r.hrtime,i=(t=function(){var e;return 1e9*(e=n())[0]+e[1]})(),s=1e9*r.uptime(),a=i-s):Date.now?(e.exports=function(){return Date.now()-o},o=Date.now()):(e.exports=function(){return(new Date).getTime()-o},o=(new Date).getTime())}).call(this)},87236:function(e){var t=null,n=["Webkit","Moz","O","ms"];e.exports=function(e){t||(t=document.createElement("div"));var r=t.style;if(e in r)return e;for(var o=e.charAt(0).toUpperCase()+e.slice(1),i=n.length;i>=0;i--){var a=n[i]+o;if(a in r)return a}return!1}},34155:function(e){var t,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"===typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"===typeof clearTimeout?clearTimeout:i}catch(e){n=i}}();var s,u=[],c=!1,l=-1;function d(){c&&s&&(c=!1,s.length?u=s.concat(u):l=-1,u.length&&f())}function f(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(s=u,u=[];++l<t;)s&&s[l].run();l=-1,t=u.length}s=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function p(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new h(e,t)),1!==u.length||c||a(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=p,r.addListener=p,r.once=p,r.off=p,r.removeListener=p,r.removeAllListeners=p,r.emit=p,r.prependListener=p,r.prependOnceListener=p,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},54087:function(e,t,n){for(var r=n(75),o="undefined"===typeof window?n.g:window,i=["moz","webkit"],a="AnimationFrame",s=o["request"+a],u=o["cancel"+a]||o["cancelRequest"+a],c=0;!s&&c<i.length;c++)s=o[i[c]+"Request"+a],u=o[i[c]+"Cancel"+a]||o[i[c]+"CancelRequest"+a];if(!s||!u){var l=0,d=0,f=[];s=function(e){if(0===f.length){var t=r(),n=Math.max(0,16.666666666666668-(t-l));l=n+t,setTimeout((function(){var e=f.slice(0);f.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(l)}catch(n){setTimeout((function(){throw n}),0)}}),Math.round(n))}return f.push({handle:++d,callback:e,cancelled:!1}),d},u=function(e){for(var t=0;t<f.length;t++)f[t].handle===e&&(f[t].cancelled=!0)}}e.exports=function(e){return s.call(o,e)},e.exports.cancel=function(){u.apply(o,arguments)},e.exports.polyfill=function(e){e||(e=o),e.requestAnimationFrame=s,e.cancelAnimationFrame=u}},33485:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.renderViewDefault=function(e){return a.default.createElement("div",e)},t.renderTrackHorizontalDefault=function(e){var t=e.style,n=s(e,["style"]),o=r({},t,{right:2,bottom:2,left:2,borderRadius:3});return a.default.createElement("div",r({style:o},n))},t.renderTrackVerticalDefault=function(e){var t=e.style,n=s(e,["style"]),o=r({},t,{right:2,bottom:2,top:2,borderRadius:3});return a.default.createElement("div",r({style:o},n))},t.renderThumbHorizontalDefault=function(e){var t=e.style,n=s(e,["style"]),o=r({},t,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return a.default.createElement("div",r({style:o},n))},t.renderThumbVerticalDefault=function(e){var t=e.style,n=s(e,["style"]),o=r({},t,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return a.default.createElement("div",r({style:o},n))};var o,i=n(67294),a=(o=i)&&o.__esModule?o:{default:o};function s(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},36164:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(54087),a=g(i),s=g(n(53879)),u=n(67294),c=g(n(45697)),l=g(n(77928)),d=g(n(66445)),f=g(n(18309)),h=g(n(51608)),p=g(n(43840)),v=n(58285),m=n(33485);function g(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}var w=function(e){function t(e){var n;y(this,t);for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=b(this,(n=t.__proto__||Object.getPrototypeOf(t)).call.apply(n,[this,e].concat(o)));return a.getScrollLeft=a.getScrollLeft.bind(a),a.getScrollTop=a.getScrollTop.bind(a),a.getScrollWidth=a.getScrollWidth.bind(a),a.getScrollHeight=a.getScrollHeight.bind(a),a.getClientWidth=a.getClientWidth.bind(a),a.getClientHeight=a.getClientHeight.bind(a),a.getValues=a.getValues.bind(a),a.getThumbHorizontalWidth=a.getThumbHorizontalWidth.bind(a),a.getThumbVerticalHeight=a.getThumbVerticalHeight.bind(a),a.getScrollLeftForOffset=a.getScrollLeftForOffset.bind(a),a.getScrollTopForOffset=a.getScrollTopForOffset.bind(a),a.scrollLeft=a.scrollLeft.bind(a),a.scrollTop=a.scrollTop.bind(a),a.scrollToLeft=a.scrollToLeft.bind(a),a.scrollToTop=a.scrollToTop.bind(a),a.scrollToRight=a.scrollToRight.bind(a),a.scrollToBottom=a.scrollToBottom.bind(a),a.handleTrackMouseEnter=a.handleTrackMouseEnter.bind(a),a.handleTrackMouseLeave=a.handleTrackMouseLeave.bind(a),a.handleHorizontalTrackMouseDown=a.handleHorizontalTrackMouseDown.bind(a),a.handleVerticalTrackMouseDown=a.handleVerticalTrackMouseDown.bind(a),a.handleHorizontalThumbMouseDown=a.handleHorizontalThumbMouseDown.bind(a),a.handleVerticalThumbMouseDown=a.handleVerticalThumbMouseDown.bind(a),a.handleWindowResize=a.handleWindowResize.bind(a),a.handleScroll=a.handleScroll.bind(a),a.handleDrag=a.handleDrag.bind(a),a.handleDragEnd=a.handleDragEnd.bind(a),a.state={didMountUniversal:!1},a}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){this.addListeners(),this.update(),this.componentDidMountUniversal()}},{key:"componentDidMountUniversal",value:function(){this.props.universal&&this.setState({didMountUniversal:!0})}},{key:"componentDidUpdate",value:function(){this.update()}},{key:"componentWillUnmount",value:function(){this.removeListeners(),(0,i.cancel)(this.requestFrame),clearTimeout(this.hideTracksTimeout),clearInterval(this.detectScrollingInterval)}},{key:"getScrollLeft",value:function(){return this.view?this.view.scrollLeft:0}},{key:"getScrollTop",value:function(){return this.view?this.view.scrollTop:0}},{key:"getScrollWidth",value:function(){return this.view?this.view.scrollWidth:0}},{key:"getScrollHeight",value:function(){return this.view?this.view.scrollHeight:0}},{key:"getClientWidth",value:function(){return this.view?this.view.clientWidth:0}},{key:"getClientHeight",value:function(){return this.view?this.view.clientHeight:0}},{key:"getValues",value:function(){var e=this.view||{},t=e.scrollLeft,n=void 0===t?0:t,r=e.scrollTop,o=void 0===r?0:r,i=e.scrollWidth,a=void 0===i?0:i,s=e.scrollHeight,u=void 0===s?0:s,c=e.clientWidth,l=void 0===c?0:c,d=e.clientHeight,f=void 0===d?0:d;return{left:n/(a-l)||0,top:o/(u-f)||0,scrollLeft:n,scrollTop:o,scrollWidth:a,scrollHeight:u,clientWidth:l,clientHeight:f}}},{key:"getThumbHorizontalWidth",value:function(){var e=this.props,t=e.thumbSize,n=e.thumbMinSize,r=this.view,o=r.scrollWidth,i=r.clientWidth,a=(0,h.default)(this.trackHorizontal),s=Math.ceil(i/o*a);return a<=s?0:t||Math.max(s,n)}},{key:"getThumbVerticalHeight",value:function(){var e=this.props,t=e.thumbSize,n=e.thumbMinSize,r=this.view,o=r.scrollHeight,i=r.clientHeight,a=(0,p.default)(this.trackVertical),s=Math.ceil(i/o*a);return a<=s?0:t||Math.max(s,n)}},{key:"getScrollLeftForOffset",value:function(e){var t=this.view,n=t.scrollWidth,r=t.clientWidth;return e/((0,h.default)(this.trackHorizontal)-this.getThumbHorizontalWidth())*(n-r)}},{key:"getScrollTopForOffset",value:function(e){var t=this.view,n=t.scrollHeight,r=t.clientHeight;return e/((0,p.default)(this.trackVertical)-this.getThumbVerticalHeight())*(n-r)}},{key:"scrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.view&&(this.view.scrollLeft=e)}},{key:"scrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.view&&(this.view.scrollTop=e)}},{key:"scrollToLeft",value:function(){this.view&&(this.view.scrollLeft=0)}},{key:"scrollToTop",value:function(){this.view&&(this.view.scrollTop=0)}},{key:"scrollToRight",value:function(){this.view&&(this.view.scrollLeft=this.view.scrollWidth)}},{key:"scrollToBottom",value:function(){this.view&&(this.view.scrollTop=this.view.scrollHeight)}},{key:"addListeners",value:function(){if("undefined"!==typeof document&&this.view){var e=this.view,t=this.trackHorizontal,n=this.trackVertical,r=this.thumbHorizontal,o=this.thumbVertical;e.addEventListener("scroll",this.handleScroll),(0,d.default)()&&(t.addEventListener("mouseenter",this.handleTrackMouseEnter),t.addEventListener("mouseleave",this.handleTrackMouseLeave),t.addEventListener("mousedown",this.handleHorizontalTrackMouseDown),n.addEventListener("mouseenter",this.handleTrackMouseEnter),n.addEventListener("mouseleave",this.handleTrackMouseLeave),n.addEventListener("mousedown",this.handleVerticalTrackMouseDown),r.addEventListener("mousedown",this.handleHorizontalThumbMouseDown),o.addEventListener("mousedown",this.handleVerticalThumbMouseDown),window.addEventListener("resize",this.handleWindowResize))}}},{key:"removeListeners",value:function(){if("undefined"!==typeof document&&this.view){var e=this.view,t=this.trackHorizontal,n=this.trackVertical,r=this.thumbHorizontal,o=this.thumbVertical;e.removeEventListener("scroll",this.handleScroll),(0,d.default)()&&(t.removeEventListener("mouseenter",this.handleTrackMouseEnter),t.removeEventListener("mouseleave",this.handleTrackMouseLeave),t.removeEventListener("mousedown",this.handleHorizontalTrackMouseDown),n.removeEventListener("mouseenter",this.handleTrackMouseEnter),n.removeEventListener("mouseleave",this.handleTrackMouseLeave),n.removeEventListener("mousedown",this.handleVerticalTrackMouseDown),r.removeEventListener("mousedown",this.handleHorizontalThumbMouseDown),o.removeEventListener("mousedown",this.handleVerticalThumbMouseDown),window.removeEventListener("resize",this.handleWindowResize),this.teardownDragging())}}},{key:"handleScroll",value:function(e){var t=this,n=this.props,r=n.onScroll,o=n.onScrollFrame;r&&r(e),this.update((function(e){var n=e.scrollLeft,r=e.scrollTop;t.viewScrollLeft=n,t.viewScrollTop=r,o&&o(e)})),this.detectScrolling()}},{key:"handleScrollStart",value:function(){var e=this.props.onScrollStart;e&&e(),this.handleScrollStartAutoHide()}},{key:"handleScrollStartAutoHide",value:function(){this.props.autoHide&&this.showTracks()}},{key:"handleScrollStop",value:function(){var e=this.props.onScrollStop;e&&e(),this.handleScrollStopAutoHide()}},{key:"handleScrollStopAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"handleWindowResize",value:function(){(0,d.default)(!1),this.forceUpdate()}},{key:"handleHorizontalTrackMouseDown",value:function(e){e.preventDefault();var t=e.target,n=e.clientX,r=t.getBoundingClientRect().left,o=this.getThumbHorizontalWidth(),i=Math.abs(r-n)-o/2;this.view.scrollLeft=this.getScrollLeftForOffset(i)}},{key:"handleVerticalTrackMouseDown",value:function(e){e.preventDefault();var t=e.target,n=e.clientY,r=t.getBoundingClientRect().top,o=this.getThumbVerticalHeight(),i=Math.abs(r-n)-o/2;this.view.scrollTop=this.getScrollTopForOffset(i)}},{key:"handleHorizontalThumbMouseDown",value:function(e){e.preventDefault(),this.handleDragStart(e);var t=e.target,n=e.clientX,r=t.offsetWidth,o=t.getBoundingClientRect().left;this.prevPageX=r-(n-o)}},{key:"handleVerticalThumbMouseDown",value:function(e){e.preventDefault(),this.handleDragStart(e);var t=e.target,n=e.clientY,r=t.offsetHeight,o=t.getBoundingClientRect().top;this.prevPageY=r-(n-o)}},{key:"setupDragging",value:function(){(0,s.default)(document.body,v.disableSelectStyle),document.addEventListener("mousemove",this.handleDrag),document.addEventListener("mouseup",this.handleDragEnd),document.onselectstart=f.default}},{key:"teardownDragging",value:function(){(0,s.default)(document.body,v.disableSelectStyleReset),document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.handleDragEnd),document.onselectstart=void 0}},{key:"handleDragStart",value:function(e){this.dragging=!0,e.stopImmediatePropagation(),this.setupDragging()}},{key:"handleDrag",value:function(e){if(this.prevPageX){var t=e.clientX,n=-this.trackHorizontal.getBoundingClientRect().left+t-(this.getThumbHorizontalWidth()-this.prevPageX);this.view.scrollLeft=this.getScrollLeftForOffset(n)}if(this.prevPageY){var r=e.clientY,o=-this.trackVertical.getBoundingClientRect().top+r-(this.getThumbVerticalHeight()-this.prevPageY);this.view.scrollTop=this.getScrollTopForOffset(o)}return!1}},{key:"handleDragEnd",value:function(){this.dragging=!1,this.prevPageX=this.prevPageY=0,this.teardownDragging(),this.handleDragEndAutoHide()}},{key:"handleDragEndAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"handleTrackMouseEnter",value:function(){this.trackMouseOver=!0,this.handleTrackMouseEnterAutoHide()}},{key:"handleTrackMouseEnterAutoHide",value:function(){this.props.autoHide&&this.showTracks()}},{key:"handleTrackMouseLeave",value:function(){this.trackMouseOver=!1,this.handleTrackMouseLeaveAutoHide()}},{key:"handleTrackMouseLeaveAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"showTracks",value:function(){clearTimeout(this.hideTracksTimeout),(0,s.default)(this.trackHorizontal,{opacity:1}),(0,s.default)(this.trackVertical,{opacity:1})}},{key:"hideTracks",value:function(){var e=this;if(!this.dragging&&!this.scrolling&&!this.trackMouseOver){var t=this.props.autoHideTimeout;clearTimeout(this.hideTracksTimeout),this.hideTracksTimeout=setTimeout((function(){(0,s.default)(e.trackHorizontal,{opacity:0}),(0,s.default)(e.trackVertical,{opacity:0})}),t)}}},{key:"detectScrolling",value:function(){var e=this;this.scrolling||(this.scrolling=!0,this.handleScrollStart(),this.detectScrollingInterval=setInterval((function(){e.lastViewScrollLeft===e.viewScrollLeft&&e.lastViewScrollTop===e.viewScrollTop&&(clearInterval(e.detectScrollingInterval),e.scrolling=!1,e.handleScrollStop()),e.lastViewScrollLeft=e.viewScrollLeft,e.lastViewScrollTop=e.viewScrollTop}),100))}},{key:"raf",value:function(e){var t=this;this.requestFrame&&a.default.cancel(this.requestFrame),this.requestFrame=(0,a.default)((function(){t.requestFrame=void 0,e()}))}},{key:"update",value:function(e){var t=this;this.raf((function(){return t._update(e)}))}},{key:"_update",value:function(e){var t=this.props,n=t.onUpdate,r=t.hideTracksWhenNotNeeded,o=this.getValues();if((0,d.default)()){var i=o.scrollLeft,a=o.clientWidth,u=o.scrollWidth,c=(0,h.default)(this.trackHorizontal),l=this.getThumbHorizontalWidth(),f={width:l,transform:"translateX("+i/(u-a)*(c-l)+"px)"},v=o.scrollTop,m=o.clientHeight,g=o.scrollHeight,y=(0,p.default)(this.trackVertical),b=this.getThumbVerticalHeight(),w={height:b,transform:"translateY("+v/(g-m)*(y-b)+"px)"};if(r){var _={visibility:u>a?"visible":"hidden"},x={visibility:g>m?"visible":"hidden"};(0,s.default)(this.trackHorizontal,_),(0,s.default)(this.trackVertical,x)}(0,s.default)(this.thumbHorizontal,f),(0,s.default)(this.thumbVertical,w)}n&&n(o),"function"===typeof e&&e(o)}},{key:"render",value:function(){var e=this,t=(0,d.default)(),n=this.props,o=(n.onScroll,n.onScrollFrame,n.onScrollStart,n.onScrollStop,n.onUpdate,n.renderView),i=n.renderTrackHorizontal,a=n.renderTrackVertical,s=n.renderThumbHorizontal,c=n.renderThumbVertical,f=n.tagName,h=(n.hideTracksWhenNotNeeded,n.autoHide),p=(n.autoHideTimeout,n.autoHideDuration),m=(n.thumbSize,n.thumbMinSize,n.universal),g=n.autoHeight,y=n.autoHeightMin,b=n.autoHeightMax,w=n.style,_=n.children,x=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n,["onScroll","onScrollFrame","onScrollStart","onScrollStop","onUpdate","renderView","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","tagName","hideTracksWhenNotNeeded","autoHide","autoHideTimeout","autoHideDuration","thumbSize","thumbMinSize","universal","autoHeight","autoHeightMin","autoHeightMax","style","children"]),k=this.state.didMountUniversal,E=r({},v.containerStyleDefault,g&&r({},v.containerStyleAutoHeight,{minHeight:y,maxHeight:b}),w),O=r({},v.viewStyleDefault,{marginRight:t?-t:0,marginBottom:t?-t:0},g&&r({},v.viewStyleAutoHeight,{minHeight:(0,l.default)(y)?"calc("+y+" + "+t+"px)":y+t,maxHeight:(0,l.default)(b)?"calc("+b+" + "+t+"px)":b+t}),g&&m&&!k&&{minHeight:y,maxHeight:b},m&&!k&&v.viewStyleUniversalInitial),C={transition:"opacity "+p+"ms",opacity:0},T=r({},v.trackHorizontalStyleDefault,h&&C,(!t||m&&!k)&&{display:"none"}),M=r({},v.trackVerticalStyleDefault,h&&C,(!t||m&&!k)&&{display:"none"});return(0,u.createElement)(f,r({},x,{style:E,ref:function(t){e.container=t}}),[(0,u.cloneElement)(o({style:O}),{key:"view",ref:function(t){e.view=t}},_),(0,u.cloneElement)(i({style:T}),{key:"trackHorizontal",ref:function(t){e.trackHorizontal=t}},(0,u.cloneElement)(s({style:v.thumbHorizontalStyleDefault}),{ref:function(t){e.thumbHorizontal=t}})),(0,u.cloneElement)(a({style:M}),{key:"trackVertical",ref:function(t){e.trackVertical=t}},(0,u.cloneElement)(c({style:v.thumbVerticalStyleDefault}),{ref:function(t){e.thumbVertical=t}}))])}}]),t}(u.Component);t.default=w,w.propTypes={onScroll:c.default.func,onScrollFrame:c.default.func,onScrollStart:c.default.func,onScrollStop:c.default.func,onUpdate:c.default.func,renderView:c.default.func,renderTrackHorizontal:c.default.func,renderTrackVertical:c.default.func,renderThumbHorizontal:c.default.func,renderThumbVertical:c.default.func,tagName:c.default.string,thumbSize:c.default.number,thumbMinSize:c.default.number,hideTracksWhenNotNeeded:c.default.bool,autoHide:c.default.bool,autoHideTimeout:c.default.number,autoHideDuration:c.default.number,autoHeight:c.default.bool,autoHeightMin:c.default.oneOfType([c.default.number,c.default.string]),autoHeightMax:c.default.oneOfType([c.default.number,c.default.string]),universal:c.default.bool,style:c.default.object,children:c.default.node},w.defaultProps={renderView:m.renderViewDefault,renderTrackHorizontal:m.renderTrackHorizontalDefault,renderTrackVertical:m.renderTrackVerticalDefault,renderThumbHorizontal:m.renderThumbHorizontalDefault,renderThumbVertical:m.renderThumbVerticalDefault,tagName:"div",thumbMinSize:30,hideTracksWhenNotNeeded:!1,autoHide:!1,autoHideTimeout:1e3,autoHideDuration:200,autoHeight:!1,autoHeightMin:0,autoHeightMax:200,universal:!1}},58285:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.containerStyleDefault={position:"relative",overflow:"hidden",width:"100%",height:"100%"},t.containerStyleAutoHeight={height:"auto"},t.viewStyleDefault={position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"scroll",WebkitOverflowScrolling:"touch"},t.viewStyleAutoHeight={position:"relative",top:void 0,left:void 0,right:void 0,bottom:void 0},t.viewStyleUniversalInitial={overflow:"hidden",marginRight:0,marginBottom:0},t.trackHorizontalStyleDefault={position:"absolute",height:6},t.trackVerticalStyleDefault={position:"absolute",width:6},t.thumbHorizontalStyleDefault={position:"relative",display:"block",height:"100%"},t.thumbVerticalStyleDefault={position:"relative",display:"block",width:"100%"},t.disableSelectStyle={userSelect:"none"},t.disableSelectStyleReset={userSelect:""}},86658:function(e,t,n){"use strict";var r,o=n(36164),i=(r=o)&&r.__esModule?r:{default:r};t.ZP=i.default,i.default},43840:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.clientHeight,n=getComputedStyle(e),r=n.paddingTop,o=n.paddingBottom;return t-parseFloat(r)-parseFloat(o)}},51608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.clientWidth,n=getComputedStyle(e),r=n.paddingLeft,o=n.paddingRight;return t-parseFloat(r)-parseFloat(o)}},66445:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(e&&!1!==a)return a;if("undefined"!==typeof document){var t=document.createElement("div");(0,i.default)(t,{width:100,height:100,position:"absolute",top:-9999,overflow:"scroll",MsOverflowStyle:"scrollbar"}),document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}else a=0;return a||0};var r,o=n(53879),i=(r=o)&&r.__esModule?r:{default:r};var a=!1},77928:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"===typeof e}},18309:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!1}},69590:function(e){var t="undefined"!==typeof Element,n="function"===typeof Map,r="function"===typeof Set,o="function"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,a){if(e===a)return!0;if(e&&a&&"object"==typeof e&&"object"==typeof a){if(e.constructor!==a.constructor)return!1;var s,u,c,l;if(Array.isArray(e)){if((s=e.length)!=a.length)return!1;for(u=s;0!==u--;)if(!i(e[u],a[u]))return!1;return!0}if(n&&e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(l=e.entries();!(u=l.next()).done;)if(!a.has(u.value[0]))return!1;for(l=e.entries();!(u=l.next()).done;)if(!i(u.value[1],a.get(u.value[0])))return!1;return!0}if(r&&e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(l=e.entries();!(u=l.next()).done;)if(!a.has(u.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(a)){if((s=e.length)!=a.length)return!1;for(u=s;0!==u--;)if(e[u]!==a[u])return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===a.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(a).length)return!1;for(u=s;0!==u--;)if(!Object.prototype.hasOwnProperty.call(a,c[u]))return!1;if(t&&e instanceof Element)return!1;for(u=s;0!==u--;)if(("_owner"!==c[u]&&"__v"!==c[u]&&"__o"!==c[u]||!e.$$typeof)&&!i(e[c[u]],a[c[u]]))return!1;return!0}return e!==e&&a!==a}e.exports=function(e,t){try{return i(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},61957:function(e,n,r){"use strict";r.d(n,{f$:function(){return Fi},s6:function(){return zi}});var o=r(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"===typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var l=function(e,t){var n=new Set(t);return Object.assign.apply(Object,[{}].concat(s(Object.entries(e).filter((function(e){var t=a(e,1)[0];return!n.has(t)})).map((function(e){var t=a(e,2);return i({},t[0],t[1])})))))},d=r(23405),f=r.n(d);function h(e){return(h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||m(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){if(e){if("string"===typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var y=function(e,t){var n="object"===h(t)?t:{wrapperElementType:t,methodNames:(arguments.length<=2?void 0:arguments[2])||void 0,initPropNames:(arguments.length<=3?void 0:arguments[3])||void 0},r=n.wrapperElementType,i=void 0===r?"div":r,a=n.nodeMapper,s=void 0===a?function(e){return e}:a,u=n.methodNames,c=void 0===u?[]:u,d=n.initPropNames,m=void 0===d?[]:d;return(0,o.forwardRef)((function(t,n){var r=(0,o.useRef)(),a=p((0,o.useState)({}),2),u=a[0],d=a[1];(0,o.useEffect)((function(){return d(t)}));var h=(0,o.useMemo)((function(){var n=f()(m.filter((function(e){return t.hasOwnProperty(e)})).map((function(e){return[e,t[e]]})));return e(n)}),[]);(0,o.useLayoutEffect)((function(){h(s(r.current))}),[]),(0,o.useEffect)((function(){return h._destructor instanceof Function?h._destructor:void 0}),[]);var g=(0,o.useCallback)((function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return h[e]instanceof Function?h[e].apply(h,n):void 0}),[h]),y=l(t,[].concat(v(c),v(m)));return Object.keys(y).filter((function(e){return u[e]!==t[e]})).forEach((function(e){return g(e,t[e])})),(0,o.useImperativeHandle)(n,(function(){return f()(c.map((function(e){return[e,function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return g.apply(void 0,[e].concat(n))}]})))})),o.createElement(i,{ref:r})}))},b=(r(75569),r(60401),r(31359),r(44858)),w=r(92539);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||C(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){if(e){if("string"===typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".graph-nav-info {\n  position: absolute;\n  bottom: 5px;\n  width: 100%;\n  text-align: center;\n  color: slategrey;\n  opacity: 0.7;\n  font-size: 10px;\n  font-family: Sans-serif;\n  z-index: 1000;\n}");var M=(0,b.Z)({props:{width:{default:window.innerWidth,triggerUpdate:!1,onChange:function(e,t){t.container&&(t.container.style.width=e)}},height:{default:window.innerHeight,triggerUpdate:!1,onChange:function(e,t){t.container&&(t.container.style.height=e)}},jsonUrl:{},graphData:{default:{nodes:[],links:[]}},numDimensions:{default:3},dagMode:{},dagLevelDistance:{},dagNodeFilter:{default:function(){return!0}},onDagError:{default:void 0},backgroundColor:{default:"#002"},showNavInfo:{default:!0},nodeRelSize:{default:4},nodeId:{default:"id"},nodeLabel:{default:"name"},nodeDesc:{default:"desc"},onNodeHover:{},onNodeClick:{},nodeVal:{default:"val"},nodeResolution:{default:8},nodeVisibility:{default:!0},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkLabel:{default:"name"},linkDesc:{default:"desc"},onLinkHover:{},onLinkClick:{},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{default:0},linkResolution:{default:6},linkCurvature:{default:0},linkCurveRotation:{default:0},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228},d3VelocityDecay:{default:.4},ngraphPhysics:{},warmupTicks:{default:0},cooldownTicks:{},cooldownTime:{default:15e3},onEngineTick:{},onEngineStop:{}},methods:x(x({},Object.assign.apply(Object,[{}].concat(O(["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"].map((function(e){return k({},e,(function(t){for(var n=t.forcegraph.components.forcegraph,r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=n[e].apply(n,o);return a===n?this:a}))})))))),{},{_destructor:function(){this.graphData({nodes:[],links:[]})}}),init:function(e,t){e.innerHTML="",t.container=document.createElement("div"),e.appendChild(t.container),t.container.style.position="relative",t.container.style.width=t.width,t.container.style.height=t.height,t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="graph-nav-info",t.navInfo.textContent="Mouse drag: look, gamepad/arrow/wasd keys: move";var n,r,o,i,a,s=document.createElement("a-scene");s.setAttribute("embedded",""),s.appendChild(t.sky=document.createElement("a-sky")),t.sky.setAttribute("radius",3e3),s.appendChild(n=document.createElement("a-entity")),n.setAttribute("position","0 0 300"),n.setAttribute("movement-controls","fly: true; speed: 7"),n.appendChild(r=document.createElement("a-entity")),r.setAttribute("camera",""),r.setAttribute("position","0 0 0"),r.setAttribute("look-controls","reverseMouseDrag: false; pointerLockEnabled: false"),r.appendChild(o=document.createElement("a-text")),o.setAttribute("position","0 -0.3 -1"),o.setAttribute("width",2),o.setAttribute("align","center"),o.setAttribute("color","lavender"),o.setAttribute("value",""),r.appendChild(i=document.createElement("a-text")),i.setAttribute("position","0 -0.4 -1"),i.setAttribute("width",1.3),i.setAttribute("align","center"),i.setAttribute("color","lavender"),i.setAttribute("value",""),s.appendChild(a=document.createElement("a-entity")),a.setAttribute("cursor","rayOrigin: mouse; mouseCursorStylesEnabled: true"),a.setAttribute("raycaster","objects: [forcegraph]; interval: 100"),["left","right"].forEach((function(e){var t;n.appendChild(t=document.createElement("a-entity")),t.setAttribute("laser-controls","hand: ".concat(e)),t.setAttribute("raycaster","objects: [forcegraph]; interval: 100; lineColor: steelblue; lineOpacity: 0.85")})),s.appendChild(t.forcegraph=document.createElement("a-entity")),t.forcegraph.setAttribute("forcegraph",null),t.container.appendChild(s),t.forcegraph.setAttribute("forcegraph",Object.assign.apply(Object,O(["node","link"].map((function(e){var n={node:"Node",link:"Link"}[e];return k({},"on".concat(n,"Hover"),(function(r,a){var s=r&&(0,w.default)(t["".concat(e,"Label")])(r)||"",u=r&&(0,w.default)(t["".concat(e,"Desc")])(r)||"";o.setAttribute("value",s),i.setAttribute("value",u),t["on".concat(n,"Hover")]&&t["on".concat(n,"Hover")](r,a)}))})))))},update:function(e,t){t.hasOwnProperty("backgroundColor")&&e.sky.setAttribute("color",e.backgroundColor),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none");var n=["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","onNodeClick","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","onLinkClick","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"],r=Object.assign.apply(Object,[{}].concat(O(Object.entries(e).filter((function(e){var r=E(e,2),o=r[0],i=r[1];return t.hasOwnProperty(o)&&-1!==n.indexOf(o)&&void 0!==i&&null!==i})).map((function(e){var t=E(e,2);return k({},t[0],t[1])}))),O(Object.entries(e.graphData).map((function(e){var t=E(e,2);return k({},t[0],t[1])})))));e.forcegraph.setAttribute("forcegraph",r)}}),S=r(45697),P=r.n(S);function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){A(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function A(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||L(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e){return function(e){if(Array.isArray(e))return N(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||L(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e,t){if(e){if("string"===typeof e)return N(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?N(e,t):void 0}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var B=(0,b.Z)({props:{width:{},height:{},yOffset:{default:1.5},glScale:{default:200},jsonUrl:{},graphData:{default:{nodes:[],links:[]}},numDimensions:{default:3},dagMode:{},dagLevelDistance:{},dagNodeFilter:{default:function(){return!0}},onDagError:{default:void 0},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeVisibility:{default:!0},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{default:0},linkResolution:{default:6},linkCurvature:{default:0},linkCurveRotation:{default:0},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},onNodeHover:{},onNodeClick:{},onLinkHover:{},onLinkClick:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228},d3VelocityDecay:{default:.4},ngraphPhysics:{},warmupTicks:{default:0},cooldownTicks:{},cooldownTime:{default:15e3},onEngineTick:{},onEngineStop:{}},methods:I(I({},Object.assign.apply(Object,[{}].concat(D(["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"].map((function(e){return A({},e,(function(t){for(var n=t.forcegraph.components.forcegraph,r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=n[e].apply(n,o);return a===n?this:a}))})))))),{},{_destructor:function(){this.graphData({nodes:[],links:[]})}}),init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.markerAttrs,o=void 0===r?{preset:"hiro"}:r;e.innerHTML="",t.container=document.createElement("div"),e.appendChild(t.container);var i=document.createElement("a-scene");i.setAttribute("embedded",""),i.setAttribute("arjs","debugUIEnabled: false;");var a,s=document.createElement("a-marker");Object.entries(o).forEach((function(e){var t=R(e,2),n=t[0],r=t[1];return s.setAttribute(n,r)})),i.appendChild(s),i.appendChild(a=document.createElement("a-entity")),a.setAttribute("cursor"),a.setAttribute("raycaster","objects: [forcegraph]"),t.forcegraph=document.createElement("a-entity"),t.forcegraph.setAttribute("forcegraph",null),s.appendChild(t.forcegraph);var u=document.createElement("a-entity");u.setAttribute("camera",""),i.appendChild(u),t.container.appendChild(i)},update:function(e,t){t.hasOwnProperty("width")&&e.width&&(e.container.style.width=e.width),t.hasOwnProperty("height")&&e.height&&(e.container.style.height=e.height),t.hasOwnProperty("glScale")&&e.forcegraph.setAttribute("scale",D(new Array(3)).map((function(){return 1/e.glScale})).join(" ")),t.hasOwnProperty("yOffset")&&e.forcegraph.setAttribute("position","0 ".concat(e.yOffset," 0"));var n=["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","onNodeHover","onNodeClick","onLinkHover","onLinkClick","forceEngine","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"],r=Object.assign.apply(Object,[{}].concat(D(Object.entries(e).filter((function(e){var r=R(e,2),o=r[0],i=r[1];return t.hasOwnProperty(o)&&-1!==n.indexOf(o)&&void 0!==i&&null!==i})).map((function(e){var t=R(e,2);return A({},t[0],t[1])}))),D(Object.entries(e.graphData).map((function(e){var t=R(e,2);return A({},t[0],t[1])})))));e.forcegraph.setAttribute("forcegraph",r)}}),z=r(2212);const F=new z.JOQ,H=new z.iMs,V=new z.FM8,W=new z.Pa4,U=new z.Pa4,G=new z.Pa4,q=new z.yGw;class K extends z.pBf{constructor(e,t,n){super(),n.style.touchAction="none";let r=null,o=null;const i=[],a=this;function s(){n.addEventListener("pointermove",c),n.addEventListener("pointerdown",l),n.addEventListener("pointerup",d),n.addEventListener("pointerleave",d)}function u(){n.removeEventListener("pointermove",c),n.removeEventListener("pointerdown",l),n.removeEventListener("pointerup",d),n.removeEventListener("pointerleave",d),n.style.cursor=""}function c(s){if(!1!==a.enabled){if(f(s),H.setFromCamera(V,t),r)return H.ray.intersectPlane(F,U)&&r.position.copy(U.sub(W).applyMatrix4(q)),void a.dispatchEvent({type:"drag",object:r});if("mouse"===s.pointerType||"pen"===s.pointerType)if(i.length=0,H.setFromCamera(V,t),H.intersectObjects(e,!0,i),i.length>0){const e=i[0].object;F.setFromNormalAndCoplanarPoint(t.getWorldDirection(F.normal),G.setFromMatrixPosition(e.matrixWorld)),o!==e&&null!==o&&(a.dispatchEvent({type:"hoveroff",object:o}),n.style.cursor="auto",o=null),o!==e&&(a.dispatchEvent({type:"hoveron",object:e}),n.style.cursor="pointer",o=e)}else null!==o&&(a.dispatchEvent({type:"hoveroff",object:o}),n.style.cursor="auto",o=null)}}function l(o){!1!==a.enabled&&(f(o),i.length=0,H.setFromCamera(V,t),H.intersectObjects(e,!0,i),i.length>0&&(r=!0===a.transformGroup?e[0]:i[0].object,F.setFromNormalAndCoplanarPoint(t.getWorldDirection(F.normal),G.setFromMatrixPosition(r.matrixWorld)),H.ray.intersectPlane(F,U)&&(q.copy(r.parent.matrixWorld).invert(),W.copy(U).sub(G.setFromMatrixPosition(r.matrixWorld))),n.style.cursor="move",a.dispatchEvent({type:"dragstart",object:r})))}function d(){!1!==a.enabled&&(r&&(a.dispatchEvent({type:"dragend",object:r}),r=null),n.style.cursor=o?"pointer":"auto")}function f(e){const t=n.getBoundingClientRect();V.x=(e.clientX-t.left)/t.width*2-1,V.y=-(e.clientY-t.top)/t.height*2+1}s(),this.enabled=!0,this.transformGroup=!1,this.activate=s,this.deactivate=u,this.dispose=function(){u()},this.getObjects=function(){return e}}}var Z=r(81398);const $={type:"change"},X={type:"start"},Y={type:"end"};class Q extends z.pBf{constructor(e,t){super(),void 0===t&&console.warn('THREE.TrackballControls: The second parameter "domElement" is now mandatory.'),t===document&&console.error('THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.');const n=this,r=-1,o=0,i=1,a=2,s=3,u=4;this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:z.RsA.ROTATE,MIDDLE:z.RsA.DOLLY,RIGHT:z.RsA.PAN},this.target=new z.Pa4;const c=1e-6,l=new z.Pa4;let d=1,f=r,h=r,p=0,v=0,m=0;const g=new z.Pa4,y=new z.FM8,b=new z.FM8,w=new z.Pa4,_=new z.FM8,x=new z.FM8,k=new z.FM8,E=new z.FM8,O=[],C={};this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.handleResize=function(){const e=n.domElement.getBoundingClientRect(),t=n.domElement.ownerDocument.documentElement;n.screen.left=e.left+window.pageXOffset-t.clientLeft,n.screen.top=e.top+window.pageYOffset-t.clientTop,n.screen.width=e.width,n.screen.height=e.height};const T=function(){const e=new z.FM8;return function(t,r){return e.set((t-n.screen.left)/n.screen.width,(r-n.screen.top)/n.screen.height),e}}(),M=function(){const e=new z.FM8;return function(t,r){return e.set((t-.5*n.screen.width-n.screen.left)/(.5*n.screen.width),(n.screen.height+2*(n.screen.top-r))/n.screen.width),e}}();function S(e){!1!==n.enabled&&(0===O.length&&(n.domElement.ownerDocument.addEventListener("pointermove",P),n.domElement.ownerDocument.addEventListener("pointerup",j)),function(e){O.push(e)}(e),"touch"===e.pointerType?function(e){switch(B(e),O.length){case 1:f=s,b.copy(M(O[0].pageX,O[0].pageY)),y.copy(b);break;default:f=u;const e=O[0].pageX-O[1].pageX,t=O[0].pageY-O[1].pageY;v=p=Math.sqrt(e*e+t*t);const n=(O[0].pageX+O[1].pageX)/2,r=(O[0].pageY+O[1].pageY)/2;k.copy(T(n,r)),E.copy(k)}n.dispatchEvent(X)}(e):function(e){if(f===r)switch(e.button){case n.mouseButtons.LEFT:f=o;break;case n.mouseButtons.MIDDLE:f=i;break;case n.mouseButtons.RIGHT:f=a;break;default:f=r}const t=h!==r?h:f;t!==o||n.noRotate?t!==i||n.noZoom?t!==a||n.noPan||(k.copy(T(e.pageX,e.pageY)),E.copy(k)):(_.copy(T(e.pageX,e.pageY)),x.copy(_)):(b.copy(M(e.pageX,e.pageY)),y.copy(b));n.domElement.ownerDocument.addEventListener("pointermove",P),n.domElement.ownerDocument.addEventListener("pointerup",j),n.dispatchEvent(X)}(e))}function P(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(B(e),O.length){case 1:y.copy(b),b.copy(M(e.pageX,e.pageY));break;default:const t=function(e){const t=e.pointerId===O[0].pointerId?O[1]:O[0];return C[t.pointerId]}(e),n=e.pageX-t.x,r=e.pageY-t.y;v=Math.sqrt(n*n+r*r);const o=(e.pageX+t.x)/2,i=(e.pageY+t.y)/2;E.copy(T(o,i))}}(e):function(e){const t=h!==r?h:f;t!==o||n.noRotate?t!==i||n.noZoom?t!==a||n.noPan||E.copy(T(e.pageX,e.pageY)):x.copy(T(e.pageX,e.pageY)):(y.copy(b),b.copy(M(e.pageX,e.pageY)))}(e))}function j(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(O.length){case 0:f=r;break;case 1:f=s,b.copy(M(e.pageX,e.pageY)),y.copy(b)}n.dispatchEvent(Y)}(e):(f=r,n.domElement.ownerDocument.removeEventListener("pointermove",P),n.domElement.ownerDocument.removeEventListener("pointerup",j),n.dispatchEvent(Y)),N(e),0===O.length&&(n.domElement.ownerDocument.removeEventListener("pointermove",P),n.domElement.ownerDocument.removeEventListener("pointerup",j)))}function I(e){N(e)}function A(e){!1!==n.enabled&&(window.removeEventListener("keydown",A),h===r&&(e.code!==n.keys[o]||n.noRotate?e.code!==n.keys[i]||n.noZoom?e.code!==n.keys[a]||n.noPan||(h=a):h=i:h=o))}function R(){!1!==n.enabled&&(h=r,window.addEventListener("keydown",A))}function D(e){if(!1!==n.enabled&&!0!==n.noZoom){switch(e.preventDefault(),e.deltaMode){case 2:_.y-=.025*e.deltaY;break;case 1:_.y-=.01*e.deltaY;break;default:_.y-=25e-5*e.deltaY}n.dispatchEvent(X),n.dispatchEvent(Y)}}function L(e){!1!==n.enabled&&e.preventDefault()}function N(e){delete C[e.pointerId];for(let t=0;t<O.length;t++)if(O[t].pointerId==e.pointerId)return void O.splice(t,1)}function B(e){let t=C[e.pointerId];void 0===t&&(t=new z.FM8,C[e.pointerId]=t),t.set(e.pageX,e.pageY)}this.rotateCamera=function(){const e=new z.Pa4,t=new z._fP,r=new z.Pa4,o=new z.Pa4,i=new z.Pa4,a=new z.Pa4;return function(){a.set(b.x-y.x,b.y-y.y,0);let s=a.length();s?(g.copy(n.object.position).sub(n.target),r.copy(g).normalize(),o.copy(n.object.up).normalize(),i.crossVectors(o,r).normalize(),o.setLength(b.y-y.y),i.setLength(b.x-y.x),a.copy(o.add(i)),e.crossVectors(a,g).normalize(),s*=n.rotateSpeed,t.setFromAxisAngle(e,s),g.applyQuaternion(t),n.object.up.applyQuaternion(t),w.copy(e),m=s):!n.staticMoving&&m&&(m*=Math.sqrt(1-n.dynamicDampingFactor),g.copy(n.object.position).sub(n.target),t.setFromAxisAngle(w,m),g.applyQuaternion(t),n.object.up.applyQuaternion(t)),y.copy(b)}}(),this.zoomCamera=function(){let e;f===u?(e=p/v,p=v,n.object.isPerspectiveCamera?g.multiplyScalar(e):n.object.isOrthographicCamera?(n.object.zoom*=e,n.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(x.y-_.y)*n.zoomSpeed,1!==e&&e>0&&(n.object.isPerspectiveCamera?g.multiplyScalar(e):n.object.isOrthographicCamera?(n.object.zoom/=e,n.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),n.staticMoving?_.copy(x):_.y+=(x.y-_.y)*this.dynamicDampingFactor)},this.panCamera=function(){const e=new z.FM8,t=new z.Pa4,r=new z.Pa4;return function(){if(e.copy(E).sub(k),e.lengthSq()){if(n.object.isOrthographicCamera){const t=(n.object.right-n.object.left)/n.object.zoom/n.domElement.clientWidth,r=(n.object.top-n.object.bottom)/n.object.zoom/n.domElement.clientWidth;e.x*=t,e.y*=r}e.multiplyScalar(g.length()*n.panSpeed),r.copy(g).cross(n.object.up).setLength(e.x),r.add(t.copy(n.object.up).setLength(e.y)),n.object.position.add(r),n.target.add(r),n.staticMoving?k.copy(E):k.add(e.subVectors(E,k).multiplyScalar(n.dynamicDampingFactor))}}}(),this.checkDistances=function(){n.noZoom&&n.noPan||(g.lengthSq()>n.maxDistance*n.maxDistance&&(n.object.position.addVectors(n.target,g.setLength(n.maxDistance)),_.copy(x)),g.lengthSq()<n.minDistance*n.minDistance&&(n.object.position.addVectors(n.target,g.setLength(n.minDistance)),_.copy(x)))},this.update=function(){g.subVectors(n.object.position,n.target),n.noRotate||n.rotateCamera(),n.noZoom||n.zoomCamera(),n.noPan||n.panCamera(),n.object.position.addVectors(n.target,g),n.object.isPerspectiveCamera?(n.checkDistances(),n.object.lookAt(n.target),l.distanceToSquared(n.object.position)>c&&(n.dispatchEvent($),l.copy(n.object.position))):n.object.isOrthographicCamera?(n.object.lookAt(n.target),(l.distanceToSquared(n.object.position)>c||d!==n.object.zoom)&&(n.dispatchEvent($),l.copy(n.object.position),d=n.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")},this.reset=function(){f=r,h=r,n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.up.copy(n.up0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),g.subVectors(n.object.position,n.target),n.object.lookAt(n.target),n.dispatchEvent($),l.copy(n.object.position),d=n.object.zoom},this.dispose=function(){n.domElement.removeEventListener("contextmenu",L),n.domElement.removeEventListener("pointerdown",S),n.domElement.removeEventListener("pointercancel",I),n.domElement.removeEventListener("wheel",D),window.removeEventListener("keydown",A),window.removeEventListener("keyup",R)},this.domElement.addEventListener("contextmenu",L),this.domElement.addEventListener("pointerdown",S),this.domElement.addEventListener("pointercancel",I),this.domElement.addEventListener("wheel",D,{passive:!1}),window.addEventListener("keydown",A),window.addEventListener("keyup",R),this.handleResize(),this.update()}}const J={type:"change"},ee={type:"start"},te={type:"end"};class ne extends z.pBf{constructor(e,t){super(),void 0===t&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),t===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new z.Pa4,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:z.RsA.ROTATE,MIDDLE:z.RsA.DOLLY,RIGHT:z.RsA.PAN},this.touches={ONE:z.QmN.ROTATE,TWO:z.QmN.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return a.phi},this.getAzimuthalAngle=function(){return a.theta},this.listenToKeyEvents=function(e){e.addEventListener("keydown",U),this._domElementKeyEvents=e},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(J),n.update(),o=r.NONE},this.update=function(){const t=new z.Pa4,d=(new z._fP).setFromUnitVectors(e.up,new z.Pa4(0,1,0)),f=d.clone().invert(),h=new z.Pa4,p=new z._fP,v=2*Math.PI;return function(){const e=n.object.position;t.copy(e).sub(n.target),t.applyQuaternion(d),a.setFromVector3(t),n.autoRotate&&o===r.NONE&&k(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(a.theta+=s.theta*n.dampingFactor,a.phi+=s.phi*n.dampingFactor):(a.theta+=s.theta,a.phi+=s.phi);let m=n.minAzimuthAngle,g=n.maxAzimuthAngle;return isFinite(m)&&isFinite(g)&&(m<-Math.PI?m+=v:m>Math.PI&&(m-=v),g<-Math.PI?g+=v:g>Math.PI&&(g-=v),a.theta=m<=g?Math.max(m,Math.min(g,a.theta)):a.theta>(m+g)/2?Math.max(m,a.theta):Math.min(g,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),a.radius*=u,a.radius=Math.max(n.minDistance,Math.min(n.maxDistance,a.radius)),!0===n.enableDamping?n.target.addScaledVector(c,n.dampingFactor):n.target.add(c),t.setFromSpherical(a),t.applyQuaternion(f),e.copy(n.target).add(t),n.object.lookAt(n.target),!0===n.enableDamping?(s.theta*=1-n.dampingFactor,s.phi*=1-n.dampingFactor,c.multiplyScalar(1-n.dampingFactor)):(s.set(0,0,0),c.set(0,0,0)),u=1,!!(l||h.distanceToSquared(n.object.position)>i||8*(1-p.dot(n.object.quaternion))>i)&&(n.dispatchEvent(J),h.copy(n.object.position),p.copy(n.object.quaternion),l=!1,!0)}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",G),n.domElement.removeEventListener("pointerdown",B),n.domElement.removeEventListener("pointercancel",V),n.domElement.removeEventListener("wheel",W),n.domElement.ownerDocument.removeEventListener("pointermove",F),n.domElement.ownerDocument.removeEventListener("pointerup",H),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",U)};const n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let o=r.NONE;const i=1e-6,a=new z.$V,s=new z.$V;let u=1;const c=new z.Pa4;let l=!1;const d=new z.FM8,f=new z.FM8,h=new z.FM8,p=new z.FM8,v=new z.FM8,m=new z.FM8,g=new z.FM8,y=new z.FM8,b=new z.FM8,w=[],_={};function x(){return Math.pow(.95,n.zoomSpeed)}function k(e){s.theta-=e}function E(e){s.phi-=e}const O=function(){const e=new z.Pa4;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),c.add(e)}}(),C=function(){const e=new z.Pa4;return function(t,r){!0===n.screenSpacePanning?e.setFromMatrixColumn(r,1):(e.setFromMatrixColumn(r,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),c.add(e)}}(),T=function(){const e=new z.Pa4;return function(t,r){const o=n.domElement;if(n.object.isPerspectiveCamera){const i=n.object.position;e.copy(i).sub(n.target);let a=e.length();a*=Math.tan(n.object.fov/2*Math.PI/180),O(2*t*a/o.clientHeight,n.object.matrix),C(2*r*a/o.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(O(t*(n.object.right-n.object.left)/n.object.zoom/o.clientWidth,n.object.matrix),C(r*(n.object.top-n.object.bottom)/n.object.zoom/o.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function M(e){n.object.isPerspectiveCamera?u/=e:n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom*e)),n.object.updateProjectionMatrix(),l=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function S(e){n.object.isPerspectiveCamera?u*=e:n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/e)),n.object.updateProjectionMatrix(),l=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function P(e){d.set(e.clientX,e.clientY)}function j(e){p.set(e.clientX,e.clientY)}function I(){if(1===w.length)d.set(w[0].pageX,w[0].pageY);else{const e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);d.set(e,t)}}function A(){if(1===w.length)p.set(w[0].pageX,w[0].pageY);else{const e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);p.set(e,t)}}function R(){const e=w[0].pageX-w[1].pageX,t=w[0].pageY-w[1].pageY,n=Math.sqrt(e*e+t*t);g.set(0,n)}function D(e){if(1==w.length)f.set(e.pageX,e.pageY);else{const t=Z(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);f.set(n,r)}h.subVectors(f,d).multiplyScalar(n.rotateSpeed);const t=n.domElement;k(2*Math.PI*h.x/t.clientHeight),E(2*Math.PI*h.y/t.clientHeight),d.copy(f)}function L(e){if(1===w.length)v.set(e.pageX,e.pageY);else{const t=Z(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);v.set(n,r)}m.subVectors(v,p).multiplyScalar(n.panSpeed),T(m.x,m.y),p.copy(v)}function N(e){const t=Z(e),r=e.pageX-t.x,o=e.pageY-t.y,i=Math.sqrt(r*r+o*o);y.set(0,i),b.set(0,Math.pow(y.y/g.y,n.zoomSpeed)),M(b.y),g.copy(y)}function B(e){!1!==n.enabled&&(0===w.length&&(n.domElement.ownerDocument.addEventListener("pointermove",F),n.domElement.ownerDocument.addEventListener("pointerup",H)),function(e){w.push(e)}(e),"touch"===e.pointerType?function(e){switch(K(e),w.length){case 1:switch(n.touches.ONE){case z.QmN.ROTATE:if(!1===n.enableRotate)return;I(),o=r.TOUCH_ROTATE;break;case z.QmN.PAN:if(!1===n.enablePan)return;A(),o=r.TOUCH_PAN;break;default:o=r.NONE}break;case 2:switch(n.touches.TWO){case z.QmN.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&R(),n.enablePan&&A(),o=r.TOUCH_DOLLY_PAN;break;case z.QmN.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&R(),n.enableRotate&&I(),o=r.TOUCH_DOLLY_ROTATE;break;default:o=r.NONE}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent(ee)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case z.RsA.DOLLY:if(!1===n.enableZoom)return;!function(e){g.set(e.clientX,e.clientY)}(e),o=r.DOLLY;break;case z.RsA.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;j(e),o=r.PAN}else{if(!1===n.enableRotate)return;P(e),o=r.ROTATE}break;case z.RsA.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;P(e),o=r.ROTATE}else{if(!1===n.enablePan)return;j(e),o=r.PAN}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent(ee)}(e))}function F(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(K(e),o){case r.TOUCH_ROTATE:if(!1===n.enableRotate)return;D(e),n.update();break;case r.TOUCH_PAN:if(!1===n.enablePan)return;L(e),n.update();break;case r.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;!function(e){n.enableZoom&&N(e),n.enablePan&&L(e)}(e),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;!function(e){n.enableZoom&&N(e),n.enableRotate&&D(e)}(e),n.update();break;default:o=r.NONE}}(e):function(e){if(!1===n.enabled)return;switch(o){case r.ROTATE:if(!1===n.enableRotate)return;!function(e){f.set(e.clientX,e.clientY),h.subVectors(f,d).multiplyScalar(n.rotateSpeed);const t=n.domElement;k(2*Math.PI*h.x/t.clientHeight),E(2*Math.PI*h.y/t.clientHeight),d.copy(f),n.update()}(e);break;case r.DOLLY:if(!1===n.enableZoom)return;!function(e){y.set(e.clientX,e.clientY),b.subVectors(y,g),b.y>0?M(x()):b.y<0&&S(x()),g.copy(y),n.update()}(e);break;case r.PAN:if(!1===n.enablePan)return;!function(e){v.set(e.clientX,e.clientY),m.subVectors(v,p).multiplyScalar(n.panSpeed),T(m.x,m.y),p.copy(v),n.update()}(e)}}(e))}function H(e){!1!==n.enabled&&(e.pointerType,n.dispatchEvent(te),o=r.NONE,q(e),0===w.length&&(n.domElement.ownerDocument.removeEventListener("pointermove",F),n.domElement.ownerDocument.removeEventListener("pointerup",H)))}function V(e){q(e)}function W(e){!1===n.enabled||!1===n.enableZoom||o!==r.NONE&&o!==r.ROTATE||(e.preventDefault(),n.dispatchEvent(ee),function(e){e.deltaY<0?S(x()):e.deltaY>0&&M(x()),n.update()}(e),n.dispatchEvent(te))}function U(e){!1!==n.enabled&&!1!==n.enablePan&&function(e){let t=!1;switch(e.code){case n.keys.UP:T(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:T(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:T(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:T(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}(e)}function G(e){!1!==n.enabled&&e.preventDefault()}function q(e){delete _[e.pointerId];for(let t=0;t<w.length;t++)if(w[t].pointerId==e.pointerId)return void w.splice(t,1)}function K(e){let t=_[e.pointerId];void 0===t&&(t=new z.FM8,_[e.pointerId]=t),t.set(e.pageX,e.pageY)}function Z(e){const t=e.pointerId===w[0].pointerId?w[1]:w[0];return _[t.pointerId]}n.domElement.addEventListener("contextmenu",G),n.domElement.addEventListener("pointerdown",B),n.domElement.addEventListener("pointercancel",V),n.domElement.addEventListener("wheel",W,{passive:!1}),this.update()}}const re={type:"change"};class oe extends z.pBf{constructor(e,t){super(),void 0===t&&(console.warn('THREE.FlyControls: The second parameter "domElement" is now mandatory.'),t=document),this.object=e,this.domElement=t,this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1;const n=this,r=1e-6,o=new z._fP,i=new z.Pa4;this.tmpQuaternion=new z._fP,this.mouseStatus=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new z.Pa4(0,0,0),this.rotationVector=new z.Pa4(0,0,0),this.keydown=function(e){if(!e.altKey){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.mousedown=function(e){if(this.dragToLook)this.mouseStatus++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.mousemove=function(e){if(!this.dragToLook||this.mouseStatus>0){const t=this.getContainerDimensions(),n=t.size[0]/2,r=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-r)/r,this.updateRotationVector()}},this.mouseup=function(e){if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){const t=e*n.movementSpeed,a=e*n.rollSpeed;n.object.translateX(n.moveVector.x*t),n.object.translateY(n.moveVector.y*t),n.object.translateZ(n.moveVector.z*t),n.tmpQuaternion.set(n.rotationVector.x*a,n.rotationVector.y*a,n.rotationVector.z*a,1).normalize(),n.object.quaternion.multiply(n.tmpQuaternion),(i.distanceToSquared(n.object.position)>r||8*(1-o.dot(n.object.quaternion))>r)&&(n.dispatchEvent(re),o.copy(n.object.quaternion),i.copy(n.object.position))},this.updateMovementVector=function(){const e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.dispose=function(){this.domElement.removeEventListener("contextmenu",ie),this.domElement.removeEventListener("mousedown",s),this.domElement.removeEventListener("mousemove",a),this.domElement.removeEventListener("mouseup",u),window.removeEventListener("keydown",c),window.removeEventListener("keyup",l)};const a=this.mousemove.bind(this),s=this.mousedown.bind(this),u=this.mouseup.bind(this),c=this.keydown.bind(this),l=this.keyup.bind(this);this.domElement.addEventListener("contextmenu",ie),this.domElement.addEventListener("mousemove",a),this.domElement.addEventListener("mousedown",s),this.domElement.addEventListener("mouseup",u),window.addEventListener("keydown",c),window.addEventListener("keyup",l),this.updateMovementVector(),this.updateRotationVector()}}function ie(e){e.preventDefault()}var ae={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}"};class se{constructor(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}const ue=new z.iKG(-1,1,1,-1,0,1),ce=new z.u9r;ce.setAttribute("position",new z.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),ce.setAttribute("uv",new z.a$l([0,2,0,0,2,0],2));class le{constructor(e){this._mesh=new z.Kj0(ce,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,ue)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class de extends se{constructor(e,t){super(),this.textureID=void 0!==t?t:"tDiffuse",e instanceof z.jyz?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=z.rDY.clone(e.uniforms),this.material=new z.jyz({defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new le(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}}class fe extends se{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const r=e.getContext(),o=e.state;let i,a;o.buffers.color.setMask(!1),o.buffers.depth.setMask(!1),o.buffers.color.setLocked(!0),o.buffers.depth.setLocked(!0),this.inverse?(i=0,a=1):(i=1,a=0),o.buffers.stencil.setTest(!0),o.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),o.buffers.stencil.setFunc(r.ALWAYS,i,4294967295),o.buffers.stencil.setClear(a),o.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),o.buffers.color.setLocked(!1),o.buffers.depth.setLocked(!1),o.buffers.stencil.setLocked(!1),o.buffers.stencil.setFunc(r.EQUAL,1,4294967295),o.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),o.buffers.stencil.setLocked(!0)}}class he extends se{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class pe{constructor(e,t){if(this.renderer=e,void 0===t){const n={minFilter:z.wem,magFilter:z.wem,format:z.wk1},r=e.getSize(new z.FM8);this._pixelRatio=e.getPixelRatio(),this._width=r.width,this._height=r.height,(t=new z.dd2(this._width*this._pixelRatio,this._height*this._pixelRatio,n)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===ae&&console.error("THREE.EffectComposer relies on CopyShader"),void 0===de&&console.error("THREE.EffectComposer relies on ShaderPass"),this.copyPass=new de(ae),this.clock=new z.SUY}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){void 0===e&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let n=!1;for(let r=0,o=this.passes.length;r<o;r++){const t=this.passes[r];if(!1!==t.enabled){if(t.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(r),t.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),t.needsSwap){if(n){const t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==fe&&(t instanceof fe?n=!0:t instanceof he&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(void 0===e){const t=this.renderer.getSize(new z.FM8);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,(e=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const n=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(n,r),this.renderTarget2.setSize(n,r);for(let o=0;o<this.passes.length;o++)this.passes[o].setSize(n,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}}new z.iKG(-1,1,1,-1,0,1);const ve=new z.u9r;ve.setAttribute("position",new z.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),ve.setAttribute("uv",new z.a$l([0,2,0,0,2,0],2));class me extends se{constructor(e,t,n,r,o){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=r,this.clearAlpha=void 0!==o?o:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new z.Ilk}render(e,t,n){const r=e.autoClear;let o,i;e.autoClear=!1,void 0!==this.overrideMaterial&&(i=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor&&(e.getClearColor(this._oldClearColor),o=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor&&e.setClearColor(this._oldClearColor,o),void 0!==this.overrideMaterial&&(this.scene.overrideMaterial=i),e.autoClear=r}}function ge(){return(ge=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ye(e,t){return(ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function be(e){return(be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function we(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _e(e,t,n){return(_e=we()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ye(o,n.prototype),o}).apply(null,arguments)}function xe(e){var t="function"===typeof Map?new Map:void 0;return(xe=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _e(e,arguments,be(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ye(r,e)})(e)}var ke=function(e){var t,n;function r(t){return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this)}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,ye(t,n),r}(xe(Error));function Ee(e){return Math.round(255*e)}function Oe(e,t,n){return Ee(e)+","+Ee(t)+","+Ee(n)}function Ce(e,t,n,r){if(void 0===r&&(r=Oe),0===t)return r(n,n,n);var o=(e%360+360)%360/60,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(o%2-1)),s=0,u=0,c=0;o>=0&&o<1?(s=i,u=a):o>=1&&o<2?(s=a,u=i):o>=2&&o<3?(u=i,c=a):o>=3&&o<4?(u=a,c=i):o>=4&&o<5?(s=a,c=i):o>=5&&o<6&&(s=i,c=a);var l=n-i/2;return r(s+l,u+l,c+l)}var Te={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var Me=/^#[a-fA-F0-9]{6}$/,Se=/^#[a-fA-F0-9]{8}$/,Pe=/^#[a-fA-F0-9]{3}$/,je=/^#[a-fA-F0-9]{4}$/,Ie=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,Ae=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,Re=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,De=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function Le(e){if("string"!==typeof e)throw new ke(3);var t=function(e){if("string"!==typeof e)return e;var t=e.toLowerCase();return Te[t]?"#"+Te[t]:e}(e);if(t.match(Me))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Se)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(Pe))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(je)){var r=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:r}}var o=Ie.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var i=Ae.exec(t.substring(0,50));if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])};var a=Re.exec(t);if(a){var s="rgb("+Ce(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",u=Ie.exec(s);if(!u)throw new ke(4,t,s);return{red:parseInt(""+u[1],10),green:parseInt(""+u[2],10),blue:parseInt(""+u[3],10)}}var c=De.exec(t.substring(0,50));if(c){var l="rgb("+Ce(parseInt(""+c[1],10),parseInt(""+c[2],10)/100,parseInt(""+c[3],10)/100)+")",d=Ie.exec(l);if(!d)throw new ke(4,t,l);return{red:parseInt(""+d[1],10),green:parseInt(""+d[2],10),blue:parseInt(""+d[3],10),alpha:parseFloat(""+c[4])}}throw new ke(5)}var Ne=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function Be(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function ze(e,t,n){if("number"===typeof e&&"number"===typeof t&&"number"===typeof n)return Ne("#"+Be(e)+Be(t)+Be(n));if("object"===typeof e&&void 0===t&&void 0===n)return Ne("#"+Be(e.red)+Be(e.green)+Be(e.blue));throw new ke(6)}function Fe(e,t,n,r){if("string"===typeof e&&"number"===typeof t){var o=Le(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}if("number"===typeof e&&"number"===typeof t&&"number"===typeof n&&"number"===typeof r)return r>=1?ze(e,t,n):"rgba("+e+","+t+","+n+","+r+")";if("object"===typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?ze(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new ke(7)}function He(e,t,n){return function(){var r=n.concat(Array.prototype.slice.call(arguments));return r.length>=t?e.apply(this,r):He(e,t,r)}}function Ve(e){return He(e,e.length,[])}function We(e,t,n){return Math.max(e,Math.min(t,n))}function Ue(e,t){if("transparent"===t)return t;var n=Le(t);return Fe(ge({},n,{alpha:We(0,1,(100*("number"===typeof n.alpha?n.alpha:1)+100*parseFloat(e))/100)}))}var Ge=Ve(Ue);var qe=r(36194);function Ke(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ze(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||Xe(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e){return function(e){if(Array.isArray(e))return Ye(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Xe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xe(e,t){if(e){if("string"===typeof e)return Ye(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ye(e,t):void 0}}function Ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n  bottom: 5px;\n  width: 100%;\n  text-align: center;\n  color: slategrey;\n  opacity: 0.7;\n  font-size: 10px;\n}\n\n.scene-tooltip {\n  color: lavender;\n  font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n  position: absolute;\n  font-family: sans-serif;\n  pointer-events: none;\n}\n\n.scene-container canvas:focus {\n  outline: none;\n}");var Qe=window.THREE?window.THREE:{WebGLRenderer:z.CP7,Scene:z.xsS,PerspectiveCamera:z.cPb,Raycaster:z.iMs,TextureLoader:z.dpR,Vector2:z.FM8,Vector3:z.Pa4,Box3:z.ZzF,Color:z.Ilk,Mesh:z.Kj0,SphereGeometry:z.xo$,MeshBasicMaterial:z.vBJ,BackSide:z._Li,EventDispatcher:z.pBf,MOUSE:z.RsA,Quaternion:z._fP,Spherical:z.$V,Clock:z.SUY},Je=(0,b.Z)({props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},hoverFilter:{default:function(){return!0},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},clickAfterDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(e.clock.getDelta()),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.extraRenderers.forEach((function(t){return t.render(e.scene,e.camera)})),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.isPointerDragging){var n=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y).filter((function(t){return e.hoverFilter(t.object)})).sort((function(t,n){return e.hoverOrderComparator(t.object,n.object)})),r=n.length?n[0]:null;t=r?r.object:null,e.intersectionPoint=r?r.point:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&(0,w.default)(e.tooltipContent)(t)||"",e.hoverObj=t)}qe.ZP.update()}return this},getPointerPos:function(e){var t=e.pointerPos;return{x:t.x,y:t.y}},cameraPosition:function(e,t,n,r){var o=e.camera;if(t&&e.initialised){var i=t,a=n||{x:0,y:0,z:0};if(r){var s=Object.assign({},o.position),u=d();new qe.ZP.Tween(s).to(i,r).easing(qe.ZP.Easing.Quadratic.Out).onUpdate(c).start(),new qe.ZP.Tween(u).to(a,r/3).easing(qe.ZP.Easing.Quadratic.Out).onUpdate(l).start()}else c(i),l(a);return this}return Object.assign({},o.position,{lookAt:d()});function c(e){var t=e.x,n=e.y,r=e.z;void 0!==t&&(o.position.x=t),void 0!==n&&(o.position.y=n),void 0!==r&&(o.position.z=r)}function l(t){e.controls.target=new Qe.Vector3(t.x,t.y,t.z)}function d(){return Object.assign(new Qe.Vector3(0,0,-1e3).applyQuaternion(o.quaternion).add(o.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,o=new Array(r>3?r-3:0),i=3;i<r;i++)o[i-3]=arguments[i];return this.fitToBbox(this.getBbox.apply(this,o),t,n)},fitToBbox:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,o=e.camera;if(t){var i=new Qe.Vector3(0,0,0),a=2*Math.max.apply(Math,$e(Object.entries(t).map((function(e){var t=Ze(e,2),n=t[0],r=t[1];return Math.max.apply(Math,$e(r.map((function(e){return Math.abs(i[n]-e)}))))})))),s=(1-2*r/e.height)*o.fov,u=a/Math.atan(s*Math.PI/180),c=u/o.aspect,l=Math.max(u,c);if(l>0){var d=i.clone().sub(o.position).normalize().multiplyScalar(-l);this.cameraPosition(d,i,n)}}return this},getBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=new Qe.Box3(new Qe.Vector3(0,0,0),new Qe.Vector3(0,0,0)),r=e.objects.filter(t);return r.length?(r.forEach((function(e){return n.expandByObject(e)})),Object.assign.apply(Object,$e(["x","y","z"].map((function(e){return Ke({},e,[n.min[e],n.max[e]])}))))):null},getScreenCoords:function(e,t,n,r){var o=new Qe.Vector3(t,n,r);return o.project(this.camera()),{x:(o.x+1)*e.width/2,y:-(o.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=new Qe.Vector2(t/e.width*2-1,-n/e.height*2+1),i=new Qe.Raycaster;return i.setFromCamera(o,e.camera),Object.assign({},i.ray.at(r,new Qe.Vector3))},intersectingObjects:function(e,t,n){var r=new Qe.Vector2(t/e.width*2-1,-n/e.height*2+1),o=new Qe.Raycaster;return o.params.Line.threshold=e.lineHoverPrecision,o.setFromCamera(r,e.camera),o.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new Qe.Scene,camera:new Qe.PerspectiveCamera,clock:new Qe.Clock}},init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.controlType,o=void 0===r?"trackball":r,i=n.rendererConfig,a=void 0===i?{}:i,s=n.extraRenderers,u=void 0===s?[]:s,c=n.waitForLoadComplete,l=void 0===c||c;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[o]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.pointerPos=new Qe.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach((function(e){return t.container.addEventListener(e,(function(n){if("pointerdown"===e&&(t.isPointerPressed=!0),!t.isPointerDragging&&"pointermove"===n.type&&(n.pressure>0||t.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var r=function(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}(t.container);t.pointerPos.x=n.pageX-r.left,t.pointerPos.y=n.pageY-r.top,t.toolTipElem.style.top="".concat(t.pointerPos.y,"px"),t.toolTipElem.style.left="".concat(t.pointerPos.x,"px"),t.toolTipElem.style.transform="translate(-".concat(t.pointerPos.x/t.width*100,"%, 21px)")}}),{passive:!0})})),t.container.addEventListener("pointerup",(function(e){t.isPointerPressed=!1,t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag)||requestAnimationFrame((function(){0===e.button&&t.onClick(t.hoverObj||null,e,t.intersectionPoint),2===e.button&&t.onRightClick&&t.onRightClick(t.hoverObj||null,e,t.intersectionPoint)}))}),{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",(function(e){t.onRightClick&&e.preventDefault()})),t.renderer=new Qe.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},a)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=u,t.extraRenderers.forEach((function(e){e.domElement.style.position="absolute",e.domElement.style.top="0px",e.domElement.style.pointerEvents="none",t.container.appendChild(e.domElement)})),t.postProcessingComposer=new pe(t.renderer),t.postProcessingComposer.addPass(new me(t.scene,t.camera)),t.controls=new{trackball:Q,orbit:ne,fly:oe}[o](t.camera,t.renderer.domElement),"fly"===o&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),"trackball"!==o&&"orbit"!==o||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),[t.renderer,t.postProcessingComposer].concat($e(t.extraRenderers)).forEach((function(e){return e.setSize(t.width,t.height)})),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new Qe.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!l,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width=e.width,e.container.style.height=e.height,[e.renderer,e.postProcessingComposer].concat($e(e.extraRenderers)).forEach((function(t){return t.setSize(e.width,e.height)})),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=e.skyRadius),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new Qe.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=Le(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new Qe.Color(Ge(1,e.backgroundColor)),n)}function r(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new Qe.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new Qe.MeshBasicMaterial({map:t,side:Qe.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&r()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&r())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}});function et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?et(Object(n),!0).forEach((function(t){nt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):et(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function nt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rt(e){return function(e){if(Array.isArray(e))return ot(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return ot(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ot(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function it(e,t){var n=new t;return{linkProp:function(t){return{default:n[t](),onChange:function(n,r){r[e][t](n)},triggerUpdate:!1}},linkMethod:function(t){return function(n){for(var r=n[e],o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];var s=r[t].apply(r,i);return s===r?this:s}}}}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".graph-info-msg {\n  top: 50%;\n  width: 100%;\n  text-align: center;\n  color: lavender;\n  opacity: 0.7;\n  font-size: 22px;\n  position: absolute;\n  font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n  cursor: pointer;\n}\n\n.scene-container .grabbable {\n  cursor: move;\n  cursor: grab;\n  cursor: -moz-grab;\n  cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n  cursor: grabbing;\n  cursor: -moz-grabbing;\n  cursor: -webkit-grabbing;\n}");var at=window.THREE?window.THREE:{AmbientLight:z.Mig,DirectionalLight:z.Ox3,Vector3:z.Pa4},st=it("forceGraph",Z.default),ut=Object.assign.apply(Object,rt(["jsonUrl","graphData","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeColor","nodeAutoColorBy","nodeOpacity","nodeVisibility","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaDecay","d3VelocityDecay","d3AlphaMin","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map((function(e){return nt({},e,st.linkProp(e))})))),ct=Object.assign.apply(Object,rt(["refresh","getGraphBbox","d3Force","d3ReheatSimulation","emitParticle"].map((function(e){return nt({},e,st.linkMethod(e))})))),lt=it("renderObjs",Je),dt=Object.assign.apply(Object,rt(["width","height","backgroundColor","showNavInfo","enablePointerInteraction"].map((function(e){return nt({},e,lt.linkProp(e))})))),ft=Object.assign.apply(Object,rt(["cameraPosition","postProcessingComposer"].map((function(e){return nt({},e,lt.linkMethod(e))}))).concat([{graph2ScreenCoords:lt.linkMethod("getScreenCoords"),screen2GraphCoords:lt.linkMethod("getSceneCoords")}]));function ht(e){for(var t=e;t&&!t.hasOwnProperty("__graphObjType");)t=t.parent;return t}var pt=(0,b.Z)({props:tt(tt({nodeLabel:{default:"name",triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:1,onChange:function(e,t){return t.renderObjs.lineHoverPrecision(e)},triggerUpdate:!1},enableNavigationControls:{default:!0,onChange:function(e,t){var n=t.renderObjs.controls();n&&(n.enabled=e)},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1}},ut),dt),methods:tt(tt({zoomToFit:function(e,t,n){for(var r,o=arguments.length,i=new Array(o>3?o-3:0),a=3;a<o;a++)i[a-3]=arguments[a];return e.renderObjs.fitToBbox((r=e.forceGraph).getGraphBbox.apply(r,i),t,n),this},pauseAnimation:function(e){return null!==e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return null===e.animationFrameRequestId&&this._animationCycle(),this},_animationCycle:function(e){e.enablePointerInteraction&&(this.renderer().domElement.style.cursor=null),e.forceGraph.tickFrame(),e.renderObjs.tick(),e.animationFrameRequestId=requestAnimationFrame(this._animationCycle)},scene:function(e){return e.renderObjs.scene()},camera:function(e){return e.renderObjs.camera()},renderer:function(e){return e.renderObjs.renderer()},controls:function(e){return e.renderObjs.controls()},tbControls:function(e){return e.renderObjs.tbControls()},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},ct),ft),stateInit:function(e){var t=e.controlType,n=e.rendererConfig,r=e.extraRenderers;return{forceGraph:new Z.default,renderObjs:Je({controlType:t,rendererConfig:n,extraRenderers:r})}},init:function(e,t){e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.style.position="relative";var n=document.createElement("div");t.container.appendChild(n),t.renderObjs(n);var r,o=t.renderObjs.camera(),i=t.renderObjs.renderer(),a=t.renderObjs.controls();a.enabled=!!t.enableNavigationControls,t.lastSetCameraZ=o.position.z,t.container.appendChild(r=document.createElement("div")),r.className="graph-info-msg",r.textContent="",t.forceGraph.onLoading((function(){r.textContent="Loading..."})).onFinishLoading((function(){r.textContent=""})).onUpdate((function(){t.graphData=t.forceGraph.graphData(),0===o.position.x&&0===o.position.y&&o.position.z===t.lastSetCameraZ&&t.graphData.nodes.length&&(o.lookAt(t.forceGraph.position),t.lastSetCameraZ=o.position.z=170*Math.cbrt(t.graphData.nodes.length))})).onFinishUpdate((function(){if(t._dragControls){var e=t.graphData.nodes.find((function(e){return e.__initialFixedPos&&!e.__disposeControlsAfterDrag}));e?e.__disposeControlsAfterDrag=!0:t._dragControls.dispose(),t._dragControls=void 0}if(t.enableNodeDrag&&t.enablePointerInteraction&&"d3"===t.forceEngine){var n=t._dragControls=new K(t.graphData.nodes.map((function(e){return e.__threeObj})).filter((function(e){return e})),o,i.domElement);n.addEventListener("dragstart",(function(e){a.enabled=!1,e.object.__initialPos=e.object.position.clone(),e.object.__prevPos=e.object.position.clone();var t=ht(e.object).__data;!t.__initialFixedPos&&(t.__initialFixedPos={fx:t.fx,fy:t.fy,fz:t.fz}),!t.__initialPos&&(t.__initialPos={x:t.x,y:t.y,z:t.z}),["x","y","z"].forEach((function(e){return t["f".concat(e)]=t[e]})),i.domElement.classList.add("grabbable")})),n.addEventListener("drag",(function(e){var n=ht(e.object);if(!e.object.hasOwnProperty("__graphObjType")){var r=e.object.__initialPos,o=e.object.__prevPos,i=e.object.position;n.position.add(i.clone().sub(o)),o.copy(i),i.copy(r)}var a=n.__data,s=n.position,u={x:s.x-a.x,y:s.y-a.y,z:s.z-a.z};["x","y","z"].forEach((function(e){return a["f".concat(e)]=a[e]=s[e]})),t.forceGraph.d3AlphaTarget(.3).resetCountdown(),a.__dragged=!0,t.onNodeDrag(a,u)})),n.addEventListener("dragend",(function(e){delete e.object.__initialPos,delete e.object.__prevPos;var r=ht(e.object).__data;r.__disposeControlsAfterDrag&&(n.dispose(),delete r.__disposeControlsAfterDrag);var o=r.__initialFixedPos,s=r.__initialPos,u={x:s.x-r.x,y:s.y-r.y,z:s.z-r.z};o&&(["x","y","z"].forEach((function(e){var t="f".concat(e);void 0===o[t]&&delete r[t]})),delete r.__initialFixedPos,delete r.__initialPos,r.__dragged&&(delete r.__dragged,t.onNodeDragEnd(r,u))),t.forceGraph.d3AlphaTarget(0).resetCountdown(),t.enableNavigationControls&&(a.enabled=!0,a.domElement&&a.domElement.ownerDocument&&a.domElement.ownerDocument.dispatchEvent(new PointerEvent("pointerup",{pointerType:"touch"}))),i.domElement.classList.remove("grabbable")}))}})),t.renderObjs.objects([new at.AmbientLight(12303291),new at.DirectionalLight(16777215,.6),t.forceGraph]).hoverOrderComparator((function(e,t){var n=ht(e);if(!n)return 1;var r=ht(t);if(!r)return-1;var o=function(e){return"node"===e.__graphObjType};return o(r)-o(n)})).tooltipContent((function(e){var n=ht(e);return n&&(0,w.default)(t["".concat(n.__graphObjType,"Label")])(n.__data)||""})).hoverDuringDrag(!1).onHover((function(e){var n=ht(e);if(n!==t.hoverObj){var r=t.hoverObj?t.hoverObj.__graphObjType:null,o=t.hoverObj?t.hoverObj.__data:null,a=n?n.__graphObjType:null,s=n?n.__data:null;if(r&&r!==a){var u=t["on".concat("node"===r?"Node":"Link","Hover")];u&&u(null,o)}if(a){var c=t["on".concat("node"===a?"Node":"Link","Hover")];c&&c(s,r===a?o:null)}i.domElement.classList[n&&t["on".concat("node"===a?"Node":"Link","Click")]||!n&&t.onBackgroundClick?"add":"remove"]("clickable"),t.hoverObj=n}})).clickAfterDrag(!1).onClick((function(e,n){var r=ht(e);if(r){var o=t["on".concat("node"===r.__graphObjType?"Node":"Link","Click")];o&&o(r.__data,n)}else t.onBackgroundClick&&t.onBackgroundClick(n)})).onRightClick((function(e,n){var r=ht(e);if(r){var o=t["on".concat("node"===r.__graphObjType?"Node":"Link","RightClick")];o&&o(r.__data,n)}else t.onBackgroundRightClick&&t.onBackgroundRightClick(n)})),this._animationCycle()}}),vt=r(26265);function mt(){}function gt(e){return null==e?mt:function(){return this.querySelector(e)}}function yt(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function bt(){return[]}function wt(e){return null==e?bt:function(){return this.querySelectorAll(e)}}function _t(e){return function(){return this.matches(e)}}function xt(e){return function(t){return t.matches(e)}}var kt=Array.prototype.find;function Et(){return this.firstElementChild}var Ot=Array.prototype.filter;function Ct(){return Array.from(this.children)}function Tt(e){return new Array(e.length)}function Mt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function St(e){return function(){return e}}function Pt(e,t,n,r,o,i){for(var a,s=0,u=t.length,c=i.length;s<c;++s)(a=t[s])?(a.__data__=i[s],r[s]=a):n[s]=new Mt(e,i[s]);for(;s<u;++s)(a=t[s])&&(o[s]=a)}function jt(e,t,n,r,o,i,a){var s,u,c,l=new Map,d=t.length,f=i.length,h=new Array(d);for(s=0;s<d;++s)(u=t[s])&&(h[s]=c=a.call(u,u.__data__,s,t)+"",l.has(c)?o[s]=u:l.set(c,u));for(s=0;s<f;++s)c=a.call(e,i[s],s,i)+"",(u=l.get(c))?(r[s]=u,u.__data__=i[s],l.delete(c)):n[s]=new Mt(e,i[s]);for(s=0;s<d;++s)(u=t[s])&&l.get(h[s])===u&&(o[s]=u)}function It(e){return e.__data__}function At(e){return"object"===typeof e&&"length"in e?e:Array.from(e)}function Rt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Dt(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return Lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lt(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function Lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Mt.prototype={constructor:Mt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Nt="http://www.w3.org/1999/xhtml",Bt={svg:"http://www.w3.org/2000/svg",xhtml:Nt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function zt(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Bt.hasOwnProperty(t)?{space:Bt[t],local:e}:e}function Ft(e){return function(){this.removeAttribute(e)}}function Ht(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Vt(e,t){return function(){this.setAttribute(e,t)}}function Wt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ut(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Gt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function qt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Kt(e){return function(){this.style.removeProperty(e)}}function Zt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $t(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Xt(e,t){return e.style.getPropertyValue(t)||qt(e).getComputedStyle(e,null).getPropertyValue(t)}function Yt(e){return function(){delete this[e]}}function Qt(e,t){return function(){this[e]=t}}function Jt(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function en(e){return e.trim().split(/^|\s+/)}function tn(e){return e.classList||new nn(e)}function nn(e){this._node=e,this._names=en(e.getAttribute("class")||"")}function rn(e,t){for(var n=tn(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function on(e,t){for(var n=tn(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function an(e){return function(){rn(this,e)}}function sn(e){return function(){on(this,e)}}function un(e,t){return function(){(t.apply(this,arguments)?rn:on)(this,e)}}function cn(){this.textContent=""}function ln(e){return function(){this.textContent=e}}function dn(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function fn(){this.innerHTML=""}function hn(e){return function(){this.innerHTML=e}}function pn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function vn(){this.nextSibling&&this.parentNode.appendChild(this)}function mn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function gn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Nt&&t.documentElement.namespaceURI===Nt?t.createElement(e):t.createElementNS(n,e)}}function yn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bn(e){var t=zt(e);return(t.local?yn:gn)(t)}function wn(){return null}function _n(){var e=this.parentNode;e&&e.removeChild(this)}function xn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function kn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function En(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function On(e){return function(){var t=this.__on;if(t){for(var n,r=0,o=-1,i=t.length;r<i;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function Cn(e,t,n){return function(){var r,o=this.__on,i=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(o)for(var a=0,s=o.length;a<s;++a)if((r=o[a]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),void(r.value=t);this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function Tn(e,t,n){var r=qt(e),o=r.CustomEvent;"function"===typeof o?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function Mn(e,t){return function(){return Tn(this,e,t)}}function Sn(e,t){return function(){return Tn(this,e,t.apply(this,arguments))}}nn.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Pn=r(809),jn=r.n(Pn),In=jn().mark(An);function An(){var e,t,n,r,o,i,a;return jn().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:e=this._groups,t=0,n=e.length;case 1:if(!(t<n)){s.next=13;break}r=e[t],o=0,i=r.length;case 3:if(!(o<i)){s.next=10;break}if(!(a=r[o])){s.next=7;break}return s.next=7,a;case 7:++o,s.next=3;break;case 10:++t,s.next=1;break;case 13:case"end":return s.stop()}}),In,this)}var Rn=[null];function Dn(e,t){this._groups=e,this._parents=t}function Ln(){return new Dn([[document.documentElement]],Rn)}Dn.prototype=Ln.prototype=(0,vt.Z)({constructor:Dn,select:function(e){"function"!==typeof e&&(e=gt(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i,a,s=t[o],u=s.length,c=r[o]=new Array(u),l=0;l<u;++l)(i=s[l])&&(a=e.call(i,i.__data__,l,s))&&("__data__"in i&&(a.__data__=i.__data__),c[l]=a);return new Dn(r,this._parents)},selectAll:function(e){e="function"===typeof e?function(e){return function(){return yt(e.apply(this,arguments))}}(e):wt(e);for(var t=this._groups,n=t.length,r=[],o=[],i=0;i<n;++i)for(var a,s=t[i],u=s.length,c=0;c<u;++c)(a=s[c])&&(r.push(e.call(a,a.__data__,c,s)),o.push(a));return new Dn(r,o)},selectChild:function(e){return this.select(null==e?Et:function(e){return function(){return kt.call(this.children,e)}}("function"===typeof e?e:xt(e)))},selectChildren:function(e){return this.selectAll(null==e?Ct:function(e){return function(){return Ot.call(this.children,e)}}("function"===typeof e?e:xt(e)))},filter:function(e){"function"!==typeof e&&(e=_t(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,u=r[o]=[],c=0;c<s;++c)(i=a[c])&&e.call(i,i.__data__,c,a)&&u.push(i);return new Dn(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,It);var n=t?jt:Pt,r=this._parents,o=this._groups;"function"!==typeof e&&(e=St(e));for(var i=o.length,a=new Array(i),s=new Array(i),u=new Array(i),c=0;c<i;++c){var l=r[c],d=o[c],f=d.length,h=At(e.call(l,l&&l.__data__,c,r)),p=h.length,v=s[c]=new Array(p),m=a[c]=new Array(p),g=u[c]=new Array(f);n(l,d,v,m,g,h,t);for(var y,b,w=0,_=0;w<p;++w)if(y=v[w]){for(w>=_&&(_=w+1);!(b=m[_])&&++_<p;);y._next=b||null}}return(a=new Dn(a,r))._enter=s,a._exit=u,a},enter:function(){return new Dn(this._enter||this._groups.map(Tt),this._parents)},exit:function(){return new Dn(this._exit||this._groups.map(Tt),this._parents)},join:function(e,t,n){var r=this.enter(),o=this,i=this.exit();return"function"===typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),s=new Array(o),u=0;u<a;++u)for(var c,l=n[u],d=r[u],f=l.length,h=s[u]=new Array(f),p=0;p<f;++p)(c=l[p]||d[p])&&(h[p]=c);for(;u<o;++u)s[u]=n[u];return new Dn(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,o=e[t],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Rt);for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var a,s=n[i],u=s.length,c=o[i]=new Array(u),l=0;l<u;++l)(a=s[l])&&(c[l]=a);c.sort(t)}return new Dn(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){var e,t=0,n=Dt(this);try{for(n.s();!(e=n.n()).done;){e.value;++t}}catch(r){n.e(r)}finally{n.f()}return t},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o,i=t[n],a=0,s=i.length;a<s;++a)(o=i[a])&&e.call(o,o.__data__,a,i);return this},attr:function(e,t){var n=zt(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?Ht:Ft:"function"===typeof t?n.local?Gt:Ut:n.local?Wt:Vt)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?Kt:"function"===typeof t?$t:Zt)(e,t,null==n?"":n)):Xt(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?Yt:"function"===typeof t?Jt:Qt)(e,t)):this.node()[e]},classed:function(e,t){var n=en(e+"");if(arguments.length<2){for(var r=tn(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"===typeof t?un:t?an:sn)(n,t))},text:function(e){return arguments.length?this.each(null==e?cn:("function"===typeof e?dn:ln)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?fn:("function"===typeof e?pn:hn)(e)):this.node().innerHTML},raise:function(){return this.each(vn)},lower:function(){return this.each(mn)},append:function(e){var t="function"===typeof e?e:bn(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"===typeof e?e:bn(e),r=null==t?wn:"function"===typeof t?t:gt(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(_n)},clone:function(e){return this.select(e?kn:xn)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,o,i=En(e+""),a=i.length;if(!(arguments.length<2)){for(s=t?Cn:On,r=0;r<a;++r)this.each(s(i[r],t,n));return this}var s=this.node().__on;if(s)for(var u,c=0,l=s.length;c<l;++c)for(r=0,u=s[c];r<a;++r)if((o=i[r]).type===u.type&&o.name===u.name)return u.value},dispatch:function(e,t){return this.each(("function"===typeof t?Sn:Mn)(e,t))}},Symbol.iterator,An);var Nn=Ln;function Bn(e){return"string"===typeof e?new Dn([[document.querySelector(e)]],[document.documentElement]):new Dn([[e]],Rn)}var zn=r(77137),Fn={passive:!1},Hn={capture:!0,passive:!1};function Vn(e){e.stopImmediatePropagation()}function Wn(e){e.preventDefault(),e.stopImmediatePropagation()}function Un(e){var t=e.document.documentElement,n=Bn(e).on("dragstart.drag",Wn,Hn);"onselectstart"in t?n.on("selectstart.drag",Wn,Hn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Gn(e,t){var n=e.document.documentElement,r=Bn(e).on("dragstart.drag",null);t&&(r.on("click.drag",Wn,Hn),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function qn(e){return((e=Math.exp(e))+1/e)/2}var Kn=function e(t,n,r){function o(e,o){var i,a,s=e[0],u=e[1],c=e[2],l=o[0],d=o[1],f=o[2],h=l-s,p=d-u,v=h*h+p*p;if(v<1e-12)a=Math.log(f/c)/t,i=function(e){return[s+e*h,u+e*p,c*Math.exp(t*e*a)]};else{var m=Math.sqrt(v),g=(f*f-c*c+r*v)/(2*c*n*m),y=(f*f-c*c-r*v)/(2*f*n*m),b=Math.log(Math.sqrt(g*g+1)-g),w=Math.log(Math.sqrt(y*y+1)-y);a=(w-b)/t,i=function(e){var r,o=e*a,i=qn(b),l=c/(n*m)*(i*(r=t*o+b,((r=Math.exp(2*r))-1)/(r+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[s+l*h,u+l*p,c*i/qn(t*o+b)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return o.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},o}(Math.SQRT2,2,4);function Zn(e,t){if(e=function(e){for(var t;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}var $n=r(513);function Xn(e,t,n){var r=new $n.B7;return t=null==t?0:+t,r.restart((function(n){r.stop(),e(n+t)}),t,n),r}var Yn=(0,zn.Z)("start","end","cancel","interrupt"),Qn=[];function Jn(e,t,n,r,o,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,o=e.__transition;function i(e){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(i){var c,l,d,f;if(1!==n.state)return u();for(c in o)if((f=o[c]).name===n.name){if(3===f.state)return Xn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[c]):+c<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[c])}if(Xn((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(i))})),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(d=n.tween.length),c=0,l=-1;c<d;++c)(f=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++l]=f);r.length=l+1}}function s(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(u),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){for(var r in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=(0,$n.HT)(i,0,n.time)}(e,n,{name:t,index:r,group:o,on:Yn,tween:Qn,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function er(e,t){var n=nr(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function tr(e,t){var n=nr(e,t);if(n.state>3)throw new Error("too late; already running");return n}function nr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function rr(e,t){var n,r,o,i=e.__transition,a=!0;if(i){for(o in t=null==t?null:t+"",i)(n=i[o]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[o]):a=!1;a&&delete e.__transition}}var or,ir=r(16033),ar=180/Math.PI,sr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ur(e,t,n,r,o,i){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*ar,skewX:Math.atan(u)*ar,scaleX:a,scaleY:s}}function cr(e,t,n,r){function o(e){return e.length?e.pop()+" ":""}return function(i,a){var s=[],u=[];return i=e(i),a=e(a),function(e,r,o,i,a,s){if(e!==o||r!==i){var u=a.push("translate(",null,t,null,n);s.push({i:u-4,x:(0,ir.Z)(e,o)},{i:u-2,x:(0,ir.Z)(r,i)})}else(o||i)&&a.push("translate("+o+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,s,u),function(e,t,n,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:n.push(o(n)+"rotate(",null,r)-2,x:(0,ir.Z)(e,t)})):t&&n.push(o(n)+"rotate("+t+r)}(i.rotate,a.rotate,s,u),function(e,t,n,i){e!==t?i.push({i:n.push(o(n)+"skewX(",null,r)-2,x:(0,ir.Z)(e,t)}):t&&n.push(o(n)+"skewX("+t+r)}(i.skewX,a.skewX,s,u),function(e,t,n,r,i,a){if(e!==n||t!==r){var s=i.push(o(i)+"scale(",null,",",null,")");a.push({i:s-4,x:(0,ir.Z)(e,n)},{i:s-2,x:(0,ir.Z)(t,r)})}else 1===n&&1===r||i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,s,u),i=a=null,function(e){for(var t,n=-1,r=u.length;++n<r;)s[(t=u[n]).i]=t.x(e);return s.join("")}}}var lr=cr((function(e){var t=new("function"===typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?sr:ur(t.a,t.b,t.c,t.d,t.e,t.f)}),"px, ","px)","deg)"),dr=cr((function(e){return null==e?sr:(or||(or=document.createElementNS("http://www.w3.org/2000/svg","g")),or.setAttribute("transform",e),(e=or.transform.baseVal.consolidate())?ur((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):sr)}),", ",")",")");function fr(e,t){var n,r;return function(){var o=tr(this,e),i=o.tween;if(i!==n)for(var a=0,s=(r=n=i).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}o.tween=r}}function hr(e,t,n){var r,o;if("function"!==typeof n)throw new Error;return function(){var i=tr(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:t,value:n},u=0,c=o.length;u<c;++u)if(o[u].name===t){o[u]=s;break}u===c&&o.push(s)}i.tween=o}}function pr(e,t,n){var r=e._id;return e.each((function(){var e=tr(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return nr(e,r).value[t]}}var vr=r(76374),mr=r(73028),gr=r(10370);function yr(e,t){var n;return("number"===typeof t?ir.Z:t instanceof vr.ZP?mr.ZP:(n=(0,vr.ZP)(t))?(t=n,mr.ZP):gr.Z)(e,t)}function br(e){return function(){this.removeAttribute(e)}}function wr(e){return function(){this.removeAttributeNS(e.space,e.local)}}function _r(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function xr(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function kr(e,t,n){var r,o,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttribute(e))===(s=u+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,u));this.removeAttribute(e)}}function Er(e,t,n){var r,o,i;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttributeNS(e.space,e.local))===(s=u+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,u));this.removeAttributeNS(e.space,e.local)}}function Or(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Cr(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Tr(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&Cr(e,o)),n}return o._value=t,o}function Mr(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&Or(e,o)),n}return o._value=t,o}function Sr(e,t){return function(){er(this,e).delay=+t.apply(this,arguments)}}function Pr(e,t){return t=+t,function(){er(this,e).delay=t}}function jr(e,t){return function(){tr(this,e).duration=+t.apply(this,arguments)}}function Ir(e,t){return t=+t,function(){tr(this,e).duration=t}}function Ar(e,t){if("function"!==typeof t)throw new Error;return function(){tr(this,e).ease=t}}function Rr(e,t,n){var r,o,i=function(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?er:tr;return function(){var a=i(this,e),s=a.on;s!==r&&(o=(r=s).copy()).on(t,n),a.on=o}}var Dr=Nn.prototype.constructor;function Lr(e){return function(){this.style.removeProperty(e)}}function Nr(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Br(e,t,n){var r,o;function i(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&Nr(e,i,n)),r}return i._value=t,i}function zr(e){return function(t){this.textContent=e.call(this,t)}}function Fr(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&zr(r)),t}return r._value=e,r}var Hr=0;function Vr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Wr(){return++Hr}var Ur=Nn.prototype;Vr.prototype=function(e){return Nn().transition(e)}.prototype=(0,vt.Z)({constructor:Vr,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=gt(e));for(var r=this._groups,o=r.length,i=new Array(o),a=0;a<o;++a)for(var s,u,c=r[a],l=c.length,d=i[a]=new Array(l),f=0;f<l;++f)(s=c[f])&&(u=e.call(s,s.__data__,f,c))&&("__data__"in s&&(u.__data__=s.__data__),d[f]=u,Jn(d[f],t,n,f,d,nr(s,n)));return new Vr(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=wt(e));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var u,c=r[s],l=c.length,d=0;d<l;++d)if(u=c[d]){for(var f,h=e.call(u,u.__data__,d,c),p=nr(u,n),v=0,m=h.length;v<m;++v)(f=h[v])&&Jn(f,t,n,v,h,p);i.push(h),a.push(u)}return new Vr(i,a,t,n)},selectChild:Ur.selectChild,selectChildren:Ur.selectChildren,filter:function(e){"function"!==typeof e&&(e=_t(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,u=r[o]=[],c=0;c<s;++c)(i=a[c])&&e.call(i,i.__data__,c,a)&&u.push(i);return new Vr(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=new Array(r),s=0;s<i;++s)for(var u,c=t[s],l=n[s],d=c.length,f=a[s]=new Array(d),h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;s<r;++s)a[s]=t[s];return new Vr(a,this._parents,this._name,this._id)},selection:function(){return new Dr(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=Wr(),r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],u=s.length,c=0;c<u;++c)if(a=s[c]){var l=nr(a,t);Jn(a,e,n,c,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Vr(r,this._parents,e,n)},call:Ur.call,nodes:Ur.nodes,node:Ur.node,size:Ur.size,empty:Ur.empty,each:Ur.each,on:function(e,t){var n=this._id;return arguments.length<2?nr(this.node(),n).on.on(e):this.each(Rr(n,e,t))},attr:function(e,t){var n=zt(e),r="transform"===n?dr:yr;return this.attrTween(e,"function"===typeof t?(n.local?Er:kr)(n,r,pr(this,"attr."+e,t)):null==t?(n.local?wr:br)(n):(n.local?xr:_r)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!==typeof t)throw new Error;var r=zt(e);return this.tween(n,(r.local?Tr:Mr)(r,t))},style:function(e,t,n){var r="transform"===(e+="")?lr:yr;return null==t?this.styleTween(e,function(e,t){var n,r,o;return function(){var i=Xt(this,e),a=(this.style.removeProperty(e),Xt(this,e));return i===a?null:i===n&&a===r?o:o=t(n=i,r=a)}}(e,r)).on("end.style."+e,Lr(e)):"function"===typeof t?this.styleTween(e,function(e,t,n){var r,o,i;return function(){var a=Xt(this,e),s=n(this),u=s+"";return null==s&&(this.style.removeProperty(e),u=s=Xt(this,e)),a===u?null:a===r&&u===o?i:(o=u,i=t(r=a,s))}}(e,r,pr(this,"style."+e,t))).each(function(e,t){var n,r,o,i,a="style."+t,s="end."+a;return function(){var u=tr(this,e),c=u.on,l=null==u.value[a]?i||(i=Lr(t)):void 0;c===n&&o===l||(r=(n=c).copy()).on(s,o=l),u.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,o,i=n+"";return function(){var a=Xt(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!==typeof t)throw new Error;return this.tween(r,Br(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"===typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(pr(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!==typeof e)throw new Error;return this.tween(t,Fr(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,o=nr(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===e)return r.value;return null}return this.each((null==t?fr:hr)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?Sr:Pr)(t,e)):nr(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?jr:Ir)(t,e)):nr(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(Ar(t,e)):nr(this.node(),t).ease},easeVarying:function(e){if("function"!==typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!==typeof n)throw new Error;tr(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,o=n.size();return new Promise((function(i,a){var s={value:a},u={value:function(){0===--o&&i()}};n.each((function(){var n=tr(this,r),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),n.on=t})),0===o&&i()}))}},Symbol.iterator,Ur[Symbol.iterator]);var Gr={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};function qr(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error("transition ".concat(t," not found"));return n}Nn.prototype.interrupt=function(e){return this.each((function(){rr(this,e)}))},Nn.prototype.transition=function(e){var t,n;e instanceof Vr?(t=e._id,e=e._name):(t=Wr(),(n=Gr).time=(0,$n.zO)(),e=null==e?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],u=s.length,c=0;c<u;++c)(a=s[c])&&Jn(a,e,t,c,s,n||qr(a,t));return new Vr(r,this._parents,e,t)};var Kr=function(e){return function(){return e}};function Zr(e,t){var n=t.sourceEvent,r=t.target,o=t.transform,i=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function $r(e,t,n){this.k=e,this.x=t,this.y=n}$r.prototype={constructor:$r,scale:function(e){return 1===e?this:new $r(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new $r(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Xr=new $r(1,0,0);function Yr(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Xr;return e.__zoom}function Qr(e){e.stopImmediatePropagation()}function Jr(e){e.preventDefault(),e.stopImmediatePropagation()}function eo(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function to(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function no(){return this.__zoom||Xr}function ro(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function oo(){return navigator.maxTouchPoints||"ontouchstart"in this}function io(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function ao(){var e,t,n,r=eo,o=to,i=io,a=ro,s=oo,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],l=250,d=Kn,f=(0,zn.Z)("start","zoom","end"),h=500,p=0,v=10;function m(e){e.property("__zoom",no).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",O).filter(s).on("touchstart.zoom",C).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",M).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(u[0],Math.min(u[1],t)))===e.k?e:new $r(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return r===e.x&&o===e.y?e:new $r(e.k,r,o)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,n,r){e.on("start.zoom",(function(){_(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){_(this,arguments).event(r).end()})).tween("zoom",(function(){var e=this,i=arguments,a=_(e,i).event(r),s=o.apply(e,i),u=null==n?b(s):"function"===typeof n?n.apply(e,i):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),l=e.__zoom,f="function"===typeof t?t.apply(e,i):t,h=d(l.invert(u).concat(c/l.k),f.invert(u).concat(c/f.k));return function(e){if(1===e)e=f;else{var t=h(e),n=c/t[2];e=new $r(n,u[0]-t[0]*n,u[1]-t[1]*n)}a.zoom(null,e)}}))}function _(e,t,n){return!n&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function k(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if(r.apply(this,arguments)){var s=_(this,n).event(e),l=this.__zoom,d=Math.max(u[0],Math.min(u[1],l.k*Math.pow(2,a.apply(this,arguments)))),f=Zn(e);if(s.wheel)s.mouse[0][0]===f[0]&&s.mouse[0][1]===f[1]||(s.mouse[1]=l.invert(s.mouse[0]=f)),clearTimeout(s.wheel);else{if(l.k===d)return;s.mouse=[f,l.invert(f)],rr(this),s.start()}Jr(e),s.wheel=setTimeout(h,150),s.zoom("mouse",i(y(g(l,d),s.mouse[0],s.mouse[1]),s.extent,c))}function h(){s.wheel=null,s.end()}}function E(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),a=1;a<t;a++)o[a-1]=arguments[a];if(!n&&r.apply(this,arguments)){var s=e.currentTarget,u=_(this,o,!0).event(e),l=Bn(e.view).on("mousemove.zoom",v,!0).on("mouseup.zoom",m,!0),d=Zn(e,s),f=e.clientX,h=e.clientY;Un(e.view),Qr(e),u.mouse=[d,this.__zoom.invert(d)],rr(this),u.start()}function v(e){if(Jr(e),!u.moved){var t=e.clientX-f,n=e.clientY-h;u.moved=t*t+n*n>p}u.event(e).zoom("mouse",i(y(u.that.__zoom,u.mouse[0]=Zn(e,s),u.mouse[1]),u.extent,c))}function m(e){l.on("mousemove.zoom mouseup.zoom",null),Gn(e.view,u.moved),Jr(e),u.event(e).end()}}function O(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];if(r.apply(this,arguments)){var s=this.__zoom,u=Zn(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(u),f=s.k*(e.shiftKey?.5:2),h=i(y(g(s,f),u,d),o.apply(this,n),c);Jr(e),l>0?Bn(this).transition().duration(l).call(w,h,u,e):Bn(this).call(m.transform,h,u,e)}}function C(n){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];if(r.apply(this,arguments)){var s,u,c,l,d=n.touches,f=d.length,p=_(this,i,n.changedTouches.length===f).event(n);for(Qr(n),u=0;u<f;++u)l=[l=Zn(c=d[u],this),this.__zoom.invert(l),c.identifier],p.touch0?p.touch1||p.touch0[2]===l[2]||(p.touch1=l,p.taps=0):(p.touch0=l,s=!0,p.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(p.taps<2&&(t=l[0],e=setTimeout((function(){e=null}),h)),rr(this),p.start())}}function T(e){if(this.__zooming){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o,a,s,u,l=_(this,n).event(e),d=e.changedTouches,f=d.length;for(Jr(e),o=0;o<f;++o)s=Zn(a=d[o],this),l.touch0&&l.touch0[2]===a.identifier?l.touch0[0]=s:l.touch1&&l.touch1[2]===a.identifier&&(l.touch1[0]=s);if(a=l.that.__zoom,l.touch1){var h=l.touch0[0],p=l.touch0[1],v=l.touch1[0],m=l.touch1[1],b=(b=v[0]-h[0])*b+(b=v[1]-h[1])*b,w=(w=m[0]-p[0])*w+(w=m[1]-p[1])*w;a=g(a,Math.sqrt(b/w)),s=[(h[0]+v[0])/2,(h[1]+v[1])/2],u=[(p[0]+m[0])/2,(p[1]+m[1])/2]}else{if(!l.touch0)return;s=l.touch0[0],u=l.touch0[1]}l.zoom("touch",i(y(a,s,u),l.extent,c))}}function M(e){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];if(this.__zooming){var a,s,u=_(this,o).event(e),c=e.changedTouches,l=c.length;for(Qr(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),h),a=0;a<l;++a)s=c[a],u.touch0&&u.touch0[2]===s.identifier?delete u.touch0:u.touch1&&u.touch1[2]===s.identifier&&delete u.touch1;if(u.touch1&&!u.touch0&&(u.touch0=u.touch1,delete u.touch1),u.touch0)u.touch0[1]=this.__zoom.invert(u.touch0[0]);else if(u.end(),2===u.taps&&(s=Zn(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<v)){var d=Bn(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return m.transform=function(e,t,n,r){var o=e.selection?e.selection():e;o.property("__zoom",no),e!==o?w(e,t,n,r):o.interrupt().each((function(){_(this,arguments).event(r).start().zoom(null,"function"===typeof t?t.apply(this,arguments):t).end()}))},m.scaleBy=function(e,t,n,r){m.scaleTo(e,(function(){var e=this.__zoom.k,n="function"===typeof t?t.apply(this,arguments):t;return e*n}),n,r)},m.scaleTo=function(e,t,n,r){m.transform(e,(function(){var e=o.apply(this,arguments),r=this.__zoom,a=null==n?b(e):"function"===typeof n?n.apply(this,arguments):n,s=r.invert(a),u="function"===typeof t?t.apply(this,arguments):t;return i(y(g(r,u),a,s),e,c)}),n,r)},m.translateBy=function(e,t,n,r){m.transform(e,(function(){return i(this.__zoom.translate("function"===typeof t?t.apply(this,arguments):t,"function"===typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)}),null,r)},m.translateTo=function(e,t,n,r,a){m.transform(e,(function(){var e=o.apply(this,arguments),a=this.__zoom,s=null==r?b(e):"function"===typeof r?r.apply(this,arguments):r;return i(Xr.translate(s[0],s[1]).scale(a.k).translate("function"===typeof t?-t.apply(this,arguments):-t,"function"===typeof n?-n.apply(this,arguments):-n),e,c)}),r,a)},x.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1===++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0===--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=Bn(this.that).datum();f.call(e,this.that,new Zr(e,{sourceEvent:this.sourceEvent,target:m,type:e,transform:this.that.__zoom,dispatch:f}),t)}},m.wheelDelta=function(e){return arguments.length?(a="function"===typeof e?e:Kr(+e),m):a},m.filter=function(e){return arguments.length?(r="function"===typeof e?e:Kr(!!e),m):r},m.touchable=function(e){return arguments.length?(s="function"===typeof e?e:Kr(!!e),m):s},m.extent=function(e){return arguments.length?(o="function"===typeof e?e:Kr([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),m):o},m.scaleExtent=function(e){return arguments.length?(u[0]=+e[0],u[1]=+e[1],m):[u[0],u[1]]},m.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],m):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},m.constrain=function(e){return arguments.length?(i=e,m):i},m.duration=function(e){return arguments.length?(l=+e,m):l},m.interpolate=function(e){return arguments.length?(d=e,m):d},m.on=function(){var e=f.on.apply(f,arguments);return e===f?m:e},m.clickDistance=function(e){return arguments.length?(p=(e=+e)*e,m):Math.sqrt(p)},m.tapDistance=function(e){return arguments.length?(v=+e,m):v},m}Yr.prototype=$r.prototype;var so=function(e){return function(){return e}};function uo(e,t){var n=t.sourceEvent,r=t.subject,o=t.target,i=t.identifier,a=t.active,s=t.x,u=t.y,c=t.dx,l=t.dy,d=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:d}})}function co(e){return!e.ctrlKey&&!e.button}function lo(){return this.parentNode}function fo(e,t){return null==t?{x:e.x,y:e.y}:t}function ho(){return navigator.maxTouchPoints||"ontouchstart"in this}uo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var po=r(86701),vo=r(3752),mo=r(93096),go=r.n(mo),yo=r(17621),bo=r.n(yo);function wo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function xo(e){return function(e){if(Array.isArray(e))return ko(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return ko(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ko(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ko(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Eo=function(e,t,n){return(e<<16)+(t<<8)+n},Oo=function(e,t){return 123*e%Math.pow(2,t)},Co=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6;wo(this,e),this.csBits=t,this.registry=["__reserved for background__"]}var t,n,r;return t=e,(n=[{key:"register",value:function(e){if(this.registry.length>=Math.pow(2,24-this.csBits))return null;var t,n=this.registry.length,r=Oo(n,this.csBits),o=(t=n+(r<<24-this.csBits),"#".concat(Math.min(t,Math.pow(2,24)).toString(16).padStart(6,"0")));return this.registry.push(e),o}},{key:"lookup",value:function(e){var t="string"===typeof e?function(e){var t=bo()(e).toRgb(),n=t.r,r=t.g,o=t.b;return Eo(n,r,o)}(e):Eo.apply(void 0,xo(e));if(!t)return null;var n=t&Math.pow(2,24-this.csBits)-1,r=t>>24-this.csBits&Math.pow(2,this.csBits)-1;return Oo(n,this.csBits)!==r||n>=this.registry.length?null:this.registry[n]}}])&&_o(t.prototype,n),r&&_o(t,r),e}(),To=r(54505),Mo=r(15560),So=r(92405),Po=r(20216),jo=r(16917);const{abs:Io,cos:Ao,sin:Ro,acos:Do,atan2:Lo,sqrt:No,pow:Bo}=Math;function zo(e){return e<0?-Bo(-e,1/3):Bo(e,1/3)}const Fo=Math.PI,Ho=2*Fo,Vo=Fo/2,Wo=Number.MAX_SAFE_INTEGER||9007199254740991,Uo=Number.MIN_SAFE_INTEGER||-9007199254740991,Go={x:0,y:0,z:0},qo={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,t){const n=t(e);let r=n.x*n.x+n.y*n.y;return"undefined"!==typeof n.z&&(r+=n.z*n.z),No(r)},compute:function(e,t,n){if(0===e)return t[0].t=0,t[0];const r=t.length-1;if(1===e)return t[r].t=1,t[r];const o=1-e;let i=t;if(0===r)return t[0].t=e,t[0];if(1===r){const t={x:o*i[0].x+e*i[1].x,y:o*i[0].y+e*i[1].y,t:e};return n&&(t.z=o*i[0].z+e*i[1].z),t}if(r<4){let t,a,s,u=o*o,c=e*e,l=0;2===r?(i=[i[0],i[1],i[2],Go],t=u,a=o*e*2,s=c):3===r&&(t=u*o,a=u*e*3,s=o*c*3,l=e*c);const d={x:t*i[0].x+a*i[1].x+s*i[2].x+l*i[3].x,y:t*i[0].y+a*i[1].y+s*i[2].y+l*i[3].y,t:e};return n&&(d.z=t*i[0].z+a*i[1].z+s*i[2].z+l*i[3].z),d}const a=JSON.parse(JSON.stringify(t));for(;a.length>1;){for(let t=0;t<a.length-1;t++)a[t]={x:a[t].x+(a[t+1].x-a[t].x)*e,y:a[t].y+(a[t+1].y-a[t].y)*e},"undefined"!==typeof a[t].z&&(a[t]=a[t].z+(a[t+1].z-a[t].z)*e);a.splice(a.length-1,1)}return a[0].t=e,a[0]},computeWithRatios:function(e,t,n,r){const o=1-e,i=n,a=t;let s,u=i[0],c=i[1],l=i[2],d=i[3];return u*=o,c*=e,2===a.length?(s=u+c,{x:(u*a[0].x+c*a[1].x)/s,y:(u*a[0].y+c*a[1].y)/s,z:!!r&&(u*a[0].z+c*a[1].z)/s,t:e}):(u*=o,c*=2*o,l*=e*e,3===a.length?(s=u+c+l,{x:(u*a[0].x+c*a[1].x+l*a[2].x)/s,y:(u*a[0].y+c*a[1].y+l*a[2].y)/s,z:!!r&&(u*a[0].z+c*a[1].z+l*a[2].z)/s,t:e}):(u*=o,c*=1.5*o,l*=3*o,d*=e*e*e,4===a.length?(s=u+c+l+d,{x:(u*a[0].x+c*a[1].x+l*a[2].x+d*a[3].x)/s,y:(u*a[0].y+c*a[1].y+l*a[2].y+d*a[3].y)/s,z:!!r&&(u*a[0].z+c*a[1].z+l*a[2].z+d*a[3].z)/s,t:e}):void 0))},derive:function(e,t){const n=[];for(let r=e,o=r.length,i=o-1;o>1;o--,i--){const e=[];for(let n,o=0;o<i;o++)n={x:i*(r[o+1].x-r[o].x),y:i*(r[o+1].y-r[o].y)},t&&(n.z=i*(r[o+1].z-r[o].z)),e.push(n);n.push(e),r=e}return n},between:function(e,t,n){return t<=e&&e<=n||qo.approximately(e,t)||qo.approximately(e,n)},approximately:function(e,t,n){return Io(e-t)<=(n||1e-6)},length:function(e){const t=qo.Tvalues.length;let n=0;for(let r,o=0;o<t;o++)r=.5*qo.Tvalues[o]+.5,n+=qo.Cvalues[o]*qo.arcfn(r,e);return.5*n},map:function(e,t,n,r,o){return r+(o-r)*((e-t)/(n-t))},lerp:function(e,t,n){const r={x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)};return void 0!==t.z&&void 0!==n.z&&(r.z=t.z+e*(n.z-t.z)),r},pointToString:function(e){let t=e.x+"/"+e.y;return"undefined"!==typeof e.z&&(t+="/"+e.z),t},pointsToString:function(e){return"["+e.map(qo.pointToString).join(", ")+"]"},copy:function(e){return JSON.parse(JSON.stringify(e))},angle:function(e,t,n){const r=t.x-e.x,o=t.y-e.y,i=n.x-e.x,a=n.y-e.y;return Lo(r*a-o*i,r*i+o*a)},round:function(e,t){const n=""+e,r=n.indexOf(".");return parseFloat(n.substring(0,r+1+t))},dist:function(e,t){const n=e.x-t.x,r=e.y-t.y;return No(n*n+r*r)},closest:function(e,t){let n,r,o=Bo(2,63);return e.forEach((function(e,i){r=qo.dist(t,e),r<o&&(o=r,n=i)})),{mdist:o,mpos:n}},abcratio:function(e,t){if(2!==t&&3!==t)return!1;if("undefined"===typeof e)e=.5;else if(0===e||1===e)return e;const n=Bo(e,t)+Bo(1-e,t);return Io((n-1)/n)},projectionratio:function(e,t){if(2!==t&&3!==t)return!1;if("undefined"===typeof e)e=.5;else if(0===e||1===e)return e;const n=Bo(1-e,t);return n/(Bo(e,t)+n)},lli8:function(e,t,n,r,o,i,a,s){const u=(e-n)*(i-s)-(t-r)*(o-a);return 0!=u&&{x:((e*r-t*n)*(o-a)-(e-n)*(o*s-i*a))/u,y:((e*r-t*n)*(i-s)-(t-r)*(o*s-i*a))/u}},lli4:function(e,t,n,r){const o=e.x,i=e.y,a=t.x,s=t.y,u=n.x,c=n.y,l=r.x,d=r.y;return qo.lli8(o,i,a,s,u,c,l,d)},lli:function(e,t){return qo.lli4(e,e.c,t,t.c)},makeline:function(e,t){const n=e.x,r=e.y,o=t.x,i=t.y,a=(o-n)/3,s=(i-r)/3;return new ni(n,r,n+a,r+s,n+2*a,r+2*s,o,i)},findbbox:function(e){let t=Wo,n=Wo,r=Uo,o=Uo;return e.forEach((function(e){const i=e.bbox();t>i.x.min&&(t=i.x.min),n>i.y.min&&(n=i.y.min),r<i.x.max&&(r=i.x.max),o<i.y.max&&(o=i.y.max)})),{x:{min:t,mid:(t+r)/2,max:r,size:r-t},y:{min:n,mid:(n+o)/2,max:o,size:o-n}}},shapeintersections:function(e,t,n,r,o){if(!qo.bboxoverlap(t,r))return[];const i=[],a=[e.startcap,e.forward,e.back,e.endcap],s=[n.startcap,n.forward,n.back,n.endcap];return a.forEach((function(t){t.virtual||s.forEach((function(r){if(r.virtual)return;const a=t.intersects(r,o);a.length>0&&(a.c1=t,a.c2=r,a.s1=e,a.s2=n,i.push(a))}))})),i},makeshape:function(e,t,n){const r=t.points.length,o=e.points.length,i=qo.makeline(t.points[r-1],e.points[0]),a=qo.makeline(e.points[o-1],t.points[0]),s={startcap:i,forward:e,back:t,endcap:a,bbox:qo.findbbox([i,e,t,a]),intersections:function(e){return qo.shapeintersections(s,s.bbox,e,e.bbox,n)}};return s},getminmax:function(e,t,n){if(!n)return{min:0,max:0};let r,o,i=Wo,a=Uo;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let s=0,u=n.length;s<u;s++)r=n[s],o=e.get(r),o[t]<i&&(i=o[t]),o[t]>a&&(a=o[t]);return{min:i,mid:(i+a)/2,max:a,size:a-i}},align:function(e,t){const n=t.p1.x,r=t.p1.y,o=-Lo(t.p2.y-r,t.p2.x-n);return e.map((function(e){return{x:(e.x-n)*Ao(o)-(e.y-r)*Ro(o),y:(e.x-n)*Ro(o)+(e.y-r)*Ao(o)}}))},roots:function(e,t){t=t||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=e.length-1,r=qo.align(e,t),o=function(e){return 0<=e&&e<=1};if(2===n){const e=r[0].y,t=r[1].y,n=r[2].y,i=e-2*t+n;if(0!==i){const r=-No(t*t-e*n),a=-e+t;return[-(r+a)/i,-(-r+a)/i].filter(o)}return t!==n&&0===i?[(2*t-n)/(2*t-2*n)].filter(o):[]}const i=r[0].y,a=r[1].y,s=r[2].y;let u=3*a-i-3*s+r[3].y,c=3*i-6*a+3*s,l=-3*i+3*a,d=i;if(qo.approximately(u,0)){if(qo.approximately(c,0))return qo.approximately(l,0)?[]:[-d/l].filter(o);const e=No(l*l-4*c*d),t=2*c;return[(e-l)/t,(-l-e)/t].filter(o)}c/=u,l/=u,d/=u;const f=(3*l-c*c)/3,h=f/3,p=(2*c*c*c-9*c*l+27*d)/27,v=p/2,m=v*v+h*h*h;let g,y,b,w,_;if(m<0){const e=-f/3,t=No(e*e*e),n=-p/(2*t),r=Do(n<-1?-1:n>1?1:n),i=2*zo(t);return b=i*Ao(r/3)-c/3,w=i*Ao((r+Ho)/3)-c/3,_=i*Ao((r+2*Ho)/3)-c/3,[b,w,_].filter(o)}if(0===m)return g=v<0?zo(-v):-zo(v),b=2*g-c/3,w=-g-c/3,[b,w].filter(o);{const e=No(m);return g=zo(-v+e),y=zo(v+e),[g-y-c/3].filter(o)}},droots:function(e){if(3===e.length){const t=e[0],n=e[1],r=e[2],o=t-2*n+r;if(0!==o){const e=-No(n*n-t*r),i=-t+n;return[-(e+i)/o,-(-e+i)/o]}return n!==r&&0===o?[(2*n-r)/(2*(n-r))]:[]}if(2===e.length){const t=e[0],n=e[1];return t!==n?[t/(t-n)]:[]}return[]},curvature:function(e,t,n,r,o){let i,a,s,u,c=0,l=0;const d=qo.compute(e,t),f=qo.compute(e,n),h=d.x*d.x+d.y*d.y;if(r?(i=No(Bo(d.y*f.z-f.y*d.z,2)+Bo(d.z*f.x-f.z*d.x,2)+Bo(d.x*f.y-f.x*d.y,2)),a=Bo(h+d.z*d.z,1.5)):(i=d.x*f.y-d.y*f.x,a=Bo(h,1.5)),0===i||0===a)return{k:0,r:0};if(c=i/a,l=a/i,!o){const o=qo.curvature(e-.001,t,n,r,!0).k,i=qo.curvature(e+.001,t,n,r,!0).k;u=(i-c+(c-o))/2,s=(Io(i-c)+Io(c-o))/2}return{k:c,r:l,dk:u,adk:s}},inflections:function(e){if(e.length<4)return[];const t=qo.align(e,{p1:e[0],p2:e.slice(-1)[0]}),n=t[2].x*t[1].y,r=t[3].x*t[1].y,o=t[1].x*t[2].y,i=18*(-3*n+2*r+3*o-t[3].x*t[2].y),a=18*(3*n-r-3*o),s=18*(o-n);if(qo.approximately(i,0)){if(!qo.approximately(a,0)){let e=-s/a;if(0<=e&&e<=1)return[e]}return[]}const u=a*a-4*i*s,c=Math.sqrt(u),l=2*i;return qo.approximately(l,0)?[]:[(c-a)/l,-(a+c)/l].filter((function(e){return 0<=e&&e<=1}))},bboxoverlap:function(e,t){const n=["x","y"],r=n.length;for(let o,i,a,s,u=0;u<r;u++)if(o=n[u],i=e[o].mid,a=t[o].mid,s=(e[o].size+t[o].size)/2,Io(i-a)>=s)return!1;return!0},expandbox:function(e,t){t.x.min<e.x.min&&(e.x.min=t.x.min),t.y.min<e.y.min&&(e.y.min=t.y.min),t.z&&t.z.min<e.z.min&&(e.z.min=t.z.min),t.x.max>e.x.max&&(e.x.max=t.x.max),t.y.max>e.y.max&&(e.y.max=t.y.max),t.z&&t.z.max>e.z.max&&(e.z.max=t.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,t,n){const r=e.bbox(),o=t.bbox(),i=1e5,a=n||.5;if(r.x.size+r.y.size<a&&o.x.size+o.y.size<a)return[(i*(e._t1+e._t2)/2|0)/i+"/"+(i*(t._t1+t._t2)/2|0)/i];let s=e.split(.5),u=t.split(.5),c=[{left:s.left,right:u.left},{left:s.left,right:u.right},{left:s.right,right:u.right},{left:s.right,right:u.left}];c=c.filter((function(e){return qo.bboxoverlap(e.left.bbox(),e.right.bbox())}));let l=[];return 0===c.length||(c.forEach((function(e){l=l.concat(qo.pairiteration(e.left,e.right,a))})),l=l.filter((function(e,t){return l.indexOf(e)===t}))),l},getccenter:function(e,t,n){const r=t.x-e.x,o=t.y-e.y,i=n.x-t.x,a=n.y-t.y,s=r*Ao(Vo)-o*Ro(Vo),u=r*Ro(Vo)+o*Ao(Vo),c=i*Ao(Vo)-a*Ro(Vo),l=i*Ro(Vo)+a*Ao(Vo),d=(e.x+t.x)/2,f=(e.y+t.y)/2,h=(t.x+n.x)/2,p=(t.y+n.y)/2,v=d+s,m=f+u,g=h+c,y=p+l,b=qo.lli8(d,f,v,m,h,p,g,y),w=qo.dist(b,e);let _,x=Lo(e.y-b.y,e.x-b.x),k=Lo(t.y-b.y,t.x-b.x),E=Lo(n.y-b.y,n.x-b.x);return x<E?((x>k||k>E)&&(x+=Ho),x>E&&(_=E,E=x,x=_)):E<k&&k<x?(_=E,E=x,x=_):E+=Ho,b.s=x,b.e=E,b.r=w,b},numberSort:function(e,t){return e-t}};class Ko{constructor(e){this.curves=[],this._3d=!1,e&&(this.curves=e,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map((function(e){return qo.pointsToString(e.points)})).join(", ")+"]"}addCurve(e){this.curves.push(e),this._3d=this._3d||e._3d}length(){return this.curves.map((function(e){return e.length()})).reduce((function(e,t){return e+t}))}curve(e){return this.curves[e]}bbox(){const e=this.curves;for(var t=e[0].bbox(),n=1;n<e.length;n++)qo.expandbox(t,e[n].bbox());return t}offset(e){const t=[];return this.curves.forEach((function(n){t.push(...n.offset(e))})),new Ko(t)}}const{abs:Zo,min:$o,max:Xo,cos:Yo,sin:Qo,acos:Jo,sqrt:ei}=Math,ti=Math.PI;class ni{constructor(e){let t=e&&e.forEach?e:Array.from(arguments).slice(),n=!1;if("object"===typeof t[0]){n=t.length;const e=[];t.forEach((function(t){["x","y","z"].forEach((function(n){"undefined"!==typeof t[n]&&e.push(t[n])}))})),t=e}let r=!1;const o=t.length;if(n){if(n>4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==o&&8!==o&&9!==o&&12!==o&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const i=this._3d=!r&&(9===o||12===o)||e&&e[0]&&"undefined"!==typeof e[0].z,a=this.points=[];for(let d=0,f=i?3:2;d<o;d+=f){var s={x:t[d],y:t[d+1]};i&&(s.z=t[d+2]),a.push(s)}const u=this.order=a.length-1,c=this.dims=["x","y"];i&&c.push("z"),this.dimlen=c.length;const l=qo.align(a,{p1:a[0],p2:a[u]});this._linear=!l.some((e=>Zo(e.y)>1e-4)),this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(e,t,n,r){if("undefined"===typeof r&&(r=.5),0===r)return new ni(t,t,n);if(1===r)return new ni(e,t,t);const o=ni.getABC(2,e,t,n,r);return new ni(e,o.A,n)}static cubicFromPoints(e,t,n,r,o){"undefined"===typeof r&&(r=.5);const i=ni.getABC(3,e,t,n,r);"undefined"===typeof o&&(o=qo.dist(t,i.C));const a=o*(1-r)/r,s=qo.dist(e,n),u=(n.x-e.x)/s,c=(n.y-e.y)/s,l=o*u,d=o*c,f=a*u,h=a*c,p=t.x-l,v=t.y-d,m=t.x+f,g=t.y+h,y=i.A,b=y.x+(p-y.x)/(1-r),w=y.y+(v-y.y)/(1-r),_=y.x+(m-y.x)/r,x=y.y+(g-y.y)/r,k={x:e.x+(b-e.x)/r,y:e.y+(w-e.y)/r},E={x:n.x+(_-n.x)/(1-r),y:n.y+(x-n.y)/(1-r)};return new ni(e,k,E,n)}static getUtils(){return qo}getUtils(){return ni.getUtils()}static get PolyBezier(){return Ko}valueOf(){return this.toString()}toString(){return qo.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,t=["M",e[0].x,e[0].y,2===this.order?"Q":"C"];for(let n=1,r=e.length;n<r;n++)t.push(e[n].x),t.push(e[n].y);return t.join(" ")}setRatios(e){if(e.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=e,this._lut=[]}verify(){const e=this.coordDigest();e!==this._print&&(this._print=e,this.update())}coordDigest(){return this.points.map((function(e,t){return""+t+e.x+e.y+(e.z?e.z:0)})).join("")}update(){this._lut=[],this.dpoints=qo.derive(this.points,this._3d),this.computedirection()}computedirection(){const e=this.points,t=qo.angle(e[0],e[this.order],e[1]);this.clockwise=t>0}length(){return qo.length(this.derivative.bind(this))}static getABC(e=2,t,n,r,o=.5){const i=qo.projectionratio(o,e),a=1-i,s={x:i*t.x+a*r.x,y:i*t.y+a*r.y},u=qo.abcratio(o,e);return{A:{x:n.x+(n.x-s.x)/u,y:n.y+(n.y-s.y)/u},B:n,C:s,S:t,E:r}}getABC(e,t){t=t||this.get(e);let n=this.points[0],r=this.points[this.order];return ni.getABC(this.order,n,t,r,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e)return this._lut;this._lut=[],e--;for(let t,n,r=0;r<e;r++)n=r/(e-1),t=this.compute(n),t.t=n,this._lut.push(t);return this._lut}on(e,n){n=n||5;const r=this.getLUT(),o=[];for(let t,i=0,a=0;i<r.length;i++)t=r[i],qo.dist(t,e)<n&&(o.push(t),a+=i/r.length);return!!o.length&&(t/=o.length)}project(e){const t=this.getLUT(),n=t.length-1,r=qo.closest(t,e),o=r.mpos,i=(o-1)/n,a=(o+1)/n,s=.1/n;let u,c,l=r.mdist,d=i,f=d;for(l+=1;d<a+s;d+=s)u=this.compute(d),c=qo.dist(e,u),c<l&&(l=c,f=d);return f=f<0?0:f>1?1:f,u=this.compute(f),u.t=f,u.d=l,u}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?qo.computeWithRatios(e,this.points,this.ratios,this._3d):qo.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,t=[e[0]],n=e.length;for(let r,o,i=1;i<n;i++)r=e[i],o=e[i-1],t[i]={x:(n-i)/n*r.x+i/n*o.x,y:(n-i)/n*r.y+i/n*o.y};return t[n]=e[n-1],new ni(t)}derivative(e){return qo.compute(e,this.dpoints[0],this._3d)}dderivative(e){return qo.compute(e,this.dpoints[1],this._3d)}align(){let e=this.points;return new ni(qo.align(e,{p1:e[0],p2:e[e.length-1]}))}curvature(e){return qo.curvature(e,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return qo.inflections(this.points)}normal(e){return this._3d?this.__normal3(e):this.__normal2(e)}__normal2(e){const t=this.derivative(e),n=ei(t.x*t.x+t.y*t.y);return{x:-t.y/n,y:t.x/n}}__normal3(e){const t=this.derivative(e),n=this.derivative(e+.01),r=ei(t.x*t.x+t.y*t.y+t.z*t.z),o=ei(n.x*n.x+n.y*n.y+n.z*n.z);t.x/=r,t.y/=r,t.z/=r,n.x/=o,n.y/=o,n.z/=o;const i={x:n.y*t.z-n.z*t.y,y:n.z*t.x-n.x*t.z,z:n.x*t.y-n.y*t.x},a=ei(i.x*i.x+i.y*i.y+i.z*i.z);i.x/=a,i.y/=a,i.z/=a;const s=[i.x*i.x,i.x*i.y-i.z,i.x*i.z+i.y,i.x*i.y+i.z,i.y*i.y,i.y*i.z-i.x,i.x*i.z-i.y,i.y*i.z+i.x,i.z*i.z];return{x:s[0]*t.x+s[1]*t.y+s[2]*t.z,y:s[3]*t.x+s[4]*t.y+s[5]*t.z,z:s[6]*t.x+s[7]*t.y+s[8]*t.z}}hull(e){let t=this.points,n=[],r=[],o=0;for(r[o++]=t[0],r[o++]=t[1],r[o++]=t[2],3===this.order&&(r[o++]=t[3]);t.length>1;){n=[];for(let i,a=0,s=t.length-1;a<s;a++)i=qo.lerp(e,t[a],t[a+1]),r[o++]=i,n.push(i);t=n}return r}split(e,t){if(0===e&&t)return this.split(t).left;if(1===t)return this.split(e).right;const n=this.hull(e),r={left:2===this.order?new ni([n[0],n[3],n[5]]):new ni([n[0],n[4],n[7],n[9]]),right:2===this.order?new ni([n[5],n[4],n[2]]):new ni([n[9],n[8],n[6],n[3]]),span:n};return r.left._t1=qo.map(0,0,1,this._t1,this._t2),r.left._t2=qo.map(e,0,1,this._t1,this._t2),r.right._t1=qo.map(e,0,1,this._t1,this._t2),r.right._t2=qo.map(1,0,1,this._t1,this._t2),t?(t=qo.map(t,e,1,0,1),r.right.split(t).left):r}extrema(){const e={};let t=[];return this.dims.forEach(function(n){let r=function(e){return e[n]},o=this.dpoints[0].map(r);e[n]=qo.droots(o),3===this.order&&(o=this.dpoints[1].map(r),e[n]=e[n].concat(qo.droots(o))),e[n]=e[n].filter((function(e){return e>=0&&e<=1})),t=t.concat(e[n].sort(qo.numberSort))}.bind(this)),e.values=t.sort(qo.numberSort).filter((function(e,n){return t.indexOf(e)===n})),e}bbox(){const e=this.extrema(),t={};return this.dims.forEach(function(n){t[n]=qo.getminmax(this,n,e[n])}.bind(this)),t}overlaps(e){const t=this.bbox(),n=e.bbox();return qo.bboxoverlap(t,n)}offset(e,t){if("undefined"!==typeof t){const n=this.get(e),r=this.normal(e),o={c:n,n:r,x:n.x+r.x*t,y:n.y+r.y*t};return this._3d&&(o.z=n.z+r.z*t),o}if(this._linear){const t=this.normal(0),n=this.points.map((function(n){const r={x:n.x+e*t.x,y:n.y+e*t.y};return n.z&&t.z&&(r.z=n.z+e*t.z),r}));return[new ni(n)]}return this.reduce().map((function(t){return t._linear?t.offset(e)[0]:t.scale(e)}))}simple(){if(3===this.order){const e=qo.angle(this.points[0],this.points[3],this.points[1]),t=qo.angle(this.points[0],this.points[3],this.points[2]);if(e>0&&t<0||e<0&&t>0)return!1}const e=this.normal(0),t=this.normal(1);let n=e.x*t.x+e.y*t.y;return this._3d&&(n+=e.z*t.z),Zo(Jo(n))<ti/3}reduce(){let e,t,n=0,r=0,o=.01,i=[],a=[],s=this.extrema().values;for(-1===s.indexOf(0)&&(s=[0].concat(s)),-1===s.indexOf(1)&&s.push(1),n=s[0],e=1;e<s.length;e++)r=s[e],t=this.split(n,r),t._t1=n,t._t2=r,i.push(t),n=r;return i.forEach((function(e){for(n=0,r=0;r<=1;)for(r=n+o;r<=1.01;r+=o)if(t=e.split(n,r),!t.simple()){if(r-=o,Zo(n-r)<o)return[];t=e.split(n,r),t._t1=qo.map(n,0,1,e._t1,e._t2),t._t2=qo.map(r,0,1,e._t1,e._t2),a.push(t),n=r;break}n<1&&(t=e.split(n,1),t._t1=qo.map(n,0,1,e._t1,e._t2),t._t2=e._t2,a.push(t))})),a}scale(e){const t=this.order;let n=!1;if("function"===typeof e&&(n=e),n&&2===t)return this.raise().scale(n);const r=this.clockwise,o=n?n(0):e,i=n?n(1):e,a=[this.offset(0,10),this.offset(1,10)],s=this.points,u=[],c=qo.lli4(a[0],a[0].c,a[1],a[1].c);if(!c)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(e){const n=u[e*t]=qo.copy(s[e*t]);n.x+=(e?i:o)*a[e].n.x,n.y+=(e?i:o)*a[e].n.y})),n?([0,1].forEach((function(o){if(2!==t||!o){var i=s[o+1],a={x:i.x-c.x,y:i.y-c.y},l=n?n((o+1)/t):e;n&&!r&&(l=-l);var d=ei(a.x*a.x+a.y*a.y);a.x/=d,a.y/=d,u[o+1]={x:i.x+l*a.x,y:i.y+l*a.y}}})),new ni(u)):([0,1].forEach((e=>{if(2===t&&e)return;const n=u[e*t],r=this.derivative(e),o={x:n.x+r.x,y:n.y+r.y};u[e+1]=qo.lli4(n,o,c,s[e+1])})),new ni(u))}outline(e,t,n,r){t="undefined"===typeof t?e:t;const o=this.reduce(),i=o.length,a=[];let s,u=[],c=0,l=this.length();const d="undefined"!==typeof n&&"undefined"!==typeof r;function f(e,t,n,r,o){return function(i){const a=r/n,s=(r+o)/n,u=t-e;return qo.map(i,0,1,e+a*u,e+s*u)}}o.forEach((function(o){const i=o.length();d?(a.push(o.scale(f(e,n,l,c,i))),u.push(o.scale(f(-t,-r,l,c,i)))):(a.push(o.scale(e)),u.push(o.scale(-t))),c+=i})),u=u.map((function(e){return s=e.points,s[3]?e.points=[s[3],s[2],s[1],s[0]]:e.points=[s[2],s[1],s[0]],e})).reverse();const h=a[0].points[0],p=a[i-1].points[a[i-1].points.length-1],v=u[i-1].points[u[i-1].points.length-1],m=u[0].points[0],g=qo.makeline(v,h),y=qo.makeline(p,m),b=[g].concat(a).concat([y]).concat(u);b.length;return new Ko(b)}outlineshapes(e,t,n){t=t||e;const r=this.outline(e,t).curves,o=[];for(let i=1,a=r.length;i<a/2;i++){const e=qo.makeshape(r[i],r[a-i],n);e.startcap.virtual=i>1,e.endcap.virtual=i<a/2-1,o.push(e)}return o}intersects(e,t){return e?e.p1&&e.p2?this.lineIntersects(e):(e instanceof ni&&(e=e.reduce()),this.curveintersects(this.reduce(),e,t)):this.selfintersects(t)}lineIntersects(e){const t=$o(e.p1.x,e.p2.x),n=$o(e.p1.y,e.p2.y),r=Xo(e.p1.x,e.p2.x),o=Xo(e.p1.y,e.p2.y);return qo.roots(this.points,e).filter((e=>{var i=this.get(e);return qo.between(i.x,t,r)&&qo.between(i.y,n,o)}))}selfintersects(e){const t=this.reduce(),n=t.length-2,r=[];for(let o,i,a,s=0;s<n;s++)i=t.slice(s,s+1),a=t.slice(s+2),o=this.curveintersects(i,a,e),r.push(...o);return r}curveintersects(e,t,n){const r=[];e.forEach((function(e){t.forEach((function(t){e.overlaps(t)&&r.push({left:e,right:t})}))}));let o=[];return r.forEach((function(e){const t=qo.pairiteration(e.left,e.right,n);t.length>0&&(o=o.concat(t))})),o}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,t,n,r){const o=(r-n)/4,i=this.get(n+o),a=this.get(r-o),s=qo.dist(e,t),u=qo.dist(e,i),c=qo.dist(e,a);return Zo(u-s)+Zo(c-s)}_iterate(e,t){let n,r=0,o=1;do{n=0,o=1;let i,a,s,u,c,l=this.get(r),d=!1,f=!1,h=o,p=1,v=0;do{if(f=d,u=s,h=(r+o)/2,v++,i=this.get(h),a=this.get(o),s=qo.getccenter(l,i,a),s.interval={start:r,end:o},d=this._error(s,l,r,o)<=e,c=f&&!d,c||(p=o),d){if(o>=1){if(s.interval.end=p=1,u=s,o>1){let e={x:s.x+s.r*Yo(s.e),y:s.y+s.r*Qo(s.e)};s.e+=qo.angle({x:s.x,y:s.y},e,this.get(1))}break}o+=(o-r)/2}else o=h}while(!c&&n++<100);if(n>=100)break;u=u||s,t.push(u),r=p}while(o<1);return t}}var ri=r(1527),oi=r(72462),ii=r(47646);function ai(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function si(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ai(Object(n),!0).forEach((function(t){ci(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ai(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ui(e){return(ui="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ci(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function li(e,t){return(li=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function di(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function fi(e,t,n){return(fi=di()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&li(o,n.prototype),o}).apply(null,arguments)}function hi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||vi(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pi(e){return function(e){if(Array.isArray(e))return mi(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||vi(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vi(e,t){if(e){if("string"===typeof e)return mi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mi(e,t):void 0}}function mi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".force-graph-container canvas {\n  display: block;\n  user-select: none;\n  outline: none;\n  -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n  position: absolute;\n  transform: translate(-50%, 25px);\n  font-family: sans-serif;\n  font-size: 16px;\n  padding: 4px;\n  border-radius: 3px;\n  color: #eee;\n  background: rgba(0,0,0,0.65);\n  visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n  cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n  cursor: move;\n  cursor: grab;\n  cursor: -moz-grab;\n  cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n  cursor: grabbing;\n  cursor: -moz-grabbing;\n  cursor: -webkit-grabbing;\n}\n");var gi=(0,oi.Z)(ii.Z);function yi(e,t,n){t&&"string"===typeof n&&e.filter((function(e){return!e[n]})).forEach((function(e){e[n]=gi(t(e))}))}var bi=function(e,t){return t.onNeedsRedraw&&t.onNeedsRedraw()},wi=(0,b.Z)({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,t){t.engineRunning=!1}},dagMode:{onChange:function(e,t){!e&&(t.graphData.nodes||[]).forEach((function(e){return e.fx=e.fy=void 0}))}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:bi},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:bi},nodeColor:{default:"color",triggerUpdate:!1,onChange:bi},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:bi},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:bi},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:bi},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:bi},linkColor:{default:"color",triggerUpdate:!1,onChange:bi},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:bi},linkWidth:{default:1,triggerUpdate:!1,onChange:bi},linkCurvature:{default:0,triggerUpdate:!1,onChange:bi},linkCanvasObject:{triggerUpdate:!1,onChange:bi},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:bi},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:bi},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:bi},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:bi},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,t,n){return void 0===n?e.forceLayout.force(t):(e.forceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick())),function(){var t=(0,w.default)(e.linkVisibility),n=(0,w.default)(e.linkColor),r=(0,w.default)(e.linkWidth),o=(0,w.default)(e.linkLineDash),i=(0,w.default)(e.linkCurvature),a=(0,w.default)(e.linkCanvasObjectMode),s=e.ctx,u=2*e.isShadow,c=e.graphData.links.filter(t);c.forEach((function(e){var t=i(e);if(!t)return void(e.__controlPoints=null);var n=e.source,r=e.target;if(!n||!r||!n.hasOwnProperty("x")||!r.hasOwnProperty("x"))return;var o=Math.sqrt(Math.pow(r.x-n.x,2)+Math.pow(r.y-n.y,2));if(o>0){var a=Math.atan2(r.y-n.y,r.x-n.x),s=o*t,u={x:(n.x+r.x)/2+s*Math.cos(a-Math.PI/2),y:(n.y+r.y)/2+s*Math.sin(a-Math.PI/2)};e.__controlPoints=[u.x,u.y]}else{var c=70*t;e.__controlPoints=[r.x,r.y-c,r.x+c,r.y]}}));var l=[],d=[],f=c;if(e.linkCanvasObject){var h=[],p=[];c.forEach((function(e){return({before:l,after:d,replace:h}[a(e)]||p).push(e)})),f=[].concat(pi(l),d,p),l=l.concat(h)}s.save(),l.forEach((function(t){return e.linkCanvasObject(t,s,e.globalScale)})),s.restore();var v=(0,ri.Z)(f,[n,r,o]);s.save(),Object.entries(v).forEach((function(t){var n=hi(t,2),r=n[0],i=n[1],a=r&&"undefined"!==r?r:"rgba(0,0,0,0.15)";Object.entries(i).forEach((function(t){var n=hi(t,2),r=n[0],i=n[1],c=(r||1)/e.globalScale+u;Object.entries(i).forEach((function(e){var t=hi(e,2);t[0];var n=t[1],r=o(n[0]);s.beginPath(),n.forEach((function(e){var t=e.source,n=e.target;if(t&&n&&t.hasOwnProperty("x")&&n.hasOwnProperty("x")){s.moveTo(t.x,t.y);var r=e.__controlPoints;r?s[2===r.length?"quadraticCurveTo":"bezierCurveTo"].apply(s,pi(r).concat([n.x,n.y])):s.lineTo(n.x,n.y)}})),s.strokeStyle=a,s.lineWidth=c,s.setLineDash(r||[]),s.stroke()}))}))})),s.restore(),s.save(),d.forEach((function(t){return e.linkCanvasObject(t,s,e.globalScale)})),s.restore()}(),!e.isShadow&&function(){var t=(0,w.default)(e.linkDirectionalArrowLength),n=(0,w.default)(e.linkDirectionalArrowRelPos),r=(0,w.default)(e.linkVisibility),o=(0,w.default)(e.linkDirectionalArrowColor||e.linkColor),i=(0,w.default)(e.nodeVal),a=e.ctx;a.save(),e.graphData.links.filter(r).forEach((function(r){var s=t(r);if(s&&!(s<0)){var u=r.source,c=r.target;if(u&&c&&u.hasOwnProperty("x")&&c.hasOwnProperty("x")){var l=Math.sqrt(Math.max(0,i(u)||1))*e.nodeRelSize,d=Math.sqrt(Math.max(0,i(c)||1))*e.nodeRelSize,f=Math.min(1,Math.max(0,n(r))),h=o(r)||"rgba(0,0,0,0.28)",p=s/1.6/2,v=r.__controlPoints&&fi(ni,[u.x,u.y].concat(pi(r.__controlPoints),[c.x,c.y])),m=v?function(e){return v.get(e)}:function(e){return{x:u.x+(c.x-u.x)*e||0,y:u.y+(c.y-u.y)*e||0}},g=v?v.length():Math.sqrt(Math.pow(c.x-u.x,2)+Math.pow(c.y-u.y,2)),y=l+s+(g-l-d-s)*f,b=m(y/g),w=m((y-s)/g),_=m((y-.8*s)/g),x=Math.atan2(b.y-w.y,b.x-w.x)-Math.PI/2;a.beginPath(),a.moveTo(b.x,b.y),a.lineTo(w.x+p*Math.cos(x),w.y+p*Math.sin(x)),a.lineTo(_.x,_.y),a.lineTo(w.x-p*Math.cos(x),w.y-p*Math.sin(x)),a.fillStyle=h,a.fill()}}})),a.restore()}(),!e.isShadow&&function(){var t=(0,w.default)(e.linkDirectionalParticles),n=(0,w.default)(e.linkDirectionalParticleSpeed),r=(0,w.default)(e.linkDirectionalParticleWidth),o=(0,w.default)(e.linkVisibility),i=(0,w.default)(e.linkDirectionalParticleColor||e.linkColor),a=e.ctx;a.save(),e.graphData.links.filter(o).forEach((function(o){var s=t(o);if(o.hasOwnProperty("__photons")&&o.__photons.length){var u=o.source,c=o.target;if(u&&c&&u.hasOwnProperty("x")&&c.hasOwnProperty("x")){var l=n(o),d=o.__photons||[],f=Math.max(0,r(o)/2)/Math.sqrt(e.globalScale),h=i(o)||"rgba(0,0,0,0.28)";a.fillStyle=h;var p=o.__controlPoints?fi(ni,[u.x,u.y].concat(pi(o.__controlPoints),[c.x,c.y])):null,v=0,m=!1;d.forEach((function(e){var t=!!e.__singleHop;if(e.hasOwnProperty("__progressRatio")||(e.__progressRatio=t?0:v/s),!t&&v++,e.__progressRatio+=l,e.__progressRatio>=1){if(t)return void(m=!0);e.__progressRatio=e.__progressRatio%1}var n=e.__progressRatio,r=p?p.get(n):{x:u.x+(c.x-u.x)*n||0,y:u.y+(c.y-u.y)*n||0};a.beginPath(),a.arc(r.x,r.y,f,0,2*Math.PI,!1),a.fill()})),m&&(o.__photons=o.__photons.filter((function(e){return!e.__singleHop||e.__progressRatio<=1})))}}})),a.restore()}(),function(){var t=(0,w.default)(e.nodeVisibility),n=(0,w.default)(e.nodeVal),r=(0,w.default)(e.nodeColor),o=(0,w.default)(e.nodeCanvasObjectMode),i=e.ctx,a=e.isShadow/e.globalScale,s=e.graphData.nodes.filter(t);i.save(),s.forEach((function(t){var s=o(t);if(!e.nodeCanvasObject||"before"!==s&&"replace"!==s||(e.nodeCanvasObject(t,i,e.globalScale),"replace"!==s)){var u=Math.sqrt(Math.max(0,n(t)||1))*e.nodeRelSize+a;i.beginPath(),i.arc(t.x,t.y,u,0,2*Math.PI,!1),i.fillStyle=r(t)||"rgba(31, 120, 180, 0.92)",i.fill(),e.nodeCanvasObject&&"after"===s&&e.nodeCanvasObject(t,e.ctx,e.globalScale)}else i.restore()})),i.restore()}(),this},emitParticle:function(e,t){return t&&(!t.__photons&&(t.__photons=[]),t.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:(0,To.Z)().force("link",(0,Mo.Z)()).force("charge",(0,So.Z)()).force("center",(0,Po.Z)()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.ctx=e},update:function(e){if(e.engineRunning=!1,e.onUpdate(),null!==e.nodeAutoColorBy&&yi(e.graphData.nodes,(0,w.default)(e.nodeAutoColorBy),e.nodeColor),null!==e.linkAutoColorBy&&yi(e.graphData.links,(0,w.default)(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach((function(t){t.source=t[e.linkSource],t.target=t[e.linkTarget]})),!e.isShadow){var t=(0,w.default)(e.linkDirectionalParticles);e.graphData.links.forEach((function(e){var n=Math.round(Math.abs(t(e)));n?e.__photons=pi(Array(n)).map((function(){return{}})):delete e.__photons}))}e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var n=e.forceLayout.force("link");n&&n.id((function(t){return t[e.nodeId]})).links(e.graphData.links);var r=e.dagMode&&function(e,t){var n=e.nodes,r=e.links,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.nodeFilter,a=void 0===i?function(){return!0}:i,s=o.onLoopError,u=void 0===s?function(e){throw"Invalid DAG structure! Found cycle in node path: ".concat(e.join(" -> "),".")}:s,c={};n.forEach((function(e){return c[t(e)]={data:e,out:[],depth:-1,skip:!a(e)}})),r.forEach((function(e){var n=e.source,r=e.target,o=u(n),i=u(r);if(!c.hasOwnProperty(o))throw"Missing source node with id: ".concat(o);if(!c.hasOwnProperty(i))throw"Missing target node with id: ".concat(i);var a=c[o],s=c[i];function u(e){return"object"===ui(e)?t(e):e}a.out.push(s)}));var l=[];return d(Object.values(c)),Object.assign.apply(Object,[{}].concat(pi(Object.entries(c).filter((function(e){return!hi(e,2)[1].skip})).map((function(e){var t=hi(e,2);return ci({},t[0],t[1].depth)})))));function d(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=0,i=e.length;o<i;o++){var a=e[o];if(-1!==n.indexOf(a))if("continue"===function(){var e=[].concat(pi(n.slice(n.indexOf(a))),[a]).map((function(e){return t(e.data)}));return l.some((function(t){return t.length===e.length&&t.every((function(t,n){return t===e[n]}))}))||(l.push(e),u(e)),"continue"}())continue;r>a.depth&&(a.depth=r,d(a.out,[].concat(pi(n),[a]),r+(a.skip?0:1)))}}}(e.graphData,(function(t){return t[e.nodeId]}),{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),o=Math.max.apply(Math,pi(Object.values(r||[]))),i=e.dagLevelDistance||e.graphData.nodes.length/(o||1)*2*(-1!==["radialin","radialout"].indexOf(e.dagMode)?.7:1);if(e.dagMode){var a=function(t,n){return function(a){return t?(r[a[e.nodeId]]-o/2)*i*(n?-1:1):void 0}},s=a(-1!==["lr","rl"].indexOf(e.dagMode),"rl"===e.dagMode),u=a(-1!==["td","bu"].indexOf(e.dagMode),"bu"===e.dagMode);e.graphData.nodes.filter(e.dagNodeFilter).forEach((function(e){e.fx=s(e),e.fy=u(e)}))}e.forceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(e.dagMode)?(0,jo.Z)((function(t){var n=r[t[e.nodeId]]||-1;return("radialin"===e.dagMode?o-n:n)*i})).strength((function(t){return e.dagNodeFilter(t)?1:0})):null);for(var c=0;c<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);c++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function _i(e,t){var n=e instanceof Array?e:[e],r=new t;return{linkProp:function(e){return{default:r[e](),onChange:function(t,r){n.forEach((function(n){return r[n][e](t)}))},triggerUpdate:!1}},linkMethod:function(e){return function(t){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=[];return n.forEach((function(n){var r=t[n],i=r[e].apply(r,o);i!==r&&a.push(i)})),a.length?a[0]:this}}}}var xi=_i("forceGraph",wi),ki=_i(["forceGraph","shadowGraph"],wi),Ei=Object.assign.apply(Object,pi(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map((function(e){return ci({},e,xi.linkProp(e))}))).concat(pi(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map((function(e){return ci({},e,ki.linkProp(e))}))))),Oi=Object.assign.apply(Object,pi(["d3Force","d3ReheatSimulation","emitParticle"].map((function(e){return ci({},e,xi.linkMethod(e))}))));function Ci(e){if(e.canvas){var t=e.canvas.width,n=e.canvas.height;300===t&&150===n&&(t=n=0);var r=window.devicePixelRatio;t/=r,n/=r,[e.canvas,e.shadowCanvas].forEach((function(o){o.style.width="".concat(e.width,"px"),o.style.height="".concat(e.height,"px"),o.width=e.width*r,o.height=e.height*r,t||n||o.getContext("2d").scale(r,r)}));var o=Yr(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-t)/2/o,(e.height-n)/2/o),e.needsRedraw=!0}}function Ti(e){var t=window.devicePixelRatio;e.setTransform(t,0,0,t,0,0)}function Mi(e,t,n){e.save(),Ti(e),e.clearRect(0,0,t,n),e.restore()}var Si=(0,b.Z)({props:si({width:{default:window.innerWidth,onChange:function(e,t){return Ci(t)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,t){return Ci(t)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,t){[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach((function(e){var n=e.type;e.objs.filter((function(e){if(!e.hasOwnProperty("__indexColor"))return!0;var n=t.colorTracker.lookup(e.__indexColor);return!n||!n.hasOwnProperty("d")||n.d!==e})).forEach((function(e){e.__indexColor=t.colorTracker.register({type:n,d:e})}))})),t.forceGraph.graphData(e),t.shadowGraph.graphData(e)},triggerUpdate:!1},backgroundColor:{onChange:function(e,t){t.canvas&&e&&(t.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,t){t.shadowGraph.nodeCanvasObject(e?function(t,n,r){return e(t,t.__indexColor,n,r)}:null)},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,t){t.shadowGraph.linkCanvasObject(e?function(t,n,r){return e(t,t.__indexColor,n,r)}:null)},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,t){t.zoom.scaleExtent([e,t.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,t){t.zoom.scaleExtent([t.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},onZoom:{default:function(){},triggerUpdate:!1},onZoomEnd:{default:function(){},triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Ei),aliases:{stopAnimation:"pauseAnimation"},methods:si({graph2ScreenCoords:function(e,t,n){var r=Yr(e.canvas);return{x:t*r.k+r.x,y:n*r.k+r.y}},screen2GraphCoords:function(e,t,n){var r=Yr(e.canvas);return{x:(t-r.x)/r.k,y:(n-r.y)/r.k}},centerAt:function(e,t,n,r){if(!e.canvas)return null;if(void 0!==t||void 0!==n){var o=Object.assign({},void 0!==t?{x:t}:{},void 0!==n?{y:n}:{});return r?new qe.ZP.Tween(i()).to(o,r).easing(qe.ZP.Easing.Quadratic.Out).onUpdate(a).start():a(o),this}return i();function i(){var t=Yr(e.canvas);return{x:(e.width/2-t.x)/t.k,y:(e.height/2-t.y)/t.k}}function a(t){var n=t.x,r=t.y;e.zoom.translateTo(e.zoom.__baseElem,void 0===n?i().x:n,void 0===r?i().y:r),e.needsRedraw=!0}},zoom:function(e,t,n){return e.canvas?void 0!==t?(n?new qe.ZP.Tween({k:r()}).to({k:t},n).easing(qe.ZP.Easing.Quadratic.Out).onUpdate((function(e){return o(e.k)})).start():o(t),this):r():null;function r(){return Yr(e.canvas).k}function o(t){e.zoom.scaleTo(e.zoom.__baseElem,t),e.needsRedraw=!0}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,o=new Array(r>3?r-3:0),i=3;i<r;i++)o[i-3]=arguments[i];var a=this.getGraphBbox.apply(this,o);if(a){var s={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},u=Math.max(1e-12,Math.min(1e12,(e.width-2*n)/(a.x[1]-a.x[0]),(e.height-2*n)/(a.y[1]-a.y[0])));this.centerAt(s.x,s.y,t),this.zoom(u,t)}return this},getGraphBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=(0,w.default)(e.nodeVal),r=function(t){return Math.sqrt(Math.max(0,n(t)||1))*e.nodeRelSize},o=e.graphData.nodes.filter(t).map((function(e){return{x:e.x,y:e.y,r:r(e)}}));return o.length?{x:[(0,po.Z)(o,(function(e){return e.x-e.r})),(0,vo.Z)(o,(function(e){return e.x+e.r}))],y:[(0,po.Z)(o,(function(e){return e.y-e.r})),(0,vo.Z)(o,(function(e){return e.y+e.r}))]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Oi),stateInit:function(){return{lastSetZoom:1,zoom:ao(),forceGraph:new wi,shadowGraph:(new wi).cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new Co}},init:function(e,t){e.innerHTML="";var n=document.createElement("div");n.classList.add("force-graph-container"),n.style.position="relative",e.appendChild(n),t.canvas=document.createElement("canvas"),t.backgroundColor&&(t.canvas.style.background=t.backgroundColor),n.appendChild(t.canvas),t.shadowCanvas=document.createElement("canvas");var r=t.canvas.getContext("2d"),o=t.shadowCanvas.getContext("2d"),i={x:-1e12,y:-1e12},a=function(){var e=null,n=window.devicePixelRatio,r=i.x>0&&i.y>0?o.getImageData(i.x*n,i.y*n,1,1):null;return r&&(e=t.colorTracker.lookup(r.data)),e};Bn(t.canvas).call(function(){var e,t,n,r,o=co,i=lo,a=fo,s=ho,u={},c=(0,zn.Z)("start","drag","end"),l=0,d=0;function f(e){e.on("mousedown.drag",h).filter(s).on("touchstart.drag",m).on("touchmove.drag",g,Fn).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(a,s){if(!r&&o.call(this,a,s)){var u=b(this,i.call(this,a,s),a,s,"mouse");u&&(Bn(a.view).on("mousemove.drag",p,Hn).on("mouseup.drag",v,Hn),Un(a.view),Vn(a),n=!1,e=a.clientX,t=a.clientY,u("start",a))}}function p(r){if(Wn(r),!n){var o=r.clientX-e,i=r.clientY-t;n=o*o+i*i>d}u.mouse("drag",r)}function v(e){Bn(e.view).on("mousemove.drag mouseup.drag",null),Gn(e.view,n),Wn(e),u.mouse("end",e)}function m(e,t){if(o.call(this,e,t)){var n,r,a=e.changedTouches,s=i.call(this,e,t),u=a.length;for(n=0;n<u;++n)(r=b(this,s,e,t,a[n].identifier,a[n]))&&(Vn(e),r("start",e,a[n]))}}function g(e){var t,n,r=e.changedTouches,o=r.length;for(t=0;t<o;++t)(n=u[r[t].identifier])&&(Wn(e),n("drag",e,r[t]))}function y(e){var t,n,o=e.changedTouches,i=o.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<i;++t)(n=u[o[t].identifier])&&(Vn(e),n("end",e,o[t]))}function b(e,t,n,r,o,i){var s,d,h,p=c.copy(),v=Zn(i||n,t);if(null!=(h=a.call(e,new uo("beforestart",{sourceEvent:n,target:f,identifier:o,active:l,x:v[0],y:v[1],dx:0,dy:0,dispatch:p}),r)))return s=h.x-v[0]||0,d=h.y-v[1]||0,function n(i,a,c){var m,g=v;switch(i){case"start":u[o]=n,m=l++;break;case"end":delete u[o],--l;case"drag":v=Zn(c||a,t),m=l}p.call(i,e,new uo(i,{sourceEvent:a,subject:h,target:f,identifier:o,active:m,x:v[0]+s,y:v[1]+d,dx:v[0]-g[0],dy:v[1]-g[1],dispatch:p}),r)}}return f.filter=function(e){return arguments.length?(o="function"===typeof e?e:so(!!e),f):o},f.container=function(e){return arguments.length?(i="function"===typeof e?e:so(e),f):i},f.subject=function(e){return arguments.length?(a="function"===typeof e?e:so(e),f):a},f.touchable=function(e){return arguments.length?(s="function"===typeof e?e:so(!!e),f):s},f.on=function(){var e=c.on.apply(c,arguments);return e===c?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}().subject((function(){if(!t.enableNodeDrag)return null;var e=a();return e&&"Node"===e.type?e.d:null})).on("start",(function(e){var n=e.subject;n.__initialDragPos={x:n.x,y:n.y,fx:n.fx,fy:n.fy},e.active||(n.fx=n.x,n.fy=n.y),t.canvas.classList.add("grabbable")})).on("drag",(function(e){var n=e.subject,r=n.__initialDragPos,o=e,i=Yr(t.canvas).k,a={x:r.x+(o.x-r.x)/i-n.x,y:r.y+(o.y-r.y)/i-n.y};["x","y"].forEach((function(e){return n["f".concat(e)]=n[e]=r[e]+(o[e]-r[e])/i})),t.forceGraph.d3AlphaTarget(.3).resetCountdown(),t.isPointerDragging=!0,n.__dragged=!0,t.onNodeDrag(n,a)})).on("end",(function(e){var n=e.subject,r=n.__initialDragPos,o={x:n.x-r.x,y:n.y-r.y};void 0===r.fx&&(n.fx=void 0),void 0===r.fy&&(n.fy=void 0),delete n.__initialDragPos,t.forceGraph.d3AlphaTarget(0).resetCountdown(),t.canvas.classList.remove("grabbable"),t.isPointerDragging=!1,n.__dragged&&(delete n.__dragged,t.onNodeDragEnd(n,o))}))),t.zoom(t.zoom.__baseElem=Bn(t.canvas)),t.zoom.__baseElem.on("dblclick.zoom",null),t.zoom.filter((function(e){return!e.button&&t.enableZoomPanInteraction&&(t.enableZoomInteraction||"wheel"!==e.type)&&(t.enablePanInteraction||"wheel"===e.type)})).on("zoom",(function(e){var n=e.transform;[r,o].forEach((function(e){Ti(e),e.translate(n.x,n.y),e.scale(n.k,n.k)})),t.onZoom(si({},n)),t.needsRedraw=!0})).on("end",(function(e){return t.onZoomEnd(si({},e.transform))})),Ci(t),t.forceGraph.onNeedsRedraw((function(){return t.needsRedraw=!0})).onFinishUpdate((function(){Yr(t.canvas).k===t.lastSetZoom&&t.graphData.nodes.length&&(t.zoom.scaleTo(t.zoom.__baseElem,t.lastSetZoom=4/Math.cbrt(t.graphData.nodes.length)),t.needsRedraw=!0)}));var s=document.createElement("div");s.classList.add("graph-tooltip"),n.appendChild(s),["pointermove","pointerdown"].forEach((function(e){return n.addEventListener(e,(function(r){"pointerdown"===e&&(t.isPointerPressed=!0,t.pointerDownEvent=r),!t.isPointerDragging&&"pointermove"===r.type&&t.onBackgroundClick&&(r.pressure>0||t.isPointerPressed)&&("touch"!==r.pointerType||void 0===r.movementX||[r.movementX,r.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0);var o=function(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}(n);i.x=r.pageX-o.left,i.y=r.pageY-o.top,s.style.top="".concat(i.y,"px"),s.style.left="".concat(i.x,"px")}),{passive:!0})})),n.addEventListener("pointerup",(function(e){if(t.isPointerPressed=!1,t.isPointerDragging)t.isPointerDragging=!1;else{var n=[e,t.pointerDownEvent];requestAnimationFrame((function(){if(0===e.button)if(t.hoverObj){var r=t["on".concat(t.hoverObj.type,"Click")];r&&r.apply(void 0,[t.hoverObj.d].concat(n))}else t.onBackgroundClick&&t.onBackgroundClick.apply(t,n);if(2===e.button)if(t.hoverObj){var o=t["on".concat(t.hoverObj.type,"RightClick")];o&&o.apply(void 0,[t.hoverObj.d].concat(n))}else t.onBackgroundRightClick&&t.onBackgroundRightClick.apply(t,n)}))}}),{passive:!0}),n.addEventListener("contextmenu",(function(e){return!(t.onBackgroundRightClick||t.onNodeRightClick||t.onLinkRightClick)||(e.preventDefault(),!1)})),t.forceGraph(r),t.shadowGraph(o);var u=go()((function(){Mi(o,t.width,t.height),t.shadowGraph.linkWidth((function(e){return(0,w.default)(t.linkWidth)(e)+t.linkHoverPrecision}));var e=Yr(t.canvas);t.shadowGraph.globalScale(e.k).tickFrame()}),800);(this._animationCycle=function e(){var n=!t.autoPauseRedraw||!!t.needsRedraw||t.forceGraph.isEngineRunning()||t.graphData.links.some((function(e){return e.__photons&&e.__photons.length}));if(t.needsRedraw=!1,t.enablePointerInteraction){var o=t.isPointerDragging?null:a();if(o!==t.hoverObj){var i=t.hoverObj,c=i?i.type:null,l=o?o.type:null;if(c&&c!==l){var d=t["on".concat(c,"Hover")];d&&d(null,i.d)}if(l){var f=t["on".concat(l,"Hover")];f&&f(o.d,c===l?i.d:null)}var h=o&&(0,w.default)(t["".concat(o.type.toLowerCase(),"Label")])(o.d)||"";s.style.visibility=h?"visible":"hidden",s.innerHTML=h,t.canvas.classList[o&&t["on".concat(l,"Click")]||!o&&t.onBackgroundClick?"add":"remove"]("clickable"),t.hoverObj=o}n&&u()}if(n){Mi(r,t.width,t.height);var p=Yr(t.canvas).k;t.onRenderFramePre&&t.onRenderFramePre(r,p),t.forceGraph.globalScale(p).tickFrame(),t.onRenderFramePost&&t.onRenderFramePost(r,p)}qe.ZP.update(),t.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),Pi={width:P().number,height:P().number,graphData:P().shape({nodes:P().arrayOf(P().object).isRequired,links:P().arrayOf(P().object).isRequired}),backgroundColor:P().string,nodeRelSize:P().number,nodeId:P().string,nodeLabel:P().oneOfType([P().string,P().func]),nodeVal:P().oneOfType([P().number,P().string,P().func]),nodeVisibility:P().oneOfType([P().bool,P().string,P().func]),nodeColor:P().oneOfType([P().string,P().func]),nodeAutoColorBy:P().oneOfType([P().string,P().func]),onNodeHover:P().func,onNodeClick:P().func,linkSource:P().string,linkTarget:P().string,linkLabel:P().oneOfType([P().string,P().func]),linkVisibility:P().oneOfType([P().bool,P().string,P().func]),linkColor:P().oneOfType([P().string,P().func]),linkAutoColorBy:P().oneOfType([P().string,P().func]),linkWidth:P().oneOfType([P().number,P().string,P().func]),linkCurvature:P().oneOfType([P().number,P().string,P().func]),linkDirectionalArrowLength:P().oneOfType([P().number,P().string,P().func]),linkDirectionalArrowColor:P().oneOfType([P().string,P().func]),linkDirectionalArrowRelPos:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticles:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleSpeed:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleWidth:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleColor:P().oneOfType([P().string,P().func]),onLinkHover:P().func,onLinkClick:P().func,dagMode:P().oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:P().number,dagNodeFilter:P().func,onDagError:P().func,d3AlphaMin:P().number,d3AlphaDecay:P().number,d3VelocityDecay:P().number,warmupTicks:P().number,cooldownTicks:P().number,cooldownTime:P().number,onEngineTick:P().func,onEngineStop:P().func,getGraphBbox:P().func},ji={zoomToFit:P().func,onNodeRightClick:P().func,onNodeDrag:P().func,onNodeDragEnd:P().func,onLinkRightClick:P().func,linkHoverPrecision:P().number,onBackgroundClick:P().func,onBackgroundRightClick:P().func,enablePointerInteraction:P().bool,enableNodeDrag:P().bool},Ii={showNavInfo:P().bool,nodeOpacity:P().number,nodeResolution:P().number,nodeThreeObject:P().oneOfType([P().object,P().string,P().func]),nodeThreeObjectExtend:P().oneOfType([P().bool,P().string,P().func]),linkOpacity:P().number,linkResolution:P().number,linkCurveRotation:P().oneOfType([P().number,P().string,P().func]),linkMaterial:P().oneOfType([P().object,P().string,P().func]),linkThreeObject:P().oneOfType([P().object,P().string,P().func]),linkThreeObjectExtend:P().oneOfType([P().bool,P().string,P().func]),linkPositionUpdate:P().func,linkDirectionalArrowResolution:P().number,linkDirectionalParticleResolution:P().number,forceEngine:P().oneOf(["d3","ngraph"]),ngraphPhysics:P().object,numDimensions:P().oneOf([1,2,3])},Ai=Object.assign({},Pi,ji,{linkLineDash:P().oneOfType([P().arrayOf(P().number),P().string,P().func]),nodeCanvasObjectMode:P().oneOfType([P().string,P().func]),nodeCanvasObject:P().func,nodePointerAreaPaint:P().func,linkCanvasObjectMode:P().oneOfType([P().string,P().func]),linkCanvasObject:P().func,linkPointerAreaPaint:P().func,autoPauseRedraw:P().bool,minZoom:P().number,maxZoom:P().number,enableZoomInteraction:P().bool,enablePanInteraction:P().bool,onZoom:P().func,onZoomEnd:P().func,onRenderFramePre:P().func,onRenderFramePost:P().func}),Ri=Object.assign({},Pi,ji,Ii,{enableNavigationControls:P().bool,controlType:P().oneOf(["trackball","orbit","fly"]),rendererConfig:P().object,extraRenderers:P().arrayOf(P().shape({render:P().func.isRequired}))}),Di=Object.assign({},Pi,Ii,{nodeDesc:P().oneOfType([P().string,P().func]),linkDesc:P().oneOfType([P().string,P().func])}),Li=Object.assign({},Pi,Ii,{markerAttrs:P().object,yOffset:P().number,glScale:P().number});const Ni=y(M,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"]});Ni.displayName="ForceGraphVR",Ni.propTypes=Di;const Bi=y(B,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"],initPropNames:["markerAttrs"]});Bi.displayName="ForceGraphAR",Bi.propTypes=Li;const zi=y(pt,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});zi.displayName="ForceGraph3D",zi.propTypes=Ri;const Fi=y(Si,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Fi.displayName="ForceGraph2D",Fi.propTypes=Ai},37763:function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r};t.default=i.default,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function o(e){return e&&e.__esModule?e:{default:e}}t.default=c;var i=n(3),a=o(n(4)),s=n(14),u=o(n(15));function c(e){var t=e.activeClassName,n=void 0===t?"":t,o=e.activeIndex,a=void 0===o?-1:o,c=e.activeStyle,l=e.autoEscape,d=e.caseSensitive,f=void 0!==d&&d,h=e.className,p=e.findChunks,v=e.highlightClassName,m=void 0===v?"":v,g=e.highlightStyle,y=void 0===g?{}:g,b=e.highlightTag,w=void 0===b?"mark":b,_=e.sanitize,x=e.searchWords,k=e.textToHighlight,E=e.unhighlightClassName,O=void 0===E?"":E,C=e.unhighlightStyle,T=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["activeClassName","activeIndex","activeStyle","autoEscape","caseSensitive","className","findChunks","highlightClassName","highlightStyle","highlightTag","sanitize","searchWords","textToHighlight","unhighlightClassName","unhighlightStyle"]),M=(0,i.findAll)({autoEscape:l,caseSensitive:f,findChunks:p,sanitize:_,searchWords:x,textToHighlight:k}),S=w,P=-1,j="",I=void 0,A=(0,u.default)((function(e){var t={};for(var n in e)t[n.toLowerCase()]=e[n];return t}));return(0,s.createElement)("span",r({className:h},T,{children:M.map((function(e,t){var r=k.substr(e.start,e.end-e.start);if(e.highlight){P++;var o=void 0;o="object"===typeof m?f?m[r]:(m=A(m))[r.toLowerCase()]:m;var i=P===+a;j=o+" "+(i?n:""),I=!0===i&&null!=c?Object.assign({},y,c):y;var u={children:r,className:j,key:t,style:I};return"string"!==typeof S&&(u.highlightIndex=P),(0,s.createElement)(S,u)}return(0,s.createElement)("span",{children:r,className:O,key:t,style:C})}))}))}c.propTypes={activeClassName:a.default.string,activeIndex:a.default.number,activeStyle:a.default.object,autoEscape:a.default.bool,className:a.default.string,findChunks:a.default.func,highlightClassName:a.default.oneOfType([a.default.object,a.default.string]),highlightStyle:a.default.object,highlightTag:a.default.oneOfType([a.default.node,a.default.func,a.default.string]),sanitize:a.default.func,searchWords:a.default.arrayOf(a.default.oneOfType([a.default.string,a.default.instanceOf(RegExp)])).isRequired,textToHighlight:a.default.string.isRequired,unhighlightClassName:a.default.string,unhighlightStyle:a.default.object},e.exports=t.default},function(e,t){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2);Object.defineProperty(t,"combineChunks",{enumerable:!0,get:function(){return r.combineChunks}}),Object.defineProperty(t,"fillInChunks",{enumerable:!0,get:function(){return r.fillInChunks}}),Object.defineProperty(t,"findAll",{enumerable:!0,get:function(){return r.findAll}}),Object.defineProperty(t,"findChunks",{enumerable:!0,get:function(){return r.findChunks}})},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.findAll=function(e){var t=e.autoEscape,i=e.caseSensitive,a=void 0!==i&&i,s=e.findChunks,u=void 0===s?r:s,c=e.sanitize,l=e.searchWords,d=e.textToHighlight;return o({chunksToHighlight:n({chunks:u({autoEscape:t,caseSensitive:a,sanitize:c,searchWords:l,textToHighlight:d})}),totalLength:d?d.length:0})};var n=t.combineChunks=function(e){var t=e.chunks;return t=t.sort((function(e,t){return e.start-t.start})).reduce((function(e,t){if(0===e.length)return[t];var n=e.pop();if(t.start<=n.end){var r=Math.max(n.end,t.end);e.push({start:n.start,end:r})}else e.push(n,t);return e}),[])},r=function(e){var t=e.autoEscape,n=e.caseSensitive,r=e.sanitize,o=void 0===r?i:r,a=e.searchWords,s=e.textToHighlight;return s=o(s),a.filter((function(e){return e})).reduce((function(e,r){r=o(r),t&&(r=r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"));for(var i=new RegExp(r,n?"g":"gi"),a=void 0;a=i.exec(s);){var u=a.index,c=i.lastIndex;c>u&&e.push({start:u,end:c}),a.index==i.lastIndex&&i.lastIndex++}return e}),[])};t.findChunks=r;var o=t.fillInChunks=function(e){var t=e.chunksToHighlight,n=e.totalLength,r=[],o=function(e,t,n){t-e>0&&r.push({start:e,end:t,highlight:n})};if(0===t.length)o(0,n,!1);else{var i=0;t.forEach((function(e){o(i,e.start,!1),o(e.start,e.end,!0),i=e.end})),o(i,n,!1)}return r};function i(e){return e}}])},function(e,t,n){(function(t){if("production"!==t.env.NODE_ENV){var r="function"===typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(6)((function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r}),!0)}else e.exports=n(13)()}).call(t,n(5))},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"===typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"===typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,d=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):d=-1,c.length&&h())}function h(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++d<t;)u&&u[d].run();d=-1,t=c.length}u=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function v(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),1!==c.length||l||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=v,o.addListener=v,o.once=v,o.off=v,o.removeListener=v,o.removeAllListeners=v,o.emit=v,o.prependListener=v,o.prependOnceListener=v,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(t){"use strict";var r=n(7),o=n(8),i=n(9),a=n(10),s=n(11),u=n(12);e.exports=function(e,n){var c="function"===typeof Symbol&&Symbol.iterator;var l="<<anonymous>>",d={array:v("array"),bool:v("boolean"),func:v("function"),number:v("number"),object:v("object"),string:v("string"),symbol:v("symbol"),any:p(r.thatReturnsNull),arrayOf:function(e){return p((function(t,n,r,o,i){if("function"!==typeof e)return new h("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a))return new h("Invalid "+o+" `"+i+"` of type `"+g(a)+"` supplied to `"+r+"`, expected an array.");for(var u=0;u<a.length;u++){var c=e(a,u,r,o,i+"["+u+"]",s);if(c instanceof Error)return c}return null}))},element:p((function(t,n,r,o,i){var a=t[n];return e(a)?null:new h("Invalid "+o+" `"+i+"` of type `"+g(a)+"` supplied to `"+r+"`, expected a single ReactElement.")})),instanceOf:function(e){return p((function(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||l;return new h("Invalid "+o+" `"+i+"` of type `"+(((s=t[n]).constructor&&s.constructor.name?s.constructor.name:l)+"` supplied to `")+r+"`, expected instance of `"+a+"`.")}var s;return null}))},node:p((function(e,t,n,r,o){return m(e[t])?null:new h("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(e){return p((function(t,n,r,o,i){if("function"!==typeof e)return new h("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],u=g(a);if("object"!==u)return new h("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an object.");for(var c in a)if(a.hasOwnProperty(c)){var l=e(a,c,r,o,i+"."+c,s);if(l instanceof Error)return l}return null}))},oneOf:function(e){if(!Array.isArray(e))return"production"!==t.env.NODE_ENV&&i(!1,"Invalid argument supplied to oneOf, expected an instance of array."),r.thatReturnsNull;return p((function(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(f(a,e[s]))return null;return new h("Invalid "+o+" `"+i+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+JSON.stringify(e)+".")}))},oneOfType:function(e){if(!Array.isArray(e))return"production"!==t.env.NODE_ENV&&i(!1,"Invalid argument supplied to oneOfType, expected an instance of array."),r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if("function"!==typeof o)return i(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",b(o),n),r.thatReturnsNull}return p((function(t,n,r,o,i){for(var a=0;a<e.length;a++)if(null==(0,e[a])(t,n,r,o,i,s))return null;return new h("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")}))},shape:function(e){return p((function(t,n,r,o,i){var a=t[n],u=g(a);if("object"!==u)return new h("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var l=e[c];if(l){var d=l(a,c,r,o,i+"."+c,s);if(d)return d}}return null}))},exact:function(e){return p((function(t,n,r,o,i){var u=t[n],c=g(u);if("object"!==c)return new h("Invalid "+o+" `"+i+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var l=a({},t[n],e);for(var d in l){var f=e[d];if(!f)return new h("Invalid "+o+" `"+i+"` key `"+d+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null,"  "));var p=f(u,d,r,o,i+"."+d,s);if(p)return p}return null}))}};function f(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function h(e){this.message=e,this.stack=""}function p(e){if("production"!==t.env.NODE_ENV)var r={},a=0;function u(u,c,d,f,p,v,m){if(f=f||l,v=v||d,m!==s)if(n)o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else if("production"!==t.env.NODE_ENV&&"undefined"!==typeof console){var g=f+":"+d;!r[g]&&a<3&&(i(!1,"You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.",v,f),r[g]=!0,a++)}return null==c[d]?u?null===c[d]?new h("The "+p+" `"+v+"` is marked as required in `"+f+"`, but its value is `null`."):new h("The "+p+" `"+v+"` is marked as required in `"+f+"`, but its value is `undefined`."):null:e(c,d,f,p,v)}var c=u.bind(null,!1);return c.isRequired=u.bind(null,!0),c}function v(e){return p((function(t,n,r,o,i,a){var s=t[n];return g(s)!==e?new h("Invalid "+o+" `"+i+"` of type `"+y(s)+"` supplied to `"+r+"`, expected `"+e+"`."):null}))}function m(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(m);if(null===t||e(t))return!0;var n=function(e){var t=e&&(c&&e[c]||e["@@iterator"]);if("function"===typeof t)return t}(t);if(!n)return!1;var r,o=n.call(t);if(n!==t.entries){for(;!(r=o.next()).done;)if(!m(r.value))return!1}else for(;!(r=o.next()).done;){var i=r.value;if(i&&!m(i[1]))return!1}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"===typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function y(e){if("undefined"===typeof e||null===e)return""+e;var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function b(e){var t=y(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return h.prototype=Error.prototype,d.checkPropTypes=u,d.PropTypes=d,d}}).call(t,n(5))},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){(function(t){"use strict";var n=function(e){};"production"!==t.env.NODE_ENV&&(n=function(e){if(void 0===e)throw new Error("invariant requires an error message argument")}),e.exports=function(e,t,r,o,i,a,s,u){if(n(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[r,o,i,a,s,u],d=0;(c=new Error(t.replace(/%s/g,(function(){return l[d++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}}).call(t,n(5))},function(e,t,n){(function(t){"use strict";var r=n(7);if("production"!==t.env.NODE_ENV){var o=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=0,i="Warning: "+e.replace(/%s/g,(function(){return n[o++]}));"undefined"!==typeof console&&console.error(i);try{throw new Error(i)}catch(a){}};r=function(e,t){if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];o.apply(void 0,[t].concat(r))}}}e.exports=r}).call(t,n(5))},function(e,t){"use strict";var n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var a,s,u=i(e),c=1;c<arguments.length;c++){for(var l in a=Object(arguments[c]))r.call(a,l)&&(u[l]=a[l]);if(n){s=n(a);for(var d=0;d<s.length;d++)o.call(a,s[d])&&(u[s[d]]=a[s[d]])}}return u}},function(e,t){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){(function(t){"use strict";if("production"!==t.env.NODE_ENV)var r=n(8),o=n(9),i=n(11),a={};e.exports=function(e,n,s,u,c){if("production"!==t.env.NODE_ENV)for(var l in e)if(e.hasOwnProperty(l)){var d;try{r("function"===typeof e[l],"%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.",u||"React class",s,l,typeof e[l]),d=e[l](n,l,u,s,null,i)}catch(h){d=h}if(o(!d||d instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",u||"React class",s,l,typeof d),d instanceof Error&&!(d.message in a)){a[d.message]=!0;var f=c?c():"";o(!1,"Failed %s type: %s%s",s,d.message,null!=f?f:"")}}}}).call(t,n(5))},function(e,t,n){"use strict";var r=n(7),o=n(8),i=n(11);e.exports=function(){function e(e,t,n,r,a,s){s!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t){e.exports=n(67294)},function(e,t){"use strict";var n=function(e,t){return e===t};e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,r=void 0,o=[],i=void 0,a=!1,s=function(e,n){return t(e,o[n])},u=function(){for(var t=arguments.length,n=Array(t),u=0;u<t;u++)n[u]=arguments[u];return a&&r===this&&n.length===o.length&&n.every(s)?i:(a=!0,r=this,o=n,i=e.apply(this,n))};return u}}])},49909:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(67294);t.default=function(e,t,n){var o=r.useRef(void 0);o.current&&n(t,o.current)||(o.current=t),r.useEffect(e,o.current)}},96705:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(70655),o=n(85987),i=r.__importDefault(n(49909));t.default=function(e,t){i.default(e,t,o.isDeepEqual)}},85987:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDeepEqual=t.off=t.on=t.isClient=void 0;var r=n(70655).__importDefault(n(38252));t.isClient="object"===typeof window,t.on=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return e.addEventListener.apply(e,t)},t.off=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return e.removeEventListener.apply(e,t)},t.isDeepEqual=r.default},22003:function(e,t){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function r(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function o(e,t){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function i(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e}var a=function(e,t){this.target=t,this.type=e},s=function(e){function t(t,n){var r=e.call(this,"error",n)||this;return r.message=t.message,r.error=t,r}return r(t,e),t}(a),u=function(e){function t(t,n,r){void 0===t&&(t=1e3),void 0===n&&(n="");var o=e.call(this,"close",r)||this;return o.wasClean=!0,o.code=t,o.reason=n,o}return r(t,e),t}(a),c=function(){if("undefined"!==typeof WebSocket)return WebSocket},l={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+4e3*Math.random(),minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},d=function(){function e(e,t,n){var r=this;void 0===n&&(n={}),this._listeners={error:[],message:[],open:[],close:[]},this._retryCount=-1,this._shouldReconnect=!0,this._connectLock=!1,this._binaryType="blob",this._closeCalled=!1,this._messageQueue=[],this.onclose=null,this.onerror=null,this.onmessage=null,this.onopen=null,this._handleOpen=function(e){r._debug("open event");var t=r._options.minUptime,n=void 0===t?l.minUptime:t;clearTimeout(r._connectTimeout),r._uptimeTimeout=setTimeout((function(){return r._acceptOpen()}),n),r._ws.binaryType=r._binaryType,r._messageQueue.forEach((function(e){return r._ws.send(e)})),r._messageQueue=[],r.onopen&&r.onopen(e),r._listeners.open.forEach((function(t){return r._callEventListener(e,t)}))},this._handleMessage=function(e){r._debug("message event"),r.onmessage&&r.onmessage(e),r._listeners.message.forEach((function(t){return r._callEventListener(e,t)}))},this._handleError=function(e){r._debug("error event",e.message),r._disconnect(void 0,"TIMEOUT"===e.message?"timeout":void 0),r.onerror&&r.onerror(e),r._debug("exec error listeners"),r._listeners.error.forEach((function(t){return r._callEventListener(e,t)})),r._connect()},this._handleClose=function(e){r._debug("close event"),r._clearTimeouts(),r._shouldReconnect&&r._connect(),r.onclose&&r.onclose(e),r._listeners.close.forEach((function(t){return r._callEventListener(e,t)}))},this._url=e,this._protocols=t,this._options=n,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}return Object.defineProperty(e,"CONNECTING",{get:function(){return 0},enumerable:!0,configurable:!0}),Object.defineProperty(e,"OPEN",{get:function(){return 1},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSING",{get:function(){return 2},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSED",{get:function(){return 3},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CONNECTING",{get:function(){return e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"OPEN",{get:function(){return e.OPEN},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSING",{get:function(){return e.CLOSING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSED",{get:function(){return e.CLOSED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"binaryType",{get:function(){return this._ws?this._ws.binaryType:this._binaryType},set:function(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"retryCount",{get:function(){return Math.max(this._retryCount,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferedAmount",{get:function(){return this._messageQueue.reduce((function(e,t){return"string"===typeof t?e+=t.length:t instanceof Blob?e+=t.size:e+=t.byteLength,e}),0)+(this._ws?this._ws.bufferedAmount:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extensions",{get:function(){return this._ws?this._ws.extensions:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this._ws?this._ws.protocol:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readyState",{get:function(){return this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._ws?this._ws.url:""},enumerable:!0,configurable:!0}),e.prototype.close=function(e,t){void 0===e&&(e=1e3),this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),this._ws?this._ws.readyState!==this.CLOSED?this._ws.close(e,t):this._debug("close: already closed"):this._debug("close enqueued: no ws instance")},e.prototype.reconnect=function(e,t){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,this._ws&&this._ws.readyState!==this.CLOSED?(this._disconnect(e,t),this._connect()):this._connect()},e.prototype.send=function(e){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",e),this._ws.send(e);else{var t=this._options.maxEnqueuedMessages,n=void 0===t?l.maxEnqueuedMessages:t;this._messageQueue.length<n&&(this._debug("enqueue",e),this._messageQueue.push(e))}},e.prototype.addEventListener=function(e,t){this._listeners[e]&&this._listeners[e].push(t)},e.prototype.dispatchEvent=function(e){var t,n,r=this._listeners[e.type];if(r)try{for(var o=function(e){var t="function"===typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}(r),i=o.next();!i.done;i=o.next()){var a=i.value;this._callEventListener(e,a)}}catch(s){t={error:s}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}return!0},e.prototype.removeEventListener=function(e,t){this._listeners[e]&&(this._listeners[e]=this._listeners[e].filter((function(e){return e!==t})))},e.prototype._debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._options.debug&&console.log.apply(console,i(["RWS>"],e))},e.prototype._getNextDelay=function(){var e=this._options,t=e.reconnectionDelayGrowFactor,n=void 0===t?l.reconnectionDelayGrowFactor:t,r=e.minReconnectionDelay,o=void 0===r?l.minReconnectionDelay:r,i=e.maxReconnectionDelay,a=void 0===i?l.maxReconnectionDelay:i,s=0;return this._retryCount>0&&(s=o*Math.pow(n,this._retryCount-1))>a&&(s=a),this._debug("next delay",s),s},e.prototype._wait=function(){var e=this;return new Promise((function(t){setTimeout(t,e._getNextDelay())}))},e.prototype._getNextUrl=function(e){if("string"===typeof e)return Promise.resolve(e);if("function"===typeof e){var t=e();if("string"===typeof t)return Promise.resolve(t);if(t.then)return t}throw Error("Invalid URL")},e.prototype._connect=function(){var e=this;if(!this._connectLock&&this._shouldReconnect){this._connectLock=!0;var t=this._options,n=t.maxRetries,r=void 0===n?l.maxRetries:n,o=t.connectionTimeout,i=void 0===o?l.connectionTimeout:o,a=t.WebSocket,s=void 0===a?c():a;if(this._retryCount>=r)this._debug("max retries reached",this._retryCount,">=",r);else{if(this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),"undefined"===typeof(u=s)||!u||2!==u.CLOSING)throw Error("No valid WebSocket class provided");var u;this._wait().then((function(){return e._getNextUrl(e._url)})).then((function(t){e._closeCalled||(e._debug("connect",{url:t,protocols:e._protocols}),e._ws=e._protocols?new s(t,e._protocols):new s(t),e._ws.binaryType=e._binaryType,e._connectLock=!1,e._addListeners(),e._connectTimeout=setTimeout((function(){return e._handleTimeout()}),i))}))}}},e.prototype._handleTimeout=function(){this._debug("timeout event"),this._handleError(new s(Error("TIMEOUT"),this))},e.prototype._disconnect=function(e,t){if(void 0===e&&(e=1e3),this._clearTimeouts(),this._ws){this._removeListeners();try{this._ws.close(e,t),this._handleClose(new u(e,t,this))}catch(n){}}},e.prototype._acceptOpen=function(){this._debug("accept open"),this._retryCount=0},e.prototype._callEventListener=function(e,t){"handleEvent"in t?t.handleEvent(e):t(e)},e.prototype._removeListeners=function(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))},e.prototype._addListeners=function(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))},e.prototype._clearTimeouts=function(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)},e}();t.Z=d},76826:function(e){var t={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\u1ea4":"A","\u1eae":"A","\u1eb2":"A","\u1eb4":"A","\u1eb6":"A","\xc6":"AE","\u1ea6":"A","\u1eb0":"A","\u0202":"A","\xc7":"C","\u1e08":"C","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\u1ebe":"E","\u1e16":"E","\u1ec0":"E","\u1e14":"E","\u1e1c":"E","\u0206":"E","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\u1e2e":"I","\u020a":"I","\xd0":"D","\xd1":"N","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\u1ed0":"O","\u1e4c":"O","\u1e52":"O","\u020e":"O","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xdd":"Y","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\u1ea5":"a","\u1eaf":"a","\u1eb3":"a","\u1eb5":"a","\u1eb7":"a","\xe6":"ae","\u1ea7":"a","\u1eb1":"a","\u0203":"a","\xe7":"c","\u1e09":"c","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\u1ebf":"e","\u1e17":"e","\u1ec1":"e","\u1e15":"e","\u1e1d":"e","\u0207":"e","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\u1e2f":"i","\u020b":"i","\xf0":"d","\xf1":"n","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\u1ed1":"o","\u1e4d":"o","\u1e53":"o","\u020f":"o","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xfd":"y","\xff":"y","\u0100":"A","\u0101":"a","\u0102":"A","\u0103":"a","\u0104":"A","\u0105":"a","\u0106":"C","\u0107":"c","\u0108":"C","\u0109":"c","\u010a":"C","\u010b":"c","\u010c":"C","\u010d":"c","C\u0306":"C","c\u0306":"c","\u010e":"D","\u010f":"d","\u0110":"D","\u0111":"d","\u0112":"E","\u0113":"e","\u0114":"E","\u0115":"e","\u0116":"E","\u0117":"e","\u0118":"E","\u0119":"e","\u011a":"E","\u011b":"e","\u011c":"G","\u01f4":"G","\u011d":"g","\u01f5":"g","\u011e":"G","\u011f":"g","\u0120":"G","\u0121":"g","\u0122":"G","\u0123":"g","\u0124":"H","\u0125":"h","\u0126":"H","\u0127":"h","\u1e2a":"H","\u1e2b":"h","\u0128":"I","\u0129":"i","\u012a":"I","\u012b":"i","\u012c":"I","\u012d":"i","\u012e":"I","\u012f":"i","\u0130":"I","\u0131":"i","\u0132":"IJ","\u0133":"ij","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u1e30":"K","\u1e31":"k","K\u0306":"K","k\u0306":"k","\u0139":"L","\u013a":"l","\u013b":"L","\u013c":"l","\u013d":"L","\u013e":"l","\u013f":"L","\u0140":"l","\u0141":"l","\u0142":"l","\u1e3e":"M","\u1e3f":"m","M\u0306":"M","m\u0306":"m","\u0143":"N","\u0144":"n","\u0145":"N","\u0146":"n","\u0147":"N","\u0148":"n","\u0149":"n","N\u0306":"N","n\u0306":"n","\u014c":"O","\u014d":"o","\u014e":"O","\u014f":"o","\u0150":"O","\u0151":"o","\u0152":"OE","\u0153":"oe","P\u0306":"P","p\u0306":"p","\u0154":"R","\u0155":"r","\u0156":"R","\u0157":"r","\u0158":"R","\u0159":"r","R\u0306":"R","r\u0306":"r","\u0212":"R","\u0213":"r","\u015a":"S","\u015b":"s","\u015c":"S","\u015d":"s","\u015e":"S","\u0218":"S","\u0219":"s","\u015f":"s","\u0160":"S","\u0161":"s","\u0162":"T","\u0163":"t","\u021b":"t","\u021a":"T","\u0164":"T","\u0165":"t","\u0166":"T","\u0167":"t","T\u0306":"T","t\u0306":"t","\u0168":"U","\u0169":"u","\u016a":"U","\u016b":"u","\u016c":"U","\u016d":"u","\u016e":"U","\u016f":"u","\u0170":"U","\u0171":"u","\u0172":"U","\u0173":"u","\u0216":"U","\u0217":"u","V\u0306":"V","v\u0306":"v","\u0174":"W","\u0175":"w","\u1e82":"W","\u1e83":"w","X\u0306":"X","x\u0306":"x","\u0176":"Y","\u0177":"y","\u0178":"Y","Y\u0306":"Y","y\u0306":"y","\u0179":"Z","\u017a":"z","\u017b":"Z","\u017c":"z","\u017d":"Z","\u017e":"z","\u017f":"s","\u0192":"f","\u01a0":"O","\u01a1":"o","\u01af":"U","\u01b0":"u","\u01cd":"A","\u01ce":"a","\u01cf":"I","\u01d0":"i","\u01d1":"O","\u01d2":"o","\u01d3":"U","\u01d4":"u","\u01d5":"U","\u01d6":"u","\u01d7":"U","\u01d8":"u","\u01d9":"U","\u01da":"u","\u01db":"U","\u01dc":"u","\u1ee8":"U","\u1ee9":"u","\u1e78":"U","\u1e79":"u","\u01fa":"A","\u01fb":"a","\u01fc":"AE","\u01fd":"ae","\u01fe":"O","\u01ff":"o","\xde":"TH","\xfe":"th","\u1e54":"P","\u1e55":"p","\u1e64":"S","\u1e65":"s","X\u0301":"X","x\u0301":"x","\u0403":"\u0413","\u0453":"\u0433","\u040c":"\u041a","\u045c":"\u043a","A\u030b":"A","a\u030b":"a","E\u030b":"E","e\u030b":"e","I\u030b":"I","i\u030b":"i","\u01f8":"N","\u01f9":"n","\u1ed2":"O","\u1ed3":"o","\u1e50":"O","\u1e51":"o","\u1eea":"U","\u1eeb":"u","\u1e80":"W","\u1e81":"w","\u1ef2":"Y","\u1ef3":"y","\u0200":"A","\u0201":"a","\u0204":"E","\u0205":"e","\u0208":"I","\u0209":"i","\u020c":"O","\u020d":"o","\u0210":"R","\u0211":"r","\u0214":"U","\u0215":"u","B\u030c":"B","b\u030c":"b","\u010c\u0323":"C","\u010d\u0323":"c","\xca\u030c":"E","\xea\u030c":"e","F\u030c":"F","f\u030c":"f","\u01e6":"G","\u01e7":"g","\u021e":"H","\u021f":"h","J\u030c":"J","\u01f0":"j","\u01e8":"K","\u01e9":"k","M\u030c":"M","m\u030c":"m","P\u030c":"P","p\u030c":"p","Q\u030c":"Q","q\u030c":"q","\u0158\u0329":"R","\u0159\u0329":"r","\u1e66":"S","\u1e67":"s","V\u030c":"V","v\u030c":"v","W\u030c":"W","w\u030c":"w","X\u030c":"X","x\u030c":"x","Y\u030c":"Y","y\u030c":"y","A\u0327":"A","a\u0327":"a","B\u0327":"B","b\u0327":"b","\u1e10":"D","\u1e11":"d","\u0228":"E","\u0229":"e","\u0190\u0327":"E","\u025b\u0327":"e","\u1e28":"H","\u1e29":"h","I\u0327":"I","i\u0327":"i","\u0197\u0327":"I","\u0268\u0327":"i","M\u0327":"M","m\u0327":"m","O\u0327":"O","o\u0327":"o","Q\u0327":"Q","q\u0327":"q","U\u0327":"U","u\u0327":"u","X\u0327":"X","x\u0327":"x","Z\u0327":"Z","z\u0327":"z"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,""),i=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=i,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=i},81398:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return ue}});var r=n(2212),o=n(54505),i=n(15560),a=n(92405),s=n(20216),u=n(16917),c=n(54736),l=n.n(c),d=n(16505),f=n.n(d),h=n(44858),p=n(92539),v=n(86701),m=n(3752),g=n(1527);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||k(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||k(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){if(e){if("string"===typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t,n){var r=n.objBindAttr,o=void 0===r?"__obj":r,i=n.dataBindAttr,a=void 0===i?"__data":i,s=n.idAccessor,u=n.purge,c=void 0!==u&&u,l=function(e){return e.hasOwnProperty(a)},d=t.filter((function(e){return!l(e)})),f=t.filter(l).map((function(e){return e[a]})),h=c?{enter:e,exit:f,update:[]}:function(e,t,n){var r={enter:[],update:[],exit:[]};if(n){var o=(0,g.Z)(e,n,!1),i=(0,g.Z)(t,n,!1),a=Object.assign({},o,i);Object.entries(a).forEach((function(e){var t=_(e,2),n=t[0],a=t[1],s=o.hasOwnProperty(n)?i.hasOwnProperty(n)?"update":"exit":"enter";r[s].push("update"===s?[o[n],i[n]]:a)}))}else{var s=new Set(e),u=new Set(t);new Set([].concat(x(s),x(u))).forEach((function(e){var t=s.has(e)?u.has(e)?"update":"exit":"enter";r[t].push("update"===t?[e,e]:e)}))}return r}(f,e,s);return h.update=h.update.map((function(e){var t=_(e,2),n=t[0],r=t[1];return n!==r&&(r[o]=n[o],r[o][a]=r),r})),h.exit=h.exit.concat(d.map((function(e){return b({},o,e)}))),h}var C=function(e,t,n,r,o){var i=o.createObj,a=void 0===i?function(e){return{}}:i,s=o.updateObj,u=void 0===s?function(e,t){}:s,c=o.exitObj,l=void 0===c?function(e){}:c,d=o.objBindAttr,f=void 0===d?"__obj":d,h=o.dataBindAttr,p=void 0===h?"__data":h,v=w(o,["createObj","updateObj","exitObj","objBindAttr","dataBindAttr"]),m=O(e,t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({objBindAttr:f,dataBindAttr:p},v)),g=m.enter,_=m.update;m.exit.forEach((function(e){var t=e[f];delete e[f],l(t),r(t)}));var k=function(e){var t=[];return e.forEach((function(e){var n=a(e);n&&(n[p]=e,e[f]=n,t.push(n))})),t}(g);!function(e){e.forEach((function(e){var t=e[f];t&&(t[p]=e,u(t,e))}))}([].concat(x(g),x(_))),k.forEach(n)},T=n(72462),M=n(47646),S=n(17621),P=n.n(S);function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){D(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function A(e){return(A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}function N(e){return(N=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function F(e,t,n){return(F=z()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&B(o,n.prototype),o}).apply(null,arguments)}function H(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function V(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?V(e):t}function U(e){var t=z();return function(){var n,r=N(e);if(t){var o=N(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return W(this,n)}}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||K(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||K(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){if(e){if("string"===typeof e)return Z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Z(e,t):void 0}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $=function e(t){t instanceof Array?t.forEach(e):(t.map&&t.map.dispose(),t.dispose())},X=function e(t){t.geometry&&t.geometry.dispose(),t.material&&$(t.material),t.texture&&t.texture.dispose(),t.children&&t.children.forEach(e)},Y=function(e){for(;e.children.length;){var t=e.children[0];e.remove(t),X(t)}},Q=["objFilter"];function J(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.objFilter,o=void 0===r?function(){return!0}:r,i=H(n,Q);return C(e,t.children.filter(o),(function(e){return t.add(e)}),(function(e){t.remove(e),Y(e)}),I({objBindAttr:"__threeObj"},i))}var ee=function(e){return isNaN(e)?parseInt(P()(e).toHex(),16):e},te=function(e){return isNaN(e)?P()(e).getAlpha():1},ne=(0,T.Z)(M.Z);function re(e,t,n){t&&"string"===typeof n&&e.filter((function(e){return!e[n]})).forEach((function(e){e[n]=ne(t(e))}))}var oe=window.THREE?window.THREE:{Group:r.ZAu,Mesh:r.Kj0,MeshLambertMaterial:r.YBo,Color:r.Ilk,BufferGeometry:r.u9r,BufferAttribute:r.TlE,Matrix4:r.yGw,Vector3:r.Pa4,SphereBufferGeometry:r.Aip,CylinderBufferGeometry:r.m_w,TubeBufferGeometry:r.Lcc,ConeBufferGeometry:r._3,Line:r.x12,LineBasicMaterial:r.nls,QuadraticBezierCurve3:r.mXe,CubicBezierCurve3:r.yj7,Box3:r.ZzF},ie={graph:l(),forcelayout:f()},ae=(new oe.BufferGeometry).setAttribute?"setAttribute":"addAttribute",se=(new oe.BufferGeometry).applyMatrix4?"applyMatrix4":"applyMatrix";var ue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=function(t){L(o,t);var r=U(o);function o(){var t;R(this,o);for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return(t=r.call.apply(r,[this].concat(a))).__kapsuleInstance=e().apply(void 0,[].concat(q(n?[V(t)]:[]),a)),t}return o}(t);return Object.keys(e()).forEach((function(e){return r.prototype[e]=function(){var t,n=(t=this.__kapsuleInstance)[e].apply(t,arguments);return n===this.__kapsuleInstance?this:n}})),r}((0,h.Z)({props:{jsonUrl:{onChange:function(e,t){var n=this;e&&!t.fetchingJson&&(t.fetchingJson=!0,t.onLoading(),fetch(e).then((function(e){return e.json()})).then((function(e){t.fetchingJson=!1,t.onFinishLoading(e),n.graphData(e)})))},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,t){t.engineRunning=!1}},numDimensions:{default:3,onChange:function(e,t){var n=t.d3ForceLayout.force("charge");function r(e,t){e.forEach((function(e){delete e[t],delete e["v".concat(t)]}))}n&&n.strength(e>2?-60:-30),e<3&&r(t.graphData.nodes,"z"),e<2&&r(t.graphData.nodes,"y")}},dagMode:{onChange:function(e,t){!e&&"d3"===t.forceEngine&&(t.graphData.nodes||[]).forEach((function(e){return e.fx=e.fy=e.fz=void 0}))}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.velocityDecay(e)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(e){return e._flushObjects=!0,e._rerender(),this},d3Force:function(e,t,n){return void 0===n?e.d3ForceLayout.force(t):(e.d3ForceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},tickFrame:function(e){var t="ngraph"!==e.forceEngine;return e.engineRunning&&function(){++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||t&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.layout[t?"tick":"step"](),e.onEngineTick());e.graphData.nodes.forEach((function(n){var r=n.__threeObj;if(r){var o=t?n:e.layout.getNodePosition(n[e.nodeId]);r.position.x=o.x,r.position.y=o.y||0,r.position.z=o.z||0}}));var n=(0,p.default)(e.linkWidth),r=(0,p.default)(e.linkCurvature),o=(0,p.default)(e.linkCurveRotation),i=(0,p.default)(e.linkThreeObjectExtend);function a(n){var i=t?n:e.layout.getLinkPosition(e.layout.graph.getLink(n.source,n.target).id),a=i[t?"source":"from"],s=i[t?"target":"to"];if(a&&s&&a.hasOwnProperty("x")&&s.hasOwnProperty("x")){var u=r(n);if(u){var c,l=new oe.Vector3(a.x,a.y||0,a.z||0),d=new oe.Vector3(s.x,s.y||0,s.z||0),f=l.distanceTo(d),h=o(n);if(f>0){var p=s.x-a.x,v=s.y-a.y||0,m=(new oe.Vector3).subVectors(d,l),g=m.clone().multiplyScalar(u).cross(0!==p||0!==v?new oe.Vector3(0,0,1):new oe.Vector3(0,1,0)).applyAxisAngle(m.normalize(),h).add((new oe.Vector3).addVectors(l,d).divideScalar(2));c=new oe.QuadraticBezierCurve3(l,g,d)}else{var y=70*u,b=-h,w=b+Math.PI/2;c=new oe.CubicBezierCurve3(l,new oe.Vector3(y*Math.cos(w),y*Math.sin(w),0).add(l),new oe.Vector3(y*Math.cos(b),y*Math.sin(b),0).add(l),d)}n.__curve=c}else n.__curve=null}}e.graphData.links.forEach((function(r){var o=r.__lineObj;if(o){var s=t?r:e.layout.getLinkPosition(e.layout.graph.getLink(r.source,r.target).id),u=s[t?"source":"from"],c=s[t?"target":"to"];if(u&&c&&u.hasOwnProperty("x")&&c.hasOwnProperty("x")){a(r);var l=i(r);if(!e.linkPositionUpdate||!e.linkPositionUpdate(l?o.children[1]:o,{start:{x:u.x,y:u.y,z:u.z},end:{x:c.x,y:c.y,z:c.z}},r)||l){var d=30,f=r.__curve,h=o.children.length?o.children[0]:o;if("Line"===h.type){if(f)h.geometry.setFromPoints(f.getPoints(d));else{var p=h.geometry.getAttribute("position");p&&p.array&&6===p.array.length||h.geometry[ae]("position",p=new oe.BufferAttribute(new Float32Array(6),3)),p.array[0]=u.x,p.array[1]=u.y||0,p.array[2]=u.z||0,p.array[3]=c.x,p.array[4]=c.y||0,p.array[5]=c.z||0,p.needsUpdate=!0}h.geometry.computeBoundingSphere()}else if("Mesh"===h.type)if(f){h.geometry.type.match(/^Tube(Buffer)?Geometry$/)||(h.position.set(0,0,0),h.rotation.set(0,0,0),h.scale.set(1,1,1));var v=Math.ceil(10*n(r))/10/2,m=new oe.TubeBufferGeometry(f,d,v,e.linkResolution,!1);h.geometry.dispose(),h.geometry=m}else{if(!h.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)){var g=Math.ceil(10*n(r))/10/2,y=new oe.CylinderBufferGeometry(g,g,1,e.linkResolution,1,!1);y[se]((new oe.Matrix4).makeTranslation(0,.5,0)),y[se]((new oe.Matrix4).makeRotationX(Math.PI/2)),h.geometry.dispose(),h.geometry=y}var b=new oe.Vector3(u.x,u.y||0,u.z||0),w=new oe.Vector3(c.x,c.y||0,c.z||0),_=b.distanceTo(w);h.position.x=b.x,h.position.y=b.y,h.position.z=b.z,h.scale.z=_,h.parent.localToWorld(w),h.lookAt(w)}}}}}))}(),function(){var n=(0,p.default)(e.linkDirectionalArrowRelPos),r=(0,p.default)(e.linkDirectionalArrowLength),o=(0,p.default)(e.nodeVal);e.graphData.links.forEach((function(i){var a=i.__arrowObj;if(a){var s=t?i:e.layout.getLinkPosition(e.layout.graph.getLink(i.source,i.target).id),u=s[t?"source":"from"],c=s[t?"target":"to"];if(u&&c&&u.hasOwnProperty("x")&&c.hasOwnProperty("x")){var l=Math.sqrt(Math.max(0,o(u)||1))*e.nodeRelSize,d=Math.sqrt(Math.max(0,o(c)||1))*e.nodeRelSize,f=r(i),h=n(i),p=i.__curve?function(e){return i.__curve.getPoint(e)}:function(e){var t=function(e,t,n,r){return t[e]+(n[e]-t[e])*r||0};return{x:t("x",u,c,e),y:t("y",u,c,e),z:t("z",u,c,e)}},v=i.__curve?i.__curve.getLength():Math.sqrt(["x","y","z"].map((function(e){return Math.pow((c[e]||0)-(u[e]||0),2)})).reduce((function(e,t){return e+t}),0)),m=l+f+(v-l-d-f)*h,g=p(m/v),y=p((m-f)/v);["x","y","z"].forEach((function(e){return a.position[e]=y[e]}));var b=F(oe.Vector3,q(["x","y","z"].map((function(e){return g[e]}))));a.parent.localToWorld(b),a.lookAt(b)}}}))}(),function(){var n=(0,p.default)(e.linkDirectionalParticleSpeed);e.graphData.links.forEach((function(r){var o=r.__photonsObj&&r.__photonsObj.children,i=r.__singleHopPhotonsObj&&r.__singleHopPhotonsObj.children;if(i&&i.length||o&&o.length){var a=t?r:e.layout.getLinkPosition(e.layout.graph.getLink(r.source,r.target).id),s=a[t?"source":"from"],u=a[t?"target":"to"];if(s&&u&&s.hasOwnProperty("x")&&u.hasOwnProperty("x")){var c=n(r),l=r.__curve?function(e){return r.__curve.getPoint(e)}:function(e){var t=function(e,t,n,r){return t[e]+(n[e]-t[e])*r||0};return{x:t("x",s,u,e),y:t("y",s,u,e),z:t("z",s,u,e)}};[].concat(q(o||[]),q(i||[])).forEach((function(e,t){var n="singleHopPhotons"===e.parent.__linkThreeObjType;if(e.hasOwnProperty("__progressRatio")||(e.__progressRatio=n?0:t/o.length),e.__progressRatio+=c,e.__progressRatio>=1){if(n)return e.parent.remove(e),void Y(e);e.__progressRatio=e.__progressRatio%1}var r=e.__progressRatio,i=l(r);["x","y","z"].forEach((function(t){return e.position[t]=i[t]}))}))}}}))}(),this},emitParticle:function(e,t){if(t){if(!t.__singleHopPhotonsObj){var n=new oe.Group;n.__linkThreeObjType="singleHopPhotons",t.__singleHopPhotonsObj=n,e.graphScene.add(n)}var r=(0,p.default)(e.linkDirectionalParticleWidth),o=Math.ceil(10*r(t))/10/2,i=e.linkDirectionalParticleResolution,a=new oe.SphereBufferGeometry(o,i,i),s=(0,p.default)(e.linkColor),u=(0,p.default)(e.linkDirectionalParticleColor)(t)||s(t)||"#f0f0f0",c=new oe.Color(ee(u)),l=3*e.linkOpacity,d=new oe.MeshLambertMaterial({color:c,transparent:!0,opacity:l});t.__singleHopPhotonsObj.add(new oe.Mesh(a,d))}return this},getGraphBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};if(!e.initialised)return null;var n=function e(n){var r=[];if(n.geometry){n.geometry.computeBoundingBox();var o=new oe.Box3;o.copy(n.geometry.boundingBox).applyMatrix4(n.matrixWorld),r.push(o)}return r.concat.apply(r,q((n.children||[]).filter((function(e){return!e.hasOwnProperty("__graphObjType")||"node"===e.__graphObjType&&t(e.__data)})).map(e)))}(e.graphScene);return n.length?Object.assign.apply(Object,q(["x","y","z"].map((function(e){return D({},e,[(0,v.Z)(n,(function(t){return t.min[e]})),(0,m.Z)(n,(function(t){return t.max[e]}))])})))):null}},stateInit:function(){return{d3ForceLayout:(0,o.Z)().force("link",(0,i.Z)()).force("charge",(0,a.Z)()).force("center",(0,s.Z)()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.graphScene=e},update:function(e,t){var n=function(e){return e.some((function(e){return t.hasOwnProperty(e)}))};if(e.engineRunning=!1,e.onUpdate(),null!==e.nodeAutoColorBy&&n(["nodeAutoColorBy","graphData","nodeColor"])&&re(e.graphData.nodes,(0,p.default)(e.nodeAutoColorBy),e.nodeColor),null!==e.linkAutoColorBy&&n(["linkAutoColorBy","graphData","linkColor"])&&re(e.graphData.links,(0,p.default)(e.linkAutoColorBy),e.linkColor),e._flushObjects||n(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var r=(0,p.default)(e.nodeThreeObject),o=(0,p.default)(e.nodeThreeObjectExtend),i=(0,p.default)(e.nodeVal),a=(0,p.default)(e.nodeColor),s=(0,p.default)(e.nodeVisibility),c={},l={};J(e.graphData.nodes.filter(s),e.graphScene,{purge:e._flushObjects||n(["nodeThreeObject","nodeThreeObjectExtend"]),objFilter:function(e){return"node"===e.__graphObjType},createObj:function(t){var n,i=r(t),a=o(t);return i&&e.nodeThreeObject===i&&(i=i.clone()),i&&!a?n=i:((n=new oe.Mesh).__graphDefaultObj=!0,i&&a&&n.add(i)),n.__graphObjType="node",n},updateObj:function(t,n){if(t.__graphDefaultObj){var r=i(n)||1,o=Math.cbrt(r)*e.nodeRelSize,s=e.nodeResolution;t.geometry.type.match(/^Sphere(Buffer)?Geometry$/)&&t.geometry.parameters.radius===o&&t.geometry.parameters.widthSegments===s||(c.hasOwnProperty(r)||(c[r]=new oe.SphereBufferGeometry(o,s,s)),t.geometry.dispose(),t.geometry=c[r]);var u=a(n),d=new oe.Color(ee(u||"#ffffaa")),f=e.nodeOpacity*te(u);"MeshLambertMaterial"===t.material.type&&t.material.color.equals(d)&&t.material.opacity===f||(l.hasOwnProperty(u)||(l[u]=new oe.MeshLambertMaterial({color:d,transparent:!0,opacity:f})),t.material.dispose(),t.material=l[u])}}})}if(e._flushObjects||n(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution"])){var d=(0,p.default)(e.linkThreeObject),f=(0,p.default)(e.linkThreeObjectExtend),h=(0,p.default)(e.linkMaterial),v=(0,p.default)(e.linkVisibility),m=(0,p.default)(e.linkColor),g=(0,p.default)(e.linkWidth),y={},b={},w={},_=e.graphData.links.filter(v);if(J(_,e.graphScene,{objBindAttr:"__lineObj",purge:e._flushObjects||n(["linkThreeObject","linkThreeObjectExtend","linkWidth"]),objFilter:function(e){return"link"===e.__graphObjType},createObj:function(t){var n,r,o=d(t),i=f(t);if(o&&e.linkThreeObject===o&&(o=o.clone()),!o||i)if(!!g(t))n=new oe.Mesh;else{var a=new oe.BufferGeometry;a[ae]("position",new oe.BufferAttribute(new Float32Array(6),3)),n=new oe.Line(a)}return o?i?((r=new oe.Group).__graphDefaultObj=!0,r.add(n),r.add(o)):r=o:(r=n).__graphDefaultObj=!0,r.renderOrder=10,r.__graphObjType="link",r},updateObj:function(t,n){if(t.__graphDefaultObj){var r=t.children.length?t.children[0]:t,o=Math.ceil(10*g(n))/10,i=!!o;if(i){var a=o/2,s=e.linkResolution;if(!r.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||r.geometry.parameters.radiusTop!==a||r.geometry.parameters.radialSegments!==s){if(!y.hasOwnProperty(o)){var u=new oe.CylinderBufferGeometry(a,a,1,s,1,!1);u[se]((new oe.Matrix4).makeTranslation(0,.5,0)),u[se]((new oe.Matrix4).makeRotationX(Math.PI/2)),y[o]=u}r.geometry.dispose(),r.geometry=y[o]}}var c=h(n);if(c)r.material=c;else{var l=m(n),d=new oe.Color(ee(l||"#f0f0f0")),f=e.linkOpacity*te(l),p=i?"MeshLambertMaterial":"LineBasicMaterial";if(r.material.type!==p||!r.material.color.equals(d)||r.material.opacity!==f){var v=i?b:w;v.hasOwnProperty(l)||(v[l]=new oe[p]({color:d,transparent:f<1,opacity:f,depthWrite:f>=1})),r.material.dispose(),r.material=v[l]}}}}}),e.linkDirectionalArrowLength||t.hasOwnProperty("linkDirectionalArrowLength")){var x=(0,p.default)(e.linkDirectionalArrowLength),k=(0,p.default)(e.linkDirectionalArrowColor);J(_.filter(x),e.graphScene,{objBindAttr:"__arrowObj",objFilter:function(e){return"arrow"===e.__linkThreeObjType},createObj:function(){var e=new oe.Mesh(void 0,new oe.MeshLambertMaterial({transparent:!0}));return e.__linkThreeObjType="arrow",e},updateObj:function(t,n){var r=x(n),o=e.linkDirectionalArrowResolution;if(!t.geometry.type.match(/^Cone(Buffer)?Geometry$/)||t.geometry.parameters.height!==r||t.geometry.parameters.radialSegments!==o){var i=new oe.ConeBufferGeometry(.25*r,r,o);i.translate(0,r/2,0),i.rotateX(Math.PI/2),t.geometry.dispose(),t.geometry=i}t.material.color=new oe.Color(k(n)||m(n)||"#f0f0f0"),t.material.opacity=3*e.linkOpacity}})}if(e.linkDirectionalParticles||t.hasOwnProperty("linkDirectionalParticles")){var E=(0,p.default)(e.linkDirectionalParticles),O=(0,p.default)(e.linkDirectionalParticleWidth),C=(0,p.default)(e.linkDirectionalParticleColor),T={},M={};J(_.filter(E),e.graphScene,{objBindAttr:"__photonsObj",objFilter:function(e){return"photons"===e.__linkThreeObjType},createObj:function(){var e=new oe.Group;return e.__linkThreeObjType="photons",e},updateObj:function(t,n){var r,o=Math.round(Math.abs(E(n))),i=!!t.children.length&&t.children[0],a=Math.ceil(10*O(n))/10/2,s=e.linkDirectionalParticleResolution;i&&i.geometry.parameters.radius===a&&i.geometry.parameters.widthSegments===s?r=i.geometry:(M.hasOwnProperty(a)||(M[a]=new oe.SphereBufferGeometry(a,s,s)),r=M[a],i&&i.geometry.dispose());var u,c=C(n)||m(n)||"#f0f0f0",l=new oe.Color(ee(c)),d=3*e.linkOpacity;i&&i.material.color.equals(l)&&i.material.opacity===d?u=i.material:(T.hasOwnProperty(c)||(T[c]=new oe.MeshLambertMaterial({color:l,transparent:!0,opacity:d})),u=T[c],i&&i.material.dispose()),J(q(new Array(o)).map((function(e,t){return{idx:t}})),t,{idAccessor:function(e){return e.idx},createObj:function(){return new oe.Mesh(r,u)},updateObj:function(e){e.geometry=r,e.material=u}})}})}}if(e._flushObjects=!1,n(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){e.engineRunning=!1,e.graphData.links.forEach((function(t){t.source=t[e.linkSource],t.target=t[e.linkTarget]}));var S,P="ngraph"!==e.forceEngine;if(P){(S=e.d3ForceLayout).stop().alpha(1).numDimensions(e.numDimensions).nodes(e.graphData.nodes);var j=e.d3ForceLayout.force("link");j&&j.id((function(t){return t[e.nodeId]})).links(e.graphData.links);var R=e.dagMode&&function(e,t){var n=e.nodes,r=e.links,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.nodeFilter,a=void 0===i?function(){return!0}:i,s=o.onLoopError,u=void 0===s?function(e){throw"Invalid DAG structure! Found cycle in node path: ".concat(e.join(" -> "),".")}:s,c={};n.forEach((function(e){return c[t(e)]={data:e,out:[],depth:-1,skip:!a(e)}})),r.forEach((function(e){var n=e.source,r=e.target,o=u(n),i=u(r);if(!c.hasOwnProperty(o))throw"Missing source node with id: ".concat(o);if(!c.hasOwnProperty(i))throw"Missing target node with id: ".concat(i);var a=c[o],s=c[i];function u(e){return"object"===A(e)?t(e):e}a.out.push(s)}));var l=[];return d(Object.values(c)),Object.assign.apply(Object,[{}].concat(q(Object.entries(c).filter((function(e){return!G(e,2)[1].skip})).map((function(e){var t=G(e,2);return D({},t[0],t[1].depth)})))));function d(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=0,i=e.length;o<i;o++){var a=e[o];if(-1!==n.indexOf(a))if("continue"===function(){var e=[].concat(q(n.slice(n.indexOf(a))),[a]).map((function(e){return t(e.data)}));return l.some((function(t){return t.length===e.length&&t.every((function(t,n){return t===e[n]}))}))||(l.push(e),u(e)),"continue"}())continue;r>a.depth&&(a.depth=r,d(a.out,[].concat(q(n),[a]),r+(a.skip?0:1)))}}}(e.graphData,(function(t){return t[e.nodeId]}),{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),L=Math.max.apply(Math,q(Object.values(R||[]))),N=e.dagLevelDistance||e.graphData.nodes.length/(L||1)*2*(-1!==["radialin","radialout"].indexOf(e.dagMode)?.7:1);if(e.dagMode){var B=function(t,n){return function(r){return t?(R[r[e.nodeId]]-L/2)*N*(n?-1:1):void 0}},z=B(-1!==["lr","rl"].indexOf(e.dagMode),"rl"===e.dagMode),F=B(-1!==["td","bu"].indexOf(e.dagMode),"td"===e.dagMode),H=B(-1!==["zin","zout"].indexOf(e.dagMode),"zout"===e.dagMode);e.graphData.nodes.filter(e.dagNodeFilter).forEach((function(e){e.fx=z(e),e.fy=F(e),e.fz=H(e)}))}e.d3ForceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(e.dagMode)?(0,u.Z)((function(t){var n=R[t[e.nodeId]]||-1;return("radialin"===e.dagMode?L-n:n)*N})).strength((function(t){return e.dagNodeFilter(t)?1:0})):null)}else{var V=ie.graph();e.graphData.nodes.forEach((function(t){V.addNode(t[e.nodeId])})),e.graphData.links.forEach((function(e){V.addLink(e.source,e.target)})),(S=ie.forcelayout(V,I({dimensions:e.numDimensions},e.ngraphPhysics))).graph=V}for(var W=0;W<e.warmupTicks&&!(P&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()<e.d3AlphaMin);W++)S[P?"tick":"step"]();e.layout=S,this.resetCountdown()}e.engineRunning=!0,e.onFinishUpdate()}}),(window.THREE?window.THREE:{Group:r.ZAu}).Group,!0)},56594:function(e,t,n){"use strict";n.r(t),n.d(t,{Pathfinding:function(){return v}});var r=function(){};r.computeCentroids=function(e){var t,n,r;for(t=0,n=e.faces.length;t<n;t++)(r=e.faces[t]).centroid=new THREE.Vector3(0,0,0),r.centroid.add(e.vertices[r.a]),r.centroid.add(e.vertices[r.b]),r.centroid.add(e.vertices[r.c]),r.centroid.divideScalar(3)},r.roundNumber=function(e,t){return Number(e.toFixed(t))},r.sample=function(e){return e[Math.floor(Math.random()*e.length)]},r.mergeVertexIds=function(e,t){var n=[];if(e.forEach((function(e){t.indexOf(e)>=0&&n.push(e)})),n.length<2)return[];n.includes(e[0])&&n.includes(e[e.length-1])&&e.push(e.shift()),n.includes(t[0])&&n.includes(t[t.length-1])&&t.push(t.shift()),n=[],e.forEach((function(e){t.includes(e)&&n.push(e)}));for(var r=n[1],o=n[0],i=e.slice();i[0]!==r;)i.push(i.shift());for(var a=0,s=t.slice();s[0]!==o;)if(s.push(s.shift()),a++>10)throw new Error("Unexpected state");return s.shift(),s.pop(),i.concat(s)},r.setPolygonCentroid=function(e,t){var n=new THREE.Vector3,r=t.vertices;e.vertexIds.forEach((function(e){n.add(r[e])})),n.divideScalar(e.vertexIds.length),e.centroid.copy(n)},r.cleanPolygon=function(e,t){for(var n=[],r=t.vertices,o=0;o<e.vertexIds.length;o++){var i,a,s,u=r[e.vertexIds[o]];0===o?(i=e.vertexIds[1],a=e.vertexIds[e.vertexIds.length-1]):o===e.vertexIds.length-1?(i=e.vertexIds[0],a=e.vertexIds[e.vertexIds.length-2]):(i=e.vertexIds[o+1],a=e.vertexIds[o-1]),s=r[a];var c=r[i].clone().sub(u),l=s.clone().sub(u),d=c.angleTo(l);if(d>Math.PI-.01&&d<Math.PI+.01){var f=[];e.neighbours.forEach((function(t){t.vertexIds.includes(e.vertexIds[o])||f.push(t)})),e.neighbours=f}else n.push(e.vertexIds[o])}e.vertexIds=n,this.setPolygonCentroid(e,t)},r.isConvex=function(e,t){var n=t.vertices;if(e.vertexIds.length<3)return!1;for(var r=!0,o=[],i=0;i<e.vertexIds.length;i++){var a,s,u=n[e.vertexIds[i]];0===i?(a=n[e.vertexIds[1]],s=n[e.vertexIds[e.vertexIds.length-1]]):i===e.vertexIds.length-1?(a=n[e.vertexIds[0]],s=n[e.vertexIds[e.vertexIds.length-2]]):(a=n[e.vertexIds[i+1]],s=n[e.vertexIds[i-1]]);var c=a.clone().sub(u),l=s.clone().sub(u),d=c.angleTo(l);if(d===Math.PI||0===d)return!1;var f=c.cross(l).y;o.push(f)}return o.forEach((function(e){0===e&&(r=!1)})),o.forEach(o[0]>0?function(e){e<0&&(r=!1)}:function(e){e>0&&(r=!1)}),r},r.distanceToSquared=function(e,t){var n=e.x-t.x,r=e.y-t.y,o=e.z-t.z;return n*n+r*r+o*o},r.isPointInPoly=function(e,t){for(var n=!1,r=-1,o=e.length,i=o-1;++r<o;i=r)(e[r].z<=t.z&&t.z<e[i].z||e[i].z<=t.z&&t.z<e[r].z)&&t.x<(e[i].x-e[r].x)*(t.z-e[r].z)/(e[i].z-e[r].z)+e[r].x&&(n=!n);return n},r.isVectorInPolygon=function(e,t,n){var r=1e5,o=-1e5,i=[];return t.vertexIds.forEach((function(e){r=Math.min(n[e].y,r),o=Math.max(n[e].y,o),i.push(n[e])})),!!(e.y<o+.5&&e.y>r-.5&&this.isPointInPoly(i,e))},r.triarea2=function(e,t,n){return(n.x-e.x)*(t.z-e.z)-(t.x-e.x)*(n.z-e.z)},r.vequal=function(e,t){return this.distanceToSquared(e,t)<1e-5};var o=function(e){this.content=[],this.scoreFunction=e};o.prototype.push=function(e){this.content.push(e),this.sinkDown(this.content.length-1)},o.prototype.pop=function(){var e=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),e},o.prototype.remove=function(e){var t=this.content.indexOf(e),n=this.content.pop();t!==this.content.length-1&&(this.content[t]=n,this.scoreFunction(n)<this.scoreFunction(e)?this.sinkDown(t):this.bubbleUp(t))},o.prototype.size=function(){return this.content.length},o.prototype.rescoreElement=function(e){this.sinkDown(this.content.indexOf(e))},o.prototype.sinkDown=function(e){for(var t=this.content[e];e>0;){var n=(e+1>>1)-1,r=this.content[n];if(!(this.scoreFunction(t)<this.scoreFunction(r)))break;this.content[n]=t,this.content[e]=r,e=n}},o.prototype.bubbleUp=function(e){for(var t=this.content.length,n=this.content[e],r=this.scoreFunction(n);;){var o=e+1<<1,i=o-1,a=null,s=void 0;if(i<t&&(s=this.scoreFunction(this.content[i]))<r&&(a=i),o<t&&this.scoreFunction(this.content[o])<(null===a?r:s)&&(a=o),null===a)break;this.content[e]=this.content[a],this.content[a]=n,e=a}};var i=function(){};i.init=function(e){for(var t=0;t<e.length;t++){var n=e[t];n.f=0,n.g=0,n.h=0,n.cost=1,n.visited=!1,n.closed=!1,n.parent=null}},i.cleanUp=function(e){for(var t=0;t<e.length;t++){var n=e[t];delete n.f,delete n.g,delete n.h,delete n.cost,delete n.visited,delete n.closed,delete n.parent}},i.heap=function(){return new o((function(e){return e.f}))},i.search=function(e,t,n){this.init(e);var r=this.heap();for(r.push(t);r.size()>0;){var o=r.pop();if(o===n){for(var i=o,a=[];i.parent;)a.push(i),i=i.parent;return this.cleanUp(a),a.reverse()}o.closed=!0;for(var s=this.neighbours(e,o),u=0,c=s.length;u<c;u++){var l=s[u];if(!l.closed){var d=o.g+l.cost,f=l.visited;if(!f||d<l.g){if(l.visited=!0,l.parent=o,!l.centroid||!n.centroid)throw new Error("Unexpected state");l.h=l.h||this.heuristic(l.centroid,n.centroid),l.g=d,l.f=l.g+l.h,f?r.rescoreElement(l):r.push(l)}}}}return[]},i.heuristic=function(e,t){return r.distanceToSquared(e,t)},i.neighbours=function(e,t){for(var n=[],r=0;r<t.neighbours.length;r++)n.push(e[t.neighbours[r]]);return n};var a=1,s=function(){};s.buildZone=function(e){var t=this,n=this._buildNavigationMesh(e),o={};n.vertices.forEach((function(e){e.x=r.roundNumber(e.x,2),e.y=r.roundNumber(e.y,2),e.z=r.roundNumber(e.z,2)})),o.vertices=n.vertices;var i=this._buildPolygonGroups(n);o.groups=[];var a=function(e,t){for(var n=0;n<e.length;n++)if(t===e[n])return n};return i.forEach((function(e){var n=[];e.forEach((function(o){var i=o.neighbours.map((function(t){return a(e,t)})),s=o.neighbours.map((function(e){return t._getSharedVerticesInOrder(o,e)}));o.centroid.x=r.roundNumber(o.centroid.x,2),o.centroid.y=r.roundNumber(o.centroid.y,2),o.centroid.z=r.roundNumber(o.centroid.z,2),n.push({id:a(e,o),neighbours:i,vertexIds:o.vertexIds,centroid:o.centroid,portals:s})})),o.groups.push(n)})),o},s._buildNavigationMesh=function(e){return r.computeCentroids(e),e.mergeVertices(),this._buildPolygonsFromGeometry(e)},s._buildPolygonGroups=function(e){var t=[],n=0,r=function(e){e.neighbours.forEach((function(t){void 0===t.group&&(t.group=e.group,r(t))}))};return e.polygons.forEach((function(e){void 0===e.group&&(e.group=n++,r(e)),t[e.group]||(t[e.group]=[]),t[e.group].push(e)})),t},s._buildPolygonNeighbours=function(e,t,n){var r=new Set,o=n.get(e.vertexIds[0]),i=n.get(e.vertexIds[1]),a=n.get(e.vertexIds[2]);o.forEach((function(e){(i.has(e)||a.has(e))&&r.add(t.polygons[e])})),i.forEach((function(e){a.has(e)&&r.add(t.polygons[e])})),e.neighbours=Array.from(r)},s._buildPolygonsFromGeometry=function(e){for(var t=this,n=[],r=e.vertices,o=e.faceVertexUvs,i=new Map,s=0;s<r.length;s++)i.set(s,new Set);e.faces.forEach((function(e){n.push({id:a++,vertexIds:[e.a,e.b,e.c],centroid:e.centroid,normal:e.normal,neighbours:[]}),i.get(e.a).add(n.length-1),i.get(e.b).add(n.length-1),i.get(e.c).add(n.length-1)}));var u={polygons:n,vertices:r,faceVertexUvs:o};return n.forEach((function(e){t._buildPolygonNeighbours(e,u,i)})),u},s._getSharedVerticesInOrder=function(e,t){var n=e.vertexIds,r=t.vertexIds,o=new Set;if(n.forEach((function(e){r.includes(e)&&o.add(e)})),o.size<2)return[];o.has(n[0])&&o.has(n[n.length-1])&&n.push(n.shift()),o.has(r[0])&&o.has(r[r.length-1])&&r.push(r.shift());var i=[];return n.forEach((function(e){r.includes(e)&&i.push(e)})),i};var u=function(){this.portals=[]};u.prototype.push=function(e,t){void 0===t&&(t=e),this.portals.push({left:e,right:t})},u.prototype.stringPull=function(){var e,t,n,o=this.portals,i=[],a=0,s=0,u=0;t=o[0].left,n=o[0].right,i.push(e=o[0].left);for(var c=1;c<o.length;c++){var l=o[c].left,d=o[c].right;if(r.triarea2(e,n,d)<=0){if(!(r.vequal(e,n)||r.triarea2(e,t,d)>0)){i.push(t),t=e=t,n=e,s=a=s,u=a,c=a;continue}n=d,u=c}if(r.triarea2(e,t,l)>=0){if(!(r.vequal(e,t)||r.triarea2(e,n,l)<0)){i.push(n),t=e=n,n=e,s=a=u,u=a,c=a;continue}t=l,s=c}}return 0!==i.length&&r.vequal(i[i.length-1],o[o.length-1].left)||i.push(o[o.length-1].left),this.path=i,i};var c,l,d,f,h,p,v=function(){this.zones={}};v.createZone=function(e){return s.buildZone(e)},v.prototype.setZoneData=function(e,t){this.zones[e]=t},v.prototype.getGroup=function(e,t){if(!this.zones[e])return null;var n=null,o=Math.pow(50,2);return this.zones[e].groups.forEach((function(e,i){e.forEach((function(e){var a=r.distanceToSquared(e.centroid,t);a<o&&(n=i,o=a)}))})),n},v.prototype.getRandomNode=function(e,t,n,o){if(!this.zones[e])return new THREE.Vector3;n=n||null,o=o||0;var i=[];return this.zones[e].groups[t].forEach((function(e){n&&o?r.distanceToSquared(n,e.centroid)<o*o&&i.push(e.centroid):i.push(e.centroid)})),r.sample(i)||new THREE.Vector3},v.prototype.getClosestNode=function(e,t,n,o){void 0===o&&(o=!1);var i=this.zones[t].vertices,a=null,s=1/0;return this.zones[t].groups[n].forEach((function(t){var n=r.distanceToSquared(t.centroid,e);n<s&&(!o||r.isVectorInPolygon(e,t,i))&&(a=t,s=n)})),a},v.prototype.findPath=function(e,t,n,r){var o=this.zones[n].groups[r],a=this.zones[n].vertices,s=this.getClosestNode(e,n,r),c=this.getClosestNode(t,n,r,!0);if(!s||!c)return null;var l=i.search(o,s,c),d=function(e,t){for(var n=0;n<e.neighbours.length;n++)if(e.neighbours[n]===t.id)return e.portals[n]},f=new u;f.push(e);for(var h=0;h<l.length;h++){var p=l[h+1];if(p){var v=d(l[h],p);f.push(a[v[0]],a[v[1]])}}f.push(t),f.stringPull();var m=f.path.map((function(e){return new THREE.Vector3(e.x,e.y,e.z)}));return m.shift(),m},v.prototype.clampStep=(d=new THREE.Vector3,f=new THREE.Plane,h=new THREE.Triangle,p=new THREE.Vector3,function(e,t,n,r,o,i){var a=this.zones[r].vertices,s=this.zones[r].groups[o],u=[n],v={};v[n.id]=0,c=void 0,p.set(0,0,0),l=1/0,f.setFromCoplanarPoints(a[n.vertexIds[0]],a[n.vertexIds[1]],a[n.vertexIds[2]]),f.projectPoint(t,d),t.copy(d);for(var m=u.pop();m;m=u.pop()){h.set(a[m.vertexIds[0]],a[m.vertexIds[1]],a[m.vertexIds[2]]),h.closestPointToPoint(t,d),d.distanceToSquared(t)<l&&(c=m,p.copy(d),l=d.distanceToSquared(t));var g=v[m];if(!(g>2))for(var y=0;y<m.neighbours.length;y++){var b=s[m.neighbours[y]];b.id in v||(u.push(b),v[b.id]=g+1)}}return i.copy(p),c})},31122:function(e,t,n){"use strict";var r=n(2212);function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=a(e);if(t){var o=a(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return u(this,n)}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(u){s=!0,o=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||f(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){if(e){if("string"===typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var p="undefined"!==typeof window&&window.THREE?window.THREE:{LinearFilter:r.wem,Sprite:r.jyi,SpriteMaterial:r.xeV,Texture:r.xEZ},v=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(u,e);var t,n,r,a=c(u);function u(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgba(255, 255, 255, 1)";return o(this,u),(e=a.call(this,new p.SpriteMaterial({map:new p.Texture})))._text="".concat(t),e._textHeight=n,e._color=r,e._backgroundColor=!1,e._padding=0,e._borderWidth=0,e._borderRadius=0,e._borderColor="white",e._strokeWidth=0,e._strokeColor="white",e._fontFace="Arial",e._fontSize=90,e._fontWeight="normal",e._canvas=document.createElement("canvas"),e._texture=e.material.map,e._texture.minFilter=p.LinearFilter,e._genCanvas(),e}return t=u,(n=[{key:"text",get:function(){return this._text},set:function(e){this._text=e,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(e){this._textHeight=e,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(e){this._color=e,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(e){this._padding=e,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(e){this._borderWidth=e,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(e){this._borderRadius=e,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(e){this._borderColor=e,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(e){this._fontFace=e,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(e){this._fontSize=e,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(e){this._fontWeight=e,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(e){this._strokeWidth=e,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(e){this._strokeColor=e,this._genCanvas()}},{key:"_genCanvas",value:function(){var e=this,t=this._canvas,n=t.getContext("2d"),r=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],o=r.map((function(t){return t*e.fontSize*.1})),i=(Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius]).map((function(t){return t*e.fontSize*.1})),a=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],s=a.map((function(t){return t*e.fontSize*.1})),u=this.text.split("\n"),c="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);n.font=c;var f=Math.max.apply(Math,d(u.map((function(e){return n.measureText(e).width})))),h=this.fontSize*u.length;if(t.width=f+2*o[0]+2*s[0],t.height=h+2*o[1]+2*s[1],this.borderWidth){if(n.strokeStyle=this.borderColor,o[0]){var p=o[0]/2;n.lineWidth=o[0],n.beginPath(),n.moveTo(p,i[0]),n.lineTo(p,t.height-i[3]),n.moveTo(t.width-p,i[1]),n.lineTo(t.width-p,t.height-i[2]),n.stroke()}if(o[1]){var v=o[1]/2;n.lineWidth=o[1],n.beginPath(),n.moveTo(Math.max(o[0],i[0]),v),n.lineTo(t.width-Math.max(o[0],i[1]),v),n.moveTo(Math.max(o[0],i[3]),t.height-v),n.lineTo(t.width-Math.max(o[0],i[2]),t.height-v),n.stroke()}if(this.borderRadius){var m=Math.max.apply(Math,d(o)),g=m/2;n.lineWidth=m,n.beginPath(),[!!i[0]&&[i[0],g,g,i[0]],!!i[1]&&[t.width-i[1],t.width-g,g,i[1]],!!i[2]&&[t.width-i[2],t.width-g,t.height-g,t.height-i[2]],!!i[3]&&[i[3],g,t.height-g,t.height-i[3]]].filter((function(e){return e})).forEach((function(e){var t=l(e,4),r=t[0],o=t[1],i=t[2],a=t[3];n.moveTo(r,i),n.quadraticCurveTo(o,i,o,a)})),n.stroke()}}this.backgroundColor&&(n.fillStyle=this.backgroundColor,this.borderRadius?(n.beginPath(),n.moveTo(o[0],i[0]),[[o[0],i[0],t.width-i[1],o[1],o[1],o[1]],[t.width-o[0],t.width-o[0],t.width-o[0],o[1],i[1],t.height-i[2]],[t.width-o[0],t.width-i[2],i[3],t.height-o[1],t.height-o[1],t.height-o[1]],[o[0],o[0],o[0],t.height-o[1],t.height-i[3],i[0]]].forEach((function(e){var t=l(e,6),r=t[0],o=t[1],i=t[2],a=t[3],s=t[4],u=t[5];n.quadraticCurveTo(r,a,o,s),n.lineTo(i,u)})),n.closePath(),n.fill()):n.fillRect(o[0],o[1],t.width-2*o[0],t.height-2*o[1])),n.translate.apply(n,d(o)),n.translate.apply(n,d(s)),n.font=c,n.fillStyle=this.color,n.textBaseline="bottom";var y=this.strokeWidth>0;y&&(n.lineWidth=this.strokeWidth*this.fontSize/10,n.strokeStyle=this.strokeColor),u.forEach((function(t,r){var o=(f-n.measureText(t).width)/2,i=(r+1)*e.fontSize;y&&n.strokeText(t,o,i),n.fillText(t,o,i)})),this._texture.image=t,this._texture.needsUpdate=!0;var b=this.textHeight*u.length+2*r[1]+2*a[1];this.scale.set(b*t.width/t.height,b,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(e){return p.Sprite.prototype.copy.call(this,e),this.color=e.color,this.backgroundColor=e.backgroundColor,this.padding=e.padding,this.borderWidth=e.borderWidth,this.borderColor=e.borderColor,this.fontFace=e.fontFace,this.fontSize=e.fontSize,this.fontWeight=e.fontWeight,this.strokeWidth=e.strokeWidth,this.strokeColor=e.strokeColor,this}}])&&i(t.prototype,n),r&&i(t,r),u}(p.Sprite);t.Z=v},6189:function(e,t,n){var r=n(7966);e.exports=function(e){return r(e).replace(/\s(\w)/g,(function(e,t){return t.toUpperCase()}))}},71788:function(e){e.exports=function(e){return t.test(e)?e.toLowerCase():n.test(e)?(function(e){return e.replace(o,(function(e,t){return t?" "+t:""}))}(e)||e).toLowerCase():r.test(e)?function(e){return e.replace(i,(function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")}))}(e).toLowerCase():e.toLowerCase()};var t=/\s/,n=/(_|-|\.|:)/,r=/([a-z][A-Z]|[A-Z][a-z])/;var o=/[\W_]+(.|$)/g;var i=/(.)([A-Z]+)/g},7966:function(e,t,n){var r=n(71788);e.exports=function(e){return r(e).replace(/[\W_]+(.|$)/g,(function(e,t){return t?" "+t:""})).trim()}},11742:function(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}},70655:function(e,t,n){"use strict";n.r(t),n.d(t,{__extends:function(){return o},__assign:function(){return i},__rest:function(){return a},__decorate:function(){return s},__param:function(){return u},__metadata:function(){return c},__awaiter:function(){return l},__generator:function(){return d},__createBinding:function(){return f},__exportStar:function(){return h},__values:function(){return p},__read:function(){return v},__spread:function(){return m},__spreadArrays:function(){return g},__spreadArray:function(){return y},__await:function(){return b},__asyncGenerator:function(){return w},__asyncDelegator:function(){return _},__asyncValues:function(){return x},__makeTemplateObject:function(){return k},__importStar:function(){return O},__importDefault:function(){return C},__classPrivateFieldGet:function(){return T},__classPrivateFieldSet:function(){return M}});var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(t){i(t)}}function s(e){try{u(r.throw(e))}catch(t){i(t)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(s){i=[6,s],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}var f=Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function h(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||f(t,e,n)}function p(e){var t="function"===typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"===typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function g(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function y(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||t)}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{(n=o[e](t)).value instanceof b?Promise.resolve(n.value.v).then(u,c):l(i[0][2],n)}catch(r){l(i[0][3],r)}var n}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:b(e[r](t)),done:"return"===r}:o?o(t):t}:o}}function x(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function k(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&f(t,e,n);return E(t,e),t}function C(e){return e&&e.__esModule?e:{default:e}}function T(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function M(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}}}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/4.c9fdfbcb8f8ce1720633.js b/out/_next/static/chunks/4.c9fdfbcb8f8ce1720633.js
index bab1abb..ffea4ff 100644
--- a/out/_next/static/chunks/4.c9fdfbcb8f8ce1720633.js
+++ b/out/_next/static/chunks/4.c9fdfbcb8f8ce1720633.js
@@ -1,254 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [4],
-  {
-    57004: function (n, t, r) {
-      'use strict'
-      r.r(t),
-        r.d(t, {
-          forceCenter: function () {
-            return i.Z
-          },
-          forceCollide: function () {
-            return y
-          },
-          forceLink: function () {
-            return h.Z
-          },
-          forceManyBody: function () {
-            return Z.Z
-          },
-          forceRadial: function () {
-            return g.Z
-          },
-          forceSimulation: function () {
-            return s.Z
-          },
-          forceX: function () {
-            return d
-          },
-          forceY: function () {
-            return p
-          },
-          forceZ: function () {
-            return x
-          },
-        })
-      var i = r(20216),
-        e = r(14275),
-        f = r(60054),
-        u = r(78357),
-        o = r(29437),
-        c = r(8246)
-      function a(n) {
-        return n.x + n.vx
-      }
-      function l(n) {
-        return n.y + n.vy
-      }
-      function v(n) {
-        return n.z + n.vz
-      }
-      function y(n) {
-        var t,
-          r,
-          i,
-          y,
-          h = 1,
-          Z = 1
-        function g() {
-          for (var n, o, g, d, p, x, z, w, A = t.length, N = 0; N < Z; ++N)
-            for (
-              o = (
-                1 === r
-                  ? (0, e.Z)(t, a)
-                  : 2 === r
-                  ? (0, f.Z)(t, a, l)
-                  : 3 === r
-                  ? (0, u.Z)(t, a, l, v)
-                  : null
-              ).visitAfter(s),
-                n = 0;
-              n < A;
-              ++n
-            )
-              (g = t[n]),
-                (z = i[g.index]),
-                (w = z * z),
-                (d = g.x + g.vx),
-                r > 1 && (p = g.y + g.vy),
-                r > 2 && (x = g.z + g.vz),
-                o.visit(k)
-          function k(n, t, i, e, f, u, o) {
-            var a = [t, i, e, f, u, o],
-              l = a[0],
-              v = a[1],
-              Z = a[2],
-              s = a[r],
-              A = a[r + 1],
-              N = a[r + 2],
-              k = n.data,
-              C = n.r,
-              M = z + C
-            if (!k)
-              return (
-                l > d + M ||
-                s < d - M ||
-                (r > 1 && (v > p + M || A < p - M)) ||
-                (r > 2 && (Z > x + M || N < x - M))
-              )
-            if (k.index > g.index) {
-              var _ = d - k.x - k.vx,
-                b = r > 1 ? p - k.y - k.vy : 0,
-                m = r > 2 ? x - k.z - k.vz : 0,
-                E = _ * _ + b * b + m * m
-              E < M * M &&
-                (0 === _ && (E += (_ = (0, c.Z)(y)) * _),
-                r > 1 && 0 === b && (E += (b = (0, c.Z)(y)) * b),
-                r > 2 && 0 === m && (E += (m = (0, c.Z)(y)) * m),
-                (E = ((M - (E = Math.sqrt(E))) / E) * h),
-                (g.vx += (_ *= E) * (M = (C *= C) / (w + C))),
-                r > 1 && (g.vy += (b *= E) * M),
-                r > 2 && (g.vz += (m *= E) * M),
-                (k.vx -= _ * (M = 1 - M)),
-                r > 1 && (k.vy -= b * M),
-                r > 2 && (k.vz -= m * M))
-            }
-          }
-        }
-        function s(n) {
-          if (n.data) return (n.r = i[n.data.index])
-          for (var t = (n.r = 0); t < Math.pow(2, r); ++t) n[t] && n[t].r > n.r && (n.r = n[t].r)
-        }
-        function d() {
-          if (t) {
-            var r,
-              e,
-              f = t.length
-            for (i = new Array(f), r = 0; r < f; ++r) (e = t[r]), (i[e.index] = +n(e, r, t))
-          }
-        }
-        return (
-          'function' !== typeof n && (n = (0, o.Z)(null == n ? 1 : +n)),
-          (g.initialize = function (n) {
-            t = n
-            for (var i = arguments.length, e = new Array(i > 1 ? i - 1 : 0), f = 1; f < i; f++)
-              e[f - 1] = arguments[f]
-            ;(y =
-              e.find(function (n) {
-                return 'function' === typeof n
-              }) || Math.random),
-              (r =
-                e.find(function (n) {
-                  return [1, 2, 3].includes(n)
-                }) || 2),
-              d()
-          }),
-          (g.iterations = function (n) {
-            return arguments.length ? ((Z = +n), g) : Z
-          }),
-          (g.strength = function (n) {
-            return arguments.length ? ((h = +n), g) : h
-          }),
-          (g.radius = function (t) {
-            return arguments.length ? ((n = 'function' === typeof t ? t : (0, o.Z)(+t)), d(), g) : n
-          }),
-          g
-        )
-      }
-      var h = r(15560),
-        Z = r(92405),
-        g = r(16917),
-        s = r(54505)
-      function d(n) {
-        var t,
-          r,
-          i,
-          e = (0, o.Z)(0.1)
-        function f(n) {
-          for (var e, f = 0, u = t.length; f < u; ++f) (e = t[f]).vx += (i[f] - e.x) * r[f] * n
-        }
-        function u() {
-          if (t) {
-            var f,
-              u = t.length
-            for (r = new Array(u), i = new Array(u), f = 0; f < u; ++f)
-              r[f] = isNaN((i[f] = +n(t[f], f, t))) ? 0 : +e(t[f], f, t)
-          }
-        }
-        return (
-          'function' !== typeof n && (n = (0, o.Z)(null == n ? 0 : +n)),
-          (f.initialize = function (n) {
-            ;(t = n), u()
-          }),
-          (f.strength = function (n) {
-            return arguments.length ? ((e = 'function' === typeof n ? n : (0, o.Z)(+n)), u(), f) : e
-          }),
-          (f.x = function (t) {
-            return arguments.length ? ((n = 'function' === typeof t ? t : (0, o.Z)(+t)), u(), f) : n
-          }),
-          f
-        )
-      }
-      function p(n) {
-        var t,
-          r,
-          i,
-          e = (0, o.Z)(0.1)
-        function f(n) {
-          for (var e, f = 0, u = t.length; f < u; ++f) (e = t[f]).vy += (i[f] - e.y) * r[f] * n
-        }
-        function u() {
-          if (t) {
-            var f,
-              u = t.length
-            for (r = new Array(u), i = new Array(u), f = 0; f < u; ++f)
-              r[f] = isNaN((i[f] = +n(t[f], f, t))) ? 0 : +e(t[f], f, t)
-          }
-        }
-        return (
-          'function' !== typeof n && (n = (0, o.Z)(null == n ? 0 : +n)),
-          (f.initialize = function (n) {
-            ;(t = n), u()
-          }),
-          (f.strength = function (n) {
-            return arguments.length ? ((e = 'function' === typeof n ? n : (0, o.Z)(+n)), u(), f) : e
-          }),
-          (f.y = function (t) {
-            return arguments.length ? ((n = 'function' === typeof t ? t : (0, o.Z)(+t)), u(), f) : n
-          }),
-          f
-        )
-      }
-      function x(n) {
-        var t,
-          r,
-          i,
-          e = (0, o.Z)(0.1)
-        function f(n) {
-          for (var e, f = 0, u = t.length; f < u; ++f) (e = t[f]).vz += (i[f] - e.z) * r[f] * n
-        }
-        function u() {
-          if (t) {
-            var f,
-              u = t.length
-            for (r = new Array(u), i = new Array(u), f = 0; f < u; ++f)
-              r[f] = isNaN((i[f] = +n(t[f], f, t))) ? 0 : +e(t[f], f, t)
-          }
-        }
-        return (
-          'function' !== typeof n && (n = (0, o.Z)(null == n ? 0 : +n)),
-          (f.initialize = function (n) {
-            ;(t = n), u()
-          }),
-          (f.strength = function (n) {
-            return arguments.length ? ((e = 'function' === typeof n ? n : (0, o.Z)(+n)), u(), f) : e
-          }),
-          (f.z = function (t) {
-            return arguments.length ? ((n = 'function' === typeof t ? t : (0, o.Z)(+t)), u(), f) : n
-          }),
-          f
-        )
-      }
-    },
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4],{57004:function(n,t,r){"use strict";r.r(t),r.d(t,{forceCenter:function(){return i.Z},forceCollide:function(){return y},forceLink:function(){return h.Z},forceManyBody:function(){return Z.Z},forceRadial:function(){return g.Z},forceSimulation:function(){return s.Z},forceX:function(){return d},forceY:function(){return p},forceZ:function(){return x}});var i=r(20216),e=r(14275),f=r(60054),u=r(78357),o=r(29437),c=r(8246);function a(n){return n.x+n.vx}function l(n){return n.y+n.vy}function v(n){return n.z+n.vz}function y(n){var t,r,i,y,h=1,Z=1;function g(){for(var n,o,g,d,p,x,z,w,A=t.length,N=0;N<Z;++N)for(o=(1===r?(0,e.Z)(t,a):2===r?(0,f.Z)(t,a,l):3===r?(0,u.Z)(t,a,l,v):null).visitAfter(s),n=0;n<A;++n)g=t[n],z=i[g.index],w=z*z,d=g.x+g.vx,r>1&&(p=g.y+g.vy),r>2&&(x=g.z+g.vz),o.visit(k);function k(n,t,i,e,f,u,o){var a=[t,i,e,f,u,o],l=a[0],v=a[1],Z=a[2],s=a[r],A=a[r+1],N=a[r+2],k=n.data,C=n.r,M=z+C;if(!k)return l>d+M||s<d-M||r>1&&(v>p+M||A<p-M)||r>2&&(Z>x+M||N<x-M);if(k.index>g.index){var _=d-k.x-k.vx,b=r>1?p-k.y-k.vy:0,m=r>2?x-k.z-k.vz:0,E=_*_+b*b+m*m;E<M*M&&(0===_&&(E+=(_=(0,c.Z)(y))*_),r>1&&0===b&&(E+=(b=(0,c.Z)(y))*b),r>2&&0===m&&(E+=(m=(0,c.Z)(y))*m),E=(M-(E=Math.sqrt(E)))/E*h,g.vx+=(_*=E)*(M=(C*=C)/(w+C)),r>1&&(g.vy+=(b*=E)*M),r>2&&(g.vz+=(m*=E)*M),k.vx-=_*(M=1-M),r>1&&(k.vy-=b*M),r>2&&(k.vz-=m*M))}}}function s(n){if(n.data)return n.r=i[n.data.index];for(var t=n.r=0;t<Math.pow(2,r);++t)n[t]&&n[t].r>n.r&&(n.r=n[t].r)}function d(){if(t){var r,e,f=t.length;for(i=new Array(f),r=0;r<f;++r)e=t[r],i[e.index]=+n(e,r,t)}}return"function"!==typeof n&&(n=(0,o.Z)(null==n?1:+n)),g.initialize=function(n){t=n;for(var i=arguments.length,e=new Array(i>1?i-1:0),f=1;f<i;f++)e[f-1]=arguments[f];y=e.find((function(n){return"function"===typeof n}))||Math.random,r=e.find((function(n){return[1,2,3].includes(n)}))||2,d()},g.iterations=function(n){return arguments.length?(Z=+n,g):Z},g.strength=function(n){return arguments.length?(h=+n,g):h},g.radius=function(t){return arguments.length?(n="function"===typeof t?t:(0,o.Z)(+t),d(),g):n},g}var h=r(15560),Z=r(92405),g=r(16917),s=r(54505);function d(n){var t,r,i,e=(0,o.Z)(.1);function f(n){for(var e,f=0,u=t.length;f<u;++f)(e=t[f]).vx+=(i[f]-e.x)*r[f]*n}function u(){if(t){var f,u=t.length;for(r=new Array(u),i=new Array(u),f=0;f<u;++f)r[f]=isNaN(i[f]=+n(t[f],f,t))?0:+e(t[f],f,t)}}return"function"!==typeof n&&(n=(0,o.Z)(null==n?0:+n)),f.initialize=function(n){t=n,u()},f.strength=function(n){return arguments.length?(e="function"===typeof n?n:(0,o.Z)(+n),u(),f):e},f.x=function(t){return arguments.length?(n="function"===typeof t?t:(0,o.Z)(+t),u(),f):n},f}function p(n){var t,r,i,e=(0,o.Z)(.1);function f(n){for(var e,f=0,u=t.length;f<u;++f)(e=t[f]).vy+=(i[f]-e.y)*r[f]*n}function u(){if(t){var f,u=t.length;for(r=new Array(u),i=new Array(u),f=0;f<u;++f)r[f]=isNaN(i[f]=+n(t[f],f,t))?0:+e(t[f],f,t)}}return"function"!==typeof n&&(n=(0,o.Z)(null==n?0:+n)),f.initialize=function(n){t=n,u()},f.strength=function(n){return arguments.length?(e="function"===typeof n?n:(0,o.Z)(+n),u(),f):e},f.y=function(t){return arguments.length?(n="function"===typeof t?t:(0,o.Z)(+t),u(),f):n},f}function x(n){var t,r,i,e=(0,o.Z)(.1);function f(n){for(var e,f=0,u=t.length;f<u;++f)(e=t[f]).vz+=(i[f]-e.z)*r[f]*n}function u(){if(t){var f,u=t.length;for(r=new Array(u),i=new Array(u),f=0;f<u;++f)r[f]=isNaN(i[f]=+n(t[f],f,t))?0:+e(t[f],f,t)}}return"function"!==typeof n&&(n=(0,o.Z)(null==n?0:+n)),f.initialize=function(n){t=n,u()},f.strength=function(n){return arguments.length?(e="function"===typeof n?n:(0,o.Z)(+n),u(),f):e},f.z=function(t){return arguments.length?(n="function"===typeof t?t:(0,o.Z)(+t),u(),f):n},f}}}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js b/out/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js
index cfa0349..c321f01 100644
--- a/out/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js
+++ b/out/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js
@@ -1,56346 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [446],
-  {
-    75569: function (t, n, r) {
-      t.exports = (function () {
-        var t
-        return (function () {
-          function e(t, n, r) {
-            function i(a, s) {
-              if (!n[a]) {
-                if (!t[a]) {
-                  if (o) return o(a, !0)
-                  var l = new Error("Cannot find module '" + a + "'")
-                  throw ((l.code = 'MODULE_NOT_FOUND'), l)
-                }
-                var c = (n[a] = { exports: {} })
-                t[a][0].call(
-                  c.exports,
-                  function (e) {
-                    return i(t[a][1][e] || e)
-                  },
-                  c,
-                  c.exports,
-                  e,
-                  t,
-                  n,
-                  r,
-                )
-              }
-              return n[a].exports
-            }
-            for (var o = void 0, a = 0; a < r.length; a++) i(r[a])
-            return i
-          }
-          return e
-        })()(
-          {
-            1: [
-              function (e, t, n) {
-                var r = Object.prototype.toString
-                function i(e) {
-                  return (
-                    (e.BYTES_PER_ELEMENT && '[object ArrayBuffer]' === r.call(e.buffer)) ||
-                    Array.isArray(e)
-                  )
-                }
-                t.exports = i
-              },
-              {},
-            ],
-            2: [
-              function (e, t, n) {
-                t.exports = function (e, t) {
-                  return 'number' === typeof e ? e : 'number' === typeof t ? t : 0
-                }
-              },
-              {},
-            ],
-            3: [
-              function (e, t, n) {
-                'use strict'
-                ;(n.byteLength = u), (n.toByteArray = d), (n.fromByteArray = m)
-                for (
-                  var r = [],
-                    i = [],
-                    o = 'undefined' !== typeof Uint8Array ? Uint8Array : Array,
-                    a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
-                    s = 0,
-                    l = a.length;
-                  s < l;
-                  ++s
-                )
-                  (r[s] = a[s]), (i[a.charCodeAt(s)] = s)
-                function c(e) {
-                  var t = e.length
-                  if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4')
-                  var n = e.indexOf('=')
-                  return -1 === n && (n = t), [n, n === t ? 0 : 4 - (n % 4)]
-                }
-                function u(e) {
-                  var t = c(e),
-                    n = t[0],
-                    r = t[1]
-                  return (3 * (n + r)) / 4 - r
-                }
-                function h(e, t, n) {
-                  return (3 * (t + n)) / 4 - n
-                }
-                function d(e) {
-                  for (
-                    var t,
-                      n = c(e),
-                      r = n[0],
-                      a = n[1],
-                      s = new o(h(e, r, a)),
-                      l = 0,
-                      u = a > 0 ? r - 4 : r,
-                      d = 0;
-                    d < u;
-                    d += 4
-                  )
-                    (t =
-                      (i[e.charCodeAt(d)] << 18) |
-                      (i[e.charCodeAt(d + 1)] << 12) |
-                      (i[e.charCodeAt(d + 2)] << 6) |
-                      i[e.charCodeAt(d + 3)]),
-                      (s[l++] = (t >> 16) & 255),
-                      (s[l++] = (t >> 8) & 255),
-                      (s[l++] = 255 & t)
-                  return (
-                    2 === a &&
-                      ((t = (i[e.charCodeAt(d)] << 2) | (i[e.charCodeAt(d + 1)] >> 4)),
-                      (s[l++] = 255 & t)),
-                    1 === a &&
-                      ((t =
-                        (i[e.charCodeAt(d)] << 10) |
-                        (i[e.charCodeAt(d + 1)] << 4) |
-                        (i[e.charCodeAt(d + 2)] >> 2)),
-                      (s[l++] = (t >> 8) & 255),
-                      (s[l++] = 255 & t)),
-                    s
-                  )
-                }
-                function p(e) {
-                  return r[(e >> 18) & 63] + r[(e >> 12) & 63] + r[(e >> 6) & 63] + r[63 & e]
-                }
-                function f(e, t, n) {
-                  for (var r, i = [], o = t; o < n; o += 3)
-                    (r = ((e[o] << 16) & 16711680) + ((e[o + 1] << 8) & 65280) + (255 & e[o + 2])),
-                      i.push(p(r))
-                  return i.join('')
-                }
-                function m(e) {
-                  for (
-                    var t, n = e.length, i = n % 3, o = [], a = 16383, s = 0, l = n - i;
-                    s < l;
-                    s += a
-                  )
-                    o.push(f(e, s, s + a > l ? l : s + a))
-                  return (
-                    1 === i
-                      ? ((t = e[n - 1]), o.push(r[t >> 2] + r[(t << 4) & 63] + '=='))
-                      : 2 === i &&
-                        ((t = (e[n - 2] << 8) + e[n - 1]),
-                        o.push(r[t >> 10] + r[(t >> 4) & 63] + r[(t << 2) & 63] + '=')),
-                    o.join('')
-                  )
-                }
-                ;(i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63)
-              },
-              {},
-            ],
-            4: [
-              function (e, t, n) {
-                'use strict'
-                t.exports = {
-                  createLink: function (e, t) {
-                    var n = document.head || document.getElementsByTagName('head')[0],
-                      r = document.createElement('link')
-                    for (var i in ((r.href = e), (r.rel = 'stylesheet'), t))
-                      if (t.hasOwnProperty(i)) {
-                        var o = t[i]
-                        r.setAttribute('data-' + i, o)
-                      }
-                    n.appendChild(r)
-                  },
-                  createStyle: function (e, t) {
-                    var n = document.head || document.getElementsByTagName('head')[0],
-                      r = document.createElement('style')
-                    for (var i in ((r.type = 'text/css'), t))
-                      if (t.hasOwnProperty(i)) {
-                        var o = t[i]
-                        r.setAttribute('data-' + i, o)
-                      }
-                    r.sheet
-                      ? ((r.innerHTML = e), (r.sheet.cssText = e), n.appendChild(r))
-                      : r.styleSheet
-                      ? (n.appendChild(r), (r.styleSheet.cssText = e))
-                      : (r.appendChild(document.createTextNode(e)), n.appendChild(r))
-                  },
-                }
-              },
-              {},
-            ],
-            5: [
-              function (e, t, n) {
-                var r = e('buffer').Buffer
-                t.exports = function (e, t) {
-                  if (r.isBuffer(e) && r.isBuffer(t)) {
-                    if ('function' === typeof e.equals) return e.equals(t)
-                    if (e.length !== t.length) return !1
-                    for (var n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1
-                    return !0
-                  }
-                }
-              },
-              { buffer: 6 },
-            ],
-            6: [
-              function (t, n, i) {
-                ;(function (n, r) {
-                  'use strict'
-                  var o = t('base64-js'),
-                    a = t('ieee754'),
-                    s = t('isarray')
-                  function l() {
-                    try {
-                      var t = new Uint8Array(1)
-                      return (
-                        (t.__proto__ = {
-                          __proto__: Uint8Array.prototype,
-                          foo: function () {
-                            return 42
-                          },
-                        }),
-                        42 === t.foo() &&
-                          'function' === typeof t.subarray &&
-                          0 === t.subarray(1, 1).byteLength
-                      )
-                    } catch (e) {
-                      return !1
-                    }
-                  }
-                  function c() {
-                    return r.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
-                  }
-                  function u(e, t) {
-                    if (c() < t) throw new RangeError('Invalid typed array length')
-                    return (
-                      r.TYPED_ARRAY_SUPPORT
-                        ? ((e = new Uint8Array(t)).__proto__ = r.prototype)
-                        : (null === e && (e = new r(t)), (e.length = t)),
-                      e
-                    )
-                  }
-                  function r(e, t, n) {
-                    if (!r.TYPED_ARRAY_SUPPORT && !(this instanceof r)) return new r(e, t, n)
-                    if ('number' === typeof e) {
-                      if ('string' === typeof t)
-                        throw new Error(
-                          'If encoding is specified then the first argument must be a string',
-                        )
-                      return f(this, e)
-                    }
-                    return h(this, e, t, n)
-                  }
-                  function h(e, t, n, r) {
-                    if ('number' === typeof t)
-                      throw new TypeError('"value" argument must not be a number')
-                    return 'undefined' !== typeof ArrayBuffer && t instanceof ArrayBuffer
-                      ? g(e, t, n, r)
-                      : 'string' === typeof t
-                      ? m(e, t, n)
-                      : y(e, t)
-                  }
-                  function d(e) {
-                    if ('number' !== typeof e)
-                      throw new TypeError('"size" argument must be a number')
-                    if (e < 0) throw new RangeError('"size" argument must not be negative')
-                  }
-                  function p(e, t, n, r) {
-                    return (
-                      d(t),
-                      t <= 0
-                        ? u(e, t)
-                        : void 0 !== n
-                        ? 'string' === typeof r
-                          ? u(e, t).fill(n, r)
-                          : u(e, t).fill(n)
-                        : u(e, t)
-                    )
-                  }
-                  function f(e, t) {
-                    if ((d(t), (e = u(e, t < 0 ? 0 : 0 | b(t))), !r.TYPED_ARRAY_SUPPORT))
-                      for (var n = 0; n < t; ++n) e[n] = 0
-                    return e
-                  }
-                  function m(e, t, n) {
-                    if ((('string' === typeof n && '' !== n) || (n = 'utf8'), !r.isEncoding(n)))
-                      throw new TypeError('"encoding" must be a valid string encoding')
-                    var i = 0 | w(t, n),
-                      o = (e = u(e, i)).write(t, n)
-                    return o !== i && (e = e.slice(0, o)), e
-                  }
-                  function v(e, t) {
-                    var n = t.length < 0 ? 0 : 0 | b(t.length)
-                    e = u(e, n)
-                    for (var r = 0; r < n; r += 1) e[r] = 255 & t[r]
-                    return e
-                  }
-                  function g(e, t, n, i) {
-                    if ((t.byteLength, n < 0 || t.byteLength < n))
-                      throw new RangeError("'offset' is out of bounds")
-                    if (t.byteLength < n + (i || 0))
-                      throw new RangeError("'length' is out of bounds")
-                    return (
-                      (t =
-                        void 0 === n && void 0 === i
-                          ? new Uint8Array(t)
-                          : void 0 === i
-                          ? new Uint8Array(t, n)
-                          : new Uint8Array(t, n, i)),
-                      r.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = r.prototype) : (e = v(e, t)),
-                      e
-                    )
-                  }
-                  function y(e, t) {
-                    if (r.isBuffer(t)) {
-                      var n = 0 | b(t.length)
-                      return 0 === (e = u(e, n)).length || t.copy(e, 0, 0, n), e
-                    }
-                    if (t) {
-                      if (
-                        ('undefined' !== typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) ||
-                        'length' in t
-                      )
-                        return 'number' !== typeof t.length || ne(t.length) ? u(e, 0) : v(e, t)
-                      if ('Buffer' === t.type && s(t.data)) return v(e, t.data)
-                    }
-                    throw new TypeError(
-                      'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',
-                    )
-                  }
-                  function b(e) {
-                    if (e >= c())
-                      throw new RangeError(
-                        'Attempt to allocate Buffer larger than maximum size: 0x' +
-                          c().toString(16) +
-                          ' bytes',
-                      )
-                    return 0 | e
-                  }
-                  function A(e) {
-                    return +e != e && (e = 0), r.alloc(+e)
-                  }
-                  function w(e, t) {
-                    if (r.isBuffer(e)) return e.length
-                    if (
-                      'undefined' !== typeof ArrayBuffer &&
-                      'function' === typeof ArrayBuffer.isView &&
-                      (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)
-                    )
-                      return e.byteLength
-                    'string' !== typeof e && (e = '' + e)
-                    var n = e.length
-                    if (0 === n) return 0
-                    for (var i = !1; ; )
-                      switch (t) {
-                        case 'ascii':
-                        case 'latin1':
-                        case 'binary':
-                          return n
-                        case 'utf8':
-                        case 'utf-8':
-                        case void 0:
-                          return K(e).length
-                        case 'ucs2':
-                        case 'ucs-2':
-                        case 'utf16le':
-                        case 'utf-16le':
-                          return 2 * n
-                        case 'hex':
-                          return n >>> 1
-                        case 'base64':
-                          return ee(e).length
-                        default:
-                          if (i) return K(e).length
-                          ;(t = ('' + t).toLowerCase()), (i = !0)
-                      }
-                  }
-                  function x(e, t, n) {
-                    var r = !1
-                    if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return ''
-                    if (((void 0 === n || n > this.length) && (n = this.length), n <= 0)) return ''
-                    if ((n >>>= 0) <= (t >>>= 0)) return ''
-                    for (e || (e = 'utf8'); ; )
-                      switch (e) {
-                        case 'hex':
-                          return N(this, t, n)
-                        case 'utf8':
-                        case 'utf-8':
-                          return O(this, t, n)
-                        case 'ascii':
-                          return F(this, t, n)
-                        case 'latin1':
-                        case 'binary':
-                          return k(this, t, n)
-                        case 'base64':
-                          return D(this, t, n)
-                        case 'ucs2':
-                        case 'ucs-2':
-                        case 'utf16le':
-                        case 'utf-16le':
-                          return U(this, t, n)
-                        default:
-                          if (r) throw new TypeError('Unknown encoding: ' + e)
-                          ;(e = (e + '').toLowerCase()), (r = !0)
-                      }
-                  }
-                  function E(e, t, n) {
-                    var r = e[t]
-                    ;(e[t] = e[n]), (e[n] = r)
-                  }
-                  function M(e, t, n, i, o) {
-                    if (0 === e.length) return -1
-                    if (
-                      ('string' === typeof n
-                        ? ((i = n), (n = 0))
-                        : n > 2147483647
-                        ? (n = 2147483647)
-                        : n < -2147483648 && (n = -2147483648),
-                      (n = +n),
-                      isNaN(n) && (n = o ? 0 : e.length - 1),
-                      n < 0 && (n = e.length + n),
-                      n >= e.length)
-                    ) {
-                      if (o) return -1
-                      n = e.length - 1
-                    } else if (n < 0) {
-                      if (!o) return -1
-                      n = 0
-                    }
-                    if (('string' === typeof t && (t = r.from(t, i)), r.isBuffer(t)))
-                      return 0 === t.length ? -1 : _(e, t, n, i, o)
-                    if ('number' === typeof t)
-                      return (
-                        (t &= 255),
-                        r.TYPED_ARRAY_SUPPORT && 'function' === typeof Uint8Array.prototype.indexOf
-                          ? o
-                            ? Uint8Array.prototype.indexOf.call(e, t, n)
-                            : Uint8Array.prototype.lastIndexOf.call(e, t, n)
-                          : _(e, [t], n, i, o)
-                      )
-                    throw new TypeError('val must be string, number or Buffer')
-                  }
-                  function _(e, t, n, r, i) {
-                    var o,
-                      a = 1,
-                      s = e.length,
-                      l = t.length
-                    if (
-                      void 0 !== r &&
-                      ('ucs2' === (r = String(r).toLowerCase()) ||
-                        'ucs-2' === r ||
-                        'utf16le' === r ||
-                        'utf-16le' === r)
-                    ) {
-                      if (e.length < 2 || t.length < 2) return -1
-                      ;(a = 2), (s /= 2), (l /= 2), (n /= 2)
-                    }
-                    function c(e, t) {
-                      return 1 === a ? e[t] : e.readUInt16BE(t * a)
-                    }
-                    if (i) {
-                      var u = -1
-                      for (o = n; o < s; o++)
-                        if (c(e, o) === c(t, -1 === u ? 0 : o - u)) {
-                          if ((-1 === u && (u = o), o - u + 1 === l)) return u * a
-                        } else -1 !== u && (o -= o - u), (u = -1)
-                    } else
-                      for (n + l > s && (n = s - l), o = n; o >= 0; o--) {
-                        for (var h = !0, d = 0; d < l; d++)
-                          if (c(e, o + d) !== c(t, d)) {
-                            h = !1
-                            break
-                          }
-                        if (h) return o
-                      }
-                    return -1
-                  }
-                  function T(e, t, n, r) {
-                    n = Number(n) || 0
-                    var i = e.length - n
-                    r ? (r = Number(r)) > i && (r = i) : (r = i)
-                    var o = t.length
-                    if (o % 2 !== 0) throw new TypeError('Invalid hex string')
-                    r > o / 2 && (r = o / 2)
-                    for (var a = 0; a < r; ++a) {
-                      var s = parseInt(t.substr(2 * a, 2), 16)
-                      if (isNaN(s)) return a
-                      e[n + a] = s
-                    }
-                    return a
-                  }
-                  function S(e, t, n, r) {
-                    return te(K(t, e.length - n), e, n, r)
-                  }
-                  function C(e, t, n, r) {
-                    return te(J(t), e, n, r)
-                  }
-                  function L(e, t, n, r) {
-                    return C(e, t, n, r)
-                  }
-                  function R(e, t, n, r) {
-                    return te(ee(t), e, n, r)
-                  }
-                  function P(e, t, n, r) {
-                    return te($(t, e.length - n), e, n, r)
-                  }
-                  function D(e, t, n) {
-                    return 0 === t && n === e.length
-                      ? o.fromByteArray(e)
-                      : o.fromByteArray(e.slice(t, n))
-                  }
-                  function O(e, t, n) {
-                    n = Math.min(e.length, n)
-                    for (var r = [], i = t; i < n; ) {
-                      var o,
-                        a,
-                        s,
-                        l,
-                        c = e[i],
-                        u = null,
-                        h = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1
-                      if (i + h <= n)
-                        switch (h) {
-                          case 1:
-                            c < 128 && (u = c)
-                            break
-                          case 2:
-                            128 === (192 & (o = e[i + 1])) &&
-                              (l = ((31 & c) << 6) | (63 & o)) > 127 &&
-                              (u = l)
-                            break
-                          case 3:
-                            ;(o = e[i + 1]),
-                              (a = e[i + 2]),
-                              128 === (192 & o) &&
-                                128 === (192 & a) &&
-                                (l = ((15 & c) << 12) | ((63 & o) << 6) | (63 & a)) > 2047 &&
-                                (l < 55296 || l > 57343) &&
-                                (u = l)
-                            break
-                          case 4:
-                            ;(o = e[i + 1]),
-                              (a = e[i + 2]),
-                              (s = e[i + 3]),
-                              128 === (192 & o) &&
-                                128 === (192 & a) &&
-                                128 === (192 & s) &&
-                                (l =
-                                  ((15 & c) << 18) |
-                                  ((63 & o) << 12) |
-                                  ((63 & a) << 6) |
-                                  (63 & s)) > 65535 &&
-                                l < 1114112 &&
-                                (u = l)
-                        }
-                      null === u
-                        ? ((u = 65533), (h = 1))
-                        : u > 65535 &&
-                          ((u -= 65536),
-                          r.push(((u >>> 10) & 1023) | 55296),
-                          (u = 56320 | (1023 & u))),
-                        r.push(u),
-                        (i += h)
-                    }
-                    return B(r)
-                  }
-                  ;(i.Buffer = r),
-                    (i.SlowBuffer = A),
-                    (i.INSPECT_MAX_BYTES = 50),
-                    (r.TYPED_ARRAY_SUPPORT =
-                      void 0 !== n.TYPED_ARRAY_SUPPORT ? n.TYPED_ARRAY_SUPPORT : l()),
-                    (i.kMaxLength = c()),
-                    (r.poolSize = 8192),
-                    (r._augment = function (e) {
-                      return (e.__proto__ = r.prototype), e
-                    }),
-                    (r.from = function (e, t, n) {
-                      return h(null, e, t, n)
-                    }),
-                    r.TYPED_ARRAY_SUPPORT &&
-                      ((r.prototype.__proto__ = Uint8Array.prototype),
-                      (r.__proto__ = Uint8Array),
-                      'undefined' !== typeof Symbol &&
-                        Symbol.species &&
-                        r[Symbol.species] === r &&
-                        Object.defineProperty(r, Symbol.species, {
-                          value: null,
-                          configurable: !0,
-                        })),
-                    (r.alloc = function (e, t, n) {
-                      return p(null, e, t, n)
-                    }),
-                    (r.allocUnsafe = function (e) {
-                      return f(null, e)
-                    }),
-                    (r.allocUnsafeSlow = function (e) {
-                      return f(null, e)
-                    }),
-                    (r.isBuffer = function (e) {
-                      return !(null == e || !e._isBuffer)
-                    }),
-                    (r.compare = function (e, t) {
-                      if (!r.isBuffer(e) || !r.isBuffer(t))
-                        throw new TypeError('Arguments must be Buffers')
-                      if (e === t) return 0
-                      for (var n = e.length, i = t.length, o = 0, a = Math.min(n, i); o < a; ++o)
-                        if (e[o] !== t[o]) {
-                          ;(n = e[o]), (i = t[o])
-                          break
-                        }
-                      return n < i ? -1 : i < n ? 1 : 0
-                    }),
-                    (r.isEncoding = function (e) {
-                      switch (String(e).toLowerCase()) {
-                        case 'hex':
-                        case 'utf8':
-                        case 'utf-8':
-                        case 'ascii':
-                        case 'latin1':
-                        case 'binary':
-                        case 'base64':
-                        case 'ucs2':
-                        case 'ucs-2':
-                        case 'utf16le':
-                        case 'utf-16le':
-                          return !0
-                        default:
-                          return !1
-                      }
-                    }),
-                    (r.concat = function (e, t) {
-                      if (!s(e)) throw new TypeError('"list" argument must be an Array of Buffers')
-                      if (0 === e.length) return r.alloc(0)
-                      var n
-                      if (void 0 === t) for (t = 0, n = 0; n < e.length; ++n) t += e[n].length
-                      var i = r.allocUnsafe(t),
-                        o = 0
-                      for (n = 0; n < e.length; ++n) {
-                        var a = e[n]
-                        if (!r.isBuffer(a))
-                          throw new TypeError('"list" argument must be an Array of Buffers')
-                        a.copy(i, o), (o += a.length)
-                      }
-                      return i
-                    }),
-                    (r.byteLength = w),
-                    (r.prototype._isBuffer = !0),
-                    (r.prototype.swap16 = function () {
-                      var e = this.length
-                      if (e % 2 !== 0)
-                        throw new RangeError('Buffer size must be a multiple of 16-bits')
-                      for (var t = 0; t < e; t += 2) E(this, t, t + 1)
-                      return this
-                    }),
-                    (r.prototype.swap32 = function () {
-                      var e = this.length
-                      if (e % 4 !== 0)
-                        throw new RangeError('Buffer size must be a multiple of 32-bits')
-                      for (var t = 0; t < e; t += 4) E(this, t, t + 3), E(this, t + 1, t + 2)
-                      return this
-                    }),
-                    (r.prototype.swap64 = function () {
-                      var e = this.length
-                      if (e % 8 !== 0)
-                        throw new RangeError('Buffer size must be a multiple of 64-bits')
-                      for (var t = 0; t < e; t += 8)
-                        E(this, t, t + 7),
-                          E(this, t + 1, t + 6),
-                          E(this, t + 2, t + 5),
-                          E(this, t + 3, t + 4)
-                      return this
-                    }),
-                    (r.prototype.toString = function () {
-                      var e = 0 | this.length
-                      return 0 === e
-                        ? ''
-                        : 0 === arguments.length
-                        ? O(this, 0, e)
-                        : x.apply(this, arguments)
-                    }),
-                    (r.prototype.equals = function (e) {
-                      if (!r.isBuffer(e)) throw new TypeError('Argument must be a Buffer')
-                      return this === e || 0 === r.compare(this, e)
-                    }),
-                    (r.prototype.inspect = function () {
-                      var e = '',
-                        t = i.INSPECT_MAX_BYTES
-                      return (
-                        this.length > 0 &&
-                          ((e = this.toString('hex', 0, t).match(/.{2}/g).join(' ')),
-                          this.length > t && (e += ' ... ')),
-                        '<Buffer ' + e + '>'
-                      )
-                    }),
-                    (r.prototype.compare = function (e, t, n, i, o) {
-                      if (!r.isBuffer(e)) throw new TypeError('Argument must be a Buffer')
-                      if (
-                        (void 0 === t && (t = 0),
-                        void 0 === n && (n = e ? e.length : 0),
-                        void 0 === i && (i = 0),
-                        void 0 === o && (o = this.length),
-                        t < 0 || n > e.length || i < 0 || o > this.length)
-                      )
-                        throw new RangeError('out of range index')
-                      if (i >= o && t >= n) return 0
-                      if (i >= o) return -1
-                      if (t >= n) return 1
-                      if (this === e) return 0
-                      for (
-                        var a = (o >>>= 0) - (i >>>= 0),
-                          s = (n >>>= 0) - (t >>>= 0),
-                          l = Math.min(a, s),
-                          c = this.slice(i, o),
-                          u = e.slice(t, n),
-                          h = 0;
-                        h < l;
-                        ++h
-                      )
-                        if (c[h] !== u[h]) {
-                          ;(a = c[h]), (s = u[h])
-                          break
-                        }
-                      return a < s ? -1 : s < a ? 1 : 0
-                    }),
-                    (r.prototype.includes = function (e, t, n) {
-                      return -1 !== this.indexOf(e, t, n)
-                    }),
-                    (r.prototype.indexOf = function (e, t, n) {
-                      return M(this, e, t, n, !0)
-                    }),
-                    (r.prototype.lastIndexOf = function (e, t, n) {
-                      return M(this, e, t, n, !1)
-                    }),
-                    (r.prototype.write = function (e, t, n, r) {
-                      if (void 0 === t) (r = 'utf8'), (n = this.length), (t = 0)
-                      else if (void 0 === n && 'string' === typeof t)
-                        (r = t), (n = this.length), (t = 0)
-                      else {
-                        if (!isFinite(t))
-                          throw new Error(
-                            'Buffer.write(string, encoding, offset[, length]) is no longer supported',
-                          )
-                        ;(t |= 0),
-                          isFinite(n)
-                            ? ((n |= 0), void 0 === r && (r = 'utf8'))
-                            : ((r = n), (n = void 0))
-                      }
-                      var i = this.length - t
-                      if (
-                        ((void 0 === n || n > i) && (n = i),
-                        (e.length > 0 && (n < 0 || t < 0)) || t > this.length)
-                      )
-                        throw new RangeError('Attempt to write outside buffer bounds')
-                      r || (r = 'utf8')
-                      for (var o = !1; ; )
-                        switch (r) {
-                          case 'hex':
-                            return T(this, e, t, n)
-                          case 'utf8':
-                          case 'utf-8':
-                            return S(this, e, t, n)
-                          case 'ascii':
-                            return C(this, e, t, n)
-                          case 'latin1':
-                          case 'binary':
-                            return L(this, e, t, n)
-                          case 'base64':
-                            return R(this, e, t, n)
-                          case 'ucs2':
-                          case 'ucs-2':
-                          case 'utf16le':
-                          case 'utf-16le':
-                            return P(this, e, t, n)
-                          default:
-                            if (o) throw new TypeError('Unknown encoding: ' + r)
-                            ;(r = ('' + r).toLowerCase()), (o = !0)
-                        }
-                    }),
-                    (r.prototype.toJSON = function () {
-                      return {
-                        type: 'Buffer',
-                        data: Array.prototype.slice.call(this._arr || this, 0),
-                      }
-                    })
-                  var I = 4096
-                  function B(e) {
-                    var t = e.length
-                    if (t <= I) return String.fromCharCode.apply(String, e)
-                    for (var n = '', r = 0; r < t; )
-                      n += String.fromCharCode.apply(String, e.slice(r, (r += I)))
-                    return n
-                  }
-                  function F(e, t, n) {
-                    var r = ''
-                    n = Math.min(e.length, n)
-                    for (var i = t; i < n; ++i) r += String.fromCharCode(127 & e[i])
-                    return r
-                  }
-                  function k(e, t, n) {
-                    var r = ''
-                    n = Math.min(e.length, n)
-                    for (var i = t; i < n; ++i) r += String.fromCharCode(e[i])
-                    return r
-                  }
-                  function N(e, t, n) {
-                    var r = e.length
-                    ;(!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r)
-                    for (var i = '', o = t; o < n; ++o) i += Z(e[o])
-                    return i
-                  }
-                  function U(e, t, n) {
-                    for (var r = e.slice(t, n), i = '', o = 0; o < r.length; o += 2)
-                      i += String.fromCharCode(r[o] + 256 * r[o + 1])
-                    return i
-                  }
-                  function H(e, t, n) {
-                    if (e % 1 !== 0 || e < 0) throw new RangeError('offset is not uint')
-                    if (e + t > n) throw new RangeError('Trying to access beyond buffer length')
-                  }
-                  function G(e, t, n, i, o, a) {
-                    if (!r.isBuffer(e))
-                      throw new TypeError('"buffer" argument must be a Buffer instance')
-                    if (t > o || t < a) throw new RangeError('"value" argument is out of bounds')
-                    if (n + i > e.length) throw new RangeError('Index out of range')
-                  }
-                  function z(e, t, n, r) {
-                    t < 0 && (t = 65535 + t + 1)
-                    for (var i = 0, o = Math.min(e.length - n, 2); i < o; ++i)
-                      e[n + i] = (t & (255 << (8 * (r ? i : 1 - i)))) >>> (8 * (r ? i : 1 - i))
-                  }
-                  function j(e, t, n, r) {
-                    t < 0 && (t = 4294967295 + t + 1)
-                    for (var i = 0, o = Math.min(e.length - n, 4); i < o; ++i)
-                      e[n + i] = (t >>> (8 * (r ? i : 3 - i))) & 255
-                  }
-                  function V(e, t, n, r, i, o) {
-                    if (n + r > e.length) throw new RangeError('Index out of range')
-                    if (n < 0) throw new RangeError('Index out of range')
-                  }
-                  function W(e, t, n, r, i) {
-                    return (
-                      i || V(e, t, n, 4, 34028234663852886e22, -34028234663852886e22),
-                      a.write(e, t, n, r, 23, 4),
-                      n + 4
-                    )
-                  }
-                  function q(e, t, n, r, i) {
-                    return (
-                      i || V(e, t, n, 8, 17976931348623157e292, -17976931348623157e292),
-                      a.write(e, t, n, r, 52, 8),
-                      n + 8
-                    )
-                  }
-                  ;(r.prototype.slice = function (e, t) {
-                    var n,
-                      i = this.length
-                    if (
-                      ((e = ~~e) < 0 ? (e += i) < 0 && (e = 0) : e > i && (e = i),
-                      (t = void 0 === t ? i : ~~t) < 0 ? (t += i) < 0 && (t = 0) : t > i && (t = i),
-                      t < e && (t = e),
-                      r.TYPED_ARRAY_SUPPORT)
-                    )
-                      (n = this.subarray(e, t)).__proto__ = r.prototype
-                    else {
-                      var o = t - e
-                      n = new r(o, void 0)
-                      for (var a = 0; a < o; ++a) n[a] = this[a + e]
-                    }
-                    return n
-                  }),
-                    (r.prototype.readUIntLE = function (e, t, n) {
-                      ;(e |= 0), (t |= 0), n || H(e, t, this.length)
-                      for (var r = this[e], i = 1, o = 0; ++o < t && (i *= 256); )
-                        r += this[e + o] * i
-                      return r
-                    }),
-                    (r.prototype.readUIntBE = function (e, t, n) {
-                      ;(e |= 0), (t |= 0), n || H(e, t, this.length)
-                      for (var r = this[e + --t], i = 1; t > 0 && (i *= 256); )
-                        r += this[e + --t] * i
-                      return r
-                    }),
-                    (r.prototype.readUInt8 = function (e, t) {
-                      return t || H(e, 1, this.length), this[e]
-                    }),
-                    (r.prototype.readUInt16LE = function (e, t) {
-                      return t || H(e, 2, this.length), this[e] | (this[e + 1] << 8)
-                    }),
-                    (r.prototype.readUInt16BE = function (e, t) {
-                      return t || H(e, 2, this.length), (this[e] << 8) | this[e + 1]
-                    }),
-                    (r.prototype.readUInt32LE = function (e, t) {
-                      return (
-                        t || H(e, 4, this.length),
-                        (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) +
-                          16777216 * this[e + 3]
-                      )
-                    }),
-                    (r.prototype.readUInt32BE = function (e, t) {
-                      return (
-                        t || H(e, 4, this.length),
-                        16777216 * this[e] +
-                          ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3])
-                      )
-                    }),
-                    (r.prototype.readIntLE = function (e, t, n) {
-                      ;(e |= 0), (t |= 0), n || H(e, t, this.length)
-                      for (var r = this[e], i = 1, o = 0; ++o < t && (i *= 256); )
-                        r += this[e + o] * i
-                      return r >= (i *= 128) && (r -= Math.pow(2, 8 * t)), r
-                    }),
-                    (r.prototype.readIntBE = function (e, t, n) {
-                      ;(e |= 0), (t |= 0), n || H(e, t, this.length)
-                      for (var r = t, i = 1, o = this[e + --r]; r > 0 && (i *= 256); )
-                        o += this[e + --r] * i
-                      return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o
-                    }),
-                    (r.prototype.readInt8 = function (e, t) {
-                      return (
-                        t || H(e, 1, this.length),
-                        128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
-                      )
-                    }),
-                    (r.prototype.readInt16LE = function (e, t) {
-                      t || H(e, 2, this.length)
-                      var n = this[e] | (this[e + 1] << 8)
-                      return 32768 & n ? 4294901760 | n : n
-                    }),
-                    (r.prototype.readInt16BE = function (e, t) {
-                      t || H(e, 2, this.length)
-                      var n = this[e + 1] | (this[e] << 8)
-                      return 32768 & n ? 4294901760 | n : n
-                    }),
-                    (r.prototype.readInt32LE = function (e, t) {
-                      return (
-                        t || H(e, 4, this.length),
-                        this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24)
-                      )
-                    }),
-                    (r.prototype.readInt32BE = function (e, t) {
-                      return (
-                        t || H(e, 4, this.length),
-                        (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]
-                      )
-                    }),
-                    (r.prototype.readFloatLE = function (e, t) {
-                      return t || H(e, 4, this.length), a.read(this, e, !0, 23, 4)
-                    }),
-                    (r.prototype.readFloatBE = function (e, t) {
-                      return t || H(e, 4, this.length), a.read(this, e, !1, 23, 4)
-                    }),
-                    (r.prototype.readDoubleLE = function (e, t) {
-                      return t || H(e, 8, this.length), a.read(this, e, !0, 52, 8)
-                    }),
-                    (r.prototype.readDoubleBE = function (e, t) {
-                      return t || H(e, 8, this.length), a.read(this, e, !1, 52, 8)
-                    }),
-                    (r.prototype.writeUIntLE = function (e, t, n, r) {
-                      ;(e = +e),
-                        (t |= 0),
-                        (n |= 0),
-                        r || G(this, e, t, n, Math.pow(2, 8 * n) - 1, 0)
-                      var i = 1,
-                        o = 0
-                      for (this[t] = 255 & e; ++o < n && (i *= 256); ) this[t + o] = (e / i) & 255
-                      return t + n
-                    }),
-                    (r.prototype.writeUIntBE = function (e, t, n, r) {
-                      ;(e = +e),
-                        (t |= 0),
-                        (n |= 0),
-                        r || G(this, e, t, n, Math.pow(2, 8 * n) - 1, 0)
-                      var i = n - 1,
-                        o = 1
-                      for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); )
-                        this[t + i] = (e / o) & 255
-                      return t + n
-                    }),
-                    (r.prototype.writeUInt8 = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 1, 255, 0),
-                        r.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
-                        (this[t] = 255 & e),
-                        t + 1
-                      )
-                    }),
-                    (r.prototype.writeUInt16LE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 2, 65535, 0),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8))
-                          : z(this, e, t, !0),
-                        t + 2
-                      )
-                    }),
-                    (r.prototype.writeUInt16BE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 2, 65535, 0),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e))
-                          : z(this, e, t, !1),
-                        t + 2
-                      )
-                    }),
-                    (r.prototype.writeUInt32LE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 4, 4294967295, 0),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t + 3] = e >>> 24),
-                            (this[t + 2] = e >>> 16),
-                            (this[t + 1] = e >>> 8),
-                            (this[t] = 255 & e))
-                          : j(this, e, t, !0),
-                        t + 4
-                      )
-                    }),
-                    (r.prototype.writeUInt32BE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 4, 4294967295, 0),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = e >>> 24),
-                            (this[t + 1] = e >>> 16),
-                            (this[t + 2] = e >>> 8),
-                            (this[t + 3] = 255 & e))
-                          : j(this, e, t, !1),
-                        t + 4
-                      )
-                    }),
-                    (r.prototype.writeIntLE = function (e, t, n, r) {
-                      if (((e = +e), (t |= 0), !r)) {
-                        var i = Math.pow(2, 8 * n - 1)
-                        G(this, e, t, n, i - 1, -i)
-                      }
-                      var o = 0,
-                        a = 1,
-                        s = 0
-                      for (this[t] = 255 & e; ++o < n && (a *= 256); )
-                        e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1),
-                          (this[t + o] = (((e / a) >> 0) - s) & 255)
-                      return t + n
-                    }),
-                    (r.prototype.writeIntBE = function (e, t, n, r) {
-                      if (((e = +e), (t |= 0), !r)) {
-                        var i = Math.pow(2, 8 * n - 1)
-                        G(this, e, t, n, i - 1, -i)
-                      }
-                      var o = n - 1,
-                        a = 1,
-                        s = 0
-                      for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); )
-                        e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1),
-                          (this[t + o] = (((e / a) >> 0) - s) & 255)
-                      return t + n
-                    }),
-                    (r.prototype.writeInt8 = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 1, 127, -128),
-                        r.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
-                        e < 0 && (e = 255 + e + 1),
-                        (this[t] = 255 & e),
-                        t + 1
-                      )
-                    }),
-                    (r.prototype.writeInt16LE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 2, 32767, -32768),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8))
-                          : z(this, e, t, !0),
-                        t + 2
-                      )
-                    }),
-                    (r.prototype.writeInt16BE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 2, 32767, -32768),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e))
-                          : z(this, e, t, !1),
-                        t + 2
-                      )
-                    }),
-                    (r.prototype.writeInt32LE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 4, 2147483647, -2147483648),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = 255 & e),
-                            (this[t + 1] = e >>> 8),
-                            (this[t + 2] = e >>> 16),
-                            (this[t + 3] = e >>> 24))
-                          : j(this, e, t, !0),
-                        t + 4
-                      )
-                    }),
-                    (r.prototype.writeInt32BE = function (e, t, n) {
-                      return (
-                        (e = +e),
-                        (t |= 0),
-                        n || G(this, e, t, 4, 2147483647, -2147483648),
-                        e < 0 && (e = 4294967295 + e + 1),
-                        r.TYPED_ARRAY_SUPPORT
-                          ? ((this[t] = e >>> 24),
-                            (this[t + 1] = e >>> 16),
-                            (this[t + 2] = e >>> 8),
-                            (this[t + 3] = 255 & e))
-                          : j(this, e, t, !1),
-                        t + 4
-                      )
-                    }),
-                    (r.prototype.writeFloatLE = function (e, t, n) {
-                      return W(this, e, t, !0, n)
-                    }),
-                    (r.prototype.writeFloatBE = function (e, t, n) {
-                      return W(this, e, t, !1, n)
-                    }),
-                    (r.prototype.writeDoubleLE = function (e, t, n) {
-                      return q(this, e, t, !0, n)
-                    }),
-                    (r.prototype.writeDoubleBE = function (e, t, n) {
-                      return q(this, e, t, !1, n)
-                    }),
-                    (r.prototype.copy = function (e, t, n, i) {
-                      if (
-                        (n || (n = 0),
-                        i || 0 === i || (i = this.length),
-                        t >= e.length && (t = e.length),
-                        t || (t = 0),
-                        i > 0 && i < n && (i = n),
-                        i === n)
-                      )
-                        return 0
-                      if (0 === e.length || 0 === this.length) return 0
-                      if (t < 0) throw new RangeError('targetStart out of bounds')
-                      if (n < 0 || n >= this.length)
-                        throw new RangeError('sourceStart out of bounds')
-                      if (i < 0) throw new RangeError('sourceEnd out of bounds')
-                      i > this.length && (i = this.length),
-                        e.length - t < i - n && (i = e.length - t + n)
-                      var o,
-                        a = i - n
-                      if (this === e && n < t && t < i)
-                        for (o = a - 1; o >= 0; --o) e[o + t] = this[o + n]
-                      else if (a < 1e3 || !r.TYPED_ARRAY_SUPPORT)
-                        for (o = 0; o < a; ++o) e[o + t] = this[o + n]
-                      else Uint8Array.prototype.set.call(e, this.subarray(n, n + a), t)
-                      return a
-                    }),
-                    (r.prototype.fill = function (e, t, n, i) {
-                      if ('string' === typeof e) {
-                        if (
-                          ('string' === typeof t
-                            ? ((i = t), (t = 0), (n = this.length))
-                            : 'string' === typeof n && ((i = n), (n = this.length)),
-                          1 === e.length)
-                        ) {
-                          var o = e.charCodeAt(0)
-                          o < 256 && (e = o)
-                        }
-                        if (void 0 !== i && 'string' !== typeof i)
-                          throw new TypeError('encoding must be a string')
-                        if ('string' === typeof i && !r.isEncoding(i))
-                          throw new TypeError('Unknown encoding: ' + i)
-                      } else 'number' === typeof e && (e &= 255)
-                      if (t < 0 || this.length < t || this.length < n)
-                        throw new RangeError('Out of range index')
-                      if (n <= t) return this
-                      var a
-                      if (
-                        ((t >>>= 0),
-                        (n = void 0 === n ? this.length : n >>> 0),
-                        e || (e = 0),
-                        'number' === typeof e)
-                      )
-                        for (a = t; a < n; ++a) this[a] = e
-                      else {
-                        var s = r.isBuffer(e) ? e : K(new r(e, i).toString()),
-                          l = s.length
-                        for (a = 0; a < n - t; ++a) this[a + t] = s[a % l]
-                      }
-                      return this
-                    })
-                  var X = /[^+\/0-9A-Za-z-_]/g
-                  function Y(e) {
-                    if ((e = Q(e).replace(X, '')).length < 2) return ''
-                    for (; e.length % 4 !== 0; ) e += '='
-                    return e
-                  }
-                  function Q(e) {
-                    return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, '')
-                  }
-                  function Z(e) {
-                    return e < 16 ? '0' + e.toString(16) : e.toString(16)
-                  }
-                  function K(e, t) {
-                    var n
-                    t = t || 1 / 0
-                    for (var r = e.length, i = null, o = [], a = 0; a < r; ++a) {
-                      if ((n = e.charCodeAt(a)) > 55295 && n < 57344) {
-                        if (!i) {
-                          if (n > 56319) {
-                            ;(t -= 3) > -1 && o.push(239, 191, 189)
-                            continue
-                          }
-                          if (a + 1 === r) {
-                            ;(t -= 3) > -1 && o.push(239, 191, 189)
-                            continue
-                          }
-                          i = n
-                          continue
-                        }
-                        if (n < 56320) {
-                          ;(t -= 3) > -1 && o.push(239, 191, 189), (i = n)
-                          continue
-                        }
-                        n = 65536 + (((i - 55296) << 10) | (n - 56320))
-                      } else i && (t -= 3) > -1 && o.push(239, 191, 189)
-                      if (((i = null), n < 128)) {
-                        if ((t -= 1) < 0) break
-                        o.push(n)
-                      } else if (n < 2048) {
-                        if ((t -= 2) < 0) break
-                        o.push((n >> 6) | 192, (63 & n) | 128)
-                      } else if (n < 65536) {
-                        if ((t -= 3) < 0) break
-                        o.push((n >> 12) | 224, ((n >> 6) & 63) | 128, (63 & n) | 128)
-                      } else {
-                        if (!(n < 1114112)) throw new Error('Invalid code point')
-                        if ((t -= 4) < 0) break
-                        o.push(
-                          (n >> 18) | 240,
-                          ((n >> 12) & 63) | 128,
-                          ((n >> 6) & 63) | 128,
-                          (63 & n) | 128,
-                        )
-                      }
-                    }
-                    return o
-                  }
-                  function J(e) {
-                    for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n))
-                    return t
-                  }
-                  function $(e, t) {
-                    for (var n, r, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a)
-                      (r = (n = e.charCodeAt(a)) >> 8), (i = n % 256), o.push(i), o.push(r)
-                    return o
-                  }
-                  function ee(e) {
-                    return o.toByteArray(Y(e))
-                  }
-                  function te(e, t, n, r) {
-                    for (var i = 0; i < r && !(i + n >= t.length || i >= e.length); ++i)
-                      t[i + n] = e[i]
-                    return i
-                  }
-                  function ne(e) {
-                    return e !== e
-                  }
-                }.call(
-                  this,
-                  'undefined' !== typeof r.g
-                    ? r.g
-                    : 'undefined' !== typeof self
-                    ? self
-                    : 'undefined' !== typeof window
-                    ? window
-                    : {},
-                  t('buffer').Buffer,
-                ))
-              },
-              { 'base64-js': 3, buffer: 6, ieee754: 29, isarray: 35 },
-            ],
-            7: [
-              function (t, n, r) {
-                !(function () {
-                  if ('undefined' !== typeof window)
-                    try {
-                      var t = new window.CustomEvent('test', { cancelable: !0 })
-                      if ((t.preventDefault(), !0 !== t.defaultPrevented))
-                        throw new Error('Could not prevent default')
-                    } catch (e) {
-                      var n = function (e, n) {
-                        var r, i
-                        return (
-                          ((n = n || {}).bubbles = !!n.bubbles),
-                          (n.cancelable = !!n.cancelable),
-                          (r = document.createEvent('CustomEvent')).initCustomEvent(
-                            e,
-                            n.bubbles,
-                            n.cancelable,
-                            n.detail,
-                          ),
-                          (i = r.preventDefault),
-                          (r.preventDefault = function () {
-                            i.call(this)
-                            try {
-                              Object.defineProperty(this, 'defaultPrevented', {
-                                get: function () {
-                                  return !0
-                                },
-                              })
-                            } catch (t) {
-                              this.defaultPrevented = !0
-                            }
-                          }),
-                          r
-                        )
-                      }
-                      ;(n.prototype = window.Event.prototype), (window.CustomEvent = n)
-                    }
-                })()
-              },
-              {},
-            ],
-            8: [
-              function (t, n, r) {
-                function i() {
-                  return (
-                    'WebkitAppearance' in document.documentElement.style ||
-                    (window.console && (console.firebug || (console.exception && console.table))) ||
-                    (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) &&
-                      parseInt(RegExp.$1, 10) >= 31)
-                  )
-                }
-                function o() {
-                  var e = arguments,
-                    t = this.useColors
-                  if (
-                    ((e[0] =
-                      (t ? '%c' : '') +
-                      this.namespace +
-                      (t ? ' %c' : ' ') +
-                      e[0] +
-                      (t ? '%c ' : ' ')),
-                    !t)
-                  )
-                    return e
-                  var n = 'color: ' + this.color
-                  e = [e[0], n, 'color: inherit'].concat(Array.prototype.slice.call(e, 1))
-                  var r = 0,
-                    i = 0
-                  return (
-                    e[0].replace(/%[a-z%]/g, function (e) {
-                      '%%' !== e && (r++, '%c' === e && (i = r))
-                    }),
-                    e.splice(i, 0, n),
-                    e
-                  )
-                }
-                function a() {
-                  return (
-                    'object' === typeof console &&
-                    console.log &&
-                    Function.prototype.apply.call(console.log, console, arguments)
-                  )
-                }
-                function s(t) {
-                  try {
-                    null == t ? r.storage.removeItem('debug') : (r.storage.debug = t)
-                  } catch (e) {}
-                }
-                function l() {
-                  var t
-                  try {
-                    t = r.storage.debug
-                  } catch (e) {}
-                  return t
-                }
-                function c() {
-                  try {
-                    return window.localStorage
-                  } catch (e) {}
-                }
-                ;((r = n.exports = t('./debug')).log = a),
-                  (r.formatArgs = o),
-                  (r.save = s),
-                  (r.load = l),
-                  (r.useColors = i),
-                  (r.storage =
-                    'undefined' != typeof chrome && 'undefined' != typeof chrome.storage
-                      ? chrome.storage.local
-                      : c()),
-                  (r.colors = [
-                    'lightseagreen',
-                    'forestgreen',
-                    'goldenrod',
-                    'dodgerblue',
-                    'darkorchid',
-                    'crimson',
-                  ]),
-                  (r.formatters.j = function (e) {
-                    return JSON.stringify(e)
-                  }),
-                  r.enable(l())
-              },
-              { './debug': 9 },
-            ],
-            9: [
-              function (e, t, n) {
-                ;((n = t.exports = o).coerce = c),
-                  (n.disable = s),
-                  (n.enable = a),
-                  (n.enabled = l),
-                  (n.names = []),
-                  (n.skips = []),
-                  (n.formatters = {})
-                var r = 0
-                function i() {
-                  return n.colors[r++ % n.colors.length]
-                }
-                function o(e) {
-                  function t() {}
-                  function r() {
-                    var e = r
-                    null == e.useColors && (e.useColors = n.useColors()),
-                      null == e.color && e.useColors && (e.color = i())
-                    var t = Array.prototype.slice.call(arguments)
-                    ;(t[0] = n.coerce(t[0])), 'string' !== typeof t[0] && (t = ['%o'].concat(t))
-                    var o = 0
-                    ;(t[0] = t[0].replace(/%([a-z%])/g, function (r, i) {
-                      if ('%%' === r) return r
-                      o++
-                      var a = n.formatters[i]
-                      if ('function' === typeof a) {
-                        var s = t[o]
-                        ;(r = a.call(e, s)), t.splice(o, 1), o--
-                      }
-                      return r
-                    })),
-                      'function' === typeof n.formatArgs && (t = n.formatArgs.apply(e, t)),
-                      (r.log || n.log || console.log.bind(console)).apply(e, t)
-                  }
-                  ;(t.enabled = !1), (r.enabled = !0)
-                  var o = n.enabled(e) ? r : t
-                  return (o.namespace = e), o
-                }
-                function a(e) {
-                  n.save(e)
-                  for (var t = (e || '').split(/[\s,]+/), r = t.length, i = 0; i < r; i++)
-                    t[i] &&
-                      ('-' === (e = t[i].replace(/\*/g, '.*?'))[0]
-                        ? n.skips.push(new RegExp('^' + e.substr(1) + '$'))
-                        : n.names.push(new RegExp('^' + e + '$')))
-                }
-                function s() {
-                  n.enable('')
-                }
-                function l(e) {
-                  var t, r
-                  for (t = 0, r = n.skips.length; t < r; t++) if (n.skips[t].test(e)) return !1
-                  for (t = 0, r = n.names.length; t < r; t++) if (n.names[t].test(e)) return !0
-                  return !1
-                }
-                function c(e) {
-                  return e instanceof Error ? e.stack || e.message : e
-                }
-              },
-              {},
-            ],
-            10: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('is-obj'),
-                  i = Object.prototype.hasOwnProperty,
-                  o = Object.prototype.propertyIsEnumerable
-                function a(e) {
-                  if (null === e || void 0 === e)
-                    throw new TypeError('Sources cannot be null or undefined')
-                  return Object(e)
-                }
-                function s(e, t, n) {
-                  var o = t[n]
-                  if (void 0 !== o && null !== o) {
-                    if (i.call(e, n) && (void 0 === e[n] || null === e[n]))
-                      throw new TypeError('Cannot convert undefined or null to object (' + n + ')')
-                    i.call(e, n) && r(o) ? (e[n] = l(Object(e[n]), t[n])) : (e[n] = o)
-                  }
-                }
-                function l(e, t) {
-                  if (e === t) return e
-                  for (var n in (t = Object(t))) i.call(t, n) && s(e, t, n)
-                  if (Object.getOwnPropertySymbols)
-                    for (var r = Object.getOwnPropertySymbols(t), a = 0; a < r.length; a++)
-                      o.call(t, r[a]) && s(e, t, r[a])
-                  return e
-                }
-                t.exports = function (e) {
-                  e = a(e)
-                  for (var t = 1; t < arguments.length; t++) l(e, arguments[t])
-                  return e
-                }
-              },
-              { 'is-obj': 34 },
-            ],
-            11: [
-              function (t, n, r) {
-                'use strict'
-                var i = t('object-keys'),
-                  o = 'function' === typeof Symbol && 'symbol' === typeof Symbol('foo'),
-                  a = Object.prototype.toString,
-                  s = Array.prototype.concat,
-                  l = Object.defineProperty,
-                  c = function (e) {
-                    return 'function' === typeof e && '[object Function]' === a.call(e)
-                  },
-                  u = function () {
-                    var t = {}
-                    try {
-                      for (var n in (l(t, 'x', { enumerable: !1, value: t }), t)) return !1
-                      return t.x === t
-                    } catch (e) {
-                      return !1
-                    }
-                  },
-                  h = l && u(),
-                  d = function (e, t, n, r) {
-                    ;(!(t in e) || (c(r) && r())) &&
-                      (h
-                        ? l(e, t, { configurable: !0, enumerable: !1, value: n, writable: !0 })
-                        : (e[t] = n))
-                  },
-                  p = function (e, t) {
-                    var n = arguments.length > 2 ? arguments[2] : {},
-                      r = i(t)
-                    o && (r = s.call(r, Object.getOwnPropertySymbols(t)))
-                    for (var a = 0; a < r.length; a += 1) d(e, r[a], t[r[a]], n[r[a]])
-                  }
-                ;(p.supportsDescriptors = !!h), (n.exports = p)
-              },
-              { 'object-keys': 41 },
-            ],
-            12: [
-              function (t, n, r) {
-                !(function (t, n, r, i) {
-                  'use strict'
-                  function o(e, t) {
-                    for (var n = 0, r = e.length; n < r; n++) g(e[n], t)
-                  }
-                  function a(e) {
-                    for (var t, n = 0, r = e.length; n < r; n++) (t = e[n]), M(t, H[l(t)])
-                  }
-                  function s(e) {
-                    return function (t) {
-                      ie(t) && (g(t, e), o(t.querySelectorAll(G), e))
-                    }
-                  }
-                  function l(e) {
-                    var t = se.call(e, 'is'),
-                      n = e.nodeName.toUpperCase(),
-                      r = j.call(U, t ? F + t.toUpperCase() : B + n)
-                    return t && -1 < r && !c(n, t) ? -1 : r
-                  }
-                  function c(e, t) {
-                    return -1 < G.indexOf(e + '[is="' + t + '"]')
-                  }
-                  function u(e) {
-                    var t = e.currentTarget,
-                      n = e.attrChange,
-                      r = e.attrName,
-                      i = e.target
-                    ge &&
-                      (!i || i === t) &&
-                      t.attributeChangedCallback &&
-                      'style' !== r &&
-                      e.prevValue !== e.newValue &&
-                      t.attributeChangedCallback(
-                        r,
-                        n === e[L] ? null : e.prevValue,
-                        n === e[P] ? null : e.newValue,
-                      )
-                  }
-                  function h(e) {
-                    var t = s(e)
-                    return function (e) {
-                      y.push(t, e.target)
-                    }
-                  }
-                  function d(e) {
-                    ve && ((ve = !1), e.currentTarget.removeEventListener(O, d)),
-                      o((e.target || n).querySelectorAll(G), e.detail === S ? S : T),
-                      re && m()
-                  }
-                  function p(e, t) {
-                    var n = this
-                    le.call(n, e, t), b.call(n, { target: n })
-                  }
-                  function f(e, t) {
-                    ee(e, t),
-                      x
-                        ? x.observe(e, he)
-                        : (me && ((e.setAttribute = p), (e[_] = w(e)), e.addEventListener(I, b)),
-                          e.addEventListener(D, u)),
-                      e.createdCallback &&
-                        ge &&
-                        ((e.created = !0), e.createdCallback(), (e.created = !1))
-                  }
-                  function m() {
-                    for (var e, t = 0, n = oe.length; t < n; t++)
-                      (e = oe[t]), z.contains(e) || (n--, oe.splice(t--, 1), g(e, S))
-                  }
-                  function v(e) {
-                    throw new Error('A ' + e + ' type is already registered')
-                  }
-                  function g(e, t) {
-                    var n,
-                      r = l(e)
-                    ;-1 < r &&
-                      (E(e, H[r]),
-                      (r = 0),
-                      t !== T || e[T]
-                        ? t === S && !e[S] && ((e[T] = !1), (e[S] = !0), (r = 1))
-                        : ((e[S] = !1),
-                          (e[T] = !0),
-                          (r = 1),
-                          re && j.call(oe, e) < 0 && oe.push(e)),
-                      r && (n = e[t + 'Callback']) && n.call(e))
-                  }
-                  if (!(i in n)) {
-                    var y,
-                      b,
-                      A,
-                      w,
-                      x,
-                      E,
-                      M,
-                      _ = '__' + i + ((1e5 * Math.random()) >> 0),
-                      T = 'attached',
-                      S = 'detached',
-                      C = 'extends',
-                      L = 'ADDITION',
-                      R = 'MODIFICATION',
-                      P = 'REMOVAL',
-                      D = 'DOMAttrModified',
-                      O = 'DOMContentLoaded',
-                      I = 'DOMSubtreeModified',
-                      B = '<',
-                      F = '=',
-                      k = /^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,
-                      N = [
-                        'ANNOTATION-XML',
-                        'COLOR-PROFILE',
-                        'FONT-FACE',
-                        'FONT-FACE-SRC',
-                        'FONT-FACE-URI',
-                        'FONT-FACE-FORMAT',
-                        'FONT-FACE-NAME',
-                        'MISSING-GLYPH',
-                      ],
-                      U = [],
-                      H = [],
-                      G = '',
-                      z = n.documentElement,
-                      j =
-                        U.indexOf ||
-                        function (e) {
-                          for (var t = this.length; t-- && this[t] !== e; );
-                          return t
-                        },
-                      V = r.prototype,
-                      W = V.hasOwnProperty,
-                      q = V.isPrototypeOf,
-                      X = r.defineProperty,
-                      Y = r.getOwnPropertyDescriptor,
-                      Q = r.getOwnPropertyNames,
-                      Z = r.getPrototypeOf,
-                      K = r.setPrototypeOf,
-                      J = !!r.__proto__,
-                      $ =
-                        r.create ||
-                        function e(t) {
-                          return t ? ((e.prototype = t), new e()) : this
-                        },
-                      ee =
-                        K ||
-                        (J
-                          ? function (e, t) {
-                              return (e.__proto__ = t), e
-                            }
-                          : Q && Y
-                          ? (function () {
-                              function e(e, t) {
-                                for (var n, r = Q(t), i = 0, o = r.length; i < o; i++)
-                                  (n = r[i]), W.call(e, n) || X(e, n, Y(t, n))
-                              }
-                              return function (t, n) {
-                                do {
-                                  e(t, n)
-                                } while ((n = Z(n)) && !q.call(n, t))
-                                return t
-                              }
-                            })()
-                          : function (e, t) {
-                              for (var n in t) e[n] = t[n]
-                              return e
-                            }),
-                      te = t.MutationObserver || t.WebKitMutationObserver,
-                      ne = (t.HTMLElement || t.Element || t.Node).prototype,
-                      re = !q.call(ne, z),
-                      ie = re
-                        ? function (e) {
-                            return 1 === e.nodeType
-                          }
-                        : function (e) {
-                            return q.call(ne, e)
-                          },
-                      oe = re && [],
-                      ae = ne.cloneNode,
-                      se = ne.getAttribute,
-                      le = ne.setAttribute,
-                      ce = ne.removeAttribute,
-                      ue = n.createElement,
-                      he = te && { attributes: !0, characterData: !0, attributeOldValue: !0 },
-                      de =
-                        te ||
-                        function (e) {
-                          ;(me = !1), z.removeEventListener(D, de)
-                        },
-                      pe =
-                        t.requestAnimationFrame ||
-                        t.webkitRequestAnimationFrame ||
-                        t.mozRequestAnimationFrame ||
-                        t.msRequestAnimationFrame ||
-                        function (e) {
-                          setTimeout(e, 10)
-                        },
-                      fe = !1,
-                      me = !0,
-                      ve = !0,
-                      ge = !0
-                    K || J
-                      ? ((E = function (e, t) {
-                          q.call(t, e) || f(e, t)
-                        }),
-                        (M = f))
-                      : (M = E =
-                          function (e, t) {
-                            e[_] || ((e[_] = r(!0)), f(e, t))
-                          }),
-                      re
-                        ? ((me = !1),
-                          (function () {
-                            var t = Y(ne, 'addEventListener'),
-                              n = t.value,
-                              r = function (e) {
-                                var t = new CustomEvent(D, { bubbles: !0 })
-                                ;(t.attrName = e),
-                                  (t.prevValue = se.call(this, e)),
-                                  (t.newValue = null),
-                                  (t[P] = t.attrChange = 2),
-                                  ce.call(this, e),
-                                  this.dispatchEvent(t)
-                              },
-                              i = function (t, n) {
-                                var r = this.hasAttribute(t),
-                                  i = r && se.call(this, t)
-                                ;(e = new CustomEvent(D, { bubbles: !0 })),
-                                  le.call(this, t, n),
-                                  (e.attrName = t),
-                                  (e.prevValue = r ? i : null),
-                                  (e.newValue = n),
-                                  r ? (e[R] = e.attrChange = 1) : (e[L] = e.attrChange = 0),
-                                  this.dispatchEvent(e)
-                              },
-                              o = function (e) {
-                                var t,
-                                  n = e.currentTarget,
-                                  r = n[_],
-                                  i = e.propertyName
-                                r.hasOwnProperty(i) &&
-                                  ((r = r[i]),
-                                  ((t = new CustomEvent(D, { bubbles: !0 })).attrName = r.name),
-                                  (t.prevValue = r.value || null),
-                                  (t.newValue = r.value = n[i] || null),
-                                  null == t.prevValue
-                                    ? (t[L] = t.attrChange = 0)
-                                    : (t[R] = t.attrChange = 1),
-                                  n.dispatchEvent(t))
-                              }
-                            ;(t.value = function (e, t, a) {
-                              e === D &&
-                                this.attributeChangedCallback &&
-                                this.setAttribute !== i &&
-                                ((this[_] = {
-                                  className: { name: 'class', value: this.className },
-                                }),
-                                (this.setAttribute = i),
-                                (this.removeAttribute = r),
-                                n.call(this, 'propertychange', o)),
-                                n.call(this, e, t, a)
-                            }),
-                              X(ne, 'addEventListener', t)
-                          })())
-                        : te ||
-                          (z.addEventListener(D, de),
-                          z.setAttribute(_, 1),
-                          z.removeAttribute(_),
-                          me &&
-                            ((b = function (e) {
-                              var t,
-                                n,
-                                r,
-                                i = this
-                              if (i === e.target) {
-                                for (r in ((t = i[_]), (i[_] = n = w(i)), n)) {
-                                  if (!(r in t)) return A(0, i, r, t[r], n[r], L)
-                                  if (n[r] !== t[r]) return A(1, i, r, t[r], n[r], R)
-                                }
-                                for (r in t) if (!(r in n)) return A(2, i, r, t[r], n[r], P)
-                              }
-                            }),
-                            (A = function (e, t, n, r, i, o) {
-                              var a = {
-                                attrChange: e,
-                                currentTarget: t,
-                                attrName: n,
-                                prevValue: r,
-                                newValue: i,
-                              }
-                              ;(a[o] = e), u(a)
-                            }),
-                            (w = function (e) {
-                              for (
-                                var t, n, r = {}, i = e.attributes, o = 0, a = i.length;
-                                o < a;
-                                o++
-                              )
-                                'setAttribute' !== (n = (t = i[o]).name) && (r[n] = t.value)
-                              return r
-                            }))),
-                      (n[i] = function (e, t) {
-                        if (
-                          ((r = e.toUpperCase()),
-                          fe ||
-                            ((fe = !0),
-                            te
-                              ? (x = (function (e, t) {
-                                  function n(e, t) {
-                                    for (var n = 0, r = e.length; n < r; t(e[n++]));
-                                  }
-                                  return new te(function (r) {
-                                    for (var i, o, a, s = 0, l = r.length; s < l; s++)
-                                      'childList' === (i = r[s]).type
-                                        ? (n(i.addedNodes, e), n(i.removedNodes, t))
-                                        : ((o = i.target),
-                                          ge &&
-                                            o.attributeChangedCallback &&
-                                            'style' !== i.attributeName &&
-                                            (a = se.call(o, i.attributeName)) !== i.oldValue &&
-                                            o.attributeChangedCallback(
-                                              i.attributeName,
-                                              i.oldValue,
-                                              a,
-                                            ))
-                                  })
-                                })(s(T), s(S))).observe(n, { childList: !0, subtree: !0 })
-                              : ((y = []),
-                                pe(function e() {
-                                  for (; y.length; ) y.shift().call(null, y.shift())
-                                  pe(e)
-                                }),
-                                n.addEventListener('DOMNodeInserted', h(T)),
-                                n.addEventListener('DOMNodeRemoved', h(S))),
-                            n.addEventListener(O, d),
-                            n.addEventListener('readystatechange', d),
-                            (n.createElement = function (e, t) {
-                              var r = ue.apply(n, arguments),
-                                i = '' + e,
-                                o = j.call(U, (t ? F : B) + (t || i).toUpperCase()),
-                                a = -1 < o
-                              return (
-                                t &&
-                                  (r.setAttribute('is', (t = t.toLowerCase())),
-                                  a && (a = c(i.toUpperCase(), t))),
-                                (ge = !n.createElement.innerHTMLHelper),
-                                a && M(r, H[o]),
-                                r
-                              )
-                            }),
-                            (ne.cloneNode = function (e) {
-                              var t = ae.call(this, !!e),
-                                n = l(t)
-                              return -1 < n && M(t, H[n]), e && a(t.querySelectorAll(G)), t
-                            })),
-                          -2 < j.call(U, F + r) + j.call(U, B + r) && v(e),
-                          !k.test(r) || -1 < j.call(N, r))
-                        )
-                          throw new Error('The type ' + e + ' is invalid')
-                        var r,
-                          i,
-                          u = function () {
-                            return f ? n.createElement(m, r) : n.createElement(m)
-                          },
-                          p = t || V,
-                          f = W.call(p, C),
-                          m = f ? t[C].toUpperCase() : r
-                        return (
-                          f && -1 < j.call(U, B + m) && v(m),
-                          (i = U.push((f ? F : B) + r) - 1),
-                          (G = G.concat(
-                            G.length ? ',' : '',
-                            f ? m + '[is="' + e.toLowerCase() + '"]' : m,
-                          )),
-                          (u.prototype = H[i] = W.call(p, 'prototype') ? p.prototype : $(ne)),
-                          o(n.querySelectorAll(G), T),
-                          u
-                        )
-                      })
-                  }
-                })(window, document, Object, 'registerElement')
-              },
-              {},
-            ],
-            13: [
-              function (e, t, n) {
-                t.exports = function (e) {
-                  switch (e) {
-                    case 'int8':
-                      return Int8Array
-                    case 'int16':
-                      return Int16Array
-                    case 'int32':
-                      return Int32Array
-                    case 'uint8':
-                      return Uint8Array
-                    case 'uint16':
-                      return Uint16Array
-                    case 'uint32':
-                      return Uint32Array
-                    case 'float32':
-                      return Float32Array
-                    case 'float64':
-                      return Float64Array
-                    case 'array':
-                      return Array
-                    case 'uint8_clamped':
-                      return Uint8ClampedArray
-                  }
-                }
-              },
-              {},
-            ],
-            14: [
-              function (e, t, n) {
-                'use strict'
-                var r,
-                  i,
-                  o,
-                  a,
-                  s = Object.getOwnPropertyDescriptor
-                    ? (function () {
-                        return Object.getOwnPropertyDescriptor(arguments, 'callee').get
-                      })()
-                    : function () {
-                        throw new TypeError()
-                      },
-                  l = 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator,
-                  c =
-                    Object.getPrototypeOf ||
-                    function (e) {
-                      return e.__proto__
-                    },
-                  u = i ? c(i) : r,
-                  h = o ? o.constructor : r,
-                  d = a ? c(a) : r,
-                  p = a ? a() : r,
-                  f = 'undefined' === typeof Uint8Array ? r : c(Uint8Array),
-                  m = {
-                    '$ %Array%': Array,
-                    '$ %ArrayBuffer%': 'undefined' === typeof ArrayBuffer ? r : ArrayBuffer,
-                    '$ %ArrayBufferPrototype%':
-                      'undefined' === typeof ArrayBuffer ? r : ArrayBuffer.prototype,
-                    '$ %ArrayIteratorPrototype%': l ? c([][Symbol.iterator]()) : r,
-                    '$ %ArrayPrototype%': Array.prototype,
-                    '$ %ArrayProto_entries%': Array.prototype.entries,
-                    '$ %ArrayProto_forEach%': Array.prototype.forEach,
-                    '$ %ArrayProto_keys%': Array.prototype.keys,
-                    '$ %ArrayProto_values%': Array.prototype.values,
-                    '$ %AsyncFromSyncIteratorPrototype%': r,
-                    '$ %AsyncFunction%': h,
-                    '$ %AsyncFunctionPrototype%': h ? h.prototype : r,
-                    '$ %AsyncGenerator%': a ? c(p) : r,
-                    '$ %AsyncGeneratorFunction%': d,
-                    '$ %AsyncGeneratorPrototype%': d ? d.prototype : r,
-                    '$ %AsyncIteratorPrototype%':
-                      p && l && Symbol.asyncIterator ? p[Symbol.asyncIterator]() : r,
-                    '$ %Atomics%': 'undefined' === typeof Atomics ? r : Atomics,
-                    '$ %Boolean%': Boolean,
-                    '$ %BooleanPrototype%': Boolean.prototype,
-                    '$ %DataView%': 'undefined' === typeof DataView ? r : DataView,
-                    '$ %DataViewPrototype%':
-                      'undefined' === typeof DataView ? r : DataView.prototype,
-                    '$ %Date%': Date,
-                    '$ %DatePrototype%': Date.prototype,
-                    '$ %decodeURI%': decodeURI,
-                    '$ %decodeURIComponent%': decodeURIComponent,
-                    '$ %encodeURI%': encodeURI,
-                    '$ %encodeURIComponent%': encodeURIComponent,
-                    '$ %Error%': Error,
-                    '$ %ErrorPrototype%': Error.prototype,
-                    '$ %eval%': eval,
-                    '$ %EvalError%': EvalError,
-                    '$ %EvalErrorPrototype%': EvalError.prototype,
-                    '$ %Float32Array%': 'undefined' === typeof Float32Array ? r : Float32Array,
-                    '$ %Float32ArrayPrototype%':
-                      'undefined' === typeof Float32Array ? r : Float32Array.prototype,
-                    '$ %Float64Array%': 'undefined' === typeof Float64Array ? r : Float64Array,
-                    '$ %Float64ArrayPrototype%':
-                      'undefined' === typeof Float64Array ? r : Float64Array.prototype,
-                    '$ %Function%': Function,
-                    '$ %FunctionPrototype%': Function.prototype,
-                    '$ %Generator%': i ? c(i()) : r,
-                    '$ %GeneratorFunction%': u,
-                    '$ %GeneratorPrototype%': u ? u.prototype : r,
-                    '$ %Int8Array%': 'undefined' === typeof Int8Array ? r : Int8Array,
-                    '$ %Int8ArrayPrototype%':
-                      'undefined' === typeof Int8Array ? r : Int8Array.prototype,
-                    '$ %Int16Array%': 'undefined' === typeof Int16Array ? r : Int16Array,
-                    '$ %Int16ArrayPrototype%':
-                      'undefined' === typeof Int16Array ? r : Int8Array.prototype,
-                    '$ %Int32Array%': 'undefined' === typeof Int32Array ? r : Int32Array,
-                    '$ %Int32ArrayPrototype%':
-                      'undefined' === typeof Int32Array ? r : Int32Array.prototype,
-                    '$ %isFinite%': isFinite,
-                    '$ %isNaN%': isNaN,
-                    '$ %IteratorPrototype%': l ? c(c([][Symbol.iterator]())) : r,
-                    '$ %JSON%': JSON,
-                    '$ %JSONParse%': JSON.parse,
-                    '$ %Map%': 'undefined' === typeof Map ? r : Map,
-                    '$ %MapIteratorPrototype%':
-                      'undefined' !== typeof Map && l ? c(new Map()[Symbol.iterator]()) : r,
-                    '$ %MapPrototype%': 'undefined' === typeof Map ? r : Map.prototype,
-                    '$ %Math%': Math,
-                    '$ %Number%': Number,
-                    '$ %NumberPrototype%': Number.prototype,
-                    '$ %Object%': Object,
-                    '$ %ObjectPrototype%': Object.prototype,
-                    '$ %ObjProto_toString%': Object.prototype.toString,
-                    '$ %ObjProto_valueOf%': Object.prototype.valueOf,
-                    '$ %parseFloat%': parseFloat,
-                    '$ %parseInt%': parseInt,
-                    '$ %Promise%': 'undefined' === typeof Promise ? r : Promise,
-                    '$ %PromisePrototype%': 'undefined' === typeof Promise ? r : Promise.prototype,
-                    '$ %PromiseProto_then%':
-                      'undefined' === typeof Promise ? r : Promise.prototype.then,
-                    '$ %Promise_all%': 'undefined' === typeof Promise ? r : Promise.all,
-                    '$ %Promise_reject%': 'undefined' === typeof Promise ? r : Promise.reject,
-                    '$ %Promise_resolve%': 'undefined' === typeof Promise ? r : Promise.resolve,
-                    '$ %Proxy%': 'undefined' === typeof Proxy ? r : Proxy,
-                    '$ %RangeError%': RangeError,
-                    '$ %RangeErrorPrototype%': RangeError.prototype,
-                    '$ %ReferenceError%': ReferenceError,
-                    '$ %ReferenceErrorPrototype%': ReferenceError.prototype,
-                    '$ %Reflect%': 'undefined' === typeof Reflect ? r : Reflect,
-                    '$ %RegExp%': RegExp,
-                    '$ %RegExpPrototype%': RegExp.prototype,
-                    '$ %Set%': 'undefined' === typeof Set ? r : Set,
-                    '$ %SetIteratorPrototype%':
-                      'undefined' !== typeof Set && l ? c(new Set()[Symbol.iterator]()) : r,
-                    '$ %SetPrototype%': 'undefined' === typeof Set ? r : Set.prototype,
-                    '$ %SharedArrayBuffer%':
-                      'undefined' === typeof SharedArrayBuffer ? r : SharedArrayBuffer,
-                    '$ %SharedArrayBufferPrototype%':
-                      'undefined' === typeof SharedArrayBuffer ? r : SharedArrayBuffer.prototype,
-                    '$ %String%': String,
-                    '$ %StringIteratorPrototype%': l ? c(''[Symbol.iterator]()) : r,
-                    '$ %StringPrototype%': String.prototype,
-                    '$ %Symbol%': l ? Symbol : r,
-                    '$ %SymbolPrototype%': l ? Symbol.prototype : r,
-                    '$ %SyntaxError%': SyntaxError,
-                    '$ %SyntaxErrorPrototype%': SyntaxError.prototype,
-                    '$ %ThrowTypeError%': s,
-                    '$ %TypedArray%': f,
-                    '$ %TypedArrayPrototype%': f ? f.prototype : r,
-                    '$ %TypeError%': TypeError,
-                    '$ %TypeErrorPrototype%': TypeError.prototype,
-                    '$ %Uint8Array%': 'undefined' === typeof Uint8Array ? r : Uint8Array,
-                    '$ %Uint8ArrayPrototype%':
-                      'undefined' === typeof Uint8Array ? r : Uint8Array.prototype,
-                    '$ %Uint8ClampedArray%':
-                      'undefined' === typeof Uint8ClampedArray ? r : Uint8ClampedArray,
-                    '$ %Uint8ClampedArrayPrototype%':
-                      'undefined' === typeof Uint8ClampedArray ? r : Uint8ClampedArray.prototype,
-                    '$ %Uint16Array%': 'undefined' === typeof Uint16Array ? r : Uint16Array,
-                    '$ %Uint16ArrayPrototype%':
-                      'undefined' === typeof Uint16Array ? r : Uint16Array.prototype,
-                    '$ %Uint32Array%': 'undefined' === typeof Uint32Array ? r : Uint32Array,
-                    '$ %Uint32ArrayPrototype%':
-                      'undefined' === typeof Uint32Array ? r : Uint32Array.prototype,
-                    '$ %URIError%': URIError,
-                    '$ %URIErrorPrototype%': URIError.prototype,
-                    '$ %WeakMap%': 'undefined' === typeof WeakMap ? r : WeakMap,
-                    '$ %WeakMapPrototype%': 'undefined' === typeof WeakMap ? r : WeakMap.prototype,
-                    '$ %WeakSet%': 'undefined' === typeof WeakSet ? r : WeakSet,
-                    '$ %WeakSetPrototype%': 'undefined' === typeof WeakSet ? r : WeakSet.prototype,
-                  }
-                t.exports = function (e, t) {
-                  if (arguments.length > 1 && 'boolean' !== typeof t)
-                    throw new TypeError('"allowMissing" argument must be a boolean')
-                  var n = '$ ' + e
-                  if (!(n in m)) throw new SyntaxError('intrinsic ' + e + ' does not exist!')
-                  if ('undefined' === typeof m[n] && !t)
-                    throw new TypeError(
-                      'intrinsic ' + e + ' exists, but is not available. Please file an issue!',
-                    )
-                  return m[n]
-                }
-              },
-              {},
-            ],
-            15: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('./GetIntrinsic'),
-                  i = r('%Object%'),
-                  o = r('%TypeError%'),
-                  a = r('%String%'),
-                  s = e('./helpers/assertRecord'),
-                  l = e('./helpers/isNaN'),
-                  c = e('./helpers/isFinite'),
-                  u = e('./helpers/sign'),
-                  h = e('./helpers/mod'),
-                  d = e('is-callable'),
-                  p = e('es-to-primitive/es5'),
-                  f = e('has'),
-                  m = {
-                    ToPrimitive: p,
-                    ToBoolean: function (e) {
-                      return !!e
-                    },
-                    ToNumber: function (e) {
-                      return +e
-                    },
-                    ToInteger: function (e) {
-                      var t = this.ToNumber(e)
-                      return l(t) ? 0 : 0 !== t && c(t) ? u(t) * Math.floor(Math.abs(t)) : t
-                    },
-                    ToInt32: function (e) {
-                      return this.ToNumber(e) >> 0
-                    },
-                    ToUint32: function (e) {
-                      return this.ToNumber(e) >>> 0
-                    },
-                    ToUint16: function (e) {
-                      var t = this.ToNumber(e)
-                      if (l(t) || 0 === t || !c(t)) return 0
-                      var n = u(t) * Math.floor(Math.abs(t))
-                      return h(n, 65536)
-                    },
-                    ToString: function (e) {
-                      return a(e)
-                    },
-                    ToObject: function (e) {
-                      return this.CheckObjectCoercible(e), i(e)
-                    },
-                    CheckObjectCoercible: function (e, t) {
-                      if (null == e) throw new o(t || 'Cannot call method on ' + e)
-                      return e
-                    },
-                    IsCallable: d,
-                    SameValue: function (e, t) {
-                      return e === t ? 0 !== e || 1 / e === 1 / t : l(e) && l(t)
-                    },
-                    Type: function (e) {
-                      return null === e
-                        ? 'Null'
-                        : 'undefined' === typeof e
-                        ? 'Undefined'
-                        : 'function' === typeof e || 'object' === typeof e
-                        ? 'Object'
-                        : 'number' === typeof e
-                        ? 'Number'
-                        : 'boolean' === typeof e
-                        ? 'Boolean'
-                        : 'string' === typeof e
-                        ? 'String'
-                        : void 0
-                    },
-                    IsPropertyDescriptor: function (e) {
-                      if ('Object' !== this.Type(e)) return !1
-                      var t = {
-                        '[[Configurable]]': !0,
-                        '[[Enumerable]]': !0,
-                        '[[Get]]': !0,
-                        '[[Set]]': !0,
-                        '[[Value]]': !0,
-                        '[[Writable]]': !0,
-                      }
-                      for (var n in e) if (f(e, n) && !t[n]) return !1
-                      var r = f(e, '[[Value]]'),
-                        i = f(e, '[[Get]]') || f(e, '[[Set]]')
-                      if (r && i)
-                        throw new o(
-                          'Property Descriptors may not be both accessor and data descriptors',
-                        )
-                      return !0
-                    },
-                    IsAccessorDescriptor: function (e) {
-                      return (
-                        'undefined' !== typeof e &&
-                        (s(this, 'Property Descriptor', 'Desc', e),
-                        !(!f(e, '[[Get]]') && !f(e, '[[Set]]')))
-                      )
-                    },
-                    IsDataDescriptor: function (e) {
-                      return (
-                        'undefined' !== typeof e &&
-                        (s(this, 'Property Descriptor', 'Desc', e),
-                        !(!f(e, '[[Value]]') && !f(e, '[[Writable]]')))
-                      )
-                    },
-                    IsGenericDescriptor: function (e) {
-                      return (
-                        'undefined' !== typeof e &&
-                        (s(this, 'Property Descriptor', 'Desc', e),
-                        !this.IsAccessorDescriptor(e) && !this.IsDataDescriptor(e))
-                      )
-                    },
-                    FromPropertyDescriptor: function (e) {
-                      if ('undefined' === typeof e) return e
-                      if ((s(this, 'Property Descriptor', 'Desc', e), this.IsDataDescriptor(e)))
-                        return {
-                          value: e['[[Value]]'],
-                          writable: !!e['[[Writable]]'],
-                          enumerable: !!e['[[Enumerable]]'],
-                          configurable: !!e['[[Configurable]]'],
-                        }
-                      if (this.IsAccessorDescriptor(e))
-                        return {
-                          get: e['[[Get]]'],
-                          set: e['[[Set]]'],
-                          enumerable: !!e['[[Enumerable]]'],
-                          configurable: !!e['[[Configurable]]'],
-                        }
-                      throw new o(
-                        'FromPropertyDescriptor must be called with a fully populated Property Descriptor',
-                      )
-                    },
-                    ToPropertyDescriptor: function (e) {
-                      if ('Object' !== this.Type(e))
-                        throw new o('ToPropertyDescriptor requires an object')
-                      var t = {}
-                      if (
-                        (f(e, 'enumerable') && (t['[[Enumerable]]'] = this.ToBoolean(e.enumerable)),
-                        f(e, 'configurable') &&
-                          (t['[[Configurable]]'] = this.ToBoolean(e.configurable)),
-                        f(e, 'value') && (t['[[Value]]'] = e.value),
-                        f(e, 'writable') && (t['[[Writable]]'] = this.ToBoolean(e.writable)),
-                        f(e, 'get'))
-                      ) {
-                        var n = e.get
-                        if ('undefined' !== typeof n && !this.IsCallable(n))
-                          throw new TypeError('getter must be a function')
-                        t['[[Get]]'] = n
-                      }
-                      if (f(e, 'set')) {
-                        var r = e.set
-                        if ('undefined' !== typeof r && !this.IsCallable(r))
-                          throw new o('setter must be a function')
-                        t['[[Set]]'] = r
-                      }
-                      if (
-                        (f(t, '[[Get]]') || f(t, '[[Set]]')) &&
-                        (f(t, '[[Value]]') || f(t, '[[Writable]]'))
-                      )
-                        throw new o(
-                          'Invalid property descriptor. Cannot both specify accessors and a value or writable attribute',
-                        )
-                      return t
-                    },
-                  }
-                t.exports = m
-              },
-              {
-                './GetIntrinsic': 14,
-                './helpers/assertRecord': 16,
-                './helpers/isFinite': 17,
-                './helpers/isNaN': 18,
-                './helpers/mod': 19,
-                './helpers/sign': 20,
-                'es-to-primitive/es5': 21,
-                has: 28,
-                'is-callable': 32,
-              },
-            ],
-            16: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('../GetIntrinsic'),
-                  i = r('%TypeError%'),
-                  o = r('%SyntaxError%'),
-                  a = e('has'),
-                  s = {
-                    'Property Descriptor': function (e, t) {
-                      if ('Object' !== e.Type(t)) return !1
-                      var n = {
-                        '[[Configurable]]': !0,
-                        '[[Enumerable]]': !0,
-                        '[[Get]]': !0,
-                        '[[Set]]': !0,
-                        '[[Value]]': !0,
-                        '[[Writable]]': !0,
-                      }
-                      for (var r in t) if (a(t, r) && !n[r]) return !1
-                      var o = a(t, '[[Value]]'),
-                        s = a(t, '[[Get]]') || a(t, '[[Set]]')
-                      if (o && s)
-                        throw new i(
-                          'Property Descriptors may not be both accessor and data descriptors',
-                        )
-                      return !0
-                    },
-                  }
-                t.exports = function (e, t, n, r) {
-                  var a = s[t]
-                  if ('function' !== typeof a) throw new o('unknown record type: ' + t)
-                  if (!a(e, r)) throw new i(n + ' must be a ' + t)
-                  console.log(a(e, r), r)
-                }
-              },
-              { '../GetIntrinsic': 14, has: 28 },
-            ],
-            17: [
-              function (e, t, n) {
-                var r =
-                  Number.isNaN ||
-                  function (e) {
-                    return e !== e
-                  }
-                t.exports =
-                  Number.isFinite ||
-                  function (e) {
-                    return 'number' === typeof e && !r(e) && e !== 1 / 0 && e !== -1 / 0
-                  }
-              },
-              {},
-            ],
-            18: [
-              function (e, t, n) {
-                t.exports =
-                  Number.isNaN ||
-                  function (e) {
-                    return e !== e
-                  }
-              },
-              {},
-            ],
-            19: [
-              function (e, t, n) {
-                t.exports = function (e, t) {
-                  var n = e % t
-                  return Math.floor(n >= 0 ? n : n + t)
-                }
-              },
-              {},
-            ],
-            20: [
-              function (e, t, n) {
-                t.exports = function (e) {
-                  return e >= 0 ? 1 : -1
-                }
-              },
-              {},
-            ],
-            21: [
-              function (e, t, n) {
-                'use strict'
-                var r = Object.prototype.toString,
-                  i = e('./helpers/isPrimitive'),
-                  o = e('is-callable'),
-                  a = {
-                    '[[DefaultValue]]': function (e) {
-                      var t
-                      if (
-                        (t =
-                          arguments.length > 1
-                            ? arguments[1]
-                            : '[object Date]' === r.call(e)
-                            ? String
-                            : Number) === String ||
-                        t === Number
-                      ) {
-                        var n,
-                          a,
-                          s = t === String ? ['toString', 'valueOf'] : ['valueOf', 'toString']
-                        for (a = 0; a < s.length; ++a)
-                          if (o(e[s[a]]) && ((n = e[s[a]]()), i(n))) return n
-                        throw new TypeError('No default value')
-                      }
-                      throw new TypeError('invalid [[DefaultValue]] hint supplied')
-                    },
-                  }
-                t.exports = function (e) {
-                  return i(e)
-                    ? e
-                    : arguments.length > 1
-                    ? a['[[DefaultValue]]'](e, arguments[1])
-                    : a['[[DefaultValue]]'](e)
-                }
-              },
-              { './helpers/isPrimitive': 22, 'is-callable': 32 },
-            ],
-            22: [
-              function (e, t, n) {
-                t.exports = function (e) {
-                  return null === e || ('function' !== typeof e && 'object' !== typeof e)
-                }
-              },
-              {},
-            ],
-            23: [
-              function (e, t, n) {
-                var r = e('dtype')
-                function i(e, t, n) {
-                  if (!e) throw new TypeError('must specify data as first parameter')
-                  if (
-                    ((n = 0 | +(n || 0)), Array.isArray(e) && e[0] && 'number' === typeof e[0][0])
-                  ) {
-                    var i,
-                      o,
-                      a,
-                      s,
-                      l = e[0].length,
-                      c = e.length * l
-                    ;(t && 'string' !== typeof t) || (t = new (r(t || 'float32'))(c + n))
-                    var u = t.length - n
-                    if (c !== u)
-                      throw new Error(
-                        'source length ' +
-                          c +
-                          ' (' +
-                          l +
-                          'x' +
-                          e.length +
-                          ') does not match destination length ' +
-                          u,
-                      )
-                    for (i = 0, a = n; i < e.length; i++)
-                      for (o = 0; o < l; o++) t[a++] = null === e[i][o] ? NaN : e[i][o]
-                  } else if (t && 'string' !== typeof t) t.set(e, n)
-                  else {
-                    var h = r(t || 'float32')
-                    if (Array.isArray(e) || 'array' === t)
-                      for (i = 0, a = n, s = (t = new h(e.length + n)).length; a < s; a++, i++)
-                        t[a] = null === e[i] ? NaN : e[i]
-                    else 0 === n ? (t = new h(e)) : (t = new h(e.length + n)).set(e, n)
-                  }
-                  return t
-                }
-                t.exports = i
-              },
-              { dtype: 13 },
-            ],
-            24: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('is-callable'),
-                  i = Object.prototype.toString,
-                  o = Object.prototype.hasOwnProperty,
-                  a = function (e, t, n) {
-                    for (var r = 0, i = e.length; r < i; r++)
-                      o.call(e, r) && (null == n ? t(e[r], r, e) : t.call(n, e[r], r, e))
-                  },
-                  s = function (e, t, n) {
-                    for (var r = 0, i = e.length; r < i; r++)
-                      null == n ? t(e.charAt(r), r, e) : t.call(n, e.charAt(r), r, e)
-                  },
-                  l = function (e, t, n) {
-                    for (var r in e)
-                      o.call(e, r) && (null == n ? t(e[r], r, e) : t.call(n, e[r], r, e))
-                  },
-                  c = function (e, t, n) {
-                    if (!r(t)) throw new TypeError('iterator must be a function')
-                    var o
-                    arguments.length >= 3 && (o = n),
-                      '[object Array]' === i.call(e)
-                        ? a(e, t, o)
-                        : 'string' === typeof e
-                        ? s(e, t, o)
-                        : l(e, t, o)
-                  }
-                t.exports = c
-              },
-              { 'is-callable': 32 },
-            ],
-            25: [
-              function (e, t, n) {
-                'use strict'
-                var r = 'Function.prototype.bind called on incompatible ',
-                  i = Array.prototype.slice,
-                  o = Object.prototype.toString,
-                  a = '[object Function]'
-                t.exports = function (e) {
-                  var t = this
-                  if ('function' !== typeof t || o.call(t) !== a) throw new TypeError(r + t)
-                  for (
-                    var n,
-                      s = i.call(arguments, 1),
-                      l = function () {
-                        if (this instanceof n) {
-                          var r = t.apply(this, s.concat(i.call(arguments)))
-                          return Object(r) === r ? r : this
-                        }
-                        return t.apply(e, s.concat(i.call(arguments)))
-                      },
-                      c = Math.max(0, t.length - s.length),
-                      u = [],
-                      h = 0;
-                    h < c;
-                    h++
-                  )
-                    u.push('$' + h)
-                  if (
-                    ((n = Function(
-                      'binder',
-                      'return function (' +
-                        u.join(',') +
-                        '){ return binder.apply(this,arguments); }',
-                    )(l)),
-                    t.prototype)
-                  ) {
-                    var d = function () {}
-                    ;(d.prototype = t.prototype), (n.prototype = new d()), (d.prototype = null)
-                  }
-                  return n
-                }
-              },
-              {},
-            ],
-            26: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('./implementation')
-                t.exports = Function.prototype.bind || r
-              },
-              { './implementation': 25 },
-            ],
-            27: [
-              function (e, t, n) {
-                ;(function (e) {
-                  var n
-                  ;(n =
-                    'undefined' !== typeof window
-                      ? window
-                      : 'undefined' !== typeof e
-                      ? e
-                      : 'undefined' !== typeof self
-                      ? self
-                      : {}),
-                    (t.exports = n)
-                }.call(
-                  this,
-                  'undefined' !== typeof r.g
-                    ? r.g
-                    : 'undefined' !== typeof self
-                    ? self
-                    : 'undefined' !== typeof window
-                    ? window
-                    : {},
-                ))
-              },
-              {},
-            ],
-            28: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('function-bind')
-                t.exports = r.call(Function.call, Object.prototype.hasOwnProperty)
-              },
-              { 'function-bind': 26 },
-            ],
-            29: [
-              function (e, t, n) {
-                ;(n.read = function (e, t, n, r, i) {
-                  var o,
-                    a,
-                    s = 8 * i - r - 1,
-                    l = (1 << s) - 1,
-                    c = l >> 1,
-                    u = -7,
-                    h = n ? i - 1 : 0,
-                    d = n ? -1 : 1,
-                    p = e[t + h]
-                  for (
-                    h += d, o = p & ((1 << -u) - 1), p >>= -u, u += s;
-                    u > 0;
-                    o = 256 * o + e[t + h], h += d, u -= 8
-                  );
-                  for (
-                    a = o & ((1 << -u) - 1), o >>= -u, u += r;
-                    u > 0;
-                    a = 256 * a + e[t + h], h += d, u -= 8
-                  );
-                  if (0 === o) o = 1 - c
-                  else {
-                    if (o === l) return a ? NaN : (1 / 0) * (p ? -1 : 1)
-                    ;(a += Math.pow(2, r)), (o -= c)
-                  }
-                  return (p ? -1 : 1) * a * Math.pow(2, o - r)
-                }),
-                  (n.write = function (e, t, n, r, i, o) {
-                    var a,
-                      s,
-                      l,
-                      c = 8 * o - i - 1,
-                      u = (1 << c) - 1,
-                      h = u >> 1,
-                      d = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
-                      p = r ? 0 : o - 1,
-                      f = r ? 1 : -1,
-                      m = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0
-                    for (
-                      t = Math.abs(t),
-                        isNaN(t) || t === 1 / 0
-                          ? ((s = isNaN(t) ? 1 : 0), (a = u))
-                          : ((a = Math.floor(Math.log(t) / Math.LN2)),
-                            t * (l = Math.pow(2, -a)) < 1 && (a--, (l *= 2)),
-                            (t += a + h >= 1 ? d / l : d * Math.pow(2, 1 - h)) * l >= 2 &&
-                              (a++, (l /= 2)),
-                            a + h >= u
-                              ? ((s = 0), (a = u))
-                              : a + h >= 1
-                              ? ((s = (t * l - 1) * Math.pow(2, i)), (a += h))
-                              : ((s = t * Math.pow(2, h - 1) * Math.pow(2, i)), (a = 0)));
-                      i >= 8;
-                      e[n + p] = 255 & s, p += f, s /= 256, i -= 8
-                    );
-                    for (
-                      a = (a << i) | s, c += i;
-                      c > 0;
-                      e[n + p] = 255 & a, p += f, a /= 256, c -= 8
-                    );
-                    e[n + p - f] |= 128 * m
-                  })
-              },
-              {},
-            ],
-            30: [
-              function (e, t, n) {
-                'function' === typeof Object.create
-                  ? (t.exports = function (e, t) {
-                      t &&
-                        ((e.super_ = t),
-                        (e.prototype = Object.create(t.prototype, {
-                          constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 },
-                        })))
-                    })
-                  : (t.exports = function (e, t) {
-                      if (t) {
-                        e.super_ = t
-                        var n = function () {}
-                        ;(n.prototype = t.prototype),
-                          (e.prototype = new n()),
-                          (e.prototype.constructor = e)
-                      }
-                    })
-              },
-              {},
-            ],
-            31: [
-              function (e, t, n) {
-                function r(e) {
-                  return (
-                    !!e.constructor &&
-                    'function' === typeof e.constructor.isBuffer &&
-                    e.constructor.isBuffer(e)
-                  )
-                }
-                function i(e) {
-                  return (
-                    'function' === typeof e.readFloatLE &&
-                    'function' === typeof e.slice &&
-                    r(e.slice(0, 0))
-                  )
-                }
-                t.exports = function (e) {
-                  return null != e && (r(e) || i(e) || !!e._isBuffer)
-                }
-              },
-              {},
-            ],
-            32: [
-              function (t, n, r) {
-                'use strict'
-                var i = Function.prototype.toString,
-                  o = /^\s*class\b/,
-                  a = function (t) {
-                    try {
-                      var n = i.call(t)
-                      return o.test(n)
-                    } catch (e) {
-                      return !1
-                    }
-                  },
-                  s = function (t) {
-                    try {
-                      return !a(t) && (i.call(t), !0)
-                    } catch (e) {
-                      return !1
-                    }
-                  },
-                  l = Object.prototype.toString,
-                  c = '[object Function]',
-                  u = '[object GeneratorFunction]',
-                  h = 'function' === typeof Symbol && 'symbol' === typeof Symbol.toStringTag
-                n.exports = function (e) {
-                  if (!e) return !1
-                  if ('function' !== typeof e && 'object' !== typeof e) return !1
-                  if ('function' === typeof e && !e.prototype) return !0
-                  if (h) return s(e)
-                  if (a(e)) return !1
-                  var t = l.call(e)
-                  return t === c || t === u
-                }
-              },
-              {},
-            ],
-            33: [
-              function (e, t, n) {
-                t.exports = i
-                var r = Object.prototype.toString
-                function i(e) {
-                  var t = r.call(e)
-                  return (
-                    '[object Function]' === t ||
-                    ('function' === typeof e && '[object RegExp]' !== t) ||
-                    ('undefined' !== typeof window &&
-                      (e === window.setTimeout ||
-                        e === window.alert ||
-                        e === window.confirm ||
-                        e === window.prompt))
-                  )
-                }
-              },
-              {},
-            ],
-            34: [
-              function (e, t, n) {
-                'use strict'
-                t.exports = function (e) {
-                  var t = typeof e
-                  return null !== e && ('object' === t || 'function' === t)
-                }
-              },
-              {},
-            ],
-            35: [
-              function (e, t, n) {
-                var r = {}.toString
-                t.exports =
-                  Array.isArray ||
-                  function (e) {
-                    return '[object Array]' == r.call(e)
-                  }
-              },
-              {},
-            ],
-            36: [
-              function (e, t, n) {
-                var r = e('word-wrapper'),
-                  i = e('xtend'),
-                  o = e('as-number'),
-                  a = ['x', 'e', 'a', 'o', 'n', 's', 'r', 'c', 'u', 'm', 'v', 'w', 'z'],
-                  s = ['m', 'w'],
-                  l = ['H', 'I', 'N', 'E', 'F', 'K', 'L', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'],
-                  c = '\t'.charCodeAt(0),
-                  u = ' '.charCodeAt(0),
-                  h = 0,
-                  d = 1,
-                  p = 2
-                function f(e) {
-                  ;(this.glyphs = []),
-                    (this._measure = this.computeMetrics.bind(this)),
-                    this.update(e)
-                }
-                function m(e) {
-                  Object.defineProperty(f.prototype, e, { get: v(e), configurable: !0 })
-                }
-                function v(e) {
-                  return new Function(
-                    ['return function ' + e + '() {', '  return this._' + e, '}'].join('\n'),
-                  )()
-                }
-                function g(e, t) {
-                  if (!e.chars || 0 === e.chars.length) return null
-                  var n = E(e.chars, t)
-                  return n >= 0 ? e.chars[n] : null
-                }
-                function y(e) {
-                  for (var t = 0; t < a.length; t++) {
-                    var n = a[t].charCodeAt(0),
-                      r = E(e.chars, n)
-                    if (r >= 0) return e.chars[r].height
-                  }
-                  return 0
-                }
-                function b(e) {
-                  for (var t = 0; t < s.length; t++) {
-                    var n = s[t].charCodeAt(0),
-                      r = E(e.chars, n)
-                    if (r >= 0) return e.chars[r]
-                  }
-                  return 0
-                }
-                function A(e) {
-                  for (var t = 0; t < l.length; t++) {
-                    var n = l[t].charCodeAt(0),
-                      r = E(e.chars, n)
-                    if (r >= 0) return e.chars[r].height
-                  }
-                  return 0
-                }
-                function w(e, t, n) {
-                  if (!e.kernings || 0 === e.kernings.length) return 0
-                  for (var r = e.kernings, i = 0; i < r.length; i++) {
-                    var o = r[i]
-                    if (o.first === t && o.second === n) return o.amount
-                  }
-                  return 0
-                }
-                function x(e) {
-                  return 'center' === e ? d : 'right' === e ? p : h
-                }
-                function E(e, t, n) {
-                  for (var r = (n = n || 0); r < e.length; r++) if (e[r].id === t) return r
-                  return -1
-                }
-                ;(t.exports = function (e) {
-                  return new f(e)
-                }),
-                  (f.prototype.update = function (e) {
-                    if (
-                      ((e = i({ measure: this._measure }, e)),
-                      (this._opt = e),
-                      (this._opt.tabSize = o(this._opt.tabSize, 4)),
-                      !e.font)
-                    )
-                      throw new Error('must provide a valid bitmap font')
-                    var t = this.glyphs,
-                      n = e.text || '',
-                      a = e.font
-                    this._setupSpaceGlyphs(a)
-                    var s = r.lines(n, e),
-                      l = e.width || 0
-                    t.length = 0
-                    var c = s.reduce(function (e, t) {
-                        return Math.max(e, t.width, l)
-                      }, 0),
-                      u = 0,
-                      h = 0,
-                      f = o(e.lineHeight, a.common.lineHeight),
-                      m = a.common.base,
-                      v = f - m,
-                      g = e.letterSpacing || 0,
-                      b = f * s.length - v,
-                      E = x(this._opt.align)
-                    ;(h -= b),
-                      (this._width = c),
-                      (this._height = b),
-                      (this._descender = f - m),
-                      (this._baseline = m),
-                      (this._xHeight = y(a)),
-                      (this._capHeight = A(a)),
-                      (this._lineHeight = f),
-                      (this._ascender = f - v - this._xHeight)
-                    var M = this
-                    s.forEach(function (e, r) {
-                      for (var i, o = e.start, s = e.end, l = e.width, m = o; m < s; m++) {
-                        var v = n.charCodeAt(m),
-                          y = M.getGlyph(a, v)
-                        if (y) {
-                          i && (u += w(a, i.id, y.id))
-                          var b = u
-                          E === d ? (b += (c - l) / 2) : E === p && (b += c - l),
-                            t.push({ position: [b, h], data: y, index: m, line: r }),
-                            (u += y.xadvance + g),
-                            (i = y)
-                        }
-                      }
-                      ;(h += f), (u = 0)
-                    }),
-                      (this._linesTotal = s.length)
-                  }),
-                  (f.prototype._setupSpaceGlyphs = function (e) {
-                    if (
-                      ((this._fallbackSpaceGlyph = null),
-                      (this._fallbackTabGlyph = null),
-                      e.chars && 0 !== e.chars.length)
-                    ) {
-                      var t = g(e, u) || b(e) || e.chars[0],
-                        n = this._opt.tabSize * t.xadvance
-                      ;(this._fallbackSpaceGlyph = t),
-                        (this._fallbackTabGlyph = i(t, {
-                          x: 0,
-                          y: 0,
-                          xadvance: n,
-                          id: c,
-                          xoffset: 0,
-                          yoffset: 0,
-                          width: 0,
-                          height: 0,
-                        }))
-                    }
-                  }),
-                  (f.prototype.getGlyph = function (e, t) {
-                    var n = g(e, t)
-                    return (
-                      n ||
-                      (t === c ? this._fallbackTabGlyph : t === u ? this._fallbackSpaceGlyph : null)
-                    )
-                  }),
-                  (f.prototype.computeMetrics = function (e, t, n, r) {
-                    var i,
-                      o = this._opt.letterSpacing || 0,
-                      a = this._opt.font,
-                      s = 0,
-                      l = 0,
-                      c = 0
-                    if (!a.chars || 0 === a.chars.length) return { start: t, end: t, width: 0 }
-                    n = Math.min(e.length, n)
-                    for (var u = t; u < n; u++) {
-                      var h,
-                        d = e.charCodeAt(u)
-                      if ((h = this.getGlyph(a, d))) {
-                        h.xoffset
-                        var p = (s += i ? w(a, i.id, h.id) : 0) + h.xadvance + o,
-                          f = s + h.width
-                        if (f >= r || p >= r) break
-                        ;(s = p), (l = f), (i = h)
-                      }
-                      c++
-                    }
-                    return i && (l += i.xoffset), { start: t, end: t + c, width: l }
-                  }),
-                  [
-                    'width',
-                    'height',
-                    'descender',
-                    'ascender',
-                    'xHeight',
-                    'baseline',
-                    'capHeight',
-                    'lineHeight',
-                  ].forEach(m)
-              },
-              { 'as-number': 2, 'word-wrapper': 69, xtend: 72 },
-            ],
-            37: [
-              function (t, n, r) {
-                ;(function (r) {
-                  var i = t('xhr'),
-                    o = function () {},
-                    a = t('parse-bmfont-ascii'),
-                    s = t('parse-bmfont-xml'),
-                    l = t('parse-bmfont-binary'),
-                    c = t('./lib/is-binary'),
-                    u = t('xtend'),
-                    h = self.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()
-                  function d(e) {
-                    return '[object ArrayBuffer]' === Object.prototype.toString.call(e)
-                  }
-                  function p(e) {
-                    if (h) return u(e, { responseType: 'arraybuffer' })
-                    if ('undefined' === typeof self.XMLHttpRequest)
-                      throw new Error('your browser does not support XHR loading')
-                    var t = new self.XMLHttpRequest()
-                    return (
-                      t.overrideMimeType('text/plain; charset=x-user-defined'), u({ xhr: t }, e)
-                    )
-                  }
-                  n.exports = function (t, n) {
-                    ;(n = 'function' === typeof n ? n : o),
-                      'string' === typeof t ? (t = { uri: t }) : t || (t = {}),
-                      t.binary && (t = p(t)),
-                      i(t, function (i, u, h) {
-                        if (i) return n(i)
-                        if (!/^2/.test(u.statusCode))
-                          return n(new Error('http status code: ' + u.statusCode))
-                        if (!h) return n(new Error('no body result'))
-                        var p,
-                          f = !1
-                        if (d(h)) {
-                          var m = new Uint8Array(h)
-                          h = new r(m, 'binary')
-                        }
-                        c(h) && ((f = !0), 'string' === typeof h && (h = new r(h, 'binary'))),
-                          f || (r.isBuffer(h) && (h = h.toString(t.encoding)), (h = h.trim()))
-                        try {
-                          var v = u.headers['content-type']
-                          p = f
-                            ? l(h)
-                            : /json/.test(v) || '{' === h.charAt(0)
-                            ? JSON.parse(h)
-                            : /xml/.test(v) || '<' === h.charAt(0)
-                            ? s(h)
-                            : a(h)
-                        } catch (e) {
-                          n(new Error('error parsing font ' + e.message)), (n = o)
-                        }
-                        n(null, p)
-                      })
-                  }
-                }.call(this, t('buffer').Buffer))
-              },
-              {
-                './lib/is-binary': 38,
-                buffer: 6,
-                'parse-bmfont-ascii': 43,
-                'parse-bmfont-binary': 44,
-                'parse-bmfont-xml': 45,
-                xhr: 70,
-                xtend: 72,
-              },
-            ],
-            38: [
-              function (e, t, n) {
-                ;(function (n) {
-                  var r = e('buffer-equal'),
-                    i = new n([66, 77, 70, 3])
-                  t.exports = function (e) {
-                    return 'string' === typeof e
-                      ? 'BMF' === e.substring(0, 3)
-                      : e.length > 4 && r(e.slice(0, 4), i)
-                  }
-                }.call(this, e('buffer').Buffer))
-              },
-              { buffer: 6, 'buffer-equal': 5 },
-            ],
-            39: [
-              function (e, t, n) {
-                'use strict'
-                var r = Object.getOwnPropertySymbols,
-                  i = Object.prototype.hasOwnProperty,
-                  o = Object.prototype.propertyIsEnumerable
-                function a(e) {
-                  if (null === e || void 0 === e)
-                    throw new TypeError('Object.assign cannot be called with null or undefined')
-                  return Object(e)
-                }
-                function s() {
-                  try {
-                    if (!Object.assign) return !1
-                    var e = new String('abc')
-                    if (((e[5] = 'de'), '5' === Object.getOwnPropertyNames(e)[0])) return !1
-                    for (var t = {}, n = 0; n < 10; n++) t['_' + String.fromCharCode(n)] = n
-                    if (
-                      '0123456789' !==
-                      Object.getOwnPropertyNames(t)
-                        .map(function (e) {
-                          return t[e]
-                        })
-                        .join('')
-                    )
-                      return !1
-                    var r = {}
-                    return (
-                      'abcdefghijklmnopqrst'.split('').forEach(function (e) {
-                        r[e] = e
-                      }),
-                      'abcdefghijklmnopqrst' === Object.keys(Object.assign({}, r)).join('')
-                    )
-                  } catch (i) {
-                    return !1
-                  }
-                }
-                t.exports = s()
-                  ? Object.assign
-                  : function (e, t) {
-                      for (var n, s, l = a(e), c = 1; c < arguments.length; c++) {
-                        for (var u in (n = Object(arguments[c]))) i.call(n, u) && (l[u] = n[u])
-                        if (r) {
-                          s = r(n)
-                          for (var h = 0; h < s.length; h++) o.call(n, s[h]) && (l[s[h]] = n[s[h]])
-                        }
-                      }
-                      return l
-                    }
-              },
-              {},
-            ],
-            40: [
-              function (t, n, r) {
-                'use strict'
-                var i
-                if (!Object.keys) {
-                  var o = Object.prototype.hasOwnProperty,
-                    a = Object.prototype.toString,
-                    s = t('./isArguments'),
-                    l = Object.prototype.propertyIsEnumerable,
-                    c = !l.call({ toString: null }, 'toString'),
-                    u = l.call(function () {}, 'prototype'),
-                    h = [
-                      'toString',
-                      'toLocaleString',
-                      'valueOf',
-                      'hasOwnProperty',
-                      'isPrototypeOf',
-                      'propertyIsEnumerable',
-                      'constructor',
-                    ],
-                    d = function (e) {
-                      var t = e.constructor
-                      return t && t.prototype === e
-                    },
-                    p = {
-                      $applicationCache: !0,
-                      $console: !0,
-                      $external: !0,
-                      $frame: !0,
-                      $frameElement: !0,
-                      $frames: !0,
-                      $innerHeight: !0,
-                      $innerWidth: !0,
-                      $onmozfullscreenchange: !0,
-                      $onmozfullscreenerror: !0,
-                      $outerHeight: !0,
-                      $outerWidth: !0,
-                      $pageXOffset: !0,
-                      $pageYOffset: !0,
-                      $parent: !0,
-                      $scrollLeft: !0,
-                      $scrollTop: !0,
-                      $scrollX: !0,
-                      $scrollY: !0,
-                      $self: !0,
-                      $webkitIndexedDB: !0,
-                      $webkitStorageInfo: !0,
-                      $window: !0,
-                    },
-                    f = (function () {
-                      if ('undefined' === typeof window) return !1
-                      for (var t in window)
-                        try {
-                          if (
-                            !p['$' + t] &&
-                            o.call(window, t) &&
-                            null !== window[t] &&
-                            'object' === typeof window[t]
-                          )
-                            try {
-                              d(window[t])
-                            } catch (e) {
-                              return !0
-                            }
-                        } catch (e) {
-                          return !0
-                        }
-                      return !1
-                    })(),
-                    m = function (t) {
-                      if ('undefined' === typeof window || !f) return d(t)
-                      try {
-                        return d(t)
-                      } catch (e) {
-                        return !1
-                      }
-                    }
-                  i = function (e) {
-                    var t = null !== e && 'object' === typeof e,
-                      n = '[object Function]' === a.call(e),
-                      r = s(e),
-                      i = t && '[object String]' === a.call(e),
-                      l = []
-                    if (!t && !n && !r) throw new TypeError('Object.keys called on a non-object')
-                    var d = u && n
-                    if (i && e.length > 0 && !o.call(e, 0))
-                      for (var p = 0; p < e.length; ++p) l.push(String(p))
-                    if (r && e.length > 0) for (var f = 0; f < e.length; ++f) l.push(String(f))
-                    else
-                      for (var v in e)
-                        (d && 'prototype' === v) || !o.call(e, v) || l.push(String(v))
-                    if (c)
-                      for (var g = m(e), y = 0; y < h.length; ++y)
-                        (g && 'constructor' === h[y]) || !o.call(e, h[y]) || l.push(h[y])
-                    return l
-                  }
-                }
-                n.exports = i
-              },
-              { './isArguments': 42 },
-            ],
-            41: [
-              function (e, t, n) {
-                'use strict'
-                var r = Array.prototype.slice,
-                  i = e('./isArguments'),
-                  o = Object.keys,
-                  a = o
-                    ? function (e) {
-                        return o(e)
-                      }
-                    : e('./implementation'),
-                  s = Object.keys
-                ;(a.shim = function () {
-                  return (
-                    Object.keys
-                      ? (function () {
-                          var e = Object.keys(arguments)
-                          return e && e.length === arguments.length
-                        })(1, 2) ||
-                        (Object.keys = function (e) {
-                          return i(e) ? s(r.call(e)) : s(e)
-                        })
-                      : (Object.keys = a),
-                    Object.keys || a
-                  )
-                }),
-                  (t.exports = a)
-              },
-              { './implementation': 40, './isArguments': 42 },
-            ],
-            42: [
-              function (e, t, n) {
-                'use strict'
-                var r = Object.prototype.toString
-                t.exports = function (e) {
-                  var t = r.call(e),
-                    n = '[object Arguments]' === t
-                  return (
-                    n ||
-                      (n =
-                        '[object Array]' !== t &&
-                        null !== e &&
-                        'object' === typeof e &&
-                        'number' === typeof e.length &&
-                        e.length >= 0 &&
-                        '[object Function]' === r.call(e.callee)),
-                    n
-                  )
-                }
-              },
-              {},
-            ],
-            43: [
-              function (e, t, n) {
-                function r(e, t) {
-                  if (!(e = e.replace(/\t+/g, ' ').trim())) return null
-                  var n = e.indexOf(' ')
-                  if (-1 === n) throw new Error('no named row at line ' + t)
-                  var r = e.substring(0, n)
-                  e = (e = (e = (e = e.substring(n + 1)).replace(
-                    /letter=[\'\"]\S+[\'\"]/gi,
-                    '',
-                  )).split('=')).map(function (e) {
-                    return e.trim().match(/(".*?"|[^"\s]+)+(?=\s*|\s*$)/g)
-                  })
-                  for (var o = [], a = 0; a < e.length; a++) {
-                    var s = e[a]
-                    0 === a
-                      ? o.push({ key: s[0], data: '' })
-                      : a === e.length - 1
-                      ? (o[o.length - 1].data = i(s[0]))
-                      : ((o[o.length - 1].data = i(s[0])), o.push({ key: s[1], data: '' }))
-                  }
-                  var l = { key: r, data: {} }
-                  return (
-                    o.forEach(function (e) {
-                      l.data[e.key] = e.data
-                    }),
-                    l
-                  )
-                }
-                function i(e) {
-                  return e && 0 !== e.length
-                    ? 0 === e.indexOf('"') || 0 === e.indexOf("'")
-                      ? e.substring(1, e.length - 1)
-                      : -1 !== e.indexOf(',')
-                      ? o(e)
-                      : parseInt(e, 10)
-                    : ''
-                }
-                function o(e) {
-                  return e.split(',').map(function (e) {
-                    return parseInt(e, 10)
-                  })
-                }
-                t.exports = function (e) {
-                  if (!e) throw new Error('no data provided')
-                  var t = { pages: [], chars: [], kernings: [] },
-                    n = (e = e.toString().trim()).split(/\r\n?|\n/g)
-                  if (0 === n.length) throw new Error('no data in BMFont file')
-                  for (var i = 0; i < n.length; i++) {
-                    var o = r(n[i], i)
-                    if (o)
-                      if ('page' === o.key) {
-                        if ('number' !== typeof o.data.id)
-                          throw new Error('malformed file at line ' + i + ' -- needs page id=N')
-                        if ('string' !== typeof o.data.file)
-                          throw new Error(
-                            'malformed file at line ' + i + ' -- needs page file="path"',
-                          )
-                        t.pages[o.data.id] = o.data.file
-                      } else
-                        'chars' === o.key ||
-                          'kernings' === o.key ||
-                          ('char' === o.key
-                            ? t.chars.push(o.data)
-                            : 'kerning' === o.key
-                            ? t.kernings.push(o.data)
-                            : (t[o.key] = o.data))
-                  }
-                  return t
-                }
-              },
-              {},
-            ],
-            44: [
-              function (e, t, n) {
-                var r = [66, 77, 70]
-                function i(e, t, n) {
-                  if (n > t.length - 1) return 0
-                  var r = t.readUInt8(n++),
-                    i = t.readInt32LE(n)
-                  switch (((n += 4), r)) {
-                    case 1:
-                      e.info = o(t, n)
-                      break
-                    case 2:
-                      e.common = a(t, n)
-                      break
-                    case 3:
-                      e.pages = s(t, n, i)
-                      break
-                    case 4:
-                      e.chars = l(t, n, i)
-                      break
-                    case 5:
-                      e.kernings = c(t, n, i)
-                  }
-                  return 5 + i
-                }
-                function o(e, t) {
-                  var n = {}
-                  n.size = e.readInt16LE(t)
-                  var r = e.readUInt8(t + 2)
-                  return (
-                    (n.smooth = (r >> 7) & 1),
-                    (n.unicode = (r >> 6) & 1),
-                    (n.italic = (r >> 5) & 1),
-                    (n.bold = (r >> 4) & 1),
-                    (r >> 3) & 1 && (n.fixedHeight = 1),
-                    (n.charset = e.readUInt8(t + 3) || ''),
-                    (n.stretchH = e.readUInt16LE(t + 4)),
-                    (n.aa = e.readUInt8(t + 6)),
-                    (n.padding = [
-                      e.readInt8(t + 7),
-                      e.readInt8(t + 8),
-                      e.readInt8(t + 9),
-                      e.readInt8(t + 10),
-                    ]),
-                    (n.spacing = [e.readInt8(t + 11), e.readInt8(t + 12)]),
-                    (n.outline = e.readUInt8(t + 13)),
-                    (n.face = h(e, t + 14)),
-                    n
-                  )
-                }
-                function a(e, t) {
-                  var n = {}
-                  return (
-                    (n.lineHeight = e.readUInt16LE(t)),
-                    (n.base = e.readUInt16LE(t + 2)),
-                    (n.scaleW = e.readUInt16LE(t + 4)),
-                    (n.scaleH = e.readUInt16LE(t + 6)),
-                    (n.pages = e.readUInt16LE(t + 8)),
-                    e.readUInt8(t + 10),
-                    (n.packed = 0),
-                    (n.alphaChnl = e.readUInt8(t + 11)),
-                    (n.redChnl = e.readUInt8(t + 12)),
-                    (n.greenChnl = e.readUInt8(t + 13)),
-                    (n.blueChnl = e.readUInt8(t + 14)),
-                    n
-                  )
-                }
-                function s(e, t, n) {
-                  for (var r = [], i = u(e, t), o = i.length + 1, a = n / o, s = 0; s < a; s++)
-                    (r[s] = e.slice(t, t + i.length).toString('utf8')), (t += o)
-                  return r
-                }
-                function l(e, t, n) {
-                  for (var r = [], i = n / 20, o = 0; o < i; o++) {
-                    var a = {},
-                      s = 20 * o
-                    ;(a.id = e.readUInt32LE(t + 0 + s)),
-                      (a.x = e.readUInt16LE(t + 4 + s)),
-                      (a.y = e.readUInt16LE(t + 6 + s)),
-                      (a.width = e.readUInt16LE(t + 8 + s)),
-                      (a.height = e.readUInt16LE(t + 10 + s)),
-                      (a.xoffset = e.readInt16LE(t + 12 + s)),
-                      (a.yoffset = e.readInt16LE(t + 14 + s)),
-                      (a.xadvance = e.readInt16LE(t + 16 + s)),
-                      (a.page = e.readUInt8(t + 18 + s)),
-                      (a.chnl = e.readUInt8(t + 19 + s)),
-                      (r[o] = a)
-                  }
-                  return r
-                }
-                function c(e, t, n) {
-                  for (var r = [], i = n / 10, o = 0; o < i; o++) {
-                    var a = {},
-                      s = 10 * o
-                    ;(a.first = e.readUInt32LE(t + 0 + s)),
-                      (a.second = e.readUInt32LE(t + 4 + s)),
-                      (a.amount = e.readInt16LE(t + 8 + s)),
-                      (r[o] = a)
-                  }
-                  return r
-                }
-                function u(e, t) {
-                  for (var n = t; n < e.length && 0 !== e[n]; n++);
-                  return e.slice(t, n)
-                }
-                function h(e, t) {
-                  return u(e, t).toString('utf8')
-                }
-                t.exports = function (e) {
-                  if (e.length < 6) throw new Error('invalid buffer length for BMFont')
-                  if (
-                    !r.every(function (t, n) {
-                      return e.readUInt8(n) === t
-                    })
-                  )
-                    throw new Error('BMFont missing BMF byte header')
-                  var t = 3
-                  if (e.readUInt8(t++) > 3)
-                    throw new Error('Only supports BMFont Binary v3 (BMFont App v1.10)')
-                  for (var n = { kernings: [], chars: [] }, o = 0; o < 5; o++) t += i(n, e, t)
-                  return n
-                }
-              },
-              {},
-            ],
-            45: [
-              function (e, t, n) {
-                var r = e('./parse-attribs'),
-                  i = e('xml-parse-from-string'),
-                  o = {
-                    scaleh: 'scaleH',
-                    scalew: 'scaleW',
-                    stretchh: 'stretchH',
-                    lineheight: 'lineHeight',
-                    alphachnl: 'alphaChnl',
-                    redchnl: 'redChnl',
-                    greenchnl: 'greenChnl',
-                    bluechnl: 'blueChnl',
-                  }
-                function a(e) {
-                  return s(e).reduce(function (e, t) {
-                    return (e[l(t.nodeName)] = t.nodeValue), e
-                  }, {})
-                }
-                function s(e) {
-                  for (var t = [], n = 0; n < e.attributes.length; n++) t.push(e.attributes[n])
-                  return t
-                }
-                function l(e) {
-                  return o[e.toLowerCase()] || e
-                }
-                t.exports = function (e) {
-                  e = e.toString()
-                  var t = i(e),
-                    n = { pages: [], chars: [], kernings: [] }
-                  ;['info', 'common'].forEach(function (e) {
-                    var i = t.getElementsByTagName(e)[0]
-                    i && (n[e] = r(a(i)))
-                  })
-                  var o = t.getElementsByTagName('pages')[0]
-                  if (!o) throw new Error('malformed file -- no <pages> element')
-                  for (var s = o.getElementsByTagName('page'), l = 0; l < s.length; l++) {
-                    var c = s[l],
-                      u = parseInt(c.getAttribute('id'), 10),
-                      h = c.getAttribute('file')
-                    if (isNaN(u)) throw new Error('malformed file -- page "id" attribute is NaN')
-                    if (!h) throw new Error('malformed file -- needs page "file" attribute')
-                    n.pages[parseInt(u, 10)] = h
-                  }
-                  return (
-                    ['chars', 'kernings'].forEach(function (e) {
-                      var i = t.getElementsByTagName(e)[0]
-                      if (i)
-                        for (
-                          var o = e.substring(0, e.length - 1),
-                            s = i.getElementsByTagName(o),
-                            l = 0;
-                          l < s.length;
-                          l++
-                        ) {
-                          var c = s[l]
-                          n[e].push(r(a(c)))
-                        }
-                    }),
-                    n
-                  )
-                }
-              },
-              { './parse-attribs': 46, 'xml-parse-from-string': 71 },
-            ],
-            46: [
-              function (e, t, n) {
-                var r = 'chasrset'
-                function i(e) {
-                  return e.split(',').map(function (e) {
-                    return parseInt(e, 10)
-                  })
-                }
-                t.exports = function (e) {
-                  for (var t in (r in e && ((e.charset = e[r]), delete e[r]), e))
-                    'face' !== t &&
-                      'charset' !== t &&
-                      (e[t] = 'padding' === t || 'spacing' === t ? i(e[t]) : parseInt(e[t], 10))
-                  return e
-                }
-              },
-              {},
-            ],
-            47: [
-              function (e, t, n) {
-                var r = e('string.prototype.trim'),
-                  i = e('for-each'),
-                  o = function (e) {
-                    return '[object Array]' === Object.prototype.toString.call(e)
-                  }
-                t.exports = function (e) {
-                  if (!e) return {}
-                  var t = {}
-                  return (
-                    i(r(e).split('\n'), function (e) {
-                      var n = e.indexOf(':'),
-                        i = r(e.slice(0, n)).toLowerCase(),
-                        a = r(e.slice(n + 1))
-                      'undefined' === typeof t[i]
-                        ? (t[i] = a)
-                        : o(t[i])
-                        ? t[i].push(a)
-                        : (t[i] = [t[i], a])
-                    }),
-                    t
-                  )
-                }
-              },
-              { 'for-each': 24, 'string.prototype.trim': 53 },
-            ],
-            48: [
-              function (e, t, n) {
-                ;(function (e) {
-                  var n = e.performance || {},
-                    r = (function () {
-                      for (var e = ['now', 'webkitNow', 'msNow', 'mozNow', 'oNow']; e.length; ) {
-                        var t = e.shift()
-                        if (t in n) return n[t].bind(n)
-                      }
-                      var r =
-                          Date.now ||
-                          function () {
-                            return new Date().getTime()
-                          },
-                        i = (n.timing || {}).navigationStart || r()
-                      return function () {
-                        return r() - i
-                      }
-                    })()
-                  ;(r.performanceNow = n.now),
-                    (r.noConflict = function () {
-                      n.now = r.performanceNow
-                    }),
-                    (r.conflict = function () {
-                      n.now = r
-                    }),
-                    r.conflict(),
-                    (t.exports = r)
-                }.call(
-                  this,
-                  'undefined' !== typeof r.g
-                    ? r.g
-                    : 'undefined' !== typeof self
-                    ? self
-                    : 'undefined' !== typeof window
-                    ? window
-                    : {},
-                ))
-              },
-              {},
-            ],
-            49: [
-              function (t, n, r) {
-                var i,
-                  o,
-                  a = (n.exports = {})
-                function s() {
-                  throw new Error('setTimeout has not been defined')
-                }
-                function l() {
-                  throw new Error('clearTimeout has not been defined')
-                }
-                function c(t) {
-                  if (i === setTimeout) return setTimeout(t, 0)
-                  if ((i === s || !i) && setTimeout) return (i = setTimeout), setTimeout(t, 0)
-                  try {
-                    return i(t, 0)
-                  } catch (e) {
-                    try {
-                      return i.call(null, t, 0)
-                    } catch (e) {
-                      return i.call(this, t, 0)
-                    }
-                  }
-                }
-                function u(t) {
-                  if (o === clearTimeout) return clearTimeout(t)
-                  if ((o === l || !o) && clearTimeout) return (o = clearTimeout), clearTimeout(t)
-                  try {
-                    return o(t)
-                  } catch (e) {
-                    try {
-                      return o.call(null, t)
-                    } catch (e) {
-                      return o.call(this, t)
-                    }
-                  }
-                }
-                !(function () {
-                  try {
-                    i = 'function' === typeof setTimeout ? setTimeout : s
-                  } catch (e) {
-                    i = s
-                  }
-                  try {
-                    o = 'function' === typeof clearTimeout ? clearTimeout : l
-                  } catch (e) {
-                    o = l
-                  }
-                })()
-                var h,
-                  d = [],
-                  p = !1,
-                  f = -1
-                function m() {
-                  p && h && ((p = !1), h.length ? (d = h.concat(d)) : (f = -1), d.length && v())
-                }
-                function v() {
-                  if (!p) {
-                    var e = c(m)
-                    p = !0
-                    for (var t = d.length; t; ) {
-                      for (h = d, d = []; ++f < t; ) h && h[f].run()
-                      ;(f = -1), (t = d.length)
-                    }
-                    ;(h = null), (p = !1), u(e)
-                  }
-                }
-                function g(e, t) {
-                  ;(this.fun = e), (this.array = t)
-                }
-                function y() {}
-                ;(a.nextTick = function (e) {
-                  var t = new Array(arguments.length - 1)
-                  if (arguments.length > 1)
-                    for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
-                  d.push(new g(e, t)), 1 !== d.length || p || c(v)
-                }),
-                  (g.prototype.run = function () {
-                    this.fun.apply(null, this.array)
-                  }),
-                  (a.title = 'browser'),
-                  (a.browser = !0),
-                  (a.env = {}),
-                  (a.argv = []),
-                  (a.version = ''),
-                  (a.versions = {}),
-                  (a.on = y),
-                  (a.addListener = y),
-                  (a.once = y),
-                  (a.off = y),
-                  (a.removeListener = y),
-                  (a.removeAllListeners = y),
-                  (a.emit = y),
-                  (a.prependListener = y),
-                  (a.prependOnceListener = y),
-                  (a.listeners = function (e) {
-                    return []
-                  }),
-                  (a.binding = function (e) {
-                    throw new Error('process.binding is not supported')
-                  }),
-                  (a.cwd = function () {
-                    return '/'
-                  }),
-                  (a.chdir = function (e) {
-                    throw new Error('process.chdir is not supported')
-                  }),
-                  (a.umask = function () {
-                    return 0
-                  })
-              },
-              {},
-            ],
-            50: [
-              function (t, n, r) {
-                ;(function (t) {
-                  !(function (r) {
-                    var i = setTimeout,
-                      o =
-                        ('function' === typeof t && t) ||
-                        function (e) {
-                          i(e, 1)
-                        }
-                    function a(e, t) {
-                      return function () {
-                        e.apply(t, arguments)
-                      }
-                    }
-                    var s =
-                      Array.isArray ||
-                      function (e) {
-                        return '[object Array]' === Object.prototype.toString.call(e)
-                      }
-                    function l(e) {
-                      if ('object' !== typeof this)
-                        throw new TypeError('Promises must be constructed via new')
-                      if ('function' !== typeof e) throw new TypeError('not a function')
-                      ;(this._state = null),
-                        (this._value = null),
-                        (this._deferreds = []),
-                        f(e, a(u, this), a(h, this))
-                    }
-                    function c(t) {
-                      var n = this
-                      null !== this._state
-                        ? o(function () {
-                            var r = n._state ? t.onFulfilled : t.onRejected
-                            if (null !== r) {
-                              var i
-                              try {
-                                i = r(n._value)
-                              } catch (e) {
-                                return void t.reject(e)
-                              }
-                              t.resolve(i)
-                            } else (n._state ? t.resolve : t.reject)(n._value)
-                          })
-                        : this._deferreds.push(t)
-                    }
-                    function u(t) {
-                      try {
-                        if (t === this)
-                          throw new TypeError('A promise cannot be resolved with itself.')
-                        if (t && ('object' === typeof t || 'function' === typeof t)) {
-                          var n = t.then
-                          if ('function' === typeof n)
-                            return void f(a(n, t), a(u, this), a(h, this))
-                        }
-                        ;(this._state = !0), (this._value = t), d.call(this)
-                      } catch (e) {
-                        h.call(this, e)
-                      }
-                    }
-                    function h(e) {
-                      ;(this._state = !1), (this._value = e), d.call(this)
-                    }
-                    function d() {
-                      for (var e = 0, t = this._deferreds.length; e < t; e++)
-                        c.call(this, this._deferreds[e])
-                      this._deferreds = null
-                    }
-                    function p(e, t, n, r) {
-                      ;(this.onFulfilled = 'function' === typeof e ? e : null),
-                        (this.onRejected = 'function' === typeof t ? t : null),
-                        (this.resolve = n),
-                        (this.reject = r)
-                    }
-                    function f(e, t, n) {
-                      var r = !1
-                      try {
-                        e(
-                          function (e) {
-                            r || ((r = !0), t(e))
-                          },
-                          function (e) {
-                            r || ((r = !0), n(e))
-                          },
-                        )
-                      } catch (i) {
-                        if (r) return
-                        ;(r = !0), n(i)
-                      }
-                    }
-                    ;(l.prototype.catch = function (e) {
-                      return this.then(null, e)
-                    }),
-                      (l.prototype.then = function (e, t) {
-                        var n = this
-                        return new l(function (r, i) {
-                          c.call(n, new p(e, t, r, i))
-                        })
-                      }),
-                      (l.all = function () {
-                        var e = Array.prototype.slice.call(
-                          1 === arguments.length && s(arguments[0]) ? arguments[0] : arguments,
-                        )
-                        return new l(function (t, n) {
-                          if (0 === e.length) return t([])
-                          var r = e.length
-                          function i(o, a) {
-                            try {
-                              if (a && ('object' === typeof a || 'function' === typeof a)) {
-                                var s = a.then
-                                if ('function' === typeof s)
-                                  return void s.call(
-                                    a,
-                                    function (e) {
-                                      i(o, e)
-                                    },
-                                    n,
-                                  )
-                              }
-                              ;(e[o] = a), 0 === --r && t(e)
-                            } catch (l) {
-                              n(l)
-                            }
-                          }
-                          for (var o = 0; o < e.length; o++) i(o, e[o])
-                        })
-                      }),
-                      (l.resolve = function (e) {
-                        return e && 'object' === typeof e && e.constructor === l
-                          ? e
-                          : new l(function (t) {
-                              t(e)
-                            })
-                      }),
-                      (l.reject = function (e) {
-                        return new l(function (t, n) {
-                          n(e)
-                        })
-                      }),
-                      (l.race = function (e) {
-                        return new l(function (t, n) {
-                          for (var r = 0, i = e.length; r < i; r++) e[r].then(t, n)
-                        })
-                      }),
-                      (l._setImmediateFn = function (e) {
-                        o = e
-                      }),
-                      'undefined' !== typeof n && n.exports
-                        ? (n.exports = l)
-                        : r.Promise || (r.Promise = l)
-                  })(this)
-                }.call(this, t('timers').setImmediate))
-              },
-              { timers: 67 },
-            ],
-            51: [
-              function (e, t, n) {
-                var r = e('dtype'),
-                  i = e('an-array'),
-                  o = e('is-buffer'),
-                  a = [0, 2, 3],
-                  s = [2, 1, 3]
-                t.exports = function (e, t) {
-                  ;(e && (i(e) || o(e))) || ((t = e || {}), (e = null))
-                  for (
-                    var n =
-                        'string' ===
-                        typeof (t = 'number' === typeof t ? { count: t } : t || {}).type
-                          ? t.type
-                          : 'uint16',
-                      l = 'number' === typeof t.count ? t.count : 1,
-                      c = t.start || 0,
-                      u = !1 !== t.clockwise ? a : s,
-                      h = u[0],
-                      d = u[1],
-                      p = u[2],
-                      f = 6 * l,
-                      m = e || new (r(n))(f),
-                      v = 0,
-                      g = 0;
-                    v < f;
-                    v += 6, g += 4
-                  ) {
-                    var y = v + c
-                    ;(m[y + 0] = g + 0),
-                      (m[y + 1] = g + 1),
-                      (m[y + 2] = g + 2),
-                      (m[y + 3] = g + h),
-                      (m[y + 4] = g + d),
-                      (m[y + 5] = g + p)
-                  }
-                  return m
-                }
-              },
-              { 'an-array': 1, dtype: 13, 'is-buffer': 31 },
-            ],
-            52: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('function-bind'),
-                  i = e('es-abstract/es5'),
-                  o = r.call(Function.call, String.prototype.replace),
-                  a =
-                    /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/,
-                  s =
-                    /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/
-                t.exports = function () {
-                  var e = i.ToString(i.CheckObjectCoercible(this))
-                  return o(o(e, a, ''), s, '')
-                }
-              },
-              { 'es-abstract/es5': 15, 'function-bind': 26 },
-            ],
-            53: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('function-bind'),
-                  i = e('define-properties'),
-                  o = e('./implementation'),
-                  a = e('./polyfill'),
-                  s = e('./shim'),
-                  l = r.call(Function.call, a())
-                i(l, { getPolyfill: a, implementation: o, shim: s }), (t.exports = l)
-              },
-              {
-                './implementation': 52,
-                './polyfill': 54,
-                './shim': 55,
-                'define-properties': 11,
-                'function-bind': 26,
-              },
-            ],
-            54: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('./implementation'),
-                  i = '\u200b'
-                t.exports = function () {
-                  return String.prototype.trim && i.trim() === i ? String.prototype.trim : r
-                }
-              },
-              { './implementation': 52 },
-            ],
-            55: [
-              function (e, t, n) {
-                'use strict'
-                var r = e('define-properties'),
-                  i = e('./polyfill')
-                t.exports = function () {
-                  var e = i()
-                  return (
-                    r(
-                      String.prototype,
-                      { trim: e },
-                      {
-                        trim: function () {
-                          return String.prototype.trim !== e
-                        },
-                      },
-                    ),
-                    e
-                  )
-                }
-              },
-              { './polyfill': 54, 'define-properties': 11 },
-            ],
-            56: [
-              function (t, n, r) {
-                'use strict'
-                var i = {
-                    update: null,
-                    begin: null,
-                    loopBegin: null,
-                    changeBegin: null,
-                    change: null,
-                    changeComplete: null,
-                    loopComplete: null,
-                    complete: null,
-                    loop: 1,
-                    direction: 'normal',
-                    autoplay: !0,
-                    timelineOffset: 0,
-                  },
-                  o = {
-                    duration: 1e3,
-                    delay: 0,
-                    endDelay: 0,
-                    easing: 'easeOutElastic(1, .5)',
-                    round: 0,
-                  },
-                  a = [
-                    'translateX',
-                    'translateY',
-                    'translateZ',
-                    'rotate',
-                    'rotateX',
-                    'rotateY',
-                    'rotateZ',
-                    'scale',
-                    'scaleX',
-                    'scaleY',
-                    'scaleZ',
-                    'skew',
-                    'skewX',
-                    'skewY',
-                    'perspective',
-                  ],
-                  s = { CSS: {}, springs: {} }
-                function l(e, t, n) {
-                  return Math.min(Math.max(e, t), n)
-                }
-                function c(e, t) {
-                  return e.indexOf(t) > -1
-                }
-                function u(e, t) {
-                  return e.apply(null, t)
-                }
-                var h = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,
-                  d = /^rgb/,
-                  p = /^hsl/,
-                  f = {
-                    arr: function (e) {
-                      return Array.isArray(e)
-                    },
-                    obj: function (e) {
-                      return c(Object.prototype.toString.call(e), 'Object')
-                    },
-                    pth: function (e) {
-                      return f.obj(e) && e.hasOwnProperty('totalLength')
-                    },
-                    svg: function (e) {
-                      return e instanceof SVGElement
-                    },
-                    inp: function (e) {
-                      return e instanceof HTMLInputElement
-                    },
-                    dom: function (e) {
-                      return e.nodeType || f.svg(e)
-                    },
-                    str: function (e) {
-                      return 'string' === typeof e
-                    },
-                    fnc: function (e) {
-                      return 'function' === typeof e
-                    },
-                    und: function (e) {
-                      return 'undefined' === typeof e
-                    },
-                    hex: function (e) {
-                      return h.test(e)
-                    },
-                    rgb: function (e) {
-                      return d.test(e)
-                    },
-                    hsl: function (e) {
-                      return p.test(e)
-                    },
-                    col: function (e) {
-                      return f.hex(e) || f.rgb(e) || f.hsl(e)
-                    },
-                    key: function (e) {
-                      return (
-                        !i.hasOwnProperty(e) &&
-                        !o.hasOwnProperty(e) &&
-                        'targets' !== e &&
-                        'keyframes' !== e
-                      )
-                    },
-                  },
-                  m = /\(([^)]+)\)/
-                function v(e) {
-                  var t = m.exec(e)
-                  return t
-                    ? t[1].split(',').map(function (e) {
-                        return parseFloat(e)
-                      })
-                    : []
-                }
-                function g(e, t) {
-                  var n = v(e),
-                    r = l(f.und(n[0]) ? 1 : n[0], 0.1, 100),
-                    i = l(f.und(n[1]) ? 100 : n[1], 0.1, 100),
-                    o = l(f.und(n[2]) ? 10 : n[2], 0.1, 100),
-                    a = l(f.und(n[3]) ? 0 : n[3], 0.1, 100),
-                    c = Math.sqrt(i / r),
-                    u = o / (2 * Math.sqrt(i * r)),
-                    h = u < 1 ? c * Math.sqrt(1 - u * u) : 0,
-                    d = 1,
-                    p = u < 1 ? (u * c - a) / h : -a + c
-                  function m(e) {
-                    var n = t ? (t * e) / 1e3 : e
-                    return (
-                      (n =
-                        u < 1
-                          ? Math.exp(-n * u * c) * (d * Math.cos(h * n) + p * Math.sin(h * n))
-                          : (d + p * n) * Math.exp(-n * c)),
-                      0 === e || 1 === e ? e : 1 - n
-                    )
-                  }
-                  function g() {
-                    var t = s.springs[e]
-                    if (t) return t
-                    for (var n = 1 / 6, r = 0, i = 0; ; )
-                      if (1 === m((r += n))) {
-                        if (++i >= 16) break
-                      } else i = 0
-                    var o = r * n * 1e3
-                    return (s.springs[e] = o), o
-                  }
-                  return t ? m : g
-                }
-                function y(e, t) {
-                  void 0 === e && (e = 1), void 0 === t && (t = 0.5)
-                  var n = l(e, 1, 10),
-                    r = l(t, 0.1, 2)
-                  return function (e) {
-                    return 0 === e || 1 === e
-                      ? e
-                      : -n *
-                          Math.pow(2, 10 * (e - 1)) *
-                          Math.sin(
-                            ((e - 1 - (r / (2 * Math.PI)) * Math.asin(1 / n)) * (2 * Math.PI)) / r,
-                          )
-                  }
-                }
-                function b(e) {
-                  return (
-                    void 0 === e && (e = 10),
-                    function (t) {
-                      return Math.round(t * e) * (1 / e)
-                    }
-                  )
-                }
-                var A = (function () {
-                    var e = 11,
-                      t = 1 / (e - 1)
-                    function n(e, t) {
-                      return 1 - 3 * t + 3 * e
-                    }
-                    function r(e, t) {
-                      return 3 * t - 6 * e
-                    }
-                    function i(e) {
-                      return 3 * e
-                    }
-                    function o(e, t, o) {
-                      return ((n(t, o) * e + r(t, o)) * e + i(t)) * e
-                    }
-                    function a(e, t, o) {
-                      return 3 * n(t, o) * e * e + 2 * r(t, o) * e + i(t)
-                    }
-                    function s(e, t, n, r, i) {
-                      var a,
-                        s,
-                        l = 0
-                      do {
-                        ;(a = o((s = t + (n - t) / 2), r, i) - e) > 0 ? (n = s) : (t = s)
-                      } while (Math.abs(a) > 1e-7 && ++l < 10)
-                      return s
-                    }
-                    function l(e, t, n, r) {
-                      for (var i = 0; i < 4; ++i) {
-                        var s = a(t, n, r)
-                        if (0 === s) return t
-                        t -= (o(t, n, r) - e) / s
-                      }
-                      return t
-                    }
-                    function c(n, r, i, c) {
-                      if (0 <= n && n <= 1 && 0 <= i && i <= 1) {
-                        var u = new Float32Array(e)
-                        if (n !== r || i !== c) for (var h = 0; h < e; ++h) u[h] = o(h * t, n, i)
-                        return function (e) {
-                          return (n === r && i === c) || 0 === e || 1 === e ? e : o(d(e), r, c)
-                        }
-                      }
-                      function d(r) {
-                        for (var o = 0, c = 1, h = e - 1; c !== h && u[c] <= r; ++c) o += t
-                        --c
-                        var d = o + ((r - u[c]) / (u[c + 1] - u[c])) * t,
-                          p = a(d, n, i)
-                        return p >= 0.001 ? l(r, d, n, i) : 0 === p ? d : s(r, o, o + t, n, i)
-                      }
-                    }
-                    return c
-                  })(),
-                  w = (function () {
-                    var e = [
-                        'Quad',
-                        'Cubic',
-                        'Quart',
-                        'Quint',
-                        'Sine',
-                        'Expo',
-                        'Circ',
-                        'Back',
-                        'Elastic',
-                      ],
-                      t = {
-                        In: [
-                          [0.55, 0.085, 0.68, 0.53],
-                          [0.55, 0.055, 0.675, 0.19],
-                          [0.895, 0.03, 0.685, 0.22],
-                          [0.755, 0.05, 0.855, 0.06],
-                          [0.47, 0, 0.745, 0.715],
-                          [0.95, 0.05, 0.795, 0.035],
-                          [0.6, 0.04, 0.98, 0.335],
-                          [0.6, -0.28, 0.735, 0.045],
-                          y,
-                        ],
-                        Out: [
-                          [0.25, 0.46, 0.45, 0.94],
-                          [0.215, 0.61, 0.355, 1],
-                          [0.165, 0.84, 0.44, 1],
-                          [0.23, 1, 0.32, 1],
-                          [0.39, 0.575, 0.565, 1],
-                          [0.19, 1, 0.22, 1],
-                          [0.075, 0.82, 0.165, 1],
-                          [0.175, 0.885, 0.32, 1.275],
-                          function (e, t) {
-                            return function (n) {
-                              return 1 - y(e, t)(1 - n)
-                            }
-                          },
-                        ],
-                        InOut: [
-                          [0.455, 0.03, 0.515, 0.955],
-                          [0.645, 0.045, 0.355, 1],
-                          [0.77, 0, 0.175, 1],
-                          [0.86, 0, 0.07, 1],
-                          [0.445, 0.05, 0.55, 0.95],
-                          [1, 0, 0, 1],
-                          [0.785, 0.135, 0.15, 0.86],
-                          [0.68, -0.55, 0.265, 1.55],
-                          function (e, t) {
-                            return function (n) {
-                              return n < 0.5 ? y(e, t)(2 * n) / 2 : 1 - y(e, t)(-2 * n + 2) / 2
-                            }
-                          },
-                        ],
-                      },
-                      n = { linear: [0.25, 0.25, 0.75, 0.75] }
-                    for (var r in t)
-                      for (var i = 0, o = t[r].length; i < o; i++) n['ease' + r + e[i]] = t[r][i]
-                    return n
-                  })()
-                function x(e, t) {
-                  if (f.fnc(e)) return e
-                  var n = e.split('(')[0],
-                    r = w[n],
-                    i = v(e)
-                  switch (n) {
-                    case 'spring':
-                      return g(e, t)
-                    case 'cubicBezier':
-                      return u(A, i)
-                    case 'steps':
-                      return u(b, i)
-                    default:
-                      return f.fnc(r) ? u(r, i) : u(A, r)
-                  }
-                }
-                function E(t) {
-                  try {
-                    return document.querySelectorAll(t)
-                  } catch (e) {
-                    return
-                  }
-                }
-                var M = []
-                function _(e, t) {
-                  for (
-                    var n = M,
-                      r = e.length,
-                      i = arguments.length >= 2 ? arguments[1] : void 0,
-                      o = 0;
-                    o < r;
-                    o++
-                  )
-                    if (o in e) {
-                      var a = e[o]
-                      t.call(i, a, o, e) && n.push(a)
-                    }
-                  return ((M = e).length = 0), n
-                }
-                function T(e, t) {
-                  t || (t = [])
-                  for (var n = 0, r = e.length; n < r; n++) {
-                    var i = e[n]
-                    Array.isArray(i) ? T(i, t) : t.push(i)
-                  }
-                  return t
-                }
-                function S(e) {
-                  return f.arr(e)
-                    ? e
-                    : (f.str(e) && (e = E(e) || e),
-                      e instanceof NodeList || e instanceof HTMLCollection ? [].slice.call(e) : [e])
-                }
-                function C(e, t) {
-                  return e.some(function (e) {
-                    return e === t
-                  })
-                }
-                function L(e) {
-                  var t = {}
-                  for (var n in e) t[n] = e[n]
-                  return t
-                }
-                function R(e, t) {
-                  var n = L(e)
-                  for (var r in e) n[r] = t.hasOwnProperty(r) ? t[r] : e[r]
-                  return n
-                }
-                function P(e, t) {
-                  var n = L(e)
-                  for (var r in t) n[r] = f.und(e[r]) ? t[r] : e[r]
-                  return n
-                }
-                var D = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g
-                function O(e) {
-                  var t = D.exec(e)
-                  return t ? 'rgba(' + t[1] + ',1)' : e
-                }
-                var I = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
-                  B = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i
-                function F(e) {
-                  var t = e.replace(I, function (e, t, n, r) {
-                      return t + t + n + n + r + r
-                    }),
-                    n = B.exec(t)
-                  return (
-                    'rgba(' +
-                    parseInt(n[1], 16) +
-                    ',' +
-                    parseInt(n[2], 16) +
-                    ',' +
-                    parseInt(n[3], 16) +
-                    ',1)'
-                  )
-                }
-                var k = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g,
-                  N = /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g
-                function U(e) {
-                  var t,
-                    n,
-                    r,
-                    i = k.exec(e) || N.exec(e),
-                    o = parseInt(i[1], 10) / 360,
-                    a = parseInt(i[2], 10) / 100,
-                    s = parseInt(i[3], 10) / 100,
-                    l = i[4] || 1
-                  function c(e, t, n) {
-                    return (
-                      n < 0 && (n += 1),
-                      n > 1 && (n -= 1),
-                      n < 1 / 6
-                        ? e + 6 * (t - e) * n
-                        : n < 0.5
-                        ? t
-                        : n < 2 / 3
-                        ? e + (t - e) * (2 / 3 - n) * 6
-                        : e
-                    )
-                  }
-                  if (0 == a) t = n = r = s
-                  else {
-                    var u = s < 0.5 ? s * (1 + a) : s + a - s * a,
-                      h = 2 * s - u
-                    ;(t = c(h, u, o + 1 / 3)), (n = c(h, u, o)), (r = c(h, u, o - 1 / 3))
-                  }
-                  return 'rgba(' + 255 * t + ',' + 255 * n + ',' + 255 * r + ',' + l + ')'
-                }
-                function H(e) {
-                  return f.rgb(e) ? O(e) : f.hex(e) ? F(e) : f.hsl(e) ? U(e) : void 0
-                }
-                var G =
-                  /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/
-                function z(e) {
-                  var t = G.exec(e)
-                  if (t) return t[2]
-                }
-                function j(e) {
-                  return c(e, 'translate') || 'perspective' === e
-                    ? 'px'
-                    : c(e, 'rotate') || c(e, 'skew')
-                    ? 'deg'
-                    : void 0
-                }
-                function V(e, t) {
-                  return f.fnc(e) ? e(t.target, t.id, t.total) : e
-                }
-                function W(e, t) {
-                  return e.getAttribute(t)
-                }
-                function q(e, t, n) {
-                  if (C([n, 'deg', 'rad', 'turn'], z(t))) return t
-                  var r = s.CSS[t + n]
-                  if (!f.und(r)) return r
-                  var i = 100,
-                    o = document.createElement(e.tagName),
-                    a = e.parentNode && e.parentNode !== document ? e.parentNode : document.body
-                  a.appendChild(o), (o.style.position = 'absolute'), (o.style.width = i + n)
-                  var l = i / o.offsetWidth
-                  a.removeChild(o)
-                  var c = l * parseFloat(t)
-                  return (s.CSS[t + n] = c), c
-                }
-                function X(e, t, n) {
-                  if (t in e.style) {
-                    var r = t.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(),
-                      i = e.style[t] || getComputedStyle(e).getPropertyValue(r) || '0'
-                    return n ? q(e, i, n) : i
-                  }
-                }
-                function Y(e, t) {
-                  return f.dom(e) && !f.inp(e) && (W(e, t) || (f.svg(e) && e[t]))
-                    ? 'attribute'
-                    : f.dom(e) && C(a, t)
-                    ? 'transform'
-                    : f.dom(e) && 'transform' !== t && X(e, t)
-                    ? 'css'
-                    : null != e[t]
-                    ? 'object'
-                    : void 0
-                }
-                var Q = /(\w+)\(([^)]*)\)/g
-                function Z(e) {
-                  if (f.dom(e)) {
-                    for (var t, n = e.style.transform || '', r = new Map(); (t = Q.exec(n)); )
-                      r.set(t[1], t[2])
-                    return r
-                  }
-                }
-                function K(e, t, n, r) {
-                  var i = c(t, 'scale') ? 1 : 0 + j(t),
-                    o = Z(e).get(t) || i
-                  return (
-                    n && (n.transforms.list.set(t, o), (n.transforms.last = t)), r ? q(e, o, r) : o
-                  )
-                }
-                function J(e, t, n, r) {
-                  switch (Y(e, t)) {
-                    case 'transform':
-                      return K(e, t, r, n)
-                    case 'css':
-                      return X(e, t, n)
-                    case 'attribute':
-                      return W(e, t)
-                    default:
-                      return e[t] || 0
-                  }
-                }
-                var $ = /^(\*=|\+=|-=)/
-                function ee(e, t) {
-                  var n = $.exec(e)
-                  if (!n) return e
-                  var r = z(e) || 0,
-                    i = parseFloat(t),
-                    o = parseFloat(e.replace(n[0], ''))
-                  switch (n[0][0]) {
-                    case '+':
-                      return i + o + r
-                    case '-':
-                      return i - o + r
-                    case '*':
-                      return i * o + r
-                  }
-                }
-                var te = /\s/g
-                function ne(e, t) {
-                  if (f.col(e)) return H(e)
-                  var n = z(e),
-                    r = n ? e.substr(0, e.length - n.length) : e
-                  return t && !te.test(e) ? r + t : r
-                }
-                function re(e, t) {
-                  return Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))
-                }
-                function ie(e) {
-                  return 2 * Math.PI * W(e, 'r')
-                }
-                function oe(e) {
-                  return 2 * W(e, 'width') + 2 * W(e, 'height')
-                }
-                function ae(e) {
-                  return re({ x: W(e, 'x1'), y: W(e, 'y1') }, { x: W(e, 'x2'), y: W(e, 'y2') })
-                }
-                function se(e) {
-                  for (var t, n = e.points, r = 0, i = 0; i < n.numberOfItems; i++) {
-                    var o = n.getItem(i)
-                    i > 0 && (r += re(t, o)), (t = o)
-                  }
-                  return r
-                }
-                function le(e) {
-                  var t = e.points
-                  return se(e) + re(t.getItem(t.numberOfItems - 1), t.getItem(0))
-                }
-                function ce(e) {
-                  if (e.getTotalLength) return e.getTotalLength()
-                  switch (e.tagName.toLowerCase()) {
-                    case 'circle':
-                      return ie(e)
-                    case 'rect':
-                      return oe(e)
-                    case 'line':
-                      return ae(e)
-                    case 'polyline':
-                      return se(e)
-                    case 'polygon':
-                      return le(e)
-                  }
-                }
-                function ue(e) {
-                  var t = ce(e)
-                  return e.setAttribute('stroke-dasharray', t), t
-                }
-                function he(e) {
-                  for (
-                    var t = e.parentNode;
-                    f.svg(t) && ((t = t.parentNode), f.svg(t.parentNode));
-
-                  );
-                  return t
-                }
-                function de(e, t) {
-                  var n = t || {},
-                    r = n.el || he(e),
-                    i = r.getBoundingClientRect(),
-                    o = W(r, 'viewBox'),
-                    a = i.width,
-                    s = i.height,
-                    l = n.viewBox || (o ? o.split(' ') : [0, 0, a, s])
-                  return { el: r, viewBox: l, x: l[0] / 1, y: l[1] / 1, w: a / l[2], h: s / l[3] }
-                }
-                function pe(e, t) {
-                  var n = f.str(e) ? E(e)[0] : e,
-                    r = t || 100
-                  return function (e) {
-                    return { property: e, el: n, svg: de(n), totalLength: ce(n) * (r / 100) }
-                  }
-                }
-                function fe(e, t) {
-                  function n(n) {
-                    void 0 === n && (n = 0)
-                    var r = t + n >= 1 ? t + n : 0
-                    return e.el.getPointAtLength(r)
-                  }
-                  var r = de(e.el, e.svg),
-                    i = n(),
-                    o = n(-1),
-                    a = n(1)
-                  switch (e.property) {
-                    case 'x':
-                      return (i.x - r.x) * r.w
-                    case 'y':
-                      return (i.y - r.y) * r.h
-                    case 'angle':
-                      return (180 * Math.atan2(a.y - o.y, a.x - o.x)) / Math.PI
-                  }
-                }
-                var me = /-?\d*\.?\d+/g
-                function ve(e, t) {
-                  var n = ne(f.pth(e) ? e.totalLength : e, t) + ''
-                  return {
-                    original: n,
-                    numbers: n.match(me) ? n.match(me).map(Number) : [0],
-                    strings: f.str(e) || t ? n.split(me) : [],
-                  }
-                }
-                function ge(e) {
-                  return _(e ? T(f.arr(e) ? e.map(S) : S(e)) : [], function (e, t, n) {
-                    return n.indexOf(e) === t
-                  })
-                }
-                function ye(e) {
-                  var t = ge(e)
-                  return t.map(function (e, n) {
-                    return { target: e, id: n, total: t.length, transforms: { list: Z(e) } }
-                  })
-                }
-                var be = /^spring/
-                function Ae(e, t) {
-                  var n = L(t)
-                  if ((be.test(n.easing) && (n.duration = g(n.easing)), f.arr(e))) {
-                    var r = e.length
-                    2 !== r || f.obj(e[0])
-                      ? f.fnc(t.duration) || (n.duration = t.duration / r)
-                      : (e = { value: e })
-                  }
-                  var i = f.arr(e) ? e : [e]
-                  return i
-                    .map(function (e, n) {
-                      var r = f.obj(e) && !f.pth(e) ? e : { value: e }
-                      return (
-                        f.und(r.delay) && (r.delay = n ? 0 : t.delay),
-                        f.und(r.endDelay) && (r.endDelay = n === i.length - 1 ? t.endDelay : 0),
-                        r
-                      )
-                    })
-                    .map(function (e) {
-                      return P(e, n)
-                    })
-                }
-                function we(e) {
-                  for (
-                    var t = _(
-                        T(
-                          e.map(function (e) {
-                            return Object.keys(e)
-                          }),
-                        ),
-                        function (e) {
-                          return f.key(e)
-                        },
-                      ).reduce(function (e, t) {
-                        return e.indexOf(t) < 0 && e.push(t), e
-                      }, []),
-                      n = {},
-                      r = function (r) {
-                        var i = t[r]
-                        n[i] = e.map(function (e) {
-                          var t = {}
-                          for (var n in e) f.key(n) ? n == i && (t.value = e[n]) : (t[n] = e[n])
-                          return t
-                        })
-                      },
-                      i = 0;
-                    i < t.length;
-                    i++
-                  )
-                    r(i)
-                  return n
-                }
-                function xe(e, t) {
-                  var n = [],
-                    r = t.keyframes
-                  for (var i in (r && (t = P(we(r), t)), t))
-                    f.key(i) && n.push({ name: i, tweens: Ae(t[i], e) })
-                  return n
-                }
-                function Ee(e, t) {
-                  var n = {}
-                  for (var r in e) {
-                    var i = V(e[r], t)
-                    f.arr(i) &&
-                      1 ===
-                        (i = i.map(function (e) {
-                          return V(e, t)
-                        })).length &&
-                      (i = i[0]),
-                      (n[r] = i)
-                  }
-                  return (n.duration = parseFloat(n.duration)), (n.delay = parseFloat(n.delay)), n
-                }
-                function Me(e, t) {
-                  var n
-                  return e.tweens.map(function (r) {
-                    var i = Ee(r, t),
-                      o = i.value,
-                      a = f.arr(o) ? o[1] : o,
-                      s = z(a),
-                      l = J(t.target, e.name, s, t),
-                      c = n ? n.to.original : l,
-                      u = f.arr(o) ? o[0] : c,
-                      h = z(u) || z(l),
-                      d = s || h
-                    return (
-                      f.und(a) && (a = c),
-                      (i.from = ve(u, d)),
-                      (i.to = ve(ee(a, u), d)),
-                      (i.start = n ? n.end : 0),
-                      (i.end = i.start + i.delay + i.duration + i.endDelay),
-                      (i.easing = x(i.easing, i.duration)),
-                      (i.isPath = f.pth(o)),
-                      (i.isColor = f.col(i.from.original)),
-                      i.isColor && (i.round = 1),
-                      (n = i),
-                      i
-                    )
-                  })
-                }
-                var _e = {
-                  css: function (e, t, n) {
-                    return (e.style[t] = n)
-                  },
-                  attribute: function (e, t, n) {
-                    return e.setAttribute(t, n)
-                  },
-                  object: function (e, t, n) {
-                    return (e[t] = n)
-                  },
-                  transform: function (e, t, n, r, i) {
-                    if ((r.list.set(t, n), t === r.last || i)) {
-                      var o = ''
-                      r.list.forEach(function (e, t) {
-                        o += t + '(' + e + ') '
-                      }),
-                        (e.style.transform = o)
-                    }
-                  },
-                }
-                function Te(e, t) {
-                  for (var n = ye(e), r = 0, i = n.length; r < i; r++) {
-                    var o = n[r]
-                    for (var a in t) {
-                      var s = V(t[a], o),
-                        l = o.target,
-                        c = z(s),
-                        u = J(l, a, c, o),
-                        h = ee(ne(s, c || z(u)), u),
-                        d = Y(l, a)
-                      _e[d](l, a, h, o.transforms, !0)
-                    }
-                  }
-                }
-                function Se(e, t) {
-                  var n = Y(e.target, t.name)
-                  if (n) {
-                    var r = Me(t, e),
-                      i = r[r.length - 1]
-                    return {
-                      type: n,
-                      property: t.name,
-                      animatable: e,
-                      tweens: r,
-                      duration: i.end,
-                      delay: r[0].delay,
-                      endDelay: i.endDelay,
-                    }
-                  }
-                }
-                function Ce(e, t) {
-                  return _(
-                    T(
-                      e.map(function (e) {
-                        return t.map(function (t) {
-                          return Se(e, t)
-                        })
-                      }),
-                    ),
-                    function (e) {
-                      return !f.und(e)
-                    },
-                  )
-                }
-                function Le(e, t) {
-                  var n = e.length,
-                    r = function (e) {
-                      return e.timelineOffset ? e.timelineOffset : 0
-                    },
-                    i = {}
-                  return (
-                    (i.duration = n
-                      ? Math.max.apply(
-                          Math,
-                          e.map(function (e) {
-                            return r(e) + e.duration
-                          }),
-                        )
-                      : t.duration),
-                    (i.delay = n
-                      ? Math.min.apply(
-                          Math,
-                          e.map(function (e) {
-                            return r(e) + e.delay
-                          }),
-                        )
-                      : t.delay),
-                    (i.endDelay = n
-                      ? i.duration -
-                        Math.max.apply(
-                          Math,
-                          e.map(function (e) {
-                            return r(e) + e.duration - e.endDelay
-                          }),
-                        )
-                      : t.endDelay),
-                    i
-                  )
-                }
-                var Re = 0
-                function Pe(e) {
-                  var t = R(i, e),
-                    n = R(o, e),
-                    r = xe(n, e),
-                    a = ye(e.targets),
-                    s = Ce(a, r),
-                    l = Le(s, n),
-                    c = Re
-                  return (
-                    Re++,
-                    P(t, {
-                      id: c,
-                      children: [],
-                      animatables: a,
-                      animations: s,
-                      duration: l.duration,
-                      delay: l.delay,
-                      endDelay: l.endDelay,
-                    })
-                  )
-                }
-                var De,
-                  Oe = [],
-                  Ie = [],
-                  Be = (function () {
-                    function e() {
-                      De = requestAnimationFrame(t)
-                    }
-                    function t(t) {
-                      var n = Oe.length
-                      if (n) {
-                        for (var r = 0; r < n; ) {
-                          var i = Oe[r]
-                          if (i.paused) {
-                            var o = Oe.indexOf(i)
-                            o > -1 && (Oe.splice(o, 1), (n = Oe.length))
-                          } else i.tick(t)
-                          r++
-                        }
-                        e()
-                      } else De = cancelAnimationFrame(De)
-                    }
-                    return e
-                  })()
-                function Fe() {
-                  if (document.hidden) {
-                    for (var e = 0, t = Oe.length; e < t; e++) activeInstance[e].pause()
-                    ;(Ie = Oe.slice(0)), (Oe = [])
-                  } else for (var n = 0, r = Ie.length; n < r; n++) Ie[n].play()
-                }
-                function ke(e) {
-                  void 0 === e && (e = {})
-                  var t,
-                    n = 0,
-                    r = 0,
-                    i = 0,
-                    o = 0,
-                    a = null
-                  function s() {
-                    return (
-                      window.Promise &&
-                      new Promise(function (e) {
-                        return (a = e)
-                      })
-                    )
-                  }
-                  var c = s(),
-                    u = Pe(e)
-                  function h() {
-                    u.reversed = !u.reversed
-                    for (var e = 0, n = t.length; e < n; e++) t[e].reversed = u.reversed
-                  }
-                  function d(e) {
-                    return u.reversed ? u.duration - e : e
-                  }
-                  function p() {
-                    ;(n = 0), (r = d(u.currentTime) * (1 / ke.speed))
-                  }
-                  function f(e, t) {
-                    t && t.seek(e - t.timelineOffset)
-                  }
-                  function m(e) {
-                    if (u.reversePlayback) for (var n = o; n--; ) f(e, t[n])
-                    else for (var r = 0; r < o; r++) f(e, t[r])
-                  }
-                  function v(e) {
-                    for (var t = 0, n = u.animations, r = n.length; t < r; ) {
-                      var i = n[t],
-                        o = i.animatable,
-                        a = i.tweens,
-                        s = a.length - 1,
-                        c = a[s]
-                      s &&
-                        (c =
-                          _(a, function (t) {
-                            return e < t.end
-                          })[0] || c)
-                      for (
-                        var h = l(e - c.start - c.delay, 0, c.duration) / c.duration,
-                          d = isNaN(h) ? 1 : c.easing(h),
-                          p = c.to.strings,
-                          f = c.round,
-                          m = [],
-                          v = c.to.numbers.length,
-                          g = void 0,
-                          y = 0;
-                        y < v;
-                        y++
-                      ) {
-                        var b = void 0,
-                          A = c.to.numbers[y],
-                          w = c.from.numbers[y] || 0
-                        ;(b = c.isPath ? fe(c.value, d * A) : w + d * (A - w)),
-                          f && ((c.isColor && y > 2) || (b = Math.round(b * f) / f)),
-                          m.push(b)
-                      }
-                      var x = p.length
-                      if (x) {
-                        g = p[0]
-                        for (var E = 0; E < x; E++) {
-                          p[E]
-                          var M = p[E + 1],
-                            T = m[E]
-                          isNaN(T) || (g += M ? T + M : T + ' ')
-                        }
-                      } else g = m[0]
-                      _e[i.type](o.target, i.property, g, o.transforms), (i.currentValue = g), t++
-                    }
-                  }
-                  function g(e) {
-                    u[e] && !u.passThrough && u[e](u)
-                  }
-                  function y() {
-                    u.remaining && !0 !== u.remaining && u.remaining--
-                  }
-                  function b(e) {
-                    var o = u.duration,
-                      p = u.delay,
-                      f = o - u.endDelay,
-                      b = d(e)
-                    ;(u.progress = l((b / o) * 100, 0, 100)),
-                      (u.reversePlayback = b < u.currentTime),
-                      t && m(b),
-                      !u.began && u.currentTime > 0 && ((u.began = !0), g('begin'), g('loopBegin')),
-                      b <= p && 0 !== u.currentTime && v(0),
-                      ((b >= f && u.currentTime !== o) || !o) && v(o),
-                      b > p && b < f
-                        ? (u.changeBegan ||
-                            ((u.changeBegan = !0), (u.changeCompleted = !1), g('changeBegin')),
-                          g('change'),
-                          v(b))
-                        : u.changeBegan &&
-                          ((u.changeCompleted = !0), (u.changeBegan = !1), g('changeComplete')),
-                      (u.currentTime = l(b, 0, o)),
-                      u.began && g('update'),
-                      e >= o &&
-                        ((r = 0),
-                        y(),
-                        u.remaining
-                          ? ((n = i),
-                            g('loopComplete'),
-                            g('loopBegin'),
-                            'alternate' === u.direction && h())
-                          : ((u.paused = !0),
-                            u.completed ||
-                              ((u.completed = !0),
-                              g('loopComplete'),
-                              g('complete'),
-                              'Promise' in window && (a(), (c = s())))))
-                  }
-                  return (
-                    (u.reset = function () {
-                      var e = u.direction
-                      ;(u.passThrough = !1),
-                        (u.currentTime = 0),
-                        (u.progress = 0),
-                        (u.paused = !0),
-                        (u.began = !1),
-                        (u.changeBegan = !1),
-                        (u.completed = !1),
-                        (u.changeCompleted = !1),
-                        (u.reversePlayback = !1),
-                        (u.reversed = 'reverse' === e),
-                        (u.remaining = u.loop),
-                        (t = u.children)
-                      for (var n = (o = t.length); n--; ) u.children[n].reset()
-                      ;((u.reversed && !0 !== u.loop) || ('alternate' === e && 1 === u.loop)) &&
-                        u.remaining++,
-                        v(0)
-                    }),
-                    (u.set = function (e, t) {
-                      return Te(e, t), u
-                    }),
-                    (u.tick = function (e) {
-                      ;(i = e), n || (n = i), b((i + (r - n)) * ke.speed)
-                    }),
-                    (u.seek = function (e) {
-                      b(d(e))
-                    }),
-                    (u.pause = function () {
-                      ;(u.paused = !0), p()
-                    }),
-                    (u.play = function () {
-                      u.paused && ((u.paused = !1), Oe.push(u), p(), De || Be())
-                    }),
-                    (u.reverse = function () {
-                      h(), p()
-                    }),
-                    (u.restart = function () {
-                      u.reset(), u.play()
-                    }),
-                    (u.finished = c),
-                    u.reset(),
-                    u.autoplay && u.play(),
-                    u
-                  )
-                }
-                function Ne(e, t) {
-                  for (var n = t.length; n--; ) C(e, t[n].animatable.target) && t.splice(n, 1)
-                }
-                function Ue(e) {
-                  for (var t = ge(e), n = Oe.length; n--; ) {
-                    var r = Oe[n],
-                      i = r.animations,
-                      o = r.children
-                    Ne(t, i)
-                    for (var a = o.length; a--; ) {
-                      var s = o[a],
-                        l = s.animations
-                      Ne(t, l), l.length || s.children.length || o.splice(a, 1)
-                    }
-                    i.length || o.length || r.pause()
-                  }
-                }
-                function He(e, t) {
-                  void 0 === t && (t = {})
-                  var n = t.direction || 'normal',
-                    r = t.easing ? x(t.easing) : null,
-                    i = t.grid,
-                    o = t.axis,
-                    a = t.from || 0,
-                    s = 'first' === a,
-                    l = 'center' === a,
-                    c = 'last' === a,
-                    u = f.arr(e),
-                    h = u ? parseFloat(e[0]) : parseFloat(e),
-                    d = u ? parseFloat(e[1]) : 0,
-                    p = z(u ? e[1] : e) || 0,
-                    m = t.start || 0 + (u ? h : 0),
-                    v = [],
-                    g = 0
-                  return function (e, t, f) {
-                    if ((s && (a = 0), l && (a = (f - 1) / 2), c && (a = f - 1), !v.length)) {
-                      for (var y = 0; y < f; y++) {
-                        if (i) {
-                          var b = l ? (i[0] - 1) / 2 : a % i[0],
-                            A = l ? (i[1] - 1) / 2 : Math.floor(a / i[0]),
-                            w = b - (y % i[0]),
-                            x = A - Math.floor(y / i[0]),
-                            E = Math.sqrt(w * w + x * x)
-                          'x' === o && (E = -w), 'y' === o && (E = -x), v.push(E)
-                        } else v.push(Math.abs(a - y))
-                        g = Math.max.apply(Math, v)
-                      }
-                      r &&
-                        (v = v.map(function (e) {
-                          return r(e / g) * g
-                        })),
-                        'reverse' === n &&
-                          (v = v.map(function (e) {
-                            return o ? (e < 0 ? -1 * e : -e) : Math.abs(g - e)
-                          }))
-                    }
-                    return m + (u ? (d - h) / g : h) * (Math.round(100 * v[t]) / 100) + p
-                  }
-                }
-                function Ge(e) {
-                  void 0 === e && (e = {})
-                  var t = ke(e)
-                  return (
-                    (t.duration = 0),
-                    (t.add = function (n, r) {
-                      var i = Oe.indexOf(t),
-                        a = t.children
-                      function s(e) {
-                        e.passThrough = !0
-                      }
-                      i > -1 && Oe.splice(i, 1)
-                      for (var l = 0; l < a.length; l++) s(a[l])
-                      var c = P(n, R(o, e))
-                      c.targets = c.targets || e.targets
-                      var u = t.duration
-                      ;(c.autoplay = !1),
-                        (c.direction = t.direction),
-                        (c.timelineOffset = f.und(r) ? u : ee(r, u)),
-                        s(t),
-                        t.seek(c.timelineOffset)
-                      var h = ke(c)
-                      s(h), a.push(h)
-                      var d = Le(a, e)
-                      return (
-                        (t.delay = d.delay),
-                        (t.endDelay = d.endDelay),
-                        (t.duration = d.duration),
-                        t.seek(0),
-                        t.reset(),
-                        t.autoplay && t.play(),
-                        t
-                      )
-                    }),
-                    t
-                  )
-                }
-                document.addEventListener('visibilitychange', Fe),
-                  (ke.version = '3.0.0'),
-                  (ke.speed = 1),
-                  (ke.running = Oe),
-                  (ke.remove = Ue),
-                  (ke.get = J),
-                  (ke.set = Te),
-                  (ke.convertPx = q),
-                  (ke.path = pe),
-                  (ke.setDashoffset = ue),
-                  (ke.stagger = He),
-                  (ke.timeline = Ge),
-                  (ke.easing = x),
-                  (ke.penner = w),
-                  (ke.random = function (e, t) {
-                    return Math.floor(Math.random() * (t - e + 1)) + e
-                  }),
-                  (n.exports = ke)
-              },
-              {},
-            ],
-            57: [
-              function (n, r, i) {
-                var o, a
-                ;(o = this),
-                  (a = function (t) {
-                    'use strict'
-                    void 0 === Number.EPSILON && (Number.EPSILON = Math.pow(2, -52)),
-                      void 0 === Number.isInteger &&
-                        (Number.isInteger = function (e) {
-                          return 'number' === typeof e && isFinite(e) && Math.floor(e) === e
-                        }),
-                      void 0 === Math.sign &&
-                        (Math.sign = function (e) {
-                          return e < 0 ? -1 : e > 0 ? 1 : +e
-                        }),
-                      'name' in Function.prototype === !1 &&
-                        Object.defineProperty(Function.prototype, 'name', {
-                          get: function () {
-                            return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]
-                          },
-                        }),
-                      void 0 === Object.assign &&
-                        (Object.assign = function (e) {
-                          if (void 0 === e || null === e)
-                            throw new TypeError('Cannot convert undefined or null to object')
-                          for (var t = Object(e), n = 1; n < arguments.length; n++) {
-                            var r = arguments[n]
-                            if (void 0 !== r && null !== r)
-                              for (var i in r)
-                                Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i])
-                          }
-                          return t
-                        })
-                    var n = (function (e) {
-                      var t,
-                        n = Object.prototype,
-                        r = n.hasOwnProperty,
-                        i = 'function' === typeof Symbol ? Symbol : {},
-                        o = i.iterator || '@@iterator',
-                        a = i.asyncIterator || '@@asyncIterator',
-                        s = i.toStringTag || '@@toStringTag'
-                      function l(e, t, n) {
-                        return (
-                          Object.defineProperty(e, t, {
-                            value: n,
-                            enumerable: !0,
-                            configurable: !0,
-                            writable: !0,
-                          }),
-                          e[t]
-                        )
-                      }
-                      try {
-                        l({}, '')
-                      } catch (D) {
-                        l = function (e, t, n) {
-                          return (e[t] = n)
-                        }
-                      }
-                      function c(e, t, n, r) {
-                        var i = t && t.prototype instanceof v ? t : v,
-                          o = Object.create(i.prototype),
-                          a = new L(r || [])
-                        return (o._invoke = _(e, n, a)), o
-                      }
-                      function u(e, t, n) {
-                        try {
-                          return { type: 'normal', arg: e.call(t, n) }
-                        } catch (D) {
-                          return { type: 'throw', arg: D }
-                        }
-                      }
-                      e.wrap = c
-                      var h = 'suspendedStart',
-                        d = 'suspendedYield',
-                        p = 'executing',
-                        f = 'completed',
-                        m = {}
-                      function v() {}
-                      function g() {}
-                      function y() {}
-                      var b = {}
-                      b[o] = function () {
-                        return this
-                      }
-                      var A = Object.getPrototypeOf,
-                        w = A && A(A(R([])))
-                      w && w !== n && r.call(w, o) && (b = w)
-                      var x = (y.prototype = v.prototype = Object.create(b))
-                      function E(e) {
-                        ;['next', 'throw', 'return'].forEach(function (t) {
-                          l(e, t, function (e) {
-                            return this._invoke(t, e)
-                          })
-                        })
-                      }
-                      function M(e, t) {
-                        function n(i, o, a, s) {
-                          var l = u(e[i], e, o)
-                          if ('throw' !== l.type) {
-                            var c = l.arg,
-                              h = c.value
-                            return h && 'object' === typeof h && r.call(h, '__await')
-                              ? t.resolve(h.__await).then(
-                                  function (e) {
-                                    n('next', e, a, s)
-                                  },
-                                  function (e) {
-                                    n('throw', e, a, s)
-                                  },
-                                )
-                              : t.resolve(h).then(
-                                  function (e) {
-                                    ;(c.value = e), a(c)
-                                  },
-                                  function (e) {
-                                    return n('throw', e, a, s)
-                                  },
-                                )
-                          }
-                          s(l.arg)
-                        }
-                        var i
-                        function o(e, r) {
-                          function o() {
-                            return new t(function (t, i) {
-                              n(e, r, t, i)
-                            })
-                          }
-                          return (i = i ? i.then(o, o) : o())
-                        }
-                        this._invoke = o
-                      }
-                      function _(e, t, n) {
-                        var r = h
-                        return function (i, o) {
-                          if (r === p) throw new Error('Generator is already running')
-                          if (r === f) {
-                            if ('throw' === i) throw o
-                            return P()
-                          }
-                          for (n.method = i, n.arg = o; ; ) {
-                            var a = n.delegate
-                            if (a) {
-                              var s = T(a, n)
-                              if (s) {
-                                if (s === m) continue
-                                return s
-                              }
-                            }
-                            if ('next' === n.method) n.sent = n._sent = n.arg
-                            else if ('throw' === n.method) {
-                              if (r === h) throw ((r = f), n.arg)
-                              n.dispatchException(n.arg)
-                            } else 'return' === n.method && n.abrupt('return', n.arg)
-                            r = p
-                            var l = u(e, t, n)
-                            if ('normal' === l.type) {
-                              if (((r = n.done ? f : d), l.arg === m)) continue
-                              return { value: l.arg, done: n.done }
-                            }
-                            'throw' === l.type && ((r = f), (n.method = 'throw'), (n.arg = l.arg))
-                          }
-                        }
-                      }
-                      function T(e, n) {
-                        var r = e.iterator[n.method]
-                        if (r === t) {
-                          if (((n.delegate = null), 'throw' === n.method)) {
-                            if (
-                              e.iterator.return &&
-                              ((n.method = 'return'), (n.arg = t), T(e, n), 'throw' === n.method)
-                            )
-                              return m
-                            ;(n.method = 'throw'),
-                              (n.arg = new TypeError(
-                                "The iterator does not provide a 'throw' method",
-                              ))
-                          }
-                          return m
-                        }
-                        var i = u(r, e.iterator, n.arg)
-                        if ('throw' === i.type)
-                          return (n.method = 'throw'), (n.arg = i.arg), (n.delegate = null), m
-                        var o = i.arg
-                        return o
-                          ? o.done
-                            ? ((n[e.resultName] = o.value),
-                              (n.next = e.nextLoc),
-                              'return' !== n.method && ((n.method = 'next'), (n.arg = t)),
-                              (n.delegate = null),
-                              m)
-                            : o
-                          : ((n.method = 'throw'),
-                            (n.arg = new TypeError('iterator result is not an object')),
-                            (n.delegate = null),
-                            m)
-                      }
-                      function S(e) {
-                        var t = { tryLoc: e[0] }
-                        1 in e && (t.catchLoc = e[1]),
-                          2 in e && ((t.finallyLoc = e[2]), (t.afterLoc = e[3])),
-                          this.tryEntries.push(t)
-                      }
-                      function C(e) {
-                        var t = e.completion || {}
-                        ;(t.type = 'normal'), delete t.arg, (e.completion = t)
-                      }
-                      function L(e) {
-                        ;(this.tryEntries = [{ tryLoc: 'root' }]),
-                          e.forEach(S, this),
-                          this.reset(!0)
-                      }
-                      function R(e) {
-                        if (e) {
-                          var n = e[o]
-                          if (n) return n.call(e)
-                          if ('function' === typeof e.next) return e
-                          if (!isNaN(e.length)) {
-                            var i = -1,
-                              a = function n() {
-                                for (; ++i < e.length; )
-                                  if (r.call(e, i)) return (n.value = e[i]), (n.done = !1), n
-                                return (n.value = t), (n.done = !0), n
-                              }
-                            return (a.next = a)
-                          }
-                        }
-                        return { next: P }
-                      }
-                      function P() {
-                        return { value: t, done: !0 }
-                      }
-                      return (
-                        (g.prototype = x.constructor = y),
-                        (y.constructor = g),
-                        (g.displayName = l(y, s, 'GeneratorFunction')),
-                        (e.isGeneratorFunction = function (e) {
-                          var t = 'function' === typeof e && e.constructor
-                          return (
-                            !!t && (t === g || 'GeneratorFunction' === (t.displayName || t.name))
-                          )
-                        }),
-                        (e.mark = function (e) {
-                          return (
-                            Object.setPrototypeOf
-                              ? Object.setPrototypeOf(e, y)
-                              : ((e.__proto__ = y), l(e, s, 'GeneratorFunction')),
-                            (e.prototype = Object.create(x)),
-                            e
-                          )
-                        }),
-                        (e.awrap = function (e) {
-                          return { __await: e }
-                        }),
-                        E(M.prototype),
-                        (M.prototype[a] = function () {
-                          return this
-                        }),
-                        (e.AsyncIterator = M),
-                        (e.async = function (t, n, r, i, o) {
-                          void 0 === o && (o = Promise)
-                          var a = new M(c(t, n, r, i), o)
-                          return e.isGeneratorFunction(n)
-                            ? a
-                            : a.next().then(function (e) {
-                                return e.done ? e.value : a.next()
-                              })
-                        }),
-                        E(x),
-                        l(x, s, 'Generator'),
-                        (x[o] = function () {
-                          return this
-                        }),
-                        (x.toString = function () {
-                          return '[object Generator]'
-                        }),
-                        (e.keys = function (e) {
-                          var t = []
-                          for (var n in e) t.push(n)
-                          return (
-                            t.reverse(),
-                            function n() {
-                              for (; t.length; ) {
-                                var r = t.pop()
-                                if (r in e) return (n.value = r), (n.done = !1), n
-                              }
-                              return (n.done = !0), n
-                            }
-                          )
-                        }),
-                        (e.values = R),
-                        (L.prototype = {
-                          constructor: L,
-                          reset: function (e) {
-                            if (
-                              ((this.prev = 0),
-                              (this.next = 0),
-                              (this.sent = this._sent = t),
-                              (this.done = !1),
-                              (this.delegate = null),
-                              (this.method = 'next'),
-                              (this.arg = t),
-                              this.tryEntries.forEach(C),
-                              !e)
-                            )
-                              for (var n in this)
-                                't' === n.charAt(0) &&
-                                  r.call(this, n) &&
-                                  !isNaN(+n.slice(1)) &&
-                                  (this[n] = t)
-                          },
-                          stop: function () {
-                            this.done = !0
-                            var e = this.tryEntries[0].completion
-                            if ('throw' === e.type) throw e.arg
-                            return this.rval
-                          },
-                          dispatchException: function (e) {
-                            if (this.done) throw e
-                            var n = this
-                            function i(r, i) {
-                              return (
-                                (s.type = 'throw'),
-                                (s.arg = e),
-                                (n.next = r),
-                                i && ((n.method = 'next'), (n.arg = t)),
-                                !!i
-                              )
-                            }
-                            for (var o = this.tryEntries.length - 1; o >= 0; --o) {
-                              var a = this.tryEntries[o],
-                                s = a.completion
-                              if ('root' === a.tryLoc) return i('end')
-                              if (a.tryLoc <= this.prev) {
-                                var l = r.call(a, 'catchLoc'),
-                                  c = r.call(a, 'finallyLoc')
-                                if (l && c) {
-                                  if (this.prev < a.catchLoc) return i(a.catchLoc, !0)
-                                  if (this.prev < a.finallyLoc) return i(a.finallyLoc)
-                                } else if (l) {
-                                  if (this.prev < a.catchLoc) return i(a.catchLoc, !0)
-                                } else {
-                                  if (!c) throw new Error('try statement without catch or finally')
-                                  if (this.prev < a.finallyLoc) return i(a.finallyLoc)
-                                }
-                              }
-                            }
-                          },
-                          abrupt: function (e, t) {
-                            for (var n = this.tryEntries.length - 1; n >= 0; --n) {
-                              var i = this.tryEntries[n]
-                              if (
-                                i.tryLoc <= this.prev &&
-                                r.call(i, 'finallyLoc') &&
-                                this.prev < i.finallyLoc
-                              ) {
-                                var o = i
-                                break
-                              }
-                            }
-                            o &&
-                              ('break' === e || 'continue' === e) &&
-                              o.tryLoc <= t &&
-                              t <= o.finallyLoc &&
-                              (o = null)
-                            var a = o ? o.completion : {}
-                            return (
-                              (a.type = e),
-                              (a.arg = t),
-                              o
-                                ? ((this.method = 'next'), (this.next = o.finallyLoc), m)
-                                : this.complete(a)
-                            )
-                          },
-                          complete: function (e, t) {
-                            if ('throw' === e.type) throw e.arg
-                            return (
-                              'break' === e.type || 'continue' === e.type
-                                ? (this.next = e.arg)
-                                : 'return' === e.type
-                                ? ((this.rval = this.arg = e.arg),
-                                  (this.method = 'return'),
-                                  (this.next = 'end'))
-                                : 'normal' === e.type && t && (this.next = t),
-                              m
-                            )
-                          },
-                          finish: function (e) {
-                            for (var t = this.tryEntries.length - 1; t >= 0; --t) {
-                              var n = this.tryEntries[t]
-                              if (n.finallyLoc === e)
-                                return this.complete(n.completion, n.afterLoc), C(n), m
-                            }
-                          },
-                          catch: function (e) {
-                            for (var t = this.tryEntries.length - 1; t >= 0; --t) {
-                              var n = this.tryEntries[t]
-                              if (n.tryLoc === e) {
-                                var r = n.completion
-                                if ('throw' === r.type) {
-                                  var i = r.arg
-                                  C(n)
-                                }
-                                return i
-                              }
-                            }
-                            throw new Error('illegal catch attempt')
-                          },
-                          delegateYield: function (e, n, r) {
-                            return (
-                              (this.delegate = { iterator: R(e), resultName: n, nextLoc: r }),
-                              'next' === this.method && (this.arg = t),
-                              m
-                            )
-                          },
-                        }),
-                        e
-                      )
-                    })('object' === typeof r ? r.exports : {})
-                    try {
-                      regeneratorRuntime = n
-                    } catch (ym) {
-                      Function('r', 'regeneratorRuntime = r')(n)
-                    }
-                    var i = '125',
-                      o = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 },
-                      a = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 },
-                      s = 0,
-                      l = 1,
-                      c = 2,
-                      u = 3,
-                      h = 0,
-                      d = 1,
-                      p = 2,
-                      f = 3,
-                      m = 0,
-                      v = 1,
-                      g = 2,
-                      y = 1,
-                      b = 2,
-                      A = 0,
-                      w = 1,
-                      x = 2,
-                      E = 3,
-                      M = 4,
-                      _ = 5,
-                      T = 100,
-                      S = 101,
-                      C = 102,
-                      L = 103,
-                      R = 104,
-                      P = 200,
-                      D = 201,
-                      O = 202,
-                      I = 203,
-                      B = 204,
-                      F = 205,
-                      k = 206,
-                      N = 207,
-                      U = 208,
-                      H = 209,
-                      G = 210,
-                      z = 0,
-                      j = 1,
-                      V = 2,
-                      W = 3,
-                      q = 4,
-                      X = 5,
-                      Y = 6,
-                      Q = 7,
-                      Z = 0,
-                      K = 1,
-                      J = 2,
-                      $ = 0,
-                      ee = 1,
-                      te = 2,
-                      ne = 3,
-                      re = 4,
-                      ie = 5,
-                      oe = 300,
-                      ae = 301,
-                      se = 302,
-                      le = 303,
-                      ce = 304,
-                      ue = 306,
-                      he = 307,
-                      de = 1e3,
-                      pe = 1001,
-                      fe = 1002,
-                      me = 1003,
-                      ve = 1004,
-                      ge = 1004,
-                      ye = 1005,
-                      be = 1005,
-                      Ae = 1006,
-                      we = 1007,
-                      xe = 1007,
-                      Ee = 1008,
-                      Me = 1008,
-                      _e = 1009,
-                      Te = 1010,
-                      Se = 1011,
-                      Ce = 1012,
-                      Le = 1013,
-                      Re = 1014,
-                      Pe = 1015,
-                      De = 1016,
-                      Oe = 1017,
-                      Ie = 1018,
-                      Be = 1019,
-                      Fe = 1020,
-                      ke = 1021,
-                      Ne = 1022,
-                      Ue = 1023,
-                      He = 1024,
-                      Ge = 1025,
-                      ze = Ue,
-                      je = 1026,
-                      Ve = 1027,
-                      We = 1028,
-                      qe = 1029,
-                      Xe = 1030,
-                      Ye = 1031,
-                      Qe = 1032,
-                      Ze = 1033,
-                      Ke = 33776,
-                      Je = 33777,
-                      $e = 33778,
-                      et = 33779,
-                      tt = 35840,
-                      nt = 35841,
-                      rt = 35842,
-                      it = 35843,
-                      ot = 36196,
-                      at = 37492,
-                      st = 37496,
-                      lt = 37808,
-                      ct = 37809,
-                      ut = 37810,
-                      ht = 37811,
-                      dt = 37812,
-                      pt = 37813,
-                      ft = 37814,
-                      mt = 37815,
-                      vt = 37816,
-                      gt = 37817,
-                      yt = 37818,
-                      bt = 37819,
-                      At = 37820,
-                      wt = 37821,
-                      xt = 36492,
-                      Et = 37840,
-                      Mt = 37841,
-                      _t = 37842,
-                      Tt = 37843,
-                      St = 37844,
-                      Ct = 37845,
-                      Lt = 37846,
-                      Rt = 37847,
-                      Pt = 37848,
-                      Dt = 37849,
-                      Ot = 37850,
-                      It = 37851,
-                      Bt = 37852,
-                      Ft = 37853,
-                      kt = 2200,
-                      Nt = 2201,
-                      Ut = 2202,
-                      Ht = 2300,
-                      Gt = 2301,
-                      zt = 2302,
-                      jt = 2400,
-                      Vt = 2401,
-                      Wt = 2402,
-                      qt = 2500,
-                      Xt = 2501,
-                      Yt = 0,
-                      Qt = 1,
-                      Zt = 2,
-                      Kt = 3e3,
-                      Jt = 3001,
-                      $t = 3007,
-                      en = 3002,
-                      tn = 3003,
-                      nn = 3004,
-                      rn = 3005,
-                      on = 3006,
-                      an = 3200,
-                      sn = 3201,
-                      ln = 0,
-                      cn = 1,
-                      un = 0,
-                      hn = 7680,
-                      dn = 7681,
-                      pn = 7682,
-                      fn = 7683,
-                      mn = 34055,
-                      vn = 34056,
-                      gn = 5386,
-                      yn = 512,
-                      bn = 513,
-                      An = 514,
-                      wn = 515,
-                      xn = 516,
-                      En = 517,
-                      Mn = 518,
-                      _n = 519,
-                      Tn = 35044,
-                      Sn = 35048,
-                      Cn = 35040,
-                      Ln = 35045,
-                      Rn = 35049,
-                      Pn = 35041,
-                      Dn = 35046,
-                      On = 35050,
-                      In = 35042,
-                      Bn = '100',
-                      Fn = '300 es'
-                    function kn(e, t, n, r, i, o, a) {
-                      try {
-                        var s = e[o](a),
-                          l = s.value
-                      } catch (c) {
-                        return void n(c)
-                      }
-                      s.done ? t(l) : Promise.resolve(l).then(r, i)
-                    }
-                    function Nn(e) {
-                      return function () {
-                        var t = this,
-                          n = arguments
-                        return new Promise(function (r, i) {
-                          var o = e.apply(t, n)
-                          function a(e) {
-                            kn(o, r, i, a, s, 'next', e)
-                          }
-                          function s(e) {
-                            kn(o, r, i, a, s, 'throw', e)
-                          }
-                          a(void 0)
-                        })
-                      }
-                    }
-                    function Un(e, t) {
-                      for (var n = 0; n < t.length; n++) {
-                        var r = t[n]
-                        ;(r.enumerable = r.enumerable || !1),
-                          (r.configurable = !0),
-                          'value' in r && (r.writable = !0),
-                          Object.defineProperty(e, r.key, r)
-                      }
-                    }
-                    function Hn(e, t, n) {
-                      return t && Un(e.prototype, t), n && Un(e, n), e
-                    }
-                    function Gn(e, t) {
-                      ;(e.prototype = Object.create(t.prototype)),
-                        (e.prototype.constructor = e),
-                        (e.__proto__ = t)
-                    }
-                    function zn(e) {
-                      if (void 0 === e)
-                        throw new ReferenceError(
-                          "this hasn't been initialised - super() hasn't been called",
-                        )
-                      return e
-                    }
-                    function jn(e, t) {
-                      if (e) {
-                        if ('string' === typeof e) return Vn(e, t)
-                        var n = Object.prototype.toString.call(e).slice(8, -1)
-                        return (
-                          'Object' === n && e.constructor && (n = e.constructor.name),
-                          'Map' === n || 'Set' === n
-                            ? Array.from(e)
-                            : 'Arguments' === n ||
-                              /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-                            ? Vn(e, t)
-                            : void 0
-                        )
-                      }
-                    }
-                    function Vn(e, t) {
-                      ;(null == t || t > e.length) && (t = e.length)
-                      for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
-                      return r
-                    }
-                    function Wn(e, t) {
-                      var n
-                      if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-                        if (
-                          Array.isArray(e) ||
-                          (n = jn(e)) ||
-                          (t && e && 'number' === typeof e.length)
-                        ) {
-                          n && (e = n)
-                          var r = 0
-                          return function () {
-                            return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
-                          }
-                        }
-                        throw new TypeError(
-                          'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-                        )
-                      }
-                      return (n = e[Symbol.iterator]()).next.bind(n)
-                    }
-                    function qn() {}
-                    Object.assign(qn.prototype, {
-                      addEventListener: function (e, t) {
-                        void 0 === this._listeners && (this._listeners = {})
-                        var n = this._listeners
-                        void 0 === n[e] && (n[e] = []), -1 === n[e].indexOf(t) && n[e].push(t)
-                      },
-                      hasEventListener: function (e, t) {
-                        if (void 0 === this._listeners) return !1
-                        var n = this._listeners
-                        return void 0 !== n[e] && -1 !== n[e].indexOf(t)
-                      },
-                      removeEventListener: function (e, t) {
-                        if (void 0 !== this._listeners) {
-                          var n = this._listeners[e]
-                          if (void 0 !== n) {
-                            var r = n.indexOf(t)
-                            ;-1 !== r && n.splice(r, 1)
-                          }
-                        }
-                      },
-                      dispatchEvent: function (e) {
-                        if (void 0 !== this._listeners) {
-                          var t = this._listeners[e.type]
-                          if (void 0 !== t) {
-                            e.target = this
-                            for (var n = t.slice(0), r = 0, i = n.length; r < i; r++)
-                              n[r].call(this, e)
-                          }
-                        }
-                      },
-                    })
-                    for (var Xn = [], Yn = 0; Yn < 256; Yn++)
-                      Xn[Yn] = (Yn < 16 ? '0' : '') + Yn.toString(16)
-                    var Qn,
-                      Zn = 1234567,
-                      Kn = {
-                        DEG2RAD: Math.PI / 180,
-                        RAD2DEG: 180 / Math.PI,
-                        generateUUID: function () {
-                          var e = (4294967295 * Math.random()) | 0,
-                            t = (4294967295 * Math.random()) | 0,
-                            n = (4294967295 * Math.random()) | 0,
-                            r = (4294967295 * Math.random()) | 0
-                          return (
-                            Xn[255 & e] +
-                            Xn[(e >> 8) & 255] +
-                            Xn[(e >> 16) & 255] +
-                            Xn[(e >> 24) & 255] +
-                            '-' +
-                            Xn[255 & t] +
-                            Xn[(t >> 8) & 255] +
-                            '-' +
-                            Xn[((t >> 16) & 15) | 64] +
-                            Xn[(t >> 24) & 255] +
-                            '-' +
-                            Xn[(63 & n) | 128] +
-                            Xn[(n >> 8) & 255] +
-                            '-' +
-                            Xn[(n >> 16) & 255] +
-                            Xn[(n >> 24) & 255] +
-                            Xn[255 & r] +
-                            Xn[(r >> 8) & 255] +
-                            Xn[(r >> 16) & 255] +
-                            Xn[(r >> 24) & 255]
-                          ).toUpperCase()
-                        },
-                        clamp: function (e, t, n) {
-                          return Math.max(t, Math.min(n, e))
-                        },
-                        euclideanModulo: function (e, t) {
-                          return ((e % t) + t) % t
-                        },
-                        mapLinear: function (e, t, n, r, i) {
-                          return r + ((e - t) * (i - r)) / (n - t)
-                        },
-                        lerp: function (e, t, n) {
-                          return (1 - n) * e + n * t
-                        },
-                        damp: function (e, t, n, r) {
-                          return Kn.lerp(e, t, 1 - Math.exp(-n * r))
-                        },
-                        pingpong: function (e, t) {
-                          return (
-                            void 0 === t && (t = 1), t - Math.abs(Kn.euclideanModulo(e, 2 * t) - t)
-                          )
-                        },
-                        smoothstep: function (e, t, n) {
-                          return e <= t ? 0 : e >= n ? 1 : (e = (e - t) / (n - t)) * e * (3 - 2 * e)
-                        },
-                        smootherstep: function (e, t, n) {
-                          return e <= t
-                            ? 0
-                            : e >= n
-                            ? 1
-                            : (e = (e - t) / (n - t)) * e * e * (e * (6 * e - 15) + 10)
-                        },
-                        randInt: function (e, t) {
-                          return e + Math.floor(Math.random() * (t - e + 1))
-                        },
-                        randFloat: function (e, t) {
-                          return e + Math.random() * (t - e)
-                        },
-                        randFloatSpread: function (e) {
-                          return e * (0.5 - Math.random())
-                        },
-                        seededRandom: function (e) {
-                          return (
-                            void 0 !== e && (Zn = e % 2147483647),
-                            ((Zn = (16807 * Zn) % 2147483647) - 1) / 2147483646
-                          )
-                        },
-                        degToRad: function (e) {
-                          return e * Kn.DEG2RAD
-                        },
-                        radToDeg: function (e) {
-                          return e * Kn.RAD2DEG
-                        },
-                        isPowerOfTwo: function (e) {
-                          return 0 === (e & (e - 1)) && 0 !== e
-                        },
-                        ceilPowerOfTwo: function (e) {
-                          return Math.pow(2, Math.ceil(Math.log(e) / Math.LN2))
-                        },
-                        floorPowerOfTwo: function (e) {
-                          return Math.pow(2, Math.floor(Math.log(e) / Math.LN2))
-                        },
-                        setQuaternionFromProperEuler: function (e, t, n, r, i) {
-                          var o = Math.cos,
-                            a = Math.sin,
-                            s = o(n / 2),
-                            l = a(n / 2),
-                            c = o((t + r) / 2),
-                            u = a((t + r) / 2),
-                            h = o((t - r) / 2),
-                            d = a((t - r) / 2),
-                            p = o((r - t) / 2),
-                            f = a((r - t) / 2)
-                          switch (i) {
-                            case 'XYX':
-                              e.set(s * u, l * h, l * d, s * c)
-                              break
-                            case 'YZY':
-                              e.set(l * d, s * u, l * h, s * c)
-                              break
-                            case 'ZXZ':
-                              e.set(l * h, l * d, s * u, s * c)
-                              break
-                            case 'XZX':
-                              e.set(s * u, l * f, l * p, s * c)
-                              break
-                            case 'YXY':
-                              e.set(l * p, s * u, l * f, s * c)
-                              break
-                            case 'ZYZ':
-                              e.set(l * f, l * p, s * u, s * c)
-                              break
-                            default:
-                              console.warn(
-                                'THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' +
-                                  i,
-                              )
-                          }
-                        },
-                      },
-                      Jn = (function () {
-                        function e(e, t) {
-                          void 0 === e && (e = 0),
-                            void 0 === t && (t = 0),
-                            Object.defineProperty(this, 'isVector2', { value: !0 }),
-                            (this.x = e),
-                            (this.y = t)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return (this.x = e), (this.y = t), this
-                          }),
-                          (t.setScalar = function (e) {
-                            return (this.x = e), (this.y = e), this
-                          }),
-                          (t.setX = function (e) {
-                            return (this.x = e), this
-                          }),
-                          (t.setY = function (e) {
-                            return (this.y = e), this
-                          }),
-                          (t.setComponent = function (e, t) {
-                            switch (e) {
-                              case 0:
-                                this.x = t
-                                break
-                              case 1:
-                                this.y = t
-                                break
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                            return this
-                          }),
-                          (t.getComponent = function (e) {
-                            switch (e) {
-                              case 0:
-                                return this.x
-                              case 1:
-                                return this.y
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor(this.x, this.y)
-                          }),
-                          (t.copy = function (e) {
-                            return (this.x = e.x), (this.y = e.y), this
-                          }),
-                          (t.add = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-                                ),
-                                this.addVectors(e, t))
-                              : ((this.x += e.x), (this.y += e.y), this)
-                          }),
-                          (t.addScalar = function (e) {
-                            return (this.x += e), (this.y += e), this
-                          }),
-                          (t.addVectors = function (e, t) {
-                            return (this.x = e.x + t.x), (this.y = e.y + t.y), this
-                          }),
-                          (t.addScaledVector = function (e, t) {
-                            return (this.x += e.x * t), (this.y += e.y * t), this
-                          }),
-                          (t.sub = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-                                ),
-                                this.subVectors(e, t))
-                              : ((this.x -= e.x), (this.y -= e.y), this)
-                          }),
-                          (t.subScalar = function (e) {
-                            return (this.x -= e), (this.y -= e), this
-                          }),
-                          (t.subVectors = function (e, t) {
-                            return (this.x = e.x - t.x), (this.y = e.y - t.y), this
-                          }),
-                          (t.multiply = function (e) {
-                            return (this.x *= e.x), (this.y *= e.y), this
-                          }),
-                          (t.multiplyScalar = function (e) {
-                            return (this.x *= e), (this.y *= e), this
-                          }),
-                          (t.divide = function (e) {
-                            return (this.x /= e.x), (this.y /= e.y), this
-                          }),
-                          (t.divideScalar = function (e) {
-                            return this.multiplyScalar(1 / e)
-                          }),
-                          (t.applyMatrix3 = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = e.elements
-                            return (
-                              (this.x = r[0] * t + r[3] * n + r[6]),
-                              (this.y = r[1] * t + r[4] * n + r[7]),
-                              this
-                            )
-                          }),
-                          (t.min = function (e) {
-                            return (
-                              (this.x = Math.min(this.x, e.x)),
-                              (this.y = Math.min(this.y, e.y)),
-                              this
-                            )
-                          }),
-                          (t.max = function (e) {
-                            return (
-                              (this.x = Math.max(this.x, e.x)),
-                              (this.y = Math.max(this.y, e.y)),
-                              this
-                            )
-                          }),
-                          (t.clamp = function (e, t) {
-                            return (
-                              (this.x = Math.max(e.x, Math.min(t.x, this.x))),
-                              (this.y = Math.max(e.y, Math.min(t.y, this.y))),
-                              this
-                            )
-                          }),
-                          (t.clampScalar = function (e, t) {
-                            return (
-                              (this.x = Math.max(e, Math.min(t, this.x))),
-                              (this.y = Math.max(e, Math.min(t, this.y))),
-                              this
-                            )
-                          }),
-                          (t.clampLength = function (e, t) {
-                            var n = this.length()
-                            return this.divideScalar(n || 1).multiplyScalar(
-                              Math.max(e, Math.min(t, n)),
-                            )
-                          }),
-                          (t.floor = function () {
-                            return (
-                              (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), this
-                            )
-                          }),
-                          (t.ceil = function () {
-                            return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), this
-                          }),
-                          (t.round = function () {
-                            return (
-                              (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), this
-                            )
-                          }),
-                          (t.roundToZero = function () {
-                            return (
-                              (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-                              (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-                              this
-                            )
-                          }),
-                          (t.negate = function () {
-                            return (this.x = -this.x), (this.y = -this.y), this
-                          }),
-                          (t.dot = function (e) {
-                            return this.x * e.x + this.y * e.y
-                          }),
-                          (t.cross = function (e) {
-                            return this.x * e.y - this.y * e.x
-                          }),
-                          (t.lengthSq = function () {
-                            return this.x * this.x + this.y * this.y
-                          }),
-                          (t.length = function () {
-                            return Math.sqrt(this.x * this.x + this.y * this.y)
-                          }),
-                          (t.manhattanLength = function () {
-                            return Math.abs(this.x) + Math.abs(this.y)
-                          }),
-                          (t.normalize = function () {
-                            return this.divideScalar(this.length() || 1)
-                          }),
-                          (t.angle = function () {
-                            var e = Math.atan2(-this.y, -this.x) + Math.PI
-                            return e
-                          }),
-                          (t.distanceTo = function (e) {
-                            return Math.sqrt(this.distanceToSquared(e))
-                          }),
-                          (t.distanceToSquared = function (e) {
-                            var t = this.x - e.x,
-                              n = this.y - e.y
-                            return t * t + n * n
-                          }),
-                          (t.manhattanDistanceTo = function (e) {
-                            return Math.abs(this.x - e.x) + Math.abs(this.y - e.y)
-                          }),
-                          (t.setLength = function (e) {
-                            return this.normalize().multiplyScalar(e)
-                          }),
-                          (t.lerp = function (e, t) {
-                            return (
-                              (this.x += (e.x - this.x) * t), (this.y += (e.y - this.y) * t), this
-                            )
-                          }),
-                          (t.lerpVectors = function (e, t, n) {
-                            return (
-                              (this.x = e.x + (t.x - e.x) * n),
-                              (this.y = e.y + (t.y - e.y) * n),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            return e.x === this.x && e.y === this.y
-                          }),
-                          (t.fromArray = function (e, t) {
-                            return (
-                              void 0 === t && (t = 0), (this.x = e[t]), (this.y = e[t + 1]), this
-                            )
-                          }),
-                          (t.toArray = function (e, t) {
-                            return (
-                              void 0 === e && (e = []),
-                              void 0 === t && (t = 0),
-                              (e[t] = this.x),
-                              (e[t + 1] = this.y),
-                              e
-                            )
-                          }),
-                          (t.fromBufferAttribute = function (e, t, n) {
-                            return (
-                              void 0 !== n &&
-                                console.warn(
-                                  'THREE.Vector2: offset has been removed from .fromBufferAttribute().',
-                                ),
-                              (this.x = e.getX(t)),
-                              (this.y = e.getY(t)),
-                              this
-                            )
-                          }),
-                          (t.rotateAround = function (e, t) {
-                            var n = Math.cos(t),
-                              r = Math.sin(t),
-                              i = this.x - e.x,
-                              o = this.y - e.y
-                            return (
-                              (this.x = i * n - o * r + e.x), (this.y = i * r + o * n + e.y), this
-                            )
-                          }),
-                          (t.random = function () {
-                            return (this.x = Math.random()), (this.y = Math.random()), this
-                          }),
-                          Hn(e, [
-                            {
-                              key: 'width',
-                              get: function () {
-                                return this.x
-                              },
-                              set: function (e) {
-                                this.x = e
-                              },
-                            },
-                            {
-                              key: 'height',
-                              get: function () {
-                                return this.y
-                              },
-                              set: function (e) {
-                                this.y = e
-                              },
-                            },
-                          ]),
-                          e
-                        )
-                      })(),
-                      $n = (function () {
-                        function e() {
-                          Object.defineProperty(this, 'isMatrix3', { value: !0 }),
-                            (this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1]),
-                            arguments.length > 0 &&
-                              console.error(
-                                'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.',
-                              )
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r, i, o, a, s, l) {
-                            var c = this.elements
-                            return (
-                              (c[0] = e),
-                              (c[1] = r),
-                              (c[2] = a),
-                              (c[3] = t),
-                              (c[4] = i),
-                              (c[5] = s),
-                              (c[6] = n),
-                              (c[7] = o),
-                              (c[8] = l),
-                              this
-                            )
-                          }),
-                          (t.identity = function () {
-                            return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().fromArray(this.elements)
-                          }),
-                          (t.copy = function (e) {
-                            var t = this.elements,
-                              n = e.elements
-                            return (
-                              (t[0] = n[0]),
-                              (t[1] = n[1]),
-                              (t[2] = n[2]),
-                              (t[3] = n[3]),
-                              (t[4] = n[4]),
-                              (t[5] = n[5]),
-                              (t[6] = n[6]),
-                              (t[7] = n[7]),
-                              (t[8] = n[8]),
-                              this
-                            )
-                          }),
-                          (t.extractBasis = function (e, t, n) {
-                            return (
-                              e.setFromMatrix3Column(this, 0),
-                              t.setFromMatrix3Column(this, 1),
-                              n.setFromMatrix3Column(this, 2),
-                              this
-                            )
-                          }),
-                          (t.setFromMatrix4 = function (e) {
-                            var t = e.elements
-                            return (
-                              this.set(t[0], t[4], t[8], t[1], t[5], t[9], t[2], t[6], t[10]), this
-                            )
-                          }),
-                          (t.multiply = function (e) {
-                            return this.multiplyMatrices(this, e)
-                          }),
-                          (t.premultiply = function (e) {
-                            return this.multiplyMatrices(e, this)
-                          }),
-                          (t.multiplyMatrices = function (e, t) {
-                            var n = e.elements,
-                              r = t.elements,
-                              i = this.elements,
-                              o = n[0],
-                              a = n[3],
-                              s = n[6],
-                              l = n[1],
-                              c = n[4],
-                              u = n[7],
-                              h = n[2],
-                              d = n[5],
-                              p = n[8],
-                              f = r[0],
-                              m = r[3],
-                              v = r[6],
-                              g = r[1],
-                              y = r[4],
-                              b = r[7],
-                              A = r[2],
-                              w = r[5],
-                              x = r[8]
-                            return (
-                              (i[0] = o * f + a * g + s * A),
-                              (i[3] = o * m + a * y + s * w),
-                              (i[6] = o * v + a * b + s * x),
-                              (i[1] = l * f + c * g + u * A),
-                              (i[4] = l * m + c * y + u * w),
-                              (i[7] = l * v + c * b + u * x),
-                              (i[2] = h * f + d * g + p * A),
-                              (i[5] = h * m + d * y + p * w),
-                              (i[8] = h * v + d * b + p * x),
-                              this
-                            )
-                          }),
-                          (t.multiplyScalar = function (e) {
-                            var t = this.elements
-                            return (
-                              (t[0] *= e),
-                              (t[3] *= e),
-                              (t[6] *= e),
-                              (t[1] *= e),
-                              (t[4] *= e),
-                              (t[7] *= e),
-                              (t[2] *= e),
-                              (t[5] *= e),
-                              (t[8] *= e),
-                              this
-                            )
-                          }),
-                          (t.determinant = function () {
-                            var e = this.elements,
-                              t = e[0],
-                              n = e[1],
-                              r = e[2],
-                              i = e[3],
-                              o = e[4],
-                              a = e[5],
-                              s = e[6],
-                              l = e[7],
-                              c = e[8]
-                            return (
-                              t * o * c - t * a * l - n * i * c + n * a * s + r * i * l - r * o * s
-                            )
-                          }),
-                          (t.invert = function () {
-                            var e = this.elements,
-                              t = e[0],
-                              n = e[1],
-                              r = e[2],
-                              i = e[3],
-                              o = e[4],
-                              a = e[5],
-                              s = e[6],
-                              l = e[7],
-                              c = e[8],
-                              u = c * o - a * l,
-                              h = a * s - c * i,
-                              d = l * i - o * s,
-                              p = t * u + n * h + r * d
-                            if (0 === p) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0)
-                            var f = 1 / p
-                            return (
-                              (e[0] = u * f),
-                              (e[1] = (r * l - c * n) * f),
-                              (e[2] = (a * n - r * o) * f),
-                              (e[3] = h * f),
-                              (e[4] = (c * t - r * s) * f),
-                              (e[5] = (r * i - a * t) * f),
-                              (e[6] = d * f),
-                              (e[7] = (n * s - l * t) * f),
-                              (e[8] = (o * t - n * i) * f),
-                              this
-                            )
-                          }),
-                          (t.transpose = function () {
-                            var e,
-                              t = this.elements
-                            return (
-                              (e = t[1]),
-                              (t[1] = t[3]),
-                              (t[3] = e),
-                              (e = t[2]),
-                              (t[2] = t[6]),
-                              (t[6] = e),
-                              (e = t[5]),
-                              (t[5] = t[7]),
-                              (t[7] = e),
-                              this
-                            )
-                          }),
-                          (t.getNormalMatrix = function (e) {
-                            return this.setFromMatrix4(e).copy(this).invert().transpose()
-                          }),
-                          (t.transposeIntoArray = function (e) {
-                            var t = this.elements
-                            return (
-                              (e[0] = t[0]),
-                              (e[1] = t[3]),
-                              (e[2] = t[6]),
-                              (e[3] = t[1]),
-                              (e[4] = t[4]),
-                              (e[5] = t[7]),
-                              (e[6] = t[2]),
-                              (e[7] = t[5]),
-                              (e[8] = t[8]),
-                              this
-                            )
-                          }),
-                          (t.setUvTransform = function (e, t, n, r, i, o, a) {
-                            var s = Math.cos(i),
-                              l = Math.sin(i)
-                            return (
-                              this.set(
-                                n * s,
-                                n * l,
-                                -n * (s * o + l * a) + o + e,
-                                -r * l,
-                                r * s,
-                                -r * (-l * o + s * a) + a + t,
-                                0,
-                                0,
-                                1,
-                              ),
-                              this
-                            )
-                          }),
-                          (t.scale = function (e, t) {
-                            var n = this.elements
-                            return (
-                              (n[0] *= e),
-                              (n[3] *= e),
-                              (n[6] *= e),
-                              (n[1] *= t),
-                              (n[4] *= t),
-                              (n[7] *= t),
-                              this
-                            )
-                          }),
-                          (t.rotate = function (e) {
-                            var t = Math.cos(e),
-                              n = Math.sin(e),
-                              r = this.elements,
-                              i = r[0],
-                              o = r[3],
-                              a = r[6],
-                              s = r[1],
-                              l = r[4],
-                              c = r[7]
-                            return (
-                              (r[0] = t * i + n * s),
-                              (r[3] = t * o + n * l),
-                              (r[6] = t * a + n * c),
-                              (r[1] = -n * i + t * s),
-                              (r[4] = -n * o + t * l),
-                              (r[7] = -n * a + t * c),
-                              this
-                            )
-                          }),
-                          (t.translate = function (e, t) {
-                            var n = this.elements
-                            return (
-                              (n[0] += e * n[2]),
-                              (n[3] += e * n[5]),
-                              (n[6] += e * n[8]),
-                              (n[1] += t * n[2]),
-                              (n[4] += t * n[5]),
-                              (n[7] += t * n[8]),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            for (var t = this.elements, n = e.elements, r = 0; r < 9; r++)
-                              if (t[r] !== n[r]) return !1
-                            return !0
-                          }),
-                          (t.fromArray = function (e, t) {
-                            void 0 === t && (t = 0)
-                            for (var n = 0; n < 9; n++) this.elements[n] = e[n + t]
-                            return this
-                          }),
-                          (t.toArray = function (e, t) {
-                            void 0 === e && (e = []), void 0 === t && (t = 0)
-                            var n = this.elements
-                            return (
-                              (e[t] = n[0]),
-                              (e[t + 1] = n[1]),
-                              (e[t + 2] = n[2]),
-                              (e[t + 3] = n[3]),
-                              (e[t + 4] = n[4]),
-                              (e[t + 5] = n[5]),
-                              (e[t + 6] = n[6]),
-                              (e[t + 7] = n[7]),
-                              (e[t + 8] = n[8]),
-                              e
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      er = {
-                        getDataURL: function (e) {
-                          if (/^data:/i.test(e.src)) return e.src
-                          if ('undefined' == typeof HTMLCanvasElement) return e.src
-                          var t
-                          if (e instanceof HTMLCanvasElement) t = e
-                          else {
-                            void 0 === Qn &&
-                              (Qn = document.createElementNS(
-                                'http://www.w3.org/1999/xhtml',
-                                'canvas',
-                              )),
-                              (Qn.width = e.width),
-                              (Qn.height = e.height)
-                            var n = Qn.getContext('2d')
-                            e instanceof ImageData
-                              ? n.putImageData(e, 0, 0)
-                              : n.drawImage(e, 0, 0, e.width, e.height),
-                              (t = Qn)
-                          }
-                          return t.width > 2048 || t.height > 2048
-                            ? t.toDataURL('image/jpeg', 0.6)
-                            : t.toDataURL('image/png')
-                        },
-                      },
-                      tr = 0
-                    function nr(e, t, n, r, i, o, a, s, l, c) {
-                      void 0 === e && (e = nr.DEFAULT_IMAGE),
-                        void 0 === t && (t = nr.DEFAULT_MAPPING),
-                        void 0 === n && (n = pe),
-                        void 0 === r && (r = pe),
-                        void 0 === i && (i = Ae),
-                        void 0 === o && (o = Ee),
-                        void 0 === a && (a = Ue),
-                        void 0 === s && (s = _e),
-                        void 0 === l && (l = 1),
-                        void 0 === c && (c = Kt),
-                        Object.defineProperty(this, 'id', { value: tr++ }),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.name = ''),
-                        (this.image = e),
-                        (this.mipmaps = []),
-                        (this.mapping = t),
-                        (this.wrapS = n),
-                        (this.wrapT = r),
-                        (this.magFilter = i),
-                        (this.minFilter = o),
-                        (this.anisotropy = l),
-                        (this.format = a),
-                        (this.internalFormat = null),
-                        (this.type = s),
-                        (this.offset = new Jn(0, 0)),
-                        (this.repeat = new Jn(1, 1)),
-                        (this.center = new Jn(0, 0)),
-                        (this.rotation = 0),
-                        (this.matrixAutoUpdate = !0),
-                        (this.matrix = new $n()),
-                        (this.generateMipmaps = !0),
-                        (this.premultiplyAlpha = !1),
-                        (this.flipY = !0),
-                        (this.unpackAlignment = 4),
-                        (this.encoding = c),
-                        (this.version = 0),
-                        (this.onUpdate = null)
-                    }
-                    function rr(e) {
-                      return ('undefined' !== typeof HTMLImageElement &&
-                        e instanceof HTMLImageElement) ||
-                        ('undefined' !== typeof HTMLCanvasElement &&
-                          e instanceof HTMLCanvasElement) ||
-                        ('undefined' !== typeof ImageBitmap && e instanceof ImageBitmap)
-                        ? er.getDataURL(e)
-                        : e.data
-                        ? {
-                            data: Array.prototype.slice.call(e.data),
-                            width: e.width,
-                            height: e.height,
-                            type: e.data.constructor.name,
-                          }
-                        : (console.warn('THREE.Texture: Unable to serialize Texture.'), {})
-                    }
-                    ;(nr.DEFAULT_IMAGE = void 0),
-                      (nr.DEFAULT_MAPPING = oe),
-                      (nr.prototype = Object.assign(Object.create(qn.prototype), {
-                        constructor: nr,
-                        isTexture: !0,
-                        updateMatrix: function () {
-                          this.matrix.setUvTransform(
-                            this.offset.x,
-                            this.offset.y,
-                            this.repeat.x,
-                            this.repeat.y,
-                            this.rotation,
-                            this.center.x,
-                            this.center.y,
-                          )
-                        },
-                        clone: function () {
-                          return new this.constructor().copy(this)
-                        },
-                        copy: function (e) {
-                          return (
-                            (this.name = e.name),
-                            (this.image = e.image),
-                            (this.mipmaps = e.mipmaps.slice(0)),
-                            (this.mapping = e.mapping),
-                            (this.wrapS = e.wrapS),
-                            (this.wrapT = e.wrapT),
-                            (this.magFilter = e.magFilter),
-                            (this.minFilter = e.minFilter),
-                            (this.anisotropy = e.anisotropy),
-                            (this.format = e.format),
-                            (this.internalFormat = e.internalFormat),
-                            (this.type = e.type),
-                            this.offset.copy(e.offset),
-                            this.repeat.copy(e.repeat),
-                            this.center.copy(e.center),
-                            (this.rotation = e.rotation),
-                            (this.matrixAutoUpdate = e.matrixAutoUpdate),
-                            this.matrix.copy(e.matrix),
-                            (this.generateMipmaps = e.generateMipmaps),
-                            (this.premultiplyAlpha = e.premultiplyAlpha),
-                            (this.flipY = e.flipY),
-                            (this.unpackAlignment = e.unpackAlignment),
-                            (this.encoding = e.encoding),
-                            this
-                          )
-                        },
-                        toJSON: function (e) {
-                          var t = void 0 === e || 'string' === typeof e
-                          if (!t && void 0 !== e.textures[this.uuid]) return e.textures[this.uuid]
-                          var n = {
-                            metadata: {
-                              version: 4.5,
-                              type: 'Texture',
-                              generator: 'Texture.toJSON',
-                            },
-                            uuid: this.uuid,
-                            name: this.name,
-                            mapping: this.mapping,
-                            repeat: [this.repeat.x, this.repeat.y],
-                            offset: [this.offset.x, this.offset.y],
-                            center: [this.center.x, this.center.y],
-                            rotation: this.rotation,
-                            wrap: [this.wrapS, this.wrapT],
-                            format: this.format,
-                            type: this.type,
-                            encoding: this.encoding,
-                            minFilter: this.minFilter,
-                            magFilter: this.magFilter,
-                            anisotropy: this.anisotropy,
-                            flipY: this.flipY,
-                            premultiplyAlpha: this.premultiplyAlpha,
-                            unpackAlignment: this.unpackAlignment,
-                          }
-                          if (void 0 !== this.image) {
-                            var r = this.image
-                            if (
-                              (void 0 === r.uuid && (r.uuid = Kn.generateUUID()),
-                              !t && void 0 === e.images[r.uuid])
-                            ) {
-                              var i
-                              if (Array.isArray(r)) {
-                                i = []
-                                for (var o = 0, a = r.length; o < a; o++)
-                                  r[o].isDataTexture ? i.push(rr(r[o].image)) : i.push(rr(r[o]))
-                              } else i = rr(r)
-                              e.images[r.uuid] = { uuid: r.uuid, url: i }
-                            }
-                            n.image = r.uuid
-                          }
-                          return t || (e.textures[this.uuid] = n), n
-                        },
-                        dispose: function () {
-                          this.dispatchEvent({ type: 'dispose' })
-                        },
-                        transformUv: function (e) {
-                          if (this.mapping !== oe) return e
-                          if ((e.applyMatrix3(this.matrix), e.x < 0 || e.x > 1))
-                            switch (this.wrapS) {
-                              case de:
-                                e.x = e.x - Math.floor(e.x)
-                                break
-                              case pe:
-                                e.x = e.x < 0 ? 0 : 1
-                                break
-                              case fe:
-                                1 === Math.abs(Math.floor(e.x) % 2)
-                                  ? (e.x = Math.ceil(e.x) - e.x)
-                                  : (e.x = e.x - Math.floor(e.x))
-                            }
-                          if (e.y < 0 || e.y > 1)
-                            switch (this.wrapT) {
-                              case de:
-                                e.y = e.y - Math.floor(e.y)
-                                break
-                              case pe:
-                                e.y = e.y < 0 ? 0 : 1
-                                break
-                              case fe:
-                                1 === Math.abs(Math.floor(e.y) % 2)
-                                  ? (e.y = Math.ceil(e.y) - e.y)
-                                  : (e.y = e.y - Math.floor(e.y))
-                            }
-                          return this.flipY && (e.y = 1 - e.y), e
-                        },
-                      })),
-                      Object.defineProperty(nr.prototype, 'needsUpdate', {
-                        set: function (e) {
-                          !0 === e && this.version++
-                        },
-                      })
-                    var ir = (function () {
-                        function e(e, t, n, r) {
-                          void 0 === e && (e = 0),
-                            void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            void 0 === r && (r = 1),
-                            Object.defineProperty(this, 'isVector4', { value: !0 }),
-                            (this.x = e),
-                            (this.y = t),
-                            (this.z = n),
-                            (this.w = r)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r) {
-                            return (this.x = e), (this.y = t), (this.z = n), (this.w = r), this
-                          }),
-                          (t.setScalar = function (e) {
-                            return (this.x = e), (this.y = e), (this.z = e), (this.w = e), this
-                          }),
-                          (t.setX = function (e) {
-                            return (this.x = e), this
-                          }),
-                          (t.setY = function (e) {
-                            return (this.y = e), this
-                          }),
-                          (t.setZ = function (e) {
-                            return (this.z = e), this
-                          }),
-                          (t.setW = function (e) {
-                            return (this.w = e), this
-                          }),
-                          (t.setComponent = function (e, t) {
-                            switch (e) {
-                              case 0:
-                                this.x = t
-                                break
-                              case 1:
-                                this.y = t
-                                break
-                              case 2:
-                                this.z = t
-                                break
-                              case 3:
-                                this.w = t
-                                break
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                            return this
-                          }),
-                          (t.getComponent = function (e) {
-                            switch (e) {
-                              case 0:
-                                return this.x
-                              case 1:
-                                return this.y
-                              case 2:
-                                return this.z
-                              case 3:
-                                return this.w
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor(this.x, this.y, this.z, this.w)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              (this.x = e.x),
-                              (this.y = e.y),
-                              (this.z = e.z),
-                              (this.w = void 0 !== e.w ? e.w : 1),
-                              this
-                            )
-                          }),
-                          (t.add = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-                                ),
-                                this.addVectors(e, t))
-                              : ((this.x += e.x),
-                                (this.y += e.y),
-                                (this.z += e.z),
-                                (this.w += e.w),
-                                this)
-                          }),
-                          (t.addScalar = function (e) {
-                            return (this.x += e), (this.y += e), (this.z += e), (this.w += e), this
-                          }),
-                          (t.addVectors = function (e, t) {
-                            return (
-                              (this.x = e.x + t.x),
-                              (this.y = e.y + t.y),
-                              (this.z = e.z + t.z),
-                              (this.w = e.w + t.w),
-                              this
-                            )
-                          }),
-                          (t.addScaledVector = function (e, t) {
-                            return (
-                              (this.x += e.x * t),
-                              (this.y += e.y * t),
-                              (this.z += e.z * t),
-                              (this.w += e.w * t),
-                              this
-                            )
-                          }),
-                          (t.sub = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-                                ),
-                                this.subVectors(e, t))
-                              : ((this.x -= e.x),
-                                (this.y -= e.y),
-                                (this.z -= e.z),
-                                (this.w -= e.w),
-                                this)
-                          }),
-                          (t.subScalar = function (e) {
-                            return (this.x -= e), (this.y -= e), (this.z -= e), (this.w -= e), this
-                          }),
-                          (t.subVectors = function (e, t) {
-                            return (
-                              (this.x = e.x - t.x),
-                              (this.y = e.y - t.y),
-                              (this.z = e.z - t.z),
-                              (this.w = e.w - t.w),
-                              this
-                            )
-                          }),
-                          (t.multiply = function (e) {
-                            return (
-                              (this.x *= e.x),
-                              (this.y *= e.y),
-                              (this.z *= e.z),
-                              (this.w *= e.w),
-                              this
-                            )
-                          }),
-                          (t.multiplyScalar = function (e) {
-                            return (this.x *= e), (this.y *= e), (this.z *= e), (this.w *= e), this
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = this.z,
-                              i = this.w,
-                              o = e.elements
-                            return (
-                              (this.x = o[0] * t + o[4] * n + o[8] * r + o[12] * i),
-                              (this.y = o[1] * t + o[5] * n + o[9] * r + o[13] * i),
-                              (this.z = o[2] * t + o[6] * n + o[10] * r + o[14] * i),
-                              (this.w = o[3] * t + o[7] * n + o[11] * r + o[15] * i),
-                              this
-                            )
-                          }),
-                          (t.divideScalar = function (e) {
-                            return this.multiplyScalar(1 / e)
-                          }),
-                          (t.setAxisAngleFromQuaternion = function (e) {
-                            this.w = 2 * Math.acos(e.w)
-                            var t = Math.sqrt(1 - e.w * e.w)
-                            return (
-                              t < 1e-4
-                                ? ((this.x = 1), (this.y = 0), (this.z = 0))
-                                : ((this.x = e.x / t), (this.y = e.y / t), (this.z = e.z / t)),
-                              this
-                            )
-                          }),
-                          (t.setAxisAngleFromRotationMatrix = function (e) {
-                            var t,
-                              n,
-                              r,
-                              i,
-                              o = 0.01,
-                              a = 0.1,
-                              s = e.elements,
-                              l = s[0],
-                              c = s[4],
-                              u = s[8],
-                              h = s[1],
-                              d = s[5],
-                              p = s[9],
-                              f = s[2],
-                              m = s[6],
-                              v = s[10]
-                            if (Math.abs(c - h) < o && Math.abs(u - f) < o && Math.abs(p - m) < o) {
-                              if (
-                                Math.abs(c + h) < a &&
-                                Math.abs(u + f) < a &&
-                                Math.abs(p + m) < a &&
-                                Math.abs(l + d + v - 3) < a
-                              )
-                                return this.set(1, 0, 0, 0), this
-                              t = Math.PI
-                              var g = (l + 1) / 2,
-                                y = (d + 1) / 2,
-                                b = (v + 1) / 2,
-                                A = (c + h) / 4,
-                                w = (u + f) / 4,
-                                x = (p + m) / 4
-                              return (
-                                g > y && g > b
-                                  ? g < o
-                                    ? ((n = 0), (r = 0.707106781), (i = 0.707106781))
-                                    : ((r = A / (n = Math.sqrt(g))), (i = w / n))
-                                  : y > b
-                                  ? y < o
-                                    ? ((n = 0.707106781), (r = 0), (i = 0.707106781))
-                                    : ((n = A / (r = Math.sqrt(y))), (i = x / r))
-                                  : b < o
-                                  ? ((n = 0.707106781), (r = 0.707106781), (i = 0))
-                                  : ((n = w / (i = Math.sqrt(b))), (r = x / i)),
-                                this.set(n, r, i, t),
-                                this
-                              )
-                            }
-                            var E = Math.sqrt(
-                              (m - p) * (m - p) + (u - f) * (u - f) + (h - c) * (h - c),
-                            )
-                            return (
-                              Math.abs(E) < 0.001 && (E = 1),
-                              (this.x = (m - p) / E),
-                              (this.y = (u - f) / E),
-                              (this.z = (h - c) / E),
-                              (this.w = Math.acos((l + d + v - 1) / 2)),
-                              this
-                            )
-                          }),
-                          (t.min = function (e) {
-                            return (
-                              (this.x = Math.min(this.x, e.x)),
-                              (this.y = Math.min(this.y, e.y)),
-                              (this.z = Math.min(this.z, e.z)),
-                              (this.w = Math.min(this.w, e.w)),
-                              this
-                            )
-                          }),
-                          (t.max = function (e) {
-                            return (
-                              (this.x = Math.max(this.x, e.x)),
-                              (this.y = Math.max(this.y, e.y)),
-                              (this.z = Math.max(this.z, e.z)),
-                              (this.w = Math.max(this.w, e.w)),
-                              this
-                            )
-                          }),
-                          (t.clamp = function (e, t) {
-                            return (
-                              (this.x = Math.max(e.x, Math.min(t.x, this.x))),
-                              (this.y = Math.max(e.y, Math.min(t.y, this.y))),
-                              (this.z = Math.max(e.z, Math.min(t.z, this.z))),
-                              (this.w = Math.max(e.w, Math.min(t.w, this.w))),
-                              this
-                            )
-                          }),
-                          (t.clampScalar = function (e, t) {
-                            return (
-                              (this.x = Math.max(e, Math.min(t, this.x))),
-                              (this.y = Math.max(e, Math.min(t, this.y))),
-                              (this.z = Math.max(e, Math.min(t, this.z))),
-                              (this.w = Math.max(e, Math.min(t, this.w))),
-                              this
-                            )
-                          }),
-                          (t.clampLength = function (e, t) {
-                            var n = this.length()
-                            return this.divideScalar(n || 1).multiplyScalar(
-                              Math.max(e, Math.min(t, n)),
-                            )
-                          }),
-                          (t.floor = function () {
-                            return (
-                              (this.x = Math.floor(this.x)),
-                              (this.y = Math.floor(this.y)),
-                              (this.z = Math.floor(this.z)),
-                              (this.w = Math.floor(this.w)),
-                              this
-                            )
-                          }),
-                          (t.ceil = function () {
-                            return (
-                              (this.x = Math.ceil(this.x)),
-                              (this.y = Math.ceil(this.y)),
-                              (this.z = Math.ceil(this.z)),
-                              (this.w = Math.ceil(this.w)),
-                              this
-                            )
-                          }),
-                          (t.round = function () {
-                            return (
-                              (this.x = Math.round(this.x)),
-                              (this.y = Math.round(this.y)),
-                              (this.z = Math.round(this.z)),
-                              (this.w = Math.round(this.w)),
-                              this
-                            )
-                          }),
-                          (t.roundToZero = function () {
-                            return (
-                              (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-                              (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-                              (this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z)),
-                              (this.w = this.w < 0 ? Math.ceil(this.w) : Math.floor(this.w)),
-                              this
-                            )
-                          }),
-                          (t.negate = function () {
-                            return (
-                              (this.x = -this.x),
-                              (this.y = -this.y),
-                              (this.z = -this.z),
-                              (this.w = -this.w),
-                              this
-                            )
-                          }),
-                          (t.dot = function (e) {
-                            return this.x * e.x + this.y * e.y + this.z * e.z + this.w * e.w
-                          }),
-                          (t.lengthSq = function () {
-                            return (
-                              this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w
-                            )
-                          }),
-                          (t.length = function () {
-                            return Math.sqrt(
-                              this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w,
-                            )
-                          }),
-                          (t.manhattanLength = function () {
-                            return (
-                              Math.abs(this.x) +
-                              Math.abs(this.y) +
-                              Math.abs(this.z) +
-                              Math.abs(this.w)
-                            )
-                          }),
-                          (t.normalize = function () {
-                            return this.divideScalar(this.length() || 1)
-                          }),
-                          (t.setLength = function (e) {
-                            return this.normalize().multiplyScalar(e)
-                          }),
-                          (t.lerp = function (e, t) {
-                            return (
-                              (this.x += (e.x - this.x) * t),
-                              (this.y += (e.y - this.y) * t),
-                              (this.z += (e.z - this.z) * t),
-                              (this.w += (e.w - this.w) * t),
-                              this
-                            )
-                          }),
-                          (t.lerpVectors = function (e, t, n) {
-                            return (
-                              (this.x = e.x + (t.x - e.x) * n),
-                              (this.y = e.y + (t.y - e.y) * n),
-                              (this.z = e.z + (t.z - e.z) * n),
-                              (this.w = e.w + (t.w - e.w) * n),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            return (
-                              e.x === this.x && e.y === this.y && e.z === this.z && e.w === this.w
-                            )
-                          }),
-                          (t.fromArray = function (e, t) {
-                            return (
-                              void 0 === t && (t = 0),
-                              (this.x = e[t]),
-                              (this.y = e[t + 1]),
-                              (this.z = e[t + 2]),
-                              (this.w = e[t + 3]),
-                              this
-                            )
-                          }),
-                          (t.toArray = function (e, t) {
-                            return (
-                              void 0 === e && (e = []),
-                              void 0 === t && (t = 0),
-                              (e[t] = this.x),
-                              (e[t + 1] = this.y),
-                              (e[t + 2] = this.z),
-                              (e[t + 3] = this.w),
-                              e
-                            )
-                          }),
-                          (t.fromBufferAttribute = function (e, t, n) {
-                            return (
-                              void 0 !== n &&
-                                console.warn(
-                                  'THREE.Vector4: offset has been removed from .fromBufferAttribute().',
-                                ),
-                              (this.x = e.getX(t)),
-                              (this.y = e.getY(t)),
-                              (this.z = e.getZ(t)),
-                              (this.w = e.getW(t)),
-                              this
-                            )
-                          }),
-                          (t.random = function () {
-                            return (
-                              (this.x = Math.random()),
-                              (this.y = Math.random()),
-                              (this.z = Math.random()),
-                              (this.w = Math.random()),
-                              this
-                            )
-                          }),
-                          Hn(e, [
-                            {
-                              key: 'width',
-                              get: function () {
-                                return this.z
-                              },
-                              set: function (e) {
-                                this.z = e
-                              },
-                            },
-                            {
-                              key: 'height',
-                              get: function () {
-                                return this.w
-                              },
-                              set: function (e) {
-                                this.w = e
-                              },
-                            },
-                          ]),
-                          e
-                        )
-                      })(),
-                      or = (function (e) {
-                        function t(t, n, r) {
-                          var i
-                          return (
-                            (i = e.call(this) || this),
-                            Object.defineProperty(zn(i), 'isWebGLRenderTarget', { value: !0 }),
-                            (i.width = t),
-                            (i.height = n),
-                            (i.scissor = new ir(0, 0, t, n)),
-                            (i.scissorTest = !1),
-                            (i.viewport = new ir(0, 0, t, n)),
-                            (r = r || {}),
-                            (i.texture = new nr(
-                              void 0,
-                              r.mapping,
-                              r.wrapS,
-                              r.wrapT,
-                              r.magFilter,
-                              r.minFilter,
-                              r.format,
-                              r.type,
-                              r.anisotropy,
-                              r.encoding,
-                            )),
-                            (i.texture.image = {}),
-                            (i.texture.image.width = t),
-                            (i.texture.image.height = n),
-                            (i.texture.generateMipmaps =
-                              void 0 !== r.generateMipmaps && r.generateMipmaps),
-                            (i.texture.minFilter = void 0 !== r.minFilter ? r.minFilter : Ae),
-                            (i.depthBuffer = void 0 === r.depthBuffer || r.depthBuffer),
-                            (i.stencilBuffer = void 0 !== r.stencilBuffer && r.stencilBuffer),
-                            (i.depthTexture = void 0 !== r.depthTexture ? r.depthTexture : null),
-                            i
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.setSize = function (e, t) {
-                            ;(this.width === e && this.height === t) ||
-                              ((this.width = e),
-                              (this.height = t),
-                              (this.texture.image.width = e),
-                              (this.texture.image.height = t),
-                              this.dispose()),
-                              this.viewport.set(0, 0, e, t),
-                              this.scissor.set(0, 0, e, t)
-                          }),
-                          (n.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (n.copy = function (e) {
-                            return (
-                              (this.width = e.width),
-                              (this.height = e.height),
-                              this.viewport.copy(e.viewport),
-                              (this.texture = e.texture.clone()),
-                              (this.depthBuffer = e.depthBuffer),
-                              (this.stencilBuffer = e.stencilBuffer),
-                              (this.depthTexture = e.depthTexture),
-                              this
-                            )
-                          }),
-                          (n.dispose = function () {
-                            this.dispatchEvent({ type: 'dispose' })
-                          }),
-                          t
-                        )
-                      })(qn),
-                      ar = (function (e) {
-                        function t(t, n, r) {
-                          var i
-                          return (
-                            (i = e.call(this, t, n, r) || this),
-                            Object.defineProperty(zn(i), 'isWebGLMultisampleRenderTarget', {
-                              value: !0,
-                            }),
-                            (i.samples = 4),
-                            i
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.copy = function (t) {
-                            return e.prototype.copy.call(this, t), (this.samples = t.samples), this
-                          }),
-                          t
-                        )
-                      })(or),
-                      sr = (function () {
-                        function e(e, t, n, r) {
-                          void 0 === e && (e = 0),
-                            void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            void 0 === r && (r = 1),
-                            Object.defineProperty(this, 'isQuaternion', { value: !0 }),
-                            (this._x = e),
-                            (this._y = t),
-                            (this._z = n),
-                            (this._w = r)
-                        }
-                        ;(e.slerp = function (e, t, n, r) {
-                          return n.copy(e).slerp(t, r)
-                        }),
-                          (e.slerpFlat = function (e, t, n, r, i, o, a) {
-                            var s = n[r + 0],
-                              l = n[r + 1],
-                              c = n[r + 2],
-                              u = n[r + 3],
-                              h = i[o + 0],
-                              d = i[o + 1],
-                              p = i[o + 2],
-                              f = i[o + 3]
-                            if (u !== f || s !== h || l !== d || c !== p) {
-                              var m = 1 - a,
-                                v = s * h + l * d + c * p + u * f,
-                                g = v >= 0 ? 1 : -1,
-                                y = 1 - v * v
-                              if (y > Number.EPSILON) {
-                                var b = Math.sqrt(y),
-                                  A = Math.atan2(b, v * g)
-                                ;(m = Math.sin(m * A) / b), (a = Math.sin(a * A) / b)
-                              }
-                              var w = a * g
-                              if (
-                                ((s = s * m + h * w),
-                                (l = l * m + d * w),
-                                (c = c * m + p * w),
-                                (u = u * m + f * w),
-                                m === 1 - a)
-                              ) {
-                                var x = 1 / Math.sqrt(s * s + l * l + c * c + u * u)
-                                ;(s *= x), (l *= x), (c *= x), (u *= x)
-                              }
-                            }
-                            ;(e[t] = s), (e[t + 1] = l), (e[t + 2] = c), (e[t + 3] = u)
-                          }),
-                          (e.multiplyQuaternionsFlat = function (e, t, n, r, i, o) {
-                            var a = n[r],
-                              s = n[r + 1],
-                              l = n[r + 2],
-                              c = n[r + 3],
-                              u = i[o],
-                              h = i[o + 1],
-                              d = i[o + 2],
-                              p = i[o + 3]
-                            return (
-                              (e[t] = a * p + c * u + s * d - l * h),
-                              (e[t + 1] = s * p + c * h + l * u - a * d),
-                              (e[t + 2] = l * p + c * d + a * h - s * u),
-                              (e[t + 3] = c * p - a * u - s * h - l * d),
-                              e
-                            )
-                          })
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r) {
-                            return (
-                              (this._x = e),
-                              (this._y = t),
-                              (this._z = n),
-                              (this._w = r),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor(this._x, this._y, this._z, this._w)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              (this._x = e.x),
-                              (this._y = e.y),
-                              (this._z = e.z),
-                              (this._w = e.w),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.setFromEuler = function (e, t) {
-                            if (!e || !e.isEuler)
-                              throw new Error(
-                                'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.',
-                              )
-                            var n = e._x,
-                              r = e._y,
-                              i = e._z,
-                              o = e._order,
-                              a = Math.cos,
-                              s = Math.sin,
-                              l = a(n / 2),
-                              c = a(r / 2),
-                              u = a(i / 2),
-                              h = s(n / 2),
-                              d = s(r / 2),
-                              p = s(i / 2)
-                            switch (o) {
-                              case 'XYZ':
-                                ;(this._x = h * c * u + l * d * p),
-                                  (this._y = l * d * u - h * c * p),
-                                  (this._z = l * c * p + h * d * u),
-                                  (this._w = l * c * u - h * d * p)
-                                break
-                              case 'YXZ':
-                                ;(this._x = h * c * u + l * d * p),
-                                  (this._y = l * d * u - h * c * p),
-                                  (this._z = l * c * p - h * d * u),
-                                  (this._w = l * c * u + h * d * p)
-                                break
-                              case 'ZXY':
-                                ;(this._x = h * c * u - l * d * p),
-                                  (this._y = l * d * u + h * c * p),
-                                  (this._z = l * c * p + h * d * u),
-                                  (this._w = l * c * u - h * d * p)
-                                break
-                              case 'ZYX':
-                                ;(this._x = h * c * u - l * d * p),
-                                  (this._y = l * d * u + h * c * p),
-                                  (this._z = l * c * p - h * d * u),
-                                  (this._w = l * c * u + h * d * p)
-                                break
-                              case 'YZX':
-                                ;(this._x = h * c * u + l * d * p),
-                                  (this._y = l * d * u + h * c * p),
-                                  (this._z = l * c * p - h * d * u),
-                                  (this._w = l * c * u - h * d * p)
-                                break
-                              case 'XZY':
-                                ;(this._x = h * c * u - l * d * p),
-                                  (this._y = l * d * u - h * c * p),
-                                  (this._z = l * c * p + h * d * u),
-                                  (this._w = l * c * u + h * d * p)
-                                break
-                              default:
-                                console.warn(
-                                  'THREE.Quaternion: .setFromEuler() encountered an unknown order: ' +
-                                    o,
-                                )
-                            }
-                            return !1 !== t && this._onChangeCallback(), this
-                          }),
-                          (t.setFromAxisAngle = function (e, t) {
-                            var n = t / 2,
-                              r = Math.sin(n)
-                            return (
-                              (this._x = e.x * r),
-                              (this._y = e.y * r),
-                              (this._z = e.z * r),
-                              (this._w = Math.cos(n)),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.setFromRotationMatrix = function (e) {
-                            var t = e.elements,
-                              n = t[0],
-                              r = t[4],
-                              i = t[8],
-                              o = t[1],
-                              a = t[5],
-                              s = t[9],
-                              l = t[2],
-                              c = t[6],
-                              u = t[10],
-                              h = n + a + u
-                            if (h > 0) {
-                              var d = 0.5 / Math.sqrt(h + 1)
-                              ;(this._w = 0.25 / d),
-                                (this._x = (c - s) * d),
-                                (this._y = (i - l) * d),
-                                (this._z = (o - r) * d)
-                            } else if (n > a && n > u) {
-                              var p = 2 * Math.sqrt(1 + n - a - u)
-                              ;(this._w = (c - s) / p),
-                                (this._x = 0.25 * p),
-                                (this._y = (r + o) / p),
-                                (this._z = (i + l) / p)
-                            } else if (a > u) {
-                              var f = 2 * Math.sqrt(1 + a - n - u)
-                              ;(this._w = (i - l) / f),
-                                (this._x = (r + o) / f),
-                                (this._y = 0.25 * f),
-                                (this._z = (s + c) / f)
-                            } else {
-                              var m = 2 * Math.sqrt(1 + u - n - a)
-                              ;(this._w = (o - r) / m),
-                                (this._x = (i + l) / m),
-                                (this._y = (s + c) / m),
-                                (this._z = 0.25 * m)
-                            }
-                            return this._onChangeCallback(), this
-                          }),
-                          (t.setFromUnitVectors = function (e, t) {
-                            var n = 1e-6,
-                              r = e.dot(t) + 1
-                            return (
-                              r < n
-                                ? ((r = 0),
-                                  Math.abs(e.x) > Math.abs(e.z)
-                                    ? ((this._x = -e.y),
-                                      (this._y = e.x),
-                                      (this._z = 0),
-                                      (this._w = r))
-                                    : ((this._x = 0),
-                                      (this._y = -e.z),
-                                      (this._z = e.y),
-                                      (this._w = r)))
-                                : ((this._x = e.y * t.z - e.z * t.y),
-                                  (this._y = e.z * t.x - e.x * t.z),
-                                  (this._z = e.x * t.y - e.y * t.x),
-                                  (this._w = r)),
-                              this.normalize()
-                            )
-                          }),
-                          (t.angleTo = function (e) {
-                            return 2 * Math.acos(Math.abs(Kn.clamp(this.dot(e), -1, 1)))
-                          }),
-                          (t.rotateTowards = function (e, t) {
-                            var n = this.angleTo(e)
-                            if (0 === n) return this
-                            var r = Math.min(1, t / n)
-                            return this.slerp(e, r), this
-                          }),
-                          (t.identity = function () {
-                            return this.set(0, 0, 0, 1)
-                          }),
-                          (t.invert = function () {
-                            return this.conjugate()
-                          }),
-                          (t.conjugate = function () {
-                            return (
-                              (this._x *= -1),
-                              (this._y *= -1),
-                              (this._z *= -1),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.dot = function (e) {
-                            return this._x * e._x + this._y * e._y + this._z * e._z + this._w * e._w
-                          }),
-                          (t.lengthSq = function () {
-                            return (
-                              this._x * this._x +
-                              this._y * this._y +
-                              this._z * this._z +
-                              this._w * this._w
-                            )
-                          }),
-                          (t.length = function () {
-                            return Math.sqrt(
-                              this._x * this._x +
-                                this._y * this._y +
-                                this._z * this._z +
-                                this._w * this._w,
-                            )
-                          }),
-                          (t.normalize = function () {
-                            var e = this.length()
-                            return (
-                              0 === e
-                                ? ((this._x = 0), (this._y = 0), (this._z = 0), (this._w = 1))
-                                : ((e = 1 / e),
-                                  (this._x = this._x * e),
-                                  (this._y = this._y * e),
-                                  (this._z = this._z * e),
-                                  (this._w = this._w * e)),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.multiply = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.',
-                                ),
-                                this.multiplyQuaternions(e, t))
-                              : this.multiplyQuaternions(this, e)
-                          }),
-                          (t.premultiply = function (e) {
-                            return this.multiplyQuaternions(e, this)
-                          }),
-                          (t.multiplyQuaternions = function (e, t) {
-                            var n = e._x,
-                              r = e._y,
-                              i = e._z,
-                              o = e._w,
-                              a = t._x,
-                              s = t._y,
-                              l = t._z,
-                              c = t._w
-                            return (
-                              (this._x = n * c + o * a + r * l - i * s),
-                              (this._y = r * c + o * s + i * a - n * l),
-                              (this._z = i * c + o * l + n * s - r * a),
-                              (this._w = o * c - n * a - r * s - i * l),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.slerp = function (e, t) {
-                            if (0 === t) return this
-                            if (1 === t) return this.copy(e)
-                            var n = this._x,
-                              r = this._y,
-                              i = this._z,
-                              o = this._w,
-                              a = o * e._w + n * e._x + r * e._y + i * e._z
-                            if (
-                              (a < 0
-                                ? ((this._w = -e._w),
-                                  (this._x = -e._x),
-                                  (this._y = -e._y),
-                                  (this._z = -e._z),
-                                  (a = -a))
-                                : this.copy(e),
-                              a >= 1)
-                            )
-                              return (
-                                (this._w = o), (this._x = n), (this._y = r), (this._z = i), this
-                              )
-                            var s = 1 - a * a
-                            if (s <= Number.EPSILON) {
-                              var l = 1 - t
-                              return (
-                                (this._w = l * o + t * this._w),
-                                (this._x = l * n + t * this._x),
-                                (this._y = l * r + t * this._y),
-                                (this._z = l * i + t * this._z),
-                                this.normalize(),
-                                this._onChangeCallback(),
-                                this
-                              )
-                            }
-                            var c = Math.sqrt(s),
-                              u = Math.atan2(c, a),
-                              h = Math.sin((1 - t) * u) / c,
-                              d = Math.sin(t * u) / c
-                            return (
-                              (this._w = o * h + this._w * d),
-                              (this._x = n * h + this._x * d),
-                              (this._y = r * h + this._y * d),
-                              (this._z = i * h + this._z * d),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            return (
-                              e._x === this._x &&
-                              e._y === this._y &&
-                              e._z === this._z &&
-                              e._w === this._w
-                            )
-                          }),
-                          (t.fromArray = function (e, t) {
-                            return (
-                              void 0 === t && (t = 0),
-                              (this._x = e[t]),
-                              (this._y = e[t + 1]),
-                              (this._z = e[t + 2]),
-                              (this._w = e[t + 3]),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.toArray = function (e, t) {
-                            return (
-                              void 0 === e && (e = []),
-                              void 0 === t && (t = 0),
-                              (e[t] = this._x),
-                              (e[t + 1] = this._y),
-                              (e[t + 2] = this._z),
-                              (e[t + 3] = this._w),
-                              e
-                            )
-                          }),
-                          (t.fromBufferAttribute = function (e, t) {
-                            return (
-                              (this._x = e.getX(t)),
-                              (this._y = e.getY(t)),
-                              (this._z = e.getZ(t)),
-                              (this._w = e.getW(t)),
-                              this
-                            )
-                          }),
-                          (t._onChange = function (e) {
-                            return (this._onChangeCallback = e), this
-                          }),
-                          (t._onChangeCallback = function () {}),
-                          Hn(e, [
-                            {
-                              key: 'x',
-                              get: function () {
-                                return this._x
-                              },
-                              set: function (e) {
-                                ;(this._x = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'y',
-                              get: function () {
-                                return this._y
-                              },
-                              set: function (e) {
-                                ;(this._y = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'z',
-                              get: function () {
-                                return this._z
-                              },
-                              set: function (e) {
-                                ;(this._z = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'w',
-                              get: function () {
-                                return this._w
-                              },
-                              set: function (e) {
-                                ;(this._w = e), this._onChangeCallback()
-                              },
-                            },
-                          ]),
-                          e
-                        )
-                      })(),
-                      lr = (function () {
-                        function e(e, t, n) {
-                          void 0 === e && (e = 0),
-                            void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            Object.defineProperty(this, 'isVector3', { value: !0 }),
-                            (this.x = e),
-                            (this.y = t),
-                            (this.z = n)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n) {
-                            return (
-                              void 0 === n && (n = this.z),
-                              (this.x = e),
-                              (this.y = t),
-                              (this.z = n),
-                              this
-                            )
-                          }),
-                          (t.setScalar = function (e) {
-                            return (this.x = e), (this.y = e), (this.z = e), this
-                          }),
-                          (t.setX = function (e) {
-                            return (this.x = e), this
-                          }),
-                          (t.setY = function (e) {
-                            return (this.y = e), this
-                          }),
-                          (t.setZ = function (e) {
-                            return (this.z = e), this
-                          }),
-                          (t.setComponent = function (e, t) {
-                            switch (e) {
-                              case 0:
-                                this.x = t
-                                break
-                              case 1:
-                                this.y = t
-                                break
-                              case 2:
-                                this.z = t
-                                break
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                            return this
-                          }),
-                          (t.getComponent = function (e) {
-                            switch (e) {
-                              case 0:
-                                return this.x
-                              case 1:
-                                return this.y
-                              case 2:
-                                return this.z
-                              default:
-                                throw new Error('index is out of range: ' + e)
-                            }
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor(this.x, this.y, this.z)
-                          }),
-                          (t.copy = function (e) {
-                            return (this.x = e.x), (this.y = e.y), (this.z = e.z), this
-                          }),
-                          (t.add = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-                                ),
-                                this.addVectors(e, t))
-                              : ((this.x += e.x), (this.y += e.y), (this.z += e.z), this)
-                          }),
-                          (t.addScalar = function (e) {
-                            return (this.x += e), (this.y += e), (this.z += e), this
-                          }),
-                          (t.addVectors = function (e, t) {
-                            return (
-                              (this.x = e.x + t.x), (this.y = e.y + t.y), (this.z = e.z + t.z), this
-                            )
-                          }),
-                          (t.addScaledVector = function (e, t) {
-                            return (
-                              (this.x += e.x * t), (this.y += e.y * t), (this.z += e.z * t), this
-                            )
-                          }),
-                          (t.sub = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-                                ),
-                                this.subVectors(e, t))
-                              : ((this.x -= e.x), (this.y -= e.y), (this.z -= e.z), this)
-                          }),
-                          (t.subScalar = function (e) {
-                            return (this.x -= e), (this.y -= e), (this.z -= e), this
-                          }),
-                          (t.subVectors = function (e, t) {
-                            return (
-                              (this.x = e.x - t.x), (this.y = e.y - t.y), (this.z = e.z - t.z), this
-                            )
-                          }),
-                          (t.multiply = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.',
-                                ),
-                                this.multiplyVectors(e, t))
-                              : ((this.x *= e.x), (this.y *= e.y), (this.z *= e.z), this)
-                          }),
-                          (t.multiplyScalar = function (e) {
-                            return (this.x *= e), (this.y *= e), (this.z *= e), this
-                          }),
-                          (t.multiplyVectors = function (e, t) {
-                            return (
-                              (this.x = e.x * t.x), (this.y = e.y * t.y), (this.z = e.z * t.z), this
-                            )
-                          }),
-                          (t.applyEuler = function (e) {
-                            return (
-                              (e && e.isEuler) ||
-                                console.error(
-                                  'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.',
-                                ),
-                              this.applyQuaternion(ur.setFromEuler(e))
-                            )
-                          }),
-                          (t.applyAxisAngle = function (e, t) {
-                            return this.applyQuaternion(ur.setFromAxisAngle(e, t))
-                          }),
-                          (t.applyMatrix3 = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = this.z,
-                              i = e.elements
-                            return (
-                              (this.x = i[0] * t + i[3] * n + i[6] * r),
-                              (this.y = i[1] * t + i[4] * n + i[7] * r),
-                              (this.z = i[2] * t + i[5] * n + i[8] * r),
-                              this
-                            )
-                          }),
-                          (t.applyNormalMatrix = function (e) {
-                            return this.applyMatrix3(e).normalize()
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = this.z,
-                              i = e.elements,
-                              o = 1 / (i[3] * t + i[7] * n + i[11] * r + i[15])
-                            return (
-                              (this.x = (i[0] * t + i[4] * n + i[8] * r + i[12]) * o),
-                              (this.y = (i[1] * t + i[5] * n + i[9] * r + i[13]) * o),
-                              (this.z = (i[2] * t + i[6] * n + i[10] * r + i[14]) * o),
-                              this
-                            )
-                          }),
-                          (t.applyQuaternion = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = this.z,
-                              i = e.x,
-                              o = e.y,
-                              a = e.z,
-                              s = e.w,
-                              l = s * t + o * r - a * n,
-                              c = s * n + a * t - i * r,
-                              u = s * r + i * n - o * t,
-                              h = -i * t - o * n - a * r
-                            return (
-                              (this.x = l * s + h * -i + c * -a - u * -o),
-                              (this.y = c * s + h * -o + u * -i - l * -a),
-                              (this.z = u * s + h * -a + l * -o - c * -i),
-                              this
-                            )
-                          }),
-                          (t.project = function (e) {
-                            return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(
-                              e.projectionMatrix,
-                            )
-                          }),
-                          (t.unproject = function (e) {
-                            return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(
-                              e.matrixWorld,
-                            )
-                          }),
-                          (t.transformDirection = function (e) {
-                            var t = this.x,
-                              n = this.y,
-                              r = this.z,
-                              i = e.elements
-                            return (
-                              (this.x = i[0] * t + i[4] * n + i[8] * r),
-                              (this.y = i[1] * t + i[5] * n + i[9] * r),
-                              (this.z = i[2] * t + i[6] * n + i[10] * r),
-                              this.normalize()
-                            )
-                          }),
-                          (t.divide = function (e) {
-                            return (this.x /= e.x), (this.y /= e.y), (this.z /= e.z), this
-                          }),
-                          (t.divideScalar = function (e) {
-                            return this.multiplyScalar(1 / e)
-                          }),
-                          (t.min = function (e) {
-                            return (
-                              (this.x = Math.min(this.x, e.x)),
-                              (this.y = Math.min(this.y, e.y)),
-                              (this.z = Math.min(this.z, e.z)),
-                              this
-                            )
-                          }),
-                          (t.max = function (e) {
-                            return (
-                              (this.x = Math.max(this.x, e.x)),
-                              (this.y = Math.max(this.y, e.y)),
-                              (this.z = Math.max(this.z, e.z)),
-                              this
-                            )
-                          }),
-                          (t.clamp = function (e, t) {
-                            return (
-                              (this.x = Math.max(e.x, Math.min(t.x, this.x))),
-                              (this.y = Math.max(e.y, Math.min(t.y, this.y))),
-                              (this.z = Math.max(e.z, Math.min(t.z, this.z))),
-                              this
-                            )
-                          }),
-                          (t.clampScalar = function (e, t) {
-                            return (
-                              (this.x = Math.max(e, Math.min(t, this.x))),
-                              (this.y = Math.max(e, Math.min(t, this.y))),
-                              (this.z = Math.max(e, Math.min(t, this.z))),
-                              this
-                            )
-                          }),
-                          (t.clampLength = function (e, t) {
-                            var n = this.length()
-                            return this.divideScalar(n || 1).multiplyScalar(
-                              Math.max(e, Math.min(t, n)),
-                            )
-                          }),
-                          (t.floor = function () {
-                            return (
-                              (this.x = Math.floor(this.x)),
-                              (this.y = Math.floor(this.y)),
-                              (this.z = Math.floor(this.z)),
-                              this
-                            )
-                          }),
-                          (t.ceil = function () {
-                            return (
-                              (this.x = Math.ceil(this.x)),
-                              (this.y = Math.ceil(this.y)),
-                              (this.z = Math.ceil(this.z)),
-                              this
-                            )
-                          }),
-                          (t.round = function () {
-                            return (
-                              (this.x = Math.round(this.x)),
-                              (this.y = Math.round(this.y)),
-                              (this.z = Math.round(this.z)),
-                              this
-                            )
-                          }),
-                          (t.roundToZero = function () {
-                            return (
-                              (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-                              (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-                              (this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z)),
-                              this
-                            )
-                          }),
-                          (t.negate = function () {
-                            return (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), this
-                          }),
-                          (t.dot = function (e) {
-                            return this.x * e.x + this.y * e.y + this.z * e.z
-                          }),
-                          (t.lengthSq = function () {
-                            return this.x * this.x + this.y * this.y + this.z * this.z
-                          }),
-                          (t.length = function () {
-                            return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z)
-                          }),
-                          (t.manhattanLength = function () {
-                            return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z)
-                          }),
-                          (t.normalize = function () {
-                            return this.divideScalar(this.length() || 1)
-                          }),
-                          (t.setLength = function (e) {
-                            return this.normalize().multiplyScalar(e)
-                          }),
-                          (t.lerp = function (e, t) {
-                            return (
-                              (this.x += (e.x - this.x) * t),
-                              (this.y += (e.y - this.y) * t),
-                              (this.z += (e.z - this.z) * t),
-                              this
-                            )
-                          }),
-                          (t.lerpVectors = function (e, t, n) {
-                            return (
-                              (this.x = e.x + (t.x - e.x) * n),
-                              (this.y = e.y + (t.y - e.y) * n),
-                              (this.z = e.z + (t.z - e.z) * n),
-                              this
-                            )
-                          }),
-                          (t.cross = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.',
-                                ),
-                                this.crossVectors(e, t))
-                              : this.crossVectors(this, e)
-                          }),
-                          (t.crossVectors = function (e, t) {
-                            var n = e.x,
-                              r = e.y,
-                              i = e.z,
-                              o = t.x,
-                              a = t.y,
-                              s = t.z
-                            return (
-                              (this.x = r * s - i * a),
-                              (this.y = i * o - n * s),
-                              (this.z = n * a - r * o),
-                              this
-                            )
-                          }),
-                          (t.projectOnVector = function (e) {
-                            var t = e.lengthSq()
-                            if (0 === t) return this.set(0, 0, 0)
-                            var n = e.dot(this) / t
-                            return this.copy(e).multiplyScalar(n)
-                          }),
-                          (t.projectOnPlane = function (e) {
-                            return cr.copy(this).projectOnVector(e), this.sub(cr)
-                          }),
-                          (t.reflect = function (e) {
-                            return this.sub(cr.copy(e).multiplyScalar(2 * this.dot(e)))
-                          }),
-                          (t.angleTo = function (e) {
-                            var t = Math.sqrt(this.lengthSq() * e.lengthSq())
-                            if (0 === t) return Math.PI / 2
-                            var n = this.dot(e) / t
-                            return Math.acos(Kn.clamp(n, -1, 1))
-                          }),
-                          (t.distanceTo = function (e) {
-                            return Math.sqrt(this.distanceToSquared(e))
-                          }),
-                          (t.distanceToSquared = function (e) {
-                            var t = this.x - e.x,
-                              n = this.y - e.y,
-                              r = this.z - e.z
-                            return t * t + n * n + r * r
-                          }),
-                          (t.manhattanDistanceTo = function (e) {
-                            return (
-                              Math.abs(this.x - e.x) +
-                              Math.abs(this.y - e.y) +
-                              Math.abs(this.z - e.z)
-                            )
-                          }),
-                          (t.setFromSpherical = function (e) {
-                            return this.setFromSphericalCoords(e.radius, e.phi, e.theta)
-                          }),
-                          (t.setFromSphericalCoords = function (e, t, n) {
-                            var r = Math.sin(t) * e
-                            return (
-                              (this.x = r * Math.sin(n)),
-                              (this.y = Math.cos(t) * e),
-                              (this.z = r * Math.cos(n)),
-                              this
-                            )
-                          }),
-                          (t.setFromCylindrical = function (e) {
-                            return this.setFromCylindricalCoords(e.radius, e.theta, e.y)
-                          }),
-                          (t.setFromCylindricalCoords = function (e, t, n) {
-                            return (
-                              (this.x = e * Math.sin(t)),
-                              (this.y = n),
-                              (this.z = e * Math.cos(t)),
-                              this
-                            )
-                          }),
-                          (t.setFromMatrixPosition = function (e) {
-                            var t = e.elements
-                            return (this.x = t[12]), (this.y = t[13]), (this.z = t[14]), this
-                          }),
-                          (t.setFromMatrixScale = function (e) {
-                            var t = this.setFromMatrixColumn(e, 0).length(),
-                              n = this.setFromMatrixColumn(e, 1).length(),
-                              r = this.setFromMatrixColumn(e, 2).length()
-                            return (this.x = t), (this.y = n), (this.z = r), this
-                          }),
-                          (t.setFromMatrixColumn = function (e, t) {
-                            return this.fromArray(e.elements, 4 * t)
-                          }),
-                          (t.setFromMatrix3Column = function (e, t) {
-                            return this.fromArray(e.elements, 3 * t)
-                          }),
-                          (t.equals = function (e) {
-                            return e.x === this.x && e.y === this.y && e.z === this.z
-                          }),
-                          (t.fromArray = function (e, t) {
-                            return (
-                              void 0 === t && (t = 0),
-                              (this.x = e[t]),
-                              (this.y = e[t + 1]),
-                              (this.z = e[t + 2]),
-                              this
-                            )
-                          }),
-                          (t.toArray = function (e, t) {
-                            return (
-                              void 0 === e && (e = []),
-                              void 0 === t && (t = 0),
-                              (e[t] = this.x),
-                              (e[t + 1] = this.y),
-                              (e[t + 2] = this.z),
-                              e
-                            )
-                          }),
-                          (t.fromBufferAttribute = function (e, t, n) {
-                            return (
-                              void 0 !== n &&
-                                console.warn(
-                                  'THREE.Vector3: offset has been removed from .fromBufferAttribute().',
-                                ),
-                              (this.x = e.getX(t)),
-                              (this.y = e.getY(t)),
-                              (this.z = e.getZ(t)),
-                              this
-                            )
-                          }),
-                          (t.random = function () {
-                            return (
-                              (this.x = Math.random()),
-                              (this.y = Math.random()),
-                              (this.z = Math.random()),
-                              this
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      cr = new lr(),
-                      ur = new sr(),
-                      hr = (function () {
-                        function e(e, t) {
-                          Object.defineProperty(this, 'isBox3', { value: !0 }),
-                            (this.min = void 0 !== e ? e : new lr(1 / 0, 1 / 0, 1 / 0)),
-                            (this.max = void 0 !== t ? t : new lr(-1 / 0, -1 / 0, -1 / 0))
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.min.copy(e), this.max.copy(t), this
-                          }),
-                          (t.setFromArray = function (e) {
-                            for (
-                              var t = 1 / 0,
-                                n = 1 / 0,
-                                r = 1 / 0,
-                                i = -1 / 0,
-                                o = -1 / 0,
-                                a = -1 / 0,
-                                s = 0,
-                                l = e.length;
-                              s < l;
-                              s += 3
-                            ) {
-                              var c = e[s],
-                                u = e[s + 1],
-                                h = e[s + 2]
-                              c < t && (t = c),
-                                u < n && (n = u),
-                                h < r && (r = h),
-                                c > i && (i = c),
-                                u > o && (o = u),
-                                h > a && (a = h)
-                            }
-                            return this.min.set(t, n, r), this.max.set(i, o, a), this
-                          }),
-                          (t.setFromBufferAttribute = function (e) {
-                            for (
-                              var t = 1 / 0,
-                                n = 1 / 0,
-                                r = 1 / 0,
-                                i = -1 / 0,
-                                o = -1 / 0,
-                                a = -1 / 0,
-                                s = 0,
-                                l = e.count;
-                              s < l;
-                              s++
-                            ) {
-                              var c = e.getX(s),
-                                u = e.getY(s),
-                                h = e.getZ(s)
-                              c < t && (t = c),
-                                u < n && (n = u),
-                                h < r && (r = h),
-                                c > i && (i = c),
-                                u > o && (o = u),
-                                h > a && (a = h)
-                            }
-                            return this.min.set(t, n, r), this.max.set(i, o, a), this
-                          }),
-                          (t.setFromPoints = function (e) {
-                            this.makeEmpty()
-                            for (var t = 0, n = e.length; t < n; t++) this.expandByPoint(e[t])
-                            return this
-                          }),
-                          (t.setFromCenterAndSize = function (e, t) {
-                            var n = fr.copy(t).multiplyScalar(0.5)
-                            return this.min.copy(e).sub(n), this.max.copy(e).add(n), this
-                          }),
-                          (t.setFromObject = function (e) {
-                            return this.makeEmpty(), this.expandByObject(e)
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.min.copy(e.min), this.max.copy(e.max), this
-                          }),
-                          (t.makeEmpty = function () {
-                            return (
-                              (this.min.x = this.min.y = this.min.z = 1 / 0),
-                              (this.max.x = this.max.y = this.max.z = -1 / 0),
-                              this
-                            )
-                          }),
-                          (t.isEmpty = function () {
-                            return (
-                              this.max.x < this.min.x ||
-                              this.max.y < this.min.y ||
-                              this.max.z < this.min.z
-                            )
-                          }),
-                          (t.getCenter = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Box3: .getCenter() target is now required'),
-                                (e = new lr())),
-                              this.isEmpty()
-                                ? e.set(0, 0, 0)
-                                : e.addVectors(this.min, this.max).multiplyScalar(0.5)
-                            )
-                          }),
-                          (t.getSize = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Box3: .getSize() target is now required'),
-                                (e = new lr())),
-                              this.isEmpty() ? e.set(0, 0, 0) : e.subVectors(this.max, this.min)
-                            )
-                          }),
-                          (t.expandByPoint = function (e) {
-                            return this.min.min(e), this.max.max(e), this
-                          }),
-                          (t.expandByVector = function (e) {
-                            return this.min.sub(e), this.max.add(e), this
-                          }),
-                          (t.expandByScalar = function (e) {
-                            return this.min.addScalar(-e), this.max.addScalar(e), this
-                          }),
-                          (t.expandByObject = function (e) {
-                            e.updateWorldMatrix(!1, !1)
-                            var t = e.geometry
-                            void 0 !== t &&
-                              (null === t.boundingBox && t.computeBoundingBox(),
-                              mr.copy(t.boundingBox),
-                              mr.applyMatrix4(e.matrixWorld),
-                              this.union(mr))
-                            for (var n = e.children, r = 0, i = n.length; r < i; r++)
-                              this.expandByObject(n[r])
-                            return this
-                          }),
-                          (t.containsPoint = function (e) {
-                            return !(
-                              e.x < this.min.x ||
-                              e.x > this.max.x ||
-                              e.y < this.min.y ||
-                              e.y > this.max.y ||
-                              e.z < this.min.z ||
-                              e.z > this.max.z
-                            )
-                          }),
-                          (t.containsBox = function (e) {
-                            return (
-                              this.min.x <= e.min.x &&
-                              e.max.x <= this.max.x &&
-                              this.min.y <= e.min.y &&
-                              e.max.y <= this.max.y &&
-                              this.min.z <= e.min.z &&
-                              e.max.z <= this.max.z
-                            )
-                          }),
-                          (t.getParameter = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Box3: .getParameter() target is now required'),
-                                (t = new lr())),
-                              t.set(
-                                (e.x - this.min.x) / (this.max.x - this.min.x),
-                                (e.y - this.min.y) / (this.max.y - this.min.y),
-                                (e.z - this.min.z) / (this.max.z - this.min.z),
-                              )
-                            )
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return !(
-                              e.max.x < this.min.x ||
-                              e.min.x > this.max.x ||
-                              e.max.y < this.min.y ||
-                              e.min.y > this.max.y ||
-                              e.max.z < this.min.z ||
-                              e.min.z > this.max.z
-                            )
-                          }),
-                          (t.intersectsSphere = function (e) {
-                            return (
-                              this.clampPoint(e.center, fr),
-                              fr.distanceToSquared(e.center) <= e.radius * e.radius
-                            )
-                          }),
-                          (t.intersectsPlane = function (e) {
-                            var t, n
-                            return (
-                              e.normal.x > 0
-                                ? ((t = e.normal.x * this.min.x), (n = e.normal.x * this.max.x))
-                                : ((t = e.normal.x * this.max.x), (n = e.normal.x * this.min.x)),
-                              e.normal.y > 0
-                                ? ((t += e.normal.y * this.min.y), (n += e.normal.y * this.max.y))
-                                : ((t += e.normal.y * this.max.y), (n += e.normal.y * this.min.y)),
-                              e.normal.z > 0
-                                ? ((t += e.normal.z * this.min.z), (n += e.normal.z * this.max.z))
-                                : ((t += e.normal.z * this.max.z), (n += e.normal.z * this.min.z)),
-                              t <= -e.constant && n >= -e.constant
-                            )
-                          }),
-                          (t.intersectsTriangle = function (e) {
-                            if (this.isEmpty()) return !1
-                            this.getCenter(xr),
-                              Er.subVectors(this.max, xr),
-                              vr.subVectors(e.a, xr),
-                              gr.subVectors(e.b, xr),
-                              yr.subVectors(e.c, xr),
-                              br.subVectors(gr, vr),
-                              Ar.subVectors(yr, gr),
-                              wr.subVectors(vr, yr)
-                            var t = [
-                              0,
-                              -br.z,
-                              br.y,
-                              0,
-                              -Ar.z,
-                              Ar.y,
-                              0,
-                              -wr.z,
-                              wr.y,
-                              br.z,
-                              0,
-                              -br.x,
-                              Ar.z,
-                              0,
-                              -Ar.x,
-                              wr.z,
-                              0,
-                              -wr.x,
-                              -br.y,
-                              br.x,
-                              0,
-                              -Ar.y,
-                              Ar.x,
-                              0,
-                              -wr.y,
-                              wr.x,
-                              0,
-                            ]
-                            return (
-                              !!dr(t, vr, gr, yr, Er) &&
-                              !!dr((t = [1, 0, 0, 0, 1, 0, 0, 0, 1]), vr, gr, yr, Er) &&
-                              (Mr.crossVectors(br, Ar),
-                              dr((t = [Mr.x, Mr.y, Mr.z]), vr, gr, yr, Er))
-                            )
-                          }),
-                          (t.clampPoint = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Box3: .clampPoint() target is now required'),
-                                (t = new lr())),
-                              t.copy(e).clamp(this.min, this.max)
-                            )
-                          }),
-                          (t.distanceToPoint = function (e) {
-                            return fr.copy(e).clamp(this.min, this.max).sub(e).length()
-                          }),
-                          (t.getBoundingSphere = function (e) {
-                            return (
-                              void 0 === e &&
-                                console.error(
-                                  'THREE.Box3: .getBoundingSphere() target is now required',
-                                ),
-                              this.getCenter(e.center),
-                              (e.radius = 0.5 * this.getSize(fr).length()),
-                              e
-                            )
-                          }),
-                          (t.intersect = function (e) {
-                            return (
-                              this.min.max(e.min),
-                              this.max.min(e.max),
-                              this.isEmpty() && this.makeEmpty(),
-                              this
-                            )
-                          }),
-                          (t.union = function (e) {
-                            return this.min.min(e.min), this.max.max(e.max), this
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            return (
-                              this.isEmpty() ||
-                                (pr[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(e),
-                                pr[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(e),
-                                pr[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(e),
-                                pr[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(e),
-                                pr[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(e),
-                                pr[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(e),
-                                pr[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(e),
-                                pr[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(e),
-                                this.setFromPoints(pr)),
-                              this
-                            )
-                          }),
-                          (t.translate = function (e) {
-                            return this.min.add(e), this.max.add(e), this
-                          }),
-                          (t.equals = function (e) {
-                            return e.min.equals(this.min) && e.max.equals(this.max)
-                          }),
-                          e
-                        )
-                      })()
-                    function dr(e, t, n, r, i) {
-                      for (var o = 0, a = e.length - 3; o <= a; o += 3) {
-                        _r.fromArray(e, o)
-                        var s = i.x * Math.abs(_r.x) + i.y * Math.abs(_r.y) + i.z * Math.abs(_r.z),
-                          l = t.dot(_r),
-                          c = n.dot(_r),
-                          u = r.dot(_r)
-                        if (Math.max(-Math.max(l, c, u), Math.min(l, c, u)) > s) return !1
-                      }
-                      return !0
-                    }
-                    var pr = [
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                        new lr(),
-                      ],
-                      fr = new lr(),
-                      mr = new hr(),
-                      vr = new lr(),
-                      gr = new lr(),
-                      yr = new lr(),
-                      br = new lr(),
-                      Ar = new lr(),
-                      wr = new lr(),
-                      xr = new lr(),
-                      Er = new lr(),
-                      Mr = new lr(),
-                      _r = new lr(),
-                      Tr = new hr(),
-                      Sr = (function () {
-                        function e(e, t) {
-                          ;(this.center = void 0 !== e ? e : new lr()),
-                            (this.radius = void 0 !== t ? t : -1)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.center.copy(e), (this.radius = t), this
-                          }),
-                          (t.setFromPoints = function (e, t) {
-                            var n = this.center
-                            void 0 !== t ? n.copy(t) : Tr.setFromPoints(e).getCenter(n)
-                            for (var r = 0, i = 0, o = e.length; i < o; i++)
-                              r = Math.max(r, n.distanceToSquared(e[i]))
-                            return (this.radius = Math.sqrt(r)), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.center.copy(e.center), (this.radius = e.radius), this
-                          }),
-                          (t.isEmpty = function () {
-                            return this.radius < 0
-                          }),
-                          (t.makeEmpty = function () {
-                            return this.center.set(0, 0, 0), (this.radius = -1), this
-                          }),
-                          (t.containsPoint = function (e) {
-                            return e.distanceToSquared(this.center) <= this.radius * this.radius
-                          }),
-                          (t.distanceToPoint = function (e) {
-                            return e.distanceTo(this.center) - this.radius
-                          }),
-                          (t.intersectsSphere = function (e) {
-                            var t = this.radius + e.radius
-                            return e.center.distanceToSquared(this.center) <= t * t
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return e.intersectsSphere(this)
-                          }),
-                          (t.intersectsPlane = function (e) {
-                            return Math.abs(e.distanceToPoint(this.center)) <= this.radius
-                          }),
-                          (t.clampPoint = function (e, t) {
-                            var n = this.center.distanceToSquared(e)
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Sphere: .clampPoint() target is now required'),
-                                (t = new lr())),
-                              t.copy(e),
-                              n > this.radius * this.radius &&
-                                (t.sub(this.center).normalize(),
-                                t.multiplyScalar(this.radius).add(this.center)),
-                              t
-                            )
-                          }),
-                          (t.getBoundingBox = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn(
-                                  'THREE.Sphere: .getBoundingBox() target is now required',
-                                ),
-                                (e = new hr())),
-                              this.isEmpty()
-                                ? (e.makeEmpty(), e)
-                                : (e.set(this.center, this.center),
-                                  e.expandByScalar(this.radius),
-                                  e)
-                            )
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            return (
-                              this.center.applyMatrix4(e),
-                              (this.radius = this.radius * e.getMaxScaleOnAxis()),
-                              this
-                            )
-                          }),
-                          (t.translate = function (e) {
-                            return this.center.add(e), this
-                          }),
-                          (t.equals = function (e) {
-                            return e.center.equals(this.center) && e.radius === this.radius
-                          }),
-                          e
-                        )
-                      })(),
-                      Cr = new lr(),
-                      Lr = new lr(),
-                      Rr = new lr(),
-                      Pr = new lr(),
-                      Dr = new lr(),
-                      Or = new lr(),
-                      Ir = new lr(),
-                      Br = (function () {
-                        function e(e, t) {
-                          ;(this.origin = void 0 !== e ? e : new lr()),
-                            (this.direction = void 0 !== t ? t : new lr(0, 0, -1))
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.origin.copy(e), this.direction.copy(t), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              this.origin.copy(e.origin), this.direction.copy(e.direction), this
-                            )
-                          }),
-                          (t.at = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Ray: .at() target is now required'),
-                                (t = new lr())),
-                              t.copy(this.direction).multiplyScalar(e).add(this.origin)
-                            )
-                          }),
-                          (t.lookAt = function (e) {
-                            return this.direction.copy(e).sub(this.origin).normalize(), this
-                          }),
-                          (t.recast = function (e) {
-                            return this.origin.copy(this.at(e, Cr)), this
-                          }),
-                          (t.closestPointToPoint = function (e, t) {
-                            void 0 === t &&
-                              (console.warn(
-                                'THREE.Ray: .closestPointToPoint() target is now required',
-                              ),
-                              (t = new lr())),
-                              t.subVectors(e, this.origin)
-                            var n = t.dot(this.direction)
-                            return n < 0
-                              ? t.copy(this.origin)
-                              : t.copy(this.direction).multiplyScalar(n).add(this.origin)
-                          }),
-                          (t.distanceToPoint = function (e) {
-                            return Math.sqrt(this.distanceSqToPoint(e))
-                          }),
-                          (t.distanceSqToPoint = function (e) {
-                            var t = Cr.subVectors(e, this.origin).dot(this.direction)
-                            return t < 0
-                              ? this.origin.distanceToSquared(e)
-                              : (Cr.copy(this.direction).multiplyScalar(t).add(this.origin),
-                                Cr.distanceToSquared(e))
-                          }),
-                          (t.distanceSqToSegment = function (e, t, n, r) {
-                            Lr.copy(e).add(t).multiplyScalar(0.5),
-                              Rr.copy(t).sub(e).normalize(),
-                              Pr.copy(this.origin).sub(Lr)
-                            var i,
-                              o,
-                              a,
-                              s,
-                              l = 0.5 * e.distanceTo(t),
-                              c = -this.direction.dot(Rr),
-                              u = Pr.dot(this.direction),
-                              h = -Pr.dot(Rr),
-                              d = Pr.lengthSq(),
-                              p = Math.abs(1 - c * c)
-                            if (p > 0)
-                              if (((o = c * u - h), (s = l * p), (i = c * h - u) >= 0))
-                                if (o >= -s)
-                                  if (o <= s) {
-                                    var f = 1 / p
-                                    a =
-                                      (i *= f) * (i + c * (o *= f) + 2 * u) +
-                                      o * (c * i + o + 2 * h) +
-                                      d
-                                  } else
-                                    (o = l),
-                                      (a =
-                                        -(i = Math.max(0, -(c * o + u))) * i + o * (o + 2 * h) + d)
-                                else
-                                  (o = -l),
-                                    (a = -(i = Math.max(0, -(c * o + u))) * i + o * (o + 2 * h) + d)
-                              else
-                                o <= -s
-                                  ? (a =
-                                      -(i = Math.max(0, -(-c * l + u))) * i +
-                                      (o = i > 0 ? -l : Math.min(Math.max(-l, -h), l)) *
-                                        (o + 2 * h) +
-                                      d)
-                                  : o <= s
-                                  ? ((i = 0),
-                                    (a = (o = Math.min(Math.max(-l, -h), l)) * (o + 2 * h) + d))
-                                  : (a =
-                                      -(i = Math.max(0, -(c * l + u))) * i +
-                                      (o = i > 0 ? l : Math.min(Math.max(-l, -h), l)) *
-                                        (o + 2 * h) +
-                                      d)
-                            else
-                              (o = c > 0 ? -l : l),
-                                (a = -(i = Math.max(0, -(c * o + u))) * i + o * (o + 2 * h) + d)
-                            return (
-                              n && n.copy(this.direction).multiplyScalar(i).add(this.origin),
-                              r && r.copy(Rr).multiplyScalar(o).add(Lr),
-                              a
-                            )
-                          }),
-                          (t.intersectSphere = function (e, t) {
-                            Cr.subVectors(e.center, this.origin)
-                            var n = Cr.dot(this.direction),
-                              r = Cr.dot(Cr) - n * n,
-                              i = e.radius * e.radius
-                            if (r > i) return null
-                            var o = Math.sqrt(i - r),
-                              a = n - o,
-                              s = n + o
-                            return a < 0 && s < 0 ? null : a < 0 ? this.at(s, t) : this.at(a, t)
-                          }),
-                          (t.intersectsSphere = function (e) {
-                            return this.distanceSqToPoint(e.center) <= e.radius * e.radius
-                          }),
-                          (t.distanceToPlane = function (e) {
-                            var t = e.normal.dot(this.direction)
-                            if (0 === t) return 0 === e.distanceToPoint(this.origin) ? 0 : null
-                            var n = -(this.origin.dot(e.normal) + e.constant) / t
-                            return n >= 0 ? n : null
-                          }),
-                          (t.intersectPlane = function (e, t) {
-                            var n = this.distanceToPlane(e)
-                            return null === n ? null : this.at(n, t)
-                          }),
-                          (t.intersectsPlane = function (e) {
-                            var t = e.distanceToPoint(this.origin)
-                            return 0 === t || e.normal.dot(this.direction) * t < 0
-                          }),
-                          (t.intersectBox = function (e, t) {
-                            var n,
-                              r,
-                              i,
-                              o,
-                              a,
-                              s,
-                              l = 1 / this.direction.x,
-                              c = 1 / this.direction.y,
-                              u = 1 / this.direction.z,
-                              h = this.origin
-                            return (
-                              l >= 0
-                                ? ((n = (e.min.x - h.x) * l), (r = (e.max.x - h.x) * l))
-                                : ((n = (e.max.x - h.x) * l), (r = (e.min.x - h.x) * l)),
-                              c >= 0
-                                ? ((i = (e.min.y - h.y) * c), (o = (e.max.y - h.y) * c))
-                                : ((i = (e.max.y - h.y) * c), (o = (e.min.y - h.y) * c)),
-                              n > o || i > r
-                                ? null
-                                : ((i > n || n !== n) && (n = i),
-                                  (o < r || r !== r) && (r = o),
-                                  u >= 0
-                                    ? ((a = (e.min.z - h.z) * u), (s = (e.max.z - h.z) * u))
-                                    : ((a = (e.max.z - h.z) * u), (s = (e.min.z - h.z) * u)),
-                                  n > s || a > r
-                                    ? null
-                                    : ((a > n || n !== n) && (n = a),
-                                      (s < r || r !== r) && (r = s),
-                                      r < 0 ? null : this.at(n >= 0 ? n : r, t)))
-                            )
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return null !== this.intersectBox(e, Cr)
-                          }),
-                          (t.intersectTriangle = function (e, t, n, r, i) {
-                            Dr.subVectors(t, e), Or.subVectors(n, e), Ir.crossVectors(Dr, Or)
-                            var o,
-                              a = this.direction.dot(Ir)
-                            if (a > 0) {
-                              if (r) return null
-                              o = 1
-                            } else {
-                              if (!(a < 0)) return null
-                              ;(o = -1), (a = -a)
-                            }
-                            Pr.subVectors(this.origin, e)
-                            var s = o * this.direction.dot(Or.crossVectors(Pr, Or))
-                            if (s < 0) return null
-                            var l = o * this.direction.dot(Dr.cross(Pr))
-                            if (l < 0) return null
-                            if (s + l > a) return null
-                            var c = -o * Pr.dot(Ir)
-                            return c < 0 ? null : this.at(c / a, i)
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            return (
-                              this.origin.applyMatrix4(e),
-                              this.direction.transformDirection(e),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            return (
-                              e.origin.equals(this.origin) && e.direction.equals(this.direction)
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      Fr = (function () {
-                        function e() {
-                          Object.defineProperty(this, 'isMatrix4', { value: !0 }),
-                            (this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
-                            arguments.length > 0 &&
-                              console.error(
-                                'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.',
-                              )
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r, i, o, a, s, l, c, u, h, d, p, f, m) {
-                            var v = this.elements
-                            return (
-                              (v[0] = e),
-                              (v[4] = t),
-                              (v[8] = n),
-                              (v[12] = r),
-                              (v[1] = i),
-                              (v[5] = o),
-                              (v[9] = a),
-                              (v[13] = s),
-                              (v[2] = l),
-                              (v[6] = c),
-                              (v[10] = u),
-                              (v[14] = h),
-                              (v[3] = d),
-                              (v[7] = p),
-                              (v[11] = f),
-                              (v[15] = m),
-                              this
-                            )
-                          }),
-                          (t.identity = function () {
-                            return this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.clone = function () {
-                            return new e().fromArray(this.elements)
-                          }),
-                          (t.copy = function (e) {
-                            var t = this.elements,
-                              n = e.elements
-                            return (
-                              (t[0] = n[0]),
-                              (t[1] = n[1]),
-                              (t[2] = n[2]),
-                              (t[3] = n[3]),
-                              (t[4] = n[4]),
-                              (t[5] = n[5]),
-                              (t[6] = n[6]),
-                              (t[7] = n[7]),
-                              (t[8] = n[8]),
-                              (t[9] = n[9]),
-                              (t[10] = n[10]),
-                              (t[11] = n[11]),
-                              (t[12] = n[12]),
-                              (t[13] = n[13]),
-                              (t[14] = n[14]),
-                              (t[15] = n[15]),
-                              this
-                            )
-                          }),
-                          (t.copyPosition = function (e) {
-                            var t = this.elements,
-                              n = e.elements
-                            return (t[12] = n[12]), (t[13] = n[13]), (t[14] = n[14]), this
-                          }),
-                          (t.setFromMatrix3 = function (e) {
-                            var t = e.elements
-                            return (
-                              this.set(
-                                t[0],
-                                t[3],
-                                t[6],
-                                0,
-                                t[1],
-                                t[4],
-                                t[7],
-                                0,
-                                t[2],
-                                t[5],
-                                t[8],
-                                0,
-                                0,
-                                0,
-                                0,
-                                1,
-                              ),
-                              this
-                            )
-                          }),
-                          (t.extractBasis = function (e, t, n) {
-                            return (
-                              e.setFromMatrixColumn(this, 0),
-                              t.setFromMatrixColumn(this, 1),
-                              n.setFromMatrixColumn(this, 2),
-                              this
-                            )
-                          }),
-                          (t.makeBasis = function (e, t, n) {
-                            return (
-                              this.set(
-                                e.x,
-                                t.x,
-                                n.x,
-                                0,
-                                e.y,
-                                t.y,
-                                n.y,
-                                0,
-                                e.z,
-                                t.z,
-                                n.z,
-                                0,
-                                0,
-                                0,
-                                0,
-                                1,
-                              ),
-                              this
-                            )
-                          }),
-                          (t.extractRotation = function (e) {
-                            var t = this.elements,
-                              n = e.elements,
-                              r = 1 / kr.setFromMatrixColumn(e, 0).length(),
-                              i = 1 / kr.setFromMatrixColumn(e, 1).length(),
-                              o = 1 / kr.setFromMatrixColumn(e, 2).length()
-                            return (
-                              (t[0] = n[0] * r),
-                              (t[1] = n[1] * r),
-                              (t[2] = n[2] * r),
-                              (t[3] = 0),
-                              (t[4] = n[4] * i),
-                              (t[5] = n[5] * i),
-                              (t[6] = n[6] * i),
-                              (t[7] = 0),
-                              (t[8] = n[8] * o),
-                              (t[9] = n[9] * o),
-                              (t[10] = n[10] * o),
-                              (t[11] = 0),
-                              (t[12] = 0),
-                              (t[13] = 0),
-                              (t[14] = 0),
-                              (t[15] = 1),
-                              this
-                            )
-                          }),
-                          (t.makeRotationFromEuler = function (e) {
-                            ;(e && e.isEuler) ||
-                              console.error(
-                                'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.',
-                              )
-                            var t = this.elements,
-                              n = e.x,
-                              r = e.y,
-                              i = e.z,
-                              o = Math.cos(n),
-                              a = Math.sin(n),
-                              s = Math.cos(r),
-                              l = Math.sin(r),
-                              c = Math.cos(i),
-                              u = Math.sin(i)
-                            if ('XYZ' === e.order) {
-                              var h = o * c,
-                                d = o * u,
-                                p = a * c,
-                                f = a * u
-                              ;(t[0] = s * c),
-                                (t[4] = -s * u),
-                                (t[8] = l),
-                                (t[1] = d + p * l),
-                                (t[5] = h - f * l),
-                                (t[9] = -a * s),
-                                (t[2] = f - h * l),
-                                (t[6] = p + d * l),
-                                (t[10] = o * s)
-                            } else if ('YXZ' === e.order) {
-                              var m = s * c,
-                                v = s * u,
-                                g = l * c,
-                                y = l * u
-                              ;(t[0] = m + y * a),
-                                (t[4] = g * a - v),
-                                (t[8] = o * l),
-                                (t[1] = o * u),
-                                (t[5] = o * c),
-                                (t[9] = -a),
-                                (t[2] = v * a - g),
-                                (t[6] = y + m * a),
-                                (t[10] = o * s)
-                            } else if ('ZXY' === e.order) {
-                              var b = s * c,
-                                A = s * u,
-                                w = l * c,
-                                x = l * u
-                              ;(t[0] = b - x * a),
-                                (t[4] = -o * u),
-                                (t[8] = w + A * a),
-                                (t[1] = A + w * a),
-                                (t[5] = o * c),
-                                (t[9] = x - b * a),
-                                (t[2] = -o * l),
-                                (t[6] = a),
-                                (t[10] = o * s)
-                            } else if ('ZYX' === e.order) {
-                              var E = o * c,
-                                M = o * u,
-                                _ = a * c,
-                                T = a * u
-                              ;(t[0] = s * c),
-                                (t[4] = _ * l - M),
-                                (t[8] = E * l + T),
-                                (t[1] = s * u),
-                                (t[5] = T * l + E),
-                                (t[9] = M * l - _),
-                                (t[2] = -l),
-                                (t[6] = a * s),
-                                (t[10] = o * s)
-                            } else if ('YZX' === e.order) {
-                              var S = o * s,
-                                C = o * l,
-                                L = a * s,
-                                R = a * l
-                              ;(t[0] = s * c),
-                                (t[4] = R - S * u),
-                                (t[8] = L * u + C),
-                                (t[1] = u),
-                                (t[5] = o * c),
-                                (t[9] = -a * c),
-                                (t[2] = -l * c),
-                                (t[6] = C * u + L),
-                                (t[10] = S - R * u)
-                            } else if ('XZY' === e.order) {
-                              var P = o * s,
-                                D = o * l,
-                                O = a * s,
-                                I = a * l
-                              ;(t[0] = s * c),
-                                (t[4] = -u),
-                                (t[8] = l * c),
-                                (t[1] = P * u + I),
-                                (t[5] = o * c),
-                                (t[9] = D * u - O),
-                                (t[2] = O * u - D),
-                                (t[6] = a * c),
-                                (t[10] = I * u + P)
-                            }
-                            return (
-                              (t[3] = 0),
-                              (t[7] = 0),
-                              (t[11] = 0),
-                              (t[12] = 0),
-                              (t[13] = 0),
-                              (t[14] = 0),
-                              (t[15] = 1),
-                              this
-                            )
-                          }),
-                          (t.makeRotationFromQuaternion = function (e) {
-                            return this.compose(Ur, e, Hr)
-                          }),
-                          (t.lookAt = function (e, t, n) {
-                            var r = this.elements
-                            return (
-                              jr.subVectors(e, t),
-                              0 === jr.lengthSq() && (jr.z = 1),
-                              jr.normalize(),
-                              Gr.crossVectors(n, jr),
-                              0 === Gr.lengthSq() &&
-                                (1 === Math.abs(n.z) ? (jr.x += 1e-4) : (jr.z += 1e-4),
-                                jr.normalize(),
-                                Gr.crossVectors(n, jr)),
-                              Gr.normalize(),
-                              zr.crossVectors(jr, Gr),
-                              (r[0] = Gr.x),
-                              (r[4] = zr.x),
-                              (r[8] = jr.x),
-                              (r[1] = Gr.y),
-                              (r[5] = zr.y),
-                              (r[9] = jr.y),
-                              (r[2] = Gr.z),
-                              (r[6] = zr.z),
-                              (r[10] = jr.z),
-                              this
-                            )
-                          }),
-                          (t.multiply = function (e, t) {
-                            return void 0 !== t
-                              ? (console.warn(
-                                  'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.',
-                                ),
-                                this.multiplyMatrices(e, t))
-                              : this.multiplyMatrices(this, e)
-                          }),
-                          (t.premultiply = function (e) {
-                            return this.multiplyMatrices(e, this)
-                          }),
-                          (t.multiplyMatrices = function (e, t) {
-                            var n = e.elements,
-                              r = t.elements,
-                              i = this.elements,
-                              o = n[0],
-                              a = n[4],
-                              s = n[8],
-                              l = n[12],
-                              c = n[1],
-                              u = n[5],
-                              h = n[9],
-                              d = n[13],
-                              p = n[2],
-                              f = n[6],
-                              m = n[10],
-                              v = n[14],
-                              g = n[3],
-                              y = n[7],
-                              b = n[11],
-                              A = n[15],
-                              w = r[0],
-                              x = r[4],
-                              E = r[8],
-                              M = r[12],
-                              _ = r[1],
-                              T = r[5],
-                              S = r[9],
-                              C = r[13],
-                              L = r[2],
-                              R = r[6],
-                              P = r[10],
-                              D = r[14],
-                              O = r[3],
-                              I = r[7],
-                              B = r[11],
-                              F = r[15]
-                            return (
-                              (i[0] = o * w + a * _ + s * L + l * O),
-                              (i[4] = o * x + a * T + s * R + l * I),
-                              (i[8] = o * E + a * S + s * P + l * B),
-                              (i[12] = o * M + a * C + s * D + l * F),
-                              (i[1] = c * w + u * _ + h * L + d * O),
-                              (i[5] = c * x + u * T + h * R + d * I),
-                              (i[9] = c * E + u * S + h * P + d * B),
-                              (i[13] = c * M + u * C + h * D + d * F),
-                              (i[2] = p * w + f * _ + m * L + v * O),
-                              (i[6] = p * x + f * T + m * R + v * I),
-                              (i[10] = p * E + f * S + m * P + v * B),
-                              (i[14] = p * M + f * C + m * D + v * F),
-                              (i[3] = g * w + y * _ + b * L + A * O),
-                              (i[7] = g * x + y * T + b * R + A * I),
-                              (i[11] = g * E + y * S + b * P + A * B),
-                              (i[15] = g * M + y * C + b * D + A * F),
-                              this
-                            )
-                          }),
-                          (t.multiplyScalar = function (e) {
-                            var t = this.elements
-                            return (
-                              (t[0] *= e),
-                              (t[4] *= e),
-                              (t[8] *= e),
-                              (t[12] *= e),
-                              (t[1] *= e),
-                              (t[5] *= e),
-                              (t[9] *= e),
-                              (t[13] *= e),
-                              (t[2] *= e),
-                              (t[6] *= e),
-                              (t[10] *= e),
-                              (t[14] *= e),
-                              (t[3] *= e),
-                              (t[7] *= e),
-                              (t[11] *= e),
-                              (t[15] *= e),
-                              this
-                            )
-                          }),
-                          (t.determinant = function () {
-                            var e = this.elements,
-                              t = e[0],
-                              n = e[4],
-                              r = e[8],
-                              i = e[12],
-                              o = e[1],
-                              a = e[5],
-                              s = e[9],
-                              l = e[13],
-                              c = e[2],
-                              u = e[6],
-                              h = e[10],
-                              d = e[14]
-                            return (
-                              e[3] *
-                                (+i * s * u -
-                                  r * l * u -
-                                  i * a * h +
-                                  n * l * h +
-                                  r * a * d -
-                                  n * s * d) +
-                              e[7] *
-                                (+t * s * d -
-                                  t * l * h +
-                                  i * o * h -
-                                  r * o * d +
-                                  r * l * c -
-                                  i * s * c) +
-                              e[11] *
-                                (+t * l * u -
-                                  t * a * d -
-                                  i * o * u +
-                                  n * o * d +
-                                  i * a * c -
-                                  n * l * c) +
-                              e[15] *
-                                (-r * a * c -
-                                  t * s * u +
-                                  t * a * h +
-                                  r * o * u -
-                                  n * o * h +
-                                  n * s * c)
-                            )
-                          }),
-                          (t.transpose = function () {
-                            var e,
-                              t = this.elements
-                            return (
-                              (e = t[1]),
-                              (t[1] = t[4]),
-                              (t[4] = e),
-                              (e = t[2]),
-                              (t[2] = t[8]),
-                              (t[8] = e),
-                              (e = t[6]),
-                              (t[6] = t[9]),
-                              (t[9] = e),
-                              (e = t[3]),
-                              (t[3] = t[12]),
-                              (t[12] = e),
-                              (e = t[7]),
-                              (t[7] = t[13]),
-                              (t[13] = e),
-                              (e = t[11]),
-                              (t[11] = t[14]),
-                              (t[14] = e),
-                              this
-                            )
-                          }),
-                          (t.setPosition = function (e, t, n) {
-                            var r = this.elements
-                            return (
-                              e.isVector3
-                                ? ((r[12] = e.x), (r[13] = e.y), (r[14] = e.z))
-                                : ((r[12] = e), (r[13] = t), (r[14] = n)),
-                              this
-                            )
-                          }),
-                          (t.invert = function () {
-                            var e = this.elements,
-                              t = e[0],
-                              n = e[1],
-                              r = e[2],
-                              i = e[3],
-                              o = e[4],
-                              a = e[5],
-                              s = e[6],
-                              l = e[7],
-                              c = e[8],
-                              u = e[9],
-                              h = e[10],
-                              d = e[11],
-                              p = e[12],
-                              f = e[13],
-                              m = e[14],
-                              v = e[15],
-                              g =
-                                u * m * l -
-                                f * h * l +
-                                f * s * d -
-                                a * m * d -
-                                u * s * v +
-                                a * h * v,
-                              y =
-                                p * h * l -
-                                c * m * l -
-                                p * s * d +
-                                o * m * d +
-                                c * s * v -
-                                o * h * v,
-                              b =
-                                c * f * l -
-                                p * u * l +
-                                p * a * d -
-                                o * f * d -
-                                c * a * v +
-                                o * u * v,
-                              A =
-                                p * u * s -
-                                c * f * s -
-                                p * a * h +
-                                o * f * h +
-                                c * a * m -
-                                o * u * m,
-                              w = t * g + n * y + r * b + i * A
-                            if (0 === w)
-                              return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
-                            var x = 1 / w
-                            return (
-                              (e[0] = g * x),
-                              (e[1] =
-                                (f * h * i -
-                                  u * m * i -
-                                  f * r * d +
-                                  n * m * d +
-                                  u * r * v -
-                                  n * h * v) *
-                                x),
-                              (e[2] =
-                                (a * m * i -
-                                  f * s * i +
-                                  f * r * l -
-                                  n * m * l -
-                                  a * r * v +
-                                  n * s * v) *
-                                x),
-                              (e[3] =
-                                (u * s * i -
-                                  a * h * i -
-                                  u * r * l +
-                                  n * h * l +
-                                  a * r * d -
-                                  n * s * d) *
-                                x),
-                              (e[4] = y * x),
-                              (e[5] =
-                                (c * m * i -
-                                  p * h * i +
-                                  p * r * d -
-                                  t * m * d -
-                                  c * r * v +
-                                  t * h * v) *
-                                x),
-                              (e[6] =
-                                (p * s * i -
-                                  o * m * i -
-                                  p * r * l +
-                                  t * m * l +
-                                  o * r * v -
-                                  t * s * v) *
-                                x),
-                              (e[7] =
-                                (o * h * i -
-                                  c * s * i +
-                                  c * r * l -
-                                  t * h * l -
-                                  o * r * d +
-                                  t * s * d) *
-                                x),
-                              (e[8] = b * x),
-                              (e[9] =
-                                (p * u * i -
-                                  c * f * i -
-                                  p * n * d +
-                                  t * f * d +
-                                  c * n * v -
-                                  t * u * v) *
-                                x),
-                              (e[10] =
-                                (o * f * i -
-                                  p * a * i +
-                                  p * n * l -
-                                  t * f * l -
-                                  o * n * v +
-                                  t * a * v) *
-                                x),
-                              (e[11] =
-                                (c * a * i -
-                                  o * u * i -
-                                  c * n * l +
-                                  t * u * l +
-                                  o * n * d -
-                                  t * a * d) *
-                                x),
-                              (e[12] = A * x),
-                              (e[13] =
-                                (c * f * r -
-                                  p * u * r +
-                                  p * n * h -
-                                  t * f * h -
-                                  c * n * m +
-                                  t * u * m) *
-                                x),
-                              (e[14] =
-                                (p * a * r -
-                                  o * f * r -
-                                  p * n * s +
-                                  t * f * s +
-                                  o * n * m -
-                                  t * a * m) *
-                                x),
-                              (e[15] =
-                                (o * u * r -
-                                  c * a * r +
-                                  c * n * s -
-                                  t * u * s -
-                                  o * n * h +
-                                  t * a * h) *
-                                x),
-                              this
-                            )
-                          }),
-                          (t.scale = function (e) {
-                            var t = this.elements,
-                              n = e.x,
-                              r = e.y,
-                              i = e.z
-                            return (
-                              (t[0] *= n),
-                              (t[4] *= r),
-                              (t[8] *= i),
-                              (t[1] *= n),
-                              (t[5] *= r),
-                              (t[9] *= i),
-                              (t[2] *= n),
-                              (t[6] *= r),
-                              (t[10] *= i),
-                              (t[3] *= n),
-                              (t[7] *= r),
-                              (t[11] *= i),
-                              this
-                            )
-                          }),
-                          (t.getMaxScaleOnAxis = function () {
-                            var e = this.elements,
-                              t = e[0] * e[0] + e[1] * e[1] + e[2] * e[2],
-                              n = e[4] * e[4] + e[5] * e[5] + e[6] * e[6],
-                              r = e[8] * e[8] + e[9] * e[9] + e[10] * e[10]
-                            return Math.sqrt(Math.max(t, n, r))
-                          }),
-                          (t.makeTranslation = function (e, t, n) {
-                            return this.set(1, 0, 0, e, 0, 1, 0, t, 0, 0, 1, n, 0, 0, 0, 1), this
-                          }),
-                          (t.makeRotationX = function (e) {
-                            var t = Math.cos(e),
-                              n = Math.sin(e)
-                            return this.set(1, 0, 0, 0, 0, t, -n, 0, 0, n, t, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.makeRotationY = function (e) {
-                            var t = Math.cos(e),
-                              n = Math.sin(e)
-                            return this.set(t, 0, n, 0, 0, 1, 0, 0, -n, 0, t, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.makeRotationZ = function (e) {
-                            var t = Math.cos(e),
-                              n = Math.sin(e)
-                            return this.set(t, -n, 0, 0, n, t, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.makeRotationAxis = function (e, t) {
-                            var n = Math.cos(t),
-                              r = Math.sin(t),
-                              i = 1 - n,
-                              o = e.x,
-                              a = e.y,
-                              s = e.z,
-                              l = i * o,
-                              c = i * a
-                            return (
-                              this.set(
-                                l * o + n,
-                                l * a - r * s,
-                                l * s + r * a,
-                                0,
-                                l * a + r * s,
-                                c * a + n,
-                                c * s - r * o,
-                                0,
-                                l * s - r * a,
-                                c * s + r * o,
-                                i * s * s + n,
-                                0,
-                                0,
-                                0,
-                                0,
-                                1,
-                              ),
-                              this
-                            )
-                          }),
-                          (t.makeScale = function (e, t, n) {
-                            return this.set(e, 0, 0, 0, 0, t, 0, 0, 0, 0, n, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.makeShear = function (e, t, n) {
-                            return this.set(1, t, n, 0, e, 1, n, 0, e, t, 1, 0, 0, 0, 0, 1), this
-                          }),
-                          (t.compose = function (e, t, n) {
-                            var r = this.elements,
-                              i = t._x,
-                              o = t._y,
-                              a = t._z,
-                              s = t._w,
-                              l = i + i,
-                              c = o + o,
-                              u = a + a,
-                              h = i * l,
-                              d = i * c,
-                              p = i * u,
-                              f = o * c,
-                              m = o * u,
-                              v = a * u,
-                              g = s * l,
-                              y = s * c,
-                              b = s * u,
-                              A = n.x,
-                              w = n.y,
-                              x = n.z
-                            return (
-                              (r[0] = (1 - (f + v)) * A),
-                              (r[1] = (d + b) * A),
-                              (r[2] = (p - y) * A),
-                              (r[3] = 0),
-                              (r[4] = (d - b) * w),
-                              (r[5] = (1 - (h + v)) * w),
-                              (r[6] = (m + g) * w),
-                              (r[7] = 0),
-                              (r[8] = (p + y) * x),
-                              (r[9] = (m - g) * x),
-                              (r[10] = (1 - (h + f)) * x),
-                              (r[11] = 0),
-                              (r[12] = e.x),
-                              (r[13] = e.y),
-                              (r[14] = e.z),
-                              (r[15] = 1),
-                              this
-                            )
-                          }),
-                          (t.decompose = function (e, t, n) {
-                            var r = this.elements,
-                              i = kr.set(r[0], r[1], r[2]).length(),
-                              o = kr.set(r[4], r[5], r[6]).length(),
-                              a = kr.set(r[8], r[9], r[10]).length()
-                            this.determinant() < 0 && (i = -i),
-                              (e.x = r[12]),
-                              (e.y = r[13]),
-                              (e.z = r[14]),
-                              Nr.copy(this)
-                            var s = 1 / i,
-                              l = 1 / o,
-                              c = 1 / a
-                            return (
-                              (Nr.elements[0] *= s),
-                              (Nr.elements[1] *= s),
-                              (Nr.elements[2] *= s),
-                              (Nr.elements[4] *= l),
-                              (Nr.elements[5] *= l),
-                              (Nr.elements[6] *= l),
-                              (Nr.elements[8] *= c),
-                              (Nr.elements[9] *= c),
-                              (Nr.elements[10] *= c),
-                              t.setFromRotationMatrix(Nr),
-                              (n.x = i),
-                              (n.y = o),
-                              (n.z = a),
-                              this
-                            )
-                          }),
-                          (t.makePerspective = function (e, t, n, r, i, o) {
-                            void 0 === o &&
-                              console.warn(
-                                'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.',
-                              )
-                            var a = this.elements,
-                              s = (2 * i) / (t - e),
-                              l = (2 * i) / (n - r),
-                              c = (t + e) / (t - e),
-                              u = (n + r) / (n - r),
-                              h = -(o + i) / (o - i),
-                              d = (-2 * o * i) / (o - i)
-                            return (
-                              (a[0] = s),
-                              (a[4] = 0),
-                              (a[8] = c),
-                              (a[12] = 0),
-                              (a[1] = 0),
-                              (a[5] = l),
-                              (a[9] = u),
-                              (a[13] = 0),
-                              (a[2] = 0),
-                              (a[6] = 0),
-                              (a[10] = h),
-                              (a[14] = d),
-                              (a[3] = 0),
-                              (a[7] = 0),
-                              (a[11] = -1),
-                              (a[15] = 0),
-                              this
-                            )
-                          }),
-                          (t.makeOrthographic = function (e, t, n, r, i, o) {
-                            var a = this.elements,
-                              s = 1 / (t - e),
-                              l = 1 / (n - r),
-                              c = 1 / (o - i),
-                              u = (t + e) * s,
-                              h = (n + r) * l,
-                              d = (o + i) * c
-                            return (
-                              (a[0] = 2 * s),
-                              (a[4] = 0),
-                              (a[8] = 0),
-                              (a[12] = -u),
-                              (a[1] = 0),
-                              (a[5] = 2 * l),
-                              (a[9] = 0),
-                              (a[13] = -h),
-                              (a[2] = 0),
-                              (a[6] = 0),
-                              (a[10] = -2 * c),
-                              (a[14] = -d),
-                              (a[3] = 0),
-                              (a[7] = 0),
-                              (a[11] = 0),
-                              (a[15] = 1),
-                              this
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            for (var t = this.elements, n = e.elements, r = 0; r < 16; r++)
-                              if (t[r] !== n[r]) return !1
-                            return !0
-                          }),
-                          (t.fromArray = function (e, t) {
-                            void 0 === t && (t = 0)
-                            for (var n = 0; n < 16; n++) this.elements[n] = e[n + t]
-                            return this
-                          }),
-                          (t.toArray = function (e, t) {
-                            void 0 === e && (e = []), void 0 === t && (t = 0)
-                            var n = this.elements
-                            return (
-                              (e[t] = n[0]),
-                              (e[t + 1] = n[1]),
-                              (e[t + 2] = n[2]),
-                              (e[t + 3] = n[3]),
-                              (e[t + 4] = n[4]),
-                              (e[t + 5] = n[5]),
-                              (e[t + 6] = n[6]),
-                              (e[t + 7] = n[7]),
-                              (e[t + 8] = n[8]),
-                              (e[t + 9] = n[9]),
-                              (e[t + 10] = n[10]),
-                              (e[t + 11] = n[11]),
-                              (e[t + 12] = n[12]),
-                              (e[t + 13] = n[13]),
-                              (e[t + 14] = n[14]),
-                              (e[t + 15] = n[15]),
-                              e
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      kr = new lr(),
-                      Nr = new Fr(),
-                      Ur = new lr(0, 0, 0),
-                      Hr = new lr(1, 1, 1),
-                      Gr = new lr(),
-                      zr = new lr(),
-                      jr = new lr(),
-                      Vr = (function () {
-                        function e(t, n, r, i) {
-                          void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            void 0 === r && (r = 0),
-                            void 0 === i && (i = e.DefaultOrder),
-                            Object.defineProperty(this, 'isEuler', { value: !0 }),
-                            (this._x = t),
-                            (this._y = n),
-                            (this._z = r),
-                            (this._order = i)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r) {
-                            return (
-                              (this._x = e),
-                              (this._y = t),
-                              (this._z = n),
-                              (this._order = r || this._order),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor(this._x, this._y, this._z, this._order)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              (this._x = e._x),
-                              (this._y = e._y),
-                              (this._z = e._z),
-                              (this._order = e._order),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.setFromRotationMatrix = function (e, t, n) {
-                            var r = Kn.clamp,
-                              i = e.elements,
-                              o = i[0],
-                              a = i[4],
-                              s = i[8],
-                              l = i[1],
-                              c = i[5],
-                              u = i[9],
-                              h = i[2],
-                              d = i[6],
-                              p = i[10]
-                            switch ((t = t || this._order)) {
-                              case 'XYZ':
-                                ;(this._y = Math.asin(r(s, -1, 1))),
-                                  Math.abs(s) < 0.9999999
-                                    ? ((this._x = Math.atan2(-u, p)), (this._z = Math.atan2(-a, o)))
-                                    : ((this._x = Math.atan2(d, c)), (this._z = 0))
-                                break
-                              case 'YXZ':
-                                ;(this._x = Math.asin(-r(u, -1, 1))),
-                                  Math.abs(u) < 0.9999999
-                                    ? ((this._y = Math.atan2(s, p)), (this._z = Math.atan2(l, c)))
-                                    : ((this._y = Math.atan2(-h, o)), (this._z = 0))
-                                break
-                              case 'ZXY':
-                                ;(this._x = Math.asin(r(d, -1, 1))),
-                                  Math.abs(d) < 0.9999999
-                                    ? ((this._y = Math.atan2(-h, p)), (this._z = Math.atan2(-a, c)))
-                                    : ((this._y = 0), (this._z = Math.atan2(l, o)))
-                                break
-                              case 'ZYX':
-                                ;(this._y = Math.asin(-r(h, -1, 1))),
-                                  Math.abs(h) < 0.9999999
-                                    ? ((this._x = Math.atan2(d, p)), (this._z = Math.atan2(l, o)))
-                                    : ((this._x = 0), (this._z = Math.atan2(-a, c)))
-                                break
-                              case 'YZX':
-                                ;(this._z = Math.asin(r(l, -1, 1))),
-                                  Math.abs(l) < 0.9999999
-                                    ? ((this._x = Math.atan2(-u, c)), (this._y = Math.atan2(-h, o)))
-                                    : ((this._x = 0), (this._y = Math.atan2(s, p)))
-                                break
-                              case 'XZY':
-                                ;(this._z = Math.asin(-r(a, -1, 1))),
-                                  Math.abs(a) < 0.9999999
-                                    ? ((this._x = Math.atan2(d, c)), (this._y = Math.atan2(s, o)))
-                                    : ((this._x = Math.atan2(-u, p)), (this._y = 0))
-                                break
-                              default:
-                                console.warn(
-                                  'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' +
-                                    t,
-                                )
-                            }
-                            return (this._order = t), !1 !== n && this._onChangeCallback(), this
-                          }),
-                          (t.setFromQuaternion = function (e, t, n) {
-                            return (
-                              Wr.makeRotationFromQuaternion(e), this.setFromRotationMatrix(Wr, t, n)
-                            )
-                          }),
-                          (t.setFromVector3 = function (e, t) {
-                            return this.set(e.x, e.y, e.z, t || this._order)
-                          }),
-                          (t.reorder = function (e) {
-                            return qr.setFromEuler(this), this.setFromQuaternion(qr, e)
-                          }),
-                          (t.equals = function (e) {
-                            return (
-                              e._x === this._x &&
-                              e._y === this._y &&
-                              e._z === this._z &&
-                              e._order === this._order
-                            )
-                          }),
-                          (t.fromArray = function (e) {
-                            return (
-                              (this._x = e[0]),
-                              (this._y = e[1]),
-                              (this._z = e[2]),
-                              void 0 !== e[3] && (this._order = e[3]),
-                              this._onChangeCallback(),
-                              this
-                            )
-                          }),
-                          (t.toArray = function (e, t) {
-                            return (
-                              void 0 === e && (e = []),
-                              void 0 === t && (t = 0),
-                              (e[t] = this._x),
-                              (e[t + 1] = this._y),
-                              (e[t + 2] = this._z),
-                              (e[t + 3] = this._order),
-                              e
-                            )
-                          }),
-                          (t.toVector3 = function (e) {
-                            return e
-                              ? e.set(this._x, this._y, this._z)
-                              : new lr(this._x, this._y, this._z)
-                          }),
-                          (t._onChange = function (e) {
-                            return (this._onChangeCallback = e), this
-                          }),
-                          (t._onChangeCallback = function () {}),
-                          Hn(e, [
-                            {
-                              key: 'x',
-                              get: function () {
-                                return this._x
-                              },
-                              set: function (e) {
-                                ;(this._x = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'y',
-                              get: function () {
-                                return this._y
-                              },
-                              set: function (e) {
-                                ;(this._y = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'z',
-                              get: function () {
-                                return this._z
-                              },
-                              set: function (e) {
-                                ;(this._z = e), this._onChangeCallback()
-                              },
-                            },
-                            {
-                              key: 'order',
-                              get: function () {
-                                return this._order
-                              },
-                              set: function (e) {
-                                ;(this._order = e), this._onChangeCallback()
-                              },
-                            },
-                          ]),
-                          e
-                        )
-                      })()
-                    ;(Vr.DefaultOrder = 'XYZ'),
-                      (Vr.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX'])
-                    var Wr = new Fr(),
-                      qr = new sr(),
-                      Xr = (function () {
-                        function e() {
-                          this.mask = 1
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e) {
-                            this.mask = (1 << e) | 0
-                          }),
-                          (t.enable = function (e) {
-                            this.mask |= (1 << e) | 0
-                          }),
-                          (t.enableAll = function () {
-                            this.mask = -1
-                          }),
-                          (t.toggle = function (e) {
-                            this.mask ^= (1 << e) | 0
-                          }),
-                          (t.disable = function (e) {
-                            this.mask &= ~((1 << e) | 0)
-                          }),
-                          (t.disableAll = function () {
-                            this.mask = 0
-                          }),
-                          (t.test = function (e) {
-                            return 0 !== (this.mask & e.mask)
-                          }),
-                          e
-                        )
-                      })(),
-                      Yr = 0,
-                      Qr = new lr(),
-                      Zr = new sr(),
-                      Kr = new Fr(),
-                      Jr = new lr(),
-                      $r = new lr(),
-                      ei = new lr(),
-                      ti = new sr(),
-                      ni = new lr(1, 0, 0),
-                      ri = new lr(0, 1, 0),
-                      ii = new lr(0, 0, 1),
-                      oi = { type: 'added' },
-                      ai = { type: 'removed' }
-                    function si() {
-                      Object.defineProperty(this, 'id', { value: Yr++ }),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.name = ''),
-                        (this.type = 'Object3D'),
-                        (this.parent = null),
-                        (this.children = []),
-                        (this.up = si.DefaultUp.clone())
-                      var e = new lr(),
-                        t = new Vr(),
-                        n = new sr(),
-                        r = new lr(1, 1, 1)
-                      function i() {
-                        n.setFromEuler(t, !1)
-                      }
-                      function o() {
-                        t.setFromQuaternion(n, void 0, !1)
-                      }
-                      t._onChange(i),
-                        n._onChange(o),
-                        Object.defineProperties(this, {
-                          position: { configurable: !0, enumerable: !0, value: e },
-                          rotation: { configurable: !0, enumerable: !0, value: t },
-                          quaternion: { configurable: !0, enumerable: !0, value: n },
-                          scale: { configurable: !0, enumerable: !0, value: r },
-                          modelViewMatrix: { value: new Fr() },
-                          normalMatrix: { value: new $n() },
-                        }),
-                        (this.matrix = new Fr()),
-                        (this.matrixWorld = new Fr()),
-                        (this.matrixAutoUpdate = si.DefaultMatrixAutoUpdate),
-                        (this.matrixWorldNeedsUpdate = !1),
-                        (this.layers = new Xr()),
-                        (this.visible = !0),
-                        (this.castShadow = !1),
-                        (this.receiveShadow = !1),
-                        (this.frustumCulled = !0),
-                        (this.renderOrder = 0),
-                        (this.animations = []),
-                        (this.userData = {})
-                    }
-                    ;(si.DefaultUp = new lr(0, 1, 0)),
-                      (si.DefaultMatrixAutoUpdate = !0),
-                      (si.prototype = Object.assign(Object.create(qn.prototype), {
-                        constructor: si,
-                        isObject3D: !0,
-                        onBeforeRender: function () {},
-                        onAfterRender: function () {},
-                        applyMatrix4: function (e) {
-                          this.matrixAutoUpdate && this.updateMatrix(),
-                            this.matrix.premultiply(e),
-                            this.matrix.decompose(this.position, this.quaternion, this.scale)
-                        },
-                        applyQuaternion: function (e) {
-                          return this.quaternion.premultiply(e), this
-                        },
-                        setRotationFromAxisAngle: function (e, t) {
-                          this.quaternion.setFromAxisAngle(e, t)
-                        },
-                        setRotationFromEuler: function (e) {
-                          this.quaternion.setFromEuler(e, !0)
-                        },
-                        setRotationFromMatrix: function (e) {
-                          this.quaternion.setFromRotationMatrix(e)
-                        },
-                        setRotationFromQuaternion: function (e) {
-                          this.quaternion.copy(e)
-                        },
-                        rotateOnAxis: function (e, t) {
-                          return Zr.setFromAxisAngle(e, t), this.quaternion.multiply(Zr), this
-                        },
-                        rotateOnWorldAxis: function (e, t) {
-                          return Zr.setFromAxisAngle(e, t), this.quaternion.premultiply(Zr), this
-                        },
-                        rotateX: function (e) {
-                          return this.rotateOnAxis(ni, e)
-                        },
-                        rotateY: function (e) {
-                          return this.rotateOnAxis(ri, e)
-                        },
-                        rotateZ: function (e) {
-                          return this.rotateOnAxis(ii, e)
-                        },
-                        translateOnAxis: function (e, t) {
-                          return (
-                            Qr.copy(e).applyQuaternion(this.quaternion),
-                            this.position.add(Qr.multiplyScalar(t)),
-                            this
-                          )
-                        },
-                        translateX: function (e) {
-                          return this.translateOnAxis(ni, e)
-                        },
-                        translateY: function (e) {
-                          return this.translateOnAxis(ri, e)
-                        },
-                        translateZ: function (e) {
-                          return this.translateOnAxis(ii, e)
-                        },
-                        localToWorld: function (e) {
-                          return e.applyMatrix4(this.matrixWorld)
-                        },
-                        worldToLocal: function (e) {
-                          return e.applyMatrix4(Kr.copy(this.matrixWorld).invert())
-                        },
-                        lookAt: function (e, t, n) {
-                          e.isVector3 ? Jr.copy(e) : Jr.set(e, t, n)
-                          var r = this.parent
-                          this.updateWorldMatrix(!0, !1),
-                            $r.setFromMatrixPosition(this.matrixWorld),
-                            this.isCamera || this.isLight
-                              ? Kr.lookAt($r, Jr, this.up)
-                              : Kr.lookAt(Jr, $r, this.up),
-                            this.quaternion.setFromRotationMatrix(Kr),
-                            r &&
-                              (Kr.extractRotation(r.matrixWorld),
-                              Zr.setFromRotationMatrix(Kr),
-                              this.quaternion.premultiply(Zr.invert()))
-                        },
-                        add: function (e) {
-                          if (arguments.length > 1) {
-                            for (var t = 0; t < arguments.length; t++) this.add(arguments[t])
-                            return this
-                          }
-                          return e === this
-                            ? (console.error(
-                                "THREE.Object3D.add: object can't be added as a child of itself.",
-                                e,
-                              ),
-                              this)
-                            : (e && e.isObject3D
-                                ? (null !== e.parent && e.parent.remove(e),
-                                  (e.parent = this),
-                                  this.children.push(e),
-                                  e.dispatchEvent(oi))
-                                : console.error(
-                                    'THREE.Object3D.add: object not an instance of THREE.Object3D.',
-                                    e,
-                                  ),
-                              this)
-                        },
-                        remove: function (e) {
-                          if (arguments.length > 1) {
-                            for (var t = 0; t < arguments.length; t++) this.remove(arguments[t])
-                            return this
-                          }
-                          var n = this.children.indexOf(e)
-                          return (
-                            -1 !== n &&
-                              ((e.parent = null), this.children.splice(n, 1), e.dispatchEvent(ai)),
-                            this
-                          )
-                        },
-                        clear: function () {
-                          for (var e = 0; e < this.children.length; e++) {
-                            var t = this.children[e]
-                            ;(t.parent = null), t.dispatchEvent(ai)
-                          }
-                          return (this.children.length = 0), this
-                        },
-                        attach: function (e) {
-                          return (
-                            this.updateWorldMatrix(!0, !1),
-                            Kr.copy(this.matrixWorld).invert(),
-                            null !== e.parent &&
-                              (e.parent.updateWorldMatrix(!0, !1),
-                              Kr.multiply(e.parent.matrixWorld)),
-                            e.applyMatrix4(Kr),
-                            e.updateWorldMatrix(!1, !1),
-                            this.add(e),
-                            this
-                          )
-                        },
-                        getObjectById: function (e) {
-                          return this.getObjectByProperty('id', e)
-                        },
-                        getObjectByName: function (e) {
-                          return this.getObjectByProperty('name', e)
-                        },
-                        getObjectByProperty: function (e, t) {
-                          if (this[e] === t) return this
-                          for (var n = 0, r = this.children.length; n < r; n++) {
-                            var i = this.children[n].getObjectByProperty(e, t)
-                            if (void 0 !== i) return i
-                          }
-                        },
-                        getWorldPosition: function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'THREE.Object3D: .getWorldPosition() target is now required',
-                              ),
-                              (e = new lr())),
-                            this.updateWorldMatrix(!0, !1),
-                            e.setFromMatrixPosition(this.matrixWorld)
-                          )
-                        },
-                        getWorldQuaternion: function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'THREE.Object3D: .getWorldQuaternion() target is now required',
-                              ),
-                              (e = new sr())),
-                            this.updateWorldMatrix(!0, !1),
-                            this.matrixWorld.decompose($r, e, ei),
-                            e
-                          )
-                        },
-                        getWorldScale: function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'THREE.Object3D: .getWorldScale() target is now required',
-                              ),
-                              (e = new lr())),
-                            this.updateWorldMatrix(!0, !1),
-                            this.matrixWorld.decompose($r, ti, e),
-                            e
-                          )
-                        },
-                        getWorldDirection: function (e) {
-                          void 0 === e &&
-                            (console.warn(
-                              'THREE.Object3D: .getWorldDirection() target is now required',
-                            ),
-                            (e = new lr())),
-                            this.updateWorldMatrix(!0, !1)
-                          var t = this.matrixWorld.elements
-                          return e.set(t[8], t[9], t[10]).normalize()
-                        },
-                        raycast: function () {},
-                        traverse: function (e) {
-                          e(this)
-                          for (var t = this.children, n = 0, r = t.length; n < r; n++)
-                            t[n].traverse(e)
-                        },
-                        traverseVisible: function (e) {
-                          if (!1 !== this.visible) {
-                            e(this)
-                            for (var t = this.children, n = 0, r = t.length; n < r; n++)
-                              t[n].traverseVisible(e)
-                          }
-                        },
-                        traverseAncestors: function (e) {
-                          var t = this.parent
-                          null !== t && (e(t), t.traverseAncestors(e))
-                        },
-                        updateMatrix: function () {
-                          this.matrix.compose(this.position, this.quaternion, this.scale),
-                            (this.matrixWorldNeedsUpdate = !0)
-                        },
-                        updateMatrixWorld: function (e) {
-                          this.matrixAutoUpdate && this.updateMatrix(),
-                            (this.matrixWorldNeedsUpdate || e) &&
-                              (null === this.parent
-                                ? this.matrixWorld.copy(this.matrix)
-                                : this.matrixWorld.multiplyMatrices(
-                                    this.parent.matrixWorld,
-                                    this.matrix,
-                                  ),
-                              (this.matrixWorldNeedsUpdate = !1),
-                              (e = !0))
-                          for (var t = this.children, n = 0, r = t.length; n < r; n++)
-                            t[n].updateMatrixWorld(e)
-                        },
-                        updateWorldMatrix: function (e, t) {
-                          var n = this.parent
-                          if (
-                            (!0 === e && null !== n && n.updateWorldMatrix(!0, !1),
-                            this.matrixAutoUpdate && this.updateMatrix(),
-                            null === this.parent
-                              ? this.matrixWorld.copy(this.matrix)
-                              : this.matrixWorld.multiplyMatrices(
-                                  this.parent.matrixWorld,
-                                  this.matrix,
-                                ),
-                            !0 === t)
-                          )
-                            for (var r = this.children, i = 0, o = r.length; i < o; i++)
-                              r[i].updateWorldMatrix(!1, !0)
-                        },
-                        toJSON: function (e) {
-                          var t = void 0 === e || 'string' === typeof e,
-                            n = {}
-                          t &&
-                            ((e = {
-                              geometries: {},
-                              materials: {},
-                              textures: {},
-                              images: {},
-                              shapes: {},
-                              skeletons: {},
-                              animations: {},
-                            }),
-                            (n.metadata = {
-                              version: 4.5,
-                              type: 'Object',
-                              generator: 'Object3D.toJSON',
-                            }))
-                          var r = {}
-                          function i(t, n) {
-                            return void 0 === t[n.uuid] && (t[n.uuid] = n.toJSON(e)), n.uuid
-                          }
-                          if (
-                            ((r.uuid = this.uuid),
-                            (r.type = this.type),
-                            '' !== this.name && (r.name = this.name),
-                            !0 === this.castShadow && (r.castShadow = !0),
-                            !0 === this.receiveShadow && (r.receiveShadow = !0),
-                            !1 === this.visible && (r.visible = !1),
-                            !1 === this.frustumCulled && (r.frustumCulled = !1),
-                            0 !== this.renderOrder && (r.renderOrder = this.renderOrder),
-                            '{}' !== JSON.stringify(this.userData) && (r.userData = this.userData),
-                            (r.layers = this.layers.mask),
-                            (r.matrix = this.matrix.toArray()),
-                            !1 === this.matrixAutoUpdate && (r.matrixAutoUpdate = !1),
-                            this.isInstancedMesh &&
-                              ((r.type = 'InstancedMesh'),
-                              (r.count = this.count),
-                              (r.instanceMatrix = this.instanceMatrix.toJSON())),
-                            this.isMesh || this.isLine || this.isPoints)
-                          ) {
-                            r.geometry = i(e.geometries, this.geometry)
-                            var o = this.geometry.parameters
-                            if (void 0 !== o && void 0 !== o.shapes) {
-                              var a = o.shapes
-                              if (Array.isArray(a))
-                                for (var s = 0, l = a.length; s < l; s++) {
-                                  var c = a[s]
-                                  i(e.shapes, c)
-                                }
-                              else i(e.shapes, a)
-                            }
-                          }
-                          if (
-                            (this.isSkinnedMesh &&
-                              ((r.bindMode = this.bindMode),
-                              (r.bindMatrix = this.bindMatrix.toArray()),
-                              void 0 !== this.skeleton &&
-                                (i(e.skeletons, this.skeleton), (r.skeleton = this.skeleton.uuid))),
-                            void 0 !== this.material)
-                          )
-                            if (Array.isArray(this.material)) {
-                              for (var u = [], h = 0, d = this.material.length; h < d; h++)
-                                u.push(i(e.materials, this.material[h]))
-                              r.material = u
-                            } else r.material = i(e.materials, this.material)
-                          if (this.children.length > 0) {
-                            r.children = []
-                            for (var p = 0; p < this.children.length; p++)
-                              r.children.push(this.children[p].toJSON(e).object)
-                          }
-                          if (this.animations.length > 0) {
-                            r.animations = []
-                            for (var f = 0; f < this.animations.length; f++) {
-                              var m = this.animations[f]
-                              r.animations.push(i(e.animations, m))
-                            }
-                          }
-                          if (t) {
-                            var v = E(e.geometries),
-                              g = E(e.materials),
-                              y = E(e.textures),
-                              b = E(e.images),
-                              A = E(e.shapes),
-                              w = E(e.skeletons),
-                              x = E(e.animations)
-                            v.length > 0 && (n.geometries = v),
-                              g.length > 0 && (n.materials = g),
-                              y.length > 0 && (n.textures = y),
-                              b.length > 0 && (n.images = b),
-                              A.length > 0 && (n.shapes = A),
-                              w.length > 0 && (n.skeletons = w),
-                              x.length > 0 && (n.animations = x)
-                          }
-                          return (n.object = r), n
-                          function E(e) {
-                            var t = []
-                            for (var n in e) {
-                              var r = e[n]
-                              delete r.metadata, t.push(r)
-                            }
-                            return t
-                          }
-                        },
-                        clone: function (e) {
-                          return new this.constructor().copy(this, e)
-                        },
-                        copy: function (e, t) {
-                          if (
-                            (void 0 === t && (t = !0),
-                            (this.name = e.name),
-                            this.up.copy(e.up),
-                            this.position.copy(e.position),
-                            (this.rotation.order = e.rotation.order),
-                            this.quaternion.copy(e.quaternion),
-                            this.scale.copy(e.scale),
-                            this.matrix.copy(e.matrix),
-                            this.matrixWorld.copy(e.matrixWorld),
-                            (this.matrixAutoUpdate = e.matrixAutoUpdate),
-                            (this.matrixWorldNeedsUpdate = e.matrixWorldNeedsUpdate),
-                            (this.layers.mask = e.layers.mask),
-                            (this.visible = e.visible),
-                            (this.castShadow = e.castShadow),
-                            (this.receiveShadow = e.receiveShadow),
-                            (this.frustumCulled = e.frustumCulled),
-                            (this.renderOrder = e.renderOrder),
-                            (this.userData = JSON.parse(JSON.stringify(e.userData))),
-                            !0 === t)
-                          )
-                            for (var n = 0; n < e.children.length; n++) {
-                              var r = e.children[n]
-                              this.add(r.clone())
-                            }
-                          return this
-                        },
-                      }))
-                    var li = new lr(),
-                      ci = new lr(),
-                      ui = new $n(),
-                      hi = (function () {
-                        function e(e, t) {
-                          Object.defineProperty(this, 'isPlane', { value: !0 }),
-                            (this.normal = void 0 !== e ? e : new lr(1, 0, 0)),
-                            (this.constant = void 0 !== t ? t : 0)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.normal.copy(e), (this.constant = t), this
-                          }),
-                          (t.setComponents = function (e, t, n, r) {
-                            return this.normal.set(e, t, n), (this.constant = r), this
-                          }),
-                          (t.setFromNormalAndCoplanarPoint = function (e, t) {
-                            return this.normal.copy(e), (this.constant = -t.dot(this.normal)), this
-                          }),
-                          (t.setFromCoplanarPoints = function (e, t, n) {
-                            var r = li.subVectors(n, t).cross(ci.subVectors(e, t)).normalize()
-                            return this.setFromNormalAndCoplanarPoint(r, e), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.normal.copy(e.normal), (this.constant = e.constant), this
-                          }),
-                          (t.normalize = function () {
-                            var e = 1 / this.normal.length()
-                            return this.normal.multiplyScalar(e), (this.constant *= e), this
-                          }),
-                          (t.negate = function () {
-                            return (this.constant *= -1), this.normal.negate(), this
-                          }),
-                          (t.distanceToPoint = function (e) {
-                            return this.normal.dot(e) + this.constant
-                          }),
-                          (t.distanceToSphere = function (e) {
-                            return this.distanceToPoint(e.center) - e.radius
-                          }),
-                          (t.projectPoint = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn(
-                                  'THREE.Plane: .projectPoint() target is now required',
-                                ),
-                                (t = new lr())),
-                              t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)
-                            )
-                          }),
-                          (t.intersectLine = function (e, t) {
-                            void 0 === t &&
-                              (console.warn('THREE.Plane: .intersectLine() target is now required'),
-                              (t = new lr()))
-                            var n = e.delta(li),
-                              r = this.normal.dot(n)
-                            if (0 === r)
-                              return 0 === this.distanceToPoint(e.start) ? t.copy(e.start) : void 0
-                            var i = -(e.start.dot(this.normal) + this.constant) / r
-                            return i < 0 || i > 1
-                              ? void 0
-                              : t.copy(n).multiplyScalar(i).add(e.start)
-                          }),
-                          (t.intersectsLine = function (e) {
-                            var t = this.distanceToPoint(e.start),
-                              n = this.distanceToPoint(e.end)
-                            return (t < 0 && n > 0) || (n < 0 && t > 0)
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return e.intersectsPlane(this)
-                          }),
-                          (t.intersectsSphere = function (e) {
-                            return e.intersectsPlane(this)
-                          }),
-                          (t.coplanarPoint = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn(
-                                  'THREE.Plane: .coplanarPoint() target is now required',
-                                ),
-                                (e = new lr())),
-                              e.copy(this.normal).multiplyScalar(-this.constant)
-                            )
-                          }),
-                          (t.applyMatrix4 = function (e, t) {
-                            var n = t || ui.getNormalMatrix(e),
-                              r = this.coplanarPoint(li).applyMatrix4(e),
-                              i = this.normal.applyMatrix3(n).normalize()
-                            return (this.constant = -r.dot(i)), this
-                          }),
-                          (t.translate = function (e) {
-                            return (this.constant -= e.dot(this.normal)), this
-                          }),
-                          (t.equals = function (e) {
-                            return e.normal.equals(this.normal) && e.constant === this.constant
-                          }),
-                          e
-                        )
-                      })(),
-                      di = new lr(),
-                      pi = new lr(),
-                      fi = new lr(),
-                      mi = new lr(),
-                      vi = new lr(),
-                      gi = new lr(),
-                      yi = new lr(),
-                      bi = new lr(),
-                      Ai = new lr(),
-                      wi = new lr(),
-                      xi = (function () {
-                        function e(e, t, n) {
-                          ;(this.a = void 0 !== e ? e : new lr()),
-                            (this.b = void 0 !== t ? t : new lr()),
-                            (this.c = void 0 !== n ? n : new lr())
-                        }
-                        ;(e.getNormal = function (e, t, n, r) {
-                          void 0 === r &&
-                            (console.warn('THREE.Triangle: .getNormal() target is now required'),
-                            (r = new lr())),
-                            r.subVectors(n, t),
-                            di.subVectors(e, t),
-                            r.cross(di)
-                          var i = r.lengthSq()
-                          return i > 0 ? r.multiplyScalar(1 / Math.sqrt(i)) : r.set(0, 0, 0)
-                        }),
-                          (e.getBarycoord = function (e, t, n, r, i) {
-                            di.subVectors(r, t), pi.subVectors(n, t), fi.subVectors(e, t)
-                            var o = di.dot(di),
-                              a = di.dot(pi),
-                              s = di.dot(fi),
-                              l = pi.dot(pi),
-                              c = pi.dot(fi),
-                              u = o * l - a * a
-                            if (
-                              (void 0 === i &&
-                                (console.warn(
-                                  'THREE.Triangle: .getBarycoord() target is now required',
-                                ),
-                                (i = new lr())),
-                              0 === u)
-                            )
-                              return i.set(-2, -1, -1)
-                            var h = 1 / u,
-                              d = (l * s - a * c) * h,
-                              p = (o * c - a * s) * h
-                            return i.set(1 - d - p, p, d)
-                          }),
-                          (e.containsPoint = function (e, t, n, r) {
-                            return (
-                              this.getBarycoord(e, t, n, r, mi),
-                              mi.x >= 0 && mi.y >= 0 && mi.x + mi.y <= 1
-                            )
-                          }),
-                          (e.getUV = function (e, t, n, r, i, o, a, s) {
-                            return (
-                              this.getBarycoord(e, t, n, r, mi),
-                              s.set(0, 0),
-                              s.addScaledVector(i, mi.x),
-                              s.addScaledVector(o, mi.y),
-                              s.addScaledVector(a, mi.z),
-                              s
-                            )
-                          }),
-                          (e.isFrontFacing = function (e, t, n, r) {
-                            return di.subVectors(n, t), pi.subVectors(e, t), di.cross(pi).dot(r) < 0
-                          })
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n) {
-                            return this.a.copy(e), this.b.copy(t), this.c.copy(n), this
-                          }),
-                          (t.setFromPointsAndIndices = function (e, t, n, r) {
-                            return this.a.copy(e[t]), this.b.copy(e[n]), this.c.copy(e[r]), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.a.copy(e.a), this.b.copy(e.b), this.c.copy(e.c), this
-                          }),
-                          (t.getArea = function () {
-                            return (
-                              di.subVectors(this.c, this.b),
-                              pi.subVectors(this.a, this.b),
-                              0.5 * di.cross(pi).length()
-                            )
-                          }),
-                          (t.getMidpoint = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn(
-                                  'THREE.Triangle: .getMidpoint() target is now required',
-                                ),
-                                (e = new lr())),
-                              e
-                                .addVectors(this.a, this.b)
-                                .add(this.c)
-                                .multiplyScalar(1 / 3)
-                            )
-                          }),
-                          (t.getNormal = function (t) {
-                            return e.getNormal(this.a, this.b, this.c, t)
-                          }),
-                          (t.getPlane = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Triangle: .getPlane() target is now required'),
-                                (e = new hi())),
-                              e.setFromCoplanarPoints(this.a, this.b, this.c)
-                            )
-                          }),
-                          (t.getBarycoord = function (t, n) {
-                            return e.getBarycoord(t, this.a, this.b, this.c, n)
-                          }),
-                          (t.getUV = function (t, n, r, i, o) {
-                            return e.getUV(t, this.a, this.b, this.c, n, r, i, o)
-                          }),
-                          (t.containsPoint = function (t) {
-                            return e.containsPoint(t, this.a, this.b, this.c)
-                          }),
-                          (t.isFrontFacing = function (t) {
-                            return e.isFrontFacing(this.a, this.b, this.c, t)
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return e.intersectsTriangle(this)
-                          }),
-                          (t.closestPointToPoint = function (e, t) {
-                            void 0 === t &&
-                              (console.warn(
-                                'THREE.Triangle: .closestPointToPoint() target is now required',
-                              ),
-                              (t = new lr()))
-                            var n,
-                              r,
-                              i = this.a,
-                              o = this.b,
-                              a = this.c
-                            vi.subVectors(o, i), gi.subVectors(a, i), bi.subVectors(e, i)
-                            var s = vi.dot(bi),
-                              l = gi.dot(bi)
-                            if (s <= 0 && l <= 0) return t.copy(i)
-                            Ai.subVectors(e, o)
-                            var c = vi.dot(Ai),
-                              u = gi.dot(Ai)
-                            if (c >= 0 && u <= c) return t.copy(o)
-                            var h = s * u - c * l
-                            if (h <= 0 && s >= 0 && c <= 0)
-                              return (n = s / (s - c)), t.copy(i).addScaledVector(vi, n)
-                            wi.subVectors(e, a)
-                            var d = vi.dot(wi),
-                              p = gi.dot(wi)
-                            if (p >= 0 && d <= p) return t.copy(a)
-                            var f = d * l - s * p
-                            if (f <= 0 && l >= 0 && p <= 0)
-                              return (r = l / (l - p)), t.copy(i).addScaledVector(gi, r)
-                            var m = c * p - d * u
-                            if (m <= 0 && u - c >= 0 && d - p >= 0)
-                              return (
-                                yi.subVectors(a, o),
-                                (r = (u - c) / (u - c + (d - p))),
-                                t.copy(o).addScaledVector(yi, r)
-                              )
-                            var v = 1 / (m + f + h)
-                            return (
-                              (n = f * v),
-                              (r = h * v),
-                              t.copy(i).addScaledVector(vi, n).addScaledVector(gi, r)
-                            )
-                          }),
-                          (t.equals = function (e) {
-                            return e.a.equals(this.a) && e.b.equals(this.b) && e.c.equals(this.c)
-                          }),
-                          e
-                        )
-                      })(),
-                      Ei = {
-                        aliceblue: 15792383,
-                        antiquewhite: 16444375,
-                        aqua: 65535,
-                        aquamarine: 8388564,
-                        azure: 15794175,
-                        beige: 16119260,
-                        bisque: 16770244,
-                        black: 0,
-                        blanchedalmond: 16772045,
-                        blue: 255,
-                        blueviolet: 9055202,
-                        brown: 10824234,
-                        burlywood: 14596231,
-                        cadetblue: 6266528,
-                        chartreuse: 8388352,
-                        chocolate: 13789470,
-                        coral: 16744272,
-                        cornflowerblue: 6591981,
-                        cornsilk: 16775388,
-                        crimson: 14423100,
-                        cyan: 65535,
-                        darkblue: 139,
-                        darkcyan: 35723,
-                        darkgoldenrod: 12092939,
-                        darkgray: 11119017,
-                        darkgreen: 25600,
-                        darkgrey: 11119017,
-                        darkkhaki: 12433259,
-                        darkmagenta: 9109643,
-                        darkolivegreen: 5597999,
-                        darkorange: 16747520,
-                        darkorchid: 10040012,
-                        darkred: 9109504,
-                        darksalmon: 15308410,
-                        darkseagreen: 9419919,
-                        darkslateblue: 4734347,
-                        darkslategray: 3100495,
-                        darkslategrey: 3100495,
-                        darkturquoise: 52945,
-                        darkviolet: 9699539,
-                        deeppink: 16716947,
-                        deepskyblue: 49151,
-                        dimgray: 6908265,
-                        dimgrey: 6908265,
-                        dodgerblue: 2003199,
-                        firebrick: 11674146,
-                        floralwhite: 16775920,
-                        forestgreen: 2263842,
-                        fuchsia: 16711935,
-                        gainsboro: 14474460,
-                        ghostwhite: 16316671,
-                        gold: 16766720,
-                        goldenrod: 14329120,
-                        gray: 8421504,
-                        green: 32768,
-                        greenyellow: 11403055,
-                        grey: 8421504,
-                        honeydew: 15794160,
-                        hotpink: 16738740,
-                        indianred: 13458524,
-                        indigo: 4915330,
-                        ivory: 16777200,
-                        khaki: 15787660,
-                        lavender: 15132410,
-                        lavenderblush: 16773365,
-                        lawngreen: 8190976,
-                        lemonchiffon: 16775885,
-                        lightblue: 11393254,
-                        lightcoral: 15761536,
-                        lightcyan: 14745599,
-                        lightgoldenrodyellow: 16448210,
-                        lightgray: 13882323,
-                        lightgreen: 9498256,
-                        lightgrey: 13882323,
-                        lightpink: 16758465,
-                        lightsalmon: 16752762,
-                        lightseagreen: 2142890,
-                        lightskyblue: 8900346,
-                        lightslategray: 7833753,
-                        lightslategrey: 7833753,
-                        lightsteelblue: 11584734,
-                        lightyellow: 16777184,
-                        lime: 65280,
-                        limegreen: 3329330,
-                        linen: 16445670,
-                        magenta: 16711935,
-                        maroon: 8388608,
-                        mediumaquamarine: 6737322,
-                        mediumblue: 205,
-                        mediumorchid: 12211667,
-                        mediumpurple: 9662683,
-                        mediumseagreen: 3978097,
-                        mediumslateblue: 8087790,
-                        mediumspringgreen: 64154,
-                        mediumturquoise: 4772300,
-                        mediumvioletred: 13047173,
-                        midnightblue: 1644912,
-                        mintcream: 16121850,
-                        mistyrose: 16770273,
-                        moccasin: 16770229,
-                        navajowhite: 16768685,
-                        navy: 128,
-                        oldlace: 16643558,
-                        olive: 8421376,
-                        olivedrab: 7048739,
-                        orange: 16753920,
-                        orangered: 16729344,
-                        orchid: 14315734,
-                        palegoldenrod: 15657130,
-                        palegreen: 10025880,
-                        paleturquoise: 11529966,
-                        palevioletred: 14381203,
-                        papayawhip: 16773077,
-                        peachpuff: 16767673,
-                        peru: 13468991,
-                        pink: 16761035,
-                        plum: 14524637,
-                        powderblue: 11591910,
-                        purple: 8388736,
-                        rebeccapurple: 6697881,
-                        red: 16711680,
-                        rosybrown: 12357519,
-                        royalblue: 4286945,
-                        saddlebrown: 9127187,
-                        salmon: 16416882,
-                        sandybrown: 16032864,
-                        seagreen: 3050327,
-                        seashell: 16774638,
-                        sienna: 10506797,
-                        silver: 12632256,
-                        skyblue: 8900331,
-                        slateblue: 6970061,
-                        slategray: 7372944,
-                        slategrey: 7372944,
-                        snow: 16775930,
-                        springgreen: 65407,
-                        steelblue: 4620980,
-                        tan: 13808780,
-                        teal: 32896,
-                        thistle: 14204888,
-                        tomato: 16737095,
-                        turquoise: 4251856,
-                        violet: 15631086,
-                        wheat: 16113331,
-                        white: 16777215,
-                        whitesmoke: 16119285,
-                        yellow: 16776960,
-                        yellowgreen: 10145074,
-                      },
-                      Mi = { h: 0, s: 0, l: 0 },
-                      _i = { h: 0, s: 0, l: 0 }
-                    function Ti(e, t, n) {
-                      return (
-                        n < 0 && (n += 1),
-                        n > 1 && (n -= 1),
-                        n < 1 / 6
-                          ? e + 6 * (t - e) * n
-                          : n < 0.5
-                          ? t
-                          : n < 2 / 3
-                          ? e + 6 * (t - e) * (2 / 3 - n)
-                          : e
-                      )
-                    }
-                    function Si(e) {
-                      return e < 0.04045
-                        ? 0.0773993808 * e
-                        : Math.pow(0.9478672986 * e + 0.0521327014, 2.4)
-                    }
-                    function Ci(e) {
-                      return e < 0.0031308 ? 12.92 * e : 1.055 * Math.pow(e, 0.41666) - 0.055
-                    }
-                    var Li = (function () {
-                      function e(e, t, n) {
-                        return (
-                          Object.defineProperty(this, 'isColor', { value: !0 }),
-                          void 0 === t && void 0 === n ? this.set(e) : this.setRGB(e, t, n)
-                        )
-                      }
-                      var t = e.prototype
-                      return (
-                        (t.set = function (e) {
-                          return (
-                            e && e.isColor
-                              ? this.copy(e)
-                              : 'number' === typeof e
-                              ? this.setHex(e)
-                              : 'string' === typeof e && this.setStyle(e),
-                            this
-                          )
-                        }),
-                        (t.setScalar = function (e) {
-                          return (this.r = e), (this.g = e), (this.b = e), this
-                        }),
-                        (t.setHex = function (e) {
-                          return (
-                            (e = Math.floor(e)),
-                            (this.r = ((e >> 16) & 255) / 255),
-                            (this.g = ((e >> 8) & 255) / 255),
-                            (this.b = (255 & e) / 255),
-                            this
-                          )
-                        }),
-                        (t.setRGB = function (e, t, n) {
-                          return (this.r = e), (this.g = t), (this.b = n), this
-                        }),
-                        (t.setHSL = function (e, t, n) {
-                          if (
-                            ((e = Kn.euclideanModulo(e, 1)),
-                            (t = Kn.clamp(t, 0, 1)),
-                            (n = Kn.clamp(n, 0, 1)),
-                            0 === t)
-                          )
-                            this.r = this.g = this.b = n
-                          else {
-                            var r = n <= 0.5 ? n * (1 + t) : n + t - n * t,
-                              i = 2 * n - r
-                            ;(this.r = Ti(i, r, e + 1 / 3)),
-                              (this.g = Ti(i, r, e)),
-                              (this.b = Ti(i, r, e - 1 / 3))
-                          }
-                          return this
-                        }),
-                        (t.setStyle = function (e) {
-                          function t(t) {
-                            void 0 !== t &&
-                              parseFloat(t) < 1 &&
-                              console.warn(
-                                'THREE.Color: Alpha component of ' + e + ' will be ignored.',
-                              )
-                          }
-                          var n
-                          if ((n = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e))) {
-                            var r,
-                              i = n[1],
-                              o = n[2]
-                            switch (i) {
-                              case 'rgb':
-                              case 'rgba':
-                                if (
-                                  (r =
-                                    /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
-                                      o,
-                                    ))
-                                )
-                                  return (
-                                    (this.r = Math.min(255, parseInt(r[1], 10)) / 255),
-                                    (this.g = Math.min(255, parseInt(r[2], 10)) / 255),
-                                    (this.b = Math.min(255, parseInt(r[3], 10)) / 255),
-                                    t(r[4]),
-                                    this
-                                  )
-                                if (
-                                  (r =
-                                    /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
-                                      o,
-                                    ))
-                                )
-                                  return (
-                                    (this.r = Math.min(100, parseInt(r[1], 10)) / 100),
-                                    (this.g = Math.min(100, parseInt(r[2], 10)) / 100),
-                                    (this.b = Math.min(100, parseInt(r[3], 10)) / 100),
-                                    t(r[4]),
-                                    this
-                                  )
-                                break
-                              case 'hsl':
-                              case 'hsla':
-                                if (
-                                  (r =
-                                    /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
-                                      o,
-                                    ))
-                                ) {
-                                  var a = parseFloat(r[1]) / 360,
-                                    s = parseInt(r[2], 10) / 100,
-                                    l = parseInt(r[3], 10) / 100
-                                  return t(r[4]), this.setHSL(a, s, l)
-                                }
-                            }
-                          } else if ((n = /^\#([A-Fa-f\d]+)$/.exec(e))) {
-                            var c = n[1],
-                              u = c.length
-                            if (3 === u)
-                              return (
-                                (this.r = parseInt(c.charAt(0) + c.charAt(0), 16) / 255),
-                                (this.g = parseInt(c.charAt(1) + c.charAt(1), 16) / 255),
-                                (this.b = parseInt(c.charAt(2) + c.charAt(2), 16) / 255),
-                                this
-                              )
-                            if (6 === u)
-                              return (
-                                (this.r = parseInt(c.charAt(0) + c.charAt(1), 16) / 255),
-                                (this.g = parseInt(c.charAt(2) + c.charAt(3), 16) / 255),
-                                (this.b = parseInt(c.charAt(4) + c.charAt(5), 16) / 255),
-                                this
-                              )
-                          }
-                          return e && e.length > 0 ? this.setColorName(e) : this
-                        }),
-                        (t.setColorName = function (e) {
-                          var t = Ei[e]
-                          return (
-                            void 0 !== t
-                              ? this.setHex(t)
-                              : console.warn('THREE.Color: Unknown color ' + e),
-                            this
-                          )
-                        }),
-                        (t.clone = function () {
-                          return new this.constructor(this.r, this.g, this.b)
-                        }),
-                        (t.copy = function (e) {
-                          return (this.r = e.r), (this.g = e.g), (this.b = e.b), this
-                        }),
-                        (t.copyGammaToLinear = function (e, t) {
-                          return (
-                            void 0 === t && (t = 2),
-                            (this.r = Math.pow(e.r, t)),
-                            (this.g = Math.pow(e.g, t)),
-                            (this.b = Math.pow(e.b, t)),
-                            this
-                          )
-                        }),
-                        (t.copyLinearToGamma = function (e, t) {
-                          void 0 === t && (t = 2)
-                          var n = t > 0 ? 1 / t : 1
-                          return (
-                            (this.r = Math.pow(e.r, n)),
-                            (this.g = Math.pow(e.g, n)),
-                            (this.b = Math.pow(e.b, n)),
-                            this
-                          )
-                        }),
-                        (t.convertGammaToLinear = function (e) {
-                          return this.copyGammaToLinear(this, e), this
-                        }),
-                        (t.convertLinearToGamma = function (e) {
-                          return this.copyLinearToGamma(this, e), this
-                        }),
-                        (t.copySRGBToLinear = function (e) {
-                          return (this.r = Si(e.r)), (this.g = Si(e.g)), (this.b = Si(e.b)), this
-                        }),
-                        (t.copyLinearToSRGB = function (e) {
-                          return (this.r = Ci(e.r)), (this.g = Ci(e.g)), (this.b = Ci(e.b)), this
-                        }),
-                        (t.convertSRGBToLinear = function () {
-                          return this.copySRGBToLinear(this), this
-                        }),
-                        (t.convertLinearToSRGB = function () {
-                          return this.copyLinearToSRGB(this), this
-                        }),
-                        (t.getHex = function () {
-                          return (
-                            ((255 * this.r) << 16) ^ ((255 * this.g) << 8) ^ ((255 * this.b) << 0)
-                          )
-                        }),
-                        (t.getHexString = function () {
-                          return ('000000' + this.getHex().toString(16)).slice(-6)
-                        }),
-                        (t.getHSL = function (e) {
-                          void 0 === e &&
-                            (console.warn('THREE.Color: .getHSL() target is now required'),
-                            (e = { h: 0, s: 0, l: 0 }))
-                          var t,
-                            n,
-                            r = this.r,
-                            i = this.g,
-                            o = this.b,
-                            a = Math.max(r, i, o),
-                            s = Math.min(r, i, o),
-                            l = (s + a) / 2
-                          if (s === a) (t = 0), (n = 0)
-                          else {
-                            var c = a - s
-                            switch (((n = l <= 0.5 ? c / (a + s) : c / (2 - a - s)), a)) {
-                              case r:
-                                t = (i - o) / c + (i < o ? 6 : 0)
-                                break
-                              case i:
-                                t = (o - r) / c + 2
-                                break
-                              case o:
-                                t = (r - i) / c + 4
-                            }
-                            t /= 6
-                          }
-                          return (e.h = t), (e.s = n), (e.l = l), e
-                        }),
-                        (t.getStyle = function () {
-                          return (
-                            'rgb(' +
-                            ((255 * this.r) | 0) +
-                            ',' +
-                            ((255 * this.g) | 0) +
-                            ',' +
-                            ((255 * this.b) | 0) +
-                            ')'
-                          )
-                        }),
-                        (t.offsetHSL = function (e, t, n) {
-                          return (
-                            this.getHSL(Mi),
-                            (Mi.h += e),
-                            (Mi.s += t),
-                            (Mi.l += n),
-                            this.setHSL(Mi.h, Mi.s, Mi.l),
-                            this
-                          )
-                        }),
-                        (t.add = function (e) {
-                          return (this.r += e.r), (this.g += e.g), (this.b += e.b), this
-                        }),
-                        (t.addColors = function (e, t) {
-                          return (
-                            (this.r = e.r + t.r), (this.g = e.g + t.g), (this.b = e.b + t.b), this
-                          )
-                        }),
-                        (t.addScalar = function (e) {
-                          return (this.r += e), (this.g += e), (this.b += e), this
-                        }),
-                        (t.sub = function (e) {
-                          return (
-                            (this.r = Math.max(0, this.r - e.r)),
-                            (this.g = Math.max(0, this.g - e.g)),
-                            (this.b = Math.max(0, this.b - e.b)),
-                            this
-                          )
-                        }),
-                        (t.multiply = function (e) {
-                          return (this.r *= e.r), (this.g *= e.g), (this.b *= e.b), this
-                        }),
-                        (t.multiplyScalar = function (e) {
-                          return (this.r *= e), (this.g *= e), (this.b *= e), this
-                        }),
-                        (t.lerp = function (e, t) {
-                          return (
-                            (this.r += (e.r - this.r) * t),
-                            (this.g += (e.g - this.g) * t),
-                            (this.b += (e.b - this.b) * t),
-                            this
-                          )
-                        }),
-                        (t.lerpColors = function (e, t, n) {
-                          return (
-                            (this.r = e.r + (t.r - e.r) * n),
-                            (this.g = e.g + (t.g - e.g) * n),
-                            (this.b = e.b + (t.b - e.b) * n),
-                            this
-                          )
-                        }),
-                        (t.lerpHSL = function (e, t) {
-                          this.getHSL(Mi), e.getHSL(_i)
-                          var n = Kn.lerp(Mi.h, _i.h, t),
-                            r = Kn.lerp(Mi.s, _i.s, t),
-                            i = Kn.lerp(Mi.l, _i.l, t)
-                          return this.setHSL(n, r, i), this
-                        }),
-                        (t.equals = function (e) {
-                          return e.r === this.r && e.g === this.g && e.b === this.b
-                        }),
-                        (t.fromArray = function (e, t) {
-                          return (
-                            void 0 === t && (t = 0),
-                            (this.r = e[t]),
-                            (this.g = e[t + 1]),
-                            (this.b = e[t + 2]),
-                            this
-                          )
-                        }),
-                        (t.toArray = function (e, t) {
-                          return (
-                            void 0 === e && (e = []),
-                            void 0 === t && (t = 0),
-                            (e[t] = this.r),
-                            (e[t + 1] = this.g),
-                            (e[t + 2] = this.b),
-                            e
-                          )
-                        }),
-                        (t.fromBufferAttribute = function (e, t) {
-                          return (
-                            (this.r = e.getX(t)),
-                            (this.g = e.getY(t)),
-                            (this.b = e.getZ(t)),
-                            !0 === e.normalized &&
-                              ((this.r /= 255), (this.g /= 255), (this.b /= 255)),
-                            this
-                          )
-                        }),
-                        (t.toJSON = function () {
-                          return this.getHex()
-                        }),
-                        e
-                      )
-                    })()
-                    ;(Li.NAMES = Ei),
-                      (Li.prototype.r = 1),
-                      (Li.prototype.g = 1),
-                      (Li.prototype.b = 1)
-                    var Ri = (function () {
-                        function e(e, t, n, r, i, o) {
-                          void 0 === o && (o = 0),
-                            (this.a = e),
-                            (this.b = t),
-                            (this.c = n),
-                            (this.normal = r && r.isVector3 ? r : new lr()),
-                            (this.vertexNormals = Array.isArray(r) ? r : []),
-                            (this.color = i && i.isColor ? i : new Li()),
-                            (this.vertexColors = Array.isArray(i) ? i : []),
-                            (this.materialIndex = o)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            ;(this.a = e.a),
-                              (this.b = e.b),
-                              (this.c = e.c),
-                              this.normal.copy(e.normal),
-                              this.color.copy(e.color),
-                              (this.materialIndex = e.materialIndex)
-                            for (var t = 0, n = e.vertexNormals.length; t < n; t++)
-                              this.vertexNormals[t] = e.vertexNormals[t].clone()
-                            for (var r = 0, i = e.vertexColors.length; r < i; r++)
-                              this.vertexColors[r] = e.vertexColors[r].clone()
-                            return this
-                          }),
-                          e
-                        )
-                      })(),
-                      Pi = 0
-                    function Di() {
-                      Object.defineProperty(this, 'id', { value: Pi++ }),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.name = ''),
-                        (this.type = 'Material'),
-                        (this.fog = !0),
-                        (this.blending = w),
-                        (this.side = m),
-                        (this.flatShading = !1),
-                        (this.vertexColors = !1),
-                        (this.opacity = 1),
-                        (this.transparent = !1),
-                        (this.blendSrc = B),
-                        (this.blendDst = F),
-                        (this.blendEquation = T),
-                        (this.blendSrcAlpha = null),
-                        (this.blendDstAlpha = null),
-                        (this.blendEquationAlpha = null),
-                        (this.depthFunc = W),
-                        (this.depthTest = !0),
-                        (this.depthWrite = !0),
-                        (this.stencilWriteMask = 255),
-                        (this.stencilFunc = _n),
-                        (this.stencilRef = 0),
-                        (this.stencilFuncMask = 255),
-                        (this.stencilFail = hn),
-                        (this.stencilZFail = hn),
-                        (this.stencilZPass = hn),
-                        (this.stencilWrite = !1),
-                        (this.clippingPlanes = null),
-                        (this.clipIntersection = !1),
-                        (this.clipShadows = !1),
-                        (this.shadowSide = null),
-                        (this.colorWrite = !0),
-                        (this.precision = null),
-                        (this.polygonOffset = !1),
-                        (this.polygonOffsetFactor = 0),
-                        (this.polygonOffsetUnits = 0),
-                        (this.dithering = !1),
-                        (this.alphaTest = 0),
-                        (this.premultipliedAlpha = !1),
-                        (this.visible = !0),
-                        (this.toneMapped = !0),
-                        (this.userData = {}),
-                        (this.version = 0)
-                    }
-                    function Oi(e) {
-                      Di.call(this),
-                        (this.type = 'MeshBasicMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.map = null),
-                        (this.lightMap = null),
-                        (this.lightMapIntensity = 1),
-                        (this.aoMap = null),
-                        (this.aoMapIntensity = 1),
-                        (this.specularMap = null),
-                        (this.alphaMap = null),
-                        (this.envMap = null),
-                        (this.combine = Z),
-                        (this.reflectivity = 1),
-                        (this.refractionRatio = 0.98),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.wireframeLinecap = 'round'),
-                        (this.wireframeLinejoin = 'round'),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        this.setValues(e)
-                    }
-                    ;(Di.prototype = Object.assign(Object.create(qn.prototype), {
-                      constructor: Di,
-                      isMaterial: !0,
-                      onBeforeCompile: function () {},
-                      customProgramCacheKey: function () {
-                        return this.onBeforeCompile.toString()
-                      },
-                      setValues: function (e) {
-                        if (void 0 !== e)
-                          for (var t in e) {
-                            var n = e[t]
-                            if (void 0 !== n)
-                              if ('shading' !== t) {
-                                var r = this[t]
-                                void 0 !== r
-                                  ? r && r.isColor
-                                    ? r.set(n)
-                                    : r && r.isVector3 && n && n.isVector3
-                                    ? r.copy(n)
-                                    : (this[t] = n)
-                                  : console.warn(
-                                      'THREE.' +
-                                        this.type +
-                                        ": '" +
-                                        t +
-                                        "' is not a property of this material.",
-                                    )
-                              } else
-                                console.warn(
-                                  'THREE.' +
-                                    this.type +
-                                    ': .shading has been removed. Use the boolean .flatShading instead.',
-                                ),
-                                  (this.flatShading = n === y)
-                            else console.warn("THREE.Material: '" + t + "' parameter is undefined.")
-                          }
-                      },
-                      toJSON: function (e) {
-                        var t = void 0 === e || 'string' === typeof e
-                        t && (e = { textures: {}, images: {} })
-                        var n = {
-                          metadata: {
-                            version: 4.5,
-                            type: 'Material',
-                            generator: 'Material.toJSON',
-                          },
-                        }
-                        function r(e) {
-                          var t = []
-                          for (var n in e) {
-                            var r = e[n]
-                            delete r.metadata, t.push(r)
-                          }
-                          return t
-                        }
-                        if (
-                          ((n.uuid = this.uuid),
-                          (n.type = this.type),
-                          '' !== this.name && (n.name = this.name),
-                          this.color && this.color.isColor && (n.color = this.color.getHex()),
-                          void 0 !== this.roughness && (n.roughness = this.roughness),
-                          void 0 !== this.metalness && (n.metalness = this.metalness),
-                          this.sheen && this.sheen.isColor && (n.sheen = this.sheen.getHex()),
-                          this.emissive &&
-                            this.emissive.isColor &&
-                            (n.emissive = this.emissive.getHex()),
-                          this.emissiveIntensity &&
-                            1 !== this.emissiveIntensity &&
-                            (n.emissiveIntensity = this.emissiveIntensity),
-                          this.specular &&
-                            this.specular.isColor &&
-                            (n.specular = this.specular.getHex()),
-                          void 0 !== this.shininess && (n.shininess = this.shininess),
-                          void 0 !== this.clearcoat && (n.clearcoat = this.clearcoat),
-                          void 0 !== this.clearcoatRoughness &&
-                            (n.clearcoatRoughness = this.clearcoatRoughness),
-                          this.clearcoatMap &&
-                            this.clearcoatMap.isTexture &&
-                            (n.clearcoatMap = this.clearcoatMap.toJSON(e).uuid),
-                          this.clearcoatRoughnessMap &&
-                            this.clearcoatRoughnessMap.isTexture &&
-                            (n.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(e).uuid),
-                          this.clearcoatNormalMap &&
-                            this.clearcoatNormalMap.isTexture &&
-                            ((n.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(e).uuid),
-                            (n.clearcoatNormalScale = this.clearcoatNormalScale.toArray())),
-                          this.map && this.map.isTexture && (n.map = this.map.toJSON(e).uuid),
-                          this.matcap &&
-                            this.matcap.isTexture &&
-                            (n.matcap = this.matcap.toJSON(e).uuid),
-                          this.alphaMap &&
-                            this.alphaMap.isTexture &&
-                            (n.alphaMap = this.alphaMap.toJSON(e).uuid),
-                          this.lightMap &&
-                            this.lightMap.isTexture &&
-                            (n.lightMap = this.lightMap.toJSON(e).uuid),
-                          this.aoMap &&
-                            this.aoMap.isTexture &&
-                            ((n.aoMap = this.aoMap.toJSON(e).uuid),
-                            (n.aoMapIntensity = this.aoMapIntensity)),
-                          this.bumpMap &&
-                            this.bumpMap.isTexture &&
-                            ((n.bumpMap = this.bumpMap.toJSON(e).uuid),
-                            (n.bumpScale = this.bumpScale)),
-                          this.normalMap &&
-                            this.normalMap.isTexture &&
-                            ((n.normalMap = this.normalMap.toJSON(e).uuid),
-                            (n.normalMapType = this.normalMapType),
-                            (n.normalScale = this.normalScale.toArray())),
-                          this.displacementMap &&
-                            this.displacementMap.isTexture &&
-                            ((n.displacementMap = this.displacementMap.toJSON(e).uuid),
-                            (n.displacementScale = this.displacementScale),
-                            (n.displacementBias = this.displacementBias)),
-                          this.roughnessMap &&
-                            this.roughnessMap.isTexture &&
-                            (n.roughnessMap = this.roughnessMap.toJSON(e).uuid),
-                          this.metalnessMap &&
-                            this.metalnessMap.isTexture &&
-                            (n.metalnessMap = this.metalnessMap.toJSON(e).uuid),
-                          this.emissiveMap &&
-                            this.emissiveMap.isTexture &&
-                            (n.emissiveMap = this.emissiveMap.toJSON(e).uuid),
-                          this.specularMap &&
-                            this.specularMap.isTexture &&
-                            (n.specularMap = this.specularMap.toJSON(e).uuid),
-                          this.envMap &&
-                            this.envMap.isTexture &&
-                            ((n.envMap = this.envMap.toJSON(e).uuid),
-                            (n.reflectivity = this.reflectivity),
-                            (n.refractionRatio = this.refractionRatio),
-                            void 0 !== this.combine && (n.combine = this.combine),
-                            void 0 !== this.envMapIntensity &&
-                              (n.envMapIntensity = this.envMapIntensity)),
-                          this.gradientMap &&
-                            this.gradientMap.isTexture &&
-                            (n.gradientMap = this.gradientMap.toJSON(e).uuid),
-                          void 0 !== this.size && (n.size = this.size),
-                          void 0 !== this.sizeAttenuation &&
-                            (n.sizeAttenuation = this.sizeAttenuation),
-                          this.blending !== w && (n.blending = this.blending),
-                          !0 === this.flatShading && (n.flatShading = this.flatShading),
-                          this.side !== m && (n.side = this.side),
-                          this.vertexColors && (n.vertexColors = !0),
-                          this.opacity < 1 && (n.opacity = this.opacity),
-                          !0 === this.transparent && (n.transparent = this.transparent),
-                          (n.depthFunc = this.depthFunc),
-                          (n.depthTest = this.depthTest),
-                          (n.depthWrite = this.depthWrite),
-                          (n.stencilWrite = this.stencilWrite),
-                          (n.stencilWriteMask = this.stencilWriteMask),
-                          (n.stencilFunc = this.stencilFunc),
-                          (n.stencilRef = this.stencilRef),
-                          (n.stencilFuncMask = this.stencilFuncMask),
-                          (n.stencilFail = this.stencilFail),
-                          (n.stencilZFail = this.stencilZFail),
-                          (n.stencilZPass = this.stencilZPass),
-                          this.rotation && 0 !== this.rotation && (n.rotation = this.rotation),
-                          !0 === this.polygonOffset && (n.polygonOffset = !0),
-                          0 !== this.polygonOffsetFactor &&
-                            (n.polygonOffsetFactor = this.polygonOffsetFactor),
-                          0 !== this.polygonOffsetUnits &&
-                            (n.polygonOffsetUnits = this.polygonOffsetUnits),
-                          this.linewidth && 1 !== this.linewidth && (n.linewidth = this.linewidth),
-                          void 0 !== this.dashSize && (n.dashSize = this.dashSize),
-                          void 0 !== this.gapSize && (n.gapSize = this.gapSize),
-                          void 0 !== this.scale && (n.scale = this.scale),
-                          !0 === this.dithering && (n.dithering = !0),
-                          this.alphaTest > 0 && (n.alphaTest = this.alphaTest),
-                          !0 === this.premultipliedAlpha &&
-                            (n.premultipliedAlpha = this.premultipliedAlpha),
-                          !0 === this.wireframe && (n.wireframe = this.wireframe),
-                          this.wireframeLinewidth > 1 &&
-                            (n.wireframeLinewidth = this.wireframeLinewidth),
-                          'round' !== this.wireframeLinecap &&
-                            (n.wireframeLinecap = this.wireframeLinecap),
-                          'round' !== this.wireframeLinejoin &&
-                            (n.wireframeLinejoin = this.wireframeLinejoin),
-                          !0 === this.morphTargets && (n.morphTargets = !0),
-                          !0 === this.morphNormals && (n.morphNormals = !0),
-                          !0 === this.skinning && (n.skinning = !0),
-                          !1 === this.visible && (n.visible = !1),
-                          !1 === this.toneMapped && (n.toneMapped = !1),
-                          '{}' !== JSON.stringify(this.userData) && (n.userData = this.userData),
-                          t)
-                        ) {
-                          var i = r(e.textures),
-                            o = r(e.images)
-                          i.length > 0 && (n.textures = i), o.length > 0 && (n.images = o)
-                        }
-                        return n
-                      },
-                      clone: function () {
-                        return new this.constructor().copy(this)
-                      },
-                      copy: function (e) {
-                        ;(this.name = e.name),
-                          (this.fog = e.fog),
-                          (this.blending = e.blending),
-                          (this.side = e.side),
-                          (this.flatShading = e.flatShading),
-                          (this.vertexColors = e.vertexColors),
-                          (this.opacity = e.opacity),
-                          (this.transparent = e.transparent),
-                          (this.blendSrc = e.blendSrc),
-                          (this.blendDst = e.blendDst),
-                          (this.blendEquation = e.blendEquation),
-                          (this.blendSrcAlpha = e.blendSrcAlpha),
-                          (this.blendDstAlpha = e.blendDstAlpha),
-                          (this.blendEquationAlpha = e.blendEquationAlpha),
-                          (this.depthFunc = e.depthFunc),
-                          (this.depthTest = e.depthTest),
-                          (this.depthWrite = e.depthWrite),
-                          (this.stencilWriteMask = e.stencilWriteMask),
-                          (this.stencilFunc = e.stencilFunc),
-                          (this.stencilRef = e.stencilRef),
-                          (this.stencilFuncMask = e.stencilFuncMask),
-                          (this.stencilFail = e.stencilFail),
-                          (this.stencilZFail = e.stencilZFail),
-                          (this.stencilZPass = e.stencilZPass),
-                          (this.stencilWrite = e.stencilWrite)
-                        var t = e.clippingPlanes,
-                          n = null
-                        if (null !== t) {
-                          var r = t.length
-                          n = new Array(r)
-                          for (var i = 0; i !== r; ++i) n[i] = t[i].clone()
-                        }
-                        return (
-                          (this.clippingPlanes = n),
-                          (this.clipIntersection = e.clipIntersection),
-                          (this.clipShadows = e.clipShadows),
-                          (this.shadowSide = e.shadowSide),
-                          (this.colorWrite = e.colorWrite),
-                          (this.precision = e.precision),
-                          (this.polygonOffset = e.polygonOffset),
-                          (this.polygonOffsetFactor = e.polygonOffsetFactor),
-                          (this.polygonOffsetUnits = e.polygonOffsetUnits),
-                          (this.dithering = e.dithering),
-                          (this.alphaTest = e.alphaTest),
-                          (this.premultipliedAlpha = e.premultipliedAlpha),
-                          (this.visible = e.visible),
-                          (this.toneMapped = e.toneMapped),
-                          (this.userData = JSON.parse(JSON.stringify(e.userData))),
-                          this
-                        )
-                      },
-                      dispose: function () {
-                        this.dispatchEvent({ type: 'dispose' })
-                      },
-                    })),
-                      Object.defineProperty(Di.prototype, 'needsUpdate', {
-                        set: function (e) {
-                          !0 === e && this.version++
-                        },
-                      }),
-                      (Oi.prototype = Object.create(Di.prototype)),
-                      (Oi.prototype.constructor = Oi),
-                      (Oi.prototype.isMeshBasicMaterial = !0),
-                      (Oi.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.map = e.map),
-                          (this.lightMap = e.lightMap),
-                          (this.lightMapIntensity = e.lightMapIntensity),
-                          (this.aoMap = e.aoMap),
-                          (this.aoMapIntensity = e.aoMapIntensity),
-                          (this.specularMap = e.specularMap),
-                          (this.alphaMap = e.alphaMap),
-                          (this.envMap = e.envMap),
-                          (this.combine = e.combine),
-                          (this.reflectivity = e.reflectivity),
-                          (this.refractionRatio = e.refractionRatio),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.wireframeLinecap = e.wireframeLinecap),
-                          (this.wireframeLinejoin = e.wireframeLinejoin),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          this
-                        )
-                      })
-                    var Ii = new lr(),
-                      Bi = new Jn()
-                    function Fi(e, t, n) {
-                      if (Array.isArray(e))
-                        throw new TypeError('THREE.BufferAttribute: array should be a Typed Array.')
-                      ;(this.name = ''),
-                        (this.array = e),
-                        (this.itemSize = t),
-                        (this.count = void 0 !== e ? e.length / t : 0),
-                        (this.normalized = !0 === n),
-                        (this.usage = Tn),
-                        (this.updateRange = { offset: 0, count: -1 }),
-                        (this.version = 0)
-                    }
-                    function ki(e, t, n) {
-                      Fi.call(this, new Int8Array(e), t, n)
-                    }
-                    function Ni(e, t, n) {
-                      Fi.call(this, new Uint8Array(e), t, n)
-                    }
-                    function Ui(e, t, n) {
-                      Fi.call(this, new Uint8ClampedArray(e), t, n)
-                    }
-                    function Hi(e, t, n) {
-                      Fi.call(this, new Int16Array(e), t, n)
-                    }
-                    function Gi(e, t, n) {
-                      Fi.call(this, new Uint16Array(e), t, n)
-                    }
-                    function zi(e, t, n) {
-                      Fi.call(this, new Int32Array(e), t, n)
-                    }
-                    function ji(e, t, n) {
-                      Fi.call(this, new Uint32Array(e), t, n)
-                    }
-                    function Vi(e, t, n) {
-                      Fi.call(this, new Uint16Array(e), t, n)
-                    }
-                    function Wi(e, t, n) {
-                      Fi.call(this, new Float32Array(e), t, n)
-                    }
-                    function qi(e, t, n) {
-                      Fi.call(this, new Float64Array(e), t, n)
-                    }
-                    function Xi(e) {
-                      if (0 === e.length) return -1 / 0
-                      for (var t = e[0], n = 1, r = e.length; n < r; ++n) e[n] > t && (t = e[n])
-                      return t
-                    }
-                    Object.defineProperty(Fi.prototype, 'needsUpdate', {
-                      set: function (e) {
-                        !0 === e && this.version++
-                      },
-                    }),
-                      Object.assign(Fi.prototype, {
-                        isBufferAttribute: !0,
-                        onUploadCallback: function () {},
-                        setUsage: function (e) {
-                          return (this.usage = e), this
-                        },
-                        copy: function (e) {
-                          return (
-                            (this.name = e.name),
-                            (this.array = new e.array.constructor(e.array)),
-                            (this.itemSize = e.itemSize),
-                            (this.count = e.count),
-                            (this.normalized = e.normalized),
-                            (this.usage = e.usage),
-                            this
-                          )
-                        },
-                        copyAt: function (e, t, n) {
-                          ;(e *= this.itemSize), (n *= t.itemSize)
-                          for (var r = 0, i = this.itemSize; r < i; r++)
-                            this.array[e + r] = t.array[n + r]
-                          return this
-                        },
-                        copyArray: function (e) {
-                          return this.array.set(e), this
-                        },
-                        copyColorsArray: function (e) {
-                          for (var t = this.array, n = 0, r = 0, i = e.length; r < i; r++) {
-                            var o = e[r]
-                            void 0 === o &&
-                              (console.warn(
-                                'THREE.BufferAttribute.copyColorsArray(): color is undefined',
-                                r,
-                              ),
-                              (o = new Li())),
-                              (t[n++] = o.r),
-                              (t[n++] = o.g),
-                              (t[n++] = o.b)
-                          }
-                          return this
-                        },
-                        copyVector2sArray: function (e) {
-                          for (var t = this.array, n = 0, r = 0, i = e.length; r < i; r++) {
-                            var o = e[r]
-                            void 0 === o &&
-                              (console.warn(
-                                'THREE.BufferAttribute.copyVector2sArray(): vector is undefined',
-                                r,
-                              ),
-                              (o = new Jn())),
-                              (t[n++] = o.x),
-                              (t[n++] = o.y)
-                          }
-                          return this
-                        },
-                        copyVector3sArray: function (e) {
-                          for (var t = this.array, n = 0, r = 0, i = e.length; r < i; r++) {
-                            var o = e[r]
-                            void 0 === o &&
-                              (console.warn(
-                                'THREE.BufferAttribute.copyVector3sArray(): vector is undefined',
-                                r,
-                              ),
-                              (o = new lr())),
-                              (t[n++] = o.x),
-                              (t[n++] = o.y),
-                              (t[n++] = o.z)
-                          }
-                          return this
-                        },
-                        copyVector4sArray: function (e) {
-                          for (var t = this.array, n = 0, r = 0, i = e.length; r < i; r++) {
-                            var o = e[r]
-                            void 0 === o &&
-                              (console.warn(
-                                'THREE.BufferAttribute.copyVector4sArray(): vector is undefined',
-                                r,
-                              ),
-                              (o = new ir())),
-                              (t[n++] = o.x),
-                              (t[n++] = o.y),
-                              (t[n++] = o.z),
-                              (t[n++] = o.w)
-                          }
-                          return this
-                        },
-                        applyMatrix3: function (e) {
-                          if (2 === this.itemSize)
-                            for (var t = 0, n = this.count; t < n; t++)
-                              Bi.fromBufferAttribute(this, t),
-                                Bi.applyMatrix3(e),
-                                this.setXY(t, Bi.x, Bi.y)
-                          else if (3 === this.itemSize)
-                            for (var r = 0, i = this.count; r < i; r++)
-                              Ii.fromBufferAttribute(this, r),
-                                Ii.applyMatrix3(e),
-                                this.setXYZ(r, Ii.x, Ii.y, Ii.z)
-                          return this
-                        },
-                        applyMatrix4: function (e) {
-                          for (var t = 0, n = this.count; t < n; t++)
-                            (Ii.x = this.getX(t)),
-                              (Ii.y = this.getY(t)),
-                              (Ii.z = this.getZ(t)),
-                              Ii.applyMatrix4(e),
-                              this.setXYZ(t, Ii.x, Ii.y, Ii.z)
-                          return this
-                        },
-                        applyNormalMatrix: function (e) {
-                          for (var t = 0, n = this.count; t < n; t++)
-                            (Ii.x = this.getX(t)),
-                              (Ii.y = this.getY(t)),
-                              (Ii.z = this.getZ(t)),
-                              Ii.applyNormalMatrix(e),
-                              this.setXYZ(t, Ii.x, Ii.y, Ii.z)
-                          return this
-                        },
-                        transformDirection: function (e) {
-                          for (var t = 0, n = this.count; t < n; t++)
-                            (Ii.x = this.getX(t)),
-                              (Ii.y = this.getY(t)),
-                              (Ii.z = this.getZ(t)),
-                              Ii.transformDirection(e),
-                              this.setXYZ(t, Ii.x, Ii.y, Ii.z)
-                          return this
-                        },
-                        set: function (e, t) {
-                          return void 0 === t && (t = 0), this.array.set(e, t), this
-                        },
-                        getX: function (e) {
-                          return this.array[e * this.itemSize]
-                        },
-                        setX: function (e, t) {
-                          return (this.array[e * this.itemSize] = t), this
-                        },
-                        getY: function (e) {
-                          return this.array[e * this.itemSize + 1]
-                        },
-                        setY: function (e, t) {
-                          return (this.array[e * this.itemSize + 1] = t), this
-                        },
-                        getZ: function (e) {
-                          return this.array[e * this.itemSize + 2]
-                        },
-                        setZ: function (e, t) {
-                          return (this.array[e * this.itemSize + 2] = t), this
-                        },
-                        getW: function (e) {
-                          return this.array[e * this.itemSize + 3]
-                        },
-                        setW: function (e, t) {
-                          return (this.array[e * this.itemSize + 3] = t), this
-                        },
-                        setXY: function (e, t, n) {
-                          return (
-                            (e *= this.itemSize),
-                            (this.array[e + 0] = t),
-                            (this.array[e + 1] = n),
-                            this
-                          )
-                        },
-                        setXYZ: function (e, t, n, r) {
-                          return (
-                            (e *= this.itemSize),
-                            (this.array[e + 0] = t),
-                            (this.array[e + 1] = n),
-                            (this.array[e + 2] = r),
-                            this
-                          )
-                        },
-                        setXYZW: function (e, t, n, r, i) {
-                          return (
-                            (e *= this.itemSize),
-                            (this.array[e + 0] = t),
-                            (this.array[e + 1] = n),
-                            (this.array[e + 2] = r),
-                            (this.array[e + 3] = i),
-                            this
-                          )
-                        },
-                        onUpload: function (e) {
-                          return (this.onUploadCallback = e), this
-                        },
-                        clone: function () {
-                          return new this.constructor(this.array, this.itemSize).copy(this)
-                        },
-                        toJSON: function () {
-                          return {
-                            itemSize: this.itemSize,
-                            type: this.array.constructor.name,
-                            array: Array.prototype.slice.call(this.array),
-                            normalized: this.normalized,
-                          }
-                        },
-                      }),
-                      (ki.prototype = Object.create(Fi.prototype)),
-                      (ki.prototype.constructor = ki),
-                      (Ni.prototype = Object.create(Fi.prototype)),
-                      (Ni.prototype.constructor = Ni),
-                      (Ui.prototype = Object.create(Fi.prototype)),
-                      (Ui.prototype.constructor = Ui),
-                      (Hi.prototype = Object.create(Fi.prototype)),
-                      (Hi.prototype.constructor = Hi),
-                      (Gi.prototype = Object.create(Fi.prototype)),
-                      (Gi.prototype.constructor = Gi),
-                      (zi.prototype = Object.create(Fi.prototype)),
-                      (zi.prototype.constructor = zi),
-                      (ji.prototype = Object.create(Fi.prototype)),
-                      (ji.prototype.constructor = ji),
-                      (Vi.prototype = Object.create(Fi.prototype)),
-                      (Vi.prototype.constructor = Vi),
-                      (Vi.prototype.isFloat16BufferAttribute = !0),
-                      (Wi.prototype = Object.create(Fi.prototype)),
-                      (Wi.prototype.constructor = Wi),
-                      (qi.prototype = Object.create(Fi.prototype)),
-                      (qi.prototype.constructor = qi)
-                    var Yi = {
-                      Int8Array: Int8Array,
-                      Uint8Array: Uint8Array,
-                      Uint8ClampedArray:
-                        'undefined' !== typeof Uint8ClampedArray ? Uint8ClampedArray : Uint8Array,
-                      Int16Array: Int16Array,
-                      Uint16Array: Uint16Array,
-                      Int32Array: Int32Array,
-                      Uint32Array: Uint32Array,
-                      Float32Array: Float32Array,
-                      Float64Array: Float64Array,
-                    }
-                    function Qi(e, t) {
-                      return new Yi[e](t)
-                    }
-                    var Zi = 0,
-                      Ki = new Fr(),
-                      Ji = new si(),
-                      $i = new lr(),
-                      eo = new hr(),
-                      to = new hr(),
-                      no = new lr()
-                    function ro() {
-                      Object.defineProperty(this, 'id', { value: Zi++ }),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.name = ''),
-                        (this.type = 'BufferGeometry'),
-                        (this.index = null),
-                        (this.attributes = {}),
-                        (this.morphAttributes = {}),
-                        (this.morphTargetsRelative = !1),
-                        (this.groups = []),
-                        (this.boundingBox = null),
-                        (this.boundingSphere = null),
-                        (this.drawRange = { start: 0, count: 1 / 0 }),
-                        (this.userData = {})
-                    }
-                    ro.prototype = Object.assign(Object.create(qn.prototype), {
-                      constructor: ro,
-                      isBufferGeometry: !0,
-                      getIndex: function () {
-                        return this.index
-                      },
-                      setIndex: function (e) {
-                        return (
-                          Array.isArray(e)
-                            ? (this.index = new (Xi(e) > 65535 ? ji : Gi)(e, 1))
-                            : (this.index = e),
-                          this
-                        )
-                      },
-                      getAttribute: function (e) {
-                        return this.attributes[e]
-                      },
-                      setAttribute: function (e, t) {
-                        return (this.attributes[e] = t), this
-                      },
-                      deleteAttribute: function (e) {
-                        return delete this.attributes[e], this
-                      },
-                      hasAttribute: function (e) {
-                        return void 0 !== this.attributes[e]
-                      },
-                      addGroup: function (e, t, n) {
-                        void 0 === n && (n = 0),
-                          this.groups.push({ start: e, count: t, materialIndex: n })
-                      },
-                      clearGroups: function () {
-                        this.groups = []
-                      },
-                      setDrawRange: function (e, t) {
-                        ;(this.drawRange.start = e), (this.drawRange.count = t)
-                      },
-                      applyMatrix4: function (e) {
-                        var t = this.attributes.position
-                        void 0 !== t && (t.applyMatrix4(e), (t.needsUpdate = !0))
-                        var n = this.attributes.normal
-                        if (void 0 !== n) {
-                          var r = new $n().getNormalMatrix(e)
-                          n.applyNormalMatrix(r), (n.needsUpdate = !0)
-                        }
-                        var i = this.attributes.tangent
-                        return (
-                          void 0 !== i && (i.transformDirection(e), (i.needsUpdate = !0)),
-                          null !== this.boundingBox && this.computeBoundingBox(),
-                          null !== this.boundingSphere && this.computeBoundingSphere(),
-                          this
-                        )
-                      },
-                      rotateX: function (e) {
-                        return Ki.makeRotationX(e), this.applyMatrix4(Ki), this
-                      },
-                      rotateY: function (e) {
-                        return Ki.makeRotationY(e), this.applyMatrix4(Ki), this
-                      },
-                      rotateZ: function (e) {
-                        return Ki.makeRotationZ(e), this.applyMatrix4(Ki), this
-                      },
-                      translate: function (e, t, n) {
-                        return Ki.makeTranslation(e, t, n), this.applyMatrix4(Ki), this
-                      },
-                      scale: function (e, t, n) {
-                        return Ki.makeScale(e, t, n), this.applyMatrix4(Ki), this
-                      },
-                      lookAt: function (e) {
-                        return Ji.lookAt(e), Ji.updateMatrix(), this.applyMatrix4(Ji.matrix), this
-                      },
-                      center: function () {
-                        return (
-                          this.computeBoundingBox(),
-                          this.boundingBox.getCenter($i).negate(),
-                          this.translate($i.x, $i.y, $i.z),
-                          this
-                        )
-                      },
-                      setFromPoints: function (e) {
-                        for (var t = [], n = 0, r = e.length; n < r; n++) {
-                          var i = e[n]
-                          t.push(i.x, i.y, i.z || 0)
-                        }
-                        return this.setAttribute('position', new Wi(t, 3)), this
-                      },
-                      computeBoundingBox: function () {
-                        null === this.boundingBox && (this.boundingBox = new hr())
-                        var e = this.attributes.position,
-                          t = this.morphAttributes.position
-                        if (e && e.isGLBufferAttribute)
-                          return (
-                            console.error(
-                              'THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',
-                              this,
-                            ),
-                            void this.boundingBox.set(
-                              new lr(-1 / 0, -1 / 0, -1 / 0),
-                              new lr(1 / 0, 1 / 0, 1 / 0),
-                            )
-                          )
-                        if (void 0 !== e) {
-                          if ((this.boundingBox.setFromBufferAttribute(e), t))
-                            for (var n = 0, r = t.length; n < r; n++) {
-                              var i = t[n]
-                              eo.setFromBufferAttribute(i),
-                                this.morphTargetsRelative
-                                  ? (no.addVectors(this.boundingBox.min, eo.min),
-                                    this.boundingBox.expandByPoint(no),
-                                    no.addVectors(this.boundingBox.max, eo.max),
-                                    this.boundingBox.expandByPoint(no))
-                                  : (this.boundingBox.expandByPoint(eo.min),
-                                    this.boundingBox.expandByPoint(eo.max))
-                            }
-                        } else this.boundingBox.makeEmpty()
-                        ;(isNaN(this.boundingBox.min.x) ||
-                          isNaN(this.boundingBox.min.y) ||
-                          isNaN(this.boundingBox.min.z)) &&
-                          console.error(
-                            'THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',
-                            this,
-                          )
-                      },
-                      computeBoundingSphere: function () {
-                        null === this.boundingSphere && (this.boundingSphere = new Sr())
-                        var e = this.attributes.position,
-                          t = this.morphAttributes.position
-                        if (e && e.isGLBufferAttribute)
-                          return (
-                            console.error(
-                              'THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',
-                              this,
-                            ),
-                            void this.boundingSphere.set(new lr(), 1 / 0)
-                          )
-                        if (e) {
-                          var n = this.boundingSphere.center
-                          if ((eo.setFromBufferAttribute(e), t))
-                            for (var r = 0, i = t.length; r < i; r++) {
-                              var o = t[r]
-                              to.setFromBufferAttribute(o),
-                                this.morphTargetsRelative
-                                  ? (no.addVectors(eo.min, to.min),
-                                    eo.expandByPoint(no),
-                                    no.addVectors(eo.max, to.max),
-                                    eo.expandByPoint(no))
-                                  : (eo.expandByPoint(to.min), eo.expandByPoint(to.max))
-                            }
-                          eo.getCenter(n)
-                          for (var a = 0, s = 0, l = e.count; s < l; s++)
-                            no.fromBufferAttribute(e, s), (a = Math.max(a, n.distanceToSquared(no)))
-                          if (t)
-                            for (var c = 0, u = t.length; c < u; c++)
-                              for (
-                                var h = t[c], d = this.morphTargetsRelative, p = 0, f = h.count;
-                                p < f;
-                                p++
-                              )
-                                no.fromBufferAttribute(h, p),
-                                  d && ($i.fromBufferAttribute(e, p), no.add($i)),
-                                  (a = Math.max(a, n.distanceToSquared(no)))
-                          ;(this.boundingSphere.radius = Math.sqrt(a)),
-                            isNaN(this.boundingSphere.radius) &&
-                              console.error(
-                                'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',
-                                this,
-                              )
-                        }
-                      },
-                      computeFaceNormals: function () {},
-                      computeTangents: function () {
-                        var e = this.index,
-                          t = this.attributes
-                        if (
-                          null !== e &&
-                          void 0 !== t.position &&
-                          void 0 !== t.normal &&
-                          void 0 !== t.uv
-                        ) {
-                          var n = e.array,
-                            r = t.position.array,
-                            i = t.normal.array,
-                            o = t.uv.array,
-                            a = r.length / 3
-                          void 0 === t.tangent &&
-                            this.setAttribute('tangent', new Fi(new Float32Array(4 * a), 4))
-                          for (var s = t.tangent.array, l = [], c = [], u = 0; u < a; u++)
-                            (l[u] = new lr()), (c[u] = new lr())
-                          var h = new lr(),
-                            d = new lr(),
-                            p = new lr(),
-                            f = new Jn(),
-                            m = new Jn(),
-                            v = new Jn(),
-                            g = new lr(),
-                            y = new lr(),
-                            b = this.groups
-                          0 === b.length && (b = [{ start: 0, count: n.length }])
-                          for (var A = 0, w = b.length; A < w; ++A)
-                            for (var x = b[A], E = x.start, M = E, _ = E + x.count; M < _; M += 3)
-                              F(n[M + 0], n[M + 1], n[M + 2])
-                          for (
-                            var T = new lr(),
-                              S = new lr(),
-                              C = new lr(),
-                              L = new lr(),
-                              R = 0,
-                              P = b.length;
-                            R < P;
-                            ++R
-                          )
-                            for (var D = b[R], O = D.start, I = O, B = O + D.count; I < B; I += 3)
-                              k(n[I + 0]), k(n[I + 1]), k(n[I + 2])
-                        } else
-                          console.error(
-                            'THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)',
-                          )
-                        function F(e, t, n) {
-                          h.fromArray(r, 3 * e),
-                            d.fromArray(r, 3 * t),
-                            p.fromArray(r, 3 * n),
-                            f.fromArray(o, 2 * e),
-                            m.fromArray(o, 2 * t),
-                            v.fromArray(o, 2 * n),
-                            d.sub(h),
-                            p.sub(h),
-                            m.sub(f),
-                            v.sub(f)
-                          var i = 1 / (m.x * v.y - v.x * m.y)
-                          isFinite(i) &&
-                            (g
-                              .copy(d)
-                              .multiplyScalar(v.y)
-                              .addScaledVector(p, -m.y)
-                              .multiplyScalar(i),
-                            y
-                              .copy(p)
-                              .multiplyScalar(m.x)
-                              .addScaledVector(d, -v.x)
-                              .multiplyScalar(i),
-                            l[e].add(g),
-                            l[t].add(g),
-                            l[n].add(g),
-                            c[e].add(y),
-                            c[t].add(y),
-                            c[n].add(y))
-                        }
-                        function k(e) {
-                          C.fromArray(i, 3 * e), L.copy(C)
-                          var t = l[e]
-                          T.copy(t),
-                            T.sub(C.multiplyScalar(C.dot(t))).normalize(),
-                            S.crossVectors(L, t)
-                          var n = S.dot(c[e]) < 0 ? -1 : 1
-                          ;(s[4 * e] = T.x),
-                            (s[4 * e + 1] = T.y),
-                            (s[4 * e + 2] = T.z),
-                            (s[4 * e + 3] = n)
-                        }
-                      },
-                      computeVertexNormals: function () {
-                        var e = this.index,
-                          t = this.getAttribute('position')
-                        if (void 0 !== t) {
-                          var n = this.getAttribute('normal')
-                          if (void 0 === n)
-                            (n = new Fi(new Float32Array(3 * t.count), 3)),
-                              this.setAttribute('normal', n)
-                          else for (var r = 0, i = n.count; r < i; r++) n.setXYZ(r, 0, 0, 0)
-                          var o = new lr(),
-                            a = new lr(),
-                            s = new lr(),
-                            l = new lr(),
-                            c = new lr(),
-                            u = new lr(),
-                            h = new lr(),
-                            d = new lr()
-                          if (e)
-                            for (var p = 0, f = e.count; p < f; p += 3) {
-                              var m = e.getX(p + 0),
-                                v = e.getX(p + 1),
-                                g = e.getX(p + 2)
-                              o.fromBufferAttribute(t, m),
-                                a.fromBufferAttribute(t, v),
-                                s.fromBufferAttribute(t, g),
-                                h.subVectors(s, a),
-                                d.subVectors(o, a),
-                                h.cross(d),
-                                l.fromBufferAttribute(n, m),
-                                c.fromBufferAttribute(n, v),
-                                u.fromBufferAttribute(n, g),
-                                l.add(h),
-                                c.add(h),
-                                u.add(h),
-                                n.setXYZ(m, l.x, l.y, l.z),
-                                n.setXYZ(v, c.x, c.y, c.z),
-                                n.setXYZ(g, u.x, u.y, u.z)
-                            }
-                          else
-                            for (var y = 0, b = t.count; y < b; y += 3)
-                              o.fromBufferAttribute(t, y + 0),
-                                a.fromBufferAttribute(t, y + 1),
-                                s.fromBufferAttribute(t, y + 2),
-                                h.subVectors(s, a),
-                                d.subVectors(o, a),
-                                h.cross(d),
-                                n.setXYZ(y + 0, h.x, h.y, h.z),
-                                n.setXYZ(y + 1, h.x, h.y, h.z),
-                                n.setXYZ(y + 2, h.x, h.y, h.z)
-                          this.normalizeNormals(), (n.needsUpdate = !0)
-                        }
-                      },
-                      merge: function (e, t) {
-                        if (e && e.isBufferGeometry) {
-                          void 0 === t &&
-                            ((t = 0),
-                            console.warn(
-                              'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.',
-                            ))
-                          var n = this.attributes
-                          for (var r in n)
-                            if (void 0 !== e.attributes[r])
-                              for (
-                                var i = n[r].array,
-                                  o = e.attributes[r],
-                                  a = o.array,
-                                  s = o.itemSize * t,
-                                  l = Math.min(a.length, i.length - s),
-                                  c = 0,
-                                  u = s;
-                                c < l;
-                                c++, u++
-                              )
-                                i[u] = a[c]
-                          return this
-                        }
-                        console.error(
-                          'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.',
-                          e,
-                        )
-                      },
-                      normalizeNormals: function () {
-                        for (var e = this.attributes.normal, t = 0, n = e.count; t < n; t++)
-                          no.fromBufferAttribute(e, t),
-                            no.normalize(),
-                            e.setXYZ(t, no.x, no.y, no.z)
-                      },
-                      toNonIndexed: function () {
-                        function e(e, t) {
-                          for (
-                            var n = e.array,
-                              r = e.itemSize,
-                              i = e.normalized,
-                              o = new n.constructor(t.length * r),
-                              a = 0,
-                              s = 0,
-                              l = 0,
-                              c = t.length;
-                            l < c;
-                            l++
-                          ) {
-                            a = t[l] * r
-                            for (var u = 0; u < r; u++) o[s++] = n[a++]
-                          }
-                          return new Fi(o, r, i)
-                        }
-                        if (null === this.index)
-                          return (
-                            console.warn(
-                              'THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.',
-                            ),
-                            this
-                          )
-                        var t = new ro(),
-                          n = this.index.array,
-                          r = this.attributes
-                        for (var i in r) {
-                          var o = e(r[i], n)
-                          t.setAttribute(i, o)
-                        }
-                        var a = this.morphAttributes
-                        for (var s in a) {
-                          for (var l = [], c = a[s], u = 0, h = c.length; u < h; u++) {
-                            var d = e(c[u], n)
-                            l.push(d)
-                          }
-                          t.morphAttributes[s] = l
-                        }
-                        t.morphTargetsRelative = this.morphTargetsRelative
-                        for (var p = this.groups, f = 0, m = p.length; f < m; f++) {
-                          var v = p[f]
-                          t.addGroup(v.start, v.count, v.materialIndex)
-                        }
-                        return t
-                      },
-                      toJSON: function () {
-                        var e = {
-                          metadata: {
-                            version: 4.5,
-                            type: 'BufferGeometry',
-                            generator: 'BufferGeometry.toJSON',
-                          },
-                        }
-                        if (
-                          ((e.uuid = this.uuid),
-                          (e.type = this.type),
-                          '' !== this.name && (e.name = this.name),
-                          Object.keys(this.userData).length > 0 && (e.userData = this.userData),
-                          void 0 !== this.parameters)
-                        ) {
-                          var t = this.parameters
-                          for (var n in t) void 0 !== t[n] && (e[n] = t[n])
-                          return e
-                        }
-                        e.data = { attributes: {} }
-                        var r = this.index
-                        null !== r &&
-                          (e.data.index = {
-                            type: r.array.constructor.name,
-                            array: Array.prototype.slice.call(r.array),
-                          })
-                        var i = this.attributes
-                        for (var o in i) {
-                          var a = i[o],
-                            s = a.toJSON(e.data)
-                          '' !== a.name && (s.name = a.name), (e.data.attributes[o] = s)
-                        }
-                        var l = {},
-                          c = !1
-                        for (var u in this.morphAttributes) {
-                          for (
-                            var h = this.morphAttributes[u], d = [], p = 0, f = h.length;
-                            p < f;
-                            p++
-                          ) {
-                            var m = h[p],
-                              v = m.toJSON(e.data)
-                            '' !== m.name && (v.name = m.name), d.push(v)
-                          }
-                          d.length > 0 && ((l[u] = d), (c = !0))
-                        }
-                        c &&
-                          ((e.data.morphAttributes = l),
-                          (e.data.morphTargetsRelative = this.morphTargetsRelative))
-                        var g = this.groups
-                        g.length > 0 && (e.data.groups = JSON.parse(JSON.stringify(g)))
-                        var y = this.boundingSphere
-                        return (
-                          null !== y &&
-                            (e.data.boundingSphere = {
-                              center: y.center.toArray(),
-                              radius: y.radius,
-                            }),
-                          e
-                        )
-                      },
-                      clone: function () {
-                        return new ro().copy(this)
-                      },
-                      copy: function (e) {
-                        ;(this.index = null),
-                          (this.attributes = {}),
-                          (this.morphAttributes = {}),
-                          (this.groups = []),
-                          (this.boundingBox = null),
-                          (this.boundingSphere = null)
-                        var t = {}
-                        this.name = e.name
-                        var n = e.index
-                        null !== n && this.setIndex(n.clone(t))
-                        var r = e.attributes
-                        for (var i in r) {
-                          var o = r[i]
-                          this.setAttribute(i, o.clone(t))
-                        }
-                        var a = e.morphAttributes
-                        for (var s in a) {
-                          for (var l = [], c = a[s], u = 0, h = c.length; u < h; u++)
-                            l.push(c[u].clone(t))
-                          this.morphAttributes[s] = l
-                        }
-                        this.morphTargetsRelative = e.morphTargetsRelative
-                        for (var d = e.groups, p = 0, f = d.length; p < f; p++) {
-                          var m = d[p]
-                          this.addGroup(m.start, m.count, m.materialIndex)
-                        }
-                        var v = e.boundingBox
-                        null !== v && (this.boundingBox = v.clone())
-                        var g = e.boundingSphere
-                        return (
-                          null !== g && (this.boundingSphere = g.clone()),
-                          (this.drawRange.start = e.drawRange.start),
-                          (this.drawRange.count = e.drawRange.count),
-                          (this.userData = e.userData),
-                          this
-                        )
-                      },
-                      dispose: function () {
-                        this.dispatchEvent({ type: 'dispose' })
-                      },
-                    })
-                    var io = new Fr(),
-                      oo = new Br(),
-                      ao = new Sr(),
-                      so = new lr(),
-                      lo = new lr(),
-                      co = new lr(),
-                      uo = new lr(),
-                      ho = new lr(),
-                      po = new lr(),
-                      fo = new lr(),
-                      mo = new lr(),
-                      vo = new lr(),
-                      go = new Jn(),
-                      yo = new Jn(),
-                      bo = new Jn(),
-                      Ao = new lr(),
-                      wo = new lr()
-                    function xo(e, t) {
-                      void 0 === e && (e = new ro()),
-                        void 0 === t && (t = new Oi()),
-                        si.call(this),
-                        (this.type = 'Mesh'),
-                        (this.geometry = e),
-                        (this.material = t),
-                        this.updateMorphTargets()
-                    }
-                    function Eo(e, t, n, r, i, o, a, s) {
-                      if (
-                        null ===
-                        (t.side === v
-                          ? r.intersectTriangle(a, o, i, !0, s)
-                          : r.intersectTriangle(i, o, a, t.side !== g, s))
-                      )
-                        return null
-                      wo.copy(s), wo.applyMatrix4(e.matrixWorld)
-                      var l = n.ray.origin.distanceTo(wo)
-                      return l < n.near || l > n.far
-                        ? null
-                        : { distance: l, point: wo.clone(), object: e }
-                    }
-                    function Mo(e, t, n, r, i, o, a, s, l, c, u, h) {
-                      so.fromBufferAttribute(i, c),
-                        lo.fromBufferAttribute(i, u),
-                        co.fromBufferAttribute(i, h)
-                      var d = e.morphTargetInfluences
-                      if (t.morphTargets && o && d) {
-                        fo.set(0, 0, 0), mo.set(0, 0, 0), vo.set(0, 0, 0)
-                        for (var p = 0, f = o.length; p < f; p++) {
-                          var m = d[p],
-                            v = o[p]
-                          0 !== m &&
-                            (uo.fromBufferAttribute(v, c),
-                            ho.fromBufferAttribute(v, u),
-                            po.fromBufferAttribute(v, h),
-                            a
-                              ? (fo.addScaledVector(uo, m),
-                                mo.addScaledVector(ho, m),
-                                vo.addScaledVector(po, m))
-                              : (fo.addScaledVector(uo.sub(so), m),
-                                mo.addScaledVector(ho.sub(lo), m),
-                                vo.addScaledVector(po.sub(co), m)))
-                        }
-                        so.add(fo), lo.add(mo), co.add(vo)
-                      }
-                      e.isSkinnedMesh &&
-                        (e.boneTransform(c, so), e.boneTransform(u, lo), e.boneTransform(h, co))
-                      var g = Eo(e, t, n, r, so, lo, co, Ao)
-                      if (g) {
-                        s &&
-                          (go.fromBufferAttribute(s, c),
-                          yo.fromBufferAttribute(s, u),
-                          bo.fromBufferAttribute(s, h),
-                          (g.uv = xi.getUV(Ao, so, lo, co, go, yo, bo, new Jn()))),
-                          l &&
-                            (go.fromBufferAttribute(l, c),
-                            yo.fromBufferAttribute(l, u),
-                            bo.fromBufferAttribute(l, h),
-                            (g.uv2 = xi.getUV(Ao, so, lo, co, go, yo, bo, new Jn())))
-                        var y = new Ri(c, u, h)
-                        xi.getNormal(so, lo, co, y.normal), (g.face = y)
-                      }
-                      return g
-                    }
-                    xo.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: xo,
-                      isMesh: !0,
-                      copy: function (e) {
-                        return (
-                          si.prototype.copy.call(this, e),
-                          void 0 !== e.morphTargetInfluences &&
-                            (this.morphTargetInfluences = e.morphTargetInfluences.slice()),
-                          void 0 !== e.morphTargetDictionary &&
-                            (this.morphTargetDictionary = Object.assign(
-                              {},
-                              e.morphTargetDictionary,
-                            )),
-                          (this.material = e.material),
-                          (this.geometry = e.geometry),
-                          this
-                        )
-                      },
-                      updateMorphTargets: function () {
-                        var e = this.geometry
-                        if (e.isBufferGeometry) {
-                          var t = e.morphAttributes,
-                            n = Object.keys(t)
-                          if (n.length > 0) {
-                            var r = t[n[0]]
-                            if (void 0 !== r) {
-                              ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                              for (var i = 0, o = r.length; i < o; i++) {
-                                var a = r[i].name || String(i)
-                                this.morphTargetInfluences.push(0),
-                                  (this.morphTargetDictionary[a] = i)
-                              }
-                            }
-                          }
-                        } else {
-                          var s = e.morphTargets
-                          void 0 !== s &&
-                            s.length > 0 &&
-                            console.error(
-                              'THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        }
-                      },
-                      raycast: function (e, t) {
-                        var n,
-                          r = this.geometry,
-                          i = this.material,
-                          o = this.matrixWorld
-                        if (
-                          void 0 !== i &&
-                          (null === r.boundingSphere && r.computeBoundingSphere(),
-                          ao.copy(r.boundingSphere),
-                          ao.applyMatrix4(o),
-                          !1 !== e.ray.intersectsSphere(ao) &&
-                            (io.copy(o).invert(),
-                            oo.copy(e.ray).applyMatrix4(io),
-                            null === r.boundingBox || !1 !== oo.intersectsBox(r.boundingBox)))
-                        )
-                          if (r.isBufferGeometry) {
-                            var a = r.index,
-                              s = r.attributes.position,
-                              l = r.morphAttributes.position,
-                              c = r.morphTargetsRelative,
-                              u = r.attributes.uv,
-                              h = r.attributes.uv2,
-                              d = r.groups,
-                              p = r.drawRange
-                            if (null !== a)
-                              if (Array.isArray(i))
-                                for (var f = 0, m = d.length; f < m; f++)
-                                  for (
-                                    var v = d[f],
-                                      g = i[v.materialIndex],
-                                      y = Math.max(v.start, p.start),
-                                      b = Math.min(v.start + v.count, p.start + p.count);
-                                    y < b;
-                                    y += 3
-                                  ) {
-                                    var A = a.getX(y),
-                                      w = a.getX(y + 1),
-                                      x = a.getX(y + 2)
-                                    ;(n = Mo(this, g, e, oo, s, l, c, u, h, A, w, x)) &&
-                                      ((n.faceIndex = Math.floor(y / 3)),
-                                      (n.face.materialIndex = v.materialIndex),
-                                      t.push(n))
-                                  }
-                              else
-                                for (
-                                  var E = Math.max(0, p.start),
-                                    M = Math.min(a.count, p.start + p.count);
-                                  E < M;
-                                  E += 3
-                                ) {
-                                  var _ = a.getX(E),
-                                    T = a.getX(E + 1),
-                                    S = a.getX(E + 2)
-                                  ;(n = Mo(this, i, e, oo, s, l, c, u, h, _, T, S)) &&
-                                    ((n.faceIndex = Math.floor(E / 3)), t.push(n))
-                                }
-                            else if (void 0 !== s)
-                              if (Array.isArray(i))
-                                for (var C = 0, L = d.length; C < L; C++)
-                                  for (
-                                    var R = d[C],
-                                      P = i[R.materialIndex],
-                                      D = Math.max(R.start, p.start),
-                                      O = Math.min(R.start + R.count, p.start + p.count);
-                                    D < O;
-                                    D += 3
-                                  )
-                                    (n = Mo(this, P, e, oo, s, l, c, u, h, D, D + 1, D + 2)) &&
-                                      ((n.faceIndex = Math.floor(D / 3)),
-                                      (n.face.materialIndex = R.materialIndex),
-                                      t.push(n))
-                              else
-                                for (
-                                  var I = Math.max(0, p.start),
-                                    B = Math.min(s.count, p.start + p.count);
-                                  I < B;
-                                  I += 3
-                                )
-                                  (n = Mo(this, i, e, oo, s, l, c, u, h, I, I + 1, I + 2)) &&
-                                    ((n.faceIndex = Math.floor(I / 3)), t.push(n))
-                          } else
-                            r.isGeometry &&
-                              console.error(
-                                'THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                              )
-                      },
-                    })
-                    var _o = (function (e) {
-                      function t(t, n, r, i, o, a) {
-                        var s
-                        void 0 === t && (t = 1),
-                          void 0 === n && (n = 1),
-                          void 0 === r && (r = 1),
-                          void 0 === i && (i = 1),
-                          void 0 === o && (o = 1),
-                          void 0 === a && (a = 1),
-                          ((s = e.call(this) || this).type = 'BoxGeometry'),
-                          (s.parameters = {
-                            width: t,
-                            height: n,
-                            depth: r,
-                            widthSegments: i,
-                            heightSegments: o,
-                            depthSegments: a,
-                          })
-                        var l = zn(s)
-                        ;(i = Math.floor(i)), (o = Math.floor(o)), (a = Math.floor(a))
-                        var c = [],
-                          u = [],
-                          h = [],
-                          d = [],
-                          p = 0,
-                          f = 0
-                        function m(e, t, n, r, i, o, a, s, m, v, g) {
-                          for (
-                            var y = o / m,
-                              b = a / v,
-                              A = o / 2,
-                              w = a / 2,
-                              x = s / 2,
-                              E = m + 1,
-                              M = v + 1,
-                              _ = 0,
-                              T = 0,
-                              S = new lr(),
-                              C = 0;
-                            C < M;
-                            C++
-                          )
-                            for (var L = C * b - w, R = 0; R < E; R++) {
-                              var P = R * y - A
-                              ;(S[e] = P * r),
-                                (S[t] = L * i),
-                                (S[n] = x),
-                                u.push(S.x, S.y, S.z),
-                                (S[e] = 0),
-                                (S[t] = 0),
-                                (S[n] = s > 0 ? 1 : -1),
-                                h.push(S.x, S.y, S.z),
-                                d.push(R / m),
-                                d.push(1 - C / v),
-                                (_ += 1)
-                            }
-                          for (var D = 0; D < v; D++)
-                            for (var O = 0; O < m; O++) {
-                              var I = p + O + E * D,
-                                B = p + O + E * (D + 1),
-                                F = p + (O + 1) + E * (D + 1),
-                                k = p + (O + 1) + E * D
-                              c.push(I, B, k), c.push(B, F, k), (T += 6)
-                            }
-                          l.addGroup(f, T, g), (f += T), (p += _)
-                        }
-                        return (
-                          m('z', 'y', 'x', -1, -1, r, n, t, a, o, 0),
-                          m('z', 'y', 'x', 1, -1, r, n, -t, a, o, 1),
-                          m('x', 'z', 'y', 1, 1, t, r, n, i, a, 2),
-                          m('x', 'z', 'y', 1, -1, t, r, -n, i, a, 3),
-                          m('x', 'y', 'z', 1, -1, t, n, r, i, o, 4),
-                          m('x', 'y', 'z', -1, -1, t, n, -r, i, o, 5),
-                          s.setIndex(c),
-                          s.setAttribute('position', new Wi(u, 3)),
-                          s.setAttribute('normal', new Wi(h, 3)),
-                          s.setAttribute('uv', new Wi(d, 2)),
-                          s
-                        )
-                      }
-                      return Gn(t, e), t
-                    })(ro)
-                    function To(e) {
-                      var t = {}
-                      for (var n in e)
-                        for (var r in ((t[n] = {}), e[n])) {
-                          var i = e[n][r]
-                          i &&
-                          (i.isColor ||
-                            i.isMatrix3 ||
-                            i.isMatrix4 ||
-                            i.isVector2 ||
-                            i.isVector3 ||
-                            i.isVector4 ||
-                            i.isTexture)
-                            ? (t[n][r] = i.clone())
-                            : Array.isArray(i)
-                            ? (t[n][r] = i.slice())
-                            : (t[n][r] = i)
-                        }
-                      return t
-                    }
-                    function So(e) {
-                      for (var t = {}, n = 0; n < e.length; n++) {
-                        var r = To(e[n])
-                        for (var i in r) t[i] = r[i]
-                      }
-                      return t
-                    }
-                    var Co = { clone: To, merge: So },
-                      Lo =
-                        'void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}',
-                      Ro = 'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}'
-                    function Po(e) {
-                      Di.call(this),
-                        (this.type = 'ShaderMaterial'),
-                        (this.defines = {}),
-                        (this.uniforms = {}),
-                        (this.vertexShader = Lo),
-                        (this.fragmentShader = Ro),
-                        (this.linewidth = 1),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.fog = !1),
-                        (this.lights = !1),
-                        (this.clipping = !1),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        (this.extensions = {
-                          derivatives: !1,
-                          fragDepth: !1,
-                          drawBuffers: !1,
-                          shaderTextureLOD: !1,
-                        }),
-                        (this.defaultAttributeValues = {
-                          color: [1, 1, 1],
-                          uv: [0, 0],
-                          uv2: [0, 0],
-                        }),
-                        (this.index0AttributeName = void 0),
-                        (this.uniformsNeedUpdate = !1),
-                        (this.glslVersion = null),
-                        void 0 !== e &&
-                          (void 0 !== e.attributes &&
-                            console.error(
-                              'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.',
-                            ),
-                          this.setValues(e))
-                    }
-                    function Do() {
-                      si.call(this),
-                        (this.type = 'Camera'),
-                        (this.matrixWorldInverse = new Fr()),
-                        (this.projectionMatrix = new Fr()),
-                        (this.projectionMatrixInverse = new Fr())
-                    }
-                    function Oo(e, t, n, r) {
-                      void 0 === e && (e = 50),
-                        void 0 === t && (t = 1),
-                        void 0 === n && (n = 0.1),
-                        void 0 === r && (r = 2e3),
-                        Do.call(this),
-                        (this.type = 'PerspectiveCamera'),
-                        (this.fov = e),
-                        (this.zoom = 1),
-                        (this.near = n),
-                        (this.far = r),
-                        (this.focus = 10),
-                        (this.aspect = t),
-                        (this.view = null),
-                        (this.filmGauge = 35),
-                        (this.filmOffset = 0),
-                        this.updateProjectionMatrix()
-                    }
-                    ;(Po.prototype = Object.create(Di.prototype)),
-                      (Po.prototype.constructor = Po),
-                      (Po.prototype.isShaderMaterial = !0),
-                      (Po.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          (this.fragmentShader = e.fragmentShader),
-                          (this.vertexShader = e.vertexShader),
-                          (this.uniforms = To(e.uniforms)),
-                          (this.defines = Object.assign({}, e.defines)),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.lights = e.lights),
-                          (this.clipping = e.clipping),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          (this.extensions = Object.assign({}, e.extensions)),
-                          (this.glslVersion = e.glslVersion),
-                          this
-                        )
-                      }),
-                      (Po.prototype.toJSON = function (e) {
-                        var t = Di.prototype.toJSON.call(this, e)
-                        for (var n in ((t.glslVersion = this.glslVersion),
-                        (t.uniforms = {}),
-                        this.uniforms)) {
-                          var r = this.uniforms[n].value
-                          r && r.isTexture
-                            ? (t.uniforms[n] = { type: 't', value: r.toJSON(e).uuid })
-                            : r && r.isColor
-                            ? (t.uniforms[n] = { type: 'c', value: r.getHex() })
-                            : r && r.isVector2
-                            ? (t.uniforms[n] = { type: 'v2', value: r.toArray() })
-                            : r && r.isVector3
-                            ? (t.uniforms[n] = { type: 'v3', value: r.toArray() })
-                            : r && r.isVector4
-                            ? (t.uniforms[n] = { type: 'v4', value: r.toArray() })
-                            : r && r.isMatrix3
-                            ? (t.uniforms[n] = { type: 'm3', value: r.toArray() })
-                            : r && r.isMatrix4
-                            ? (t.uniforms[n] = { type: 'm4', value: r.toArray() })
-                            : (t.uniforms[n] = { value: r })
-                        }
-                        Object.keys(this.defines).length > 0 && (t.defines = this.defines),
-                          (t.vertexShader = this.vertexShader),
-                          (t.fragmentShader = this.fragmentShader)
-                        var i = {}
-                        for (var o in this.extensions) !0 === this.extensions[o] && (i[o] = !0)
-                        return Object.keys(i).length > 0 && (t.extensions = i), t
-                      }),
-                      (Do.prototype = Object.assign(Object.create(si.prototype), {
-                        constructor: Do,
-                        isCamera: !0,
-                        copy: function (e, t) {
-                          return (
-                            si.prototype.copy.call(this, e, t),
-                            this.matrixWorldInverse.copy(e.matrixWorldInverse),
-                            this.projectionMatrix.copy(e.projectionMatrix),
-                            this.projectionMatrixInverse.copy(e.projectionMatrixInverse),
-                            this
-                          )
-                        },
-                        getWorldDirection: function (e) {
-                          void 0 === e &&
-                            (console.warn(
-                              'THREE.Camera: .getWorldDirection() target is now required',
-                            ),
-                            (e = new lr())),
-                            this.updateWorldMatrix(!0, !1)
-                          var t = this.matrixWorld.elements
-                          return e.set(-t[8], -t[9], -t[10]).normalize()
-                        },
-                        updateMatrixWorld: function (e) {
-                          si.prototype.updateMatrixWorld.call(this, e),
-                            this.matrixWorldInverse.copy(this.matrixWorld).invert()
-                        },
-                        updateWorldMatrix: function (e, t) {
-                          si.prototype.updateWorldMatrix.call(this, e, t),
-                            this.matrixWorldInverse.copy(this.matrixWorld).invert()
-                        },
-                        clone: function () {
-                          return new this.constructor().copy(this)
-                        },
-                      })),
-                      (Oo.prototype = Object.assign(Object.create(Do.prototype), {
-                        constructor: Oo,
-                        isPerspectiveCamera: !0,
-                        copy: function (e, t) {
-                          return (
-                            Do.prototype.copy.call(this, e, t),
-                            (this.fov = e.fov),
-                            (this.zoom = e.zoom),
-                            (this.near = e.near),
-                            (this.far = e.far),
-                            (this.focus = e.focus),
-                            (this.aspect = e.aspect),
-                            (this.view = null === e.view ? null : Object.assign({}, e.view)),
-                            (this.filmGauge = e.filmGauge),
-                            (this.filmOffset = e.filmOffset),
-                            this
-                          )
-                        },
-                        setFocalLength: function (e) {
-                          var t = (0.5 * this.getFilmHeight()) / e
-                          ;(this.fov = 2 * Kn.RAD2DEG * Math.atan(t)), this.updateProjectionMatrix()
-                        },
-                        getFocalLength: function () {
-                          var e = Math.tan(0.5 * Kn.DEG2RAD * this.fov)
-                          return (0.5 * this.getFilmHeight()) / e
-                        },
-                        getEffectiveFOV: function () {
-                          return (
-                            2 *
-                            Kn.RAD2DEG *
-                            Math.atan(Math.tan(0.5 * Kn.DEG2RAD * this.fov) / this.zoom)
-                          )
-                        },
-                        getFilmWidth: function () {
-                          return this.filmGauge * Math.min(this.aspect, 1)
-                        },
-                        getFilmHeight: function () {
-                          return this.filmGauge / Math.max(this.aspect, 1)
-                        },
-                        setViewOffset: function (e, t, n, r, i, o) {
-                          ;(this.aspect = e / t),
-                            null === this.view &&
-                              (this.view = {
-                                enabled: !0,
-                                fullWidth: 1,
-                                fullHeight: 1,
-                                offsetX: 0,
-                                offsetY: 0,
-                                width: 1,
-                                height: 1,
-                              }),
-                            (this.view.enabled = !0),
-                            (this.view.fullWidth = e),
-                            (this.view.fullHeight = t),
-                            (this.view.offsetX = n),
-                            (this.view.offsetY = r),
-                            (this.view.width = i),
-                            (this.view.height = o),
-                            this.updateProjectionMatrix()
-                        },
-                        clearViewOffset: function () {
-                          null !== this.view && (this.view.enabled = !1),
-                            this.updateProjectionMatrix()
-                        },
-                        updateProjectionMatrix: function () {
-                          var e = this.near,
-                            t = (e * Math.tan(0.5 * Kn.DEG2RAD * this.fov)) / this.zoom,
-                            n = 2 * t,
-                            r = this.aspect * n,
-                            i = -0.5 * r,
-                            o = this.view
-                          if (null !== this.view && this.view.enabled) {
-                            var a = o.fullWidth,
-                              s = o.fullHeight
-                            ;(i += (o.offsetX * r) / a),
-                              (t -= (o.offsetY * n) / s),
-                              (r *= o.width / a),
-                              (n *= o.height / s)
-                          }
-                          var l = this.filmOffset
-                          0 !== l && (i += (e * l) / this.getFilmWidth()),
-                            this.projectionMatrix.makePerspective(i, i + r, t, t - n, e, this.far),
-                            this.projectionMatrixInverse.copy(this.projectionMatrix).invert()
-                        },
-                        toJSON: function (e) {
-                          var t = si.prototype.toJSON.call(this, e)
-                          return (
-                            (t.object.fov = this.fov),
-                            (t.object.zoom = this.zoom),
-                            (t.object.near = this.near),
-                            (t.object.far = this.far),
-                            (t.object.focus = this.focus),
-                            (t.object.aspect = this.aspect),
-                            null !== this.view && (t.object.view = Object.assign({}, this.view)),
-                            (t.object.filmGauge = this.filmGauge),
-                            (t.object.filmOffset = this.filmOffset),
-                            t
-                          )
-                        },
-                      }))
-                    var Io = 90,
-                      Bo = 1
-                    function Fo(e, t, n) {
-                      if (
-                        (si.call(this),
-                        (this.type = 'CubeCamera'),
-                        !0 === n.isWebGLCubeRenderTarget)
-                      ) {
-                        this.renderTarget = n
-                        var r = new Oo(Io, Bo, e, t)
-                        ;(r.layers = this.layers),
-                          r.up.set(0, -1, 0),
-                          r.lookAt(new lr(1, 0, 0)),
-                          this.add(r)
-                        var i = new Oo(Io, Bo, e, t)
-                        ;(i.layers = this.layers),
-                          i.up.set(0, -1, 0),
-                          i.lookAt(new lr(-1, 0, 0)),
-                          this.add(i)
-                        var o = new Oo(Io, Bo, e, t)
-                        ;(o.layers = this.layers),
-                          o.up.set(0, 0, 1),
-                          o.lookAt(new lr(0, 1, 0)),
-                          this.add(o)
-                        var a = new Oo(Io, Bo, e, t)
-                        ;(a.layers = this.layers),
-                          a.up.set(0, 0, -1),
-                          a.lookAt(new lr(0, -1, 0)),
-                          this.add(a)
-                        var s = new Oo(Io, Bo, e, t)
-                        ;(s.layers = this.layers),
-                          s.up.set(0, -1, 0),
-                          s.lookAt(new lr(0, 0, 1)),
-                          this.add(s)
-                        var l = new Oo(Io, Bo, e, t)
-                        ;(l.layers = this.layers),
-                          l.up.set(0, -1, 0),
-                          l.lookAt(new lr(0, 0, -1)),
-                          this.add(l),
-                          (this.update = function (e, t) {
-                            null === this.parent && this.updateMatrixWorld()
-                            var c = e.xr.enabled,
-                              u = e.getRenderTarget()
-                            e.xr.enabled = !1
-                            var h = n.texture.generateMipmaps
-                            ;(n.texture.generateMipmaps = !1),
-                              e.setRenderTarget(n, 0),
-                              e.render(t, r),
-                              e.setRenderTarget(n, 1),
-                              e.render(t, i),
-                              e.setRenderTarget(n, 2),
-                              e.render(t, o),
-                              e.setRenderTarget(n, 3),
-                              e.render(t, a),
-                              e.setRenderTarget(n, 4),
-                              e.render(t, s),
-                              (n.texture.generateMipmaps = h),
-                              e.setRenderTarget(n, 5),
-                              e.render(t, l),
-                              e.setRenderTarget(u),
-                              (e.xr.enabled = c)
-                          })
-                      } else
-                        console.error(
-                          'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.',
-                        )
-                    }
-                    function ko(e, t, n, r, i, o, a, s, l, c) {
-                      ;(e = void 0 !== e ? e : []),
-                        (t = void 0 !== t ? t : ae),
-                        (a = void 0 !== a ? a : Ne),
-                        nr.call(this, e, t, n, r, i, o, a, s, l, c),
-                        (this.flipY = !1),
-                        (this._needsFlipEnvMap = !0)
-                    }
-                    ;(Fo.prototype = Object.create(si.prototype)),
-                      (Fo.prototype.constructor = Fo),
-                      (ko.prototype = Object.create(nr.prototype)),
-                      (ko.prototype.constructor = ko),
-                      (ko.prototype.isCubeTexture = !0),
-                      Object.defineProperty(ko.prototype, 'images', {
-                        get: function () {
-                          return this.image
-                        },
-                        set: function (e) {
-                          this.image = e
-                        },
-                      })
-                    var No = (function (e) {
-                      function t(t, n, r) {
-                        var i
-                        return (
-                          Number.isInteger(n) &&
-                            (console.warn(
-                              'THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )',
-                            ),
-                            (n = r)),
-                          (i = e.call(this, t, t, n) || this),
-                          Object.defineProperty(zn(i), 'isWebGLCubeRenderTarget', { value: !0 }),
-                          (n = n || {}),
-                          (i.texture = new ko(
-                            void 0,
-                            n.mapping,
-                            n.wrapS,
-                            n.wrapT,
-                            n.magFilter,
-                            n.minFilter,
-                            n.format,
-                            n.type,
-                            n.anisotropy,
-                            n.encoding,
-                          )),
-                          (i.texture._needsFlipEnvMap = !1),
-                          i
-                        )
-                      }
-                      Gn(t, e)
-                      var n = t.prototype
-                      return (
-                        (n.fromEquirectangularTexture = function (e, t) {
-                          ;(this.texture.type = t.type),
-                            (this.texture.format = Ue),
-                            (this.texture.encoding = t.encoding),
-                            (this.texture.generateMipmaps = t.generateMipmaps),
-                            (this.texture.minFilter = t.minFilter),
-                            (this.texture.magFilter = t.magFilter)
-                          var n = {
-                              uniforms: { tEquirect: { value: null } },
-                              vertexShader:
-                                '\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t',
-                              fragmentShader:
-                                '\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t',
-                            },
-                            r = new _o(5, 5, 5),
-                            i = new Po({
-                              name: 'CubemapFromEquirect',
-                              uniforms: To(n.uniforms),
-                              vertexShader: n.vertexShader,
-                              fragmentShader: n.fragmentShader,
-                              side: v,
-                              blending: A,
-                            })
-                          i.uniforms.tEquirect.value = t
-                          var o = new xo(r, i),
-                            a = t.minFilter
-                          return (
-                            t.minFilter === Ee && (t.minFilter = Ae),
-                            new Fo(1, 10, this).update(e, o),
-                            (t.minFilter = a),
-                            o.geometry.dispose(),
-                            o.material.dispose(),
-                            this
-                          )
-                        }),
-                        (n.clear = function (e, t, n, r) {
-                          for (var i = e.getRenderTarget(), o = 0; o < 6; o++)
-                            e.setRenderTarget(this, o), e.clear(t, n, r)
-                          e.setRenderTarget(i)
-                        }),
-                        t
-                      )
-                    })(or)
-                    function Uo(e, t, n, r, i, o, a, s, l, c, u, h) {
-                      nr.call(this, null, o, a, s, l, c, r, i, u, h),
-                        (this.image = { data: e || null, width: t || 1, height: n || 1 }),
-                        (this.magFilter = void 0 !== l ? l : me),
-                        (this.minFilter = void 0 !== c ? c : me),
-                        (this.generateMipmaps = !1),
-                        (this.flipY = !1),
-                        (this.unpackAlignment = 1),
-                        (this.needsUpdate = !0)
-                    }
-                    ;(Uo.prototype = Object.create(nr.prototype)),
-                      (Uo.prototype.constructor = Uo),
-                      (Uo.prototype.isDataTexture = !0)
-                    var Ho = new Sr(),
-                      Go = new lr(),
-                      zo = (function () {
-                        function e(e, t, n, r, i, o) {
-                          this.planes = [
-                            void 0 !== e ? e : new hi(),
-                            void 0 !== t ? t : new hi(),
-                            void 0 !== n ? n : new hi(),
-                            void 0 !== r ? r : new hi(),
-                            void 0 !== i ? i : new hi(),
-                            void 0 !== o ? o : new hi(),
-                          ]
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n, r, i, o) {
-                            var a = this.planes
-                            return (
-                              a[0].copy(e),
-                              a[1].copy(t),
-                              a[2].copy(n),
-                              a[3].copy(r),
-                              a[4].copy(i),
-                              a[5].copy(o),
-                              this
-                            )
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            for (var t = this.planes, n = 0; n < 6; n++) t[n].copy(e.planes[n])
-                            return this
-                          }),
-                          (t.setFromProjectionMatrix = function (e) {
-                            var t = this.planes,
-                              n = e.elements,
-                              r = n[0],
-                              i = n[1],
-                              o = n[2],
-                              a = n[3],
-                              s = n[4],
-                              l = n[5],
-                              c = n[6],
-                              u = n[7],
-                              h = n[8],
-                              d = n[9],
-                              p = n[10],
-                              f = n[11],
-                              m = n[12],
-                              v = n[13],
-                              g = n[14],
-                              y = n[15]
-                            return (
-                              t[0].setComponents(a - r, u - s, f - h, y - m).normalize(),
-                              t[1].setComponents(a + r, u + s, f + h, y + m).normalize(),
-                              t[2].setComponents(a + i, u + l, f + d, y + v).normalize(),
-                              t[3].setComponents(a - i, u - l, f - d, y - v).normalize(),
-                              t[4].setComponents(a - o, u - c, f - p, y - g).normalize(),
-                              t[5].setComponents(a + o, u + c, f + p, y + g).normalize(),
-                              this
-                            )
-                          }),
-                          (t.intersectsObject = function (e) {
-                            var t = e.geometry
-                            return (
-                              null === t.boundingSphere && t.computeBoundingSphere(),
-                              Ho.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),
-                              this.intersectsSphere(Ho)
-                            )
-                          }),
-                          (t.intersectsSprite = function (e) {
-                            return (
-                              Ho.center.set(0, 0, 0),
-                              (Ho.radius = 0.7071067811865476),
-                              Ho.applyMatrix4(e.matrixWorld),
-                              this.intersectsSphere(Ho)
-                            )
-                          }),
-                          (t.intersectsSphere = function (e) {
-                            for (
-                              var t = this.planes, n = e.center, r = -e.radius, i = 0;
-                              i < 6;
-                              i++
-                            )
-                              if (t[i].distanceToPoint(n) < r) return !1
-                            return !0
-                          }),
-                          (t.intersectsBox = function (e) {
-                            for (var t = this.planes, n = 0; n < 6; n++) {
-                              var r = t[n]
-                              if (
-                                ((Go.x = r.normal.x > 0 ? e.max.x : e.min.x),
-                                (Go.y = r.normal.y > 0 ? e.max.y : e.min.y),
-                                (Go.z = r.normal.z > 0 ? e.max.z : e.min.z),
-                                r.distanceToPoint(Go) < 0)
-                              )
-                                return !1
-                            }
-                            return !0
-                          }),
-                          (t.containsPoint = function (e) {
-                            for (var t = this.planes, n = 0; n < 6; n++)
-                              if (t[n].distanceToPoint(e) < 0) return !1
-                            return !0
-                          }),
-                          e
-                        )
-                      })()
-                    function jo() {
-                      var e = null,
-                        t = !1,
-                        n = null,
-                        r = null
-                      function i(t, o) {
-                        n(t, o), (r = e.requestAnimationFrame(i))
-                      }
-                      return {
-                        start: function () {
-                          !0 !== t && null !== n && ((r = e.requestAnimationFrame(i)), (t = !0))
-                        },
-                        stop: function () {
-                          e.cancelAnimationFrame(r), (t = !1)
-                        },
-                        setAnimationLoop: function (e) {
-                          n = e
-                        },
-                        setContext: function (t) {
-                          e = t
-                        },
-                      }
-                    }
-                    function Vo(e, t) {
-                      var n = t.isWebGL2,
-                        r = new WeakMap()
-                      function i(t, r) {
-                        var i = t.array,
-                          o = t.usage,
-                          a = e.createBuffer()
-                        e.bindBuffer(r, a), e.bufferData(r, i, o), t.onUploadCallback()
-                        var s = 5126
-                        return (
-                          i instanceof Float32Array
-                            ? (s = 5126)
-                            : i instanceof Float64Array
-                            ? console.warn(
-                                'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.',
-                              )
-                            : i instanceof Uint16Array
-                            ? t.isFloat16BufferAttribute
-                              ? n
-                                ? (s = 5131)
-                                : console.warn(
-                                    'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.',
-                                  )
-                              : (s = 5123)
-                            : i instanceof Int16Array
-                            ? (s = 5122)
-                            : i instanceof Uint32Array
-                            ? (s = 5125)
-                            : i instanceof Int32Array
-                            ? (s = 5124)
-                            : i instanceof Int8Array
-                            ? (s = 5120)
-                            : i instanceof Uint8Array && (s = 5121),
-                          {
-                            buffer: a,
-                            type: s,
-                            bytesPerElement: i.BYTES_PER_ELEMENT,
-                            version: t.version,
-                          }
-                        )
-                      }
-                      function o(t, r, i) {
-                        var o = r.array,
-                          a = r.updateRange
-                        e.bindBuffer(i, t),
-                          -1 === a.count
-                            ? e.bufferSubData(i, 0, o)
-                            : (n
-                                ? e.bufferSubData(
-                                    i,
-                                    a.offset * o.BYTES_PER_ELEMENT,
-                                    o,
-                                    a.offset,
-                                    a.count,
-                                  )
-                                : e.bufferSubData(
-                                    i,
-                                    a.offset * o.BYTES_PER_ELEMENT,
-                                    o.subarray(a.offset, a.offset + a.count),
-                                  ),
-                              (a.count = -1))
-                      }
-                      function a(e) {
-                        return e.isInterleavedBufferAttribute && (e = e.data), r.get(e)
-                      }
-                      function s(t) {
-                        t.isInterleavedBufferAttribute && (t = t.data)
-                        var n = r.get(t)
-                        n && (e.deleteBuffer(n.buffer), r.delete(t))
-                      }
-                      function l(e, t) {
-                        if (e.isGLBufferAttribute) {
-                          var n = r.get(e)
-                          ;(!n || n.version < e.version) &&
-                            r.set(e, {
-                              buffer: e.buffer,
-                              type: e.type,
-                              bytesPerElement: e.elementSize,
-                              version: e.version,
-                            })
-                        } else {
-                          e.isInterleavedBufferAttribute && (e = e.data)
-                          var a = r.get(e)
-                          void 0 === a
-                            ? r.set(e, i(e, t))
-                            : a.version < e.version && (o(a.buffer, e, t), (a.version = e.version))
-                        }
-                      }
-                      return { get: a, remove: s, update: l }
-                    }
-                    var Wo = (function (e) {
-                        function t(t, n, r, i) {
-                          var o
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 1),
-                            void 0 === r && (r = 1),
-                            void 0 === i && (i = 1),
-                            ((o = e.call(this) || this).type = 'PlaneGeometry'),
-                            (o.parameters = {
-                              width: t,
-                              height: n,
-                              widthSegments: r,
-                              heightSegments: i,
-                            })
-                          for (
-                            var a = t / 2,
-                              s = n / 2,
-                              l = Math.floor(r),
-                              c = Math.floor(i),
-                              u = l + 1,
-                              h = c + 1,
-                              d = t / l,
-                              p = n / c,
-                              f = [],
-                              m = [],
-                              v = [],
-                              g = [],
-                              y = 0;
-                            y < h;
-                            y++
-                          )
-                            for (var b = y * p - s, A = 0; A < u; A++) {
-                              var w = A * d - a
-                              m.push(w, -b, 0), v.push(0, 0, 1), g.push(A / l), g.push(1 - y / c)
-                            }
-                          for (var x = 0; x < c; x++)
-                            for (var E = 0; E < l; E++) {
-                              var M = E + u * x,
-                                _ = E + u * (x + 1),
-                                T = E + 1 + u * (x + 1),
-                                S = E + 1 + u * x
-                              f.push(M, _, S), f.push(_, T, S)
-                            }
-                          return (
-                            o.setIndex(f),
-                            o.setAttribute('position', new Wi(m, 3)),
-                            o.setAttribute('normal', new Wi(v, 3)),
-                            o.setAttribute('uv', new Wi(g, 2)),
-                            o
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      qo = {
-                        alphamap_fragment:
-                          '#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif',
-                        alphamap_pars_fragment:
-                          '#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif',
-                        alphatest_fragment:
-                          '#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif',
-                        aomap_fragment:
-                          '#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif',
-                        aomap_pars_fragment:
-                          '#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif',
-                        begin_vertex: 'vec3 transformed = vec3( position );',
-                        beginnormal_vertex:
-                          'vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif',
-                        bsdfs:
-                          'vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif',
-                        bumpmap_pars_fragment:
-                          '#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif',
-                        clipping_planes_fragment:
-                          '#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif',
-                        clipping_planes_pars_fragment:
-                          '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif',
-                        clipping_planes_pars_vertex:
-                          '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif',
-                        clipping_planes_vertex:
-                          '#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif',
-                        color_fragment: '#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif',
-                        color_pars_fragment: '#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif',
-                        color_pars_vertex:
-                          '#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif',
-                        color_vertex:
-                          '#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor.xyz *= color.xyz;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif',
-                        common:
-                          '#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}',
-                        cube_uv_reflection_fragment:
-                          '#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif',
-                        defaultnormal_vertex:
-                          'vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif',
-                        displacementmap_pars_vertex:
-                          '#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif',
-                        displacementmap_vertex:
-                          '#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif',
-                        emissivemap_fragment:
-                          '#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif',
-                        emissivemap_pars_fragment:
-                          '#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif',
-                        encodings_fragment: 'gl_FragColor = linearToOutputTexel( gl_FragColor );',
-                        encodings_pars_fragment:
-                          '\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}',
-                        envmap_fragment:
-                          '#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif',
-                        envmap_common_pars_fragment:
-                          '#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif',
-                        envmap_pars_fragment:
-                          '#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif',
-                        envmap_pars_vertex:
-                          '#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif',
-                        envmap_physical_pars_fragment:
-                          '#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif',
-                        envmap_vertex:
-                          '#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif',
-                        fog_vertex: '#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif',
-                        fog_pars_vertex: '#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif',
-                        fog_fragment:
-                          '#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif',
-                        fog_pars_fragment:
-                          '#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif',
-                        gradientmap_pars_fragment:
-                          '#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}',
-                        lightmap_fragment:
-                          '#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif',
-                        lightmap_pars_fragment:
-                          '#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif',
-                        lights_lambert_vertex:
-                          'vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif',
-                        lights_pars_begin:
-                          'uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif',
-                        lights_toon_fragment:
-                          'ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;',
-                        lights_toon_pars_fragment:
-                          'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)',
-                        lights_phong_fragment:
-                          'BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;',
-                        lights_phong_pars_fragment:
-                          'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)',
-                        lights_physical_fragment:
-                          'PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif',
-                        lights_physical_pars_fragment:
-                          'struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(\t\t0, 1,\t\t0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}',
-                        lights_fragment_begin:
-                          '\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif',
-                        lights_fragment_maps:
-                          '#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif',
-                        lights_fragment_end:
-                          '#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif',
-                        logdepthbuf_fragment:
-                          '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif',
-                        logdepthbuf_pars_fragment:
-                          '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif',
-                        logdepthbuf_pars_vertex:
-                          '#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif',
-                        logdepthbuf_vertex:
-                          '#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif',
-                        map_fragment:
-                          '#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif',
-                        map_pars_fragment: '#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif',
-                        map_particle_fragment:
-                          '#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif',
-                        map_particle_pars_fragment:
-                          '#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif',
-                        metalnessmap_fragment:
-                          'float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif',
-                        metalnessmap_pars_fragment:
-                          '#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif',
-                        morphnormal_vertex:
-                          '#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif',
-                        morphtarget_pars_vertex:
-                          '#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif',
-                        morphtarget_vertex:
-                          '#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif',
-                        normal_fragment_begin:
-                          '#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;',
-                        normal_fragment_maps:
-                          '#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif',
-                        normalmap_pars_fragment:
-                          '#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tmat3 tsn = mat3( S, T, N );\n\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif',
-                        clearcoat_normal_fragment_begin:
-                          '#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif',
-                        clearcoat_normal_fragment_maps:
-                          '#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN );\n\t#endif\n#endif',
-                        clearcoat_pars_fragment:
-                          '#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif',
-                        packing:
-                          'vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}',
-                        premultiplied_alpha_fragment:
-                          '#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif',
-                        project_vertex:
-                          'vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;',
-                        dithering_fragment:
-                          '#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif',
-                        dithering_pars_fragment:
-                          '#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif',
-                        roughnessmap_fragment:
-                          'float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif',
-                        roughnessmap_pars_fragment:
-                          '#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif',
-                        shadowmap_pars_fragment:
-                          '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif',
-                        shadowmap_pars_vertex:
-                          '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif',
-                        shadowmap_vertex:
-                          '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif',
-                        shadowmask_pars_fragment:
-                          'float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}',
-                        skinbase_vertex:
-                          '#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif',
-                        skinning_pars_vertex:
-                          '#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif',
-                        skinning_vertex:
-                          '#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif',
-                        skinnormal_vertex:
-                          '#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif',
-                        specularmap_fragment:
-                          'float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif',
-                        specularmap_pars_fragment:
-                          '#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif',
-                        tonemapping_fragment:
-                          '#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif',
-                        tonemapping_pars_fragment:
-                          '#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(\t1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,\t1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,\t1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }',
-                        transmissionmap_fragment:
-                          '#ifdef USE_TRANSMISSIONMAP\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n#endif',
-                        transmissionmap_pars_fragment:
-                          '#ifdef USE_TRANSMISSIONMAP\n\tuniform sampler2D transmissionMap;\n#endif',
-                        uv_pars_fragment:
-                          '#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif',
-                        uv_pars_vertex:
-                          '#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif',
-                        uv_vertex:
-                          '#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif',
-                        uv2_pars_fragment:
-                          '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif',
-                        uv2_pars_vertex:
-                          '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif',
-                        uv2_vertex:
-                          '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif',
-                        worldpos_vertex:
-                          '#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif',
-                        background_frag:
-                          'uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-                        background_vert:
-                          'varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}',
-                        cube_frag:
-                          '#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-                        cube_vert:
-                          'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}',
-                        depth_frag:
-                          '#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}',
-                        depth_vert:
-                          '#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}',
-                        distanceRGBA_frag:
-                          '#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}',
-                        distanceRGBA_vert:
-                          '#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}',
-                        equirect_frag:
-                          'uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-                        equirect_vert:
-                          'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}',
-                        linedashed_frag:
-                          'uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}',
-                        linedashed_vert:
-                          'uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}',
-                        meshbasic_frag:
-                          'uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshbasic_vert:
-                          '#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}',
-                        meshlambert_frag:
-                          'uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshlambert_vert:
-                          '#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-                        meshmatcap_frag:
-                          '#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshmatcap_vert:
-                          '#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}',
-                        meshtoon_frag:
-                          '#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshtoon_vert:
-                          '#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-                        meshphong_frag:
-                          '#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshphong_vert:
-                          '#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-                        meshphysical_frag:
-                          '#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <transmissionmap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t#endif\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <transmissionmap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-                        meshphysical_vert:
-                          '#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-                        normal_frag:
-                          '#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}',
-                        normal_vert:
-                          '#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}',
-                        points_frag:
-                          'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}',
-                        points_vert:
-                          'uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}',
-                        shadow_frag:
-                          'uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}',
-                        shadow_vert:
-                          '#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-                        sprite_frag:
-                          'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}',
-                        sprite_vert:
-                          'uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}',
-                      },
-                      Xo = {
-                        common: {
-                          diffuse: { value: new Li(15658734) },
-                          opacity: { value: 1 },
-                          map: { value: null },
-                          uvTransform: { value: new $n() },
-                          uv2Transform: { value: new $n() },
-                          alphaMap: { value: null },
-                        },
-                        specularmap: { specularMap: { value: null } },
-                        envmap: {
-                          envMap: { value: null },
-                          flipEnvMap: { value: -1 },
-                          reflectivity: { value: 1 },
-                          refractionRatio: { value: 0.98 },
-                          maxMipLevel: { value: 0 },
-                        },
-                        aomap: { aoMap: { value: null }, aoMapIntensity: { value: 1 } },
-                        lightmap: { lightMap: { value: null }, lightMapIntensity: { value: 1 } },
-                        emissivemap: { emissiveMap: { value: null } },
-                        bumpmap: { bumpMap: { value: null }, bumpScale: { value: 1 } },
-                        normalmap: {
-                          normalMap: { value: null },
-                          normalScale: { value: new Jn(1, 1) },
-                        },
-                        displacementmap: {
-                          displacementMap: { value: null },
-                          displacementScale: { value: 1 },
-                          displacementBias: { value: 0 },
-                        },
-                        roughnessmap: { roughnessMap: { value: null } },
-                        metalnessmap: { metalnessMap: { value: null } },
-                        gradientmap: { gradientMap: { value: null } },
-                        fog: {
-                          fogDensity: { value: 25e-5 },
-                          fogNear: { value: 1 },
-                          fogFar: { value: 2e3 },
-                          fogColor: { value: new Li(16777215) },
-                        },
-                        lights: {
-                          ambientLightColor: { value: [] },
-                          lightProbe: { value: [] },
-                          directionalLights: {
-                            value: [],
-                            properties: { direction: {}, color: {} },
-                          },
-                          directionalLightShadows: {
-                            value: [],
-                            properties: {
-                              shadowBias: {},
-                              shadowNormalBias: {},
-                              shadowRadius: {},
-                              shadowMapSize: {},
-                            },
-                          },
-                          directionalShadowMap: { value: [] },
-                          directionalShadowMatrix: { value: [] },
-                          spotLights: {
-                            value: [],
-                            properties: {
-                              color: {},
-                              position: {},
-                              direction: {},
-                              distance: {},
-                              coneCos: {},
-                              penumbraCos: {},
-                              decay: {},
-                            },
-                          },
-                          spotLightShadows: {
-                            value: [],
-                            properties: {
-                              shadowBias: {},
-                              shadowNormalBias: {},
-                              shadowRadius: {},
-                              shadowMapSize: {},
-                            },
-                          },
-                          spotShadowMap: { value: [] },
-                          spotShadowMatrix: { value: [] },
-                          pointLights: {
-                            value: [],
-                            properties: { color: {}, position: {}, decay: {}, distance: {} },
-                          },
-                          pointLightShadows: {
-                            value: [],
-                            properties: {
-                              shadowBias: {},
-                              shadowNormalBias: {},
-                              shadowRadius: {},
-                              shadowMapSize: {},
-                              shadowCameraNear: {},
-                              shadowCameraFar: {},
-                            },
-                          },
-                          pointShadowMap: { value: [] },
-                          pointShadowMatrix: { value: [] },
-                          hemisphereLights: {
-                            value: [],
-                            properties: { direction: {}, skyColor: {}, groundColor: {} },
-                          },
-                          rectAreaLights: {
-                            value: [],
-                            properties: { color: {}, position: {}, width: {}, height: {} },
-                          },
-                          ltc_1: { value: null },
-                          ltc_2: { value: null },
-                        },
-                        points: {
-                          diffuse: { value: new Li(15658734) },
-                          opacity: { value: 1 },
-                          size: { value: 1 },
-                          scale: { value: 1 },
-                          map: { value: null },
-                          alphaMap: { value: null },
-                          uvTransform: { value: new $n() },
-                        },
-                        sprite: {
-                          diffuse: { value: new Li(15658734) },
-                          opacity: { value: 1 },
-                          center: { value: new Jn(0.5, 0.5) },
-                          rotation: { value: 0 },
-                          map: { value: null },
-                          alphaMap: { value: null },
-                          uvTransform: { value: new $n() },
-                        },
-                      },
-                      Yo = {
-                        basic: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.specularmap,
-                            Xo.envmap,
-                            Xo.aomap,
-                            Xo.lightmap,
-                            Xo.fog,
-                          ]),
-                          vertexShader: qo.meshbasic_vert,
-                          fragmentShader: qo.meshbasic_frag,
-                        },
-                        lambert: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.specularmap,
-                            Xo.envmap,
-                            Xo.aomap,
-                            Xo.lightmap,
-                            Xo.emissivemap,
-                            Xo.fog,
-                            Xo.lights,
-                            { emissive: { value: new Li(0) } },
-                          ]),
-                          vertexShader: qo.meshlambert_vert,
-                          fragmentShader: qo.meshlambert_frag,
-                        },
-                        phong: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.specularmap,
-                            Xo.envmap,
-                            Xo.aomap,
-                            Xo.lightmap,
-                            Xo.emissivemap,
-                            Xo.bumpmap,
-                            Xo.normalmap,
-                            Xo.displacementmap,
-                            Xo.fog,
-                            Xo.lights,
-                            {
-                              emissive: { value: new Li(0) },
-                              specular: { value: new Li(1118481) },
-                              shininess: { value: 30 },
-                            },
-                          ]),
-                          vertexShader: qo.meshphong_vert,
-                          fragmentShader: qo.meshphong_frag,
-                        },
-                        standard: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.envmap,
-                            Xo.aomap,
-                            Xo.lightmap,
-                            Xo.emissivemap,
-                            Xo.bumpmap,
-                            Xo.normalmap,
-                            Xo.displacementmap,
-                            Xo.roughnessmap,
-                            Xo.metalnessmap,
-                            Xo.fog,
-                            Xo.lights,
-                            {
-                              emissive: { value: new Li(0) },
-                              roughness: { value: 1 },
-                              metalness: { value: 0 },
-                              envMapIntensity: { value: 1 },
-                            },
-                          ]),
-                          vertexShader: qo.meshphysical_vert,
-                          fragmentShader: qo.meshphysical_frag,
-                        },
-                        toon: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.aomap,
-                            Xo.lightmap,
-                            Xo.emissivemap,
-                            Xo.bumpmap,
-                            Xo.normalmap,
-                            Xo.displacementmap,
-                            Xo.gradientmap,
-                            Xo.fog,
-                            Xo.lights,
-                            { emissive: { value: new Li(0) } },
-                          ]),
-                          vertexShader: qo.meshtoon_vert,
-                          fragmentShader: qo.meshtoon_frag,
-                        },
-                        matcap: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.bumpmap,
-                            Xo.normalmap,
-                            Xo.displacementmap,
-                            Xo.fog,
-                            { matcap: { value: null } },
-                          ]),
-                          vertexShader: qo.meshmatcap_vert,
-                          fragmentShader: qo.meshmatcap_frag,
-                        },
-                        points: {
-                          uniforms: So([Xo.points, Xo.fog]),
-                          vertexShader: qo.points_vert,
-                          fragmentShader: qo.points_frag,
-                        },
-                        dashed: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.fog,
-                            {
-                              scale: { value: 1 },
-                              dashSize: { value: 1 },
-                              totalSize: { value: 2 },
-                            },
-                          ]),
-                          vertexShader: qo.linedashed_vert,
-                          fragmentShader: qo.linedashed_frag,
-                        },
-                        depth: {
-                          uniforms: So([Xo.common, Xo.displacementmap]),
-                          vertexShader: qo.depth_vert,
-                          fragmentShader: qo.depth_frag,
-                        },
-                        normal: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.bumpmap,
-                            Xo.normalmap,
-                            Xo.displacementmap,
-                            { opacity: { value: 1 } },
-                          ]),
-                          vertexShader: qo.normal_vert,
-                          fragmentShader: qo.normal_frag,
-                        },
-                        sprite: {
-                          uniforms: So([Xo.sprite, Xo.fog]),
-                          vertexShader: qo.sprite_vert,
-                          fragmentShader: qo.sprite_frag,
-                        },
-                        background: {
-                          uniforms: { uvTransform: { value: new $n() }, t2D: { value: null } },
-                          vertexShader: qo.background_vert,
-                          fragmentShader: qo.background_frag,
-                        },
-                        cube: {
-                          uniforms: So([Xo.envmap, { opacity: { value: 1 } }]),
-                          vertexShader: qo.cube_vert,
-                          fragmentShader: qo.cube_frag,
-                        },
-                        equirect: {
-                          uniforms: { tEquirect: { value: null } },
-                          vertexShader: qo.equirect_vert,
-                          fragmentShader: qo.equirect_frag,
-                        },
-                        distanceRGBA: {
-                          uniforms: So([
-                            Xo.common,
-                            Xo.displacementmap,
-                            {
-                              referencePosition: { value: new lr() },
-                              nearDistance: { value: 1 },
-                              farDistance: { value: 1e3 },
-                            },
-                          ]),
-                          vertexShader: qo.distanceRGBA_vert,
-                          fragmentShader: qo.distanceRGBA_frag,
-                        },
-                        shadow: {
-                          uniforms: So([
-                            Xo.lights,
-                            Xo.fog,
-                            { color: { value: new Li(0) }, opacity: { value: 1 } },
-                          ]),
-                          vertexShader: qo.shadow_vert,
-                          fragmentShader: qo.shadow_frag,
-                        },
-                      }
-                    function Qo(e, t, n, r, i) {
-                      var o,
-                        a,
-                        s = new Li(0),
-                        l = 0,
-                        c = null,
-                        u = 0,
-                        h = null
-                      function d(n, i, d, f) {
-                        var g = !0 === i.isScene ? i.background : null
-                        g && g.isTexture && (g = t.get(g))
-                        var y = e.xr,
-                          b = y.getSession && y.getSession()
-                        b && 'additive' === b.environmentBlendMode && (g = null),
-                          null === g ? p(s, l) : g && g.isColor && (p(g, 1), (f = !0)),
-                          (e.autoClear || f) &&
-                            e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil),
-                          g && (g.isCubeTexture || g.isWebGLCubeRenderTarget || g.mapping === ue)
-                            ? (void 0 === a &&
-                                ((a = new xo(
-                                  new _o(1, 1, 1),
-                                  new Po({
-                                    name: 'BackgroundCubeMaterial',
-                                    uniforms: To(Yo.cube.uniforms),
-                                    vertexShader: Yo.cube.vertexShader,
-                                    fragmentShader: Yo.cube.fragmentShader,
-                                    side: v,
-                                    depthTest: !1,
-                                    depthWrite: !1,
-                                    fog: !1,
-                                  }),
-                                )).geometry.deleteAttribute('normal'),
-                                a.geometry.deleteAttribute('uv'),
-                                (a.onBeforeRender = function (e, t, n) {
-                                  this.matrixWorld.copyPosition(n.matrixWorld)
-                                }),
-                                Object.defineProperty(a.material, 'envMap', {
-                                  get: function () {
-                                    return this.uniforms.envMap.value
-                                  },
-                                }),
-                                r.update(a)),
-                              g.isWebGLCubeRenderTarget && (g = g.texture),
-                              (a.material.uniforms.envMap.value = g),
-                              (a.material.uniforms.flipEnvMap.value =
-                                g.isCubeTexture && g._needsFlipEnvMap ? -1 : 1),
-                              (c === g && u === g.version && h === e.toneMapping) ||
-                                ((a.material.needsUpdate = !0),
-                                (c = g),
-                                (u = g.version),
-                                (h = e.toneMapping)),
-                              n.unshift(a, a.geometry, a.material, 0, 0, null))
-                            : g &&
-                              g.isTexture &&
-                              (void 0 === o &&
-                                ((o = new xo(
-                                  new Wo(2, 2),
-                                  new Po({
-                                    name: 'BackgroundMaterial',
-                                    uniforms: To(Yo.background.uniforms),
-                                    vertexShader: Yo.background.vertexShader,
-                                    fragmentShader: Yo.background.fragmentShader,
-                                    side: m,
-                                    depthTest: !1,
-                                    depthWrite: !1,
-                                    fog: !1,
-                                  }),
-                                )).geometry.deleteAttribute('normal'),
-                                Object.defineProperty(o.material, 'map', {
-                                  get: function () {
-                                    return this.uniforms.t2D.value
-                                  },
-                                }),
-                                r.update(o)),
-                              (o.material.uniforms.t2D.value = g),
-                              !0 === g.matrixAutoUpdate && g.updateMatrix(),
-                              o.material.uniforms.uvTransform.value.copy(g.matrix),
-                              (c === g && u === g.version && h === e.toneMapping) ||
-                                ((o.material.needsUpdate = !0),
-                                (c = g),
-                                (u = g.version),
-                                (h = e.toneMapping)),
-                              n.unshift(o, o.geometry, o.material, 0, 0, null))
-                      }
-                      function p(e, t) {
-                        n.buffers.color.setClear(e.r, e.g, e.b, t, i)
-                      }
-                      return {
-                        getClearColor: function () {
-                          return s
-                        },
-                        setClearColor: function (e, t) {
-                          void 0 === t && (t = 1), s.set(e), p(s, (l = t))
-                        },
-                        getClearAlpha: function () {
-                          return l
-                        },
-                        setClearAlpha: function (e) {
-                          p(s, (l = e))
-                        },
-                        render: d,
-                      }
-                    }
-                    function Zo(e, t, n, r) {
-                      var i = e.getParameter(34921),
-                        o = r.isWebGL2 ? null : t.get('OES_vertex_array_object'),
-                        a = r.isWebGL2 || null !== o,
-                        s = {},
-                        l = m(null),
-                        c = l
-                      function u(t, r, i, o, s) {
-                        var l = !1
-                        if (a) {
-                          var u = f(o, i, r)
-                          c !== u && d((c = u).object), (l = v(o, s)) && g(o, s)
-                        } else {
-                          var h = !0 === r.wireframe
-                          ;(c.geometry === o.id && c.program === i.id && c.wireframe === h) ||
-                            ((c.geometry = o.id), (c.program = i.id), (c.wireframe = h), (l = !0))
-                        }
-                        !0 === t.isInstancedMesh && (l = !0),
-                          null !== s && n.update(s, 34963),
-                          l && (E(t, r, i, o), null !== s && e.bindBuffer(34963, n.get(s).buffer))
-                      }
-                      function h() {
-                        return r.isWebGL2 ? e.createVertexArray() : o.createVertexArrayOES()
-                      }
-                      function d(t) {
-                        return r.isWebGL2 ? e.bindVertexArray(t) : o.bindVertexArrayOES(t)
-                      }
-                      function p(t) {
-                        return r.isWebGL2 ? e.deleteVertexArray(t) : o.deleteVertexArrayOES(t)
-                      }
-                      function f(e, t, n) {
-                        var r = !0 === n.wireframe,
-                          i = s[e.id]
-                        void 0 === i && ((i = {}), (s[e.id] = i))
-                        var o = i[t.id]
-                        void 0 === o && ((o = {}), (i[t.id] = o))
-                        var a = o[r]
-                        return void 0 === a && ((a = m(h())), (o[r] = a)), a
-                      }
-                      function m(e) {
-                        for (var t = [], n = [], r = [], o = 0; o < i; o++)
-                          (t[o] = 0), (n[o] = 0), (r[o] = 0)
-                        return {
-                          geometry: null,
-                          program: null,
-                          wireframe: !1,
-                          newAttributes: t,
-                          enabledAttributes: n,
-                          attributeDivisors: r,
-                          object: e,
-                          attributes: {},
-                          index: null,
-                        }
-                      }
-                      function v(e, t) {
-                        var n = c.attributes,
-                          r = e.attributes,
-                          i = 0
-                        for (var o in r) {
-                          var a = n[o],
-                            s = r[o]
-                          if (void 0 === a) return !0
-                          if (a.attribute !== s) return !0
-                          if (a.data !== s.data) return !0
-                          i++
-                        }
-                        return c.attributesNum !== i || c.index !== t
-                      }
-                      function g(e, t) {
-                        var n = {},
-                          r = e.attributes,
-                          i = 0
-                        for (var o in r) {
-                          var a = r[o],
-                            s = {}
-                          ;(s.attribute = a), a.data && (s.data = a.data), (n[o] = s), i++
-                        }
-                        ;(c.attributes = n), (c.attributesNum = i), (c.index = t)
-                      }
-                      function y() {
-                        for (var e = c.newAttributes, t = 0, n = e.length; t < n; t++) e[t] = 0
-                      }
-                      function b(e) {
-                        A(e, 0)
-                      }
-                      function A(n, i) {
-                        var o = c.newAttributes,
-                          a = c.enabledAttributes,
-                          s = c.attributeDivisors
-                        ;(o[n] = 1),
-                          0 === a[n] && (e.enableVertexAttribArray(n), (a[n] = 1)),
-                          s[n] !== i &&
-                            ((r.isWebGL2 ? e : t.get('ANGLE_instanced_arrays'))[
-                              r.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE'
-                            ](n, i),
-                            (s[n] = i))
-                      }
-                      function w() {
-                        for (
-                          var t = c.newAttributes, n = c.enabledAttributes, r = 0, i = n.length;
-                          r < i;
-                          r++
-                        )
-                          n[r] !== t[r] && (e.disableVertexAttribArray(r), (n[r] = 0))
-                      }
-                      function x(t, n, i, o, a, s) {
-                        !0 !== r.isWebGL2 || (5124 !== i && 5125 !== i)
-                          ? e.vertexAttribPointer(t, n, i, o, a, s)
-                          : e.vertexAttribIPointer(t, n, i, a, s)
-                      }
-                      function E(i, o, a, s) {
-                        if (
-                          !1 !== r.isWebGL2 ||
-                          (!i.isInstancedMesh && !s.isInstancedBufferGeometry) ||
-                          null !== t.get('ANGLE_instanced_arrays')
-                        ) {
-                          y()
-                          var l = s.attributes,
-                            c = a.getAttributes(),
-                            u = o.defaultAttributeValues
-                          for (var h in c) {
-                            var d = c[h]
-                            if (d >= 0) {
-                              var p = l[h]
-                              if (void 0 !== p) {
-                                var f = p.normalized,
-                                  m = p.itemSize,
-                                  v = n.get(p)
-                                if (void 0 === v) continue
-                                var g = v.buffer,
-                                  E = v.type,
-                                  M = v.bytesPerElement
-                                if (p.isInterleavedBufferAttribute) {
-                                  var _ = p.data,
-                                    T = _.stride,
-                                    S = p.offset
-                                  _ && _.isInstancedInterleavedBuffer
-                                    ? (A(d, _.meshPerAttribute),
-                                      void 0 === s._maxInstanceCount &&
-                                        (s._maxInstanceCount = _.meshPerAttribute * _.count))
-                                    : b(d),
-                                    e.bindBuffer(34962, g),
-                                    x(d, m, E, f, T * M, S * M)
-                                } else
-                                  p.isInstancedBufferAttribute
-                                    ? (A(d, p.meshPerAttribute),
-                                      void 0 === s._maxInstanceCount &&
-                                        (s._maxInstanceCount = p.meshPerAttribute * p.count))
-                                    : b(d),
-                                    e.bindBuffer(34962, g),
-                                    x(d, m, E, f, 0, 0)
-                              } else if ('instanceMatrix' === h) {
-                                var C = n.get(i.instanceMatrix)
-                                if (void 0 === C) continue
-                                var L = C.buffer,
-                                  R = C.type
-                                A(d + 0, 1),
-                                  A(d + 1, 1),
-                                  A(d + 2, 1),
-                                  A(d + 3, 1),
-                                  e.bindBuffer(34962, L),
-                                  e.vertexAttribPointer(d + 0, 4, R, !1, 64, 0),
-                                  e.vertexAttribPointer(d + 1, 4, R, !1, 64, 16),
-                                  e.vertexAttribPointer(d + 2, 4, R, !1, 64, 32),
-                                  e.vertexAttribPointer(d + 3, 4, R, !1, 64, 48)
-                              } else if ('instanceColor' === h) {
-                                var P = n.get(i.instanceColor)
-                                if (void 0 === P) continue
-                                var D = P.buffer,
-                                  O = P.type
-                                A(d, 1),
-                                  e.bindBuffer(34962, D),
-                                  e.vertexAttribPointer(d, 3, O, !1, 12, 0)
-                              } else if (void 0 !== u) {
-                                var I = u[h]
-                                if (void 0 !== I)
-                                  switch (I.length) {
-                                    case 2:
-                                      e.vertexAttrib2fv(d, I)
-                                      break
-                                    case 3:
-                                      e.vertexAttrib3fv(d, I)
-                                      break
-                                    case 4:
-                                      e.vertexAttrib4fv(d, I)
-                                      break
-                                    default:
-                                      e.vertexAttrib1fv(d, I)
-                                  }
-                              }
-                            }
-                          }
-                          w()
-                        }
-                      }
-                      function M() {
-                        for (var e in (S(), s)) {
-                          var t = s[e]
-                          for (var n in t) {
-                            var r = t[n]
-                            for (var i in r) p(r[i].object), delete r[i]
-                            delete t[n]
-                          }
-                          delete s[e]
-                        }
-                      }
-                      function _(e) {
-                        if (void 0 !== s[e.id]) {
-                          var t = s[e.id]
-                          for (var n in t) {
-                            var r = t[n]
-                            for (var i in r) p(r[i].object), delete r[i]
-                            delete t[n]
-                          }
-                          delete s[e.id]
-                        }
-                      }
-                      function T(e) {
-                        for (var t in s) {
-                          var n = s[t]
-                          if (void 0 !== n[e.id]) {
-                            var r = n[e.id]
-                            for (var i in r) p(r[i].object), delete r[i]
-                            delete n[e.id]
-                          }
-                        }
-                      }
-                      function S() {
-                        C(), c !== l && d((c = l).object)
-                      }
-                      function C() {
-                        ;(l.geometry = null), (l.program = null), (l.wireframe = !1)
-                      }
-                      return {
-                        setup: u,
-                        reset: S,
-                        resetDefaultState: C,
-                        dispose: M,
-                        releaseStatesOfGeometry: _,
-                        releaseStatesOfProgram: T,
-                        initAttributes: y,
-                        enableAttribute: b,
-                        disableUnusedAttributes: w,
-                      }
-                    }
-                    function Ko(e, t, n, r) {
-                      var i,
-                        o = r.isWebGL2
-                      function a(e) {
-                        i = e
-                      }
-                      function s(t, r) {
-                        e.drawArrays(i, t, r), n.update(r, i, 1)
-                      }
-                      function l(r, a, s) {
-                        if (0 !== s) {
-                          var l, c
-                          if (o) (l = e), (c = 'drawArraysInstanced')
-                          else if (
-                            ((c = 'drawArraysInstancedANGLE'),
-                            null === (l = t.get('ANGLE_instanced_arrays')))
-                          )
-                            return void console.error(
-                              'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.',
-                            )
-                          l[c](i, r, a, s), n.update(a, i, s)
-                        }
-                      }
-                      ;(this.setMode = a), (this.render = s), (this.renderInstances = l)
-                    }
-                    function Jo(e, t, n) {
-                      var r
-                      function i() {
-                        if (void 0 !== r) return r
-                        var n = t.get('EXT_texture_filter_anisotropic')
-                        return (r =
-                          null !== n ? e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0)
-                      }
-                      function o(t) {
-                        if ('highp' === t) {
-                          if (
-                            e.getShaderPrecisionFormat(35633, 36338).precision > 0 &&
-                            e.getShaderPrecisionFormat(35632, 36338).precision > 0
-                          )
-                            return 'highp'
-                          t = 'mediump'
-                        }
-                        return 'mediump' === t &&
-                          e.getShaderPrecisionFormat(35633, 36337).precision > 0 &&
-                          e.getShaderPrecisionFormat(35632, 36337).precision > 0
-                          ? 'mediump'
-                          : 'lowp'
-                      }
-                      var a =
-                          ('undefined' !== typeof WebGL2RenderingContext &&
-                            e instanceof WebGL2RenderingContext) ||
-                          ('undefined' !== typeof WebGL2ComputeRenderingContext &&
-                            e instanceof WebGL2ComputeRenderingContext),
-                        s = void 0 !== n.precision ? n.precision : 'highp',
-                        l = o(s)
-                      l !== s &&
-                        (console.warn(
-                          'THREE.WebGLRenderer:',
-                          s,
-                          'not supported, using',
-                          l,
-                          'instead.',
-                        ),
-                        (s = l))
-                      var c = !0 === n.logarithmicDepthBuffer,
-                        u = e.getParameter(34930),
-                        h = e.getParameter(35660),
-                        d = e.getParameter(3379),
-                        p = e.getParameter(34076),
-                        f = e.getParameter(34921),
-                        m = e.getParameter(36347),
-                        v = e.getParameter(36348),
-                        g = e.getParameter(36349),
-                        y = h > 0,
-                        b = a || !!t.get('OES_texture_float')
-                      return {
-                        isWebGL2: a,
-                        getMaxAnisotropy: i,
-                        getMaxPrecision: o,
-                        precision: s,
-                        logarithmicDepthBuffer: c,
-                        maxTextures: u,
-                        maxVertexTextures: h,
-                        maxTextureSize: d,
-                        maxCubemapSize: p,
-                        maxAttributes: f,
-                        maxVertexUniforms: m,
-                        maxVaryings: v,
-                        maxFragmentUniforms: g,
-                        vertexTextures: y,
-                        floatFragmentTextures: b,
-                        floatVertexTextures: y && b,
-                        maxSamples: a ? e.getParameter(36183) : 0,
-                      }
-                    }
-                    function $o(e) {
-                      var t = this,
-                        n = null,
-                        r = 0,
-                        i = !1,
-                        o = !1,
-                        a = new hi(),
-                        s = new $n(),
-                        l = { value: null, needsUpdate: !1 }
-                      function c() {
-                        l.value !== n && ((l.value = n), (l.needsUpdate = r > 0)),
-                          (t.numPlanes = r),
-                          (t.numIntersection = 0)
-                      }
-                      function u(e, n, r, i) {
-                        var o = null !== e ? e.length : 0,
-                          c = null
-                        if (0 !== o) {
-                          if (((c = l.value), !0 !== i || null === c)) {
-                            var u = r + 4 * o,
-                              h = n.matrixWorldInverse
-                            s.getNormalMatrix(h),
-                              (null === c || c.length < u) && (c = new Float32Array(u))
-                            for (var d = 0, p = r; d !== o; ++d, p += 4)
-                              a.copy(e[d]).applyMatrix4(h, s),
-                                a.normal.toArray(c, p),
-                                (c[p + 3] = a.constant)
-                          }
-                          ;(l.value = c), (l.needsUpdate = !0)
-                        }
-                        return (t.numPlanes = o), (t.numIntersection = 0), c
-                      }
-                      ;(this.uniform = l),
-                        (this.numPlanes = 0),
-                        (this.numIntersection = 0),
-                        (this.init = function (e, t, o) {
-                          var a = 0 !== e.length || t || 0 !== r || i
-                          return (i = t), (n = u(e, o, 0)), (r = e.length), a
-                        }),
-                        (this.beginShadows = function () {
-                          ;(o = !0), u(null)
-                        }),
-                        (this.endShadows = function () {
-                          ;(o = !1), c()
-                        }),
-                        (this.setState = function (t, a, s) {
-                          var h = t.clippingPlanes,
-                            d = t.clipIntersection,
-                            p = t.clipShadows,
-                            f = e.get(t)
-                          if (!i || null === h || 0 === h.length || (o && !p)) o ? u(null) : c()
-                          else {
-                            var m = o ? 0 : r,
-                              v = 4 * m,
-                              g = f.clippingState || null
-                            ;(l.value = g), (g = u(h, a, v, s))
-                            for (var y = 0; y !== v; ++y) g[y] = n[y]
-                            ;(f.clippingState = g),
-                              (this.numIntersection = d ? this.numPlanes : 0),
-                              (this.numPlanes += m)
-                          }
-                        })
-                    }
-                    function ea(e) {
-                      var t = new WeakMap()
-                      function n(e, t) {
-                        return t === le ? (e.mapping = ae) : t === ce && (e.mapping = se), e
-                      }
-                      function r(r) {
-                        if (r && r.isTexture) {
-                          var o = r.mapping
-                          if (o === le || o === ce) {
-                            if (t.has(r)) return n(t.get(r).texture, r.mapping)
-                            var a = r.image
-                            if (a && a.height > 0) {
-                              var s = e.getRenderList(),
-                                l = e.getRenderTarget(),
-                                c = new No(a.height / 2)
-                              return (
-                                c.fromEquirectangularTexture(e, r),
-                                t.set(r, c),
-                                e.setRenderTarget(l),
-                                e.setRenderList(s),
-                                r.addEventListener('dispose', i),
-                                n(c.texture, r.mapping)
-                              )
-                            }
-                            return null
-                          }
-                        }
-                        return r
-                      }
-                      function i(e) {
-                        var n = e.target
-                        n.removeEventListener('dispose', i)
-                        var r = t.get(n)
-                        void 0 !== r && (t.delete(n), r.dispose())
-                      }
-                      function o() {
-                        t = new WeakMap()
-                      }
-                      return { get: r, dispose: o }
-                    }
-                    function ta(e) {
-                      var t = {}
-                      function n(n) {
-                        if (void 0 !== t[n]) return t[n]
-                        var r
-                        switch (n) {
-                          case 'WEBGL_depth_texture':
-                            r =
-                              e.getExtension('WEBGL_depth_texture') ||
-                              e.getExtension('MOZ_WEBGL_depth_texture') ||
-                              e.getExtension('WEBKIT_WEBGL_depth_texture')
-                            break
-                          case 'EXT_texture_filter_anisotropic':
-                            r =
-                              e.getExtension('EXT_texture_filter_anisotropic') ||
-                              e.getExtension('MOZ_EXT_texture_filter_anisotropic') ||
-                              e.getExtension('WEBKIT_EXT_texture_filter_anisotropic')
-                            break
-                          case 'WEBGL_compressed_texture_s3tc':
-                            r =
-                              e.getExtension('WEBGL_compressed_texture_s3tc') ||
-                              e.getExtension('MOZ_WEBGL_compressed_texture_s3tc') ||
-                              e.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc')
-                            break
-                          case 'WEBGL_compressed_texture_pvrtc':
-                            r =
-                              e.getExtension('WEBGL_compressed_texture_pvrtc') ||
-                              e.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc')
-                            break
-                          default:
-                            r = e.getExtension(n)
-                        }
-                        return (t[n] = r), r
-                      }
-                      return {
-                        has: function (e) {
-                          return null !== n(e)
-                        },
-                        init: function (e) {
-                          e.isWebGL2
-                            ? n('EXT_color_buffer_float')
-                            : (n('WEBGL_depth_texture'),
-                              n('OES_texture_float'),
-                              n('OES_texture_half_float'),
-                              n('OES_texture_half_float_linear'),
-                              n('OES_standard_derivatives'),
-                              n('OES_element_index_uint'),
-                              n('OES_vertex_array_object'),
-                              n('ANGLE_instanced_arrays')),
-                            n('OES_texture_float_linear'),
-                            n('EXT_color_buffer_half_float')
-                        },
-                        get: function (e) {
-                          var t = n(e)
-                          return (
-                            null === t &&
-                              console.warn(
-                                'THREE.WebGLRenderer: ' + e + ' extension not supported.',
-                              ),
-                            t
-                          )
-                        },
-                      }
-                    }
-                    function na(e, t, n, r) {
-                      var i = {},
-                        o = new WeakMap()
-                      function a(e) {
-                        var s = e.target
-                        for (var l in (null !== s.index && t.remove(s.index), s.attributes))
-                          t.remove(s.attributes[l])
-                        s.removeEventListener('dispose', a), delete i[s.id]
-                        var c = o.get(s)
-                        c && (t.remove(c), o.delete(s)),
-                          r.releaseStatesOfGeometry(s),
-                          !0 === s.isInstancedBufferGeometry && delete s._maxInstanceCount,
-                          n.memory.geometries--
-                      }
-                      function s(e, t) {
-                        return (
-                          !0 === i[t.id] ||
-                            (t.addEventListener('dispose', a),
-                            (i[t.id] = !0),
-                            n.memory.geometries++),
-                          t
-                        )
-                      }
-                      function l(e) {
-                        var n = e.attributes
-                        for (var r in n) t.update(n[r], 34962)
-                        var i = e.morphAttributes
-                        for (var o in i)
-                          for (var a = i[o], s = 0, l = a.length; s < l; s++) t.update(a[s], 34962)
-                      }
-                      function c(e) {
-                        var n = [],
-                          r = e.index,
-                          i = e.attributes.position,
-                          a = 0
-                        if (null !== r) {
-                          var s = r.array
-                          a = r.version
-                          for (var l = 0, c = s.length; l < c; l += 3) {
-                            var u = s[l + 0],
-                              h = s[l + 1],
-                              d = s[l + 2]
-                            n.push(u, h, h, d, d, u)
-                          }
-                        } else {
-                          var p = i.array
-                          a = i.version
-                          for (var f = 0, m = p.length / 3 - 1; f < m; f += 3) {
-                            var v = f + 0,
-                              g = f + 1,
-                              y = f + 2
-                            n.push(v, g, g, y, y, v)
-                          }
-                        }
-                        var b = new (Xi(n) > 65535 ? ji : Gi)(n, 1)
-                        b.version = a
-                        var A = o.get(e)
-                        A && t.remove(A), o.set(e, b)
-                      }
-                      function u(e) {
-                        var t = o.get(e)
-                        if (t) {
-                          var n = e.index
-                          null !== n && t.version < n.version && c(e)
-                        } else c(e)
-                        return o.get(e)
-                      }
-                      return { get: s, update: l, getWireframeAttribute: u }
-                    }
-                    function ra(e, t, n, r) {
-                      var i,
-                        o,
-                        a,
-                        s = r.isWebGL2
-                      function l(e) {
-                        i = e
-                      }
-                      function c(e) {
-                        ;(o = e.type), (a = e.bytesPerElement)
-                      }
-                      function u(t, r) {
-                        e.drawElements(i, r, o, t * a), n.update(r, i, 1)
-                      }
-                      function h(r, l, c) {
-                        if (0 !== c) {
-                          var u, h
-                          if (s) (u = e), (h = 'drawElementsInstanced')
-                          else if (
-                            ((h = 'drawElementsInstancedANGLE'),
-                            null === (u = t.get('ANGLE_instanced_arrays')))
-                          )
-                            return void console.error(
-                              'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.',
-                            )
-                          u[h](i, l, o, r * a, c), n.update(l, i, c)
-                        }
-                      }
-                      ;(this.setMode = l),
-                        (this.setIndex = c),
-                        (this.render = u),
-                        (this.renderInstances = h)
-                    }
-                    function ia(e) {
-                      var t = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0 }
-                      function n(e, n, r) {
-                        switch ((t.calls++, n)) {
-                          case 4:
-                            t.triangles += r * (e / 3)
-                            break
-                          case 1:
-                            t.lines += r * (e / 2)
-                            break
-                          case 3:
-                            t.lines += r * (e - 1)
-                            break
-                          case 2:
-                            t.lines += r * e
-                            break
-                          case 0:
-                            t.points += r * e
-                            break
-                          default:
-                            console.error('THREE.WebGLInfo: Unknown draw mode:', n)
-                        }
-                      }
-                      function r() {
-                        t.frame++, (t.calls = 0), (t.triangles = 0), (t.points = 0), (t.lines = 0)
-                      }
-                      return {
-                        memory: { geometries: 0, textures: 0 },
-                        render: t,
-                        programs: null,
-                        autoReset: !0,
-                        reset: r,
-                        update: n,
-                      }
-                    }
-                    function oa(e, t) {
-                      return e[0] - t[0]
-                    }
-                    function aa(e, t) {
-                      return Math.abs(t[1]) - Math.abs(e[1])
-                    }
-                    function sa(e) {
-                      for (var t = {}, n = new Float32Array(8), r = [], i = 0; i < 8; i++)
-                        r[i] = [i, 0]
-                      function o(i, o, a, s) {
-                        var l = i.morphTargetInfluences,
-                          c = void 0 === l ? 0 : l.length,
-                          u = t[o.id]
-                        if (void 0 === u) {
-                          u = []
-                          for (var h = 0; h < c; h++) u[h] = [h, 0]
-                          t[o.id] = u
-                        }
-                        for (var d = 0; d < c; d++) {
-                          var p = u[d]
-                          ;(p[0] = d), (p[1] = l[d])
-                        }
-                        u.sort(aa)
-                        for (var f = 0; f < 8; f++)
-                          f < c && u[f][1]
-                            ? ((r[f][0] = u[f][0]), (r[f][1] = u[f][1]))
-                            : ((r[f][0] = Number.MAX_SAFE_INTEGER), (r[f][1] = 0))
-                        r.sort(oa)
-                        for (
-                          var m = a.morphTargets && o.morphAttributes.position,
-                            v = a.morphNormals && o.morphAttributes.normal,
-                            g = 0,
-                            y = 0;
-                          y < 8;
-                          y++
-                        ) {
-                          var b = r[y],
-                            A = b[0],
-                            w = b[1]
-                          A !== Number.MAX_SAFE_INTEGER && w
-                            ? (m &&
-                                o.getAttribute('morphTarget' + y) !== m[A] &&
-                                o.setAttribute('morphTarget' + y, m[A]),
-                              v &&
-                                o.getAttribute('morphNormal' + y) !== v[A] &&
-                                o.setAttribute('morphNormal' + y, v[A]),
-                              (n[y] = w),
-                              (g += w))
-                            : (m &&
-                                !0 === o.hasAttribute('morphTarget' + y) &&
-                                o.deleteAttribute('morphTarget' + y),
-                              v &&
-                                !0 === o.hasAttribute('morphNormal' + y) &&
-                                o.deleteAttribute('morphNormal' + y),
-                              (n[y] = 0))
-                        }
-                        var x = o.morphTargetsRelative ? 1 : 1 - g
-                        s.getUniforms().setValue(e, 'morphTargetBaseInfluence', x),
-                          s.getUniforms().setValue(e, 'morphTargetInfluences', n)
-                      }
-                      return { update: o }
-                    }
-                    function la(e, t, n, r) {
-                      var i = new WeakMap()
-                      function o(e) {
-                        var o = r.render.frame,
-                          a = e.geometry,
-                          l = t.get(e, a)
-                        return (
-                          i.get(l) !== o && (t.update(l), i.set(l, o)),
-                          e.isInstancedMesh &&
-                            (!1 === e.hasEventListener('dispose', s) &&
-                              e.addEventListener('dispose', s),
-                            n.update(e.instanceMatrix, 34962),
-                            null !== e.instanceColor && n.update(e.instanceColor, 34962)),
-                          l
-                        )
-                      }
-                      function a() {
-                        i = new WeakMap()
-                      }
-                      function s(e) {
-                        var t = e.target
-                        t.removeEventListener('dispose', s),
-                          n.remove(t.instanceMatrix),
-                          null !== t.instanceColor && n.remove(t.instanceColor)
-                      }
-                      return { update: o, dispose: a }
-                    }
-                    function ca(e, t, n, r) {
-                      void 0 === e && (e = null),
-                        void 0 === t && (t = 1),
-                        void 0 === n && (n = 1),
-                        void 0 === r && (r = 1),
-                        nr.call(this, null),
-                        (this.image = { data: e, width: t, height: n, depth: r }),
-                        (this.magFilter = me),
-                        (this.minFilter = me),
-                        (this.wrapR = pe),
-                        (this.generateMipmaps = !1),
-                        (this.flipY = !1),
-                        (this.needsUpdate = !0)
-                    }
-                    function ua(e, t, n, r) {
-                      void 0 === e && (e = null),
-                        void 0 === t && (t = 1),
-                        void 0 === n && (n = 1),
-                        void 0 === r && (r = 1),
-                        nr.call(this, null),
-                        (this.image = { data: e, width: t, height: n, depth: r }),
-                        (this.magFilter = me),
-                        (this.minFilter = me),
-                        (this.wrapR = pe),
-                        (this.generateMipmaps = !1),
-                        (this.flipY = !1),
-                        (this.needsUpdate = !0)
-                    }
-                    ;(Yo.physical = {
-                      uniforms: So([
-                        Yo.standard.uniforms,
-                        {
-                          clearcoat: { value: 0 },
-                          clearcoatMap: { value: null },
-                          clearcoatRoughness: { value: 0 },
-                          clearcoatRoughnessMap: { value: null },
-                          clearcoatNormalScale: { value: new Jn(1, 1) },
-                          clearcoatNormalMap: { value: null },
-                          sheen: { value: new Li(0) },
-                          transmission: { value: 0 },
-                          transmissionMap: { value: null },
-                        },
-                      ]),
-                      vertexShader: qo.meshphysical_vert,
-                      fragmentShader: qo.meshphysical_frag,
-                    }),
-                      (ca.prototype = Object.create(nr.prototype)),
-                      (ca.prototype.constructor = ca),
-                      (ca.prototype.isDataTexture2DArray = !0),
-                      (ua.prototype = Object.create(nr.prototype)),
-                      (ua.prototype.constructor = ua),
-                      (ua.prototype.isDataTexture3D = !0)
-                    var ha = new nr(),
-                      da = new ca(),
-                      pa = new ua(),
-                      fa = new ko(),
-                      ma = [],
-                      va = [],
-                      ga = new Float32Array(16),
-                      ya = new Float32Array(9),
-                      ba = new Float32Array(4)
-                    function Aa(e, t, n) {
-                      var r = e[0]
-                      if (r <= 0 || r > 0) return e
-                      var i = t * n,
-                        o = ma[i]
-                      if ((void 0 === o && ((o = new Float32Array(i)), (ma[i] = o)), 0 !== t)) {
-                        r.toArray(o, 0)
-                        for (var a = 1, s = 0; a !== t; ++a) (s += n), e[a].toArray(o, s)
-                      }
-                      return o
-                    }
-                    function wa(e, t) {
-                      if (e.length !== t.length) return !1
-                      for (var n = 0, r = e.length; n < r; n++) if (e[n] !== t[n]) return !1
-                      return !0
-                    }
-                    function xa(e, t) {
-                      for (var n = 0, r = t.length; n < r; n++) e[n] = t[n]
-                    }
-                    function Ea(e, t) {
-                      var n = va[t]
-                      void 0 === n && ((n = new Int32Array(t)), (va[t] = n))
-                      for (var r = 0; r !== t; ++r) n[r] = e.allocateTextureUnit()
-                      return n
-                    }
-                    function Ma(e, t) {
-                      var n = this.cache
-                      n[0] !== t && (e.uniform1f(this.addr, t), (n[0] = t))
-                    }
-                    function _a(e, t) {
-                      var n = this.cache
-                      if (void 0 !== t.x)
-                        (n[0] === t.x && n[1] === t.y) ||
-                          (e.uniform2f(this.addr, t.x, t.y), (n[0] = t.x), (n[1] = t.y))
-                      else {
-                        if (wa(n, t)) return
-                        e.uniform2fv(this.addr, t), xa(n, t)
-                      }
-                    }
-                    function Ta(e, t) {
-                      var n = this.cache
-                      if (void 0 !== t.x)
-                        (n[0] === t.x && n[1] === t.y && n[2] === t.z) ||
-                          (e.uniform3f(this.addr, t.x, t.y, t.z),
-                          (n[0] = t.x),
-                          (n[1] = t.y),
-                          (n[2] = t.z))
-                      else if (void 0 !== t.r)
-                        (n[0] === t.r && n[1] === t.g && n[2] === t.b) ||
-                          (e.uniform3f(this.addr, t.r, t.g, t.b),
-                          (n[0] = t.r),
-                          (n[1] = t.g),
-                          (n[2] = t.b))
-                      else {
-                        if (wa(n, t)) return
-                        e.uniform3fv(this.addr, t), xa(n, t)
-                      }
-                    }
-                    function Sa(e, t) {
-                      var n = this.cache
-                      if (void 0 !== t.x)
-                        (n[0] === t.x && n[1] === t.y && n[2] === t.z && n[3] === t.w) ||
-                          (e.uniform4f(this.addr, t.x, t.y, t.z, t.w),
-                          (n[0] = t.x),
-                          (n[1] = t.y),
-                          (n[2] = t.z),
-                          (n[3] = t.w))
-                      else {
-                        if (wa(n, t)) return
-                        e.uniform4fv(this.addr, t), xa(n, t)
-                      }
-                    }
-                    function Ca(e, t) {
-                      var n = this.cache,
-                        r = t.elements
-                      if (void 0 === r) {
-                        if (wa(n, t)) return
-                        e.uniformMatrix2fv(this.addr, !1, t), xa(n, t)
-                      } else {
-                        if (wa(n, r)) return
-                        ba.set(r), e.uniformMatrix2fv(this.addr, !1, ba), xa(n, r)
-                      }
-                    }
-                    function La(e, t) {
-                      var n = this.cache,
-                        r = t.elements
-                      if (void 0 === r) {
-                        if (wa(n, t)) return
-                        e.uniformMatrix3fv(this.addr, !1, t), xa(n, t)
-                      } else {
-                        if (wa(n, r)) return
-                        ya.set(r), e.uniformMatrix3fv(this.addr, !1, ya), xa(n, r)
-                      }
-                    }
-                    function Ra(e, t) {
-                      var n = this.cache,
-                        r = t.elements
-                      if (void 0 === r) {
-                        if (wa(n, t)) return
-                        e.uniformMatrix4fv(this.addr, !1, t), xa(n, t)
-                      } else {
-                        if (wa(n, r)) return
-                        ga.set(r), e.uniformMatrix4fv(this.addr, !1, ga), xa(n, r)
-                      }
-                    }
-                    function Pa(e, t, n) {
-                      var r = this.cache,
-                        i = n.allocateTextureUnit()
-                      r[0] !== i && (e.uniform1i(this.addr, i), (r[0] = i)),
-                        n.safeSetTexture2D(t || ha, i)
-                    }
-                    function Da(e, t, n) {
-                      var r = this.cache,
-                        i = n.allocateTextureUnit()
-                      r[0] !== i && (e.uniform1i(this.addr, i), (r[0] = i)),
-                        n.setTexture2DArray(t || da, i)
-                    }
-                    function Oa(e, t, n) {
-                      var r = this.cache,
-                        i = n.allocateTextureUnit()
-                      r[0] !== i && (e.uniform1i(this.addr, i), (r[0] = i)),
-                        n.setTexture3D(t || pa, i)
-                    }
-                    function Ia(e, t, n) {
-                      var r = this.cache,
-                        i = n.allocateTextureUnit()
-                      r[0] !== i && (e.uniform1i(this.addr, i), (r[0] = i)),
-                        n.safeSetTextureCube(t || fa, i)
-                    }
-                    function Ba(e, t) {
-                      var n = this.cache
-                      n[0] !== t && (e.uniform1i(this.addr, t), (n[0] = t))
-                    }
-                    function Fa(e, t) {
-                      var n = this.cache
-                      wa(n, t) || (e.uniform2iv(this.addr, t), xa(n, t))
-                    }
-                    function ka(e, t) {
-                      var n = this.cache
-                      wa(n, t) || (e.uniform3iv(this.addr, t), xa(n, t))
-                    }
-                    function Na(e, t) {
-                      var n = this.cache
-                      wa(n, t) || (e.uniform4iv(this.addr, t), xa(n, t))
-                    }
-                    function Ua(e, t) {
-                      var n = this.cache
-                      n[0] !== t && (e.uniform1ui(this.addr, t), (n[0] = t))
-                    }
-                    function Ha(e) {
-                      switch (e) {
-                        case 5126:
-                          return Ma
-                        case 35664:
-                          return _a
-                        case 35665:
-                          return Ta
-                        case 35666:
-                          return Sa
-                        case 35674:
-                          return Ca
-                        case 35675:
-                          return La
-                        case 35676:
-                          return Ra
-                        case 5124:
-                        case 35670:
-                          return Ba
-                        case 35667:
-                        case 35671:
-                          return Fa
-                        case 35668:
-                        case 35672:
-                          return ka
-                        case 35669:
-                        case 35673:
-                          return Na
-                        case 5125:
-                          return Ua
-                        case 35678:
-                        case 36198:
-                        case 36298:
-                        case 36306:
-                        case 35682:
-                          return Pa
-                        case 35679:
-                        case 36299:
-                        case 36307:
-                          return Oa
-                        case 35680:
-                        case 36300:
-                        case 36308:
-                        case 36293:
-                          return Ia
-                        case 36289:
-                        case 36303:
-                        case 36311:
-                        case 36292:
-                          return Da
-                      }
-                    }
-                    function Ga(e, t) {
-                      e.uniform1fv(this.addr, t)
-                    }
-                    function za(e, t) {
-                      e.uniform1iv(this.addr, t)
-                    }
-                    function ja(e, t) {
-                      e.uniform2iv(this.addr, t)
-                    }
-                    function Va(e, t) {
-                      e.uniform3iv(this.addr, t)
-                    }
-                    function Wa(e, t) {
-                      e.uniform4iv(this.addr, t)
-                    }
-                    function qa(e, t) {
-                      var n = Aa(t, this.size, 2)
-                      e.uniform2fv(this.addr, n)
-                    }
-                    function Xa(e, t) {
-                      var n = Aa(t, this.size, 3)
-                      e.uniform3fv(this.addr, n)
-                    }
-                    function Ya(e, t) {
-                      var n = Aa(t, this.size, 4)
-                      e.uniform4fv(this.addr, n)
-                    }
-                    function Qa(e, t) {
-                      var n = Aa(t, this.size, 4)
-                      e.uniformMatrix2fv(this.addr, !1, n)
-                    }
-                    function Za(e, t) {
-                      var n = Aa(t, this.size, 9)
-                      e.uniformMatrix3fv(this.addr, !1, n)
-                    }
-                    function Ka(e, t) {
-                      var n = Aa(t, this.size, 16)
-                      e.uniformMatrix4fv(this.addr, !1, n)
-                    }
-                    function Ja(e, t, n) {
-                      var r = t.length,
-                        i = Ea(n, r)
-                      e.uniform1iv(this.addr, i)
-                      for (var o = 0; o !== r; ++o) n.safeSetTexture2D(t[o] || ha, i[o])
-                    }
-                    function $a(e, t, n) {
-                      var r = t.length,
-                        i = Ea(n, r)
-                      e.uniform1iv(this.addr, i)
-                      for (var o = 0; o !== r; ++o) n.safeSetTextureCube(t[o] || fa, i[o])
-                    }
-                    function es(e) {
-                      switch (e) {
-                        case 5126:
-                          return Ga
-                        case 35664:
-                          return qa
-                        case 35665:
-                          return Xa
-                        case 35666:
-                          return Ya
-                        case 35674:
-                          return Qa
-                        case 35675:
-                          return Za
-                        case 35676:
-                          return Ka
-                        case 5124:
-                        case 35670:
-                          return za
-                        case 35667:
-                        case 35671:
-                          return ja
-                        case 35668:
-                        case 35672:
-                          return Va
-                        case 35669:
-                        case 35673:
-                          return Wa
-                        case 35678:
-                        case 36198:
-                        case 36298:
-                        case 36306:
-                        case 35682:
-                          return Ja
-                        case 35680:
-                        case 36300:
-                        case 36308:
-                        case 36293:
-                          return $a
-                      }
-                    }
-                    function ts(e, t, n) {
-                      ;(this.id = e),
-                        (this.addr = n),
-                        (this.cache = []),
-                        (this.setValue = Ha(t.type))
-                    }
-                    function ns(e, t, n) {
-                      ;(this.id = e),
-                        (this.addr = n),
-                        (this.cache = []),
-                        (this.size = t.size),
-                        (this.setValue = es(t.type))
-                    }
-                    function rs(e) {
-                      ;(this.id = e), (this.seq = []), (this.map = {})
-                    }
-                    ;(ns.prototype.updateCache = function (e) {
-                      var t = this.cache
-                      e instanceof Float32Array &&
-                        t.length !== e.length &&
-                        (this.cache = new Float32Array(e.length)),
-                        xa(t, e)
-                    }),
-                      (rs.prototype.setValue = function (e, t, n) {
-                        for (var r = this.seq, i = 0, o = r.length; i !== o; ++i) {
-                          var a = r[i]
-                          a.setValue(e, t[a.id], n)
-                        }
-                      })
-                    var is = /(\w+)(\])?(\[|\.)?/g
-                    function os(e, t) {
-                      e.seq.push(t), (e.map[t.id] = t)
-                    }
-                    function as(e, t, n) {
-                      var r = e.name,
-                        i = r.length
-                      for (is.lastIndex = 0; ; ) {
-                        var o = is.exec(r),
-                          a = is.lastIndex,
-                          s = o[1],
-                          l = ']' === o[2],
-                          c = o[3]
-                        if ((l && (s |= 0), void 0 === c || ('[' === c && a + 2 === i))) {
-                          os(n, void 0 === c ? new ts(s, e, t) : new ns(s, e, t))
-                          break
-                        }
-                        var u = n.map[s]
-                        void 0 === u && os(n, (u = new rs(s))), (n = u)
-                      }
-                    }
-                    function ss(e, t) {
-                      ;(this.seq = []), (this.map = {})
-                      for (var n = e.getProgramParameter(t, 35718), r = 0; r < n; ++r) {
-                        var i = e.getActiveUniform(t, r)
-                        as(i, e.getUniformLocation(t, i.name), this)
-                      }
-                    }
-                    function ls(e, t, n) {
-                      var r = e.createShader(t)
-                      return e.shaderSource(r, n), e.compileShader(r), r
-                    }
-                    ;(ss.prototype.setValue = function (e, t, n, r) {
-                      var i = this.map[t]
-                      void 0 !== i && i.setValue(e, n, r)
-                    }),
-                      (ss.prototype.setOptional = function (e, t, n) {
-                        var r = t[n]
-                        void 0 !== r && this.setValue(e, n, r)
-                      }),
-                      (ss.upload = function (e, t, n, r) {
-                        for (var i = 0, o = t.length; i !== o; ++i) {
-                          var a = t[i],
-                            s = n[a.id]
-                          !1 !== s.needsUpdate && a.setValue(e, s.value, r)
-                        }
-                      }),
-                      (ss.seqWithValue = function (e, t) {
-                        for (var n = [], r = 0, i = e.length; r !== i; ++r) {
-                          var o = e[r]
-                          o.id in t && n.push(o)
-                        }
-                        return n
-                      })
-                    var cs = 0
-                    function us(e) {
-                      for (var t = e.split('\n'), n = 0; n < t.length; n++)
-                        t[n] = n + 1 + ': ' + t[n]
-                      return t.join('\n')
-                    }
-                    function hs(e) {
-                      switch (e) {
-                        case Kt:
-                          return ['Linear', '( value )']
-                        case Jt:
-                          return ['sRGB', '( value )']
-                        case en:
-                          return ['RGBE', '( value )']
-                        case nn:
-                          return ['RGBM', '( value, 7.0 )']
-                        case rn:
-                          return ['RGBM', '( value, 16.0 )']
-                        case on:
-                          return ['RGBD', '( value, 256.0 )']
-                        case $t:
-                          return ['Gamma', '( value, float( GAMMA_FACTOR ) )']
-                        case tn:
-                          return ['LogLuv', '( value )']
-                        default:
-                          return (
-                            console.warn('THREE.WebGLProgram: Unsupported encoding:', e),
-                            ['Linear', '( value )']
-                          )
-                      }
-                    }
-                    function ds(e, t, n) {
-                      var r = e.getShaderParameter(t, 35713),
-                        i = e.getShaderInfoLog(t).trim()
-                      return r && '' === i
-                        ? ''
-                        : 'THREE.WebGLShader: gl.getShaderInfoLog() ' +
-                            n +
-                            '\n' +
-                            i +
-                            us(e.getShaderSource(t))
-                    }
-                    function ps(e, t) {
-                      var n = hs(t)
-                      return (
-                        'vec4 ' + e + '( vec4 value ) { return ' + n[0] + 'ToLinear' + n[1] + '; }'
-                      )
-                    }
-                    function fs(e, t) {
-                      var n = hs(t)
-                      return 'vec4 ' + e + '( vec4 value ) { return LinearTo' + n[0] + n[1] + '; }'
-                    }
-                    function ms(e, t) {
-                      var n
-                      switch (t) {
-                        case ee:
-                          n = 'Linear'
-                          break
-                        case te:
-                          n = 'Reinhard'
-                          break
-                        case ne:
-                          n = 'OptimizedCineon'
-                          break
-                        case re:
-                          n = 'ACESFilmic'
-                          break
-                        case ie:
-                          n = 'Custom'
-                          break
-                        default:
-                          console.warn('THREE.WebGLProgram: Unsupported toneMapping:', t),
-                            (n = 'Linear')
-                      }
-                      return (
-                        'vec3 ' + e + '( vec3 color ) { return ' + n + 'ToneMapping( color ); }'
-                      )
-                    }
-                    function vs(e) {
-                      return [
-                        e.extensionDerivatives ||
-                        e.envMapCubeUV ||
-                        e.bumpMap ||
-                        e.tangentSpaceNormalMap ||
-                        e.clearcoatNormalMap ||
-                        e.flatShading ||
-                        'physical' === e.shaderID
-                          ? '#extension GL_OES_standard_derivatives : enable'
-                          : '',
-                        (e.extensionFragDepth || e.logarithmicDepthBuffer) &&
-                        e.rendererExtensionFragDepth
-                          ? '#extension GL_EXT_frag_depth : enable'
-                          : '',
-                        e.extensionDrawBuffers && e.rendererExtensionDrawBuffers
-                          ? '#extension GL_EXT_draw_buffers : require'
-                          : '',
-                        (e.extensionShaderTextureLOD || e.envMap) &&
-                        e.rendererExtensionShaderTextureLod
-                          ? '#extension GL_EXT_shader_texture_lod : enable'
-                          : '',
-                      ]
-                        .filter(bs)
-                        .join('\n')
-                    }
-                    function gs(e) {
-                      var t = []
-                      for (var n in e) {
-                        var r = e[n]
-                        !1 !== r && t.push('#define ' + n + ' ' + r)
-                      }
-                      return t.join('\n')
-                    }
-                    function ys(e, t) {
-                      for (var n = {}, r = e.getProgramParameter(t, 35721), i = 0; i < r; i++) {
-                        var o = e.getActiveAttrib(t, i).name
-                        n[o] = e.getAttribLocation(t, o)
-                      }
-                      return n
-                    }
-                    function bs(e) {
-                      return '' !== e
-                    }
-                    function As(e, t) {
-                      return e
-                        .replace(/NUM_DIR_LIGHTS/g, t.numDirLights)
-                        .replace(/NUM_SPOT_LIGHTS/g, t.numSpotLights)
-                        .replace(/NUM_RECT_AREA_LIGHTS/g, t.numRectAreaLights)
-                        .replace(/NUM_POINT_LIGHTS/g, t.numPointLights)
-                        .replace(/NUM_HEMI_LIGHTS/g, t.numHemiLights)
-                        .replace(/NUM_DIR_LIGHT_SHADOWS/g, t.numDirLightShadows)
-                        .replace(/NUM_SPOT_LIGHT_SHADOWS/g, t.numSpotLightShadows)
-                        .replace(/NUM_POINT_LIGHT_SHADOWS/g, t.numPointLightShadows)
-                    }
-                    function ws(e, t) {
-                      return e
-                        .replace(/NUM_CLIPPING_PLANES/g, t.numClippingPlanes)
-                        .replace(
-                          /UNION_CLIPPING_PLANES/g,
-                          t.numClippingPlanes - t.numClipIntersection,
-                        )
-                    }
-                    var xs = /^[ \t]*#include +<([\w\d./]+)>/gm
-                    function Es(e) {
-                      return e.replace(xs, Ms)
-                    }
-                    function Ms(e, t) {
-                      var n = qo[t]
-                      if (void 0 === n) throw new Error('Can not resolve #include <' + t + '>')
-                      return Es(n)
-                    }
-                    var _s =
-                        /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,
-                      Ts =
-                        /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g
-                    function Ss(e) {
-                      return e.replace(Ts, Ls).replace(_s, Cs)
-                    }
-                    function Cs(e, t, n, r) {
-                      return (
-                        console.warn(
-                          'WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.',
-                        ),
-                        Ls(e, t, n, r)
-                      )
-                    }
-                    function Ls(e, t, n, r) {
-                      for (var i = '', o = parseInt(t); o < parseInt(n); o++)
-                        i += r
-                          .replace(/\[\s*i\s*\]/g, '[ ' + o + ' ]')
-                          .replace(/UNROLLED_LOOP_INDEX/g, o)
-                      return i
-                    }
-                    function Rs(e) {
-                      var t =
-                        'precision ' + e.precision + ' float;\nprecision ' + e.precision + ' int;'
-                      return (
-                        'highp' === e.precision
-                          ? (t += '\n#define HIGH_PRECISION')
-                          : 'mediump' === e.precision
-                          ? (t += '\n#define MEDIUM_PRECISION')
-                          : 'lowp' === e.precision && (t += '\n#define LOW_PRECISION'),
-                        t
-                      )
-                    }
-                    function Ps(e) {
-                      var t = 'SHADOWMAP_TYPE_BASIC'
-                      return (
-                        e.shadowMapType === d
-                          ? (t = 'SHADOWMAP_TYPE_PCF')
-                          : e.shadowMapType === p
-                          ? (t = 'SHADOWMAP_TYPE_PCF_SOFT')
-                          : e.shadowMapType === f && (t = 'SHADOWMAP_TYPE_VSM'),
-                        t
-                      )
-                    }
-                    function Ds(e) {
-                      var t = 'ENVMAP_TYPE_CUBE'
-                      if (e.envMap)
-                        switch (e.envMapMode) {
-                          case ae:
-                          case se:
-                            t = 'ENVMAP_TYPE_CUBE'
-                            break
-                          case ue:
-                          case he:
-                            t = 'ENVMAP_TYPE_CUBE_UV'
-                        }
-                      return t
-                    }
-                    function Os(e) {
-                      var t = 'ENVMAP_MODE_REFLECTION'
-                      if (e.envMap)
-                        switch (e.envMapMode) {
-                          case se:
-                          case he:
-                            t = 'ENVMAP_MODE_REFRACTION'
-                        }
-                      return t
-                    }
-                    function Is(e) {
-                      var t = 'ENVMAP_BLENDING_NONE'
-                      if (e.envMap)
-                        switch (e.combine) {
-                          case Z:
-                            t = 'ENVMAP_BLENDING_MULTIPLY'
-                            break
-                          case K:
-                            t = 'ENVMAP_BLENDING_MIX'
-                            break
-                          case J:
-                            t = 'ENVMAP_BLENDING_ADD'
-                        }
-                      return t
-                    }
-                    function Bs(e, t, n, r) {
-                      var i,
-                        o,
-                        a = e.getContext(),
-                        s = n.defines,
-                        l = n.vertexShader,
-                        c = n.fragmentShader,
-                        u = Ps(n),
-                        h = Ds(n),
-                        d = Os(n),
-                        p = Is(n),
-                        f = e.gammaFactor > 0 ? e.gammaFactor : 1,
-                        m = n.isWebGL2 ? '' : vs(n),
-                        v = gs(s),
-                        g = a.createProgram(),
-                        y = n.glslVersion ? '#version ' + n.glslVersion + '\n' : ''
-                      n.isRawShaderMaterial
-                        ? ((i = [v].filter(bs).join('\n')).length > 0 && (i += '\n'),
-                          (o = [m, v].filter(bs).join('\n')).length > 0 && (o += '\n'))
-                        : ((i = [
-                            Rs(n),
-                            '#define SHADER_NAME ' + n.shaderName,
-                            v,
-                            n.instancing ? '#define USE_INSTANCING' : '',
-                            n.instancingColor ? '#define USE_INSTANCING_COLOR' : '',
-                            n.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '',
-                            '#define GAMMA_FACTOR ' + f,
-                            '#define MAX_BONES ' + n.maxBones,
-                            n.useFog && n.fog ? '#define USE_FOG' : '',
-                            n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '',
-                            n.map ? '#define USE_MAP' : '',
-                            n.envMap ? '#define USE_ENVMAP' : '',
-                            n.envMap ? '#define ' + d : '',
-                            n.lightMap ? '#define USE_LIGHTMAP' : '',
-                            n.aoMap ? '#define USE_AOMAP' : '',
-                            n.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
-                            n.bumpMap ? '#define USE_BUMPMAP' : '',
-                            n.normalMap ? '#define USE_NORMALMAP' : '',
-                            n.normalMap && n.objectSpaceNormalMap
-                              ? '#define OBJECTSPACE_NORMALMAP'
-                              : '',
-                            n.normalMap && n.tangentSpaceNormalMap
-                              ? '#define TANGENTSPACE_NORMALMAP'
-                              : '',
-                            n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
-                            n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
-                            n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
-                            n.displacementMap && n.supportsVertexTextures
-                              ? '#define USE_DISPLACEMENTMAP'
-                              : '',
-                            n.specularMap ? '#define USE_SPECULARMAP' : '',
-                            n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
-                            n.metalnessMap ? '#define USE_METALNESSMAP' : '',
-                            n.alphaMap ? '#define USE_ALPHAMAP' : '',
-                            n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
-                            n.vertexTangents ? '#define USE_TANGENT' : '',
-                            n.vertexColors ? '#define USE_COLOR' : '',
-                            n.vertexUvs ? '#define USE_UV' : '',
-                            n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',
-                            n.flatShading ? '#define FLAT_SHADED' : '',
-                            n.skinning ? '#define USE_SKINNING' : '',
-                            n.useVertexTexture ? '#define BONE_TEXTURE' : '',
-                            n.morphTargets ? '#define USE_MORPHTARGETS' : '',
-                            n.morphNormals && !1 === n.flatShading
-                              ? '#define USE_MORPHNORMALS'
-                              : '',
-                            n.doubleSided ? '#define DOUBLE_SIDED' : '',
-                            n.flipSided ? '#define FLIP_SIDED' : '',
-                            n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',
-                            n.shadowMapEnabled ? '#define ' + u : '',
-                            n.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '',
-                            n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
-                            n.logarithmicDepthBuffer && n.rendererExtensionFragDepth
-                              ? '#define USE_LOGDEPTHBUF_EXT'
-                              : '',
-                            'uniform mat4 modelMatrix;',
-                            'uniform mat4 modelViewMatrix;',
-                            'uniform mat4 projectionMatrix;',
-                            'uniform mat4 viewMatrix;',
-                            'uniform mat3 normalMatrix;',
-                            'uniform vec3 cameraPosition;',
-                            'uniform bool isOrthographic;',
-                            '#ifdef USE_INSTANCING',
-                            '\tattribute mat4 instanceMatrix;',
-                            '#endif',
-                            '#ifdef USE_INSTANCING_COLOR',
-                            '\tattribute vec3 instanceColor;',
-                            '#endif',
-                            'attribute vec3 position;',
-                            'attribute vec3 normal;',
-                            'attribute vec2 uv;',
-                            '#ifdef USE_TANGENT',
-                            '\tattribute vec4 tangent;',
-                            '#endif',
-                            '#ifdef USE_COLOR',
-                            '\tattribute vec3 color;',
-                            '#endif',
-                            '#ifdef USE_MORPHTARGETS',
-                            '\tattribute vec3 morphTarget0;',
-                            '\tattribute vec3 morphTarget1;',
-                            '\tattribute vec3 morphTarget2;',
-                            '\tattribute vec3 morphTarget3;',
-                            '\t#ifdef USE_MORPHNORMALS',
-                            '\t\tattribute vec3 morphNormal0;',
-                            '\t\tattribute vec3 morphNormal1;',
-                            '\t\tattribute vec3 morphNormal2;',
-                            '\t\tattribute vec3 morphNormal3;',
-                            '\t#else',
-                            '\t\tattribute vec3 morphTarget4;',
-                            '\t\tattribute vec3 morphTarget5;',
-                            '\t\tattribute vec3 morphTarget6;',
-                            '\t\tattribute vec3 morphTarget7;',
-                            '\t#endif',
-                            '#endif',
-                            '#ifdef USE_SKINNING',
-                            '\tattribute vec4 skinIndex;',
-                            '\tattribute vec4 skinWeight;',
-                            '#endif',
-                            '\n',
-                          ]
-                            .filter(bs)
-                            .join('\n')),
-                          (o = [
-                            m,
-                            Rs(n),
-                            '#define SHADER_NAME ' + n.shaderName,
-                            v,
-                            n.alphaTest
-                              ? '#define ALPHATEST ' + n.alphaTest + (n.alphaTest % 1 ? '' : '.0')
-                              : '',
-                            '#define GAMMA_FACTOR ' + f,
-                            n.useFog && n.fog ? '#define USE_FOG' : '',
-                            n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '',
-                            n.map ? '#define USE_MAP' : '',
-                            n.matcap ? '#define USE_MATCAP' : '',
-                            n.envMap ? '#define USE_ENVMAP' : '',
-                            n.envMap ? '#define ' + h : '',
-                            n.envMap ? '#define ' + d : '',
-                            n.envMap ? '#define ' + p : '',
-                            n.lightMap ? '#define USE_LIGHTMAP' : '',
-                            n.aoMap ? '#define USE_AOMAP' : '',
-                            n.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
-                            n.bumpMap ? '#define USE_BUMPMAP' : '',
-                            n.normalMap ? '#define USE_NORMALMAP' : '',
-                            n.normalMap && n.objectSpaceNormalMap
-                              ? '#define OBJECTSPACE_NORMALMAP'
-                              : '',
-                            n.normalMap && n.tangentSpaceNormalMap
-                              ? '#define TANGENTSPACE_NORMALMAP'
-                              : '',
-                            n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
-                            n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
-                            n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
-                            n.specularMap ? '#define USE_SPECULARMAP' : '',
-                            n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
-                            n.metalnessMap ? '#define USE_METALNESSMAP' : '',
-                            n.alphaMap ? '#define USE_ALPHAMAP' : '',
-                            n.sheen ? '#define USE_SHEEN' : '',
-                            n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
-                            n.vertexTangents ? '#define USE_TANGENT' : '',
-                            n.vertexColors || n.instancingColor ? '#define USE_COLOR' : '',
-                            n.vertexUvs ? '#define USE_UV' : '',
-                            n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',
-                            n.gradientMap ? '#define USE_GRADIENTMAP' : '',
-                            n.flatShading ? '#define FLAT_SHADED' : '',
-                            n.doubleSided ? '#define DOUBLE_SIDED' : '',
-                            n.flipSided ? '#define FLIP_SIDED' : '',
-                            n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',
-                            n.shadowMapEnabled ? '#define ' + u : '',
-                            n.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '',
-                            n.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '',
-                            n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
-                            n.logarithmicDepthBuffer && n.rendererExtensionFragDepth
-                              ? '#define USE_LOGDEPTHBUF_EXT'
-                              : '',
-                            (n.extensionShaderTextureLOD || n.envMap) &&
-                            n.rendererExtensionShaderTextureLod
-                              ? '#define TEXTURE_LOD_EXT'
-                              : '',
-                            'uniform mat4 viewMatrix;',
-                            'uniform vec3 cameraPosition;',
-                            'uniform bool isOrthographic;',
-                            n.toneMapping !== $ ? '#define TONE_MAPPING' : '',
-                            n.toneMapping !== $ ? qo.tonemapping_pars_fragment : '',
-                            n.toneMapping !== $ ? ms('toneMapping', n.toneMapping) : '',
-                            n.dithering ? '#define DITHERING' : '',
-                            qo.encodings_pars_fragment,
-                            n.map ? ps('mapTexelToLinear', n.mapEncoding) : '',
-                            n.matcap ? ps('matcapTexelToLinear', n.matcapEncoding) : '',
-                            n.envMap ? ps('envMapTexelToLinear', n.envMapEncoding) : '',
-                            n.emissiveMap
-                              ? ps('emissiveMapTexelToLinear', n.emissiveMapEncoding)
-                              : '',
-                            n.lightMap ? ps('lightMapTexelToLinear', n.lightMapEncoding) : '',
-                            fs('linearToOutputTexel', n.outputEncoding),
-                            n.depthPacking ? '#define DEPTH_PACKING ' + n.depthPacking : '',
-                            '\n',
-                          ]
-                            .filter(bs)
-                            .join('\n'))),
-                        (l = ws((l = As((l = Es(l)), n)), n)),
-                        (c = ws((c = As((c = Es(c)), n)), n)),
-                        (l = Ss(l)),
-                        (c = Ss(c)),
-                        n.isWebGL2 &&
-                          !0 !== n.isRawShaderMaterial &&
-                          ((y = '#version 300 es\n'),
-                          (i =
-                            [
-                              '#define attribute in',
-                              '#define varying out',
-                              '#define texture2D texture',
-                            ].join('\n') +
-                            '\n' +
-                            i),
-                          (o =
-                            [
-                              '#define varying in',
-                              n.glslVersion === Fn ? '' : 'out highp vec4 pc_fragColor;',
-                              n.glslVersion === Fn ? '' : '#define gl_FragColor pc_fragColor',
-                              '#define gl_FragDepthEXT gl_FragDepth',
-                              '#define texture2D texture',
-                              '#define textureCube texture',
-                              '#define texture2DProj textureProj',
-                              '#define texture2DLodEXT textureLod',
-                              '#define texture2DProjLodEXT textureProjLod',
-                              '#define textureCubeLodEXT textureLod',
-                              '#define texture2DGradEXT textureGrad',
-                              '#define texture2DProjGradEXT textureProjGrad',
-                              '#define textureCubeGradEXT textureGrad',
-                            ].join('\n') +
-                            '\n' +
-                            o))
-                      var b,
-                        A,
-                        w = y + o + c,
-                        x = ls(a, 35633, y + i + l),
-                        E = ls(a, 35632, w)
-                      if (
-                        (a.attachShader(g, x),
-                        a.attachShader(g, E),
-                        void 0 !== n.index0AttributeName
-                          ? a.bindAttribLocation(g, 0, n.index0AttributeName)
-                          : !0 === n.morphTargets && a.bindAttribLocation(g, 0, 'position'),
-                        a.linkProgram(g),
-                        e.debug.checkShaderErrors)
-                      ) {
-                        var M = a.getProgramInfoLog(g).trim(),
-                          _ = a.getShaderInfoLog(x).trim(),
-                          T = a.getShaderInfoLog(E).trim(),
-                          S = !0,
-                          C = !0
-                        if (!1 === a.getProgramParameter(g, 35714)) {
-                          S = !1
-                          var L = ds(a, x, 'vertex'),
-                            R = ds(a, E, 'fragment')
-                          console.error(
-                            'THREE.WebGLProgram: shader error: ',
-                            a.getError(),
-                            '35715',
-                            a.getProgramParameter(g, 35715),
-                            'gl.getProgramInfoLog',
-                            M,
-                            L,
-                            R,
-                          )
-                        } else
-                          '' !== M
-                            ? console.warn('THREE.WebGLProgram: gl.getProgramInfoLog()', M)
-                            : ('' !== _ && '' !== T) || (C = !1)
-                        C &&
-                          (this.diagnostics = {
-                            runnable: S,
-                            programLog: M,
-                            vertexShader: { log: _, prefix: i },
-                            fragmentShader: { log: T, prefix: o },
-                          })
-                      }
-                      return (
-                        a.deleteShader(x),
-                        a.deleteShader(E),
-                        (this.getUniforms = function () {
-                          return void 0 === b && (b = new ss(a, g)), b
-                        }),
-                        (this.getAttributes = function () {
-                          return void 0 === A && (A = ys(a, g)), A
-                        }),
-                        (this.destroy = function () {
-                          r.releaseStatesOfProgram(this),
-                            a.deleteProgram(g),
-                            (this.program = void 0)
-                        }),
-                        (this.name = n.shaderName),
-                        (this.id = cs++),
-                        (this.cacheKey = t),
-                        (this.usedTimes = 1),
-                        (this.program = g),
-                        (this.vertexShader = x),
-                        (this.fragmentShader = E),
-                        this
-                      )
-                    }
-                    function Fs(e, t, n, r, i, o) {
-                      var a = [],
-                        s = r.isWebGL2,
-                        l = r.logarithmicDepthBuffer,
-                        c = r.floatVertexTextures,
-                        u = r.maxVertexUniforms,
-                        h = r.vertexTextures,
-                        d = r.precision,
-                        p = {
-                          MeshDepthMaterial: 'depth',
-                          MeshDistanceMaterial: 'distanceRGBA',
-                          MeshNormalMaterial: 'normal',
-                          MeshBasicMaterial: 'basic',
-                          MeshLambertMaterial: 'lambert',
-                          MeshPhongMaterial: 'phong',
-                          MeshToonMaterial: 'toon',
-                          MeshStandardMaterial: 'physical',
-                          MeshPhysicalMaterial: 'physical',
-                          MeshMatcapMaterial: 'matcap',
-                          LineBasicMaterial: 'basic',
-                          LineDashedMaterial: 'dashed',
-                          PointsMaterial: 'points',
-                          ShadowMaterial: 'shadow',
-                          SpriteMaterial: 'sprite',
-                        },
-                        f = [
-                          'precision',
-                          'isWebGL2',
-                          'supportsVertexTextures',
-                          'outputEncoding',
-                          'instancing',
-                          'instancingColor',
-                          'map',
-                          'mapEncoding',
-                          'matcap',
-                          'matcapEncoding',
-                          'envMap',
-                          'envMapMode',
-                          'envMapEncoding',
-                          'envMapCubeUV',
-                          'lightMap',
-                          'lightMapEncoding',
-                          'aoMap',
-                          'emissiveMap',
-                          'emissiveMapEncoding',
-                          'bumpMap',
-                          'normalMap',
-                          'objectSpaceNormalMap',
-                          'tangentSpaceNormalMap',
-                          'clearcoatMap',
-                          'clearcoatRoughnessMap',
-                          'clearcoatNormalMap',
-                          'displacementMap',
-                          'specularMap',
-                          'roughnessMap',
-                          'metalnessMap',
-                          'gradientMap',
-                          'alphaMap',
-                          'combine',
-                          'vertexColors',
-                          'vertexTangents',
-                          'vertexUvs',
-                          'uvsVertexOnly',
-                          'fog',
-                          'useFog',
-                          'fogExp2',
-                          'flatShading',
-                          'sizeAttenuation',
-                          'logarithmicDepthBuffer',
-                          'skinning',
-                          'maxBones',
-                          'useVertexTexture',
-                          'morphTargets',
-                          'morphNormals',
-                          'maxMorphTargets',
-                          'maxMorphNormals',
-                          'premultipliedAlpha',
-                          'numDirLights',
-                          'numPointLights',
-                          'numSpotLights',
-                          'numHemiLights',
-                          'numRectAreaLights',
-                          'numDirLightShadows',
-                          'numPointLightShadows',
-                          'numSpotLightShadows',
-                          'shadowMapEnabled',
-                          'shadowMapType',
-                          'toneMapping',
-                          'physicallyCorrectLights',
-                          'alphaTest',
-                          'doubleSided',
-                          'flipSided',
-                          'numClippingPlanes',
-                          'numClipIntersection',
-                          'depthPacking',
-                          'dithering',
-                          'sheen',
-                          'transmissionMap',
-                        ]
-                      function m(e) {
-                        var t = e.skeleton.bones
-                        if (c) return 1024
-                        var n = u,
-                          r = Math.floor((n - 20) / 4),
-                          i = Math.min(r, t.length)
-                        return i < t.length
-                          ? (console.warn(
-                              'THREE.WebGLRenderer: Skeleton has ' +
-                                t.length +
-                                ' bones. This GPU supports ' +
-                                i +
-                                '.',
-                            ),
-                            0)
-                          : i
-                      }
-                      function y(e) {
-                        var t
-                        return (
-                          e && e.isTexture
-                            ? (t = e.encoding)
-                            : e && e.isWebGLRenderTarget
-                            ? (console.warn(
-                                "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.",
-                              ),
-                              (t = e.texture.encoding))
-                            : (t = Kt),
-                          t
-                        )
-                      }
-                      function b(i, a, u, f, b) {
-                        var A,
-                          w,
-                          x = f.fog,
-                          E = i.isMeshStandardMaterial ? f.environment : null,
-                          M = t.get(i.envMap || E),
-                          _ = p[i.type],
-                          T = b.isSkinnedMesh ? m(b) : 0
-                        if (
-                          (null !== i.precision &&
-                            (d = r.getMaxPrecision(i.precision)) !== i.precision &&
-                            console.warn(
-                              'THREE.WebGLProgram.getParameters:',
-                              i.precision,
-                              'not supported, using',
-                              d,
-                              'instead.',
-                            ),
-                          _)
-                        ) {
-                          var S = Yo[_]
-                          ;(A = S.vertexShader), (w = S.fragmentShader)
-                        } else (A = i.vertexShader), (w = i.fragmentShader)
-                        var C = e.getRenderTarget()
-                        return {
-                          isWebGL2: s,
-                          shaderID: _,
-                          shaderName: i.type,
-                          vertexShader: A,
-                          fragmentShader: w,
-                          defines: i.defines,
-                          isRawShaderMaterial: !0 === i.isRawShaderMaterial,
-                          glslVersion: i.glslVersion,
-                          precision: d,
-                          instancing: !0 === b.isInstancedMesh,
-                          instancingColor: !0 === b.isInstancedMesh && null !== b.instanceColor,
-                          supportsVertexTextures: h,
-                          outputEncoding: null !== C ? y(C.texture) : e.outputEncoding,
-                          map: !!i.map,
-                          mapEncoding: y(i.map),
-                          matcap: !!i.matcap,
-                          matcapEncoding: y(i.matcap),
-                          envMap: !!M,
-                          envMapMode: M && M.mapping,
-                          envMapEncoding: y(M),
-                          envMapCubeUV: !!M && (M.mapping === ue || M.mapping === he),
-                          lightMap: !!i.lightMap,
-                          lightMapEncoding: y(i.lightMap),
-                          aoMap: !!i.aoMap,
-                          emissiveMap: !!i.emissiveMap,
-                          emissiveMapEncoding: y(i.emissiveMap),
-                          bumpMap: !!i.bumpMap,
-                          normalMap: !!i.normalMap,
-                          objectSpaceNormalMap: i.normalMapType === cn,
-                          tangentSpaceNormalMap: i.normalMapType === ln,
-                          clearcoatMap: !!i.clearcoatMap,
-                          clearcoatRoughnessMap: !!i.clearcoatRoughnessMap,
-                          clearcoatNormalMap: !!i.clearcoatNormalMap,
-                          displacementMap: !!i.displacementMap,
-                          roughnessMap: !!i.roughnessMap,
-                          metalnessMap: !!i.metalnessMap,
-                          specularMap: !!i.specularMap,
-                          alphaMap: !!i.alphaMap,
-                          gradientMap: !!i.gradientMap,
-                          sheen: !!i.sheen,
-                          transmissionMap: !!i.transmissionMap,
-                          combine: i.combine,
-                          vertexTangents: i.normalMap && i.vertexTangents,
-                          vertexColors: i.vertexColors,
-                          vertexUvs:
-                            !!i.map ||
-                            !!i.bumpMap ||
-                            !!i.normalMap ||
-                            !!i.specularMap ||
-                            !!i.alphaMap ||
-                            !!i.emissiveMap ||
-                            !!i.roughnessMap ||
-                            !!i.metalnessMap ||
-                            !!i.clearcoatMap ||
-                            !!i.clearcoatRoughnessMap ||
-                            !!i.clearcoatNormalMap ||
-                            !!i.displacementMap ||
-                            !!i.transmissionMap,
-                          uvsVertexOnly:
-                            !(
-                              i.map ||
-                              i.bumpMap ||
-                              i.normalMap ||
-                              i.specularMap ||
-                              i.alphaMap ||
-                              i.emissiveMap ||
-                              i.roughnessMap ||
-                              i.metalnessMap ||
-                              i.clearcoatNormalMap ||
-                              i.transmissionMap
-                            ) && !!i.displacementMap,
-                          fog: !!x,
-                          useFog: i.fog,
-                          fogExp2: x && x.isFogExp2,
-                          flatShading: i.flatShading,
-                          sizeAttenuation: i.sizeAttenuation,
-                          logarithmicDepthBuffer: l,
-                          skinning: i.skinning && T > 0,
-                          maxBones: T,
-                          useVertexTexture: c,
-                          morphTargets: i.morphTargets,
-                          morphNormals: i.morphNormals,
-                          maxMorphTargets: e.maxMorphTargets,
-                          maxMorphNormals: e.maxMorphNormals,
-                          numDirLights: a.directional.length,
-                          numPointLights: a.point.length,
-                          numSpotLights: a.spot.length,
-                          numRectAreaLights: a.rectArea.length,
-                          numHemiLights: a.hemi.length,
-                          numDirLightShadows: a.directionalShadowMap.length,
-                          numPointLightShadows: a.pointShadowMap.length,
-                          numSpotLightShadows: a.spotShadowMap.length,
-                          numClippingPlanes: o.numPlanes,
-                          numClipIntersection: o.numIntersection,
-                          dithering: i.dithering,
-                          shadowMapEnabled: e.shadowMap.enabled && u.length > 0,
-                          shadowMapType: e.shadowMap.type,
-                          toneMapping: i.toneMapped ? e.toneMapping : $,
-                          physicallyCorrectLights: e.physicallyCorrectLights,
-                          premultipliedAlpha: i.premultipliedAlpha,
-                          alphaTest: i.alphaTest,
-                          doubleSided: i.side === g,
-                          flipSided: i.side === v,
-                          depthPacking: void 0 !== i.depthPacking && i.depthPacking,
-                          index0AttributeName: i.index0AttributeName,
-                          extensionDerivatives: i.extensions && i.extensions.derivatives,
-                          extensionFragDepth: i.extensions && i.extensions.fragDepth,
-                          extensionDrawBuffers: i.extensions && i.extensions.drawBuffers,
-                          extensionShaderTextureLOD: i.extensions && i.extensions.shaderTextureLOD,
-                          rendererExtensionFragDepth: s || n.has('EXT_frag_depth'),
-                          rendererExtensionDrawBuffers: s || n.has('WEBGL_draw_buffers'),
-                          rendererExtensionShaderTextureLod: s || n.has('EXT_shader_texture_lod'),
-                          customProgramCacheKey: i.customProgramCacheKey(),
-                        }
-                      }
-                      function A(t) {
-                        var n = []
-                        if (
-                          (t.shaderID
-                            ? n.push(t.shaderID)
-                            : (n.push(t.fragmentShader), n.push(t.vertexShader)),
-                          void 0 !== t.defines)
-                        )
-                          for (var r in t.defines) n.push(r), n.push(t.defines[r])
-                        if (!1 === t.isRawShaderMaterial) {
-                          for (var i = 0; i < f.length; i++) n.push(t[f[i]])
-                          n.push(e.outputEncoding), n.push(e.gammaFactor)
-                        }
-                        return n.push(t.customProgramCacheKey), n.join()
-                      }
-                      function w(e) {
-                        var t,
-                          n = p[e.type]
-                        if (n) {
-                          var r = Yo[n]
-                          t = Co.clone(r.uniforms)
-                        } else t = e.uniforms
-                        return t
-                      }
-                      function x(t, n) {
-                        for (var r, o = 0, s = a.length; o < s; o++) {
-                          var l = a[o]
-                          if (l.cacheKey === n) {
-                            ++(r = l).usedTimes
-                            break
-                          }
-                        }
-                        return void 0 === r && ((r = new Bs(e, n, t, i)), a.push(r)), r
-                      }
-                      function E(e) {
-                        if (0 === --e.usedTimes) {
-                          var t = a.indexOf(e)
-                          ;(a[t] = a[a.length - 1]), a.pop(), e.destroy()
-                        }
-                      }
-                      return {
-                        getParameters: b,
-                        getProgramCacheKey: A,
-                        getUniforms: w,
-                        acquireProgram: x,
-                        releaseProgram: E,
-                        programs: a,
-                      }
-                    }
-                    function ks() {
-                      var e = new WeakMap()
-                      function t(t) {
-                        var n = e.get(t)
-                        return void 0 === n && ((n = {}), e.set(t, n)), n
-                      }
-                      function n(t) {
-                        e.delete(t)
-                      }
-                      function r(t, n, r) {
-                        e.get(t)[n] = r
-                      }
-                      function i() {
-                        e = new WeakMap()
-                      }
-                      return { get: t, remove: n, update: r, dispose: i }
-                    }
-                    function Ns(e, t) {
-                      return e.groupOrder !== t.groupOrder
-                        ? e.groupOrder - t.groupOrder
-                        : e.renderOrder !== t.renderOrder
-                        ? e.renderOrder - t.renderOrder
-                        : e.program !== t.program
-                        ? e.program.id - t.program.id
-                        : e.material.id !== t.material.id
-                        ? e.material.id - t.material.id
-                        : e.z !== t.z
-                        ? e.z - t.z
-                        : e.id - t.id
-                    }
-                    function Us(e, t) {
-                      return e.groupOrder !== t.groupOrder
-                        ? e.groupOrder - t.groupOrder
-                        : e.renderOrder !== t.renderOrder
-                        ? e.renderOrder - t.renderOrder
-                        : e.z !== t.z
-                        ? t.z - e.z
-                        : e.id - t.id
-                    }
-                    function Hs(e) {
-                      var t = [],
-                        n = 0,
-                        r = [],
-                        i = [],
-                        o = { id: -1 }
-                      function a() {
-                        ;(n = 0), (r.length = 0), (i.length = 0)
-                      }
-                      function s(r, i, a, s, l, c) {
-                        var u = t[n],
-                          h = e.get(a)
-                        return (
-                          void 0 === u
-                            ? ((u = {
-                                id: r.id,
-                                object: r,
-                                geometry: i,
-                                material: a,
-                                program: h.program || o,
-                                groupOrder: s,
-                                renderOrder: r.renderOrder,
-                                z: l,
-                                group: c,
-                              }),
-                              (t[n] = u))
-                            : ((u.id = r.id),
-                              (u.object = r),
-                              (u.geometry = i),
-                              (u.material = a),
-                              (u.program = h.program || o),
-                              (u.groupOrder = s),
-                              (u.renderOrder = r.renderOrder),
-                              (u.z = l),
-                              (u.group = c)),
-                          n++,
-                          u
-                        )
-                      }
-                      function l(e, t, n, o, a, l) {
-                        var c = s(e, t, n, o, a, l)
-                        ;(!0 === n.transparent ? i : r).push(c)
-                      }
-                      function c(e, t, n, o, a, l) {
-                        var c = s(e, t, n, o, a, l)
-                        ;(!0 === n.transparent ? i : r).unshift(c)
-                      }
-                      function u(e, t) {
-                        r.length > 1 && r.sort(e || Ns), i.length > 1 && i.sort(t || Us)
-                      }
-                      function h() {
-                        for (var e = n, r = t.length; e < r; e++) {
-                          var i = t[e]
-                          if (null === i.id) break
-                          ;(i.id = null),
-                            (i.object = null),
-                            (i.geometry = null),
-                            (i.material = null),
-                            (i.program = null),
-                            (i.group = null)
-                        }
-                      }
-                      return {
-                        opaque: r,
-                        transparent: i,
-                        init: a,
-                        push: l,
-                        unshift: c,
-                        finish: h,
-                        sort: u,
-                      }
-                    }
-                    function Gs(e) {
-                      var t = new WeakMap()
-                      function n(n, r) {
-                        var i,
-                          o = t.get(n)
-                        return (
-                          void 0 === o
-                            ? ((i = new Hs(e)), t.set(n, new WeakMap()), t.get(n).set(r, i))
-                            : void 0 === (i = o.get(r)) && ((i = new Hs(e)), o.set(r, i)),
-                          i
-                        )
-                      }
-                      function r() {
-                        t = new WeakMap()
-                      }
-                      return { get: n, dispose: r }
-                    }
-                    function zs() {
-                      var e = {}
-                      return {
-                        get: function (t) {
-                          if (void 0 !== e[t.id]) return e[t.id]
-                          var n
-                          switch (t.type) {
-                            case 'DirectionalLight':
-                              n = { direction: new lr(), color: new Li() }
-                              break
-                            case 'SpotLight':
-                              n = {
-                                position: new lr(),
-                                direction: new lr(),
-                                color: new Li(),
-                                distance: 0,
-                                coneCos: 0,
-                                penumbraCos: 0,
-                                decay: 0,
-                              }
-                              break
-                            case 'PointLight':
-                              n = { position: new lr(), color: new Li(), distance: 0, decay: 0 }
-                              break
-                            case 'HemisphereLight':
-                              n = { direction: new lr(), skyColor: new Li(), groundColor: new Li() }
-                              break
-                            case 'RectAreaLight':
-                              n = {
-                                color: new Li(),
-                                position: new lr(),
-                                halfWidth: new lr(),
-                                halfHeight: new lr(),
-                              }
-                          }
-                          return (e[t.id] = n), n
-                        },
-                      }
-                    }
-                    function js() {
-                      var e = {}
-                      return {
-                        get: function (t) {
-                          if (void 0 !== e[t.id]) return e[t.id]
-                          var n
-                          switch (t.type) {
-                            case 'DirectionalLight':
-                            case 'SpotLight':
-                              n = {
-                                shadowBias: 0,
-                                shadowNormalBias: 0,
-                                shadowRadius: 1,
-                                shadowMapSize: new Jn(),
-                              }
-                              break
-                            case 'PointLight':
-                              n = {
-                                shadowBias: 0,
-                                shadowNormalBias: 0,
-                                shadowRadius: 1,
-                                shadowMapSize: new Jn(),
-                                shadowCameraNear: 1,
-                                shadowCameraFar: 1e3,
-                              }
-                          }
-                          return (e[t.id] = n), n
-                        },
-                      }
-                    }
-                    var Vs = 0
-                    function Ws(e, t) {
-                      return (t.castShadow ? 1 : 0) - (e.castShadow ? 1 : 0)
-                    }
-                    function qs(e, t) {
-                      for (
-                        var n = new zs(),
-                          r = js(),
-                          i = {
-                            version: 0,
-                            hash: {
-                              directionalLength: -1,
-                              pointLength: -1,
-                              spotLength: -1,
-                              rectAreaLength: -1,
-                              hemiLength: -1,
-                              numDirectionalShadows: -1,
-                              numPointShadows: -1,
-                              numSpotShadows: -1,
-                            },
-                            ambient: [0, 0, 0],
-                            probe: [],
-                            directional: [],
-                            directionalShadow: [],
-                            directionalShadowMap: [],
-                            directionalShadowMatrix: [],
-                            spot: [],
-                            spotShadow: [],
-                            spotShadowMap: [],
-                            spotShadowMatrix: [],
-                            rectArea: [],
-                            rectAreaLTC1: null,
-                            rectAreaLTC2: null,
-                            point: [],
-                            pointShadow: [],
-                            pointShadowMap: [],
-                            pointShadowMatrix: [],
-                            hemi: [],
-                          },
-                          o = 0;
-                        o < 9;
-                        o++
-                      )
-                        i.probe.push(new lr())
-                      var a = new lr(),
-                        s = new Fr(),
-                        l = new Fr()
-                      function c(o) {
-                        for (var a = 0, s = 0, l = 0, c = 0; c < 9; c++) i.probe[c].set(0, 0, 0)
-                        var u = 0,
-                          h = 0,
-                          d = 0,
-                          p = 0,
-                          f = 0,
-                          m = 0,
-                          v = 0,
-                          g = 0
-                        o.sort(Ws)
-                        for (var y = 0, b = o.length; y < b; y++) {
-                          var A = o[y],
-                            w = A.color,
-                            x = A.intensity,
-                            E = A.distance,
-                            M = A.shadow && A.shadow.map ? A.shadow.map.texture : null
-                          if (A.isAmbientLight) (a += w.r * x), (s += w.g * x), (l += w.b * x)
-                          else if (A.isLightProbe)
-                            for (var _ = 0; _ < 9; _++)
-                              i.probe[_].addScaledVector(A.sh.coefficients[_], x)
-                          else if (A.isDirectionalLight) {
-                            var T = n.get(A)
-                            if ((T.color.copy(A.color).multiplyScalar(A.intensity), A.castShadow)) {
-                              var S = A.shadow,
-                                C = r.get(A)
-                              ;(C.shadowBias = S.bias),
-                                (C.shadowNormalBias = S.normalBias),
-                                (C.shadowRadius = S.radius),
-                                (C.shadowMapSize = S.mapSize),
-                                (i.directionalShadow[u] = C),
-                                (i.directionalShadowMap[u] = M),
-                                (i.directionalShadowMatrix[u] = A.shadow.matrix),
-                                m++
-                            }
-                            ;(i.directional[u] = T), u++
-                          } else if (A.isSpotLight) {
-                            var L = n.get(A)
-                            if (
-                              (L.position.setFromMatrixPosition(A.matrixWorld),
-                              L.color.copy(w).multiplyScalar(x),
-                              (L.distance = E),
-                              (L.coneCos = Math.cos(A.angle)),
-                              (L.penumbraCos = Math.cos(A.angle * (1 - A.penumbra))),
-                              (L.decay = A.decay),
-                              A.castShadow)
-                            ) {
-                              var R = A.shadow,
-                                P = r.get(A)
-                              ;(P.shadowBias = R.bias),
-                                (P.shadowNormalBias = R.normalBias),
-                                (P.shadowRadius = R.radius),
-                                (P.shadowMapSize = R.mapSize),
-                                (i.spotShadow[d] = P),
-                                (i.spotShadowMap[d] = M),
-                                (i.spotShadowMatrix[d] = A.shadow.matrix),
-                                g++
-                            }
-                            ;(i.spot[d] = L), d++
-                          } else if (A.isRectAreaLight) {
-                            var D = n.get(A)
-                            D.color.copy(w).multiplyScalar(x),
-                              D.halfWidth.set(0.5 * A.width, 0, 0),
-                              D.halfHeight.set(0, 0.5 * A.height, 0),
-                              (i.rectArea[p] = D),
-                              p++
-                          } else if (A.isPointLight) {
-                            var O = n.get(A)
-                            if (
-                              (O.color.copy(A.color).multiplyScalar(A.intensity),
-                              (O.distance = A.distance),
-                              (O.decay = A.decay),
-                              A.castShadow)
-                            ) {
-                              var I = A.shadow,
-                                B = r.get(A)
-                              ;(B.shadowBias = I.bias),
-                                (B.shadowNormalBias = I.normalBias),
-                                (B.shadowRadius = I.radius),
-                                (B.shadowMapSize = I.mapSize),
-                                (B.shadowCameraNear = I.camera.near),
-                                (B.shadowCameraFar = I.camera.far),
-                                (i.pointShadow[h] = B),
-                                (i.pointShadowMap[h] = M),
-                                (i.pointShadowMatrix[h] = A.shadow.matrix),
-                                v++
-                            }
-                            ;(i.point[h] = O), h++
-                          } else if (A.isHemisphereLight) {
-                            var F = n.get(A)
-                            F.skyColor.copy(A.color).multiplyScalar(x),
-                              F.groundColor.copy(A.groundColor).multiplyScalar(x),
-                              (i.hemi[f] = F),
-                              f++
-                          }
-                        }
-                        p > 0 &&
-                          (t.isWebGL2 || !0 === e.has('OES_texture_float_linear')
-                            ? ((i.rectAreaLTC1 = Xo.LTC_FLOAT_1), (i.rectAreaLTC2 = Xo.LTC_FLOAT_2))
-                            : !0 === e.has('OES_texture_half_float_linear')
-                            ? ((i.rectAreaLTC1 = Xo.LTC_HALF_1), (i.rectAreaLTC2 = Xo.LTC_HALF_2))
-                            : console.error(
-                                'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.',
-                              )),
-                          (i.ambient[0] = a),
-                          (i.ambient[1] = s),
-                          (i.ambient[2] = l)
-                        var k = i.hash
-                        ;(k.directionalLength === u &&
-                          k.pointLength === h &&
-                          k.spotLength === d &&
-                          k.rectAreaLength === p &&
-                          k.hemiLength === f &&
-                          k.numDirectionalShadows === m &&
-                          k.numPointShadows === v &&
-                          k.numSpotShadows === g) ||
-                          ((i.directional.length = u),
-                          (i.spot.length = d),
-                          (i.rectArea.length = p),
-                          (i.point.length = h),
-                          (i.hemi.length = f),
-                          (i.directionalShadow.length = m),
-                          (i.directionalShadowMap.length = m),
-                          (i.pointShadow.length = v),
-                          (i.pointShadowMap.length = v),
-                          (i.spotShadow.length = g),
-                          (i.spotShadowMap.length = g),
-                          (i.directionalShadowMatrix.length = m),
-                          (i.pointShadowMatrix.length = v),
-                          (i.spotShadowMatrix.length = g),
-                          (k.directionalLength = u),
-                          (k.pointLength = h),
-                          (k.spotLength = d),
-                          (k.rectAreaLength = p),
-                          (k.hemiLength = f),
-                          (k.numDirectionalShadows = m),
-                          (k.numPointShadows = v),
-                          (k.numSpotShadows = g),
-                          (i.version = Vs++))
-                      }
-                      function u(e, t) {
-                        for (
-                          var n = 0,
-                            r = 0,
-                            o = 0,
-                            c = 0,
-                            u = 0,
-                            h = t.matrixWorldInverse,
-                            d = 0,
-                            p = e.length;
-                          d < p;
-                          d++
-                        ) {
-                          var f = e[d]
-                          if (f.isDirectionalLight) {
-                            var m = i.directional[n]
-                            m.direction.setFromMatrixPosition(f.matrixWorld),
-                              a.setFromMatrixPosition(f.target.matrixWorld),
-                              m.direction.sub(a),
-                              m.direction.transformDirection(h),
-                              n++
-                          } else if (f.isSpotLight) {
-                            var v = i.spot[o]
-                            v.position.setFromMatrixPosition(f.matrixWorld),
-                              v.position.applyMatrix4(h),
-                              v.direction.setFromMatrixPosition(f.matrixWorld),
-                              a.setFromMatrixPosition(f.target.matrixWorld),
-                              v.direction.sub(a),
-                              v.direction.transformDirection(h),
-                              o++
-                          } else if (f.isRectAreaLight) {
-                            var g = i.rectArea[c]
-                            g.position.setFromMatrixPosition(f.matrixWorld),
-                              g.position.applyMatrix4(h),
-                              l.identity(),
-                              s.copy(f.matrixWorld),
-                              s.premultiply(h),
-                              l.extractRotation(s),
-                              g.halfWidth.set(0.5 * f.width, 0, 0),
-                              g.halfHeight.set(0, 0.5 * f.height, 0),
-                              g.halfWidth.applyMatrix4(l),
-                              g.halfHeight.applyMatrix4(l),
-                              c++
-                          } else if (f.isPointLight) {
-                            var y = i.point[r]
-                            y.position.setFromMatrixPosition(f.matrixWorld),
-                              y.position.applyMatrix4(h),
-                              r++
-                          } else if (f.isHemisphereLight) {
-                            var b = i.hemi[u]
-                            b.direction.setFromMatrixPosition(f.matrixWorld),
-                              b.direction.transformDirection(h),
-                              b.direction.normalize(),
-                              u++
-                          }
-                        }
-                      }
-                      return { setup: c, setupView: u, state: i }
-                    }
-                    function Xs(e, t) {
-                      var n = new qs(e, t),
-                        r = [],
-                        i = []
-                      function o() {
-                        ;(r.length = 0), (i.length = 0)
-                      }
-                      function a(e) {
-                        r.push(e)
-                      }
-                      function s(e) {
-                        i.push(e)
-                      }
-                      function l() {
-                        n.setup(r)
-                      }
-                      function c(e) {
-                        n.setupView(r, e)
-                      }
-                      return {
-                        init: o,
-                        state: { lightsArray: r, shadowsArray: i, lights: n },
-                        setupLights: l,
-                        setupLightsView: c,
-                        pushLight: a,
-                        pushShadow: s,
-                      }
-                    }
-                    function Ys(e, t) {
-                      var n = new WeakMap()
-                      function r(r, i) {
-                        var o
-                        return (
-                          void 0 === i && (i = 0),
-                          !1 === n.has(r)
-                            ? ((o = new Xs(e, t)), n.set(r, []), n.get(r).push(o))
-                            : i >= n.get(r).length
-                            ? ((o = new Xs(e, t)), n.get(r).push(o))
-                            : (o = n.get(r)[i]),
-                          o
-                        )
-                      }
-                      function i() {
-                        n = new WeakMap()
-                      }
-                      return { get: r, dispose: i }
-                    }
-                    function Qs(e) {
-                      Di.call(this),
-                        (this.type = 'MeshDepthMaterial'),
-                        (this.depthPacking = an),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.map = null),
-                        (this.alphaMap = null),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.fog = !1),
-                        this.setValues(e)
-                    }
-                    function Zs(e) {
-                      Di.call(this),
-                        (this.type = 'MeshDistanceMaterial'),
-                        (this.referencePosition = new lr()),
-                        (this.nearDistance = 1),
-                        (this.farDistance = 1e3),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.map = null),
-                        (this.alphaMap = null),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.fog = !1),
-                        this.setValues(e)
-                    }
-                    ;(Qs.prototype = Object.create(Di.prototype)),
-                      (Qs.prototype.constructor = Qs),
-                      (Qs.prototype.isMeshDepthMaterial = !0),
-                      (Qs.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          (this.depthPacking = e.depthPacking),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.map = e.map),
-                          (this.alphaMap = e.alphaMap),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          this
-                        )
-                      }),
-                      (Zs.prototype = Object.create(Di.prototype)),
-                      (Zs.prototype.constructor = Zs),
-                      (Zs.prototype.isMeshDistanceMaterial = !0),
-                      (Zs.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.referencePosition.copy(e.referencePosition),
-                          (this.nearDistance = e.nearDistance),
-                          (this.farDistance = e.farDistance),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.map = e.map),
-                          (this.alphaMap = e.alphaMap),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          this
-                        )
-                      })
-                    var Ks =
-                        'uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}',
-                      Js = 'void main() {\n\tgl_Position = vec4( position, 1.0 );\n}'
-                    function $s(e, t, n) {
-                      var r = new zo(),
-                        i = new Jn(),
-                        o = new Jn(),
-                        a = new ir(),
-                        s = [],
-                        l = [],
-                        c = {},
-                        u = { 0: v, 1: m, 2: g },
-                        h = new Po({
-                          defines: { SAMPLE_RATE: 2 / 8, HALF_SAMPLE_RATE: 1 / 8 },
-                          uniforms: {
-                            shadow_pass: { value: null },
-                            resolution: { value: new Jn() },
-                            radius: { value: 4 },
-                          },
-                          vertexShader: Js,
-                          fragmentShader: Ks,
-                        }),
-                        p = h.clone()
-                      p.defines.HORIZONTAL_PASS = 1
-                      var y = new ro()
-                      y.setAttribute(
-                        'position',
-                        new Fi(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3),
-                      )
-                      var b = new xo(y, h),
-                        w = this
-                      function x(n, r) {
-                        var i = t.update(b)
-                        ;(h.uniforms.shadow_pass.value = n.map.texture),
-                          (h.uniforms.resolution.value = n.mapSize),
-                          (h.uniforms.radius.value = n.radius),
-                          e.setRenderTarget(n.mapPass),
-                          e.clear(),
-                          e.renderBufferDirect(r, null, i, h, b, null),
-                          (p.uniforms.shadow_pass.value = n.mapPass.texture),
-                          (p.uniforms.resolution.value = n.mapSize),
-                          (p.uniforms.radius.value = n.radius),
-                          e.setRenderTarget(n.map),
-                          e.clear(),
-                          e.renderBufferDirect(r, null, i, p, b, null)
-                      }
-                      function E(e, t, n) {
-                        var r = (e << 0) | (t << 1) | (n << 2),
-                          i = s[r]
-                        return (
-                          void 0 === i &&
-                            ((i = new Qs({ depthPacking: sn, morphTargets: e, skinning: t })),
-                            (s[r] = i)),
-                          i
-                        )
-                      }
-                      function M(e, t, n) {
-                        var r = (e << 0) | (t << 1) | (n << 2),
-                          i = l[r]
-                        return (
-                          void 0 === i &&
-                            ((i = new Zs({ morphTargets: e, skinning: t })), (l[r] = i)),
-                          i
-                        )
-                      }
-                      function _(t, n, r, i, o, a, s) {
-                        var l = null,
-                          h = E,
-                          d = t.customDepthMaterial
-                        if (
-                          (!0 === i.isPointLight && ((h = M), (d = t.customDistanceMaterial)),
-                          void 0 === d)
-                        ) {
-                          var p = !1
-                          !0 === r.morphTargets &&
-                            (p =
-                              n.morphAttributes &&
-                              n.morphAttributes.position &&
-                              n.morphAttributes.position.length > 0)
-                          var m = !1
-                          !0 === t.isSkinnedMesh &&
-                            (!0 === r.skinning
-                              ? (m = !0)
-                              : console.warn(
-                                  'THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:',
-                                  t,
-                                )),
-                            (l = h(p, m, !0 === t.isInstancedMesh))
-                        } else l = d
-                        if (
-                          e.localClippingEnabled &&
-                          !0 === r.clipShadows &&
-                          0 !== r.clippingPlanes.length
-                        ) {
-                          var v = l.uuid,
-                            g = r.uuid,
-                            y = c[v]
-                          void 0 === y && ((y = {}), (c[v] = y))
-                          var b = y[g]
-                          void 0 === b && ((b = l.clone()), (y[g] = b)), (l = b)
-                        }
-                        return (
-                          (l.visible = r.visible),
-                          (l.wireframe = r.wireframe),
-                          (l.side =
-                            s === f
-                              ? null !== r.shadowSide
-                                ? r.shadowSide
-                                : r.side
-                              : null !== r.shadowSide
-                              ? r.shadowSide
-                              : u[r.side]),
-                          (l.clipShadows = r.clipShadows),
-                          (l.clippingPlanes = r.clippingPlanes),
-                          (l.clipIntersection = r.clipIntersection),
-                          (l.wireframeLinewidth = r.wireframeLinewidth),
-                          (l.linewidth = r.linewidth),
-                          !0 === i.isPointLight &&
-                            !0 === l.isMeshDistanceMaterial &&
-                            (l.referencePosition.setFromMatrixPosition(i.matrixWorld),
-                            (l.nearDistance = o),
-                            (l.farDistance = a)),
-                          l
-                        )
-                      }
-                      function T(n, i, o, a, s) {
-                        if (!1 !== n.visible) {
-                          if (
-                            n.layers.test(i.layers) &&
-                            (n.isMesh || n.isLine || n.isPoints) &&
-                            (n.castShadow || (n.receiveShadow && s === f)) &&
-                            (!n.frustumCulled || r.intersectsObject(n))
-                          ) {
-                            n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse, n.matrixWorld)
-                            var l = t.update(n),
-                              c = n.material
-                            if (Array.isArray(c))
-                              for (var u = l.groups, h = 0, d = u.length; h < d; h++) {
-                                var p = u[h],
-                                  m = c[p.materialIndex]
-                                if (m && m.visible) {
-                                  var v = _(n, l, m, a, o.near, o.far, s)
-                                  e.renderBufferDirect(o, null, l, v, n, p)
-                                }
-                              }
-                            else if (c.visible) {
-                              var g = _(n, l, c, a, o.near, o.far, s)
-                              e.renderBufferDirect(o, null, l, g, n, null)
-                            }
-                          }
-                          for (var y = n.children, b = 0, A = y.length; b < A; b++)
-                            T(y[b], i, o, a, s)
-                        }
-                      }
-                      ;(this.enabled = !1),
-                        (this.autoUpdate = !0),
-                        (this.needsUpdate = !1),
-                        (this.type = d),
-                        (this.render = function (t, s, l) {
-                          if (
-                            !1 !== w.enabled &&
-                            (!1 !== w.autoUpdate || !1 !== w.needsUpdate) &&
-                            0 !== t.length
-                          ) {
-                            var c = e.getRenderTarget(),
-                              u = e.getActiveCubeFace(),
-                              h = e.getActiveMipmapLevel(),
-                              d = e.state
-                            d.setBlending(A),
-                              d.buffers.color.setClear(1, 1, 1, 1),
-                              d.buffers.depth.setTest(!0),
-                              d.setScissorTest(!1)
-                            for (var p = 0, m = t.length; p < m; p++) {
-                              var v = t[p],
-                                g = v.shadow
-                              if (void 0 !== g) {
-                                if (!1 !== g.autoUpdate || !1 !== g.needsUpdate) {
-                                  i.copy(g.mapSize)
-                                  var y = g.getFrameExtents()
-                                  if (
-                                    (i.multiply(y),
-                                    o.copy(g.mapSize),
-                                    (i.x > n || i.y > n) &&
-                                      (i.x > n &&
-                                        ((o.x = Math.floor(n / y.x)),
-                                        (i.x = o.x * y.x),
-                                        (g.mapSize.x = o.x)),
-                                      i.y > n &&
-                                        ((o.y = Math.floor(n / y.y)),
-                                        (i.y = o.y * y.y),
-                                        (g.mapSize.y = o.y))),
-                                    null === g.map && !g.isPointLightShadow && this.type === f)
-                                  ) {
-                                    var b = { minFilter: Ae, magFilter: Ae, format: Ue }
-                                    ;(g.map = new or(i.x, i.y, b)),
-                                      (g.map.texture.name = v.name + '.shadowMap'),
-                                      (g.mapPass = new or(i.x, i.y, b)),
-                                      g.camera.updateProjectionMatrix()
-                                  }
-                                  if (null === g.map) {
-                                    var E = { minFilter: me, magFilter: me, format: Ue }
-                                    ;(g.map = new or(i.x, i.y, E)),
-                                      (g.map.texture.name = v.name + '.shadowMap'),
-                                      g.camera.updateProjectionMatrix()
-                                  }
-                                  e.setRenderTarget(g.map), e.clear()
-                                  for (var M = g.getViewportCount(), _ = 0; _ < M; _++) {
-                                    var S = g.getViewport(_)
-                                    a.set(o.x * S.x, o.y * S.y, o.x * S.z, o.y * S.w),
-                                      d.viewport(a),
-                                      g.updateMatrices(v, _),
-                                      (r = g.getFrustum()),
-                                      T(s, l, g.camera, v, this.type)
-                                  }
-                                  g.isPointLightShadow || this.type !== f || x(g, l),
-                                    (g.needsUpdate = !1)
-                                }
-                              } else console.warn('THREE.WebGLShadowMap:', v, 'has no shadow.')
-                            }
-                            ;(w.needsUpdate = !1), e.setRenderTarget(c, u, h)
-                          }
-                        })
-                    }
-                    function el(e, t, n) {
-                      var r,
-                        i,
-                        o = n.isWebGL2
-                      function a() {
-                        var t = !1,
-                          n = new ir(),
-                          r = null,
-                          i = new ir(0, 0, 0, 0)
-                        return {
-                          setMask: function (n) {
-                            r === n || t || (e.colorMask(n, n, n, n), (r = n))
-                          },
-                          setLocked: function (e) {
-                            t = e
-                          },
-                          setClear: function (t, r, o, a, s) {
-                            !0 === s && ((t *= a), (r *= a), (o *= a)),
-                              n.set(t, r, o, a),
-                              !1 === i.equals(n) && (e.clearColor(t, r, o, a), i.copy(n))
-                          },
-                          reset: function () {
-                            ;(t = !1), (r = null), i.set(-1, 0, 0, 0)
-                          },
-                        }
-                      }
-                      function u() {
-                        var t = !1,
-                          n = null,
-                          r = null,
-                          i = null
-                        return {
-                          setTest: function (e) {
-                            e ? be(2929) : Ae(2929)
-                          },
-                          setMask: function (r) {
-                            n === r || t || (e.depthMask(r), (n = r))
-                          },
-                          setFunc: function (t) {
-                            if (r !== t) {
-                              if (t)
-                                switch (t) {
-                                  case z:
-                                    e.depthFunc(512)
-                                    break
-                                  case j:
-                                    e.depthFunc(519)
-                                    break
-                                  case V:
-                                    e.depthFunc(513)
-                                    break
-                                  case W:
-                                    e.depthFunc(515)
-                                    break
-                                  case q:
-                                    e.depthFunc(514)
-                                    break
-                                  case X:
-                                    e.depthFunc(518)
-                                    break
-                                  case Y:
-                                    e.depthFunc(516)
-                                    break
-                                  case Q:
-                                    e.depthFunc(517)
-                                    break
-                                  default:
-                                    e.depthFunc(515)
-                                }
-                              else e.depthFunc(515)
-                              r = t
-                            }
-                          },
-                          setLocked: function (e) {
-                            t = e
-                          },
-                          setClear: function (t) {
-                            i !== t && (e.clearDepth(t), (i = t))
-                          },
-                          reset: function () {
-                            ;(t = !1), (n = null), (r = null), (i = null)
-                          },
-                        }
-                      }
-                      function h() {
-                        var t = !1,
-                          n = null,
-                          r = null,
-                          i = null,
-                          o = null,
-                          a = null,
-                          s = null,
-                          l = null,
-                          c = null
-                        return {
-                          setTest: function (e) {
-                            t || (e ? be(2960) : Ae(2960))
-                          },
-                          setMask: function (r) {
-                            n === r || t || (e.stencilMask(r), (n = r))
-                          },
-                          setFunc: function (t, n, a) {
-                            ;(r === t && i === n && o === a) ||
-                              (e.stencilFunc(t, n, a), (r = t), (i = n), (o = a))
-                          },
-                          setOp: function (t, n, r) {
-                            ;(a === t && s === n && l === r) ||
-                              (e.stencilOp(t, n, r), (a = t), (s = n), (l = r))
-                          },
-                          setLocked: function (e) {
-                            t = e
-                          },
-                          setClear: function (t) {
-                            c !== t && (e.clearStencil(t), (c = t))
-                          },
-                          reset: function () {
-                            ;(t = !1),
-                              (n = null),
-                              (r = null),
-                              (i = null),
-                              (o = null),
-                              (a = null),
-                              (s = null),
-                              (l = null),
-                              (c = null)
-                          },
-                        }
-                      }
-                      var d = new a(),
-                        p = new u(),
-                        f = new h(),
-                        m = {},
-                        y = null,
-                        b = null,
-                        Z = null,
-                        K = null,
-                        J = null,
-                        $ = null,
-                        ee = null,
-                        te = null,
-                        ne = null,
-                        re = !1,
-                        ie = null,
-                        oe = null,
-                        ae = null,
-                        se = null,
-                        le = null,
-                        ce = e.getParameter(35661),
-                        ue = !1,
-                        he = 0,
-                        de = e.getParameter(7938)
-                      ;-1 !== de.indexOf('WebGL')
-                        ? ((he = parseFloat(/^WebGL (\d)/.exec(de)[1])), (ue = he >= 1))
-                        : -1 !== de.indexOf('OpenGL ES') &&
-                          ((he = parseFloat(/^OpenGL ES (\d)/.exec(de)[1])), (ue = he >= 2))
-                      var pe = null,
-                        fe = {},
-                        me = new ir(),
-                        ve = new ir()
-                      function ge(t, n, r) {
-                        var i = new Uint8Array(4),
-                          o = e.createTexture()
-                        e.bindTexture(t, o),
-                          e.texParameteri(t, 10241, 9728),
-                          e.texParameteri(t, 10240, 9728)
-                        for (var a = 0; a < r; a++)
-                          e.texImage2D(n + a, 0, 6408, 1, 1, 0, 6408, 5121, i)
-                        return o
-                      }
-                      var ye = {}
-                      function be(t) {
-                        !0 !== m[t] && (e.enable(t), (m[t] = !0))
-                      }
-                      function Ae(t) {
-                        !1 !== m[t] && (e.disable(t), (m[t] = !1))
-                      }
-                      function we(t) {
-                        return y !== t && (e.useProgram(t), (y = t), !0)
-                      }
-                      ;(ye[3553] = ge(3553, 3553, 1)),
-                        (ye[34067] = ge(34067, 34069, 6)),
-                        d.setClear(0, 0, 0, 1),
-                        p.setClear(1),
-                        f.setClear(0),
-                        be(2929),
-                        p.setFunc(W),
-                        Se(!1),
-                        Ce(l),
-                        be(2884),
-                        _e(A)
-                      var xe = (((r = {})[T] = 32774), (r[S] = 32778), (r[C] = 32779), r)
-                      if (o) (xe[L] = 32775), (xe[R] = 32776)
-                      else {
-                        var Ee = t.get('EXT_blend_minmax')
-                        null !== Ee && ((xe[L] = Ee.MIN_EXT), (xe[R] = Ee.MAX_EXT))
-                      }
-                      var Me =
-                        (((i = {})[P] = 0),
-                        (i[D] = 1),
-                        (i[O] = 768),
-                        (i[B] = 770),
-                        (i[G] = 776),
-                        (i[U] = 774),
-                        (i[k] = 772),
-                        (i[I] = 769),
-                        (i[F] = 771),
-                        (i[H] = 775),
-                        (i[N] = 773),
-                        i)
-                      function _e(t, n, r, i, o, a, s, l) {
-                        if (t !== A) {
-                          if ((b || (be(3042), (b = !0)), t === _))
-                            (o = o || n),
-                              (a = a || r),
-                              (s = s || i),
-                              (n === K && o === ee) ||
-                                (e.blendEquationSeparate(xe[n], xe[o]), (K = n), (ee = o)),
-                              (r === J && i === $ && a === te && s === ne) ||
-                                (e.blendFuncSeparate(Me[r], Me[i], Me[a], Me[s]),
-                                (J = r),
-                                ($ = i),
-                                (te = a),
-                                (ne = s)),
-                              (Z = t),
-                              (re = null)
-                          else if (t !== Z || l !== re) {
-                            if (
-                              ((K === T && ee === T) || (e.blendEquation(32774), (K = T), (ee = T)),
-                              l)
-                            )
-                              switch (t) {
-                                case w:
-                                  e.blendFuncSeparate(1, 771, 1, 771)
-                                  break
-                                case x:
-                                  e.blendFunc(1, 1)
-                                  break
-                                case E:
-                                  e.blendFuncSeparate(0, 0, 769, 771)
-                                  break
-                                case M:
-                                  e.blendFuncSeparate(0, 768, 0, 770)
-                                  break
-                                default:
-                                  console.error('THREE.WebGLState: Invalid blending: ', t)
-                              }
-                            else
-                              switch (t) {
-                                case w:
-                                  e.blendFuncSeparate(770, 771, 1, 771)
-                                  break
-                                case x:
-                                  e.blendFunc(770, 1)
-                                  break
-                                case E:
-                                  e.blendFunc(0, 769)
-                                  break
-                                case M:
-                                  e.blendFunc(0, 768)
-                                  break
-                                default:
-                                  console.error('THREE.WebGLState: Invalid blending: ', t)
-                              }
-                            ;(J = null), ($ = null), (te = null), (ne = null), (Z = t), (re = l)
-                          }
-                        } else b && (Ae(3042), (b = !1))
-                      }
-                      function Te(e, t) {
-                        e.side === g ? Ae(2884) : be(2884)
-                        var n = e.side === v
-                        t && (n = !n),
-                          Se(n),
-                          e.blending === w && !1 === e.transparent
-                            ? _e(A)
-                            : _e(
-                                e.blending,
-                                e.blendEquation,
-                                e.blendSrc,
-                                e.blendDst,
-                                e.blendEquationAlpha,
-                                e.blendSrcAlpha,
-                                e.blendDstAlpha,
-                                e.premultipliedAlpha,
-                              ),
-                          p.setFunc(e.depthFunc),
-                          p.setTest(e.depthTest),
-                          p.setMask(e.depthWrite),
-                          d.setMask(e.colorWrite)
-                        var r = e.stencilWrite
-                        f.setTest(r),
-                          r &&
-                            (f.setMask(e.stencilWriteMask),
-                            f.setFunc(e.stencilFunc, e.stencilRef, e.stencilFuncMask),
-                            f.setOp(e.stencilFail, e.stencilZFail, e.stencilZPass)),
-                          Re(e.polygonOffset, e.polygonOffsetFactor, e.polygonOffsetUnits)
-                      }
-                      function Se(t) {
-                        ie !== t && (t ? e.frontFace(2304) : e.frontFace(2305), (ie = t))
-                      }
-                      function Ce(t) {
-                        t !== s
-                          ? (be(2884),
-                            t !== oe &&
-                              (t === l
-                                ? e.cullFace(1029)
-                                : t === c
-                                ? e.cullFace(1028)
-                                : e.cullFace(1032)))
-                          : Ae(2884),
-                          (oe = t)
-                      }
-                      function Le(t) {
-                        t !== ae && (ue && e.lineWidth(t), (ae = t))
-                      }
-                      function Re(t, n, r) {
-                        t
-                          ? (be(32823),
-                            (se === n && le === r) || (e.polygonOffset(n, r), (se = n), (le = r)))
-                          : Ae(32823)
-                      }
-                      function Pe(e) {
-                        e ? be(3089) : Ae(3089)
-                      }
-                      function De(t) {
-                        void 0 === t && (t = 33984 + ce - 1),
-                          pe !== t && (e.activeTexture(t), (pe = t))
-                      }
-                      function Oe(t, n) {
-                        null === pe && De()
-                        var r = fe[pe]
-                        void 0 === r && ((r = { type: void 0, texture: void 0 }), (fe[pe] = r)),
-                          (r.type === t && r.texture === n) ||
-                            (e.bindTexture(t, n || ye[t]), (r.type = t), (r.texture = n))
-                      }
-                      function Ie() {
-                        var t = fe[pe]
-                        void 0 !== t &&
-                          void 0 !== t.type &&
-                          (e.bindTexture(t.type, null), (t.type = void 0), (t.texture = void 0))
-                      }
-                      function Be() {
-                        try {
-                          e.compressedTexImage2D.apply(e, arguments)
-                        } catch (t) {
-                          console.error('THREE.WebGLState:', t)
-                        }
-                      }
-                      function Fe() {
-                        try {
-                          e.texImage2D.apply(e, arguments)
-                        } catch (t) {
-                          console.error('THREE.WebGLState:', t)
-                        }
-                      }
-                      function ke() {
-                        try {
-                          e.texImage3D.apply(e, arguments)
-                        } catch (t) {
-                          console.error('THREE.WebGLState:', t)
-                        }
-                      }
-                      function Ne(t) {
-                        !1 === me.equals(t) && (e.scissor(t.x, t.y, t.z, t.w), me.copy(t))
-                      }
-                      function Ue(t) {
-                        !1 === ve.equals(t) && (e.viewport(t.x, t.y, t.z, t.w), ve.copy(t))
-                      }
-                      function He() {
-                        ;(m = {}),
-                          (pe = null),
-                          (fe = {}),
-                          (y = null),
-                          (b = null),
-                          (Z = null),
-                          (K = null),
-                          (J = null),
-                          ($ = null),
-                          (ee = null),
-                          (te = null),
-                          (ne = null),
-                          (re = !1),
-                          (ie = null),
-                          (oe = null),
-                          (ae = null),
-                          (se = null),
-                          (le = null),
-                          d.reset(),
-                          p.reset(),
-                          f.reset()
-                      }
-                      return {
-                        buffers: { color: d, depth: p, stencil: f },
-                        enable: be,
-                        disable: Ae,
-                        useProgram: we,
-                        setBlending: _e,
-                        setMaterial: Te,
-                        setFlipSided: Se,
-                        setCullFace: Ce,
-                        setLineWidth: Le,
-                        setPolygonOffset: Re,
-                        setScissorTest: Pe,
-                        activeTexture: De,
-                        bindTexture: Oe,
-                        unbindTexture: Ie,
-                        compressedTexImage2D: Be,
-                        texImage2D: Fe,
-                        texImage3D: ke,
-                        scissor: Ne,
-                        viewport: Ue,
-                        reset: He,
-                      }
-                    }
-                    function tl(e, t, n, r, i, o, a) {
-                      var s,
-                        l,
-                        c,
-                        u = i.isWebGL2,
-                        h = i.maxTextures,
-                        d = i.maxCubemapSize,
-                        p = i.maxTextureSize,
-                        f = i.maxSamples,
-                        m = new WeakMap(),
-                        v = !1
-                      try {
-                        v =
-                          'undefined' !== typeof OffscreenCanvas &&
-                          null !== new OffscreenCanvas(1, 1).getContext('2d')
-                      } catch (te) {}
-                      function g(e, t) {
-                        return v
-                          ? new OffscreenCanvas(e, t)
-                          : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')
-                      }
-                      function y(e, t, n, r) {
-                        var i = 1
-                        if (
-                          ((e.width > r || e.height > r) && (i = r / Math.max(e.width, e.height)),
-                          i < 1 || !0 === t)
-                        ) {
-                          if (
-                            ('undefined' !== typeof HTMLImageElement &&
-                              e instanceof HTMLImageElement) ||
-                            ('undefined' !== typeof HTMLCanvasElement &&
-                              e instanceof HTMLCanvasElement) ||
-                            ('undefined' !== typeof ImageBitmap && e instanceof ImageBitmap)
-                          ) {
-                            var o = t ? Kn.floorPowerOfTwo : Math.floor,
-                              a = o(i * e.width),
-                              s = o(i * e.height)
-                            void 0 === c && (c = g(a, s))
-                            var l = n ? g(a, s) : c
-                            return (
-                              (l.width = a),
-                              (l.height = s),
-                              l.getContext('2d').drawImage(e, 0, 0, a, s),
-                              console.warn(
-                                'THREE.WebGLRenderer: Texture has been resized from (' +
-                                  e.width +
-                                  'x' +
-                                  e.height +
-                                  ') to (' +
-                                  a +
-                                  'x' +
-                                  s +
-                                  ').',
-                              ),
-                              l
-                            )
-                          }
-                          return (
-                            'data' in e &&
-                              console.warn(
-                                'THREE.WebGLRenderer: Image in DataTexture is too big (' +
-                                  e.width +
-                                  'x' +
-                                  e.height +
-                                  ').',
-                              ),
-                            e
-                          )
-                        }
-                        return e
-                      }
-                      function b(e) {
-                        return Kn.isPowerOfTwo(e.width) && Kn.isPowerOfTwo(e.height)
-                      }
-                      function A(e) {
-                        return (
-                          !u &&
-                          (e.wrapS !== pe ||
-                            e.wrapT !== pe ||
-                            (e.minFilter !== me && e.minFilter !== Ae))
-                        )
-                      }
-                      function w(e, t) {
-                        return e.generateMipmaps && t && e.minFilter !== me && e.minFilter !== Ae
-                      }
-                      function x(t, n, i, o) {
-                        e.generateMipmap(t),
-                          (r.get(n).__maxMipLevel = Math.log(Math.max(i, o)) * Math.LOG2E)
-                      }
-                      function E(n, r, i) {
-                        if (!1 === u) return r
-                        if (null !== n) {
-                          if (void 0 !== e[n]) return e[n]
-                          console.warn(
-                            "THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" +
-                              n +
-                              "'",
-                          )
-                        }
-                        var o = r
-                        return (
-                          6403 === r &&
-                            (5126 === i && (o = 33326),
-                            5131 === i && (o = 33325),
-                            5121 === i && (o = 33321)),
-                          6407 === r &&
-                            (5126 === i && (o = 34837),
-                            5131 === i && (o = 34843),
-                            5121 === i && (o = 32849)),
-                          6408 === r &&
-                            (5126 === i && (o = 34836),
-                            5131 === i && (o = 34842),
-                            5121 === i && (o = 32856)),
-                          (33325 !== o && 33326 !== o && 34842 !== o && 34836 !== o) ||
-                            t.get('EXT_color_buffer_float'),
-                          o
-                        )
-                      }
-                      function M(e) {
-                        return e === me || e === ve || e === ye ? 9728 : 9729
-                      }
-                      function _(e) {
-                        var t = e.target
-                        t.removeEventListener('dispose', _),
-                          S(t),
-                          t.isVideoTexture && m.delete(t),
-                          a.memory.textures--
-                      }
-                      function T(e) {
-                        var t = e.target
-                        t.removeEventListener('dispose', T), C(t), a.memory.textures--
-                      }
-                      function S(t) {
-                        var n = r.get(t)
-                        void 0 !== n.__webglInit && (e.deleteTexture(n.__webglTexture), r.remove(t))
-                      }
-                      function C(t) {
-                        var n = r.get(t),
-                          i = r.get(t.texture)
-                        if (t) {
-                          if (
-                            (void 0 !== i.__webglTexture && e.deleteTexture(i.__webglTexture),
-                            t.depthTexture && t.depthTexture.dispose(),
-                            t.isWebGLCubeRenderTarget)
-                          )
-                            for (var o = 0; o < 6; o++)
-                              e.deleteFramebuffer(n.__webglFramebuffer[o]),
-                                n.__webglDepthbuffer &&
-                                  e.deleteRenderbuffer(n.__webglDepthbuffer[o])
-                          else
-                            e.deleteFramebuffer(n.__webglFramebuffer),
-                              n.__webglDepthbuffer && e.deleteRenderbuffer(n.__webglDepthbuffer),
-                              n.__webglMultisampledFramebuffer &&
-                                e.deleteFramebuffer(n.__webglMultisampledFramebuffer),
-                              n.__webglColorRenderbuffer &&
-                                e.deleteRenderbuffer(n.__webglColorRenderbuffer),
-                              n.__webglDepthRenderbuffer &&
-                                e.deleteRenderbuffer(n.__webglDepthRenderbuffer)
-                          r.remove(t.texture), r.remove(t)
-                        }
-                      }
-                      var L = 0
-                      function R() {
-                        L = 0
-                      }
-                      function P() {
-                        var e = L
-                        return (
-                          e >= h &&
-                            console.warn(
-                              'THREE.WebGLTextures: Trying to use ' +
-                                e +
-                                ' texture units while this GPU supports only ' +
-                                h,
-                            ),
-                          (L += 1),
-                          e
-                        )
-                      }
-                      function D(e, t) {
-                        var i = r.get(e)
-                        if (
-                          (e.isVideoTexture && Z(e), e.version > 0 && i.__version !== e.version)
-                        ) {
-                          var o = e.image
-                          if (void 0 === o)
-                            console.warn(
-                              'THREE.WebGLRenderer: Texture marked for update but image is undefined',
-                            )
-                          else {
-                            if (!1 !== o.complete) return void H(i, e, t)
-                            console.warn(
-                              'THREE.WebGLRenderer: Texture marked for update but image is incomplete',
-                            )
-                          }
-                        }
-                        n.activeTexture(33984 + t), n.bindTexture(3553, i.__webglTexture)
-                      }
-                      function O(e, t) {
-                        var i = r.get(e)
-                        e.version > 0 && i.__version !== e.version
-                          ? H(i, e, t)
-                          : (n.activeTexture(33984 + t), n.bindTexture(35866, i.__webglTexture))
-                      }
-                      function I(e, t) {
-                        var i = r.get(e)
-                        e.version > 0 && i.__version !== e.version
-                          ? H(i, e, t)
-                          : (n.activeTexture(33984 + t), n.bindTexture(32879, i.__webglTexture))
-                      }
-                      function B(e, t) {
-                        var i = r.get(e)
-                        e.version > 0 && i.__version !== e.version
-                          ? G(i, e, t)
-                          : (n.activeTexture(33984 + t), n.bindTexture(34067, i.__webglTexture))
-                      }
-                      var F = (((s = {})[de] = 10497), (s[pe] = 33071), (s[fe] = 33648), s),
-                        k =
-                          (((l = {})[me] = 9728),
-                          (l[ve] = 9984),
-                          (l[ye] = 9986),
-                          (l[Ae] = 9729),
-                          (l[we] = 9985),
-                          (l[Ee] = 9987),
-                          l)
-                      function N(n, o, a) {
-                        a
-                          ? (e.texParameteri(n, 10242, F[o.wrapS]),
-                            e.texParameteri(n, 10243, F[o.wrapT]),
-                            (32879 !== n && 35866 !== n) || e.texParameteri(n, 32882, F[o.wrapR]),
-                            e.texParameteri(n, 10240, k[o.magFilter]),
-                            e.texParameteri(n, 10241, k[o.minFilter]))
-                          : (e.texParameteri(n, 10242, 33071),
-                            e.texParameteri(n, 10243, 33071),
-                            (32879 !== n && 35866 !== n) || e.texParameteri(n, 32882, 33071),
-                            (o.wrapS === pe && o.wrapT === pe) ||
-                              console.warn(
-                                'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.',
-                              ),
-                            e.texParameteri(n, 10240, M(o.magFilter)),
-                            e.texParameteri(n, 10241, M(o.minFilter)),
-                            o.minFilter !== me &&
-                              o.minFilter !== Ae &&
-                              console.warn(
-                                'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.',
-                              ))
-                        var s = t.get('EXT_texture_filter_anisotropic')
-                        if (s) {
-                          if (o.type === Pe && null === t.get('OES_texture_float_linear')) return
-                          if (
-                            o.type === De &&
-                            null === (u || t.get('OES_texture_half_float_linear'))
-                          )
-                            return
-                          ;(o.anisotropy > 1 || r.get(o).__currentAnisotropy) &&
-                            (e.texParameterf(
-                              n,
-                              s.TEXTURE_MAX_ANISOTROPY_EXT,
-                              Math.min(o.anisotropy, i.getMaxAnisotropy()),
-                            ),
-                            (r.get(o).__currentAnisotropy = o.anisotropy))
-                        }
-                      }
-                      function U(t, n) {
-                        void 0 === t.__webglInit &&
-                          ((t.__webglInit = !0),
-                          n.addEventListener('dispose', _),
-                          (t.__webglTexture = e.createTexture()),
-                          a.memory.textures++)
-                      }
-                      function H(t, r, i) {
-                        var a = 3553
-                        r.isDataTexture2DArray && (a = 35866),
-                          r.isDataTexture3D && (a = 32879),
-                          U(t, r),
-                          n.activeTexture(33984 + i),
-                          n.bindTexture(a, t.__webglTexture),
-                          e.pixelStorei(37440, r.flipY),
-                          e.pixelStorei(37441, r.premultiplyAlpha),
-                          e.pixelStorei(3317, r.unpackAlignment)
-                        var s,
-                          l = A(r) && !1 === b(r.image),
-                          c = y(r.image, l, !1, p),
-                          h = b(c) || u,
-                          d = o.convert(r.format),
-                          f = o.convert(r.type),
-                          m = E(r.internalFormat, d, f)
-                        N(a, r, h)
-                        var v = r.mipmaps
-                        if (r.isDepthTexture)
-                          (m = 6402),
-                            u
-                              ? (m =
-                                  r.type === Pe
-                                    ? 36012
-                                    : r.type === Re
-                                    ? 33190
-                                    : r.type === Fe
-                                    ? 35056
-                                    : 33189)
-                              : r.type === Pe &&
-                                console.error(
-                                  'WebGLRenderer: Floating point depth texture requires WebGL2.',
-                                ),
-                            r.format === je &&
-                              6402 === m &&
-                              r.type !== Ce &&
-                              r.type !== Re &&
-                              (console.warn(
-                                'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.',
-                              ),
-                              (r.type = Ce),
-                              (f = o.convert(r.type))),
-                            r.format === Ve &&
-                              6402 === m &&
-                              ((m = 34041),
-                              r.type !== Fe &&
-                                (console.warn(
-                                  'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.',
-                                ),
-                                (r.type = Fe),
-                                (f = o.convert(r.type)))),
-                            n.texImage2D(3553, 0, m, c.width, c.height, 0, d, f, null)
-                        else if (r.isDataTexture)
-                          if (v.length > 0 && h) {
-                            for (var g = 0, M = v.length; g < M; g++)
-                              (s = v[g]),
-                                n.texImage2D(3553, g, m, s.width, s.height, 0, d, f, s.data)
-                            ;(r.generateMipmaps = !1), (t.__maxMipLevel = v.length - 1)
-                          } else
-                            n.texImage2D(3553, 0, m, c.width, c.height, 0, d, f, c.data),
-                              (t.__maxMipLevel = 0)
-                        else if (r.isCompressedTexture) {
-                          for (var _ = 0, T = v.length; _ < T; _++)
-                            (s = v[_]),
-                              r.format !== Ue && r.format !== Ne
-                                ? null !== d
-                                  ? n.compressedTexImage2D(3553, _, m, s.width, s.height, 0, s.data)
-                                  : console.warn(
-                                      'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()',
-                                    )
-                                : n.texImage2D(3553, _, m, s.width, s.height, 0, d, f, s.data)
-                          t.__maxMipLevel = v.length - 1
-                        } else if (r.isDataTexture2DArray)
-                          n.texImage3D(35866, 0, m, c.width, c.height, c.depth, 0, d, f, c.data),
-                            (t.__maxMipLevel = 0)
-                        else if (r.isDataTexture3D)
-                          n.texImage3D(32879, 0, m, c.width, c.height, c.depth, 0, d, f, c.data),
-                            (t.__maxMipLevel = 0)
-                        else if (v.length > 0 && h) {
-                          for (var S = 0, C = v.length; S < C; S++)
-                            (s = v[S]), n.texImage2D(3553, S, m, d, f, s)
-                          ;(r.generateMipmaps = !1), (t.__maxMipLevel = v.length - 1)
-                        } else n.texImage2D(3553, 0, m, d, f, c), (t.__maxMipLevel = 0)
-                        w(r, h) && x(a, r, c.width, c.height),
-                          (t.__version = r.version),
-                          r.onUpdate && r.onUpdate(r)
-                      }
-                      function G(t, r, i) {
-                        if (6 === r.image.length) {
-                          U(t, r),
-                            n.activeTexture(33984 + i),
-                            n.bindTexture(34067, t.__webglTexture),
-                            e.pixelStorei(37440, r.flipY),
-                            e.pixelStorei(37441, r.premultiplyAlpha),
-                            e.pixelStorei(3317, r.unpackAlignment)
-                          for (
-                            var a = r && (r.isCompressedTexture || r.image[0].isCompressedTexture),
-                              s = r.image[0] && r.image[0].isDataTexture,
-                              l = [],
-                              c = 0;
-                            c < 6;
-                            c++
-                          )
-                            l[c] =
-                              a || s
-                                ? s
-                                  ? r.image[c].image
-                                  : r.image[c]
-                                : y(r.image[c], !1, !0, d)
-                          var h,
-                            p = l[0],
-                            f = b(p) || u,
-                            m = o.convert(r.format),
-                            v = o.convert(r.type),
-                            g = E(r.internalFormat, m, v)
-                          if ((N(34067, r, f), a)) {
-                            for (var A = 0; A < 6; A++) {
-                              h = l[A].mipmaps
-                              for (var M = 0; M < h.length; M++) {
-                                var _ = h[M]
-                                r.format !== Ue && r.format !== Ne
-                                  ? null !== m
-                                    ? n.compressedTexImage2D(
-                                        34069 + A,
-                                        M,
-                                        g,
-                                        _.width,
-                                        _.height,
-                                        0,
-                                        _.data,
-                                      )
-                                    : console.warn(
-                                        'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()',
-                                      )
-                                  : n.texImage2D(
-                                      34069 + A,
-                                      M,
-                                      g,
-                                      _.width,
-                                      _.height,
-                                      0,
-                                      m,
-                                      v,
-                                      _.data,
-                                    )
-                              }
-                            }
-                            t.__maxMipLevel = h.length - 1
-                          } else {
-                            h = r.mipmaps
-                            for (var T = 0; T < 6; T++)
-                              if (s) {
-                                n.texImage2D(
-                                  34069 + T,
-                                  0,
-                                  g,
-                                  l[T].width,
-                                  l[T].height,
-                                  0,
-                                  m,
-                                  v,
-                                  l[T].data,
-                                )
-                                for (var S = 0; S < h.length; S++) {
-                                  var C = h[S].image[T].image
-                                  n.texImage2D(
-                                    34069 + T,
-                                    S + 1,
-                                    g,
-                                    C.width,
-                                    C.height,
-                                    0,
-                                    m,
-                                    v,
-                                    C.data,
-                                  )
-                                }
-                              } else {
-                                n.texImage2D(34069 + T, 0, g, m, v, l[T])
-                                for (var L = 0; L < h.length; L++) {
-                                  var R = h[L]
-                                  n.texImage2D(34069 + T, L + 1, g, m, v, R.image[T])
-                                }
-                              }
-                            t.__maxMipLevel = h.length
-                          }
-                          w(r, f) && x(34067, r, p.width, p.height),
-                            (t.__version = r.version),
-                            r.onUpdate && r.onUpdate(r)
-                        }
-                      }
-                      function z(t, i, a, s) {
-                        var l = o.convert(i.texture.format),
-                          c = o.convert(i.texture.type),
-                          u = E(i.texture.internalFormat, l, c)
-                        n.texImage2D(s, 0, u, i.width, i.height, 0, l, c, null),
-                          e.bindFramebuffer(36160, t),
-                          e.framebufferTexture2D(36160, a, s, r.get(i.texture).__webglTexture, 0),
-                          e.bindFramebuffer(36160, null)
-                      }
-                      function j(t, n, r) {
-                        if ((e.bindRenderbuffer(36161, t), n.depthBuffer && !n.stencilBuffer)) {
-                          var i = 33189
-                          if (r) {
-                            var a = n.depthTexture
-                            a &&
-                              a.isDepthTexture &&
-                              (a.type === Pe ? (i = 36012) : a.type === Re && (i = 33190))
-                            var s = Q(n)
-                            e.renderbufferStorageMultisample(36161, s, i, n.width, n.height)
-                          } else e.renderbufferStorage(36161, i, n.width, n.height)
-                          e.framebufferRenderbuffer(36160, 36096, 36161, t)
-                        } else if (n.depthBuffer && n.stencilBuffer) {
-                          if (r) {
-                            var l = Q(n)
-                            e.renderbufferStorageMultisample(36161, l, 35056, n.width, n.height)
-                          } else e.renderbufferStorage(36161, 34041, n.width, n.height)
-                          e.framebufferRenderbuffer(36160, 33306, 36161, t)
-                        } else {
-                          var c = o.convert(n.texture.format),
-                            u = o.convert(n.texture.type),
-                            h = E(n.texture.internalFormat, c, u)
-                          if (r) {
-                            var d = Q(n)
-                            e.renderbufferStorageMultisample(36161, d, h, n.width, n.height)
-                          } else e.renderbufferStorage(36161, h, n.width, n.height)
-                        }
-                        e.bindRenderbuffer(36161, null)
-                      }
-                      function V(t, n) {
-                        if (n && n.isWebGLCubeRenderTarget)
-                          throw new Error('Depth Texture with cube render targets is not supported')
-                        if (
-                          (e.bindFramebuffer(36160, t),
-                          !n.depthTexture || !n.depthTexture.isDepthTexture)
-                        )
-                          throw new Error(
-                            'renderTarget.depthTexture must be an instance of THREE.DepthTexture',
-                          )
-                        ;(r.get(n.depthTexture).__webglTexture &&
-                          n.depthTexture.image.width === n.width &&
-                          n.depthTexture.image.height === n.height) ||
-                          ((n.depthTexture.image.width = n.width),
-                          (n.depthTexture.image.height = n.height),
-                          (n.depthTexture.needsUpdate = !0)),
-                          D(n.depthTexture, 0)
-                        var i = r.get(n.depthTexture).__webglTexture
-                        if (n.depthTexture.format === je)
-                          e.framebufferTexture2D(36160, 36096, 3553, i, 0)
-                        else {
-                          if (n.depthTexture.format !== Ve)
-                            throw new Error('Unknown depthTexture format')
-                          e.framebufferTexture2D(36160, 33306, 3553, i, 0)
-                        }
-                      }
-                      function W(t) {
-                        var n = r.get(t),
-                          i = !0 === t.isWebGLCubeRenderTarget
-                        if (t.depthTexture) {
-                          if (i)
-                            throw new Error(
-                              'target.depthTexture not supported in Cube render targets',
-                            )
-                          V(n.__webglFramebuffer, t)
-                        } else if (i) {
-                          n.__webglDepthbuffer = []
-                          for (var o = 0; o < 6; o++)
-                            e.bindFramebuffer(36160, n.__webglFramebuffer[o]),
-                              (n.__webglDepthbuffer[o] = e.createRenderbuffer()),
-                              j(n.__webglDepthbuffer[o], t, !1)
-                        } else
-                          e.bindFramebuffer(36160, n.__webglFramebuffer),
-                            (n.__webglDepthbuffer = e.createRenderbuffer()),
-                            j(n.__webglDepthbuffer, t, !1)
-                        e.bindFramebuffer(36160, null)
-                      }
-                      function q(t) {
-                        var i = r.get(t),
-                          s = r.get(t.texture)
-                        t.addEventListener('dispose', T),
-                          (s.__webglTexture = e.createTexture()),
-                          a.memory.textures++
-                        var l = !0 === t.isWebGLCubeRenderTarget,
-                          c = !0 === t.isWebGLMultisampleRenderTarget,
-                          h = b(t) || u
-                        if (
-                          (!u ||
-                            t.texture.format !== Ne ||
-                            (t.texture.type !== Pe && t.texture.type !== De) ||
-                            ((t.texture.format = Ue),
-                            console.warn(
-                              'THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.',
-                            )),
-                          l)
-                        ) {
-                          i.__webglFramebuffer = []
-                          for (var d = 0; d < 6; d++)
-                            i.__webglFramebuffer[d] = e.createFramebuffer()
-                        } else if (((i.__webglFramebuffer = e.createFramebuffer()), c))
-                          if (u) {
-                            ;(i.__webglMultisampledFramebuffer = e.createFramebuffer()),
-                              (i.__webglColorRenderbuffer = e.createRenderbuffer()),
-                              e.bindRenderbuffer(36161, i.__webglColorRenderbuffer)
-                            var p = o.convert(t.texture.format),
-                              f = o.convert(t.texture.type),
-                              m = E(t.texture.internalFormat, p, f),
-                              v = Q(t)
-                            e.renderbufferStorageMultisample(36161, v, m, t.width, t.height),
-                              e.bindFramebuffer(36160, i.__webglMultisampledFramebuffer),
-                              e.framebufferRenderbuffer(
-                                36160,
-                                36064,
-                                36161,
-                                i.__webglColorRenderbuffer,
-                              ),
-                              e.bindRenderbuffer(36161, null),
-                              t.depthBuffer &&
-                                ((i.__webglDepthRenderbuffer = e.createRenderbuffer()),
-                                j(i.__webglDepthRenderbuffer, t, !0)),
-                              e.bindFramebuffer(36160, null)
-                          } else
-                            console.warn(
-                              'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.',
-                            )
-                        if (l) {
-                          n.bindTexture(34067, s.__webglTexture), N(34067, t.texture, h)
-                          for (var g = 0; g < 6; g++)
-                            z(i.__webglFramebuffer[g], t, 36064, 34069 + g)
-                          w(t.texture, h) && x(34067, t.texture, t.width, t.height),
-                            n.bindTexture(34067, null)
-                        } else
-                          n.bindTexture(3553, s.__webglTexture),
-                            N(3553, t.texture, h),
-                            z(i.__webglFramebuffer, t, 36064, 3553),
-                            w(t.texture, h) && x(3553, t.texture, t.width, t.height),
-                            n.bindTexture(3553, null)
-                        t.depthBuffer && W(t)
-                      }
-                      function X(e) {
-                        var t = e.texture
-                        if (w(t, b(e) || u)) {
-                          var i = e.isWebGLCubeRenderTarget ? 34067 : 3553,
-                            o = r.get(t).__webglTexture
-                          n.bindTexture(i, o), x(i, t, e.width, e.height), n.bindTexture(i, null)
-                        }
-                      }
-                      function Y(t) {
-                        if (t.isWebGLMultisampleRenderTarget)
-                          if (u) {
-                            var n = r.get(t)
-                            e.bindFramebuffer(36008, n.__webglMultisampledFramebuffer),
-                              e.bindFramebuffer(36009, n.__webglFramebuffer)
-                            var i = t.width,
-                              o = t.height,
-                              a = 16384
-                            t.depthBuffer && (a |= 256),
-                              t.stencilBuffer && (a |= 1024),
-                              e.blitFramebuffer(0, 0, i, o, 0, 0, i, o, a, 9728),
-                              e.bindFramebuffer(36160, n.__webglMultisampledFramebuffer)
-                          } else
-                            console.warn(
-                              'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.',
-                            )
-                      }
-                      function Q(e) {
-                        return u && e.isWebGLMultisampleRenderTarget ? Math.min(f, e.samples) : 0
-                      }
-                      function Z(e) {
-                        var t = a.render.frame
-                        m.get(e) !== t && (m.set(e, t), e.update())
-                      }
-                      var K = !1,
-                        J = !1
-                      function $(e, t) {
-                        e &&
-                          e.isWebGLRenderTarget &&
-                          (!1 === K &&
-                            (console.warn(
-                              "THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.",
-                            ),
-                            (K = !0)),
-                          (e = e.texture)),
-                          D(e, t)
-                      }
-                      function ee(e, t) {
-                        e &&
-                          e.isWebGLCubeRenderTarget &&
-                          (!1 === J &&
-                            (console.warn(
-                              "THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.",
-                            ),
-                            (J = !0)),
-                          (e = e.texture)),
-                          B(e, t)
-                      }
-                      ;(this.allocateTextureUnit = P),
-                        (this.resetTextureUnits = R),
-                        (this.setTexture2D = D),
-                        (this.setTexture2DArray = O),
-                        (this.setTexture3D = I),
-                        (this.setTextureCube = B),
-                        (this.setupRenderTarget = q),
-                        (this.updateRenderTargetMipmap = X),
-                        (this.updateMultisampleRenderTarget = Y),
-                        (this.safeSetTexture2D = $),
-                        (this.safeSetTextureCube = ee)
-                    }
-                    function nl(e, t, n) {
-                      var r = n.isWebGL2
-                      function i(e) {
-                        var n
-                        if (e === _e) return 5121
-                        if (e === Oe) return 32819
-                        if (e === Ie) return 32820
-                        if (e === Be) return 33635
-                        if (e === Te) return 5120
-                        if (e === Se) return 5122
-                        if (e === Ce) return 5123
-                        if (e === Le) return 5124
-                        if (e === Re) return 5125
-                        if (e === Pe) return 5126
-                        if (e === De)
-                          return r
-                            ? 5131
-                            : null !== (n = t.get('OES_texture_half_float'))
-                            ? n.HALF_FLOAT_OES
-                            : null
-                        if (e === ke) return 6406
-                        if (e === Ne) return 6407
-                        if (e === Ue) return 6408
-                        if (e === He) return 6409
-                        if (e === Ge) return 6410
-                        if (e === je) return 6402
-                        if (e === Ve) return 34041
-                        if (e === We) return 6403
-                        if (e === qe) return 36244
-                        if (e === Xe) return 33319
-                        if (e === Ye) return 33320
-                        if (e === Qe) return 36248
-                        if (e === Ze) return 36249
-                        if (e === Ke || e === Je || e === $e || e === et) {
-                          if (null === (n = t.get('WEBGL_compressed_texture_s3tc'))) return null
-                          if (e === Ke) return n.COMPRESSED_RGB_S3TC_DXT1_EXT
-                          if (e === Je) return n.COMPRESSED_RGBA_S3TC_DXT1_EXT
-                          if (e === $e) return n.COMPRESSED_RGBA_S3TC_DXT3_EXT
-                          if (e === et) return n.COMPRESSED_RGBA_S3TC_DXT5_EXT
-                        }
-                        if (e === tt || e === nt || e === rt || e === it) {
-                          if (null === (n = t.get('WEBGL_compressed_texture_pvrtc'))) return null
-                          if (e === tt) return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
-                          if (e === nt) return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
-                          if (e === rt) return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
-                          if (e === it) return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
-                        }
-                        if (e === ot)
-                          return null !== (n = t.get('WEBGL_compressed_texture_etc1'))
-                            ? n.COMPRESSED_RGB_ETC1_WEBGL
-                            : null
-                        if (
-                          (e === at || e === st) &&
-                          null !== (n = t.get('WEBGL_compressed_texture_etc'))
-                        ) {
-                          if (e === at) return n.COMPRESSED_RGB8_ETC2
-                          if (e === st) return n.COMPRESSED_RGBA8_ETC2_EAC
-                        }
-                        return e === lt ||
-                          e === ct ||
-                          e === ut ||
-                          e === ht ||
-                          e === dt ||
-                          e === pt ||
-                          e === ft ||
-                          e === mt ||
-                          e === vt ||
-                          e === gt ||
-                          e === yt ||
-                          e === bt ||
-                          e === At ||
-                          e === wt ||
-                          e === Et ||
-                          e === Mt ||
-                          e === _t ||
-                          e === Tt ||
-                          e === St ||
-                          e === Ct ||
-                          e === Lt ||
-                          e === Rt ||
-                          e === Pt ||
-                          e === Dt ||
-                          e === Ot ||
-                          e === It ||
-                          e === Bt ||
-                          e === Ft
-                          ? null !== (n = t.get('WEBGL_compressed_texture_astc'))
-                            ? e
-                            : null
-                          : e === xt
-                          ? null !== (n = t.get('EXT_texture_compression_bptc'))
-                            ? e
-                            : null
-                          : e === Fe
-                          ? r
-                            ? 34042
-                            : null !== (n = t.get('WEBGL_depth_texture'))
-                            ? n.UNSIGNED_INT_24_8_WEBGL
-                            : null
-                          : void 0
-                      }
-                      return { convert: i }
-                    }
-                    function rl() {
-                      si.call(this), (this.type = 'Group')
-                    }
-                    function il(e) {
-                      void 0 === e && (e = []), Oo.call(this), (this.cameras = e)
-                    }
-                    ;(rl.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: rl,
-                      isGroup: !0,
-                    })),
-                      (il.prototype = Object.assign(Object.create(Oo.prototype), {
-                        constructor: il,
-                        isArrayCamera: !0,
-                      }))
-                    var ol = new lr(),
-                      al = new lr()
-                    function sl(e, t, n) {
-                      ol.setFromMatrixPosition(t.matrixWorld),
-                        al.setFromMatrixPosition(n.matrixWorld)
-                      var r = ol.distanceTo(al),
-                        i = t.projectionMatrix.elements,
-                        o = n.projectionMatrix.elements,
-                        a = i[14] / (i[10] - 1),
-                        s = i[14] / (i[10] + 1),
-                        l = (i[9] + 1) / i[5],
-                        c = (i[9] - 1) / i[5],
-                        u = (i[8] - 1) / i[0],
-                        h = (o[8] + 1) / o[0],
-                        d = a * u,
-                        p = a * h,
-                        f = r / (-u + h),
-                        m = f * -u
-                      t.matrixWorld.decompose(e.position, e.quaternion, e.scale),
-                        e.translateX(m),
-                        e.translateZ(f),
-                        e.matrixWorld.compose(e.position, e.quaternion, e.scale),
-                        e.matrixWorldInverse.getInverse(e.matrixWorld)
-                      var v = a + f,
-                        g = s + f,
-                        y = d - m,
-                        b = p + (r - m),
-                        A = ((l * s) / g) * v,
-                        w = ((c * s) / g) * v
-                      e.projectionMatrix.makePerspective(y, b, A, w, v, g)
-                    }
-                    function ll(e) {
-                      var t,
-                        n,
-                        r = this,
-                        i = null,
-                        o = null,
-                        a = null,
-                        s = [],
-                        l = new Fr(),
-                        c = new Fr(),
-                        u = 1,
-                        h = 'local-floor'
-                      'undefined' !== typeof window &&
-                        'VRFrameData' in window &&
-                        ((o = new window.VRFrameData()),
-                        window.addEventListener('vrdisplaypresentchange', A, !1))
-                      var d = new Fr(),
-                        p = new sr(),
-                        f = new lr(),
-                        m = new Oo()
-                      ;(m.viewport = new ir()), m.layers.enable(1)
-                      var v = new Oo()
-                      ;(v.viewport = new ir()), v.layers.enable(2)
-                      var g = new il([m, v])
-                      g.layers.enable(1), g.layers.enable(2)
-                      var y,
-                        b = new Jn()
-                      function A() {
-                        if ((r.isPresenting = null !== i && !0 === i.isPresenting)) {
-                          var o = i.getEyeParameters('left')
-                          ;(t = 2 * o.renderWidth * u),
-                            (n = o.renderHeight * u),
-                            (y = e.getPixelRatio()),
-                            e.getSize(b),
-                            e.setDrawingBufferSize(t, n, 1),
-                            m.viewport.set(0, 0, t / 2, n),
-                            v.viewport.set(t / 2, 0, t / 2, n),
-                            T.start(),
-                            r.dispatchEvent({ type: 'sessionstart' })
-                        } else
-                          r.enabled && e.setDrawingBufferSize(b.width, b.height, y),
-                            T.stop(),
-                            r.dispatchEvent({ type: 'sessionend' })
-                      }
-                      var w = [],
-                        x = []
-                      function E(e) {
-                        for (
-                          var t = navigator.getGamepads && navigator.getGamepads(),
-                            n = 0,
-                            r = t.length;
-                          n < r;
-                          n++
-                        ) {
-                          var i = t[n]
-                          if (
-                            i &&
-                            ('Daydream Controller' === i.id ||
-                              'Gear VR Controller' === i.id ||
-                              'Oculus Go Controller' === i.id ||
-                              'OpenVR Gamepad' === i.id ||
-                              i.id.startsWith('Oculus Touch') ||
-                              i.id.startsWith('HTC Vive Focus') ||
-                              i.id.startsWith('Spatial Controller'))
-                          ) {
-                            var o = i.hand
-                            if (0 === e && ('' === o || 'right' === o)) return i
-                            if (1 === e && 'left' === o) return i
-                          }
-                        }
-                      }
-                      function M() {
-                        for (var e = 0; e < s.length; e++) {
-                          var t = s[e],
-                            n = E(e)
-                          if (void 0 !== n && void 0 !== n.pose) {
-                            if (null === n.pose) return
-                            var r = n.pose
-                            !1 === r.hasPosition && t.position.set(0.2, -0.6, -0.05),
-                              null !== r.position && t.position.fromArray(r.position),
-                              null !== r.orientation && t.quaternion.fromArray(r.orientation),
-                              t.matrix.compose(t.position, t.quaternion, t.scale),
-                              t.matrix.premultiply(l),
-                              t.matrix.decompose(t.position, t.quaternion, t.scale),
-                              (t.matrixWorldNeedsUpdate = !0),
-                              (t.visible = !0)
-                            var i = 'Daydream Controller' === n.id ? 0 : 1
-                            void 0 === w[e] && (w[e] = !1),
-                              w[e] !== n.buttons[i].pressed &&
-                                ((w[e] = n.buttons[i].pressed),
-                                !0 === w[e]
-                                  ? t.dispatchEvent({ type: 'selectstart' })
-                                  : (t.dispatchEvent({ type: 'selectend' }),
-                                    t.dispatchEvent({ type: 'select' }))),
-                              (i = 2),
-                              void 0 === x[e] && (x[e] = !1),
-                              void 0 !== n.buttons[i] &&
-                                x[e] !== n.buttons[i].pressed &&
-                                ((x[e] = n.buttons[i].pressed),
-                                !0 === x[e]
-                                  ? t.dispatchEvent({ type: 'squeezestart' })
-                                  : (t.dispatchEvent({ type: 'squeezeend' }),
-                                    t.dispatchEvent({ type: 'squeeze' })))
-                          } else t.visible = !1
-                        }
-                      }
-                      function _(e, r) {
-                        null !== r &&
-                          4 === r.length &&
-                          e.set(r[0] * t, r[1] * n, r[2] * t, r[3] * n)
-                      }
-                      ;(this.enabled = !1),
-                        (this.getController = function (e) {
-                          var t = s[e]
-                          return (
-                            void 0 === t &&
-                              (((t = new rl()).matrixAutoUpdate = !1),
-                              (t.visible = !1),
-                              (s[e] = t)),
-                            t
-                          )
-                        }),
-                        (this.getDevice = function () {
-                          return i
-                        }),
-                        (this.setDevice = function (e) {
-                          void 0 !== e && (i = e), T.setContext(e)
-                        }),
-                        (this.setFramebufferScaleFactor = function (e) {
-                          u = e
-                        }),
-                        (this.setReferenceSpaceType = function (e) {
-                          h = e
-                        }),
-                        (this.setPoseTarget = function (e) {
-                          void 0 !== e && (a = e)
-                        }),
-                        (this.getCamera = function (e) {
-                          var t = 'local-floor' === h ? 1.6 : 0
-                          if (
-                            ((i.depthNear = e.near),
-                            (i.depthFar = e.far),
-                            i.getFrameData(o),
-                            'local-floor' === h)
-                          ) {
-                            var n = i.stageParameters
-                            n
-                              ? l.fromArray(n.sittingToStandingTransform)
-                              : l.makeTranslation(0, t, 0)
-                          }
-                          var r = o.pose,
-                            s = null !== a ? a : e
-                          s.matrix.copy(l),
-                            s.matrix.decompose(s.position, s.quaternion, s.scale),
-                            null !== r.orientation &&
-                              (p.fromArray(r.orientation), s.quaternion.multiply(p)),
-                            null !== r.position &&
-                              (p.setFromRotationMatrix(l),
-                              f.fromArray(r.position),
-                              f.applyQuaternion(p),
-                              s.position.add(f)),
-                            s.updateMatrixWorld()
-                          for (var u = s.children, y = 0, b = u.length; y < b; y++)
-                            u[y].updateMatrixWorld(!0)
-                          ;(m.near = e.near),
-                            (v.near = e.near),
-                            (m.far = e.far),
-                            (v.far = e.far),
-                            m.matrixWorldInverse.fromArray(o.leftViewMatrix),
-                            v.matrixWorldInverse.fromArray(o.rightViewMatrix),
-                            c.getInverse(l),
-                            'local-floor' === h &&
-                              (m.matrixWorldInverse.multiply(c), v.matrixWorldInverse.multiply(c))
-                          var A = s.parent
-                          null !== A &&
-                            (d.getInverse(A.matrixWorld),
-                            m.matrixWorldInverse.multiply(d),
-                            v.matrixWorldInverse.multiply(d)),
-                            m.matrixWorld.getInverse(m.matrixWorldInverse),
-                            v.matrixWorld.getInverse(v.matrixWorldInverse),
-                            m.projectionMatrix.fromArray(o.leftProjectionMatrix),
-                            v.projectionMatrix.fromArray(o.rightProjectionMatrix),
-                            sl(g, m, v)
-                          var w = i.getLayers()
-                          if (w.length) {
-                            var x = w[0]
-                            _(m.viewport, x.leftBounds), _(v.viewport, x.rightBounds)
-                          }
-                          return M(), g
-                        }),
-                        (this.getStandingMatrix = function () {
-                          return l
-                        }),
-                        (this.isPresenting = !1)
-                      var T = new jo()
-                      ;(this.setAnimationLoop = function (e) {
-                        T.setAnimationLoop(e), this.isPresenting && T.start()
-                      }),
-                        (this.submitFrame = function () {
-                          this.isPresenting && i.submitFrame()
-                        }),
-                        (this.dispose = function () {
-                          'undefined' !== typeof window &&
-                            window.removeEventListener('vrdisplaypresentchange', A)
-                        }),
-                        (this.setFrameOfReferenceType = function () {
-                          console.warn(
-                            'THREE.WebVRManager: setFrameOfReferenceType() has been deprecated.',
-                          )
-                        })
-                    }
-                    function cl() {
-                      ;(this._targetRay = null), (this._grip = null), (this._hand = null)
-                    }
-                    function ul(e, t) {
-                      var n,
-                        r = this,
-                        i = null,
-                        o = 1,
-                        a = null,
-                        s = 'local-floor',
-                        l = null,
-                        c = null,
-                        u = [],
-                        h = new Map(),
-                        d = [],
-                        p = new Oo()
-                      p.layers.enable(1), (p.viewport = new ir())
-                      var f = new Oo()
-                      f.layers.enable(2), (f.viewport = new ir())
-                      var m = [p, f],
-                        v = new il()
-                      v.layers.enable(1), v.layers.enable(2)
-                      var g = null,
-                        y = null
-                      function b(e) {
-                        var t = h.get(e.inputSource)
-                        t && t.dispatchEvent({ type: e.type, data: e.inputSource })
-                      }
-                      function A() {
-                        h.forEach(function (e, t) {
-                          e.disconnect(t)
-                        }),
-                          h.clear(),
-                          (g = null),
-                          (y = null),
-                          e.setFramebuffer(null),
-                          e.setRenderTarget(e.getRenderTarget()),
-                          C.stop(),
-                          (r.isPresenting = !1),
-                          r.dispatchEvent({ type: 'sessionend' })
-                      }
-                      function w(e) {
-                        for (var t = i.inputSources, n = 0; n < u.length; n++) h.set(t[n], u[n])
-                        for (var r = 0; r < e.removed.length; r++) {
-                          var o = e.removed[r],
-                            a = h.get(o)
-                          a && (a.dispatchEvent({ type: 'disconnected', data: o }), h.delete(o))
-                        }
-                        for (var s = 0; s < e.added.length; s++) {
-                          var l = e.added[s],
-                            c = h.get(l)
-                          c && c.dispatchEvent({ type: 'connected', data: l })
-                        }
-                      }
-                      ;(this.layersEnabled = !1),
-                        (this.enabled = !1),
-                        (this.isPresenting = !1),
-                        (this.getCameraPose = function () {
-                          return l
-                        }),
-                        (this.getController = function (e) {
-                          var t = u[e]
-                          return void 0 === t && ((t = new cl()), (u[e] = t)), t.getTargetRaySpace()
-                        }),
-                        (this.getControllerGrip = function (e) {
-                          var t = u[e]
-                          return void 0 === t && ((t = new cl()), (u[e] = t)), t.getGripSpace()
-                        }),
-                        (this.getHand = function (e) {
-                          var t = u[e]
-                          return void 0 === t && ((t = new cl()), (u[e] = t)), t.getHandSpace()
-                        }),
-                        (this.setFramebufferScaleFactor = function (e) {
-                          ;(o = e),
-                            !0 === r.isPresenting &&
-                              console.warn(
-                                'THREE.WebXRManager: Cannot change framebuffer scale while presenting.',
-                              )
-                        }),
-                        (this.setReferenceSpaceType = function (e) {
-                          ;(s = e),
-                            !0 === r.isPresenting &&
-                              console.warn(
-                                'THREE.WebXRManager: Cannot change reference space type while presenting.',
-                              )
-                        }),
-                        (this.getReferenceSpace = function () {
-                          return a
-                        }),
-                        (this.getSession = function () {
-                          return i
-                        }),
-                        (this.setSession = (function () {
-                          var e = Nn(
-                            regeneratorRuntime.mark(function e(l) {
-                              var c, u
-                              return regeneratorRuntime.wrap(
-                                function (e) {
-                                  for (;;)
-                                    switch ((e.prev = e.next)) {
-                                      case 0:
-                                        if (null === (i = l)) {
-                                          e.next = 24
-                                          break
-                                        }
-                                        if (
-                                          (i.addEventListener('select', b),
-                                          i.addEventListener('selectstart', b),
-                                          i.addEventListener('selectend', b),
-                                          i.addEventListener('squeeze', b),
-                                          i.addEventListener('squeezestart', b),
-                                          i.addEventListener('squeezeend', b),
-                                          i.addEventListener('end', A),
-                                          i.addEventListener('inputsourceschange', w),
-                                          !0 === (c = t.getContextAttributes()).xrCompatible)
-                                        ) {
-                                          e.next = 14
-                                          break
-                                        }
-                                        return (e.next = 14), t.makeXRCompatible()
-                                      case 14:
-                                        return (
-                                          (u = {
-                                            antialias: c.antialias,
-                                            alpha: c.alpha,
-                                            depth: c.depth,
-                                            stencil: c.stencil,
-                                            framebufferScaleFactor: o,
-                                          }),
-                                          (n = new XRWebGLLayer(i, t, u)),
-                                          window.XRWebGLBinding && this.layersEnabled
-                                            ? this.addLayer(n)
-                                            : i.updateRenderState({ baseLayer: n }),
-                                          (e.next = 19),
-                                          i.requestReferenceSpace(s)
-                                        )
-                                      case 19:
-                                        ;(a = e.sent),
-                                          C.setContext(i),
-                                          C.start(),
-                                          (r.isPresenting = !0),
-                                          r.dispatchEvent({ type: 'sessionstart' })
-                                      case 24:
-                                      case 'end':
-                                        return e.stop()
-                                    }
-                                },
-                                e,
-                                this,
-                              )
-                            }),
-                          )
-                          return function (t) {
-                            return e.apply(this, arguments)
-                          }
-                        })()),
-                        (this.addLayer = function (e) {
-                          window.XRWebGLBinding &&
-                            this.layersEnabled &&
-                            i &&
-                            (d.push(e), i.updateRenderState({ layers: d }))
-                        }),
-                        (this.removeLayer = function (e) {
-                          window.XRWebGLBinding &&
-                            this.layersEnabled &&
-                            i &&
-                            (d.splice(d.indexOf(e), 1), i.updateRenderState({ layers: d }))
-                        })
-                      var x = new lr(),
-                        E = new lr()
-                      function M(e, t, n) {
-                        x.setFromMatrixPosition(t.matrixWorld),
-                          E.setFromMatrixPosition(n.matrixWorld)
-                        var r = x.distanceTo(E),
-                          i = t.projectionMatrix.elements,
-                          o = n.projectionMatrix.elements,
-                          a = i[14] / (i[10] - 1),
-                          s = i[14] / (i[10] + 1),
-                          l = (i[9] + 1) / i[5],
-                          c = (i[9] - 1) / i[5],
-                          u = (i[8] - 1) / i[0],
-                          h = (o[8] + 1) / o[0],
-                          d = a * u,
-                          p = a * h,
-                          f = r / (-u + h),
-                          m = f * -u
-                        t.matrixWorld.decompose(e.position, e.quaternion, e.scale),
-                          e.translateX(m),
-                          e.translateZ(f),
-                          e.matrixWorld.compose(e.position, e.quaternion, e.scale),
-                          e.matrixWorldInverse.copy(e.matrixWorld).invert()
-                        var v = a + f,
-                          g = s + f,
-                          y = d - m,
-                          b = p + (r - m),
-                          A = ((l * s) / g) * v,
-                          w = ((c * s) / g) * v
-                        e.projectionMatrix.makePerspective(y, b, A, w, v, g)
-                      }
-                      function _(e, t) {
-                        null === t
-                          ? e.matrixWorld.copy(e.matrix)
-                          : e.matrixWorld.multiplyMatrices(t.matrixWorld, e.matrix),
-                          e.matrixWorldInverse.copy(e.matrixWorld).invert()
-                      }
-                      ;(this.setPoseTarget = function (e) {
-                        void 0 !== e && (c = e)
-                      }),
-                        (this.getCamera = function (e) {
-                          ;(v.near = f.near = p.near = e.near),
-                            (v.far = f.far = p.far = e.far),
-                            (g === v.near && y === v.far) ||
-                              (i.updateRenderState({ depthNear: v.near, depthFar: v.far }),
-                              (g = v.near),
-                              (y = v.far))
-                          var t = e.parent,
-                            n = v.cameras,
-                            r = c || e
-                          _(v, t)
-                          for (var o = 0; o < n.length; o++) _(n[o], t)
-                          r.matrixWorld.copy(v.matrixWorld)
-                          for (var a = r.children, s = 0, l = a.length; s < l; s++)
-                            a[s].updateMatrixWorld(!0)
-                          return (
-                            2 === n.length
-                              ? M(v, p, f)
-                              : v.projectionMatrix.copy(p.projectionMatrix),
-                            v
-                          )
-                        })
-                      var T = null
-                      function S(t, r) {
-                        if (null !== (l = r.getViewerPose(a))) {
-                          var o = l.views
-                          e.setFramebuffer(n.framebuffer)
-                          var s = !1
-                          o.length !== v.cameras.length && ((v.cameras.length = 0), (s = !0))
-                          for (var c = 0; c < o.length; c++) {
-                            var h = o[c],
-                              d = n.getViewport(h),
-                              p = m[c]
-                            p.matrix.fromArray(h.transform.matrix),
-                              p.projectionMatrix.fromArray(h.projectionMatrix),
-                              p.viewport.set(d.x, d.y, d.width, d.height),
-                              0 === c && v.matrix.copy(p.matrix),
-                              !0 === s && v.cameras.push(p)
-                          }
-                        }
-                        for (var f = i.inputSources, g = 0; g < u.length; g++) {
-                          var y = u[g],
-                            b = f[g]
-                          y.update(b, r, a)
-                        }
-                        T && T(t, r)
-                      }
-                      var C = new jo()
-                      C.setAnimationLoop(S),
-                        (this.setAnimationLoop = function (e) {
-                          T = e
-                        }),
-                        (this.dispose = function () {})
-                    }
-                    function hl(e) {
-                      function t(e, t) {
-                        e.fogColor.value.copy(t.color),
-                          t.isFog
-                            ? ((e.fogNear.value = t.near), (e.fogFar.value = t.far))
-                            : t.isFogExp2 && (e.fogDensity.value = t.density)
-                      }
-                      function n(e, t, n, v) {
-                        t.isMeshBasicMaterial
-                          ? r(e, t)
-                          : t.isMeshLambertMaterial
-                          ? (r(e, t), l(e, t))
-                          : t.isMeshToonMaterial
-                          ? (r(e, t), u(e, t))
-                          : t.isMeshPhongMaterial
-                          ? (r(e, t), c(e, t))
-                          : t.isMeshStandardMaterial
-                          ? (r(e, t), t.isMeshPhysicalMaterial ? d(e, t) : h(e, t))
-                          : t.isMeshMatcapMaterial
-                          ? (r(e, t), p(e, t))
-                          : t.isMeshDepthMaterial
-                          ? (r(e, t), f(e, t))
-                          : t.isMeshDistanceMaterial
-                          ? (r(e, t), m(e, t))
-                          : t.isMeshNormalMaterial
-                          ? (r(e, t), g(e, t))
-                          : t.isLineBasicMaterial
-                          ? (i(e, t), t.isLineDashedMaterial && o(e, t))
-                          : t.isPointsMaterial
-                          ? a(e, t, n, v)
-                          : t.isSpriteMaterial
-                          ? s(e, t)
-                          : t.isShadowMaterial
-                          ? (e.color.value.copy(t.color), (e.opacity.value = t.opacity))
-                          : t.isShaderMaterial && (t.uniformsNeedUpdate = !1)
-                      }
-                      function r(t, n) {
-                        ;(t.opacity.value = n.opacity),
-                          n.color && t.diffuse.value.copy(n.color),
-                          n.emissive &&
-                            t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity),
-                          n.map && (t.map.value = n.map),
-                          n.alphaMap && (t.alphaMap.value = n.alphaMap),
-                          n.specularMap && (t.specularMap.value = n.specularMap)
-                        var r,
-                          i,
-                          o = e.get(n).envMap
-                        if (o) {
-                          ;(t.envMap.value = o),
-                            (t.flipEnvMap.value = o.isCubeTexture && o._needsFlipEnvMap ? -1 : 1),
-                            (t.reflectivity.value = n.reflectivity),
-                            (t.refractionRatio.value = n.refractionRatio)
-                          var a = e.get(o).__maxMipLevel
-                          void 0 !== a && (t.maxMipLevel.value = a)
-                        }
-                        n.lightMap &&
-                          ((t.lightMap.value = n.lightMap),
-                          (t.lightMapIntensity.value = n.lightMapIntensity)),
-                          n.aoMap &&
-                            ((t.aoMap.value = n.aoMap),
-                            (t.aoMapIntensity.value = n.aoMapIntensity)),
-                          n.map
-                            ? (r = n.map)
-                            : n.specularMap
-                            ? (r = n.specularMap)
-                            : n.displacementMap
-                            ? (r = n.displacementMap)
-                            : n.normalMap
-                            ? (r = n.normalMap)
-                            : n.bumpMap
-                            ? (r = n.bumpMap)
-                            : n.roughnessMap
-                            ? (r = n.roughnessMap)
-                            : n.metalnessMap
-                            ? (r = n.metalnessMap)
-                            : n.alphaMap
-                            ? (r = n.alphaMap)
-                            : n.emissiveMap
-                            ? (r = n.emissiveMap)
-                            : n.clearcoatMap
-                            ? (r = n.clearcoatMap)
-                            : n.clearcoatNormalMap
-                            ? (r = n.clearcoatNormalMap)
-                            : n.clearcoatRoughnessMap && (r = n.clearcoatRoughnessMap),
-                          void 0 !== r &&
-                            (r.isWebGLRenderTarget && (r = r.texture),
-                            !0 === r.matrixAutoUpdate && r.updateMatrix(),
-                            t.uvTransform.value.copy(r.matrix)),
-                          n.aoMap ? (i = n.aoMap) : n.lightMap && (i = n.lightMap),
-                          void 0 !== i &&
-                            (i.isWebGLRenderTarget && (i = i.texture),
-                            !0 === i.matrixAutoUpdate && i.updateMatrix(),
-                            t.uv2Transform.value.copy(i.matrix))
-                      }
-                      function i(e, t) {
-                        e.diffuse.value.copy(t.color), (e.opacity.value = t.opacity)
-                      }
-                      function o(e, t) {
-                        ;(e.dashSize.value = t.dashSize),
-                          (e.totalSize.value = t.dashSize + t.gapSize),
-                          (e.scale.value = t.scale)
-                      }
-                      function a(e, t, n, r) {
-                        var i
-                        e.diffuse.value.copy(t.color),
-                          (e.opacity.value = t.opacity),
-                          (e.size.value = t.size * n),
-                          (e.scale.value = 0.5 * r),
-                          t.map && (e.map.value = t.map),
-                          t.alphaMap && (e.alphaMap.value = t.alphaMap),
-                          t.map ? (i = t.map) : t.alphaMap && (i = t.alphaMap),
-                          void 0 !== i &&
-                            (!0 === i.matrixAutoUpdate && i.updateMatrix(),
-                            e.uvTransform.value.copy(i.matrix))
-                      }
-                      function s(e, t) {
-                        var n
-                        e.diffuse.value.copy(t.color),
-                          (e.opacity.value = t.opacity),
-                          (e.rotation.value = t.rotation),
-                          t.map && (e.map.value = t.map),
-                          t.alphaMap && (e.alphaMap.value = t.alphaMap),
-                          t.map ? (n = t.map) : t.alphaMap && (n = t.alphaMap),
-                          void 0 !== n &&
-                            (!0 === n.matrixAutoUpdate && n.updateMatrix(),
-                            e.uvTransform.value.copy(n.matrix))
-                      }
-                      function l(e, t) {
-                        t.emissiveMap && (e.emissiveMap.value = t.emissiveMap)
-                      }
-                      function c(e, t) {
-                        e.specular.value.copy(t.specular),
-                          (e.shininess.value = Math.max(t.shininess, 1e-4)),
-                          t.emissiveMap && (e.emissiveMap.value = t.emissiveMap),
-                          t.bumpMap &&
-                            ((e.bumpMap.value = t.bumpMap),
-                            (e.bumpScale.value = t.bumpScale),
-                            t.side === v && (e.bumpScale.value *= -1)),
-                          t.normalMap &&
-                            ((e.normalMap.value = t.normalMap),
-                            e.normalScale.value.copy(t.normalScale),
-                            t.side === v && e.normalScale.value.negate()),
-                          t.displacementMap &&
-                            ((e.displacementMap.value = t.displacementMap),
-                            (e.displacementScale.value = t.displacementScale),
-                            (e.displacementBias.value = t.displacementBias))
-                      }
-                      function u(e, t) {
-                        t.gradientMap && (e.gradientMap.value = t.gradientMap),
-                          t.emissiveMap && (e.emissiveMap.value = t.emissiveMap),
-                          t.bumpMap &&
-                            ((e.bumpMap.value = t.bumpMap),
-                            (e.bumpScale.value = t.bumpScale),
-                            t.side === v && (e.bumpScale.value *= -1)),
-                          t.normalMap &&
-                            ((e.normalMap.value = t.normalMap),
-                            e.normalScale.value.copy(t.normalScale),
-                            t.side === v && e.normalScale.value.negate()),
-                          t.displacementMap &&
-                            ((e.displacementMap.value = t.displacementMap),
-                            (e.displacementScale.value = t.displacementScale),
-                            (e.displacementBias.value = t.displacementBias))
-                      }
-                      function h(t, n) {
-                        ;(t.roughness.value = n.roughness),
-                          (t.metalness.value = n.metalness),
-                          n.roughnessMap && (t.roughnessMap.value = n.roughnessMap),
-                          n.metalnessMap && (t.metalnessMap.value = n.metalnessMap),
-                          n.emissiveMap && (t.emissiveMap.value = n.emissiveMap),
-                          n.bumpMap &&
-                            ((t.bumpMap.value = n.bumpMap),
-                            (t.bumpScale.value = n.bumpScale),
-                            n.side === v && (t.bumpScale.value *= -1)),
-                          n.normalMap &&
-                            ((t.normalMap.value = n.normalMap),
-                            t.normalScale.value.copy(n.normalScale),
-                            n.side === v && t.normalScale.value.negate()),
-                          n.displacementMap &&
-                            ((t.displacementMap.value = n.displacementMap),
-                            (t.displacementScale.value = n.displacementScale),
-                            (t.displacementBias.value = n.displacementBias)),
-                          e.get(n).envMap && (t.envMapIntensity.value = n.envMapIntensity)
-                      }
-                      function d(e, t) {
-                        h(e, t),
-                          (e.reflectivity.value = t.reflectivity),
-                          (e.clearcoat.value = t.clearcoat),
-                          (e.clearcoatRoughness.value = t.clearcoatRoughness),
-                          t.sheen && e.sheen.value.copy(t.sheen),
-                          t.clearcoatMap && (e.clearcoatMap.value = t.clearcoatMap),
-                          t.clearcoatRoughnessMap &&
-                            (e.clearcoatRoughnessMap.value = t.clearcoatRoughnessMap),
-                          t.clearcoatNormalMap &&
-                            (e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),
-                            (e.clearcoatNormalMap.value = t.clearcoatNormalMap),
-                            t.side === v && e.clearcoatNormalScale.value.negate()),
-                          (e.transmission.value = t.transmission),
-                          t.transmissionMap && (e.transmissionMap.value = t.transmissionMap)
-                      }
-                      function p(e, t) {
-                        t.matcap && (e.matcap.value = t.matcap),
-                          t.bumpMap &&
-                            ((e.bumpMap.value = t.bumpMap),
-                            (e.bumpScale.value = t.bumpScale),
-                            t.side === v && (e.bumpScale.value *= -1)),
-                          t.normalMap &&
-                            ((e.normalMap.value = t.normalMap),
-                            e.normalScale.value.copy(t.normalScale),
-                            t.side === v && e.normalScale.value.negate()),
-                          t.displacementMap &&
-                            ((e.displacementMap.value = t.displacementMap),
-                            (e.displacementScale.value = t.displacementScale),
-                            (e.displacementBias.value = t.displacementBias))
-                      }
-                      function f(e, t) {
-                        t.displacementMap &&
-                          ((e.displacementMap.value = t.displacementMap),
-                          (e.displacementScale.value = t.displacementScale),
-                          (e.displacementBias.value = t.displacementBias))
-                      }
-                      function m(e, t) {
-                        t.displacementMap &&
-                          ((e.displacementMap.value = t.displacementMap),
-                          (e.displacementScale.value = t.displacementScale),
-                          (e.displacementBias.value = t.displacementBias)),
-                          e.referencePosition.value.copy(t.referencePosition),
-                          (e.nearDistance.value = t.nearDistance),
-                          (e.farDistance.value = t.farDistance)
-                      }
-                      function g(e, t) {
-                        t.bumpMap &&
-                          ((e.bumpMap.value = t.bumpMap),
-                          (e.bumpScale.value = t.bumpScale),
-                          t.side === v && (e.bumpScale.value *= -1)),
-                          t.normalMap &&
-                            ((e.normalMap.value = t.normalMap),
-                            e.normalScale.value.copy(t.normalScale),
-                            t.side === v && e.normalScale.value.negate()),
-                          t.displacementMap &&
-                            ((e.displacementMap.value = t.displacementMap),
-                            (e.displacementScale.value = t.displacementScale),
-                            (e.displacementBias.value = t.displacementBias))
-                      }
-                      return { refreshFogUniforms: t, refreshMaterialUniforms: n }
-                    }
-                    function dl() {
-                      var e = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')
-                      return (e.style.display = 'block'), e
-                    }
-                    function pl(e) {
-                      var t = void 0 !== (e = e || {}).canvas ? e.canvas : dl(),
-                        n = void 0 !== e.context ? e.context : null,
-                        r = void 0 !== e.alpha && e.alpha,
-                        i = void 0 === e.depth || e.depth,
-                        o = void 0 === e.stencil || e.stencil,
-                        a = void 0 !== e.antialias && e.antialias,
-                        s = void 0 === e.premultipliedAlpha || e.premultipliedAlpha,
-                        l = void 0 !== e.preserveDrawingBuffer && e.preserveDrawingBuffer,
-                        c = void 0 !== e.powerPreference ? e.powerPreference : 'default',
-                        u =
-                          void 0 !== e.failIfMajorPerformanceCaveat &&
-                          e.failIfMajorPerformanceCaveat,
-                        h = null,
-                        d = null,
-                        p = []
-                      ;(this.domElement = t),
-                        (this.debug = { checkShaderErrors: !0 }),
-                        (this.autoClear = !0),
-                        (this.autoClearColor = !0),
-                        (this.autoClearDepth = !0),
-                        (this.autoClearStencil = !0),
-                        (this.sortObjects = !0),
-                        (this.clippingPlanes = []),
-                        (this.localClippingEnabled = !1),
-                        (this.gammaFactor = 2),
-                        (this.outputEncoding = Kt),
-                        (this.physicallyCorrectLights = !1),
-                        (this.toneMapping = $),
-                        (this.toneMappingExposure = 1),
-                        (this.maxMorphTargets = 8),
-                        (this.maxMorphNormals = 4)
-                      var f = this,
-                        m = !1,
-                        v = null,
-                        g = 0,
-                        y = 0,
-                        b = null,
-                        A = null,
-                        w = -1,
-                        x = null,
-                        E = new ir(),
-                        M = new ir(),
-                        _ = null,
-                        T = t.width,
-                        S = t.height,
-                        C = 1,
-                        L = null,
-                        R = null,
-                        P = new ir(0, 0, T, S),
-                        D = new ir(0, 0, T, S),
-                        O = !1,
-                        I = new zo(),
-                        B = !1,
-                        F = !1,
-                        k = new Fr(),
-                        N = new lr(),
-                        U = {
-                          background: null,
-                          fog: null,
-                          environment: null,
-                          overrideMaterial: null,
-                          isScene: !0,
-                        }
-                      function H() {
-                        return null === b ? C : 1
-                      }
-                      var G,
-                        z,
-                        j,
-                        V,
-                        W,
-                        q,
-                        X,
-                        Y,
-                        Q,
-                        Z,
-                        K,
-                        J,
-                        ee,
-                        te,
-                        ne,
-                        re,
-                        ie,
-                        oe,
-                        ae,
-                        se,
-                        le,
-                        ce = n
-                      function ue(e, n) {
-                        for (var r = 0; r < e.length; r++) {
-                          var i = e[r],
-                            o = t.getContext(i, n)
-                          if (null !== o) return o
-                        }
-                        return null
-                      }
-                      try {
-                        var he = {
-                          alpha: r,
-                          depth: i,
-                          stencil: o,
-                          antialias: a,
-                          premultipliedAlpha: s,
-                          preserveDrawingBuffer: l,
-                          powerPreference: c,
-                          failIfMajorPerformanceCaveat: u,
-                        }
-                        if (
-                          (t.addEventListener('webglcontextlost', ve, !1),
-                          t.addEventListener('webglcontextrestored', ge, !1),
-                          null === ce)
-                        ) {
-                          var de = ['webgl2', 'webgl', 'experimental-webgl']
-                          if ((!0 === f.isWebGL1Renderer && de.shift(), null === (ce = ue(de, he))))
-                            throw ue(de)
-                              ? new Error(
-                                  'Error creating WebGL context with your selected attributes.',
-                                )
-                              : new Error('Error creating WebGL context.')
-                        }
-                        void 0 === ce.getShaderPrecisionFormat &&
-                          (ce.getShaderPrecisionFormat = function () {
-                            return { rangeMin: 1, rangeMax: 1, precision: 1 }
-                          })
-                      } catch (Be) {
-                        throw (console.error('THREE.WebGLRenderer: ' + Be.message), Be)
-                      }
-                      function pe() {
-                        ;(G = new ta(ce)),
-                          (z = new Jo(ce, G, e)),
-                          G.init(z),
-                          (se = new nl(ce, G, z)),
-                          (j = new el(ce, G, z)).scissor(M.copy(D).multiplyScalar(C).floor()),
-                          j.viewport(E.copy(P).multiplyScalar(C).floor()),
-                          (V = new ia(ce)),
-                          (W = new ks()),
-                          (q = new tl(ce, G, j, W, z, se, V)),
-                          (X = new ea(f)),
-                          (Y = new Vo(ce, z)),
-                          (le = new Zo(ce, G, Y, z)),
-                          (Q = new na(ce, Y, V, le)),
-                          (Z = new la(ce, Q, Y, V)),
-                          (ie = new sa(ce)),
-                          (ne = new $o(W)),
-                          (K = new Fs(f, X, G, z, le, ne)),
-                          (J = new hl(W)),
-                          (ee = new Gs(W)),
-                          (te = new Ys(G, z)),
-                          (re = new Qo(f, X, j, Z, s)),
-                          (oe = new Ko(ce, G, V, z)),
-                          (ae = new ra(ce, G, V, z)),
-                          (V.programs = K.programs),
-                          (f.capabilities = z),
-                          (f.extensions = G),
-                          (f.properties = W),
-                          (f.renderLists = ee),
-                          (f.state = j),
-                          (f.info = V)
-                      }
-                      pe()
-                      var fe =
-                        'undefined' !== typeof navigator && 'xr' in navigator
-                          ? new ul(f, ce)
-                          : new ll(f)
-                      this.xr = fe
-                      var me = new $s(f, Z, z.maxTextureSize)
-                      function ve(e) {
-                        e.preventDefault(),
-                          console.log('THREE.WebGLRenderer: Context Lost.'),
-                          (m = !0)
-                      }
-                      function ge() {
-                        console.log('THREE.WebGLRenderer: Context Restored.'), (m = !1), pe()
-                      }
-                      function ye(e) {
-                        var t = e.target
-                        t.removeEventListener('dispose', ye), be(t)
-                      }
-                      function be(e) {
-                        Ae(e), W.remove(e)
-                      }
-                      function Ae(e) {
-                        var t = W.get(e).program
-                        void 0 !== t && K.releaseProgram(t)
-                      }
-                      function we(e, t) {
-                        e.render(function (e) {
-                          f.renderBufferImmediate(e, t)
-                        })
-                      }
-                      ;(this.shadowMap = me),
-                        (this.getContext = function () {
-                          return ce
-                        }),
-                        (this.getContextAttributes = function () {
-                          return ce.getContextAttributes()
-                        }),
-                        (this.forceContextLoss = function () {
-                          var e = G.get('WEBGL_lose_context')
-                          e && e.loseContext()
-                        }),
-                        (this.forceContextRestore = function () {
-                          var e = G.get('WEBGL_lose_context')
-                          e && e.restoreContext()
-                        }),
-                        (this.getPixelRatio = function () {
-                          return C
-                        }),
-                        (this.setPixelRatio = function (e) {
-                          void 0 !== e && ((C = e), this.setSize(T, S, !1))
-                        }),
-                        (this.getSize = function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'WebGLRenderer: .getsize() now requires a Vector2 as an argument',
-                              ),
-                              (e = new Jn())),
-                            e.set(T, S)
-                          )
-                        }),
-                        (this.setSize = function (e, n, r) {
-                          fe.isPresenting
-                            ? console.warn(
-                                "THREE.WebGLRenderer: Can't change size while VR device is presenting.",
-                              )
-                            : ((T = e),
-                              (S = n),
-                              (t.width = Math.floor(e * C)),
-                              (t.height = Math.floor(n * C)),
-                              !1 !== r && ((t.style.width = e + 'px'), (t.style.height = n + 'px')),
-                              this.setViewport(0, 0, e, n))
-                        }),
-                        (this.getDrawingBufferSize = function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument',
-                              ),
-                              (e = new Jn())),
-                            e.set(T * C, S * C).floor()
-                          )
-                        }),
-                        (this.setDrawingBufferSize = function (e, n, r) {
-                          ;(T = e),
-                            (S = n),
-                            (C = r),
-                            (t.width = Math.floor(e * r)),
-                            (t.height = Math.floor(n * r)),
-                            this.setViewport(0, 0, e, n)
-                        }),
-                        (this.getCurrentViewport = function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument',
-                              ),
-                              (e = new ir())),
-                            e.copy(E)
-                          )
-                        }),
-                        (this.getViewport = function (e) {
-                          return e.copy(P)
-                        }),
-                        (this.setViewport = function (e, t, n, r) {
-                          e.isVector4 ? P.set(e.x, e.y, e.z, e.w) : P.set(e, t, n, r),
-                            j.viewport(E.copy(P).multiplyScalar(C).floor())
-                        }),
-                        (this.getScissor = function (e) {
-                          return e.copy(D)
-                        }),
-                        (this.setScissor = function (e, t, n, r) {
-                          e.isVector4 ? D.set(e.x, e.y, e.z, e.w) : D.set(e, t, n, r),
-                            j.scissor(M.copy(D).multiplyScalar(C).floor())
-                        }),
-                        (this.getScissorTest = function () {
-                          return O
-                        }),
-                        (this.setScissorTest = function (e) {
-                          j.setScissorTest((O = e))
-                        }),
-                        (this.setOpaqueSort = function (e) {
-                          L = e
-                        }),
-                        (this.setTransparentSort = function (e) {
-                          R = e
-                        }),
-                        (this.getClearColor = function (e) {
-                          return (
-                            void 0 === e &&
-                              (console.warn(
-                                'WebGLRenderer: .getClearColor() now requires a Color as an argument',
-                              ),
-                              (e = new Li())),
-                            e.copy(re.getClearColor())
-                          )
-                        }),
-                        (this.setClearColor = function () {
-                          re.setClearColor.apply(re, arguments)
-                        }),
-                        (this.getClearAlpha = function () {
-                          return re.getClearAlpha()
-                        }),
-                        (this.setClearAlpha = function () {
-                          re.setClearAlpha.apply(re, arguments)
-                        }),
-                        (this.clear = function (e, t, n) {
-                          var r = 0
-                          ;(void 0 === e || e) && (r |= 16384),
-                            (void 0 === t || t) && (r |= 256),
-                            (void 0 === n || n) && (r |= 1024),
-                            ce.clear(r)
-                        }),
-                        (this.clearColor = function () {
-                          this.clear(!0, !1, !1)
-                        }),
-                        (this.clearDepth = function () {
-                          this.clear(!1, !0, !1)
-                        }),
-                        (this.clearStencil = function () {
-                          this.clear(!1, !1, !0)
-                        }),
-                        (this.dispose = function () {
-                          t.removeEventListener('webglcontextlost', ve, !1),
-                            t.removeEventListener('webglcontextrestored', ge, !1),
-                            ee.dispose(),
-                            te.dispose(),
-                            W.dispose(),
-                            X.dispose(),
-                            Z.dispose(),
-                            le.dispose(),
-                            fe.dispose(),
-                            Me.stop()
-                        }),
-                        (this.renderBufferImmediate = function (e, t) {
-                          le.initAttributes()
-                          var n = W.get(e)
-                          e.hasPositions && !n.position && (n.position = ce.createBuffer()),
-                            e.hasNormals && !n.normal && (n.normal = ce.createBuffer()),
-                            e.hasUvs && !n.uv && (n.uv = ce.createBuffer()),
-                            e.hasColors && !n.color && (n.color = ce.createBuffer())
-                          var r = t.getAttributes()
-                          e.hasPositions &&
-                            (ce.bindBuffer(34962, n.position),
-                            ce.bufferData(34962, e.positionArray, 35048),
-                            le.enableAttribute(r.position),
-                            ce.vertexAttribPointer(r.position, 3, 5126, !1, 0, 0)),
-                            e.hasNormals &&
-                              (ce.bindBuffer(34962, n.normal),
-                              ce.bufferData(34962, e.normalArray, 35048),
-                              le.enableAttribute(r.normal),
-                              ce.vertexAttribPointer(r.normal, 3, 5126, !1, 0, 0)),
-                            e.hasUvs &&
-                              (ce.bindBuffer(34962, n.uv),
-                              ce.bufferData(34962, e.uvArray, 35048),
-                              le.enableAttribute(r.uv),
-                              ce.vertexAttribPointer(r.uv, 2, 5126, !1, 0, 0)),
-                            e.hasColors &&
-                              (ce.bindBuffer(34962, n.color),
-                              ce.bufferData(34962, e.colorArray, 35048),
-                              le.enableAttribute(r.color),
-                              ce.vertexAttribPointer(r.color, 3, 5126, !1, 0, 0)),
-                            le.disableUnusedAttributes(),
-                            ce.drawArrays(4, 0, e.count),
-                            (e.count = 0)
-                        }),
-                        (this.renderBufferDirect = function (e, t, n, r, i, o) {
-                          null === t && (t = U)
-                          var a = i.isMesh && i.matrixWorld.determinant() < 0,
-                            s = Re(e, t, r, i)
-                          j.setMaterial(r, a)
-                          var l = n.index,
-                            c = n.attributes.position
-                          if (null === l) {
-                            if (void 0 === c || 0 === c.count) return
-                          } else if (0 === l.count) return
-                          var u,
-                            h = 1
-                          !0 === r.wireframe && ((l = Q.getWireframeAttribute(n)), (h = 2)),
-                            (r.morphTargets || r.morphNormals) && ie.update(i, n, r, s),
-                            le.setup(i, r, s, n, l)
-                          var d = oe
-                          null !== l && ((u = Y.get(l)), (d = ae).setIndex(u))
-                          var p = null !== l ? l.count : c.count,
-                            f = n.drawRange.start * h,
-                            m = n.drawRange.count * h,
-                            v = null !== o ? o.start * h : 0,
-                            g = null !== o ? o.count * h : 1 / 0,
-                            y = Math.max(f, v),
-                            b = Math.min(p, f + m, v + g) - 1,
-                            A = Math.max(0, b - y + 1)
-                          if (0 !== A) {
-                            if (i.isMesh)
-                              !0 === r.wireframe
-                                ? (j.setLineWidth(r.wireframeLinewidth * H()), d.setMode(1))
-                                : d.setMode(4)
-                            else if (i.isLine) {
-                              var w = r.linewidth
-                              void 0 === w && (w = 1),
-                                j.setLineWidth(w * H()),
-                                i.isLineSegments
-                                  ? d.setMode(1)
-                                  : i.isLineLoop
-                                  ? d.setMode(2)
-                                  : d.setMode(3)
-                            } else i.isPoints ? d.setMode(0) : i.isSprite && d.setMode(4)
-                            if (i.isInstancedMesh) d.renderInstances(y, A, i.count)
-                            else if (n.isInstancedBufferGeometry) {
-                              var x = Math.min(n.instanceCount, n._maxInstanceCount)
-                              d.renderInstances(y, A, x)
-                            } else d.render(y, A)
-                          }
-                        }),
-                        (this.compile = function (e, t) {
-                          ;(d = te.get(e)).init(),
-                            e.traverseVisible(function (e) {
-                              e.isLight &&
-                                e.layers.test(t.layers) &&
-                                (d.pushLight(e), e.castShadow && d.pushShadow(e))
-                            }),
-                            d.setupLights()
-                          var n = new WeakMap()
-                          e.traverse(function (t) {
-                            var r = t.material
-                            if (r)
-                              if (Array.isArray(r))
-                                for (var i = 0; i < r.length; i++) {
-                                  var o = r[i]
-                                  !1 === n.has(o) && (Le(o, e, t), n.set(o))
-                                }
-                              else !1 === n.has(r) && (Le(r, e, t), n.set(r))
-                          })
-                        })
-                      var xe = null
-                      function Ee(e) {
-                        fe.isPresenting || (xe && xe(e))
-                      }
-                      var Me = new jo()
-                      function Te(e, t, n, r) {
-                        if (!1 !== e.visible) {
-                          if (e.layers.test(t.layers))
-                            if (e.isGroup) n = e.renderOrder
-                            else if (e.isLOD) !0 === e.autoUpdate && e.update(t)
-                            else if (e.isLight) d.pushLight(e), e.castShadow && d.pushShadow(e)
-                            else if (e.isSprite) {
-                              if (!e.frustumCulled || I.intersectsSprite(e)) {
-                                r && N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k)
-                                var i = Z.update(e),
-                                  o = e.material
-                                o.visible && h.push(e, i, o, n, N.z, null)
-                              }
-                            } else if (e.isImmediateRenderObject)
-                              r && N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k),
-                                h.push(e, null, e.material, n, N.z, null)
-                            else if (
-                              (e.isMesh || e.isLine || e.isPoints) &&
-                              (e.isSkinnedMesh &&
-                                e.skeleton.frame !== V.render.frame &&
-                                (e.skeleton.update(), (e.skeleton.frame = V.render.frame)),
-                              !e.frustumCulled || I.intersectsObject(e))
-                            ) {
-                              r && N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k)
-                              var a = Z.update(e),
-                                s = e.material
-                              if (Array.isArray(s))
-                                for (var l = a.groups, c = 0, u = l.length; c < u; c++) {
-                                  var p = l[c],
-                                    f = s[p.materialIndex]
-                                  f && f.visible && h.push(e, a, f, n, N.z, p)
-                                }
-                              else s.visible && h.push(e, a, s, n, N.z, null)
-                            }
-                          for (var m = e.children, v = 0, g = m.length; v < g; v++)
-                            Te(m[v], t, n, r)
-                        }
-                      }
-                      function Se(e, t, n) {
-                        for (
-                          var r = !0 === t.isScene ? t.overrideMaterial : null, i = 0, o = e.length;
-                          i < o;
-                          i++
-                        ) {
-                          var a = e[i],
-                            s = a.object,
-                            l = a.geometry,
-                            c = null === r ? a.material : r,
-                            u = a.group
-                          if (n.isArrayCamera)
-                            for (var h = n.cameras, p = 0, f = h.length; p < f; p++) {
-                              var m = h[p]
-                              s.layers.test(m.layers) &&
-                                (j.viewport(E.copy(m.viewport)),
-                                d.setupLightsView(m),
-                                Ce(s, t, m, l, c, u))
-                            }
-                          else Ce(s, t, n, l, c, u)
-                        }
-                      }
-                      function Ce(e, t, n, r, i, o) {
-                        if (
-                          (e.onBeforeRender(f, t, n, r, i, o),
-                          e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse, e.matrixWorld),
-                          e.normalMatrix.getNormalMatrix(e.modelViewMatrix),
-                          e.isImmediateRenderObject)
-                        ) {
-                          var a = Re(n, t, i, e)
-                          j.setMaterial(i), le.reset(), we(e, a)
-                        } else f.renderBufferDirect(n, t, r, i, e, o)
-                        e.onAfterRender(f, t, n, r, i, o)
-                      }
-                      function Le(e, t, n) {
-                        !0 !== t.isScene && (t = U)
-                        var r = W.get(e),
-                          i = d.state.lights,
-                          o = d.state.shadowsArray,
-                          a = i.state.version,
-                          s = K.getParameters(e, i.state, o, t, n),
-                          l = K.getProgramCacheKey(s),
-                          c = r.program,
-                          u = !0
-                        if (
-                          ((r.environment = e.isMeshStandardMaterial ? t.environment : null),
-                          (r.fog = t.fog),
-                          (r.envMap = X.get(e.envMap || r.environment)),
-                          void 0 === c)
-                        )
-                          e.addEventListener('dispose', ye)
-                        else if (c.cacheKey !== l) Ae(e)
-                        else if (r.lightsStateVersion !== a) u = !1
-                        else {
-                          if (void 0 !== s.shaderID) return
-                          u = !1
-                        }
-                        u &&
-                          ((s.uniforms = K.getUniforms(e)),
-                          e.onBeforeCompile(s, f),
-                          (c = K.acquireProgram(s, l)),
-                          (r.program = c),
-                          (r.uniforms = s.uniforms),
-                          (r.outputEncoding = s.outputEncoding))
-                        var h = r.uniforms
-                        ;((e.isShaderMaterial || e.isRawShaderMaterial) && !0 !== e.clipping) ||
-                          ((r.numClippingPlanes = ne.numPlanes),
-                          (r.numIntersection = ne.numIntersection),
-                          (h.clippingPlanes = ne.uniform)),
-                          (r.needsLights = Ie(e)),
-                          (r.lightsStateVersion = a),
-                          r.needsLights &&
-                            ((h.ambientLightColor.value = i.state.ambient),
-                            (h.lightProbe.value = i.state.probe),
-                            (h.directionalLights.value = i.state.directional),
-                            (h.directionalLightShadows.value = i.state.directionalShadow),
-                            (h.spotLights.value = i.state.spot),
-                            (h.spotLightShadows.value = i.state.spotShadow),
-                            (h.rectAreaLights.value = i.state.rectArea),
-                            (h.ltc_1.value = i.state.rectAreaLTC1),
-                            (h.ltc_2.value = i.state.rectAreaLTC2),
-                            (h.pointLights.value = i.state.point),
-                            (h.pointLightShadows.value = i.state.pointShadow),
-                            (h.hemisphereLights.value = i.state.hemi),
-                            (h.directionalShadowMap.value = i.state.directionalShadowMap),
-                            (h.directionalShadowMatrix.value = i.state.directionalShadowMatrix),
-                            (h.spotShadowMap.value = i.state.spotShadowMap),
-                            (h.spotShadowMatrix.value = i.state.spotShadowMatrix),
-                            (h.pointShadowMap.value = i.state.pointShadowMap),
-                            (h.pointShadowMatrix.value = i.state.pointShadowMatrix))
-                        var p = r.program.getUniforms(),
-                          m = ss.seqWithValue(p.seq, h)
-                        r.uniformsList = m
-                      }
-                      function Re(e, t, n, r) {
-                        !0 !== t.isScene && (t = U), q.resetTextureUnits()
-                        var i = t.fog,
-                          o = n.isMeshStandardMaterial ? t.environment : null,
-                          a = null === b ? f.outputEncoding : b.texture.encoding,
-                          s = X.get(n.envMap || o),
-                          l = W.get(n),
-                          c = d.state.lights
-                        if (!0 === B && (!0 === F || e !== x)) {
-                          var u = e === x && n.id === w
-                          ne.setState(n, e, u)
-                        }
-                        n.version === l.__version
-                          ? (n.fog && l.fog !== i) ||
-                            l.environment !== o ||
-                            (l.needsLights && l.lightsStateVersion !== c.state.version)
-                            ? Le(n, t, r)
-                            : void 0 === l.numClippingPlanes ||
-                              (l.numClippingPlanes === ne.numPlanes &&
-                                l.numIntersection === ne.numIntersection)
-                            ? (l.outputEncoding !== a || l.envMap !== s) && Le(n, t, r)
-                            : Le(n, t, r)
-                          : (Le(n, t, r), (l.__version = n.version))
-                        var h = !1,
-                          p = !1,
-                          m = !1,
-                          v = l.program,
-                          g = v.getUniforms(),
-                          y = l.uniforms
-                        if (
-                          (j.useProgram(v.program) && ((h = !0), (p = !0), (m = !0)),
-                          n.id !== w && ((w = n.id), (p = !0)),
-                          h || x !== e)
-                        ) {
-                          if (
-                            (g.setValue(ce, 'projectionMatrix', e.projectionMatrix),
-                            z.logarithmicDepthBuffer &&
-                              g.setValue(ce, 'logDepthBufFC', 2 / (Math.log(e.far + 1) / Math.LN2)),
-                            x !== e && ((x = e), (p = !0), (m = !0)),
-                            n.isShaderMaterial ||
-                              n.isMeshPhongMaterial ||
-                              n.isMeshToonMaterial ||
-                              n.isMeshStandardMaterial ||
-                              n.envMap)
-                          ) {
-                            var A = g.map.cameraPosition
-                            void 0 !== A && A.setValue(ce, N.setFromMatrixPosition(e.matrixWorld))
-                          }
-                          ;(n.isMeshPhongMaterial ||
-                            n.isMeshToonMaterial ||
-                            n.isMeshLambertMaterial ||
-                            n.isMeshBasicMaterial ||
-                            n.isMeshStandardMaterial ||
-                            n.isShaderMaterial) &&
-                            g.setValue(ce, 'isOrthographic', !0 === e.isOrthographicCamera),
-                            (n.isMeshPhongMaterial ||
-                              n.isMeshToonMaterial ||
-                              n.isMeshLambertMaterial ||
-                              n.isMeshBasicMaterial ||
-                              n.isMeshStandardMaterial ||
-                              n.isShaderMaterial ||
-                              n.isShadowMaterial ||
-                              n.skinning) &&
-                              g.setValue(ce, 'viewMatrix', e.matrixWorldInverse)
-                        }
-                        if (n.skinning) {
-                          g.setOptional(ce, r, 'bindMatrix'),
-                            g.setOptional(ce, r, 'bindMatrixInverse')
-                          var E = r.skeleton
-                          if (E) {
-                            var M = E.bones
-                            if (z.floatVertexTextures) {
-                              if (null === E.boneTexture) {
-                                var _ = Math.sqrt(4 * M.length)
-                                ;(_ = Kn.ceilPowerOfTwo(_)), (_ = Math.max(_, 4))
-                                var T = new Float32Array(_ * _ * 4)
-                                T.set(E.boneMatrices)
-                                var L = new Uo(T, _, _, Ue, Pe)
-                                ;(E.boneMatrices = T), (E.boneTexture = L), (E.boneTextureSize = _)
-                              }
-                              g.setValue(ce, 'boneTexture', E.boneTexture, q),
-                                g.setValue(ce, 'boneTextureSize', E.boneTextureSize)
-                            } else g.setOptional(ce, E, 'boneMatrices')
-                          }
-                        }
-                        return (
-                          (p || l.receiveShadow !== r.receiveShadow) &&
-                            ((l.receiveShadow = r.receiveShadow),
-                            g.setValue(ce, 'receiveShadow', r.receiveShadow)),
-                          p &&
-                            (g.setValue(ce, 'toneMappingExposure', f.toneMappingExposure),
-                            l.needsLights && Oe(y, m),
-                            i && n.fog && J.refreshFogUniforms(y, i),
-                            J.refreshMaterialUniforms(y, n, C, S),
-                            ss.upload(ce, l.uniformsList, y, q)),
-                          n.isShaderMaterial &&
-                            !0 === n.uniformsNeedUpdate &&
-                            (ss.upload(ce, l.uniformsList, y, q), (n.uniformsNeedUpdate = !1)),
-                          n.isSpriteMaterial && g.setValue(ce, 'center', r.center),
-                          g.setValue(ce, 'modelViewMatrix', r.modelViewMatrix),
-                          g.setValue(ce, 'normalMatrix', r.normalMatrix),
-                          g.setValue(ce, 'modelMatrix', r.matrixWorld),
-                          v
-                        )
-                      }
-                      function Oe(e, t) {
-                        ;(e.ambientLightColor.needsUpdate = t),
-                          (e.lightProbe.needsUpdate = t),
-                          (e.directionalLights.needsUpdate = t),
-                          (e.directionalLightShadows.needsUpdate = t),
-                          (e.pointLights.needsUpdate = t),
-                          (e.pointLightShadows.needsUpdate = t),
-                          (e.spotLights.needsUpdate = t),
-                          (e.spotLightShadows.needsUpdate = t),
-                          (e.rectAreaLights.needsUpdate = t),
-                          (e.hemisphereLights.needsUpdate = t)
-                      }
-                      function Ie(e) {
-                        return (
-                          e.isMeshLambertMaterial ||
-                          e.isMeshToonMaterial ||
-                          e.isMeshPhongMaterial ||
-                          e.isMeshStandardMaterial ||
-                          e.isShadowMaterial ||
-                          (e.isShaderMaterial && !0 === e.lights)
-                        )
-                      }
-                      Me.setAnimationLoop(Ee),
-                        'undefined' !== typeof window && Me.setContext(window),
-                        (this.setAnimationLoop = function (e) {
-                          ;(xe = e), fe.setAnimationLoop(e), null === e ? Me.stop() : Me.start()
-                        }),
-                        (this.render = function (e, t) {
-                          var n, r
-                          if (
-                            (void 0 !== arguments[2] &&
-                              (console.warn(
-                                'THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead.',
-                              ),
-                              (n = arguments[2])),
-                            void 0 !== arguments[3] &&
-                              (console.warn(
-                                'THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead.',
-                              ),
-                              (r = arguments[3])),
-                            void 0 === t || !0 === t.isCamera)
-                          ) {
-                            if (!0 !== m) {
-                              le.resetDefaultState(),
-                                (w = -1),
-                                (x = null),
-                                !0 === e.autoUpdate && e.updateMatrixWorld(),
-                                null === t.parent && t.updateMatrixWorld(),
-                                !0 === fe.enabled &&
-                                  !0 === fe.isPresenting &&
-                                  (t = fe.getCamera(t)),
-                                !0 === e.isScene && e.onBeforeRender(f, e, t, n || b),
-                                (d = te.get(e, p.length)).init(),
-                                p.push(d),
-                                k.multiplyMatrices(t.projectionMatrix, t.matrixWorldInverse),
-                                I.setFromProjectionMatrix(k),
-                                (F = this.localClippingEnabled),
-                                (B = ne.init(this.clippingPlanes, F, t)),
-                                (h = ee.get(e, t)).init(),
-                                Te(e, t, 0, f.sortObjects),
-                                h.finish(),
-                                !0 === f.sortObjects && h.sort(L, R),
-                                !0 === B && ne.beginShadows()
-                              var i = d.state.shadowsArray
-                              me.render(i, e, t),
-                                d.setupLights(),
-                                d.setupLightsView(t),
-                                !0 === B && ne.endShadows(),
-                                !0 === this.info.autoReset && this.info.reset(),
-                                void 0 !== n && this.setRenderTarget(n),
-                                re.render(h, e, t, r)
-                              var o = h.opaque,
-                                a = h.transparent
-                              o.length > 0 && Se(o, e, t),
-                                a.length > 0 && Se(a, e, t),
-                                !0 === e.isScene && e.onAfterRender(f, e, t),
-                                null !== b &&
-                                  (q.updateRenderTargetMipmap(b),
-                                  q.updateMultisampleRenderTarget(b)),
-                                j.buffers.depth.setTest(!0),
-                                j.buffers.depth.setMask(!0),
-                                j.buffers.color.setMask(!0),
-                                j.setPolygonOffset(!1),
-                                fe.enabled && fe.submitFrame && fe.submitFrame(),
-                                p.pop(),
-                                (d = p.length > 0 ? p[p.length - 1] : null),
-                                (h = null)
-                            }
-                          } else
-                            console.error(
-                              'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.',
-                            )
-                        }),
-                        (this.setTexture2D = (function () {
-                          var e = !1
-                          return function (t, n) {
-                            t &&
-                              t.isWebGLRenderTarget &&
-                              (e ||
-                                (console.warn(
-                                  "THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.",
-                                ),
-                                (e = !0)),
-                              (t = t.texture)),
-                              q.setTexture2D(t, n)
-                          }
-                        })()),
-                        (this.setFramebuffer = function (e) {
-                          v !== e && null === b && ce.bindFramebuffer(36160, e), (v = e)
-                        }),
-                        (this.getActiveCubeFace = function () {
-                          return g
-                        }),
-                        (this.getActiveMipmapLevel = function () {
-                          return y
-                        }),
-                        (this.getRenderList = function () {
-                          return h
-                        }),
-                        (this.setRenderList = function (e) {
-                          h = e
-                        }),
-                        (this.getRenderTarget = function () {
-                          return b
-                        }),
-                        (this.setRenderTarget = function (e, t, n) {
-                          void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            (b = e),
-                            (g = t),
-                            (y = n),
-                            e && void 0 === W.get(e).__webglFramebuffer && q.setupRenderTarget(e)
-                          var r = v,
-                            i = !1
-                          if (e) {
-                            var o = W.get(e).__webglFramebuffer
-                            e.isWebGLCubeRenderTarget
-                              ? ((r = o[t]), (i = !0))
-                              : (r = e.isWebGLMultisampleRenderTarget
-                                  ? W.get(e).__webglMultisampledFramebuffer
-                                  : o),
-                              E.copy(e.viewport),
-                              M.copy(e.scissor),
-                              (_ = e.scissorTest)
-                          } else
-                            E.copy(P).multiplyScalar(C).floor(),
-                              M.copy(D).multiplyScalar(C).floor(),
-                              (_ = O)
-                          if (
-                            (A !== r && (ce.bindFramebuffer(36160, r), (A = r)),
-                            j.viewport(E),
-                            j.scissor(M),
-                            j.setScissorTest(_),
-                            i)
-                          ) {
-                            var a = W.get(e.texture)
-                            ce.framebufferTexture2D(36160, 36064, 34069 + t, a.__webglTexture, n)
-                          }
-                        }),
-                        (this.readRenderTargetPixels = function (e, t, n, r, i, o, a) {
-                          if (e && e.isWebGLRenderTarget) {
-                            var s = W.get(e).__webglFramebuffer
-                            if ((e.isWebGLCubeRenderTarget && void 0 !== a && (s = s[a]), s)) {
-                              var l = !1
-                              s !== A && (ce.bindFramebuffer(36160, s), (l = !0))
-                              try {
-                                var c = e.texture,
-                                  u = c.format,
-                                  h = c.type
-                                if (u !== Ue && se.convert(u) !== ce.getParameter(35739))
-                                  return void console.error(
-                                    'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.',
-                                  )
-                                var d =
-                                  h === De &&
-                                  (G.has('EXT_color_buffer_half_float') ||
-                                    (z.isWebGL2 && G.has('EXT_color_buffer_float')))
-                                if (
-                                  h !== _e &&
-                                  se.convert(h) !== ce.getParameter(35738) &&
-                                  (h !== Pe ||
-                                    !(
-                                      z.isWebGL2 ||
-                                      G.has('OES_texture_float') ||
-                                      G.has('WEBGL_color_buffer_float')
-                                    )) &&
-                                  !d
-                                )
-                                  return void console.error(
-                                    'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.',
-                                  )
-                                36053 === ce.checkFramebufferStatus(36160)
-                                  ? t >= 0 &&
-                                    t <= e.width - r &&
-                                    n >= 0 &&
-                                    n <= e.height - i &&
-                                    ce.readPixels(t, n, r, i, se.convert(u), se.convert(h), o)
-                                  : console.error(
-                                      'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.',
-                                    )
-                              } finally {
-                                l && ce.bindFramebuffer(36160, A)
-                              }
-                            }
-                          } else
-                            console.error(
-                              'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.',
-                            )
-                        }),
-                        (this.copyFramebufferToTexture = function (e, t, n) {
-                          void 0 === n && (n = 0)
-                          var r = Math.pow(2, -n),
-                            i = Math.floor(t.image.width * r),
-                            o = Math.floor(t.image.height * r),
-                            a = se.convert(t.format)
-                          q.setTexture2D(t, 0),
-                            ce.copyTexImage2D(3553, n, a, e.x, e.y, i, o, 0),
-                            j.unbindTexture()
-                        }),
-                        (this.copyTextureToTexture = function (e, t, n, r) {
-                          void 0 === r && (r = 0)
-                          var i = t.image.width,
-                            o = t.image.height,
-                            a = se.convert(n.format),
-                            s = se.convert(n.type)
-                          q.setTexture2D(n, 0),
-                            ce.pixelStorei(37440, n.flipY),
-                            ce.pixelStorei(37441, n.premultiplyAlpha),
-                            ce.pixelStorei(3317, n.unpackAlignment),
-                            t.isDataTexture
-                              ? ce.texSubImage2D(3553, r, e.x, e.y, i, o, a, s, t.image.data)
-                              : t.isCompressedTexture
-                              ? ce.compressedTexSubImage2D(
-                                  3553,
-                                  r,
-                                  e.x,
-                                  e.y,
-                                  t.mipmaps[0].width,
-                                  t.mipmaps[0].height,
-                                  a,
-                                  t.mipmaps[0].data,
-                                )
-                              : ce.texSubImage2D(3553, r, e.x, e.y, a, s, t.image),
-                            0 === r && n.generateMipmaps && ce.generateMipmap(3553),
-                            j.unbindTexture()
-                        }),
-                        (this.initTexture = function (e) {
-                          q.setTexture2D(e, 0), j.unbindTexture()
-                        }),
-                        (this.resetState = function () {
-                          j.reset(), le.reset()
-                        }),
-                        'undefined' !== typeof __THREE_DEVTOOLS__ &&
-                          __THREE_DEVTOOLS__.dispatchEvent(
-                            new CustomEvent('observe', { detail: this }),
-                          )
-                    }
-                    function fl(e) {
-                      pl.call(this, e)
-                    }
-                    Object.assign(ll.prototype, qn.prototype),
-                      Object.assign(cl.prototype, {
-                        constructor: cl,
-                        getHandSpace: function () {
-                          return (
-                            null === this._hand &&
-                              ((this._hand = new rl()),
-                              (this._hand.matrixAutoUpdate = !1),
-                              (this._hand.visible = !1),
-                              (this._hand.joints = {}),
-                              (this._hand.inputState = { pinching: !1 })),
-                            this._hand
-                          )
-                        },
-                        getTargetRaySpace: function () {
-                          return (
-                            null === this._targetRay &&
-                              ((this._targetRay = new rl()),
-                              (this._targetRay.matrixAutoUpdate = !1),
-                              (this._targetRay.visible = !1)),
-                            this._targetRay
-                          )
-                        },
-                        getGripSpace: function () {
-                          return (
-                            null === this._grip &&
-                              ((this._grip = new rl()),
-                              (this._grip.matrixAutoUpdate = !1),
-                              (this._grip.visible = !1)),
-                            this._grip
-                          )
-                        },
-                        dispatchEvent: function (e) {
-                          return (
-                            null !== this._targetRay && this._targetRay.dispatchEvent(e),
-                            null !== this._grip && this._grip.dispatchEvent(e),
-                            null !== this._hand && this._hand.dispatchEvent(e),
-                            this
-                          )
-                        },
-                        disconnect: function (e) {
-                          return (
-                            this.dispatchEvent({ type: 'disconnected', data: e }),
-                            null !== this._targetRay && (this._targetRay.visible = !1),
-                            null !== this._grip && (this._grip.visible = !1),
-                            null !== this._hand && (this._hand.visible = !1),
-                            this
-                          )
-                        },
-                        update: function (e, t, n) {
-                          var r = null,
-                            i = null,
-                            o = null,
-                            a = this._targetRay,
-                            s = this._grip,
-                            l = this._hand
-                          if (e && 'visible-blurred' !== t.session.visibilityState)
-                            if (l && e.hand) {
-                              o = !0
-                              for (var c, u = Wn(e.hand.values()); !(c = u()).done; ) {
-                                var h = c.value,
-                                  d = t.getJointPose(h, n)
-                                if (void 0 === l.joints[h.jointName]) {
-                                  var p = new rl()
-                                  ;(p.matrixAutoUpdate = !1),
-                                    (p.visible = !1),
-                                    (l.joints[h.jointName] = p),
-                                    l.add(p)
-                                }
-                                var f = l.joints[h.jointName]
-                                null !== d &&
-                                  (f.matrix.fromArray(d.transform.matrix),
-                                  f.matrix.decompose(f.position, f.rotation, f.scale),
-                                  (f.jointRadius = d.radius)),
-                                  (f.visible = null !== d)
-                              }
-                              var m = l.joints['index-finger-tip'],
-                                v = l.joints['thumb-tip'],
-                                g = m.position.distanceTo(v.position),
-                                y = 0.02,
-                                b = 0.005
-                              l.inputState.pinching && g > y + b
-                                ? ((l.inputState.pinching = !1),
-                                  this.dispatchEvent({
-                                    type: 'pinchend',
-                                    handedness: e.handedness,
-                                    target: this,
-                                  }))
-                                : !l.inputState.pinching &&
-                                  g <= y - b &&
-                                  ((l.inputState.pinching = !0),
-                                  this.dispatchEvent({
-                                    type: 'pinchstart',
-                                    handedness: e.handedness,
-                                    target: this,
-                                  }))
-                            } else
-                              null !== a &&
-                                null !== (r = t.getPose(e.targetRaySpace, n)) &&
-                                (a.matrix.fromArray(r.transform.matrix),
-                                a.matrix.decompose(a.position, a.rotation, a.scale)),
-                                null !== s &&
-                                  e.gripSpace &&
-                                  null !== (i = t.getPose(e.gripSpace, n)) &&
-                                  (s.matrix.fromArray(i.transform.matrix),
-                                  s.matrix.decompose(s.position, s.rotation, s.scale))
-                          return (
-                            null !== a && (a.visible = null !== r),
-                            null !== s && (s.visible = null !== i),
-                            null !== l && (l.visible = null !== o),
-                            this
-                          )
-                        },
-                      }),
-                      Object.assign(ul.prototype, qn.prototype),
-                      (fl.prototype = Object.assign(Object.create(pl.prototype), {
-                        constructor: fl,
-                        isWebGL1Renderer: !0,
-                      }))
-                    var ml = (function () {
-                        function e(e, t) {
-                          Object.defineProperty(this, 'isFogExp2', { value: !0 }),
-                            (this.name = ''),
-                            (this.color = new Li(e)),
-                            (this.density = void 0 !== t ? t : 25e-5)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.clone = function () {
-                            return new e(this.color, this.density)
-                          }),
-                          (t.toJSON = function () {
-                            return {
-                              type: 'FogExp2',
-                              color: this.color.getHex(),
-                              density: this.density,
-                            }
-                          }),
-                          e
-                        )
-                      })(),
-                      vl = (function () {
-                        function e(e, t, n) {
-                          Object.defineProperty(this, 'isFog', { value: !0 }),
-                            (this.name = ''),
-                            (this.color = new Li(e)),
-                            (this.near = void 0 !== t ? t : 1),
-                            (this.far = void 0 !== n ? n : 1e3)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.clone = function () {
-                            return new e(this.color, this.near, this.far)
-                          }),
-                          (t.toJSON = function () {
-                            return {
-                              type: 'Fog',
-                              color: this.color.getHex(),
-                              near: this.near,
-                              far: this.far,
-                            }
-                          }),
-                          e
-                        )
-                      })(),
-                      gl = (function (e) {
-                        function t() {
-                          var t
-                          return (
-                            (t = e.call(this) || this),
-                            Object.defineProperty(zn(t), 'isScene', { value: !0 }),
-                            (t.type = 'Scene'),
-                            (t.background = null),
-                            (t.environment = null),
-                            (t.fog = null),
-                            (t.overrideMaterial = null),
-                            (t.autoUpdate = !0),
-                            'undefined' !== typeof __THREE_DEVTOOLS__ &&
-                              __THREE_DEVTOOLS__.dispatchEvent(
-                                new CustomEvent('observe', { detail: zn(t) }),
-                              ),
-                            t
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.copy = function (t, n) {
-                            return (
-                              e.prototype.copy.call(this, t, n),
-                              null !== t.background && (this.background = t.background.clone()),
-                              null !== t.environment && (this.environment = t.environment.clone()),
-                              null !== t.fog && (this.fog = t.fog.clone()),
-                              null !== t.overrideMaterial &&
-                                (this.overrideMaterial = t.overrideMaterial.clone()),
-                              (this.autoUpdate = t.autoUpdate),
-                              (this.matrixAutoUpdate = t.matrixAutoUpdate),
-                              this
-                            )
-                          }),
-                          (n.toJSON = function (t) {
-                            var n = e.prototype.toJSON.call(this, t)
-                            return (
-                              null !== this.background &&
-                                (n.object.background = this.background.toJSON(t)),
-                              null !== this.environment &&
-                                (n.object.environment = this.environment.toJSON(t)),
-                              null !== this.fog && (n.object.fog = this.fog.toJSON()),
-                              n
-                            )
-                          }),
-                          t
-                        )
-                      })(si)
-                    function yl(e, t) {
-                      ;(this.array = e),
-                        (this.stride = t),
-                        (this.count = void 0 !== e ? e.length / t : 0),
-                        (this.usage = Tn),
-                        (this.updateRange = { offset: 0, count: -1 }),
-                        (this.version = 0),
-                        (this.uuid = Kn.generateUUID())
-                    }
-                    Object.defineProperty(yl.prototype, 'needsUpdate', {
-                      set: function (e) {
-                        !0 === e && this.version++
-                      },
-                    }),
-                      Object.assign(yl.prototype, {
-                        isInterleavedBuffer: !0,
-                        onUploadCallback: function () {},
-                        setUsage: function (e) {
-                          return (this.usage = e), this
-                        },
-                        copy: function (e) {
-                          return (
-                            (this.array = new e.array.constructor(e.array)),
-                            (this.count = e.count),
-                            (this.stride = e.stride),
-                            (this.usage = e.usage),
-                            this
-                          )
-                        },
-                        copyAt: function (e, t, n) {
-                          ;(e *= this.stride), (n *= t.stride)
-                          for (var r = 0, i = this.stride; r < i; r++)
-                            this.array[e + r] = t.array[n + r]
-                          return this
-                        },
-                        set: function (e, t) {
-                          return void 0 === t && (t = 0), this.array.set(e, t), this
-                        },
-                        clone: function (e) {
-                          void 0 === e.arrayBuffers && (e.arrayBuffers = {}),
-                            void 0 === this.array.buffer._uuid &&
-                              (this.array.buffer._uuid = Kn.generateUUID()),
-                            void 0 === e.arrayBuffers[this.array.buffer._uuid] &&
-                              (e.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer)
-                          var t = new yl(
-                            new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),
-                            this.stride,
-                          )
-                          return t.setUsage(this.usage), t
-                        },
-                        onUpload: function (e) {
-                          return (this.onUploadCallback = e), this
-                        },
-                        toJSON: function (e) {
-                          return (
-                            void 0 === e.arrayBuffers && (e.arrayBuffers = {}),
-                            void 0 === this.array.buffer._uuid &&
-                              (this.array.buffer._uuid = Kn.generateUUID()),
-                            void 0 === e.arrayBuffers[this.array.buffer._uuid] &&
-                              (e.arrayBuffers[this.array.buffer._uuid] = Array.prototype.slice.call(
-                                new Uint32Array(this.array.buffer),
-                              )),
-                            {
-                              uuid: this.uuid,
-                              buffer: this.array.buffer._uuid,
-                              type: this.array.constructor.name,
-                              stride: this.stride,
-                            }
-                          )
-                        },
-                      })
-                    var bl,
-                      Al = new lr()
-                    function wl(e, t, n, r) {
-                      ;(this.name = ''),
-                        (this.data = e),
-                        (this.itemSize = t),
-                        (this.offset = n),
-                        (this.normalized = !0 === r)
-                    }
-                    function xl(e) {
-                      Di.call(this),
-                        (this.type = 'SpriteMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.map = null),
-                        (this.alphaMap = null),
-                        (this.rotation = 0),
-                        (this.sizeAttenuation = !0),
-                        (this.transparent = !0),
-                        this.setValues(e)
-                    }
-                    Object.defineProperties(wl.prototype, {
-                      count: {
-                        get: function () {
-                          return this.data.count
-                        },
-                      },
-                      array: {
-                        get: function () {
-                          return this.data.array
-                        },
-                      },
-                      needsUpdate: {
-                        set: function (e) {
-                          this.data.needsUpdate = e
-                        },
-                      },
-                    }),
-                      Object.assign(wl.prototype, {
-                        isInterleavedBufferAttribute: !0,
-                        applyMatrix4: function (e) {
-                          for (var t = 0, n = this.data.count; t < n; t++)
-                            (Al.x = this.getX(t)),
-                              (Al.y = this.getY(t)),
-                              (Al.z = this.getZ(t)),
-                              Al.applyMatrix4(e),
-                              this.setXYZ(t, Al.x, Al.y, Al.z)
-                          return this
-                        },
-                        setX: function (e, t) {
-                          return (this.data.array[e * this.data.stride + this.offset] = t), this
-                        },
-                        setY: function (e, t) {
-                          return (this.data.array[e * this.data.stride + this.offset + 1] = t), this
-                        },
-                        setZ: function (e, t) {
-                          return (this.data.array[e * this.data.stride + this.offset + 2] = t), this
-                        },
-                        setW: function (e, t) {
-                          return (this.data.array[e * this.data.stride + this.offset + 3] = t), this
-                        },
-                        getX: function (e) {
-                          return this.data.array[e * this.data.stride + this.offset]
-                        },
-                        getY: function (e) {
-                          return this.data.array[e * this.data.stride + this.offset + 1]
-                        },
-                        getZ: function (e) {
-                          return this.data.array[e * this.data.stride + this.offset + 2]
-                        },
-                        getW: function (e) {
-                          return this.data.array[e * this.data.stride + this.offset + 3]
-                        },
-                        setXY: function (e, t, n) {
-                          return (
-                            (e = e * this.data.stride + this.offset),
-                            (this.data.array[e + 0] = t),
-                            (this.data.array[e + 1] = n),
-                            this
-                          )
-                        },
-                        setXYZ: function (e, t, n, r) {
-                          return (
-                            (e = e * this.data.stride + this.offset),
-                            (this.data.array[e + 0] = t),
-                            (this.data.array[e + 1] = n),
-                            (this.data.array[e + 2] = r),
-                            this
-                          )
-                        },
-                        setXYZW: function (e, t, n, r, i) {
-                          return (
-                            (e = e * this.data.stride + this.offset),
-                            (this.data.array[e + 0] = t),
-                            (this.data.array[e + 1] = n),
-                            (this.data.array[e + 2] = r),
-                            (this.data.array[e + 3] = i),
-                            this
-                          )
-                        },
-                        clone: function (e) {
-                          if (void 0 === e) {
-                            console.log(
-                              'THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.',
-                            )
-                            for (var t = [], n = 0; n < this.count; n++)
-                              for (
-                                var r = n * this.data.stride + this.offset, i = 0;
-                                i < this.itemSize;
-                                i++
-                              )
-                                t.push(this.data.array[r + i])
-                            return new Fi(
-                              new this.array.constructor(t),
-                              this.itemSize,
-                              this.normalized,
-                            )
-                          }
-                          return (
-                            void 0 === e.interleavedBuffers && (e.interleavedBuffers = {}),
-                            void 0 === e.interleavedBuffers[this.data.uuid] &&
-                              (e.interleavedBuffers[this.data.uuid] = this.data.clone(e)),
-                            new wl(
-                              e.interleavedBuffers[this.data.uuid],
-                              this.itemSize,
-                              this.offset,
-                              this.normalized,
-                            )
-                          )
-                        },
-                        toJSON: function (e) {
-                          if (void 0 === e) {
-                            console.log(
-                              'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.',
-                            )
-                            for (var t = [], n = 0; n < this.count; n++)
-                              for (
-                                var r = n * this.data.stride + this.offset, i = 0;
-                                i < this.itemSize;
-                                i++
-                              )
-                                t.push(this.data.array[r + i])
-                            return {
-                              itemSize: this.itemSize,
-                              type: this.array.constructor.name,
-                              array: t,
-                              normalized: this.normalized,
-                            }
-                          }
-                          return (
-                            void 0 === e.interleavedBuffers && (e.interleavedBuffers = {}),
-                            void 0 === e.interleavedBuffers[this.data.uuid] &&
-                              (e.interleavedBuffers[this.data.uuid] = this.data.toJSON(e)),
-                            {
-                              isInterleavedBufferAttribute: !0,
-                              itemSize: this.itemSize,
-                              data: this.data.uuid,
-                              offset: this.offset,
-                              normalized: this.normalized,
-                            }
-                          )
-                        },
-                      }),
-                      (xl.prototype = Object.create(Di.prototype)),
-                      (xl.prototype.constructor = xl),
-                      (xl.prototype.isSpriteMaterial = !0),
-                      (xl.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.map = e.map),
-                          (this.alphaMap = e.alphaMap),
-                          (this.rotation = e.rotation),
-                          (this.sizeAttenuation = e.sizeAttenuation),
-                          this
-                        )
-                      })
-                    var El = new lr(),
-                      Ml = new lr(),
-                      _l = new lr(),
-                      Tl = new Jn(),
-                      Sl = new Jn(),
-                      Cl = new Fr(),
-                      Ll = new lr(),
-                      Rl = new lr(),
-                      Pl = new lr(),
-                      Dl = new Jn(),
-                      Ol = new Jn(),
-                      Il = new Jn()
-                    function Bl(e) {
-                      if ((si.call(this), (this.type = 'Sprite'), void 0 === bl)) {
-                        bl = new ro()
-                        var t = new yl(
-                          new Float32Array([
-                            -0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, 0.5,
-                            0, 0, 1,
-                          ]),
-                          5,
-                        )
-                        bl.setIndex([0, 1, 2, 0, 2, 3]),
-                          bl.setAttribute('position', new wl(t, 3, 0, !1)),
-                          bl.setAttribute('uv', new wl(t, 2, 3, !1))
-                      }
-                      ;(this.geometry = bl),
-                        (this.material = void 0 !== e ? e : new xl()),
-                        (this.center = new Jn(0.5, 0.5))
-                    }
-                    function Fl(e, t, n, r, i, o) {
-                      Tl.subVectors(e, n).addScalar(0.5).multiply(r),
-                        void 0 !== i
-                          ? ((Sl.x = o * Tl.x - i * Tl.y), (Sl.y = i * Tl.x + o * Tl.y))
-                          : Sl.copy(Tl),
-                        e.copy(t),
-                        (e.x += Sl.x),
-                        (e.y += Sl.y),
-                        e.applyMatrix4(Cl)
-                    }
-                    Bl.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: Bl,
-                      isSprite: !0,
-                      raycast: function (e, t) {
-                        null === e.camera &&
-                          console.error(
-                            'THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.',
-                          ),
-                          Ml.setFromMatrixScale(this.matrixWorld),
-                          Cl.copy(e.camera.matrixWorld),
-                          this.modelViewMatrix.multiplyMatrices(
-                            e.camera.matrixWorldInverse,
-                            this.matrixWorld,
-                          ),
-                          _l.setFromMatrixPosition(this.modelViewMatrix),
-                          e.camera.isPerspectiveCamera &&
-                            !1 === this.material.sizeAttenuation &&
-                            Ml.multiplyScalar(-_l.z)
-                        var n,
-                          r,
-                          i = this.material.rotation
-                        0 !== i && ((r = Math.cos(i)), (n = Math.sin(i)))
-                        var o = this.center
-                        Fl(Ll.set(-0.5, -0.5, 0), _l, o, Ml, n, r),
-                          Fl(Rl.set(0.5, -0.5, 0), _l, o, Ml, n, r),
-                          Fl(Pl.set(0.5, 0.5, 0), _l, o, Ml, n, r),
-                          Dl.set(0, 0),
-                          Ol.set(1, 0),
-                          Il.set(1, 1)
-                        var a = e.ray.intersectTriangle(Ll, Rl, Pl, !1, El)
-                        if (
-                          null !== a ||
-                          (Fl(Rl.set(-0.5, 0.5, 0), _l, o, Ml, n, r),
-                          Ol.set(0, 1),
-                          null !== (a = e.ray.intersectTriangle(Ll, Pl, Rl, !1, El)))
-                        ) {
-                          var s = e.ray.origin.distanceTo(El)
-                          s < e.near ||
-                            s > e.far ||
-                            t.push({
-                              distance: s,
-                              point: El.clone(),
-                              uv: xi.getUV(El, Ll, Rl, Pl, Dl, Ol, Il, new Jn()),
-                              face: null,
-                              object: this,
-                            })
-                        }
-                      },
-                      copy: function (e) {
-                        return (
-                          si.prototype.copy.call(this, e),
-                          void 0 !== e.center && this.center.copy(e.center),
-                          (this.material = e.material),
-                          this
-                        )
-                      },
-                    })
-                    var kl = new lr(),
-                      Nl = new lr()
-                    function Ul() {
-                      si.call(this),
-                        (this._currentLevel = 0),
-                        (this.type = 'LOD'),
-                        Object.defineProperties(this, { levels: { enumerable: !0, value: [] } }),
-                        (this.autoUpdate = !0)
-                    }
-                    Ul.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: Ul,
-                      isLOD: !0,
-                      copy: function (e) {
-                        si.prototype.copy.call(this, e, !1)
-                        for (var t = e.levels, n = 0, r = t.length; n < r; n++) {
-                          var i = t[n]
-                          this.addLevel(i.object.clone(), i.distance)
-                        }
-                        return (this.autoUpdate = e.autoUpdate), this
-                      },
-                      addLevel: function (e, t) {
-                        void 0 === t && (t = 0), (t = Math.abs(t))
-                        var n,
-                          r = this.levels
-                        for (n = 0; n < r.length && !(t < r[n].distance); n++);
-                        return r.splice(n, 0, { distance: t, object: e }), this.add(e), this
-                      },
-                      getCurrentLevel: function () {
-                        return this._currentLevel
-                      },
-                      getObjectForDistance: function (e) {
-                        var t = this.levels
-                        if (t.length > 0) {
-                          var n, r
-                          for (n = 1, r = t.length; n < r && !(e < t[n].distance); n++);
-                          return t[n - 1].object
-                        }
-                        return null
-                      },
-                      raycast: function (e, t) {
-                        if (this.levels.length > 0) {
-                          kl.setFromMatrixPosition(this.matrixWorld)
-                          var n = e.ray.origin.distanceTo(kl)
-                          this.getObjectForDistance(n).raycast(e, t)
-                        }
-                      },
-                      update: function (e) {
-                        var t = this.levels
-                        if (t.length > 1) {
-                          kl.setFromMatrixPosition(e.matrixWorld),
-                            Nl.setFromMatrixPosition(this.matrixWorld)
-                          var n,
-                            r,
-                            i = kl.distanceTo(Nl) / e.zoom
-                          for (
-                            t[0].object.visible = !0, n = 1, r = t.length;
-                            n < r && i >= t[n].distance;
-                            n++
-                          )
-                            (t[n - 1].object.visible = !1), (t[n].object.visible = !0)
-                          for (this._currentLevel = n - 1; n < r; n++) t[n].object.visible = !1
-                        }
-                      },
-                      toJSON: function (e) {
-                        var t = si.prototype.toJSON.call(this, e)
-                        !1 === this.autoUpdate && (t.object.autoUpdate = !1), (t.object.levels = [])
-                        for (var n = this.levels, r = 0, i = n.length; r < i; r++) {
-                          var o = n[r]
-                          t.object.levels.push({ object: o.object.uuid, distance: o.distance })
-                        }
-                        return t
-                      },
-                    })
-                    var Hl = new lr(),
-                      Gl = new ir(),
-                      zl = new ir(),
-                      jl = new lr(),
-                      Vl = new Fr()
-                    function Wl(e, t) {
-                      e &&
-                        e.isGeometry &&
-                        console.error(
-                          'THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                        ),
-                        xo.call(this, e, t),
-                        (this.type = 'SkinnedMesh'),
-                        (this.bindMode = 'attached'),
-                        (this.bindMatrix = new Fr()),
-                        (this.bindMatrixInverse = new Fr())
-                    }
-                    function ql() {
-                      si.call(this), (this.type = 'Bone')
-                    }
-                    ;(Wl.prototype = Object.assign(Object.create(xo.prototype), {
-                      constructor: Wl,
-                      isSkinnedMesh: !0,
-                      copy: function (e) {
-                        return (
-                          xo.prototype.copy.call(this, e),
-                          (this.bindMode = e.bindMode),
-                          this.bindMatrix.copy(e.bindMatrix),
-                          this.bindMatrixInverse.copy(e.bindMatrixInverse),
-                          (this.skeleton = e.skeleton),
-                          this
-                        )
-                      },
-                      bind: function (e, t) {
-                        ;(this.skeleton = e),
-                          void 0 === t &&
-                            (this.updateMatrixWorld(!0),
-                            this.skeleton.calculateInverses(),
-                            (t = this.matrixWorld)),
-                          this.bindMatrix.copy(t),
-                          this.bindMatrixInverse.copy(t).invert()
-                      },
-                      pose: function () {
-                        this.skeleton.pose()
-                      },
-                      normalizeSkinWeights: function () {
-                        for (
-                          var e = new ir(),
-                            t = this.geometry.attributes.skinWeight,
-                            n = 0,
-                            r = t.count;
-                          n < r;
-                          n++
-                        ) {
-                          ;(e.x = t.getX(n)),
-                            (e.y = t.getY(n)),
-                            (e.z = t.getZ(n)),
-                            (e.w = t.getW(n))
-                          var i = 1 / e.manhattanLength()
-                          i !== 1 / 0 ? e.multiplyScalar(i) : e.set(1, 0, 0, 0),
-                            t.setXYZW(n, e.x, e.y, e.z, e.w)
-                        }
-                      },
-                      updateMatrixWorld: function (e) {
-                        xo.prototype.updateMatrixWorld.call(this, e),
-                          'attached' === this.bindMode
-                            ? this.bindMatrixInverse.copy(this.matrixWorld).invert()
-                            : 'detached' === this.bindMode
-                            ? this.bindMatrixInverse.copy(this.bindMatrix).invert()
-                            : console.warn(
-                                'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode,
-                              )
-                      },
-                      boneTransform: function (e, t) {
-                        var n = this.skeleton,
-                          r = this.geometry
-                        Gl.fromBufferAttribute(r.attributes.skinIndex, e),
-                          zl.fromBufferAttribute(r.attributes.skinWeight, e),
-                          Hl.fromBufferAttribute(r.attributes.position, e).applyMatrix4(
-                            this.bindMatrix,
-                          ),
-                          t.set(0, 0, 0)
-                        for (var i = 0; i < 4; i++) {
-                          var o = zl.getComponent(i)
-                          if (0 !== o) {
-                            var a = Gl.getComponent(i)
-                            Vl.multiplyMatrices(n.bones[a].matrixWorld, n.boneInverses[a]),
-                              t.addScaledVector(jl.copy(Hl).applyMatrix4(Vl), o)
-                          }
-                        }
-                        return t.applyMatrix4(this.bindMatrixInverse)
-                      },
-                    })),
-                      (ql.prototype = Object.assign(Object.create(si.prototype), {
-                        constructor: ql,
-                        isBone: !0,
-                      }))
-                    var Xl = new Fr(),
-                      Yl = new Fr()
-                    function Ql(e, t) {
-                      void 0 === e && (e = []),
-                        void 0 === t && (t = []),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.bones = e.slice(0)),
-                        (this.boneInverses = t),
-                        (this.boneMatrices = null),
-                        (this.boneTexture = null),
-                        (this.boneTextureSize = 0),
-                        (this.frame = -1),
-                        this.init()
-                    }
-                    Object.assign(Ql.prototype, {
-                      init: function () {
-                        var e = this.bones,
-                          t = this.boneInverses
-                        if (((this.boneMatrices = new Float32Array(16 * e.length)), 0 === t.length))
-                          this.calculateInverses()
-                        else if (e.length !== t.length) {
-                          console.warn(
-                            'THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.',
-                          ),
-                            (this.boneInverses = [])
-                          for (var n = 0, r = this.bones.length; n < r; n++)
-                            this.boneInverses.push(new Fr())
-                        }
-                      },
-                      calculateInverses: function () {
-                        this.boneInverses.length = 0
-                        for (var e = 0, t = this.bones.length; e < t; e++) {
-                          var n = new Fr()
-                          this.bones[e] && n.copy(this.bones[e].matrixWorld).invert(),
-                            this.boneInverses.push(n)
-                        }
-                      },
-                      pose: function () {
-                        for (var e = 0, t = this.bones.length; e < t; e++) {
-                          var n = this.bones[e]
-                          n && n.matrixWorld.copy(this.boneInverses[e]).invert()
-                        }
-                        for (var r = 0, i = this.bones.length; r < i; r++) {
-                          var o = this.bones[r]
-                          o &&
-                            (o.parent && o.parent.isBone
-                              ? (o.matrix.copy(o.parent.matrixWorld).invert(),
-                                o.matrix.multiply(o.matrixWorld))
-                              : o.matrix.copy(o.matrixWorld),
-                            o.matrix.decompose(o.position, o.quaternion, o.scale))
-                        }
-                      },
-                      update: function () {
-                        for (
-                          var e = this.bones,
-                            t = this.boneInverses,
-                            n = this.boneMatrices,
-                            r = this.boneTexture,
-                            i = 0,
-                            o = e.length;
-                          i < o;
-                          i++
-                        ) {
-                          var a = e[i] ? e[i].matrixWorld : Yl
-                          Xl.multiplyMatrices(a, t[i]), Xl.toArray(n, 16 * i)
-                        }
-                        null !== r && (r.needsUpdate = !0)
-                      },
-                      clone: function () {
-                        return new Ql(this.bones, this.boneInverses)
-                      },
-                      getBoneByName: function (e) {
-                        for (var t = 0, n = this.bones.length; t < n; t++) {
-                          var r = this.bones[t]
-                          if (r.name === e) return r
-                        }
-                      },
-                      dispose: function () {
-                        null !== this.boneTexture &&
-                          (this.boneTexture.dispose(), (this.boneTexture = null))
-                      },
-                      fromJSON: function (e, t) {
-                        this.uuid = e.uuid
-                        for (var n = 0, r = e.bones.length; n < r; n++) {
-                          var i = e.bones[n],
-                            o = t[i]
-                          void 0 === o &&
-                            (console.warn('THREE.Skeleton: No bone found with UUID:', i),
-                            (o = new ql())),
-                            this.bones.push(o),
-                            this.boneInverses.push(new Fr().fromArray(e.boneInverses[n]))
-                        }
-                        return this.init(), this
-                      },
-                      toJSON: function () {
-                        var e = {
-                          metadata: {
-                            version: 4.5,
-                            type: 'Skeleton',
-                            generator: 'Skeleton.toJSON',
-                          },
-                          bones: [],
-                          boneInverses: [],
-                        }
-                        e.uuid = this.uuid
-                        for (
-                          var t = this.bones, n = this.boneInverses, r = 0, i = t.length;
-                          r < i;
-                          r++
-                        ) {
-                          var o = t[r]
-                          e.bones.push(o.uuid)
-                          var a = n[r]
-                          e.boneInverses.push(a.toArray())
-                        }
-                        return e
-                      },
-                    })
-                    var Zl = new Fr(),
-                      Kl = new Fr(),
-                      Jl = [],
-                      $l = new xo()
-                    function ec(e, t, n) {
-                      xo.call(this, e, t),
-                        (this.instanceMatrix = new Fi(new Float32Array(16 * n), 16)),
-                        (this.instanceColor = null),
-                        (this.count = n),
-                        (this.frustumCulled = !1)
-                    }
-                    function tc(e) {
-                      Di.call(this),
-                        (this.type = 'LineBasicMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.linewidth = 1),
-                        (this.linecap = 'round'),
-                        (this.linejoin = 'round'),
-                        (this.morphTargets = !1),
-                        this.setValues(e)
-                    }
-                    ;(ec.prototype = Object.assign(Object.create(xo.prototype), {
-                      constructor: ec,
-                      isInstancedMesh: !0,
-                      copy: function (e) {
-                        return (
-                          xo.prototype.copy.call(this, e),
-                          this.instanceMatrix.copy(e.instanceMatrix),
-                          null !== e.instanceColor &&
-                            (this.instanceColor = e.instanceColor.clone()),
-                          (this.count = e.count),
-                          this
-                        )
-                      },
-                      getColorAt: function (e, t) {
-                        t.fromArray(this.instanceColor.array, 3 * e)
-                      },
-                      getMatrixAt: function (e, t) {
-                        t.fromArray(this.instanceMatrix.array, 16 * e)
-                      },
-                      raycast: function (e, t) {
-                        var n = this.matrixWorld,
-                          r = this.count
-                        if (
-                          (($l.geometry = this.geometry),
-                          ($l.material = this.material),
-                          void 0 !== $l.material)
-                        )
-                          for (var i = 0; i < r; i++) {
-                            this.getMatrixAt(i, Zl),
-                              Kl.multiplyMatrices(n, Zl),
-                              ($l.matrixWorld = Kl),
-                              $l.raycast(e, Jl)
-                            for (var o = 0, a = Jl.length; o < a; o++) {
-                              var s = Jl[o]
-                              ;(s.instanceId = i), (s.object = this), t.push(s)
-                            }
-                            Jl.length = 0
-                          }
-                      },
-                      setColorAt: function (e, t) {
-                        null === this.instanceColor &&
-                          (this.instanceColor = new Fi(new Float32Array(3 * this.count), 3)),
-                          t.toArray(this.instanceColor.array, 3 * e)
-                      },
-                      setMatrixAt: function (e, t) {
-                        t.toArray(this.instanceMatrix.array, 16 * e)
-                      },
-                      updateMorphTargets: function () {},
-                      dispose: function () {
-                        this.dispatchEvent({ type: 'dispose' })
-                      },
-                    })),
-                      (tc.prototype = Object.create(Di.prototype)),
-                      (tc.prototype.constructor = tc),
-                      (tc.prototype.isLineBasicMaterial = !0),
-                      (tc.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.linewidth = e.linewidth),
-                          (this.linecap = e.linecap),
-                          (this.linejoin = e.linejoin),
-                          (this.morphTargets = e.morphTargets),
-                          this
-                        )
-                      })
-                    var nc = new lr(),
-                      rc = new lr(),
-                      ic = new Fr(),
-                      oc = new Br(),
-                      ac = new Sr()
-                    function sc(e, t) {
-                      void 0 === e && (e = new ro()),
-                        void 0 === t && (t = new tc()),
-                        si.call(this),
-                        (this.type = 'Line'),
-                        (this.geometry = e),
-                        (this.material = t),
-                        this.updateMorphTargets()
-                    }
-                    sc.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: sc,
-                      isLine: !0,
-                      copy: function (e) {
-                        return (
-                          si.prototype.copy.call(this, e),
-                          (this.material = e.material),
-                          (this.geometry = e.geometry),
-                          this
-                        )
-                      },
-                      computeLineDistances: function () {
-                        var e = this.geometry
-                        if (e.isBufferGeometry)
-                          if (null === e.index) {
-                            for (
-                              var t = e.attributes.position, n = [0], r = 1, i = t.count;
-                              r < i;
-                              r++
-                            )
-                              nc.fromBufferAttribute(t, r - 1),
-                                rc.fromBufferAttribute(t, r),
-                                (n[r] = n[r - 1]),
-                                (n[r] += nc.distanceTo(rc))
-                            e.setAttribute('lineDistance', new Wi(n, 1))
-                          } else
-                            console.warn(
-                              'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.',
-                            )
-                        else
-                          e.isGeometry &&
-                            console.error(
-                              'THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        return this
-                      },
-                      raycast: function (e, t) {
-                        var n = this.geometry,
-                          r = this.matrixWorld,
-                          i = e.params.Line.threshold
-                        if (
-                          (null === n.boundingSphere && n.computeBoundingSphere(),
-                          ac.copy(n.boundingSphere),
-                          ac.applyMatrix4(r),
-                          (ac.radius += i),
-                          !1 !== e.ray.intersectsSphere(ac))
-                        ) {
-                          ic.copy(r).invert(), oc.copy(e.ray).applyMatrix4(ic)
-                          var o = i / ((this.scale.x + this.scale.y + this.scale.z) / 3),
-                            a = o * o,
-                            s = new lr(),
-                            l = new lr(),
-                            c = new lr(),
-                            u = new lr(),
-                            h = this.isLineSegments ? 2 : 1
-                          if (n.isBufferGeometry) {
-                            var d = n.index,
-                              p = n.attributes.position
-                            if (null !== d)
-                              for (var f = d.array, m = 0, v = f.length - 1; m < v; m += h) {
-                                var g = f[m],
-                                  y = f[m + 1]
-                                if (
-                                  (s.fromBufferAttribute(p, g),
-                                  l.fromBufferAttribute(p, y),
-                                  !(oc.distanceSqToSegment(s, l, u, c) > a))
-                                ) {
-                                  u.applyMatrix4(this.matrixWorld)
-                                  var b = e.ray.origin.distanceTo(u)
-                                  b < e.near ||
-                                    b > e.far ||
-                                    t.push({
-                                      distance: b,
-                                      point: c.clone().applyMatrix4(this.matrixWorld),
-                                      index: m,
-                                      face: null,
-                                      faceIndex: null,
-                                      object: this,
-                                    })
-                                }
-                              }
-                            else
-                              for (var A = 0, w = p.count - 1; A < w; A += h)
-                                if (
-                                  (s.fromBufferAttribute(p, A),
-                                  l.fromBufferAttribute(p, A + 1),
-                                  !(oc.distanceSqToSegment(s, l, u, c) > a))
-                                ) {
-                                  u.applyMatrix4(this.matrixWorld)
-                                  var x = e.ray.origin.distanceTo(u)
-                                  x < e.near ||
-                                    x > e.far ||
-                                    t.push({
-                                      distance: x,
-                                      point: c.clone().applyMatrix4(this.matrixWorld),
-                                      index: A,
-                                      face: null,
-                                      faceIndex: null,
-                                      object: this,
-                                    })
-                                }
-                          } else
-                            n.isGeometry &&
-                              console.error(
-                                'THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                              )
-                        }
-                      },
-                      updateMorphTargets: function () {
-                        var e = this.geometry
-                        if (e.isBufferGeometry) {
-                          var t = e.morphAttributes,
-                            n = Object.keys(t)
-                          if (n.length > 0) {
-                            var r = t[n[0]]
-                            if (void 0 !== r) {
-                              ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                              for (var i = 0, o = r.length; i < o; i++) {
-                                var a = r[i].name || String(i)
-                                this.morphTargetInfluences.push(0),
-                                  (this.morphTargetDictionary[a] = i)
-                              }
-                            }
-                          }
-                        } else {
-                          var s = e.morphTargets
-                          void 0 !== s &&
-                            s.length > 0 &&
-                            console.error(
-                              'THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        }
-                      },
-                    })
-                    var lc = new lr(),
-                      cc = new lr()
-                    function uc(e, t) {
-                      sc.call(this, e, t), (this.type = 'LineSegments')
-                    }
-                    function hc(e, t) {
-                      sc.call(this, e, t), (this.type = 'LineLoop')
-                    }
-                    function dc(e) {
-                      Di.call(this),
-                        (this.type = 'PointsMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.map = null),
-                        (this.alphaMap = null),
-                        (this.size = 1),
-                        (this.sizeAttenuation = !0),
-                        (this.morphTargets = !1),
-                        this.setValues(e)
-                    }
-                    ;(uc.prototype = Object.assign(Object.create(sc.prototype), {
-                      constructor: uc,
-                      isLineSegments: !0,
-                      computeLineDistances: function () {
-                        var e = this.geometry
-                        if (e.isBufferGeometry)
-                          if (null === e.index) {
-                            for (
-                              var t = e.attributes.position, n = [], r = 0, i = t.count;
-                              r < i;
-                              r += 2
-                            )
-                              lc.fromBufferAttribute(t, r),
-                                cc.fromBufferAttribute(t, r + 1),
-                                (n[r] = 0 === r ? 0 : n[r - 1]),
-                                (n[r + 1] = n[r] + lc.distanceTo(cc))
-                            e.setAttribute('lineDistance', new Wi(n, 1))
-                          } else
-                            console.warn(
-                              'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.',
-                            )
-                        else
-                          e.isGeometry &&
-                            console.error(
-                              'THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        return this
-                      },
-                    })),
-                      (hc.prototype = Object.assign(Object.create(sc.prototype), {
-                        constructor: hc,
-                        isLineLoop: !0,
-                      })),
-                      (dc.prototype = Object.create(Di.prototype)),
-                      (dc.prototype.constructor = dc),
-                      (dc.prototype.isPointsMaterial = !0),
-                      (dc.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.map = e.map),
-                          (this.alphaMap = e.alphaMap),
-                          (this.size = e.size),
-                          (this.sizeAttenuation = e.sizeAttenuation),
-                          (this.morphTargets = e.morphTargets),
-                          this
-                        )
-                      })
-                    var pc = new Fr(),
-                      fc = new Br(),
-                      mc = new Sr(),
-                      vc = new lr()
-                    function gc(e, t) {
-                      void 0 === e && (e = new ro()),
-                        void 0 === t && (t = new dc()),
-                        si.call(this),
-                        (this.type = 'Points'),
-                        (this.geometry = e),
-                        (this.material = t),
-                        this.updateMorphTargets()
-                    }
-                    function yc(e, t, n, r, i, o, a) {
-                      var s = fc.distanceSqToPoint(e)
-                      if (s < n) {
-                        var l = new lr()
-                        fc.closestPointToPoint(e, l), l.applyMatrix4(r)
-                        var c = i.ray.origin.distanceTo(l)
-                        if (c < i.near || c > i.far) return
-                        o.push({
-                          distance: c,
-                          distanceToRay: Math.sqrt(s),
-                          point: l,
-                          index: t,
-                          face: null,
-                          object: a,
-                        })
-                      }
-                    }
-                    function bc(e, t, n, r, i, o, a, s, l) {
-                      nr.call(this, e, t, n, r, i, o, a, s, l),
-                        (this.format = void 0 !== a ? a : Ne),
-                        (this.minFilter = void 0 !== o ? o : Ae),
-                        (this.magFilter = void 0 !== i ? i : Ae),
-                        (this.generateMipmaps = !1)
-                      var c = this
-                      function u() {
-                        ;(c.needsUpdate = !0), e.requestVideoFrameCallback(u)
-                      }
-                      'requestVideoFrameCallback' in e && e.requestVideoFrameCallback(u)
-                    }
-                    function Ac(e, t, n, r, i, o, a, s, l, c, u, h) {
-                      nr.call(this, null, o, a, s, l, c, r, i, u, h),
-                        (this.image = { width: t, height: n }),
-                        (this.mipmaps = e),
-                        (this.flipY = !1),
-                        (this.generateMipmaps = !1)
-                    }
-                    function wc(e, t, n, r, i, o, a, s, l) {
-                      nr.call(this, e, t, n, r, i, o, a, s, l), (this.needsUpdate = !0)
-                    }
-                    function xc(e, t, n, r, i, o, a, s, l, c) {
-                      if ((c = void 0 !== c ? c : je) !== je && c !== Ve)
-                        throw new Error(
-                          'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat',
-                        )
-                      void 0 === n && c === je && (n = Ce),
-                        void 0 === n && c === Ve && (n = Fe),
-                        nr.call(this, null, r, i, o, a, s, c, n, l),
-                        (this.image = { width: e, height: t }),
-                        (this.magFilter = void 0 !== a ? a : me),
-                        (this.minFilter = void 0 !== s ? s : me),
-                        (this.flipY = !1),
-                        (this.generateMipmaps = !1)
-                    }
-                    ;(gc.prototype = Object.assign(Object.create(si.prototype), {
-                      constructor: gc,
-                      isPoints: !0,
-                      copy: function (e) {
-                        return (
-                          si.prototype.copy.call(this, e),
-                          (this.material = e.material),
-                          (this.geometry = e.geometry),
-                          this
-                        )
-                      },
-                      raycast: function (e, t) {
-                        var n = this.geometry,
-                          r = this.matrixWorld,
-                          i = e.params.Points.threshold
-                        if (
-                          (null === n.boundingSphere && n.computeBoundingSphere(),
-                          mc.copy(n.boundingSphere),
-                          mc.applyMatrix4(r),
-                          (mc.radius += i),
-                          !1 !== e.ray.intersectsSphere(mc))
-                        ) {
-                          pc.copy(r).invert(), fc.copy(e.ray).applyMatrix4(pc)
-                          var o = i / ((this.scale.x + this.scale.y + this.scale.z) / 3),
-                            a = o * o
-                          if (n.isBufferGeometry) {
-                            var s = n.index,
-                              l = n.attributes.position
-                            if (null !== s)
-                              for (var c = s.array, u = 0, h = c.length; u < h; u++) {
-                                var d = c[u]
-                                vc.fromBufferAttribute(l, d), yc(vc, d, a, r, e, t, this)
-                              }
-                            else
-                              for (var p = 0, f = l.count; p < f; p++)
-                                vc.fromBufferAttribute(l, p), yc(vc, p, a, r, e, t, this)
-                          } else
-                            console.error(
-                              'THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        }
-                      },
-                      updateMorphTargets: function () {
-                        var e = this.geometry
-                        if (e.isBufferGeometry) {
-                          var t = e.morphAttributes,
-                            n = Object.keys(t)
-                          if (n.length > 0) {
-                            var r = t[n[0]]
-                            if (void 0 !== r) {
-                              ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                              for (var i = 0, o = r.length; i < o; i++) {
-                                var a = r[i].name || String(i)
-                                this.morphTargetInfluences.push(0),
-                                  (this.morphTargetDictionary[a] = i)
-                              }
-                            }
-                          }
-                        } else {
-                          var s = e.morphTargets
-                          void 0 !== s &&
-                            s.length > 0 &&
-                            console.error(
-                              'THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.',
-                            )
-                        }
-                      },
-                    })),
-                      (bc.prototype = Object.assign(Object.create(nr.prototype), {
-                        constructor: bc,
-                        clone: function () {
-                          return new this.constructor(this.image).copy(this)
-                        },
-                        isVideoTexture: !0,
-                        update: function () {
-                          var e = this.image
-                          !1 === 'requestVideoFrameCallback' in e &&
-                            e.readyState >= e.HAVE_CURRENT_DATA &&
-                            (this.needsUpdate = !0)
-                        },
-                      })),
-                      (Ac.prototype = Object.create(nr.prototype)),
-                      (Ac.prototype.constructor = Ac),
-                      (Ac.prototype.isCompressedTexture = !0),
-                      (wc.prototype = Object.create(nr.prototype)),
-                      (wc.prototype.constructor = wc),
-                      (wc.prototype.isCanvasTexture = !0),
-                      (xc.prototype = Object.create(nr.prototype)),
-                      (xc.prototype.constructor = xc),
-                      (xc.prototype.isDepthTexture = !0)
-                    var Ec = (function (e) {
-                        function t(t, n, r, i) {
-                          var o
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 8),
-                            void 0 === r && (r = 0),
-                            void 0 === i && (i = 2 * Math.PI),
-                            ((o = e.call(this) || this).type = 'CircleGeometry'),
-                            (o.parameters = {
-                              radius: t,
-                              segments: n,
-                              thetaStart: r,
-                              thetaLength: i,
-                            }),
-                            (n = Math.max(3, n))
-                          var a = [],
-                            s = [],
-                            l = [],
-                            c = [],
-                            u = new lr(),
-                            h = new Jn()
-                          s.push(0, 0, 0), l.push(0, 0, 1), c.push(0.5, 0.5)
-                          for (var d = 0, p = 3; d <= n; d++, p += 3) {
-                            var f = r + (d / n) * i
-                            ;(u.x = t * Math.cos(f)),
-                              (u.y = t * Math.sin(f)),
-                              s.push(u.x, u.y, u.z),
-                              l.push(0, 0, 1),
-                              (h.x = (s[p] / t + 1) / 2),
-                              (h.y = (s[p + 1] / t + 1) / 2),
-                              c.push(h.x, h.y)
-                          }
-                          for (var m = 1; m <= n; m++) a.push(m, m + 1, 0)
-                          return (
-                            o.setIndex(a),
-                            o.setAttribute('position', new Wi(s, 3)),
-                            o.setAttribute('normal', new Wi(l, 3)),
-                            o.setAttribute('uv', new Wi(c, 2)),
-                            o
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Mc = (function (e) {
-                        function t(t, n, r, i, o, a, s, l) {
-                          var c
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 1),
-                            void 0 === r && (r = 1),
-                            void 0 === i && (i = 8),
-                            void 0 === o && (o = 1),
-                            void 0 === a && (a = !1),
-                            void 0 === s && (s = 0),
-                            void 0 === l && (l = 2 * Math.PI),
-                            ((c = e.call(this) || this).type = 'CylinderGeometry'),
-                            (c.parameters = {
-                              radiusTop: t,
-                              radiusBottom: n,
-                              height: r,
-                              radialSegments: i,
-                              heightSegments: o,
-                              openEnded: a,
-                              thetaStart: s,
-                              thetaLength: l,
-                            })
-                          var u = zn(c)
-                          ;(i = Math.floor(i)), (o = Math.floor(o))
-                          var h = [],
-                            d = [],
-                            p = [],
-                            f = [],
-                            m = 0,
-                            v = [],
-                            g = r / 2,
-                            y = 0
-                          function b() {
-                            for (
-                              var e = new lr(), a = new lr(), c = 0, b = (n - t) / r, A = 0;
-                              A <= o;
-                              A++
-                            ) {
-                              for (var w = [], x = A / o, E = x * (n - t) + t, M = 0; M <= i; M++) {
-                                var _ = M / i,
-                                  T = _ * l + s,
-                                  S = Math.sin(T),
-                                  C = Math.cos(T)
-                                ;(a.x = E * S),
-                                  (a.y = -x * r + g),
-                                  (a.z = E * C),
-                                  d.push(a.x, a.y, a.z),
-                                  e.set(S, b, C).normalize(),
-                                  p.push(e.x, e.y, e.z),
-                                  f.push(_, 1 - x),
-                                  w.push(m++)
-                              }
-                              v.push(w)
-                            }
-                            for (var L = 0; L < i; L++)
-                              for (var R = 0; R < o; R++) {
-                                var P = v[R][L],
-                                  D = v[R + 1][L],
-                                  O = v[R + 1][L + 1],
-                                  I = v[R][L + 1]
-                                h.push(P, D, I), h.push(D, O, I), (c += 6)
-                              }
-                            u.addGroup(y, c, 0), (y += c)
-                          }
-                          function A(e) {
-                            for (
-                              var r = m,
-                                o = new Jn(),
-                                a = new lr(),
-                                c = 0,
-                                v = !0 === e ? t : n,
-                                b = !0 === e ? 1 : -1,
-                                A = 1;
-                              A <= i;
-                              A++
-                            )
-                              d.push(0, g * b, 0), p.push(0, b, 0), f.push(0.5, 0.5), m++
-                            for (var w = m, x = 0; x <= i; x++) {
-                              var E = (x / i) * l + s,
-                                M = Math.cos(E),
-                                _ = Math.sin(E)
-                              ;(a.x = v * _),
-                                (a.y = g * b),
-                                (a.z = v * M),
-                                d.push(a.x, a.y, a.z),
-                                p.push(0, b, 0),
-                                (o.x = 0.5 * M + 0.5),
-                                (o.y = 0.5 * _ * b + 0.5),
-                                f.push(o.x, o.y),
-                                m++
-                            }
-                            for (var T = 0; T < i; T++) {
-                              var S = r + T,
-                                C = w + T
-                              !0 === e ? h.push(C, C + 1, S) : h.push(C + 1, C, S), (c += 3)
-                            }
-                            u.addGroup(y, c, !0 === e ? 1 : 2), (y += c)
-                          }
-                          return (
-                            b(),
-                            !1 === a && (t > 0 && A(!0), n > 0 && A(!1)),
-                            c.setIndex(h),
-                            c.setAttribute('position', new Wi(d, 3)),
-                            c.setAttribute('normal', new Wi(p, 3)),
-                            c.setAttribute('uv', new Wi(f, 2)),
-                            c
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      _c = (function (e) {
-                        function t(t, n, r, i, o, a, s) {
-                          var l
-                          return (
-                            void 0 === t && (t = 1),
-                            void 0 === n && (n = 1),
-                            void 0 === r && (r = 8),
-                            void 0 === i && (i = 1),
-                            void 0 === o && (o = !1),
-                            void 0 === a && (a = 0),
-                            void 0 === s && (s = 2 * Math.PI),
-                            ((l = e.call(this, 0, t, n, r, i, o, a, s) || this).type =
-                              'ConeGeometry'),
-                            (l.parameters = {
-                              radius: t,
-                              height: n,
-                              radialSegments: r,
-                              heightSegments: i,
-                              openEnded: o,
-                              thetaStart: a,
-                              thetaLength: s,
-                            }),
-                            l
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(Mc),
-                      Tc = (function (e) {
-                        function t(t, n, r, i) {
-                          var o
-                          void 0 === r && (r = 1),
-                            void 0 === i && (i = 0),
-                            ((o = e.call(this) || this).type = 'PolyhedronGeometry'),
-                            (o.parameters = { vertices: t, indices: n, radius: r, detail: i })
-                          var a = [],
-                            s = []
-                          function l(e) {
-                            for (
-                              var t = new lr(), r = new lr(), i = new lr(), o = 0;
-                              o < n.length;
-                              o += 3
-                            )
-                              f(n[o + 0], t), f(n[o + 1], r), f(n[o + 2], i), c(t, r, i, e)
-                          }
-                          function c(e, t, n, r) {
-                            for (var i = r + 1, o = [], a = 0; a <= i; a++) {
-                              o[a] = []
-                              for (
-                                var s = e.clone().lerp(n, a / i),
-                                  l = t.clone().lerp(n, a / i),
-                                  c = i - a,
-                                  u = 0;
-                                u <= c;
-                                u++
-                              )
-                                o[a][u] = 0 === u && a === i ? s : s.clone().lerp(l, u / c)
-                            }
-                            for (var h = 0; h < i; h++)
-                              for (var d = 0; d < 2 * (i - h) - 1; d++) {
-                                var f = Math.floor(d / 2)
-                                d % 2 === 0
-                                  ? (p(o[h][f + 1]), p(o[h + 1][f]), p(o[h][f]))
-                                  : (p(o[h][f + 1]), p(o[h + 1][f + 1]), p(o[h + 1][f]))
-                              }
-                          }
-                          function u(e) {
-                            for (var t = new lr(), n = 0; n < a.length; n += 3)
-                              (t.x = a[n + 0]),
-                                (t.y = a[n + 1]),
-                                (t.z = a[n + 2]),
-                                t.normalize().multiplyScalar(e),
-                                (a[n + 0] = t.x),
-                                (a[n + 1] = t.y),
-                                (a[n + 2] = t.z)
-                          }
-                          function h() {
-                            for (var e = new lr(), t = 0; t < a.length; t += 3) {
-                              ;(e.x = a[t + 0]), (e.y = a[t + 1]), (e.z = a[t + 2])
-                              var n = g(e) / 2 / Math.PI + 0.5,
-                                r = y(e) / Math.PI + 0.5
-                              s.push(n, 1 - r)
-                            }
-                            m(), d()
-                          }
-                          function d() {
-                            for (var e = 0; e < s.length; e += 6) {
-                              var t = s[e + 0],
-                                n = s[e + 2],
-                                r = s[e + 4],
-                                i = Math.max(t, n, r),
-                                o = Math.min(t, n, r)
-                              i > 0.9 &&
-                                o < 0.1 &&
-                                (t < 0.2 && (s[e + 0] += 1),
-                                n < 0.2 && (s[e + 2] += 1),
-                                r < 0.2 && (s[e + 4] += 1))
-                            }
-                          }
-                          function p(e) {
-                            a.push(e.x, e.y, e.z)
-                          }
-                          function f(e, n) {
-                            var r = 3 * e
-                            ;(n.x = t[r + 0]), (n.y = t[r + 1]), (n.z = t[r + 2])
-                          }
-                          function m() {
-                            for (
-                              var e = new lr(),
-                                t = new lr(),
-                                n = new lr(),
-                                r = new lr(),
-                                i = new Jn(),
-                                o = new Jn(),
-                                l = new Jn(),
-                                c = 0,
-                                u = 0;
-                              c < a.length;
-                              c += 9, u += 6
-                            ) {
-                              e.set(a[c + 0], a[c + 1], a[c + 2]),
-                                t.set(a[c + 3], a[c + 4], a[c + 5]),
-                                n.set(a[c + 6], a[c + 7], a[c + 8]),
-                                i.set(s[u + 0], s[u + 1]),
-                                o.set(s[u + 2], s[u + 3]),
-                                l.set(s[u + 4], s[u + 5]),
-                                r.copy(e).add(t).add(n).divideScalar(3)
-                              var h = g(r)
-                              v(i, u + 0, e, h), v(o, u + 2, t, h), v(l, u + 4, n, h)
-                            }
-                          }
-                          function v(e, t, n, r) {
-                            r < 0 && 1 === e.x && (s[t] = e.x - 1),
-                              0 === n.x && 0 === n.z && (s[t] = r / 2 / Math.PI + 0.5)
-                          }
-                          function g(e) {
-                            return Math.atan2(e.z, -e.x)
-                          }
-                          function y(e) {
-                            return Math.atan2(-e.y, Math.sqrt(e.x * e.x + e.z * e.z))
-                          }
-                          return (
-                            l(i),
-                            u(r),
-                            h(),
-                            o.setAttribute('position', new Wi(a, 3)),
-                            o.setAttribute('normal', new Wi(a.slice(), 3)),
-                            o.setAttribute('uv', new Wi(s, 2)),
-                            0 === i ? o.computeVertexNormals() : o.normalizeNormals(),
-                            o
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Sc = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === t && (t = 1), void 0 === n && (n = 0)
-                          var i = (1 + Math.sqrt(5)) / 2,
-                            o = 1 / i,
-                            a = [
-                              -1,
-                              -1,
-                              -1,
-                              -1,
-                              -1,
-                              1,
-                              -1,
-                              1,
-                              -1,
-                              -1,
-                              1,
-                              1,
-                              1,
-                              -1,
-                              -1,
-                              1,
-                              -1,
-                              1,
-                              1,
-                              1,
-                              -1,
-                              1,
-                              1,
-                              1,
-                              0,
-                              -o,
-                              -i,
-                              0,
-                              -o,
-                              i,
-                              0,
-                              o,
-                              -i,
-                              0,
-                              o,
-                              i,
-                              -o,
-                              -i,
-                              0,
-                              -o,
-                              i,
-                              0,
-                              o,
-                              -i,
-                              0,
-                              o,
-                              i,
-                              0,
-                              -i,
-                              0,
-                              -o,
-                              i,
-                              0,
-                              -o,
-                              -i,
-                              0,
-                              o,
-                              i,
-                              0,
-                              o,
-                            ],
-                            s = [
-                              3, 11, 7, 3, 7, 15, 3, 15, 13, 7, 19, 17, 7, 17, 6, 7, 6, 15, 17, 4,
-                              8, 17, 8, 10, 17, 10, 6, 8, 0, 16, 8, 16, 2, 8, 2, 10, 0, 12, 1, 0, 1,
-                              18, 0, 18, 16, 6, 10, 2, 6, 2, 13, 6, 13, 15, 2, 16, 18, 2, 18, 3, 2,
-                              3, 13, 18, 1, 9, 18, 9, 11, 18, 11, 3, 4, 14, 12, 4, 12, 0, 4, 0, 8,
-                              11, 9, 5, 11, 5, 19, 11, 19, 7, 19, 5, 14, 19, 14, 4, 19, 4, 17, 1,
-                              12, 14, 1, 14, 5, 1, 5, 9,
-                            ]
-                          return (
-                            ((r = e.call(this, a, s, t, n) || this).type = 'DodecahedronGeometry'),
-                            (r.parameters = { radius: t, detail: n }),
-                            r
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(Tc),
-                      Cc = new lr(),
-                      Lc = new lr(),
-                      Rc = new lr(),
-                      Pc = new xi(),
-                      Dc = (function (e) {
-                        function t(t, n) {
-                          var r
-                          if (
-                            (((r = e.call(this) || this).type = 'EdgesGeometry'),
-                            (r.parameters = { thresholdAngle: n }),
-                            (n = void 0 !== n ? n : 1),
-                            !0 === t.isGeometry)
-                          )
-                            return (
-                              console.error(
-                                'THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                              ),
-                              zn(r)
-                            )
-                          for (
-                            var i = 4,
-                              o = Math.pow(10, i),
-                              a = Math.cos(Kn.DEG2RAD * n),
-                              s = t.getIndex(),
-                              l = t.getAttribute('position'),
-                              c = s ? s.count : l.count,
-                              u = [0, 0, 0],
-                              h = ['a', 'b', 'c'],
-                              d = new Array(3),
-                              p = {},
-                              f = [],
-                              m = 0;
-                            m < c;
-                            m += 3
-                          ) {
-                            s
-                              ? ((u[0] = s.getX(m)), (u[1] = s.getX(m + 1)), (u[2] = s.getX(m + 2)))
-                              : ((u[0] = m), (u[1] = m + 1), (u[2] = m + 2))
-                            var v = Pc.a,
-                              g = Pc.b,
-                              y = Pc.c
-                            if (
-                              (v.fromBufferAttribute(l, u[0]),
-                              g.fromBufferAttribute(l, u[1]),
-                              y.fromBufferAttribute(l, u[2]),
-                              Pc.getNormal(Rc),
-                              (d[0] =
-                                Math.round(v.x * o) +
-                                ',' +
-                                Math.round(v.y * o) +
-                                ',' +
-                                Math.round(v.z * o)),
-                              (d[1] =
-                                Math.round(g.x * o) +
-                                ',' +
-                                Math.round(g.y * o) +
-                                ',' +
-                                Math.round(g.z * o)),
-                              (d[2] =
-                                Math.round(y.x * o) +
-                                ',' +
-                                Math.round(y.y * o) +
-                                ',' +
-                                Math.round(y.z * o)),
-                              d[0] !== d[1] && d[1] !== d[2] && d[2] !== d[0])
-                            )
-                              for (var b = 0; b < 3; b++) {
-                                var A = (b + 1) % 3,
-                                  w = d[b],
-                                  x = d[A],
-                                  E = Pc[h[b]],
-                                  M = Pc[h[A]],
-                                  _ = w + '_' + x,
-                                  T = x + '_' + w
-                                T in p && p[T]
-                                  ? (Rc.dot(p[T].normal) <= a &&
-                                      (f.push(E.x, E.y, E.z), f.push(M.x, M.y, M.z)),
-                                    (p[T] = null))
-                                  : _ in p ||
-                                    (p[_] = { index0: u[b], index1: u[A], normal: Rc.clone() })
-                              }
-                          }
-                          for (var S in p)
-                            if (p[S]) {
-                              var C = p[S],
-                                L = C.index0,
-                                R = C.index1
-                              Cc.fromBufferAttribute(l, L),
-                                Lc.fromBufferAttribute(l, R),
-                                f.push(Cc.x, Cc.y, Cc.z),
-                                f.push(Lc.x, Lc.y, Lc.z)
-                            }
-                          return r.setAttribute('position', new Wi(f, 3)), r
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Oc = {
-                        triangulate: function (e, t, n) {
-                          n = n || 2
-                          var r,
-                            i,
-                            o,
-                            a,
-                            s,
-                            l,
-                            c,
-                            u = t && t.length,
-                            h = u ? t[0] * n : e.length,
-                            d = Ic(e, 0, h, n, !0),
-                            p = []
-                          if (!d || d.next === d.prev) return p
-                          if ((u && (d = Gc(e, t, d, n)), e.length > 80 * n)) {
-                            ;(r = o = e[0]), (i = a = e[1])
-                            for (var f = n; f < h; f += n)
-                              (s = e[f]) < r && (r = s),
-                                (l = e[f + 1]) < i && (i = l),
-                                s > o && (o = s),
-                                l > a && (a = l)
-                            c = 0 !== (c = Math.max(o - r, a - i)) ? 1 / c : 0
-                          }
-                          return Fc(d, p, n, r, i, c), p
-                        },
-                      }
-                    function Ic(e, t, n, r, i) {
-                      var o, a
-                      if (i === uu(e, t, n, r) > 0)
-                        for (o = t; o < n; o += r) a = su(o, e[o], e[o + 1], a)
-                      else for (o = n - r; o >= t; o -= r) a = su(o, e[o], e[o + 1], a)
-                      return a && $c(a, a.next) && (lu(a), (a = a.next)), a
-                    }
-                    function Bc(e, t) {
-                      if (!e) return e
-                      t || (t = e)
-                      var n,
-                        r = e
-                      do {
-                        if (
-                          ((n = !1), r.steiner || (!$c(r, r.next) && 0 !== Jc(r.prev, r, r.next)))
-                        )
-                          r = r.next
-                        else {
-                          if ((lu(r), (r = t = r.prev) === r.next)) break
-                          n = !0
-                        }
-                      } while (n || r !== t)
-                      return t
-                    }
-                    function Fc(e, t, n, r, i, o, a) {
-                      if (e) {
-                        !a && o && qc(e, r, i, o)
-                        for (var s, l, c = e; e.prev !== e.next; )
-                          if (((s = e.prev), (l = e.next), o ? Nc(e, r, i, o) : kc(e)))
-                            t.push(s.i / n),
-                              t.push(e.i / n),
-                              t.push(l.i / n),
-                              lu(e),
-                              (e = l.next),
-                              (c = l.next)
-                          else if ((e = l) === c) {
-                            a
-                              ? 1 === a
-                                ? Fc((e = Uc(Bc(e), t, n)), t, n, r, i, o, 2)
-                                : 2 === a && Hc(e, t, n, r, i, o)
-                              : Fc(Bc(e), t, n, r, i, o, 1)
-                            break
-                          }
-                      }
-                    }
-                    function kc(e) {
-                      var t = e.prev,
-                        n = e,
-                        r = e.next
-                      if (Jc(t, n, r) >= 0) return !1
-                      for (var i = e.next.next; i !== e.prev; ) {
-                        if (
-                          Zc(t.x, t.y, n.x, n.y, r.x, r.y, i.x, i.y) &&
-                          Jc(i.prev, i, i.next) >= 0
-                        )
-                          return !1
-                        i = i.next
-                      }
-                      return !0
-                    }
-                    function Nc(e, t, n, r) {
-                      var i = e.prev,
-                        o = e,
-                        a = e.next
-                      if (Jc(i, o, a) >= 0) return !1
-                      for (
-                        var s = i.x < o.x ? (i.x < a.x ? i.x : a.x) : o.x < a.x ? o.x : a.x,
-                          l = i.y < o.y ? (i.y < a.y ? i.y : a.y) : o.y < a.y ? o.y : a.y,
-                          c = i.x > o.x ? (i.x > a.x ? i.x : a.x) : o.x > a.x ? o.x : a.x,
-                          u = i.y > o.y ? (i.y > a.y ? i.y : a.y) : o.y > a.y ? o.y : a.y,
-                          h = Yc(s, l, t, n, r),
-                          d = Yc(c, u, t, n, r),
-                          p = e.prevZ,
-                          f = e.nextZ;
-                        p && p.z >= h && f && f.z <= d;
-
-                      ) {
-                        if (
-                          p !== e.prev &&
-                          p !== e.next &&
-                          Zc(i.x, i.y, o.x, o.y, a.x, a.y, p.x, p.y) &&
-                          Jc(p.prev, p, p.next) >= 0
-                        )
-                          return !1
-                        if (
-                          ((p = p.prevZ),
-                          f !== e.prev &&
-                            f !== e.next &&
-                            Zc(i.x, i.y, o.x, o.y, a.x, a.y, f.x, f.y) &&
-                            Jc(f.prev, f, f.next) >= 0)
-                        )
-                          return !1
-                        f = f.nextZ
-                      }
-                      for (; p && p.z >= h; ) {
-                        if (
-                          p !== e.prev &&
-                          p !== e.next &&
-                          Zc(i.x, i.y, o.x, o.y, a.x, a.y, p.x, p.y) &&
-                          Jc(p.prev, p, p.next) >= 0
-                        )
-                          return !1
-                        p = p.prevZ
-                      }
-                      for (; f && f.z <= d; ) {
-                        if (
-                          f !== e.prev &&
-                          f !== e.next &&
-                          Zc(i.x, i.y, o.x, o.y, a.x, a.y, f.x, f.y) &&
-                          Jc(f.prev, f, f.next) >= 0
-                        )
-                          return !1
-                        f = f.nextZ
-                      }
-                      return !0
-                    }
-                    function Uc(e, t, n) {
-                      var r = e
-                      do {
-                        var i = r.prev,
-                          o = r.next.next
-                        !$c(i, o) &&
-                          eu(i, r, r.next, o) &&
-                          iu(i, o) &&
-                          iu(o, i) &&
-                          (t.push(i.i / n),
-                          t.push(r.i / n),
-                          t.push(o.i / n),
-                          lu(r),
-                          lu(r.next),
-                          (r = e = o)),
-                          (r = r.next)
-                      } while (r !== e)
-                      return Bc(r)
-                    }
-                    function Hc(e, t, n, r, i, o) {
-                      var a = e
-                      do {
-                        for (var s = a.next.next; s !== a.prev; ) {
-                          if (a.i !== s.i && Kc(a, s)) {
-                            var l = au(a, s)
-                            return (
-                              (a = Bc(a, a.next)),
-                              (l = Bc(l, l.next)),
-                              Fc(a, t, n, r, i, o),
-                              void Fc(l, t, n, r, i, o)
-                            )
-                          }
-                          s = s.next
-                        }
-                        a = a.next
-                      } while (a !== e)
-                    }
-                    function Gc(e, t, n, r) {
-                      var i,
-                        o,
-                        a,
-                        s = []
-                      for (i = 0, o = t.length; i < o; i++)
-                        (a = Ic(e, t[i] * r, i < o - 1 ? t[i + 1] * r : e.length, r, !1)) ===
-                          a.next && (a.steiner = !0),
-                          s.push(Qc(a))
-                      for (s.sort(zc), i = 0; i < s.length; i++) jc(s[i], n), (n = Bc(n, n.next))
-                      return n
-                    }
-                    function zc(e, t) {
-                      return e.x - t.x
-                    }
-                    function jc(e, t) {
-                      if ((t = Vc(e, t))) {
-                        var n = au(t, e)
-                        Bc(t, t.next), Bc(n, n.next)
-                      }
-                    }
-                    function Vc(e, t) {
-                      var n,
-                        r = t,
-                        i = e.x,
-                        o = e.y,
-                        a = -1 / 0
-                      do {
-                        if (o <= r.y && o >= r.next.y && r.next.y !== r.y) {
-                          var s = r.x + ((o - r.y) * (r.next.x - r.x)) / (r.next.y - r.y)
-                          if (s <= i && s > a) {
-                            if (((a = s), s === i)) {
-                              if (o === r.y) return r
-                              if (o === r.next.y) return r.next
-                            }
-                            n = r.x < r.next.x ? r : r.next
-                          }
-                        }
-                        r = r.next
-                      } while (r !== t)
-                      if (!n) return null
-                      if (i === a) return n
-                      var l,
-                        c = n,
-                        u = n.x,
-                        h = n.y,
-                        d = 1 / 0
-                      r = n
-                      do {
-                        i >= r.x &&
-                          r.x >= u &&
-                          i !== r.x &&
-                          Zc(o < h ? i : a, o, u, h, o < h ? a : i, o, r.x, r.y) &&
-                          ((l = Math.abs(o - r.y) / (i - r.x)),
-                          iu(r, e) &&
-                            (l < d || (l === d && (r.x > n.x || (r.x === n.x && Wc(n, r))))) &&
-                            ((n = r), (d = l))),
-                          (r = r.next)
-                      } while (r !== c)
-                      return n
-                    }
-                    function Wc(e, t) {
-                      return Jc(e.prev, e, t.prev) < 0 && Jc(t.next, e, e.next) < 0
-                    }
-                    function qc(e, t, n, r) {
-                      var i = e
-                      do {
-                        null === i.z && (i.z = Yc(i.x, i.y, t, n, r)),
-                          (i.prevZ = i.prev),
-                          (i.nextZ = i.next),
-                          (i = i.next)
-                      } while (i !== e)
-                      ;(i.prevZ.nextZ = null), (i.prevZ = null), Xc(i)
-                    }
-                    function Xc(e) {
-                      var t,
-                        n,
-                        r,
-                        i,
-                        o,
-                        a,
-                        s,
-                        l,
-                        c = 1
-                      do {
-                        for (n = e, e = null, o = null, a = 0; n; ) {
-                          for (a++, r = n, s = 0, t = 0; t < c && (s++, (r = r.nextZ)); t++);
-                          for (l = c; s > 0 || (l > 0 && r); )
-                            0 !== s && (0 === l || !r || n.z <= r.z)
-                              ? ((i = n), (n = n.nextZ), s--)
-                              : ((i = r), (r = r.nextZ), l--),
-                              o ? (o.nextZ = i) : (e = i),
-                              (i.prevZ = o),
-                              (o = i)
-                          n = r
-                        }
-                        ;(o.nextZ = null), (c *= 2)
-                      } while (a > 1)
-                      return e
-                    }
-                    function Yc(e, t, n, r, i) {
-                      return (
-                        (e =
-                          1431655765 &
-                          ((e =
-                            858993459 &
-                            ((e =
-                              252645135 &
-                              ((e = 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) |
-                                (e << 4))) |
-                              (e << 2))) |
-                            (e << 1))) |
-                        ((t =
-                          1431655765 &
-                          ((t =
-                            858993459 &
-                            ((t =
-                              252645135 &
-                              ((t = 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) |
-                                (t << 4))) |
-                              (t << 2))) |
-                            (t << 1))) <<
-                          1)
-                      )
-                    }
-                    function Qc(e) {
-                      var t = e,
-                        n = e
-                      do {
-                        ;(t.x < n.x || (t.x === n.x && t.y < n.y)) && (n = t), (t = t.next)
-                      } while (t !== e)
-                      return n
-                    }
-                    function Zc(e, t, n, r, i, o, a, s) {
-                      return (
-                        (i - a) * (t - s) - (e - a) * (o - s) >= 0 &&
-                        (e - a) * (r - s) - (n - a) * (t - s) >= 0 &&
-                        (n - a) * (o - s) - (i - a) * (r - s) >= 0
-                      )
-                    }
-                    function Kc(e, t) {
-                      return (
-                        e.next.i !== t.i &&
-                        e.prev.i !== t.i &&
-                        !ru(e, t) &&
-                        ((iu(e, t) &&
-                          iu(t, e) &&
-                          ou(e, t) &&
-                          (Jc(e.prev, e, t.prev) || Jc(e, t.prev, t))) ||
-                          ($c(e, t) && Jc(e.prev, e, e.next) > 0 && Jc(t.prev, t, t.next) > 0))
-                      )
-                    }
-                    function Jc(e, t, n) {
-                      return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y)
-                    }
-                    function $c(e, t) {
-                      return e.x === t.x && e.y === t.y
-                    }
-                    function eu(e, t, n, r) {
-                      var i = nu(Jc(e, t, n)),
-                        o = nu(Jc(e, t, r)),
-                        a = nu(Jc(n, r, e)),
-                        s = nu(Jc(n, r, t))
-                      return (
-                        (i !== o && a !== s) ||
-                        !(0 !== i || !tu(e, n, t)) ||
-                        !(0 !== o || !tu(e, r, t)) ||
-                        !(0 !== a || !tu(n, e, r)) ||
-                        !(0 !== s || !tu(n, t, r))
-                      )
-                    }
-                    function tu(e, t, n) {
-                      return (
-                        t.x <= Math.max(e.x, n.x) &&
-                        t.x >= Math.min(e.x, n.x) &&
-                        t.y <= Math.max(e.y, n.y) &&
-                        t.y >= Math.min(e.y, n.y)
-                      )
-                    }
-                    function nu(e) {
-                      return e > 0 ? 1 : e < 0 ? -1 : 0
-                    }
-                    function ru(e, t) {
-                      var n = e
-                      do {
-                        if (
-                          n.i !== e.i &&
-                          n.next.i !== e.i &&
-                          n.i !== t.i &&
-                          n.next.i !== t.i &&
-                          eu(n, n.next, e, t)
-                        )
-                          return !0
-                        n = n.next
-                      } while (n !== e)
-                      return !1
-                    }
-                    function iu(e, t) {
-                      return Jc(e.prev, e, e.next) < 0
-                        ? Jc(e, t, e.next) >= 0 && Jc(e, e.prev, t) >= 0
-                        : Jc(e, t, e.prev) < 0 || Jc(e, e.next, t) < 0
-                    }
-                    function ou(e, t) {
-                      var n = e,
-                        r = !1,
-                        i = (e.x + t.x) / 2,
-                        o = (e.y + t.y) / 2
-                      do {
-                        n.y > o !== n.next.y > o &&
-                          n.next.y !== n.y &&
-                          i < ((n.next.x - n.x) * (o - n.y)) / (n.next.y - n.y) + n.x &&
-                          (r = !r),
-                          (n = n.next)
-                      } while (n !== e)
-                      return r
-                    }
-                    function au(e, t) {
-                      var n = new cu(e.i, e.x, e.y),
-                        r = new cu(t.i, t.x, t.y),
-                        i = e.next,
-                        o = t.prev
-                      return (
-                        (e.next = t),
-                        (t.prev = e),
-                        (n.next = i),
-                        (i.prev = n),
-                        (r.next = n),
-                        (n.prev = r),
-                        (o.next = r),
-                        (r.prev = o),
-                        r
-                      )
-                    }
-                    function su(e, t, n, r) {
-                      var i = new cu(e, t, n)
-                      return (
-                        r
-                          ? ((i.next = r.next), (i.prev = r), (r.next.prev = i), (r.next = i))
-                          : ((i.prev = i), (i.next = i)),
-                        i
-                      )
-                    }
-                    function lu(e) {
-                      ;(e.next.prev = e.prev),
-                        (e.prev.next = e.next),
-                        e.prevZ && (e.prevZ.nextZ = e.nextZ),
-                        e.nextZ && (e.nextZ.prevZ = e.prevZ)
-                    }
-                    function cu(e, t, n) {
-                      ;(this.i = e),
-                        (this.x = t),
-                        (this.y = n),
-                        (this.prev = null),
-                        (this.next = null),
-                        (this.z = null),
-                        (this.prevZ = null),
-                        (this.nextZ = null),
-                        (this.steiner = !1)
-                    }
-                    function uu(e, t, n, r) {
-                      for (var i = 0, o = t, a = n - r; o < n; o += r)
-                        (i += (e[a] - e[o]) * (e[o + 1] + e[a + 1])), (a = o)
-                      return i
-                    }
-                    var hu = {
-                      area: function (e) {
-                        for (var t = e.length, n = 0, r = t - 1, i = 0; i < t; r = i++)
-                          n += e[r].x * e[i].y - e[i].x * e[r].y
-                        return 0.5 * n
-                      },
-                      isClockWise: function (e) {
-                        return hu.area(e) < 0
-                      },
-                      triangulateShape: function (e, t) {
-                        var n = [],
-                          r = [],
-                          i = []
-                        du(e), pu(n, e)
-                        var o = e.length
-                        t.forEach(du)
-                        for (var a = 0; a < t.length; a++)
-                          r.push(o), (o += t[a].length), pu(n, t[a])
-                        for (var s = Oc.triangulate(n, r), l = 0; l < s.length; l += 3)
-                          i.push(s.slice(l, l + 3))
-                        return i
-                      },
-                    }
-                    function du(e) {
-                      var t = e.length
-                      t > 2 && e[t - 1].equals(e[0]) && e.pop()
-                    }
-                    function pu(e, t) {
-                      for (var n = 0; n < t.length; n++) e.push(t[n].x), e.push(t[n].y)
-                    }
-                    var fu = (function (e) {
-                        function t(t, n) {
-                          var r
-                          ;((r = e.call(this) || this).type = 'ExtrudeGeometry'),
-                            (r.parameters = { shapes: t, options: n }),
-                            (t = Array.isArray(t) ? t : [t])
-                          for (var i = zn(r), o = [], a = [], s = 0, l = t.length; s < l; s++)
-                            c(t[s])
-                          function c(e) {
-                            var t = [],
-                              r = void 0 !== n.curveSegments ? n.curveSegments : 12,
-                              s = void 0 !== n.steps ? n.steps : 1,
-                              l = void 0 !== n.depth ? n.depth : 100,
-                              c = void 0 === n.bevelEnabled || n.bevelEnabled,
-                              u = void 0 !== n.bevelThickness ? n.bevelThickness : 6,
-                              h = void 0 !== n.bevelSize ? n.bevelSize : u - 2,
-                              d = void 0 !== n.bevelOffset ? n.bevelOffset : 0,
-                              p = void 0 !== n.bevelSegments ? n.bevelSegments : 3,
-                              f = n.extrudePath,
-                              m = void 0 !== n.UVGenerator ? n.UVGenerator : mu
-                            void 0 !== n.amount &&
-                              (console.warn(
-                                'THREE.ExtrudeBufferGeometry: amount has been renamed to depth.',
-                              ),
-                              (l = n.amount))
-                            var v,
-                              g,
-                              y,
-                              b,
-                              A,
-                              w = !1
-                            f &&
-                              ((v = f.getSpacedPoints(s)),
-                              (w = !0),
-                              (c = !1),
-                              (g = f.computeFrenetFrames(s, !1)),
-                              (y = new lr()),
-                              (b = new lr()),
-                              (A = new lr())),
-                              c || ((p = 0), (u = 0), (h = 0), (d = 0))
-                            var x = e.extractPoints(r),
-                              E = x.shape,
-                              M = x.holes
-                            if (!hu.isClockWise(E)) {
-                              E = E.reverse()
-                              for (var _ = 0, T = M.length; _ < T; _++) {
-                                var S = M[_]
-                                hu.isClockWise(S) && (M[_] = S.reverse())
-                              }
-                            }
-                            for (
-                              var C = hu.triangulateShape(E, M), L = E, R = 0, P = M.length;
-                              R < P;
-                              R++
-                            ) {
-                              var D = M[R]
-                              E = E.concat(D)
-                            }
-                            function O(e, t, n) {
-                              return (
-                                t || console.error('THREE.ExtrudeGeometry: vec does not exist'),
-                                t.clone().multiplyScalar(n).add(e)
-                              )
-                            }
-                            var I = E.length,
-                              B = C.length
-                            function F(e, t, n) {
-                              var r,
-                                i,
-                                o,
-                                a = e.x - t.x,
-                                s = e.y - t.y,
-                                l = n.x - e.x,
-                                c = n.y - e.y,
-                                u = a * a + s * s,
-                                h = a * c - s * l
-                              if (Math.abs(h) > Number.EPSILON) {
-                                var d = Math.sqrt(u),
-                                  p = Math.sqrt(l * l + c * c),
-                                  f = t.x - s / d,
-                                  m = t.y + a / d,
-                                  v =
-                                    ((n.x - c / p - f) * c - (n.y + l / p - m) * l) /
-                                    (a * c - s * l),
-                                  g = (r = f + a * v - e.x) * r + (i = m + s * v - e.y) * i
-                                if (g <= 2) return new Jn(r, i)
-                                o = Math.sqrt(g / 2)
-                              } else {
-                                var y = !1
-                                a > Number.EPSILON
-                                  ? l > Number.EPSILON && (y = !0)
-                                  : a < -Number.EPSILON
-                                  ? l < -Number.EPSILON && (y = !0)
-                                  : Math.sign(s) === Math.sign(c) && (y = !0),
-                                  y
-                                    ? ((r = -s), (i = a), (o = Math.sqrt(u)))
-                                    : ((r = a), (i = s), (o = Math.sqrt(u / 2)))
-                              }
-                              return new Jn(r / o, i / o)
-                            }
-                            for (
-                              var k = [], N = 0, U = L.length, H = U - 1, G = N + 1;
-                              N < U;
-                              N++, H++, G++
-                            )
-                              H === U && (H = 0), G === U && (G = 0), (k[N] = F(L[N], L[H], L[G]))
-                            for (var z, j = [], V = k.concat(), W = 0, q = M.length; W < q; W++) {
-                              var X = M[W]
-                              z = []
-                              for (
-                                var Y = 0, Q = X.length, Z = Q - 1, K = Y + 1;
-                                Y < Q;
-                                Y++, Z++, K++
-                              )
-                                Z === Q && (Z = 0), K === Q && (K = 0), (z[Y] = F(X[Y], X[Z], X[K]))
-                              j.push(z), (V = V.concat(z))
-                            }
-                            for (var J = 0; J < p; J++) {
-                              for (
-                                var $ = J / p,
-                                  ee = u * Math.cos(($ * Math.PI) / 2),
-                                  te = h * Math.sin(($ * Math.PI) / 2) + d,
-                                  ne = 0,
-                                  re = L.length;
-                                ne < re;
-                                ne++
-                              ) {
-                                var ie = O(L[ne], k[ne], te)
-                                Oe(ie.x, ie.y, -ee)
-                              }
-                              for (var oe = 0, ae = M.length; oe < ae; oe++) {
-                                var se = M[oe]
-                                z = j[oe]
-                                for (var le = 0, ce = se.length; le < ce; le++) {
-                                  var ue = O(se[le], z[le], te)
-                                  Oe(ue.x, ue.y, -ee)
-                                }
-                              }
-                            }
-                            for (var he = h + d, de = 0; de < I; de++) {
-                              var pe = c ? O(E[de], V[de], he) : E[de]
-                              w
-                                ? (b.copy(g.normals[0]).multiplyScalar(pe.x),
-                                  y.copy(g.binormals[0]).multiplyScalar(pe.y),
-                                  A.copy(v[0]).add(b).add(y),
-                                  Oe(A.x, A.y, A.z))
-                                : Oe(pe.x, pe.y, 0)
-                            }
-                            for (var fe = 1; fe <= s; fe++)
-                              for (var me = 0; me < I; me++) {
-                                var ve = c ? O(E[me], V[me], he) : E[me]
-                                w
-                                  ? (b.copy(g.normals[fe]).multiplyScalar(ve.x),
-                                    y.copy(g.binormals[fe]).multiplyScalar(ve.y),
-                                    A.copy(v[fe]).add(b).add(y),
-                                    Oe(A.x, A.y, A.z))
-                                  : Oe(ve.x, ve.y, (l / s) * fe)
-                              }
-                            for (var ge = p - 1; ge >= 0; ge--) {
-                              for (
-                                var ye = ge / p,
-                                  be = u * Math.cos((ye * Math.PI) / 2),
-                                  Ae = h * Math.sin((ye * Math.PI) / 2) + d,
-                                  we = 0,
-                                  xe = L.length;
-                                we < xe;
-                                we++
-                              ) {
-                                var Ee = O(L[we], k[we], Ae)
-                                Oe(Ee.x, Ee.y, l + be)
-                              }
-                              for (var Me = 0, _e = M.length; Me < _e; Me++) {
-                                var Te = M[Me]
-                                z = j[Me]
-                                for (var Se = 0, Ce = Te.length; Se < Ce; Se++) {
-                                  var Le = O(Te[Se], z[Se], Ae)
-                                  w
-                                    ? Oe(Le.x, Le.y + v[s - 1].y, v[s - 1].x + be)
-                                    : Oe(Le.x, Le.y, l + be)
-                                }
-                              }
-                            }
-                            function Re() {
-                              var e = o.length / 3
-                              if (c) {
-                                for (var t = 0, n = I * t, r = 0; r < B; r++) {
-                                  var a = C[r]
-                                  Ie(a[2] + n, a[1] + n, a[0] + n)
-                                }
-                                n = I * (t = s + 2 * p)
-                                for (var l = 0; l < B; l++) {
-                                  var u = C[l]
-                                  Ie(u[0] + n, u[1] + n, u[2] + n)
-                                }
-                              } else {
-                                for (var h = 0; h < B; h++) {
-                                  var d = C[h]
-                                  Ie(d[2], d[1], d[0])
-                                }
-                                for (var f = 0; f < B; f++) {
-                                  var m = C[f]
-                                  Ie(m[0] + I * s, m[1] + I * s, m[2] + I * s)
-                                }
-                              }
-                              i.addGroup(e, o.length / 3 - e, 0)
-                            }
-                            function Pe() {
-                              var e = o.length / 3,
-                                t = 0
-                              De(L, t), (t += L.length)
-                              for (var n = 0, r = M.length; n < r; n++) {
-                                var a = M[n]
-                                De(a, t), (t += a.length)
-                              }
-                              i.addGroup(e, o.length / 3 - e, 1)
-                            }
-                            function De(e, t) {
-                              for (var n = e.length; --n >= 0; ) {
-                                var r = n,
-                                  i = n - 1
-                                i < 0 && (i = e.length - 1)
-                                for (var o = 0, a = s + 2 * p; o < a; o++) {
-                                  var l = I * o,
-                                    c = I * (o + 1)
-                                  Be(t + r + l, t + i + l, t + i + c, t + r + c)
-                                }
-                              }
-                            }
-                            function Oe(e, n, r) {
-                              t.push(e), t.push(n), t.push(r)
-                            }
-                            function Ie(e, t, n) {
-                              Fe(e), Fe(t), Fe(n)
-                              var r = o.length / 3,
-                                a = m.generateTopUV(i, o, r - 3, r - 2, r - 1)
-                              ke(a[0]), ke(a[1]), ke(a[2])
-                            }
-                            function Be(e, t, n, r) {
-                              Fe(e), Fe(t), Fe(r), Fe(t), Fe(n), Fe(r)
-                              var a = o.length / 3,
-                                s = m.generateSideWallUV(i, o, a - 6, a - 3, a - 2, a - 1)
-                              ke(s[0]), ke(s[1]), ke(s[3]), ke(s[1]), ke(s[2]), ke(s[3])
-                            }
-                            function Fe(e) {
-                              o.push(t[3 * e + 0]), o.push(t[3 * e + 1]), o.push(t[3 * e + 2])
-                            }
-                            function ke(e) {
-                              a.push(e.x), a.push(e.y)
-                            }
-                            Re(), Pe()
-                          }
-                          return (
-                            r.setAttribute('position', new Wi(o, 3)),
-                            r.setAttribute('uv', new Wi(a, 2)),
-                            r.computeVertexNormals(),
-                            r
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.toJSON = function () {
-                            var e = ro.prototype.toJSON.call(this)
-                            return vu(this.parameters.shapes, this.parameters.options, e)
-                          }),
-                          t
-                        )
-                      })(ro),
-                      mu = {
-                        generateTopUV: function (e, t, n, r, i) {
-                          var o = t[3 * n],
-                            a = t[3 * n + 1],
-                            s = t[3 * r],
-                            l = t[3 * r + 1],
-                            c = t[3 * i],
-                            u = t[3 * i + 1]
-                          return [new Jn(o, a), new Jn(s, l), new Jn(c, u)]
-                        },
-                        generateSideWallUV: function (e, t, n, r, i, o) {
-                          var a = t[3 * n],
-                            s = t[3 * n + 1],
-                            l = t[3 * n + 2],
-                            c = t[3 * r],
-                            u = t[3 * r + 1],
-                            h = t[3 * r + 2],
-                            d = t[3 * i],
-                            p = t[3 * i + 1],
-                            f = t[3 * i + 2],
-                            m = t[3 * o],
-                            v = t[3 * o + 1],
-                            g = t[3 * o + 2]
-                          return Math.abs(s - u) < 0.01
-                            ? [
-                                new Jn(a, 1 - l),
-                                new Jn(c, 1 - h),
-                                new Jn(d, 1 - f),
-                                new Jn(m, 1 - g),
-                              ]
-                            : [
-                                new Jn(s, 1 - l),
-                                new Jn(u, 1 - h),
-                                new Jn(p, 1 - f),
-                                new Jn(v, 1 - g),
-                              ]
-                        },
-                      }
-                    function vu(e, t, n) {
-                      if (((n.shapes = []), Array.isArray(e)))
-                        for (var r = 0, i = e.length; r < i; r++) {
-                          var o = e[r]
-                          n.shapes.push(o.uuid)
-                        }
-                      else n.shapes.push(e.uuid)
-                      return (
-                        void 0 !== t.extrudePath &&
-                          (n.options.extrudePath = t.extrudePath.toJSON()),
-                        n
-                      )
-                    }
-                    var gu = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === t && (t = 1), void 0 === n && (n = 0)
-                          var i = (1 + Math.sqrt(5)) / 2,
-                            o = [
-                              -1,
-                              i,
-                              0,
-                              1,
-                              i,
-                              0,
-                              -1,
-                              -i,
-                              0,
-                              1,
-                              -i,
-                              0,
-                              0,
-                              -1,
-                              i,
-                              0,
-                              1,
-                              i,
-                              0,
-                              -1,
-                              -i,
-                              0,
-                              1,
-                              -i,
-                              i,
-                              0,
-                              -1,
-                              i,
-                              0,
-                              1,
-                              -i,
-                              0,
-                              -1,
-                              -i,
-                              0,
-                              1,
-                            ],
-                            a = [
-                              0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4,
-                              11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3,
-                              8, 9, 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1,
-                            ]
-                          return (
-                            ((r = e.call(this, o, a, t, n) || this).type = 'IcosahedronGeometry'),
-                            (r.parameters = { radius: t, detail: n }),
-                            r
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(Tc),
-                      yu = (function (e) {
-                        function t(t, n, r, i) {
-                          var o
-                          void 0 === n && (n = 12),
-                            void 0 === r && (r = 0),
-                            void 0 === i && (i = 2 * Math.PI),
-                            ((o = e.call(this) || this).type = 'LatheGeometry'),
-                            (o.parameters = { points: t, segments: n, phiStart: r, phiLength: i }),
-                            (n = Math.floor(n)),
-                            (i = Kn.clamp(i, 0, 2 * Math.PI))
-                          for (
-                            var a = [],
-                              s = [],
-                              l = [],
-                              c = 1 / n,
-                              u = new lr(),
-                              h = new Jn(),
-                              d = 0;
-                            d <= n;
-                            d++
-                          )
-                            for (
-                              var p = r + d * c * i, f = Math.sin(p), m = Math.cos(p), v = 0;
-                              v <= t.length - 1;
-                              v++
-                            )
-                              (u.x = t[v].x * f),
-                                (u.y = t[v].y),
-                                (u.z = t[v].x * m),
-                                s.push(u.x, u.y, u.z),
-                                (h.x = d / n),
-                                (h.y = v / (t.length - 1)),
-                                l.push(h.x, h.y)
-                          for (var g = 0; g < n; g++)
-                            for (var y = 0; y < t.length - 1; y++) {
-                              var b = y + g * t.length,
-                                A = b,
-                                w = b + t.length,
-                                x = b + t.length + 1,
-                                E = b + 1
-                              a.push(A, w, E), a.push(w, x, E)
-                            }
-                          if (
-                            (o.setIndex(a),
-                            o.setAttribute('position', new Wi(s, 3)),
-                            o.setAttribute('uv', new Wi(l, 2)),
-                            o.computeVertexNormals(),
-                            i === 2 * Math.PI)
-                          )
-                            for (
-                              var M = o.attributes.normal.array,
-                                _ = new lr(),
-                                T = new lr(),
-                                S = new lr(),
-                                C = n * t.length * 3,
-                                L = 0,
-                                R = 0;
-                              L < t.length;
-                              L++, R += 3
-                            )
-                              (_.x = M[R + 0]),
-                                (_.y = M[R + 1]),
-                                (_.z = M[R + 2]),
-                                (T.x = M[C + R + 0]),
-                                (T.y = M[C + R + 1]),
-                                (T.z = M[C + R + 2]),
-                                S.addVectors(_, T).normalize(),
-                                (M[R + 0] = M[C + R + 0] = S.x),
-                                (M[R + 1] = M[C + R + 1] = S.y),
-                                (M[R + 2] = M[C + R + 2] = S.z)
-                          return o
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      bu = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === t && (t = 1), void 0 === n && (n = 0)
-                          var i = [1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1],
-                            o = [
-                              0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4,
-                              2,
-                            ]
-                          return (
-                            ((r = e.call(this, i, o, t, n) || this).type = 'OctahedronGeometry'),
-                            (r.parameters = { radius: t, detail: n }),
-                            r
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(Tc)
-                    function Au(e, t, n) {
-                      ro.call(this),
-                        (this.type = 'ParametricGeometry'),
-                        (this.parameters = { func: e, slices: t, stacks: n })
-                      var r = [],
-                        i = [],
-                        o = [],
-                        a = [],
-                        s = 1e-5,
-                        l = new lr(),
-                        c = new lr(),
-                        u = new lr(),
-                        h = new lr(),
-                        d = new lr()
-                      e.length < 3 &&
-                        console.error(
-                          'THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.',
-                        )
-                      for (var p = t + 1, f = 0; f <= n; f++)
-                        for (var m = f / n, v = 0; v <= t; v++) {
-                          var g = v / t
-                          e(g, m, c),
-                            i.push(c.x, c.y, c.z),
-                            g - s >= 0
-                              ? (e(g - s, m, u), h.subVectors(c, u))
-                              : (e(g + s, m, u), h.subVectors(u, c)),
-                            m - s >= 0
-                              ? (e(g, m - s, u), d.subVectors(c, u))
-                              : (e(g, m + s, u), d.subVectors(u, c)),
-                            l.crossVectors(h, d).normalize(),
-                            o.push(l.x, l.y, l.z),
-                            a.push(g, m)
-                        }
-                      for (var y = 0; y < n; y++)
-                        for (var b = 0; b < t; b++) {
-                          var A = y * p + b,
-                            w = y * p + b + 1,
-                            x = (y + 1) * p + b + 1,
-                            E = (y + 1) * p + b
-                          r.push(A, w, E), r.push(w, x, E)
-                        }
-                      this.setIndex(r),
-                        this.setAttribute('position', new Wi(i, 3)),
-                        this.setAttribute('normal', new Wi(o, 3)),
-                        this.setAttribute('uv', new Wi(a, 2))
-                    }
-                    ;(Au.prototype = Object.create(ro.prototype)), (Au.prototype.constructor = Au)
-                    var wu = (function (e) {
-                        function t(t, n, r, i, o, a) {
-                          var s
-                          void 0 === t && (t = 0.5),
-                            void 0 === n && (n = 1),
-                            void 0 === r && (r = 8),
-                            void 0 === i && (i = 1),
-                            void 0 === o && (o = 0),
-                            void 0 === a && (a = 2 * Math.PI),
-                            ((s = e.call(this) || this).type = 'RingGeometry'),
-                            (s.parameters = {
-                              innerRadius: t,
-                              outerRadius: n,
-                              thetaSegments: r,
-                              phiSegments: i,
-                              thetaStart: o,
-                              thetaLength: a,
-                            }),
-                            (r = Math.max(3, r))
-                          for (
-                            var l = [],
-                              c = [],
-                              u = [],
-                              h = [],
-                              d = t,
-                              p = (n - t) / (i = Math.max(1, i)),
-                              f = new lr(),
-                              m = new Jn(),
-                              v = 0;
-                            v <= i;
-                            v++
-                          ) {
-                            for (var g = 0; g <= r; g++) {
-                              var y = o + (g / r) * a
-                              ;(f.x = d * Math.cos(y)),
-                                (f.y = d * Math.sin(y)),
-                                c.push(f.x, f.y, f.z),
-                                u.push(0, 0, 1),
-                                (m.x = (f.x / n + 1) / 2),
-                                (m.y = (f.y / n + 1) / 2),
-                                h.push(m.x, m.y)
-                            }
-                            d += p
-                          }
-                          for (var b = 0; b < i; b++)
-                            for (var A = b * (r + 1), w = 0; w < r; w++) {
-                              var x = w + A,
-                                E = x,
-                                M = x + r + 1,
-                                _ = x + r + 2,
-                                T = x + 1
-                              l.push(E, M, T), l.push(M, _, T)
-                            }
-                          return (
-                            s.setIndex(l),
-                            s.setAttribute('position', new Wi(c, 3)),
-                            s.setAttribute('normal', new Wi(u, 3)),
-                            s.setAttribute('uv', new Wi(h, 2)),
-                            s
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      xu = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === n && (n = 12),
-                            ((r = e.call(this) || this).type = 'ShapeGeometry'),
-                            (r.parameters = { shapes: t, curveSegments: n })
-                          var i = [],
-                            o = [],
-                            a = [],
-                            s = [],
-                            l = 0,
-                            c = 0
-                          if (!1 === Array.isArray(t)) h(t)
-                          else
-                            for (var u = 0; u < t.length; u++)
-                              h(t[u]), r.addGroup(l, c, u), (l += c), (c = 0)
-                          function h(e) {
-                            var t = o.length / 3,
-                              r = e.extractPoints(n),
-                              l = r.shape,
-                              u = r.holes
-                            !1 === hu.isClockWise(l) && (l = l.reverse())
-                            for (var h = 0, d = u.length; h < d; h++) {
-                              var p = u[h]
-                              !0 === hu.isClockWise(p) && (u[h] = p.reverse())
-                            }
-                            for (
-                              var f = hu.triangulateShape(l, u), m = 0, v = u.length;
-                              m < v;
-                              m++
-                            ) {
-                              var g = u[m]
-                              l = l.concat(g)
-                            }
-                            for (var y = 0, b = l.length; y < b; y++) {
-                              var A = l[y]
-                              o.push(A.x, A.y, 0), a.push(0, 0, 1), s.push(A.x, A.y)
-                            }
-                            for (var w = 0, x = f.length; w < x; w++) {
-                              var E = f[w],
-                                M = E[0] + t,
-                                _ = E[1] + t,
-                                T = E[2] + t
-                              i.push(M, _, T), (c += 3)
-                            }
-                          }
-                          return (
-                            r.setIndex(i),
-                            r.setAttribute('position', new Wi(o, 3)),
-                            r.setAttribute('normal', new Wi(a, 3)),
-                            r.setAttribute('uv', new Wi(s, 2)),
-                            r
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.toJSON = function () {
-                            var e = ro.prototype.toJSON.call(this)
-                            return Eu(this.parameters.shapes, e)
-                          }),
-                          t
-                        )
-                      })(ro)
-                    function Eu(e, t) {
-                      if (((t.shapes = []), Array.isArray(e)))
-                        for (var n = 0, r = e.length; n < r; n++) {
-                          var i = e[n]
-                          t.shapes.push(i.uuid)
-                        }
-                      else t.shapes.push(e.uuid)
-                      return t
-                    }
-                    var Mu = (function (e) {
-                        function t(t, n, r, i, o, a, s) {
-                          var l
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 8),
-                            void 0 === r && (r = 6),
-                            void 0 === i && (i = 0),
-                            void 0 === o && (o = 2 * Math.PI),
-                            void 0 === a && (a = 0),
-                            void 0 === s && (s = Math.PI),
-                            ((l = e.call(this) || this).type = 'SphereGeometry'),
-                            (l.parameters = {
-                              radius: t,
-                              widthSegments: n,
-                              heightSegments: r,
-                              phiStart: i,
-                              phiLength: o,
-                              thetaStart: a,
-                              thetaLength: s,
-                            }),
-                            (n = Math.max(3, Math.floor(n))),
-                            (r = Math.max(2, Math.floor(r)))
-                          for (
-                            var c = Math.min(a + s, Math.PI),
-                              u = 0,
-                              h = [],
-                              d = new lr(),
-                              p = new lr(),
-                              f = [],
-                              m = [],
-                              v = [],
-                              g = [],
-                              y = 0;
-                            y <= r;
-                            y++
-                          ) {
-                            var b = [],
-                              A = y / r,
-                              w = 0
-                            0 == y && 0 == a
-                              ? (w = 0.5 / n)
-                              : y == r && c == Math.PI && (w = -0.5 / n)
-                            for (var x = 0; x <= n; x++) {
-                              var E = x / n
-                              ;(d.x = -t * Math.cos(i + E * o) * Math.sin(a + A * s)),
-                                (d.y = t * Math.cos(a + A * s)),
-                                (d.z = t * Math.sin(i + E * o) * Math.sin(a + A * s)),
-                                m.push(d.x, d.y, d.z),
-                                p.copy(d).normalize(),
-                                v.push(p.x, p.y, p.z),
-                                g.push(E + w, 1 - A),
-                                b.push(u++)
-                            }
-                            h.push(b)
-                          }
-                          for (var M = 0; M < r; M++)
-                            for (var _ = 0; _ < n; _++) {
-                              var T = h[M][_ + 1],
-                                S = h[M][_],
-                                C = h[M + 1][_],
-                                L = h[M + 1][_ + 1]
-                              ;(0 !== M || a > 0) && f.push(T, S, L),
-                                (M !== r - 1 || c < Math.PI) && f.push(S, C, L)
-                            }
-                          return (
-                            l.setIndex(f),
-                            l.setAttribute('position', new Wi(m, 3)),
-                            l.setAttribute('normal', new Wi(v, 3)),
-                            l.setAttribute('uv', new Wi(g, 2)),
-                            l
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      _u = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === t && (t = 1), void 0 === n && (n = 0)
-                          var i = [1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1],
-                            o = [2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1]
-                          return (
-                            ((r = e.call(this, i, o, t, n) || this).type = 'TetrahedronGeometry'),
-                            (r.parameters = { radius: t, detail: n }),
-                            r
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(Tc),
-                      Tu = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === n && (n = {})
-                          var i = n.font
-                          if (!i || !i.isFont)
-                            return (
-                              console.error(
-                                'THREE.TextGeometry: font parameter is not an instance of THREE.Font.',
-                              ),
-                              new ro() || zn(r)
-                            )
-                          var o = i.generateShapes(t, n.size)
-                          return (
-                            (n.depth = void 0 !== n.height ? n.height : 50),
-                            void 0 === n.bevelThickness && (n.bevelThickness = 10),
-                            void 0 === n.bevelSize && (n.bevelSize = 8),
-                            void 0 === n.bevelEnabled && (n.bevelEnabled = !1),
-                            ((r = e.call(this, o, n) || this).type = 'TextGeometry'),
-                            r
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(fu),
-                      Su = (function (e) {
-                        function t(t, n, r, i, o) {
-                          var a
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 0.4),
-                            void 0 === r && (r = 8),
-                            void 0 === i && (i = 6),
-                            void 0 === o && (o = 2 * Math.PI),
-                            ((a = e.call(this) || this).type = 'TorusGeometry'),
-                            (a.parameters = {
-                              radius: t,
-                              tube: n,
-                              radialSegments: r,
-                              tubularSegments: i,
-                              arc: o,
-                            }),
-                            (r = Math.floor(r)),
-                            (i = Math.floor(i))
-                          for (
-                            var s = [],
-                              l = [],
-                              c = [],
-                              u = [],
-                              h = new lr(),
-                              d = new lr(),
-                              p = new lr(),
-                              f = 0;
-                            f <= r;
-                            f++
-                          )
-                            for (var m = 0; m <= i; m++) {
-                              var v = (m / i) * o,
-                                g = (f / r) * Math.PI * 2
-                              ;(d.x = (t + n * Math.cos(g)) * Math.cos(v)),
-                                (d.y = (t + n * Math.cos(g)) * Math.sin(v)),
-                                (d.z = n * Math.sin(g)),
-                                l.push(d.x, d.y, d.z),
-                                (h.x = t * Math.cos(v)),
-                                (h.y = t * Math.sin(v)),
-                                p.subVectors(d, h).normalize(),
-                                c.push(p.x, p.y, p.z),
-                                u.push(m / i),
-                                u.push(f / r)
-                            }
-                          for (var y = 1; y <= r; y++)
-                            for (var b = 1; b <= i; b++) {
-                              var A = (i + 1) * y + b - 1,
-                                w = (i + 1) * (y - 1) + b - 1,
-                                x = (i + 1) * (y - 1) + b,
-                                E = (i + 1) * y + b
-                              s.push(A, w, E), s.push(w, x, E)
-                            }
-                          return (
-                            a.setIndex(s),
-                            a.setAttribute('position', new Wi(l, 3)),
-                            a.setAttribute('normal', new Wi(c, 3)),
-                            a.setAttribute('uv', new Wi(u, 2)),
-                            a
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Cu = (function (e) {
-                        function t(t, n, r, i, o, a) {
-                          var s
-                          void 0 === t && (t = 1),
-                            void 0 === n && (n = 0.4),
-                            void 0 === r && (r = 64),
-                            void 0 === i && (i = 8),
-                            void 0 === o && (o = 2),
-                            void 0 === a && (a = 3),
-                            ((s = e.call(this) || this).type = 'TorusKnotGeometry'),
-                            (s.parameters = {
-                              radius: t,
-                              tube: n,
-                              tubularSegments: r,
-                              radialSegments: i,
-                              p: o,
-                              q: a,
-                            }),
-                            (r = Math.floor(r)),
-                            (i = Math.floor(i))
-                          for (
-                            var l = [],
-                              c = [],
-                              u = [],
-                              h = [],
-                              d = new lr(),
-                              p = new lr(),
-                              f = new lr(),
-                              m = new lr(),
-                              v = new lr(),
-                              g = new lr(),
-                              y = new lr(),
-                              b = 0;
-                            b <= r;
-                            ++b
-                          ) {
-                            var A = (b / r) * o * Math.PI * 2
-                            P(A, o, a, t, f),
-                              P(A + 0.01, o, a, t, m),
-                              g.subVectors(m, f),
-                              y.addVectors(m, f),
-                              v.crossVectors(g, y),
-                              y.crossVectors(v, g),
-                              v.normalize(),
-                              y.normalize()
-                            for (var w = 0; w <= i; ++w) {
-                              var x = (w / i) * Math.PI * 2,
-                                E = -n * Math.cos(x),
-                                M = n * Math.sin(x)
-                              ;(d.x = f.x + (E * y.x + M * v.x)),
-                                (d.y = f.y + (E * y.y + M * v.y)),
-                                (d.z = f.z + (E * y.z + M * v.z)),
-                                c.push(d.x, d.y, d.z),
-                                p.subVectors(d, f).normalize(),
-                                u.push(p.x, p.y, p.z),
-                                h.push(b / r),
-                                h.push(w / i)
-                            }
-                          }
-                          for (var _ = 1; _ <= r; _++)
-                            for (var T = 1; T <= i; T++) {
-                              var S = (i + 1) * (_ - 1) + (T - 1),
-                                C = (i + 1) * _ + (T - 1),
-                                L = (i + 1) * _ + T,
-                                R = (i + 1) * (_ - 1) + T
-                              l.push(S, C, R), l.push(C, L, R)
-                            }
-                          function P(e, t, n, r, i) {
-                            var o = Math.cos(e),
-                              a = Math.sin(e),
-                              s = (n / t) * e,
-                              l = Math.cos(s)
-                            ;(i.x = r * (2 + l) * 0.5 * o),
-                              (i.y = r * (2 + l) * a * 0.5),
-                              (i.z = r * Math.sin(s) * 0.5)
-                          }
-                          return (
-                            s.setIndex(l),
-                            s.setAttribute('position', new Wi(c, 3)),
-                            s.setAttribute('normal', new Wi(u, 3)),
-                            s.setAttribute('uv', new Wi(h, 2)),
-                            s
-                          )
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Lu = (function (e) {
-                        function t(t, n, r, i, o) {
-                          var a
-                          void 0 === n && (n = 64),
-                            void 0 === r && (r = 1),
-                            void 0 === i && (i = 8),
-                            void 0 === o && (o = !1),
-                            ((a = e.call(this) || this).type = 'TubeGeometry'),
-                            (a.parameters = {
-                              path: t,
-                              tubularSegments: n,
-                              radius: r,
-                              radialSegments: i,
-                              closed: o,
-                            })
-                          var s = t.computeFrenetFrames(n, o)
-                          ;(a.tangents = s.tangents),
-                            (a.normals = s.normals),
-                            (a.binormals = s.binormals)
-                          var l = new lr(),
-                            c = new lr(),
-                            u = new Jn(),
-                            h = new lr(),
-                            d = [],
-                            p = [],
-                            f = [],
-                            m = []
-                          function v() {
-                            for (var e = 0; e < n; e++) g(e)
-                            g(!1 === o ? n : 0), b(), y()
-                          }
-                          function g(e) {
-                            h = t.getPointAt(e / n, h)
-                            for (var o = s.normals[e], a = s.binormals[e], u = 0; u <= i; u++) {
-                              var f = (u / i) * Math.PI * 2,
-                                m = Math.sin(f),
-                                v = -Math.cos(f)
-                              ;(c.x = v * o.x + m * a.x),
-                                (c.y = v * o.y + m * a.y),
-                                (c.z = v * o.z + m * a.z),
-                                c.normalize(),
-                                p.push(c.x, c.y, c.z),
-                                (l.x = h.x + r * c.x),
-                                (l.y = h.y + r * c.y),
-                                (l.z = h.z + r * c.z),
-                                d.push(l.x, l.y, l.z)
-                            }
-                          }
-                          function y() {
-                            for (var e = 1; e <= n; e++)
-                              for (var t = 1; t <= i; t++) {
-                                var r = (i + 1) * (e - 1) + (t - 1),
-                                  o = (i + 1) * e + (t - 1),
-                                  a = (i + 1) * e + t,
-                                  s = (i + 1) * (e - 1) + t
-                                m.push(r, o, s), m.push(o, a, s)
-                              }
-                          }
-                          function b() {
-                            for (var e = 0; e <= n; e++)
-                              for (var t = 0; t <= i; t++)
-                                (u.x = e / n), (u.y = t / i), f.push(u.x, u.y)
-                          }
-                          return (
-                            v(),
-                            a.setIndex(m),
-                            a.setAttribute('position', new Wi(d, 3)),
-                            a.setAttribute('normal', new Wi(p, 3)),
-                            a.setAttribute('uv', new Wi(f, 2)),
-                            a
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.toJSON = function () {
-                            var e = ro.prototype.toJSON.call(this)
-                            return (e.path = this.parameters.path.toJSON()), e
-                          }),
-                          t
-                        )
-                      })(ro),
-                      Ru = (function (e) {
-                        function t(t) {
-                          var n
-                          if (
-                            (((n = e.call(this) || this).type = 'WireframeGeometry'),
-                            !0 === t.isGeometry)
-                          )
-                            return (
-                              console.error(
-                                'THREE.WireframeGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-                              ),
-                              zn(n)
-                            )
-                          var r = [],
-                            i = [0, 0],
-                            o = {},
-                            a = new lr()
-                          if (null !== t.index) {
-                            var s = t.attributes.position,
-                              l = t.index,
-                              c = t.groups
-                            0 === c.length && (c = [{ start: 0, count: l.count, materialIndex: 0 }])
-                            for (var u = 0, h = c.length; u < h; ++u)
-                              for (var d = c[u], p = d.start, f = p, m = p + d.count; f < m; f += 3)
-                                for (var v = 0; v < 3; v++) {
-                                  var g = l.getX(f + v),
-                                    y = l.getX(f + ((v + 1) % 3))
-                                  ;(i[0] = Math.min(g, y)), (i[1] = Math.max(g, y))
-                                  var b = i[0] + ',' + i[1]
-                                  void 0 === o[b] && (o[b] = { index1: i[0], index2: i[1] })
-                                }
-                            for (var A in o) {
-                              var w = o[A]
-                              a.fromBufferAttribute(s, w.index1),
-                                r.push(a.x, a.y, a.z),
-                                a.fromBufferAttribute(s, w.index2),
-                                r.push(a.x, a.y, a.z)
-                            }
-                          } else
-                            for (var x = t.attributes.position, E = 0, M = x.count / 3; E < M; E++)
-                              for (var _ = 0; _ < 3; _++) {
-                                var T = 3 * E + _
-                                a.fromBufferAttribute(x, T), r.push(a.x, a.y, a.z)
-                                var S = 3 * E + ((_ + 1) % 3)
-                                a.fromBufferAttribute(x, S), r.push(a.x, a.y, a.z)
-                              }
-                          return n.setAttribute('position', new Wi(r, 3)), n
-                        }
-                        return Gn(t, e), t
-                      })(ro),
-                      Pu = Object.freeze({
-                        __proto__: null,
-                        BoxGeometry: _o,
-                        BoxBufferGeometry: _o,
-                        CircleGeometry: Ec,
-                        CircleBufferGeometry: Ec,
-                        ConeGeometry: _c,
-                        ConeBufferGeometry: _c,
-                        CylinderGeometry: Mc,
-                        CylinderBufferGeometry: Mc,
-                        DodecahedronGeometry: Sc,
-                        DodecahedronBufferGeometry: Sc,
-                        EdgesGeometry: Dc,
-                        ExtrudeGeometry: fu,
-                        ExtrudeBufferGeometry: fu,
-                        IcosahedronGeometry: gu,
-                        IcosahedronBufferGeometry: gu,
-                        LatheGeometry: yu,
-                        LatheBufferGeometry: yu,
-                        OctahedronGeometry: bu,
-                        OctahedronBufferGeometry: bu,
-                        ParametricGeometry: Au,
-                        ParametricBufferGeometry: Au,
-                        PlaneGeometry: Wo,
-                        PlaneBufferGeometry: Wo,
-                        PolyhedronGeometry: Tc,
-                        PolyhedronBufferGeometry: Tc,
-                        RingGeometry: wu,
-                        RingBufferGeometry: wu,
-                        ShapeGeometry: xu,
-                        ShapeBufferGeometry: xu,
-                        SphereGeometry: Mu,
-                        SphereBufferGeometry: Mu,
-                        TetrahedronGeometry: _u,
-                        TetrahedronBufferGeometry: _u,
-                        TextGeometry: Tu,
-                        TextBufferGeometry: Tu,
-                        TorusGeometry: Su,
-                        TorusBufferGeometry: Su,
-                        TorusKnotGeometry: Cu,
-                        TorusKnotBufferGeometry: Cu,
-                        TubeGeometry: Lu,
-                        TubeBufferGeometry: Lu,
-                        WireframeGeometry: Ru,
-                      })
-                    function Du(e) {
-                      Di.call(this),
-                        (this.type = 'ShadowMaterial'),
-                        (this.color = new Li(0)),
-                        (this.transparent = !0),
-                        this.setValues(e)
-                    }
-                    function Ou(e) {
-                      Po.call(this, e), (this.type = 'RawShaderMaterial')
-                    }
-                    function Iu(e) {
-                      Di.call(this),
-                        (this.defines = { STANDARD: '' }),
-                        (this.type = 'MeshStandardMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.roughness = 1),
-                        (this.metalness = 0),
-                        (this.map = null),
-                        (this.lightMap = null),
-                        (this.lightMapIntensity = 1),
-                        (this.aoMap = null),
-                        (this.aoMapIntensity = 1),
-                        (this.emissive = new Li(0)),
-                        (this.emissiveIntensity = 1),
-                        (this.emissiveMap = null),
-                        (this.bumpMap = null),
-                        (this.bumpScale = 1),
-                        (this.normalMap = null),
-                        (this.normalMapType = ln),
-                        (this.normalScale = new Jn(1, 1)),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.roughnessMap = null),
-                        (this.metalnessMap = null),
-                        (this.alphaMap = null),
-                        (this.envMap = null),
-                        (this.envMapIntensity = 1),
-                        (this.refractionRatio = 0.98),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.wireframeLinecap = 'round'),
-                        (this.wireframeLinejoin = 'round'),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        (this.vertexTangents = !1),
-                        this.setValues(e)
-                    }
-                    function Bu(e) {
-                      Iu.call(this),
-                        (this.defines = { STANDARD: '', PHYSICAL: '' }),
-                        (this.type = 'MeshPhysicalMaterial'),
-                        (this.clearcoat = 0),
-                        (this.clearcoatMap = null),
-                        (this.clearcoatRoughness = 0),
-                        (this.clearcoatRoughnessMap = null),
-                        (this.clearcoatNormalScale = new Jn(1, 1)),
-                        (this.clearcoatNormalMap = null),
-                        (this.reflectivity = 0.5),
-                        Object.defineProperty(this, 'ior', {
-                          get: function () {
-                            return (1 + 0.4 * this.reflectivity) / (1 - 0.4 * this.reflectivity)
-                          },
-                          set: function (e) {
-                            this.reflectivity = Kn.clamp((2.5 * (e - 1)) / (e + 1), 0, 1)
-                          },
-                        }),
-                        (this.sheen = null),
-                        (this.transmission = 0),
-                        (this.transmissionMap = null),
-                        this.setValues(e)
-                    }
-                    function Fu(e) {
-                      Di.call(this),
-                        (this.type = 'MeshPhongMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.specular = new Li(1118481)),
-                        (this.shininess = 30),
-                        (this.map = null),
-                        (this.lightMap = null),
-                        (this.lightMapIntensity = 1),
-                        (this.aoMap = null),
-                        (this.aoMapIntensity = 1),
-                        (this.emissive = new Li(0)),
-                        (this.emissiveIntensity = 1),
-                        (this.emissiveMap = null),
-                        (this.bumpMap = null),
-                        (this.bumpScale = 1),
-                        (this.normalMap = null),
-                        (this.normalMapType = ln),
-                        (this.normalScale = new Jn(1, 1)),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.specularMap = null),
-                        (this.alphaMap = null),
-                        (this.envMap = null),
-                        (this.combine = Z),
-                        (this.reflectivity = 1),
-                        (this.refractionRatio = 0.98),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.wireframeLinecap = 'round'),
-                        (this.wireframeLinejoin = 'round'),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        this.setValues(e)
-                    }
-                    function ku(e) {
-                      Di.call(this),
-                        (this.defines = { TOON: '' }),
-                        (this.type = 'MeshToonMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.map = null),
-                        (this.gradientMap = null),
-                        (this.lightMap = null),
-                        (this.lightMapIntensity = 1),
-                        (this.aoMap = null),
-                        (this.aoMapIntensity = 1),
-                        (this.emissive = new Li(0)),
-                        (this.emissiveIntensity = 1),
-                        (this.emissiveMap = null),
-                        (this.bumpMap = null),
-                        (this.bumpScale = 1),
-                        (this.normalMap = null),
-                        (this.normalMapType = ln),
-                        (this.normalScale = new Jn(1, 1)),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.alphaMap = null),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.wireframeLinecap = 'round'),
-                        (this.wireframeLinejoin = 'round'),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        this.setValues(e)
-                    }
-                    function Nu(e) {
-                      Di.call(this),
-                        (this.type = 'MeshNormalMaterial'),
-                        (this.bumpMap = null),
-                        (this.bumpScale = 1),
-                        (this.normalMap = null),
-                        (this.normalMapType = ln),
-                        (this.normalScale = new Jn(1, 1)),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.fog = !1),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        this.setValues(e)
-                    }
-                    function Uu(e) {
-                      Di.call(this),
-                        (this.type = 'MeshLambertMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.map = null),
-                        (this.lightMap = null),
-                        (this.lightMapIntensity = 1),
-                        (this.aoMap = null),
-                        (this.aoMapIntensity = 1),
-                        (this.emissive = new Li(0)),
-                        (this.emissiveIntensity = 1),
-                        (this.emissiveMap = null),
-                        (this.specularMap = null),
-                        (this.alphaMap = null),
-                        (this.envMap = null),
-                        (this.combine = Z),
-                        (this.reflectivity = 1),
-                        (this.refractionRatio = 0.98),
-                        (this.wireframe = !1),
-                        (this.wireframeLinewidth = 1),
-                        (this.wireframeLinecap = 'round'),
-                        (this.wireframeLinejoin = 'round'),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        this.setValues(e)
-                    }
-                    function Hu(e) {
-                      Di.call(this),
-                        (this.defines = { MATCAP: '' }),
-                        (this.type = 'MeshMatcapMaterial'),
-                        (this.color = new Li(16777215)),
-                        (this.matcap = null),
-                        (this.map = null),
-                        (this.bumpMap = null),
-                        (this.bumpScale = 1),
-                        (this.normalMap = null),
-                        (this.normalMapType = ln),
-                        (this.normalScale = new Jn(1, 1)),
-                        (this.displacementMap = null),
-                        (this.displacementScale = 1),
-                        (this.displacementBias = 0),
-                        (this.alphaMap = null),
-                        (this.skinning = !1),
-                        (this.morphTargets = !1),
-                        (this.morphNormals = !1),
-                        this.setValues(e)
-                    }
-                    function Gu(e) {
-                      tc.call(this),
-                        (this.type = 'LineDashedMaterial'),
-                        (this.scale = 1),
-                        (this.dashSize = 3),
-                        (this.gapSize = 1),
-                        this.setValues(e)
-                    }
-                    ;(Du.prototype = Object.create(Di.prototype)),
-                      (Du.prototype.constructor = Du),
-                      (Du.prototype.isShadowMaterial = !0),
-                      (Du.prototype.copy = function (e) {
-                        return Di.prototype.copy.call(this, e), this.color.copy(e.color), this
-                      }),
-                      (Ou.prototype = Object.create(Po.prototype)),
-                      (Ou.prototype.constructor = Ou),
-                      (Ou.prototype.isRawShaderMaterial = !0),
-                      (Iu.prototype = Object.create(Di.prototype)),
-                      (Iu.prototype.constructor = Iu),
-                      (Iu.prototype.isMeshStandardMaterial = !0),
-                      (Iu.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          (this.defines = { STANDARD: '' }),
-                          this.color.copy(e.color),
-                          (this.roughness = e.roughness),
-                          (this.metalness = e.metalness),
-                          (this.map = e.map),
-                          (this.lightMap = e.lightMap),
-                          (this.lightMapIntensity = e.lightMapIntensity),
-                          (this.aoMap = e.aoMap),
-                          (this.aoMapIntensity = e.aoMapIntensity),
-                          this.emissive.copy(e.emissive),
-                          (this.emissiveMap = e.emissiveMap),
-                          (this.emissiveIntensity = e.emissiveIntensity),
-                          (this.bumpMap = e.bumpMap),
-                          (this.bumpScale = e.bumpScale),
-                          (this.normalMap = e.normalMap),
-                          (this.normalMapType = e.normalMapType),
-                          this.normalScale.copy(e.normalScale),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.roughnessMap = e.roughnessMap),
-                          (this.metalnessMap = e.metalnessMap),
-                          (this.alphaMap = e.alphaMap),
-                          (this.envMap = e.envMap),
-                          (this.envMapIntensity = e.envMapIntensity),
-                          (this.refractionRatio = e.refractionRatio),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.wireframeLinecap = e.wireframeLinecap),
-                          (this.wireframeLinejoin = e.wireframeLinejoin),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          (this.vertexTangents = e.vertexTangents),
-                          this
-                        )
-                      }),
-                      (Bu.prototype = Object.create(Iu.prototype)),
-                      (Bu.prototype.constructor = Bu),
-                      (Bu.prototype.isMeshPhysicalMaterial = !0),
-                      (Bu.prototype.copy = function (e) {
-                        return (
-                          Iu.prototype.copy.call(this, e),
-                          (this.defines = { STANDARD: '', PHYSICAL: '' }),
-                          (this.clearcoat = e.clearcoat),
-                          (this.clearcoatMap = e.clearcoatMap),
-                          (this.clearcoatRoughness = e.clearcoatRoughness),
-                          (this.clearcoatRoughnessMap = e.clearcoatRoughnessMap),
-                          (this.clearcoatNormalMap = e.clearcoatNormalMap),
-                          this.clearcoatNormalScale.copy(e.clearcoatNormalScale),
-                          (this.reflectivity = e.reflectivity),
-                          e.sheen
-                            ? (this.sheen = (this.sheen || new Li()).copy(e.sheen))
-                            : (this.sheen = null),
-                          (this.transmission = e.transmission),
-                          (this.transmissionMap = e.transmissionMap),
-                          this
-                        )
-                      }),
-                      (Fu.prototype = Object.create(Di.prototype)),
-                      (Fu.prototype.constructor = Fu),
-                      (Fu.prototype.isMeshPhongMaterial = !0),
-                      (Fu.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          this.specular.copy(e.specular),
-                          (this.shininess = e.shininess),
-                          (this.map = e.map),
-                          (this.lightMap = e.lightMap),
-                          (this.lightMapIntensity = e.lightMapIntensity),
-                          (this.aoMap = e.aoMap),
-                          (this.aoMapIntensity = e.aoMapIntensity),
-                          this.emissive.copy(e.emissive),
-                          (this.emissiveMap = e.emissiveMap),
-                          (this.emissiveIntensity = e.emissiveIntensity),
-                          (this.bumpMap = e.bumpMap),
-                          (this.bumpScale = e.bumpScale),
-                          (this.normalMap = e.normalMap),
-                          (this.normalMapType = e.normalMapType),
-                          this.normalScale.copy(e.normalScale),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.specularMap = e.specularMap),
-                          (this.alphaMap = e.alphaMap),
-                          (this.envMap = e.envMap),
-                          (this.combine = e.combine),
-                          (this.reflectivity = e.reflectivity),
-                          (this.refractionRatio = e.refractionRatio),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.wireframeLinecap = e.wireframeLinecap),
-                          (this.wireframeLinejoin = e.wireframeLinejoin),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          this
-                        )
-                      }),
-                      (ku.prototype = Object.create(Di.prototype)),
-                      (ku.prototype.constructor = ku),
-                      (ku.prototype.isMeshToonMaterial = !0),
-                      (ku.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.map = e.map),
-                          (this.gradientMap = e.gradientMap),
-                          (this.lightMap = e.lightMap),
-                          (this.lightMapIntensity = e.lightMapIntensity),
-                          (this.aoMap = e.aoMap),
-                          (this.aoMapIntensity = e.aoMapIntensity),
-                          this.emissive.copy(e.emissive),
-                          (this.emissiveMap = e.emissiveMap),
-                          (this.emissiveIntensity = e.emissiveIntensity),
-                          (this.bumpMap = e.bumpMap),
-                          (this.bumpScale = e.bumpScale),
-                          (this.normalMap = e.normalMap),
-                          (this.normalMapType = e.normalMapType),
-                          this.normalScale.copy(e.normalScale),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.alphaMap = e.alphaMap),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.wireframeLinecap = e.wireframeLinecap),
-                          (this.wireframeLinejoin = e.wireframeLinejoin),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          this
-                        )
-                      }),
-                      (Nu.prototype = Object.create(Di.prototype)),
-                      (Nu.prototype.constructor = Nu),
-                      (Nu.prototype.isMeshNormalMaterial = !0),
-                      (Nu.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          (this.bumpMap = e.bumpMap),
-                          (this.bumpScale = e.bumpScale),
-                          (this.normalMap = e.normalMap),
-                          (this.normalMapType = e.normalMapType),
-                          this.normalScale.copy(e.normalScale),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          this
-                        )
-                      }),
-                      (Uu.prototype = Object.create(Di.prototype)),
-                      (Uu.prototype.constructor = Uu),
-                      (Uu.prototype.isMeshLambertMaterial = !0),
-                      (Uu.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          this.color.copy(e.color),
-                          (this.map = e.map),
-                          (this.lightMap = e.lightMap),
-                          (this.lightMapIntensity = e.lightMapIntensity),
-                          (this.aoMap = e.aoMap),
-                          (this.aoMapIntensity = e.aoMapIntensity),
-                          this.emissive.copy(e.emissive),
-                          (this.emissiveMap = e.emissiveMap),
-                          (this.emissiveIntensity = e.emissiveIntensity),
-                          (this.specularMap = e.specularMap),
-                          (this.alphaMap = e.alphaMap),
-                          (this.envMap = e.envMap),
-                          (this.combine = e.combine),
-                          (this.reflectivity = e.reflectivity),
-                          (this.refractionRatio = e.refractionRatio),
-                          (this.wireframe = e.wireframe),
-                          (this.wireframeLinewidth = e.wireframeLinewidth),
-                          (this.wireframeLinecap = e.wireframeLinecap),
-                          (this.wireframeLinejoin = e.wireframeLinejoin),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          this
-                        )
-                      }),
-                      (Hu.prototype = Object.create(Di.prototype)),
-                      (Hu.prototype.constructor = Hu),
-                      (Hu.prototype.isMeshMatcapMaterial = !0),
-                      (Hu.prototype.copy = function (e) {
-                        return (
-                          Di.prototype.copy.call(this, e),
-                          (this.defines = { MATCAP: '' }),
-                          this.color.copy(e.color),
-                          (this.matcap = e.matcap),
-                          (this.map = e.map),
-                          (this.bumpMap = e.bumpMap),
-                          (this.bumpScale = e.bumpScale),
-                          (this.normalMap = e.normalMap),
-                          (this.normalMapType = e.normalMapType),
-                          this.normalScale.copy(e.normalScale),
-                          (this.displacementMap = e.displacementMap),
-                          (this.displacementScale = e.displacementScale),
-                          (this.displacementBias = e.displacementBias),
-                          (this.alphaMap = e.alphaMap),
-                          (this.skinning = e.skinning),
-                          (this.morphTargets = e.morphTargets),
-                          (this.morphNormals = e.morphNormals),
-                          this
-                        )
-                      }),
-                      (Gu.prototype = Object.create(tc.prototype)),
-                      (Gu.prototype.constructor = Gu),
-                      (Gu.prototype.isLineDashedMaterial = !0),
-                      (Gu.prototype.copy = function (e) {
-                        return (
-                          tc.prototype.copy.call(this, e),
-                          (this.scale = e.scale),
-                          (this.dashSize = e.dashSize),
-                          (this.gapSize = e.gapSize),
-                          this
-                        )
-                      })
-                    var zu = Object.freeze({
-                        __proto__: null,
-                        ShadowMaterial: Du,
-                        SpriteMaterial: xl,
-                        RawShaderMaterial: Ou,
-                        ShaderMaterial: Po,
-                        PointsMaterial: dc,
-                        MeshPhysicalMaterial: Bu,
-                        MeshStandardMaterial: Iu,
-                        MeshPhongMaterial: Fu,
-                        MeshToonMaterial: ku,
-                        MeshNormalMaterial: Nu,
-                        MeshLambertMaterial: Uu,
-                        MeshDepthMaterial: Qs,
-                        MeshDistanceMaterial: Zs,
-                        MeshBasicMaterial: Oi,
-                        MeshMatcapMaterial: Hu,
-                        LineDashedMaterial: Gu,
-                        LineBasicMaterial: tc,
-                        Material: Di,
-                      }),
-                      ju = {
-                        arraySlice: function (e, t, n) {
-                          return ju.isTypedArray(e)
-                            ? new e.constructor(e.subarray(t, void 0 !== n ? n : e.length))
-                            : e.slice(t, n)
-                        },
-                        convertArray: function (e, t, n) {
-                          return !e || (!n && e.constructor === t)
-                            ? e
-                            : 'number' === typeof t.BYTES_PER_ELEMENT
-                            ? new t(e)
-                            : Array.prototype.slice.call(e)
-                        },
-                        isTypedArray: function (e) {
-                          return ArrayBuffer.isView(e) && !(e instanceof DataView)
-                        },
-                        getKeyframeOrder: function (e) {
-                          function t(t, n) {
-                            return e[t] - e[n]
-                          }
-                          for (var n = e.length, r = new Array(n), i = 0; i !== n; ++i) r[i] = i
-                          return r.sort(t), r
-                        },
-                        sortedArray: function (e, t, n) {
-                          for (
-                            var r = e.length, i = new e.constructor(r), o = 0, a = 0;
-                            a !== r;
-                            ++o
-                          )
-                            for (var s = n[o] * t, l = 0; l !== t; ++l) i[a++] = e[s + l]
-                          return i
-                        },
-                        flattenJSON: function (e, t, n, r) {
-                          for (var i = 1, o = e[0]; void 0 !== o && void 0 === o[r]; ) o = e[i++]
-                          if (void 0 !== o) {
-                            var a = o[r]
-                            if (void 0 !== a)
-                              if (Array.isArray(a))
-                                do {
-                                  void 0 !== (a = o[r]) && (t.push(o.time), n.push.apply(n, a)),
-                                    (o = e[i++])
-                                } while (void 0 !== o)
-                              else if (void 0 !== a.toArray)
-                                do {
-                                  void 0 !== (a = o[r]) && (t.push(o.time), a.toArray(n, n.length)),
-                                    (o = e[i++])
-                                } while (void 0 !== o)
-                              else
-                                do {
-                                  void 0 !== (a = o[r]) && (t.push(o.time), n.push(a)), (o = e[i++])
-                                } while (void 0 !== o)
-                          }
-                        },
-                        subclip: function (e, t, n, r, i) {
-                          void 0 === i && (i = 30)
-                          var o = e.clone()
-                          o.name = t
-                          for (var a = [], s = 0; s < o.tracks.length; ++s) {
-                            for (
-                              var l = o.tracks[s], c = l.getValueSize(), u = [], h = [], d = 0;
-                              d < l.times.length;
-                              ++d
-                            ) {
-                              var p = l.times[d] * i
-                              if (!(p < n || p >= r)) {
-                                u.push(l.times[d])
-                                for (var f = 0; f < c; ++f) h.push(l.values[d * c + f])
-                              }
-                            }
-                            0 !== u.length &&
-                              ((l.times = ju.convertArray(u, l.times.constructor)),
-                              (l.values = ju.convertArray(h, l.values.constructor)),
-                              a.push(l))
-                          }
-                          o.tracks = a
-                          for (var m = 1 / 0, v = 0; v < o.tracks.length; ++v)
-                            m > o.tracks[v].times[0] && (m = o.tracks[v].times[0])
-                          for (var g = 0; g < o.tracks.length; ++g) o.tracks[g].shift(-1 * m)
-                          return o.resetDuration(), o
-                        },
-                        makeClipAdditive: function (e, t, n, r) {
-                          void 0 === t && (t = 0),
-                            void 0 === n && (n = e),
-                            void 0 === r && (r = 30),
-                            r <= 0 && (r = 30)
-                          for (
-                            var i = n.tracks.length,
-                              o = t / r,
-                              a = function (t) {
-                                var r = n.tracks[t],
-                                  i = r.ValueTypeName
-                                if ('bool' === i || 'string' === i) return 'continue'
-                                var a = e.tracks.find(function (e) {
-                                  return e.name === r.name && e.ValueTypeName === i
-                                })
-                                if (void 0 === a) return 'continue'
-                                var s = 0,
-                                  l = r.getValueSize()
-                                r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline &&
-                                  (s = l / 3)
-                                var c = 0,
-                                  u = a.getValueSize()
-                                a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline &&
-                                  (c = u / 3)
-                                var h = r.times.length - 1,
-                                  d = void 0
-                                if (o <= r.times[0]) {
-                                  var p = s,
-                                    f = l - s
-                                  d = ju.arraySlice(r.values, p, f)
-                                } else if (o >= r.times[h]) {
-                                  var m = h * l + s,
-                                    v = m + l - s
-                                  d = ju.arraySlice(r.values, m, v)
-                                } else {
-                                  var g = r.createInterpolant(),
-                                    y = s,
-                                    b = l - s
-                                  g.evaluate(o), (d = ju.arraySlice(g.resultBuffer, y, b))
-                                }
-                                'quaternion' === i &&
-                                  new sr().fromArray(d).normalize().conjugate().toArray(d)
-                                for (var A = a.times.length, w = 0; w < A; ++w) {
-                                  var x = w * u + c
-                                  if ('quaternion' === i)
-                                    sr.multiplyQuaternionsFlat(a.values, x, d, 0, a.values, x)
-                                  else
-                                    for (var E = u - 2 * c, M = 0; M < E; ++M)
-                                      a.values[x + M] -= d[M]
-                                }
-                              },
-                              s = 0;
-                            s < i;
-                            ++s
-                          )
-                            a(s)
-                          return (e.blendMode = Xt), e
-                        },
-                      }
-                    function Vu(e, t, n, r) {
-                      ;(this.parameterPositions = e),
-                        (this._cachedIndex = 0),
-                        (this.resultBuffer = void 0 !== r ? r : new t.constructor(n)),
-                        (this.sampleValues = t),
-                        (this.valueSize = n)
-                    }
-                    function Wu(e, t, n, r) {
-                      Vu.call(this, e, t, n, r),
-                        (this._weightPrev = -0),
-                        (this._offsetPrev = -0),
-                        (this._weightNext = -0),
-                        (this._offsetNext = -0)
-                    }
-                    function qu(e, t, n, r) {
-                      Vu.call(this, e, t, n, r)
-                    }
-                    function Xu(e, t, n, r) {
-                      Vu.call(this, e, t, n, r)
-                    }
-                    function Yu(e, t, n, r) {
-                      if (void 0 === e)
-                        throw new Error('THREE.KeyframeTrack: track name is undefined')
-                      if (void 0 === t || 0 === t.length)
-                        throw new Error('THREE.KeyframeTrack: no keyframes in track named ' + e)
-                      ;(this.name = e),
-                        (this.times = ju.convertArray(t, this.TimeBufferType)),
-                        (this.values = ju.convertArray(n, this.ValueBufferType)),
-                        this.setInterpolation(r || this.DefaultInterpolation)
-                    }
-                    function Qu(e, t, n) {
-                      Yu.call(this, e, t, n)
-                    }
-                    function Zu(e, t, n, r) {
-                      Yu.call(this, e, t, n, r)
-                    }
-                    function Ku(e, t, n, r) {
-                      Yu.call(this, e, t, n, r)
-                    }
-                    function Ju(e, t, n, r) {
-                      Vu.call(this, e, t, n, r)
-                    }
-                    function $u(e, t, n, r) {
-                      Yu.call(this, e, t, n, r)
-                    }
-                    function eh(e, t, n, r) {
-                      Yu.call(this, e, t, n, r)
-                    }
-                    function th(e, t, n, r) {
-                      Yu.call(this, e, t, n, r)
-                    }
-                    function nh(e, t, n, r) {
-                      void 0 === t && (t = -1),
-                        void 0 === r && (r = qt),
-                        (this.name = e),
-                        (this.tracks = n),
-                        (this.duration = t),
-                        (this.blendMode = r),
-                        (this.uuid = Kn.generateUUID()),
-                        this.duration < 0 && this.resetDuration()
-                    }
-                    function rh(e) {
-                      switch (e.toLowerCase()) {
-                        case 'scalar':
-                        case 'double':
-                        case 'float':
-                        case 'number':
-                        case 'integer':
-                          return Ku
-                        case 'vector':
-                        case 'vector2':
-                        case 'vector3':
-                        case 'vector4':
-                          return th
-                        case 'color':
-                          return Zu
-                        case 'quaternion':
-                          return $u
-                        case 'bool':
-                        case 'boolean':
-                          return Qu
-                        case 'string':
-                          return eh
-                      }
-                      throw new Error('THREE.KeyframeTrack: Unsupported typeName: ' + e)
-                    }
-                    function ih(e) {
-                      if (void 0 === e.type)
-                        throw new Error('THREE.KeyframeTrack: track type undefined, can not parse')
-                      var t = rh(e.type)
-                      if (void 0 === e.times) {
-                        var n = [],
-                          r = []
-                        ju.flattenJSON(e.keys, n, r, 'value'), (e.times = n), (e.values = r)
-                      }
-                      return void 0 !== t.parse
-                        ? t.parse(e)
-                        : new t(e.name, e.times, e.values, e.interpolation)
-                    }
-                    Object.assign(Vu.prototype, {
-                      evaluate: function (e) {
-                        var t = this.parameterPositions,
-                          n = this._cachedIndex,
-                          r = t[n],
-                          i = t[n - 1]
-                        e: {
-                          t: {
-                            var o
-                            n: {
-                              r: if (!(e < r)) {
-                                for (var a = n + 2; ; ) {
-                                  if (void 0 === r) {
-                                    if (e < i) break r
-                                    return (
-                                      (n = t.length),
-                                      (this._cachedIndex = n),
-                                      this.afterEnd_(n - 1, e, i)
-                                    )
-                                  }
-                                  if (n === a) break
-                                  if (((i = r), e < (r = t[++n]))) break t
-                                }
-                                o = t.length
-                                break n
-                              }
-                              if (e >= i) break e
-                              var s = t[1]
-                              e < s && ((n = 2), (i = s))
-                              for (var l = n - 2; ; ) {
-                                if (void 0 === i)
-                                  return (this._cachedIndex = 0), this.beforeStart_(0, e, r)
-                                if (n === l) break
-                                if (((r = i), e >= (i = t[--n - 1]))) break t
-                              }
-                              ;(o = n), (n = 0)
-                            }
-                            for (; n < o; ) {
-                              var c = (n + o) >>> 1
-                              e < t[c] ? (o = c) : (n = c + 1)
-                            }
-                            if (((r = t[n]), void 0 === (i = t[n - 1])))
-                              return (this._cachedIndex = 0), this.beforeStart_(0, e, r)
-                            if (void 0 === r)
-                              return (
-                                (n = t.length), (this._cachedIndex = n), this.afterEnd_(n - 1, i, e)
-                              )
-                          }
-                          ;(this._cachedIndex = n), this.intervalChanged_(n, i, r)
-                        }
-                        return this.interpolate_(n, i, e, r)
-                      },
-                      settings: null,
-                      DefaultSettings_: {},
-                      getSettings_: function () {
-                        return this.settings || this.DefaultSettings_
-                      },
-                      copySampleValue_: function (e) {
-                        for (
-                          var t = this.resultBuffer,
-                            n = this.sampleValues,
-                            r = this.valueSize,
-                            i = e * r,
-                            o = 0;
-                          o !== r;
-                          ++o
-                        )
-                          t[o] = n[i + o]
-                        return t
-                      },
-                      interpolate_: function () {
-                        throw new Error('call to abstract method')
-                      },
-                      intervalChanged_: function () {},
-                    }),
-                      Object.assign(Vu.prototype, {
-                        beforeStart_: Vu.prototype.copySampleValue_,
-                        afterEnd_: Vu.prototype.copySampleValue_,
-                      }),
-                      (Wu.prototype = Object.assign(Object.create(Vu.prototype), {
-                        constructor: Wu,
-                        DefaultSettings_: { endingStart: jt, endingEnd: jt },
-                        intervalChanged_: function (e, t, n) {
-                          var r = this.parameterPositions,
-                            i = e - 2,
-                            o = e + 1,
-                            a = r[i],
-                            s = r[o]
-                          if (void 0 === a)
-                            switch (this.getSettings_().endingStart) {
-                              case Vt:
-                                ;(i = e), (a = 2 * t - n)
-                                break
-                              case Wt:
-                                a = t + r[(i = r.length - 2)] - r[i + 1]
-                                break
-                              default:
-                                ;(i = e), (a = n)
-                            }
-                          if (void 0 === s)
-                            switch (this.getSettings_().endingEnd) {
-                              case Vt:
-                                ;(o = e), (s = 2 * n - t)
-                                break
-                              case Wt:
-                                ;(o = 1), (s = n + r[1] - r[0])
-                                break
-                              default:
-                                ;(o = e - 1), (s = t)
-                            }
-                          var l = 0.5 * (n - t),
-                            c = this.valueSize
-                          ;(this._weightPrev = l / (t - a)),
-                            (this._weightNext = l / (s - n)),
-                            (this._offsetPrev = i * c),
-                            (this._offsetNext = o * c)
-                        },
-                        interpolate_: function (e, t, n, r) {
-                          for (
-                            var i = this.resultBuffer,
-                              o = this.sampleValues,
-                              a = this.valueSize,
-                              s = e * a,
-                              l = s - a,
-                              c = this._offsetPrev,
-                              u = this._offsetNext,
-                              h = this._weightPrev,
-                              d = this._weightNext,
-                              p = (n - t) / (r - t),
-                              f = p * p,
-                              m = f * p,
-                              v = -h * m + 2 * h * f - h * p,
-                              g = (1 + h) * m + (-1.5 - 2 * h) * f + (-0.5 + h) * p + 1,
-                              y = (-1 - d) * m + (1.5 + d) * f + 0.5 * p,
-                              b = d * m - d * f,
-                              A = 0;
-                            A !== a;
-                            ++A
-                          )
-                            i[A] = v * o[c + A] + g * o[l + A] + y * o[s + A] + b * o[u + A]
-                          return i
-                        },
-                      })),
-                      (qu.prototype = Object.assign(Object.create(Vu.prototype), {
-                        constructor: qu,
-                        interpolate_: function (e, t, n, r) {
-                          for (
-                            var i = this.resultBuffer,
-                              o = this.sampleValues,
-                              a = this.valueSize,
-                              s = e * a,
-                              l = s - a,
-                              c = (n - t) / (r - t),
-                              u = 1 - c,
-                              h = 0;
-                            h !== a;
-                            ++h
-                          )
-                            i[h] = o[l + h] * u + o[s + h] * c
-                          return i
-                        },
-                      })),
-                      (Xu.prototype = Object.assign(Object.create(Vu.prototype), {
-                        constructor: Xu,
-                        interpolate_: function (e) {
-                          return this.copySampleValue_(e - 1)
-                        },
-                      })),
-                      Object.assign(Yu, {
-                        toJSON: function (e) {
-                          var t,
-                            n = e.constructor
-                          if (void 0 !== n.toJSON) t = n.toJSON(e)
-                          else {
-                            t = {
-                              name: e.name,
-                              times: ju.convertArray(e.times, Array),
-                              values: ju.convertArray(e.values, Array),
-                            }
-                            var r = e.getInterpolation()
-                            r !== e.DefaultInterpolation && (t.interpolation = r)
-                          }
-                          return (t.type = e.ValueTypeName), t
-                        },
-                      }),
-                      Object.assign(Yu.prototype, {
-                        constructor: Yu,
-                        TimeBufferType: Float32Array,
-                        ValueBufferType: Float32Array,
-                        DefaultInterpolation: Gt,
-                        InterpolantFactoryMethodDiscrete: function (e) {
-                          return new Xu(this.times, this.values, this.getValueSize(), e)
-                        },
-                        InterpolantFactoryMethodLinear: function (e) {
-                          return new qu(this.times, this.values, this.getValueSize(), e)
-                        },
-                        InterpolantFactoryMethodSmooth: function (e) {
-                          return new Wu(this.times, this.values, this.getValueSize(), e)
-                        },
-                        setInterpolation: function (e) {
-                          var t
-                          switch (e) {
-                            case Ht:
-                              t = this.InterpolantFactoryMethodDiscrete
-                              break
-                            case Gt:
-                              t = this.InterpolantFactoryMethodLinear
-                              break
-                            case zt:
-                              t = this.InterpolantFactoryMethodSmooth
-                          }
-                          if (void 0 === t) {
-                            var n =
-                              'unsupported interpolation for ' +
-                              this.ValueTypeName +
-                              ' keyframe track named ' +
-                              this.name
-                            if (void 0 === this.createInterpolant) {
-                              if (e === this.DefaultInterpolation) throw new Error(n)
-                              this.setInterpolation(this.DefaultInterpolation)
-                            }
-                            return console.warn('THREE.KeyframeTrack:', n), this
-                          }
-                          return (this.createInterpolant = t), this
-                        },
-                        getInterpolation: function () {
-                          switch (this.createInterpolant) {
-                            case this.InterpolantFactoryMethodDiscrete:
-                              return Ht
-                            case this.InterpolantFactoryMethodLinear:
-                              return Gt
-                            case this.InterpolantFactoryMethodSmooth:
-                              return zt
-                          }
-                        },
-                        getValueSize: function () {
-                          return this.values.length / this.times.length
-                        },
-                        shift: function (e) {
-                          if (0 !== e)
-                            for (var t = this.times, n = 0, r = t.length; n !== r; ++n) t[n] += e
-                          return this
-                        },
-                        scale: function (e) {
-                          if (1 !== e)
-                            for (var t = this.times, n = 0, r = t.length; n !== r; ++n) t[n] *= e
-                          return this
-                        },
-                        trim: function (e, t) {
-                          for (
-                            var n = this.times, r = n.length, i = 0, o = r - 1;
-                            i !== r && n[i] < e;
-
-                          )
-                            ++i
-                          for (; -1 !== o && n[o] > t; ) --o
-                          if ((++o, 0 !== i || o !== r)) {
-                            i >= o && (i = (o = Math.max(o, 1)) - 1)
-                            var a = this.getValueSize()
-                            ;(this.times = ju.arraySlice(n, i, o)),
-                              (this.values = ju.arraySlice(this.values, i * a, o * a))
-                          }
-                          return this
-                        },
-                        validate: function () {
-                          var e = !0,
-                            t = this.getValueSize()
-                          t - Math.floor(t) !== 0 &&
-                            (console.error(
-                              'THREE.KeyframeTrack: Invalid value size in track.',
-                              this,
-                            ),
-                            (e = !1))
-                          var n = this.times,
-                            r = this.values,
-                            i = n.length
-                          0 === i &&
-                            (console.error('THREE.KeyframeTrack: Track is empty.', this), (e = !1))
-                          for (var o = null, a = 0; a !== i; a++) {
-                            var s = n[a]
-                            if ('number' === typeof s && isNaN(s)) {
-                              console.error(
-                                'THREE.KeyframeTrack: Time is not a valid number.',
-                                this,
-                                a,
-                                s,
-                              ),
-                                (e = !1)
-                              break
-                            }
-                            if (null !== o && o > s) {
-                              console.error(
-                                'THREE.KeyframeTrack: Out of order keys.',
-                                this,
-                                a,
-                                s,
-                                o,
-                              ),
-                                (e = !1)
-                              break
-                            }
-                            o = s
-                          }
-                          if (void 0 !== r && ju.isTypedArray(r))
-                            for (var l = 0, c = r.length; l !== c; ++l) {
-                              var u = r[l]
-                              if (isNaN(u)) {
-                                console.error(
-                                  'THREE.KeyframeTrack: Value is not a valid number.',
-                                  this,
-                                  l,
-                                  u,
-                                ),
-                                  (e = !1)
-                                break
-                              }
-                            }
-                          return e
-                        },
-                        optimize: function () {
-                          for (
-                            var e = ju.arraySlice(this.times),
-                              t = ju.arraySlice(this.values),
-                              n = this.getValueSize(),
-                              r = this.getInterpolation() === zt,
-                              i = e.length - 1,
-                              o = 1,
-                              a = 1;
-                            a < i;
-                            ++a
-                          ) {
-                            var s = !1,
-                              l = e[a]
-                            if (l !== e[a + 1] && (1 !== a || l !== e[0]))
-                              if (r) s = !0
-                              else
-                                for (var c = a * n, u = c - n, h = c + n, d = 0; d !== n; ++d) {
-                                  var p = t[c + d]
-                                  if (p !== t[u + d] || p !== t[h + d]) {
-                                    s = !0
-                                    break
-                                  }
-                                }
-                            if (s) {
-                              if (a !== o) {
-                                e[o] = e[a]
-                                for (var f = a * n, m = o * n, v = 0; v !== n; ++v)
-                                  t[m + v] = t[f + v]
-                              }
-                              ++o
-                            }
-                          }
-                          if (i > 0) {
-                            e[o] = e[i]
-                            for (var g = i * n, y = o * n, b = 0; b !== n; ++b) t[y + b] = t[g + b]
-                            ++o
-                          }
-                          return (
-                            o !== e.length
-                              ? ((this.times = ju.arraySlice(e, 0, o)),
-                                (this.values = ju.arraySlice(t, 0, o * n)))
-                              : ((this.times = e), (this.values = t)),
-                            this
-                          )
-                        },
-                        clone: function () {
-                          var e = ju.arraySlice(this.times, 0),
-                            t = ju.arraySlice(this.values, 0),
-                            n = new (0, this.constructor)(this.name, e, t)
-                          return (n.createInterpolant = this.createInterpolant), n
-                        },
-                      }),
-                      (Qu.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: Qu,
-                        ValueTypeName: 'bool',
-                        ValueBufferType: Array,
-                        DefaultInterpolation: Ht,
-                        InterpolantFactoryMethodLinear: void 0,
-                        InterpolantFactoryMethodSmooth: void 0,
-                      })),
-                      (Zu.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: Zu,
-                        ValueTypeName: 'color',
-                      })),
-                      (Ku.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: Ku,
-                        ValueTypeName: 'number',
-                      })),
-                      (Ju.prototype = Object.assign(Object.create(Vu.prototype), {
-                        constructor: Ju,
-                        interpolate_: function (e, t, n, r) {
-                          for (
-                            var i = this.resultBuffer,
-                              o = this.sampleValues,
-                              a = this.valueSize,
-                              s = (n - t) / (r - t),
-                              l = e * a,
-                              c = l + a;
-                            l !== c;
-                            l += 4
-                          )
-                            sr.slerpFlat(i, 0, o, l - a, o, l, s)
-                          return i
-                        },
-                      })),
-                      ($u.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: $u,
-                        ValueTypeName: 'quaternion',
-                        DefaultInterpolation: Gt,
-                        InterpolantFactoryMethodLinear: function (e) {
-                          return new Ju(this.times, this.values, this.getValueSize(), e)
-                        },
-                        InterpolantFactoryMethodSmooth: void 0,
-                      })),
-                      (eh.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: eh,
-                        ValueTypeName: 'string',
-                        ValueBufferType: Array,
-                        DefaultInterpolation: Ht,
-                        InterpolantFactoryMethodLinear: void 0,
-                        InterpolantFactoryMethodSmooth: void 0,
-                      })),
-                      (th.prototype = Object.assign(Object.create(Yu.prototype), {
-                        constructor: th,
-                        ValueTypeName: 'vector',
-                      })),
-                      Object.assign(nh, {
-                        parse: function (e) {
-                          for (
-                            var t = [], n = e.tracks, r = 1 / (e.fps || 1), i = 0, o = n.length;
-                            i !== o;
-                            ++i
-                          )
-                            t.push(ih(n[i]).scale(r))
-                          var a = new nh(e.name, e.duration, t, e.blendMode)
-                          return (a.uuid = e.uuid), a
-                        },
-                        toJSON: function (e) {
-                          for (
-                            var t = [],
-                              n = e.tracks,
-                              r = {
-                                name: e.name,
-                                duration: e.duration,
-                                tracks: t,
-                                uuid: e.uuid,
-                                blendMode: e.blendMode,
-                              },
-                              i = 0,
-                              o = n.length;
-                            i !== o;
-                            ++i
-                          )
-                            t.push(Yu.toJSON(n[i]))
-                          return r
-                        },
-                        CreateFromMorphTargetSequence: function (e, t, n, r) {
-                          for (var i = t.length, o = [], a = 0; a < i; a++) {
-                            var s = [],
-                              l = []
-                            s.push((a + i - 1) % i, a, (a + 1) % i), l.push(0, 1, 0)
-                            var c = ju.getKeyframeOrder(s)
-                            ;(s = ju.sortedArray(s, 1, c)),
-                              (l = ju.sortedArray(l, 1, c)),
-                              r || 0 !== s[0] || (s.push(i), l.push(l[0])),
-                              o.push(
-                                new Ku('.morphTargetInfluences[' + t[a].name + ']', s, l).scale(
-                                  1 / n,
-                                ),
-                              )
-                          }
-                          return new nh(e, -1, o)
-                        },
-                        findByName: function (e, t) {
-                          var n = e
-                          if (!Array.isArray(e)) {
-                            var r = e
-                            n = (r.geometry && r.geometry.animations) || r.animations
-                          }
-                          for (var i = 0; i < n.length; i++) if (n[i].name === t) return n[i]
-                          return null
-                        },
-                        CreateClipsFromMorphTargetSequences: function (e, t, n) {
-                          for (
-                            var r = {}, i = /^([\w-]*?)([\d]+)$/, o = 0, a = e.length;
-                            o < a;
-                            o++
-                          ) {
-                            var s = e[o],
-                              l = s.name.match(i)
-                            if (l && l.length > 1) {
-                              var c = l[1],
-                                u = r[c]
-                              u || (r[c] = u = []), u.push(s)
-                            }
-                          }
-                          var h = []
-                          for (var d in r) h.push(nh.CreateFromMorphTargetSequence(d, r[d], t, n))
-                          return h
-                        },
-                        parseAnimation: function (e, t) {
-                          if (!e)
-                            return (
-                              console.error(
-                                'THREE.AnimationClip: No animation in JSONLoader data.',
-                              ),
-                              null
-                            )
-                          for (
-                            var n = function (e, t, n, r, i) {
-                                if (0 !== n.length) {
-                                  var o = [],
-                                    a = []
-                                  ju.flattenJSON(n, o, a, r),
-                                    0 !== o.length && i.push(new e(t, o, a))
-                                }
-                              },
-                              r = [],
-                              i = e.name || 'default',
-                              o = e.fps || 30,
-                              a = e.blendMode,
-                              s = e.length || -1,
-                              l = e.hierarchy || [],
-                              c = 0;
-                            c < l.length;
-                            c++
-                          ) {
-                            var u = l[c].keys
-                            if (u && 0 !== u.length)
-                              if (u[0].morphTargets) {
-                                var h = {},
-                                  d = void 0
-                                for (d = 0; d < u.length; d++)
-                                  if (u[d].morphTargets)
-                                    for (var p = 0; p < u[d].morphTargets.length; p++)
-                                      h[u[d].morphTargets[p]] = -1
-                                for (var f in h) {
-                                  for (
-                                    var m = [], v = [], g = 0;
-                                    g !== u[d].morphTargets.length;
-                                    ++g
-                                  ) {
-                                    var y = u[d]
-                                    m.push(y.time), v.push(y.morphTarget === f ? 1 : 0)
-                                  }
-                                  r.push(new Ku('.morphTargetInfluence[' + f + ']', m, v))
-                                }
-                                s = h.length * (o || 1)
-                              } else {
-                                var b = '.bones[' + t[c].name + ']'
-                                n(th, b + '.position', u, 'pos', r),
-                                  n($u, b + '.quaternion', u, 'rot', r),
-                                  n(th, b + '.scale', u, 'scl', r)
-                              }
-                          }
-                          return 0 === r.length ? null : new nh(i, s, r, a)
-                        },
-                      }),
-                      Object.assign(nh.prototype, {
-                        resetDuration: function () {
-                          for (var e = 0, t = 0, n = this.tracks.length; t !== n; ++t) {
-                            var r = this.tracks[t]
-                            e = Math.max(e, r.times[r.times.length - 1])
-                          }
-                          return (this.duration = e), this
-                        },
-                        trim: function () {
-                          for (var e = 0; e < this.tracks.length; e++)
-                            this.tracks[e].trim(0, this.duration)
-                          return this
-                        },
-                        validate: function () {
-                          for (var e = !0, t = 0; t < this.tracks.length; t++)
-                            e = e && this.tracks[t].validate()
-                          return e
-                        },
-                        optimize: function () {
-                          for (var e = 0; e < this.tracks.length; e++) this.tracks[e].optimize()
-                          return this
-                        },
-                        clone: function () {
-                          for (var e = [], t = 0; t < this.tracks.length; t++)
-                            e.push(this.tracks[t].clone())
-                          return new nh(this.name, this.duration, e, this.blendMode)
-                        },
-                        toJSON: function () {
-                          return nh.toJSON(this)
-                        },
-                      })
-                    var oh = {
-                      enabled: !1,
-                      files: {},
-                      add: function (e, t) {
-                        !1 !== this.enabled && (this.files[e] = t)
-                      },
-                      get: function (e) {
-                        if (!1 !== this.enabled) return this.files[e]
-                      },
-                      remove: function (e) {
-                        delete this.files[e]
-                      },
-                      clear: function () {
-                        this.files = {}
-                      },
-                    }
-                    function ah(e, t, n) {
-                      var r = this,
-                        i = !1,
-                        o = 0,
-                        a = 0,
-                        s = void 0,
-                        l = []
-                      ;(this.onStart = void 0),
-                        (this.onLoad = e),
-                        (this.onProgress = t),
-                        (this.onError = n),
-                        (this.itemStart = function (e) {
-                          a++, !1 === i && void 0 !== r.onStart && r.onStart(e, o, a), (i = !0)
-                        }),
-                        (this.itemEnd = function (e) {
-                          o++,
-                            void 0 !== r.onProgress && r.onProgress(e, o, a),
-                            o === a && ((i = !1), void 0 !== r.onLoad && r.onLoad())
-                        }),
-                        (this.itemError = function (e) {
-                          void 0 !== r.onError && r.onError(e)
-                        }),
-                        (this.resolveURL = function (e) {
-                          return s ? s(e) : e
-                        }),
-                        (this.setURLModifier = function (e) {
-                          return (s = e), this
-                        }),
-                        (this.addHandler = function (e, t) {
-                          return l.push(e, t), this
-                        }),
-                        (this.removeHandler = function (e) {
-                          var t = l.indexOf(e)
-                          return -1 !== t && l.splice(t, 2), this
-                        }),
-                        (this.getHandler = function (e) {
-                          for (var t = 0, n = l.length; t < n; t += 2) {
-                            var r = l[t],
-                              i = l[t + 1]
-                            if ((r.global && (r.lastIndex = 0), r.test(e))) return i
-                          }
-                          return null
-                        })
-                    }
-                    var sh = new ah()
-                    function lh(e) {
-                      ;(this.manager = void 0 !== e ? e : sh),
-                        (this.crossOrigin = 'anonymous'),
-                        (this.withCredentials = !1),
-                        (this.path = ''),
-                        (this.resourcePath = ''),
-                        (this.requestHeader = {})
-                    }
-                    Object.assign(lh.prototype, {
-                      load: function () {},
-                      loadAsync: function (e, t) {
-                        var n = this
-                        return new Promise(function (r, i) {
-                          n.load(e, r, t, i)
-                        })
-                      },
-                      parse: function () {},
-                      setCrossOrigin: function (e) {
-                        return (this.crossOrigin = e), this
-                      },
-                      setWithCredentials: function (e) {
-                        return (this.withCredentials = e), this
-                      },
-                      setPath: function (e) {
-                        return (this.path = e), this
-                      },
-                      setResourcePath: function (e) {
-                        return (this.resourcePath = e), this
-                      },
-                      setRequestHeader: function (e) {
-                        return (this.requestHeader = e), this
-                      },
-                    })
-                    var ch = {}
-                    function uh(e) {
-                      lh.call(this, e)
-                    }
-                    function hh(e) {
-                      lh.call(this, e)
-                    }
-                    function dh(e) {
-                      lh.call(this, e)
-                    }
-                    function ph(e) {
-                      lh.call(this, e)
-                    }
-                    function fh(e) {
-                      lh.call(this, e)
-                    }
-                    function mh(e) {
-                      lh.call(this, e)
-                    }
-                    function vh(e) {
-                      lh.call(this, e)
-                    }
-                    function gh() {
-                      ;(this.type = 'Curve'), (this.arcLengthDivisions = 200)
-                    }
-                    function yh(e, t, n, r, i, o, a, s) {
-                      gh.call(this),
-                        (this.type = 'EllipseCurve'),
-                        (this.aX = e || 0),
-                        (this.aY = t || 0),
-                        (this.xRadius = n || 1),
-                        (this.yRadius = r || 1),
-                        (this.aStartAngle = i || 0),
-                        (this.aEndAngle = o || 2 * Math.PI),
-                        (this.aClockwise = a || !1),
-                        (this.aRotation = s || 0)
-                    }
-                    function bh(e, t, n, r, i, o) {
-                      yh.call(this, e, t, n, n, r, i, o), (this.type = 'ArcCurve')
-                    }
-                    function Ah() {
-                      var e = 0,
-                        t = 0,
-                        n = 0,
-                        r = 0
-                      function i(i, o, a, s) {
-                        ;(e = i),
-                          (t = a),
-                          (n = -3 * i + 3 * o - 2 * a - s),
-                          (r = 2 * i - 2 * o + a + s)
-                      }
-                      return {
-                        initCatmullRom: function (e, t, n, r, o) {
-                          i(t, n, o * (n - e), o * (r - t))
-                        },
-                        initNonuniformCatmullRom: function (e, t, n, r, o, a, s) {
-                          var l = (t - e) / o - (n - e) / (o + a) + (n - t) / a,
-                            c = (n - t) / a - (r - t) / (a + s) + (r - n) / s
-                          i(t, n, (l *= a), (c *= a))
-                        },
-                        calc: function (i) {
-                          var o = i * i
-                          return e + t * i + n * o + r * (o * i)
-                        },
-                      }
-                    }
-                    ;(uh.prototype = Object.assign(Object.create(lh.prototype), {
-                      constructor: uh,
-                      load: function (e, t, n, r) {
-                        void 0 === e && (e = ''),
-                          void 0 !== this.path && (e = this.path + e),
-                          (e = this.manager.resolveURL(e))
-                        var i = this,
-                          o = oh.get(e)
-                        if (void 0 !== o)
-                          return (
-                            i.manager.itemStart(e),
-                            setTimeout(function () {
-                              t && t(o), i.manager.itemEnd(e)
-                            }, 0),
-                            o
-                          )
-                        if (void 0 === ch[e]) {
-                          var a,
-                            s = /^data:(.*?)(;base64)?,(.*)$/,
-                            l = e.match(s)
-                          if (l) {
-                            var c = l[1],
-                              u = !!l[2],
-                              h = l[3]
-                            ;(h = decodeURIComponent(h)), u && (h = atob(h))
-                            try {
-                              var d,
-                                p = (this.responseType || '').toLowerCase()
-                              switch (p) {
-                                case 'arraybuffer':
-                                case 'blob':
-                                  for (var f = new Uint8Array(h.length), m = 0; m < h.length; m++)
-                                    f[m] = h.charCodeAt(m)
-                                  d = 'blob' === p ? new Blob([f.buffer], { type: c }) : f.buffer
-                                  break
-                                case 'document':
-                                  var v = new DOMParser()
-                                  d = v.parseFromString(h, c)
-                                  break
-                                case 'json':
-                                  d = JSON.parse(h)
-                                  break
-                                default:
-                                  d = h
-                              }
-                              setTimeout(function () {
-                                t && t(d), i.manager.itemEnd(e)
-                              }, 0)
-                            } catch (y) {
-                              setTimeout(function () {
-                                r && r(y), i.manager.itemError(e), i.manager.itemEnd(e)
-                              }, 0)
-                            }
-                          } else {
-                            for (var g in ((ch[e] = []),
-                            ch[e].push({ onLoad: t, onProgress: n, onError: r }),
-                            (a = new XMLHttpRequest()).open('GET', e, !0),
-                            a.addEventListener(
-                              'load',
-                              function (t) {
-                                var n = this.response,
-                                  r = ch[e]
-                                if ((delete ch[e], 200 === this.status || 0 === this.status)) {
-                                  0 === this.status &&
-                                    console.warn('THREE.FileLoader: HTTP Status 0 received.'),
-                                    oh.add(e, n)
-                                  for (var o = 0, a = r.length; o < a; o++) {
-                                    var s = r[o]
-                                    s.onLoad && s.onLoad(n)
-                                  }
-                                  i.manager.itemEnd(e)
-                                } else {
-                                  for (var l = 0, c = r.length; l < c; l++) {
-                                    var u = r[l]
-                                    u.onError && u.onError(t)
-                                  }
-                                  i.manager.itemError(e), i.manager.itemEnd(e)
-                                }
-                              },
-                              !1,
-                            ),
-                            a.addEventListener(
-                              'progress',
-                              function (t) {
-                                for (var n = ch[e], r = 0, i = n.length; r < i; r++) {
-                                  var o = n[r]
-                                  o.onProgress && o.onProgress(t)
-                                }
-                              },
-                              !1,
-                            ),
-                            a.addEventListener(
-                              'error',
-                              function (t) {
-                                var n = ch[e]
-                                delete ch[e]
-                                for (var r = 0, o = n.length; r < o; r++) {
-                                  var a = n[r]
-                                  a.onError && a.onError(t)
-                                }
-                                i.manager.itemError(e), i.manager.itemEnd(e)
-                              },
-                              !1,
-                            ),
-                            a.addEventListener(
-                              'abort',
-                              function (t) {
-                                var n = ch[e]
-                                delete ch[e]
-                                for (var r = 0, o = n.length; r < o; r++) {
-                                  var a = n[r]
-                                  a.onError && a.onError(t)
-                                }
-                                i.manager.itemError(e), i.manager.itemEnd(e)
-                              },
-                              !1,
-                            ),
-                            void 0 !== this.responseType && (a.responseType = this.responseType),
-                            void 0 !== this.withCredentials &&
-                              (a.withCredentials = this.withCredentials),
-                            a.overrideMimeType &&
-                              a.overrideMimeType(
-                                void 0 !== this.mimeType ? this.mimeType : 'text/plain',
-                              ),
-                            this.requestHeader))
-                              a.setRequestHeader(g, this.requestHeader[g])
-                            a.send(null)
-                          }
-                          return i.manager.itemStart(e), a
-                        }
-                        ch[e].push({ onLoad: t, onProgress: n, onError: r })
-                      },
-                      setResponseType: function (e) {
-                        return (this.responseType = e), this
-                      },
-                      setMimeType: function (e) {
-                        return (this.mimeType = e), this
-                      },
-                    })),
-                      (hh.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: hh,
-                        load: function (t, n, r, i) {
-                          var o = this,
-                            a = new uh(o.manager)
-                          a.setPath(o.path),
-                            a.setRequestHeader(o.requestHeader),
-                            a.setWithCredentials(o.withCredentials),
-                            a.load(
-                              t,
-                              function (r) {
-                                try {
-                                  n(o.parse(JSON.parse(r)))
-                                } catch (e) {
-                                  i ? i(e) : console.error(e), o.manager.itemError(t)
-                                }
-                              },
-                              r,
-                              i,
-                            )
-                        },
-                        parse: function (e) {
-                          for (var t = [], n = 0; n < e.length; n++) {
-                            var r = nh.parse(e[n])
-                            t.push(r)
-                          }
-                          return t
-                        },
-                      })),
-                      (dh.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: dh,
-                        load: function (e, t, n, r) {
-                          var i = this,
-                            o = [],
-                            a = new Ac(),
-                            s = new uh(this.manager)
-                          s.setPath(this.path),
-                            s.setResponseType('arraybuffer'),
-                            s.setRequestHeader(this.requestHeader),
-                            s.setWithCredentials(i.withCredentials)
-                          var l = 0
-                          function c(c) {
-                            s.load(
-                              e[c],
-                              function (e) {
-                                var n = i.parse(e, !0)
-                                ;(o[c] = {
-                                  width: n.width,
-                                  height: n.height,
-                                  format: n.format,
-                                  mipmaps: n.mipmaps,
-                                }),
-                                  6 === (l += 1) &&
-                                    (1 === n.mipmapCount && (a.minFilter = Ae),
-                                    (a.image = o),
-                                    (a.format = n.format),
-                                    (a.needsUpdate = !0),
-                                    t && t(a))
-                              },
-                              n,
-                              r,
-                            )
-                          }
-                          if (Array.isArray(e)) for (var u = 0, h = e.length; u < h; ++u) c(u)
-                          else
-                            s.load(
-                              e,
-                              function (e) {
-                                var n = i.parse(e, !0)
-                                if (n.isCubemap) {
-                                  for (
-                                    var r = n.mipmaps.length / n.mipmapCount, s = 0;
-                                    s < r;
-                                    s++
-                                  ) {
-                                    o[s] = { mipmaps: [] }
-                                    for (var l = 0; l < n.mipmapCount; l++)
-                                      o[s].mipmaps.push(n.mipmaps[s * n.mipmapCount + l]),
-                                        (o[s].format = n.format),
-                                        (o[s].width = n.width),
-                                        (o[s].height = n.height)
-                                  }
-                                  a.image = o
-                                } else
-                                  (a.image.width = n.width),
-                                    (a.image.height = n.height),
-                                    (a.mipmaps = n.mipmaps)
-                                1 === n.mipmapCount && (a.minFilter = Ae),
-                                  (a.format = n.format),
-                                  (a.needsUpdate = !0),
-                                  t && t(a)
-                              },
-                              n,
-                              r,
-                            )
-                          return a
-                        },
-                      })),
-                      (ph.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: ph,
-                        load: function (e, t, n, r) {
-                          void 0 !== this.path && (e = this.path + e),
-                            (e = this.manager.resolveURL(e))
-                          var i = this,
-                            o = oh.get(e)
-                          if (void 0 !== o)
-                            return (
-                              i.manager.itemStart(e),
-                              setTimeout(function () {
-                                t && t(o), i.manager.itemEnd(e)
-                              }, 0),
-                              o
-                            )
-                          var a = document.createElementNS('http://www.w3.org/1999/xhtml', 'img')
-                          function s() {
-                            a.removeEventListener('load', s, !1),
-                              a.removeEventListener('error', l, !1),
-                              oh.add(e, this),
-                              t && t(this),
-                              i.manager.itemEnd(e)
-                          }
-                          function l(t) {
-                            a.removeEventListener('load', s, !1),
-                              a.removeEventListener('error', l, !1),
-                              r && r(t),
-                              i.manager.itemError(e),
-                              i.manager.itemEnd(e)
-                          }
-                          return (
-                            a.addEventListener('load', s, !1),
-                            a.addEventListener('error', l, !1),
-                            'data:' !== e.substr(0, 5) &&
-                              void 0 !== this.crossOrigin &&
-                              (a.crossOrigin = this.crossOrigin),
-                            i.manager.itemStart(e),
-                            (a.src = e),
-                            a
-                          )
-                        },
-                      })),
-                      (fh.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: fh,
-                        load: function (e, t, n, r) {
-                          var i = new ko(),
-                            o = new ph(this.manager)
-                          o.setCrossOrigin(this.crossOrigin), o.setPath(this.path)
-                          var a = 0
-                          function s(n) {
-                            o.load(
-                              e[n],
-                              function (e) {
-                                ;(i.images[n] = e), 6 === ++a && ((i.needsUpdate = !0), t && t(i))
-                              },
-                              void 0,
-                              r,
-                            )
-                          }
-                          for (var l = 0; l < e.length; ++l) s(l)
-                          return i
-                        },
-                      })),
-                      (mh.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: mh,
-                        load: function (e, t, n, r) {
-                          var i = this,
-                            o = new Uo(),
-                            a = new uh(this.manager)
-                          return (
-                            a.setResponseType('arraybuffer'),
-                            a.setRequestHeader(this.requestHeader),
-                            a.setPath(this.path),
-                            a.setWithCredentials(i.withCredentials),
-                            a.load(
-                              e,
-                              function (e) {
-                                var n = i.parse(e)
-                                n &&
-                                  (void 0 !== n.image
-                                    ? (o.image = n.image)
-                                    : void 0 !== n.data &&
-                                      ((o.image.width = n.width),
-                                      (o.image.height = n.height),
-                                      (o.image.data = n.data)),
-                                  (o.wrapS = void 0 !== n.wrapS ? n.wrapS : pe),
-                                  (o.wrapT = void 0 !== n.wrapT ? n.wrapT : pe),
-                                  (o.magFilter = void 0 !== n.magFilter ? n.magFilter : Ae),
-                                  (o.minFilter = void 0 !== n.minFilter ? n.minFilter : Ae),
-                                  (o.anisotropy = void 0 !== n.anisotropy ? n.anisotropy : 1),
-                                  void 0 !== n.encoding && (o.encoding = n.encoding),
-                                  void 0 !== n.flipY && (o.flipY = n.flipY),
-                                  void 0 !== n.format && (o.format = n.format),
-                                  void 0 !== n.type && (o.type = n.type),
-                                  void 0 !== n.mipmaps &&
-                                    ((o.mipmaps = n.mipmaps), (o.minFilter = Ee)),
-                                  1 === n.mipmapCount && (o.minFilter = Ae),
-                                  (o.needsUpdate = !0),
-                                  t && t(o, n))
-                              },
-                              n,
-                              r,
-                            ),
-                            o
-                          )
-                        },
-                      })),
-                      (vh.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: vh,
-                        load: function (e, t, n, r) {
-                          var i = new nr(),
-                            o = new ph(this.manager)
-                          return (
-                            o.setCrossOrigin(this.crossOrigin),
-                            o.setPath(this.path),
-                            o.load(
-                              e,
-                              function (n) {
-                                i.image = n
-                                var r =
-                                  e.search(/\.jpe?g($|\?)/i) > 0 ||
-                                  0 === e.search(/^data\:image\/jpeg/)
-                                ;(i.format = r ? Ne : Ue),
-                                  (i.needsUpdate = !0),
-                                  void 0 !== t && t(i)
-                              },
-                              n,
-                              r,
-                            ),
-                            i
-                          )
-                        },
-                      })),
-                      Object.assign(gh.prototype, {
-                        getPoint: function () {
-                          return console.warn('THREE.Curve: .getPoint() not implemented.'), null
-                        },
-                        getPointAt: function (e, t) {
-                          var n = this.getUtoTmapping(e)
-                          return this.getPoint(n, t)
-                        },
-                        getPoints: function (e) {
-                          void 0 === e && (e = 5)
-                          for (var t = [], n = 0; n <= e; n++) t.push(this.getPoint(n / e))
-                          return t
-                        },
-                        getSpacedPoints: function (e) {
-                          void 0 === e && (e = 5)
-                          for (var t = [], n = 0; n <= e; n++) t.push(this.getPointAt(n / e))
-                          return t
-                        },
-                        getLength: function () {
-                          var e = this.getLengths()
-                          return e[e.length - 1]
-                        },
-                        getLengths: function (e) {
-                          if (
-                            (void 0 === e && (e = this.arcLengthDivisions),
-                            this.cacheArcLengths &&
-                              this.cacheArcLengths.length === e + 1 &&
-                              !this.needsUpdate)
-                          )
-                            return this.cacheArcLengths
-                          this.needsUpdate = !1
-                          var t,
-                            n = [],
-                            r = this.getPoint(0),
-                            i = 0
-                          n.push(0)
-                          for (var o = 1; o <= e; o++)
-                            (i += (t = this.getPoint(o / e)).distanceTo(r)), n.push(i), (r = t)
-                          return (this.cacheArcLengths = n), n
-                        },
-                        updateArcLengths: function () {
-                          ;(this.needsUpdate = !0), this.getLengths()
-                        },
-                        getUtoTmapping: function (e, t) {
-                          var n,
-                            r = this.getLengths(),
-                            i = 0,
-                            o = r.length
-                          n = t || e * r[o - 1]
-                          for (var a, s = 0, l = o - 1; s <= l; )
-                            if ((a = r[(i = Math.floor(s + (l - s) / 2))] - n) < 0) s = i + 1
-                            else {
-                              if (!(a > 0)) {
-                                l = i
-                                break
-                              }
-                              l = i - 1
-                            }
-                          if (r[(i = l)] === n) return i / (o - 1)
-                          var c = r[i]
-                          return (i + (n - c) / (r[i + 1] - c)) / (o - 1)
-                        },
-                        getTangent: function (e, t) {
-                          var n = 1e-4,
-                            r = e - n,
-                            i = e + n
-                          r < 0 && (r = 0), i > 1 && (i = 1)
-                          var o = this.getPoint(r),
-                            a = this.getPoint(i),
-                            s = t || (o.isVector2 ? new Jn() : new lr())
-                          return s.copy(a).sub(o).normalize(), s
-                        },
-                        getTangentAt: function (e, t) {
-                          var n = this.getUtoTmapping(e)
-                          return this.getTangent(n, t)
-                        },
-                        computeFrenetFrames: function (e, t) {
-                          for (
-                            var n = new lr(),
-                              r = [],
-                              i = [],
-                              o = [],
-                              a = new lr(),
-                              s = new Fr(),
-                              l = 0;
-                            l <= e;
-                            l++
-                          ) {
-                            var c = l / e
-                            ;(r[l] = this.getTangentAt(c, new lr())), r[l].normalize()
-                          }
-                          ;(i[0] = new lr()), (o[0] = new lr())
-                          var u = Number.MAX_VALUE,
-                            h = Math.abs(r[0].x),
-                            d = Math.abs(r[0].y),
-                            p = Math.abs(r[0].z)
-                          h <= u && ((u = h), n.set(1, 0, 0)),
-                            d <= u && ((u = d), n.set(0, 1, 0)),
-                            p <= u && n.set(0, 0, 1),
-                            a.crossVectors(r[0], n).normalize(),
-                            i[0].crossVectors(r[0], a),
-                            o[0].crossVectors(r[0], i[0])
-                          for (var f = 1; f <= e; f++) {
-                            if (
-                              ((i[f] = i[f - 1].clone()),
-                              (o[f] = o[f - 1].clone()),
-                              a.crossVectors(r[f - 1], r[f]),
-                              a.length() > Number.EPSILON)
-                            ) {
-                              a.normalize()
-                              var m = Math.acos(Kn.clamp(r[f - 1].dot(r[f]), -1, 1))
-                              i[f].applyMatrix4(s.makeRotationAxis(a, m))
-                            }
-                            o[f].crossVectors(r[f], i[f])
-                          }
-                          if (!0 === t) {
-                            var v = Math.acos(Kn.clamp(i[0].dot(i[e]), -1, 1))
-                            ;(v /= e), r[0].dot(a.crossVectors(i[0], i[e])) > 0 && (v = -v)
-                            for (var g = 1; g <= e; g++)
-                              i[g].applyMatrix4(s.makeRotationAxis(r[g], v * g)),
-                                o[g].crossVectors(r[g], i[g])
-                          }
-                          return { tangents: r, normals: i, binormals: o }
-                        },
-                        clone: function () {
-                          return new this.constructor().copy(this)
-                        },
-                        copy: function (e) {
-                          return (this.arcLengthDivisions = e.arcLengthDivisions), this
-                        },
-                        toJSON: function () {
-                          var e = {
-                            metadata: { version: 4.5, type: 'Curve', generator: 'Curve.toJSON' },
-                          }
-                          return (
-                            (e.arcLengthDivisions = this.arcLengthDivisions),
-                            (e.type = this.type),
-                            e
-                          )
-                        },
-                        fromJSON: function (e) {
-                          return (this.arcLengthDivisions = e.arcLengthDivisions), this
-                        },
-                      }),
-                      (yh.prototype = Object.create(gh.prototype)),
-                      (yh.prototype.constructor = yh),
-                      (yh.prototype.isEllipseCurve = !0),
-                      (yh.prototype.getPoint = function (e, t) {
-                        for (
-                          var n = t || new Jn(),
-                            r = 2 * Math.PI,
-                            i = this.aEndAngle - this.aStartAngle,
-                            o = Math.abs(i) < Number.EPSILON;
-                          i < 0;
-
-                        )
-                          i += r
-                        for (; i > r; ) i -= r
-                        i < Number.EPSILON && (i = o ? 0 : r),
-                          !0 !== this.aClockwise || o || (i === r ? (i = -r) : (i -= r))
-                        var a = this.aStartAngle + e * i,
-                          s = this.aX + this.xRadius * Math.cos(a),
-                          l = this.aY + this.yRadius * Math.sin(a)
-                        if (0 !== this.aRotation) {
-                          var c = Math.cos(this.aRotation),
-                            u = Math.sin(this.aRotation),
-                            h = s - this.aX,
-                            d = l - this.aY
-                          ;(s = h * c - d * u + this.aX), (l = h * u + d * c + this.aY)
-                        }
-                        return n.set(s, l)
-                      }),
-                      (yh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          (this.aX = e.aX),
-                          (this.aY = e.aY),
-                          (this.xRadius = e.xRadius),
-                          (this.yRadius = e.yRadius),
-                          (this.aStartAngle = e.aStartAngle),
-                          (this.aEndAngle = e.aEndAngle),
-                          (this.aClockwise = e.aClockwise),
-                          (this.aRotation = e.aRotation),
-                          this
-                        )
-                      }),
-                      (yh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (
-                          (e.aX = this.aX),
-                          (e.aY = this.aY),
-                          (e.xRadius = this.xRadius),
-                          (e.yRadius = this.yRadius),
-                          (e.aStartAngle = this.aStartAngle),
-                          (e.aEndAngle = this.aEndAngle),
-                          (e.aClockwise = this.aClockwise),
-                          (e.aRotation = this.aRotation),
-                          e
-                        )
-                      }),
-                      (yh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          (this.aX = e.aX),
-                          (this.aY = e.aY),
-                          (this.xRadius = e.xRadius),
-                          (this.yRadius = e.yRadius),
-                          (this.aStartAngle = e.aStartAngle),
-                          (this.aEndAngle = e.aEndAngle),
-                          (this.aClockwise = e.aClockwise),
-                          (this.aRotation = e.aRotation),
-                          this
-                        )
-                      }),
-                      (bh.prototype = Object.create(yh.prototype)),
-                      (bh.prototype.constructor = bh),
-                      (bh.prototype.isArcCurve = !0)
-                    var wh = new lr(),
-                      xh = new Ah(),
-                      Eh = new Ah(),
-                      Mh = new Ah()
-                    function _h(e, t, n, r) {
-                      void 0 === e && (e = []),
-                        void 0 === t && (t = !1),
-                        void 0 === n && (n = 'centripetal'),
-                        void 0 === r && (r = 0.5),
-                        gh.call(this),
-                        (this.type = 'CatmullRomCurve3'),
-                        (this.points = e),
-                        (this.closed = t),
-                        (this.curveType = n),
-                        (this.tension = r)
-                    }
-                    function Th(e, t, n, r, i) {
-                      var o = 0.5 * (r - t),
-                        a = 0.5 * (i - n),
-                        s = e * e
-                      return (
-                        (2 * n - 2 * r + o + a) * (e * s) +
-                        (-3 * n + 3 * r - 2 * o - a) * s +
-                        o * e +
-                        n
-                      )
-                    }
-                    function Sh(e, t) {
-                      var n = 1 - e
-                      return n * n * t
-                    }
-                    function Ch(e, t) {
-                      return 2 * (1 - e) * e * t
-                    }
-                    function Lh(e, t) {
-                      return e * e * t
-                    }
-                    function Rh(e, t, n, r) {
-                      return Sh(e, t) + Ch(e, n) + Lh(e, r)
-                    }
-                    function Ph(e, t) {
-                      var n = 1 - e
-                      return n * n * n * t
-                    }
-                    function Dh(e, t) {
-                      var n = 1 - e
-                      return 3 * n * n * e * t
-                    }
-                    function Oh(e, t) {
-                      return 3 * (1 - e) * e * e * t
-                    }
-                    function Ih(e, t) {
-                      return e * e * e * t
-                    }
-                    function Bh(e, t, n, r, i) {
-                      return Ph(e, t) + Dh(e, n) + Oh(e, r) + Ih(e, i)
-                    }
-                    function Fh(e, t, n, r) {
-                      void 0 === e && (e = new Jn()),
-                        void 0 === t && (t = new Jn()),
-                        void 0 === n && (n = new Jn()),
-                        void 0 === r && (r = new Jn()),
-                        gh.call(this),
-                        (this.type = 'CubicBezierCurve'),
-                        (this.v0 = e),
-                        (this.v1 = t),
-                        (this.v2 = n),
-                        (this.v3 = r)
-                    }
-                    function kh(e, t, n, r) {
-                      void 0 === e && (e = new lr()),
-                        void 0 === t && (t = new lr()),
-                        void 0 === n && (n = new lr()),
-                        void 0 === r && (r = new lr()),
-                        gh.call(this),
-                        (this.type = 'CubicBezierCurve3'),
-                        (this.v0 = e),
-                        (this.v1 = t),
-                        (this.v2 = n),
-                        (this.v3 = r)
-                    }
-                    function Nh(e, t) {
-                      void 0 === e && (e = new Jn()),
-                        void 0 === t && (t = new Jn()),
-                        gh.call(this),
-                        (this.type = 'LineCurve'),
-                        (this.v1 = e),
-                        (this.v2 = t)
-                    }
-                    function Uh(e, t) {
-                      void 0 === e && (e = new lr()),
-                        void 0 === t && (t = new lr()),
-                        gh.call(this),
-                        (this.type = 'LineCurve3'),
-                        (this.v1 = e),
-                        (this.v2 = t)
-                    }
-                    function Hh(e, t, n) {
-                      void 0 === e && (e = new Jn()),
-                        void 0 === t && (t = new Jn()),
-                        void 0 === n && (n = new Jn()),
-                        gh.call(this),
-                        (this.type = 'QuadraticBezierCurve'),
-                        (this.v0 = e),
-                        (this.v1 = t),
-                        (this.v2 = n)
-                    }
-                    function Gh(e, t, n) {
-                      void 0 === e && (e = new lr()),
-                        void 0 === t && (t = new lr()),
-                        void 0 === n && (n = new lr()),
-                        gh.call(this),
-                        (this.type = 'QuadraticBezierCurve3'),
-                        (this.v0 = e),
-                        (this.v1 = t),
-                        (this.v2 = n)
-                    }
-                    function zh(e) {
-                      void 0 === e && (e = []),
-                        gh.call(this),
-                        (this.type = 'SplineCurve'),
-                        (this.points = e)
-                    }
-                    ;(_h.prototype = Object.create(gh.prototype)),
-                      (_h.prototype.constructor = _h),
-                      (_h.prototype.isCatmullRomCurve3 = !0),
-                      (_h.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new lr())
-                        var n,
-                          r,
-                          i = t,
-                          o = this.points,
-                          a = o.length,
-                          s = (a - (this.closed ? 0 : 1)) * e,
-                          l = Math.floor(s),
-                          c = s - l
-                        this.closed
-                          ? (l += l > 0 ? 0 : (Math.floor(Math.abs(l) / a) + 1) * a)
-                          : 0 === c && l === a - 1 && ((l = a - 2), (c = 1)),
-                          this.closed || l > 0
-                            ? (n = o[(l - 1) % a])
-                            : (wh.subVectors(o[0], o[1]).add(o[0]), (n = wh))
-                        var u = o[l % a],
-                          h = o[(l + 1) % a]
-                        if (
-                          (this.closed || l + 2 < a
-                            ? (r = o[(l + 2) % a])
-                            : (wh.subVectors(o[a - 1], o[a - 2]).add(o[a - 1]), (r = wh)),
-                          'centripetal' === this.curveType || 'chordal' === this.curveType)
-                        ) {
-                          var d = 'chordal' === this.curveType ? 0.5 : 0.25,
-                            p = Math.pow(n.distanceToSquared(u), d),
-                            f = Math.pow(u.distanceToSquared(h), d),
-                            m = Math.pow(h.distanceToSquared(r), d)
-                          f < 1e-4 && (f = 1),
-                            p < 1e-4 && (p = f),
-                            m < 1e-4 && (m = f),
-                            xh.initNonuniformCatmullRom(n.x, u.x, h.x, r.x, p, f, m),
-                            Eh.initNonuniformCatmullRom(n.y, u.y, h.y, r.y, p, f, m),
-                            Mh.initNonuniformCatmullRom(n.z, u.z, h.z, r.z, p, f, m)
-                        } else
-                          'catmullrom' === this.curveType &&
-                            (xh.initCatmullRom(n.x, u.x, h.x, r.x, this.tension),
-                            Eh.initCatmullRom(n.y, u.y, h.y, r.y, this.tension),
-                            Mh.initCatmullRom(n.z, u.z, h.z, r.z, this.tension))
-                        return i.set(xh.calc(c), Eh.calc(c), Mh.calc(c)), i
-                      }),
-                      (_h.prototype.copy = function (e) {
-                        gh.prototype.copy.call(this, e), (this.points = [])
-                        for (var t = 0, n = e.points.length; t < n; t++) {
-                          var r = e.points[t]
-                          this.points.push(r.clone())
-                        }
-                        return (
-                          (this.closed = e.closed),
-                          (this.curveType = e.curveType),
-                          (this.tension = e.tension),
-                          this
-                        )
-                      }),
-                      (_h.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        e.points = []
-                        for (var t = 0, n = this.points.length; t < n; t++) {
-                          var r = this.points[t]
-                          e.points.push(r.toArray())
-                        }
-                        return (
-                          (e.closed = this.closed),
-                          (e.curveType = this.curveType),
-                          (e.tension = this.tension),
-                          e
-                        )
-                      }),
-                      (_h.prototype.fromJSON = function (e) {
-                        gh.prototype.fromJSON.call(this, e), (this.points = [])
-                        for (var t = 0, n = e.points.length; t < n; t++) {
-                          var r = e.points[t]
-                          this.points.push(new lr().fromArray(r))
-                        }
-                        return (
-                          (this.closed = e.closed),
-                          (this.curveType = e.curveType),
-                          (this.tension = e.tension),
-                          this
-                        )
-                      }),
-                      (Fh.prototype = Object.create(gh.prototype)),
-                      (Fh.prototype.constructor = Fh),
-                      (Fh.prototype.isCubicBezierCurve = !0),
-                      (Fh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new Jn())
-                        var n = t,
-                          r = this.v0,
-                          i = this.v1,
-                          o = this.v2,
-                          a = this.v3
-                        return n.set(Bh(e, r.x, i.x, o.x, a.x), Bh(e, r.y, i.y, o.y, a.y)), n
-                      }),
-                      (Fh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v0.copy(e.v0),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this.v3.copy(e.v3),
-                          this
-                        )
-                      }),
-                      (Fh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (
-                          (e.v0 = this.v0.toArray()),
-                          (e.v1 = this.v1.toArray()),
-                          (e.v2 = this.v2.toArray()),
-                          (e.v3 = this.v3.toArray()),
-                          e
-                        )
-                      }),
-                      (Fh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v0.fromArray(e.v0),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this.v3.fromArray(e.v3),
-                          this
-                        )
-                      }),
-                      (kh.prototype = Object.create(gh.prototype)),
-                      (kh.prototype.constructor = kh),
-                      (kh.prototype.isCubicBezierCurve3 = !0),
-                      (kh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new lr())
-                        var n = t,
-                          r = this.v0,
-                          i = this.v1,
-                          o = this.v2,
-                          a = this.v3
-                        return (
-                          n.set(
-                            Bh(e, r.x, i.x, o.x, a.x),
-                            Bh(e, r.y, i.y, o.y, a.y),
-                            Bh(e, r.z, i.z, o.z, a.z),
-                          ),
-                          n
-                        )
-                      }),
-                      (kh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v0.copy(e.v0),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this.v3.copy(e.v3),
-                          this
-                        )
-                      }),
-                      (kh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (
-                          (e.v0 = this.v0.toArray()),
-                          (e.v1 = this.v1.toArray()),
-                          (e.v2 = this.v2.toArray()),
-                          (e.v3 = this.v3.toArray()),
-                          e
-                        )
-                      }),
-                      (kh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v0.fromArray(e.v0),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this.v3.fromArray(e.v3),
-                          this
-                        )
-                      }),
-                      (Nh.prototype = Object.create(gh.prototype)),
-                      (Nh.prototype.constructor = Nh),
-                      (Nh.prototype.isLineCurve = !0),
-                      (Nh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new Jn())
-                        var n = t
-                        return (
-                          1 === e
-                            ? n.copy(this.v2)
-                            : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(e).add(this.v1)),
-                          n
-                        )
-                      }),
-                      (Nh.prototype.getPointAt = function (e, t) {
-                        return this.getPoint(e, t)
-                      }),
-                      (Nh.prototype.getTangent = function (e, t) {
-                        var n = t || new Jn()
-                        return n.copy(this.v2).sub(this.v1).normalize(), n
-                      }),
-                      (Nh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this
-                        )
-                      }),
-                      (Nh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (e.v1 = this.v1.toArray()), (e.v2 = this.v2.toArray()), e
-                      }),
-                      (Nh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this
-                        )
-                      }),
-                      (Uh.prototype = Object.create(gh.prototype)),
-                      (Uh.prototype.constructor = Uh),
-                      (Uh.prototype.isLineCurve3 = !0),
-                      (Uh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new lr())
-                        var n = t
-                        return (
-                          1 === e
-                            ? n.copy(this.v2)
-                            : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(e).add(this.v1)),
-                          n
-                        )
-                      }),
-                      (Uh.prototype.getPointAt = function (e, t) {
-                        return this.getPoint(e, t)
-                      }),
-                      (Uh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this
-                        )
-                      }),
-                      (Uh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (e.v1 = this.v1.toArray()), (e.v2 = this.v2.toArray()), e
-                      }),
-                      (Uh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this
-                        )
-                      }),
-                      (Hh.prototype = Object.create(gh.prototype)),
-                      (Hh.prototype.constructor = Hh),
-                      (Hh.prototype.isQuadraticBezierCurve = !0),
-                      (Hh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new Jn())
-                        var n = t,
-                          r = this.v0,
-                          i = this.v1,
-                          o = this.v2
-                        return n.set(Rh(e, r.x, i.x, o.x), Rh(e, r.y, i.y, o.y)), n
-                      }),
-                      (Hh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v0.copy(e.v0),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this
-                        )
-                      }),
-                      (Hh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (
-                          (e.v0 = this.v0.toArray()),
-                          (e.v1 = this.v1.toArray()),
-                          (e.v2 = this.v2.toArray()),
-                          e
-                        )
-                      }),
-                      (Hh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v0.fromArray(e.v0),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this
-                        )
-                      }),
-                      (Gh.prototype = Object.create(gh.prototype)),
-                      (Gh.prototype.constructor = Gh),
-                      (Gh.prototype.isQuadraticBezierCurve3 = !0),
-                      (Gh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new lr())
-                        var n = t,
-                          r = this.v0,
-                          i = this.v1,
-                          o = this.v2
-                        return (
-                          n.set(Rh(e, r.x, i.x, o.x), Rh(e, r.y, i.y, o.y), Rh(e, r.z, i.z, o.z)), n
-                        )
-                      }),
-                      (Gh.prototype.copy = function (e) {
-                        return (
-                          gh.prototype.copy.call(this, e),
-                          this.v0.copy(e.v0),
-                          this.v1.copy(e.v1),
-                          this.v2.copy(e.v2),
-                          this
-                        )
-                      }),
-                      (Gh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        return (
-                          (e.v0 = this.v0.toArray()),
-                          (e.v1 = this.v1.toArray()),
-                          (e.v2 = this.v2.toArray()),
-                          e
-                        )
-                      }),
-                      (Gh.prototype.fromJSON = function (e) {
-                        return (
-                          gh.prototype.fromJSON.call(this, e),
-                          this.v0.fromArray(e.v0),
-                          this.v1.fromArray(e.v1),
-                          this.v2.fromArray(e.v2),
-                          this
-                        )
-                      }),
-                      (zh.prototype = Object.create(gh.prototype)),
-                      (zh.prototype.constructor = zh),
-                      (zh.prototype.isSplineCurve = !0),
-                      (zh.prototype.getPoint = function (e, t) {
-                        void 0 === t && (t = new Jn())
-                        var n = t,
-                          r = this.points,
-                          i = (r.length - 1) * e,
-                          o = Math.floor(i),
-                          a = i - o,
-                          s = r[0 === o ? o : o - 1],
-                          l = r[o],
-                          c = r[o > r.length - 2 ? r.length - 1 : o + 1],
-                          u = r[o > r.length - 3 ? r.length - 1 : o + 2]
-                        return n.set(Th(a, s.x, l.x, c.x, u.x), Th(a, s.y, l.y, c.y, u.y)), n
-                      }),
-                      (zh.prototype.copy = function (e) {
-                        gh.prototype.copy.call(this, e), (this.points = [])
-                        for (var t = 0, n = e.points.length; t < n; t++) {
-                          var r = e.points[t]
-                          this.points.push(r.clone())
-                        }
-                        return this
-                      }),
-                      (zh.prototype.toJSON = function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        e.points = []
-                        for (var t = 0, n = this.points.length; t < n; t++) {
-                          var r = this.points[t]
-                          e.points.push(r.toArray())
-                        }
-                        return e
-                      }),
-                      (zh.prototype.fromJSON = function (e) {
-                        gh.prototype.fromJSON.call(this, e), (this.points = [])
-                        for (var t = 0, n = e.points.length; t < n; t++) {
-                          var r = e.points[t]
-                          this.points.push(new Jn().fromArray(r))
-                        }
-                        return this
-                      })
-                    var jh = Object.freeze({
-                      __proto__: null,
-                      ArcCurve: bh,
-                      CatmullRomCurve3: _h,
-                      CubicBezierCurve: Fh,
-                      CubicBezierCurve3: kh,
-                      EllipseCurve: yh,
-                      LineCurve: Nh,
-                      LineCurve3: Uh,
-                      QuadraticBezierCurve: Hh,
-                      QuadraticBezierCurve3: Gh,
-                      SplineCurve: zh,
-                    })
-                    function Vh() {
-                      gh.call(this),
-                        (this.type = 'CurvePath'),
-                        (this.curves = []),
-                        (this.autoClose = !1)
-                    }
-                    function Wh(e) {
-                      Vh.call(this),
-                        (this.type = 'Path'),
-                        (this.currentPoint = new Jn()),
-                        e && this.setFromPoints(e)
-                    }
-                    function qh(e) {
-                      Wh.call(this, e),
-                        (this.uuid = Kn.generateUUID()),
-                        (this.type = 'Shape'),
-                        (this.holes = [])
-                    }
-                    function Xh(e, t) {
-                      void 0 === t && (t = 1),
-                        si.call(this),
-                        (this.type = 'Light'),
-                        (this.color = new Li(e)),
-                        (this.intensity = t)
-                    }
-                    function Yh(e, t, n) {
-                      Xh.call(this, e, n),
-                        (this.type = 'HemisphereLight'),
-                        this.position.copy(si.DefaultUp),
-                        this.updateMatrix(),
-                        (this.groundColor = new Li(t))
-                    }
-                    function Qh(e) {
-                      ;(this.camera = e),
-                        (this.bias = 0),
-                        (this.normalBias = 0),
-                        (this.radius = 1),
-                        (this.mapSize = new Jn(512, 512)),
-                        (this.map = null),
-                        (this.mapPass = null),
-                        (this.matrix = new Fr()),
-                        (this.autoUpdate = !0),
-                        (this.needsUpdate = !1),
-                        (this._frustum = new zo()),
-                        (this._frameExtents = new Jn(1, 1)),
-                        (this._viewportCount = 1),
-                        (this._viewports = [new ir(0, 0, 1, 1)])
-                    }
-                    function Zh() {
-                      Qh.call(this, new Oo(50, 1, 0.5, 500)), (this.focus = 1)
-                    }
-                    function Kh(e, t, n, r, i, o) {
-                      Xh.call(this, e, t),
-                        (this.type = 'SpotLight'),
-                        this.position.copy(si.DefaultUp),
-                        this.updateMatrix(),
-                        (this.target = new si()),
-                        Object.defineProperty(this, 'power', {
-                          get: function () {
-                            return this.intensity * Math.PI
-                          },
-                          set: function (e) {
-                            this.intensity = e / Math.PI
-                          },
-                        }),
-                        (this.distance = void 0 !== n ? n : 0),
-                        (this.angle = void 0 !== r ? r : Math.PI / 3),
-                        (this.penumbra = void 0 !== i ? i : 0),
-                        (this.decay = void 0 !== o ? o : 1),
-                        (this.shadow = new Zh())
-                    }
-                    function Jh() {
-                      Qh.call(this, new Oo(90, 1, 0.5, 500)),
-                        (this._frameExtents = new Jn(4, 2)),
-                        (this._viewportCount = 6),
-                        (this._viewports = [
-                          new ir(2, 1, 1, 1),
-                          new ir(0, 1, 1, 1),
-                          new ir(3, 1, 1, 1),
-                          new ir(1, 1, 1, 1),
-                          new ir(3, 0, 1, 1),
-                          new ir(1, 0, 1, 1),
-                        ]),
-                        (this._cubeDirections = [
-                          new lr(1, 0, 0),
-                          new lr(-1, 0, 0),
-                          new lr(0, 0, 1),
-                          new lr(0, 0, -1),
-                          new lr(0, 1, 0),
-                          new lr(0, -1, 0),
-                        ]),
-                        (this._cubeUps = [
-                          new lr(0, 1, 0),
-                          new lr(0, 1, 0),
-                          new lr(0, 1, 0),
-                          new lr(0, 1, 0),
-                          new lr(0, 0, 1),
-                          new lr(0, 0, -1),
-                        ])
-                    }
-                    function $h(e, t, n, r) {
-                      Xh.call(this, e, t),
-                        (this.type = 'PointLight'),
-                        Object.defineProperty(this, 'power', {
-                          get: function () {
-                            return 4 * this.intensity * Math.PI
-                          },
-                          set: function (e) {
-                            this.intensity = e / (4 * Math.PI)
-                          },
-                        }),
-                        (this.distance = void 0 !== n ? n : 0),
-                        (this.decay = void 0 !== r ? r : 1),
-                        (this.shadow = new Jh())
-                    }
-                    function ed(e, t, n, r, i, o) {
-                      void 0 === e && (e = -1),
-                        void 0 === t && (t = 1),
-                        void 0 === n && (n = 1),
-                        void 0 === r && (r = -1),
-                        void 0 === i && (i = 0.1),
-                        void 0 === o && (o = 2e3),
-                        Do.call(this),
-                        (this.type = 'OrthographicCamera'),
-                        (this.zoom = 1),
-                        (this.view = null),
-                        (this.left = e),
-                        (this.right = t),
-                        (this.top = n),
-                        (this.bottom = r),
-                        (this.near = i),
-                        (this.far = o),
-                        this.updateProjectionMatrix()
-                    }
-                    function td() {
-                      Qh.call(this, new ed(-5, 5, 5, -5, 0.5, 500))
-                    }
-                    function nd(e, t) {
-                      Xh.call(this, e, t),
-                        (this.type = 'DirectionalLight'),
-                        this.position.copy(si.DefaultUp),
-                        this.updateMatrix(),
-                        (this.target = new si()),
-                        (this.shadow = new td())
-                    }
-                    function rd(e, t) {
-                      Xh.call(this, e, t), (this.type = 'AmbientLight')
-                    }
-                    function id(e, t, n, r) {
-                      Xh.call(this, e, t),
-                        (this.type = 'RectAreaLight'),
-                        (this.width = void 0 !== n ? n : 10),
-                        (this.height = void 0 !== r ? r : 10)
-                    }
-                    ;(Vh.prototype = Object.assign(Object.create(gh.prototype), {
-                      constructor: Vh,
-                      add: function (e) {
-                        this.curves.push(e)
-                      },
-                      closePath: function () {
-                        var e = this.curves[0].getPoint(0),
-                          t = this.curves[this.curves.length - 1].getPoint(1)
-                        e.equals(t) || this.curves.push(new Nh(t, e))
-                      },
-                      getPoint: function (e) {
-                        for (
-                          var t = e * this.getLength(), n = this.getCurveLengths(), r = 0;
-                          r < n.length;
-
-                        ) {
-                          if (n[r] >= t) {
-                            var i = n[r] - t,
-                              o = this.curves[r],
-                              a = o.getLength(),
-                              s = 0 === a ? 0 : 1 - i / a
-                            return o.getPointAt(s)
-                          }
-                          r++
-                        }
-                        return null
-                      },
-                      getLength: function () {
-                        var e = this.getCurveLengths()
-                        return e[e.length - 1]
-                      },
-                      updateArcLengths: function () {
-                        ;(this.needsUpdate = !0), (this.cacheLengths = null), this.getCurveLengths()
-                      },
-                      getCurveLengths: function () {
-                        if (this.cacheLengths && this.cacheLengths.length === this.curves.length)
-                          return this.cacheLengths
-                        for (var e = [], t = 0, n = 0, r = this.curves.length; n < r; n++)
-                          (t += this.curves[n].getLength()), e.push(t)
-                        return (this.cacheLengths = e), e
-                      },
-                      getSpacedPoints: function (e) {
-                        void 0 === e && (e = 40)
-                        for (var t = [], n = 0; n <= e; n++) t.push(this.getPoint(n / e))
-                        return this.autoClose && t.push(t[0]), t
-                      },
-                      getPoints: function (e) {
-                        void 0 === e && (e = 12)
-                        for (var t, n = [], r = 0, i = this.curves; r < i.length; r++)
-                          for (
-                            var o = i[r],
-                              a =
-                                o && o.isEllipseCurve
-                                  ? 2 * e
-                                  : o && (o.isLineCurve || o.isLineCurve3)
-                                  ? 1
-                                  : o && o.isSplineCurve
-                                  ? e * o.points.length
-                                  : e,
-                              s = o.getPoints(a),
-                              l = 0;
-                            l < s.length;
-                            l++
-                          ) {
-                            var c = s[l]
-                            ;(t && t.equals(c)) || (n.push(c), (t = c))
-                          }
-                        return (
-                          this.autoClose &&
-                            n.length > 1 &&
-                            !n[n.length - 1].equals(n[0]) &&
-                            n.push(n[0]),
-                          n
-                        )
-                      },
-                      copy: function (e) {
-                        gh.prototype.copy.call(this, e), (this.curves = [])
-                        for (var t = 0, n = e.curves.length; t < n; t++) {
-                          var r = e.curves[t]
-                          this.curves.push(r.clone())
-                        }
-                        return (this.autoClose = e.autoClose), this
-                      },
-                      toJSON: function () {
-                        var e = gh.prototype.toJSON.call(this)
-                        ;(e.autoClose = this.autoClose), (e.curves = [])
-                        for (var t = 0, n = this.curves.length; t < n; t++) {
-                          var r = this.curves[t]
-                          e.curves.push(r.toJSON())
-                        }
-                        return e
-                      },
-                      fromJSON: function (e) {
-                        gh.prototype.fromJSON.call(this, e),
-                          (this.autoClose = e.autoClose),
-                          (this.curves = [])
-                        for (var t = 0, n = e.curves.length; t < n; t++) {
-                          var r = e.curves[t]
-                          this.curves.push(new jh[r.type]().fromJSON(r))
-                        }
-                        return this
-                      },
-                    })),
-                      (Wh.prototype = Object.assign(Object.create(Vh.prototype), {
-                        constructor: Wh,
-                        setFromPoints: function (e) {
-                          this.moveTo(e[0].x, e[0].y)
-                          for (var t = 1, n = e.length; t < n; t++) this.lineTo(e[t].x, e[t].y)
-                          return this
-                        },
-                        moveTo: function (e, t) {
-                          return this.currentPoint.set(e, t), this
-                        },
-                        lineTo: function (e, t) {
-                          var n = new Nh(this.currentPoint.clone(), new Jn(e, t))
-                          return this.curves.push(n), this.currentPoint.set(e, t), this
-                        },
-                        quadraticCurveTo: function (e, t, n, r) {
-                          var i = new Hh(this.currentPoint.clone(), new Jn(e, t), new Jn(n, r))
-                          return this.curves.push(i), this.currentPoint.set(n, r), this
-                        },
-                        bezierCurveTo: function (e, t, n, r, i, o) {
-                          var a = new Fh(
-                            this.currentPoint.clone(),
-                            new Jn(e, t),
-                            new Jn(n, r),
-                            new Jn(i, o),
-                          )
-                          return this.curves.push(a), this.currentPoint.set(i, o), this
-                        },
-                        splineThru: function (e) {
-                          var t = new zh([this.currentPoint.clone()].concat(e))
-                          return this.curves.push(t), this.currentPoint.copy(e[e.length - 1]), this
-                        },
-                        arc: function (e, t, n, r, i, o) {
-                          var a = this.currentPoint.x,
-                            s = this.currentPoint.y
-                          return this.absarc(e + a, t + s, n, r, i, o), this
-                        },
-                        absarc: function (e, t, n, r, i, o) {
-                          return this.absellipse(e, t, n, n, r, i, o), this
-                        },
-                        ellipse: function (e, t, n, r, i, o, a, s) {
-                          var l = this.currentPoint.x,
-                            c = this.currentPoint.y
-                          return this.absellipse(e + l, t + c, n, r, i, o, a, s), this
-                        },
-                        absellipse: function (e, t, n, r, i, o, a, s) {
-                          var l = new yh(e, t, n, r, i, o, a, s)
-                          if (this.curves.length > 0) {
-                            var c = l.getPoint(0)
-                            c.equals(this.currentPoint) || this.lineTo(c.x, c.y)
-                          }
-                          this.curves.push(l)
-                          var u = l.getPoint(1)
-                          return this.currentPoint.copy(u), this
-                        },
-                        copy: function (e) {
-                          return (
-                            Vh.prototype.copy.call(this, e),
-                            this.currentPoint.copy(e.currentPoint),
-                            this
-                          )
-                        },
-                        toJSON: function () {
-                          var e = Vh.prototype.toJSON.call(this)
-                          return (e.currentPoint = this.currentPoint.toArray()), e
-                        },
-                        fromJSON: function (e) {
-                          return (
-                            Vh.prototype.fromJSON.call(this, e),
-                            this.currentPoint.fromArray(e.currentPoint),
-                            this
-                          )
-                        },
-                      })),
-                      (qh.prototype = Object.assign(Object.create(Wh.prototype), {
-                        constructor: qh,
-                        getPointsHoles: function (e) {
-                          for (var t = [], n = 0, r = this.holes.length; n < r; n++)
-                            t[n] = this.holes[n].getPoints(e)
-                          return t
-                        },
-                        extractPoints: function (e) {
-                          return { shape: this.getPoints(e), holes: this.getPointsHoles(e) }
-                        },
-                        copy: function (e) {
-                          Wh.prototype.copy.call(this, e), (this.holes = [])
-                          for (var t = 0, n = e.holes.length; t < n; t++) {
-                            var r = e.holes[t]
-                            this.holes.push(r.clone())
-                          }
-                          return this
-                        },
-                        toJSON: function () {
-                          var e = Wh.prototype.toJSON.call(this)
-                          ;(e.uuid = this.uuid), (e.holes = [])
-                          for (var t = 0, n = this.holes.length; t < n; t++) {
-                            var r = this.holes[t]
-                            e.holes.push(r.toJSON())
-                          }
-                          return e
-                        },
-                        fromJSON: function (e) {
-                          Wh.prototype.fromJSON.call(this, e),
-                            (this.uuid = e.uuid),
-                            (this.holes = [])
-                          for (var t = 0, n = e.holes.length; t < n; t++) {
-                            var r = e.holes[t]
-                            this.holes.push(new Wh().fromJSON(r))
-                          }
-                          return this
-                        },
-                      })),
-                      (Xh.prototype = Object.assign(Object.create(si.prototype), {
-                        constructor: Xh,
-                        isLight: !0,
-                        copy: function (e) {
-                          return (
-                            si.prototype.copy.call(this, e),
-                            this.color.copy(e.color),
-                            (this.intensity = e.intensity),
-                            this
-                          )
-                        },
-                        toJSON: function (e) {
-                          var t = si.prototype.toJSON.call(this, e)
-                          return (
-                            (t.object.color = this.color.getHex()),
-                            (t.object.intensity = this.intensity),
-                            void 0 !== this.groundColor &&
-                              (t.object.groundColor = this.groundColor.getHex()),
-                            void 0 !== this.distance && (t.object.distance = this.distance),
-                            void 0 !== this.angle && (t.object.angle = this.angle),
-                            void 0 !== this.decay && (t.object.decay = this.decay),
-                            void 0 !== this.penumbra && (t.object.penumbra = this.penumbra),
-                            void 0 !== this.shadow && (t.object.shadow = this.shadow.toJSON()),
-                            t
-                          )
-                        },
-                      })),
-                      (Yh.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: Yh,
-                        isHemisphereLight: !0,
-                        copy: function (e) {
-                          return (
-                            Xh.prototype.copy.call(this, e),
-                            this.groundColor.copy(e.groundColor),
-                            this
-                          )
-                        },
-                      })),
-                      Object.assign(Qh.prototype, {
-                        _projScreenMatrix: new Fr(),
-                        _lightPositionWorld: new lr(),
-                        _lookTarget: new lr(),
-                        getViewportCount: function () {
-                          return this._viewportCount
-                        },
-                        getFrustum: function () {
-                          return this._frustum
-                        },
-                        updateMatrices: function (e) {
-                          var t = this.camera,
-                            n = this.matrix,
-                            r = this._projScreenMatrix,
-                            i = this._lookTarget,
-                            o = this._lightPositionWorld
-                          o.setFromMatrixPosition(e.matrixWorld),
-                            t.position.copy(o),
-                            i.setFromMatrixPosition(e.target.matrixWorld),
-                            t.lookAt(i),
-                            t.updateMatrixWorld(),
-                            r.multiplyMatrices(t.projectionMatrix, t.matrixWorldInverse),
-                            this._frustum.setFromProjectionMatrix(r),
-                            n.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1),
-                            n.multiply(t.projectionMatrix),
-                            n.multiply(t.matrixWorldInverse)
-                        },
-                        getViewport: function (e) {
-                          return this._viewports[e]
-                        },
-                        getFrameExtents: function () {
-                          return this._frameExtents
-                        },
-                        copy: function (e) {
-                          return (
-                            (this.camera = e.camera.clone()),
-                            (this.bias = e.bias),
-                            (this.radius = e.radius),
-                            this.mapSize.copy(e.mapSize),
-                            this
-                          )
-                        },
-                        clone: function () {
-                          return new this.constructor().copy(this)
-                        },
-                        toJSON: function () {
-                          var e = {}
-                          return (
-                            0 !== this.bias && (e.bias = this.bias),
-                            0 !== this.normalBias && (e.normalBias = this.normalBias),
-                            1 !== this.radius && (e.radius = this.radius),
-                            (512 === this.mapSize.x && 512 === this.mapSize.y) ||
-                              (e.mapSize = this.mapSize.toArray()),
-                            (e.camera = this.camera.toJSON(!1).object),
-                            delete e.camera.matrix,
-                            e
-                          )
-                        },
-                      }),
-                      (Zh.prototype = Object.assign(Object.create(Qh.prototype), {
-                        constructor: Zh,
-                        isSpotLightShadow: !0,
-                        updateMatrices: function (e) {
-                          var t = this.camera,
-                            n = 2 * Kn.RAD2DEG * e.angle * this.focus,
-                            r = this.mapSize.width / this.mapSize.height,
-                            i = e.distance || t.far
-                          ;(n === t.fov && r === t.aspect && i === t.far) ||
-                            ((t.fov = n), (t.aspect = r), (t.far = i), t.updateProjectionMatrix()),
-                            Qh.prototype.updateMatrices.call(this, e)
-                        },
-                      })),
-                      (Kh.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: Kh,
-                        isSpotLight: !0,
-                        copy: function (e) {
-                          return (
-                            Xh.prototype.copy.call(this, e),
-                            (this.distance = e.distance),
-                            (this.angle = e.angle),
-                            (this.penumbra = e.penumbra),
-                            (this.decay = e.decay),
-                            (this.target = e.target.clone()),
-                            (this.shadow = e.shadow.clone()),
-                            this
-                          )
-                        },
-                      })),
-                      (Jh.prototype = Object.assign(Object.create(Qh.prototype), {
-                        constructor: Jh,
-                        isPointLightShadow: !0,
-                        updateMatrices: function (e, t) {
-                          void 0 === t && (t = 0)
-                          var n = this.camera,
-                            r = this.matrix,
-                            i = this._lightPositionWorld,
-                            o = this._lookTarget,
-                            a = this._projScreenMatrix
-                          i.setFromMatrixPosition(e.matrixWorld),
-                            n.position.copy(i),
-                            o.copy(n.position),
-                            o.add(this._cubeDirections[t]),
-                            n.up.copy(this._cubeUps[t]),
-                            n.lookAt(o),
-                            n.updateMatrixWorld(),
-                            r.makeTranslation(-i.x, -i.y, -i.z),
-                            a.multiplyMatrices(n.projectionMatrix, n.matrixWorldInverse),
-                            this._frustum.setFromProjectionMatrix(a)
-                        },
-                      })),
-                      ($h.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: $h,
-                        isPointLight: !0,
-                        copy: function (e) {
-                          return (
-                            Xh.prototype.copy.call(this, e),
-                            (this.distance = e.distance),
-                            (this.decay = e.decay),
-                            (this.shadow = e.shadow.clone()),
-                            this
-                          )
-                        },
-                      })),
-                      (ed.prototype = Object.assign(Object.create(Do.prototype), {
-                        constructor: ed,
-                        isOrthographicCamera: !0,
-                        copy: function (e, t) {
-                          return (
-                            Do.prototype.copy.call(this, e, t),
-                            (this.left = e.left),
-                            (this.right = e.right),
-                            (this.top = e.top),
-                            (this.bottom = e.bottom),
-                            (this.near = e.near),
-                            (this.far = e.far),
-                            (this.zoom = e.zoom),
-                            (this.view = null === e.view ? null : Object.assign({}, e.view)),
-                            this
-                          )
-                        },
-                        setViewOffset: function (e, t, n, r, i, o) {
-                          null === this.view &&
-                            (this.view = {
-                              enabled: !0,
-                              fullWidth: 1,
-                              fullHeight: 1,
-                              offsetX: 0,
-                              offsetY: 0,
-                              width: 1,
-                              height: 1,
-                            }),
-                            (this.view.enabled = !0),
-                            (this.view.fullWidth = e),
-                            (this.view.fullHeight = t),
-                            (this.view.offsetX = n),
-                            (this.view.offsetY = r),
-                            (this.view.width = i),
-                            (this.view.height = o),
-                            this.updateProjectionMatrix()
-                        },
-                        clearViewOffset: function () {
-                          null !== this.view && (this.view.enabled = !1),
-                            this.updateProjectionMatrix()
-                        },
-                        updateProjectionMatrix: function () {
-                          var e = (this.right - this.left) / (2 * this.zoom),
-                            t = (this.top - this.bottom) / (2 * this.zoom),
-                            n = (this.right + this.left) / 2,
-                            r = (this.top + this.bottom) / 2,
-                            i = n - e,
-                            o = n + e,
-                            a = r + t,
-                            s = r - t
-                          if (null !== this.view && this.view.enabled) {
-                            var l = (this.right - this.left) / this.view.fullWidth / this.zoom,
-                              c = (this.top - this.bottom) / this.view.fullHeight / this.zoom
-                            ;(o = (i += l * this.view.offsetX) + l * this.view.width),
-                              (s = (a -= c * this.view.offsetY) - c * this.view.height)
-                          }
-                          this.projectionMatrix.makeOrthographic(i, o, a, s, this.near, this.far),
-                            this.projectionMatrixInverse.copy(this.projectionMatrix).invert()
-                        },
-                        toJSON: function (e) {
-                          var t = si.prototype.toJSON.call(this, e)
-                          return (
-                            (t.object.zoom = this.zoom),
-                            (t.object.left = this.left),
-                            (t.object.right = this.right),
-                            (t.object.top = this.top),
-                            (t.object.bottom = this.bottom),
-                            (t.object.near = this.near),
-                            (t.object.far = this.far),
-                            null !== this.view && (t.object.view = Object.assign({}, this.view)),
-                            t
-                          )
-                        },
-                      })),
-                      (td.prototype = Object.assign(Object.create(Qh.prototype), {
-                        constructor: td,
-                        isDirectionalLightShadow: !0,
-                        updateMatrices: function (e) {
-                          Qh.prototype.updateMatrices.call(this, e)
-                        },
-                      })),
-                      (nd.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: nd,
-                        isDirectionalLight: !0,
-                        copy: function (e) {
-                          return (
-                            Xh.prototype.copy.call(this, e),
-                            (this.target = e.target.clone()),
-                            (this.shadow = e.shadow.clone()),
-                            this
-                          )
-                        },
-                      })),
-                      (rd.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: rd,
-                        isAmbientLight: !0,
-                      })),
-                      (id.prototype = Object.assign(Object.create(Xh.prototype), {
-                        constructor: id,
-                        isRectAreaLight: !0,
-                        copy: function (e) {
-                          return (
-                            Xh.prototype.copy.call(this, e),
-                            (this.width = e.width),
-                            (this.height = e.height),
-                            this
-                          )
-                        },
-                        toJSON: function (e) {
-                          var t = Xh.prototype.toJSON.call(this, e)
-                          return (t.object.width = this.width), (t.object.height = this.height), t
-                        },
-                      }))
-                    var od = (function () {
-                      function e() {
-                        Object.defineProperty(this, 'isSphericalHarmonics3', { value: !0 }),
-                          (this.coefficients = [])
-                        for (var e = 0; e < 9; e++) this.coefficients.push(new lr())
-                      }
-                      var t = e.prototype
-                      return (
-                        (t.set = function (e) {
-                          for (var t = 0; t < 9; t++) this.coefficients[t].copy(e[t])
-                          return this
-                        }),
-                        (t.zero = function () {
-                          for (var e = 0; e < 9; e++) this.coefficients[e].set(0, 0, 0)
-                          return this
-                        }),
-                        (t.getAt = function (e, t) {
-                          var n = e.x,
-                            r = e.y,
-                            i = e.z,
-                            o = this.coefficients
-                          return (
-                            t.copy(o[0]).multiplyScalar(0.282095),
-                            t.addScaledVector(o[1], 0.488603 * r),
-                            t.addScaledVector(o[2], 0.488603 * i),
-                            t.addScaledVector(o[3], 0.488603 * n),
-                            t.addScaledVector(o[4], n * r * 1.092548),
-                            t.addScaledVector(o[5], r * i * 1.092548),
-                            t.addScaledVector(o[6], 0.315392 * (3 * i * i - 1)),
-                            t.addScaledVector(o[7], n * i * 1.092548),
-                            t.addScaledVector(o[8], 0.546274 * (n * n - r * r)),
-                            t
-                          )
-                        }),
-                        (t.getIrradianceAt = function (e, t) {
-                          var n = e.x,
-                            r = e.y,
-                            i = e.z,
-                            o = this.coefficients
-                          return (
-                            t.copy(o[0]).multiplyScalar(0.886227),
-                            t.addScaledVector(o[1], 1.023328 * r),
-                            t.addScaledVector(o[2], 1.023328 * i),
-                            t.addScaledVector(o[3], 1.023328 * n),
-                            t.addScaledVector(o[4], 0.858086 * n * r),
-                            t.addScaledVector(o[5], 0.858086 * r * i),
-                            t.addScaledVector(o[6], 0.743125 * i * i - 0.247708),
-                            t.addScaledVector(o[7], 0.858086 * n * i),
-                            t.addScaledVector(o[8], 0.429043 * (n * n - r * r)),
-                            t
-                          )
-                        }),
-                        (t.add = function (e) {
-                          for (var t = 0; t < 9; t++) this.coefficients[t].add(e.coefficients[t])
-                          return this
-                        }),
-                        (t.addScaledSH = function (e, t) {
-                          for (var n = 0; n < 9; n++)
-                            this.coefficients[n].addScaledVector(e.coefficients[n], t)
-                          return this
-                        }),
-                        (t.scale = function (e) {
-                          for (var t = 0; t < 9; t++) this.coefficients[t].multiplyScalar(e)
-                          return this
-                        }),
-                        (t.lerp = function (e, t) {
-                          for (var n = 0; n < 9; n++)
-                            this.coefficients[n].lerp(e.coefficients[n], t)
-                          return this
-                        }),
-                        (t.equals = function (e) {
-                          for (var t = 0; t < 9; t++)
-                            if (!this.coefficients[t].equals(e.coefficients[t])) return !1
-                          return !0
-                        }),
-                        (t.copy = function (e) {
-                          return this.set(e.coefficients)
-                        }),
-                        (t.clone = function () {
-                          return new this.constructor().copy(this)
-                        }),
-                        (t.fromArray = function (e, t) {
-                          void 0 === t && (t = 0)
-                          for (var n = this.coefficients, r = 0; r < 9; r++)
-                            n[r].fromArray(e, t + 3 * r)
-                          return this
-                        }),
-                        (t.toArray = function (e, t) {
-                          void 0 === e && (e = []), void 0 === t && (t = 0)
-                          for (var n = this.coefficients, r = 0; r < 9; r++)
-                            n[r].toArray(e, t + 3 * r)
-                          return e
-                        }),
-                        (e.getBasisAt = function (e, t) {
-                          var n = e.x,
-                            r = e.y,
-                            i = e.z
-                          ;(t[0] = 0.282095),
-                            (t[1] = 0.488603 * r),
-                            (t[2] = 0.488603 * i),
-                            (t[3] = 0.488603 * n),
-                            (t[4] = 1.092548 * n * r),
-                            (t[5] = 1.092548 * r * i),
-                            (t[6] = 0.315392 * (3 * i * i - 1)),
-                            (t[7] = 1.092548 * n * i),
-                            (t[8] = 0.546274 * (n * n - r * r))
-                        }),
-                        e
-                      )
-                    })()
-                    function ad(e, t) {
-                      Xh.call(this, void 0, t),
-                        (this.type = 'LightProbe'),
-                        (this.sh = void 0 !== e ? e : new od())
-                    }
-                    function sd(e) {
-                      lh.call(this, e), (this.textures = {})
-                    }
-                    ;(ad.prototype = Object.assign(Object.create(Xh.prototype), {
-                      constructor: ad,
-                      isLightProbe: !0,
-                      copy: function (e) {
-                        return Xh.prototype.copy.call(this, e), this.sh.copy(e.sh), this
-                      },
-                      fromJSON: function (e) {
-                        return (this.intensity = e.intensity), this.sh.fromArray(e.sh), this
-                      },
-                      toJSON: function (e) {
-                        var t = Xh.prototype.toJSON.call(this, e)
-                        return (t.object.sh = this.sh.toArray()), t
-                      },
-                    })),
-                      (sd.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: sd,
-                        load: function (t, n, r, i) {
-                          var o = this,
-                            a = new uh(o.manager)
-                          a.setPath(o.path),
-                            a.setRequestHeader(o.requestHeader),
-                            a.setWithCredentials(o.withCredentials),
-                            a.load(
-                              t,
-                              function (r) {
-                                try {
-                                  n(o.parse(JSON.parse(r)))
-                                } catch (e) {
-                                  i ? i(e) : console.error(e), o.manager.itemError(t)
-                                }
-                              },
-                              r,
-                              i,
-                            )
-                        },
-                        parse: function (e) {
-                          var t = this.textures
-                          function n(e) {
-                            return (
-                              void 0 === t[e] &&
-                                console.warn('THREE.MaterialLoader: Undefined texture', e),
-                              t[e]
-                            )
-                          }
-                          var r = new zu[e.type]()
-                          if (
-                            (void 0 !== e.uuid && (r.uuid = e.uuid),
-                            void 0 !== e.name && (r.name = e.name),
-                            void 0 !== e.color && void 0 !== r.color && r.color.setHex(e.color),
-                            void 0 !== e.roughness && (r.roughness = e.roughness),
-                            void 0 !== e.metalness && (r.metalness = e.metalness),
-                            void 0 !== e.sheen && (r.sheen = new Li().setHex(e.sheen)),
-                            void 0 !== e.emissive &&
-                              void 0 !== r.emissive &&
-                              r.emissive.setHex(e.emissive),
-                            void 0 !== e.specular &&
-                              void 0 !== r.specular &&
-                              r.specular.setHex(e.specular),
-                            void 0 !== e.shininess && (r.shininess = e.shininess),
-                            void 0 !== e.clearcoat && (r.clearcoat = e.clearcoat),
-                            void 0 !== e.clearcoatRoughness &&
-                              (r.clearcoatRoughness = e.clearcoatRoughness),
-                            void 0 !== e.fog && (r.fog = e.fog),
-                            void 0 !== e.flatShading && (r.flatShading = e.flatShading),
-                            void 0 !== e.blending && (r.blending = e.blending),
-                            void 0 !== e.combine && (r.combine = e.combine),
-                            void 0 !== e.side && (r.side = e.side),
-                            void 0 !== e.opacity && (r.opacity = e.opacity),
-                            void 0 !== e.transparent && (r.transparent = e.transparent),
-                            void 0 !== e.alphaTest && (r.alphaTest = e.alphaTest),
-                            void 0 !== e.depthTest && (r.depthTest = e.depthTest),
-                            void 0 !== e.depthWrite && (r.depthWrite = e.depthWrite),
-                            void 0 !== e.colorWrite && (r.colorWrite = e.colorWrite),
-                            void 0 !== e.stencilWrite && (r.stencilWrite = e.stencilWrite),
-                            void 0 !== e.stencilWriteMask &&
-                              (r.stencilWriteMask = e.stencilWriteMask),
-                            void 0 !== e.stencilFunc && (r.stencilFunc = e.stencilFunc),
-                            void 0 !== e.stencilRef && (r.stencilRef = e.stencilRef),
-                            void 0 !== e.stencilFuncMask && (r.stencilFuncMask = e.stencilFuncMask),
-                            void 0 !== e.stencilFail && (r.stencilFail = e.stencilFail),
-                            void 0 !== e.stencilZFail && (r.stencilZFail = e.stencilZFail),
-                            void 0 !== e.stencilZPass && (r.stencilZPass = e.stencilZPass),
-                            void 0 !== e.wireframe && (r.wireframe = e.wireframe),
-                            void 0 !== e.wireframeLinewidth &&
-                              (r.wireframeLinewidth = e.wireframeLinewidth),
-                            void 0 !== e.wireframeLinecap &&
-                              (r.wireframeLinecap = e.wireframeLinecap),
-                            void 0 !== e.wireframeLinejoin &&
-                              (r.wireframeLinejoin = e.wireframeLinejoin),
-                            void 0 !== e.rotation && (r.rotation = e.rotation),
-                            1 !== e.linewidth && (r.linewidth = e.linewidth),
-                            void 0 !== e.dashSize && (r.dashSize = e.dashSize),
-                            void 0 !== e.gapSize && (r.gapSize = e.gapSize),
-                            void 0 !== e.scale && (r.scale = e.scale),
-                            void 0 !== e.polygonOffset && (r.polygonOffset = e.polygonOffset),
-                            void 0 !== e.polygonOffsetFactor &&
-                              (r.polygonOffsetFactor = e.polygonOffsetFactor),
-                            void 0 !== e.polygonOffsetUnits &&
-                              (r.polygonOffsetUnits = e.polygonOffsetUnits),
-                            void 0 !== e.skinning && (r.skinning = e.skinning),
-                            void 0 !== e.morphTargets && (r.morphTargets = e.morphTargets),
-                            void 0 !== e.morphNormals && (r.morphNormals = e.morphNormals),
-                            void 0 !== e.dithering && (r.dithering = e.dithering),
-                            void 0 !== e.vertexTangents && (r.vertexTangents = e.vertexTangents),
-                            void 0 !== e.visible && (r.visible = e.visible),
-                            void 0 !== e.toneMapped && (r.toneMapped = e.toneMapped),
-                            void 0 !== e.userData && (r.userData = e.userData),
-                            void 0 !== e.vertexColors &&
-                              ('number' === typeof e.vertexColors
-                                ? (r.vertexColors = e.vertexColors > 0)
-                                : (r.vertexColors = e.vertexColors)),
-                            void 0 !== e.uniforms)
-                          )
-                            for (var i in e.uniforms) {
-                              var o = e.uniforms[i]
-                              switch (((r.uniforms[i] = {}), o.type)) {
-                                case 't':
-                                  r.uniforms[i].value = n(o.value)
-                                  break
-                                case 'c':
-                                  r.uniforms[i].value = new Li().setHex(o.value)
-                                  break
-                                case 'v2':
-                                  r.uniforms[i].value = new Jn().fromArray(o.value)
-                                  break
-                                case 'v3':
-                                  r.uniforms[i].value = new lr().fromArray(o.value)
-                                  break
-                                case 'v4':
-                                  r.uniforms[i].value = new ir().fromArray(o.value)
-                                  break
-                                case 'm3':
-                                  r.uniforms[i].value = new $n().fromArray(o.value)
-                                  break
-                                case 'm4':
-                                  r.uniforms[i].value = new Fr().fromArray(o.value)
-                                  break
-                                default:
-                                  r.uniforms[i].value = o.value
-                              }
-                            }
-                          if (
-                            (void 0 !== e.defines && (r.defines = e.defines),
-                            void 0 !== e.vertexShader && (r.vertexShader = e.vertexShader),
-                            void 0 !== e.fragmentShader && (r.fragmentShader = e.fragmentShader),
-                            void 0 !== e.extensions)
-                          )
-                            for (var a in e.extensions) r.extensions[a] = e.extensions[a]
-                          if (
-                            (void 0 !== e.shading && (r.flatShading = 1 === e.shading),
-                            void 0 !== e.size && (r.size = e.size),
-                            void 0 !== e.sizeAttenuation && (r.sizeAttenuation = e.sizeAttenuation),
-                            void 0 !== e.map && (r.map = n(e.map)),
-                            void 0 !== e.matcap && (r.matcap = n(e.matcap)),
-                            void 0 !== e.alphaMap && (r.alphaMap = n(e.alphaMap)),
-                            void 0 !== e.bumpMap && (r.bumpMap = n(e.bumpMap)),
-                            void 0 !== e.bumpScale && (r.bumpScale = e.bumpScale),
-                            void 0 !== e.normalMap && (r.normalMap = n(e.normalMap)),
-                            void 0 !== e.normalMapType && (r.normalMapType = e.normalMapType),
-                            void 0 !== e.normalScale)
-                          ) {
-                            var s = e.normalScale
-                            !1 === Array.isArray(s) && (s = [s, s]),
-                              (r.normalScale = new Jn().fromArray(s))
-                          }
-                          return (
-                            void 0 !== e.displacementMap &&
-                              (r.displacementMap = n(e.displacementMap)),
-                            void 0 !== e.displacementScale &&
-                              (r.displacementScale = e.displacementScale),
-                            void 0 !== e.displacementBias &&
-                              (r.displacementBias = e.displacementBias),
-                            void 0 !== e.roughnessMap && (r.roughnessMap = n(e.roughnessMap)),
-                            void 0 !== e.metalnessMap && (r.metalnessMap = n(e.metalnessMap)),
-                            void 0 !== e.emissiveMap && (r.emissiveMap = n(e.emissiveMap)),
-                            void 0 !== e.emissiveIntensity &&
-                              (r.emissiveIntensity = e.emissiveIntensity),
-                            void 0 !== e.specularMap && (r.specularMap = n(e.specularMap)),
-                            void 0 !== e.envMap && (r.envMap = n(e.envMap)),
-                            void 0 !== e.envMapIntensity && (r.envMapIntensity = e.envMapIntensity),
-                            void 0 !== e.reflectivity && (r.reflectivity = e.reflectivity),
-                            void 0 !== e.refractionRatio && (r.refractionRatio = e.refractionRatio),
-                            void 0 !== e.lightMap && (r.lightMap = n(e.lightMap)),
-                            void 0 !== e.lightMapIntensity &&
-                              (r.lightMapIntensity = e.lightMapIntensity),
-                            void 0 !== e.aoMap && (r.aoMap = n(e.aoMap)),
-                            void 0 !== e.aoMapIntensity && (r.aoMapIntensity = e.aoMapIntensity),
-                            void 0 !== e.gradientMap && (r.gradientMap = n(e.gradientMap)),
-                            void 0 !== e.clearcoatMap && (r.clearcoatMap = n(e.clearcoatMap)),
-                            void 0 !== e.clearcoatRoughnessMap &&
-                              (r.clearcoatRoughnessMap = n(e.clearcoatRoughnessMap)),
-                            void 0 !== e.clearcoatNormalMap &&
-                              (r.clearcoatNormalMap = n(e.clearcoatNormalMap)),
-                            void 0 !== e.clearcoatNormalScale &&
-                              (r.clearcoatNormalScale = new Jn().fromArray(e.clearcoatNormalScale)),
-                            void 0 !== e.transmission && (r.transmission = e.transmission),
-                            void 0 !== e.transmissionMap &&
-                              (r.transmissionMap = n(e.transmissionMap)),
-                            r
-                          )
-                        },
-                        setTextures: function (e) {
-                          return (this.textures = e), this
-                        },
-                      }))
-                    var ld = {
-                      decodeText: function (t) {
-                        if ('undefined' !== typeof TextDecoder) return new TextDecoder().decode(t)
-                        for (var n = '', r = 0, i = t.length; r < i; r++)
-                          n += String.fromCharCode(t[r])
-                        try {
-                          return decodeURIComponent(escape(n))
-                        } catch (e) {
-                          return n
-                        }
-                      },
-                      extractUrlBase: function (e) {
-                        var t = e.lastIndexOf('/')
-                        return -1 === t ? './' : e.substr(0, t + 1)
-                      },
-                    }
-                    function cd() {
-                      ro.call(this),
-                        (this.type = 'InstancedBufferGeometry'),
-                        (this.instanceCount = 1 / 0)
-                    }
-                    function ud(e, t, n, r) {
-                      'number' === typeof n &&
-                        ((r = n),
-                        (n = !1),
-                        console.error(
-                          'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.',
-                        )),
-                        Fi.call(this, e, t, n),
-                        (this.meshPerAttribute = r || 1)
-                    }
-                    function hd(e) {
-                      lh.call(this, e)
-                    }
-                    ;(cd.prototype = Object.assign(Object.create(ro.prototype), {
-                      constructor: cd,
-                      isInstancedBufferGeometry: !0,
-                      copy: function (e) {
-                        return (
-                          ro.prototype.copy.call(this, e),
-                          (this.instanceCount = e.instanceCount),
-                          this
-                        )
-                      },
-                      clone: function () {
-                        return new this.constructor().copy(this)
-                      },
-                      toJSON: function () {
-                        var e = ro.prototype.toJSON.call(this)
-                        return (
-                          (e.instanceCount = this.instanceCount),
-                          (e.isInstancedBufferGeometry = !0),
-                          e
-                        )
-                      },
-                    })),
-                      (ud.prototype = Object.assign(Object.create(Fi.prototype), {
-                        constructor: ud,
-                        isInstancedBufferAttribute: !0,
-                        copy: function (e) {
-                          return (
-                            Fi.prototype.copy.call(this, e),
-                            (this.meshPerAttribute = e.meshPerAttribute),
-                            this
-                          )
-                        },
-                        toJSON: function () {
-                          var e = Fi.prototype.toJSON.call(this)
-                          return (
-                            (e.meshPerAttribute = this.meshPerAttribute),
-                            (e.isInstancedBufferAttribute = !0),
-                            e
-                          )
-                        },
-                      })),
-                      (hd.prototype = Object.assign(Object.create(lh.prototype), {
-                        constructor: hd,
-                        load: function (t, n, r, i) {
-                          var o = this,
-                            a = new uh(o.manager)
-                          a.setPath(o.path),
-                            a.setRequestHeader(o.requestHeader),
-                            a.setWithCredentials(o.withCredentials),
-                            a.load(
-                              t,
-                              function (r) {
-                                try {
-                                  n(o.parse(JSON.parse(r)))
-                                } catch (e) {
-                                  i ? i(e) : console.error(e), o.manager.itemError(t)
-                                }
-                              },
-                              r,
-                              i,
-                            )
-                        },
-                        parse: function (e) {
-                          var t = {},
-                            n = {}
-                          function r(e, n) {
-                            if (void 0 !== t[n]) return t[n]
-                            var r = e.interleavedBuffers[n],
-                              o = i(e, r.buffer),
-                              a = new yl(Qi(r.type, o), r.stride)
-                            return (a.uuid = r.uuid), (t[n] = a), a
-                          }
-                          function i(e, t) {
-                            if (void 0 !== n[t]) return n[t]
-                            var r = e.arrayBuffers[t],
-                              i = new Uint32Array(r).buffer
-                            return (n[t] = i), i
-                          }
-                          var o = e.isInstancedBufferGeometry ? new cd() : new ro(),
-                            a = e.data.index
-                          if (void 0 !== a) {
-                            var s = Qi(a.type, a.array)
-                            o.setIndex(new Fi(s, 1))
-                          }
-                          var l = e.data.attributes
-                          for (var c in l) {
-                            var u = l[c],
-                              h = void 0
-                            if (u.isInterleavedBufferAttribute)
-                              h = new wl(r(e.data, u.data), u.itemSize, u.offset, u.normalized)
-                            else {
-                              var d = Qi(u.type, u.array)
-                              h = new (u.isInstancedBufferAttribute ? ud : Fi)(
-                                d,
-                                u.itemSize,
-                                u.normalized,
-                              )
-                            }
-                            void 0 !== u.name && (h.name = u.name), o.setAttribute(c, h)
-                          }
-                          var p = e.data.morphAttributes
-                          if (p)
-                            for (var f in p) {
-                              for (var m = p[f], v = [], g = 0, y = m.length; g < y; g++) {
-                                var b = m[g],
-                                  A = void 0
-                                ;(A = b.isInterleavedBufferAttribute
-                                  ? new wl(r(e.data, b.data), b.itemSize, b.offset, b.normalized)
-                                  : new Fi(Qi(b.type, b.array), b.itemSize, b.normalized)),
-                                  void 0 !== b.name && (A.name = b.name),
-                                  v.push(A)
-                              }
-                              o.morphAttributes[f] = v
-                            }
-                          e.data.morphTargetsRelative && (o.morphTargetsRelative = !0)
-                          var w = e.data.groups || e.data.drawcalls || e.data.offsets
-                          if (void 0 !== w)
-                            for (var x = 0, E = w.length; x !== E; ++x) {
-                              var M = w[x]
-                              o.addGroup(M.start, M.count, M.materialIndex)
-                            }
-                          var _ = e.data.boundingSphere
-                          if (void 0 !== _) {
-                            var T = new lr()
-                            void 0 !== _.center && T.fromArray(_.center),
-                              (o.boundingSphere = new Sr(T, _.radius))
-                          }
-                          return (
-                            e.name && (o.name = e.name), e.userData && (o.userData = e.userData), o
-                          )
-                        },
-                      }))
-                    var dd = (function (e) {
-                        function t(t) {
-                          return e.call(this, t) || this
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.load = function (e, t, n, r) {
-                            var i = this,
-                              o = '' === this.path ? ld.extractUrlBase(e) : this.path
-                            this.resourcePath = this.resourcePath || o
-                            var a = new uh(this.manager)
-                            a.setPath(this.path),
-                              a.setRequestHeader(this.requestHeader),
-                              a.setWithCredentials(this.withCredentials),
-                              a.load(
-                                e,
-                                function (n) {
-                                  var o = null
-                                  try {
-                                    o = JSON.parse(n)
-                                  } catch (s) {
-                                    return (
-                                      void 0 !== r && r(s),
-                                      void console.error(
-                                        "THREE:ObjectLoader: Can't parse " + e + '.',
-                                        s.message,
-                                      )
-                                    )
-                                  }
-                                  var a = o.metadata
-                                  void 0 !== a &&
-                                  void 0 !== a.type &&
-                                  'geometry' !== a.type.toLowerCase()
-                                    ? i.parse(o, t)
-                                    : console.error("THREE.ObjectLoader: Can't load " + e)
-                                },
-                                n,
-                                r,
-                              )
-                          }),
-                          (n.parse = function (e, t) {
-                            var n = this.parseAnimations(e.animations),
-                              r = this.parseShapes(e.shapes),
-                              i = this.parseGeometries(e.geometries, r),
-                              o = this.parseImages(e.images, function () {
-                                void 0 !== t && t(l)
-                              }),
-                              a = this.parseTextures(e.textures, o),
-                              s = this.parseMaterials(e.materials, a),
-                              l = this.parseObject(e.object, i, s, n),
-                              c = this.parseSkeletons(e.skeletons, l)
-                            if ((this.bindSkeletons(l, c), void 0 !== t)) {
-                              var u = !1
-                              for (var h in o)
-                                if (o[h] instanceof HTMLImageElement) {
-                                  u = !0
-                                  break
-                                }
-                              !1 === u && t(l)
-                            }
-                            return l
-                          }),
-                          (n.parseShapes = function (e) {
-                            var t = {}
-                            if (void 0 !== e)
-                              for (var n = 0, r = e.length; n < r; n++) {
-                                var i = new qh().fromJSON(e[n])
-                                t[i.uuid] = i
-                              }
-                            return t
-                          }),
-                          (n.parseSkeletons = function (e, t) {
-                            var n = {},
-                              r = {}
-                            if (
-                              (t.traverse(function (e) {
-                                e.isBone && (r[e.uuid] = e)
-                              }),
-                              void 0 !== e)
-                            )
-                              for (var i = 0, o = e.length; i < o; i++) {
-                                var a = new Ql().fromJSON(e[i], r)
-                                n[a.uuid] = a
-                              }
-                            return n
-                          }),
-                          (n.parseGeometries = function (e, t) {
-                            var n,
-                              r = {}
-                            if (void 0 !== e)
-                              for (var i = new hd(), o = 0, a = e.length; o < a; o++) {
-                                var s = void 0,
-                                  l = e[o]
-                                switch (l.type) {
-                                  case 'PlaneGeometry':
-                                  case 'PlaneBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.width,
-                                      l.height,
-                                      l.widthSegments,
-                                      l.heightSegments,
-                                    )
-                                    break
-                                  case 'BoxGeometry':
-                                  case 'BoxBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.width,
-                                      l.height,
-                                      l.depth,
-                                      l.widthSegments,
-                                      l.heightSegments,
-                                      l.depthSegments,
-                                    )
-                                    break
-                                  case 'CircleGeometry':
-                                  case 'CircleBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radius,
-                                      l.segments,
-                                      l.thetaStart,
-                                      l.thetaLength,
-                                    )
-                                    break
-                                  case 'CylinderGeometry':
-                                  case 'CylinderBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radiusTop,
-                                      l.radiusBottom,
-                                      l.height,
-                                      l.radialSegments,
-                                      l.heightSegments,
-                                      l.openEnded,
-                                      l.thetaStart,
-                                      l.thetaLength,
-                                    )
-                                    break
-                                  case 'ConeGeometry':
-                                  case 'ConeBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radius,
-                                      l.height,
-                                      l.radialSegments,
-                                      l.heightSegments,
-                                      l.openEnded,
-                                      l.thetaStart,
-                                      l.thetaLength,
-                                    )
-                                    break
-                                  case 'SphereGeometry':
-                                  case 'SphereBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radius,
-                                      l.widthSegments,
-                                      l.heightSegments,
-                                      l.phiStart,
-                                      l.phiLength,
-                                      l.thetaStart,
-                                      l.thetaLength,
-                                    )
-                                    break
-                                  case 'DodecahedronGeometry':
-                                  case 'DodecahedronBufferGeometry':
-                                  case 'IcosahedronGeometry':
-                                  case 'IcosahedronBufferGeometry':
-                                  case 'OctahedronGeometry':
-                                  case 'OctahedronBufferGeometry':
-                                  case 'TetrahedronGeometry':
-                                  case 'TetrahedronBufferGeometry':
-                                    s = new Pu[l.type](l.radius, l.detail)
-                                    break
-                                  case 'RingGeometry':
-                                  case 'RingBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.innerRadius,
-                                      l.outerRadius,
-                                      l.thetaSegments,
-                                      l.phiSegments,
-                                      l.thetaStart,
-                                      l.thetaLength,
-                                    )
-                                    break
-                                  case 'TorusGeometry':
-                                  case 'TorusBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radius,
-                                      l.tube,
-                                      l.radialSegments,
-                                      l.tubularSegments,
-                                      l.arc,
-                                    )
-                                    break
-                                  case 'TorusKnotGeometry':
-                                  case 'TorusKnotBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.radius,
-                                      l.tube,
-                                      l.tubularSegments,
-                                      l.radialSegments,
-                                      l.p,
-                                      l.q,
-                                    )
-                                    break
-                                  case 'TubeGeometry':
-                                  case 'TubeBufferGeometry':
-                                    s = new Pu[l.type](
-                                      new jh[l.path.type]().fromJSON(l.path),
-                                      l.tubularSegments,
-                                      l.radius,
-                                      l.radialSegments,
-                                      l.closed,
-                                    )
-                                    break
-                                  case 'LatheGeometry':
-                                  case 'LatheBufferGeometry':
-                                    s = new Pu[l.type](
-                                      l.points,
-                                      l.segments,
-                                      l.phiStart,
-                                      l.phiLength,
-                                    )
-                                    break
-                                  case 'PolyhedronGeometry':
-                                  case 'PolyhedronBufferGeometry':
-                                    s = new Pu[l.type](l.vertices, l.indices, l.radius, l.details)
-                                    break
-                                  case 'ShapeGeometry':
-                                  case 'ShapeBufferGeometry':
-                                    n = []
-                                    for (var c = 0, u = l.shapes.length; c < u; c++) {
-                                      var h = t[l.shapes[c]]
-                                      n.push(h)
-                                    }
-                                    s = new Pu[l.type](n, l.curveSegments)
-                                    break
-                                  case 'ExtrudeGeometry':
-                                  case 'ExtrudeBufferGeometry':
-                                    n = []
-                                    for (var d = 0, p = l.shapes.length; d < p; d++) {
-                                      var f = t[l.shapes[d]]
-                                      n.push(f)
-                                    }
-                                    var m = l.options.extrudePath
-                                    void 0 !== m &&
-                                      (l.options.extrudePath = new jh[m.type]().fromJSON(m)),
-                                      (s = new Pu[l.type](n, l.options))
-                                    break
-                                  case 'BufferGeometry':
-                                  case 'InstancedBufferGeometry':
-                                    s = i.parse(l)
-                                    break
-                                  case 'Geometry':
-                                    'THREE' in window && 'LegacyJSONLoader' in THREE
-                                      ? (s = new THREE.LegacyJSONLoader().parse(
-                                          l,
-                                          this.resourcePath,
-                                        ).geometry)
-                                      : console.error(
-                                          'THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".',
-                                        )
-                                    break
-                                  default:
-                                    console.warn(
-                                      'THREE.ObjectLoader: Unsupported geometry type "' +
-                                        l.type +
-                                        '"',
-                                    )
-                                    continue
-                                }
-                                ;(s.uuid = l.uuid),
-                                  void 0 !== l.name && (s.name = l.name),
-                                  !0 === s.isBufferGeometry &&
-                                    void 0 !== l.userData &&
-                                    (s.userData = l.userData),
-                                  (r[l.uuid] = s)
-                              }
-                            return r
-                          }),
-                          (n.parseMaterials = function (e, t) {
-                            var n = {},
-                              r = {}
-                            if (void 0 !== e) {
-                              var i = new sd()
-                              i.setTextures(t)
-                              for (var o = 0, a = e.length; o < a; o++) {
-                                var s = e[o]
-                                if ('MultiMaterial' === s.type) {
-                                  for (var l = [], c = 0; c < s.materials.length; c++) {
-                                    var u = s.materials[c]
-                                    void 0 === n[u.uuid] && (n[u.uuid] = i.parse(u)),
-                                      l.push(n[u.uuid])
-                                  }
-                                  r[s.uuid] = l
-                                } else
-                                  void 0 === n[s.uuid] && (n[s.uuid] = i.parse(s)),
-                                    (r[s.uuid] = n[s.uuid])
-                              }
-                            }
-                            return r
-                          }),
-                          (n.parseAnimations = function (e) {
-                            var t = {}
-                            if (void 0 !== e)
-                              for (var n = 0; n < e.length; n++) {
-                                var r = e[n],
-                                  i = nh.parse(r)
-                                t[i.uuid] = i
-                              }
-                            return t
-                          }),
-                          (n.parseImages = function (e, t) {
-                            var n,
-                              r = this,
-                              i = {}
-                            function o(e) {
-                              return (
-                                r.manager.itemStart(e),
-                                n.load(
-                                  e,
-                                  function () {
-                                    r.manager.itemEnd(e)
-                                  },
-                                  void 0,
-                                  function () {
-                                    r.manager.itemError(e), r.manager.itemEnd(e)
-                                  },
-                                )
-                              )
-                            }
-                            function a(e) {
-                              if ('string' === typeof e) {
-                                var t = e
-                                return o(
-                                  /^(\/\/)|([a-z]+:(\/\/)?)/i.test(t) ? t : r.resourcePath + t,
-                                )
-                              }
-                              return e.data
-                                ? { data: Qi(e.type, e.data), width: e.width, height: e.height }
-                                : null
-                            }
-                            if (void 0 !== e && e.length > 0) {
-                              var s = new ah(t)
-                              ;(n = new ph(s)).setCrossOrigin(this.crossOrigin)
-                              for (var l = 0, c = e.length; l < c; l++) {
-                                var u = e[l],
-                                  h = u.url
-                                if (Array.isArray(h)) {
-                                  i[u.uuid] = []
-                                  for (var d = 0, p = h.length; d < p; d++) {
-                                    var f = a(h[d])
-                                    null !== f &&
-                                      (f instanceof HTMLImageElement
-                                        ? i[u.uuid].push(f)
-                                        : i[u.uuid].push(new Uo(f.data, f.width, f.height)))
-                                  }
-                                } else {
-                                  var m = a(u.url)
-                                  null !== m && (i[u.uuid] = m)
-                                }
-                              }
-                            }
-                            return i
-                          }),
-                          (n.parseTextures = function (e, t) {
-                            function n(e, t) {
-                              return 'number' === typeof e
-                                ? e
-                                : (console.warn(
-                                    'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.',
-                                    e,
-                                  ),
-                                  t[e])
-                            }
-                            var r = {}
-                            if (void 0 !== e)
-                              for (var i = 0, o = e.length; i < o; i++) {
-                                var a = e[i]
-                                void 0 === a.image &&
-                                  console.warn(
-                                    'THREE.ObjectLoader: No "image" specified for',
-                                    a.uuid,
-                                  ),
-                                  void 0 === t[a.image] &&
-                                    console.warn('THREE.ObjectLoader: Undefined image', a.image)
-                                var s = void 0,
-                                  l = t[a.image]
-                                Array.isArray(l)
-                                  ? ((s = new ko(l)), 6 === l.length && (s.needsUpdate = !0))
-                                  : ((s =
-                                      l && l.data ? new Uo(l.data, l.width, l.height) : new nr(l)),
-                                    l && (s.needsUpdate = !0)),
-                                  (s.uuid = a.uuid),
-                                  void 0 !== a.name && (s.name = a.name),
-                                  void 0 !== a.mapping && (s.mapping = n(a.mapping, pd)),
-                                  void 0 !== a.offset && s.offset.fromArray(a.offset),
-                                  void 0 !== a.repeat && s.repeat.fromArray(a.repeat),
-                                  void 0 !== a.center && s.center.fromArray(a.center),
-                                  void 0 !== a.rotation && (s.rotation = a.rotation),
-                                  void 0 !== a.wrap &&
-                                    ((s.wrapS = n(a.wrap[0], fd)), (s.wrapT = n(a.wrap[1], fd))),
-                                  void 0 !== a.format && (s.format = a.format),
-                                  void 0 !== a.type && (s.type = a.type),
-                                  void 0 !== a.encoding && (s.encoding = a.encoding),
-                                  void 0 !== a.minFilter && (s.minFilter = n(a.minFilter, md)),
-                                  void 0 !== a.magFilter && (s.magFilter = n(a.magFilter, md)),
-                                  void 0 !== a.anisotropy && (s.anisotropy = a.anisotropy),
-                                  void 0 !== a.flipY && (s.flipY = a.flipY),
-                                  void 0 !== a.premultiplyAlpha &&
-                                    (s.premultiplyAlpha = a.premultiplyAlpha),
-                                  void 0 !== a.unpackAlignment &&
-                                    (s.unpackAlignment = a.unpackAlignment),
-                                  (r[a.uuid] = s)
-                              }
-                            return r
-                          }),
-                          (n.parseObject = function (e, t, n, r) {
-                            var i, o, a
-                            function s(e) {
-                              return (
-                                void 0 === t[e] &&
-                                  console.warn('THREE.ObjectLoader: Undefined geometry', e),
-                                t[e]
-                              )
-                            }
-                            function l(e) {
-                              if (void 0 !== e) {
-                                if (Array.isArray(e)) {
-                                  for (var t = [], r = 0, i = e.length; r < i; r++) {
-                                    var o = e[r]
-                                    void 0 === n[o] &&
-                                      console.warn('THREE.ObjectLoader: Undefined material', o),
-                                      t.push(n[o])
-                                  }
-                                  return t
-                                }
-                                return (
-                                  void 0 === n[e] &&
-                                    console.warn('THREE.ObjectLoader: Undefined material', e),
-                                  n[e]
-                                )
-                              }
-                            }
-                            switch (e.type) {
-                              case 'Scene':
-                                ;(i = new gl()),
-                                  void 0 !== e.background &&
-                                    Number.isInteger(e.background) &&
-                                    (i.background = new Li(e.background)),
-                                  void 0 !== e.fog &&
-                                    ('Fog' === e.fog.type
-                                      ? (i.fog = new vl(e.fog.color, e.fog.near, e.fog.far))
-                                      : 'FogExp2' === e.fog.type &&
-                                        (i.fog = new ml(e.fog.color, e.fog.density)))
-                                break
-                              case 'PerspectiveCamera':
-                                ;(i = new Oo(e.fov, e.aspect, e.near, e.far)),
-                                  void 0 !== e.focus && (i.focus = e.focus),
-                                  void 0 !== e.zoom && (i.zoom = e.zoom),
-                                  void 0 !== e.filmGauge && (i.filmGauge = e.filmGauge),
-                                  void 0 !== e.filmOffset && (i.filmOffset = e.filmOffset),
-                                  void 0 !== e.view && (i.view = Object.assign({}, e.view))
-                                break
-                              case 'OrthographicCamera':
-                                ;(i = new ed(e.left, e.right, e.top, e.bottom, e.near, e.far)),
-                                  void 0 !== e.zoom && (i.zoom = e.zoom),
-                                  void 0 !== e.view && (i.view = Object.assign({}, e.view))
-                                break
-                              case 'AmbientLight':
-                                i = new rd(e.color, e.intensity)
-                                break
-                              case 'DirectionalLight':
-                                i = new nd(e.color, e.intensity)
-                                break
-                              case 'PointLight':
-                                i = new $h(e.color, e.intensity, e.distance, e.decay)
-                                break
-                              case 'RectAreaLight':
-                                i = new id(e.color, e.intensity, e.width, e.height)
-                                break
-                              case 'SpotLight':
-                                i = new Kh(
-                                  e.color,
-                                  e.intensity,
-                                  e.distance,
-                                  e.angle,
-                                  e.penumbra,
-                                  e.decay,
-                                )
-                                break
-                              case 'HemisphereLight':
-                                i = new Yh(e.color, e.groundColor, e.intensity)
-                                break
-                              case 'LightProbe':
-                                i = new ad().fromJSON(e)
-                                break
-                              case 'SkinnedMesh':
-                                ;(i = new Wl((o = s(e.geometry)), (a = l(e.material)))),
-                                  void 0 !== e.bindMode && (i.bindMode = e.bindMode),
-                                  void 0 !== e.bindMatrix && i.bindMatrix.fromArray(e.bindMatrix),
-                                  void 0 !== e.skeleton && (i.skeleton = e.skeleton)
-                                break
-                              case 'Mesh':
-                                i = new xo((o = s(e.geometry)), (a = l(e.material)))
-                                break
-                              case 'InstancedMesh':
-                                ;(o = s(e.geometry)), (a = l(e.material))
-                                var c = e.count,
-                                  u = e.instanceMatrix
-                                ;(i = new ec(o, a, c)).instanceMatrix = new Fi(
-                                  new Float32Array(u.array),
-                                  16,
-                                )
-                                break
-                              case 'LOD':
-                                i = new Ul()
-                                break
-                              case 'Line':
-                                i = new sc(s(e.geometry), l(e.material))
-                                break
-                              case 'LineLoop':
-                                i = new hc(s(e.geometry), l(e.material))
-                                break
-                              case 'LineSegments':
-                                i = new uc(s(e.geometry), l(e.material))
-                                break
-                              case 'PointCloud':
-                              case 'Points':
-                                i = new gc(s(e.geometry), l(e.material))
-                                break
-                              case 'Sprite':
-                                i = new Bl(l(e.material))
-                                break
-                              case 'Group':
-                                i = new rl()
-                                break
-                              case 'Bone':
-                                i = new ql()
-                                break
-                              default:
-                                i = new si()
-                            }
-                            if (
-                              ((i.uuid = e.uuid),
-                              void 0 !== e.name && (i.name = e.name),
-                              void 0 !== e.matrix
-                                ? (i.matrix.fromArray(e.matrix),
-                                  void 0 !== e.matrixAutoUpdate &&
-                                    (i.matrixAutoUpdate = e.matrixAutoUpdate),
-                                  i.matrixAutoUpdate &&
-                                    i.matrix.decompose(i.position, i.quaternion, i.scale))
-                                : (void 0 !== e.position && i.position.fromArray(e.position),
-                                  void 0 !== e.rotation && i.rotation.fromArray(e.rotation),
-                                  void 0 !== e.quaternion && i.quaternion.fromArray(e.quaternion),
-                                  void 0 !== e.scale && i.scale.fromArray(e.scale)),
-                              void 0 !== e.castShadow && (i.castShadow = e.castShadow),
-                              void 0 !== e.receiveShadow && (i.receiveShadow = e.receiveShadow),
-                              e.shadow &&
-                                (void 0 !== e.shadow.bias && (i.shadow.bias = e.shadow.bias),
-                                void 0 !== e.shadow.normalBias &&
-                                  (i.shadow.normalBias = e.shadow.normalBias),
-                                void 0 !== e.shadow.radius && (i.shadow.radius = e.shadow.radius),
-                                void 0 !== e.shadow.mapSize &&
-                                  i.shadow.mapSize.fromArray(e.shadow.mapSize),
-                                void 0 !== e.shadow.camera &&
-                                  (i.shadow.camera = this.parseObject(e.shadow.camera))),
-                              void 0 !== e.visible && (i.visible = e.visible),
-                              void 0 !== e.frustumCulled && (i.frustumCulled = e.frustumCulled),
-                              void 0 !== e.renderOrder && (i.renderOrder = e.renderOrder),
-                              void 0 !== e.userData && (i.userData = e.userData),
-                              void 0 !== e.layers && (i.layers.mask = e.layers),
-                              void 0 !== e.children)
-                            )
-                              for (var h = e.children, d = 0; d < h.length; d++)
-                                i.add(this.parseObject(h[d], t, n, r))
-                            if (void 0 !== e.animations)
-                              for (var p = e.animations, f = 0; f < p.length; f++) {
-                                var m = p[f]
-                                i.animations.push(r[m])
-                              }
-                            if ('LOD' === e.type) {
-                              void 0 !== e.autoUpdate && (i.autoUpdate = e.autoUpdate)
-                              for (var v = e.levels, g = 0; g < v.length; g++) {
-                                var y = v[g],
-                                  b = i.getObjectByProperty('uuid', y.object)
-                                void 0 !== b && i.addLevel(b, y.distance)
-                              }
-                            }
-                            return i
-                          }),
-                          (n.bindSkeletons = function (e, t) {
-                            0 !== Object.keys(t).length &&
-                              e.traverse(function (e) {
-                                if (!0 === e.isSkinnedMesh && void 0 !== e.skeleton) {
-                                  var n = t[e.skeleton]
-                                  void 0 === n
-                                    ? console.warn(
-                                        'THREE.ObjectLoader: No skeleton found with UUID:',
-                                        e.skeleton,
-                                      )
-                                    : e.bind(n, e.bindMatrix)
-                                }
-                              })
-                          }),
-                          (n.setTexturePath = function (e) {
-                            return (
-                              console.warn(
-                                'THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().',
-                              ),
-                              this.setResourcePath(e)
-                            )
-                          }),
-                          t
-                        )
-                      })(lh),
-                      pd = {
-                        UVMapping: oe,
-                        CubeReflectionMapping: ae,
-                        CubeRefractionMapping: se,
-                        EquirectangularReflectionMapping: le,
-                        EquirectangularRefractionMapping: ce,
-                        CubeUVReflectionMapping: ue,
-                        CubeUVRefractionMapping: he,
-                      },
-                      fd = {
-                        RepeatWrapping: de,
-                        ClampToEdgeWrapping: pe,
-                        MirroredRepeatWrapping: fe,
-                      },
-                      md = {
-                        NearestFilter: me,
-                        NearestMipmapNearestFilter: ve,
-                        NearestMipmapLinearFilter: ye,
-                        LinearFilter: Ae,
-                        LinearMipmapNearestFilter: we,
-                        LinearMipmapLinearFilter: Ee,
-                      }
-                    function vd(e) {
-                      'undefined' === typeof createImageBitmap &&
-                        console.warn('THREE.ImageBitmapLoader: createImageBitmap() not supported.'),
-                        'undefined' === typeof fetch &&
-                          console.warn('THREE.ImageBitmapLoader: fetch() not supported.'),
-                        lh.call(this, e),
-                        (this.options = { premultiplyAlpha: 'none' })
-                    }
-                    function gd() {
-                      ;(this.type = 'ShapePath'),
-                        (this.color = new Li()),
-                        (this.subPaths = []),
-                        (this.currentPath = null)
-                    }
-                    ;(vd.prototype = Object.assign(Object.create(lh.prototype), {
-                      constructor: vd,
-                      isImageBitmapLoader: !0,
-                      setOptions: function (e) {
-                        return (this.options = e), this
-                      },
-                      load: function (e, t, n, r) {
-                        void 0 === e && (e = ''),
-                          void 0 !== this.path && (e = this.path + e),
-                          (e = this.manager.resolveURL(e))
-                        var i = this,
-                          o = oh.get(e)
-                        if (void 0 !== o)
-                          return (
-                            i.manager.itemStart(e),
-                            setTimeout(function () {
-                              t && t(o), i.manager.itemEnd(e)
-                            }, 0),
-                            o
-                          )
-                        var a = {}
-                        ;(a.credentials =
-                          'anonymous' === this.crossOrigin ? 'same-origin' : 'include'),
-                          fetch(e, a)
-                            .then(function (e) {
-                              return e.blob()
-                            })
-                            .then(function (e) {
-                              return createImageBitmap(e, i.options)
-                            })
-                            .then(function (n) {
-                              oh.add(e, n), t && t(n), i.manager.itemEnd(e)
-                            })
-                            .catch(function (t) {
-                              r && r(t), i.manager.itemError(e), i.manager.itemEnd(e)
-                            }),
-                          i.manager.itemStart(e)
-                      },
-                    })),
-                      Object.assign(gd.prototype, {
-                        moveTo: function (e, t) {
-                          return (
-                            (this.currentPath = new Wh()),
-                            this.subPaths.push(this.currentPath),
-                            this.currentPath.moveTo(e, t),
-                            this
-                          )
-                        },
-                        lineTo: function (e, t) {
-                          return this.currentPath.lineTo(e, t), this
-                        },
-                        quadraticCurveTo: function (e, t, n, r) {
-                          return this.currentPath.quadraticCurveTo(e, t, n, r), this
-                        },
-                        bezierCurveTo: function (e, t, n, r, i, o) {
-                          return this.currentPath.bezierCurveTo(e, t, n, r, i, o), this
-                        },
-                        splineThru: function (e) {
-                          return this.currentPath.splineThru(e), this
-                        },
-                        toShapes: function (e, t) {
-                          function n(e) {
-                            for (var t = [], n = 0, r = e.length; n < r; n++) {
-                              var i = e[n],
-                                o = new qh()
-                              ;(o.curves = i.curves), t.push(o)
-                            }
-                            return t
-                          }
-                          function r(e, t) {
-                            for (var n = t.length, r = !1, i = n - 1, o = 0; o < n; i = o++) {
-                              var a = t[i],
-                                s = t[o],
-                                l = s.x - a.x,
-                                c = s.y - a.y
-                              if (Math.abs(c) > Number.EPSILON) {
-                                if (
-                                  (c < 0 && ((a = t[o]), (l = -l), (s = t[i]), (c = -c)),
-                                  e.y < a.y || e.y > s.y)
-                                )
-                                  continue
-                                if (e.y === a.y) {
-                                  if (e.x === a.x) return !0
-                                } else {
-                                  var u = c * (e.x - a.x) - l * (e.y - a.y)
-                                  if (0 === u) return !0
-                                  if (u < 0) continue
-                                  r = !r
-                                }
-                              } else {
-                                if (e.y !== a.y) continue
-                                if ((s.x <= e.x && e.x <= a.x) || (a.x <= e.x && e.x <= s.x))
-                                  return !0
-                              }
-                            }
-                            return r
-                          }
-                          var i,
-                            o,
-                            a,
-                            s = hu.isClockWise,
-                            l = this.subPaths
-                          if (0 === l.length) return []
-                          if (!0 === t) return n(l)
-                          var c = []
-                          if (1 === l.length)
-                            return (o = l[0]), ((a = new qh()).curves = o.curves), c.push(a), c
-                          var u = !s(l[0].getPoints())
-                          u = e ? !u : u
-                          var h,
-                            d,
-                            p = [],
-                            f = [],
-                            m = [],
-                            v = 0
-                          ;(f[v] = void 0), (m[v] = [])
-                          for (var g = 0, y = l.length; g < y; g++)
-                            (i = s((h = (o = l[g]).getPoints()))),
-                              (i = e ? !i : i)
-                                ? (!u && f[v] && v++,
-                                  (f[v] = { s: new qh(), p: h }),
-                                  (f[v].s.curves = o.curves),
-                                  u && v++,
-                                  (m[v] = []))
-                                : m[v].push({ h: o, p: h[0] })
-                          if (!f[0]) return n(l)
-                          if (f.length > 1) {
-                            for (var b = !1, A = [], w = 0, x = f.length; w < x; w++) p[w] = []
-                            for (var E = 0, M = f.length; E < M; E++)
-                              for (var _ = m[E], T = 0; T < _.length; T++) {
-                                for (var S = _[T], C = !0, L = 0; L < f.length; L++)
-                                  r(S.p, f[L].p) &&
-                                    (E !== L && A.push({ froms: E, tos: L, hole: T }),
-                                    C ? ((C = !1), p[L].push(S)) : (b = !0))
-                                C && p[E].push(S)
-                              }
-                            A.length > 0 && (b || (m = p))
-                          }
-                          for (var R = 0, P = f.length; R < P; R++) {
-                            ;(a = f[R].s), c.push(a)
-                            for (var D = 0, O = (d = m[R]).length; D < O; D++) a.holes.push(d[D].h)
-                          }
-                          return c
-                        },
-                      })
-                    var yd,
-                      bd = (function () {
-                        function e(e) {
-                          Object.defineProperty(this, 'isFont', { value: !0 }),
-                            (this.type = 'Font'),
-                            (this.data = e)
-                        }
-                        return (
-                          (e.prototype.generateShapes = function (e, t) {
-                            void 0 === t && (t = 100)
-                            for (
-                              var n = [], r = Ad(e, t, this.data), i = 0, o = r.length;
-                              i < o;
-                              i++
-                            )
-                              Array.prototype.push.apply(n, r[i].toShapes())
-                            return n
-                          }),
-                          e
-                        )
-                      })()
-                    function Ad(e, t, n) {
-                      for (
-                        var r = Array.from ? Array.from(e) : String(e).split(''),
-                          i = t / n.resolution,
-                          o = (n.boundingBox.yMax - n.boundingBox.yMin + n.underlineThickness) * i,
-                          a = [],
-                          s = 0,
-                          l = 0,
-                          c = 0;
-                        c < r.length;
-                        c++
-                      ) {
-                        var u = r[c]
-                        if ('\n' === u) (s = 0), (l -= o)
-                        else {
-                          var h = wd(u, i, s, l, n)
-                          ;(s += h.offsetX), a.push(h.path)
-                        }
-                      }
-                      return a
-                    }
-                    function wd(e, t, n, r, i) {
-                      var o = i.glyphs[e] || i.glyphs['?']
-                      if (o) {
-                        var a,
-                          s,
-                          l,
-                          c,
-                          u,
-                          h,
-                          d,
-                          p,
-                          f = new gd()
-                        if (o.o)
-                          for (
-                            var m = o._cachedOutline || (o._cachedOutline = o.o.split(' ')),
-                              v = 0,
-                              g = m.length;
-                            v < g;
-
-                          )
-                            switch (m[v++]) {
-                              case 'm':
-                                ;(a = m[v++] * t + n), (s = m[v++] * t + r), f.moveTo(a, s)
-                                break
-                              case 'l':
-                                ;(a = m[v++] * t + n), (s = m[v++] * t + r), f.lineTo(a, s)
-                                break
-                              case 'q':
-                                ;(l = m[v++] * t + n),
-                                  (c = m[v++] * t + r),
-                                  (u = m[v++] * t + n),
-                                  (h = m[v++] * t + r),
-                                  f.quadraticCurveTo(u, h, l, c)
-                                break
-                              case 'b':
-                                ;(l = m[v++] * t + n),
-                                  (c = m[v++] * t + r),
-                                  (u = m[v++] * t + n),
-                                  (h = m[v++] * t + r),
-                                  (d = m[v++] * t + n),
-                                  (p = m[v++] * t + r),
-                                  f.bezierCurveTo(u, h, d, p, l, c)
-                            }
-                        return { offsetX: o.ha * t, path: f }
-                      }
-                      console.error(
-                        'THREE.Font: character "' +
-                          e +
-                          '" does not exists in font family ' +
-                          i.familyName +
-                          '.',
-                      )
-                    }
-                    function xd(e) {
-                      lh.call(this, e)
-                    }
-                    xd.prototype = Object.assign(Object.create(lh.prototype), {
-                      constructor: xd,
-                      load: function (t, n, r, i) {
-                        var o = this,
-                          a = new uh(this.manager)
-                        a.setPath(this.path),
-                          a.setRequestHeader(this.requestHeader),
-                          a.setWithCredentials(o.withCredentials),
-                          a.load(
-                            t,
-                            function (t) {
-                              var r
-                              try {
-                                r = JSON.parse(t)
-                              } catch (e) {
-                                console.warn(
-                                  'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.',
-                                ),
-                                  (r = JSON.parse(t.substring(65, t.length - 2)))
-                              }
-                              var i = o.parse(r)
-                              n && n(i)
-                            },
-                            r,
-                            i,
-                          )
-                      },
-                      parse: function (e) {
-                        return new bd(e)
-                      },
-                    })
-                    var Ed = {
-                      getContext: function () {
-                        return (
-                          void 0 === yd &&
-                            (yd = new (window.AudioContext || window.webkitAudioContext)()),
-                          yd
-                        )
-                      },
-                      setContext: function (e) {
-                        yd = e
-                      },
-                    }
-                    function Md(e) {
-                      lh.call(this, e)
-                    }
-                    function _d(e, t, n) {
-                      ad.call(this, void 0, n)
-                      var r = new Li().set(e),
-                        i = new Li().set(t),
-                        o = new lr(r.r, r.g, r.b),
-                        a = new lr(i.r, i.g, i.b),
-                        s = Math.sqrt(Math.PI),
-                        l = s * Math.sqrt(0.75)
-                      this.sh.coefficients[0].copy(o).add(a).multiplyScalar(s),
-                        this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(l)
-                    }
-                    function Td(e, t) {
-                      ad.call(this, void 0, t)
-                      var n = new Li().set(e)
-                      this.sh.coefficients[0]
-                        .set(n.r, n.g, n.b)
-                        .multiplyScalar(2 * Math.sqrt(Math.PI))
-                    }
-                    ;(Md.prototype = Object.assign(Object.create(lh.prototype), {
-                      constructor: Md,
-                      load: function (t, n, r, i) {
-                        var o = this,
-                          a = new uh(o.manager)
-                        a.setResponseType('arraybuffer'),
-                          a.setPath(o.path),
-                          a.setRequestHeader(o.requestHeader),
-                          a.setWithCredentials(o.withCredentials),
-                          a.load(
-                            t,
-                            function (r) {
-                              try {
-                                var a = r.slice(0)
-                                Ed.getContext().decodeAudioData(a, function (e) {
-                                  n(e)
-                                })
-                              } catch (e) {
-                                i ? i(e) : console.error(e), o.manager.itemError(t)
-                              }
-                            },
-                            r,
-                            i,
-                          )
-                      },
-                    })),
-                      (_d.prototype = Object.assign(Object.create(ad.prototype), {
-                        constructor: _d,
-                        isHemisphereLightProbe: !0,
-                        copy: function (e) {
-                          return ad.prototype.copy.call(this, e), this
-                        },
-                        toJSON: function (e) {
-                          return ad.prototype.toJSON.call(this, e)
-                        },
-                      })),
-                      (Td.prototype = Object.assign(Object.create(ad.prototype), {
-                        constructor: Td,
-                        isAmbientLightProbe: !0,
-                        copy: function (e) {
-                          return ad.prototype.copy.call(this, e), this
-                        },
-                        toJSON: function (e) {
-                          return ad.prototype.toJSON.call(this, e)
-                        },
-                      }))
-                    var Sd = new Fr(),
-                      Cd = new Fr()
-                    function Ld() {
-                      ;(this.type = 'StereoCamera'),
-                        (this.aspect = 1),
-                        (this.eyeSep = 0.064),
-                        (this.cameraL = new Oo()),
-                        this.cameraL.layers.enable(1),
-                        (this.cameraL.matrixAutoUpdate = !1),
-                        (this.cameraR = new Oo()),
-                        this.cameraR.layers.enable(2),
-                        (this.cameraR.matrixAutoUpdate = !1),
-                        (this._cache = {
-                          focus: null,
-                          fov: null,
-                          aspect: null,
-                          near: null,
-                          far: null,
-                          zoom: null,
-                          eyeSep: null,
-                        })
-                    }
-                    Object.assign(Ld.prototype, {
-                      update: function (e) {
-                        var t = this._cache
-                        if (
-                          t.focus !== e.focus ||
-                          t.fov !== e.fov ||
-                          t.aspect !== e.aspect * this.aspect ||
-                          t.near !== e.near ||
-                          t.far !== e.far ||
-                          t.zoom !== e.zoom ||
-                          t.eyeSep !== this.eyeSep
-                        ) {
-                          ;(t.focus = e.focus),
-                            (t.fov = e.fov),
-                            (t.aspect = e.aspect * this.aspect),
-                            (t.near = e.near),
-                            (t.far = e.far),
-                            (t.zoom = e.zoom),
-                            (t.eyeSep = this.eyeSep)
-                          var n,
-                            r,
-                            i = e.projectionMatrix.clone(),
-                            o = t.eyeSep / 2,
-                            a = (o * t.near) / t.focus,
-                            s = (t.near * Math.tan(Kn.DEG2RAD * t.fov * 0.5)) / t.zoom
-                          ;(Cd.elements[12] = -o),
-                            (Sd.elements[12] = o),
-                            (n = -s * t.aspect + a),
-                            (r = s * t.aspect + a),
-                            (i.elements[0] = (2 * t.near) / (r - n)),
-                            (i.elements[8] = (r + n) / (r - n)),
-                            this.cameraL.projectionMatrix.copy(i),
-                            (n = -s * t.aspect - a),
-                            (r = s * t.aspect - a),
-                            (i.elements[0] = (2 * t.near) / (r - n)),
-                            (i.elements[8] = (r + n) / (r - n)),
-                            this.cameraR.projectionMatrix.copy(i)
-                        }
-                        this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Cd),
-                          this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Sd)
-                      },
-                    })
-                    var Rd = (function () {
-                      function e(e) {
-                        ;(this.autoStart = void 0 === e || e),
-                          (this.startTime = 0),
-                          (this.oldTime = 0),
-                          (this.elapsedTime = 0),
-                          (this.running = !1)
-                      }
-                      var t = e.prototype
-                      return (
-                        (t.start = function () {
-                          ;(this.startTime = Pd()),
-                            (this.oldTime = this.startTime),
-                            (this.elapsedTime = 0),
-                            (this.running = !0)
-                        }),
-                        (t.stop = function () {
-                          this.getElapsedTime(), (this.running = !1), (this.autoStart = !1)
-                        }),
-                        (t.getElapsedTime = function () {
-                          return this.getDelta(), this.elapsedTime
-                        }),
-                        (t.getDelta = function () {
-                          var e = 0
-                          if (this.autoStart && !this.running) return this.start(), 0
-                          if (this.running) {
-                            var t = Pd()
-                            ;(e = (t - this.oldTime) / 1e3),
-                              (this.oldTime = t),
-                              (this.elapsedTime += e)
-                          }
-                          return e
-                        }),
-                        e
-                      )
-                    })()
-                    function Pd() {
-                      return ('undefined' === typeof performance ? Date : performance).now()
-                    }
-                    var Dd = new lr(),
-                      Od = new sr(),
-                      Id = new lr(),
-                      Bd = new lr(),
-                      Fd = (function (e) {
-                        function t() {
-                          var t
-                          return (
-                            ((t = e.call(this) || this).type = 'AudioListener'),
-                            (t.context = Ed.getContext()),
-                            (t.gain = t.context.createGain()),
-                            t.gain.connect(t.context.destination),
-                            (t.filter = null),
-                            (t.timeDelta = 0),
-                            (t._clock = new Rd()),
-                            t
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.getInput = function () {
-                            return this.gain
-                          }),
-                          (n.removeFilter = function () {
-                            return (
-                              null !== this.filter &&
-                                (this.gain.disconnect(this.filter),
-                                this.filter.disconnect(this.context.destination),
-                                this.gain.connect(this.context.destination),
-                                (this.filter = null)),
-                              this
-                            )
-                          }),
-                          (n.getFilter = function () {
-                            return this.filter
-                          }),
-                          (n.setFilter = function (e) {
-                            return (
-                              null !== this.filter
-                                ? (this.gain.disconnect(this.filter),
-                                  this.filter.disconnect(this.context.destination))
-                                : this.gain.disconnect(this.context.destination),
-                              (this.filter = e),
-                              this.gain.connect(this.filter),
-                              this.filter.connect(this.context.destination),
-                              this
-                            )
-                          }),
-                          (n.getMasterVolume = function () {
-                            return this.gain.gain.value
-                          }),
-                          (n.setMasterVolume = function (e) {
-                            return (
-                              this.gain.gain.setTargetAtTime(e, this.context.currentTime, 0.01),
-                              this
-                            )
-                          }),
-                          (n.updateMatrixWorld = function (t) {
-                            e.prototype.updateMatrixWorld.call(this, t)
-                            var n = this.context.listener,
-                              r = this.up
-                            if (
-                              ((this.timeDelta = this._clock.getDelta()),
-                              this.matrixWorld.decompose(Dd, Od, Id),
-                              Bd.set(0, 0, -1).applyQuaternion(Od),
-                              n.positionX)
-                            ) {
-                              var i = this.context.currentTime + this.timeDelta
-                              n.positionX.linearRampToValueAtTime(Dd.x, i),
-                                n.positionY.linearRampToValueAtTime(Dd.y, i),
-                                n.positionZ.linearRampToValueAtTime(Dd.z, i),
-                                n.forwardX.linearRampToValueAtTime(Bd.x, i),
-                                n.forwardY.linearRampToValueAtTime(Bd.y, i),
-                                n.forwardZ.linearRampToValueAtTime(Bd.z, i),
-                                n.upX.linearRampToValueAtTime(r.x, i),
-                                n.upY.linearRampToValueAtTime(r.y, i),
-                                n.upZ.linearRampToValueAtTime(r.z, i)
-                            } else
-                              n.setPosition(Dd.x, Dd.y, Dd.z),
-                                n.setOrientation(Bd.x, Bd.y, Bd.z, r.x, r.y, r.z)
-                          }),
-                          t
-                        )
-                      })(si),
-                      kd = (function (e) {
-                        function t(t) {
-                          var n
-                          return (
-                            ((n = e.call(this) || this).type = 'Audio'),
-                            (n.listener = t),
-                            (n.context = t.context),
-                            (n.gain = n.context.createGain()),
-                            n.gain.connect(t.getInput()),
-                            (n.autoplay = !1),
-                            (n.buffer = null),
-                            (n.detune = 0),
-                            (n.loop = !1),
-                            (n.loopStart = 0),
-                            (n.loopEnd = 0),
-                            (n.offset = 0),
-                            (n.duration = void 0),
-                            (n.playbackRate = 1),
-                            (n.isPlaying = !1),
-                            (n.hasPlaybackControl = !0),
-                            (n.source = null),
-                            (n.sourceType = 'empty'),
-                            (n._startedAt = 0),
-                            (n._progress = 0),
-                            (n._connected = !1),
-                            (n.filters = []),
-                            n
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.getOutput = function () {
-                            return this.gain
-                          }),
-                          (n.setNodeSource = function (e) {
-                            return (
-                              (this.hasPlaybackControl = !1),
-                              (this.sourceType = 'audioNode'),
-                              (this.source = e),
-                              this.connect(),
-                              this
-                            )
-                          }),
-                          (n.setMediaElementSource = function (e) {
-                            return (
-                              (this.hasPlaybackControl = !1),
-                              (this.sourceType = 'mediaNode'),
-                              (this.source = this.context.createMediaElementSource(e)),
-                              this.connect(),
-                              this
-                            )
-                          }),
-                          (n.setMediaStreamSource = function (e) {
-                            return (
-                              (this.hasPlaybackControl = !1),
-                              (this.sourceType = 'mediaStreamNode'),
-                              (this.source = this.context.createMediaStreamSource(e)),
-                              this.connect(),
-                              this
-                            )
-                          }),
-                          (n.setBuffer = function (e) {
-                            return (
-                              (this.buffer = e),
-                              (this.sourceType = 'buffer'),
-                              this.autoplay && this.play(),
-                              this
-                            )
-                          }),
-                          (n.play = function (e) {
-                            if ((void 0 === e && (e = 0), !0 !== this.isPlaying)) {
-                              if (!1 !== this.hasPlaybackControl) {
-                                this._startedAt = this.context.currentTime + e
-                                var t = this.context.createBufferSource()
-                                return (
-                                  (t.buffer = this.buffer),
-                                  (t.loop = this.loop),
-                                  (t.loopStart = this.loopStart),
-                                  (t.loopEnd = this.loopEnd),
-                                  (t.onended = this.onEnded.bind(this)),
-                                  t.start(
-                                    this._startedAt,
-                                    this._progress + this.offset,
-                                    this.duration,
-                                  ),
-                                  (this.isPlaying = !0),
-                                  (this.source = t),
-                                  this.setDetune(this.detune),
-                                  this.setPlaybackRate(this.playbackRate),
-                                  this.connect()
-                                )
-                              }
-                              console.warn('THREE.Audio: this Audio has no playback control.')
-                            } else console.warn('THREE.Audio: Audio is already playing.')
-                          }),
-                          (n.pause = function () {
-                            if (!1 !== this.hasPlaybackControl)
-                              return (
-                                !0 === this.isPlaying &&
-                                  ((this._progress +=
-                                    Math.max(this.context.currentTime - this._startedAt, 0) *
-                                    this.playbackRate),
-                                  !0 === this.loop &&
-                                    (this._progress =
-                                      this._progress % (this.duration || this.buffer.duration)),
-                                  this.source.stop(),
-                                  (this.source.onended = null),
-                                  (this.isPlaying = !1)),
-                                this
-                              )
-                            console.warn('THREE.Audio: this Audio has no playback control.')
-                          }),
-                          (n.stop = function () {
-                            if (!1 !== this.hasPlaybackControl)
-                              return (
-                                (this._progress = 0),
-                                this.source.stop(),
-                                (this.source.onended = null),
-                                (this.isPlaying = !1),
-                                this
-                              )
-                            console.warn('THREE.Audio: this Audio has no playback control.')
-                          }),
-                          (n.connect = function () {
-                            if (this.filters.length > 0) {
-                              this.source.connect(this.filters[0])
-                              for (var e = 1, t = this.filters.length; e < t; e++)
-                                this.filters[e - 1].connect(this.filters[e])
-                              this.filters[this.filters.length - 1].connect(this.getOutput())
-                            } else this.source.connect(this.getOutput())
-                            return (this._connected = !0), this
-                          }),
-                          (n.disconnect = function () {
-                            if (this.filters.length > 0) {
-                              this.source.disconnect(this.filters[0])
-                              for (var e = 1, t = this.filters.length; e < t; e++)
-                                this.filters[e - 1].disconnect(this.filters[e])
-                              this.filters[this.filters.length - 1].disconnect(this.getOutput())
-                            } else this.source.disconnect(this.getOutput())
-                            return (this._connected = !1), this
-                          }),
-                          (n.getFilters = function () {
-                            return this.filters
-                          }),
-                          (n.setFilters = function (e) {
-                            return (
-                              e || (e = []),
-                              !0 === this._connected
-                                ? (this.disconnect(), (this.filters = e.slice()), this.connect())
-                                : (this.filters = e.slice()),
-                              this
-                            )
-                          }),
-                          (n.setDetune = function (e) {
-                            if (((this.detune = e), void 0 !== this.source.detune))
-                              return (
-                                !0 === this.isPlaying &&
-                                  this.source.detune.setTargetAtTime(
-                                    this.detune,
-                                    this.context.currentTime,
-                                    0.01,
-                                  ),
-                                this
-                              )
-                          }),
-                          (n.getDetune = function () {
-                            return this.detune
-                          }),
-                          (n.getFilter = function () {
-                            return this.getFilters()[0]
-                          }),
-                          (n.setFilter = function (e) {
-                            return this.setFilters(e ? [e] : [])
-                          }),
-                          (n.setPlaybackRate = function (e) {
-                            if (!1 !== this.hasPlaybackControl)
-                              return (
-                                (this.playbackRate = e),
-                                !0 === this.isPlaying &&
-                                  this.source.playbackRate.setTargetAtTime(
-                                    this.playbackRate,
-                                    this.context.currentTime,
-                                    0.01,
-                                  ),
-                                this
-                              )
-                            console.warn('THREE.Audio: this Audio has no playback control.')
-                          }),
-                          (n.getPlaybackRate = function () {
-                            return this.playbackRate
-                          }),
-                          (n.onEnded = function () {
-                            this.isPlaying = !1
-                          }),
-                          (n.getLoop = function () {
-                            return !1 === this.hasPlaybackControl
-                              ? (console.warn('THREE.Audio: this Audio has no playback control.'),
-                                !1)
-                              : this.loop
-                          }),
-                          (n.setLoop = function (e) {
-                            if (!1 !== this.hasPlaybackControl)
-                              return (
-                                (this.loop = e),
-                                !0 === this.isPlaying && (this.source.loop = this.loop),
-                                this
-                              )
-                            console.warn('THREE.Audio: this Audio has no playback control.')
-                          }),
-                          (n.setLoopStart = function (e) {
-                            return (this.loopStart = e), this
-                          }),
-                          (n.setLoopEnd = function (e) {
-                            return (this.loopEnd = e), this
-                          }),
-                          (n.getVolume = function () {
-                            return this.gain.gain.value
-                          }),
-                          (n.setVolume = function (e) {
-                            return (
-                              this.gain.gain.setTargetAtTime(e, this.context.currentTime, 0.01),
-                              this
-                            )
-                          }),
-                          t
-                        )
-                      })(si),
-                      Nd = new lr(),
-                      Ud = new sr(),
-                      Hd = new lr(),
-                      Gd = new lr(),
-                      zd = (function (e) {
-                        function t(t) {
-                          var n
-                          return (
-                            ((n = e.call(this, t) || this).panner = n.context.createPanner()),
-                            (n.panner.panningModel = 'HRTF'),
-                            n.panner.connect(n.gain),
-                            n
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.getOutput = function () {
-                            return this.panner
-                          }),
-                          (n.getRefDistance = function () {
-                            return this.panner.refDistance
-                          }),
-                          (n.setRefDistance = function (e) {
-                            return (this.panner.refDistance = e), this
-                          }),
-                          (n.getRolloffFactor = function () {
-                            return this.panner.rolloffFactor
-                          }),
-                          (n.setRolloffFactor = function (e) {
-                            return (this.panner.rolloffFactor = e), this
-                          }),
-                          (n.getDistanceModel = function () {
-                            return this.panner.distanceModel
-                          }),
-                          (n.setDistanceModel = function (e) {
-                            return (this.panner.distanceModel = e), this
-                          }),
-                          (n.getMaxDistance = function () {
-                            return this.panner.maxDistance
-                          }),
-                          (n.setMaxDistance = function (e) {
-                            return (this.panner.maxDistance = e), this
-                          }),
-                          (n.setDirectionalCone = function (e, t, n) {
-                            return (
-                              (this.panner.coneInnerAngle = e),
-                              (this.panner.coneOuterAngle = t),
-                              (this.panner.coneOuterGain = n),
-                              this
-                            )
-                          }),
-                          (n.updateMatrixWorld = function (t) {
-                            if (
-                              (e.prototype.updateMatrixWorld.call(this, t),
-                              !0 !== this.hasPlaybackControl || !1 !== this.isPlaying)
-                            ) {
-                              this.matrixWorld.decompose(Nd, Ud, Hd),
-                                Gd.set(0, 0, 1).applyQuaternion(Ud)
-                              var n = this.panner
-                              if (n.positionX) {
-                                var r = this.context.currentTime + this.listener.timeDelta
-                                n.positionX.linearRampToValueAtTime(Nd.x, r),
-                                  n.positionY.linearRampToValueAtTime(Nd.y, r),
-                                  n.positionZ.linearRampToValueAtTime(Nd.z, r),
-                                  n.orientationX.linearRampToValueAtTime(Gd.x, r),
-                                  n.orientationY.linearRampToValueAtTime(Gd.y, r),
-                                  n.orientationZ.linearRampToValueAtTime(Gd.z, r)
-                              } else
-                                n.setPosition(Nd.x, Nd.y, Nd.z), n.setOrientation(Gd.x, Gd.y, Gd.z)
-                            }
-                          }),
-                          t
-                        )
-                      })(kd),
-                      jd = (function () {
-                        function e(e, t) {
-                          void 0 === t && (t = 2048),
-                            (this.analyser = e.context.createAnalyser()),
-                            (this.analyser.fftSize = t),
-                            (this.data = new Uint8Array(this.analyser.frequencyBinCount)),
-                            e.getOutput().connect(this.analyser)
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.getFrequencyData = function () {
-                            return this.analyser.getByteFrequencyData(this.data), this.data
-                          }),
-                          (t.getAverageFrequency = function () {
-                            for (var e = 0, t = this.getFrequencyData(), n = 0; n < t.length; n++)
-                              e += t[n]
-                            return e / t.length
-                          }),
-                          e
-                        )
-                      })()
-                    function Vd(e, t, n) {
-                      var r, i, o
-                      switch (((this.binding = e), (this.valueSize = n), t)) {
-                        case 'quaternion':
-                          ;(r = this._slerp),
-                            (i = this._slerpAdditive),
-                            (o = this._setAdditiveIdentityQuaternion),
-                            (this.buffer = new Float64Array(6 * n)),
-                            (this._workIndex = 5)
-                          break
-                        case 'string':
-                        case 'bool':
-                          ;(r = this._select),
-                            (i = this._select),
-                            (o = this._setAdditiveIdentityOther),
-                            (this.buffer = new Array(5 * n))
-                          break
-                        default:
-                          ;(r = this._lerp),
-                            (i = this._lerpAdditive),
-                            (o = this._setAdditiveIdentityNumeric),
-                            (this.buffer = new Float64Array(5 * n))
-                      }
-                      ;(this._mixBufferRegion = r),
-                        (this._mixBufferRegionAdditive = i),
-                        (this._setIdentity = o),
-                        (this._origIndex = 3),
-                        (this._addIndex = 4),
-                        (this.cumulativeWeight = 0),
-                        (this.cumulativeWeightAdditive = 0),
-                        (this.useCount = 0),
-                        (this.referenceCount = 0)
-                    }
-                    Object.assign(Vd.prototype, {
-                      accumulate: function (e, t) {
-                        var n = this.buffer,
-                          r = this.valueSize,
-                          i = e * r + r,
-                          o = this.cumulativeWeight
-                        if (0 === o) {
-                          for (var a = 0; a !== r; ++a) n[i + a] = n[a]
-                          o = t
-                        } else {
-                          var s = t / (o += t)
-                          this._mixBufferRegion(n, i, 0, s, r)
-                        }
-                        this.cumulativeWeight = o
-                      },
-                      accumulateAdditive: function (e) {
-                        var t = this.buffer,
-                          n = this.valueSize,
-                          r = n * this._addIndex
-                        0 === this.cumulativeWeightAdditive && this._setIdentity(),
-                          this._mixBufferRegionAdditive(t, r, 0, e, n),
-                          (this.cumulativeWeightAdditive += e)
-                      },
-                      apply: function (e) {
-                        var t = this.valueSize,
-                          n = this.buffer,
-                          r = e * t + t,
-                          i = this.cumulativeWeight,
-                          o = this.cumulativeWeightAdditive,
-                          a = this.binding
-                        if (
-                          ((this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0), i < 1)
-                        ) {
-                          var s = t * this._origIndex
-                          this._mixBufferRegion(n, r, s, 1 - i, t)
-                        }
-                        o > 0 && this._mixBufferRegionAdditive(n, r, this._addIndex * t, 1, t)
-                        for (var l = t, c = t + t; l !== c; ++l)
-                          if (n[l] !== n[l + t]) {
-                            a.setValue(n, r)
-                            break
-                          }
-                      },
-                      saveOriginalState: function () {
-                        var e = this.binding,
-                          t = this.buffer,
-                          n = this.valueSize,
-                          r = n * this._origIndex
-                        e.getValue(t, r)
-                        for (var i = n, o = r; i !== o; ++i) t[i] = t[r + (i % n)]
-                        this._setIdentity(),
-                          (this.cumulativeWeight = 0),
-                          (this.cumulativeWeightAdditive = 0)
-                      },
-                      restoreOriginalState: function () {
-                        var e = 3 * this.valueSize
-                        this.binding.setValue(this.buffer, e)
-                      },
-                      _setAdditiveIdentityNumeric: function () {
-                        for (
-                          var e = this._addIndex * this.valueSize, t = e + this.valueSize, n = e;
-                          n < t;
-                          n++
-                        )
-                          this.buffer[n] = 0
-                      },
-                      _setAdditiveIdentityQuaternion: function () {
-                        this._setAdditiveIdentityNumeric(),
-                          (this.buffer[this._addIndex * this.valueSize + 3] = 1)
-                      },
-                      _setAdditiveIdentityOther: function () {
-                        for (
-                          var e = this._origIndex * this.valueSize,
-                            t = this._addIndex * this.valueSize,
-                            n = 0;
-                          n < this.valueSize;
-                          n++
-                        )
-                          this.buffer[t + n] = this.buffer[e + n]
-                      },
-                      _select: function (e, t, n, r, i) {
-                        if (r >= 0.5) for (var o = 0; o !== i; ++o) e[t + o] = e[n + o]
-                      },
-                      _slerp: function (e, t, n, r) {
-                        sr.slerpFlat(e, t, e, t, e, n, r)
-                      },
-                      _slerpAdditive: function (e, t, n, r, i) {
-                        var o = this._workIndex * i
-                        sr.multiplyQuaternionsFlat(e, o, e, t, e, n),
-                          sr.slerpFlat(e, t, e, t, e, o, r)
-                      },
-                      _lerp: function (e, t, n, r, i) {
-                        for (var o = 1 - r, a = 0; a !== i; ++a) {
-                          var s = t + a
-                          e[s] = e[s] * o + e[n + a] * r
-                        }
-                      },
-                      _lerpAdditive: function (e, t, n, r, i) {
-                        for (var o = 0; o !== i; ++o) {
-                          var a = t + o
-                          e[a] = e[a] + e[n + o] * r
-                        }
-                      },
-                    })
-                    var Wd = '\\[\\]\\.:\\/',
-                      qd = new RegExp('[' + Wd + ']', 'g'),
-                      Xd = '[^' + Wd + ']',
-                      Yd = '[^' + Wd.replace('\\.', '') + ']',
-                      Qd = /((?:WC+[\/:])*)/.source.replace('WC', Xd),
-                      Zd = /(WCOD+)?/.source.replace('WCOD', Yd),
-                      Kd = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', Xd),
-                      Jd = /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', Xd),
-                      $d = new RegExp('^' + Qd + Zd + Kd + Jd + '$'),
-                      ep = ['material', 'materials', 'bones']
-                    function tp(e, t, n) {
-                      var r = n || np.parseTrackName(t)
-                      ;(this._targetGroup = e), (this._bindings = e.subscribe_(t, r))
-                    }
-                    function np(e, t, n) {
-                      ;(this.path = t),
-                        (this.parsedPath = n || np.parseTrackName(t)),
-                        (this.node = np.findNode(e, this.parsedPath.nodeName) || e),
-                        (this.rootNode = e)
-                    }
-                    function rp() {
-                      ;(this.uuid = Kn.generateUUID()),
-                        (this._objects = Array.prototype.slice.call(arguments)),
-                        (this.nCachedObjects_ = 0)
-                      var e = {}
-                      this._indicesByUUID = e
-                      for (var t = 0, n = arguments.length; t !== n; ++t) e[arguments[t].uuid] = t
-                      ;(this._paths = []),
-                        (this._parsedPaths = []),
-                        (this._bindings = []),
-                        (this._bindingsIndicesByPath = {})
-                      var r = this
-                      this.stats = {
-                        objects: {
-                          get total() {
-                            return r._objects.length
-                          },
-                          get inUse() {
-                            return this.total - r.nCachedObjects_
-                          },
-                        },
-                        get bindingsPerObject() {
-                          return r._bindings.length
-                        },
-                      }
-                    }
-                    Object.assign(tp.prototype, {
-                      getValue: function (e, t) {
-                        this.bind()
-                        var n = this._targetGroup.nCachedObjects_,
-                          r = this._bindings[n]
-                        void 0 !== r && r.getValue(e, t)
-                      },
-                      setValue: function (e, t) {
-                        for (
-                          var n = this._bindings,
-                            r = this._targetGroup.nCachedObjects_,
-                            i = n.length;
-                          r !== i;
-                          ++r
-                        )
-                          n[r].setValue(e, t)
-                      },
-                      bind: function () {
-                        for (
-                          var e = this._bindings,
-                            t = this._targetGroup.nCachedObjects_,
-                            n = e.length;
-                          t !== n;
-                          ++t
-                        )
-                          e[t].bind()
-                      },
-                      unbind: function () {
-                        for (
-                          var e = this._bindings,
-                            t = this._targetGroup.nCachedObjects_,
-                            n = e.length;
-                          t !== n;
-                          ++t
-                        )
-                          e[t].unbind()
-                      },
-                    }),
-                      Object.assign(np, {
-                        Composite: tp,
-                        create: function (e, t, n) {
-                          return e && e.isAnimationObjectGroup
-                            ? new np.Composite(e, t, n)
-                            : new np(e, t, n)
-                        },
-                        sanitizeNodeName: function (e) {
-                          return e.replace(/\s/g, '_').replace(qd, '')
-                        },
-                        parseTrackName: function (e) {
-                          var t = $d.exec(e)
-                          if (!t) throw new Error('PropertyBinding: Cannot parse trackName: ' + e)
-                          var n = {
-                              nodeName: t[2],
-                              objectName: t[3],
-                              objectIndex: t[4],
-                              propertyName: t[5],
-                              propertyIndex: t[6],
-                            },
-                            r = n.nodeName && n.nodeName.lastIndexOf('.')
-                          if (void 0 !== r && -1 !== r) {
-                            var i = n.nodeName.substring(r + 1)
-                            ;-1 !== ep.indexOf(i) &&
-                              ((n.nodeName = n.nodeName.substring(0, r)), (n.objectName = i))
-                          }
-                          if (null === n.propertyName || 0 === n.propertyName.length)
-                            throw new Error(
-                              'PropertyBinding: can not parse propertyName from trackName: ' + e,
-                            )
-                          return n
-                        },
-                        findNode: function (e, t) {
-                          if (
-                            !t ||
-                            '' === t ||
-                            '.' === t ||
-                            -1 === t ||
-                            t === e.name ||
-                            t === e.uuid
-                          )
-                            return e
-                          if (e.skeleton) {
-                            var n = e.skeleton.getBoneByName(t)
-                            if (void 0 !== n) return n
-                          }
-                          if (e.children) {
-                            var r = (function e(n) {
-                              for (var r = 0; r < n.length; r++) {
-                                var i = n[r]
-                                if (i.name === t || i.uuid === t) return i
-                                var o = e(i.children)
-                                if (o) return o
-                              }
-                              return null
-                            })(e.children)
-                            if (r) return r
-                          }
-                          return null
-                        },
-                      }),
-                      Object.assign(np.prototype, {
-                        _getValue_unavailable: function () {},
-                        _setValue_unavailable: function () {},
-                        BindingType: {
-                          Direct: 0,
-                          EntireArray: 1,
-                          ArrayElement: 2,
-                          HasFromToArray: 3,
-                        },
-                        Versioning: { None: 0, NeedsUpdate: 1, MatrixWorldNeedsUpdate: 2 },
-                        GetterByBindingType: [
-                          function (e, t) {
-                            e[t] = this.node[this.propertyName]
-                          },
-                          function (e, t) {
-                            for (var n = this.resolvedProperty, r = 0, i = n.length; r !== i; ++r)
-                              e[t++] = n[r]
-                          },
-                          function (e, t) {
-                            e[t] = this.resolvedProperty[this.propertyIndex]
-                          },
-                          function (e, t) {
-                            this.resolvedProperty.toArray(e, t)
-                          },
-                        ],
-                        SetterByBindingTypeAndVersioning: [
-                          [
-                            function (e, t) {
-                              this.targetObject[this.propertyName] = e[t]
-                            },
-                            function (e, t) {
-                              ;(this.targetObject[this.propertyName] = e[t]),
-                                (this.targetObject.needsUpdate = !0)
-                            },
-                            function (e, t) {
-                              ;(this.targetObject[this.propertyName] = e[t]),
-                                (this.targetObject.matrixWorldNeedsUpdate = !0)
-                            },
-                          ],
-                          [
-                            function (e, t) {
-                              for (var n = this.resolvedProperty, r = 0, i = n.length; r !== i; ++r)
-                                n[r] = e[t++]
-                            },
-                            function (e, t) {
-                              for (var n = this.resolvedProperty, r = 0, i = n.length; r !== i; ++r)
-                                n[r] = e[t++]
-                              this.targetObject.needsUpdate = !0
-                            },
-                            function (e, t) {
-                              for (var n = this.resolvedProperty, r = 0, i = n.length; r !== i; ++r)
-                                n[r] = e[t++]
-                              this.targetObject.matrixWorldNeedsUpdate = !0
-                            },
-                          ],
-                          [
-                            function (e, t) {
-                              this.resolvedProperty[this.propertyIndex] = e[t]
-                            },
-                            function (e, t) {
-                              ;(this.resolvedProperty[this.propertyIndex] = e[t]),
-                                (this.targetObject.needsUpdate = !0)
-                            },
-                            function (e, t) {
-                              ;(this.resolvedProperty[this.propertyIndex] = e[t]),
-                                (this.targetObject.matrixWorldNeedsUpdate = !0)
-                            },
-                          ],
-                          [
-                            function (e, t) {
-                              this.resolvedProperty.fromArray(e, t)
-                            },
-                            function (e, t) {
-                              this.resolvedProperty.fromArray(e, t),
-                                (this.targetObject.needsUpdate = !0)
-                            },
-                            function (e, t) {
-                              this.resolvedProperty.fromArray(e, t),
-                                (this.targetObject.matrixWorldNeedsUpdate = !0)
-                            },
-                          ],
-                        ],
-                        getValue: function (e, t) {
-                          this.bind(), this.getValue(e, t)
-                        },
-                        setValue: function (e, t) {
-                          this.bind(), this.setValue(e, t)
-                        },
-                        bind: function () {
-                          var e = this.node,
-                            t = this.parsedPath,
-                            n = t.objectName,
-                            r = t.propertyName,
-                            i = t.propertyIndex
-                          if (
-                            (e ||
-                              ((e = np.findNode(this.rootNode, t.nodeName) || this.rootNode),
-                              (this.node = e)),
-                            (this.getValue = this._getValue_unavailable),
-                            (this.setValue = this._setValue_unavailable),
-                            e)
-                          ) {
-                            if (n) {
-                              var o = t.objectIndex
-                              switch (n) {
-                                case 'materials':
-                                  if (!e.material)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to material as node does not have a material.',
-                                      this,
-                                    )
-                                  if (!e.material.materials)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.',
-                                      this,
-                                    )
-                                  e = e.material.materials
-                                  break
-                                case 'bones':
-                                  if (!e.skeleton)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.',
-                                      this,
-                                    )
-                                  e = e.skeleton.bones
-                                  for (var a = 0; a < e.length; a++)
-                                    if (e[a].name === o) {
-                                      o = a
-                                      break
-                                    }
-                                  break
-                                default:
-                                  if (void 0 === e[n])
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to objectName of node undefined.',
-                                      this,
-                                    )
-                                  e = e[n]
-                              }
-                              if (void 0 !== o) {
-                                if (void 0 === e[o])
-                                  return void console.error(
-                                    'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.',
-                                    this,
-                                    e,
-                                  )
-                                e = e[o]
-                              }
-                            }
-                            var s = e[r]
-                            if (void 0 !== s) {
-                              var l = this.Versioning.None
-                              ;(this.targetObject = e),
-                                void 0 !== e.needsUpdate
-                                  ? (l = this.Versioning.NeedsUpdate)
-                                  : void 0 !== e.matrixWorldNeedsUpdate &&
-                                    (l = this.Versioning.MatrixWorldNeedsUpdate)
-                              var c = this.BindingType.Direct
-                              if (void 0 !== i) {
-                                if ('morphTargetInfluences' === r) {
-                                  if (!e.geometry)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.',
-                                      this,
-                                    )
-                                  if (!e.geometry.isBufferGeometry)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.',
-                                      this,
-                                    )
-                                  if (!e.geometry.morphAttributes)
-                                    return void console.error(
-                                      'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.',
-                                      this,
-                                    )
-                                  void 0 !== e.morphTargetDictionary[i] &&
-                                    (i = e.morphTargetDictionary[i])
-                                }
-                                ;(c = this.BindingType.ArrayElement),
-                                  (this.resolvedProperty = s),
-                                  (this.propertyIndex = i)
-                              } else
-                                void 0 !== s.fromArray && void 0 !== s.toArray
-                                  ? ((c = this.BindingType.HasFromToArray),
-                                    (this.resolvedProperty = s))
-                                  : Array.isArray(s)
-                                  ? ((c = this.BindingType.EntireArray),
-                                    (this.resolvedProperty = s))
-                                  : (this.propertyName = r)
-                              ;(this.getValue = this.GetterByBindingType[c]),
-                                (this.setValue = this.SetterByBindingTypeAndVersioning[c][l])
-                            } else {
-                              var u = t.nodeName
-                              console.error(
-                                'THREE.PropertyBinding: Trying to update property for track: ' +
-                                  u +
-                                  '.' +
-                                  r +
-                                  " but it wasn't found.",
-                                e,
-                              )
-                            }
-                          } else
-                            console.error(
-                              'THREE.PropertyBinding: Trying to update node for track: ' +
-                                this.path +
-                                " but it wasn't found.",
-                            )
-                        },
-                        unbind: function () {
-                          ;(this.node = null),
-                            (this.getValue = this._getValue_unbound),
-                            (this.setValue = this._setValue_unbound)
-                        },
-                      }),
-                      Object.assign(np.prototype, {
-                        _getValue_unbound: np.prototype.getValue,
-                        _setValue_unbound: np.prototype.setValue,
-                      }),
-                      Object.assign(rp.prototype, {
-                        isAnimationObjectGroup: !0,
-                        add: function () {
-                          for (
-                            var e = this._objects,
-                              t = this._indicesByUUID,
-                              n = this._paths,
-                              r = this._parsedPaths,
-                              i = this._bindings,
-                              o = i.length,
-                              a = void 0,
-                              s = e.length,
-                              l = this.nCachedObjects_,
-                              c = 0,
-                              u = arguments.length;
-                            c !== u;
-                            ++c
-                          ) {
-                            var h = arguments[c],
-                              d = h.uuid,
-                              p = t[d]
-                            if (void 0 === p) {
-                              ;(p = s++), (t[d] = p), e.push(h)
-                              for (var f = 0, m = o; f !== m; ++f) i[f].push(new np(h, n[f], r[f]))
-                            } else if (p < l) {
-                              a = e[p]
-                              var v = --l,
-                                g = e[v]
-                              ;(t[g.uuid] = p), (e[p] = g), (t[d] = v), (e[v] = h)
-                              for (var y = 0, b = o; y !== b; ++y) {
-                                var A = i[y],
-                                  w = A[v],
-                                  x = A[p]
-                                ;(A[p] = w), void 0 === x && (x = new np(h, n[y], r[y])), (A[v] = x)
-                              }
-                            } else
-                              e[p] !== a &&
-                                console.error(
-                                  'THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.',
-                                )
-                          }
-                          this.nCachedObjects_ = l
-                        },
-                        remove: function () {
-                          for (
-                            var e = this._objects,
-                              t = this._indicesByUUID,
-                              n = this._bindings,
-                              r = n.length,
-                              i = this.nCachedObjects_,
-                              o = 0,
-                              a = arguments.length;
-                            o !== a;
-                            ++o
-                          ) {
-                            var s = arguments[o],
-                              l = s.uuid,
-                              c = t[l]
-                            if (void 0 !== c && c >= i) {
-                              var u = i++,
-                                h = e[u]
-                              ;(t[h.uuid] = c), (e[c] = h), (t[l] = u), (e[u] = s)
-                              for (var d = 0, p = r; d !== p; ++d) {
-                                var f = n[d],
-                                  m = f[u],
-                                  v = f[c]
-                                ;(f[c] = m), (f[u] = v)
-                              }
-                            }
-                          }
-                          this.nCachedObjects_ = i
-                        },
-                        uncache: function () {
-                          for (
-                            var e = this._objects,
-                              t = this._indicesByUUID,
-                              n = this._bindings,
-                              r = n.length,
-                              i = this.nCachedObjects_,
-                              o = e.length,
-                              a = 0,
-                              s = arguments.length;
-                            a !== s;
-                            ++a
-                          ) {
-                            var l = arguments[a].uuid,
-                              c = t[l]
-                            if (void 0 !== c)
-                              if ((delete t[l], c < i)) {
-                                var u = --i,
-                                  h = e[u],
-                                  d = --o,
-                                  p = e[d]
-                                ;(t[h.uuid] = c), (e[c] = h), (t[p.uuid] = u), (e[u] = p), e.pop()
-                                for (var f = 0, m = r; f !== m; ++f) {
-                                  var v = n[f],
-                                    g = v[u],
-                                    y = v[d]
-                                  ;(v[c] = g), (v[u] = y), v.pop()
-                                }
-                              } else {
-                                var b = --o,
-                                  A = e[b]
-                                b > 0 && (t[A.uuid] = c), (e[c] = A), e.pop()
-                                for (var w = 0, x = r; w !== x; ++w) {
-                                  var E = n[w]
-                                  ;(E[c] = E[b]), E.pop()
-                                }
-                              }
-                          }
-                          this.nCachedObjects_ = i
-                        },
-                        subscribe_: function (e, t) {
-                          var n = this._bindingsIndicesByPath,
-                            r = n[e],
-                            i = this._bindings
-                          if (void 0 !== r) return i[r]
-                          var o = this._paths,
-                            a = this._parsedPaths,
-                            s = this._objects,
-                            l = s.length,
-                            c = this.nCachedObjects_,
-                            u = new Array(l)
-                          ;(r = i.length), (n[e] = r), o.push(e), a.push(t), i.push(u)
-                          for (var h = c, d = s.length; h !== d; ++h) {
-                            var p = s[h]
-                            u[h] = new np(p, e, t)
-                          }
-                          return u
-                        },
-                        unsubscribe_: function (e) {
-                          var t = this._bindingsIndicesByPath,
-                            n = t[e]
-                          if (void 0 !== n) {
-                            var r = this._paths,
-                              i = this._parsedPaths,
-                              o = this._bindings,
-                              a = o.length - 1,
-                              s = o[a]
-                            ;(t[e[a]] = n),
-                              (o[n] = s),
-                              o.pop(),
-                              (i[n] = i[a]),
-                              i.pop(),
-                              (r[n] = r[a]),
-                              r.pop()
-                          }
-                        },
-                      })
-                    var ip = (function () {
-                      function e(e, t, n, r) {
-                        void 0 === n && (n = null),
-                          void 0 === r && (r = t.blendMode),
-                          (this._mixer = e),
-                          (this._clip = t),
-                          (this._localRoot = n),
-                          (this.blendMode = r)
-                        for (
-                          var i = t.tracks,
-                            o = i.length,
-                            a = new Array(o),
-                            s = { endingStart: jt, endingEnd: jt },
-                            l = 0;
-                          l !== o;
-                          ++l
-                        ) {
-                          var c = i[l].createInterpolant(null)
-                          ;(a[l] = c), (c.settings = s)
-                        }
-                        ;(this._interpolantSettings = s),
-                          (this._interpolants = a),
-                          (this._propertyBindings = new Array(o)),
-                          (this._cacheIndex = null),
-                          (this._byClipCacheIndex = null),
-                          (this._timeScaleInterpolant = null),
-                          (this._weightInterpolant = null),
-                          (this.loop = Nt),
-                          (this._loopCount = -1),
-                          (this._startTime = null),
-                          (this.time = 0),
-                          (this.timeScale = 1),
-                          (this._effectiveTimeScale = 1),
-                          (this.weight = 1),
-                          (this._effectiveWeight = 1),
-                          (this.repetitions = 1 / 0),
-                          (this.paused = !1),
-                          (this.enabled = !0),
-                          (this.clampWhenFinished = !1),
-                          (this.zeroSlopeAtStart = !0),
-                          (this.zeroSlopeAtEnd = !0)
-                      }
-                      var t = e.prototype
-                      return (
-                        (t.play = function () {
-                          return this._mixer._activateAction(this), this
-                        }),
-                        (t.stop = function () {
-                          return this._mixer._deactivateAction(this), this.reset()
-                        }),
-                        (t.reset = function () {
-                          return (
-                            (this.paused = !1),
-                            (this.enabled = !0),
-                            (this.time = 0),
-                            (this._loopCount = -1),
-                            (this._startTime = null),
-                            this.stopFading().stopWarping()
-                          )
-                        }),
-                        (t.isRunning = function () {
-                          return (
-                            this.enabled &&
-                            !this.paused &&
-                            0 !== this.timeScale &&
-                            null === this._startTime &&
-                            this._mixer._isActiveAction(this)
-                          )
-                        }),
-                        (t.isScheduled = function () {
-                          return this._mixer._isActiveAction(this)
-                        }),
-                        (t.startAt = function (e) {
-                          return (this._startTime = e), this
-                        }),
-                        (t.setLoop = function (e, t) {
-                          return (this.loop = e), (this.repetitions = t), this
-                        }),
-                        (t.setEffectiveWeight = function (e) {
-                          return (
-                            (this.weight = e),
-                            (this._effectiveWeight = this.enabled ? e : 0),
-                            this.stopFading()
-                          )
-                        }),
-                        (t.getEffectiveWeight = function () {
-                          return this._effectiveWeight
-                        }),
-                        (t.fadeIn = function (e) {
-                          return this._scheduleFading(e, 0, 1)
-                        }),
-                        (t.fadeOut = function (e) {
-                          return this._scheduleFading(e, 1, 0)
-                        }),
-                        (t.crossFadeFrom = function (e, t, n) {
-                          if ((e.fadeOut(t), this.fadeIn(t), n)) {
-                            var r = this._clip.duration,
-                              i = e._clip.duration,
-                              o = i / r,
-                              a = r / i
-                            e.warp(1, o, t), this.warp(a, 1, t)
-                          }
-                          return this
-                        }),
-                        (t.crossFadeTo = function (e, t, n) {
-                          return e.crossFadeFrom(this, t, n)
-                        }),
-                        (t.stopFading = function () {
-                          var e = this._weightInterpolant
-                          return (
-                            null !== e &&
-                              ((this._weightInterpolant = null),
-                              this._mixer._takeBackControlInterpolant(e)),
-                            this
-                          )
-                        }),
-                        (t.setEffectiveTimeScale = function (e) {
-                          return (
-                            (this.timeScale = e),
-                            (this._effectiveTimeScale = this.paused ? 0 : e),
-                            this.stopWarping()
-                          )
-                        }),
-                        (t.getEffectiveTimeScale = function () {
-                          return this._effectiveTimeScale
-                        }),
-                        (t.setDuration = function (e) {
-                          return (this.timeScale = this._clip.duration / e), this.stopWarping()
-                        }),
-                        (t.syncWith = function (e) {
-                          return (
-                            (this.time = e.time), (this.timeScale = e.timeScale), this.stopWarping()
-                          )
-                        }),
-                        (t.halt = function (e) {
-                          return this.warp(this._effectiveTimeScale, 0, e)
-                        }),
-                        (t.warp = function (e, t, n) {
-                          var r = this._mixer,
-                            i = r.time,
-                            o = this.timeScale,
-                            a = this._timeScaleInterpolant
-                          null === a &&
-                            ((a = r._lendControlInterpolant()), (this._timeScaleInterpolant = a))
-                          var s = a.parameterPositions,
-                            l = a.sampleValues
-                          return (s[0] = i), (s[1] = i + n), (l[0] = e / o), (l[1] = t / o), this
-                        }),
-                        (t.stopWarping = function () {
-                          var e = this._timeScaleInterpolant
-                          return (
-                            null !== e &&
-                              ((this._timeScaleInterpolant = null),
-                              this._mixer._takeBackControlInterpolant(e)),
-                            this
-                          )
-                        }),
-                        (t.getMixer = function () {
-                          return this._mixer
-                        }),
-                        (t.getClip = function () {
-                          return this._clip
-                        }),
-                        (t.getRoot = function () {
-                          return this._localRoot || this._mixer._root
-                        }),
-                        (t._update = function (e, t, n, r) {
-                          if (this.enabled) {
-                            var i = this._startTime
-                            if (null !== i) {
-                              var o = (e - i) * n
-                              if (o < 0 || 0 === n) return
-                              ;(this._startTime = null), (t = n * o)
-                            }
-                            t *= this._updateTimeScale(e)
-                            var a = this._updateTime(t),
-                              s = this._updateWeight(e)
-                            if (s > 0) {
-                              var l = this._interpolants,
-                                c = this._propertyBindings
-                              switch (this.blendMode) {
-                                case Xt:
-                                  for (var u = 0, h = l.length; u !== h; ++u)
-                                    l[u].evaluate(a), c[u].accumulateAdditive(s)
-                                  break
-                                case qt:
-                                default:
-                                  for (var d = 0, p = l.length; d !== p; ++d)
-                                    l[d].evaluate(a), c[d].accumulate(r, s)
-                              }
-                            }
-                          } else this._updateWeight(e)
-                        }),
-                        (t._updateWeight = function (e) {
-                          var t = 0
-                          if (this.enabled) {
-                            t = this.weight
-                            var n = this._weightInterpolant
-                            if (null !== n) {
-                              var r = n.evaluate(e)[0]
-                              ;(t *= r),
-                                e > n.parameterPositions[1] &&
-                                  (this.stopFading(), 0 === r && (this.enabled = !1))
-                            }
-                          }
-                          return (this._effectiveWeight = t), t
-                        }),
-                        (t._updateTimeScale = function (e) {
-                          var t = 0
-                          if (!this.paused) {
-                            t = this.timeScale
-                            var n = this._timeScaleInterpolant
-                            null !== n &&
-                              ((t *= n.evaluate(e)[0]),
-                              e > n.parameterPositions[1] &&
-                                (this.stopWarping(),
-                                0 === t ? (this.paused = !0) : (this.timeScale = t)))
-                          }
-                          return (this._effectiveTimeScale = t), t
-                        }),
-                        (t._updateTime = function (e) {
-                          var t = this._clip.duration,
-                            n = this.loop,
-                            r = this.time + e,
-                            i = this._loopCount,
-                            o = n === Ut
-                          if (0 === e) return -1 === i ? r : o && 1 === (1 & i) ? t - r : r
-                          if (n === kt) {
-                            ;-1 === i && ((this._loopCount = 0), this._setEndings(!0, !0, !1))
-                            e: {
-                              if (r >= t) r = t
-                              else {
-                                if (!(r < 0)) {
-                                  this.time = r
-                                  break e
-                                }
-                                r = 0
-                              }
-                              this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1),
-                                (this.time = r),
-                                this._mixer.dispatchEvent({
-                                  type: 'finished',
-                                  action: this,
-                                  direction: e < 0 ? -1 : 1,
-                                })
-                            }
-                          } else {
-                            if (
-                              (-1 === i &&
-                                (e >= 0
-                                  ? ((i = 0), this._setEndings(!0, 0 === this.repetitions, o))
-                                  : this._setEndings(0 === this.repetitions, !0, o)),
-                              r >= t || r < 0)
-                            ) {
-                              var a = Math.floor(r / t)
-                              ;(r -= t * a), (i += Math.abs(a))
-                              var s = this.repetitions - i
-                              if (s <= 0)
-                                this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1),
-                                  (r = e > 0 ? t : 0),
-                                  (this.time = r),
-                                  this._mixer.dispatchEvent({
-                                    type: 'finished',
-                                    action: this,
-                                    direction: e > 0 ? 1 : -1,
-                                  })
-                              else {
-                                if (1 === s) {
-                                  var l = e < 0
-                                  this._setEndings(l, !l, o)
-                                } else this._setEndings(!1, !1, o)
-                                ;(this._loopCount = i),
-                                  (this.time = r),
-                                  this._mixer.dispatchEvent({
-                                    type: 'loop',
-                                    action: this,
-                                    loopDelta: a,
-                                  })
-                              }
-                            } else this.time = r
-                            if (o && 1 === (1 & i)) return t - r
-                          }
-                          return r
-                        }),
-                        (t._setEndings = function (e, t, n) {
-                          var r = this._interpolantSettings
-                          n
-                            ? ((r.endingStart = Vt), (r.endingEnd = Vt))
-                            : ((r.endingStart = e ? (this.zeroSlopeAtStart ? Vt : jt) : Wt),
-                              (r.endingEnd = t ? (this.zeroSlopeAtEnd ? Vt : jt) : Wt))
-                        }),
-                        (t._scheduleFading = function (e, t, n) {
-                          var r = this._mixer,
-                            i = r.time,
-                            o = this._weightInterpolant
-                          null === o &&
-                            ((o = r._lendControlInterpolant()), (this._weightInterpolant = o))
-                          var a = o.parameterPositions,
-                            s = o.sampleValues
-                          return (a[0] = i), (s[0] = t), (a[1] = i + e), (s[1] = n), this
-                        }),
-                        e
-                      )
-                    })()
-                    function op(e) {
-                      ;(this._root = e),
-                        this._initMemoryManager(),
-                        (this._accuIndex = 0),
-                        (this.time = 0),
-                        (this.timeScale = 1)
-                    }
-                    op.prototype = Object.assign(Object.create(qn.prototype), {
-                      constructor: op,
-                      _bindAction: function (e, t) {
-                        var n = e._localRoot || this._root,
-                          r = e._clip.tracks,
-                          i = r.length,
-                          o = e._propertyBindings,
-                          a = e._interpolants,
-                          s = n.uuid,
-                          l = this._bindingsByRootAndName,
-                          c = l[s]
-                        void 0 === c && ((c = {}), (l[s] = c))
-                        for (var u = 0; u !== i; ++u) {
-                          var h = r[u],
-                            d = h.name,
-                            p = c[d]
-                          if (void 0 !== p) o[u] = p
-                          else {
-                            if (void 0 !== (p = o[u])) {
-                              null === p._cacheIndex &&
-                                (++p.referenceCount, this._addInactiveBinding(p, s, d))
-                              continue
-                            }
-                            var f = t && t._propertyBindings[u].binding.parsedPath
-                            ++(p = new Vd(np.create(n, d, f), h.ValueTypeName, h.getValueSize()))
-                              .referenceCount,
-                              this._addInactiveBinding(p, s, d),
-                              (o[u] = p)
-                          }
-                          a[u].resultBuffer = p.buffer
-                        }
-                      },
-                      _activateAction: function (e) {
-                        if (!this._isActiveAction(e)) {
-                          if (null === e._cacheIndex) {
-                            var t = (e._localRoot || this._root).uuid,
-                              n = e._clip.uuid,
-                              r = this._actionsByClip[n]
-                            this._bindAction(e, r && r.knownActions[0]),
-                              this._addInactiveAction(e, n, t)
-                          }
-                          for (var i = e._propertyBindings, o = 0, a = i.length; o !== a; ++o) {
-                            var s = i[o]
-                            0 === s.useCount++ && (this._lendBinding(s), s.saveOriginalState())
-                          }
-                          this._lendAction(e)
-                        }
-                      },
-                      _deactivateAction: function (e) {
-                        if (this._isActiveAction(e)) {
-                          for (var t = e._propertyBindings, n = 0, r = t.length; n !== r; ++n) {
-                            var i = t[n]
-                            0 === --i.useCount &&
-                              (i.restoreOriginalState(), this._takeBackBinding(i))
-                          }
-                          this._takeBackAction(e)
-                        }
-                      },
-                      _initMemoryManager: function () {
-                        ;(this._actions = []),
-                          (this._nActiveActions = 0),
-                          (this._actionsByClip = {}),
-                          (this._bindings = []),
-                          (this._nActiveBindings = 0),
-                          (this._bindingsByRootAndName = {}),
-                          (this._controlInterpolants = []),
-                          (this._nActiveControlInterpolants = 0)
-                        var e = this
-                        this.stats = {
-                          actions: {
-                            get total() {
-                              return e._actions.length
-                            },
-                            get inUse() {
-                              return e._nActiveActions
-                            },
-                          },
-                          bindings: {
-                            get total() {
-                              return e._bindings.length
-                            },
-                            get inUse() {
-                              return e._nActiveBindings
-                            },
-                          },
-                          controlInterpolants: {
-                            get total() {
-                              return e._controlInterpolants.length
-                            },
-                            get inUse() {
-                              return e._nActiveControlInterpolants
-                            },
-                          },
-                        }
-                      },
-                      _isActiveAction: function (e) {
-                        var t = e._cacheIndex
-                        return null !== t && t < this._nActiveActions
-                      },
-                      _addInactiveAction: function (e, t, n) {
-                        var r = this._actions,
-                          i = this._actionsByClip,
-                          o = i[t]
-                        if (void 0 === o)
-                          (o = { knownActions: [e], actionByRoot: {} }),
-                            (e._byClipCacheIndex = 0),
-                            (i[t] = o)
-                        else {
-                          var a = o.knownActions
-                          ;(e._byClipCacheIndex = a.length), a.push(e)
-                        }
-                        ;(e._cacheIndex = r.length), r.push(e), (o.actionByRoot[n] = e)
-                      },
-                      _removeInactiveAction: function (e) {
-                        var t = this._actions,
-                          n = t[t.length - 1],
-                          r = e._cacheIndex
-                        ;(n._cacheIndex = r), (t[r] = n), t.pop(), (e._cacheIndex = null)
-                        var i = e._clip.uuid,
-                          o = this._actionsByClip,
-                          a = o[i],
-                          s = a.knownActions,
-                          l = s[s.length - 1],
-                          c = e._byClipCacheIndex
-                        ;(l._byClipCacheIndex = c),
-                          (s[c] = l),
-                          s.pop(),
-                          (e._byClipCacheIndex = null),
-                          delete a.actionByRoot[(e._localRoot || this._root).uuid],
-                          0 === s.length && delete o[i],
-                          this._removeInactiveBindingsForAction(e)
-                      },
-                      _removeInactiveBindingsForAction: function (e) {
-                        for (var t = e._propertyBindings, n = 0, r = t.length; n !== r; ++n) {
-                          var i = t[n]
-                          0 === --i.referenceCount && this._removeInactiveBinding(i)
-                        }
-                      },
-                      _lendAction: function (e) {
-                        var t = this._actions,
-                          n = e._cacheIndex,
-                          r = this._nActiveActions++,
-                          i = t[r]
-                        ;(e._cacheIndex = r), (t[r] = e), (i._cacheIndex = n), (t[n] = i)
-                      },
-                      _takeBackAction: function (e) {
-                        var t = this._actions,
-                          n = e._cacheIndex,
-                          r = --this._nActiveActions,
-                          i = t[r]
-                        ;(e._cacheIndex = r), (t[r] = e), (i._cacheIndex = n), (t[n] = i)
-                      },
-                      _addInactiveBinding: function (e, t, n) {
-                        var r = this._bindingsByRootAndName,
-                          i = this._bindings,
-                          o = r[t]
-                        void 0 === o && ((o = {}), (r[t] = o)),
-                          (o[n] = e),
-                          (e._cacheIndex = i.length),
-                          i.push(e)
-                      },
-                      _removeInactiveBinding: function (e) {
-                        var t = this._bindings,
-                          n = e.binding,
-                          r = n.rootNode.uuid,
-                          i = n.path,
-                          o = this._bindingsByRootAndName,
-                          a = o[r],
-                          s = t[t.length - 1],
-                          l = e._cacheIndex
-                        ;(s._cacheIndex = l),
-                          (t[l] = s),
-                          t.pop(),
-                          delete a[i],
-                          0 === Object.keys(a).length && delete o[r]
-                      },
-                      _lendBinding: function (e) {
-                        var t = this._bindings,
-                          n = e._cacheIndex,
-                          r = this._nActiveBindings++,
-                          i = t[r]
-                        ;(e._cacheIndex = r), (t[r] = e), (i._cacheIndex = n), (t[n] = i)
-                      },
-                      _takeBackBinding: function (e) {
-                        var t = this._bindings,
-                          n = e._cacheIndex,
-                          r = --this._nActiveBindings,
-                          i = t[r]
-                        ;(e._cacheIndex = r), (t[r] = e), (i._cacheIndex = n), (t[n] = i)
-                      },
-                      _lendControlInterpolant: function () {
-                        var e = this._controlInterpolants,
-                          t = this._nActiveControlInterpolants++,
-                          n = e[t]
-                        return (
-                          void 0 === n &&
-                            (((n = new qu(
-                              new Float32Array(2),
-                              new Float32Array(2),
-                              1,
-                              this._controlInterpolantsResultBuffer,
-                            )).__cacheIndex = t),
-                            (e[t] = n)),
-                          n
-                        )
-                      },
-                      _takeBackControlInterpolant: function (e) {
-                        var t = this._controlInterpolants,
-                          n = e.__cacheIndex,
-                          r = --this._nActiveControlInterpolants,
-                          i = t[r]
-                        ;(e.__cacheIndex = r), (t[r] = e), (i.__cacheIndex = n), (t[n] = i)
-                      },
-                      _controlInterpolantsResultBuffer: new Float32Array(1),
-                      clipAction: function (e, t, n) {
-                        var r = t || this._root,
-                          i = r.uuid,
-                          o = 'string' === typeof e ? nh.findByName(r, e) : e,
-                          a = null !== o ? o.uuid : e,
-                          s = this._actionsByClip[a],
-                          l = null
-                        if ((void 0 === n && (n = null !== o ? o.blendMode : qt), void 0 !== s)) {
-                          var c = s.actionByRoot[i]
-                          if (void 0 !== c && c.blendMode === n) return c
-                          ;(l = s.knownActions[0]), null === o && (o = l._clip)
-                        }
-                        if (null === o) return null
-                        var u = new ip(this, o, t, n)
-                        return this._bindAction(u, l), this._addInactiveAction(u, a, i), u
-                      },
-                      existingAction: function (e, t) {
-                        var n = t || this._root,
-                          r = n.uuid,
-                          i = 'string' === typeof e ? nh.findByName(n, e) : e,
-                          o = i ? i.uuid : e,
-                          a = this._actionsByClip[o]
-                        return (void 0 !== a && a.actionByRoot[r]) || null
-                      },
-                      stopAllAction: function () {
-                        for (var e = this._actions, t = this._nActiveActions - 1; t >= 0; --t)
-                          e[t].stop()
-                        return this
-                      },
-                      update: function (e) {
-                        e *= this.timeScale
-                        for (
-                          var t = this._actions,
-                            n = this._nActiveActions,
-                            r = (this.time += e),
-                            i = Math.sign(e),
-                            o = (this._accuIndex ^= 1),
-                            a = 0;
-                          a !== n;
-                          ++a
-                        )
-                          t[a]._update(r, e, i, o)
-                        for (var s = this._bindings, l = this._nActiveBindings, c = 0; c !== l; ++c)
-                          s[c].apply(o)
-                        return this
-                      },
-                      setTime: function (e) {
-                        this.time = 0
-                        for (var t = 0; t < this._actions.length; t++) this._actions[t].time = 0
-                        return this.update(e)
-                      },
-                      getRoot: function () {
-                        return this._root
-                      },
-                      uncacheClip: function (e) {
-                        var t = this._actions,
-                          n = e.uuid,
-                          r = this._actionsByClip,
-                          i = r[n]
-                        if (void 0 !== i) {
-                          for (var o = i.knownActions, a = 0, s = o.length; a !== s; ++a) {
-                            var l = o[a]
-                            this._deactivateAction(l)
-                            var c = l._cacheIndex,
-                              u = t[t.length - 1]
-                            ;(l._cacheIndex = null),
-                              (l._byClipCacheIndex = null),
-                              (u._cacheIndex = c),
-                              (t[c] = u),
-                              t.pop(),
-                              this._removeInactiveBindingsForAction(l)
-                          }
-                          delete r[n]
-                        }
-                      },
-                      uncacheRoot: function (e) {
-                        var t = e.uuid,
-                          n = this._actionsByClip
-                        for (var r in n) {
-                          var i = n[r].actionByRoot[t]
-                          void 0 !== i && (this._deactivateAction(i), this._removeInactiveAction(i))
-                        }
-                        var o = this._bindingsByRootAndName[t]
-                        if (void 0 !== o)
-                          for (var a in o) {
-                            var s = o[a]
-                            s.restoreOriginalState(), this._removeInactiveBinding(s)
-                          }
-                      },
-                      uncacheAction: function (e, t) {
-                        var n = this.existingAction(e, t)
-                        null !== n && (this._deactivateAction(n), this._removeInactiveAction(n))
-                      },
-                    })
-                    var ap = (function () {
-                      function e(e) {
-                        'string' === typeof e &&
-                          (console.warn('THREE.Uniform: Type parameter is no longer needed.'),
-                          (e = arguments[1])),
-                          (this.value = e)
-                      }
-                      return (
-                        (e.prototype.clone = function () {
-                          return new e(
-                            void 0 === this.value.clone ? this.value : this.value.clone(),
-                          )
-                        }),
-                        e
-                      )
-                    })()
-                    function sp(e, t, n) {
-                      yl.call(this, e, t), (this.meshPerAttribute = n || 1)
-                    }
-                    function lp(e, t, n, r, i) {
-                      ;(this.buffer = e),
-                        (this.type = t),
-                        (this.itemSize = n),
-                        (this.elementSize = r),
-                        (this.count = i),
-                        (this.version = 0)
-                    }
-                    function cp(e, t, n, r) {
-                      ;(this.ray = new Br(e, t)),
-                        (this.near = n || 0),
-                        (this.far = r || 1 / 0),
-                        (this.camera = null),
-                        (this.layers = new Xr()),
-                        (this.params = {
-                          Mesh: {},
-                          Line: { threshold: 1 },
-                          LOD: {},
-                          Points: { threshold: 1 },
-                          Sprite: {},
-                        }),
-                        Object.defineProperties(this.params, {
-                          PointCloud: {
-                            get: function () {
-                              return (
-                                console.warn(
-                                  'THREE.Raycaster: params.PointCloud has been renamed to params.Points.',
-                                ),
-                                this.Points
-                              )
-                            },
-                          },
-                        })
-                    }
-                    function up(e, t) {
-                      return e.distance - t.distance
-                    }
-                    function hp(e, t, n, r) {
-                      if ((e.layers.test(t.layers) && e.raycast(t, n), !0 === r))
-                        for (var i = e.children, o = 0, a = i.length; o < a; o++) hp(i[o], t, n, !0)
-                    }
-                    ;(sp.prototype = Object.assign(Object.create(yl.prototype), {
-                      constructor: sp,
-                      isInstancedInterleavedBuffer: !0,
-                      copy: function (e) {
-                        return (
-                          yl.prototype.copy.call(this, e),
-                          (this.meshPerAttribute = e.meshPerAttribute),
-                          this
-                        )
-                      },
-                      clone: function (e) {
-                        var t = yl.prototype.clone.call(this, e)
-                        return (t.meshPerAttribute = this.meshPerAttribute), t
-                      },
-                      toJSON: function (e) {
-                        var t = yl.prototype.toJSON.call(this, e)
-                        return (
-                          (t.isInstancedInterleavedBuffer = !0),
-                          (t.meshPerAttribute = this.meshPerAttribute),
-                          t
-                        )
-                      },
-                    })),
-                      Object.defineProperty(lp.prototype, 'needsUpdate', {
-                        set: function (e) {
-                          !0 === e && this.version++
-                        },
-                      }),
-                      Object.assign(lp.prototype, {
-                        isGLBufferAttribute: !0,
-                        setBuffer: function (e) {
-                          return (this.buffer = e), this
-                        },
-                        setType: function (e, t) {
-                          return (this.type = e), (this.elementSize = t), this
-                        },
-                        setItemSize: function (e) {
-                          return (this.itemSize = e), this
-                        },
-                        setCount: function (e) {
-                          return (this.count = e), this
-                        },
-                      }),
-                      Object.assign(cp.prototype, {
-                        set: function (e, t) {
-                          this.ray.set(e, t)
-                        },
-                        setFromCamera: function (e, t) {
-                          t && t.isPerspectiveCamera
-                            ? (this.ray.origin.setFromMatrixPosition(t.matrixWorld),
-                              this.ray.direction
-                                .set(e.x, e.y, 0.5)
-                                .unproject(t)
-                                .sub(this.ray.origin)
-                                .normalize(),
-                              (this.camera = t))
-                            : t && t.isOrthographicCamera
-                            ? (this.ray.origin
-                                .set(e.x, e.y, (t.near + t.far) / (t.near - t.far))
-                                .unproject(t),
-                              this.ray.direction.set(0, 0, -1).transformDirection(t.matrixWorld),
-                              (this.camera = t))
-                            : console.error('THREE.Raycaster: Unsupported camera type: ' + t.type)
-                        },
-                        intersectObject: function (e, t, n) {
-                          var r = n || []
-                          return hp(e, this, r, t), r.sort(up), r
-                        },
-                        intersectObjects: function (e, t, n) {
-                          var r = n || []
-                          if (!1 === Array.isArray(e))
-                            return (
-                              console.warn(
-                                'THREE.Raycaster.intersectObjects: objects is not an Array.',
-                              ),
-                              r
-                            )
-                          for (var i = 0, o = e.length; i < o; i++) hp(e[i], this, r, t)
-                          return r.sort(up), r
-                        },
-                      })
-                    var dp = (function () {
-                        function e(e, t, n) {
-                          return (
-                            void 0 === e && (e = 1),
-                            void 0 === t && (t = 0),
-                            void 0 === n && (n = 0),
-                            (this.radius = e),
-                            (this.phi = t),
-                            (this.theta = n),
-                            this
-                          )
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n) {
-                            return (this.radius = e), (this.phi = t), (this.theta = n), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              (this.radius = e.radius),
-                              (this.phi = e.phi),
-                              (this.theta = e.theta),
-                              this
-                            )
-                          }),
-                          (t.makeSafe = function () {
-                            var e = 1e-6
-                            return (this.phi = Math.max(e, Math.min(Math.PI - e, this.phi))), this
-                          }),
-                          (t.setFromVector3 = function (e) {
-                            return this.setFromCartesianCoords(e.x, e.y, e.z)
-                          }),
-                          (t.setFromCartesianCoords = function (e, t, n) {
-                            return (
-                              (this.radius = Math.sqrt(e * e + t * t + n * n)),
-                              0 === this.radius
-                                ? ((this.theta = 0), (this.phi = 0))
-                                : ((this.theta = Math.atan2(e, n)),
-                                  (this.phi = Math.acos(Kn.clamp(t / this.radius, -1, 1)))),
-                              this
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      pp = (function () {
-                        function e(e, t, n) {
-                          return (
-                            (this.radius = void 0 !== e ? e : 1),
-                            (this.theta = void 0 !== t ? t : 0),
-                            (this.y = void 0 !== n ? n : 0),
-                            this
-                          )
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t, n) {
-                            return (this.radius = e), (this.theta = t), (this.y = n), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return (
-                              (this.radius = e.radius), (this.theta = e.theta), (this.y = e.y), this
-                            )
-                          }),
-                          (t.setFromVector3 = function (e) {
-                            return this.setFromCartesianCoords(e.x, e.y, e.z)
-                          }),
-                          (t.setFromCartesianCoords = function (e, t, n) {
-                            return (
-                              (this.radius = Math.sqrt(e * e + n * n)),
-                              (this.theta = Math.atan2(e, n)),
-                              (this.y = t),
-                              this
-                            )
-                          }),
-                          e
-                        )
-                      })(),
-                      fp = new Jn(),
-                      mp = (function () {
-                        function e(e, t) {
-                          Object.defineProperty(this, 'isBox2', { value: !0 }),
-                            (this.min = void 0 !== e ? e : new Jn(1 / 0, 1 / 0)),
-                            (this.max = void 0 !== t ? t : new Jn(-1 / 0, -1 / 0))
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.min.copy(e), this.max.copy(t), this
-                          }),
-                          (t.setFromPoints = function (e) {
-                            this.makeEmpty()
-                            for (var t = 0, n = e.length; t < n; t++) this.expandByPoint(e[t])
-                            return this
-                          }),
-                          (t.setFromCenterAndSize = function (e, t) {
-                            var n = fp.copy(t).multiplyScalar(0.5)
-                            return this.min.copy(e).sub(n), this.max.copy(e).add(n), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.min.copy(e.min), this.max.copy(e.max), this
-                          }),
-                          (t.makeEmpty = function () {
-                            return (
-                              (this.min.x = this.min.y = 1 / 0),
-                              (this.max.x = this.max.y = -1 / 0),
-                              this
-                            )
-                          }),
-                          (t.isEmpty = function () {
-                            return this.max.x < this.min.x || this.max.y < this.min.y
-                          }),
-                          (t.getCenter = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Box2: .getCenter() target is now required'),
-                                (e = new Jn())),
-                              this.isEmpty()
-                                ? e.set(0, 0)
-                                : e.addVectors(this.min, this.max).multiplyScalar(0.5)
-                            )
-                          }),
-                          (t.getSize = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Box2: .getSize() target is now required'),
-                                (e = new Jn())),
-                              this.isEmpty() ? e.set(0, 0) : e.subVectors(this.max, this.min)
-                            )
-                          }),
-                          (t.expandByPoint = function (e) {
-                            return this.min.min(e), this.max.max(e), this
-                          }),
-                          (t.expandByVector = function (e) {
-                            return this.min.sub(e), this.max.add(e), this
-                          }),
-                          (t.expandByScalar = function (e) {
-                            return this.min.addScalar(-e), this.max.addScalar(e), this
-                          }),
-                          (t.containsPoint = function (e) {
-                            return !(
-                              e.x < this.min.x ||
-                              e.x > this.max.x ||
-                              e.y < this.min.y ||
-                              e.y > this.max.y
-                            )
-                          }),
-                          (t.containsBox = function (e) {
-                            return (
-                              this.min.x <= e.min.x &&
-                              e.max.x <= this.max.x &&
-                              this.min.y <= e.min.y &&
-                              e.max.y <= this.max.y
-                            )
-                          }),
-                          (t.getParameter = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Box2: .getParameter() target is now required'),
-                                (t = new Jn())),
-                              t.set(
-                                (e.x - this.min.x) / (this.max.x - this.min.x),
-                                (e.y - this.min.y) / (this.max.y - this.min.y),
-                              )
-                            )
-                          }),
-                          (t.intersectsBox = function (e) {
-                            return !(
-                              e.max.x < this.min.x ||
-                              e.min.x > this.max.x ||
-                              e.max.y < this.min.y ||
-                              e.min.y > this.max.y
-                            )
-                          }),
-                          (t.clampPoint = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Box2: .clampPoint() target is now required'),
-                                (t = new Jn())),
-                              t.copy(e).clamp(this.min, this.max)
-                            )
-                          }),
-                          (t.distanceToPoint = function (e) {
-                            return fp.copy(e).clamp(this.min, this.max).sub(e).length()
-                          }),
-                          (t.intersect = function (e) {
-                            return this.min.max(e.min), this.max.min(e.max), this
-                          }),
-                          (t.union = function (e) {
-                            return this.min.min(e.min), this.max.max(e.max), this
-                          }),
-                          (t.translate = function (e) {
-                            return this.min.add(e), this.max.add(e), this
-                          }),
-                          (t.equals = function (e) {
-                            return e.min.equals(this.min) && e.max.equals(this.max)
-                          }),
-                          e
-                        )
-                      })(),
-                      vp = new lr(),
-                      gp = new lr(),
-                      yp = (function () {
-                        function e(e, t) {
-                          ;(this.start = void 0 !== e ? e : new lr()),
-                            (this.end = void 0 !== t ? t : new lr())
-                        }
-                        var t = e.prototype
-                        return (
-                          (t.set = function (e, t) {
-                            return this.start.copy(e), this.end.copy(t), this
-                          }),
-                          (t.clone = function () {
-                            return new this.constructor().copy(this)
-                          }),
-                          (t.copy = function (e) {
-                            return this.start.copy(e.start), this.end.copy(e.end), this
-                          }),
-                          (t.getCenter = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Line3: .getCenter() target is now required'),
-                                (e = new lr())),
-                              e.addVectors(this.start, this.end).multiplyScalar(0.5)
-                            )
-                          }),
-                          (t.delta = function (e) {
-                            return (
-                              void 0 === e &&
-                                (console.warn('THREE.Line3: .delta() target is now required'),
-                                (e = new lr())),
-                              e.subVectors(this.end, this.start)
-                            )
-                          }),
-                          (t.distanceSq = function () {
-                            return this.start.distanceToSquared(this.end)
-                          }),
-                          (t.distance = function () {
-                            return this.start.distanceTo(this.end)
-                          }),
-                          (t.at = function (e, t) {
-                            return (
-                              void 0 === t &&
-                                (console.warn('THREE.Line3: .at() target is now required'),
-                                (t = new lr())),
-                              this.delta(t).multiplyScalar(e).add(this.start)
-                            )
-                          }),
-                          (t.closestPointToPointParameter = function (e, t) {
-                            vp.subVectors(e, this.start), gp.subVectors(this.end, this.start)
-                            var n = gp.dot(gp),
-                              r = gp.dot(vp) / n
-                            return t && (r = Kn.clamp(r, 0, 1)), r
-                          }),
-                          (t.closestPointToPoint = function (e, t, n) {
-                            var r = this.closestPointToPointParameter(e, t)
-                            return (
-                              void 0 === n &&
-                                (console.warn(
-                                  'THREE.Line3: .closestPointToPoint() target is now required',
-                                ),
-                                (n = new lr())),
-                              this.delta(n).multiplyScalar(r).add(this.start)
-                            )
-                          }),
-                          (t.applyMatrix4 = function (e) {
-                            return this.start.applyMatrix4(e), this.end.applyMatrix4(e), this
-                          }),
-                          (t.equals = function (e) {
-                            return e.start.equals(this.start) && e.end.equals(this.end)
-                          }),
-                          e
-                        )
-                      })()
-                    function bp(e) {
-                      si.call(this),
-                        (this.material = e),
-                        (this.render = function () {}),
-                        (this.hasPositions = !1),
-                        (this.hasNormals = !1),
-                        (this.hasColors = !1),
-                        (this.hasUvs = !1),
-                        (this.positionArray = null),
-                        (this.normalArray = null),
-                        (this.colorArray = null),
-                        (this.uvArray = null),
-                        (this.count = 0)
-                    }
-                    ;(bp.prototype = Object.create(si.prototype)),
-                      (bp.prototype.constructor = bp),
-                      (bp.prototype.isImmediateRenderObject = !0)
-                    var Ap = new lr(),
-                      wp = (function (e) {
-                        function t(t, n) {
-                          var r
-                          ;((r = e.call(this) || this).light = t),
-                            r.light.updateMatrixWorld(),
-                            (r.matrix = t.matrixWorld),
-                            (r.matrixAutoUpdate = !1),
-                            (r.color = n)
-                          for (
-                            var i = new ro(),
-                              o = [
-                                0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0,
-                                1, 1, 0, 0, 0, 0, -1, 1,
-                              ],
-                              a = 0,
-                              s = 1,
-                              l = 32;
-                            a < l;
-                            a++, s++
-                          ) {
-                            var c = (a / l) * Math.PI * 2,
-                              u = (s / l) * Math.PI * 2
-                            o.push(Math.cos(c), Math.sin(c), 1, Math.cos(u), Math.sin(u), 1)
-                          }
-                          i.setAttribute('position', new Wi(o, 3))
-                          var h = new tc({ fog: !1, toneMapped: !1 })
-                          return (r.cone = new uc(i, h)), r.add(r.cone), r.update(), r
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.dispose = function () {
-                            this.cone.geometry.dispose(), this.cone.material.dispose()
-                          }),
-                          (n.update = function () {
-                            this.light.updateMatrixWorld()
-                            var e = this.light.distance ? this.light.distance : 1e3,
-                              t = e * Math.tan(this.light.angle)
-                            this.cone.scale.set(t, t, e),
-                              Ap.setFromMatrixPosition(this.light.target.matrixWorld),
-                              this.cone.lookAt(Ap),
-                              void 0 !== this.color
-                                ? this.cone.material.color.set(this.color)
-                                : this.cone.material.color.copy(this.light.color)
-                          }),
-                          t
-                        )
-                      })(si),
-                      xp = new lr(),
-                      Ep = new Fr(),
-                      Mp = new Fr(),
-                      _p = (function (e) {
-                        function t(t) {
-                          for (
-                            var n,
-                              r = Tp(t),
-                              i = new ro(),
-                              o = [],
-                              a = [],
-                              s = new Li(0, 0, 1),
-                              l = new Li(0, 1, 0),
-                              c = 0;
-                            c < r.length;
-                            c++
-                          ) {
-                            var u = r[c]
-                            u.parent &&
-                              u.parent.isBone &&
-                              (o.push(0, 0, 0),
-                              o.push(0, 0, 0),
-                              a.push(s.r, s.g, s.b),
-                              a.push(l.r, l.g, l.b))
-                          }
-                          i.setAttribute('position', new Wi(o, 3)),
-                            i.setAttribute('color', new Wi(a, 3))
-                          var h = new tc({
-                            vertexColors: !0,
-                            depthTest: !1,
-                            depthWrite: !1,
-                            toneMapped: !1,
-                            transparent: !0,
-                          })
-                          return (
-                            ((n = e.call(this, i, h) || this).type = 'SkeletonHelper'),
-                            (n.isSkeletonHelper = !0),
-                            (n.root = t),
-                            (n.bones = r),
-                            (n.matrix = t.matrixWorld),
-                            (n.matrixAutoUpdate = !1),
-                            n
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.updateMatrixWorld = function (t) {
-                            var n = this.bones,
-                              r = this.geometry,
-                              i = r.getAttribute('position')
-                            Mp.copy(this.root.matrixWorld).invert()
-                            for (var o = 0, a = 0; o < n.length; o++) {
-                              var s = n[o]
-                              s.parent &&
-                                s.parent.isBone &&
-                                (Ep.multiplyMatrices(Mp, s.matrixWorld),
-                                xp.setFromMatrixPosition(Ep),
-                                i.setXYZ(a, xp.x, xp.y, xp.z),
-                                Ep.multiplyMatrices(Mp, s.parent.matrixWorld),
-                                xp.setFromMatrixPosition(Ep),
-                                i.setXYZ(a + 1, xp.x, xp.y, xp.z),
-                                (a += 2))
-                            }
-                            ;(r.getAttribute('position').needsUpdate = !0),
-                              e.prototype.updateMatrixWorld.call(this, t)
-                          }),
-                          t
-                        )
-                      })(uc)
-                    function Tp(e) {
-                      var t = []
-                      e && e.isBone && t.push(e)
-                      for (var n = 0; n < e.children.length; n++) t.push.apply(t, Tp(e.children[n]))
-                      return t
-                    }
-                    var Sp = (function (e) {
-                        function t(t, n, r) {
-                          var i,
-                            o = new Mu(n, 4, 2),
-                            a = new Oi({ wireframe: !0, fog: !1, toneMapped: !1 })
-                          return (
-                            ((i = e.call(this, o, a) || this).light = t),
-                            i.light.updateMatrixWorld(),
-                            (i.color = r),
-                            (i.type = 'PointLightHelper'),
-                            (i.matrix = i.light.matrixWorld),
-                            (i.matrixAutoUpdate = !1),
-                            i.update(),
-                            i
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.dispose = function () {
-                            this.geometry.dispose(), this.material.dispose()
-                          }),
-                          (n.update = function () {
-                            void 0 !== this.color
-                              ? this.material.color.set(this.color)
-                              : this.material.color.copy(this.light.color)
-                          }),
-                          t
-                        )
-                      })(xo),
-                      Cp = new lr(),
-                      Lp = new Li(),
-                      Rp = new Li(),
-                      Pp = (function (e) {
-                        function t(t, n, r) {
-                          var i
-                          ;((i = e.call(this) || this).light = t),
-                            i.light.updateMatrixWorld(),
-                            (i.matrix = t.matrixWorld),
-                            (i.matrixAutoUpdate = !1),
-                            (i.color = r)
-                          var o = new bu(n)
-                          o.rotateY(0.5 * Math.PI),
-                            (i.material = new Oi({ wireframe: !0, fog: !1, toneMapped: !1 })),
-                            void 0 === i.color && (i.material.vertexColors = !0)
-                          var a = o.getAttribute('position'),
-                            s = new Float32Array(3 * a.count)
-                          return (
-                            o.setAttribute('color', new Fi(s, 3)),
-                            i.add(new xo(o, i.material)),
-                            i.update(),
-                            i
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.dispose = function () {
-                            this.children[0].geometry.dispose(), this.children[0].material.dispose()
-                          }),
-                          (n.update = function () {
-                            var e = this.children[0]
-                            if (void 0 !== this.color) this.material.color.set(this.color)
-                            else {
-                              var t = e.geometry.getAttribute('color')
-                              Lp.copy(this.light.color), Rp.copy(this.light.groundColor)
-                              for (var n = 0, r = t.count; n < r; n++) {
-                                var i = n < r / 2 ? Lp : Rp
-                                t.setXYZ(n, i.r, i.g, i.b)
-                              }
-                              t.needsUpdate = !0
-                            }
-                            e.lookAt(Cp.setFromMatrixPosition(this.light.matrixWorld).negate())
-                          }),
-                          t
-                        )
-                      })(si),
-                      Dp = (function (e) {
-                        function t(t, n, r, i) {
-                          var o
-                          void 0 === t && (t = 10),
-                            void 0 === n && (n = 10),
-                            void 0 === r && (r = 4473924),
-                            void 0 === i && (i = 8947848),
-                            (r = new Li(r)),
-                            (i = new Li(i))
-                          for (
-                            var a = n / 2,
-                              s = t / n,
-                              l = t / 2,
-                              c = [],
-                              u = [],
-                              h = 0,
-                              d = 0,
-                              p = -l;
-                            h <= n;
-                            h++, p += s
-                          ) {
-                            c.push(-l, 0, p, l, 0, p), c.push(p, 0, -l, p, 0, l)
-                            var f = h === a ? r : i
-                            f.toArray(u, d),
-                              (d += 3),
-                              f.toArray(u, d),
-                              (d += 3),
-                              f.toArray(u, d),
-                              (d += 3),
-                              f.toArray(u, d),
-                              (d += 3)
-                          }
-                          var m = new ro()
-                          m.setAttribute('position', new Wi(c, 3)),
-                            m.setAttribute('color', new Wi(u, 3))
-                          var v = new tc({ vertexColors: !0, toneMapped: !1 })
-                          return ((o = e.call(this, m, v) || this).type = 'GridHelper'), o
-                        }
-                        return Gn(t, e), t
-                      })(uc),
-                      Op = (function (e) {
-                        function t(t, n, r, i, o, a) {
-                          var s
-                          void 0 === t && (t = 10),
-                            void 0 === n && (n = 16),
-                            void 0 === r && (r = 8),
-                            void 0 === i && (i = 64),
-                            void 0 === o && (o = 4473924),
-                            void 0 === a && (a = 8947848),
-                            (o = new Li(o)),
-                            (a = new Li(a))
-                          for (var l = [], c = [], u = 0; u <= n; u++) {
-                            var h = (u / n) * (2 * Math.PI),
-                              d = Math.sin(h) * t,
-                              p = Math.cos(h) * t
-                            l.push(0, 0, 0), l.push(d, 0, p)
-                            var f = 1 & u ? o : a
-                            c.push(f.r, f.g, f.b), c.push(f.r, f.g, f.b)
-                          }
-                          for (var m = 0; m <= r; m++)
-                            for (var v = 1 & m ? o : a, g = t - (t / r) * m, y = 0; y < i; y++) {
-                              var b = (y / i) * (2 * Math.PI),
-                                A = Math.sin(b) * g,
-                                w = Math.cos(b) * g
-                              l.push(A, 0, w),
-                                c.push(v.r, v.g, v.b),
-                                (b = ((y + 1) / i) * (2 * Math.PI)),
-                                (A = Math.sin(b) * g),
-                                (w = Math.cos(b) * g),
-                                l.push(A, 0, w),
-                                c.push(v.r, v.g, v.b)
-                            }
-                          var x = new ro()
-                          x.setAttribute('position', new Wi(l, 3)),
-                            x.setAttribute('color', new Wi(c, 3))
-                          var E = new tc({ vertexColors: !0, toneMapped: !1 })
-                          return ((s = e.call(this, x, E) || this).type = 'PolarGridHelper'), s
-                        }
-                        return Gn(t, e), t
-                      })(uc),
-                      Ip = new lr(),
-                      Bp = new lr(),
-                      Fp = new lr(),
-                      kp = (function (e) {
-                        function t(t, n, r) {
-                          var i
-                          ;((i = e.call(this) || this).light = t),
-                            i.light.updateMatrixWorld(),
-                            (i.matrix = t.matrixWorld),
-                            (i.matrixAutoUpdate = !1),
-                            (i.color = r),
-                            void 0 === n && (n = 1)
-                          var o = new ro()
-                          o.setAttribute(
-                            'position',
-                            new Wi([-n, n, 0, n, n, 0, n, -n, 0, -n, -n, 0, -n, n, 0], 3),
-                          )
-                          var a = new tc({ fog: !1, toneMapped: !1 })
-                          return (
-                            (i.lightPlane = new sc(o, a)),
-                            i.add(i.lightPlane),
-                            (o = new ro()).setAttribute('position', new Wi([0, 0, 0, 0, 0, 1], 3)),
-                            (i.targetLine = new sc(o, a)),
-                            i.add(i.targetLine),
-                            i.update(),
-                            i
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.dispose = function () {
-                            this.lightPlane.geometry.dispose(),
-                              this.lightPlane.material.dispose(),
-                              this.targetLine.geometry.dispose(),
-                              this.targetLine.material.dispose()
-                          }),
-                          (n.update = function () {
-                            Ip.setFromMatrixPosition(this.light.matrixWorld),
-                              Bp.setFromMatrixPosition(this.light.target.matrixWorld),
-                              Fp.subVectors(Bp, Ip),
-                              this.lightPlane.lookAt(Bp),
-                              void 0 !== this.color
-                                ? (this.lightPlane.material.color.set(this.color),
-                                  this.targetLine.material.color.set(this.color))
-                                : (this.lightPlane.material.color.copy(this.light.color),
-                                  this.targetLine.material.color.copy(this.light.color)),
-                              this.targetLine.lookAt(Bp),
-                              (this.targetLine.scale.z = Fp.length())
-                          }),
-                          t
-                        )
-                      })(si),
-                      Np = new lr(),
-                      Up = new Do(),
-                      Hp = (function (e) {
-                        function t(t) {
-                          var n,
-                            r = new ro(),
-                            i = new tc({ color: 16777215, vertexColors: !0, toneMapped: !1 }),
-                            o = [],
-                            a = [],
-                            s = {},
-                            l = new Li(16755200),
-                            c = new Li(16711680),
-                            u = new Li(43775),
-                            h = new Li(16777215),
-                            d = new Li(3355443)
-                          function p(e, t, n) {
-                            f(e, n), f(t, n)
-                          }
-                          function f(e, t) {
-                            o.push(0, 0, 0),
-                              a.push(t.r, t.g, t.b),
-                              void 0 === s[e] && (s[e] = []),
-                              s[e].push(o.length / 3 - 1)
-                          }
-                          return (
-                            p('n1', 'n2', l),
-                            p('n2', 'n4', l),
-                            p('n4', 'n3', l),
-                            p('n3', 'n1', l),
-                            p('f1', 'f2', l),
-                            p('f2', 'f4', l),
-                            p('f4', 'f3', l),
-                            p('f3', 'f1', l),
-                            p('n1', 'f1', l),
-                            p('n2', 'f2', l),
-                            p('n3', 'f3', l),
-                            p('n4', 'f4', l),
-                            p('p', 'n1', c),
-                            p('p', 'n2', c),
-                            p('p', 'n3', c),
-                            p('p', 'n4', c),
-                            p('u1', 'u2', u),
-                            p('u2', 'u3', u),
-                            p('u3', 'u1', u),
-                            p('c', 't', h),
-                            p('p', 'c', d),
-                            p('cn1', 'cn2', d),
-                            p('cn3', 'cn4', d),
-                            p('cf1', 'cf2', d),
-                            p('cf3', 'cf4', d),
-                            r.setAttribute('position', new Wi(o, 3)),
-                            r.setAttribute('color', new Wi(a, 3)),
-                            ((n = e.call(this, r, i) || this).type = 'CameraHelper'),
-                            (n.camera = t),
-                            n.camera.updateProjectionMatrix && n.camera.updateProjectionMatrix(),
-                            (n.matrix = t.matrixWorld),
-                            (n.matrixAutoUpdate = !1),
-                            (n.pointMap = s),
-                            n.update(),
-                            n
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.update = function () {
-                            var e = this.geometry,
-                              t = this.pointMap,
-                              n = 1,
-                              r = 1
-                            Up.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),
-                              Gp('c', t, e, Up, 0, 0, -1),
-                              Gp('t', t, e, Up, 0, 0, 1),
-                              Gp('n1', t, e, Up, -n, -r, -1),
-                              Gp('n2', t, e, Up, n, -r, -1),
-                              Gp('n3', t, e, Up, -n, r, -1),
-                              Gp('n4', t, e, Up, n, r, -1),
-                              Gp('f1', t, e, Up, -n, -r, 1),
-                              Gp('f2', t, e, Up, n, -r, 1),
-                              Gp('f3', t, e, Up, -n, r, 1),
-                              Gp('f4', t, e, Up, n, r, 1),
-                              Gp('u1', t, e, Up, 0.7 * n, 1.1 * r, -1),
-                              Gp('u2', t, e, Up, 0.7 * -n, 1.1 * r, -1),
-                              Gp('u3', t, e, Up, 0, 2 * r, -1),
-                              Gp('cf1', t, e, Up, -n, 0, 1),
-                              Gp('cf2', t, e, Up, n, 0, 1),
-                              Gp('cf3', t, e, Up, 0, -r, 1),
-                              Gp('cf4', t, e, Up, 0, r, 1),
-                              Gp('cn1', t, e, Up, -n, 0, -1),
-                              Gp('cn2', t, e, Up, n, 0, -1),
-                              Gp('cn3', t, e, Up, 0, -r, -1),
-                              Gp('cn4', t, e, Up, 0, r, -1),
-                              (e.getAttribute('position').needsUpdate = !0)
-                          }),
-                          t
-                        )
-                      })(uc)
-                    function Gp(e, t, n, r, i, o, a) {
-                      Np.set(i, o, a).unproject(r)
-                      var s = t[e]
-                      if (void 0 !== s)
-                        for (var l = n.getAttribute('position'), c = 0, u = s.length; c < u; c++)
-                          l.setXYZ(s[c], Np.x, Np.y, Np.z)
-                    }
-                    var zp,
-                      jp,
-                      Vp,
-                      Wp = new hr(),
-                      qp = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === n && (n = 16776960)
-                          var i = new Uint16Array([
-                              0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3,
-                              7,
-                            ]),
-                            o = new Float32Array(24),
-                            a = new ro()
-                          return (
-                            a.setIndex(new Fi(i, 1)),
-                            a.setAttribute('position', new Fi(o, 3)),
-                            ((r =
-                              e.call(this, a, new tc({ color: n, toneMapped: !1 })) ||
-                              this).object = t),
-                            (r.type = 'BoxHelper'),
-                            (r.matrixAutoUpdate = !1),
-                            r.update(),
-                            r
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.update = function (e) {
-                            if (
-                              (void 0 !== e &&
-                                console.warn('THREE.BoxHelper: .update() has no longer arguments.'),
-                              void 0 !== this.object && Wp.setFromObject(this.object),
-                              !Wp.isEmpty())
-                            ) {
-                              var t = Wp.min,
-                                n = Wp.max,
-                                r = this.geometry.attributes.position,
-                                i = r.array
-                              ;(i[0] = n.x),
-                                (i[1] = n.y),
-                                (i[2] = n.z),
-                                (i[3] = t.x),
-                                (i[4] = n.y),
-                                (i[5] = n.z),
-                                (i[6] = t.x),
-                                (i[7] = t.y),
-                                (i[8] = n.z),
-                                (i[9] = n.x),
-                                (i[10] = t.y),
-                                (i[11] = n.z),
-                                (i[12] = n.x),
-                                (i[13] = n.y),
-                                (i[14] = t.z),
-                                (i[15] = t.x),
-                                (i[16] = n.y),
-                                (i[17] = t.z),
-                                (i[18] = t.x),
-                                (i[19] = t.y),
-                                (i[20] = t.z),
-                                (i[21] = n.x),
-                                (i[22] = t.y),
-                                (i[23] = t.z),
-                                (r.needsUpdate = !0),
-                                this.geometry.computeBoundingSphere()
-                            }
-                          }),
-                          (n.setFromObject = function (e) {
-                            return (this.object = e), this.update(), this
-                          }),
-                          (n.copy = function (e) {
-                            return uc.prototype.copy.call(this, e), (this.object = e.object), this
-                          }),
-                          t
-                        )
-                      })(uc),
-                      Xp = (function (e) {
-                        function t(t, n) {
-                          var r
-                          void 0 === n && (n = 16776960)
-                          var i = new Uint16Array([
-                              0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3,
-                              7,
-                            ]),
-                            o = [
-                              1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1,
-                              -1, 1, -1, -1,
-                            ],
-                            a = new ro()
-                          return (
-                            a.setIndex(new Fi(i, 1)),
-                            a.setAttribute('position', new Wi(o, 3)),
-                            ((r =
-                              e.call(this, a, new tc({ color: n, toneMapped: !1 })) || this).box =
-                              t),
-                            (r.type = 'Box3Helper'),
-                            r.geometry.computeBoundingSphere(),
-                            r
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.updateMatrixWorld = function (t) {
-                            var n = this.box
-                            n.isEmpty() ||
-                              (n.getCenter(this.position),
-                              n.getSize(this.scale),
-                              this.scale.multiplyScalar(0.5),
-                              e.prototype.updateMatrixWorld.call(this, t))
-                          }),
-                          t
-                        )
-                      })(uc),
-                      Yp = (function (e) {
-                        function t(t, n, r) {
-                          var i
-                          void 0 === n && (n = 1), void 0 === r && (r = 16776960)
-                          var o = r,
-                            a = [
-                              1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1,
-                              1, 1, 1, 0, 0, 1, 0, 0, 0,
-                            ],
-                            s = new ro()
-                          s.setAttribute('position', new Wi(a, 3)),
-                            s.computeBoundingSphere(),
-                            ((i =
-                              e.call(this, s, new tc({ color: o, toneMapped: !1 })) || this).type =
-                              'PlaneHelper'),
-                            (i.plane = t),
-                            (i.size = n)
-                          var l = [1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1],
-                            c = new ro()
-                          return (
-                            c.setAttribute('position', new Wi(l, 3)),
-                            c.computeBoundingSphere(),
-                            i.add(
-                              new xo(
-                                c,
-                                new Oi({
-                                  color: o,
-                                  opacity: 0.2,
-                                  transparent: !0,
-                                  depthWrite: !1,
-                                  toneMapped: !1,
-                                }),
-                              ),
-                            ),
-                            i
-                          )
-                        }
-                        return (
-                          Gn(t, e),
-                          (t.prototype.updateMatrixWorld = function (t) {
-                            var n = -this.plane.constant
-                            Math.abs(n) < 1e-8 && (n = 1e-8),
-                              this.scale.set(0.5 * this.size, 0.5 * this.size, n),
-                              (this.children[0].material.side = n < 0 ? v : m),
-                              this.lookAt(this.plane.normal),
-                              e.prototype.updateMatrixWorld.call(this, t)
-                          }),
-                          t
-                        )
-                      })(sc),
-                      Qp = new lr(),
-                      Zp = (function (e) {
-                        function t(t, n, r, i, o, a) {
-                          var s
-                          return (
-                            ((s = e.call(this) || this).type = 'ArrowHelper'),
-                            void 0 === t && (t = new lr(0, 0, 1)),
-                            void 0 === n && (n = new lr(0, 0, 0)),
-                            void 0 === r && (r = 1),
-                            void 0 === i && (i = 16776960),
-                            void 0 === o && (o = 0.2 * r),
-                            void 0 === a && (a = 0.2 * o),
-                            void 0 === zp &&
-                              ((zp = new ro()).setAttribute(
-                                'position',
-                                new Wi([0, 0, 0, 0, 1, 0], 3),
-                              ),
-                              (jp = new Mc(0, 0.5, 1, 5, 1)).translate(0, -0.5, 0)),
-                            s.position.copy(n),
-                            (s.line = new sc(zp, new tc({ color: i, toneMapped: !1 }))),
-                            (s.line.matrixAutoUpdate = !1),
-                            s.add(s.line),
-                            (s.cone = new xo(jp, new Oi({ color: i, toneMapped: !1 }))),
-                            (s.cone.matrixAutoUpdate = !1),
-                            s.add(s.cone),
-                            s.setDirection(t),
-                            s.setLength(r, o, a),
-                            s
-                          )
-                        }
-                        Gn(t, e)
-                        var n = t.prototype
-                        return (
-                          (n.setDirection = function (e) {
-                            if (e.y > 0.99999) this.quaternion.set(0, 0, 0, 1)
-                            else if (e.y < -0.99999) this.quaternion.set(1, 0, 0, 0)
-                            else {
-                              Qp.set(e.z, 0, -e.x).normalize()
-                              var t = Math.acos(e.y)
-                              this.quaternion.setFromAxisAngle(Qp, t)
-                            }
-                          }),
-                          (n.setLength = function (e, t, n) {
-                            void 0 === t && (t = 0.2 * e),
-                              void 0 === n && (n = 0.2 * t),
-                              this.line.scale.set(1, Math.max(1e-4, e - t), 1),
-                              this.line.updateMatrix(),
-                              this.cone.scale.set(n, t, n),
-                              (this.cone.position.y = e),
-                              this.cone.updateMatrix()
-                          }),
-                          (n.setColor = function (e) {
-                            this.line.material.color.set(e), this.cone.material.color.set(e)
-                          }),
-                          (n.copy = function (t) {
-                            return (
-                              e.prototype.copy.call(this, t, !1),
-                              this.line.copy(t.line),
-                              this.cone.copy(t.cone),
-                              this
-                            )
-                          }),
-                          t
-                        )
-                      })(si),
-                      Kp = (function (e) {
-                        function t(t) {
-                          var n
-                          void 0 === t && (t = 1)
-                          var r = [0, 0, 0, t, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, t],
-                            i = [1, 0, 0, 1, 0.6, 0, 0, 1, 0, 0.6, 1, 0, 0, 0, 1, 0, 0.6, 1],
-                            o = new ro()
-                          o.setAttribute('position', new Wi(r, 3)),
-                            o.setAttribute('color', new Wi(i, 3))
-                          var a = new tc({ vertexColors: !0, toneMapped: !1 })
-                          return ((n = e.call(this, o, a) || this).type = 'AxesHelper'), n
-                        }
-                        return Gn(t, e), t
-                      })(uc),
-                      Jp = new Float32Array(1),
-                      $p = new Int32Array(Jp.buffer),
-                      ef = {
-                        toHalfFloat: function (e) {
-                          Jp[0] = e
-                          var t = $p[0],
-                            n = (t >> 16) & 32768,
-                            r = (t >> 12) & 2047,
-                            i = (t >> 23) & 255
-                          return i < 103
-                            ? n
-                            : i > 142
-                            ? ((n |= 31744), (n |= (255 == i ? 0 : 1) && 8388607 & t))
-                            : i < 113
-                            ? (n |= ((r |= 2048) >> (114 - i)) + ((r >> (113 - i)) & 1))
-                            : ((n |= ((i - 112) << 10) | (r >> 1)), (n += 1 & r))
-                        },
-                      },
-                      tf = 4,
-                      nf = 8,
-                      rf = Math.pow(2, nf),
-                      of = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582],
-                      af = nf - tf + 1 + of.length,
-                      sf = 20,
-                      lf =
-                        (((Vp = {})[Kt] = 0),
-                        (Vp[Jt] = 1),
-                        (Vp[en] = 2),
-                        (Vp[nn] = 3),
-                        (Vp[rn] = 4),
-                        (Vp[on] = 5),
-                        (Vp[$t] = 6),
-                        Vp),
-                      cf = new Oi({ side: v, depthWrite: !1, depthTest: !1 }),
-                      uf = new xo(new _o(), cf),
-                      hf = new ed(),
-                      df = Mf(),
-                      pf = df._lodPlanes,
-                      ff = df._sizeLods,
-                      mf = df._sigmas,
-                      vf = new Li(),
-                      gf = null,
-                      yf = (1 + Math.sqrt(5)) / 2,
-                      bf = 1 / yf,
-                      Af = [
-                        new lr(1, 1, 1),
-                        new lr(-1, 1, 1),
-                        new lr(1, 1, -1),
-                        new lr(-1, 1, -1),
-                        new lr(0, yf, bf),
-                        new lr(0, yf, -bf),
-                        new lr(bf, 0, yf),
-                        new lr(-bf, 0, yf),
-                        new lr(yf, bf, 0),
-                        new lr(-yf, bf, 0),
-                      ]
-                    function wf(e) {
-                      var t = Math.max(e.r, e.g, e.b),
-                        n = Math.min(Math.max(Math.ceil(Math.log2(t)), -128), 127)
-                      return e.multiplyScalar(Math.pow(2, -n)), (n + 128) / 255
-                    }
-                    var xf = (function () {
-                      function e(e) {
-                        ;(this._renderer = e),
-                          (this._pingPongRenderTarget = null),
-                          (this._blurMaterial = Sf(sf)),
-                          (this._equirectShader = null),
-                          (this._cubemapShader = null),
-                          this._compileMaterial(this._blurMaterial)
-                      }
-                      var t = e.prototype
-                      return (
-                        (t.fromScene = function (e, t, n, r) {
-                          void 0 === t && (t = 0),
-                            void 0 === n && (n = 0.1),
-                            void 0 === r && (r = 100),
-                            (gf = this._renderer.getRenderTarget())
-                          var i = this._allocateTargets()
-                          return (
-                            this._sceneToCubeUV(e, n, r, i),
-                            t > 0 && this._blur(i, 0, 0, t),
-                            this._applyPMREM(i),
-                            this._cleanup(i),
-                            i
-                          )
-                        }),
-                        (t.fromEquirectangular = function (e) {
-                          return this._fromTexture(e)
-                        }),
-                        (t.fromCubemap = function (e) {
-                          return this._fromTexture(e)
-                        }),
-                        (t.compileCubemapShader = function () {
-                          null === this._cubemapShader &&
-                            ((this._cubemapShader = Lf()),
-                            this._compileMaterial(this._cubemapShader))
-                        }),
-                        (t.compileEquirectangularShader = function () {
-                          null === this._equirectShader &&
-                            ((this._equirectShader = Cf()),
-                            this._compileMaterial(this._equirectShader))
-                        }),
-                        (t.dispose = function () {
-                          this._blurMaterial.dispose(),
-                            null !== this._cubemapShader && this._cubemapShader.dispose(),
-                            null !== this._equirectShader && this._equirectShader.dispose()
-                          for (var e = 0; e < pf.length; e++) pf[e].dispose()
-                        }),
-                        (t._cleanup = function (e) {
-                          this._pingPongRenderTarget.dispose(),
-                            this._renderer.setRenderTarget(gf),
-                            (e.scissorTest = !1),
-                            Tf(e, 0, 0, e.width, e.height)
-                        }),
-                        (t._fromTexture = function (e) {
-                          gf = this._renderer.getRenderTarget()
-                          var t = this._allocateTargets(e)
-                          return (
-                            this._textureToCubeUV(e, t), this._applyPMREM(t), this._cleanup(t), t
-                          )
-                        }),
-                        (t._allocateTargets = function (e) {
-                          var t = {
-                              magFilter: me,
-                              minFilter: me,
-                              generateMipmaps: !1,
-                              type: _e,
-                              format: ze,
-                              encoding: Ef(e) ? e.encoding : en,
-                              depthBuffer: !1,
-                            },
-                            n = _f(t)
-                          return (n.depthBuffer = !e), (this._pingPongRenderTarget = _f(t)), n
-                        }),
-                        (t._compileMaterial = function (e) {
-                          var t = new xo(pf[0], e)
-                          this._renderer.compile(t, hf)
-                        }),
-                        (t._sceneToCubeUV = function (e, t, n, r) {
-                          var i = new Oo(90, 1, t, n),
-                            o = [1, -1, 1, 1, 1, 1],
-                            a = [1, 1, 1, -1, -1, -1],
-                            s = this._renderer,
-                            l = s.autoClear,
-                            c = s.outputEncoding,
-                            u = s.toneMapping
-                          s.getClearColor(vf),
-                            (s.toneMapping = $),
-                            (s.outputEncoding = Kt),
-                            (s.autoClear = !1)
-                          var h = !1,
-                            d = e.background
-                          if (d) {
-                            if (d.isColor) {
-                              cf.color.copy(d).convertSRGBToLinear(), (e.background = null)
-                              var p = wf(cf.color)
-                              ;(cf.opacity = p), (h = !0)
-                            }
-                          } else {
-                            cf.color.copy(vf).convertSRGBToLinear()
-                            var f = wf(cf.color)
-                            ;(cf.opacity = f), (h = !0)
-                          }
-                          for (var m = 0; m < 6; m++) {
-                            var v = m % 3
-                            0 == v
-                              ? (i.up.set(0, o[m], 0), i.lookAt(a[m], 0, 0))
-                              : 1 == v
-                              ? (i.up.set(0, 0, o[m]), i.lookAt(0, a[m], 0))
-                              : (i.up.set(0, o[m], 0), i.lookAt(0, 0, a[m])),
-                              Tf(r, v * rf, m > 2 ? rf : 0, rf, rf),
-                              s.setRenderTarget(r),
-                              h && s.render(uf, i),
-                              s.render(e, i)
-                          }
-                          ;(s.toneMapping = u), (s.outputEncoding = c), (s.autoClear = l)
-                        }),
-                        (t._textureToCubeUV = function (e, t) {
-                          var n = this._renderer
-                          e.isCubeTexture
-                            ? null == this._cubemapShader && (this._cubemapShader = Lf())
-                            : null == this._equirectShader && (this._equirectShader = Cf())
-                          var r = e.isCubeTexture ? this._cubemapShader : this._equirectShader,
-                            i = new xo(pf[0], r),
-                            o = r.uniforms
-                          ;(o.envMap.value = e),
-                            e.isCubeTexture ||
-                              o.texelSize.value.set(1 / e.image.width, 1 / e.image.height),
-                            (o.inputEncoding.value = lf[e.encoding]),
-                            (o.outputEncoding.value = lf[t.texture.encoding]),
-                            Tf(t, 0, 0, 3 * rf, 2 * rf),
-                            n.setRenderTarget(t),
-                            n.render(i, hf)
-                        }),
-                        (t._applyPMREM = function (e) {
-                          var t = this._renderer,
-                            n = t.autoClear
-                          t.autoClear = !1
-                          for (var r = 1; r < af; r++) {
-                            var i = Math.sqrt(mf[r] * mf[r] - mf[r - 1] * mf[r - 1]),
-                              o = Af[(r - 1) % Af.length]
-                            this._blur(e, r - 1, r, i, o)
-                          }
-                          t.autoClear = n
-                        }),
-                        (t._blur = function (e, t, n, r, i) {
-                          var o = this._pingPongRenderTarget
-                          this._halfBlur(e, o, t, n, r, 'latitudinal', i),
-                            this._halfBlur(o, e, n, n, r, 'longitudinal', i)
-                        }),
-                        (t._halfBlur = function (e, t, n, r, i, o, a) {
-                          var s = this._renderer,
-                            l = this._blurMaterial
-                          'latitudinal' !== o &&
-                            'longitudinal' !== o &&
-                            console.error(
-                              'blur direction must be either latitudinal or longitudinal!',
-                            )
-                          var c = 3,
-                            u = new xo(pf[r], l),
-                            h = l.uniforms,
-                            d = ff[n] - 1,
-                            p = isFinite(i) ? Math.PI / (2 * d) : (2 * Math.PI) / (2 * sf - 1),
-                            f = i / p,
-                            m = isFinite(i) ? 1 + Math.floor(c * f) : sf
-                          m > sf &&
-                            console.warn(
-                              'sigmaRadians, ' +
-                                i +
-                                ', is too large and will clip, as it requested ' +
-                                m +
-                                ' samples when the maximum is set to ' +
-                                sf,
-                            )
-                          for (var v = [], g = 0, y = 0; y < sf; ++y) {
-                            var b = y / f,
-                              A = Math.exp((-b * b) / 2)
-                            v.push(A), 0 == y ? (g += A) : y < m && (g += 2 * A)
-                          }
-                          for (var w = 0; w < v.length; w++) v[w] = v[w] / g
-                          ;(h.envMap.value = e.texture),
-                            (h.samples.value = m),
-                            (h.weights.value = v),
-                            (h.latitudinal.value = 'latitudinal' === o),
-                            a && (h.poleAxis.value = a),
-                            (h.dTheta.value = p),
-                            (h.mipInt.value = nf - n),
-                            (h.inputEncoding.value = lf[e.texture.encoding]),
-                            (h.outputEncoding.value = lf[e.texture.encoding])
-                          var x = ff[r]
-                          Tf(
-                            t,
-                            3 * Math.max(0, rf - 2 * x),
-                            (0 === r ? 0 : 2 * rf) + 2 * x * (r > nf - tf ? r - nf + tf : 0),
-                            3 * x,
-                            2 * x,
-                          ),
-                            s.setRenderTarget(t),
-                            s.render(u, hf)
-                        }),
-                        e
-                      )
-                    })()
-                    function Ef(e) {
-                      return (
-                        void 0 !== e &&
-                        e.type === _e &&
-                        (e.encoding === Kt || e.encoding === Jt || e.encoding === $t)
-                      )
-                    }
-                    function Mf() {
-                      for (var e = [], t = [], n = [], r = nf, i = 0; i < af; i++) {
-                        var o = Math.pow(2, r)
-                        t.push(o)
-                        var a = 1 / o
-                        i > nf - tf ? (a = of[i - nf + tf - 1]) : 0 == i && (a = 0), n.push(a)
-                        for (
-                          var s = 1 / (o - 1),
-                            l = -s / 2,
-                            c = 1 + s / 2,
-                            u = [l, l, c, l, c, c, l, l, c, c, l, c],
-                            h = 6,
-                            d = 6,
-                            p = 3,
-                            f = 2,
-                            m = 1,
-                            v = new Float32Array(p * d * h),
-                            g = new Float32Array(f * d * h),
-                            y = new Float32Array(m * d * h),
-                            b = 0;
-                          b < h;
-                          b++
-                        ) {
-                          var A = ((b % 3) * 2) / 3 - 1,
-                            w = b > 2 ? 0 : -1,
-                            x = [
-                              A,
-                              w,
-                              0,
-                              A + 2 / 3,
-                              w,
-                              0,
-                              A + 2 / 3,
-                              w + 1,
-                              0,
-                              A,
-                              w,
-                              0,
-                              A + 2 / 3,
-                              w + 1,
-                              0,
-                              A,
-                              w + 1,
-                              0,
-                            ]
-                          v.set(x, p * d * b), g.set(u, f * d * b)
-                          var E = [b, b, b, b, b, b]
-                          y.set(E, m * d * b)
-                        }
-                        var M = new ro()
-                        M.setAttribute('position', new Fi(v, p)),
-                          M.setAttribute('uv', new Fi(g, f)),
-                          M.setAttribute('faceIndex', new Fi(y, m)),
-                          e.push(M),
-                          r > tf && r--
-                      }
-                      return { _lodPlanes: e, _sizeLods: t, _sigmas: n }
-                    }
-                    function _f(e) {
-                      var t = new or(3 * rf, 3 * rf, e)
-                      return (
-                        (t.texture.mapping = ue),
-                        (t.texture.name = 'PMREM.cubeUv'),
-                        (t.scissorTest = !0),
-                        t
-                      )
-                    }
-                    function Tf(e, t, n, r, i) {
-                      e.viewport.set(t, n, r, i), e.scissor.set(t, n, r, i)
-                    }
-                    function Sf(e) {
-                      return new Ou({
-                        name: 'SphericalGaussianBlur',
-                        defines: { n: e },
-                        uniforms: {
-                          envMap: { value: null },
-                          samples: { value: 1 },
-                          weights: { value: new Float32Array(e) },
-                          latitudinal: { value: !1 },
-                          dTheta: { value: 0 },
-                          mipInt: { value: 0 },
-                          poleAxis: { value: new lr(0, 1, 0) },
-                          inputEncoding: { value: lf[Kt] },
-                          outputEncoding: { value: lf[Kt] },
-                        },
-                        vertexShader: Rf(),
-                        fragmentShader:
-                          '\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t' +
-                          Pf() +
-                          "\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",
-                        blending: A,
-                        depthTest: !1,
-                        depthWrite: !1,
-                      })
-                    }
-                    function Cf() {
-                      return new Ou({
-                        name: 'EquirectangularToCubeUV',
-                        uniforms: {
-                          envMap: { value: null },
-                          texelSize: { value: new Jn(1, 1) },
-                          inputEncoding: { value: lf[Kt] },
-                          outputEncoding: { value: lf[Kt] },
-                        },
-                        vertexShader: Rf(),
-                        fragmentShader:
-                          '\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t' +
-                          Pf() +
-                          '\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t',
-                        blending: A,
-                        depthTest: !1,
-                        depthWrite: !1,
-                      })
-                    }
-                    function Lf() {
-                      return new Ou({
-                        name: 'CubemapToCubeUV',
-                        uniforms: {
-                          envMap: { value: null },
-                          inputEncoding: { value: lf[Kt] },
-                          outputEncoding: { value: lf[Kt] },
-                        },
-                        vertexShader: Rf(),
-                        fragmentShader:
-                          '\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t' +
-                          Pf() +
-                          '\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t',
-                        blending: A,
-                        depthTest: !1,
-                        depthWrite: !1,
-                      })
-                    }
-                    function Rf() {
-                      return '\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t'
-                    }
-                    function Pf() {
-                      return '\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include <encodings_pars_fragment>\n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t'
-                    }
-                    function Df(e, t, n, r, i, o, a) {
-                      return (
-                        console.warn(
-                          'THREE.Face4 has been removed. A THREE.Face3 will be created instead.',
-                        ),
-                        new Ri(e, t, n, i, o, a)
-                      )
-                    }
-                    var Of = 0,
-                      If = 1,
-                      Bf = 0,
-                      Ff = 1,
-                      kf = 2
-                    function Nf(e) {
-                      return (
-                        console.warn(
-                          'THREE.MeshFaceMaterial has been removed. Use an Array instead.',
-                        ),
-                        e
-                      )
-                    }
-                    function Uf(e) {
-                      return (
-                        void 0 === e && (e = []),
-                        console.warn('THREE.MultiMaterial has been removed. Use an Array instead.'),
-                        (e.isMultiMaterial = !0),
-                        (e.materials = e),
-                        (e.clone = function () {
-                          return e.slice()
-                        }),
-                        e
-                      )
-                    }
-                    function Hf(e, t) {
-                      return (
-                        console.warn('THREE.PointCloud has been renamed to THREE.Points.'),
-                        new gc(e, t)
-                      )
-                    }
-                    function Gf(e) {
-                      return (
-                        console.warn('THREE.Particle has been renamed to THREE.Sprite.'), new Bl(e)
-                      )
-                    }
-                    function zf(e, t) {
-                      return (
-                        console.warn('THREE.ParticleSystem has been renamed to THREE.Points.'),
-                        new gc(e, t)
-                      )
-                    }
-                    function jf(e) {
-                      return (
-                        console.warn(
-                          'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.',
-                        ),
-                        new dc(e)
-                      )
-                    }
-                    function Vf(e) {
-                      return (
-                        console.warn(
-                          'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.',
-                        ),
-                        new dc(e)
-                      )
-                    }
-                    function Wf(e) {
-                      return (
-                        console.warn(
-                          'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.',
-                        ),
-                        new dc(e)
-                      )
-                    }
-                    function qf(e, t, n) {
-                      return (
-                        console.warn('THREE.Vertex has been removed. Use THREE.Vector3 instead.'),
-                        new lr(e, t, n)
-                      )
-                    }
-                    function Xf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.',
-                        ),
-                        new Fi(e, t).setUsage(Sn)
-                      )
-                    }
-                    function Yf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.',
-                        ),
-                        new ki(e, t)
-                      )
-                    }
-                    function Qf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.',
-                        ),
-                        new Ni(e, t)
-                      )
-                    }
-                    function Zf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.',
-                        ),
-                        new Ui(e, t)
-                      )
-                    }
-                    function Kf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.',
-                        ),
-                        new Hi(e, t)
-                      )
-                    }
-                    function Jf(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.',
-                        ),
-                        new Gi(e, t)
-                      )
-                    }
-                    function $f(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.',
-                        ),
-                        new zi(e, t)
-                      )
-                    }
-                    function em(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.',
-                        ),
-                        new ji(e, t)
-                      )
-                    }
-                    function tm(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.',
-                        ),
-                        new Wi(e, t)
-                      )
-                    }
-                    function nm(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.',
-                        ),
-                        new qi(e, t)
-                      )
-                    }
-                    function rm(e) {
-                      console.warn(
-                        'THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.',
-                      ),
-                        _h.call(this, e),
-                        (this.type = 'catmullrom'),
-                        (this.closed = !0)
-                    }
-                    function im(e) {
-                      console.warn(
-                        'THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.',
-                      ),
-                        _h.call(this, e),
-                        (this.type = 'catmullrom')
-                    }
-                    function om(e) {
-                      console.warn(
-                        'THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.',
-                      ),
-                        _h.call(this, e),
-                        (this.type = 'catmullrom')
-                    }
-                    function am(e) {
-                      return (
-                        console.warn('THREE.AxisHelper has been renamed to THREE.AxesHelper.'),
-                        new Kp(e)
-                      )
-                    }
-                    function sm(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.',
-                        ),
-                        new qp(e, t)
-                      )
-                    }
-                    function lm(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.',
-                        ),
-                        new uc(new Dc(e.geometry), new tc({ color: void 0 !== t ? t : 16777215 }))
-                      )
-                    }
-                    function cm(e, t) {
-                      return (
-                        console.warn(
-                          'THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.',
-                        ),
-                        new uc(new Ru(e.geometry), new tc({ color: void 0 !== t ? t : 16777215 }))
-                      )
-                    }
-                    function um(e) {
-                      return (
-                        console.warn('THREE.XHRLoader has been renamed to THREE.FileLoader.'),
-                        new uh(e)
-                      )
-                    }
-                    function hm(e) {
-                      return (
-                        console.warn(
-                          'THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.',
-                        ),
-                        new mh(e)
-                      )
-                    }
-                    function dm(e, t, n) {
-                      return (
-                        console.warn(
-                          'THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).',
-                        ),
-                        new No(e, n)
-                      )
-                    }
-                    ;(gh.create = function (e, t) {
-                      return (
-                        console.log('THREE.Curve.create() has been deprecated'),
-                        (e.prototype = Object.create(gh.prototype)),
-                        (e.prototype.constructor = e),
-                        (e.prototype.getPoint = t),
-                        e
-                      )
-                    }),
-                      Object.assign(Wh.prototype, {
-                        fromPoints: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Path: .fromPoints() has been renamed to .setFromPoints().',
-                            ),
-                            this.setFromPoints(e)
-                          )
-                        },
-                      }),
-                      (rm.prototype = Object.create(_h.prototype)),
-                      (im.prototype = Object.create(_h.prototype)),
-                      (om.prototype = Object.create(_h.prototype)),
-                      Object.assign(om.prototype, {
-                        initFromArray: function () {
-                          console.error('THREE.Spline: .initFromArray() has been removed.')
-                        },
-                        getControlPointsArray: function () {
-                          console.error('THREE.Spline: .getControlPointsArray() has been removed.')
-                        },
-                        reparametrizeByArcLength: function () {
-                          console.error(
-                            'THREE.Spline: .reparametrizeByArcLength() has been removed.',
-                          )
-                        },
-                      }),
-                      (Dp.prototype.setColors = function () {
-                        console.error(
-                          'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.',
-                        )
-                      }),
-                      (_p.prototype.update = function () {
-                        console.error(
-                          'THREE.SkeletonHelper: update() no longer needs to be called.',
-                        )
-                      }),
-                      Object.assign(lh.prototype, {
-                        extractUrlBase: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.',
-                            ),
-                            ld.extractUrlBase(e)
-                          )
-                        },
-                      }),
-                      (lh.Handlers = {
-                        add: function () {
-                          console.error(
-                            'THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.',
-                          )
-                        },
-                        get: function () {
-                          console.error(
-                            'THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.',
-                          )
-                        },
-                      }),
-                      Object.assign(mp.prototype, {
-                        center: function (e) {
-                          return (
-                            console.warn('THREE.Box2: .center() has been renamed to .getCenter().'),
-                            this.getCenter(e)
-                          )
-                        },
-                        empty: function () {
-                          return (
-                            console.warn('THREE.Box2: .empty() has been renamed to .isEmpty().'),
-                            this.isEmpty()
-                          )
-                        },
-                        isIntersectionBox: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().',
-                            ),
-                            this.intersectsBox(e)
-                          )
-                        },
-                        size: function (e) {
-                          return (
-                            console.warn('THREE.Box2: .size() has been renamed to .getSize().'),
-                            this.getSize(e)
-                          )
-                        },
-                      }),
-                      Object.assign(hr.prototype, {
-                        center: function (e) {
-                          return (
-                            console.warn('THREE.Box3: .center() has been renamed to .getCenter().'),
-                            this.getCenter(e)
-                          )
-                        },
-                        empty: function () {
-                          return (
-                            console.warn('THREE.Box3: .empty() has been renamed to .isEmpty().'),
-                            this.isEmpty()
-                          )
-                        },
-                        isIntersectionBox: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().',
-                            ),
-                            this.intersectsBox(e)
-                          )
-                        },
-                        isIntersectionSphere: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().',
-                            ),
-                            this.intersectsSphere(e)
-                          )
-                        },
-                        size: function (e) {
-                          return (
-                            console.warn('THREE.Box3: .size() has been renamed to .getSize().'),
-                            this.getSize(e)
-                          )
-                        },
-                      }),
-                      Object.assign(Sr.prototype, {
-                        empty: function () {
-                          return (
-                            console.warn('THREE.Sphere: .empty() has been renamed to .isEmpty().'),
-                            this.isEmpty()
-                          )
-                        },
-                      }),
-                      (zo.prototype.setFromMatrix = function (e) {
-                        return (
-                          console.warn(
-                            'THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().',
-                          ),
-                          this.setFromProjectionMatrix(e)
-                        )
-                      }),
-                      (yp.prototype.center = function (e) {
-                        return (
-                          console.warn('THREE.Line3: .center() has been renamed to .getCenter().'),
-                          this.getCenter(e)
-                        )
-                      }),
-                      Object.assign(Kn, {
-                        random16: function () {
-                          return (
-                            console.warn(
-                              'THREE.Math: .random16() has been deprecated. Use Math.random() instead.',
-                            ),
-                            Math.random()
-                          )
-                        },
-                        nearestPowerOfTwo: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo().',
-                            ),
-                            Kn.floorPowerOfTwo(e)
-                          )
-                        },
-                        nextPowerOfTwo: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo().',
-                            ),
-                            Kn.ceilPowerOfTwo(e)
-                          )
-                        },
-                      }),
-                      Object.assign($n.prototype, {
-                        flattenToArrayOffset: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.',
-                            ),
-                            this.toArray(e, t)
-                          )
-                        },
-                        multiplyVector3: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.',
-                            ),
-                            e.applyMatrix3(this)
-                          )
-                        },
-                        multiplyVector3Array: function () {
-                          console.error('THREE.Matrix3: .multiplyVector3Array() has been removed.')
-                        },
-                        applyToBufferAttribute: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.',
-                            ),
-                            e.applyMatrix3(this)
-                          )
-                        },
-                        applyToVector3Array: function () {
-                          console.error('THREE.Matrix3: .applyToVector3Array() has been removed.')
-                        },
-                        getInverse: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.',
-                            ),
-                            this.copy(e).invert()
-                          )
-                        },
-                      }),
-                      Object.assign(Fr.prototype, {
-                        extractPosition: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().',
-                            ),
-                            this.copyPosition(e)
-                          )
-                        },
-                        flattenToArrayOffset: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.',
-                            ),
-                            this.toArray(e, t)
-                          )
-                        },
-                        getPosition: function () {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.',
-                            ),
-                            new lr().setFromMatrixColumn(this, 3)
-                          )
-                        },
-                        setRotationFromQuaternion: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().',
-                            ),
-                            this.makeRotationFromQuaternion(e)
-                          )
-                        },
-                        multiplyToArray: function () {
-                          console.warn('THREE.Matrix4: .multiplyToArray() has been removed.')
-                        },
-                        multiplyVector3: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-                            ),
-                            e.applyMatrix4(this)
-                          )
-                        },
-                        multiplyVector4: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-                            ),
-                            e.applyMatrix4(this)
-                          )
-                        },
-                        multiplyVector3Array: function () {
-                          console.error('THREE.Matrix4: .multiplyVector3Array() has been removed.')
-                        },
-                        rotateAxis: function (e) {
-                          console.warn(
-                            'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.',
-                          ),
-                            e.transformDirection(this)
-                        },
-                        crossVector: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-                            ),
-                            e.applyMatrix4(this)
-                          )
-                        },
-                        translate: function () {
-                          console.error('THREE.Matrix4: .translate() has been removed.')
-                        },
-                        rotateX: function () {
-                          console.error('THREE.Matrix4: .rotateX() has been removed.')
-                        },
-                        rotateY: function () {
-                          console.error('THREE.Matrix4: .rotateY() has been removed.')
-                        },
-                        rotateZ: function () {
-                          console.error('THREE.Matrix4: .rotateZ() has been removed.')
-                        },
-                        rotateByAxis: function () {
-                          console.error('THREE.Matrix4: .rotateByAxis() has been removed.')
-                        },
-                        applyToBufferAttribute: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.',
-                            ),
-                            e.applyMatrix4(this)
-                          )
-                        },
-                        applyToVector3Array: function () {
-                          console.error('THREE.Matrix4: .applyToVector3Array() has been removed.')
-                        },
-                        makeFrustum: function (e, t, n, r, i, o) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.',
-                            ),
-                            this.makePerspective(e, t, r, n, i, o)
-                          )
-                        },
-                        getInverse: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.',
-                            ),
-                            this.copy(e).invert()
-                          )
-                        },
-                      }),
-                      (hi.prototype.isIntersectionLine = function (e) {
-                        return (
-                          console.warn(
-                            'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().',
-                          ),
-                          this.intersectsLine(e)
-                        )
-                      }),
-                      Object.assign(sr.prototype, {
-                        multiplyVector3: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.',
-                            ),
-                            e.applyQuaternion(this)
-                          )
-                        },
-                        inverse: function () {
-                          return (
-                            console.warn(
-                              'THREE.Quaternion: .inverse() has been renamed to invert().',
-                            ),
-                            this.invert()
-                          )
-                        },
-                      }),
-                      Object.assign(Br.prototype, {
-                        isIntersectionBox: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().',
-                            ),
-                            this.intersectsBox(e)
-                          )
-                        },
-                        isIntersectionPlane: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().',
-                            ),
-                            this.intersectsPlane(e)
-                          )
-                        },
-                        isIntersectionSphere: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().',
-                            ),
-                            this.intersectsSphere(e)
-                          )
-                        },
-                      }),
-                      Object.assign(xi.prototype, {
-                        area: function () {
-                          return (
-                            console.warn('THREE.Triangle: .area() has been renamed to .getArea().'),
-                            this.getArea()
-                          )
-                        },
-                        barycoordFromPoint: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().',
-                            ),
-                            this.getBarycoord(e, t)
-                          )
-                        },
-                        midpoint: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .midpoint() has been renamed to .getMidpoint().',
-                            ),
-                            this.getMidpoint(e)
-                          )
-                        },
-                        normal: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .normal() has been renamed to .getNormal().',
-                            ),
-                            this.getNormal(e)
-                          )
-                        },
-                        plane: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .plane() has been renamed to .getPlane().',
-                            ),
-                            this.getPlane(e)
-                          )
-                        },
-                      }),
-                      Object.assign(xi, {
-                        barycoordFromPoint: function (e, t, n, r, i) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().',
-                            ),
-                            xi.getBarycoord(e, t, n, r, i)
-                          )
-                        },
-                        normal: function (e, t, n, r) {
-                          return (
-                            console.warn(
-                              'THREE.Triangle: .normal() has been renamed to .getNormal().',
-                            ),
-                            xi.getNormal(e, t, n, r)
-                          )
-                        },
-                      }),
-                      Object.assign(qh.prototype, {
-                        extractAllPoints: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.',
-                            ),
-                            this.extractPoints(e)
-                          )
-                        },
-                        extrude: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.',
-                            ),
-                            new fu(this, e)
-                          )
-                        },
-                        makeGeometry: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.',
-                            ),
-                            new xu(this, e)
-                          )
-                        },
-                      }),
-                      Object.assign(Jn.prototype, {
-                        fromAttribute: function (e, t, n) {
-                          return (
-                            console.warn(
-                              'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().',
-                            ),
-                            this.fromBufferAttribute(e, t, n)
-                          )
-                        },
-                        distanceToManhattan: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().',
-                            ),
-                            this.manhattanDistanceTo(e)
-                          )
-                        },
-                        lengthManhattan: function () {
-                          return (
-                            console.warn(
-                              'THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().',
-                            ),
-                            this.manhattanLength()
-                          )
-                        },
-                      }),
-                      Object.assign(lr.prototype, {
-                        setEulerFromRotationMatrix: function () {
-                          console.error(
-                            'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.',
-                          )
-                        },
-                        setEulerFromQuaternion: function () {
-                          console.error(
-                            'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.',
-                          )
-                        },
-                        getPositionFromMatrix: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().',
-                            ),
-                            this.setFromMatrixPosition(e)
-                          )
-                        },
-                        getScaleFromMatrix: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().',
-                            ),
-                            this.setFromMatrixScale(e)
-                          )
-                        },
-                        getColumnFromMatrix: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().',
-                            ),
-                            this.setFromMatrixColumn(t, e)
-                          )
-                        },
-                        applyProjection: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.',
-                            ),
-                            this.applyMatrix4(e)
-                          )
-                        },
-                        fromAttribute: function (e, t, n) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().',
-                            ),
-                            this.fromBufferAttribute(e, t, n)
-                          )
-                        },
-                        distanceToManhattan: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().',
-                            ),
-                            this.manhattanDistanceTo(e)
-                          )
-                        },
-                        lengthManhattan: function () {
-                          return (
-                            console.warn(
-                              'THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().',
-                            ),
-                            this.manhattanLength()
-                          )
-                        },
-                      }),
-                      Object.assign(ir.prototype, {
-                        fromAttribute: function (e, t, n) {
-                          return (
-                            console.warn(
-                              'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().',
-                            ),
-                            this.fromBufferAttribute(e, t, n)
-                          )
-                        },
-                        lengthManhattan: function () {
-                          return (
-                            console.warn(
-                              'THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().',
-                            ),
-                            this.manhattanLength()
-                          )
-                        },
-                      }),
-                      Object.assign(si.prototype, {
-                        getChildByName: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().',
-                            ),
-                            this.getObjectByName(e)
-                          )
-                        },
-                        renderDepth: function () {
-                          console.warn(
-                            'THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.',
-                          )
-                        },
-                        translate: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.',
-                            ),
-                            this.translateOnAxis(t, e)
-                          )
-                        },
-                        getWorldRotation: function () {
-                          console.error(
-                            'THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.',
-                          )
-                        },
-                        applyMatrix: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().',
-                            ),
-                            this.applyMatrix4(e)
-                          )
-                        },
-                      }),
-                      Object.defineProperties(si.prototype, {
-                        eulerOrder: {
-                          get: function () {
-                            return (
-                              console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'),
-                              this.rotation.order
-                            )
-                          },
-                          set: function (e) {
-                            console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'),
-                              (this.rotation.order = e)
-                          },
-                        },
-                        useQuaternion: {
-                          get: function () {
-                            console.warn(
-                              'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.',
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.',
-                            )
-                          },
-                        },
-                      }),
-                      Object.assign(xo.prototype, {
-                        setDrawMode: function () {
-                          console.error(
-                            'THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.',
-                          )
-                        },
-                      }),
-                      Object.defineProperties(xo.prototype, {
-                        drawMode: {
-                          get: function () {
-                            return (
-                              console.error(
-                                'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.',
-                              ),
-                              Yt
-                            )
-                          },
-                          set: function () {
-                            console.error(
-                              'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.',
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Ul.prototype, {
-                        objects: {
-                          get: function () {
-                            return (
-                              console.warn('THREE.LOD: .objects has been renamed to .levels.'),
-                              this.levels
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperty(Ql.prototype, 'useVertexTexture', {
-                        get: function () {
-                          console.warn('THREE.Skeleton: useVertexTexture has been removed.')
-                        },
-                        set: function () {
-                          console.warn('THREE.Skeleton: useVertexTexture has been removed.')
-                        },
-                      }),
-                      (Wl.prototype.initBones = function () {
-                        console.error('THREE.SkinnedMesh: initBones() has been removed.')
-                      }),
-                      Object.defineProperty(gh.prototype, '__arcLengthDivisions', {
-                        get: function () {
-                          return (
-                            console.warn(
-                              'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.',
-                            ),
-                            this.arcLengthDivisions
-                          )
-                        },
-                        set: function (e) {
-                          console.warn(
-                            'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.',
-                          ),
-                            (this.arcLengthDivisions = e)
-                        },
-                      }),
-                      (Oo.prototype.setLens = function (e, t) {
-                        console.warn(
-                          'THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.',
-                        ),
-                          void 0 !== t && (this.filmGauge = t),
-                          this.setFocalLength(e)
-                      }),
-                      Object.defineProperties(Xh.prototype, {
-                        onlyShadow: {
-                          set: function () {
-                            console.warn('THREE.Light: .onlyShadow has been removed.')
-                          },
-                        },
-                        shadowCameraFov: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraFov is now .shadow.camera.fov.',
-                            ),
-                              (this.shadow.camera.fov = e)
-                          },
-                        },
-                        shadowCameraLeft: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraLeft is now .shadow.camera.left.',
-                            ),
-                              (this.shadow.camera.left = e)
-                          },
-                        },
-                        shadowCameraRight: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraRight is now .shadow.camera.right.',
-                            ),
-                              (this.shadow.camera.right = e)
-                          },
-                        },
-                        shadowCameraTop: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraTop is now .shadow.camera.top.',
-                            ),
-                              (this.shadow.camera.top = e)
-                          },
-                        },
-                        shadowCameraBottom: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.',
-                            ),
-                              (this.shadow.camera.bottom = e)
-                          },
-                        },
-                        shadowCameraNear: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraNear is now .shadow.camera.near.',
-                            ),
-                              (this.shadow.camera.near = e)
-                          },
-                        },
-                        shadowCameraFar: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowCameraFar is now .shadow.camera.far.',
-                            ),
-                              (this.shadow.camera.far = e)
-                          },
-                        },
-                        shadowCameraVisible: {
-                          set: function () {
-                            console.warn(
-                              'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.',
-                            )
-                          },
-                        },
-                        shadowBias: {
-                          set: function (e) {
-                            console.warn('THREE.Light: .shadowBias is now .shadow.bias.'),
-                              (this.shadow.bias = e)
-                          },
-                        },
-                        shadowDarkness: {
-                          set: function () {
-                            console.warn('THREE.Light: .shadowDarkness has been removed.')
-                          },
-                        },
-                        shadowMapWidth: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.',
-                            ),
-                              (this.shadow.mapSize.width = e)
-                          },
-                        },
-                        shadowMapHeight: {
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.',
-                            ),
-                              (this.shadow.mapSize.height = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Fi.prototype, {
-                        length: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.BufferAttribute: .length has been deprecated. Use .count instead.',
-                              ),
-                              this.array.length
-                            )
-                          },
-                        },
-                        dynamic: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.',
-                              ),
-                              this.usage === Sn
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.',
-                            ),
-                              this.setUsage(Sn)
-                          },
-                        },
-                      }),
-                      Object.assign(Fi.prototype, {
-                        setDynamic: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.',
-                            ),
-                            this.setUsage(!0 === e ? Sn : Tn),
-                            this
-                          )
-                        },
-                        copyIndicesArray: function () {
-                          console.error(
-                            'THREE.BufferAttribute: .copyIndicesArray() has been removed.',
-                          )
-                        },
-                        setArray: function () {
-                          console.error(
-                            'THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers',
-                          )
-                        },
-                      }),
-                      Object.assign(ro.prototype, {
-                        addIndex: function (e) {
-                          console.warn(
-                            'THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().',
-                          ),
-                            this.setIndex(e)
-                        },
-                        addAttribute: function (e, t) {
-                          return (
-                            console.warn(
-                              'THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().',
-                            ),
-                            (t && t.isBufferAttribute) || (t && t.isInterleavedBufferAttribute)
-                              ? 'index' === e
-                                ? (console.warn(
-                                    'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.',
-                                  ),
-                                  this.setIndex(t),
-                                  this)
-                                : this.setAttribute(e, t)
-                              : (console.warn(
-                                  'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).',
-                                ),
-                                this.setAttribute(e, new Fi(arguments[1], arguments[2])))
-                          )
-                        },
-                        addDrawCall: function (e, t, n) {
-                          void 0 !== n &&
-                            console.warn(
-                              'THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.',
-                            ),
-                            console.warn(
-                              'THREE.BufferGeometry: .addDrawCall() is now .addGroup().',
-                            ),
-                            this.addGroup(e, t)
-                        },
-                        clearDrawCalls: function () {
-                          console.warn(
-                            'THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().',
-                          ),
-                            this.clearGroups()
-                        },
-                        computeOffsets: function () {
-                          console.warn('THREE.BufferGeometry: .computeOffsets() has been removed.')
-                        },
-                        removeAttribute: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().',
-                            ),
-                            this.deleteAttribute(e)
-                          )
-                        },
-                        applyMatrix: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().',
-                            ),
-                            this.applyMatrix4(e)
-                          )
-                        },
-                      }),
-                      Object.defineProperties(ro.prototype, {
-                        drawcalls: {
-                          get: function () {
-                            return (
-                              console.error(
-                                'THREE.BufferGeometry: .drawcalls has been renamed to .groups.',
-                              ),
-                              this.groups
-                            )
-                          },
-                        },
-                        offsets: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.BufferGeometry: .offsets has been renamed to .groups.',
-                              ),
-                              this.groups
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties(cd.prototype, {
-                        maxInstancedCount: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount.',
-                              ),
-                              this.instanceCount
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount.',
-                            ),
-                              (this.instanceCount = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(cp.prototype, {
-                        linePrecision: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead.',
-                              ),
-                              this.params.Line.threshold
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead.',
-                            ),
-                              (this.params.Line.threshold = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(yl.prototype, {
-                        dynamic: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead.',
-                              ),
-                              this.usage === Sn
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead.',
-                            ),
-                              this.setUsage(e)
-                          },
-                        },
-                      }),
-                      Object.assign(yl.prototype, {
-                        setDynamic: function (e) {
-                          return (
-                            console.warn(
-                              'THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.',
-                            ),
-                            this.setUsage(!0 === e ? Sn : Tn),
-                            this
-                          )
-                        },
-                        setArray: function () {
-                          console.error(
-                            'THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers',
-                          )
-                        },
-                      }),
-                      Object.assign(fu.prototype, {
-                        getArrays: function () {
-                          console.error('THREE.ExtrudeGeometry: .getArrays() has been removed.')
-                        },
-                        addShapeList: function () {
-                          console.error('THREE.ExtrudeGeometry: .addShapeList() has been removed.')
-                        },
-                        addShape: function () {
-                          console.error('THREE.ExtrudeGeometry: .addShape() has been removed.')
-                        },
-                      }),
-                      Object.assign(gl.prototype, {
-                        dispose: function () {
-                          console.error('THREE.Scene: .dispose() has been removed.')
-                        },
-                      }),
-                      Object.defineProperties(ap.prototype, {
-                        dynamic: {
-                          set: function () {
-                            console.warn(
-                              'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.',
-                            )
-                          },
-                        },
-                        onUpdate: {
-                          value: function () {
-                            return (
-                              console.warn(
-                                'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.',
-                              ),
-                              this
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Di.prototype, {
-                        wrapAround: {
-                          get: function () {
-                            console.warn('THREE.Material: .wrapAround has been removed.')
-                          },
-                          set: function () {
-                            console.warn('THREE.Material: .wrapAround has been removed.')
-                          },
-                        },
-                        overdraw: {
-                          get: function () {
-                            console.warn('THREE.Material: .overdraw has been removed.')
-                          },
-                          set: function () {
-                            console.warn('THREE.Material: .overdraw has been removed.')
-                          },
-                        },
-                        wrapRGB: {
-                          get: function () {
-                            return (
-                              console.warn('THREE.Material: .wrapRGB has been removed.'), new Li()
-                            )
-                          },
-                        },
-                        shading: {
-                          get: function () {
-                            console.error(
-                              'THREE.' +
-                                this.type +
-                                ': .shading has been removed. Use the boolean .flatShading instead.',
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.' +
-                                this.type +
-                                ': .shading has been removed. Use the boolean .flatShading instead.',
-                            ),
-                              (this.flatShading = e === y)
-                          },
-                        },
-                        stencilMask: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.' +
-                                  this.type +
-                                  ': .stencilMask has been removed. Use .stencilFuncMask instead.',
-                              ),
-                              this.stencilFuncMask
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.' +
-                                this.type +
-                                ': .stencilMask has been removed. Use .stencilFuncMask instead.',
-                            ),
-                              (this.stencilFuncMask = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Fu.prototype, {
-                        metal: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.',
-                              ),
-                              !1
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead',
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Bu.prototype, {
-                        transparency: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission.',
-                              ),
-                              this.transmission
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission.',
-                            ),
-                              (this.transmission = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(Po.prototype, {
-                        derivatives: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.',
-                              ),
-                              this.extensions.derivatives
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.',
-                            ),
-                              (this.extensions.derivatives = e)
-                          },
-                        },
-                      }),
-                      Object.assign(pl.prototype, {
-                        clearTarget: function (e, t, n, r) {
-                          console.warn(
-                            'THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.',
-                          ),
-                            this.setRenderTarget(e),
-                            this.clear(t, n, r)
-                        },
-                        animate: function (e) {
-                          console.warn(
-                            'THREE.WebGLRenderer: .animate() is now .setAnimationLoop().',
-                          ),
-                            this.setAnimationLoop(e)
-                        },
-                        getCurrentRenderTarget: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().',
-                            ),
-                            this.getRenderTarget()
-                          )
-                        },
-                        getMaxAnisotropy: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().',
-                            ),
-                            this.capabilities.getMaxAnisotropy()
-                          )
-                        },
-                        getPrecision: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.',
-                            ),
-                            this.capabilities.precision
-                          )
-                        },
-                        resetGLState: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .resetGLState() is now .state.reset().',
-                            ),
-                            this.state.reset()
-                          )
-                        },
-                        supportsFloatTextures: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).",
-                            ),
-                            this.extensions.get('OES_texture_float')
-                          )
-                        },
-                        supportsHalfFloatTextures: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).",
-                            ),
-                            this.extensions.get('OES_texture_half_float')
-                          )
-                        },
-                        supportsStandardDerivatives: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).",
-                            ),
-                            this.extensions.get('OES_standard_derivatives')
-                          )
-                        },
-                        supportsCompressedTextureS3TC: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).",
-                            ),
-                            this.extensions.get('WEBGL_compressed_texture_s3tc')
-                          )
-                        },
-                        supportsCompressedTexturePVRTC: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).",
-                            ),
-                            this.extensions.get('WEBGL_compressed_texture_pvrtc')
-                          )
-                        },
-                        supportsBlendMinMax: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).",
-                            ),
-                            this.extensions.get('EXT_blend_minmax')
-                          )
-                        },
-                        supportsVertexTextures: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.',
-                            ),
-                            this.capabilities.vertexTextures
-                          )
-                        },
-                        supportsInstancedArrays: function () {
-                          return (
-                            console.warn(
-                              "THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).",
-                            ),
-                            this.extensions.get('ANGLE_instanced_arrays')
-                          )
-                        },
-                        enableScissorTest: function (e) {
-                          console.warn(
-                            'THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().',
-                          ),
-                            this.setScissorTest(e)
-                        },
-                        initMaterial: function () {
-                          console.warn('THREE.WebGLRenderer: .initMaterial() has been removed.')
-                        },
-                        addPrePlugin: function () {
-                          console.warn('THREE.WebGLRenderer: .addPrePlugin() has been removed.')
-                        },
-                        addPostPlugin: function () {
-                          console.warn('THREE.WebGLRenderer: .addPostPlugin() has been removed.')
-                        },
-                        updateShadowMap: function () {
-                          console.warn('THREE.WebGLRenderer: .updateShadowMap() has been removed.')
-                        },
-                        setFaceCulling: function () {
-                          console.warn('THREE.WebGLRenderer: .setFaceCulling() has been removed.')
-                        },
-                        allocTextureUnit: function () {
-                          console.warn('THREE.WebGLRenderer: .allocTextureUnit() has been removed.')
-                        },
-                        setTexture: function () {
-                          console.warn('THREE.WebGLRenderer: .setTexture() has been removed.')
-                        },
-                        setTextureCube: function () {
-                          console.warn('THREE.WebGLRenderer: .setTextureCube() has been removed.')
-                        },
-                        getActiveMipMapLevel: function () {
-                          return (
-                            console.warn(
-                              'THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().',
-                            ),
-                            this.getActiveMipmapLevel()
-                          )
-                        },
-                      }),
-                      Object.defineProperties(pl.prototype, {
-                        shadowMapEnabled: {
-                          get: function () {
-                            return this.shadowMap.enabled
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.',
-                            ),
-                              (this.shadowMap.enabled = e)
-                          },
-                        },
-                        shadowMapType: {
-                          get: function () {
-                            return this.shadowMap.type
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.',
-                            ),
-                              (this.shadowMap.type = e)
-                          },
-                        },
-                        shadowMapCullFace: {
-                          get: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                        },
-                        context: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.',
-                              ),
-                              this.getContext()
-                            )
-                          },
-                        },
-                        vr: {
-                          get: function () {
-                            return (
-                              console.warn('THREE.WebGLRenderer: .vr has been renamed to .xr'),
-                              this.xr
-                            )
-                          },
-                        },
-                        gammaInput: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.',
-                              ),
-                              !1
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.',
-                            )
-                          },
-                        },
-                        gammaOutput: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.',
-                              ),
-                              !1
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.',
-                            ),
-                              (this.outputEncoding = !0 === e ? Jt : Kt)
-                          },
-                        },
-                        toneMappingWhitePoint: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.',
-                              ),
-                              1
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.',
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties($s.prototype, {
-                        cullFace: {
-                          get: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                        },
-                        renderReverseSided: {
-                          get: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                        },
-                        renderSingleSided: {
-                          get: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                          set: function () {
-                            console.warn(
-                              'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.',
-                            )
-                          },
-                        },
-                      }),
-                      Object.defineProperties(or.prototype, {
-                        wrapS: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.',
-                              ),
-                              this.texture.wrapS
-                            )
-                          },
-                          set: function (e) {
-                            console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'),
-                              (this.texture.wrapS = e)
-                          },
-                        },
-                        wrapT: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.',
-                              ),
-                              this.texture.wrapT
-                            )
-                          },
-                          set: function (e) {
-                            console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'),
-                              (this.texture.wrapT = e)
-                          },
-                        },
-                        magFilter: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.',
-                              ),
-                              this.texture.magFilter
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.',
-                            ),
-                              (this.texture.magFilter = e)
-                          },
-                        },
-                        minFilter: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.',
-                              ),
-                              this.texture.minFilter
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.',
-                            ),
-                              (this.texture.minFilter = e)
-                          },
-                        },
-                        anisotropy: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.',
-                              ),
-                              this.texture.anisotropy
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.',
-                            ),
-                              (this.texture.anisotropy = e)
-                          },
-                        },
-                        offset: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .offset is now .texture.offset.',
-                              ),
-                              this.texture.offset
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .offset is now .texture.offset.',
-                            ),
-                              (this.texture.offset = e)
-                          },
-                        },
-                        repeat: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.',
-                              ),
-                              this.texture.repeat
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.',
-                            ),
-                              (this.texture.repeat = e)
-                          },
-                        },
-                        format: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .format is now .texture.format.',
-                              ),
-                              this.texture.format
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .format is now .texture.format.',
-                            ),
-                              (this.texture.format = e)
-                          },
-                        },
-                        type: {
-                          get: function () {
-                            return (
-                              console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'),
-                              this.texture.type
-                            )
-                          },
-                          set: function (e) {
-                            console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'),
-                              (this.texture.type = e)
-                          },
-                        },
-                        generateMipmaps: {
-                          get: function () {
-                            return (
-                              console.warn(
-                                'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.',
-                              ),
-                              this.texture.generateMipmaps
-                            )
-                          },
-                          set: function (e) {
-                            console.warn(
-                              'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.',
-                            ),
-                              (this.texture.generateMipmaps = e)
-                          },
-                        },
-                      }),
-                      Object.defineProperties(kd.prototype, {
-                        load: {
-                          value: function (e) {
-                            console.warn(
-                              'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.',
-                            )
-                            var t = this
-                            return (
-                              new Md().load(e, function (e) {
-                                t.setBuffer(e)
-                              }),
-                              this
-                            )
-                          },
-                        },
-                        startTime: {
-                          set: function () {
-                            console.warn('THREE.Audio: .startTime is now .play( delay ).')
-                          },
-                        },
-                      }),
-                      (jd.prototype.getData = function () {
-                        return (
-                          console.warn(
-                            'THREE.AudioAnalyser: .getData() is now .getFrequencyData().',
-                          ),
-                          this.getFrequencyData()
-                        )
-                      }),
-                      (Fo.prototype.updateCubeMap = function (e, t) {
-                        return (
-                          console.warn('THREE.CubeCamera: .updateCubeMap() is now .update().'),
-                          this.update(e, t)
-                        )
-                      }),
-                      (Fo.prototype.clear = function (e, t, n, r) {
-                        return (
-                          console.warn('THREE.CubeCamera: .clear() is now .renderTarget.clear().'),
-                          this.renderTarget.clear(e, t, n, r)
-                        )
-                      })
-                    var pm = {
-                      merge: function (e, t, n) {
-                        var r
-                        console.warn(
-                          'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.',
-                        ),
-                          t.isMesh &&
-                            (t.matrixAutoUpdate && t.updateMatrix(),
-                            (r = t.matrix),
-                            (t = t.geometry)),
-                          e.merge(t, r, n)
-                      },
-                      center: function (e) {
-                        return (
-                          console.warn(
-                            'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.',
-                          ),
-                          e.center()
-                        )
-                      },
-                    }
-                    function fm() {
-                      console.error('THREE.CanvasRenderer has been removed')
-                    }
-                    function mm() {
-                      console.error('THREE.JSONLoader has been removed.')
-                    }
-                    ;(er.crossOrigin = void 0),
-                      (er.loadTexture = function (e, t, n, r) {
-                        console.warn(
-                          'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.',
-                        )
-                        var i = new vh()
-                        i.setCrossOrigin(this.crossOrigin)
-                        var o = i.load(e, n, void 0, r)
-                        return t && (o.mapping = t), o
-                      }),
-                      (er.loadTextureCube = function (e, t, n, r) {
-                        console.warn(
-                          'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.',
-                        )
-                        var i = new fh()
-                        i.setCrossOrigin(this.crossOrigin)
-                        var o = i.load(e, n, void 0, r)
-                        return t && (o.mapping = t), o
-                      }),
-                      (er.loadCompressedTexture = function () {
-                        console.error(
-                          'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.',
-                        )
-                      }),
-                      (er.loadCompressedTextureCube = function () {
-                        console.error(
-                          'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.',
-                        )
-                      })
-                    var vm = {
-                      createMultiMaterialObject: function () {
-                        console.error(
-                          'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js',
-                        )
-                      },
-                      detach: function () {
-                        console.error(
-                          'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js',
-                        )
-                      },
-                      attach: function () {
-                        console.error(
-                          'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js',
-                        )
-                      },
-                    }
-                    function gm() {
-                      console.error(
-                        'THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js',
-                      )
-                    }
-                    'undefined' !== typeof __THREE_DEVTOOLS__ &&
-                      __THREE_DEVTOOLS__.dispatchEvent(
-                        new CustomEvent('register', { detail: { revision: i } }),
-                      ),
-                      'undefined' !== typeof window &&
-                        (window.__THREE__
-                          ? console.warn('WARNING: Multiple instances of Three.js being imported.')
-                          : (window.__THREE__ = i)),
-                      (t.ACESFilmicToneMapping = re),
-                      (t.AddEquation = T),
-                      (t.AddOperation = J),
-                      (t.AdditiveAnimationBlendMode = Xt),
-                      (t.AdditiveBlending = x),
-                      (t.AlphaFormat = ke),
-                      (t.AlwaysDepth = j),
-                      (t.AlwaysStencilFunc = _n),
-                      (t.AmbientLight = rd),
-                      (t.AmbientLightProbe = Td),
-                      (t.AnimationClip = nh),
-                      (t.AnimationLoader = hh),
-                      (t.AnimationMixer = op),
-                      (t.AnimationObjectGroup = rp),
-                      (t.AnimationUtils = ju),
-                      (t.ArcCurve = bh),
-                      (t.ArrayCamera = il),
-                      (t.ArrowHelper = Zp),
-                      (t.Audio = kd),
-                      (t.AudioAnalyser = jd),
-                      (t.AudioContext = Ed),
-                      (t.AudioListener = Fd),
-                      (t.AudioLoader = Md),
-                      (t.AxesHelper = Kp),
-                      (t.AxisHelper = am),
-                      (t.BackSide = v),
-                      (t.BasicDepthPacking = an),
-                      (t.BasicShadowMap = h),
-                      (t.BinaryTextureLoader = hm),
-                      (t.Bone = ql),
-                      (t.BooleanKeyframeTrack = Qu),
-                      (t.BoundingBoxHelper = sm),
-                      (t.Box2 = mp),
-                      (t.Box3 = hr),
-                      (t.Box3Helper = Xp),
-                      (t.BoxBufferGeometry = _o),
-                      (t.BoxGeometry = _o),
-                      (t.BoxHelper = qp),
-                      (t.BufferAttribute = Fi),
-                      (t.BufferGeometry = ro),
-                      (t.BufferGeometryLoader = hd),
-                      (t.ByteType = Te),
-                      (t.Cache = oh),
-                      (t.Camera = Do),
-                      (t.CameraHelper = Hp),
-                      (t.CanvasRenderer = fm),
-                      (t.CanvasTexture = wc),
-                      (t.CatmullRomCurve3 = _h),
-                      (t.CineonToneMapping = ne),
-                      (t.CircleBufferGeometry = Ec),
-                      (t.CircleGeometry = Ec),
-                      (t.ClampToEdgeWrapping = pe),
-                      (t.Clock = Rd),
-                      (t.ClosedSplineCurve3 = rm),
-                      (t.Color = Li),
-                      (t.ColorKeyframeTrack = Zu),
-                      (t.CompressedTexture = Ac),
-                      (t.CompressedTextureLoader = dh),
-                      (t.ConeBufferGeometry = _c),
-                      (t.ConeGeometry = _c),
-                      (t.CubeCamera = Fo),
-                      (t.CubeReflectionMapping = ae),
-                      (t.CubeRefractionMapping = se),
-                      (t.CubeTexture = ko),
-                      (t.CubeTextureLoader = fh),
-                      (t.CubeUVReflectionMapping = ue),
-                      (t.CubeUVRefractionMapping = he),
-                      (t.CubicBezierCurve = Fh),
-                      (t.CubicBezierCurve3 = kh),
-                      (t.CubicInterpolant = Wu),
-                      (t.CullFaceBack = l),
-                      (t.CullFaceFront = c),
-                      (t.CullFaceFrontBack = u),
-                      (t.CullFaceNone = s),
-                      (t.Curve = gh),
-                      (t.CurvePath = Vh),
-                      (t.CustomBlending = _),
-                      (t.CustomToneMapping = ie),
-                      (t.CylinderBufferGeometry = Mc),
-                      (t.CylinderGeometry = Mc),
-                      (t.Cylindrical = pp),
-                      (t.DataTexture = Uo),
-                      (t.DataTexture2DArray = ca),
-                      (t.DataTexture3D = ua),
-                      (t.DataTextureLoader = mh),
-                      (t.DataUtils = ef),
-                      (t.DecrementStencilOp = fn),
-                      (t.DecrementWrapStencilOp = vn),
-                      (t.DefaultLoadingManager = sh),
-                      (t.DepthFormat = je),
-                      (t.DepthStencilFormat = Ve),
-                      (t.DepthTexture = xc),
-                      (t.DirectionalLight = nd),
-                      (t.DirectionalLightHelper = kp),
-                      (t.DiscreteInterpolant = Xu),
-                      (t.DodecahedronBufferGeometry = Sc),
-                      (t.DodecahedronGeometry = Sc),
-                      (t.DoubleSide = g),
-                      (t.DstAlphaFactor = k),
-                      (t.DstColorFactor = U),
-                      (t.DynamicBufferAttribute = Xf),
-                      (t.DynamicCopyUsage = On),
-                      (t.DynamicDrawUsage = Sn),
-                      (t.DynamicReadUsage = Rn),
-                      (t.EdgesGeometry = Dc),
-                      (t.EdgesHelper = lm),
-                      (t.EllipseCurve = yh),
-                      (t.EqualDepth = q),
-                      (t.EqualStencilFunc = An),
-                      (t.EquirectangularReflectionMapping = le),
-                      (t.EquirectangularRefractionMapping = ce),
-                      (t.Euler = Vr),
-                      (t.EventDispatcher = qn),
-                      (t.ExtrudeBufferGeometry = fu),
-                      (t.ExtrudeGeometry = fu),
-                      (t.Face3 = Ri),
-                      (t.Face4 = Df),
-                      (t.FaceColors = Ff),
-                      (t.FileLoader = uh),
-                      (t.FlatShading = y),
-                      (t.Float16BufferAttribute = Vi),
-                      (t.Float32Attribute = tm),
-                      (t.Float32BufferAttribute = Wi),
-                      (t.Float64Attribute = nm),
-                      (t.Float64BufferAttribute = qi),
-                      (t.FloatType = Pe),
-                      (t.Fog = vl),
-                      (t.FogExp2 = ml),
-                      (t.Font = bd),
-                      (t.FontLoader = xd),
-                      (t.FrontSide = m),
-                      (t.Frustum = zo),
-                      (t.GLBufferAttribute = lp),
-                      (t.GLSL1 = Bn),
-                      (t.GLSL3 = Fn),
-                      (t.GammaEncoding = $t),
-                      (t.GeometryUtils = pm),
-                      (t.GreaterDepth = Y),
-                      (t.GreaterEqualDepth = X),
-                      (t.GreaterEqualStencilFunc = Mn),
-                      (t.GreaterStencilFunc = xn),
-                      (t.GridHelper = Dp),
-                      (t.Group = rl),
-                      (t.HalfFloatType = De),
-                      (t.HemisphereLight = Yh),
-                      (t.HemisphereLightHelper = Pp),
-                      (t.HemisphereLightProbe = _d),
-                      (t.IcosahedronBufferGeometry = gu),
-                      (t.IcosahedronGeometry = gu),
-                      (t.ImageBitmapLoader = vd),
-                      (t.ImageLoader = ph),
-                      (t.ImageUtils = er),
-                      (t.ImmediateRenderObject = bp),
-                      (t.IncrementStencilOp = pn),
-                      (t.IncrementWrapStencilOp = mn),
-                      (t.InstancedBufferAttribute = ud),
-                      (t.InstancedBufferGeometry = cd),
-                      (t.InstancedInterleavedBuffer = sp),
-                      (t.InstancedMesh = ec),
-                      (t.Int16Attribute = Kf),
-                      (t.Int16BufferAttribute = Hi),
-                      (t.Int32Attribute = $f),
-                      (t.Int32BufferAttribute = zi),
-                      (t.Int8Attribute = Yf),
-                      (t.Int8BufferAttribute = ki),
-                      (t.IntType = Le),
-                      (t.InterleavedBuffer = yl),
-                      (t.InterleavedBufferAttribute = wl),
-                      (t.Interpolant = Vu),
-                      (t.InterpolateDiscrete = Ht),
-                      (t.InterpolateLinear = Gt),
-                      (t.InterpolateSmooth = zt),
-                      (t.InvertStencilOp = gn),
-                      (t.JSONLoader = mm),
-                      (t.KeepStencilOp = hn),
-                      (t.KeyframeTrack = Yu),
-                      (t.LOD = Ul),
-                      (t.LatheBufferGeometry = yu),
-                      (t.LatheGeometry = yu),
-                      (t.Layers = Xr),
-                      (t.LensFlare = gm),
-                      (t.LessDepth = V),
-                      (t.LessEqualDepth = W),
-                      (t.LessEqualStencilFunc = wn),
-                      (t.LessStencilFunc = bn),
-                      (t.Light = Xh),
-                      (t.LightProbe = ad),
-                      (t.Line = sc),
-                      (t.Line3 = yp),
-                      (t.LineBasicMaterial = tc),
-                      (t.LineCurve = Nh),
-                      (t.LineCurve3 = Uh),
-                      (t.LineDashedMaterial = Gu),
-                      (t.LineLoop = hc),
-                      (t.LinePieces = If),
-                      (t.LineSegments = uc),
-                      (t.LineStrip = Of),
-                      (t.LinearEncoding = Kt),
-                      (t.LinearFilter = Ae),
-                      (t.LinearInterpolant = qu),
-                      (t.LinearMipMapLinearFilter = Me),
-                      (t.LinearMipMapNearestFilter = xe),
-                      (t.LinearMipmapLinearFilter = Ee),
-                      (t.LinearMipmapNearestFilter = we),
-                      (t.LinearToneMapping = ee),
-                      (t.Loader = lh),
-                      (t.LoaderUtils = ld),
-                      (t.LoadingManager = ah),
-                      (t.LogLuvEncoding = tn),
-                      (t.LoopOnce = kt),
-                      (t.LoopPingPong = Ut),
-                      (t.LoopRepeat = Nt),
-                      (t.LuminanceAlphaFormat = Ge),
-                      (t.LuminanceFormat = He),
-                      (t.MOUSE = o),
-                      (t.Material = Di),
-                      (t.MaterialLoader = sd),
-                      (t.Math = Kn),
-                      (t.MathUtils = Kn),
-                      (t.Matrix3 = $n),
-                      (t.Matrix4 = Fr),
-                      (t.MaxEquation = R),
-                      (t.Mesh = xo),
-                      (t.MeshBasicMaterial = Oi),
-                      (t.MeshDepthMaterial = Qs),
-                      (t.MeshDistanceMaterial = Zs),
-                      (t.MeshFaceMaterial = Nf),
-                      (t.MeshLambertMaterial = Uu),
-                      (t.MeshMatcapMaterial = Hu),
-                      (t.MeshNormalMaterial = Nu),
-                      (t.MeshPhongMaterial = Fu),
-                      (t.MeshPhysicalMaterial = Bu),
-                      (t.MeshStandardMaterial = Iu),
-                      (t.MeshToonMaterial = ku),
-                      (t.MinEquation = L),
-                      (t.MirroredRepeatWrapping = fe),
-                      (t.MixOperation = K),
-                      (t.MultiMaterial = Uf),
-                      (t.MultiplyBlending = M),
-                      (t.MultiplyOperation = Z),
-                      (t.NearestFilter = me),
-                      (t.NearestMipMapLinearFilter = be),
-                      (t.NearestMipMapNearestFilter = ge),
-                      (t.NearestMipmapLinearFilter = ye),
-                      (t.NearestMipmapNearestFilter = ve),
-                      (t.NeverDepth = z),
-                      (t.NeverStencilFunc = yn),
-                      (t.NoBlending = A),
-                      (t.NoColors = Bf),
-                      (t.NoToneMapping = $),
-                      (t.NormalAnimationBlendMode = qt),
-                      (t.NormalBlending = w),
-                      (t.NotEqualDepth = Q),
-                      (t.NotEqualStencilFunc = En),
-                      (t.NumberKeyframeTrack = Ku),
-                      (t.Object3D = si),
-                      (t.ObjectLoader = dd),
-                      (t.ObjectSpaceNormalMap = cn),
-                      (t.OctahedronBufferGeometry = bu),
-                      (t.OctahedronGeometry = bu),
-                      (t.OneFactor = D),
-                      (t.OneMinusDstAlphaFactor = N),
-                      (t.OneMinusDstColorFactor = H),
-                      (t.OneMinusSrcAlphaFactor = F),
-                      (t.OneMinusSrcColorFactor = I),
-                      (t.OrthographicCamera = ed),
-                      (t.PCFShadowMap = d),
-                      (t.PCFSoftShadowMap = p),
-                      (t.PMREMGenerator = xf),
-                      (t.ParametricBufferGeometry = Au),
-                      (t.ParametricGeometry = Au),
-                      (t.Particle = Gf),
-                      (t.ParticleBasicMaterial = Vf),
-                      (t.ParticleSystem = zf),
-                      (t.ParticleSystemMaterial = Wf),
-                      (t.Path = Wh),
-                      (t.PerspectiveCamera = Oo),
-                      (t.Plane = hi),
-                      (t.PlaneBufferGeometry = Wo),
-                      (t.PlaneGeometry = Wo),
-                      (t.PlaneHelper = Yp),
-                      (t.PointCloud = Hf),
-                      (t.PointCloudMaterial = jf),
-                      (t.PointLight = $h),
-                      (t.PointLightHelper = Sp),
-                      (t.Points = gc),
-                      (t.PointsMaterial = dc),
-                      (t.PolarGridHelper = Op),
-                      (t.PolyhedronBufferGeometry = Tc),
-                      (t.PolyhedronGeometry = Tc),
-                      (t.PositionalAudio = zd),
-                      (t.PropertyBinding = np),
-                      (t.PropertyMixer = Vd),
-                      (t.QuadraticBezierCurve = Hh),
-                      (t.QuadraticBezierCurve3 = Gh),
-                      (t.Quaternion = sr),
-                      (t.QuaternionKeyframeTrack = $u),
-                      (t.QuaternionLinearInterpolant = Ju),
-                      (t.REVISION = i),
-                      (t.RGBADepthPacking = sn),
-                      (t.RGBAFormat = Ue),
-                      (t.RGBAIntegerFormat = Ze),
-                      (t.RGBA_ASTC_10x10_Format = bt),
-                      (t.RGBA_ASTC_10x5_Format = vt),
-                      (t.RGBA_ASTC_10x6_Format = gt),
-                      (t.RGBA_ASTC_10x8_Format = yt),
-                      (t.RGBA_ASTC_12x10_Format = At),
-                      (t.RGBA_ASTC_12x12_Format = wt),
-                      (t.RGBA_ASTC_4x4_Format = lt),
-                      (t.RGBA_ASTC_5x4_Format = ct),
-                      (t.RGBA_ASTC_5x5_Format = ut),
-                      (t.RGBA_ASTC_6x5_Format = ht),
-                      (t.RGBA_ASTC_6x6_Format = dt),
-                      (t.RGBA_ASTC_8x5_Format = pt),
-                      (t.RGBA_ASTC_8x6_Format = ft),
-                      (t.RGBA_ASTC_8x8_Format = mt),
-                      (t.RGBA_BPTC_Format = xt),
-                      (t.RGBA_ETC2_EAC_Format = st),
-                      (t.RGBA_PVRTC_2BPPV1_Format = it),
-                      (t.RGBA_PVRTC_4BPPV1_Format = rt),
-                      (t.RGBA_S3TC_DXT1_Format = Je),
-                      (t.RGBA_S3TC_DXT3_Format = $e),
-                      (t.RGBA_S3TC_DXT5_Format = et),
-                      (t.RGBDEncoding = on),
-                      (t.RGBEEncoding = en),
-                      (t.RGBEFormat = ze),
-                      (t.RGBFormat = Ne),
-                      (t.RGBIntegerFormat = Qe),
-                      (t.RGBM16Encoding = rn),
-                      (t.RGBM7Encoding = nn),
-                      (t.RGB_ETC1_Format = ot),
-                      (t.RGB_ETC2_Format = at),
-                      (t.RGB_PVRTC_2BPPV1_Format = nt),
-                      (t.RGB_PVRTC_4BPPV1_Format = tt),
-                      (t.RGB_S3TC_DXT1_Format = Ke),
-                      (t.RGFormat = Xe),
-                      (t.RGIntegerFormat = Ye),
-                      (t.RawShaderMaterial = Ou),
-                      (t.Ray = Br),
-                      (t.Raycaster = cp),
-                      (t.RectAreaLight = id),
-                      (t.RedFormat = We),
-                      (t.RedIntegerFormat = qe),
-                      (t.ReinhardToneMapping = te),
-                      (t.RepeatWrapping = de),
-                      (t.ReplaceStencilOp = dn),
-                      (t.ReverseSubtractEquation = C),
-                      (t.RingBufferGeometry = wu),
-                      (t.RingGeometry = wu),
-                      (t.SRGB8_ALPHA8_ASTC_10x10_Format = It),
-                      (t.SRGB8_ALPHA8_ASTC_10x5_Format = Pt),
-                      (t.SRGB8_ALPHA8_ASTC_10x6_Format = Dt),
-                      (t.SRGB8_ALPHA8_ASTC_10x8_Format = Ot),
-                      (t.SRGB8_ALPHA8_ASTC_12x10_Format = Bt),
-                      (t.SRGB8_ALPHA8_ASTC_12x12_Format = Ft),
-                      (t.SRGB8_ALPHA8_ASTC_4x4_Format = Et),
-                      (t.SRGB8_ALPHA8_ASTC_5x4_Format = Mt),
-                      (t.SRGB8_ALPHA8_ASTC_5x5_Format = _t),
-                      (t.SRGB8_ALPHA8_ASTC_6x5_Format = Tt),
-                      (t.SRGB8_ALPHA8_ASTC_6x6_Format = St),
-                      (t.SRGB8_ALPHA8_ASTC_8x5_Format = Ct),
-                      (t.SRGB8_ALPHA8_ASTC_8x6_Format = Lt),
-                      (t.SRGB8_ALPHA8_ASTC_8x8_Format = Rt),
-                      (t.Scene = gl),
-                      (t.SceneUtils = vm),
-                      (t.ShaderChunk = qo),
-                      (t.ShaderLib = Yo),
-                      (t.ShaderMaterial = Po),
-                      (t.ShadowMaterial = Du),
-                      (t.Shape = qh),
-                      (t.ShapeBufferGeometry = xu),
-                      (t.ShapeGeometry = xu),
-                      (t.ShapePath = gd),
-                      (t.ShapeUtils = hu),
-                      (t.ShortType = Se),
-                      (t.Skeleton = Ql),
-                      (t.SkeletonHelper = _p),
-                      (t.SkinnedMesh = Wl),
-                      (t.SmoothShading = b),
-                      (t.Sphere = Sr),
-                      (t.SphereBufferGeometry = Mu),
-                      (t.SphereGeometry = Mu),
-                      (t.Spherical = dp),
-                      (t.SphericalHarmonics3 = od),
-                      (t.Spline = om),
-                      (t.SplineCurve = zh),
-                      (t.SplineCurve3 = im),
-                      (t.SpotLight = Kh),
-                      (t.SpotLightHelper = wp),
-                      (t.Sprite = Bl),
-                      (t.SpriteMaterial = xl),
-                      (t.SrcAlphaFactor = B),
-                      (t.SrcAlphaSaturateFactor = G),
-                      (t.SrcColorFactor = O),
-                      (t.StaticCopyUsage = Dn),
-                      (t.StaticDrawUsage = Tn),
-                      (t.StaticReadUsage = Ln),
-                      (t.StereoCamera = Ld),
-                      (t.StreamCopyUsage = In),
-                      (t.StreamDrawUsage = Cn),
-                      (t.StreamReadUsage = Pn),
-                      (t.StringKeyframeTrack = eh),
-                      (t.SubtractEquation = S),
-                      (t.SubtractiveBlending = E),
-                      (t.TOUCH = a),
-                      (t.TangentSpaceNormalMap = ln),
-                      (t.TetrahedronBufferGeometry = _u),
-                      (t.TetrahedronGeometry = _u),
-                      (t.TextBufferGeometry = Tu),
-                      (t.TextGeometry = Tu),
-                      (t.Texture = nr),
-                      (t.TextureLoader = vh),
-                      (t.TorusBufferGeometry = Su),
-                      (t.TorusGeometry = Su),
-                      (t.TorusKnotBufferGeometry = Cu),
-                      (t.TorusKnotGeometry = Cu),
-                      (t.Triangle = xi),
-                      (t.TriangleFanDrawMode = Zt),
-                      (t.TriangleStripDrawMode = Qt),
-                      (t.TrianglesDrawMode = Yt),
-                      (t.TubeBufferGeometry = Lu),
-                      (t.TubeGeometry = Lu),
-                      (t.UVMapping = oe),
-                      (t.Uint16Attribute = Jf),
-                      (t.Uint16BufferAttribute = Gi),
-                      (t.Uint32Attribute = em),
-                      (t.Uint32BufferAttribute = ji),
-                      (t.Uint8Attribute = Qf),
-                      (t.Uint8BufferAttribute = Ni),
-                      (t.Uint8ClampedAttribute = Zf),
-                      (t.Uint8ClampedBufferAttribute = Ui),
-                      (t.Uniform = ap),
-                      (t.UniformsLib = Xo),
-                      (t.UniformsUtils = Co),
-                      (t.UnsignedByteType = _e),
-                      (t.UnsignedInt248Type = Fe),
-                      (t.UnsignedIntType = Re),
-                      (t.UnsignedShort4444Type = Oe),
-                      (t.UnsignedShort5551Type = Ie),
-                      (t.UnsignedShort565Type = Be),
-                      (t.UnsignedShortType = Ce),
-                      (t.VSMShadowMap = f),
-                      (t.Vector2 = Jn),
-                      (t.Vector3 = lr),
-                      (t.Vector4 = ir),
-                      (t.VectorKeyframeTrack = th),
-                      (t.Vertex = qf),
-                      (t.VertexColors = kf),
-                      (t.VideoTexture = bc),
-                      (t.WebGL1Renderer = fl),
-                      (t.WebGLCubeRenderTarget = No),
-                      (t.WebGLMultisampleRenderTarget = ar),
-                      (t.WebGLRenderTarget = or),
-                      (t.WebGLRenderTargetCube = dm),
-                      (t.WebGLRenderer = pl),
-                      (t.WebGLUtils = nl),
-                      (t.WireframeGeometry = Ru),
-                      (t.WireframeHelper = cm),
-                      (t.WrapAroundEnding = Wt),
-                      (t.XHRLoader = um),
-                      (t.ZeroCurvatureEnding = jt),
-                      (t.ZeroFactor = P),
-                      (t.ZeroSlopeEnding = Vt),
-                      (t.ZeroStencilOp = un),
-                      (t.sRGBEncoding = Jt),
-                      Object.defineProperty(t, '__esModule', { value: !0 })
-                  }),
-                  'object' === typeof i && 'undefined' !== typeof r
-                    ? a(i)
-                    : 'function' === typeof t && t.amd
-                    ? t(['exports'], a)
-                    : a(
-                        ((o = 'undefined' !== typeof globalThis ? globalThis : o || self).THREE =
-                          {}),
-                      )
-              },
-              {},
-            ],
-            58: [
-              function (e, t, n) {
-                ;(THREE.DRACOLoader = function (e) {
-                  THREE.Loader.call(this, e),
-                    (this.decoderPath = ''),
-                    (this.decoderConfig = {}),
-                    (this.decoderBinary = null),
-                    (this.decoderPending = null),
-                    (this.workerLimit = 4),
-                    (this.workerPool = []),
-                    (this.workerNextTaskID = 1),
-                    (this.workerSourceURL = ''),
-                    (this.defaultAttributeIDs = {
-                      position: 'POSITION',
-                      normal: 'NORMAL',
-                      color: 'COLOR',
-                      uv: 'TEX_COORD',
-                    }),
-                    (this.defaultAttributeTypes = {
-                      position: 'Float32Array',
-                      normal: 'Float32Array',
-                      color: 'Float32Array',
-                      uv: 'Float32Array',
-                    })
-                }),
-                  (THREE.DRACOLoader.prototype = Object.assign(
-                    Object.create(THREE.Loader.prototype),
-                    {
-                      constructor: THREE.DRACOLoader,
-                      setDecoderPath: function (e) {
-                        return (this.decoderPath = e), this
-                      },
-                      setDecoderConfig: function (e) {
-                        return (this.decoderConfig = e), this
-                      },
-                      setWorkerLimit: function (e) {
-                        return (this.workerLimit = e), this
-                      },
-                      setVerbosity: function () {
-                        console.warn(
-                          'THREE.DRACOLoader: The .setVerbosity() method has been removed.',
-                        )
-                      },
-                      setDrawMode: function () {
-                        console.warn(
-                          'THREE.DRACOLoader: The .setDrawMode() method has been removed.',
-                        )
-                      },
-                      setSkipDequantization: function () {
-                        console.warn(
-                          'THREE.DRACOLoader: The .setSkipDequantization() method has been removed.',
-                        )
-                      },
-                      load: function (e, t, n, r) {
-                        var i = new THREE.FileLoader(this.manager)
-                        i.setPath(this.path),
-                          i.setResponseType('arraybuffer'),
-                          i.setRequestHeader(this.requestHeader),
-                          i.setWithCredentials(this.withCredentials),
-                          i.load(
-                            e,
-                            (e) => {
-                              var n = {
-                                attributeIDs: this.defaultAttributeIDs,
-                                attributeTypes: this.defaultAttributeTypes,
-                                useUniqueIDs: !1,
-                              }
-                              this.decodeGeometry(e, n).then(t).catch(r)
-                            },
-                            n,
-                            r,
-                          )
-                      },
-                      decodeDracoFile: function (e, t, n, r) {
-                        var i = {
-                          attributeIDs: n || this.defaultAttributeIDs,
-                          attributeTypes: r || this.defaultAttributeTypes,
-                          useUniqueIDs: !!n,
-                        }
-                        this.decodeGeometry(e, i).then(t)
-                      },
-                      decodeGeometry: function (e, t) {
-                        for (var n in t.attributeTypes) {
-                          var r = t.attributeTypes[n]
-                          void 0 !== r.BYTES_PER_ELEMENT && (t.attributeTypes[n] = r.name)
-                        }
-                        var i,
-                          o = JSON.stringify(t)
-                        if (THREE.DRACOLoader.taskCache.has(e)) {
-                          var a = THREE.DRACOLoader.taskCache.get(e)
-                          if (a.key === o) return a.promise
-                          if (0 === e.byteLength)
-                            throw new Error(
-                              'THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.',
-                            )
-                        }
-                        var s = this.workerNextTaskID++,
-                          l = e.byteLength,
-                          c = this._getWorker(s, l)
-                            .then(
-                              (n) => (
-                                (i = n),
-                                new Promise((n, r) => {
-                                  ;(i._callbacks[s] = { resolve: n, reject: r }),
-                                    i.postMessage(
-                                      { type: 'decode', id: s, taskConfig: t, buffer: e },
-                                      [e],
-                                    )
-                                })
-                              ),
-                            )
-                            .then((e) => this._createGeometry(e.geometry))
-                        return (
-                          c
-                            .catch(() => !0)
-                            .then(() => {
-                              i && s && this._releaseTask(i, s)
-                            }),
-                          THREE.DRACOLoader.taskCache.set(e, { key: o, promise: c }),
-                          c
-                        )
-                      },
-                      _createGeometry: function (e) {
-                        var t = new THREE.BufferGeometry()
-                        e.index && t.setIndex(new THREE.BufferAttribute(e.index.array, 1))
-                        for (var n = 0; n < e.attributes.length; n++) {
-                          var r = e.attributes[n],
-                            i = r.name,
-                            o = r.array,
-                            a = r.itemSize
-                          t.setAttribute(i, new THREE.BufferAttribute(o, a))
-                        }
-                        return t
-                      },
-                      _loadLibrary: function (e, t) {
-                        var n = new THREE.FileLoader(this.manager)
-                        return (
-                          n.setPath(this.decoderPath),
-                          n.setResponseType(t),
-                          n.setWithCredentials(this.withCredentials),
-                          new Promise((t, r) => {
-                            n.load(e, t, void 0, r)
-                          })
-                        )
-                      },
-                      preload: function () {
-                        return this._initDecoder(), this
-                      },
-                      _initDecoder: function () {
-                        if (this.decoderPending) return this.decoderPending
-                        var e = 'object' !== typeof WebAssembly || 'js' === this.decoderConfig.type,
-                          t = []
-                        return (
-                          e
-                            ? t.push(this._loadLibrary('draco_decoder.js', 'text'))
-                            : (t.push(this._loadLibrary('draco_wasm_wrapper.js', 'text')),
-                              t.push(this._loadLibrary('draco_decoder.wasm', 'arraybuffer'))),
-                          (this.decoderPending = Promise.all(t).then((t) => {
-                            var n = t[0]
-                            e || (this.decoderConfig.wasmBinary = t[1])
-                            var r = THREE.DRACOLoader.DRACOWorker.toString(),
-                              i = [
-                                '/* draco decoder */',
-                                n,
-                                '',
-                                '/* worker */',
-                                r.substring(r.indexOf('{') + 1, r.lastIndexOf('}')),
-                              ].join('\n')
-                            this.workerSourceURL = URL.createObjectURL(new Blob([i]))
-                          })),
-                          this.decoderPending
-                        )
-                      },
-                      _getWorker: function (e, t) {
-                        return this._initDecoder().then(() => {
-                          var n
-                          return (
-                            this.workerPool.length < this.workerLimit
-                              ? (((n = new Worker(this.workerSourceURL))._callbacks = {}),
-                                (n._taskCosts = {}),
-                                (n._taskLoad = 0),
-                                n.postMessage({ type: 'init', decoderConfig: this.decoderConfig }),
-                                (n.onmessage = function (e) {
-                                  var t = e.data
-                                  switch (t.type) {
-                                    case 'decode':
-                                      n._callbacks[t.id].resolve(t)
-                                      break
-                                    case 'error':
-                                      n._callbacks[t.id].reject(t)
-                                      break
-                                    default:
-                                      console.error(
-                                        'THREE.DRACOLoader: Unexpected message, "' + t.type + '"',
-                                      )
-                                  }
-                                }),
-                                this.workerPool.push(n))
-                              : this.workerPool.sort(function (e, t) {
-                                  return e._taskLoad > t._taskLoad ? -1 : 1
-                                }),
-                            ((n = this.workerPool[this.workerPool.length - 1])._taskCosts[e] = t),
-                            (n._taskLoad += t),
-                            n
-                          )
-                        })
-                      },
-                      _releaseTask: function (e, t) {
-                        ;(e._taskLoad -= e._taskCosts[t]),
-                          delete e._callbacks[t],
-                          delete e._taskCosts[t]
-                      },
-                      debug: function () {
-                        console.log(
-                          'Task load: ',
-                          this.workerPool.map((e) => e._taskLoad),
-                        )
-                      },
-                      dispose: function () {
-                        for (var e = 0; e < this.workerPool.length; ++e)
-                          this.workerPool[e].terminate()
-                        return (this.workerPool.length = 0), this
-                      },
-                    },
-                  )),
-                  (THREE.DRACOLoader.DRACOWorker = function () {
-                    var e, t
-                    function n(e, t, n, o) {
-                      var a,
-                        s,
-                        l = o.attributeIDs,
-                        c = o.attributeTypes,
-                        u = t.GetEncodedGeometryType(n)
-                      if (u === e.TRIANGULAR_MESH)
-                        (a = new e.Mesh()), (s = t.DecodeBufferToMesh(n, a))
-                      else {
-                        if (u !== e.POINT_CLOUD)
-                          throw new Error('THREE.DRACOLoader: Unexpected geometry type.')
-                        ;(a = new e.PointCloud()), (s = t.DecodeBufferToPointCloud(n, a))
-                      }
-                      if (!s.ok() || 0 === a.ptr)
-                        throw new Error('THREE.DRACOLoader: Decoding failed: ' + s.error_msg())
-                      var h = { index: null, attributes: [] }
-                      for (var d in l) {
-                        var p,
-                          f,
-                          m = self[c[d]]
-                        if (o.useUniqueIDs) (f = l[d]), (p = t.GetAttributeByUniqueId(a, f))
-                        else {
-                          if (-1 === (f = t.GetAttributeId(a, e[l[d]]))) continue
-                          p = t.GetAttribute(a, f)
-                        }
-                        h.attributes.push(i(e, t, a, d, m, p))
-                      }
-                      return u === e.TRIANGULAR_MESH && (h.index = r(e, t, a)), e.destroy(a), h
-                    }
-                    function r(e, t, n) {
-                      var r = 3 * n.num_faces(),
-                        i = 4 * r,
-                        o = e._malloc(i)
-                      t.GetTrianglesUInt32Array(n, i, o)
-                      var a = new Uint32Array(e.HEAPF32.buffer, o, r).slice()
-                      return e._free(o), { array: a, itemSize: 1 }
-                    }
-                    function i(e, t, n, r, i, a) {
-                      var s = a.num_components(),
-                        l = n.num_points() * s,
-                        c = l * i.BYTES_PER_ELEMENT,
-                        u = o(e, i),
-                        h = e._malloc(c)
-                      t.GetAttributeDataArrayForAllPoints(n, a, u, c, h)
-                      var d = new i(e.HEAPF32.buffer, h, l).slice()
-                      return e._free(h), { name: r, array: d, itemSize: s }
-                    }
-                    function o(e, t) {
-                      switch (t) {
-                        case Float32Array:
-                          return e.DT_FLOAT32
-                        case Int8Array:
-                          return e.DT_INT8
-                        case Int16Array:
-                          return e.DT_INT16
-                        case Int32Array:
-                          return e.DT_INT32
-                        case Uint8Array:
-                          return e.DT_UINT8
-                        case Uint16Array:
-                          return e.DT_UINT16
-                        case Uint32Array:
-                          return e.DT_UINT32
-                      }
-                    }
-                    onmessage = function (r) {
-                      var i = r.data
-                      switch (i.type) {
-                        case 'init':
-                          ;(e = i.decoderConfig),
-                            (t = new Promise(function (t) {
-                              ;(e.onModuleLoaded = function (e) {
-                                t({ draco: e })
-                              }),
-                                DracoDecoderModule(e)
-                            }))
-                          break
-                        case 'decode':
-                          var o = i.buffer,
-                            a = i.taskConfig
-                          t.then((e) => {
-                            var t = e.draco,
-                              r = new t.Decoder(),
-                              s = new t.DecoderBuffer()
-                            s.Init(new Int8Array(o), o.byteLength)
-                            try {
-                              var l = n(t, r, s, a),
-                                c = l.attributes.map((e) => e.array.buffer)
-                              l.index && c.push(l.index.array.buffer),
-                                self.postMessage({ type: 'decode', id: i.id, geometry: l }, c)
-                            } catch (u) {
-                              console.error(u),
-                                self.postMessage({ type: 'error', id: i.id, error: u.message })
-                            } finally {
-                              t.destroy(s), t.destroy(r)
-                            }
-                          })
-                      }
-                    }
-                  }),
-                  (THREE.DRACOLoader.taskCache = new WeakMap()),
-                  (THREE.DRACOLoader.setDecoderPath = function () {
-                    console.warn(
-                      'THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.',
-                    )
-                  }),
-                  (THREE.DRACOLoader.setDecoderConfig = function () {
-                    console.warn(
-                      'THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.',
-                    )
-                  }),
-                  (THREE.DRACOLoader.releaseDecoderModule = function () {
-                    console.warn(
-                      'THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.',
-                    )
-                  }),
-                  (THREE.DRACOLoader.getDecoderModule = function () {
-                    console.warn(
-                      'THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.',
-                    )
-                  })
-              },
-              {},
-            ],
-            59: [
-              function (t, n, r) {
-                THREE.GLTFLoader = (function () {
-                  function t(e) {
-                    THREE.Loader.call(this, e),
-                      (this.dracoLoader = null),
-                      (this.ddsLoader = null),
-                      (this.ktx2Loader = null),
-                      (this.meshoptDecoder = null),
-                      (this.pluginCallbacks = []),
-                      this.register(function (e) {
-                        return new s(e)
-                      }),
-                      this.register(function (e) {
-                        return new c(e)
-                      }),
-                      this.register(function (e) {
-                        return new u(e)
-                      }),
-                      this.register(function (e) {
-                        return new l(e)
-                      }),
-                      this.register(function (e) {
-                        return new o(e)
-                      }),
-                      this.register(function (e) {
-                        return new h(e)
-                      })
-                  }
-                  function n() {
-                    var e = {}
-                    return {
-                      get: function (t) {
-                        return e[t]
-                      },
-                      add: function (t, n) {
-                        e[t] = n
-                      },
-                      remove: function (t) {
-                        delete e[t]
-                      },
-                      removeAll: function () {
-                        e = {}
-                      },
-                    }
-                  }
-                  t.prototype = Object.assign(Object.create(THREE.Loader.prototype), {
-                    constructor: t,
-                    load: function (t, n, r, i) {
-                      var o,
-                        a = this
-                      ;(o =
-                        '' !== this.resourcePath
-                          ? this.resourcePath
-                          : '' !== this.path
-                          ? this.path
-                          : THREE.LoaderUtils.extractUrlBase(t)),
-                        this.manager.itemStart(t)
-                      var s = function (e) {
-                          i ? i(e) : console.error(e), a.manager.itemError(t), a.manager.itemEnd(t)
-                        },
-                        l = new THREE.FileLoader(this.manager)
-                      l.setPath(this.path),
-                        l.setResponseType('arraybuffer'),
-                        l.setRequestHeader(this.requestHeader),
-                        l.setWithCredentials(this.withCredentials),
-                        l.load(
-                          t,
-                          function (r) {
-                            try {
-                              a.parse(
-                                r,
-                                o,
-                                function (e) {
-                                  n(e), a.manager.itemEnd(t)
-                                },
-                                s,
-                              )
-                            } catch (e) {
-                              s(e)
-                            }
-                          },
-                          r,
-                          s,
-                        )
-                    },
-                    setDRACOLoader: function (e) {
-                      return (this.dracoLoader = e), this
-                    },
-                    setDDSLoader: function (e) {
-                      return (this.ddsLoader = e), this
-                    },
-                    setKTX2Loader: function (e) {
-                      return (this.ktx2Loader = e), this
-                    },
-                    setMeshoptDecoder: function (e) {
-                      return (this.meshoptDecoder = e), this
-                    },
-                    register: function (e) {
-                      return (
-                        -1 === this.pluginCallbacks.indexOf(e) && this.pluginCallbacks.push(e), this
-                      )
-                    },
-                    unregister: function (e) {
-                      return (
-                        -1 !== this.pluginCallbacks.indexOf(e) &&
-                          this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1),
-                        this
-                      )
-                    },
-                    parse: function (e, t, n, o) {
-                      var s,
-                        l = {},
-                        c = {}
-                      if ('string' === typeof e) s = e
-                      else if (THREE.LoaderUtils.decodeText(new Uint8Array(e, 0, 4)) === d) {
-                        try {
-                          l[r.KHR_BINARY_GLTF] = new m(e)
-                        } catch (x) {
-                          return void (o && o(x))
-                        }
-                        s = l[r.KHR_BINARY_GLTF].content
-                      } else s = THREE.LoaderUtils.decodeText(new Uint8Array(e))
-                      var u = JSON.parse(s)
-                      if (void 0 === u.asset || u.asset.version[0] < 2)
-                        o &&
-                          o(
-                            new Error(
-                              'THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.',
-                            ),
-                          )
-                      else {
-                        var h = new U(u, {
-                          path: t || this.resourcePath || '',
-                          crossOrigin: this.crossOrigin,
-                          manager: this.manager,
-                          ktx2Loader: this.ktx2Loader,
-                          meshoptDecoder: this.meshoptDecoder,
-                        })
-                        h.fileLoader.setRequestHeader(this.requestHeader)
-                        for (var p = 0; p < this.pluginCallbacks.length; p++) {
-                          var f = this.pluginCallbacks[p](h)
-                          ;(c[f.name] = f), (l[f.name] = !0)
-                        }
-                        if (u.extensionsUsed)
-                          for (p = 0; p < u.extensionsUsed.length; ++p) {
-                            var y = u.extensionsUsed[p],
-                              w = u.extensionsRequired || []
-                            switch (y) {
-                              case r.KHR_MATERIALS_UNLIT:
-                                l[y] = new a()
-                                break
-                              case r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:
-                                l[y] = new b()
-                                break
-                              case r.KHR_DRACO_MESH_COMPRESSION:
-                                l[y] = new v(u, this.dracoLoader)
-                                break
-                              case r.MSFT_TEXTURE_DDS:
-                                l[y] = new i(this.ddsLoader)
-                                break
-                              case r.KHR_TEXTURE_TRANSFORM:
-                                l[y] = new g()
-                                break
-                              case r.KHR_MESH_QUANTIZATION:
-                                l[y] = new A()
-                                break
-                              default:
-                                w.indexOf(y) >= 0 &&
-                                  void 0 === c[y] &&
-                                  console.warn('THREE.GLTFLoader: Unknown extension "' + y + '".')
-                            }
-                          }
-                        h.setExtensions(l), h.setPlugins(c), h.parse(n, o)
-                      }
-                    },
-                  })
-                  var r = {
-                    KHR_BINARY_GLTF: 'KHR_binary_glTF',
-                    KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression',
-                    KHR_LIGHTS_PUNCTUAL: 'KHR_lights_punctual',
-                    KHR_MATERIALS_CLEARCOAT: 'KHR_materials_clearcoat',
-                    KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness',
-                    KHR_MATERIALS_TRANSMISSION: 'KHR_materials_transmission',
-                    KHR_MATERIALS_UNLIT: 'KHR_materials_unlit',
-                    KHR_TEXTURE_BASISU: 'KHR_texture_basisu',
-                    KHR_TEXTURE_TRANSFORM: 'KHR_texture_transform',
-                    KHR_MESH_QUANTIZATION: 'KHR_mesh_quantization',
-                    EXT_TEXTURE_WEBP: 'EXT_texture_webp',
-                    EXT_MESHOPT_COMPRESSION: 'EXT_meshopt_compression',
-                    MSFT_TEXTURE_DDS: 'MSFT_texture_dds',
-                  }
-                  function i(e) {
-                    if (!e)
-                      throw new Error(
-                        'THREE.GLTFLoader: Attempting to load .dds texture without importing THREE.DDSLoader',
-                      )
-                    ;(this.name = r.MSFT_TEXTURE_DDS), (this.ddsLoader = e)
-                  }
-                  function o(e) {
-                    ;(this.parser = e),
-                      (this.name = r.KHR_LIGHTS_PUNCTUAL),
-                      (this.cache = { refs: {}, uses: {} })
-                  }
-                  function a() {
-                    this.name = r.KHR_MATERIALS_UNLIT
-                  }
-                  function s(e) {
-                    ;(this.parser = e), (this.name = r.KHR_MATERIALS_CLEARCOAT)
-                  }
-                  function l(e) {
-                    ;(this.parser = e), (this.name = r.KHR_MATERIALS_TRANSMISSION)
-                  }
-                  function c(e) {
-                    ;(this.parser = e), (this.name = r.KHR_TEXTURE_BASISU)
-                  }
-                  function u(e) {
-                    ;(this.parser = e), (this.name = r.EXT_TEXTURE_WEBP), (this.isSupported = null)
-                  }
-                  function h(e) {
-                    ;(this.name = r.EXT_MESHOPT_COMPRESSION), (this.parser = e)
-                  }
-                  ;(o.prototype._markDefs = function () {
-                    for (
-                      var e = this.parser, t = this.parser.json.nodes || [], n = 0, r = t.length;
-                      n < r;
-                      n++
-                    ) {
-                      var i = t[n]
-                      i.extensions &&
-                        i.extensions[this.name] &&
-                        void 0 !== i.extensions[this.name].light &&
-                        e._addNodeRef(this.cache, i.extensions[this.name].light)
-                    }
-                  }),
-                    (o.prototype._loadLight = function (e) {
-                      var t = this.parser,
-                        n = 'light:' + e,
-                        r = t.cache.get(n)
-                      if (r) return r
-                      var i,
-                        o = t.json,
-                        a = (((o.extensions && o.extensions[this.name]) || {}).lights || [])[e],
-                        s = new THREE.Color(16777215)
-                      void 0 !== a.color && s.fromArray(a.color)
-                      var l = void 0 !== a.range ? a.range : 0
-                      switch (a.type) {
-                        case 'directional':
-                          ;(i = new THREE.DirectionalLight(s)).target.position.set(0, 0, -1),
-                            i.add(i.target)
-                          break
-                        case 'point':
-                          ;(i = new THREE.PointLight(s)).distance = l
-                          break
-                        case 'spot':
-                          ;((i = new THREE.SpotLight(s)).distance = l),
-                            (a.spot = a.spot || {}),
-                            (a.spot.innerConeAngle =
-                              void 0 !== a.spot.innerConeAngle ? a.spot.innerConeAngle : 0),
-                            (a.spot.outerConeAngle =
-                              void 0 !== a.spot.outerConeAngle
-                                ? a.spot.outerConeAngle
-                                : Math.PI / 4),
-                            (i.angle = a.spot.outerConeAngle),
-                            (i.penumbra = 1 - a.spot.innerConeAngle / a.spot.outerConeAngle),
-                            i.target.position.set(0, 0, -1),
-                            i.add(i.target)
-                          break
-                        default:
-                          throw new Error('THREE.GLTFLoader: Unexpected light type: ' + a.type)
-                      }
-                      return (
-                        i.position.set(0, 0, 0),
-                        (i.decay = 2),
-                        void 0 !== a.intensity && (i.intensity = a.intensity),
-                        (i.name = t.createUniqueName(a.name || 'light_' + e)),
-                        (r = Promise.resolve(i)),
-                        t.cache.add(n, r),
-                        r
-                      )
-                    }),
-                    (o.prototype.createNodeAttachment = function (e) {
-                      var t = this,
-                        n = this.parser,
-                        r = n.json.nodes[e],
-                        i = ((r.extensions && r.extensions[this.name]) || {}).light
-                      return void 0 === i
-                        ? null
-                        : this._loadLight(i).then(function (e) {
-                            return n._getNodeRef(t.cache, i, e)
-                          })
-                    }),
-                    (a.prototype.getMaterialType = function () {
-                      return THREE.MeshBasicMaterial
-                    }),
-                    (a.prototype.extendParams = function (e, t, n) {
-                      var r = []
-                      ;(e.color = new THREE.Color(1, 1, 1)), (e.opacity = 1)
-                      var i = t.pbrMetallicRoughness
-                      if (i) {
-                        if (Array.isArray(i.baseColorFactor)) {
-                          var o = i.baseColorFactor
-                          e.color.fromArray(o), (e.opacity = o[3])
-                        }
-                        void 0 !== i.baseColorTexture &&
-                          r.push(n.assignTexture(e, 'map', i.baseColorTexture))
-                      }
-                      return Promise.all(r)
-                    }),
-                    (s.prototype.getMaterialType = function (e) {
-                      var t = this.parser.json.materials[e]
-                      return t.extensions && t.extensions[this.name]
-                        ? THREE.MeshPhysicalMaterial
-                        : null
-                    }),
-                    (s.prototype.extendMaterialParams = function (e, t) {
-                      var n = this.parser,
-                        r = n.json.materials[e]
-                      if (!r.extensions || !r.extensions[this.name]) return Promise.resolve()
-                      var i = [],
-                        o = r.extensions[this.name]
-                      if (
-                        (void 0 !== o.clearcoatFactor && (t.clearcoat = o.clearcoatFactor),
-                        void 0 !== o.clearcoatTexture &&
-                          i.push(n.assignTexture(t, 'clearcoatMap', o.clearcoatTexture)),
-                        void 0 !== o.clearcoatRoughnessFactor &&
-                          (t.clearcoatRoughness = o.clearcoatRoughnessFactor),
-                        void 0 !== o.clearcoatRoughnessTexture &&
-                          i.push(
-                            n.assignTexture(
-                              t,
-                              'clearcoatRoughnessMap',
-                              o.clearcoatRoughnessTexture,
-                            ),
-                          ),
-                        void 0 !== o.clearcoatNormalTexture &&
-                          (i.push(
-                            n.assignTexture(t, 'clearcoatNormalMap', o.clearcoatNormalTexture),
-                          ),
-                          void 0 !== o.clearcoatNormalTexture.scale))
-                      ) {
-                        var a = o.clearcoatNormalTexture.scale
-                        t.clearcoatNormalScale = new THREE.Vector2(a, -a)
-                      }
-                      return Promise.all(i)
-                    }),
-                    (l.prototype.getMaterialType = function (e) {
-                      var t = this.parser.json.materials[e]
-                      return t.extensions && t.extensions[this.name]
-                        ? THREE.MeshPhysicalMaterial
-                        : null
-                    }),
-                    (l.prototype.extendMaterialParams = function (e, t) {
-                      var n = this.parser,
-                        r = n.json.materials[e]
-                      if (!r.extensions || !r.extensions[this.name]) return Promise.resolve()
-                      var i = [],
-                        o = r.extensions[this.name]
-                      return (
-                        void 0 !== o.transmissionFactor && (t.transmission = o.transmissionFactor),
-                        void 0 !== o.transmissionTexture &&
-                          i.push(n.assignTexture(t, 'transmissionMap', o.transmissionTexture)),
-                        Promise.all(i)
-                      )
-                    }),
-                    (c.prototype.loadTexture = function (e) {
-                      var t = this.parser,
-                        n = t.json,
-                        r = n.textures[e]
-                      if (!r.extensions || !r.extensions[this.name]) return null
-                      var i = r.extensions[this.name],
-                        o = n.images[i.source],
-                        a = t.options.ktx2Loader
-                      if (!a) {
-                        if (n.extensionsRequired && n.extensionsRequired.indexOf(this.name) >= 0)
-                          throw new Error(
-                            'THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures',
-                          )
-                        return null
-                      }
-                      return t.loadTextureImage(e, o, a)
-                    }),
-                    (u.prototype.loadTexture = function (e) {
-                      var t = this.name,
-                        n = this.parser,
-                        r = n.json,
-                        i = r.textures[e]
-                      if (!i.extensions || !i.extensions[t]) return null
-                      var o = i.extensions[t],
-                        a = r.images[o.source],
-                        s = a.uri ? n.options.manager.getHandler(a.uri) : n.textureLoader
-                      return this.detectSupport().then(function (i) {
-                        if (i) return n.loadTextureImage(e, a, s)
-                        if (r.extensionsRequired && r.extensionsRequired.indexOf(t) >= 0)
-                          throw new Error(
-                            'THREE.GLTFLoader: WebP required by asset but unsupported.',
-                          )
-                        return n.loadTexture(e)
-                      })
-                    }),
-                    (u.prototype.detectSupport = function () {
-                      return (
-                        this.isSupported ||
-                          (this.isSupported = new Promise(function (e) {
-                            var t = new Image()
-                            ;(t.src =
-                              'data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA'),
-                              (t.onload = t.onerror =
-                                function () {
-                                  e(1 === t.height)
-                                })
-                          })),
-                        this.isSupported
-                      )
-                    }),
-                    (h.prototype.loadBufferView = function (e) {
-                      var t = this.parser.json,
-                        n = t.bufferViews[e]
-                      if (n.extensions && n.extensions[this.name]) {
-                        var r = n.extensions[this.name],
-                          i = this.parser.getDependency('buffer', r.buffer),
-                          o = this.parser.options.meshoptDecoder
-                        if (!o || !o.supported) {
-                          if (t.extensionsRequired && t.extensionsRequired.indexOf(this.name) >= 0)
-                            throw new Error(
-                              'THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files',
-                            )
-                          return null
-                        }
-                        return Promise.all([i, o.ready]).then(function (e) {
-                          var t = r.byteOffset || 0,
-                            n = r.byteLength || 0,
-                            i = r.count,
-                            a = r.byteStride,
-                            s = new ArrayBuffer(i * a),
-                            l = new Uint8Array(e[0], t, n)
-                          return o.decodeGltfBuffer(new Uint8Array(s), i, a, l, r.mode, r.filter), s
-                        })
-                      }
-                      return null
-                    })
-                  var d = 'glTF',
-                    p = 12,
-                    f = { JSON: 1313821514, BIN: 5130562 }
-                  function m(e) {
-                    ;(this.name = r.KHR_BINARY_GLTF), (this.content = null), (this.body = null)
-                    var t = new DataView(e, 0, p)
-                    if (
-                      ((this.header = {
-                        magic: THREE.LoaderUtils.decodeText(new Uint8Array(e.slice(0, 4))),
-                        version: t.getUint32(4, !0),
-                        length: t.getUint32(8, !0),
-                      }),
-                      this.header.magic !== d)
-                    )
-                      throw new Error('THREE.GLTFLoader: Unsupported glTF-Binary header.')
-                    if (this.header.version < 2)
-                      throw new Error('THREE.GLTFLoader: Legacy binary file detected.')
-                    for (var n = this.header.length - p, i = new DataView(e, p), o = 0; o < n; ) {
-                      var a = i.getUint32(o, !0)
-                      o += 4
-                      var s = i.getUint32(o, !0)
-                      if (((o += 4), s === f.JSON)) {
-                        var l = new Uint8Array(e, p + o, a)
-                        this.content = THREE.LoaderUtils.decodeText(l)
-                      } else if (s === f.BIN) {
-                        var c = p + o
-                        this.body = e.slice(c, c + a)
-                      }
-                      o += a
-                    }
-                    if (null === this.content)
-                      throw new Error('THREE.GLTFLoader: JSON content not found.')
-                  }
-                  function v(e, t) {
-                    if (!t) throw new Error('THREE.GLTFLoader: No DRACOLoader instance provided.')
-                    ;(this.name = r.KHR_DRACO_MESH_COMPRESSION),
-                      (this.json = e),
-                      (this.dracoLoader = t),
-                      this.dracoLoader.preload()
-                  }
-                  function g() {
-                    this.name = r.KHR_TEXTURE_TRANSFORM
-                  }
-                  function y(e) {
-                    THREE.MeshStandardMaterial.call(this),
-                      (this.isGLTFSpecularGlossinessMaterial = !0)
-                    var t = [
-                        '#ifdef USE_SPECULARMAP',
-                        '\tuniform sampler2D specularMap;',
-                        '#endif',
-                      ].join('\n'),
-                      n = [
-                        '#ifdef USE_GLOSSINESSMAP',
-                        '\tuniform sampler2D glossinessMap;',
-                        '#endif',
-                      ].join('\n'),
-                      r = [
-                        'vec3 specularFactor = specular;',
-                        '#ifdef USE_SPECULARMAP',
-                        '\tvec4 texelSpecular = texture2D( specularMap, vUv );',
-                        '\ttexelSpecular = sRGBToLinear( texelSpecular );',
-                        '\t// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture',
-                        '\tspecularFactor *= texelSpecular.rgb;',
-                        '#endif',
-                      ].join('\n'),
-                      i = [
-                        'float glossinessFactor = glossiness;',
-                        '#ifdef USE_GLOSSINESSMAP',
-                        '\tvec4 texelGlossiness = texture2D( glossinessMap, vUv );',
-                        '\t// reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture',
-                        '\tglossinessFactor *= texelGlossiness.a;',
-                        '#endif',
-                      ].join('\n'),
-                      o = [
-                        'PhysicalMaterial material;',
-                        'material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );',
-                        'vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );',
-                        'float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );',
-                        'material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.',
-                        'material.specularRoughness += geometryRoughness;',
-                        'material.specularRoughness = min( material.specularRoughness, 1.0 );',
-                        'material.specularColor = specularFactor;',
-                      ].join('\n'),
-                      a = {
-                        specular: { value: new THREE.Color().setHex(16777215) },
-                        glossiness: { value: 1 },
-                        specularMap: { value: null },
-                        glossinessMap: { value: null },
-                      }
-                    ;(this._extraUniforms = a),
-                      (this.onBeforeCompile = function (e) {
-                        for (var s in a) e.uniforms[s] = a[s]
-                        e.fragmentShader = e.fragmentShader
-                          .replace('uniform float roughness;', 'uniform vec3 specular;')
-                          .replace('uniform float metalness;', 'uniform float glossiness;')
-                          .replace('#include <roughnessmap_pars_fragment>', t)
-                          .replace('#include <metalnessmap_pars_fragment>', n)
-                          .replace('#include <roughnessmap_fragment>', r)
-                          .replace('#include <metalnessmap_fragment>', i)
-                          .replace('#include <lights_physical_fragment>', o)
-                      }),
-                      Object.defineProperties(this, {
-                        specular: {
-                          get: function () {
-                            return a.specular.value
-                          },
-                          set: function (e) {
-                            a.specular.value = e
-                          },
-                        },
-                        specularMap: {
-                          get: function () {
-                            return a.specularMap.value
-                          },
-                          set: function (e) {
-                            ;(a.specularMap.value = e),
-                              e
-                                ? (this.defines.USE_SPECULARMAP = '')
-                                : delete this.defines.USE_SPECULARMAP
-                          },
-                        },
-                        glossiness: {
-                          get: function () {
-                            return a.glossiness.value
-                          },
-                          set: function (e) {
-                            a.glossiness.value = e
-                          },
-                        },
-                        glossinessMap: {
-                          get: function () {
-                            return a.glossinessMap.value
-                          },
-                          set: function (e) {
-                            ;(a.glossinessMap.value = e),
-                              e
-                                ? ((this.defines.USE_GLOSSINESSMAP = ''),
-                                  (this.defines.USE_UV = ''))
-                                : (delete this.defines.USE_GLOSSINESSMAP,
-                                  delete this.defines.USE_UV)
-                          },
-                        },
-                      }),
-                      delete this.metalness,
-                      delete this.roughness,
-                      delete this.metalnessMap,
-                      delete this.roughnessMap,
-                      this.setValues(e)
-                  }
-                  function b() {
-                    return {
-                      name: r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,
-                      specularGlossinessParams: [
-                        'color',
-                        'map',
-                        'lightMap',
-                        'lightMapIntensity',
-                        'aoMap',
-                        'aoMapIntensity',
-                        'emissive',
-                        'emissiveIntensity',
-                        'emissiveMap',
-                        'bumpMap',
-                        'bumpScale',
-                        'normalMap',
-                        'normalMapType',
-                        'displacementMap',
-                        'displacementScale',
-                        'displacementBias',
-                        'specularMap',
-                        'specular',
-                        'glossinessMap',
-                        'glossiness',
-                        'alphaMap',
-                        'envMap',
-                        'envMapIntensity',
-                        'refractionRatio',
-                      ],
-                      getMaterialType: function () {
-                        return y
-                      },
-                      extendParams: function (e, t, n) {
-                        var r = t.extensions[this.name]
-                        ;(e.color = new THREE.Color(1, 1, 1)), (e.opacity = 1)
-                        var i = []
-                        if (Array.isArray(r.diffuseFactor)) {
-                          var o = r.diffuseFactor
-                          e.color.fromArray(o), (e.opacity = o[3])
-                        }
-                        if (
-                          (void 0 !== r.diffuseTexture &&
-                            i.push(n.assignTexture(e, 'map', r.diffuseTexture)),
-                          (e.emissive = new THREE.Color(0, 0, 0)),
-                          (e.glossiness = void 0 !== r.glossinessFactor ? r.glossinessFactor : 1),
-                          (e.specular = new THREE.Color(1, 1, 1)),
-                          Array.isArray(r.specularFactor) && e.specular.fromArray(r.specularFactor),
-                          void 0 !== r.specularGlossinessTexture)
-                        ) {
-                          var a = r.specularGlossinessTexture
-                          i.push(n.assignTexture(e, 'glossinessMap', a)),
-                            i.push(n.assignTexture(e, 'specularMap', a))
-                        }
-                        return Promise.all(i)
-                      },
-                      createMaterial: function (e) {
-                        var t = new y(e)
-                        return (
-                          (t.fog = !0),
-                          (t.color = e.color),
-                          (t.map = void 0 === e.map ? null : e.map),
-                          (t.lightMap = null),
-                          (t.lightMapIntensity = 1),
-                          (t.aoMap = void 0 === e.aoMap ? null : e.aoMap),
-                          (t.aoMapIntensity = 1),
-                          (t.emissive = e.emissive),
-                          (t.emissiveIntensity = 1),
-                          (t.emissiveMap = void 0 === e.emissiveMap ? null : e.emissiveMap),
-                          (t.bumpMap = void 0 === e.bumpMap ? null : e.bumpMap),
-                          (t.bumpScale = 1),
-                          (t.normalMap = void 0 === e.normalMap ? null : e.normalMap),
-                          (t.normalMapType = THREE.TangentSpaceNormalMap),
-                          e.normalScale && (t.normalScale = e.normalScale),
-                          (t.displacementMap = null),
-                          (t.displacementScale = 1),
-                          (t.displacementBias = 0),
-                          (t.specularMap = void 0 === e.specularMap ? null : e.specularMap),
-                          (t.specular = e.specular),
-                          (t.glossinessMap = void 0 === e.glossinessMap ? null : e.glossinessMap),
-                          (t.glossiness = e.glossiness),
-                          (t.alphaMap = null),
-                          (t.envMap = void 0 === e.envMap ? null : e.envMap),
-                          (t.envMapIntensity = 1),
-                          (t.refractionRatio = 0.98),
-                          t
-                        )
-                      },
-                    }
-                  }
-                  function A() {
-                    this.name = r.KHR_MESH_QUANTIZATION
-                  }
-                  function w(e, t, n, r) {
-                    THREE.Interpolant.call(this, e, t, n, r)
-                  }
-                  ;(v.prototype.decodePrimitive = function (e, t) {
-                    var n = this.json,
-                      r = this.dracoLoader,
-                      i = e.extensions[this.name].bufferView,
-                      o = e.extensions[this.name].attributes,
-                      a = {},
-                      s = {},
-                      l = {}
-                    for (var c in o) {
-                      var u = S[c] || c.toLowerCase()
-                      a[u] = o[c]
-                    }
-                    for (c in e.attributes)
-                      if (((u = S[c] || c.toLowerCase()), void 0 !== o[c])) {
-                        var h = n.accessors[e.attributes[c]],
-                          d = E[h.componentType]
-                        ;(l[u] = d), (s[u] = !0 === h.normalized)
-                      }
-                    return t.getDependency('bufferView', i).then(function (e) {
-                      return new Promise(function (t) {
-                        r.decodeDracoFile(
-                          e,
-                          function (e) {
-                            for (var n in e.attributes) {
-                              var r = e.attributes[n],
-                                i = s[n]
-                              void 0 !== i && (r.normalized = i)
-                            }
-                            t(e)
-                          },
-                          a,
-                          l,
-                        )
-                      })
-                    })
-                  }),
-                    (g.prototype.extendTexture = function (e, t) {
-                      return (
-                        (e = e.clone()),
-                        void 0 !== t.offset && e.offset.fromArray(t.offset),
-                        void 0 !== t.rotation && (e.rotation = t.rotation),
-                        void 0 !== t.scale && e.repeat.fromArray(t.scale),
-                        void 0 !== t.texCoord &&
-                          console.warn(
-                            'THREE.GLTFLoader: Custom UV sets in "' +
-                              this.name +
-                              '" extension not yet supported.',
-                          ),
-                        (e.needsUpdate = !0),
-                        e
-                      )
-                    }),
-                    (y.prototype = Object.create(THREE.MeshStandardMaterial.prototype)),
-                    (y.prototype.constructor = y),
-                    (y.prototype.copy = function (e) {
-                      return (
-                        THREE.MeshStandardMaterial.prototype.copy.call(this, e),
-                        (this.specularMap = e.specularMap),
-                        this.specular.copy(e.specular),
-                        (this.glossinessMap = e.glossinessMap),
-                        (this.glossiness = e.glossiness),
-                        delete this.metalness,
-                        delete this.roughness,
-                        delete this.metalnessMap,
-                        delete this.roughnessMap,
-                        this
-                      )
-                    }),
-                    (w.prototype = Object.create(THREE.Interpolant.prototype)),
-                    (w.prototype.constructor = w),
-                    (w.prototype.copySampleValue_ = function (e) {
-                      for (
-                        var t = this.resultBuffer,
-                          n = this.sampleValues,
-                          r = this.valueSize,
-                          i = e * r * 3 + r,
-                          o = 0;
-                        o !== r;
-                        o++
-                      )
-                        t[o] = n[i + o]
-                      return t
-                    }),
-                    (w.prototype.beforeStart_ = w.prototype.copySampleValue_),
-                    (w.prototype.afterEnd_ = w.prototype.copySampleValue_),
-                    (w.prototype.interpolate_ = function (e, t, n, r) {
-                      for (
-                        var i = this.resultBuffer,
-                          o = this.sampleValues,
-                          a = this.valueSize,
-                          s = 2 * a,
-                          l = 3 * a,
-                          c = r - t,
-                          u = (n - t) / c,
-                          h = u * u,
-                          d = h * u,
-                          p = e * l,
-                          f = p - l,
-                          m = -2 * d + 3 * h,
-                          v = d - h,
-                          g = 1 - m,
-                          y = v - h + u,
-                          b = 0;
-                        b !== a;
-                        b++
-                      ) {
-                        var A = o[f + b + a],
-                          w = o[f + b + s] * c,
-                          x = o[p + b + a],
-                          E = o[p + b] * c
-                        i[b] = g * A + y * w + m * x + v * E
-                      }
-                      return i
-                    })
-                  var x = {
-                      FLOAT: 5126,
-                      FLOAT_MAT3: 35675,
-                      FLOAT_MAT4: 35676,
-                      FLOAT_VEC2: 35664,
-                      FLOAT_VEC3: 35665,
-                      FLOAT_VEC4: 35666,
-                      LINEAR: 9729,
-                      REPEAT: 10497,
-                      SAMPLER_2D: 35678,
-                      POINTS: 0,
-                      LINES: 1,
-                      LINE_LOOP: 2,
-                      LINE_STRIP: 3,
-                      TRIANGLES: 4,
-                      TRIANGLE_STRIP: 5,
-                      TRIANGLE_FAN: 6,
-                      UNSIGNED_BYTE: 5121,
-                      UNSIGNED_SHORT: 5123,
-                    },
-                    E = {
-                      5120: Int8Array,
-                      5121: Uint8Array,
-                      5122: Int16Array,
-                      5123: Uint16Array,
-                      5125: Uint32Array,
-                      5126: Float32Array,
-                    },
-                    M = {
-                      9728: THREE.NearestFilter,
-                      9729: THREE.LinearFilter,
-                      9984: THREE.NearestMipmapNearestFilter,
-                      9985: THREE.LinearMipmapNearestFilter,
-                      9986: THREE.NearestMipmapLinearFilter,
-                      9987: THREE.LinearMipmapLinearFilter,
-                    },
-                    _ = {
-                      33071: THREE.ClampToEdgeWrapping,
-                      33648: THREE.MirroredRepeatWrapping,
-                      10497: THREE.RepeatWrapping,
-                    },
-                    T = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 },
-                    S = {
-                      POSITION: 'position',
-                      NORMAL: 'normal',
-                      TANGENT: 'tangent',
-                      TEXCOORD_0: 'uv',
-                      TEXCOORD_1: 'uv2',
-                      COLOR_0: 'color',
-                      WEIGHTS_0: 'skinWeight',
-                      JOINTS_0: 'skinIndex',
-                    },
-                    C = {
-                      scale: 'scale',
-                      translation: 'position',
-                      rotation: 'quaternion',
-                      weights: 'morphTargetInfluences',
-                    },
-                    L = {
-                      CUBICSPLINE: void 0,
-                      LINEAR: THREE.InterpolateLinear,
-                      STEP: THREE.InterpolateDiscrete,
-                    },
-                    R = { OPAQUE: 'OPAQUE', MASK: 'MASK', BLEND: 'BLEND' }
-                  function P(e, t) {
-                    return 'string' !== typeof e || '' === e
-                      ? ''
-                      : (/^https?:\/\//i.test(t) &&
-                          /^\//.test(e) &&
-                          (t = t.replace(/(^https?:\/\/[^\/]+).*/i, '$1')),
-                        /^(https?:)?\/\//i.test(e) ||
-                        /^data:.*,.*$/i.test(e) ||
-                        /^blob:.*$/i.test(e)
-                          ? e
-                          : t + e)
-                  }
-                  function D(e) {
-                    return (
-                      void 0 === e.DefaultMaterial &&
-                        (e.DefaultMaterial = new THREE.MeshStandardMaterial({
-                          color: 16777215,
-                          emissive: 0,
-                          metalness: 1,
-                          roughness: 1,
-                          transparent: !1,
-                          depthTest: !0,
-                          side: THREE.FrontSide,
-                        })),
-                      e.DefaultMaterial
-                    )
-                  }
-                  function O(e, t, n) {
-                    for (var r in n.extensions)
-                      void 0 === e[r] &&
-                        ((t.userData.gltfExtensions = t.userData.gltfExtensions || {}),
-                        (t.userData.gltfExtensions[r] = n.extensions[r]))
-                  }
-                  function I(e, t) {
-                    void 0 !== t.extras &&
-                      ('object' === typeof t.extras
-                        ? Object.assign(e.userData, t.extras)
-                        : console.warn(
-                            'THREE.GLTFLoader: Ignoring primitive type .extras, ' + t.extras,
-                          ))
-                  }
-                  function B(e, t, n) {
-                    for (
-                      var r = !1, i = !1, o = 0, a = t.length;
-                      o < a &&
-                      (void 0 !== (c = t[o]).POSITION && (r = !0),
-                      void 0 !== c.NORMAL && (i = !0),
-                      !r || !i);
-                      o++
-                    );
-                    if (!r && !i) return Promise.resolve(e)
-                    var s = [],
-                      l = []
-                    for (o = 0, a = t.length; o < a; o++) {
-                      var c = t[o]
-                      if (r) {
-                        var u =
-                          void 0 !== c.POSITION
-                            ? n.getDependency('accessor', c.POSITION)
-                            : e.attributes.position
-                        s.push(u)
-                      }
-                      i &&
-                        ((u =
-                          void 0 !== c.NORMAL
-                            ? n.getDependency('accessor', c.NORMAL)
-                            : e.attributes.normal),
-                        l.push(u))
-                    }
-                    return Promise.all([Promise.all(s), Promise.all(l)]).then(function (t) {
-                      var n = t[0],
-                        o = t[1]
-                      return (
-                        r && (e.morphAttributes.position = n),
-                        i && (e.morphAttributes.normal = o),
-                        (e.morphTargetsRelative = !0),
-                        e
-                      )
-                    })
-                  }
-                  function F(e, t) {
-                    if ((e.updateMorphTargets(), void 0 !== t.weights))
-                      for (var n = 0, r = t.weights.length; n < r; n++)
-                        e.morphTargetInfluences[n] = t.weights[n]
-                    if (t.extras && Array.isArray(t.extras.targetNames)) {
-                      var i = t.extras.targetNames
-                      if (e.morphTargetInfluences.length === i.length)
-                        for (e.morphTargetDictionary = {}, n = 0, r = i.length; n < r; n++)
-                          e.morphTargetDictionary[i[n]] = n
-                      else
-                        console.warn(
-                          'THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.',
-                        )
-                    }
-                  }
-                  function k(e) {
-                    var t = e.extensions && e.extensions[r.KHR_DRACO_MESH_COMPRESSION]
-                    return t
-                      ? 'draco:' + t.bufferView + ':' + t.indices + ':' + N(t.attributes)
-                      : e.indices + ':' + N(e.attributes) + ':' + e.mode
-                  }
-                  function N(e) {
-                    for (var t = '', n = Object.keys(e).sort(), r = 0, i = n.length; r < i; r++)
-                      t += n[r] + ':' + e[n[r]] + ';'
-                    return t
-                  }
-                  function U(e, t) {
-                    ;(this.json = e || {}),
-                      (this.extensions = {}),
-                      (this.plugins = {}),
-                      (this.options = t || {}),
-                      (this.cache = new n()),
-                      (this.associations = new Map()),
-                      (this.primitiveCache = {}),
-                      (this.meshCache = { refs: {}, uses: {} }),
-                      (this.cameraCache = { refs: {}, uses: {} }),
-                      (this.lightCache = { refs: {}, uses: {} }),
-                      (this.nodeNamesUsed = {}),
-                      'undefined' !== typeof createImageBitmap &&
-                      !1 === /Firefox/.test(navigator.userAgent)
-                        ? (this.textureLoader = new THREE.ImageBitmapLoader(this.options.manager))
-                        : (this.textureLoader = new THREE.TextureLoader(this.options.manager)),
-                      this.textureLoader.setCrossOrigin(this.options.crossOrigin),
-                      (this.fileLoader = new THREE.FileLoader(this.options.manager)),
-                      this.fileLoader.setResponseType('arraybuffer'),
-                      'use-credentials' === this.options.crossOrigin &&
-                        this.fileLoader.setWithCredentials(!0)
-                  }
-                  function H(e, t, n) {
-                    var r = t.attributes,
-                      i = new THREE.Box3()
-                    if (void 0 !== r.POSITION) {
-                      var o = (d = n.json.accessors[r.POSITION]).min,
-                        a = d.max
-                      if (void 0 !== o && void 0 !== a) {
-                        i.set(
-                          new THREE.Vector3(o[0], o[1], o[2]),
-                          new THREE.Vector3(a[0], a[1], a[2]),
-                        )
-                        var s = t.targets
-                        if (void 0 !== s) {
-                          for (
-                            var l = new THREE.Vector3(),
-                              c = new THREE.Vector3(),
-                              u = 0,
-                              h = s.length;
-                            u < h;
-                            u++
-                          ) {
-                            var d,
-                              p = s[u]
-                            if (void 0 !== p.POSITION)
-                              (o = (d = n.json.accessors[p.POSITION]).min),
-                                (a = d.max),
-                                void 0 !== o && void 0 !== a
-                                  ? (c.setX(Math.max(Math.abs(o[0]), Math.abs(a[0]))),
-                                    c.setY(Math.max(Math.abs(o[1]), Math.abs(a[1]))),
-                                    c.setZ(Math.max(Math.abs(o[2]), Math.abs(a[2]))),
-                                    l.max(c))
-                                  : console.warn(
-                                      'THREE.GLTFLoader: Missing min/max properties for accessor POSITION.',
-                                    )
-                          }
-                          i.expandByVector(l)
-                        }
-                        e.boundingBox = i
-                        var f = new THREE.Sphere()
-                        i.getCenter(f.center),
-                          (f.radius = i.min.distanceTo(i.max) / 2),
-                          (e.boundingSphere = f)
-                      } else
-                        console.warn(
-                          'THREE.GLTFLoader: Missing min/max properties for accessor POSITION.',
-                        )
-                    }
-                  }
-                  function G(e, t, n) {
-                    var r = t.attributes,
-                      i = []
-                    function o(t, r) {
-                      return n.getDependency('accessor', t).then(function (t) {
-                        e.setAttribute(r, t)
-                      })
-                    }
-                    for (var a in r) {
-                      var s = S[a] || a.toLowerCase()
-                      s in e.attributes || i.push(o(r[a], s))
-                    }
-                    if (void 0 !== t.indices && !e.index) {
-                      var l = n.getDependency('accessor', t.indices).then(function (t) {
-                        e.setIndex(t)
-                      })
-                      i.push(l)
-                    }
-                    return (
-                      I(e, t),
-                      H(e, t, n),
-                      Promise.all(i).then(function () {
-                        return void 0 !== t.targets ? B(e, t.targets, n) : e
-                      })
-                    )
-                  }
-                  function z(e, t) {
-                    var n = e.getIndex()
-                    if (null === n) {
-                      var r = [],
-                        i = e.getAttribute('position')
-                      if (void 0 === i)
-                        return (
-                          console.error(
-                            'THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.',
-                          ),
-                          e
-                        )
-                      for (var o = 0; o < i.count; o++) r.push(o)
-                      e.setIndex(r), (n = e.getIndex())
-                    }
-                    var a = n.count - 2,
-                      s = []
-                    if (t === THREE.TriangleFanDrawMode)
-                      for (o = 1; o <= a; o++)
-                        s.push(n.getX(0)), s.push(n.getX(o)), s.push(n.getX(o + 1))
-                    else
-                      for (o = 0; o < a; o++)
-                        o % 2 === 0
-                          ? (s.push(n.getX(o)), s.push(n.getX(o + 1)), s.push(n.getX(o + 2)))
-                          : (s.push(n.getX(o + 2)), s.push(n.getX(o + 1)), s.push(n.getX(o)))
-                    s.length / 3 !== a &&
-                      console.error(
-                        'THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.',
-                      )
-                    var l = e.clone()
-                    return l.setIndex(s), l
-                  }
-                  return (
-                    (U.prototype.setExtensions = function (e) {
-                      this.extensions = e
-                    }),
-                    (U.prototype.setPlugins = function (e) {
-                      this.plugins = e
-                    }),
-                    (U.prototype.parse = function (e, t) {
-                      var n = this,
-                        r = this.json,
-                        i = this.extensions
-                      this.cache.removeAll(),
-                        this._invokeAll(function (e) {
-                          return e._markDefs && e._markDefs()
-                        }),
-                        Promise.all([
-                          this.getDependencies('scene'),
-                          this.getDependencies('animation'),
-                          this.getDependencies('camera'),
-                        ])
-                          .then(function (t) {
-                            var o = {
-                              scene: t[0][r.scene || 0],
-                              scenes: t[0],
-                              animations: t[1],
-                              cameras: t[2],
-                              asset: r.asset,
-                              parser: n,
-                              userData: {},
-                            }
-                            O(i, o, r), I(o, r), e(o)
-                          })
-                          .catch(t)
-                    }),
-                    (U.prototype._markDefs = function () {
-                      for (
-                        var e = this.json.nodes || [],
-                          t = this.json.skins || [],
-                          n = this.json.meshes || [],
-                          r = 0,
-                          i = t.length;
-                        r < i;
-                        r++
-                      )
-                        for (var o = t[r].joints, a = 0, s = o.length; a < s; a++)
-                          e[o[a]].isBone = !0
-                      for (var l = 0, c = e.length; l < c; l++) {
-                        var u = e[l]
-                        void 0 !== u.mesh &&
-                          (this._addNodeRef(this.meshCache, u.mesh),
-                          void 0 !== u.skin && (n[u.mesh].isSkinnedMesh = !0)),
-                          void 0 !== u.camera && this._addNodeRef(this.cameraCache, u.camera)
-                      }
-                    }),
-                    (U.prototype._addNodeRef = function (e, t) {
-                      void 0 !== t &&
-                        (void 0 === e.refs[t] && (e.refs[t] = e.uses[t] = 0), e.refs[t]++)
-                    }),
-                    (U.prototype._getNodeRef = function (e, t, n) {
-                      if (e.refs[t] <= 1) return n
-                      var r = n.clone()
-                      return (r.name += '_instance_' + e.uses[t]++), r
-                    }),
-                    (U.prototype._invokeOne = function (e) {
-                      var t = Object.values(this.plugins)
-                      t.push(this)
-                      for (var n = 0; n < t.length; n++) {
-                        var r = e(t[n])
-                        if (r) return r
-                      }
-                    }),
-                    (U.prototype._invokeAll = function (e) {
-                      var t = Object.values(this.plugins)
-                      t.unshift(this)
-                      for (var n = [], r = 0; r < t.length; r++) {
-                        var i = e(t[r])
-                        i && n.push(i)
-                      }
-                      return n
-                    }),
-                    (U.prototype.getDependency = function (e, t) {
-                      var n = e + ':' + t,
-                        r = this.cache.get(n)
-                      if (!r) {
-                        switch (e) {
-                          case 'scene':
-                            r = this.loadScene(t)
-                            break
-                          case 'node':
-                            r = this.loadNode(t)
-                            break
-                          case 'mesh':
-                            r = this._invokeOne(function (e) {
-                              return e.loadMesh && e.loadMesh(t)
-                            })
-                            break
-                          case 'accessor':
-                            r = this.loadAccessor(t)
-                            break
-                          case 'bufferView':
-                            r = this._invokeOne(function (e) {
-                              return e.loadBufferView && e.loadBufferView(t)
-                            })
-                            break
-                          case 'buffer':
-                            r = this.loadBuffer(t)
-                            break
-                          case 'material':
-                            r = this._invokeOne(function (e) {
-                              return e.loadMaterial && e.loadMaterial(t)
-                            })
-                            break
-                          case 'texture':
-                            r = this._invokeOne(function (e) {
-                              return e.loadTexture && e.loadTexture(t)
-                            })
-                            break
-                          case 'skin':
-                            r = this.loadSkin(t)
-                            break
-                          case 'animation':
-                            r = this.loadAnimation(t)
-                            break
-                          case 'camera':
-                            r = this.loadCamera(t)
-                            break
-                          default:
-                            throw new Error('Unknown type: ' + e)
-                        }
-                        this.cache.add(n, r)
-                      }
-                      return r
-                    }),
-                    (U.prototype.getDependencies = function (e) {
-                      var t = this.cache.get(e)
-                      if (!t) {
-                        var n = this,
-                          r = this.json[e + ('mesh' === e ? 'es' : 's')] || []
-                        ;(t = Promise.all(
-                          r.map(function (t, r) {
-                            return n.getDependency(e, r)
-                          }),
-                        )),
-                          this.cache.add(e, t)
-                      }
-                      return t
-                    }),
-                    (U.prototype.loadBuffer = function (e) {
-                      var t = this.json.buffers[e],
-                        n = this.fileLoader
-                      if (t.type && 'arraybuffer' !== t.type)
-                        throw new Error(
-                          'THREE.GLTFLoader: ' + t.type + ' buffer type is not supported.',
-                        )
-                      if (void 0 === t.uri && 0 === e)
-                        return Promise.resolve(this.extensions[r.KHR_BINARY_GLTF].body)
-                      var i = this.options
-                      return new Promise(function (e, r) {
-                        n.load(P(t.uri, i.path), e, void 0, function () {
-                          r(new Error('THREE.GLTFLoader: Failed to load buffer "' + t.uri + '".'))
-                        })
-                      })
-                    }),
-                    (U.prototype.loadBufferView = function (e) {
-                      var t = this.json.bufferViews[e]
-                      return this.getDependency('buffer', t.buffer).then(function (e) {
-                        var n = t.byteLength || 0,
-                          r = t.byteOffset || 0
-                        return e.slice(r, r + n)
-                      })
-                    }),
-                    (U.prototype.loadAccessor = function (e) {
-                      var t = this,
-                        n = this.json,
-                        r = this.json.accessors[e]
-                      if (void 0 === r.bufferView && void 0 === r.sparse)
-                        return Promise.resolve(null)
-                      var i = []
-                      return (
-                        void 0 !== r.bufferView
-                          ? i.push(this.getDependency('bufferView', r.bufferView))
-                          : i.push(null),
-                        void 0 !== r.sparse &&
-                          (i.push(this.getDependency('bufferView', r.sparse.indices.bufferView)),
-                          i.push(this.getDependency('bufferView', r.sparse.values.bufferView))),
-                        Promise.all(i).then(function (e) {
-                          var i,
-                            o,
-                            a = e[0],
-                            s = T[r.type],
-                            l = E[r.componentType],
-                            c = l.BYTES_PER_ELEMENT,
-                            u = c * s,
-                            h = r.byteOffset || 0,
-                            d =
-                              void 0 !== r.bufferView
-                                ? n.bufferViews[r.bufferView].byteStride
-                                : void 0,
-                            p = !0 === r.normalized
-                          if (d && d !== u) {
-                            var f = Math.floor(h / d),
-                              m =
-                                'InterleavedBuffer:' +
-                                r.bufferView +
-                                ':' +
-                                r.componentType +
-                                ':' +
-                                f +
-                                ':' +
-                                r.count,
-                              v = t.cache.get(m)
-                            v ||
-                              ((i = new l(a, f * d, (r.count * d) / c)),
-                              (v = new THREE.InterleavedBuffer(i, d / c)),
-                              t.cache.add(m, v)),
-                              (o = new THREE.InterleavedBufferAttribute(v, s, (h % d) / c, p))
-                          } else (i = null === a ? new l(r.count * s) : new l(a, h, r.count * s)), (o = new THREE.BufferAttribute(i, s, p))
-                          if (void 0 !== r.sparse) {
-                            var g = T.SCALAR,
-                              y = E[r.sparse.indices.componentType],
-                              b = r.sparse.indices.byteOffset || 0,
-                              A = r.sparse.values.byteOffset || 0,
-                              w = new y(e[1], b, r.sparse.count * g),
-                              x = new l(e[2], A, r.sparse.count * s)
-                            null !== a &&
-                              (o = new THREE.BufferAttribute(
-                                o.array.slice(),
-                                o.itemSize,
-                                o.normalized,
-                              ))
-                            for (var M = 0, _ = w.length; M < _; M++) {
-                              var S = w[M]
-                              if (
-                                (o.setX(S, x[M * s]),
-                                s >= 2 && o.setY(S, x[M * s + 1]),
-                                s >= 3 && o.setZ(S, x[M * s + 2]),
-                                s >= 4 && o.setW(S, x[M * s + 3]),
-                                s >= 5)
-                              )
-                                throw new Error(
-                                  'THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.',
-                                )
-                            }
-                          }
-                          return o
-                        })
-                      )
-                    }),
-                    (U.prototype.loadTexture = function (e) {
-                      var t,
-                        n,
-                        i = this,
-                        o = this.json,
-                        a = this.options,
-                        s = o.textures[e],
-                        l = s.extensions || {}
-                      return (
-                        (t = l[r.MSFT_TEXTURE_DDS]
-                          ? o.images[l[r.MSFT_TEXTURE_DDS].source]
-                          : o.images[s.source]).uri && (n = a.manager.getHandler(t.uri)),
-                        n ||
-                          (n = l[r.MSFT_TEXTURE_DDS]
-                            ? i.extensions[r.MSFT_TEXTURE_DDS].ddsLoader
-                            : this.textureLoader),
-                        this.loadTextureImage(e, t, n)
-                      )
-                    }),
-                    (U.prototype.loadTextureImage = function (e, t, n) {
-                      var r = this,
-                        i = this.json,
-                        o = this.options,
-                        a = i.textures[e],
-                        s = self.URL || self.webkitURL,
-                        l = t.uri,
-                        c = !1,
-                        u = !0
-                      return (
-                        'image/jpeg' === t.mimeType && (u = !1),
-                        void 0 !== t.bufferView &&
-                          (l = r.getDependency('bufferView', t.bufferView).then(function (e) {
-                            if ('image/png' === t.mimeType) {
-                              var n = new DataView(e, 25, 1).getUint8(0, !1)
-                              u = 6 === n || 4 === n || 3 === n
-                            }
-                            c = !0
-                            var r = new Blob([e], { type: t.mimeType })
-                            return (l = s.createObjectURL(r))
-                          })),
-                        Promise.resolve(l)
-                          .then(function (e) {
-                            return new Promise(function (t, r) {
-                              var i = t
-                              !0 === n.isImageBitmapLoader &&
-                                (i = function (e) {
-                                  t(new THREE.CanvasTexture(e))
-                                }),
-                                n.load(P(e, o.path), i, void 0, r)
-                            })
-                          })
-                          .then(function (t) {
-                            !0 === c && s.revokeObjectURL(l),
-                              (t.flipY = !1),
-                              a.name && (t.name = a.name),
-                              u || (t.format = THREE.RGBFormat)
-                            var n = (i.samplers || {})[a.sampler] || {}
-                            return (
-                              (t.magFilter = M[n.magFilter] || THREE.LinearFilter),
-                              (t.minFilter = M[n.minFilter] || THREE.LinearMipmapLinearFilter),
-                              (t.wrapS = _[n.wrapS] || THREE.RepeatWrapping),
-                              (t.wrapT = _[n.wrapT] || THREE.RepeatWrapping),
-                              r.associations.set(t, { type: 'textures', index: e }),
-                              t
-                            )
-                          })
-                      )
-                    }),
-                    (U.prototype.assignTexture = function (e, t, n) {
-                      var i = this
-                      return this.getDependency('texture', n.index).then(function (o) {
-                        if (
-                          (void 0 === n.texCoord ||
-                            0 == n.texCoord ||
-                            ('aoMap' === t && 1 == n.texCoord) ||
-                            console.warn(
-                              'THREE.GLTFLoader: Custom UV set ' +
-                                n.texCoord +
-                                ' for texture ' +
-                                t +
-                                ' not yet supported.',
-                            ),
-                          i.extensions[r.KHR_TEXTURE_TRANSFORM])
-                        ) {
-                          var a =
-                            void 0 !== n.extensions ? n.extensions[r.KHR_TEXTURE_TRANSFORM] : void 0
-                          if (a) {
-                            var s = i.associations.get(o)
-                            ;(o = i.extensions[r.KHR_TEXTURE_TRANSFORM].extendTexture(o, a)),
-                              i.associations.set(o, s)
-                          }
-                        }
-                        e[t] = o
-                      })
-                    }),
-                    (U.prototype.assignFinalMaterial = function (e) {
-                      var t = e.geometry,
-                        n = e.material,
-                        r = void 0 !== t.attributes.tangent,
-                        i = void 0 !== t.attributes.color,
-                        o = void 0 === t.attributes.normal,
-                        a = !0 === e.isSkinnedMesh,
-                        s = Object.keys(t.morphAttributes).length > 0,
-                        l = s && void 0 !== t.morphAttributes.normal
-                      if (e.isPoints) {
-                        var c = 'PointsMaterial:' + n.uuid,
-                          u = this.cache.get(c)
-                        u ||
-                          ((u = new THREE.PointsMaterial()),
-                          THREE.Material.prototype.copy.call(u, n),
-                          u.color.copy(n.color),
-                          (u.map = n.map),
-                          (u.sizeAttenuation = !1),
-                          this.cache.add(c, u)),
-                          (n = u)
-                      } else if (e.isLine) {
-                        c = 'LineBasicMaterial:' + n.uuid
-                        var h = this.cache.get(c)
-                        h ||
-                          ((h = new THREE.LineBasicMaterial()),
-                          THREE.Material.prototype.copy.call(h, n),
-                          h.color.copy(n.color),
-                          this.cache.add(c, h)),
-                          (n = h)
-                      }
-                      if (r || i || o || a || s) {
-                        ;(c = 'ClonedMaterial:' + n.uuid + ':'),
-                          n.isGLTFSpecularGlossinessMaterial && (c += 'specular-glossiness:'),
-                          a && (c += 'skinning:'),
-                          r && (c += 'vertex-tangents:'),
-                          i && (c += 'vertex-colors:'),
-                          o && (c += 'flat-shading:'),
-                          s && (c += 'morph-targets:'),
-                          l && (c += 'morph-normals:')
-                        var d = this.cache.get(c)
-                        d ||
-                          ((d = n.clone()),
-                          a && (d.skinning = !0),
-                          i && (d.vertexColors = !0),
-                          o && (d.flatShading = !0),
-                          s && (d.morphTargets = !0),
-                          l && (d.morphNormals = !0),
-                          r &&
-                            ((d.vertexTangents = !0),
-                            n.normalScale && (n.normalScale.y *= -1),
-                            n.clearcoatNormalScale && (n.clearcoatNormalScale.y *= -1)),
-                          this.cache.add(c, d),
-                          this.associations.set(d, this.associations.get(n))),
-                          (n = d)
-                      }
-                      n.aoMap &&
-                        void 0 === t.attributes.uv2 &&
-                        void 0 !== t.attributes.uv &&
-                        t.setAttribute('uv2', t.attributes.uv),
-                        (e.material = n)
-                    }),
-                    (U.prototype.getMaterialType = function () {
-                      return THREE.MeshStandardMaterial
-                    }),
-                    (U.prototype.loadMaterial = function (e) {
-                      var t,
-                        n = this,
-                        i = this.json,
-                        o = this.extensions,
-                        a = i.materials[e],
-                        s = {},
-                        l = a.extensions || {},
-                        c = []
-                      if (l[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]) {
-                        var u = o[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]
-                        ;(t = u.getMaterialType()), c.push(u.extendParams(s, a, n))
-                      } else if (l[r.KHR_MATERIALS_UNLIT]) {
-                        var h = o[r.KHR_MATERIALS_UNLIT]
-                        ;(t = h.getMaterialType()), c.push(h.extendParams(s, a, n))
-                      } else {
-                        var d = a.pbrMetallicRoughness || {}
-                        if (
-                          ((s.color = new THREE.Color(1, 1, 1)),
-                          (s.opacity = 1),
-                          Array.isArray(d.baseColorFactor))
-                        ) {
-                          var p = d.baseColorFactor
-                          s.color.fromArray(p), (s.opacity = p[3])
-                        }
-                        void 0 !== d.baseColorTexture &&
-                          c.push(n.assignTexture(s, 'map', d.baseColorTexture)),
-                          (s.metalness = void 0 !== d.metallicFactor ? d.metallicFactor : 1),
-                          (s.roughness = void 0 !== d.roughnessFactor ? d.roughnessFactor : 1),
-                          void 0 !== d.metallicRoughnessTexture &&
-                            (c.push(n.assignTexture(s, 'metalnessMap', d.metallicRoughnessTexture)),
-                            c.push(n.assignTexture(s, 'roughnessMap', d.metallicRoughnessTexture))),
-                          (t = this._invokeOne(function (t) {
-                            return t.getMaterialType && t.getMaterialType(e)
-                          })),
-                          c.push(
-                            Promise.all(
-                              this._invokeAll(function (t) {
-                                return t.extendMaterialParams && t.extendMaterialParams(e, s)
-                              }),
-                            ),
-                          )
-                      }
-                      !0 === a.doubleSided && (s.side = THREE.DoubleSide)
-                      var f = a.alphaMode || R.OPAQUE
-                      return (
-                        f === R.BLEND
-                          ? ((s.transparent = !0), (s.depthWrite = !1))
-                          : ((s.transparent = !1),
-                            f === R.MASK &&
-                              (s.alphaTest = void 0 !== a.alphaCutoff ? a.alphaCutoff : 0.5)),
-                        void 0 !== a.normalTexture &&
-                          t !== THREE.MeshBasicMaterial &&
-                          (c.push(n.assignTexture(s, 'normalMap', a.normalTexture)),
-                          (s.normalScale = new THREE.Vector2(1, -1)),
-                          void 0 !== a.normalTexture.scale &&
-                            s.normalScale.set(a.normalTexture.scale, -a.normalTexture.scale)),
-                        void 0 !== a.occlusionTexture &&
-                          t !== THREE.MeshBasicMaterial &&
-                          (c.push(n.assignTexture(s, 'aoMap', a.occlusionTexture)),
-                          void 0 !== a.occlusionTexture.strength &&
-                            (s.aoMapIntensity = a.occlusionTexture.strength)),
-                        void 0 !== a.emissiveFactor &&
-                          t !== THREE.MeshBasicMaterial &&
-                          (s.emissive = new THREE.Color().fromArray(a.emissiveFactor)),
-                        void 0 !== a.emissiveTexture &&
-                          t !== THREE.MeshBasicMaterial &&
-                          c.push(n.assignTexture(s, 'emissiveMap', a.emissiveTexture)),
-                        Promise.all(c).then(function () {
-                          var i
-                          return (
-                            (i =
-                              t === y
-                                ? o[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(s)
-                                : new t(s)),
-                            a.name && (i.name = a.name),
-                            i.map && (i.map.encoding = THREE.sRGBEncoding),
-                            i.emissiveMap && (i.emissiveMap.encoding = THREE.sRGBEncoding),
-                            I(i, a),
-                            n.associations.set(i, { type: 'materials', index: e }),
-                            a.extensions && O(o, i, a),
-                            i
-                          )
-                        })
-                      )
-                    }),
-                    (U.prototype.createUniqueName = function (e) {
-                      for (
-                        var t = THREE.PropertyBinding.sanitizeNodeName(e || ''), n = t, r = 1;
-                        this.nodeNamesUsed[n];
-                        ++r
-                      )
-                        n = t + '_' + r
-                      return (this.nodeNamesUsed[n] = !0), n
-                    }),
-                    (U.prototype.loadGeometries = function (e) {
-                      var t = this,
-                        n = this.extensions,
-                        i = this.primitiveCache
-                      function o(e) {
-                        return n[r.KHR_DRACO_MESH_COMPRESSION]
-                          .decodePrimitive(e, t)
-                          .then(function (n) {
-                            return G(n, e, t)
-                          })
-                      }
-                      for (var a = [], s = 0, l = e.length; s < l; s++) {
-                        var c,
-                          u = e[s],
-                          h = k(u),
-                          d = i[h]
-                        d
-                          ? a.push(d.promise)
-                          : ((c =
-                              u.extensions && u.extensions[r.KHR_DRACO_MESH_COMPRESSION]
-                                ? o(u)
-                                : G(new THREE.BufferGeometry(), u, t)),
-                            (i[h] = { primitive: u, promise: c }),
-                            a.push(c))
-                      }
-                      return Promise.all(a)
-                    }),
-                    (U.prototype.loadMesh = function (e) {
-                      for (
-                        var t = this,
-                          n = this.json,
-                          r = this.extensions,
-                          i = n.meshes[e],
-                          o = i.primitives,
-                          a = [],
-                          s = 0,
-                          l = o.length;
-                        s < l;
-                        s++
-                      ) {
-                        var c =
-                          void 0 === o[s].material
-                            ? D(this.cache)
-                            : this.getDependency('material', o[s].material)
-                        a.push(c)
-                      }
-                      return (
-                        a.push(t.loadGeometries(o)),
-                        Promise.all(a).then(function (n) {
-                          for (
-                            var a = n.slice(0, n.length - 1),
-                              s = n[n.length - 1],
-                              l = [],
-                              c = 0,
-                              u = s.length;
-                            c < u;
-                            c++
-                          ) {
-                            var h,
-                              d = s[c],
-                              p = o[c],
-                              f = a[c]
-                            if (
-                              p.mode === x.TRIANGLES ||
-                              p.mode === x.TRIANGLE_STRIP ||
-                              p.mode === x.TRIANGLE_FAN ||
-                              void 0 === p.mode
-                            )
-                              (h =
-                                !0 === i.isSkinnedMesh
-                                  ? new THREE.SkinnedMesh(d, f)
-                                  : new THREE.Mesh(d, f)),
-                                !0 === f.isMeshStandardMaterial &&
-                                  f.side === THREE.DoubleSide &&
-                                  null !== d.getIndex() &&
-                                  !0 === d.hasAttribute('position') &&
-                                  !0 === d.hasAttribute('normal') &&
-                                  !0 === d.hasAttribute('uv') &&
-                                  !1 === d.hasAttribute('tangent') &&
-                                  (d.computeTangents(), (f.vertexTangents = !0)),
-                                !0 !== h.isSkinnedMesh ||
-                                  h.geometry.attributes.skinWeight.normalized ||
-                                  h.normalizeSkinWeights(),
-                                p.mode === x.TRIANGLE_STRIP
-                                  ? (h.geometry = z(h.geometry, THREE.TriangleStripDrawMode))
-                                  : p.mode === x.TRIANGLE_FAN &&
-                                    (h.geometry = z(h.geometry, THREE.TriangleFanDrawMode))
-                            else if (p.mode === x.LINES) h = new THREE.LineSegments(d, f)
-                            else if (p.mode === x.LINE_STRIP) h = new THREE.Line(d, f)
-                            else if (p.mode === x.LINE_LOOP) h = new THREE.LineLoop(d, f)
-                            else {
-                              if (p.mode !== x.POINTS)
-                                throw new Error(
-                                  'THREE.GLTFLoader: Primitive mode unsupported: ' + p.mode,
-                                )
-                              h = new THREE.Points(d, f)
-                            }
-                            Object.keys(h.geometry.morphAttributes).length > 0 && F(h, i),
-                              (h.name = t.createUniqueName(i.name || 'mesh_' + e)),
-                              I(h, i),
-                              p.extensions && O(r, h, p),
-                              t.assignFinalMaterial(h),
-                              l.push(h)
-                          }
-                          if (1 === l.length) return l[0]
-                          var m = new THREE.Group()
-                          for (c = 0, u = l.length; c < u; c++) m.add(l[c])
-                          return m
-                        })
-                      )
-                    }),
-                    (U.prototype.loadCamera = function (e) {
-                      var t,
-                        n = this.json.cameras[e],
-                        r = n[n.type]
-                      if (r)
-                        return (
-                          'perspective' === n.type
-                            ? (t = new THREE.PerspectiveCamera(
-                                THREE.MathUtils.radToDeg(r.yfov),
-                                r.aspectRatio || 1,
-                                r.znear || 1,
-                                r.zfar || 2e6,
-                              ))
-                            : 'orthographic' === n.type &&
-                              (t = new THREE.OrthographicCamera(
-                                -r.xmag,
-                                r.xmag,
-                                r.ymag,
-                                -r.ymag,
-                                r.znear,
-                                r.zfar,
-                              )),
-                          n.name && (t.name = this.createUniqueName(n.name)),
-                          I(t, n),
-                          Promise.resolve(t)
-                        )
-                      console.warn('THREE.GLTFLoader: Missing camera parameters.')
-                    }),
-                    (U.prototype.loadSkin = function (e) {
-                      var t = this.json.skins[e],
-                        n = { joints: t.joints }
-                      return void 0 === t.inverseBindMatrices
-                        ? Promise.resolve(n)
-                        : this.getDependency('accessor', t.inverseBindMatrices).then(function (e) {
-                            return (n.inverseBindMatrices = e), n
-                          })
-                    }),
-                    (U.prototype.loadAnimation = function (e) {
-                      for (
-                        var t = this.json.animations[e],
-                          n = [],
-                          r = [],
-                          i = [],
-                          o = [],
-                          a = [],
-                          s = 0,
-                          l = t.channels.length;
-                        s < l;
-                        s++
-                      ) {
-                        var c = t.channels[s],
-                          u = t.samplers[c.sampler],
-                          h = c.target,
-                          d = void 0 !== h.node ? h.node : h.id,
-                          p = void 0 !== t.parameters ? t.parameters[u.input] : u.input,
-                          f = void 0 !== t.parameters ? t.parameters[u.output] : u.output
-                        n.push(this.getDependency('node', d)),
-                          r.push(this.getDependency('accessor', p)),
-                          i.push(this.getDependency('accessor', f)),
-                          o.push(u),
-                          a.push(h)
-                      }
-                      return Promise.all([
-                        Promise.all(n),
-                        Promise.all(r),
-                        Promise.all(i),
-                        Promise.all(o),
-                        Promise.all(a),
-                      ]).then(function (n) {
-                        for (
-                          var r = n[0],
-                            i = n[1],
-                            o = n[2],
-                            a = n[3],
-                            s = n[4],
-                            l = [],
-                            c = 0,
-                            u = r.length;
-                          c < u;
-                          c++
-                        ) {
-                          var h = r[c],
-                            d = i[c],
-                            p = o[c],
-                            f = a[c],
-                            m = s[c]
-                          if (void 0 !== h) {
-                            var v
-                            switch ((h.updateMatrix(), (h.matrixAutoUpdate = !0), C[m.path])) {
-                              case C.weights:
-                                v = THREE.NumberKeyframeTrack
-                                break
-                              case C.rotation:
-                                v = THREE.QuaternionKeyframeTrack
-                                break
-                              case C.position:
-                              case C.scale:
-                              default:
-                                v = THREE.VectorKeyframeTrack
-                            }
-                            var g = h.name ? h.name : h.uuid,
-                              y =
-                                void 0 !== f.interpolation
-                                  ? L[f.interpolation]
-                                  : THREE.InterpolateLinear,
-                              b = []
-                            C[m.path] === C.weights
-                              ? h.traverse(function (e) {
-                                  !0 === e.isMesh &&
-                                    e.morphTargetInfluences &&
-                                    b.push(e.name ? e.name : e.uuid)
-                                })
-                              : b.push(g)
-                            var A = p.array
-                            if (p.normalized) {
-                              var x
-                              if (A.constructor === Int8Array) x = 1 / 127
-                              else if (A.constructor === Uint8Array) x = 1 / 255
-                              else if (A.constructor == Int16Array) x = 1 / 32767
-                              else {
-                                if (A.constructor !== Uint16Array)
-                                  throw new Error(
-                                    'THREE.GLTFLoader: Unsupported output accessor component type.',
-                                  )
-                                x = 1 / 65535
-                              }
-                              for (
-                                var E = new Float32Array(A.length), M = 0, _ = A.length;
-                                M < _;
-                                M++
-                              )
-                                E[M] = A[M] * x
-                              A = E
-                            }
-                            for (M = 0, _ = b.length; M < _; M++) {
-                              var T = new v(b[M] + '.' + C[m.path], d.array, A, y)
-                              'CUBICSPLINE' === f.interpolation &&
-                                ((T.createInterpolant = function (e) {
-                                  return new w(this.times, this.values, this.getValueSize() / 3, e)
-                                }),
-                                (T.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline =
-                                  !0)),
-                                l.push(T)
-                            }
-                          }
-                        }
-                        var S = t.name ? t.name : 'animation_' + e
-                        return new THREE.AnimationClip(S, void 0, l)
-                      })
-                    }),
-                    (U.prototype.loadNode = function (e) {
-                      var t = this.json,
-                        n = this.extensions,
-                        r = this,
-                        i = t.nodes[e],
-                        o = i.name ? r.createUniqueName(i.name) : ''
-                      return (function () {
-                        var t = []
-                        return (
-                          void 0 !== i.mesh &&
-                            t.push(
-                              r.getDependency('mesh', i.mesh).then(function (e) {
-                                var t = r._getNodeRef(r.meshCache, i.mesh, e)
-                                return (
-                                  void 0 !== i.weights &&
-                                    t.traverse(function (e) {
-                                      if (e.isMesh)
-                                        for (var t = 0, n = i.weights.length; t < n; t++)
-                                          e.morphTargetInfluences[t] = i.weights[t]
-                                    }),
-                                  t
-                                )
-                              }),
-                            ),
-                          void 0 !== i.camera &&
-                            t.push(
-                              r.getDependency('camera', i.camera).then(function (e) {
-                                return r._getNodeRef(r.cameraCache, i.camera, e)
-                              }),
-                            ),
-                          r
-                            ._invokeAll(function (t) {
-                              return t.createNodeAttachment && t.createNodeAttachment(e)
-                            })
-                            .forEach(function (e) {
-                              t.push(e)
-                            }),
-                          Promise.all(t)
-                        )
-                      })().then(function (t) {
-                        var a
-                        if (
-                          (a =
-                            !0 === i.isBone
-                              ? new THREE.Bone()
-                              : t.length > 1
-                              ? new THREE.Group()
-                              : 1 === t.length
-                              ? t[0]
-                              : new THREE.Object3D()) !== t[0]
-                        )
-                          for (var s = 0, l = t.length; s < l; s++) a.add(t[s])
-                        if (
-                          (i.name && ((a.userData.name = i.name), (a.name = o)),
-                          I(a, i),
-                          i.extensions && O(n, a, i),
-                          void 0 !== i.matrix)
-                        ) {
-                          var c = new THREE.Matrix4()
-                          c.fromArray(i.matrix), a.applyMatrix4(c)
-                        } else void 0 !== i.translation && a.position.fromArray(i.translation), void 0 !== i.rotation && a.quaternion.fromArray(i.rotation), void 0 !== i.scale && a.scale.fromArray(i.scale)
-                        return r.associations.set(a, { type: 'nodes', index: e }), a
-                      })
-                    }),
-                    (U.prototype.loadScene = (function () {
-                      function e(t, n, r, i) {
-                        var o = r.nodes[t]
-                        return i
-                          .getDependency('node', t)
-                          .then(function (e) {
-                            return void 0 === o.skin
-                              ? e
-                              : i
-                                  .getDependency('skin', o.skin)
-                                  .then(function (e) {
-                                    for (var n = [], r = 0, o = (t = e).joints.length; r < o; r++)
-                                      n.push(i.getDependency('node', t.joints[r]))
-                                    return Promise.all(n)
-                                  })
-                                  .then(function (n) {
-                                    return (
-                                      e.traverse(function (e) {
-                                        if (e.isMesh) {
-                                          for (
-                                            var r = [], i = [], o = 0, a = n.length;
-                                            o < a;
-                                            o++
-                                          ) {
-                                            var s = n[o]
-                                            if (s) {
-                                              r.push(s)
-                                              var l = new THREE.Matrix4()
-                                              void 0 !== t.inverseBindMatrices &&
-                                                l.fromArray(t.inverseBindMatrices.array, 16 * o),
-                                                i.push(l)
-                                            } else
-                                              console.warn(
-                                                'THREE.GLTFLoader: Joint "%s" could not be found.',
-                                                t.joints[o],
-                                              )
-                                          }
-                                          e.bind(new THREE.Skeleton(r, i), e.matrixWorld)
-                                        }
-                                      }),
-                                      e
-                                    )
-                                  })
-                            var t
-                          })
-                          .then(function (t) {
-                            n.add(t)
-                            var a = []
-                            if (o.children)
-                              for (var s = o.children, l = 0, c = s.length; l < c; l++) {
-                                var u = s[l]
-                                a.push(e(u, t, r, i))
-                              }
-                            return Promise.all(a)
-                          })
-                      }
-                      return function (t) {
-                        var n = this.json,
-                          r = this.extensions,
-                          i = this.json.scenes[t],
-                          o = this,
-                          a = new THREE.Group()
-                        i.name && (a.name = o.createUniqueName(i.name)),
-                          I(a, i),
-                          i.extensions && O(r, a, i)
-                        for (var s = i.nodes || [], l = [], c = 0, u = s.length; c < u; c++)
-                          l.push(e(s[c], a, n, o))
-                        return Promise.all(l).then(function () {
-                          return a
-                        })
-                      }
-                    })()),
-                    t
-                  )
-                })()
-              },
-              {},
-            ],
-            60: [
-              function (t, n, r) {
-                ;(THREE.MTLLoader = function (e) {
-                  THREE.Loader.call(this, e)
-                }),
-                  (THREE.MTLLoader.prototype = Object.assign(
-                    Object.create(THREE.Loader.prototype),
-                    {
-                      constructor: THREE.MTLLoader,
-                      load: function (t, n, r, i) {
-                        var o = this,
-                          a = '' === this.path ? THREE.LoaderUtils.extractUrlBase(t) : this.path,
-                          s = new THREE.FileLoader(this.manager)
-                        s.setPath(this.path),
-                          s.setRequestHeader(this.requestHeader),
-                          s.setWithCredentials(this.withCredentials),
-                          s.load(
-                            t,
-                            function (r) {
-                              try {
-                                n(o.parse(r, a))
-                              } catch (e) {
-                                i ? i(e) : console.error(e), o.manager.itemError(t)
-                              }
-                            },
-                            r,
-                            i,
-                          )
-                      },
-                      setMaterialOptions: function (e) {
-                        return (this.materialOptions = e), this
-                      },
-                      parse: function (e, t) {
-                        for (
-                          var n = e.split('\n'), r = {}, i = /\s+/, o = {}, a = 0;
-                          a < n.length;
-                          a++
-                        ) {
-                          var s = n[a]
-                          if (0 !== (s = s.trim()).length && '#' !== s.charAt(0)) {
-                            var l = s.indexOf(' '),
-                              c = l >= 0 ? s.substring(0, l) : s
-                            c = c.toLowerCase()
-                            var u = l >= 0 ? s.substring(l + 1) : ''
-                            if (((u = u.trim()), 'newmtl' === c)) (r = { name: u }), (o[u] = r)
-                            else if ('ka' === c || 'kd' === c || 'ks' === c || 'ke' === c) {
-                              var h = u.split(i, 3)
-                              r[c] = [parseFloat(h[0]), parseFloat(h[1]), parseFloat(h[2])]
-                            } else r[c] = u
-                          }
-                        }
-                        var d = new THREE.MTLLoader.MaterialCreator(
-                          this.resourcePath || t,
-                          this.materialOptions,
-                        )
-                        return (
-                          d.setCrossOrigin(this.crossOrigin),
-                          d.setManager(this.manager),
-                          d.setMaterials(o),
-                          d
-                        )
-                      },
-                    },
-                  )),
-                  (THREE.MTLLoader.MaterialCreator = function (e, t) {
-                    ;(this.baseUrl = e || ''),
-                      (this.options = t),
-                      (this.materialsInfo = {}),
-                      (this.materials = {}),
-                      (this.materialsArray = []),
-                      (this.nameLookup = {}),
-                      (this.side =
-                        this.options && this.options.side ? this.options.side : THREE.FrontSide),
-                      (this.wrap =
-                        this.options && this.options.wrap
-                          ? this.options.wrap
-                          : THREE.RepeatWrapping)
-                  }),
-                  (THREE.MTLLoader.MaterialCreator.prototype = {
-                    constructor: THREE.MTLLoader.MaterialCreator,
-                    crossOrigin: 'anonymous',
-                    setCrossOrigin: function (e) {
-                      return (this.crossOrigin = e), this
-                    },
-                    setManager: function (e) {
-                      this.manager = e
-                    },
-                    setMaterials: function (e) {
-                      ;(this.materialsInfo = this.convert(e)),
-                        (this.materials = {}),
-                        (this.materialsArray = []),
-                        (this.nameLookup = {})
-                    },
-                    convert: function (e) {
-                      if (!this.options) return e
-                      var t = {}
-                      for (var n in e) {
-                        var r = e[n],
-                          i = {}
-                        for (var o in ((t[n] = i), r)) {
-                          var a = !0,
-                            s = r[o],
-                            l = o.toLowerCase()
-                          switch (l) {
-                            case 'kd':
-                            case 'ka':
-                            case 'ks':
-                              this.options &&
-                                this.options.normalizeRGB &&
-                                (s = [s[0] / 255, s[1] / 255, s[2] / 255]),
-                                this.options &&
-                                  this.options.ignoreZeroRGBs &&
-                                  0 === s[0] &&
-                                  0 === s[1] &&
-                                  0 === s[2] &&
-                                  (a = !1)
-                          }
-                          a && (i[l] = s)
-                        }
-                      }
-                      return t
-                    },
-                    preload: function () {
-                      for (var e in this.materialsInfo) this.create(e)
-                    },
-                    getIndex: function (e) {
-                      return this.nameLookup[e]
-                    },
-                    getAsArray: function () {
-                      var e = 0
-                      for (var t in this.materialsInfo)
-                        (this.materialsArray[e] = this.create(t)), (this.nameLookup[t] = e), e++
-                      return this.materialsArray
-                    },
-                    create: function (e) {
-                      return (
-                        void 0 === this.materials[e] && this.createMaterial_(e), this.materials[e]
-                      )
-                    },
-                    createMaterial_: function (e) {
-                      var t = this,
-                        n = this.materialsInfo[e],
-                        r = { name: e, side: this.side }
-                      function i(e, t) {
-                        return 'string' !== typeof t || '' === t
-                          ? ''
-                          : /^https?:\/\//i.test(t)
-                          ? t
-                          : e + t
-                      }
-                      function o(e, n) {
-                        if (!r[e]) {
-                          var o = t.getTextureParams(n, r),
-                            a = t.loadTexture(i(t.baseUrl, o.url))
-                          a.repeat.copy(o.scale),
-                            a.offset.copy(o.offset),
-                            (a.wrapS = t.wrap),
-                            (a.wrapT = t.wrap),
-                            (r[e] = a)
-                        }
-                      }
-                      for (var a in n) {
-                        var s,
-                          l = n[a]
-                        if ('' !== l)
-                          switch (a.toLowerCase()) {
-                            case 'kd':
-                              r.color = new THREE.Color().fromArray(l)
-                              break
-                            case 'ks':
-                              r.specular = new THREE.Color().fromArray(l)
-                              break
-                            case 'ke':
-                              r.emissive = new THREE.Color().fromArray(l)
-                              break
-                            case 'map_kd':
-                              o('map', l)
-                              break
-                            case 'map_ks':
-                              o('specularMap', l)
-                              break
-                            case 'map_ke':
-                              o('emissiveMap', l)
-                              break
-                            case 'norm':
-                              o('normalMap', l)
-                              break
-                            case 'map_bump':
-                            case 'bump':
-                              o('bumpMap', l)
-                              break
-                            case 'map_d':
-                              o('alphaMap', l), (r.transparent = !0)
-                              break
-                            case 'ns':
-                              r.shininess = parseFloat(l)
-                              break
-                            case 'd':
-                              ;(s = parseFloat(l)) < 1 && ((r.opacity = s), (r.transparent = !0))
-                              break
-                            case 'tr':
-                              ;(s = parseFloat(l)),
-                                this.options && this.options.invertTrProperty && (s = 1 - s),
-                                s > 0 && ((r.opacity = 1 - s), (r.transparent = !0))
-                          }
-                      }
-                      return (this.materials[e] = new THREE.MeshPhongMaterial(r)), this.materials[e]
-                    },
-                    getTextureParams: function (e, t) {
-                      var n,
-                        r = { scale: new THREE.Vector2(1, 1), offset: new THREE.Vector2(0, 0) },
-                        i = e.split(/\s+/)
-                      return (
-                        (n = i.indexOf('-bm')) >= 0 &&
-                          ((t.bumpScale = parseFloat(i[n + 1])), i.splice(n, 2)),
-                        (n = i.indexOf('-s')) >= 0 &&
-                          (r.scale.set(parseFloat(i[n + 1]), parseFloat(i[n + 2])), i.splice(n, 4)),
-                        (n = i.indexOf('-o')) >= 0 &&
-                          (r.offset.set(parseFloat(i[n + 1]), parseFloat(i[n + 2])),
-                          i.splice(n, 4)),
-                        (r.url = i.join(' ').trim()),
-                        r
-                      )
-                    },
-                    loadTexture: function (e, t, n, r, i) {
-                      var o,
-                        a = void 0 !== this.manager ? this.manager : THREE.DefaultLoadingManager,
-                        s = a.getHandler(e)
-                      return (
-                        null === s && (s = new THREE.TextureLoader(a)),
-                        s.setCrossOrigin && s.setCrossOrigin(this.crossOrigin),
-                        (o = s.load(e, n, r, i)),
-                        void 0 !== t && (o.mapping = t),
-                        o
-                      )
-                    },
-                  })
-              },
-              {},
-            ],
-            61: [
-              function (t, n, r) {
-                THREE.OBJLoader = (function () {
-                  var t = /^[og]\s*(.+)?/,
-                    n = /^mtllib /,
-                    r = /^usemtl /,
-                    i = /^usemap /,
-                    o = new THREE.Vector3(),
-                    a = new THREE.Vector3(),
-                    s = new THREE.Vector3(),
-                    l = new THREE.Vector3(),
-                    c = new THREE.Vector3()
-                  function u() {
-                    var e = {
-                      objects: [],
-                      object: {},
-                      vertices: [],
-                      normals: [],
-                      colors: [],
-                      uvs: [],
-                      materials: {},
-                      materialLibraries: [],
-                      startObject: function (e, t) {
-                        if (this.object && !1 === this.object.fromDeclaration)
-                          return (
-                            (this.object.name = e), void (this.object.fromDeclaration = !1 !== t)
-                          )
-                        var n =
-                          this.object && 'function' === typeof this.object.currentMaterial
-                            ? this.object.currentMaterial()
-                            : void 0
-                        if (
-                          (this.object &&
-                            'function' === typeof this.object._finalize &&
-                            this.object._finalize(!0),
-                          (this.object = {
-                            name: e || '',
-                            fromDeclaration: !1 !== t,
-                            geometry: {
-                              vertices: [],
-                              normals: [],
-                              colors: [],
-                              uvs: [],
-                              hasUVIndices: !1,
-                            },
-                            materials: [],
-                            smooth: !0,
-                            startMaterial: function (e, t) {
-                              var n = this._finalize(!1)
-                              n &&
-                                (n.inherited || n.groupCount <= 0) &&
-                                this.materials.splice(n.index, 1)
-                              var r = {
-                                index: this.materials.length,
-                                name: e || '',
-                                mtllib: Array.isArray(t) && t.length > 0 ? t[t.length - 1] : '',
-                                smooth: void 0 !== n ? n.smooth : this.smooth,
-                                groupStart: void 0 !== n ? n.groupEnd : 0,
-                                groupEnd: -1,
-                                groupCount: -1,
-                                inherited: !1,
-                                clone: function (e) {
-                                  var t = {
-                                    index: 'number' === typeof e ? e : this.index,
-                                    name: this.name,
-                                    mtllib: this.mtllib,
-                                    smooth: this.smooth,
-                                    groupStart: 0,
-                                    groupEnd: -1,
-                                    groupCount: -1,
-                                    inherited: !1,
-                                  }
-                                  return (t.clone = this.clone.bind(t)), t
-                                },
-                              }
-                              return this.materials.push(r), r
-                            },
-                            currentMaterial: function () {
-                              if (this.materials.length > 0)
-                                return this.materials[this.materials.length - 1]
-                            },
-                            _finalize: function (e) {
-                              var t = this.currentMaterial()
-                              if (
-                                (t &&
-                                  -1 === t.groupEnd &&
-                                  ((t.groupEnd = this.geometry.vertices.length / 3),
-                                  (t.groupCount = t.groupEnd - t.groupStart),
-                                  (t.inherited = !1)),
-                                e && this.materials.length > 1)
-                              )
-                                for (var n = this.materials.length - 1; n >= 0; n--)
-                                  this.materials[n].groupCount <= 0 && this.materials.splice(n, 1)
-                              return (
-                                e &&
-                                  0 === this.materials.length &&
-                                  this.materials.push({ name: '', smooth: this.smooth }),
-                                t
-                              )
-                            },
-                          }),
-                          n && n.name && 'function' === typeof n.clone)
-                        ) {
-                          var r = n.clone(0)
-                          ;(r.inherited = !0), this.object.materials.push(r)
-                        }
-                        this.objects.push(this.object)
-                      },
-                      finalize: function () {
-                        this.object &&
-                          'function' === typeof this.object._finalize &&
-                          this.object._finalize(!0)
-                      },
-                      parseVertexIndex: function (e, t) {
-                        var n = parseInt(e, 10)
-                        return 3 * (n >= 0 ? n - 1 : n + t / 3)
-                      },
-                      parseNormalIndex: function (e, t) {
-                        var n = parseInt(e, 10)
-                        return 3 * (n >= 0 ? n - 1 : n + t / 3)
-                      },
-                      parseUVIndex: function (e, t) {
-                        var n = parseInt(e, 10)
-                        return 2 * (n >= 0 ? n - 1 : n + t / 2)
-                      },
-                      addVertex: function (e, t, n) {
-                        var r = this.vertices,
-                          i = this.object.geometry.vertices
-                        i.push(r[e + 0], r[e + 1], r[e + 2]),
-                          i.push(r[t + 0], r[t + 1], r[t + 2]),
-                          i.push(r[n + 0], r[n + 1], r[n + 2])
-                      },
-                      addVertexPoint: function (e) {
-                        var t = this.vertices
-                        this.object.geometry.vertices.push(t[e + 0], t[e + 1], t[e + 2])
-                      },
-                      addVertexLine: function (e) {
-                        var t = this.vertices
-                        this.object.geometry.vertices.push(t[e + 0], t[e + 1], t[e + 2])
-                      },
-                      addNormal: function (e, t, n) {
-                        var r = this.normals,
-                          i = this.object.geometry.normals
-                        i.push(r[e + 0], r[e + 1], r[e + 2]),
-                          i.push(r[t + 0], r[t + 1], r[t + 2]),
-                          i.push(r[n + 0], r[n + 1], r[n + 2])
-                      },
-                      addFaceNormal: function (e, t, n) {
-                        var r = this.vertices,
-                          i = this.object.geometry.normals
-                        o.fromArray(r, e),
-                          a.fromArray(r, t),
-                          s.fromArray(r, n),
-                          c.subVectors(s, a),
-                          l.subVectors(o, a),
-                          c.cross(l),
-                          c.normalize(),
-                          i.push(c.x, c.y, c.z),
-                          i.push(c.x, c.y, c.z),
-                          i.push(c.x, c.y, c.z)
-                      },
-                      addColor: function (e, t, n) {
-                        var r = this.colors,
-                          i = this.object.geometry.colors
-                        void 0 !== r[e] && i.push(r[e + 0], r[e + 1], r[e + 2]),
-                          void 0 !== r[t] && i.push(r[t + 0], r[t + 1], r[t + 2]),
-                          void 0 !== r[n] && i.push(r[n + 0], r[n + 1], r[n + 2])
-                      },
-                      addUV: function (e, t, n) {
-                        var r = this.uvs,
-                          i = this.object.geometry.uvs
-                        i.push(r[e + 0], r[e + 1]),
-                          i.push(r[t + 0], r[t + 1]),
-                          i.push(r[n + 0], r[n + 1])
-                      },
-                      addDefaultUV: function () {
-                        var e = this.object.geometry.uvs
-                        e.push(0, 0), e.push(0, 0), e.push(0, 0)
-                      },
-                      addUVLine: function (e) {
-                        var t = this.uvs
-                        this.object.geometry.uvs.push(t[e + 0], t[e + 1])
-                      },
-                      addFace: function (e, t, n, r, i, o, a, s, l) {
-                        var c = this.vertices.length,
-                          u = this.parseVertexIndex(e, c),
-                          h = this.parseVertexIndex(t, c),
-                          d = this.parseVertexIndex(n, c)
-                        if (
-                          (this.addVertex(u, h, d),
-                          this.addColor(u, h, d),
-                          void 0 !== a && '' !== a)
-                        ) {
-                          var p = this.normals.length
-                          ;(u = this.parseNormalIndex(a, p)),
-                            (h = this.parseNormalIndex(s, p)),
-                            (d = this.parseNormalIndex(l, p)),
-                            this.addNormal(u, h, d)
-                        } else this.addFaceNormal(u, h, d)
-                        if (void 0 !== r && '' !== r) {
-                          var f = this.uvs.length
-                          ;(u = this.parseUVIndex(r, f)),
-                            (h = this.parseUVIndex(i, f)),
-                            (d = this.parseUVIndex(o, f)),
-                            this.addUV(u, h, d),
-                            (this.object.geometry.hasUVIndices = !0)
-                        } else this.addDefaultUV()
-                      },
-                      addPointGeometry: function (e) {
-                        this.object.geometry.type = 'Points'
-                        for (var t = this.vertices.length, n = 0, r = e.length; n < r; n++) {
-                          var i = this.parseVertexIndex(e[n], t)
-                          this.addVertexPoint(i), this.addColor(i)
-                        }
-                      },
-                      addLineGeometry: function (e, t) {
-                        this.object.geometry.type = 'Line'
-                        for (
-                          var n = this.vertices.length, r = this.uvs.length, i = 0, o = e.length;
-                          i < o;
-                          i++
-                        )
-                          this.addVertexLine(this.parseVertexIndex(e[i], n))
-                        var a = 0
-                        for (o = t.length; a < o; a++) this.addUVLine(this.parseUVIndex(t[a], r))
-                      },
-                    }
-                    return e.startObject('', !1), e
-                  }
-                  function h(e) {
-                    THREE.Loader.call(this, e), (this.materials = null)
-                  }
-                  return (
-                    (h.prototype = Object.assign(Object.create(THREE.Loader.prototype), {
-                      constructor: h,
-                      load: function (t, n, r, i) {
-                        var o = this,
-                          a = new THREE.FileLoader(this.manager)
-                        a.setPath(this.path),
-                          a.setRequestHeader(this.requestHeader),
-                          a.setWithCredentials(this.withCredentials),
-                          a.load(
-                            t,
-                            function (r) {
-                              try {
-                                n(o.parse(r))
-                              } catch (e) {
-                                i ? i(e) : console.error(e), o.manager.itemError(t)
-                              }
-                            },
-                            r,
-                            i,
-                          )
-                      },
-                      setMaterials: function (e) {
-                        return (this.materials = e), this
-                      },
-                      parse: function (e) {
-                        var o = new u()
-                        ;-1 !== e.indexOf('\r\n') && (e = e.replace(/\r\n/g, '\n')),
-                          -1 !== e.indexOf('\\\n') && (e = e.replace(/\\\n/g, ''))
-                        for (
-                          var a = e.split('\n'),
-                            s = '',
-                            l = '',
-                            c = [],
-                            h = 'function' === typeof ''.trimLeft,
-                            d = 0,
-                            p = a.length;
-                          d < p;
-                          d++
-                        )
-                          if (
-                            ((s = a[d]),
-                            0 !== (s = h ? s.trimLeft() : s.trim()).length &&
-                              '#' !== (l = s.charAt(0)))
-                          )
-                            if ('v' === l) {
-                              var f = s.split(/\s+/)
-                              switch (f[0]) {
-                                case 'v':
-                                  o.vertices.push(
-                                    parseFloat(f[1]),
-                                    parseFloat(f[2]),
-                                    parseFloat(f[3]),
-                                  ),
-                                    f.length >= 7
-                                      ? o.colors.push(
-                                          parseFloat(f[4]),
-                                          parseFloat(f[5]),
-                                          parseFloat(f[6]),
-                                        )
-                                      : o.colors.push(void 0, void 0, void 0)
-                                  break
-                                case 'vn':
-                                  o.normals.push(
-                                    parseFloat(f[1]),
-                                    parseFloat(f[2]),
-                                    parseFloat(f[3]),
-                                  )
-                                  break
-                                case 'vt':
-                                  o.uvs.push(parseFloat(f[1]), parseFloat(f[2]))
-                              }
-                            } else if ('f' === l) {
-                              for (
-                                var m = s.substr(1).trim().split(/\s+/),
-                                  v = [],
-                                  g = 0,
-                                  y = m.length;
-                                g < y;
-                                g++
-                              ) {
-                                var b = m[g]
-                                if (b.length > 0) {
-                                  var A = b.split('/')
-                                  v.push(A)
-                                }
-                              }
-                              var w = v[0]
-                              for (g = 1, y = v.length - 1; g < y; g++) {
-                                var x = v[g],
-                                  E = v[g + 1]
-                                o.addFace(w[0], x[0], E[0], w[1], x[1], E[1], w[2], x[2], E[2])
-                              }
-                            } else if ('l' === l) {
-                              var M = s.substring(1).trim().split(' '),
-                                _ = [],
-                                T = []
-                              if (-1 === s.indexOf('/')) _ = M
-                              else
-                                for (var S = 0, C = M.length; S < C; S++) {
-                                  var L = M[S].split('/')
-                                  '' !== L[0] && _.push(L[0]), '' !== L[1] && T.push(L[1])
-                                }
-                              o.addLineGeometry(_, T)
-                            } else if ('p' === l) {
-                              var R = s.substr(1).trim().split(' ')
-                              o.addPointGeometry(R)
-                            } else if (null !== (c = t.exec(s))) {
-                              var P = (' ' + c[0].substr(1).trim()).substr(1)
-                              o.startObject(P)
-                            } else if (r.test(s))
-                              o.object.startMaterial(s.substring(7).trim(), o.materialLibraries)
-                            else if (n.test(s)) o.materialLibraries.push(s.substring(7).trim())
-                            else if (i.test(s))
-                              console.warn(
-                                'THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.',
-                              )
-                            else if ('s' === l) {
-                              if ((c = s.split(' ')).length > 1) {
-                                var D = c[1].trim().toLowerCase()
-                                o.object.smooth = '0' !== D && 'off' !== D
-                              } else o.object.smooth = !0
-                              ;(W = o.object.currentMaterial()) && (W.smooth = o.object.smooth)
-                            } else {
-                              if ('\0' === s) continue
-                              console.warn('THREE.OBJLoader: Unexpected line: "' + s + '"')
-                            }
-                        o.finalize()
-                        var O = new THREE.Group()
-                        if (
-                          ((O.materialLibraries = [].concat(o.materialLibraries)),
-                          !0 ===
-                            !(
-                              1 === o.objects.length && 0 === o.objects[0].geometry.vertices.length
-                            ))
-                        )
-                          for (d = 0, p = o.objects.length; d < p; d++) {
-                            var I = o.objects[d],
-                              B = I.geometry,
-                              F = I.materials,
-                              k = 'Line' === B.type,
-                              N = 'Points' === B.type,
-                              U = !1
-                            if (0 !== B.vertices.length) {
-                              ;(Q = new THREE.BufferGeometry()).setAttribute(
-                                'position',
-                                new THREE.Float32BufferAttribute(B.vertices, 3),
-                              ),
-                                B.normals.length > 0 &&
-                                  Q.setAttribute(
-                                    'normal',
-                                    new THREE.Float32BufferAttribute(B.normals, 3),
-                                  ),
-                                B.colors.length > 0 &&
-                                  ((U = !0),
-                                  Q.setAttribute(
-                                    'color',
-                                    new THREE.Float32BufferAttribute(B.colors, 3),
-                                  )),
-                                !0 === B.hasUVIndices &&
-                                  Q.setAttribute('uv', new THREE.Float32BufferAttribute(B.uvs, 2))
-                              for (var H, G = [], z = 0, j = F.length; z < j; z++) {
-                                var V = (Y = F[z]).name + '_' + Y.smooth + '_' + U,
-                                  W = o.materials[V]
-                                if (null !== this.materials)
-                                  if (
-                                    ((W = this.materials.create(Y.name)),
-                                    !k || !W || W instanceof THREE.LineBasicMaterial)
-                                  ) {
-                                    if (N && W && !(W instanceof THREE.PointsMaterial)) {
-                                      var q = new THREE.PointsMaterial({
-                                        size: 10,
-                                        sizeAttenuation: !1,
-                                      })
-                                      THREE.Material.prototype.copy.call(q, W),
-                                        q.color.copy(W.color),
-                                        (q.map = W.map),
-                                        (W = q)
-                                    }
-                                  } else {
-                                    var X = new THREE.LineBasicMaterial()
-                                    THREE.Material.prototype.copy.call(X, W),
-                                      X.color.copy(W.color),
-                                      (W = X)
-                                  }
-                                void 0 === W &&
-                                  (((W = k
-                                    ? new THREE.LineBasicMaterial()
-                                    : N
-                                    ? new THREE.PointsMaterial({ size: 1, sizeAttenuation: !1 })
-                                    : new THREE.MeshPhongMaterial()).name = Y.name),
-                                  (W.flatShading = !Y.smooth),
-                                  (W.vertexColors = U),
-                                  (o.materials[V] = W)),
-                                  G.push(W)
-                              }
-                              if (G.length > 1) {
-                                for (z = 0, j = F.length; z < j; z++) {
-                                  var Y = F[z]
-                                  Q.addGroup(Y.groupStart, Y.groupCount, z)
-                                }
-                                H = k
-                                  ? new THREE.LineSegments(Q, G)
-                                  : N
-                                  ? new THREE.Points(Q, G)
-                                  : new THREE.Mesh(Q, G)
-                              } else
-                                H = k
-                                  ? new THREE.LineSegments(Q, G[0])
-                                  : N
-                                  ? new THREE.Points(Q, G[0])
-                                  : new THREE.Mesh(Q, G[0])
-                              ;(H.name = I.name), O.add(H)
-                            }
-                          }
-                        else if (o.vertices.length > 0) {
-                          var Q
-                          ;(W = new THREE.PointsMaterial({ size: 1, sizeAttenuation: !1 })),
-                            (Q = new THREE.BufferGeometry()).setAttribute(
-                              'position',
-                              new THREE.Float32BufferAttribute(o.vertices, 3),
-                            ),
-                            o.colors.length > 0 &&
-                              void 0 !== o.colors[0] &&
-                              (Q.setAttribute(
-                                'color',
-                                new THREE.Float32BufferAttribute(o.colors, 3),
-                              ),
-                              (W.vertexColors = !0))
-                          var Z = new THREE.Points(Q, W)
-                          O.add(Z)
-                        }
-                        return O
-                      },
-                    })),
-                    h
-                  )
-                })()
-              },
-              {},
-            ],
-            62: [
-              function (e, t, n) {
-                THREE.BufferGeometryUtils = {
-                  computeTangents: function (e) {
-                    e.computeTangents(),
-                      console.warn(
-                        'THREE.BufferGeometryUtils: .computeTangents() has been removed. Use BufferGeometry.computeTangents() instead.',
-                      )
-                  },
-                  mergeBufferGeometries: function (e, t) {
-                    for (
-                      var n = null !== e[0].index,
-                        r = new Set(Object.keys(e[0].attributes)),
-                        i = new Set(Object.keys(e[0].morphAttributes)),
-                        o = {},
-                        a = {},
-                        s = e[0].morphTargetsRelative,
-                        l = new THREE.BufferGeometry(),
-                        c = 0,
-                        u = 0;
-                      u < e.length;
-                      ++u
-                    ) {
-                      var h = e[u],
-                        d = 0
-                      if (n !== (null !== h.index))
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                              u +
-                              '. All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.',
-                          ),
-                          null
-                        )
-                      for (var p in h.attributes) {
-                        if (!r.has(p))
-                          return (
-                            console.error(
-                              'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                                u +
-                                '. All geometries must have compatible attributes; make sure "' +
-                                p +
-                                '" attribute exists among all geometries, or in none of them.',
-                            ),
-                            null
-                          )
-                        void 0 === o[p] && (o[p] = []), o[p].push(h.attributes[p]), d++
-                      }
-                      if (d !== r.size)
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                              u +
-                              '. Make sure all geometries have the same number of attributes.',
-                          ),
-                          null
-                        )
-                      if (s !== h.morphTargetsRelative)
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                              u +
-                              '. .morphTargetsRelative must be consistent throughout all geometries.',
-                          ),
-                          null
-                        )
-                      for (var p in h.morphAttributes) {
-                        if (!i.has(p))
-                          return (
-                            console.error(
-                              'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                                u +
-                                '.  .morphAttributes must be consistent throughout all geometries.',
-                            ),
-                            null
-                          )
-                        void 0 === a[p] && (a[p] = []), a[p].push(h.morphAttributes[p])
-                      }
-                      if (
-                        ((l.userData.mergedUserData = l.userData.mergedUserData || []),
-                        l.userData.mergedUserData.push(h.userData),
-                        t)
-                      ) {
-                        var f
-                        if (n) f = h.index.count
-                        else {
-                          if (void 0 === h.attributes.position)
-                            return (
-                              console.error(
-                                'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index ' +
-                                  u +
-                                  '. The geometry must have either an index or a position attribute',
-                              ),
-                              null
-                            )
-                          f = h.attributes.position.count
-                        }
-                        l.addGroup(c, f, u), (c += f)
-                      }
-                    }
-                    if (n) {
-                      var m = 0,
-                        v = []
-                      for (u = 0; u < e.length; ++u) {
-                        for (var g = e[u].index, y = 0; y < g.count; ++y) v.push(g.getX(y) + m)
-                        m += e[u].attributes.position.count
-                      }
-                      l.setIndex(v)
-                    }
-                    for (var p in o) {
-                      var b = this.mergeBufferAttributes(o[p])
-                      if (!b)
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the ' +
-                              p +
-                              ' attribute.',
-                          ),
-                          null
-                        )
-                      l.setAttribute(p, b)
-                    }
-                    for (var p in a) {
-                      var A = a[p][0].length
-                      if (0 === A) break
-                      for (
-                        l.morphAttributes = l.morphAttributes || {},
-                          l.morphAttributes[p] = [],
-                          u = 0;
-                        u < A;
-                        ++u
-                      ) {
-                        var w = []
-                        for (y = 0; y < a[p].length; ++y) w.push(a[p][y][u])
-                        var x = this.mergeBufferAttributes(w)
-                        if (!x)
-                          return (
-                            console.error(
-                              'THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the ' +
-                                p +
-                                ' morphAttribute.',
-                            ),
-                            null
-                          )
-                        l.morphAttributes[p].push(x)
-                      }
-                    }
-                    return l
-                  },
-                  mergeBufferAttributes: function (e) {
-                    for (var t, n, r, i = 0, o = 0; o < e.length; ++o) {
-                      var a = e[o]
-                      if (a.isInterleavedBufferAttribute)
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. InterleavedBufferAttributes are not supported.',
-                          ),
-                          null
-                        )
-                      if ((void 0 === t && (t = a.array.constructor), t !== a.array.constructor))
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes.',
-                          ),
-                          null
-                        )
-                      if ((void 0 === n && (n = a.itemSize), n !== a.itemSize))
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes.',
-                          ),
-                          null
-                        )
-                      if ((void 0 === r && (r = a.normalized), r !== a.normalized))
-                        return (
-                          console.error(
-                            'THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes.',
-                          ),
-                          null
-                        )
-                      i += a.array.length
-                    }
-                    var s = new t(i),
-                      l = 0
-                    for (o = 0; o < e.length; ++o) s.set(e[o].array, l), (l += e[o].array.length)
-                    return new THREE.BufferAttribute(s, n, r)
-                  },
-                  interleaveAttributes: function (e) {
-                    for (var t, n = 0, r = 0, i = 0, o = e.length; i < o; ++i) {
-                      var a = e[i]
-                      if ((void 0 === t && (t = a.array.constructor), t !== a.array.constructor))
-                        return (
-                          console.error(
-                            'AttributeBuffers of different types cannot be interleaved',
-                          ),
-                          null
-                        )
-                      ;(n += a.array.length), (r += a.itemSize)
-                    }
-                    var s = new THREE.InterleavedBuffer(new t(n), r),
-                      l = 0,
-                      c = [],
-                      u = ['getX', 'getY', 'getZ', 'getW'],
-                      h = ['setX', 'setY', 'setZ', 'setW'],
-                      d = 0
-                    for (o = e.length; d < o; d++) {
-                      var p = (a = e[d]).itemSize,
-                        f = a.count,
-                        m = new THREE.InterleavedBufferAttribute(s, p, l, a.normalized)
-                      c.push(m), (l += p)
-                      for (var v = 0; v < f; v++) for (var g = 0; g < p; g++) m[h[g]](v, a[u[g]](v))
-                    }
-                    return c
-                  },
-                  estimateBytesUsed: function (e) {
-                    var t = 0
-                    for (var n in e.attributes) {
-                      var r = e.getAttribute(n)
-                      t += r.count * r.itemSize * r.array.BYTES_PER_ELEMENT
-                    }
-                    var i = e.getIndex()
-                    return (t += i ? i.count * i.itemSize * i.array.BYTES_PER_ELEMENT : 0)
-                  },
-                  mergeVertices: function (e, t = 1e-4) {
-                    t = Math.max(t, Number.EPSILON)
-                    for (
-                      var n = {},
-                        r = e.getIndex(),
-                        i = e.getAttribute('position'),
-                        o = r ? r.count : i.count,
-                        a = 0,
-                        s = Object.keys(e.attributes),
-                        l = {},
-                        c = {},
-                        u = [],
-                        h = ['getX', 'getY', 'getZ', 'getW'],
-                        d = 0,
-                        p = s.length;
-                      d < p;
-                      d++
-                    )
-                      (l[(b = s[d])] = []),
-                        (E = e.morphAttributes[b]) &&
-                          (c[b] = new Array(E.length).fill().map(() => []))
-                    var f = Math.log10(1 / t),
-                      m = Math.pow(10, f)
-                    for (d = 0; d < o; d++) {
-                      var v = r ? r.getX(d) : d,
-                        g = '',
-                        y = 0
-                      for (p = s.length; y < p; y++)
-                        for (var b = s[y], A = (x = e.getAttribute(b)).itemSize, w = 0; w < A; w++)
-                          g += ~~(x[h[w]](v) * m) + ','
-                      if (g in n) u.push(n[g])
-                      else {
-                        for (y = 0, p = s.length; y < p; y++) {
-                          b = s[y]
-                          var x = e.getAttribute(b),
-                            E = e.morphAttributes[b],
-                            M = ((A = x.itemSize), l[b]),
-                            _ = c[b]
-                          for (w = 0; w < A; w++) {
-                            var T = h[w]
-                            if ((M.push(x[T](v)), E))
-                              for (var S = 0, C = E.length; S < C; S++) _[S].push(E[S][T](v))
-                          }
-                        }
-                        ;(n[g] = a), u.push(a), a++
-                      }
-                    }
-                    const L = e.clone()
-                    for (d = 0, p = s.length; d < p; d++) {
-                      b = s[d]
-                      var R = e.getAttribute(b),
-                        P = new R.array.constructor(l[b])
-                      if (
-                        ((x = new THREE.BufferAttribute(P, R.itemSize, R.normalized)),
-                        L.setAttribute(b, x),
-                        b in c)
-                      )
-                        for (y = 0; y < c[b].length; y++) {
-                          var D = e.morphAttributes[b][y],
-                            O =
-                              ((P = new D.array.constructor(c[b][y])),
-                              new THREE.BufferAttribute(P, D.itemSize, D.normalized))
-                          L.morphAttributes[b][y] = O
-                        }
-                    }
-                    return L.setIndex(u), L
-                  },
-                  toTrianglesDrawMode: function (e, t) {
-                    if (t === THREE.TrianglesDrawMode)
-                      return (
-                        console.warn(
-                          'THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.',
-                        ),
-                        e
-                      )
-                    if (t === THREE.TriangleFanDrawMode || t === THREE.TriangleStripDrawMode) {
-                      var n = e.getIndex()
-                      if (null === n) {
-                        var r = [],
-                          i = e.getAttribute('position')
-                        if (void 0 === i)
-                          return (
-                            console.error(
-                              'THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.',
-                            ),
-                            e
-                          )
-                        for (var o = 0; o < i.count; o++) r.push(o)
-                        e.setIndex(r), (n = e.getIndex())
-                      }
-                      var a = n.count - 2,
-                        s = []
-                      if (t === THREE.TriangleFanDrawMode)
-                        for (o = 1; o <= a; o++)
-                          s.push(n.getX(0)), s.push(n.getX(o)), s.push(n.getX(o + 1))
-                      else
-                        for (o = 0; o < a; o++)
-                          o % 2 === 0
-                            ? (s.push(n.getX(o)), s.push(n.getX(o + 1)), s.push(n.getX(o + 2)))
-                            : (s.push(n.getX(o + 2)), s.push(n.getX(o + 1)), s.push(n.getX(o)))
-                      s.length / 3 !== a &&
-                        console.error(
-                          'THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.',
-                        )
-                      var l = e.clone()
-                      return l.setIndex(s), l.clearGroups(), l
-                    }
-                    return (
-                      console.error(
-                        'THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:',
-                        t,
-                      ),
-                      e
-                    )
-                  },
-                  computeMorphedAttributes: function (e) {
-                    if (!0 !== e.geometry.isBufferGeometry)
-                      return (
-                        console.error(
-                          'THREE.BufferGeometryUtils: Geometry is not of type THREE.BufferGeometry.',
-                        ),
-                        null
-                      )
-                    var t = new THREE.Vector3(),
-                      n = new THREE.Vector3(),
-                      r = new THREE.Vector3(),
-                      i = new THREE.Vector3(),
-                      o = new THREE.Vector3(),
-                      a = new THREE.Vector3(),
-                      s = new THREE.Vector3(),
-                      l = new THREE.Vector3(),
-                      c = new THREE.Vector3()
-                    function u(e, u, h, d, p, f, m, v, g) {
-                      t.fromBufferAttribute(h, f),
-                        n.fromBufferAttribute(h, m),
-                        r.fromBufferAttribute(h, v)
-                      var y = e.morphTargetInfluences
-                      if (u.morphTargets && d && y) {
-                        s.set(0, 0, 0), l.set(0, 0, 0), c.set(0, 0, 0)
-                        for (var b = 0, A = d.length; b < A; b++) {
-                          var w = y[b]
-                          ;(d = d[b]),
-                            0 !== w &&
-                              (i.fromBufferAttribute(d, f),
-                              o.fromBufferAttribute(d, m),
-                              a.fromBufferAttribute(d, v),
-                              p
-                                ? (s.addScaledVector(i, w),
-                                  l.addScaledVector(o, w),
-                                  c.addScaledVector(a, w))
-                                : (s.addScaledVector(i.sub(t), w),
-                                  l.addScaledVector(o.sub(n), w),
-                                  c.addScaledVector(a.sub(r), w)))
-                        }
-                        t.add(s), n.add(l), r.add(c)
-                      }
-                      e.isSkinnedMesh &&
-                        (e.boneTransform(f, t), e.boneTransform(m, n), e.boneTransform(v, r)),
-                        (g[3 * f + 0] = t.x),
-                        (g[3 * f + 1] = t.y),
-                        (g[3 * f + 2] = t.z),
-                        (g[3 * m + 0] = n.x),
-                        (g[3 * m + 1] = n.y),
-                        (g[3 * m + 2] = n.z),
-                        (g[3 * v + 0] = r.x),
-                        (g[3 * v + 1] = r.y),
-                        (g[3 * v + 2] = r.z)
-                    }
-                    var h,
-                      d,
-                      p,
-                      f,
-                      m,
-                      v,
-                      g,
-                      y,
-                      b,
-                      A = e.geometry,
-                      w = e.material,
-                      x = A.index,
-                      E = A.attributes.position,
-                      M = A.morphAttributes.position,
-                      _ = A.morphTargetsRelative,
-                      T = A.attributes.normal,
-                      S = A.morphAttributes.position,
-                      C = A.groups,
-                      L = A.drawRange,
-                      R = new Float32Array(E.count * E.itemSize),
-                      P = new Float32Array(T.count * T.itemSize)
-                    if (null !== x)
-                      if (Array.isArray(w))
-                        for (f = 0, v = C.length; f < v; f++)
-                          for (
-                            b = w[(y = C[f]).materialIndex],
-                              m = Math.max(y.start, L.start),
-                              g = Math.min(y.start + y.count, L.start + L.count);
-                            m < g;
-                            m += 3
-                          )
-                            u(
-                              e,
-                              b,
-                              E,
-                              M,
-                              _,
-                              (h = x.getX(m)),
-                              (d = x.getX(m + 1)),
-                              (p = x.getX(m + 2)),
-                              R,
-                            ),
-                              u(e, b, T, S, _, h, d, p, P)
-                      else
-                        for (
-                          f = Math.max(0, L.start), v = Math.min(x.count, L.start + L.count);
-                          f < v;
-                          f += 3
-                        )
-                          u(
-                            e,
-                            w,
-                            E,
-                            M,
-                            _,
-                            (h = x.getX(f)),
-                            (d = x.getX(f + 1)),
-                            (p = x.getX(f + 2)),
-                            R,
-                          ),
-                            u(e, w, T, S, _, h, d, p, P)
-                    else if (void 0 !== E)
-                      if (Array.isArray(w))
-                        for (f = 0, v = C.length; f < v; f++)
-                          for (
-                            b = w[(y = C[f]).materialIndex],
-                              m = Math.max(y.start, L.start),
-                              g = Math.min(y.start + y.count, L.start + L.count);
-                            m < g;
-                            m += 3
-                          )
-                            u(e, b, E, M, _, (h = m), (d = m + 1), (p = m + 2), R),
-                              u(e, b, T, S, _, h, d, p, P)
-                      else
-                        for (
-                          f = Math.max(0, L.start), v = Math.min(E.count, L.start + L.count);
-                          f < v;
-                          f += 3
-                        )
-                          u(e, w, E, M, _, (h = f), (d = f + 1), (p = f + 2), R),
-                            u(e, w, T, S, _, h, d, p, P)
-                    return {
-                      positionAttribute: E,
-                      normalAttribute: T,
-                      morphedPositionAttribute: new THREE.Float32BufferAttribute(R, 3),
-                      morphedNormalAttribute: new THREE.Float32BufferAttribute(P, 3),
-                    }
-                  },
-                }
-              },
-              {},
-            ],
-            63: [
-              function (e, t, n) {
-                var r = e('layout-bmfont-text'),
-                  i = e('inherits'),
-                  o = e('quad-indices'),
-                  a = e('three-buffer-vertex-data'),
-                  s = e('object-assign'),
-                  l = e('./lib/vertices'),
-                  c = e('./lib/utils'),
-                  u = THREE.BufferGeometry
-                function h(e) {
-                  u.call(this),
-                    'string' === typeof e && (e = { text: e }),
-                    (this._opt = s({}, e)),
-                    e && this.update(e)
-                }
-                ;(t.exports = function (e) {
-                  return new h(e)
-                }),
-                  i(h, u),
-                  (h.prototype.update = function (e) {
-                    if (
-                      ('string' === typeof e && (e = { text: e }), !(e = s({}, this._opt, e)).font)
-                    )
-                      throw new TypeError('must specify a { font } in options')
-                    this.layout = r(e)
-                    var t = !1 !== e.flipY,
-                      n = e.font,
-                      i = n.common.scaleW,
-                      c = n.common.scaleH,
-                      u = this.layout.glyphs.filter(function (e) {
-                        var t = e.data
-                        return t.width * t.height > 0
-                      })
-                    this.visibleGlyphs = u
-                    var h = l.positions(u),
-                      d = l.uvs(u, i, c, t),
-                      p = o({ clockwise: !0, type: 'uint16', count: u.length })
-                    if (
-                      (a.index(this, p, 1, 'uint16'),
-                      a.attr(this, 'position', h, 2),
-                      a.attr(this, 'uv', d, 2),
-                      !e.multipage && 'page' in this.attributes)
-                    )
-                      this.removeAttribute('page')
-                    else if (e.multipage) {
-                      var f = l.pages(u)
-                      a.attr(this, 'page', f, 1)
-                    }
-                  }),
-                  (h.prototype.computeBoundingSphere = function () {
-                    null === this.boundingSphere && (this.boundingSphere = new THREE.Sphere())
-                    var e = this.attributes.position.array,
-                      t = this.attributes.position.itemSize
-                    if (!e || !t || e.length < 2)
-                      return (
-                        (this.boundingSphere.radius = 0),
-                        void this.boundingSphere.center.set(0, 0, 0)
-                      )
-                    c.computeSphere(e, this.boundingSphere),
-                      isNaN(this.boundingSphere.radius) &&
-                        console.error(
-                          'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',
-                        )
-                  }),
-                  (h.prototype.computeBoundingBox = function () {
-                    null === this.boundingBox && (this.boundingBox = new THREE.Box3())
-                    var e = this.boundingBox,
-                      t = this.attributes.position.array,
-                      n = this.attributes.position.itemSize
-                    !t || !n || t.length < 2 ? e.makeEmpty() : c.computeBox(t, e)
-                  })
-              },
-              {
-                './lib/utils': 64,
-                './lib/vertices': 65,
-                inherits: 30,
-                'layout-bmfont-text': 36,
-                'object-assign': 39,
-                'quad-indices': 51,
-                'three-buffer-vertex-data': 66,
-              },
-            ],
-            64: [
-              function (e, t, n) {
-                var r = 2,
-                  i = { min: [0, 0], max: [0, 0] }
-                function o(e) {
-                  var t = e.length / r
-                  ;(i.min[0] = e[0]), (i.min[1] = e[1]), (i.max[0] = e[0]), (i.max[1] = e[1])
-                  for (var n = 0; n < t; n++) {
-                    var o = e[n * r + 0],
-                      a = e[n * r + 1]
-                    ;(i.min[0] = Math.min(o, i.min[0])),
-                      (i.min[1] = Math.min(a, i.min[1])),
-                      (i.max[0] = Math.max(o, i.max[0])),
-                      (i.max[1] = Math.max(a, i.max[1]))
-                  }
-                }
-                ;(t.exports.computeBox = function (e, t) {
-                  o(e), t.min.set(i.min[0], i.min[1], 0), t.max.set(i.max[0], i.max[1], 0)
-                }),
-                  (t.exports.computeSphere = function (e, t) {
-                    o(e)
-                    var n = i.min[0],
-                      r = i.min[1],
-                      a = i.max[0] - n,
-                      s = i.max[1] - r,
-                      l = Math.sqrt(a * a + s * s)
-                    t.center.set(n + a / 2, r + s / 2, 0), (t.radius = l / 2)
-                  })
-              },
-              {},
-            ],
-            65: [
-              function (e, t, n) {
-                ;(t.exports.pages = function (e) {
-                  var t = new Float32Array(4 * e.length * 1),
-                    n = 0
-                  return (
-                    e.forEach(function (e) {
-                      var r = e.data.page || 0
-                      ;(t[n++] = r), (t[n++] = r), (t[n++] = r), (t[n++] = r)
-                    }),
-                    t
-                  )
-                }),
-                  (t.exports.uvs = function (e, t, n, r) {
-                    var i = new Float32Array(4 * e.length * 2),
-                      o = 0
-                    return (
-                      e.forEach(function (e) {
-                        var a = e.data,
-                          s = a.x + a.width,
-                          l = a.y + a.height,
-                          c = a.x / t,
-                          u = a.y / n,
-                          h = s / t,
-                          d = l / n
-                        r && ((u = (n - a.y) / n), (d = (n - l) / n)),
-                          (i[o++] = c),
-                          (i[o++] = u),
-                          (i[o++] = c),
-                          (i[o++] = d),
-                          (i[o++] = h),
-                          (i[o++] = d),
-                          (i[o++] = h),
-                          (i[o++] = u)
-                      }),
-                      i
-                    )
-                  }),
-                  (t.exports.positions = function (e) {
-                    var t = new Float32Array(4 * e.length * 2),
-                      n = 0
-                    return (
-                      e.forEach(function (e) {
-                        var r = e.data,
-                          i = e.position[0] + r.xoffset,
-                          o = e.position[1] + r.yoffset,
-                          a = r.width,
-                          s = r.height
-                        ;(t[n++] = i),
-                          (t[n++] = o),
-                          (t[n++] = i),
-                          (t[n++] = o + s),
-                          (t[n++] = i + a),
-                          (t[n++] = o + s),
-                          (t[n++] = i + a),
-                          (t[n++] = o)
-                      }),
-                      t
-                    )
-                  })
-              },
-              {},
-            ],
-            66: [
-              function (e, t, n) {
-                var r = e('flatten-vertex-data')
-                function i(e, t, n, r) {
-                  'number' !== typeof n && (n = 1), 'string' !== typeof r && (r = 'uint16')
-                  var i = !e.index && 'function' !== typeof e.setIndex,
-                    o = a(i ? e.getAttribute('index') : e.index, t, n, r)
-                  o && (i ? e.addAttribute('index', o) : (e.index = o))
-                }
-                function o(e, t, n, r, i) {
-                  if (
-                    ('number' !== typeof r && (r = 3),
-                    'string' !== typeof i && (i = 'float32'),
-                    Array.isArray(n) && Array.isArray(n[0]) && n[0].length !== r)
-                  )
-                    throw new Error(
-                      'Nested vertex array has unexpected size; expected ' +
-                        r +
-                        ' but found ' +
-                        n[0].length,
-                    )
-                  var o = a(e.getAttribute(t), n, r, i)
-                  e.setAttribute(t, o)
-                }
-                function a(e, t, n, i) {
-                  return (
-                    (t = r((t = t || []), i)),
-                    ((e = new THREE.BufferAttribute(t, n)).itemSize = n),
-                    (e.needsUpdate = !0),
-                    e
-                  )
-                }
-                ;(t.exports.attr = o), (t.exports.index = i)
-              },
-              { 'flatten-vertex-data': 23 },
-            ],
-            67: [
-              function (e, t, n) {
-                ;(function (t, r) {
-                  var i = e('process/browser.js').nextTick,
-                    o = Function.prototype.apply,
-                    a = Array.prototype.slice,
-                    s = {},
-                    l = 0
-                  function c(e, t) {
-                    ;(this._id = e), (this._clearFn = t)
-                  }
-                  ;(n.setTimeout = function () {
-                    return new c(o.call(setTimeout, window, arguments), clearTimeout)
-                  }),
-                    (n.setInterval = function () {
-                      return new c(o.call(setInterval, window, arguments), clearInterval)
-                    }),
-                    (n.clearTimeout = n.clearInterval =
-                      function (e) {
-                        e.close()
-                      }),
-                    (c.prototype.unref = c.prototype.ref = function () {}),
-                    (c.prototype.close = function () {
-                      this._clearFn.call(window, this._id)
-                    }),
-                    (n.enroll = function (e, t) {
-                      clearTimeout(e._idleTimeoutId), (e._idleTimeout = t)
-                    }),
-                    (n.unenroll = function (e) {
-                      clearTimeout(e._idleTimeoutId), (e._idleTimeout = -1)
-                    }),
-                    (n._unrefActive = n.active =
-                      function (e) {
-                        clearTimeout(e._idleTimeoutId)
-                        var t = e._idleTimeout
-                        t >= 0 &&
-                          (e._idleTimeoutId = setTimeout(function () {
-                            e._onTimeout && e._onTimeout()
-                          }, t))
-                      }),
-                    (n.setImmediate =
-                      'function' === typeof t
-                        ? t
-                        : function (e) {
-                            var t = l++,
-                              r = !(arguments.length < 2) && a.call(arguments, 1)
-                            return (
-                              (s[t] = !0),
-                              i(function () {
-                                s[t] && (r ? e.apply(null, r) : e.call(null), n.clearImmediate(t))
-                              }),
-                              t
-                            )
-                          }),
-                    (n.clearImmediate =
-                      'function' === typeof r
-                        ? r
-                        : function (e) {
-                            delete s[e]
-                          })
-                }.call(this, e('timers').setImmediate, e('timers').clearImmediate))
-              },
-              { 'process/browser.js': 49, timers: 67 },
-            ],
-            68: [
-              function (e, n, i) {
-                ;(function (e) {
-                  !(function (e, r) {
-                    'object' === typeof i && 'undefined' !== typeof n
-                      ? (n.exports = r())
-                      : 'function' === typeof t && t.amd
-                      ? t(r)
-                      : (e.WebVRPolyfill = r())
-                  })(this, function () {
-                    'use strict'
-                    var t =
-                      'undefined' !== typeof window
-                        ? window
-                        : 'undefined' !== typeof e
-                        ? e
-                        : 'undefined' !== typeof self
-                        ? self
-                        : {}
-                    function n(e) {
-                      return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, 'default')
-                        ? e.default
-                        : e
-                    }
-                    function r(e, t) {
-                      return e((t = { exports: {} }), t.exports), t.exports
-                    }
-                    var i = function () {
-                        return (
-                          /Android/i.test(navigator.userAgent) ||
-                          /iPhone|iPad|iPod/i.test(navigator.userAgent)
-                        )
-                      },
-                      o = function (e, t) {
-                        for (var n = 0, r = e.length; n < r; n++) t[n] = e[n]
-                      },
-                      a = function (e, t) {
-                        for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
-                        return e
-                      },
-                      s = n(
-                        r(function (e, n) {
-                          var r
-                          ;(r = function () {
-                            var e = function (e, t) {
-                                if (!(e instanceof t))
-                                  throw new TypeError('Cannot call a class as a function')
-                              },
-                              n = (function () {
-                                function e(e, t) {
-                                  for (var n = 0; n < t.length; n++) {
-                                    var r = t[n]
-                                    ;(r.enumerable = r.enumerable || !1),
-                                      (r.configurable = !0),
-                                      'value' in r && (r.writable = !0),
-                                      Object.defineProperty(e, r.key, r)
-                                  }
-                                }
-                                return function (t, n, r) {
-                                  return n && e(t.prototype, n), r && e(t, r), t
-                                }
-                              })(),
-                              r = (function () {
-                                function e(e, t) {
-                                  var n = [],
-                                    r = !0,
-                                    i = !1,
-                                    o = void 0
-                                  try {
-                                    for (
-                                      var a, s = e[Symbol.iterator]();
-                                      !(r = (a = s.next()).done) &&
-                                      (n.push(a.value), !t || n.length !== t);
-                                      r = !0
-                                    );
-                                  } catch (l) {
-                                    ;(i = !0), (o = l)
-                                  } finally {
-                                    try {
-                                      !r && s.return && s.return()
-                                    } finally {
-                                      if (i) throw o
-                                    }
-                                  }
-                                  return n
-                                }
-                                return function (t, n) {
-                                  if (Array.isArray(t)) return t
-                                  if (Symbol.iterator in Object(t)) return e(t, n)
-                                  throw new TypeError(
-                                    'Invalid attempt to destructure non-iterable instance',
-                                  )
-                                }
-                              })(),
-                              i = 0.001,
-                              o = 1,
-                              a = function (e, t) {
-                                return 'data:' + e + ',' + encodeURIComponent(t)
-                              },
-                              s = function (e, t, n) {
-                                return e + (t - e) * n
-                              },
-                              l = (function () {
-                                var e = /iPad|iPhone|iPod/.test(navigator.platform)
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              c = (function () {
-                                var e =
-                                  -1 !== navigator.userAgent.indexOf('Version') &&
-                                  -1 !== navigator.userAgent.indexOf('Android') &&
-                                  -1 !== navigator.userAgent.indexOf('Chrome')
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              u = (function () {
-                                var e = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              h = (function () {
-                                var e =
-                                  -1 !== navigator.userAgent.indexOf('Firefox') &&
-                                  -1 !== navigator.userAgent.indexOf('Android')
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              d = (function () {
-                                var e = navigator.userAgent.match(/.*Chrome\/([0-9]+)/),
-                                  t = e ? parseInt(e[1], 10) : null
-                                return function () {
-                                  return t
-                                }
-                              })(),
-                              p = (function () {
-                                var e = !1
-                                return (
-                                  (e = l() && u() && -1 !== navigator.userAgent.indexOf('13_4')),
-                                  function () {
-                                    return e
-                                  }
-                                )
-                              })(),
-                              f = (function () {
-                                var e = !1
-                                if (65 === d()) {
-                                  var t = navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/)
-                                  if (t) {
-                                    var n = t[1].split('.'),
-                                      i = r(n, 4),
-                                      o = (i[0], i[1], i[2]),
-                                      a = i[3]
-                                    e = 3325 === parseInt(o, 10) && parseInt(a, 10) < 148
-                                  }
-                                }
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              m = (function () {
-                                var e = -1 !== navigator.userAgent.indexOf('R7 Build')
-                                return function () {
-                                  return e
-                                }
-                              })(),
-                              v = function () {
-                                var e = 90 == window.orientation || -90 == window.orientation
-                                return m() ? !e : e
-                              },
-                              g = function (e) {
-                                return !isNaN(e) && !(e <= i) && !(e > o)
-                              },
-                              y = function () {
-                                return (
-                                  Math.max(window.screen.width, window.screen.height) *
-                                  window.devicePixelRatio
-                                )
-                              },
-                              b = function () {
-                                return (
-                                  Math.min(window.screen.width, window.screen.height) *
-                                  window.devicePixelRatio
-                                )
-                              },
-                              A = function (e) {
-                                if (c()) return !1
-                                if (e.requestFullscreen) e.requestFullscreen()
-                                else if (e.webkitRequestFullscreen) e.webkitRequestFullscreen()
-                                else if (e.mozRequestFullScreen) e.mozRequestFullScreen()
-                                else {
-                                  if (!e.msRequestFullscreen) return !1
-                                  e.msRequestFullscreen()
-                                }
-                                return !0
-                              },
-                              w = function () {
-                                if (document.exitFullscreen) document.exitFullscreen()
-                                else if (document.webkitExitFullscreen)
-                                  document.webkitExitFullscreen()
-                                else if (document.mozCancelFullScreen)
-                                  document.mozCancelFullScreen()
-                                else {
-                                  if (!document.msExitFullscreen) return !1
-                                  document.msExitFullscreen()
-                                }
-                                return !0
-                              },
-                              x = function () {
-                                return (
-                                  document.fullscreenElement ||
-                                  document.webkitFullscreenElement ||
-                                  document.mozFullScreenElement ||
-                                  document.msFullscreenElement
-                                )
-                              },
-                              E = function (e, t, n, r) {
-                                var i = e.createShader(e.VERTEX_SHADER)
-                                e.shaderSource(i, t), e.compileShader(i)
-                                var o = e.createShader(e.FRAGMENT_SHADER)
-                                e.shaderSource(o, n), e.compileShader(o)
-                                var a = e.createProgram()
-                                for (var s in (e.attachShader(a, i), e.attachShader(a, o), r))
-                                  e.bindAttribLocation(a, r[s], s)
-                                return e.linkProgram(a), e.deleteShader(i), e.deleteShader(o), a
-                              },
-                              M = function (e, t) {
-                                for (
-                                  var n = {},
-                                    r = e.getProgramParameter(t, e.ACTIVE_UNIFORMS),
-                                    i = '',
-                                    o = 0;
-                                  o < r;
-                                  o++
-                                )
-                                  n[(i = e.getActiveUniform(t, o).name.replace('[0]', ''))] =
-                                    e.getUniformLocation(t, i)
-                                return n
-                              },
-                              _ = function (e, t, n, r, i, o, a) {
-                                var s = 1 / (t - n),
-                                  l = 1 / (r - i),
-                                  c = 1 / (o - a)
-                                return (
-                                  (e[0] = -2 * s),
-                                  (e[1] = 0),
-                                  (e[2] = 0),
-                                  (e[3] = 0),
-                                  (e[4] = 0),
-                                  (e[5] = -2 * l),
-                                  (e[6] = 0),
-                                  (e[7] = 0),
-                                  (e[8] = 0),
-                                  (e[9] = 0),
-                                  (e[10] = 2 * c),
-                                  (e[11] = 0),
-                                  (e[12] = (t + n) * s),
-                                  (e[13] = (i + r) * l),
-                                  (e[14] = (a + o) * c),
-                                  (e[15] = 1),
-                                  e
-                                )
-                              },
-                              T = function () {
-                                var e,
-                                  t = !1
-                                return (
-                                  (e = navigator.userAgent || navigator.vendor || window.opera),
-                                  (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(
-                                    e,
-                                  ) ||
-                                    /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
-                                      e.substr(0, 4),
-                                    )) &&
-                                    (t = !0),
-                                  t
-                                )
-                              },
-                              S = function (e, t) {
-                                for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
-                                return e
-                              },
-                              C = function (e) {
-                                if (l()) {
-                                  var t = e.style.width,
-                                    n = e.style.height
-                                  ;(e.style.width = parseInt(t) + 1 + 'px'),
-                                    (e.style.height = parseInt(n) + 'px'),
-                                    setTimeout(function () {
-                                      ;(e.style.width = t), (e.style.height = n)
-                                    }, 100)
-                                }
-                                window.canvas = e
-                              },
-                              L = (function () {
-                                var e = Math.PI / 180,
-                                  t = 0.25 * Math.PI
-                                function n(n, r, i, o) {
-                                  var a = Math.tan(r ? r.upDegrees * e : t),
-                                    s = Math.tan(r ? r.downDegrees * e : t),
-                                    l = Math.tan(r ? r.leftDegrees * e : t),
-                                    c = Math.tan(r ? r.rightDegrees * e : t),
-                                    u = 2 / (l + c),
-                                    h = 2 / (a + s)
-                                  return (
-                                    (n[0] = u),
-                                    (n[1] = 0),
-                                    (n[2] = 0),
-                                    (n[3] = 0),
-                                    (n[4] = 0),
-                                    (n[5] = h),
-                                    (n[6] = 0),
-                                    (n[7] = 0),
-                                    (n[8] = -(l - c) * u * 0.5),
-                                    (n[9] = (a - s) * h * 0.5),
-                                    (n[10] = o / (i - o)),
-                                    (n[11] = -1),
-                                    (n[12] = 0),
-                                    (n[13] = 0),
-                                    (n[14] = (o * i) / (i - o)),
-                                    (n[15] = 0),
-                                    n
-                                  )
-                                }
-                                function r(e, t, n) {
-                                  var r = t[0],
-                                    i = t[1],
-                                    o = t[2],
-                                    a = t[3],
-                                    s = r + r,
-                                    l = i + i,
-                                    c = o + o,
-                                    u = r * s,
-                                    h = r * l,
-                                    d = r * c,
-                                    p = i * l,
-                                    f = i * c,
-                                    m = o * c,
-                                    v = a * s,
-                                    g = a * l,
-                                    y = a * c
-                                  return (
-                                    (e[0] = 1 - (p + m)),
-                                    (e[1] = h + y),
-                                    (e[2] = d - g),
-                                    (e[3] = 0),
-                                    (e[4] = h - y),
-                                    (e[5] = 1 - (u + m)),
-                                    (e[6] = f + v),
-                                    (e[7] = 0),
-                                    (e[8] = d + g),
-                                    (e[9] = f - v),
-                                    (e[10] = 1 - (u + p)),
-                                    (e[11] = 0),
-                                    (e[12] = n[0]),
-                                    (e[13] = n[1]),
-                                    (e[14] = n[2]),
-                                    (e[15] = 1),
-                                    e
-                                  )
-                                }
-                                function i(e, t, n) {
-                                  var r,
-                                    i,
-                                    o,
-                                    a,
-                                    s,
-                                    l,
-                                    c,
-                                    u,
-                                    h,
-                                    d,
-                                    p,
-                                    f,
-                                    m = n[0],
-                                    v = n[1],
-                                    g = n[2]
-                                  return (
-                                    t === e
-                                      ? ((e[12] = t[0] * m + t[4] * v + t[8] * g + t[12]),
-                                        (e[13] = t[1] * m + t[5] * v + t[9] * g + t[13]),
-                                        (e[14] = t[2] * m + t[6] * v + t[10] * g + t[14]),
-                                        (e[15] = t[3] * m + t[7] * v + t[11] * g + t[15]))
-                                      : ((r = t[0]),
-                                        (i = t[1]),
-                                        (o = t[2]),
-                                        (a = t[3]),
-                                        (s = t[4]),
-                                        (l = t[5]),
-                                        (c = t[6]),
-                                        (u = t[7]),
-                                        (h = t[8]),
-                                        (d = t[9]),
-                                        (p = t[10]),
-                                        (f = t[11]),
-                                        (e[0] = r),
-                                        (e[1] = i),
-                                        (e[2] = o),
-                                        (e[3] = a),
-                                        (e[4] = s),
-                                        (e[5] = l),
-                                        (e[6] = c),
-                                        (e[7] = u),
-                                        (e[8] = h),
-                                        (e[9] = d),
-                                        (e[10] = p),
-                                        (e[11] = f),
-                                        (e[12] = r * m + s * v + h * g + t[12]),
-                                        (e[13] = i * m + l * v + d * g + t[13]),
-                                        (e[14] = o * m + c * v + p * g + t[14]),
-                                        (e[15] = a * m + u * v + f * g + t[15])),
-                                    e
-                                  )
-                                }
-                                function o(e, t) {
-                                  var n = t[0],
-                                    r = t[1],
-                                    i = t[2],
-                                    o = t[3],
-                                    a = t[4],
-                                    s = t[5],
-                                    l = t[6],
-                                    c = t[7],
-                                    u = t[8],
-                                    h = t[9],
-                                    d = t[10],
-                                    p = t[11],
-                                    f = t[12],
-                                    m = t[13],
-                                    v = t[14],
-                                    g = t[15],
-                                    y = n * s - r * a,
-                                    b = n * l - i * a,
-                                    A = n * c - o * a,
-                                    w = r * l - i * s,
-                                    x = r * c - o * s,
-                                    E = i * c - o * l,
-                                    M = u * m - h * f,
-                                    _ = u * v - d * f,
-                                    T = u * g - p * f,
-                                    S = h * v - d * m,
-                                    C = h * g - p * m,
-                                    L = d * g - p * v,
-                                    R = y * L - b * C + A * S + w * T - x * _ + E * M
-                                  return R
-                                    ? ((R = 1 / R),
-                                      (e[0] = (s * L - l * C + c * S) * R),
-                                      (e[1] = (i * C - r * L - o * S) * R),
-                                      (e[2] = (m * E - v * x + g * w) * R),
-                                      (e[3] = (d * x - h * E - p * w) * R),
-                                      (e[4] = (l * T - a * L - c * _) * R),
-                                      (e[5] = (n * L - i * T + o * _) * R),
-                                      (e[6] = (v * A - f * E - g * b) * R),
-                                      (e[7] = (u * E - d * A + p * b) * R),
-                                      (e[8] = (a * C - s * T + c * M) * R),
-                                      (e[9] = (r * T - n * C - o * M) * R),
-                                      (e[10] = (f * x - m * A + g * y) * R),
-                                      (e[11] = (h * A - u * x - p * y) * R),
-                                      (e[12] = (s * _ - a * S - l * M) * R),
-                                      (e[13] = (n * S - r * _ + i * M) * R),
-                                      (e[14] = (m * b - f * w - v * y) * R),
-                                      (e[15] = (u * w - h * b + d * y) * R),
-                                      e)
-                                    : null
-                                }
-                                var a = new Float32Array([0, 0, 0, 1]),
-                                  s = new Float32Array([0, 0, 0])
-                                function l(e, t, l, c, u, h) {
-                                  n(e, c || null, h.depthNear, h.depthFar),
-                                    r(t, l.orientation || a, l.position || s),
-                                    u && i(t, t, u),
-                                    o(t, t)
-                                }
-                                return function (e, t, n) {
-                                  return (
-                                    !(!e || !t) &&
-                                    ((e.pose = t),
-                                    (e.timestamp = t.timestamp),
-                                    l(
-                                      e.leftProjectionMatrix,
-                                      e.leftViewMatrix,
-                                      t,
-                                      n._getFieldOfView('left'),
-                                      n._getEyeOffset('left'),
-                                      n,
-                                    ),
-                                    l(
-                                      e.rightProjectionMatrix,
-                                      e.rightViewMatrix,
-                                      t,
-                                      n._getFieldOfView('right'),
-                                      n._getEyeOffset('right'),
-                                      n,
-                                    ),
-                                    !0)
-                                  )
-                                }
-                              })(),
-                              R = function () {
-                                var e = window.self !== window.top,
-                                  t = P(document.referrer),
-                                  n = P(window.location.href)
-                                return e && t !== n
-                              },
-                              P = function (e) {
-                                var t,
-                                  n = e.indexOf('://')
-                                t = -1 !== n ? n + 3 : 0
-                                var r = e.indexOf('/', t)
-                                return -1 === r && (r = e.length), e.substring(0, r)
-                              },
-                              D = function (e) {
-                                return e.w > 1
-                                  ? (console.warn('getQuaternionAngle: w > 1'), 0)
-                                  : 2 * Math.acos(e.w)
-                              },
-                              O = (function () {
-                                var e = {}
-                                return function (t, n) {
-                                  void 0 === e[t] &&
-                                    (console.warn('webvr-polyfill: ' + n), (e[t] = !0))
-                                }
-                              })(),
-                              I = function (e, t) {
-                                O(
-                                  e,
-                                  e +
-                                    ' has been deprecated. This may not work on native WebVR displays. ' +
-                                    (t ? 'Please use ' + t + ' instead.' : ''),
-                                )
-                              }
-                            function B(e, t, n) {
-                              if (t) {
-                                for (var r = [], i = null, o = 0; o < t.length; ++o)
-                                  switch ((a = t[o])) {
-                                    case e.TEXTURE_BINDING_2D:
-                                    case e.TEXTURE_BINDING_CUBE_MAP:
-                                      if ((l = t[++o]) < e.TEXTURE0 || l > e.TEXTURE31) {
-                                        console.error(
-                                          'TEXTURE_BINDING_2D or TEXTURE_BINDING_CUBE_MAP must be followed by a valid texture unit',
-                                        ),
-                                          r.push(null, null)
-                                        break
-                                      }
-                                      i || (i = e.getParameter(e.ACTIVE_TEXTURE)),
-                                        e.activeTexture(l),
-                                        r.push(e.getParameter(a), null)
-                                      break
-                                    case e.ACTIVE_TEXTURE:
-                                      ;(i = e.getParameter(e.ACTIVE_TEXTURE)), r.push(null)
-                                      break
-                                    default:
-                                      r.push(e.getParameter(a))
-                                  }
-                                for (n(e), o = 0; o < t.length; ++o) {
-                                  var a = t[o],
-                                    s = r[o]
-                                  switch (a) {
-                                    case e.ACTIVE_TEXTURE:
-                                      break
-                                    case e.ARRAY_BUFFER_BINDING:
-                                      e.bindBuffer(e.ARRAY_BUFFER, s)
-                                      break
-                                    case e.COLOR_CLEAR_VALUE:
-                                      e.clearColor(s[0], s[1], s[2], s[3])
-                                      break
-                                    case e.COLOR_WRITEMASK:
-                                      e.colorMask(s[0], s[1], s[2], s[3])
-                                      break
-                                    case e.CURRENT_PROGRAM:
-                                      e.useProgram(s)
-                                      break
-                                    case e.ELEMENT_ARRAY_BUFFER_BINDING:
-                                      e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, s)
-                                      break
-                                    case e.FRAMEBUFFER_BINDING:
-                                      e.bindFramebuffer(e.FRAMEBUFFER, s)
-                                      break
-                                    case e.RENDERBUFFER_BINDING:
-                                      e.bindRenderbuffer(e.RENDERBUFFER, s)
-                                      break
-                                    case e.TEXTURE_BINDING_2D:
-                                      if ((l = t[++o]) < e.TEXTURE0 || l > e.TEXTURE31) break
-                                      e.activeTexture(l), e.bindTexture(e.TEXTURE_2D, s)
-                                      break
-                                    case e.TEXTURE_BINDING_CUBE_MAP:
-                                      var l
-                                      if ((l = t[++o]) < e.TEXTURE0 || l > e.TEXTURE31) break
-                                      e.activeTexture(l), e.bindTexture(e.TEXTURE_CUBE_MAP, s)
-                                      break
-                                    case e.VIEWPORT:
-                                      e.viewport(s[0], s[1], s[2], s[3])
-                                      break
-                                    case e.BLEND:
-                                    case e.CULL_FACE:
-                                    case e.DEPTH_TEST:
-                                    case e.SCISSOR_TEST:
-                                    case e.STENCIL_TEST:
-                                      s ? e.enable(a) : e.disable(a)
-                                      break
-                                    default:
-                                      console.log('No GL restore behavior for 0x' + a.toString(16))
-                                  }
-                                  i && e.activeTexture(i)
-                                }
-                              } else n(e)
-                            }
-                            var F = B,
-                              k = [
-                                'attribute vec2 position;',
-                                'attribute vec3 texCoord;',
-                                'varying vec2 vTexCoord;',
-                                'uniform vec4 viewportOffsetScale[2];',
-                                'void main() {',
-                                '  vec4 viewport = viewportOffsetScale[int(texCoord.z)];',
-                                '  vTexCoord = (texCoord.xy * viewport.zw) + viewport.xy;',
-                                '  gl_Position = vec4( position, 1.0, 1.0 );',
-                                '}',
-                              ].join('\n'),
-                              N = [
-                                'precision mediump float;',
-                                'uniform sampler2D diffuse;',
-                                'varying vec2 vTexCoord;',
-                                'void main() {',
-                                '  gl_FragColor = texture2D(diffuse, vTexCoord);',
-                                '}',
-                              ].join('\n')
-                            function U(e, t, n, r) {
-                              ;(this.gl = e),
-                                (this.cardboardUI = t),
-                                (this.bufferScale = n),
-                                (this.dirtySubmitFrameBindings = r),
-                                (this.ctxAttribs = e.getContextAttributes()),
-                                (this.instanceExt = e.getExtension('ANGLE_instanced_arrays')),
-                                (this.meshWidth = 20),
-                                (this.meshHeight = 20),
-                                (this.bufferWidth = e.drawingBufferWidth),
-                                (this.bufferHeight = e.drawingBufferHeight),
-                                (this.realBindFramebuffer = e.bindFramebuffer),
-                                (this.realEnable = e.enable),
-                                (this.realDisable = e.disable),
-                                (this.realColorMask = e.colorMask),
-                                (this.realClearColor = e.clearColor),
-                                (this.realViewport = e.viewport),
-                                l() ||
-                                  ((this.realCanvasWidth = Object.getOwnPropertyDescriptor(
-                                    e.canvas.__proto__,
-                                    'width',
-                                  )),
-                                  (this.realCanvasHeight = Object.getOwnPropertyDescriptor(
-                                    e.canvas.__proto__,
-                                    'height',
-                                  ))),
-                                (this.isPatched = !1),
-                                (this.lastBoundFramebuffer = null),
-                                (this.cullFace = !1),
-                                (this.depthTest = !1),
-                                (this.blend = !1),
-                                (this.scissorTest = !1),
-                                (this.stencilTest = !1),
-                                (this.viewport = [0, 0, 0, 0]),
-                                (this.colorMask = [!0, !0, !0, !0]),
-                                (this.clearColor = [0, 0, 0, 0]),
-                                (this.attribs = { position: 0, texCoord: 1 }),
-                                (this.program = E(e, k, N, this.attribs)),
-                                (this.uniforms = M(e, this.program)),
-                                (this.viewportOffsetScale = new Float32Array(8)),
-                                this.setTextureBounds(),
-                                (this.vertexBuffer = e.createBuffer()),
-                                (this.indexBuffer = e.createBuffer()),
-                                (this.indexCount = 0),
-                                (this.renderTarget = e.createTexture()),
-                                (this.framebuffer = e.createFramebuffer()),
-                                (this.depthStencilBuffer = null),
-                                (this.depthBuffer = null),
-                                (this.stencilBuffer = null),
-                                this.ctxAttribs.depth && this.ctxAttribs.stencil
-                                  ? (this.depthStencilBuffer = e.createRenderbuffer())
-                                  : this.ctxAttribs.depth
-                                  ? (this.depthBuffer = e.createRenderbuffer())
-                                  : this.ctxAttribs.stencil &&
-                                    (this.stencilBuffer = e.createRenderbuffer()),
-                                this.patch(),
-                                this.onResize()
-                            }
-                            ;(U.prototype.destroy = function () {
-                              var e = this.gl
-                              this.unpatch(),
-                                e.deleteProgram(this.program),
-                                e.deleteBuffer(this.vertexBuffer),
-                                e.deleteBuffer(this.indexBuffer),
-                                e.deleteTexture(this.renderTarget),
-                                e.deleteFramebuffer(this.framebuffer),
-                                this.depthStencilBuffer &&
-                                  e.deleteRenderbuffer(this.depthStencilBuffer),
-                                this.depthBuffer && e.deleteRenderbuffer(this.depthBuffer),
-                                this.stencilBuffer && e.deleteRenderbuffer(this.stencilBuffer),
-                                this.cardboardUI && this.cardboardUI.destroy()
-                            }),
-                              (U.prototype.onResize = function () {
-                                var e = this.gl,
-                                  t = this,
-                                  n = [e.RENDERBUFFER_BINDING, e.TEXTURE_BINDING_2D, e.TEXTURE0]
-                                F(e, n, function (e) {
-                                  t.realBindFramebuffer.call(e, e.FRAMEBUFFER, null),
-                                    t.scissorTest && t.realDisable.call(e, e.SCISSOR_TEST),
-                                    t.realColorMask.call(e, !0, !0, !0, !0),
-                                    t.realViewport.call(
-                                      e,
-                                      0,
-                                      0,
-                                      e.drawingBufferWidth,
-                                      e.drawingBufferHeight,
-                                    ),
-                                    t.realClearColor.call(e, 0, 0, 0, 1),
-                                    e.clear(e.COLOR_BUFFER_BIT),
-                                    t.realBindFramebuffer.call(e, e.FRAMEBUFFER, t.framebuffer),
-                                    e.bindTexture(e.TEXTURE_2D, t.renderTarget),
-                                    e.texImage2D(
-                                      e.TEXTURE_2D,
-                                      0,
-                                      t.ctxAttribs.alpha ? e.RGBA : e.RGB,
-                                      t.bufferWidth,
-                                      t.bufferHeight,
-                                      0,
-                                      t.ctxAttribs.alpha ? e.RGBA : e.RGB,
-                                      e.UNSIGNED_BYTE,
-                                      null,
-                                    ),
-                                    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.LINEAR),
-                                    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR),
-                                    e.texParameteri(
-                                      e.TEXTURE_2D,
-                                      e.TEXTURE_WRAP_S,
-                                      e.CLAMP_TO_EDGE,
-                                    ),
-                                    e.texParameteri(
-                                      e.TEXTURE_2D,
-                                      e.TEXTURE_WRAP_T,
-                                      e.CLAMP_TO_EDGE,
-                                    ),
-                                    e.framebufferTexture2D(
-                                      e.FRAMEBUFFER,
-                                      e.COLOR_ATTACHMENT0,
-                                      e.TEXTURE_2D,
-                                      t.renderTarget,
-                                      0,
-                                    ),
-                                    t.ctxAttribs.depth && t.ctxAttribs.stencil
-                                      ? (e.bindRenderbuffer(e.RENDERBUFFER, t.depthStencilBuffer),
-                                        e.renderbufferStorage(
-                                          e.RENDERBUFFER,
-                                          e.DEPTH_STENCIL,
-                                          t.bufferWidth,
-                                          t.bufferHeight,
-                                        ),
-                                        e.framebufferRenderbuffer(
-                                          e.FRAMEBUFFER,
-                                          e.DEPTH_STENCIL_ATTACHMENT,
-                                          e.RENDERBUFFER,
-                                          t.depthStencilBuffer,
-                                        ))
-                                      : t.ctxAttribs.depth
-                                      ? (e.bindRenderbuffer(e.RENDERBUFFER, t.depthBuffer),
-                                        e.renderbufferStorage(
-                                          e.RENDERBUFFER,
-                                          e.DEPTH_COMPONENT16,
-                                          t.bufferWidth,
-                                          t.bufferHeight,
-                                        ),
-                                        e.framebufferRenderbuffer(
-                                          e.FRAMEBUFFER,
-                                          e.DEPTH_ATTACHMENT,
-                                          e.RENDERBUFFER,
-                                          t.depthBuffer,
-                                        ))
-                                      : t.ctxAttribs.stencil &&
-                                        (e.bindRenderbuffer(e.RENDERBUFFER, t.stencilBuffer),
-                                        e.renderbufferStorage(
-                                          e.RENDERBUFFER,
-                                          e.STENCIL_INDEX8,
-                                          t.bufferWidth,
-                                          t.bufferHeight,
-                                        ),
-                                        e.framebufferRenderbuffer(
-                                          e.FRAMEBUFFER,
-                                          e.STENCIL_ATTACHMENT,
-                                          e.RENDERBUFFER,
-                                          t.stencilBuffer,
-                                        )),
-                                    !e.checkFramebufferStatus(e.FRAMEBUFFER) ===
-                                      e.FRAMEBUFFER_COMPLETE &&
-                                      console.error('Framebuffer incomplete!'),
-                                    t.realBindFramebuffer.call(
-                                      e,
-                                      e.FRAMEBUFFER,
-                                      t.lastBoundFramebuffer,
-                                    ),
-                                    t.scissorTest && t.realEnable.call(e, e.SCISSOR_TEST),
-                                    t.realColorMask.apply(e, t.colorMask),
-                                    t.realViewport.apply(e, t.viewport),
-                                    t.realClearColor.apply(e, t.clearColor)
-                                }),
-                                  this.cardboardUI && this.cardboardUI.onResize()
-                              }),
-                              (U.prototype.patch = function () {
-                                if (!this.isPatched) {
-                                  var e = this,
-                                    t = this.gl.canvas,
-                                    n = this.gl
-                                  l() ||
-                                    ((t.width = y() * this.bufferScale),
-                                    (t.height = b() * this.bufferScale),
-                                    Object.defineProperty(t, 'width', {
-                                      configurable: !0,
-                                      enumerable: !0,
-                                      get: function () {
-                                        return e.bufferWidth
-                                      },
-                                      set: function (n) {
-                                        ;(e.bufferWidth = n),
-                                          e.realCanvasWidth.set.call(t, n),
-                                          e.onResize()
-                                      },
-                                    }),
-                                    Object.defineProperty(t, 'height', {
-                                      configurable: !0,
-                                      enumerable: !0,
-                                      get: function () {
-                                        return e.bufferHeight
-                                      },
-                                      set: function (n) {
-                                        ;(e.bufferHeight = n),
-                                          e.realCanvasHeight.set.call(t, n),
-                                          e.onResize()
-                                      },
-                                    })),
-                                    (this.lastBoundFramebuffer = n.getParameter(
-                                      n.FRAMEBUFFER_BINDING,
-                                    )),
-                                    null == this.lastBoundFramebuffer &&
-                                      ((this.lastBoundFramebuffer = this.framebuffer),
-                                      this.gl.bindFramebuffer(n.FRAMEBUFFER, this.framebuffer)),
-                                    (this.gl.bindFramebuffer = function (t, r) {
-                                      ;(e.lastBoundFramebuffer = r || e.framebuffer),
-                                        e.realBindFramebuffer.call(n, t, e.lastBoundFramebuffer)
-                                    }),
-                                    (this.cullFace = n.getParameter(n.CULL_FACE)),
-                                    (this.depthTest = n.getParameter(n.DEPTH_TEST)),
-                                    (this.blend = n.getParameter(n.BLEND)),
-                                    (this.scissorTest = n.getParameter(n.SCISSOR_TEST)),
-                                    (this.stencilTest = n.getParameter(n.STENCIL_TEST)),
-                                    (n.enable = function (t) {
-                                      switch (t) {
-                                        case n.CULL_FACE:
-                                          e.cullFace = !0
-                                          break
-                                        case n.DEPTH_TEST:
-                                          e.depthTest = !0
-                                          break
-                                        case n.BLEND:
-                                          e.blend = !0
-                                          break
-                                        case n.SCISSOR_TEST:
-                                          e.scissorTest = !0
-                                          break
-                                        case n.STENCIL_TEST:
-                                          e.stencilTest = !0
-                                      }
-                                      e.realEnable.call(n, t)
-                                    }),
-                                    (n.disable = function (t) {
-                                      switch (t) {
-                                        case n.CULL_FACE:
-                                          e.cullFace = !1
-                                          break
-                                        case n.DEPTH_TEST:
-                                          e.depthTest = !1
-                                          break
-                                        case n.BLEND:
-                                          e.blend = !1
-                                          break
-                                        case n.SCISSOR_TEST:
-                                          e.scissorTest = !1
-                                          break
-                                        case n.STENCIL_TEST:
-                                          e.stencilTest = !1
-                                      }
-                                      e.realDisable.call(n, t)
-                                    }),
-                                    (this.colorMask = n.getParameter(n.COLOR_WRITEMASK)),
-                                    (n.colorMask = function (t, r, i, o) {
-                                      ;(e.colorMask[0] = t),
-                                        (e.colorMask[1] = r),
-                                        (e.colorMask[2] = i),
-                                        (e.colorMask[3] = o),
-                                        e.realColorMask.call(n, t, r, i, o)
-                                    }),
-                                    (this.clearColor = n.getParameter(n.COLOR_CLEAR_VALUE)),
-                                    (n.clearColor = function (t, r, i, o) {
-                                      ;(e.clearColor[0] = t),
-                                        (e.clearColor[1] = r),
-                                        (e.clearColor[2] = i),
-                                        (e.clearColor[3] = o),
-                                        e.realClearColor.call(n, t, r, i, o)
-                                    }),
-                                    (this.viewport = n.getParameter(n.VIEWPORT)),
-                                    (n.viewport = function (t, r, i, o) {
-                                      ;(e.viewport[0] = t),
-                                        (e.viewport[1] = r),
-                                        (e.viewport[2] = i),
-                                        (e.viewport[3] = o),
-                                        e.realViewport.call(n, t, r, i, o)
-                                    }),
-                                    (this.isPatched = !0),
-                                    C(t)
-                                }
-                              }),
-                              (U.prototype.unpatch = function () {
-                                if (this.isPatched) {
-                                  var e = this.gl,
-                                    t = this.gl.canvas
-                                  l() ||
-                                    (Object.defineProperty(t, 'width', this.realCanvasWidth),
-                                    Object.defineProperty(t, 'height', this.realCanvasHeight)),
-                                    (t.width = this.bufferWidth),
-                                    (t.height = this.bufferHeight),
-                                    (e.bindFramebuffer = this.realBindFramebuffer),
-                                    (e.enable = this.realEnable),
-                                    (e.disable = this.realDisable),
-                                    (e.colorMask = this.realColorMask),
-                                    (e.clearColor = this.realClearColor),
-                                    (e.viewport = this.realViewport),
-                                    this.lastBoundFramebuffer == this.framebuffer &&
-                                      e.bindFramebuffer(e.FRAMEBUFFER, null),
-                                    (this.isPatched = !1),
-                                    setTimeout(function () {
-                                      C(t)
-                                    }, 1)
-                                }
-                              }),
-                              (U.prototype.setTextureBounds = function (e, t) {
-                                e || (e = [0, 0, 0.5, 1]),
-                                  t || (t = [0.5, 0, 0.5, 1]),
-                                  (this.viewportOffsetScale[0] = e[0]),
-                                  (this.viewportOffsetScale[1] = e[1]),
-                                  (this.viewportOffsetScale[2] = e[2]),
-                                  (this.viewportOffsetScale[3] = e[3]),
-                                  (this.viewportOffsetScale[4] = t[0]),
-                                  (this.viewportOffsetScale[5] = t[1]),
-                                  (this.viewportOffsetScale[6] = t[2]),
-                                  (this.viewportOffsetScale[7] = t[3])
-                              }),
-                              (U.prototype.submitFrame = function () {
-                                var e = this.gl,
-                                  t = this,
-                                  n = []
-                                if (
-                                  (this.dirtySubmitFrameBindings ||
-                                    n.push(
-                                      e.CURRENT_PROGRAM,
-                                      e.ARRAY_BUFFER_BINDING,
-                                      e.ELEMENT_ARRAY_BUFFER_BINDING,
-                                      e.TEXTURE_BINDING_2D,
-                                      e.TEXTURE0,
-                                    ),
-                                  F(e, n, function (e) {
-                                    t.realBindFramebuffer.call(e, e.FRAMEBUFFER, null)
-                                    var n = 0,
-                                      r = 0
-                                    t.instanceExt &&
-                                      ((n = e.getVertexAttrib(
-                                        t.attribs.position,
-                                        t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE,
-                                      )),
-                                      (r = e.getVertexAttrib(
-                                        t.attribs.texCoord,
-                                        t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE,
-                                      ))),
-                                      t.cullFace && t.realDisable.call(e, e.CULL_FACE),
-                                      t.depthTest && t.realDisable.call(e, e.DEPTH_TEST),
-                                      t.blend && t.realDisable.call(e, e.BLEND),
-                                      t.scissorTest && t.realDisable.call(e, e.SCISSOR_TEST),
-                                      t.stencilTest && t.realDisable.call(e, e.STENCIL_TEST),
-                                      t.realColorMask.call(e, !0, !0, !0, !0),
-                                      t.realViewport.call(
-                                        e,
-                                        0,
-                                        0,
-                                        e.drawingBufferWidth,
-                                        e.drawingBufferHeight,
-                                      ),
-                                      (t.ctxAttribs.alpha || l()) &&
-                                        (t.realClearColor.call(e, 0, 0, 0, 1),
-                                        e.clear(e.COLOR_BUFFER_BIT)),
-                                      e.useProgram(t.program),
-                                      e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t.indexBuffer),
-                                      e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffer),
-                                      e.enableVertexAttribArray(t.attribs.position),
-                                      e.enableVertexAttribArray(t.attribs.texCoord),
-                                      e.vertexAttribPointer(
-                                        t.attribs.position,
-                                        2,
-                                        e.FLOAT,
-                                        !1,
-                                        20,
-                                        0,
-                                      ),
-                                      e.vertexAttribPointer(
-                                        t.attribs.texCoord,
-                                        3,
-                                        e.FLOAT,
-                                        !1,
-                                        20,
-                                        8,
-                                      ),
-                                      t.instanceExt &&
-                                        (0 != n &&
-                                          t.instanceExt.vertexAttribDivisorANGLE(
-                                            t.attribs.position,
-                                            0,
-                                          ),
-                                        0 != r &&
-                                          t.instanceExt.vertexAttribDivisorANGLE(
-                                            t.attribs.texCoord,
-                                            0,
-                                          )),
-                                      e.activeTexture(e.TEXTURE0),
-                                      e.uniform1i(t.uniforms.diffuse, 0),
-                                      e.bindTexture(e.TEXTURE_2D, t.renderTarget),
-                                      e.uniform4fv(
-                                        t.uniforms.viewportOffsetScale,
-                                        t.viewportOffsetScale,
-                                      ),
-                                      e.drawElements(
-                                        e.TRIANGLES,
-                                        t.indexCount,
-                                        e.UNSIGNED_SHORT,
-                                        0,
-                                      ),
-                                      t.cardboardUI && t.cardboardUI.renderNoState(),
-                                      t.realBindFramebuffer.call(
-                                        t.gl,
-                                        e.FRAMEBUFFER,
-                                        t.framebuffer,
-                                      ),
-                                      t.ctxAttribs.preserveDrawingBuffer ||
-                                        (t.realClearColor.call(e, 0, 0, 0, 0),
-                                        e.clear(e.COLOR_BUFFER_BIT)),
-                                      t.dirtySubmitFrameBindings ||
-                                        t.realBindFramebuffer.call(
-                                          e,
-                                          e.FRAMEBUFFER,
-                                          t.lastBoundFramebuffer,
-                                        ),
-                                      t.cullFace && t.realEnable.call(e, e.CULL_FACE),
-                                      t.depthTest && t.realEnable.call(e, e.DEPTH_TEST),
-                                      t.blend && t.realEnable.call(e, e.BLEND),
-                                      t.scissorTest && t.realEnable.call(e, e.SCISSOR_TEST),
-                                      t.stencilTest && t.realEnable.call(e, e.STENCIL_TEST),
-                                      t.realColorMask.apply(e, t.colorMask),
-                                      t.realViewport.apply(e, t.viewport),
-                                      (!t.ctxAttribs.alpha && t.ctxAttribs.preserveDrawingBuffer) ||
-                                        t.realClearColor.apply(e, t.clearColor),
-                                      t.instanceExt &&
-                                        (0 != n &&
-                                          t.instanceExt.vertexAttribDivisorANGLE(
-                                            t.attribs.position,
-                                            n,
-                                          ),
-                                        0 != r &&
-                                          t.instanceExt.vertexAttribDivisorANGLE(
-                                            t.attribs.texCoord,
-                                            r,
-                                          ))
-                                  }),
-                                  l())
-                                ) {
-                                  var r = e.canvas
-                                  ;(r.width == t.bufferWidth && r.height == t.bufferHeight) ||
-                                    ((t.bufferWidth = r.width),
-                                    (t.bufferHeight = r.height),
-                                    t.onResize())
-                                }
-                              }),
-                              (U.prototype.updateDeviceInfo = function (e) {
-                                var t = this.gl,
-                                  n = this,
-                                  r = [t.ARRAY_BUFFER_BINDING, t.ELEMENT_ARRAY_BUFFER_BINDING]
-                                F(t, r, function (t) {
-                                  var r = n.computeMeshVertices_(n.meshWidth, n.meshHeight, e)
-                                  if (
-                                    (t.bindBuffer(t.ARRAY_BUFFER, n.vertexBuffer),
-                                    t.bufferData(t.ARRAY_BUFFER, r, t.STATIC_DRAW),
-                                    !n.indexCount)
-                                  ) {
-                                    var i = n.computeMeshIndices_(n.meshWidth, n.meshHeight)
-                                    t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, n.indexBuffer),
-                                      t.bufferData(t.ELEMENT_ARRAY_BUFFER, i, t.STATIC_DRAW),
-                                      (n.indexCount = i.length)
-                                  }
-                                })
-                              }),
-                              (U.prototype.computeMeshVertices_ = function (e, t, n) {
-                                for (
-                                  var r = new Float32Array(2 * e * t * 5),
-                                    i = n.getLeftEyeVisibleTanAngles(),
-                                    o = n.getLeftEyeNoLensTanAngles(),
-                                    a = n.getLeftEyeVisibleScreenRect(o),
-                                    l = 0,
-                                    c = 0;
-                                  c < 2;
-                                  c++
-                                ) {
-                                  for (var u = 0; u < t; u++)
-                                    for (var h = 0; h < e; h++, l++) {
-                                      var d = h / (e - 1),
-                                        p = u / (t - 1),
-                                        f = d,
-                                        m = p,
-                                        v = s(i[0], i[2], d),
-                                        g = s(i[3], i[1], p),
-                                        y = Math.sqrt(v * v + g * g),
-                                        b = n.distortion.distortInverse(y),
-                                        A = (g * b) / y
-                                      ;(d = ((v * b) / y - o[0]) / (o[2] - o[0])),
-                                        (p = (A - o[3]) / (o[1] - o[3])),
-                                        (d = 2 * (a.x + d * a.width - 0.5)),
-                                        (p = 2 * (a.y + p * a.height - 0.5)),
-                                        (r[5 * l + 0] = d),
-                                        (r[5 * l + 1] = p),
-                                        (r[5 * l + 2] = f),
-                                        (r[5 * l + 3] = m),
-                                        (r[5 * l + 4] = c)
-                                    }
-                                  var w = i[2] - i[0]
-                                  ;(i[0] = -(w + i[0])),
-                                    (i[2] = w - i[2]),
-                                    (w = o[2] - o[0]),
-                                    (o[0] = -(w + o[0])),
-                                    (o[2] = w - o[2]),
-                                    (a.x = 1 - (a.x + a.width))
-                                }
-                                return r
-                              }),
-                              (U.prototype.computeMeshIndices_ = function (e, t) {
-                                for (
-                                  var n = new Uint16Array(2 * (e - 1) * (t - 1) * 6),
-                                    r = e / 2,
-                                    i = t / 2,
-                                    o = 0,
-                                    a = 0,
-                                    s = 0;
-                                  s < 2;
-                                  s++
-                                )
-                                  for (var l = 0; l < t; l++)
-                                    for (var c = 0; c < e; c++, o++)
-                                      0 != c &&
-                                        0 != l &&
-                                        (c <= r == l <= i
-                                          ? ((n[a++] = o),
-                                            (n[a++] = o - e - 1),
-                                            (n[a++] = o - e),
-                                            (n[a++] = o - e - 1),
-                                            (n[a++] = o),
-                                            (n[a++] = o - 1))
-                                          : ((n[a++] = o - 1),
-                                            (n[a++] = o - e),
-                                            (n[a++] = o),
-                                            (n[a++] = o - e),
-                                            (n[a++] = o - 1),
-                                            (n[a++] = o - e - 1)))
-                                return n
-                              }),
-                              (U.prototype.getOwnPropertyDescriptor_ = function (e, t) {
-                                var n = Object.getOwnPropertyDescriptor(e, t)
-                                return (
-                                  (void 0 !== n.get && void 0 !== n.set) ||
-                                    ((n.configurable = !0),
-                                    (n.enumerable = !0),
-                                    (n.get = function () {
-                                      return this.getAttribute(t)
-                                    }),
-                                    (n.set = function (e) {
-                                      this.setAttribute(t, e)
-                                    })),
-                                  n
-                                )
-                              })
-                            var H = [
-                                'attribute vec2 position;',
-                                'uniform mat4 projectionMat;',
-                                'void main() {',
-                                '  gl_Position = projectionMat * vec4( position, -1.0, 1.0 );',
-                                '}',
-                              ].join('\n'),
-                              G = [
-                                'precision mediump float;',
-                                'uniform vec4 color;',
-                                'void main() {',
-                                '  gl_FragColor = color;',
-                                '}',
-                              ].join('\n'),
-                              z = Math.PI / 180,
-                              j = 60,
-                              V = 12,
-                              W = 20,
-                              q = 1,
-                              X = 0.75,
-                              Y = 0.3125,
-                              Q = 4,
-                              Z = 28,
-                              K = 1.5
-                            function J(e) {
-                              ;(this.gl = e),
-                                (this.attribs = { position: 0 }),
-                                (this.program = E(e, H, G, this.attribs)),
-                                (this.uniforms = M(e, this.program)),
-                                (this.vertexBuffer = e.createBuffer()),
-                                (this.gearOffset = 0),
-                                (this.gearVertexCount = 0),
-                                (this.arrowOffset = 0),
-                                (this.arrowVertexCount = 0),
-                                (this.projMat = new Float32Array(16)),
-                                (this.listener = null),
-                                this.onResize()
-                            }
-                            function $(e) {
-                              this.coefficients = e
-                            }
-                            ;(J.prototype.destroy = function () {
-                              var e = this.gl
-                              this.listener &&
-                                e.canvas.removeEventListener('click', this.listener, !1),
-                                e.deleteProgram(this.program),
-                                e.deleteBuffer(this.vertexBuffer)
-                            }),
-                              (J.prototype.listen = function (e, t) {
-                                var n = this.gl.canvas
-                                ;(this.listener = function (r) {
-                                  var i = n.clientWidth / 2,
-                                    o = Z * K
-                                  r.clientX > i - o &&
-                                  r.clientX < i + o &&
-                                  r.clientY > n.clientHeight - o
-                                    ? e(r)
-                                    : r.clientX < o && r.clientY < o && t(r)
-                                }),
-                                  n.addEventListener('click', this.listener, !1)
-                              }),
-                              (J.prototype.onResize = function () {
-                                var e = this.gl,
-                                  t = this,
-                                  n = [e.ARRAY_BUFFER_BINDING]
-                                F(e, n, function (e) {
-                                  var n = [],
-                                    r = e.drawingBufferWidth / 2,
-                                    i =
-                                      Math.max(screen.width, screen.height) *
-                                      window.devicePixelRatio,
-                                    o = (e.drawingBufferWidth / i) * window.devicePixelRatio,
-                                    a = (Q * o) / 2,
-                                    s = Z * K * o,
-                                    l = (Z * o) / 2,
-                                    c = (Z * K - Z) * o
-                                  function u(e, t) {
-                                    var i = (90 - e) * z,
-                                      o = Math.cos(i),
-                                      a = Math.sin(i)
-                                    n.push(Y * o * l + r, Y * a * l + l),
-                                      n.push(t * o * l + r, t * a * l + l)
-                                  }
-                                  n.push(r - a, s),
-                                    n.push(r - a, e.drawingBufferHeight),
-                                    n.push(r + a, s),
-                                    n.push(r + a, e.drawingBufferHeight),
-                                    (t.gearOffset = n.length / 2)
-                                  for (var h = 0; h <= 6; h++) {
-                                    var d = h * j
-                                    u(d, q),
-                                      u(d + V, q),
-                                      u(d + W, X),
-                                      u(d + (j - W), X),
-                                      u(d + (j - V), q)
-                                  }
-                                  function p(t, r) {
-                                    n.push(c + t, e.drawingBufferHeight - c - r)
-                                  }
-                                  ;(t.gearVertexCount = n.length / 2 - t.gearOffset),
-                                    (t.arrowOffset = n.length / 2)
-                                  var f = a / Math.sin(45 * z)
-                                  p(0, l),
-                                    p(l, 0),
-                                    p(l + f, f),
-                                    p(f, l + f),
-                                    p(f, l - f),
-                                    p(0, l),
-                                    p(l, 2 * l),
-                                    p(l + f, 2 * l - f),
-                                    p(f, l - f),
-                                    p(0, l),
-                                    p(f, l - a),
-                                    p(Z * o, l - a),
-                                    p(f, l + a),
-                                    p(Z * o, l + a),
-                                    (t.arrowVertexCount = n.length / 2 - t.arrowOffset),
-                                    e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffer),
-                                    e.bufferData(e.ARRAY_BUFFER, new Float32Array(n), e.STATIC_DRAW)
-                                })
-                              }),
-                              (J.prototype.render = function () {
-                                var e = this.gl,
-                                  t = this,
-                                  n = [
-                                    e.CULL_FACE,
-                                    e.DEPTH_TEST,
-                                    e.BLEND,
-                                    e.SCISSOR_TEST,
-                                    e.STENCIL_TEST,
-                                    e.COLOR_WRITEMASK,
-                                    e.VIEWPORT,
-                                    e.CURRENT_PROGRAM,
-                                    e.ARRAY_BUFFER_BINDING,
-                                  ]
-                                F(e, n, function (e) {
-                                  e.disable(e.CULL_FACE),
-                                    e.disable(e.DEPTH_TEST),
-                                    e.disable(e.BLEND),
-                                    e.disable(e.SCISSOR_TEST),
-                                    e.disable(e.STENCIL_TEST),
-                                    e.colorMask(!0, !0, !0, !0),
-                                    e.viewport(0, 0, e.drawingBufferWidth, e.drawingBufferHeight),
-                                    t.renderNoState()
-                                })
-                              }),
-                              (J.prototype.renderNoState = function () {
-                                var e = this.gl
-                                e.useProgram(this.program),
-                                  e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
-                                  e.enableVertexAttribArray(this.attribs.position),
-                                  e.vertexAttribPointer(
-                                    this.attribs.position,
-                                    2,
-                                    e.FLOAT,
-                                    !1,
-                                    8,
-                                    0,
-                                  ),
-                                  e.uniform4f(this.uniforms.color, 1, 1, 1, 1),
-                                  _(
-                                    this.projMat,
-                                    0,
-                                    e.drawingBufferWidth,
-                                    0,
-                                    e.drawingBufferHeight,
-                                    0.1,
-                                    1024,
-                                  ),
-                                  e.uniformMatrix4fv(this.uniforms.projectionMat, !1, this.projMat),
-                                  e.drawArrays(e.TRIANGLE_STRIP, 0, 4),
-                                  e.drawArrays(
-                                    e.TRIANGLE_STRIP,
-                                    this.gearOffset,
-                                    this.gearVertexCount,
-                                  ),
-                                  e.drawArrays(
-                                    e.TRIANGLE_STRIP,
-                                    this.arrowOffset,
-                                    this.arrowVertexCount,
-                                  )
-                              }),
-                              ($.prototype.distortInverse = function (e) {
-                                for (
-                                  var t = 0, n = 1, r = e - this.distort(t);
-                                  Math.abs(n - t) > 1e-4;
-
-                                ) {
-                                  var i = e - this.distort(n),
-                                    o = n - i * ((n - t) / (i - r))
-                                  ;(t = n), (n = o), (r = i)
-                                }
-                                return n
-                              }),
-                              ($.prototype.distort = function (e) {
-                                for (var t = e * e, n = 0, r = 0; r < this.coefficients.length; r++)
-                                  n = t * (n + this.coefficients[r])
-                                return (n + 1) * e
-                              })
-                            var ee = Math.PI / 180,
-                              te = 180 / Math.PI,
-                              ne = function (e, t, n) {
-                                ;(this.x = e || 0), (this.y = t || 0), (this.z = n || 0)
-                              }
-                            ne.prototype = {
-                              constructor: ne,
-                              set: function (e, t, n) {
-                                return (this.x = e), (this.y = t), (this.z = n), this
-                              },
-                              copy: function (e) {
-                                return (this.x = e.x), (this.y = e.y), (this.z = e.z), this
-                              },
-                              length: function () {
-                                return Math.sqrt(
-                                  this.x * this.x + this.y * this.y + this.z * this.z,
-                                )
-                              },
-                              normalize: function () {
-                                var e = this.length()
-                                if (0 !== e) {
-                                  var t = 1 / e
-                                  this.multiplyScalar(t)
-                                } else (this.x = 0), (this.y = 0), (this.z = 0)
-                                return this
-                              },
-                              multiplyScalar: function (e) {
-                                ;(this.x *= e), (this.y *= e), (this.z *= e)
-                              },
-                              applyQuaternion: function (e) {
-                                var t = this.x,
-                                  n = this.y,
-                                  r = this.z,
-                                  i = e.x,
-                                  o = e.y,
-                                  a = e.z,
-                                  s = e.w,
-                                  l = s * t + o * r - a * n,
-                                  c = s * n + a * t - i * r,
-                                  u = s * r + i * n - o * t,
-                                  h = -i * t - o * n - a * r
-                                return (
-                                  (this.x = l * s + h * -i + c * -a - u * -o),
-                                  (this.y = c * s + h * -o + u * -i - l * -a),
-                                  (this.z = u * s + h * -a + l * -o - c * -i),
-                                  this
-                                )
-                              },
-                              dot: function (e) {
-                                return this.x * e.x + this.y * e.y + this.z * e.z
-                              },
-                              crossVectors: function (e, t) {
-                                var n = e.x,
-                                  r = e.y,
-                                  i = e.z,
-                                  o = t.x,
-                                  a = t.y,
-                                  s = t.z
-                                return (
-                                  (this.x = r * s - i * a),
-                                  (this.y = i * o - n * s),
-                                  (this.z = n * a - r * o),
-                                  this
-                                )
-                              },
-                            }
-                            var re = function (e, t, n, r) {
-                              ;(this.x = e || 0),
-                                (this.y = t || 0),
-                                (this.z = n || 0),
-                                (this.w = void 0 !== r ? r : 1)
-                            }
-                            function ie(e) {
-                              ;(this.width = e.width || y()),
-                                (this.height = e.height || b()),
-                                (this.widthMeters = e.widthMeters),
-                                (this.heightMeters = e.heightMeters),
-                                (this.bevelMeters = e.bevelMeters)
-                            }
-                            re.prototype = {
-                              constructor: re,
-                              set: function (e, t, n, r) {
-                                return (this.x = e), (this.y = t), (this.z = n), (this.w = r), this
-                              },
-                              copy: function (e) {
-                                return (
-                                  (this.x = e.x),
-                                  (this.y = e.y),
-                                  (this.z = e.z),
-                                  (this.w = e.w),
-                                  this
-                                )
-                              },
-                              setFromEulerXYZ: function (e, t, n) {
-                                var r = Math.cos(e / 2),
-                                  i = Math.cos(t / 2),
-                                  o = Math.cos(n / 2),
-                                  a = Math.sin(e / 2),
-                                  s = Math.sin(t / 2),
-                                  l = Math.sin(n / 2)
-                                return (
-                                  (this.x = a * i * o + r * s * l),
-                                  (this.y = r * s * o - a * i * l),
-                                  (this.z = r * i * l + a * s * o),
-                                  (this.w = r * i * o - a * s * l),
-                                  this
-                                )
-                              },
-                              setFromEulerYXZ: function (e, t, n) {
-                                var r = Math.cos(e / 2),
-                                  i = Math.cos(t / 2),
-                                  o = Math.cos(n / 2),
-                                  a = Math.sin(e / 2),
-                                  s = Math.sin(t / 2),
-                                  l = Math.sin(n / 2)
-                                return (
-                                  (this.x = a * i * o + r * s * l),
-                                  (this.y = r * s * o - a * i * l),
-                                  (this.z = r * i * l - a * s * o),
-                                  (this.w = r * i * o + a * s * l),
-                                  this
-                                )
-                              },
-                              setFromAxisAngle: function (e, t) {
-                                var n = t / 2,
-                                  r = Math.sin(n)
-                                return (
-                                  (this.x = e.x * r),
-                                  (this.y = e.y * r),
-                                  (this.z = e.z * r),
-                                  (this.w = Math.cos(n)),
-                                  this
-                                )
-                              },
-                              multiply: function (e) {
-                                return this.multiplyQuaternions(this, e)
-                              },
-                              multiplyQuaternions: function (e, t) {
-                                var n = e.x,
-                                  r = e.y,
-                                  i = e.z,
-                                  o = e.w,
-                                  a = t.x,
-                                  s = t.y,
-                                  l = t.z,
-                                  c = t.w
-                                return (
-                                  (this.x = n * c + o * a + r * l - i * s),
-                                  (this.y = r * c + o * s + i * a - n * l),
-                                  (this.z = i * c + o * l + n * s - r * a),
-                                  (this.w = o * c - n * a - r * s - i * l),
-                                  this
-                                )
-                              },
-                              inverse: function () {
-                                return (
-                                  (this.x *= -1),
-                                  (this.y *= -1),
-                                  (this.z *= -1),
-                                  this.normalize(),
-                                  this
-                                )
-                              },
-                              normalize: function () {
-                                var e = Math.sqrt(
-                                  this.x * this.x +
-                                    this.y * this.y +
-                                    this.z * this.z +
-                                    this.w * this.w,
-                                )
-                                return (
-                                  0 === e
-                                    ? ((this.x = 0), (this.y = 0), (this.z = 0), (this.w = 1))
-                                    : ((e = 1 / e),
-                                      (this.x = this.x * e),
-                                      (this.y = this.y * e),
-                                      (this.z = this.z * e),
-                                      (this.w = this.w * e)),
-                                  this
-                                )
-                              },
-                              slerp: function (e, t) {
-                                if (0 === t) return this
-                                if (1 === t) return this.copy(e)
-                                var n = this.x,
-                                  r = this.y,
-                                  i = this.z,
-                                  o = this.w,
-                                  a = o * e.w + n * e.x + r * e.y + i * e.z
-                                if (
-                                  (a < 0
-                                    ? ((this.w = -e.w),
-                                      (this.x = -e.x),
-                                      (this.y = -e.y),
-                                      (this.z = -e.z),
-                                      (a = -a))
-                                    : this.copy(e),
-                                  a >= 1)
-                                )
-                                  return (
-                                    (this.w = o), (this.x = n), (this.y = r), (this.z = i), this
-                                  )
-                                var s = Math.acos(a),
-                                  l = Math.sqrt(1 - a * a)
-                                if (Math.abs(l) < 0.001)
-                                  return (
-                                    (this.w = 0.5 * (o + this.w)),
-                                    (this.x = 0.5 * (n + this.x)),
-                                    (this.y = 0.5 * (r + this.y)),
-                                    (this.z = 0.5 * (i + this.z)),
-                                    this
-                                  )
-                                var c = Math.sin((1 - t) * s) / l,
-                                  u = Math.sin(t * s) / l
-                                return (
-                                  (this.w = o * c + this.w * u),
-                                  (this.x = n * c + this.x * u),
-                                  (this.y = r * c + this.y * u),
-                                  (this.z = i * c + this.z * u),
-                                  this
-                                )
-                              },
-                              setFromUnitVectors: (function () {
-                                var e,
-                                  t,
-                                  n = 1e-6
-                                return function (r, i) {
-                                  return (
-                                    void 0 === e && (e = new ne()),
-                                    (t = r.dot(i) + 1) < n
-                                      ? ((t = 0),
-                                        Math.abs(r.x) > Math.abs(r.z)
-                                          ? e.set(-r.y, r.x, 0)
-                                          : e.set(0, -r.z, r.y))
-                                      : e.crossVectors(r, i),
-                                    (this.x = e.x),
-                                    (this.y = e.y),
-                                    (this.z = e.z),
-                                    (this.w = t),
-                                    this.normalize(),
-                                    this
-                                  )
-                                }
-                              })(),
-                            }
-                            var oe = new ie({
-                                widthMeters: 0.11,
-                                heightMeters: 0.062,
-                                bevelMeters: 0.004,
-                              }),
-                              ae = new ie({
-                                widthMeters: 0.1038,
-                                heightMeters: 0.0584,
-                                bevelMeters: 0.004,
-                              }),
-                              se = {
-                                CardboardV1: new ce({
-                                  id: 'CardboardV1',
-                                  label: 'Cardboard I/O 2014',
-                                  fov: 40,
-                                  interLensDistance: 0.06,
-                                  baselineLensDistance: 0.035,
-                                  screenLensDistance: 0.042,
-                                  distortionCoefficients: [0.441, 0.156],
-                                  inverseCoefficients: [
-                                    -0.4410035, 0.42756155, -0.4804439, 0.5460139, -0.58821183,
-                                    0.5733938, -0.48303202, 0.33299083, -0.17573841, 0.0651772,
-                                    -0.01488963, 0.001559834,
-                                  ],
-                                }),
-                                CardboardV2: new ce({
-                                  id: 'CardboardV2',
-                                  label: 'Cardboard I/O 2015',
-                                  fov: 60,
-                                  interLensDistance: 0.064,
-                                  baselineLensDistance: 0.035,
-                                  screenLensDistance: 0.039,
-                                  distortionCoefficients: [0.34, 0.55],
-                                  inverseCoefficients: [
-                                    -0.33836704, -0.18162185, 0.862655, -1.2462051, 1.0560602,
-                                    -0.58208317, 0.21609078, -0.05444823, 0.009177956,
-                                    -0.0009904169, 6183535e-11, -16981803e-13,
-                                  ],
-                                }),
-                              }
-                            function le(e, t) {
-                              ;(this.viewer = se.CardboardV2),
-                                this.updateDeviceParams(e),
-                                (this.distortion = new $(this.viewer.distortionCoefficients))
-                              for (var n = 0; n < t.length; n++) {
-                                var r = t[n]
-                                se[r.id] = new ce(r)
-                              }
-                            }
-                            function ce(e) {
-                              ;(this.id = e.id),
-                                (this.label = e.label),
-                                (this.fov = e.fov),
-                                (this.interLensDistance = e.interLensDistance),
-                                (this.baselineLensDistance = e.baselineLensDistance),
-                                (this.screenLensDistance = e.screenLensDistance),
-                                (this.distortionCoefficients = e.distortionCoefficients),
-                                (this.inverseCoefficients = e.inverseCoefficients)
-                            }
-                            ;(le.prototype.updateDeviceParams = function (e) {
-                              this.device = this.determineDevice_(e) || this.device
-                            }),
-                              (le.prototype.getDevice = function () {
-                                return this.device
-                              }),
-                              (le.prototype.setViewer = function (e) {
-                                ;(this.viewer = e),
-                                  (this.distortion = new $(this.viewer.distortionCoefficients))
-                              }),
-                              (le.prototype.determineDevice_ = function (e) {
-                                if (!e)
-                                  return l()
-                                    ? (console.warn('Using fallback iOS device measurements.'), ae)
-                                    : (console.warn('Using fallback Android device measurements.'),
-                                      oe)
-                                var t = 0.0254,
-                                  n = t / e.xdpi,
-                                  r = t / e.ydpi
-                                return new ie({
-                                  widthMeters: n * y(),
-                                  heightMeters: r * b(),
-                                  bevelMeters: 0.001 * e.bevelMm,
-                                })
-                              }),
-                              (le.prototype.getDistortedFieldOfViewLeftEye = function () {
-                                var e = this.viewer,
-                                  t = this.device,
-                                  n = this.distortion,
-                                  r = e.screenLensDistance,
-                                  i = (t.widthMeters - e.interLensDistance) / 2,
-                                  o = e.interLensDistance / 2,
-                                  a = e.baselineLensDistance - t.bevelMeters,
-                                  s = t.heightMeters - a,
-                                  l = te * Math.atan(n.distort(i / r)),
-                                  c = te * Math.atan(n.distort(o / r)),
-                                  u = te * Math.atan(n.distort(a / r)),
-                                  h = te * Math.atan(n.distort(s / r))
-                                return {
-                                  leftDegrees: Math.min(l, e.fov),
-                                  rightDegrees: Math.min(c, e.fov),
-                                  downDegrees: Math.min(u, e.fov),
-                                  upDegrees: Math.min(h, e.fov),
-                                }
-                              }),
-                              (le.prototype.getLeftEyeVisibleTanAngles = function () {
-                                var e = this.viewer,
-                                  t = this.device,
-                                  n = this.distortion,
-                                  r = Math.tan(-ee * e.fov),
-                                  i = Math.tan(ee * e.fov),
-                                  o = Math.tan(ee * e.fov),
-                                  a = Math.tan(-ee * e.fov),
-                                  s = t.widthMeters / 4,
-                                  l = t.heightMeters / 2,
-                                  c = e.baselineLensDistance - t.bevelMeters - l,
-                                  u = e.interLensDistance / 2 - s,
-                                  h = -c,
-                                  d = e.screenLensDistance,
-                                  p = n.distort((u - s) / d),
-                                  f = n.distort((h + l) / d),
-                                  m = n.distort((u + s) / d),
-                                  v = n.distort((h - l) / d),
-                                  g = new Float32Array(4)
-                                return (
-                                  (g[0] = Math.max(r, p)),
-                                  (g[1] = Math.min(i, f)),
-                                  (g[2] = Math.min(o, m)),
-                                  (g[3] = Math.max(a, v)),
-                                  g
-                                )
-                              }),
-                              (le.prototype.getLeftEyeNoLensTanAngles = function () {
-                                var e = this.viewer,
-                                  t = this.device,
-                                  n = this.distortion,
-                                  r = new Float32Array(4),
-                                  i = n.distortInverse(Math.tan(-ee * e.fov)),
-                                  o = n.distortInverse(Math.tan(ee * e.fov)),
-                                  a = n.distortInverse(Math.tan(ee * e.fov)),
-                                  s = n.distortInverse(Math.tan(-ee * e.fov)),
-                                  l = t.widthMeters / 4,
-                                  c = t.heightMeters / 2,
-                                  u = e.baselineLensDistance - t.bevelMeters - c,
-                                  h = e.interLensDistance / 2 - l,
-                                  d = -u,
-                                  p = e.screenLensDistance,
-                                  f = (h - l) / p,
-                                  m = (d + c) / p,
-                                  v = (h + l) / p,
-                                  g = (d - c) / p
-                                return (
-                                  (r[0] = Math.max(i, f)),
-                                  (r[1] = Math.min(o, m)),
-                                  (r[2] = Math.min(a, v)),
-                                  (r[3] = Math.max(s, g)),
-                                  r
-                                )
-                              }),
-                              (le.prototype.getLeftEyeVisibleScreenRect = function (e) {
-                                var t = this.viewer,
-                                  n = this.device,
-                                  r = t.screenLensDistance,
-                                  i = (n.widthMeters - t.interLensDistance) / 2,
-                                  o = t.baselineLensDistance - n.bevelMeters,
-                                  a = (e[0] * r + i) / n.widthMeters,
-                                  s = (e[1] * r + o) / n.heightMeters,
-                                  l = (e[2] * r + i) / n.widthMeters,
-                                  c = (e[3] * r + o) / n.heightMeters
-                                return { x: a, y: c, width: l - a, height: s - c }
-                              }),
-                              (le.prototype.getFieldOfViewLeftEye = function (e) {
-                                return e
-                                  ? this.getUndistortedFieldOfViewLeftEye()
-                                  : this.getDistortedFieldOfViewLeftEye()
-                              }),
-                              (le.prototype.getFieldOfViewRightEye = function (e) {
-                                var t = this.getFieldOfViewLeftEye(e)
-                                return {
-                                  leftDegrees: t.rightDegrees,
-                                  rightDegrees: t.leftDegrees,
-                                  upDegrees: t.upDegrees,
-                                  downDegrees: t.downDegrees,
-                                }
-                              }),
-                              (le.prototype.getUndistortedFieldOfViewLeftEye = function () {
-                                var e = this.getUndistortedParams_()
-                                return {
-                                  leftDegrees: te * Math.atan(e.outerDist),
-                                  rightDegrees: te * Math.atan(e.innerDist),
-                                  downDegrees: te * Math.atan(e.bottomDist),
-                                  upDegrees: te * Math.atan(e.topDist),
-                                }
-                              }),
-                              (le.prototype.getUndistortedViewportLeftEye = function () {
-                                var e = this.getUndistortedParams_(),
-                                  t = this.viewer,
-                                  n = this.device,
-                                  r = t.screenLensDistance,
-                                  i = n.widthMeters / r,
-                                  o = n.heightMeters / r,
-                                  a = n.width / i,
-                                  s = n.height / o,
-                                  l = Math.round((e.eyePosX - e.outerDist) * a),
-                                  c = Math.round((e.eyePosY - e.bottomDist) * s)
-                                return {
-                                  x: l,
-                                  y: c,
-                                  width: Math.round((e.eyePosX + e.innerDist) * a) - l,
-                                  height: Math.round((e.eyePosY + e.topDist) * s) - c,
-                                }
-                              }),
-                              (le.prototype.getUndistortedParams_ = function () {
-                                var e = this.viewer,
-                                  t = this.device,
-                                  n = this.distortion,
-                                  r = e.screenLensDistance,
-                                  i = e.interLensDistance / 2 / r,
-                                  o = t.widthMeters / r,
-                                  a = t.heightMeters / r,
-                                  s = o / 2 - i,
-                                  l = (e.baselineLensDistance - t.bevelMeters) / r,
-                                  c = e.fov,
-                                  u = n.distortInverse(Math.tan(ee * c)),
-                                  h = Math.min(s, u),
-                                  d = Math.min(i, u),
-                                  p = Math.min(l, u)
-                                return {
-                                  outerDist: h,
-                                  innerDist: d,
-                                  topDist: Math.min(a - l, u),
-                                  bottomDist: p,
-                                  eyePosX: s,
-                                  eyePosY: l,
-                                }
-                              }),
-                              (le.Viewers = se)
-                            var ue = {
-                              format: 1,
-                              last_updated: '2019-11-09T17:36:14Z',
-                              devices: [
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'asus/*/Nexus 7/*' }, { ua: 'Nexus 7' }],
-                                  dpi: [320.8, 323],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'asus/*/ASUS_X00PD/*' }, { ua: 'ASUS_X00PD' }],
-                                  dpi: 245,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'asus/*/ASUS_X008D/*' }, { ua: 'ASUS_X008D' }],
-                                  dpi: 282,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'asus/*/ASUS_Z00AD/*' }, { ua: 'ASUS_Z00AD' }],
-                                  dpi: [403, 404.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel 2 XL/*' }, { ua: 'Pixel 2 XL' }],
-                                  dpi: 537.9,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel 3 XL/*' }, { ua: 'Pixel 3 XL' }],
-                                  dpi: [558.5, 553.8],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel XL/*' }, { ua: 'Pixel XL' }],
-                                  dpi: [537.9, 533],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel 3/*' }, { ua: 'Pixel 3' }],
-                                  dpi: 442.4,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel 2/*' }, { ua: 'Pixel 2' }],
-                                  dpi: 441,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Google/*/Pixel/*' }, { ua: 'Pixel' }],
-                                  dpi: [432.6, 436.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'HTC/*/HTC6435LVW/*' }, { ua: 'HTC6435LVW' }],
-                                  dpi: [449.7, 443.3],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'HTC/*/HTC One XL/*' }, { ua: 'HTC One XL' }],
-                                  dpi: [315.3, 314.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'htc/*/Nexus 9/*' }, { ua: 'Nexus 9' }],
-                                  dpi: 289,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'HTC/*/HTC One M9/*' }, { ua: 'HTC One M9' }],
-                                  dpi: [442.5, 443.3],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'HTC/*/HTC One_M8/*' }, { ua: 'HTC One_M8' }],
-                                  dpi: [449.7, 447.4],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'HTC/*/HTC One/*' }, { ua: 'HTC One' }],
-                                  dpi: 472.8,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Huawei/*/Nexus 6P/*' }, { ua: 'Nexus 6P' }],
-                                  dpi: [515.1, 518],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Huawei/*/BLN-L24/*' }, { ua: 'HONORBLN-L24' }],
-                                  dpi: 480,
-                                  bw: 4,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Huawei/*/BKL-L09/*' }, { ua: 'BKL-L09' }],
-                                  dpi: 403,
-                                  bw: 3.47,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'LENOVO/*/Lenovo PB2-690Y/*' },
-                                    { ua: 'Lenovo PB2-690Y' },
-                                  ],
-                                  dpi: [457.2, 454.713],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/Nexus 5X/*' }, { ua: 'Nexus 5X' }],
-                                  dpi: [422, 419.9],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LGMS345/*' }, { ua: 'LGMS345' }],
-                                  dpi: [221.7, 219.1],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LG-D800/*' }, { ua: 'LG-D800' }],
-                                  dpi: [422, 424.1],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LG-D850/*' }, { ua: 'LG-D850' }],
-                                  dpi: [537.9, 541.9],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/VS985 4G/*' }, { ua: 'VS985 4G' }],
-                                  dpi: [537.9, 535.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/Nexus 5/*' }, { ua: 'Nexus 5 B' }],
-                                  dpi: [442.4, 444.8],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/Nexus 4/*' }, { ua: 'Nexus 4' }],
-                                  dpi: [319.8, 318.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LG-P769/*' }, { ua: 'LG-P769' }],
-                                  dpi: [240.6, 247.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LGMS323/*' }, { ua: 'LGMS323' }],
-                                  dpi: [206.6, 204.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'LGE/*/LGLS996/*' }, { ua: 'LGLS996' }],
-                                  dpi: [403.4, 401.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Micromax/*/4560MMX/*' }, { ua: '4560MMX' }],
-                                  dpi: [240, 219.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Micromax/*/A250/*' }, { ua: 'Micromax A250' }],
-                                  dpi: [480, 446.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'Micromax/*/Micromax AQ4501/*' },
-                                    { ua: 'Micromax AQ4501' },
-                                  ],
-                                  dpi: 240,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/G5/*' }, { ua: 'Moto G (5) Plus' }],
-                                  dpi: [403.4, 403],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'motorola/*/DROID RAZR/*' },
-                                    { ua: 'DROID RAZR' },
-                                  ],
-                                  dpi: [368.1, 256.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT830C/*' }, { ua: 'XT830C' }],
-                                  dpi: [254, 255.9],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1021/*' }, { ua: 'XT1021' }],
-                                  dpi: [254, 256.7],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1023/*' }, { ua: 'XT1023' }],
-                                  dpi: [254, 256.7],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1028/*' }, { ua: 'XT1028' }],
-                                  dpi: [326.6, 327.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1034/*' }, { ua: 'XT1034' }],
-                                  dpi: [326.6, 328.4],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1053/*' }, { ua: 'XT1053' }],
-                                  dpi: [315.3, 316.1],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1562/*' }, { ua: 'XT1562' }],
-                                  dpi: [403.4, 402.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/Nexus 6/*' }, { ua: 'Nexus 6 B' }],
-                                  dpi: [494.3, 489.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1063/*' }, { ua: 'XT1063' }],
-                                  dpi: [295, 296.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1064/*' }, { ua: 'XT1064' }],
-                                  dpi: [295, 295.6],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1092/*' }, { ua: 'XT1092' }],
-                                  dpi: [422, 424.1],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/XT1095/*' }, { ua: 'XT1095' }],
-                                  dpi: [422, 423.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'motorola/*/G4/*' }, { ua: 'Moto G (4)' }],
-                                  dpi: 401,
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/A0001/*' }, { ua: 'A0001' }],
-                                  dpi: [403.4, 401],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE E1001/*' }, { ua: 'ONE E1001' }],
-                                  dpi: [442.4, 441.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE E1003/*' }, { ua: 'ONE E1003' }],
-                                  dpi: [442.4, 441.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE E1005/*' }, { ua: 'ONE E1005' }],
-                                  dpi: [442.4, 441.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE A2001/*' }, { ua: 'ONE A2001' }],
-                                  dpi: [391.9, 405.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE A2003/*' }, { ua: 'ONE A2003' }],
-                                  dpi: [391.9, 405.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OnePlus/*/ONE A2005/*' }, { ua: 'ONE A2005' }],
-                                  dpi: [391.9, 405.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A3000/*' },
-                                    { ua: 'ONEPLUS A3000' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A3003/*' },
-                                    { ua: 'ONEPLUS A3003' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A3010/*' },
-                                    { ua: 'ONEPLUS A3010' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A5000/*' },
-                                    { ua: 'ONEPLUS A5000 ' },
-                                  ],
-                                  dpi: [403.411, 399.737],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONE A5010/*' },
-                                    { ua: 'ONEPLUS A5010' },
-                                  ],
-                                  dpi: [403, 400],
-                                  bw: 2,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A6000/*' },
-                                    { ua: 'ONEPLUS A6000' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A6003/*' },
-                                    { ua: 'ONEPLUS A6003' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A6010/*' },
-                                    { ua: 'ONEPLUS A6010' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 2,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'OnePlus/*/ONEPLUS A6013/*' },
-                                    { ua: 'ONEPLUS A6013' },
-                                  ],
-                                  dpi: 401,
-                                  bw: 2,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'OPPO/*/X909/*' }, { ua: 'X909' }],
-                                  dpi: [442.4, 444.1],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9082/*' }, { ua: 'GT-I9082' }],
-                                  dpi: [184.7, 185.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G360P/*' }, { ua: 'SM-G360P' }],
-                                  dpi: [196.7, 205.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/Nexus S/*' }, { ua: 'Nexus S' }],
-                                  dpi: [234.5, 229.8],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9300/*' }, { ua: 'GT-I9300' }],
-                                  dpi: [304.8, 303.9],
-                                  bw: 5,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-T230NU/*' }, { ua: 'SM-T230NU' }],
-                                  dpi: 216,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SGH-T399/*' }, { ua: 'SGH-T399' }],
-                                  dpi: [217.7, 231.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SGH-M919/*' }, { ua: 'SGH-M919' }],
-                                  dpi: [440.8, 437.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N9005/*' }, { ua: 'SM-N9005' }],
-                                  dpi: [386.4, 387],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'samsung/*/SAMSUNG-SM-N900A/*' },
-                                    { ua: 'SAMSUNG-SM-N900A' },
-                                  ],
-                                  dpi: [386.4, 387.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9500/*' }, { ua: 'GT-I9500' }],
-                                  dpi: [442.5, 443.3],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9505/*' }, { ua: 'GT-I9505' }],
-                                  dpi: 439.4,
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G900F/*' }, { ua: 'SM-G900F' }],
-                                  dpi: [415.6, 431.6],
-                                  bw: 5,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G900M/*' }, { ua: 'SM-G900M' }],
-                                  dpi: [415.6, 431.6],
-                                  bw: 5,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G800F/*' }, { ua: 'SM-G800F' }],
-                                  dpi: 326.8,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G906S/*' }, { ua: 'SM-G906S' }],
-                                  dpi: [562.7, 572.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9300/*' }, { ua: 'GT-I9300' }],
-                                  dpi: [306.7, 304.8],
-                                  bw: 5,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-T535/*' }, { ua: 'SM-T535' }],
-                                  dpi: [142.6, 136.4],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N920C/*' }, { ua: 'SM-N920C' }],
-                                  dpi: [515.1, 518.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N920P/*' }, { ua: 'SM-N920P' }],
-                                  dpi: [386.3655, 390.144],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N920W8/*' }, { ua: 'SM-N920W8' }],
-                                  dpi: [515.1, 518.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9300I/*' }, { ua: 'GT-I9300I' }],
-                                  dpi: [304.8, 305.8],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-I9195/*' }, { ua: 'GT-I9195' }],
-                                  dpi: [249.4, 256.7],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SPH-L520/*' }, { ua: 'SPH-L520' }],
-                                  dpi: [249.4, 255.9],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'samsung/*/SAMSUNG-SGH-I717/*' },
-                                    { ua: 'SAMSUNG-SGH-I717' },
-                                  ],
-                                  dpi: 285.8,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SPH-D710/*' }, { ua: 'SPH-D710' }],
-                                  dpi: [217.7, 204.2],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/GT-N7100/*' }, { ua: 'GT-N7100' }],
-                                  dpi: 265.1,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SCH-I605/*' }, { ua: 'SCH-I605' }],
-                                  dpi: 265.1,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'samsung/*/Galaxy Nexus/*' },
-                                    { ua: 'Galaxy Nexus' },
-                                  ],
-                                  dpi: [315.3, 314.2],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N910H/*' }, { ua: 'SM-N910H' }],
-                                  dpi: [515.1, 518],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-N910C/*' }, { ua: 'SM-N910C' }],
-                                  dpi: [515.2, 520.2],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G130M/*' }, { ua: 'SM-G130M' }],
-                                  dpi: [165.9, 164.8],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G928I/*' }, { ua: 'SM-G928I' }],
-                                  dpi: [515.1, 518.4],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G920F/*' }, { ua: 'SM-G920F' }],
-                                  dpi: 580.6,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G920P/*' }, { ua: 'SM-G920P' }],
-                                  dpi: [522.5, 577],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G925F/*' }, { ua: 'SM-G925F' }],
-                                  dpi: 580.6,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G925V/*' }, { ua: 'SM-G925V' }],
-                                  dpi: [522.5, 576.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G930F/*' }, { ua: 'SM-G930F' }],
-                                  dpi: 576.6,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G935F/*' }, { ua: 'SM-G935F' }],
-                                  dpi: 533,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G950F/*' }, { ua: 'SM-G950F' }],
-                                  dpi: [562.707, 565.293],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G955U/*' }, { ua: 'SM-G955U' }],
-                                  dpi: [522.514, 525.762],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G955F/*' }, { ua: 'SM-G955F' }],
-                                  dpi: [522.514, 525.762],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960F/*' }, { ua: 'SM-G960F' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G9600/*' }, { ua: 'SM-G9600' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960T/*' }, { ua: 'SM-G960T' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960N/*' }, { ua: 'SM-G960N' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960U/*' }, { ua: 'SM-G960U' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G9608/*' }, { ua: 'SM-G9608' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960FD/*' }, { ua: 'SM-G960FD' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G960W/*' }, { ua: 'SM-G960W' }],
-                                  dpi: [569.575, 571.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G965F/*' }, { ua: 'SM-G965F' }],
-                                  dpi: 529,
-                                  bw: 2,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Sony/*/C6903/*' }, { ua: 'C6903' }],
-                                  dpi: [442.5, 443.3],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Sony/*/D6653/*' }, { ua: 'D6653' }],
-                                  dpi: [428.6, 427.6],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Sony/*/E6653/*' }, { ua: 'E6653' }],
-                                  dpi: [428.6, 425.7],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Sony/*/E6853/*' }, { ua: 'E6853' }],
-                                  dpi: [403.4, 401.9],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Sony/*/SGP321/*' }, { ua: 'SGP321' }],
-                                  dpi: [224.7, 224.1],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [
-                                    { mdmh: 'TCT/*/ALCATEL ONE TOUCH Fierce/*' },
-                                    { ua: 'ALCATEL ONE TOUCH Fierce' },
-                                  ],
-                                  dpi: [240, 247.5],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'THL/*/thl 5000/*' }, { ua: 'thl 5000' }],
-                                  dpi: [480, 443.3],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Fly/*/IQ4412/*' }, { ua: 'IQ4412' }],
-                                  dpi: 307.9,
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'ZTE/*/ZTE Blade L2/*' }, { ua: 'ZTE Blade L2' }],
-                                  dpi: 240,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'BENEVE/*/VR518/*' }, { ua: 'VR518' }],
-                                  dpi: 480,
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [640, 960] }],
-                                  dpi: [325.1, 328.4],
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [640, 1136] }],
-                                  dpi: [317.1, 320.2],
-                                  bw: 3,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [750, 1334] }],
-                                  dpi: 326.4,
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [1242, 2208] }],
-                                  dpi: [453.6, 458.4],
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [1125, 2001] }],
-                                  dpi: [410.9, 415.4],
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [1125, 2436] }],
-                                  dpi: 458,
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Huawei/*/EML-L29/*' }, { ua: 'EML-L29' }],
-                                  dpi: 428,
-                                  bw: 3.45,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'Nokia/*/Nokia 7.1/*' }, { ua: 'Nokia 7.1' }],
-                                  dpi: [432, 431.9],
-                                  bw: 3,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [1242, 2688] }],
-                                  dpi: 458,
-                                  bw: 4,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G570M/*' }, { ua: 'SM-G570M' }],
-                                  dpi: 320,
-                                  bw: 3.684,
-                                  ac: 1e3,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G970F/*' }, { ua: 'SM-G970F' }],
-                                  dpi: 438,
-                                  bw: 2.281,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G973F/*' }, { ua: 'SM-G973F' }],
-                                  dpi: 550,
-                                  bw: 2.002,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G975F/*' }, { ua: 'SM-G975F' }],
-                                  dpi: 522,
-                                  bw: 2.054,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'android',
-                                  rules: [{ mdmh: 'samsung/*/SM-G977F/*' }, { ua: 'SM-G977F' }],
-                                  dpi: 505,
-                                  bw: 2.334,
-                                  ac: 500,
-                                },
-                                {
-                                  type: 'ios',
-                                  rules: [{ res: [828, 1792] }],
-                                  dpi: 326,
-                                  bw: 5,
-                                  ac: 500,
-                                },
-                              ],
-                            }
-                            function he(e, t) {
-                              if (((this.dpdb = ue), this.recalculateDeviceParams_(), e)) {
-                                this.onDeviceParamsUpdated = t
-                                var n = new XMLHttpRequest(),
-                                  r = this
-                                n.open('GET', e, !0),
-                                  n.addEventListener('load', function () {
-                                    ;(r.loading = !1),
-                                      n.status >= 200 && n.status <= 299
-                                        ? ((r.dpdb = JSON.parse(n.response)),
-                                          r.recalculateDeviceParams_())
-                                        : console.error('Error loading online DPDB!')
-                                  }),
-                                  n.send()
-                              }
-                            }
-                            function de(e) {
-                              ;(this.xdpi = e.xdpi),
-                                (this.ydpi = e.ydpi),
-                                (this.bevelMm = e.bevelMm)
-                            }
-                            function pe(e, t) {
-                              this.set(e, t)
-                            }
-                            function fe(e, t) {
-                              ;(this.kFilter = e),
-                                (this.isDebug = t),
-                                (this.currentAccelMeasurement = new pe()),
-                                (this.currentGyroMeasurement = new pe()),
-                                (this.previousGyroMeasurement = new pe()),
-                                l()
-                                  ? (this.filterQ = new re(-1, 0, 0, 1))
-                                  : (this.filterQ = new re(1, 0, 0, 1)),
-                                (this.previousFilterQ = new re()),
-                                this.previousFilterQ.copy(this.filterQ),
-                                (this.accelQ = new re()),
-                                (this.isOrientationInitialized = !1),
-                                (this.estimatedGravity = new ne()),
-                                (this.measuredGravity = new ne()),
-                                (this.gyroIntegralQ = new re())
-                            }
-                            function me(e, t) {
-                              ;(this.predictionTimeS = e),
-                                (this.isDebug = t),
-                                (this.previousQ = new re()),
-                                (this.previousTimestampS = null),
-                                (this.deltaQ = new re()),
-                                (this.outQ = new re())
-                            }
-                            function ve(e, t, n, r) {
-                              ;(this.yawOnly = n),
-                                (this.accelerometer = new ne()),
-                                (this.gyroscope = new ne()),
-                                (this.filter = new fe(e, r)),
-                                (this.posePredictor = new me(t, r)),
-                                (this.isFirefoxAndroid = h()),
-                                (this.isIOS = l())
-                              var i = d()
-                              ;(this.isDeviceMotionInRadians = !this.isIOS && i && i < 66),
-                                (this.isWithoutDeviceMotion = f() || p()),
-                                (this.filterToWorldQ = new re()),
-                                l()
-                                  ? this.filterToWorldQ.setFromAxisAngle(
-                                      new ne(1, 0, 0),
-                                      Math.PI / 2,
-                                    )
-                                  : this.filterToWorldQ.setFromAxisAngle(
-                                      new ne(1, 0, 0),
-                                      -Math.PI / 2,
-                                    ),
-                                (this.inverseWorldToScreenQ = new re()),
-                                (this.worldToScreenQ = new re()),
-                                (this.originalPoseAdjustQ = new re()),
-                                this.originalPoseAdjustQ.setFromAxisAngle(
-                                  new ne(0, 0, 1),
-                                  (-window.orientation * Math.PI) / 180,
-                                ),
-                                this.setScreenTransform_(),
-                                v() && this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),
-                                (this.resetQ = new re()),
-                                (this.orientationOut_ = new Float32Array(4)),
-                                this.start()
-                            }
-                            ;(he.prototype.getDeviceParams = function () {
-                              return this.deviceParams
-                            }),
-                              (he.prototype.recalculateDeviceParams_ = function () {
-                                var e = this.calcDeviceParams_()
-                                e
-                                  ? ((this.deviceParams = e),
-                                    this.onDeviceParamsUpdated &&
-                                      this.onDeviceParamsUpdated(this.deviceParams))
-                                  : console.error('Failed to recalculate device parameters.')
-                              }),
-                              (he.prototype.calcDeviceParams_ = function () {
-                                var e = this.dpdb
-                                if (!e) return console.error('DPDB not available.'), null
-                                if (1 != e.format)
-                                  return console.error('DPDB has unexpected format version.'), null
-                                if (!e.devices || !e.devices.length)
-                                  return (
-                                    console.error('DPDB does not have a devices section.'), null
-                                  )
-                                var t = navigator.userAgent || navigator.vendor || window.opera,
-                                  n = y(),
-                                  r = b()
-                                if (!e.devices)
-                                  return console.error('DPDB has no devices section.'), null
-                                for (var i = 0; i < e.devices.length; i++) {
-                                  var o = e.devices[i]
-                                  if (o.rules)
-                                    if ('ios' == o.type || 'android' == o.type) {
-                                      if (l() == ('ios' == o.type)) {
-                                        for (var a = !1, s = 0; s < o.rules.length; s++) {
-                                          var c = o.rules[s]
-                                          if (this.ruleMatches_(c, t, n, r)) {
-                                            a = !0
-                                            break
-                                          }
-                                        }
-                                        if (a)
-                                          return new de({
-                                            xdpi: o.dpi[0] || o.dpi,
-                                            ydpi: o.dpi[1] || o.dpi,
-                                            bevelMm: o.bw,
-                                          })
-                                      }
-                                    } else console.warn('Device[' + i + '] has invalid type.')
-                                  else console.warn('Device[' + i + '] has no rules section.')
-                                }
-                                return console.warn('No DPDB device match.'), null
-                              }),
-                              (he.prototype.ruleMatches_ = function (e, t, n, r) {
-                                if (!e.ua && !e.res) return !1
-                                if (
-                                  (e.ua &&
-                                    'SM' === e.ua.substring(0, 2) &&
-                                    (e.ua = e.ua.substring(0, 7)),
-                                  e.ua && t.indexOf(e.ua) < 0)
-                                )
-                                  return !1
-                                if (e.res) {
-                                  if (!e.res[0] || !e.res[1]) return !1
-                                  var i = e.res[0],
-                                    o = e.res[1]
-                                  if (
-                                    Math.min(n, r) != Math.min(i, o) ||
-                                    Math.max(n, r) != Math.max(i, o)
-                                  )
-                                    return !1
-                                }
-                                return !0
-                              }),
-                              (pe.prototype.set = function (e, t) {
-                                ;(this.sample = e), (this.timestampS = t)
-                              }),
-                              (pe.prototype.copy = function (e) {
-                                this.set(e.sample, e.timestampS)
-                              }),
-                              (fe.prototype.addAccelMeasurement = function (e, t) {
-                                this.currentAccelMeasurement.set(e, t)
-                              }),
-                              (fe.prototype.addGyroMeasurement = function (e, t) {
-                                this.currentGyroMeasurement.set(e, t)
-                                var n = t - this.previousGyroMeasurement.timestampS
-                                g(n) && this.run_(),
-                                  this.previousGyroMeasurement.copy(this.currentGyroMeasurement)
-                              }),
-                              (fe.prototype.run_ = function () {
-                                if (!this.isOrientationInitialized)
-                                  return (
-                                    (this.accelQ = this.accelToQuaternion_(
-                                      this.currentAccelMeasurement.sample,
-                                    )),
-                                    this.previousFilterQ.copy(this.accelQ),
-                                    void (this.isOrientationInitialized = !0)
-                                  )
-                                var e =
-                                    this.currentGyroMeasurement.timestampS -
-                                    this.previousGyroMeasurement.timestampS,
-                                  t = this.gyroToQuaternionDelta_(
-                                    this.currentGyroMeasurement.sample,
-                                    e,
-                                  )
-                                this.gyroIntegralQ.multiply(t),
-                                  this.filterQ.copy(this.previousFilterQ),
-                                  this.filterQ.multiply(t)
-                                var n = new re()
-                                n.copy(this.filterQ),
-                                  n.inverse(),
-                                  this.estimatedGravity.set(0, 0, -1),
-                                  this.estimatedGravity.applyQuaternion(n),
-                                  this.estimatedGravity.normalize(),
-                                  this.measuredGravity.copy(this.currentAccelMeasurement.sample),
-                                  this.measuredGravity.normalize()
-                                var r = new re()
-                                r.setFromUnitVectors(this.estimatedGravity, this.measuredGravity),
-                                  r.inverse(),
-                                  this.isDebug &&
-                                    console.log(
-                                      'Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)',
-                                      te * D(r),
-                                      this.estimatedGravity.x.toFixed(1),
-                                      this.estimatedGravity.y.toFixed(1),
-                                      this.estimatedGravity.z.toFixed(1),
-                                      this.measuredGravity.x.toFixed(1),
-                                      this.measuredGravity.y.toFixed(1),
-                                      this.measuredGravity.z.toFixed(1),
-                                    )
-                                var i = new re()
-                                i.copy(this.filterQ),
-                                  i.multiply(r),
-                                  this.filterQ.slerp(i, 1 - this.kFilter),
-                                  this.previousFilterQ.copy(this.filterQ)
-                              }),
-                              (fe.prototype.getOrientation = function () {
-                                return this.filterQ
-                              }),
-                              (fe.prototype.accelToQuaternion_ = function (e) {
-                                var t = new ne()
-                                t.copy(e), t.normalize()
-                                var n = new re()
-                                return n.setFromUnitVectors(new ne(0, 0, -1), t), n.inverse(), n
-                              }),
-                              (fe.prototype.gyroToQuaternionDelta_ = function (e, t) {
-                                var n = new re(),
-                                  r = new ne()
-                                return (
-                                  r.copy(e), r.normalize(), n.setFromAxisAngle(r, e.length() * t), n
-                                )
-                              }),
-                              (me.prototype.getPrediction = function (e, t, n) {
-                                if (!this.previousTimestampS)
-                                  return this.previousQ.copy(e), (this.previousTimestampS = n), e
-                                var r = new ne()
-                                r.copy(t), r.normalize()
-                                var i = t.length()
-                                if (i < 20 * ee)
-                                  return (
-                                    this.isDebug &&
-                                      console.log(
-                                        'Moving slowly, at %s deg/s: no prediction',
-                                        (te * i).toFixed(1),
-                                      ),
-                                    this.outQ.copy(e),
-                                    this.previousQ.copy(e),
-                                    this.outQ
-                                  )
-                                var o = i * this.predictionTimeS
-                                return (
-                                  this.deltaQ.setFromAxisAngle(r, o),
-                                  this.outQ.copy(this.previousQ),
-                                  this.outQ.multiply(this.deltaQ),
-                                  this.previousQ.copy(e),
-                                  (this.previousTimestampS = n),
-                                  this.outQ
-                                )
-                              }),
-                              (ve.prototype.getPosition = function () {
-                                return null
-                              }),
-                              (ve.prototype.getOrientation = function () {
-                                var e = void 0
-                                if (this.isWithoutDeviceMotion && this._deviceOrientationQ)
-                                  return (
-                                    (this.deviceOrientationFixQ =
-                                      this.deviceOrientationFixQ ||
-                                      (function () {
-                                        var e = new re().setFromAxisAngle(new ne(0, 0, -1), 0),
-                                          t = new re()
-                                        return (
-                                          -90 === window.orientation
-                                            ? t.setFromAxisAngle(new ne(0, 1, 0), Math.PI / -2)
-                                            : t.setFromAxisAngle(new ne(0, 1, 0), Math.PI / 2),
-                                          e.multiply(t)
-                                        )
-                                      })()),
-                                    (this.deviceOrientationFilterToWorldQ =
-                                      this.deviceOrientationFilterToWorldQ ||
-                                      (function () {
-                                        var e = new re()
-                                        return e.setFromAxisAngle(new ne(1, 0, 0), -Math.PI / 2), e
-                                      })()),
-                                    (e = this._deviceOrientationQ),
-                                    (t = new re()).copy(e),
-                                    t.multiply(this.deviceOrientationFilterToWorldQ),
-                                    t.multiply(this.resetQ),
-                                    t.multiply(this.worldToScreenQ),
-                                    t.multiplyQuaternions(this.deviceOrientationFixQ, t),
-                                    this.yawOnly && ((t.x = 0), (t.z = 0), t.normalize()),
-                                    (this.orientationOut_[0] = t.x),
-                                    (this.orientationOut_[1] = t.y),
-                                    (this.orientationOut_[2] = t.z),
-                                    (this.orientationOut_[3] = t.w),
-                                    this.orientationOut_
-                                  )
-                                var t,
-                                  n = this.filter.getOrientation()
-                                return (
-                                  (e = this.posePredictor.getPrediction(
-                                    n,
-                                    this.gyroscope,
-                                    this.previousTimestampS,
-                                  )),
-                                  (t = new re()).copy(this.filterToWorldQ),
-                                  t.multiply(this.resetQ),
-                                  t.multiply(e),
-                                  t.multiply(this.worldToScreenQ),
-                                  this.yawOnly && ((t.x = 0), (t.z = 0), t.normalize()),
-                                  (this.orientationOut_[0] = t.x),
-                                  (this.orientationOut_[1] = t.y),
-                                  (this.orientationOut_[2] = t.z),
-                                  (this.orientationOut_[3] = t.w),
-                                  this.orientationOut_
-                                )
-                              }),
-                              (ve.prototype.resetPose = function () {
-                                this.resetQ.copy(this.filter.getOrientation()),
-                                  (this.resetQ.x = 0),
-                                  (this.resetQ.y = 0),
-                                  (this.resetQ.z *= -1),
-                                  this.resetQ.normalize(),
-                                  v() && this.resetQ.multiply(this.inverseWorldToScreenQ),
-                                  this.resetQ.multiply(this.originalPoseAdjustQ)
-                              }),
-                              (ve.prototype.onDeviceOrientation_ = function (e) {
-                                this._deviceOrientationQ = this._deviceOrientationQ || new re()
-                                var t = e.alpha,
-                                  n = e.beta,
-                                  r = e.gamma
-                                ;(t = ((t || 0) * Math.PI) / 180),
-                                  (n = ((n || 0) * Math.PI) / 180),
-                                  (r = ((r || 0) * Math.PI) / 180),
-                                  this._deviceOrientationQ.setFromEulerYXZ(n, t, -r)
-                              }),
-                              (ve.prototype.onDeviceMotion_ = function (e) {
-                                this.updateDeviceMotion_(e)
-                              }),
-                              (ve.prototype.updateDeviceMotion_ = function (e) {
-                                var t = e.accelerationIncludingGravity,
-                                  n = e.rotationRate,
-                                  r = e.timeStamp / 1e3,
-                                  a = r - this.previousTimestampS
-                                return a < 0
-                                  ? (O(
-                                      'fusion-pose-sensor:invalid:non-monotonic',
-                                      'Invalid timestamps detected: non-monotonic timestamp from devicemotion',
-                                    ),
-                                    void (this.previousTimestampS = r))
-                                  : a <= i || a > o
-                                  ? (O(
-                                      'fusion-pose-sensor:invalid:outside-threshold',
-                                      'Invalid timestamps detected: Timestamp from devicemotion outside expected range.',
-                                    ),
-                                    void (this.previousTimestampS = r))
-                                  : (this.accelerometer.set(-t.x, -t.y, -t.z),
-                                    n &&
-                                      (m()
-                                        ? this.gyroscope.set(-n.beta, n.alpha, n.gamma)
-                                        : this.gyroscope.set(n.alpha, n.beta, n.gamma),
-                                      this.isDeviceMotionInRadians ||
-                                        this.gyroscope.multiplyScalar(Math.PI / 180),
-                                      this.filter.addGyroMeasurement(this.gyroscope, r)),
-                                    this.filter.addAccelMeasurement(this.accelerometer, r),
-                                    void (this.previousTimestampS = r))
-                              }),
-                              (ve.prototype.onOrientationChange_ = function (e) {
-                                this.setScreenTransform_()
-                              }),
-                              (ve.prototype.onMessage_ = function (e) {
-                                var t = e.data
-                                t &&
-                                  t.type &&
-                                  'devicemotion' === t.type.toLowerCase() &&
-                                  this.updateDeviceMotion_(t.deviceMotionEvent)
-                              }),
-                              (ve.prototype.setScreenTransform_ = function () {
-                                switch ((this.worldToScreenQ.set(0, 0, 0, 1), window.orientation)) {
-                                  case 0:
-                                    break
-                                  case 90:
-                                    this.worldToScreenQ.setFromAxisAngle(
-                                      new ne(0, 0, 1),
-                                      -Math.PI / 2,
-                                    )
-                                    break
-                                  case -90:
-                                    this.worldToScreenQ.setFromAxisAngle(
-                                      new ne(0, 0, 1),
-                                      Math.PI / 2,
-                                    )
-                                }
-                                this.inverseWorldToScreenQ.copy(this.worldToScreenQ),
-                                  this.inverseWorldToScreenQ.inverse()
-                              }),
-                              (ve.prototype.start = function () {
-                                ;(this.onDeviceMotionCallback_ = this.onDeviceMotion_.bind(this)),
-                                  (this.onOrientationChangeCallback_ =
-                                    this.onOrientationChange_.bind(this)),
-                                  (this.onMessageCallback_ = this.onMessage_.bind(this)),
-                                  (this.onDeviceOrientationCallback_ =
-                                    this.onDeviceOrientation_.bind(this)),
-                                  l() &&
-                                    R() &&
-                                    window.addEventListener('message', this.onMessageCallback_),
-                                  window.addEventListener(
-                                    'orientationchange',
-                                    this.onOrientationChangeCallback_,
-                                  ),
-                                  this.isWithoutDeviceMotion
-                                    ? window.addEventListener(
-                                        'deviceorientation',
-                                        this.onDeviceOrientationCallback_,
-                                      )
-                                    : window.addEventListener(
-                                        'devicemotion',
-                                        this.onDeviceMotionCallback_,
-                                      )
-                              }),
-                              (ve.prototype.stop = function () {
-                                window.removeEventListener(
-                                  'devicemotion',
-                                  this.onDeviceMotionCallback_,
-                                ),
-                                  window.removeEventListener(
-                                    'deviceorientation',
-                                    this.onDeviceOrientationCallback_,
-                                  ),
-                                  window.removeEventListener(
-                                    'orientationchange',
-                                    this.onOrientationChangeCallback_,
-                                  ),
-                                  window.removeEventListener('message', this.onMessageCallback_)
-                              })
-                            var ge = 60,
-                              ye = new ne(1, 0, 0),
-                              be = new ne(0, 0, 1),
-                              Ae = new re()
-                            Ae.setFromAxisAngle(ye, -Math.PI / 2),
-                              Ae.multiply(new re().setFromAxisAngle(be, Math.PI / 2))
-                            var we = (function () {
-                                function t(n) {
-                                  e(this, t),
-                                    (this.config = n),
-                                    (this.sensor = null),
-                                    (this.fusionSensor = null),
-                                    (this._out = new Float32Array(4)),
-                                    (this.api = null),
-                                    (this.errors = []),
-                                    (this._sensorQ = new re()),
-                                    (this._outQ = new re()),
-                                    (this._onSensorRead = this._onSensorRead.bind(this)),
-                                    (this._onSensorError = this._onSensorError.bind(this)),
-                                    this.init()
-                                }
-                                return (
-                                  n(t, [
-                                    {
-                                      key: 'init',
-                                      value: function () {
-                                        var e = null
-                                        try {
-                                          ;(e = new RelativeOrientationSensor({
-                                            frequency: ge,
-                                            referenceFrame: 'screen',
-                                          })).addEventListener('error', this._onSensorError)
-                                        } catch (t) {
-                                          this.errors.push(t),
-                                            'SecurityError' === t.name
-                                              ? (console.error(
-                                                  'Cannot construct sensors due to the Feature Policy',
-                                                ),
-                                                console.warn(
-                                                  'Attempting to fall back using "devicemotion"; however this will fail in the future without correct permissions.',
-                                                ),
-                                                this.useDeviceMotion())
-                                              : 'ReferenceError' === t.name
-                                              ? this.useDeviceMotion()
-                                              : console.error(t)
-                                        }
-                                        e &&
-                                          ((this.api = 'sensor'),
-                                          (this.sensor = e),
-                                          this.sensor.addEventListener(
-                                            'reading',
-                                            this._onSensorRead,
-                                          ),
-                                          this.sensor.start())
-                                      },
-                                    },
-                                    {
-                                      key: 'useDeviceMotion',
-                                      value: function () {
-                                        ;(this.api = 'devicemotion'),
-                                          (this.fusionSensor = new ve(
-                                            this.config.K_FILTER,
-                                            this.config.PREDICTION_TIME_S,
-                                            this.config.YAW_ONLY,
-                                            this.config.DEBUG,
-                                          )),
-                                          this.sensor &&
-                                            (this.sensor.removeEventListener(
-                                              'reading',
-                                              this._onSensorRead,
-                                            ),
-                                            this.sensor.removeEventListener(
-                                              'error',
-                                              this._onSensorError,
-                                            ),
-                                            (this.sensor = null))
-                                      },
-                                    },
-                                    {
-                                      key: 'getOrientation',
-                                      value: function () {
-                                        if (this.fusionSensor)
-                                          return this.fusionSensor.getOrientation()
-                                        if (!this.sensor || !this.sensor.quaternion)
-                                          return (
-                                            (this._out[0] = this._out[1] = this._out[2] = 0),
-                                            (this._out[3] = 1),
-                                            this._out
-                                          )
-                                        var e = this.sensor.quaternion
-                                        this._sensorQ.set(e[0], e[1], e[2], e[3])
-                                        var t = this._outQ
-                                        return (
-                                          t.copy(Ae),
-                                          t.multiply(this._sensorQ),
-                                          this.config.YAW_ONLY && ((t.x = t.z = 0), t.normalize()),
-                                          (this._out[0] = t.x),
-                                          (this._out[1] = t.y),
-                                          (this._out[2] = t.z),
-                                          (this._out[3] = t.w),
-                                          this._out
-                                        )
-                                      },
-                                    },
-                                    {
-                                      key: '_onSensorError',
-                                      value: function (e) {
-                                        this.errors.push(e.error),
-                                          'NotAllowedError' === e.error.name
-                                            ? console.error(
-                                                'Permission to access sensor was denied',
-                                              )
-                                            : 'NotReadableError' === e.error.name
-                                            ? console.error('Sensor could not be read')
-                                            : console.error(e.error),
-                                          this.useDeviceMotion()
-                                      },
-                                    },
-                                    { key: '_onSensorRead', value: function () {} },
-                                  ]),
-                                  t
-                                )
-                              })(),
-                              xe =
-                                "<svg width='198' height='240' viewBox='0 0 198 240' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M149.625 109.527l6.737 3.891v.886c0 .177.013.36.038.549.01.081.02.162.027.242.14 1.415.974 2.998 2.105 3.999l5.72 5.062.081-.09s4.382-2.53 5.235-3.024l25.97 14.993v54.001c0 .771-.386 1.217-.948 1.217-.233 0-.495-.076-.772-.236l-23.967-13.838-.014.024-27.322 15.775-.85-1.323c-4.731-1.529-9.748-2.74-14.951-3.61a.27.27 0 0 0-.007.024l-5.067 16.961-7.891 4.556-.037-.063v27.59c0 .772-.386 1.217-.948 1.217-.232 0-.495-.076-.772-.236l-42.473-24.522c-.95-.549-1.72-1.877-1.72-2.967v-1.035l-.021.047a5.111 5.111 0 0 0-1.816-.399 5.682 5.682 0 0 0-.546.001 13.724 13.724 0 0 1-1.918-.041c-1.655-.153-3.2-.6-4.404-1.296l-46.576-26.89.005.012-10.278-18.75c-1.001-1.827-.241-4.216 1.698-5.336l56.011-32.345a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.659 3.227 1.853l.005-.003.227.413-.006.004a9.63 9.63 0 0 0 1.477 2.018l.277.27c1.914 1.85 4.468 2.801 7.113 2.801 1.949 0 3.948-.517 5.775-1.572.013 0 7.319-4.219 7.319-4.219a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.658 3.226 1.853l3.25 5.928.022-.018 6.785 3.917-.105-.182 46.881-26.965m0-1.635c-.282 0-.563.073-.815.218l-46.169 26.556-5.41-3.124-3.005-5.481c-.913-1.667-2.699-2.702-4.66-2.703-1.011 0-2.02.274-2.917.792a3825 3825 0 0 1-7.275 4.195l-.044.024a9.937 9.937 0 0 1-4.957 1.353c-2.292 0-4.414-.832-5.976-2.342l-.252-.245a7.992 7.992 0 0 1-1.139-1.534 1.379 1.379 0 0 0-.06-.122l-.227-.414a1.718 1.718 0 0 0-.095-.154c-.938-1.574-2.673-2.545-4.571-2.545-1.011 0-2.02.274-2.917.792L3.125 155.502c-2.699 1.559-3.738 4.94-2.314 7.538l10.278 18.75c.177.323.448.563.761.704l46.426 26.804c1.403.81 3.157 1.332 5.072 1.508a15.661 15.661 0 0 0 2.146.046 4.766 4.766 0 0 1 .396 0c.096.004.19.011.283.022.109 1.593 1.159 3.323 2.529 4.114l42.472 24.522c.524.302 1.058.455 1.59.455 1.497 0 2.583-1.2 2.583-2.852v-26.562l7.111-4.105a1.64 1.64 0 0 0 .749-.948l4.658-15.593c4.414.797 8.692 1.848 12.742 3.128l.533.829a1.634 1.634 0 0 0 2.193.531l26.532-15.317L193 192.433c.523.302 1.058.455 1.59.455 1.497 0 2.583-1.199 2.583-2.852v-54.001c0-.584-.312-1.124-.818-1.416l-25.97-14.993a1.633 1.633 0 0 0-1.636.001c-.606.351-2.993 1.73-4.325 2.498l-4.809-4.255c-.819-.725-1.461-1.933-1.561-2.936a7.776 7.776 0 0 0-.033-.294 2.487 2.487 0 0 1-.023-.336v-.886c0-.584-.312-1.123-.817-1.416l-6.739-3.891a1.633 1.633 0 0 0-.817-.219' fill='#455A64'/><path d='M96.027 132.636l46.576 26.891c1.204.695 1.979 1.587 2.242 2.541l-.01.007-81.374 46.982h-.001c-1.654-.152-3.199-.6-4.403-1.295l-46.576-26.891 83.546-48.235' fill='#FAFAFA'/><path d='M63.461 209.174c-.008 0-.015 0-.022-.002-1.693-.156-3.228-.609-4.441-1.309l-46.576-26.89a.118.118 0 0 1 0-.203l83.546-48.235a.117.117 0 0 1 .117 0l46.576 26.891c1.227.708 2.021 1.612 2.296 2.611a.116.116 0 0 1-.042.124l-.021.016-81.375 46.981a.11.11 0 0 1-.058.016zm-50.747-28.303l46.401 26.79c1.178.68 2.671 1.121 4.32 1.276l81.272-46.922c-.279-.907-1.025-1.73-2.163-2.387l-46.517-26.857-83.313 48.1z' fill='#607D8B'/><path d='M148.327 165.471a5.85 5.85 0 0 1-.546.001c-1.894-.083-3.302-1.038-3.145-2.132a2.693 2.693 0 0 0-.072-1.105l-81.103 46.822c.628.058 1.272.073 1.918.042.182-.009.364-.009.546-.001 1.894.083 3.302 1.038 3.145 2.132l79.257-45.759' fill='#FFF'/><path d='M69.07 211.347a.118.118 0 0 1-.115-.134c.045-.317-.057-.637-.297-.925-.505-.61-1.555-1.022-2.738-1.074a5.966 5.966 0 0 0-.535.001 14.03 14.03 0 0 1-1.935-.041.117.117 0 0 1-.103-.092.116.116 0 0 1 .055-.126l81.104-46.822a.117.117 0 0 1 .171.07c.104.381.129.768.074 1.153-.045.316.057.637.296.925.506.61 1.555 1.021 2.739 1.073.178.008.357.008.535-.001a.117.117 0 0 1 .064.218l-79.256 45.759a.114.114 0 0 1-.059.016zm-3.405-2.372c.089 0 .177.002.265.006 1.266.056 2.353.488 2.908 1.158.227.274.35.575.36.882l78.685-45.429c-.036 0-.072-.001-.107-.003-1.267-.056-2.354-.489-2.909-1.158-.282-.34-.402-.724-.347-1.107a2.604 2.604 0 0 0-.032-.91L63.846 208.97a13.91 13.91 0 0 0 1.528.012c.097-.005.194-.007.291-.007z' fill='#607D8B'/><path d='M2.208 162.134c-1.001-1.827-.241-4.217 1.698-5.337l56.011-32.344c1.939-1.12 4.324-.546 5.326 1.281l.232.41a9.344 9.344 0 0 0 1.47 2.021l.278.27c3.325 3.214 8.583 3.716 12.888 1.23l7.319-4.22c1.94-1.119 4.324-.546 5.325 1.282l3.25 5.928-83.519 48.229-10.278-18.75z' fill='#FAFAFA'/><path d='M12.486 181.001a.112.112 0 0 1-.031-.005.114.114 0 0 1-.071-.056L2.106 162.19c-1.031-1.88-.249-4.345 1.742-5.494l56.01-32.344a4.328 4.328 0 0 1 2.158-.588c1.415 0 2.65.702 3.311 1.882.01.008.018.017.024.028l.227.414a.122.122 0 0 1 .013.038 9.508 9.508 0 0 0 1.439 1.959l.275.266c1.846 1.786 4.344 2.769 7.031 2.769 1.977 0 3.954-.538 5.717-1.557a.148.148 0 0 1 .035-.013l7.284-4.206a4.321 4.321 0 0 1 2.157-.588c1.427 0 2.672.716 3.329 1.914l3.249 5.929a.116.116 0 0 1-.044.157l-83.518 48.229a.116.116 0 0 1-.059.016zm49.53-57.004c-.704 0-1.41.193-2.041.557l-56.01 32.345c-1.882 1.086-2.624 3.409-1.655 5.179l10.221 18.645 83.317-48.112-3.195-5.829c-.615-1.122-1.783-1.792-3.124-1.792a4.08 4.08 0 0 0-2.04.557l-7.317 4.225a.148.148 0 0 1-.035.013 11.7 11.7 0 0 1-5.801 1.569c-2.748 0-5.303-1.007-7.194-2.835l-.278-.27a9.716 9.716 0 0 1-1.497-2.046.096.096 0 0 1-.013-.037l-.191-.347a.11.11 0 0 1-.023-.029c-.615-1.123-1.783-1.793-3.124-1.793z' fill='#607D8B'/><path d='M42.434 155.808c-2.51-.001-4.697-1.258-5.852-3.365-1.811-3.304-.438-7.634 3.059-9.654l12.291-7.098a7.599 7.599 0 0 1 3.789-1.033c2.51 0 4.697 1.258 5.852 3.365 1.811 3.304.439 7.634-3.059 9.654l-12.291 7.098a7.606 7.606 0 0 1-3.789 1.033zm13.287-20.683a7.128 7.128 0 0 0-3.555.971l-12.291 7.098c-3.279 1.893-4.573 5.942-2.883 9.024 1.071 1.955 3.106 3.122 5.442 3.122a7.13 7.13 0 0 0 3.556-.97l12.291-7.098c3.279-1.893 4.572-5.942 2.883-9.024-1.072-1.955-3.106-3.123-5.443-3.123z' fill='#607D8B'/><path d='M149.588 109.407l6.737 3.89v.887c0 .176.013.36.037.549.011.081.02.161.028.242.14 1.415.973 2.998 2.105 3.999l7.396 6.545c.177.156.358.295.541.415 1.579 1.04 2.95.466 3.062-1.282.049-.784.057-1.595.023-2.429l-.003-.16v-1.151l25.987 15.003v54c0 1.09-.77 1.53-1.72.982l-42.473-24.523c-.95-.548-1.72-1.877-1.72-2.966v-34.033' fill='#FAFAFA'/><path d='M194.553 191.25c-.257 0-.54-.085-.831-.253l-42.472-24.521c-.981-.567-1.779-1.943-1.779-3.068v-34.033h.234v34.033c0 1.051.745 2.336 1.661 2.866l42.473 24.521c.424.245.816.288 1.103.122.285-.164.442-.52.442-1.002v-53.933l-25.753-14.868.003 1.106c.034.832.026 1.654-.024 2.439-.054.844-.396 1.464-.963 1.746-.619.309-1.45.173-2.28-.373a5.023 5.023 0 0 1-.553-.426l-7.397-6.544c-1.158-1.026-1.999-2.625-2.143-4.076a9.624 9.624 0 0 0-.027-.238 4.241 4.241 0 0 1-.038-.564v-.82l-6.68-3.856.117-.202 6.738 3.89.058.034v.954c0 .171.012.351.036.533.011.083.021.165.029.246.138 1.395.948 2.935 2.065 3.923l7.397 6.545c.173.153.35.289.527.406.758.499 1.504.63 2.047.359.49-.243.786-.795.834-1.551.05-.778.057-1.591.024-2.417l-.004-.163v-1.355l.175.1 25.987 15.004.059.033v54.068c0 .569-.198.996-.559 1.204a1.002 1.002 0 0 1-.506.131' fill='#607D8B'/><path d='M145.685 163.161l24.115 13.922-25.978 14.998-1.462-.307c-6.534-2.17-13.628-3.728-21.019-4.616-4.365-.524-8.663 1.096-9.598 3.62a2.746 2.746 0 0 0-.011 1.928c1.538 4.267 4.236 8.363 7.995 12.135l.532.845-25.977 14.997-24.115-13.922 75.518-43.6' fill='#FFF'/><path d='M94.282 220.818l-.059-.033-24.29-14.024.175-.101 75.577-43.634.058.033 24.29 14.024-26.191 15.122-.045-.01-1.461-.307c-6.549-2.174-13.613-3.725-21.009-4.614a13.744 13.744 0 0 0-1.638-.097c-3.758 0-7.054 1.531-7.837 3.642a2.62 2.62 0 0 0-.01 1.848c1.535 4.258 4.216 8.326 7.968 12.091l.016.021.526.835.006.01.064.102-.105.061-25.977 14.998-.058.033zm-23.881-14.057l23.881 13.788 24.802-14.32c.546-.315.846-.489 1.017-.575l-.466-.74c-3.771-3.787-6.467-7.881-8.013-12.168a2.851 2.851 0 0 1 .011-2.008c.815-2.199 4.203-3.795 8.056-3.795.557 0 1.117.033 1.666.099 7.412.891 14.491 2.445 21.041 4.621.836.175 1.215.254 1.39.304l25.78-14.884-23.881-13.788-75.284 43.466z' fill='#607D8B'/><path d='M167.23 125.979v50.871l-27.321 15.773-6.461-14.167c-.91-1.996-3.428-1.738-5.624.574a10.238 10.238 0 0 0-2.33 4.018l-6.46 21.628-27.322 15.774v-50.871l75.518-43.6' fill='#FFF'/><path d='M91.712 220.567a.127.127 0 0 1-.059-.016.118.118 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.519-43.6a.117.117 0 0 1 .175.101v50.871c0 .041-.023.08-.059.1l-27.321 15.775a.118.118 0 0 1-.094.01.12.12 0 0 1-.071-.063l-6.46-14.168c-.375-.822-1.062-1.275-1.934-1.275-1.089 0-2.364.686-3.5 1.881a10.206 10.206 0 0 0-2.302 3.972l-6.46 21.627a.118.118 0 0 1-.054.068L91.77 220.551a.12.12 0 0 1-.058.016zm.117-50.92v50.601l27.106-15.65 6.447-21.583a10.286 10.286 0 0 1 2.357-4.065c1.18-1.242 2.517-1.954 3.669-1.954.969 0 1.731.501 2.146 1.411l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M168.543 126.213v50.87l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.624.574a10.248 10.248 0 0 0-2.33 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6' fill='#FFF'/><path d='M93.025 220.8a.123.123 0 0 1-.059-.015.12.12 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.518-43.6a.112.112 0 0 1 .117 0c.036.02.059.059.059.1v50.871a.116.116 0 0 1-.059.101l-27.321 15.774a.111.111 0 0 1-.094.01.115.115 0 0 1-.071-.062l-6.46-14.168c-.375-.823-1.062-1.275-1.935-1.275-1.088 0-2.363.685-3.499 1.881a10.19 10.19 0 0 0-2.302 3.971l-6.461 21.628a.108.108 0 0 1-.053.067l-27.322 15.775a.12.12 0 0 1-.058.015zm.117-50.919v50.6l27.106-15.649 6.447-21.584a10.293 10.293 0 0 1 2.357-4.065c1.179-1.241 2.516-1.954 3.668-1.954.969 0 1.732.502 2.147 1.412l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M169.8 177.083l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.625.574a10.246 10.246 0 0 0-2.329 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6v50.87z' fill='#FAFAFA'/><path d='M94.282 220.917a.234.234 0 0 1-.234-.233v-50.871c0-.083.045-.161.117-.202l75.518-43.601a.234.234 0 1 1 .35.202v50.871a.233.233 0 0 1-.116.202l-27.322 15.775a.232.232 0 0 1-.329-.106l-6.461-14.168c-.36-.789-.992-1.206-1.828-1.206-1.056 0-2.301.672-3.415 1.844a10.099 10.099 0 0 0-2.275 3.924l-6.46 21.628a.235.235 0 0 1-.107.136l-27.322 15.774a.23.23 0 0 1-.116.031zm.233-50.969v50.331l26.891-15.525 6.434-21.539a10.41 10.41 0 0 1 2.384-4.112c1.201-1.265 2.569-1.991 3.753-1.991 1.018 0 1.818.526 2.253 1.48l6.354 13.934 26.982-15.578v-50.331l-75.051 43.331z' fill='#607D8B'/><path d='M109.894 199.943c-1.774 0-3.241-.725-4.244-2.12a.224.224 0 0 1 .023-.294.233.233 0 0 1 .301-.023c.78.547 1.705.827 2.75.827 1.323 0 2.754-.439 4.256-1.306 5.311-3.067 9.631-10.518 9.631-16.611 0-1.927-.442-3.56-1.278-4.724a.232.232 0 0 1 .323-.327c1.671 1.172 2.591 3.381 2.591 6.219 0 6.242-4.426 13.863-9.865 17.003-1.574.908-3.084 1.356-4.488 1.356zm-2.969-1.542c.813.651 1.82.877 2.968.877h.001c1.321 0 2.753-.327 4.254-1.194 5.311-3.067 9.632-10.463 9.632-16.556 0-1.979-.463-3.599-1.326-4.761.411 1.035.625 2.275.625 3.635 0 6.243-4.426 13.883-9.865 17.023-1.574.909-3.084 1.317-4.49 1.317-.641 0-1.243-.149-1.799-.341z' fill='#607D8B'/><path d='M113.097 197.23c5.384-3.108 9.748-10.636 9.748-16.814 0-2.051-.483-3.692-1.323-4.86-1.784-1.252-4.374-1.194-7.257.47-5.384 3.108-9.748 10.636-9.748 16.814 0 2.051.483 3.692 1.323 4.86 1.784 1.252 4.374 1.194 7.257-.47' fill='#FAFAFA'/><path d='M108.724 198.614c-1.142 0-2.158-.213-3.019-.817-.021-.014-.04.014-.055-.007-.894-1.244-1.367-2.948-1.367-4.973 0-6.242 4.426-13.864 9.865-17.005 1.574-.908 3.084-1.363 4.49-1.363 1.142 0 2.158.309 3.018.913a.23.23 0 0 1 .056.056c.894 1.244 1.367 2.972 1.367 4.997 0 6.243-4.426 13.783-9.865 16.923-1.574.909-3.084 1.276-4.49 1.276zm-2.718-1.109c.774.532 1.688.776 2.718.776 1.323 0 2.754-.413 4.256-1.28 5.311-3.066 9.631-10.505 9.631-16.598 0-1.909-.434-3.523-1.255-4.685-.774-.533-1.688-.799-2.718-.799-1.323 0-2.755.441-4.256 1.308-5.311 3.066-9.631 10.506-9.631 16.599 0 1.909.434 3.517 1.255 4.679z' fill='#607D8B'/><path d='M149.318 114.262l-9.984 8.878 15.893 11.031 5.589-6.112-11.498-13.797' fill='#FAFAFA'/><path d='M169.676 120.84l-9.748 5.627c-3.642 2.103-9.528 2.113-13.147.024-3.62-2.089-3.601-5.488.041-7.591l9.495-5.608-6.729-3.885-81.836 47.071 45.923 26.514 3.081-1.779c.631-.365.869-.898.618-1.39-2.357-4.632-2.593-9.546-.683-14.262 5.638-13.92 24.509-24.815 48.618-28.07 8.169-1.103 16.68-.967 24.704.394.852.145 1.776.008 2.407-.357l3.081-1.778-25.825-14.91' fill='#FAFAFA'/><path d='M113.675 183.459a.47.47 0 0 1-.233-.062l-45.924-26.515a.468.468 0 0 1 .001-.809l81.836-47.071a.467.467 0 0 1 .466 0l6.729 3.885a.467.467 0 0 1-.467.809l-6.496-3.75-80.9 46.533 44.988 25.973 2.848-1.644c.192-.111.62-.409.435-.773-2.416-4.748-2.658-9.814-.7-14.65 2.806-6.927 8.885-13.242 17.582-18.263 8.657-4.998 19.518-8.489 31.407-10.094 8.198-1.107 16.79-.97 24.844.397.739.125 1.561.007 2.095-.301l2.381-1.374-25.125-14.506a.467.467 0 0 1 .467-.809l25.825 14.91a.467.467 0 0 1 0 .809l-3.081 1.779c-.721.417-1.763.575-2.718.413-7.963-1.351-16.457-1.486-24.563-.392-11.77 1.589-22.512 5.039-31.065 9.977-8.514 4.916-14.456 11.073-17.183 17.805-1.854 4.578-1.623 9.376.666 13.875.37.725.055 1.513-.8 2.006l-3.081 1.78a.476.476 0 0 1-.234.062' fill='#455A64'/><path d='M153.316 128.279c-2.413 0-4.821-.528-6.652-1.586-1.818-1.049-2.82-2.461-2.82-3.975 0-1.527 1.016-2.955 2.861-4.02l9.493-5.607a.233.233 0 1 1 .238.402l-9.496 5.609c-1.696.979-2.628 2.263-2.628 3.616 0 1.34.918 2.608 2.585 3.571 3.549 2.049 9.343 2.038 12.914-.024l9.748-5.628a.234.234 0 0 1 .234.405l-9.748 5.628c-1.858 1.072-4.296 1.609-6.729 1.609' fill='#607D8B'/><path d='M113.675 182.992l-45.913-26.508M113.675 183.342a.346.346 0 0 1-.175-.047l-45.913-26.508a.35.35 0 1 1 .35-.607l45.913 26.508a.35.35 0 0 1-.175.654' fill='#455A64'/><path d='M67.762 156.484v54.001c0 1.09.77 2.418 1.72 2.967l42.473 24.521c.95.549 1.72.11 1.72-.98v-54.001' fill='#FAFAFA'/><path d='M112.727 238.561c-.297 0-.62-.095-.947-.285l-42.473-24.521c-1.063-.613-1.895-2.05-1.895-3.27v-54.001a.35.35 0 1 1 .701 0v54.001c0 .96.707 2.18 1.544 2.663l42.473 24.522c.344.198.661.243.87.122.206-.119.325-.411.325-.799v-54.001a.35.35 0 1 1 .7 0v54.001c0 .655-.239 1.154-.675 1.406a1.235 1.235 0 0 1-.623.162' fill='#455A64'/><path d='M112.86 147.512h-.001c-2.318 0-4.499-.522-6.142-1.471-1.705-.984-2.643-2.315-2.643-3.749 0-1.445.952-2.791 2.68-3.788l12.041-6.953c1.668-.962 3.874-1.493 6.212-1.493 2.318 0 4.499.523 6.143 1.472 1.704.984 2.643 2.315 2.643 3.748 0 1.446-.952 2.791-2.68 3.789l-12.042 6.952c-1.668.963-3.874 1.493-6.211 1.493zm12.147-16.753c-2.217 0-4.298.497-5.861 1.399l-12.042 6.952c-1.502.868-2.33 1.998-2.33 3.182 0 1.173.815 2.289 2.293 3.142 1.538.889 3.596 1.378 5.792 1.378h.001c2.216 0 4.298-.497 5.861-1.399l12.041-6.953c1.502-.867 2.33-1.997 2.33-3.182 0-1.172-.814-2.288-2.292-3.142-1.539-.888-3.596-1.377-5.793-1.377z' fill='#607D8B'/><path d='M165.63 123.219l-5.734 3.311c-3.167 1.828-8.286 1.837-11.433.02-3.147-1.817-3.131-4.772.036-6.601l5.734-3.31 11.397 6.58' fill='#FAFAFA'/><path d='M154.233 117.448l9.995 5.771-4.682 2.704c-1.434.827-3.352 1.283-5.399 1.283-2.029 0-3.923-.449-5.333-1.263-1.29-.744-2-1.694-2-2.674 0-.991.723-1.955 2.036-2.713l5.383-3.108m0-.809l-5.734 3.31c-3.167 1.829-3.183 4.784-.036 6.601 1.568.905 3.623 1.357 5.684 1.357 2.077 0 4.159-.46 5.749-1.377l5.734-3.311-11.397-6.58M145.445 179.667c-1.773 0-3.241-.85-4.243-2.245-.067-.092-.057-.275.023-.356.08-.081.207-.12.3-.055.781.548 1.706.812 2.751.811 1.322 0 2.754-.446 4.256-1.313 5.31-3.066 9.631-10.522 9.631-16.615 0-1.927-.442-3.562-1.279-4.726a.235.235 0 0 1 .024-.301.232.232 0 0 1 .3-.027c1.67 1.172 2.59 3.38 2.59 6.219 0 6.242-4.425 13.987-9.865 17.127-1.573.908-3.083 1.481-4.488 1.481zM142.476 178c.814.651 1.82 1.002 2.969 1.002 1.322 0 2.753-.452 4.255-1.32 5.31-3.065 9.631-10.523 9.631-16.617 0-1.98-.463-3.63-1.325-4.793.411 1.035.624 2.26.624 3.62 0 6.242-4.425 13.875-9.865 17.015-1.573.909-3.084 1.376-4.489 1.376a5.49 5.49 0 0 1-1.8-.283z' fill='#607D8B'/><path d='M148.648 176.704c5.384-3.108 9.748-10.636 9.748-16.813 0-2.052-.483-3.693-1.322-4.861-1.785-1.252-4.375-1.194-7.258.471-5.383 3.108-9.748 10.636-9.748 16.813 0 2.051.484 3.692 1.323 4.86 1.785 1.253 4.374 1.195 7.257-.47' fill='#FAFAFA'/><path d='M144.276 178.276c-1.143 0-2.158-.307-3.019-.911a.217.217 0 0 1-.055-.054c-.895-1.244-1.367-2.972-1.367-4.997 0-6.241 4.425-13.875 9.865-17.016 1.573-.908 3.084-1.369 4.489-1.369 1.143 0 2.158.307 3.019.91a.24.24 0 0 1 .055.055c.894 1.244 1.367 2.971 1.367 4.997 0 6.241-4.425 13.875-9.865 17.016-1.573.908-3.084 1.369-4.489 1.369zm-2.718-1.172c.773.533 1.687.901 2.718.901 1.322 0 2.754-.538 4.256-1.405 5.31-3.066 9.631-10.567 9.631-16.661 0-1.908-.434-3.554-1.256-4.716-.774-.532-1.688-.814-2.718-.814-1.322 0-2.754.433-4.256 1.3-5.31 3.066-9.631 10.564-9.631 16.657 0 1.91.434 3.576 1.256 4.738z' fill='#607D8B'/><path d='M150.72 172.361l-.363-.295a24.105 24.105 0 0 0 2.148-3.128 24.05 24.05 0 0 0 1.977-4.375l.443.149a24.54 24.54 0 0 1-2.015 4.46 24.61 24.61 0 0 1-2.19 3.189M115.917 191.514l-.363-.294a24.174 24.174 0 0 0 2.148-3.128 24.038 24.038 0 0 0 1.976-4.375l.443.148a24.48 24.48 0 0 1-2.015 4.461 24.662 24.662 0 0 1-2.189 3.188M114 237.476V182.584 237.476' fill='#607D8B'/><g><path d='M81.822 37.474c.017-.135-.075-.28-.267-.392-.327-.188-.826-.21-1.109-.045l-6.012 3.471c-.131.076-.194.178-.191.285.002.132.002.461.002.578v.043l-.007.128-6.591 3.779c-.001 0-2.077 1.046-2.787 5.192 0 0-.912 6.961-.898 19.745.015 12.57.606 17.07 1.167 21.351.22 1.684 3.001 2.125 3.001 2.125.331.04.698-.027 1.08-.248l75.273-43.551c1.808-1.069 2.667-3.719 3.056-6.284 1.213-7.99 1.675-32.978-.275-39.878-.196-.693-.51-1.083-.868-1.282l-2.086-.79c-.727.028-1.416.467-1.534.535L82.032 37.072l-.21.402' fill='#FFF'/><path d='M144.311 1.701l2.085.79c.358.199.672.589.868 1.282 1.949 6.9 1.487 31.887.275 39.878-.39 2.565-1.249 5.215-3.056 6.284L69.21 93.486a1.78 1.78 0 0 1-.896.258l-.183-.011c0 .001-2.782-.44-3.003-2.124-.56-4.282-1.151-8.781-1.165-21.351-.015-12.784.897-19.745.897-19.745.71-4.146 2.787-5.192 2.787-5.192l6.591-3.779.007-.128v-.043c0-.117 0-.446-.002-.578-.003-.107.059-.21.191-.285l6.012-3.472a.98.98 0 0 1 .481-.11c.218 0 .449.053.627.156.193.112.285.258.268.392l.211-.402 60.744-34.836c.117-.068.806-.507 1.534-.535m0-.997l-.039.001c-.618.023-1.283.244-1.974.656l-.021.012-60.519 34.706a2.358 2.358 0 0 0-.831-.15c-.365 0-.704.084-.98.244l-6.012 3.471c-.442.255-.699.69-.689 1.166l.001.15-6.08 3.487c-.373.199-2.542 1.531-3.29 5.898l-.006.039c-.009.07-.92 7.173-.906 19.875.014 12.62.603 17.116 1.172 21.465l.002.015c.308 2.355 3.475 2.923 3.836 2.98l.034.004c.101.013.204.019.305.019a2.77 2.77 0 0 0 1.396-.392l75.273-43.552c1.811-1.071 2.999-3.423 3.542-6.997 1.186-7.814 1.734-33.096-.301-40.299-.253-.893-.704-1.527-1.343-1.882l-.132-.062-2.085-.789a.973.973 0 0 0-.353-.065' fill='#455A64'/><path d='M128.267 11.565l1.495.434-56.339 32.326' fill='#FFF'/><path d='M74.202 90.545a.5.5 0 0 1-.25-.931l18.437-10.645a.499.499 0 1 1 .499.864L74.451 90.478l-.249.067M75.764 42.654l-.108-.062.046-.171 5.135-2.964.17.045-.045.171-5.135 2.964-.063.017M70.52 90.375V46.421l.063-.036L137.84 7.554v43.954l-.062.036L70.52 90.375zm.25-43.811v43.38l66.821-38.579V7.985L70.77 46.564z' fill='#607D8B'/><path d='M86.986 83.182c-.23.149-.612.384-.849.523l-11.505 6.701c-.237.139-.206.252.068.252h.565c.275 0 .693-.113.93-.252L87.7 83.705c.237-.139.428-.253.425-.256a11.29 11.29 0 0 1-.006-.503c0-.274-.188-.377-.418-.227l-.715.463' fill='#607D8B'/><path d='M75.266 90.782H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.236-.138.615-.371.844-.519l.715-.464a.488.488 0 0 1 .266-.089c.172 0 .345.13.345.421 0 .214.001.363.003.437l.006.004-.004.069c-.003.075-.003.075-.486.356l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.108.866-.234l11.505-6.702c.168-.098.294-.173.361-.214-.004-.084-.004-.218-.004-.437l-.095-.171-.131.049-.714.463c-.232.15-.616.386-.854.525l-11.505 6.702-.029.018z' fill='#607D8B'/><path d='M75.266 89.871H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.258-.151.694-.268.993-.268h.565c.2 0 .316.056.346.166.03.11-.043.217-.215.317l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.107.866-.234l11.505-6.702.03-.018-.035-.001h-.565c-.252 0-.649.108-.867.234l-11.505 6.702-.029.018zM74.37 90.801v-1.247 1.247' fill='#607D8B'/><path d='M68.13 93.901c-.751-.093-1.314-.737-1.439-1.376-.831-4.238-1.151-8.782-1.165-21.352-.015-12.784.897-19.745.897-19.745.711-4.146 2.787-5.192 2.787-5.192l74.859-43.219c.223-.129 2.487-1.584 3.195.923 1.95 6.9 1.488 31.887.275 39.878-.389 2.565-1.248 5.215-3.056 6.283L69.21 93.653c-.382.221-.749.288-1.08.248 0 0-2.781-.441-3.001-2.125-.561-4.281-1.152-8.781-1.167-21.351-.014-12.784.898-19.745.898-19.745.71-4.146 2.787-5.191 2.787-5.191l6.598-3.81.871-.119 6.599-3.83.046-.461L68.13 93.901' fill='#FAFAFA'/><path d='M68.317 94.161l-.215-.013h-.001l-.244-.047c-.719-.156-2.772-.736-2.976-2.292-.568-4.34-1.154-8.813-1.168-21.384-.014-12.654.891-19.707.9-19.777.725-4.231 2.832-5.338 2.922-5.382l6.628-3.827.87-.119 6.446-3.742.034-.334a.248.248 0 0 1 .273-.223.248.248 0 0 1 .223.272l-.059.589-6.752 3.919-.87.118-6.556 3.785c-.031.016-1.99 1.068-2.666 5.018-.007.06-.908 7.086-.894 19.702.014 12.539.597 16.996 1.161 21.305.091.691.689 1.154 1.309 1.452a1.95 1.95 0 0 1-.236-.609c-.781-3.984-1.155-8.202-1.17-21.399-.014-12.653.891-19.707.9-19.777.725-4.231 2.832-5.337 2.922-5.382-.004.001 74.444-42.98 74.846-43.212l.028-.017c.904-.538 1.72-.688 2.36-.433.555.221.949.733 1.172 1.52 2.014 7.128 1.46 32.219.281 39.983-.507 3.341-1.575 5.515-3.175 6.462L69.335 93.869a2.023 2.023 0 0 1-1.018.292zm-.147-.507c.293.036.604-.037.915-.217l75.273-43.551c1.823-1.078 2.602-3.915 2.934-6.106 1.174-7.731 1.731-32.695-.268-39.772-.178-.631-.473-1.032-.876-1.192-.484-.193-1.166-.052-1.921.397l-.034.021-74.858 43.218c-.031.017-1.989 1.069-2.666 5.019-.007.059-.908 7.085-.894 19.702.015 13.155.386 17.351 1.161 21.303.09.461.476.983 1.037 1.139.114.025.185.037.196.039h.001z' fill='#455A64'/><path d='M69.317 68.982c.489-.281.885-.056.885.505 0 .56-.396 1.243-.885 1.525-.488.282-.884.057-.884-.504 0-.56.396-1.243.884-1.526' fill='#FFF'/><path d='M68.92 71.133c-.289 0-.487-.228-.487-.625 0-.56.396-1.243.884-1.526a.812.812 0 0 1 .397-.121c.289 0 .488.229.488.626 0 .56-.396 1.243-.885 1.525a.812.812 0 0 1-.397.121m.794-2.459a.976.976 0 0 0-.49.147c-.548.317-.978 1.058-.978 1.687 0 .486.271.812.674.812a.985.985 0 0 0 .491-.146c.548-.317.978-1.057.978-1.687 0-.486-.272-.813-.675-.813' fill='#8097A2'/><path d='M68.92 70.947c-.271 0-.299-.307-.299-.439 0-.491.361-1.116.79-1.363a.632.632 0 0 1 .303-.096c.272 0 .301.306.301.438 0 .491-.363 1.116-.791 1.364a.629.629 0 0 1-.304.096m.794-2.086a.812.812 0 0 0-.397.121c-.488.283-.884.966-.884 1.526 0 .397.198.625.487.625a.812.812 0 0 0 .397-.121c.489-.282.885-.965.885-1.525 0-.397-.199-.626-.488-.626' fill='#8097A2'/><path d='M69.444 85.35c.264-.152.477-.031.477.272 0 .303-.213.67-.477.822-.263.153-.477.031-.477-.271 0-.302.214-.671.477-.823' fill='#FFF'/><path d='M69.23 86.51c-.156 0-.263-.123-.263-.337 0-.302.214-.671.477-.823a.431.431 0 0 1 .214-.066c.156 0 .263.124.263.338 0 .303-.213.67-.477.822a.431.431 0 0 1-.214.066m.428-1.412c-.1 0-.203.029-.307.09-.32.185-.57.618-.57.985 0 .309.185.524.449.524a.63.63 0 0 0 .308-.09c.32-.185.57-.618.57-.985 0-.309-.185-.524-.45-.524' fill='#8097A2'/><path d='M69.23 86.322l-.076-.149c0-.235.179-.544.384-.661l.12-.041.076.151c0 .234-.179.542-.383.66l-.121.04m.428-1.038a.431.431 0 0 0-.214.066c-.263.152-.477.521-.477.823 0 .214.107.337.263.337a.431.431 0 0 0 .214-.066c.264-.152.477-.519.477-.822 0-.214-.107-.338-.263-.338' fill='#8097A2'/><path d='M139.278 7.769v43.667L72.208 90.16V46.493l67.07-38.724' fill='#455A64'/><path d='M72.083 90.375V46.421l.063-.036 67.257-38.831v43.954l-.062.036-67.258 38.831zm.25-43.811v43.38l66.821-38.579V7.985L72.333 46.564z' fill='#607D8B'/></g><path d='M125.737 88.647l-7.639 3.334V84l-11.459 4.713v8.269L99 100.315l13.369 3.646 13.368-15.314' fill='#455A64'/></g></svg>"
-                            function Ee() {
-                              this.loadIcon_()
-                              var e = document.createElement('div')
-                              ;((o = e.style).position = 'fixed'),
-                                (o.top = 0),
-                                (o.right = 0),
-                                (o.bottom = 0),
-                                (o.left = 0),
-                                (o.backgroundColor = 'gray'),
-                                (o.fontFamily = 'sans-serif'),
-                                (o.zIndex = 1e6)
-                              var t = document.createElement('img')
-                              ;(t.src = this.icon),
-                                ((o = t.style).marginLeft = '25%'),
-                                (o.marginTop = '25%'),
-                                (o.width = '50%'),
-                                e.appendChild(t)
-                              var n = document.createElement('div')
-                              ;((o = n.style).textAlign = 'center'),
-                                (o.fontSize = '16px'),
-                                (o.lineHeight = '24px'),
-                                (o.margin = '24px 25%'),
-                                (o.width = '50%'),
-                                (n.innerHTML = 'Place your phone into your Cardboard viewer.'),
-                                e.appendChild(n)
-                              var r = document.createElement('div')
-                              ;((o = r.style).backgroundColor = '#CFD8DC'),
-                                (o.position = 'fixed'),
-                                (o.bottom = 0),
-                                (o.width = '100%'),
-                                (o.height = '48px'),
-                                (o.padding = '14px 24px'),
-                                (o.boxSizing = 'border-box'),
-                                (o.color = '#656A6B'),
-                                e.appendChild(r)
-                              var i = document.createElement('div')
-                              ;(i.style.float = 'left'), (i.innerHTML = 'No Cardboard viewer?')
-                              var o,
-                                a = document.createElement('a')
-                              ;(a.href = 'https://www.google.com/get/cardboard/get-cardboard/'),
-                                (a.innerHTML = 'get one'),
-                                (a.target = '_blank'),
-                                ((o = a.style).float = 'right'),
-                                (o.fontWeight = 600),
-                                (o.textTransform = 'uppercase'),
-                                (o.borderLeft = '1px solid gray'),
-                                (o.paddingLeft = '24px'),
-                                (o.textDecoration = 'none'),
-                                (o.color = '#656A6B'),
-                                r.appendChild(i),
-                                r.appendChild(a),
-                                (this.overlay = e),
-                                (this.text = n),
-                                this.hide()
-                            }
-                            ;(Ee.prototype.show = function (e) {
-                              e || this.overlay.parentElement
-                                ? e &&
-                                  (this.overlay.parentElement &&
-                                    this.overlay.parentElement != e &&
-                                    this.overlay.parentElement.removeChild(this.overlay),
-                                  e.appendChild(this.overlay))
-                                : document.body.appendChild(this.overlay),
-                                (this.overlay.style.display = 'block')
-                              var t = this.overlay.querySelector('img').style
-                              v()
-                                ? ((t.width = '20%'), (t.marginLeft = '40%'), (t.marginTop = '3%'))
-                                : ((t.width = '50%'), (t.marginLeft = '25%'), (t.marginTop = '25%'))
-                            }),
-                              (Ee.prototype.hide = function () {
-                                this.overlay.style.display = 'none'
-                              }),
-                              (Ee.prototype.showTemporarily = function (e, t) {
-                                this.show(t), (this.timer = setTimeout(this.hide.bind(this), e))
-                              }),
-                              (Ee.prototype.disableShowTemporarily = function () {
-                                clearTimeout(this.timer)
-                              }),
-                              (Ee.prototype.update = function () {
-                                this.disableShowTemporarily(),
-                                  !v() && T() ? this.show() : this.hide()
-                              }),
-                              (Ee.prototype.loadIcon_ = function () {
-                                this.icon = a('image/svg+xml', xe)
-                              })
-                            var Me = 'CardboardV1',
-                              _e = 'WEBVR_CARDBOARD_VIEWER',
-                              Te = 'webvr-polyfill-viewer-selector'
-                            function Se(e) {
-                              try {
-                                this.selectedKey = localStorage.getItem(_e)
-                              } catch (t) {
-                                console.error('Failed to load viewer profile: %s', t)
-                              }
-                              this.selectedKey || (this.selectedKey = e || Me),
-                                (this.dialog = this.createDialog_(le.Viewers)),
-                                (this.root = null),
-                                (this.onChangeCallbacks_ = [])
-                            }
-                            function Ce(e) {
-                              return e &&
-                                e.__esModule &&
-                                Object.prototype.hasOwnProperty.call(e, 'default')
-                                ? e.default
-                                : e
-                            }
-                            function Le(e, t) {
-                              return e((t = { exports: {} }), t.exports), t.exports
-                            }
-                            ;(Se.prototype.show = function (e) {
-                              ;(this.root = e),
-                                e.appendChild(this.dialog),
-                                (this.dialog.querySelector('#' + this.selectedKey).checked = !0),
-                                (this.dialog.style.display = 'block')
-                            }),
-                              (Se.prototype.hide = function () {
-                                this.root &&
-                                  this.root.contains(this.dialog) &&
-                                  this.root.removeChild(this.dialog),
-                                  (this.dialog.style.display = 'none')
-                              }),
-                              (Se.prototype.getCurrentViewer = function () {
-                                return le.Viewers[this.selectedKey]
-                              }),
-                              (Se.prototype.getSelectedKey_ = function () {
-                                var e = this.dialog.querySelector('input[name=field]:checked')
-                                return e ? e.id : null
-                              }),
-                              (Se.prototype.onChange = function (e) {
-                                this.onChangeCallbacks_.push(e)
-                              }),
-                              (Se.prototype.fireOnChange_ = function (e) {
-                                for (var t = 0; t < this.onChangeCallbacks_.length; t++)
-                                  this.onChangeCallbacks_[t](e)
-                              }),
-                              (Se.prototype.onSave_ = function () {
-                                if (
-                                  ((this.selectedKey = this.getSelectedKey_()),
-                                  this.selectedKey && le.Viewers[this.selectedKey])
-                                ) {
-                                  this.fireOnChange_(le.Viewers[this.selectedKey])
-                                  try {
-                                    localStorage.setItem(_e, this.selectedKey)
-                                  } catch (e) {
-                                    console.error('Failed to save viewer profile: %s', e)
-                                  }
-                                  this.hide()
-                                } else
-                                  console.error('ViewerSelector.onSave_: this should never happen!')
-                              }),
-                              (Se.prototype.createDialog_ = function (e) {
-                                var t = document.createElement('div')
-                                t.classList.add(Te), (t.style.display = 'none')
-                                var n = document.createElement('div')
-                                ;((o = n.style).position = 'fixed'),
-                                  (o.left = 0),
-                                  (o.top = 0),
-                                  (o.width = '100%'),
-                                  (o.height = '100%'),
-                                  (o.background = 'rgba(0, 0, 0, 0.3)'),
-                                  n.addEventListener('click', this.hide.bind(this))
-                                var r = 280,
-                                  i = document.createElement('div'),
-                                  o = i.style
-                                for (var a in ((o.boxSizing = 'border-box'),
-                                (o.position = 'fixed'),
-                                (o.top = '24px'),
-                                (o.left = '50%'),
-                                (o.marginLeft = -r / 2 + 'px'),
-                                (o.width = r + 'px'),
-                                (o.padding = '24px'),
-                                (o.overflow = 'hidden'),
-                                (o.background = '#fafafa'),
-                                (o.fontFamily = "'Roboto', sans-serif"),
-                                (o.boxShadow = '0px 5px 20px #666'),
-                                i.appendChild(this.createH1_('Select your viewer')),
-                                e))
-                                  i.appendChild(this.createChoice_(a, e[a].label))
-                                return (
-                                  i.appendChild(
-                                    this.createButton_('Save', this.onSave_.bind(this)),
-                                  ),
-                                  t.appendChild(n),
-                                  t.appendChild(i),
-                                  t
-                                )
-                              }),
-                              (Se.prototype.createH1_ = function (e) {
-                                var t = document.createElement('h1'),
-                                  n = t.style
-                                return (
-                                  (n.color = 'black'),
-                                  (n.fontSize = '20px'),
-                                  (n.fontWeight = 'bold'),
-                                  (n.marginTop = 0),
-                                  (n.marginBottom = '24px'),
-                                  (t.innerHTML = e),
-                                  t
-                                )
-                              }),
-                              (Se.prototype.createChoice_ = function (e, t) {
-                                var n = document.createElement('div')
-                                ;(n.style.marginTop = '8px'), (n.style.color = 'black')
-                                var r = document.createElement('input')
-                                ;(r.style.fontSize = '30px'),
-                                  r.setAttribute('id', e),
-                                  r.setAttribute('type', 'radio'),
-                                  r.setAttribute('value', e),
-                                  r.setAttribute('name', 'field')
-                                var i = document.createElement('label')
-                                return (
-                                  (i.style.marginLeft = '4px'),
-                                  i.setAttribute('for', e),
-                                  (i.innerHTML = t),
-                                  n.appendChild(r),
-                                  n.appendChild(i),
-                                  n
-                                )
-                              }),
-                              (Se.prototype.createButton_ = function (e, t) {
-                                var n = document.createElement('button')
-                                n.innerHTML = e
-                                var r = n.style
-                                return (
-                                  (r.float = 'right'),
-                                  (r.textTransform = 'uppercase'),
-                                  (r.color = '#1094f7'),
-                                  (r.fontSize = '14px'),
-                                  (r.letterSpacing = 0),
-                                  (r.border = 0),
-                                  (r.background = 'none'),
-                                  (r.marginTop = '16px'),
-                                  n.addEventListener('click', t),
-                                  n
-                                )
-                              }),
-                              'undefined' !== typeof window
-                                ? window
-                                : 'undefined' !== typeof t || ('undefined' !== typeof self && self)
-                            var Re = Ce(
-                                Le(function (e, t) {
-                                  var n
-                                  ;(n = function () {
-                                    return (function (e) {
-                                      var t = {}
-                                      function n(r) {
-                                        if (t[r]) return t[r].exports
-                                        var i = (t[r] = { i: r, l: !1, exports: {} })
-                                        return (
-                                          e[r].call(i.exports, i, i.exports, n),
-                                          (i.l = !0),
-                                          i.exports
-                                        )
-                                      }
-                                      return (
-                                        (n.m = e),
-                                        (n.c = t),
-                                        (n.d = function (e, t, r) {
-                                          n.o(e, t) ||
-                                            Object.defineProperty(e, t, {
-                                              configurable: !1,
-                                              enumerable: !0,
-                                              get: r,
-                                            })
-                                        }),
-                                        (n.n = function (e) {
-                                          var t =
-                                            e && e.__esModule
-                                              ? function () {
-                                                  return e.default
-                                                }
-                                              : function () {
-                                                  return e
-                                                }
-                                          return n.d(t, 'a', t), t
-                                        }),
-                                        (n.o = function (e, t) {
-                                          return Object.prototype.hasOwnProperty.call(e, t)
-                                        }),
-                                        (n.p = ''),
-                                        n((n.s = 0))
-                                      )
-                                    })([
-                                      function (e, t, n) {
-                                        var r = (function () {
-                                          function e(e, t) {
-                                            for (var n = 0; n < t.length; n++) {
-                                              var r = t[n]
-                                              ;(r.enumerable = r.enumerable || !1),
-                                                (r.configurable = !0),
-                                                'value' in r && (r.writable = !0),
-                                                Object.defineProperty(e, r.key, r)
-                                            }
-                                          }
-                                          return function (t, n, r) {
-                                            return n && e(t.prototype, n), r && e(t, r), t
-                                          }
-                                        })()
-                                        function i(e, t) {
-                                          if (!(e instanceof t))
-                                            throw new TypeError('Cannot call a class as a function')
-                                        }
-                                        var o = n(1),
-                                          a =
-                                            'undefined' !== typeof navigator &&
-                                            parseFloat(
-                                              (
-                                                '' +
-                                                (/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(
-                                                  navigator.userAgent,
-                                                ) || [0, ''])[1]
-                                              )
-                                                .replace('undefined', '3_2')
-                                                .replace('_', '.')
-                                                .replace('_', ''),
-                                            ) < 10 &&
-                                            !window.MSStream,
-                                          s = (function () {
-                                            function e() {
-                                              i(this, e),
-                                                a
-                                                  ? (this.noSleepTimer = null)
-                                                  : ((this.noSleepVideo =
-                                                      document.createElement('video')),
-                                                    this.noSleepVideo.setAttribute(
-                                                      'playsinline',
-                                                      '',
-                                                    ),
-                                                    this.noSleepVideo.setAttribute('src', o),
-                                                    this.noSleepVideo.addEventListener(
-                                                      'timeupdate',
-                                                      function (e) {
-                                                        this.noSleepVideo.currentTime > 0.5 &&
-                                                          (this.noSleepVideo.currentTime =
-                                                            Math.random())
-                                                      }.bind(this),
-                                                    ))
-                                            }
-                                            return (
-                                              r(e, [
-                                                {
-                                                  key: 'enable',
-                                                  value: function () {
-                                                    a
-                                                      ? (this.disable(),
-                                                        (this.noSleepTimer = window.setInterval(
-                                                          function () {
-                                                            ;(window.location.href = '/'),
-                                                              window.setTimeout(window.stop, 0)
-                                                          },
-                                                          15e3,
-                                                        )))
-                                                      : this.noSleepVideo.play()
-                                                  },
-                                                },
-                                                {
-                                                  key: 'disable',
-                                                  value: function () {
-                                                    a
-                                                      ? this.noSleepTimer &&
-                                                        (window.clearInterval(this.noSleepTimer),
-                                                        (this.noSleepTimer = null))
-                                                      : this.noSleepVideo.pause()
-                                                  },
-                                                },
-                                              ]),
-                                              e
-                                            )
-                                          })()
-                                        e.exports = s
-                                      },
-                                      function (e, t, n) {
-                                        e.exports =
-                                          'data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA='
-                                      },
-                                    ])
-                                  }),
-                                    (e.exports = n())
-                                }),
-                              ),
-                              Pe = 1e3,
-                              De = [0, 0, 0.5, 1],
-                              Oe = [0.5, 0, 0.5, 1],
-                              Ie = window.requestAnimationFrame,
-                              Be = window.cancelAnimationFrame
-                            function Fe() {
-                              ;(this.leftProjectionMatrix = new Float32Array(16)),
-                                (this.leftViewMatrix = new Float32Array(16)),
-                                (this.rightProjectionMatrix = new Float32Array(16)),
-                                (this.rightViewMatrix = new Float32Array(16)),
-                                (this.pose = null)
-                            }
-                            function ke(e) {
-                              Object.defineProperties(this, {
-                                hasPosition: { writable: !1, enumerable: !0, value: e.hasPosition },
-                                hasExternalDisplay: {
-                                  writable: !1,
-                                  enumerable: !0,
-                                  value: e.hasExternalDisplay,
-                                },
-                                canPresent: { writable: !1, enumerable: !0, value: e.canPresent },
-                                maxLayers: { writable: !1, enumerable: !0, value: e.maxLayers },
-                                hasOrientation: {
-                                  enumerable: !0,
-                                  get: function () {
-                                    return (
-                                      I(
-                                        'VRDisplayCapabilities.prototype.hasOrientation',
-                                        'VRDisplay.prototype.getFrameData',
-                                      ),
-                                      e.hasOrientation
-                                    )
-                                  },
-                                },
-                              })
-                            }
-                            function Ne(e) {
-                              var t = !('wakelock' in (e = e || {})) || e.wakelock
-                              ;(this.isPolyfilled = !0),
-                                (this.displayId = Pe++),
-                                (this.displayName = ''),
-                                (this.depthNear = 0.01),
-                                (this.depthFar = 1e4),
-                                (this.isPresenting = !1),
-                                Object.defineProperty(this, 'isConnected', {
-                                  get: function () {
-                                    return (
-                                      I(
-                                        'VRDisplay.prototype.isConnected',
-                                        'VRDisplayCapabilities.prototype.hasExternalDisplay',
-                                      ),
-                                      !1
-                                    )
-                                  },
-                                }),
-                                (this.capabilities = new ke({
-                                  hasPosition: !1,
-                                  hasOrientation: !1,
-                                  hasExternalDisplay: !1,
-                                  canPresent: !1,
-                                  maxLayers: 1,
-                                })),
-                                (this.stageParameters = null),
-                                (this.waitingForPresent_ = !1),
-                                (this.layer_ = null),
-                                (this.originalParent_ = null),
-                                (this.fullscreenElement_ = null),
-                                (this.fullscreenWrapper_ = null),
-                                (this.fullscreenElementCachedStyle_ = null),
-                                (this.fullscreenEventTarget_ = null),
-                                (this.fullscreenChangeHandler_ = null),
-                                (this.fullscreenErrorHandler_ = null),
-                                t && T() && (this.wakelock_ = new Re())
-                            }
-                            ;(Ne.prototype.getFrameData = function (e) {
-                              return L(e, this._getPose(), this)
-                            }),
-                              (Ne.prototype.getPose = function () {
-                                return (
-                                  I(
-                                    'VRDisplay.prototype.getPose',
-                                    'VRDisplay.prototype.getFrameData',
-                                  ),
-                                  this._getPose()
-                                )
-                              }),
-                              (Ne.prototype.resetPose = function () {
-                                return I('VRDisplay.prototype.resetPose'), this._resetPose()
-                              }),
-                              (Ne.prototype.getImmediatePose = function () {
-                                return (
-                                  I(
-                                    'VRDisplay.prototype.getImmediatePose',
-                                    'VRDisplay.prototype.getFrameData',
-                                  ),
-                                  this._getPose()
-                                )
-                              }),
-                              (Ne.prototype.requestAnimationFrame = function (e) {
-                                return Ie(e)
-                              }),
-                              (Ne.prototype.cancelAnimationFrame = function (e) {
-                                return Be(e)
-                              }),
-                              (Ne.prototype.wrapForFullscreen = function (e) {
-                                if (l()) return e
-                                if (!this.fullscreenWrapper_) {
-                                  this.fullscreenWrapper_ = document.createElement('div')
-                                  var t = [
-                                    'height: ' +
-                                      Math.min(screen.height, screen.width) +
-                                      'px !important',
-                                    'top: 0 !important',
-                                    'left: 0 !important',
-                                    'right: 0 !important',
-                                    'border: 0',
-                                    'margin: 0',
-                                    'padding: 0',
-                                    'z-index: 999999 !important',
-                                    'position: fixed',
-                                  ]
-                                  this.fullscreenWrapper_.setAttribute('style', t.join('; ') + ';'),
-                                    this.fullscreenWrapper_.classList.add(
-                                      'webvr-polyfill-fullscreen-wrapper',
-                                    )
-                                }
-                                if (this.fullscreenElement_ == e) return this.fullscreenWrapper_
-                                if (
-                                  (this.fullscreenElement_ &&
-                                    (this.originalParent_
-                                      ? this.originalParent_.appendChild(this.fullscreenElement_)
-                                      : this.fullscreenElement_.parentElement.removeChild(
-                                          this.fullscreenElement_,
-                                        )),
-                                  (this.fullscreenElement_ = e),
-                                  (this.originalParent_ = e.parentElement),
-                                  this.originalParent_ || document.body.appendChild(e),
-                                  !this.fullscreenWrapper_.parentElement)
-                                ) {
-                                  var n = this.fullscreenElement_.parentElement
-                                  n.insertBefore(this.fullscreenWrapper_, this.fullscreenElement_),
-                                    n.removeChild(this.fullscreenElement_)
-                                }
-                                this.fullscreenWrapper_.insertBefore(
-                                  this.fullscreenElement_,
-                                  this.fullscreenWrapper_.firstChild,
-                                ),
-                                  (this.fullscreenElementCachedStyle_ =
-                                    this.fullscreenElement_.getAttribute('style'))
-                                var r = this
-                                function i() {
-                                  if (r.fullscreenElement_) {
-                                    var e = [
-                                      'position: absolute',
-                                      'top: 0',
-                                      'left: 0',
-                                      'width: ' + Math.max(screen.width, screen.height) + 'px',
-                                      'height: ' + Math.min(screen.height, screen.width) + 'px',
-                                      'border: 0',
-                                      'margin: 0',
-                                      'padding: 0',
-                                    ]
-                                    r.fullscreenElement_.setAttribute('style', e.join('; ') + ';')
-                                  }
-                                }
-                                return i(), this.fullscreenWrapper_
-                              }),
-                              (Ne.prototype.removeFullscreenWrapper = function () {
-                                if (this.fullscreenElement_) {
-                                  var e = this.fullscreenElement_
-                                  this.fullscreenElementCachedStyle_
-                                    ? e.setAttribute('style', this.fullscreenElementCachedStyle_)
-                                    : e.removeAttribute('style'),
-                                    (this.fullscreenElement_ = null),
-                                    (this.fullscreenElementCachedStyle_ = null)
-                                  var t = this.fullscreenWrapper_.parentElement
-                                  return (
-                                    this.fullscreenWrapper_.removeChild(e),
-                                    this.originalParent_ === t
-                                      ? t.insertBefore(e, this.fullscreenWrapper_)
-                                      : this.originalParent_ && this.originalParent_.appendChild(e),
-                                    t.removeChild(this.fullscreenWrapper_),
-                                    e
-                                  )
-                                }
-                              }),
-                              (Ne.prototype.requestPresent = function (e) {
-                                var t = this.isPresenting,
-                                  n = this
-                                return (
-                                  e instanceof Array ||
-                                    (I(
-                                      'VRDisplay.prototype.requestPresent with non-array argument',
-                                      'an array of VRLayers as the first argument',
-                                    ),
-                                    (e = [e])),
-                                  new Promise(function (r, i) {
-                                    if (n.capabilities.canPresent)
-                                      if (0 == e.length || e.length > n.capabilities.maxLayers)
-                                        i(new Error('Invalid number of layers.'))
-                                      else {
-                                        var o = e[0]
-                                        if (o.source) {
-                                          var a = o.leftBounds || De,
-                                            s = o.rightBounds || Oe
-                                          if (t) {
-                                            var u = n.layer_
-                                            u.source !== o.source && (u.source = o.source)
-                                            for (var h = 0; h < 4; h++)
-                                              (u.leftBounds[h] = a[h]), (u.rightBounds[h] = s[h])
-                                            return (
-                                              n.wrapForFullscreen(n.layer_.source),
-                                              n.updatePresent_(),
-                                              void r()
-                                            )
-                                          }
-                                          if (
-                                            ((n.layer_ = {
-                                              predistorted: o.predistorted,
-                                              source: o.source,
-                                              leftBounds: a.slice(0),
-                                              rightBounds: s.slice(0),
-                                            }),
-                                            (n.waitingForPresent_ = !1),
-                                            n.layer_ && n.layer_.source)
-                                          ) {
-                                            var d = n.wrapForFullscreen(n.layer_.source),
-                                              p = function () {
-                                                var e = x()
-                                                ;(n.isPresenting = d === e),
-                                                  n.isPresenting
-                                                    ? (screen.orientation &&
-                                                        screen.orientation.lock &&
-                                                        screen.orientation
-                                                          .lock('landscape-primary')
-                                                          .catch(function (e) {
-                                                            console.error(
-                                                              'screen.orientation.lock() failed due to',
-                                                              e.message,
-                                                            )
-                                                          }),
-                                                      (n.waitingForPresent_ = !1),
-                                                      n.beginPresent_(),
-                                                      r())
-                                                    : (screen.orientation &&
-                                                        screen.orientation.unlock &&
-                                                        screen.orientation.unlock(),
-                                                      n.removeFullscreenWrapper(),
-                                                      n.disableWakeLock(),
-                                                      n.endPresent_(),
-                                                      n.removeFullscreenListeners_()),
-                                                  n.fireVRDisplayPresentChange_()
-                                              },
-                                              f = function () {
-                                                n.waitingForPresent_ &&
-                                                  (n.removeFullscreenWrapper(),
-                                                  n.removeFullscreenListeners_(),
-                                                  n.disableWakeLock(),
-                                                  (n.waitingForPresent_ = !1),
-                                                  (n.isPresenting = !1),
-                                                  i(new Error('Unable to present.')))
-                                              }
-                                            n.addFullscreenListeners_(d, p, f),
-                                              A(d)
-                                                ? (n.enableWakeLock(), (n.waitingForPresent_ = !0))
-                                                : (l() || c()) &&
-                                                  (n.enableWakeLock(),
-                                                  (n.isPresenting = !0),
-                                                  n.beginPresent_(),
-                                                  n.fireVRDisplayPresentChange_(),
-                                                  r())
-                                          }
-                                          n.waitingForPresent_ ||
-                                            l() ||
-                                            (w(), i(new Error('Unable to present.')))
-                                        } else r()
-                                      }
-                                    else i(new Error('VRDisplay is not capable of presenting.'))
-                                  })
-                                )
-                              }),
-                              (Ne.prototype.exitPresent = function () {
-                                var e = this.isPresenting,
-                                  t = this
-                                return (
-                                  (this.isPresenting = !1),
-                                  (this.layer_ = null),
-                                  this.disableWakeLock(),
-                                  new Promise(function (n, r) {
-                                    e
-                                      ? (!w() &&
-                                          l() &&
-                                          (t.endPresent_(), t.fireVRDisplayPresentChange_()),
-                                        c() &&
-                                          (t.removeFullscreenWrapper(),
-                                          t.removeFullscreenListeners_(),
-                                          t.endPresent_(),
-                                          t.fireVRDisplayPresentChange_()),
-                                        n())
-                                      : r(new Error('Was not presenting to VRDisplay.'))
-                                  })
-                                )
-                              }),
-                              (Ne.prototype.getLayers = function () {
-                                return this.layer_ ? [this.layer_] : []
-                              }),
-                              (Ne.prototype.fireVRDisplayPresentChange_ = function () {
-                                var e = new CustomEvent('vrdisplaypresentchange', {
-                                  detail: { display: this },
-                                })
-                                window.dispatchEvent(e)
-                              }),
-                              (Ne.prototype.fireVRDisplayConnect_ = function () {
-                                var e = new CustomEvent('vrdisplayconnect', {
-                                  detail: { display: this },
-                                })
-                                window.dispatchEvent(e)
-                              }),
-                              (Ne.prototype.addFullscreenListeners_ = function (e, t, n) {
-                                this.removeFullscreenListeners_(),
-                                  (this.fullscreenEventTarget_ = e),
-                                  (this.fullscreenChangeHandler_ = t),
-                                  (this.fullscreenErrorHandler_ = n),
-                                  t &&
-                                    (document.fullscreenEnabled
-                                      ? e.addEventListener('fullscreenchange', t, !1)
-                                      : document.webkitFullscreenEnabled
-                                      ? e.addEventListener('webkitfullscreenchange', t, !1)
-                                      : document.mozFullScreenEnabled
-                                      ? document.addEventListener('mozfullscreenchange', t, !1)
-                                      : document.msFullscreenEnabled &&
-                                        e.addEventListener('msfullscreenchange', t, !1)),
-                                  n &&
-                                    (document.fullscreenEnabled
-                                      ? e.addEventListener('fullscreenerror', n, !1)
-                                      : document.webkitFullscreenEnabled
-                                      ? e.addEventListener('webkitfullscreenerror', n, !1)
-                                      : document.mozFullScreenEnabled
-                                      ? document.addEventListener('mozfullscreenerror', n, !1)
-                                      : document.msFullscreenEnabled &&
-                                        e.addEventListener('msfullscreenerror', n, !1))
-                              }),
-                              (Ne.prototype.removeFullscreenListeners_ = function () {
-                                if (this.fullscreenEventTarget_) {
-                                  var e = this.fullscreenEventTarget_
-                                  if (this.fullscreenChangeHandler_) {
-                                    var t = this.fullscreenChangeHandler_
-                                    e.removeEventListener('fullscreenchange', t, !1),
-                                      e.removeEventListener('webkitfullscreenchange', t, !1),
-                                      document.removeEventListener('mozfullscreenchange', t, !1),
-                                      e.removeEventListener('msfullscreenchange', t, !1)
-                                  }
-                                  if (this.fullscreenErrorHandler_) {
-                                    var n = this.fullscreenErrorHandler_
-                                    e.removeEventListener('fullscreenerror', n, !1),
-                                      e.removeEventListener('webkitfullscreenerror', n, !1),
-                                      document.removeEventListener('mozfullscreenerror', n, !1),
-                                      e.removeEventListener('msfullscreenerror', n, !1)
-                                  }
-                                  ;(this.fullscreenEventTarget_ = null),
-                                    (this.fullscreenChangeHandler_ = null),
-                                    (this.fullscreenErrorHandler_ = null)
-                                }
-                              }),
-                              (Ne.prototype.enableWakeLock = function () {
-                                this.wakelock_ && this.wakelock_.enable()
-                              }),
-                              (Ne.prototype.disableWakeLock = function () {
-                                this.wakelock_ && this.wakelock_.disable()
-                              }),
-                              (Ne.prototype.beginPresent_ = function () {}),
-                              (Ne.prototype.endPresent_ = function () {}),
-                              (Ne.prototype.submitFrame = function (e) {}),
-                              (Ne.prototype.getEyeParameters = function (e) {
-                                return null
-                              })
-                            var Ue = {
-                                ADDITIONAL_VIEWERS: [],
-                                DEFAULT_VIEWER: '',
-                                MOBILE_WAKE_LOCK: !0,
-                                DEBUG: !1,
-                                DPDB_URL: 'https://dpdb.webvr.rocks/dpdb.json',
-                                K_FILTER: 0.98,
-                                PREDICTION_TIME_S: 0.04,
-                                CARDBOARD_UI_DISABLED: !1,
-                                ROTATE_INSTRUCTIONS_DISABLED: !1,
-                                YAW_ONLY: !1,
-                                BUFFER_SCALE: 0.5,
-                                DIRTY_SUBMIT_FRAME_BINDINGS: !1,
-                              },
-                              He = { LEFT: 'left', RIGHT: 'right' }
-                            function Ge(e) {
-                              var t = S({}, Ue)
-                              ;(e = S(t, e || {})),
-                                Ne.call(this, { wakelock: e.MOBILE_WAKE_LOCK }),
-                                (this.config = e),
-                                (this.displayName = 'Cardboard VRDisplay'),
-                                (this.capabilities = new ke({
-                                  hasPosition: !1,
-                                  hasOrientation: !0,
-                                  hasExternalDisplay: !1,
-                                  canPresent: !0,
-                                  maxLayers: 1,
-                                })),
-                                (this.stageParameters = null),
-                                (this.bufferScale_ = this.config.BUFFER_SCALE),
-                                (this.poseSensor_ = new we(this.config)),
-                                (this.distorter_ = null),
-                                (this.cardboardUI_ = null),
-                                (this.dpdb_ = new he(
-                                  this.config.DPDB_URL,
-                                  this.onDeviceParamsUpdated_.bind(this),
-                                )),
-                                (this.deviceInfo_ = new le(
-                                  this.dpdb_.getDeviceParams(),
-                                  e.ADDITIONAL_VIEWERS,
-                                )),
-                                (this.viewerSelector_ = new Se(e.DEFAULT_VIEWER)),
-                                this.viewerSelector_.onChange(this.onViewerChanged_.bind(this)),
-                                this.deviceInfo_.setViewer(this.viewerSelector_.getCurrentViewer()),
-                                this.config.ROTATE_INSTRUCTIONS_DISABLED ||
-                                  (this.rotateInstructions_ = new Ee()),
-                                l() && window.addEventListener('resize', this.onResize_.bind(this))
-                            }
-                            return (
-                              (Ge.prototype = Object.create(Ne.prototype)),
-                              (Ge.prototype._getPose = function () {
-                                return {
-                                  position: null,
-                                  orientation: this.poseSensor_.getOrientation(),
-                                  linearVelocity: null,
-                                  linearAcceleration: null,
-                                  angularVelocity: null,
-                                  angularAcceleration: null,
-                                }
-                              }),
-                              (Ge.prototype._resetPose = function () {
-                                this.poseSensor_.resetPose && this.poseSensor_.resetPose()
-                              }),
-                              (Ge.prototype._getFieldOfView = function (e) {
-                                var t
-                                if (e == He.LEFT) t = this.deviceInfo_.getFieldOfViewLeftEye()
-                                else {
-                                  if (e != He.RIGHT)
-                                    return console.error('Invalid eye provided: %s', e), null
-                                  t = this.deviceInfo_.getFieldOfViewRightEye()
-                                }
-                                return t
-                              }),
-                              (Ge.prototype._getEyeOffset = function (e) {
-                                var t
-                                if (e == He.LEFT)
-                                  t = [0.5 * -this.deviceInfo_.viewer.interLensDistance, 0, 0]
-                                else {
-                                  if (e != He.RIGHT)
-                                    return console.error('Invalid eye provided: %s', e), null
-                                  t = [0.5 * this.deviceInfo_.viewer.interLensDistance, 0, 0]
-                                }
-                                return t
-                              }),
-                              (Ge.prototype.getEyeParameters = function (e) {
-                                var t = this._getEyeOffset(e),
-                                  n = this._getFieldOfView(e),
-                                  r = {
-                                    offset: t,
-                                    renderWidth:
-                                      0.5 * this.deviceInfo_.device.width * this.bufferScale_,
-                                    renderHeight:
-                                      this.deviceInfo_.device.height * this.bufferScale_,
-                                  }
-                                return (
-                                  Object.defineProperty(r, 'fieldOfView', {
-                                    enumerable: !0,
-                                    get: function () {
-                                      return (
-                                        I('VRFieldOfView', "VRFrameData's projection matrices"), n
-                                      )
-                                    },
-                                  }),
-                                  r
-                                )
-                              }),
-                              (Ge.prototype.onDeviceParamsUpdated_ = function (e) {
-                                this.config.DEBUG &&
-                                  console.log('DPDB reported that device params were updated.'),
-                                  this.deviceInfo_.updateDeviceParams(e),
-                                  this.distorter_ &&
-                                    this.distorter_.updateDeviceInfo(this.deviceInfo_)
-                              }),
-                              (Ge.prototype.updateBounds_ = function () {
-                                this.layer_ &&
-                                  this.distorter_ &&
-                                  (this.layer_.leftBounds || this.layer_.rightBounds) &&
-                                  this.distorter_.setTextureBounds(
-                                    this.layer_.leftBounds,
-                                    this.layer_.rightBounds,
-                                  )
-                              }),
-                              (Ge.prototype.beginPresent_ = function () {
-                                var e = this.layer_.source.getContext('webgl')
-                                e || (e = this.layer_.source.getContext('experimental-webgl')),
-                                  e || (e = this.layer_.source.getContext('webgl2')),
-                                  e &&
-                                    (this.layer_.predistorted
-                                      ? this.config.CARDBOARD_UI_DISABLED ||
-                                        ((e.canvas.width = y() * this.bufferScale_),
-                                        (e.canvas.height = b() * this.bufferScale_),
-                                        (this.cardboardUI_ = new J(e)))
-                                      : (this.config.CARDBOARD_UI_DISABLED ||
-                                          (this.cardboardUI_ = new J(e)),
-                                        (this.distorter_ = new U(
-                                          e,
-                                          this.cardboardUI_,
-                                          this.config.BUFFER_SCALE,
-                                          this.config.DIRTY_SUBMIT_FRAME_BINDINGS,
-                                        )),
-                                        this.distorter_.updateDeviceInfo(this.deviceInfo_)),
-                                    this.cardboardUI_ &&
-                                      this.cardboardUI_.listen(
-                                        function (e) {
-                                          this.viewerSelector_.show(
-                                            this.layer_.source.parentElement,
-                                          ),
-                                            e.stopPropagation(),
-                                            e.preventDefault()
-                                        }.bind(this),
-                                        function (e) {
-                                          this.exitPresent(),
-                                            e.stopPropagation(),
-                                            e.preventDefault()
-                                        }.bind(this),
-                                      ),
-                                    this.rotateInstructions_ &&
-                                      (v() && T()
-                                        ? this.rotateInstructions_.showTemporarily(
-                                            3e3,
-                                            this.layer_.source.parentElement,
-                                          )
-                                        : this.rotateInstructions_.update()),
-                                    (this.orientationHandler =
-                                      this.onOrientationChange_.bind(this)),
-                                    window.addEventListener(
-                                      'orientationchange',
-                                      this.orientationHandler,
-                                    ),
-                                    (this.vrdisplaypresentchangeHandler =
-                                      this.updateBounds_.bind(this)),
-                                    window.addEventListener(
-                                      'vrdisplaypresentchange',
-                                      this.vrdisplaypresentchangeHandler,
-                                    ),
-                                    this.fireVRDisplayDeviceParamsChange_())
-                              }),
-                              (Ge.prototype.endPresent_ = function () {
-                                this.distorter_ &&
-                                  (this.distorter_.destroy(), (this.distorter_ = null)),
-                                  this.cardboardUI_ &&
-                                    (this.cardboardUI_.destroy(), (this.cardboardUI_ = null)),
-                                  this.rotateInstructions_ && this.rotateInstructions_.hide(),
-                                  this.viewerSelector_.hide(),
-                                  window.removeEventListener(
-                                    'orientationchange',
-                                    this.orientationHandler,
-                                  ),
-                                  window.removeEventListener(
-                                    'vrdisplaypresentchange',
-                                    this.vrdisplaypresentchangeHandler,
-                                  )
-                              }),
-                              (Ge.prototype.updatePresent_ = function () {
-                                this.endPresent_(), this.beginPresent_()
-                              }),
-                              (Ge.prototype.submitFrame = function (e) {
-                                if (this.distorter_)
-                                  this.updateBounds_(), this.distorter_.submitFrame()
-                                else if (this.cardboardUI_ && this.layer_) {
-                                  var t = this.layer_.source.getContext('webgl')
-                                  t || (t = this.layer_.source.getContext('experimental-webgl')),
-                                    t || (t = this.layer_.source.getContext('webgl2'))
-                                  var n = t.canvas
-                                  ;(n.width == this.lastWidth && n.height == this.lastHeight) ||
-                                    this.cardboardUI_.onResize(),
-                                    (this.lastWidth = n.width),
-                                    (this.lastHeight = n.height),
-                                    this.cardboardUI_.render()
-                                }
-                              }),
-                              (Ge.prototype.onOrientationChange_ = function (e) {
-                                this.viewerSelector_.hide(),
-                                  this.rotateInstructions_ && this.rotateInstructions_.update(),
-                                  this.onResize_()
-                              }),
-                              (Ge.prototype.onResize_ = function (e) {
-                                if (this.layer_) {
-                                  var t = this.layer_.source.getContext('webgl')
-                                  t || (t = this.layer_.source.getContext('experimental-webgl')),
-                                    t || (t = this.layer_.source.getContext('webgl2'))
-                                  var n = [
-                                    'position: absolute',
-                                    'top: 0',
-                                    'left: 0',
-                                    'width: 100vw',
-                                    'height: 100vh',
-                                    'border: 0',
-                                    'margin: 0',
-                                    'padding: 0px',
-                                    'box-sizing: content-box',
-                                  ]
-                                  t.canvas.setAttribute('style', n.join('; ') + ';'), C(t.canvas)
-                                }
-                              }),
-                              (Ge.prototype.onViewerChanged_ = function (e) {
-                                this.deviceInfo_.setViewer(e),
-                                  this.distorter_ &&
-                                    this.distorter_.updateDeviceInfo(this.deviceInfo_),
-                                  this.fireVRDisplayDeviceParamsChange_()
-                              }),
-                              (Ge.prototype.fireVRDisplayDeviceParamsChange_ = function () {
-                                var e = new CustomEvent('vrdisplaydeviceparamschange', {
-                                  detail: { vrdisplay: this, deviceInfo: this.deviceInfo_ },
-                                })
-                                window.dispatchEvent(e)
-                              }),
-                              (Ge.VRFrameData = Fe),
-                              (Ge.VRDisplay = Ne),
-                              Ge
-                            )
-                          }),
-                            (e.exports = r())
-                        }),
-                      ),
-                      l = '0.10.12',
-                      c = {
-                        ADDITIONAL_VIEWERS: [],
-                        DEFAULT_VIEWER: '',
-                        PROVIDE_MOBILE_VRDISPLAY: !0,
-                        MOBILE_WAKE_LOCK: !0,
-                        DEBUG: !1,
-                        DPDB_URL: 'https://dpdb.webvr.rocks/dpdb.json',
-                        K_FILTER: 0.98,
-                        PREDICTION_TIME_S: 0.04,
-                        CARDBOARD_UI_DISABLED: !1,
-                        ROTATE_INSTRUCTIONS_DISABLED: !1,
-                        YAW_ONLY: !1,
-                        BUFFER_SCALE: 0.5,
-                        DIRTY_SUBMIT_FRAME_BINDINGS: !1,
-                      }
-                    function u(e) {
-                      ;(this.config = a(a({}, c), e)),
-                        (this.polyfillDisplays = []),
-                        (this.enabled = !1),
-                        (this.hasNative = 'getVRDisplays' in navigator),
-                        (this.native = {}),
-                        (this.native.getVRDisplays = navigator.getVRDisplays),
-                        (this.native.VRFrameData = window.VRFrameData),
-                        (this.native.VRDisplay = window.VRDisplay),
-                        (!this.hasNative || (this.config.PROVIDE_MOBILE_VRDISPLAY && i())) &&
-                          (this.enable(),
-                          this.getVRDisplays().then(function (e) {
-                            e && e[0] && e[0].fireVRDisplayConnect_ && e[0].fireVRDisplayConnect_()
-                          }))
-                    }
-                    ;(u.prototype.getPolyfillDisplays = function () {
-                      if (this._polyfillDisplaysPopulated) return this.polyfillDisplays
-                      if (i()) {
-                        var e = new s({
-                          ADDITIONAL_VIEWERS: this.config.ADDITIONAL_VIEWERS,
-                          DEFAULT_VIEWER: this.config.DEFAULT_VIEWER,
-                          MOBILE_WAKE_LOCK: this.config.MOBILE_WAKE_LOCK,
-                          DEBUG: this.config.DEBUG,
-                          DPDB_URL: this.config.DPDB_URL,
-                          CARDBOARD_UI_DISABLED: this.config.CARDBOARD_UI_DISABLED,
-                          K_FILTER: this.config.K_FILTER,
-                          PREDICTION_TIME_S: this.config.PREDICTION_TIME_S,
-                          ROTATE_INSTRUCTIONS_DISABLED: this.config.ROTATE_INSTRUCTIONS_DISABLED,
-                          YAW_ONLY: this.config.YAW_ONLY,
-                          BUFFER_SCALE: this.config.BUFFER_SCALE,
-                          DIRTY_SUBMIT_FRAME_BINDINGS: this.config.DIRTY_SUBMIT_FRAME_BINDINGS,
-                        })
-                        this.polyfillDisplays.push(e)
-                      }
-                      return (this._polyfillDisplaysPopulated = !0), this.polyfillDisplays
-                    }),
-                      (u.prototype.enable = function () {
-                        if (((this.enabled = !0), this.hasNative && this.native.VRFrameData)) {
-                          var e = this.native.VRFrameData,
-                            t = new this.native.VRFrameData(),
-                            n = this.native.VRDisplay.prototype.getFrameData
-                          window.VRDisplay.prototype.getFrameData = function (r) {
-                            r instanceof e
-                              ? n.call(this, r)
-                              : (n.call(this, t),
-                                (r.pose = t.pose),
-                                o(t.leftProjectionMatrix, r.leftProjectionMatrix),
-                                o(t.rightProjectionMatrix, r.rightProjectionMatrix),
-                                o(t.leftViewMatrix, r.leftViewMatrix),
-                                o(t.rightViewMatrix, r.rightViewMatrix))
-                          }
-                        }
-                        ;(navigator.getVRDisplays = this.getVRDisplays.bind(this)),
-                          (window.VRDisplay = s.VRDisplay),
-                          (window.VRFrameData = s.VRFrameData)
-                      }),
-                      (u.prototype.getVRDisplays = function () {
-                        var e = this
-                        return (
-                          this.config,
-                          this.hasNative
-                            ? this.native.getVRDisplays.call(navigator).then(function (t) {
-                                return t.length > 0 ? t : e.getPolyfillDisplays()
-                              })
-                            : Promise.resolve(this.getPolyfillDisplays())
-                        )
-                      }),
-                      (u.version = l),
-                      (u.VRFrameData = s.VRFrameData),
-                      (u.VRDisplay = s.VRDisplay)
-                    var h = Object.freeze({ default: u }),
-                      d = (h && u) || h
-                    return (
-                      'undefined' !== typeof t &&
-                        t.window &&
-                        (t.document || (t.document = t.window.document),
-                        t.navigator || (t.navigator = t.window.navigator)),
-                      d
-                    )
-                  })
-                }.call(
-                  this,
-                  'undefined' !== typeof r.g
-                    ? r.g
-                    : 'undefined' !== typeof self
-                    ? self
-                    : 'undefined' !== typeof window
-                    ? window
-                    : {},
-                ))
-              },
-              {},
-            ],
-            69: [
-              function (e, t, n) {
-                var r = /\n/,
-                  i = '\n',
-                  o = /\s/
-                function a(e, t, n, r) {
-                  var i = e.indexOf(t, n)
-                  return -1 === i || i > r ? r : i
-                }
-                function s(e) {
-                  return o.test(e)
-                }
-                function l(e, t, n, i, o) {
-                  for (var a = [], s = n, l = n; l < i && l < t.length; l++) {
-                    var c = t.charAt(l),
-                      u = r.test(c)
-                    if (u || l === i - 1) {
-                      var h = e(t, s, u ? l : l + 1, o)
-                      a.push(h), (s = l + 1)
-                    }
-                  }
-                  return a
-                }
-                function c(e, t, n, r, o, l) {
-                  var c = [],
-                    u = o
-                  for ('nowrap' === l && (u = Number.MAX_VALUE); n < r && n < t.length; ) {
-                    for (var h = a(t, i, n, r); n < h && s(t.charAt(n)); ) n++
-                    var d = e(t, n, h, u),
-                      p = n + (d.end - d.start),
-                      f = p + i.length
-                    if (p < h) {
-                      for (; p > n && !s(t.charAt(p)); ) p--
-                      if (p === n) f > n + i.length && f--, (p = f)
-                      else for (f = p; p > n && s(t.charAt(p - i.length)); ) p--
-                    }
-                    if (p >= n) {
-                      var m = e(t, n, p, u)
-                      c.push(m)
-                    }
-                    n = f
-                  }
-                  return c
-                }
-                function u(e, t, n, r) {
-                  return { start: t, end: t + Math.min(r, n - t) }
-                }
-                ;(t.exports = function (e, n) {
-                  return t.exports
-                    .lines(e, n)
-                    .map(function (t) {
-                      return e.substring(t.start, t.end)
-                    })
-                    .join('\n')
-                }),
-                  (t.exports.lines = function (e, t) {
-                    if (0 === (t = t || {}).width && 'nowrap' !== t.mode) return []
-                    e = e || ''
-                    var n = 'number' === typeof t.width ? t.width : Number.MAX_VALUE,
-                      r = Math.max(0, t.start || 0),
-                      i = 'number' === typeof t.end ? t.end : e.length,
-                      o = t.mode,
-                      a = t.measure || u
-                    return 'pre' === o ? l(a, e, r, i, n) : c(a, e, r, i, n, o)
-                  })
-              },
-              {},
-            ],
-            70: [
-              function (t, n, r) {
-                'use strict'
-                var i = t('global/window'),
-                  o = t('is-function'),
-                  a = t('parse-headers'),
-                  s = t('xtend')
-                function l(e, t) {
-                  for (var n = 0; n < e.length; n++) t(e[n])
-                }
-                function c(e) {
-                  for (var t in e) if (e.hasOwnProperty(t)) return !1
-                  return !0
-                }
-                function u(e, t, n) {
-                  var r = e
-                  return (
-                    o(t)
-                      ? ((n = t), 'string' === typeof e && (r = { uri: e }))
-                      : (r = s(t, { uri: e })),
-                    (r.callback = n),
-                    r
-                  )
-                }
-                function h(e, t, n) {
-                  return d((t = u(e, t, n)))
-                }
-                function d(t) {
-                  if ('undefined' === typeof t.callback)
-                    throw new Error('callback argument missing')
-                  var n = !1,
-                    r = function (e, r, i) {
-                      n || ((n = !0), t.callback(e, r, i))
-                    }
-                  function i() {
-                    4 === f.readyState && setTimeout(l, 0)
-                  }
-                  function o() {
-                    var t = void 0
-                    if (((t = f.response ? f.response : f.responseText || p(f)), w))
-                      try {
-                        t = JSON.parse(t)
-                      } catch (e) {}
-                    return t
-                  }
-                  function s(e) {
-                    return (
-                      clearTimeout(m),
-                      e instanceof Error ||
-                        (e = new Error('' + (e || 'Unknown XMLHttpRequest Error'))),
-                      (e.statusCode = 0),
-                      r(e, x)
-                    )
-                  }
-                  function l() {
-                    if (!d) {
-                      var e
-                      clearTimeout(m),
-                        (e =
-                          t.useXDR && void 0 === f.status
-                            ? 200
-                            : 1223 === f.status
-                            ? 204
-                            : f.status)
-                      var n = x,
-                        i = null
-                      return (
-                        0 !== e
-                          ? ((n = {
-                              body: o(),
-                              statusCode: e,
-                              method: g,
-                              headers: {},
-                              url: v,
-                              rawRequest: f,
-                            }),
-                            f.getAllResponseHeaders && (n.headers = a(f.getAllResponseHeaders())))
-                          : (i = new Error('Internal XMLHttpRequest Error')),
-                        r(i, n, n.body)
-                      )
-                    }
-                  }
-                  var u,
-                    d,
-                    f = t.xhr || null
-                  f || (f = t.cors || t.useXDR ? new h.XDomainRequest() : new h.XMLHttpRequest())
-                  var m,
-                    v = (f.url = t.uri || t.url),
-                    g = (f.method = t.method || 'GET'),
-                    y = t.body || t.data,
-                    b = (f.headers = t.headers || {}),
-                    A = !!t.sync,
-                    w = !1,
-                    x = {
-                      body: void 0,
-                      headers: {},
-                      statusCode: 0,
-                      method: g,
-                      url: v,
-                      rawRequest: f,
-                    }
-                  if (
-                    ('json' in t &&
-                      !1 !== t.json &&
-                      ((w = !0),
-                      b.accept || b.Accept || (b.Accept = 'application/json'),
-                      'GET' !== g &&
-                        'HEAD' !== g &&
-                        (b['content-type'] ||
-                          b['Content-Type'] ||
-                          (b['Content-Type'] = 'application/json'),
-                        (y = JSON.stringify(!0 === t.json ? y : t.json)))),
-                    (f.onreadystatechange = i),
-                    (f.onload = l),
-                    (f.onerror = s),
-                    (f.onprogress = function () {}),
-                    (f.onabort = function () {
-                      d = !0
-                    }),
-                    (f.ontimeout = s),
-                    f.open(g, v, !A, t.username, t.password),
-                    A || (f.withCredentials = !!t.withCredentials),
-                    !A &&
-                      t.timeout > 0 &&
-                      (m = setTimeout(function () {
-                        if (!d) {
-                          ;(d = !0), f.abort('timeout')
-                          var e = new Error('XMLHttpRequest timeout')
-                          ;(e.code = 'ETIMEDOUT'), s(e)
-                        }
-                      }, t.timeout)),
-                    f.setRequestHeader)
-                  )
-                    for (u in b) b.hasOwnProperty(u) && f.setRequestHeader(u, b[u])
-                  else if (t.headers && !c(t.headers))
-                    throw new Error('Headers cannot be set on an XDomainRequest object')
-                  return (
-                    'responseType' in t && (f.responseType = t.responseType),
-                    'beforeSend' in t && 'function' === typeof t.beforeSend && t.beforeSend(f),
-                    f.send(y || null),
-                    f
-                  )
-                }
-                function p(t) {
-                  try {
-                    if ('document' === t.responseType) return t.responseXML
-                    var n =
-                      t.responseXML && 'parsererror' === t.responseXML.documentElement.nodeName
-                    if ('' === t.responseType && !n) return t.responseXML
-                  } catch (e) {}
-                  return null
-                }
-                function f() {}
-                ;(n.exports = h),
-                  (n.exports.default = h),
-                  (h.XMLHttpRequest = i.XMLHttpRequest || f),
-                  (h.XDomainRequest =
-                    'withCredentials' in new h.XMLHttpRequest()
-                      ? h.XMLHttpRequest
-                      : i.XDomainRequest),
-                  l(['get', 'put', 'post', 'patch', 'head', 'delete'], function (e) {
-                    h['delete' === e ? 'del' : e] = function (t, n, r) {
-                      return ((n = u(t, n, r)).method = e.toUpperCase()), d(n)
-                    }
-                  })
-              },
-              { 'global/window': 27, 'is-function': 33, 'parse-headers': 47, xtend: 72 },
-            ],
-            71: [
-              function (e, t, n) {
-                t.exports =
-                  'undefined' !== typeof self.DOMParser
-                    ? function (e) {
-                        return new self.DOMParser().parseFromString(e, 'application/xml')
-                      }
-                    : 'undefined' !== typeof self.ActiveXObject &&
-                      new self.ActiveXObject('Microsoft.XMLDOM')
-                    ? function (e) {
-                        var t = new self.ActiveXObject('Microsoft.XMLDOM')
-                        return (t.async = 'false'), t.loadXML(e), t
-                      }
-                    : function (e) {
-                        var t = document.createElement('div')
-                        return (t.innerHTML = e), t
-                      }
-              },
-              {},
-            ],
-            72: [
-              function (e, t, n) {
-                t.exports = i
-                var r = Object.prototype.hasOwnProperty
-                function i() {
-                  for (var e = {}, t = 0; t < arguments.length; t++) {
-                    var n = arguments[t]
-                    for (var i in n) r.call(n, i) && (e[i] = n[i])
-                  }
-                  return e
-                }
-              },
-              {},
-            ],
-            73: [
-              function (e, t, n) {
-                t.exports = {
-                  name: 'aframe',
-                  version: '1.2.0',
-                  description: 'A web framework for building virtual reality experiences.',
-                  homepage: 'https://aframe.io/',
-                  main: 'dist/aframe-master.js',
-                  scripts: {
-                    browserify: "browserify src/index.js -s 'AFRAME' -p browserify-derequire",
-                    build:
-                      'shx mkdir -p build/ && npm run browserify -- --debug -t [ envify --INSPECTOR_VERSION dev ] -o build/aframe.js',
-                    codecov: 'codecov',
-                    dev: 'npm run build && cross-env INSPECTOR_VERSION=dev node ./scripts/budo -t envify',
-                    dist: 'node scripts/updateVersionLog.js && npm run dist:min && npm run dist:max',
-                    'dist:max':
-                      'npm run browserify -s -- --debug | exorcist dist/aframe-master.js.map > dist/aframe-master.js',
-                    'dist:min':
-                      'npm run browserify -s -- --debug -p [ minifyify --map aframe-master.min.js.map --output dist/aframe-master.min.js.map ] -o dist/aframe-master.min.js',
-                    docs: 'markserv --dir docs --port 9001',
-                    preghpages: 'node ./scripts/preghpages.js',
-                    ghpages: 'ghpages -p gh-pages/',
-                    lint: 'semistandard -v | snazzy',
-                    'lint:fix': 'semistandard --fix',
-                    precommit: 'npm run lint',
-                    prepush: 'node scripts/testOnlyCheck.js',
-                    prerelease: 'node scripts/release.js 1.0.4 1.1.0',
-                    start: 'npm run dev',
-                    'start:https': 'cross-env SSL=true npm run dev',
-                    test: 'karma start ./tests/karma.conf.js',
-                    'test:docs': 'node scripts/docsLint.js',
-                    'test:firefox': 'npm test -- --browsers Firefox',
-                    'test:chrome': 'npm test -- --browsers Chrome',
-                    'test:nobrowser': 'NO_BROWSER=true npm test',
-                    'test:node': 'mocha --ui tdd tests/node',
-                  },
-                  repository: 'aframevr/aframe',
-                  license: 'MIT',
-                  files: ['dist/*', 'docs/**/*', 'src/**/*', 'vendor/**/*'],
-                  dependencies: {
-                    'custom-event-polyfill': '^1.0.6',
-                    debug: 'ngokevin/debug#noTimestamp',
-                    'deep-assign': '^2.0.0',
-                    'document-register-element':
-                      'dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90',
-                    'load-bmfont': '^1.2.3',
-                    'object-assign': '^4.0.1',
-                    present: '0.0.6',
-                    'promise-polyfill': '^3.1.0',
-                    'super-animejs': '^3.1.0',
-                    'super-three': '^0.125.1',
-                    'three-bmfont-text':
-                      'dmarcos/three-bmfont-text#1babdf8507c731a18f8af3b807292e2b9740955e',
-                    'webvr-polyfill': '^0.10.12',
-                  },
-                  devDependencies: {
-                    browserify: '^13.1.0',
-                    'browserify-css': '^0.8.4',
-                    'browserify-derequire': '^0.9.4',
-                    'browserify-istanbul': '^2.0.0',
-                    budo: '^9.2.0',
-                    chai: '^3.5.0',
-                    'chai-shallow-deep-equal': '^1.4.0',
-                    chalk: '^1.1.3',
-                    codecov: '^1.0.1',
-                    'cross-env': '^5.0.1',
-                    envify: '^3.4.1',
-                    exorcist: '^0.4.0',
-                    ghpages: '0.0.8',
-                    'git-rev': '^0.2.1',
-                    glob: '^7.1.1',
-                    husky: '^0.11.7',
-                    istanbul: '^0.4.5',
-                    jsdom: '^9.11.0',
-                    karma: '1.4.1',
-                    'karma-browserify': '^5.1.0',
-                    'karma-chai-shallow-deep-equal': '0.0.4',
-                    'karma-chrome-launcher': '^2.0.0',
-                    'karma-coverage': '^1.1.1',
-                    'karma-env-preprocessor': '^0.1.1',
-                    'karma-firefox-launcher': '^1.2.0',
-                    'karma-mocha': '^1.1.1',
-                    'karma-mocha-reporter': '^2.1.0',
-                    'karma-sinon-chai': '1.2.4',
-                    lolex: '^1.5.1',
-                    markserv: 'github:sukima/markserv#feature/fix-broken-websoketio-link',
-                    minifyify: '^7.3.3',
-                    mocha: '^3.0.2',
-                    'mozilla-download': '^1.1.1',
-                    'replace-in-file': '^2.5.3',
-                    semistandard: '^9.0.0',
-                    shelljs: '^0.7.7',
-                    shx: '^0.2.2',
-                    sinon: '^1.17.5',
-                    'sinon-chai': '2.8.0',
-                    snazzy: '^5.0.0',
-                    'too-wordy': 'ngokevin/too-wordy',
-                    uglifyjs: '^2.4.10',
-                    'write-good': '^0.9.1',
-                  },
-                  link: !0,
-                  browserify: { transform: ['browserify-css', 'envify'] },
-                  semistandard: {
-                    ignore: ['build/**', 'dist/**', 'examples/**/shaders/*.js', '**/vendor/**'],
-                  },
-                  keywords: [
-                    '3d',
-                    'aframe',
-                    'cardboard',
-                    'components',
-                    'oculus',
-                    'three',
-                    'three.js',
-                    'rift',
-                    'vive',
-                    'vr',
-                    'web-components',
-                    'webvr',
-                  ],
-                  'browserify-css': { minify: !0 },
-                  engines: { node: '>= 4.6.0', npm: '^2.15.9' },
-                }
-              },
-              {},
-            ],
-            74: [
-              function (e, t, n) {
-                var r = e('super-animejs'),
-                  i = e('../core/component').components,
-                  o = e('../core/component').registerComponent,
-                  a = e('../lib/three'),
-                  s = e('../utils'),
-                  l = new a.Color(),
-                  c = new a.Color(),
-                  u = s.entity.getComponentProperty,
-                  h = s.entity.setComponentProperty,
-                  d = {},
-                  p = 'color',
-                  f = 'position',
-                  m = 'rotation',
-                  v = 'scale',
-                  g = 'components',
-                  y = 'object3D'
-                function b(e, t) {
-                  var n, r, o, a
-                  return (
-                    (r = (o = t.split('.'))[0]),
-                    (a = o[1]),
-                    (n = e.components[r] || i[r])
-                      ? a && !n.schema[a]
-                        ? null
-                        : a
-                        ? n.schema[a].type
-                        : n.schema.type
-                      : null
-                  )
-                }
-                function A(e) {
-                  ;(e.x = a.Math.degToRad(e.x)),
-                    (e.y = a.Math.degToRad(e.y)),
-                    (e.z = a.Math.degToRad(e.z))
-                }
-                function w(e, t, n) {
-                  var r
-                  for (r = 0; r < t.length; r++) e.addEventListener(t[r], n)
-                }
-                function x(e, t, n) {
-                  var r
-                  for (r = 0; r < t.length; r++) e.removeEventListener(t[r], n)
-                }
-                function E(e, t) {
-                  var n, r, i
-                  for (r = _(t), i = e, n = 0; n < r.length; n++) i = i[r[n]]
-                  if (void 0 === i)
-                    throw (
-                      (console.log(e),
-                      new Error('[animation] property (' + t + ') could not be found'))
-                    )
-                  return i
-                }
-                function M(e, t, n, r) {
-                  var i, o, s, l
-                  for (
-                    t.startsWith('object3D.rotation') && (n = a.Math.degToRad(n)),
-                      o = _(t),
-                      l = e,
-                      i = 0;
-                    i < o.length - 1;
-                    i++
-                  )
-                    l = l[o[i]]
-                  ;(s = o[o.length - 1]),
-                    r !== p
-                      ? (l[s] = n)
-                      : 'r' in l[s]
-                      ? ((l[s].r = n.r), (l[s].g = n.g), (l[s].b = n.b))
-                      : ((l[s].x = n.r), (l[s].y = n.g), (l[s].z = n.b))
-                }
-                function _(e) {
-                  return e in d || (d[e] = e.split('.')), d[e]
-                }
-                function T(e) {
-                  return e.isRawProperty || e.property.startsWith(g) || e.property.startsWith(y)
-                }
-                t.exports.Component = o('animation', {
-                  schema: {
-                    autoplay: { default: !0 },
-                    delay: { default: 0 },
-                    dir: { default: '' },
-                    dur: { default: 1e3 },
-                    easing: { default: 'easeInQuad' },
-                    elasticity: { default: 400 },
-                    enabled: { default: !0 },
-                    from: { default: '' },
-                    loop: {
-                      default: 0,
-                      parse: function (e) {
-                        return (
-                          !0 === e || 'true' === e || (!1 !== e && 'false' !== e && parseInt(e, 10))
-                        )
-                      },
-                    },
-                    property: { default: '' },
-                    startEvents: { type: 'array' },
-                    pauseEvents: { type: 'array' },
-                    resumeEvents: { type: 'array' },
-                    round: { default: !1 },
-                    to: { default: '' },
-                    type: { default: '' },
-                    isRawProperty: { default: !1 },
-                  },
-                  multiple: !0,
-                  init: function () {
-                    var e = this
-                    ;(this.eventDetail = { name: this.attrName }),
-                      (this.time = 0),
-                      (this.animation = null),
-                      (this.animationIsPlaying = !1),
-                      (this.onStartEvent = this.onStartEvent.bind(this)),
-                      (this.beginAnimation = this.beginAnimation.bind(this)),
-                      (this.pauseAnimation = this.pauseAnimation.bind(this)),
-                      (this.resumeAnimation = this.resumeAnimation.bind(this)),
-                      (this.fromColor = {}),
-                      (this.toColor = {}),
-                      (this.targets = {}),
-                      (this.targetsArray = []),
-                      (this.updateConfigForDefault = this.updateConfigForDefault.bind(this)),
-                      (this.updateConfigForRawColor = this.updateConfigForRawColor.bind(this)),
-                      (this.config = {
-                        complete: function () {
-                          ;(e.animationIsPlaying = !1),
-                            e.el.emit('animationcomplete', e.eventDetail, !1),
-                            e.id && e.el.emit('animationcomplete__' + e.id, e.eventDetail, !1)
-                        },
-                      })
-                  },
-                  update: function (e) {
-                    var t = this.config,
-                      n = this.data
-                    ;(this.animationIsPlaying = !1),
-                      this.data.enabled &&
-                        n.property &&
-                        ((t.autoplay = !1),
-                        (t.direction = n.dir),
-                        (t.duration = n.dur),
-                        (t.easing = n.easing),
-                        (t.elasticity = n.elasticity),
-                        (t.loop = n.loop),
-                        (t.round = n.round),
-                        this.createAndStartAnimation())
-                  },
-                  tick: function (e, t) {
-                    this.animationIsPlaying && ((this.time += t), this.animation.tick(this.time))
-                  },
-                  remove: function () {
-                    this.pauseAnimation(), this.removeEventListeners()
-                  },
-                  pause: function () {
-                    ;(this.paused = !0),
-                      (this.pausedWasPlaying = this.animationIsPlaying),
-                      this.pauseAnimation(),
-                      this.removeEventListeners()
-                  },
-                  play: function () {
-                    this.paused &&
-                      ((this.paused = !1),
-                      this.addEventListeners(),
-                      this.pausedWasPlaying &&
-                        (this.resumeAnimation(), (this.pausedWasPlaying = !1)))
-                  },
-                  createAndStartAnimation: function () {
-                    var e = this.data
-                    this.updateConfig(),
-                      (this.animationIsPlaying = !1),
-                      (this.animation = r(this.config)),
-                      (this.animation.began = !0),
-                      this.removeEventListeners(),
-                      this.addEventListeners(),
-                      !e.autoplay ||
-                        (e.startEvents && e.startEvents.length) ||
-                        (e.delay ? setTimeout(this.beginAnimation, e.delay) : this.beginAnimation())
-                  },
-                  beginAnimation: function () {
-                    this.updateConfig(),
-                      (this.animation.began = !0),
-                      (this.time = 0),
-                      (this.animationIsPlaying = !0),
-                      this.stopRelatedAnimations(),
-                      this.el.emit('animationbegin', this.eventDetail, !1)
-                  },
-                  pauseAnimation: function () {
-                    this.animationIsPlaying = !1
-                  },
-                  resumeAnimation: function () {
-                    this.animationIsPlaying = !0
-                  },
-                  onStartEvent: function () {
-                    this.data.enabled &&
-                      (this.updateConfig(),
-                      this.animation && this.animation.pause(),
-                      (this.animation = r(this.config)),
-                      this.data.delay
-                        ? setTimeout(this.beginAnimation, this.data.delay)
-                        : this.beginAnimation())
-                  },
-                  updateConfigForRawColor: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.config,
-                      i = this.data,
-                      o = this.el
-                    if (!this.waitComponentInitRawProperty(this.updateConfigForRawColor)) {
-                      for (t in ((e = '' === i.from ? E(o, i.property) : i.from),
-                      (n = i.to),
-                      this.setColorConfig(e, n),
-                      (e = this.fromColor),
-                      (n = this.toColor),
-                      (this.targetsArray.length = 0),
-                      this.targetsArray.push(e),
-                      (r.targets = this.targetsArray),
-                      n))
-                        r[t] = n[t]
-                      r.update = (function () {
-                        var e = {}
-                        return function (t) {
-                          var n
-                          ;((n = t.animatables[0].target).r === e.r &&
-                            n.g === e.g &&
-                            n.b === e.b) ||
-                            M(o, i.property, n, i.type)
-                        }
-                      })()
-                    }
-                  },
-                  updateConfigForDefault: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.config,
-                      i = this.data,
-                      o = this.el
-                    this.waitComponentInitRawProperty(this.updateConfigForDefault) ||
-                      ((e = '' === i.from ? (T(i) ? E(o, i.property) : u(o, i.property)) : i.from),
-                      (n = i.to),
-                      isNaN(e || n)
-                        ? ((e = e ? e.toString() : e), (n = n ? n.toString() : n))
-                        : ((e = parseFloat(e)), (n = parseFloat(n))),
-                      (t = 'true' === i.to || 'false' === i.to || !0 === i.to || !1 === i.to) &&
-                        ((e = 'true' === i.from || !0 === i.from ? 1 : 0),
-                        (n = 'true' === i.to || !0 === i.to ? 1 : 0)),
-                      (this.targets.aframeProperty = e),
-                      (r.targets = this.targets),
-                      (r.aframeProperty = n),
-                      (r.update = (function () {
-                        var e
-                        return function (n) {
-                          var r
-                          ;(r = n.animatables[0].target.aframeProperty) !== e &&
-                            ((e = r),
-                            t && (r = r >= 1),
-                            T(i) ? M(o, i.property, r, i.type) : h(o, i.property, r))
-                        }
-                      })()))
-                  },
-                  updateConfigForVector: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.config,
-                      i = this.data,
-                      o = this.el
-                    for (e in ((t = '' !== i.from ? s.coordinates.parse(i.from) : u(o, i.property)),
-                    (n = s.coordinates.parse(i.to)),
-                    i.property === m && (A(t), A(n)),
-                    (this.targetsArray.length = 0),
-                    this.targetsArray.push(t),
-                    (r.targets = this.targetsArray),
-                    n))
-                      r[e] = n[e]
-                    i.property !== f && i.property !== m && i.property !== v
-                      ? (r.update = (function () {
-                          var e = {}
-                          return function (t) {
-                            var n = t.animatables[0].target
-                            ;(n.x === e.x && n.y === e.y && n.z === e.z) ||
-                              ((e.x = n.x), (e.y = n.y), (e.z = n.z), h(o, i.property, n))
-                          }
-                        })())
-                      : (r.update = (function () {
-                          var e = {}
-                          return function (t) {
-                            var n = t.animatables[0].target
-                            i.property === v &&
-                              ((n.x = Math.max(1e-4, n.x)),
-                              (n.y = Math.max(1e-4, n.y)),
-                              (n.z = Math.max(1e-4, n.z))),
-                              (n.x === e.x && n.y === e.y && n.z === e.z) ||
-                                ((e.x = n.x),
-                                (e.y = n.y),
-                                (e.z = n.z),
-                                o.object3D[i.property].set(n.x, n.y, n.z))
-                          }
-                        })())
-                  },
-                  updateConfig: function () {
-                    var e
-                    ;(e = b(this.el, this.data.property)),
-                      T(this.data) && this.data.type === p
-                        ? this.updateConfigForRawColor()
-                        : 'vec2' === e || 'vec3' === e || 'vec4' === e
-                        ? this.updateConfigForVector()
-                        : this.updateConfigForDefault()
-                  },
-                  waitComponentInitRawProperty: function (e) {
-                    var t,
-                      n = this.data,
-                      i = this.el,
-                      o = this
-                    return (
-                      '' === n.from &&
-                      !!n.property.startsWith(g) &&
-                      ((t = _(n.property)[1]),
-                      !i.components[t] &&
-                        (i.addEventListener('componentinitialized', function n(a) {
-                          a.detail.name === t &&
-                            (e(),
-                            (o.animation = r(o.config)),
-                            i.removeEventListener('componentinitialized', n))
-                        }),
-                        !0))
-                    )
-                  },
-                  stopRelatedAnimations: function () {
-                    var e, t
-                    for (t in this.el.components)
-                      (e = this.el.components[t]),
-                        t !== this.attrName &&
-                          'animation' === e.name &&
-                          e.animationIsPlaying &&
-                          e.data.property === this.data.property &&
-                          (e.animationIsPlaying = !1)
-                  },
-                  addEventListeners: function () {
-                    var e = this.data,
-                      t = this.el
-                    w(t, e.startEvents, this.onStartEvent),
-                      w(t, e.pauseEvents, this.pauseAnimation),
-                      w(t, e.resumeEvents, this.resumeAnimation)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.data,
-                      t = this.el
-                    x(t, e.startEvents, this.onStartEvent),
-                      x(t, e.pauseEvents, this.pauseAnimation),
-                      x(t, e.resumeEvents, this.resumeAnimation)
-                  },
-                  setColorConfig: function (e, t) {
-                    l.set(e),
-                      c.set(t),
-                      (e = this.fromColor),
-                      (t = this.toColor),
-                      (e.r = l.r),
-                      (e.g = l.g),
-                      (e.b = l.b),
-                      (t.r = c.r),
-                      (t.g = c.g),
-                      (t.b = c.b)
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils': 205,
-                'super-animejs': 56,
-              },
-            ],
-            75: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../lib/three')
-                t.exports.Component = r('camera', {
-                  schema: {
-                    active: { default: !0 },
-                    far: { default: 1e4 },
-                    fov: { default: 80, min: 0 },
-                    near: { default: 0.005, min: 0 },
-                    spectator: { default: !1 },
-                    zoom: { default: 1, min: 0 },
-                  },
-                  init: function () {
-                    var e,
-                      t = this.el
-                    ;(e = this.camera = new i.PerspectiveCamera()), t.setObject3D('camera', e)
-                  },
-                  update: function (e) {
-                    var t = this.data,
-                      n = this.camera
-                    ;(n.aspect = t.aspect || window.innerWidth / window.innerHeight),
-                      (n.far = t.far),
-                      (n.fov = t.fov),
-                      (n.near = t.near),
-                      (n.zoom = t.zoom),
-                      n.updateProjectionMatrix(),
-                      this.updateActiveCamera(e),
-                      this.updateSpectatorCamera(e)
-                  },
-                  updateActiveCamera: function (e) {
-                    var t = this.data,
-                      n = this.el,
-                      r = this.system
-                    ;(e && e.active === t.active) ||
-                      t.spectator ||
-                      (t.active && r.activeCameraEl !== n
-                        ? r.setActiveCamera(n)
-                        : t.active || r.activeCameraEl !== n || r.disableActiveCamera())
-                  },
-                  updateSpectatorCamera: function (e) {
-                    var t = this.data,
-                      n = this.el,
-                      r = this.system
-                    ;(e && e.spectator === t.spectator) ||
-                      (t.spectator && r.spectatorCameraEl !== n
-                        ? r.setSpectatorCamera(n)
-                        : t.spectator || r.spectatorCameraEl !== n || r.disableSpectatorCamera())
-                  },
-                  remove: function () {
-                    this.el.removeObject3D('camera')
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179 },
-            ],
-            76: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/'),
-                  o = i.bind,
-                  a = {
-                    CLICK: 'click',
-                    FUSING: 'fusing',
-                    MOUSEENTER: 'mouseenter',
-                    MOUSEDOWN: 'mousedown',
-                    MOUSELEAVE: 'mouseleave',
-                    MOUSEUP: 'mouseup',
-                  },
-                  s = {
-                    FUSING: 'cursor-fusing',
-                    HOVERING: 'cursor-hovering',
-                    HOVERED: 'cursor-hovered',
-                  },
-                  l = { DOWN: ['mousedown', 'touchstart'], UP: ['mouseup', 'touchend'] },
-                  c = { DOWN: ['selectstart'], UP: ['selectend'] },
-                  u = 'a-mouse-cursor-hover'
-                t.exports.Component = r('cursor', {
-                  dependencies: ['raycaster'],
-                  schema: {
-                    downEvents: { default: [] },
-                    fuse: { default: i.device.isMobile() },
-                    fuseTimeout: { default: 1500, min: 0 },
-                    mouseCursorStylesEnabled: { default: !0 },
-                    upEvents: { default: [] },
-                    rayOrigin: { default: 'entity', oneOf: ['mouse', 'entity'] },
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.fuseTimeout = void 0),
-                      (this.cursorDownEl = null),
-                      (this.intersectedEl = null),
-                      (this.canvasBounds = document.body.getBoundingClientRect()),
-                      (this.isCursorDown = !1),
-                      (this.updateCanvasBounds = i.debounce(function () {
-                        e.canvasBounds = e.el.sceneEl.canvas.getBoundingClientRect()
-                      }, 500)),
-                      (this.eventDetail = {}),
-                      (this.intersectedEventDetail = { cursorEl: this.el }),
-                      (this.onCursorDown = o(this.onCursorDown, this)),
-                      (this.onCursorUp = o(this.onCursorUp, this)),
-                      (this.onIntersection = o(this.onIntersection, this)),
-                      (this.onIntersectionCleared = o(this.onIntersectionCleared, this)),
-                      (this.onMouseMove = o(this.onMouseMove, this)),
-                      (this.onEnterVR = o(this.onEnterVR, this))
-                  },
-                  update: function (e) {
-                    this.data.rayOrigin !== e.rayOrigin && this.updateMouseEventListeners()
-                  },
-                  play: function () {
-                    this.addEventListeners()
-                  },
-                  pause: function () {
-                    this.removeEventListeners()
-                  },
-                  remove: function () {
-                    var e = this.el
-                    e.removeState(s.HOVERING),
-                      e.removeState(s.FUSING),
-                      clearTimeout(this.fuseTimeout),
-                      this.intersectedEl && this.intersectedEl.removeState(s.HOVERED),
-                      this.removeEventListeners()
-                  },
-                  addEventListeners: function () {
-                    var e,
-                      t = this.data,
-                      n = this.el,
-                      r = this
-                    function i() {
-                      ;(e = n.sceneEl.canvas),
-                        t.downEvents.length ||
-                          t.upEvents.length ||
-                          (l.DOWN.forEach(function (t) {
-                            e.addEventListener(t, r.onCursorDown)
-                          }),
-                          l.UP.forEach(function (t) {
-                            e.addEventListener(t, r.onCursorUp)
-                          }))
-                    }
-                    ;(e = n.sceneEl.canvas)
-                      ? i()
-                      : n.sceneEl.addEventListener('render-target-loaded', i),
-                      t.downEvents.forEach(function (e) {
-                        n.addEventListener(e, r.onCursorDown)
-                      }),
-                      t.upEvents.forEach(function (e) {
-                        n.addEventListener(e, r.onCursorUp)
-                      }),
-                      n.addEventListener('raycaster-intersection', this.onIntersection),
-                      n.addEventListener(
-                        'raycaster-intersection-cleared',
-                        this.onIntersectionCleared,
-                      ),
-                      n.sceneEl.addEventListener('rendererresize', this.updateCanvasBounds),
-                      n.sceneEl.addEventListener('enter-vr', this.onEnterVR),
-                      window.addEventListener('resize', this.updateCanvasBounds),
-                      window.addEventListener('scroll', this.updateCanvasBounds),
-                      this.updateMouseEventListeners()
-                  },
-                  removeEventListeners: function () {
-                    var e,
-                      t = this.data,
-                      n = this.el,
-                      r = this
-                    !(e = n.sceneEl.canvas) ||
-                      t.downEvents.length ||
-                      t.upEvents.length ||
-                      (l.DOWN.forEach(function (t) {
-                        e.removeEventListener(t, r.onCursorDown)
-                      }),
-                      l.UP.forEach(function (t) {
-                        e.removeEventListener(t, r.onCursorUp)
-                      })),
-                      t.downEvents.forEach(function (e) {
-                        n.removeEventListener(e, r.onCursorDown)
-                      }),
-                      t.upEvents.forEach(function (e) {
-                        n.removeEventListener(e, r.onCursorUp)
-                      }),
-                      n.removeEventListener('raycaster-intersection', this.onIntersection),
-                      n.removeEventListener(
-                        'raycaster-intersection-cleared',
-                        this.onIntersectionCleared,
-                      ),
-                      e.removeEventListener('mousemove', this.onMouseMove),
-                      e.removeEventListener('touchstart', this.onMouseMove),
-                      e.removeEventListener('touchmove', this.onMouseMove),
-                      n.sceneEl.removeEventListener('rendererresize', this.updateCanvasBounds),
-                      n.sceneEl.removeEventListener('enter-vr', this.onEnterVR),
-                      window.removeEventListener('resize', this.updateCanvasBounds),
-                      window.removeEventListener('scroll', this.updateCanvasBounds)
-                  },
-                  updateMouseEventListeners: function () {
-                    var e,
-                      t = this.el
-                    ;(e = t.sceneEl.canvas).removeEventListener('mousemove', this.onMouseMove),
-                      e.removeEventListener('touchmove', this.onMouseMove),
-                      t.setAttribute('raycaster', 'useWorldCoordinates', !1),
-                      'mouse' === this.data.rayOrigin &&
-                        (e.addEventListener('mousemove', this.onMouseMove, !1),
-                        e.addEventListener('touchmove', this.onMouseMove, !1),
-                        t.setAttribute('raycaster', 'useWorldCoordinates', !0),
-                        this.updateCanvasBounds())
-                  },
-                  onMouseMove: (function () {
-                    var e = new THREE.Vector3(),
-                      t = new THREE.Vector2(),
-                      n = new THREE.Vector3(),
-                      r = { origin: n, direction: e }
-                    return function (i) {
-                      var o,
-                        a,
-                        s,
-                        l = this.canvasBounds,
-                        c = this.el.sceneEl.camera
-                      c.parent.updateMatrixWorld(),
-                        (o =
-                          (a =
-                            'touchmove' === i.type || 'touchstart' === i.type
-                              ? i.touches.item(0)
-                              : i).clientX - l.left),
-                        (s = a.clientY - l.top),
-                        (t.x = (o / l.width) * 2 - 1),
-                        (t.y = (-s / l.height) * 2 + 1),
-                        n.setFromMatrixPosition(c.matrixWorld),
-                        e.set(t.x, t.y, 0.5).unproject(c).sub(n).normalize(),
-                        this.el.setAttribute('raycaster', r),
-                        'touchmove' === i.type && i.preventDefault()
-                    }
-                  })(),
-                  onCursorDown: function (e) {
-                    ;(this.isCursorDown = !0),
-                      'mouse' === this.data.rayOrigin &&
-                        'touchstart' === e.type &&
-                        (this.onMouseMove(e),
-                        this.el.components.raycaster.checkIntersections(),
-                        e.preventDefault()),
-                      this.twoWayEmit(a.MOUSEDOWN),
-                      (this.cursorDownEl = this.intersectedEl)
-                  },
-                  onCursorUp: function (e) {
-                    if (this.isCursorDown) {
-                      this.isCursorDown = !1
-                      var t = this.data
-                      this.twoWayEmit(a.MOUSEUP),
-                        this.cursorDownEl &&
-                          this.cursorDownEl !== this.intersectedEl &&
-                          ((this.intersectedEventDetail.intersection = null),
-                          this.cursorDownEl.emit(a.MOUSEUP, this.intersectedEventDetail)),
-                        (t.fuse && 'mouse' !== t.rayOrigin) ||
-                          !this.intersectedEl ||
-                          this.cursorDownEl !== this.intersectedEl ||
-                          this.twoWayEmit(a.CLICK),
-                        (this.cursorDownEl = null),
-                        'touchend' === e.type && e.preventDefault()
-                    }
-                  },
-                  onIntersection: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i,
-                      o = this.el
-                    ;(n = e.detail.els[0] === o ? 1 : 0),
-                      (i = e.detail.intersections[n]),
-                      (r = e.detail.els[n]) &&
-                        this.intersectedEl !== r &&
-                        ((this.intersectedEl &&
-                          (t = this.el.components.raycaster.getIntersection(this.intersectedEl)) &&
-                          t.distance <= i.distance) ||
-                          (this.clearCurrentIntersection(!0), this.setIntersection(r, i)))
-                  },
-                  onIntersectionCleared: function (e) {
-                    ;-1 !== e.detail.clearedEls.indexOf(this.intersectedEl) &&
-                      this.clearCurrentIntersection()
-                  },
-                  onEnterVR: function () {
-                    this.clearCurrentIntersection(!0)
-                    var e = this.el.sceneEl.xrSession,
-                      t = this
-                    e &&
-                      'mouse' !== this.data.rayOrigin &&
-                      (c.DOWN.forEach(function (n) {
-                        e.addEventListener(n, t.onCursorDown)
-                      }),
-                      c.UP.forEach(function (n) {
-                        e.addEventListener(n, t.onCursorUp)
-                      }))
-                  },
-                  setIntersection: function (e, t) {
-                    var n = this.el,
-                      r = this.data,
-                      i = this
-                    this.intersectedEl !== e &&
-                      ((this.intersectedEl = e),
-                      n.addState(s.HOVERING),
-                      e.addState(s.HOVERED),
-                      this.twoWayEmit(a.MOUSEENTER),
-                      this.data.mouseCursorStylesEnabled &&
-                        'mouse' === this.data.rayOrigin &&
-                        this.el.sceneEl.canvas.classList.add(u),
-                      0 !== r.fuseTimeout &&
-                        r.fuse &&
-                        (n.addState(s.FUSING),
-                        this.twoWayEmit(a.FUSING),
-                        (this.fuseTimeout = setTimeout(function () {
-                          n.removeState(s.FUSING), i.twoWayEmit(a.CLICK)
-                        }, r.fuseTimeout))))
-                  },
-                  clearCurrentIntersection: function (e) {
-                    var t,
-                      n,
-                      r = this.el
-                    this.intersectedEl &&
-                      (this.intersectedEl.removeState(s.HOVERED),
-                      r.removeState(s.HOVERING),
-                      r.removeState(s.FUSING),
-                      this.twoWayEmit(a.MOUSELEAVE),
-                      this.data.mouseCursorStylesEnabled &&
-                        'mouse' === this.data.rayOrigin &&
-                        this.el.sceneEl.canvas.classList.remove(u),
-                      (this.intersectedEl = null),
-                      clearTimeout(this.fuseTimeout),
-                      !0 !== e &&
-                        0 !== (n = this.el.components.raycaster.intersections).length &&
-                        (t = n[n[0].object.el === r ? 1 : 0]) &&
-                        this.setIntersection(t.object.el, t))
-                  },
-                  twoWayEmit: function (e) {
-                    var t,
-                      n = this.el,
-                      r = this.intersectedEl
-                    ;(t = this.el.components.raycaster.getIntersection(r)),
-                      (this.eventDetail.intersectedEl = r),
-                      (this.eventDetail.intersection = t),
-                      n.emit(e, this.eventDetail),
-                      r &&
-                        ((this.intersectedEventDetail.intersection = t),
-                        r.emit(e, this.intersectedEventDetail))
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/': 205 },
-            ],
-            77: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = 'https://cdn.aframe.io/controllers/google/',
-                  u = c + 'vr_controller_daydream.obj',
-                  h = c + 'vr_controller_daydream.mtl',
-                  d = e('../utils/').device.isWebXRAvailable,
-                  p = d ? 'google-daydream' : 'Daydream Controller',
-                  f = d
-                    ? {
-                        axes: { touchpad: [0, 1] },
-                        buttons: ['none', 'none', 'touchpad', 'menu', 'system'],
-                      }
-                    : { axes: { trackpad: [0, 1] }, buttons: ['trackpad', 'menu', 'system'] }
-                t.exports.Component = r('daydream-controls', {
-                  schema: {
-                    hand: { default: '' },
-                    buttonColor: { type: 'color', default: '#000000' },
-                    buttonTouchedColor: { type: 'color', default: '#777777' },
-                    buttonHighlightColor: { type: 'color', default: '#FFFFFF' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !0 },
-                  },
-                  mapping: f,
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      this.bindMethods()
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    a(this, p, this.data.hand ? { hand: this.data.hand } : {})
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      armModel: t.armModel,
-                      hand: t.hand,
-                      idPrefix: p,
-                      id: p,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('obj-model', { obj: u, mtl: h })
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).menu = n.getObjectByName(
-                        'AppButton_AppButton_Cylinder.004',
-                      )),
-                      (t.system = n.getObjectByName('HomeButton_HomeButton_Cylinder.005')),
-                      (t.trackpad = n.getObjectByName('TouchPad_TouchPad_Cylinder.003')),
-                      (t.touchpad = n.getObjectByName('TouchPad_TouchPad_Cylinder.003')),
-                      n.position.set(0, 0, -0.04))
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t && this.el.emit(t + 'changed', e.detail.state)
-                  },
-                  updateModel: function (e, t) {
-                    this.data.model && this.updateButtonModel(e, t)
-                  },
-                  updateButtonModel: function (e, t) {
-                    var n = this.buttonMeshes
-                    if (n && n[e]) {
-                      var r
-                      switch (t) {
-                        case 'down':
-                          r = this.data.buttonHighlightColor
-                          break
-                        case 'touchstart':
-                          r = this.data.buttonTouchedColor
-                          break
-                        default:
-                          r = this.data.buttonColor
-                      }
-                      n[e].material.color.set(r)
-                    }
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            78: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = e('../utils/').device.isWebXRAvailable,
-                  u = 'https://cdn.aframe.io/controllers/samsung/',
-                  h = u + 'gear_vr_controller.obj',
-                  d = u + 'gear_vr_controller.mtl',
-                  p = c ? 'samsung-gearvr' : 'Gear VR',
-                  f = c
-                    ? {
-                        axes: { touchpad: [0, 1] },
-                        buttons: ['trigger', 'none', 'touchpad', 'none', 'menu'],
-                      }
-                    : { axes: { trackpad: [0, 1] }, buttons: ['trackpad', 'trigger'] }
-                t.exports.Component = r('gearvr-controls', {
-                  schema: {
-                    hand: { default: '' },
-                    buttonColor: { type: 'color', default: '#000000' },
-                    buttonTouchedColor: { type: 'color', default: '#777777' },
-                    buttonHighlightColor: { type: 'color', default: '#FFFFFF' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !0 },
-                  },
-                  mapping: f,
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      this.bindMethods()
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    a(this, p, this.data.hand ? { hand: this.data.hand } : {})
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      armModel: t.armModel,
-                      hand: t.hand,
-                      idPrefix: p,
-                      id: p,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('obj-model', { obj: h, mtl: d })
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).trigger = n.children[2]),
-                      (t.trackpad = n.children[1]),
-                      (t.touchpad = n.children[1]))
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t && this.el.emit(t + 'changed', e.detail.state)
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    this.data.model && this.updateButtonModel(e, t)
-                  },
-                  updateButtonModel: function (e, t) {
-                    var n = this.buttonMeshes
-                    if (n && n[e]) {
-                      var r
-                      switch (t) {
-                        case 'down':
-                          r = this.data.buttonHighlightColor
-                          break
-                        case 'touchstart':
-                          r = this.data.buttonTouchedColor
-                          break
-                        default:
-                          r = this.data.buttonColor
-                      }
-                      n[e].material.color.set(r)
-                    }
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            79: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = 'generic',
-                  u = {
-                    axes: { touchpad: [0, 1], thumbstick: [2, 3] },
-                    buttons: ['trigger', 'squeeze', 'touchpad', 'thumbstick'],
-                  }
-                t.exports.Component = r('generic-tracked-controller-controls', {
-                  schema: {
-                    hand: { default: '' },
-                    defaultModel: { default: !0 },
-                    defaultModelColor: { default: 'gray' },
-                    orientationOffset: { type: 'vec3' },
-                    disabled: { default: !1 },
-                  },
-                  mapping: u,
-                  bindMethods: function () {
-                    ;(this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.wasControllerConnected = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods(),
-                      this.el.addEventListener('controllerconnected', function (t) {
-                        t.detail.name !== e.name &&
-                          ((e.wasControllerConnected = !0),
-                          e.removeEventListeners(),
-                          e.removeControllersUpdateListener())
-                      })
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    var e = this.data,
-                      t = e.hand ? e.hand : void 0
-                    a(this, c, { hand: t, iterateControllerProfiles: !0 })
-                  },
-                  play: function () {
-                    this.wasControllerConnected ||
-                      (this.checkIfControllerPresent(), this.addControllersUpdateListener())
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    this.el.components['tracked-controls']
-                      ? this.removeEventListeners()
-                      : (e.setAttribute('tracked-controls', {
-                          hand: t.hand,
-                          idPrefix: c,
-                          orientationOffset: t.orientationOffset,
-                          iterateControllerProfiles: !0,
-                        }),
-                        this.data.defaultModel && this.initDefaultModel())
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t && this.el.emit(t + 'changed', e.detail.state)
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  initDefaultModel: function () {
-                    var e = (this.modelEl = document.createElement('a-entity'))
-                    e.setAttribute('geometry', { primitive: 'sphere', radius: 0.03 }),
-                      e.setAttribute('material', { color: this.data.color }),
-                      this.el.appendChild(e)
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/bind': 199, '../utils/tracked-controls': 214 },
-            ],
-            80: [
-              function (e, t, n) {
-                var r = e('../core/geometry').geometries,
-                  i = e('../core/geometry').geometryNames,
-                  o = e('../core/component').registerComponent,
-                  a = e('../lib/three'),
-                  s = new a.BufferGeometry()
-                t.exports.Component = o('geometry', {
-                  schema: {
-                    buffer: { default: !0 },
-                    primitive: { default: 'box', oneOf: i, schemaChange: !0 },
-                    skipCache: { default: !1 },
-                  },
-                  init: function () {
-                    this.geometry = null
-                  },
-                  update: function (e) {
-                    var t,
-                      n = this.data,
-                      r = this.el,
-                      i = this.system
-                    this.geometry && (i.unuseGeometry(e), (this.geometry = null)),
-                      (this.geometry = i.getOrCreateGeometry(n)),
-                      (t = r.getObject3D('mesh'))
-                        ? (t.geometry = this.geometry)
-                        : (((t = new a.Mesh()).geometry = this.geometry),
-                          this.el.getAttribute('material') ||
-                            (t.material = new a.MeshStandardMaterial({
-                              color: 16777215 * Math.random(),
-                              metalness: 0,
-                              roughness: 0.5,
-                            })),
-                          r.setObject3D('mesh', t))
-                  },
-                  remove: function () {
-                    this.system.unuseGeometry(this.data),
-                      (this.el.getObject3D('mesh').geometry = s),
-                      (this.geometry = null)
-                  },
-                  updateSchema: function (e) {
-                    var t = this.oldData && this.oldData.primitive,
-                      n = e.primitive,
-                      i = r[n] && r[n].schema
-                    if (!i) throw new Error('Unknown geometry schema `' + n + '`')
-                    ;(t && t === n) || this.extendSchema(i)
-                  },
-                })
-              },
-              { '../core/component': 131, '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            81: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../lib/three'),
-                  o = e('../utils/').debug('components:gltf-model:warn')
-                t.exports.Component = r('gltf-model', {
-                  schema: { type: 'model' },
-                  init: function () {
-                    var e = this.system.getDRACOLoader()
-                    ;(this.model = null),
-                      (this.loader = new i.GLTFLoader()),
-                      e && this.loader.setDRACOLoader(e)
-                  },
-                  update: function () {
-                    var e = this,
-                      t = this.el,
-                      n = this.data
-                    n &&
-                      (this.remove(),
-                      this.loader.load(
-                        n,
-                        function (n) {
-                          ;(e.model = n.scene || n.scenes[0]),
-                            (e.model.animations = n.animations),
-                            t.setObject3D('mesh', e.model),
-                            t.emit('model-loaded', { format: 'gltf', model: e.model })
-                        },
-                        void 0,
-                        function (e) {
-                          var r = e && e.message ? e.message : 'Failed to load glTF model'
-                          o(r), t.emit('model-error', { format: 'gltf', src: n })
-                        },
-                      ))
-                  },
-                  remove: function () {
-                    this.model && this.el.removeObject3D('mesh')
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/': 205 },
-            ],
-            82: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = {
-                    toonLeft: 'https://cdn.aframe.io/controllers/hands/leftHand.glb',
-                    toonRight: 'https://cdn.aframe.io/controllers/hands/rightHand.glb',
-                    lowPolyLeft: 'https://cdn.aframe.io/controllers/hands/leftHandLow.glb',
-                    lowPolyRight: 'https://cdn.aframe.io/controllers/hands/rightHandLow.glb',
-                    highPolyLeft: 'https://cdn.aframe.io/controllers/hands/leftHandHigh.glb',
-                    highPolyRight: 'https://cdn.aframe.io/controllers/hands/rightHandHigh.glb',
-                  },
-                  o = {
-                    open: 'Open',
-                    point: 'Point',
-                    pointThumb: 'Point + Thumb',
-                    fist: 'Fist',
-                    hold: 'Hold',
-                    thumbUp: 'Thumb Up',
-                  },
-                  a = {}
-                function s(e, t) {
-                  var n
-                  if (e)
-                    return 'grip' === (n = a[e])
-                      ? n + (t ? 'close' : 'open')
-                      : 'point' === n
-                      ? n + (t ? 'up' : 'down')
-                      : 'pointing' === n || 'pistol' === n
-                      ? n + (t ? 'start' : 'end')
-                      : void 0
-                }
-                function l(e) {
-                  var t = e && e.controller
-                  return (
-                    t &&
-                    ((t.id && 0 === t.id.indexOf('OpenVR ')) ||
-                      (t.profiles && t.profiles[0] && 'htc-vive-controller-mv' === t.profiles[0]))
-                  )
-                }
-                ;(a[o.fist] = 'grip'),
-                  (a[o.thumbUp] = 'pistol'),
-                  (a[o.point] = 'pointing'),
-                  (t.exports.Component = r('hand-controls', {
-                    schema: {
-                      color: { default: 'white', type: 'color' },
-                      hand: { default: 'left' },
-                      handModelStyle: {
-                        default: 'lowPoly',
-                        oneOf: ['lowPoly', 'highPoly', 'toon'],
-                      },
-                    },
-                    init: function () {
-                      var e = this,
-                        t = this.el
-                      ;(this.gesture = o.open),
-                        (this.pressedButtons = {}),
-                        (this.touchedButtons = {}),
-                        (this.loader = new THREE.GLTFLoader()),
-                        this.loader.setCrossOrigin('anonymous'),
-                        (this.onGripDown = function () {
-                          e.handleButton('grip', 'down')
-                        }),
-                        (this.onGripUp = function () {
-                          e.handleButton('grip', 'up')
-                        }),
-                        (this.onTrackpadDown = function () {
-                          e.handleButton('trackpad', 'down')
-                        }),
-                        (this.onTrackpadUp = function () {
-                          e.handleButton('trackpad', 'up')
-                        }),
-                        (this.onTrackpadTouchStart = function () {
-                          e.handleButton('trackpad', 'touchstart')
-                        }),
-                        (this.onTrackpadTouchEnd = function () {
-                          e.handleButton('trackpad', 'touchend')
-                        }),
-                        (this.onTriggerDown = function () {
-                          e.handleButton('trigger', 'down')
-                        }),
-                        (this.onTriggerUp = function () {
-                          e.handleButton('trigger', 'up')
-                        }),
-                        (this.onTriggerTouchStart = function () {
-                          e.handleButton('trigger', 'touchstart')
-                        }),
-                        (this.onTriggerTouchEnd = function () {
-                          e.handleButton('trigger', 'touchend')
-                        }),
-                        (this.onGripTouchStart = function () {
-                          e.handleButton('grip', 'touchstart')
-                        }),
-                        (this.onGripTouchEnd = function () {
-                          e.handleButton('grip', 'touchend')
-                        }),
-                        (this.onThumbstickDown = function () {
-                          e.handleButton('thumbstick', 'down')
-                        }),
-                        (this.onThumbstickUp = function () {
-                          e.handleButton('thumbstick', 'up')
-                        }),
-                        (this.onAorXTouchStart = function () {
-                          e.handleButton('AorX', 'touchstart')
-                        }),
-                        (this.onAorXTouchEnd = function () {
-                          e.handleButton('AorX', 'touchend')
-                        }),
-                        (this.onBorYTouchStart = function () {
-                          e.handleButton('BorY', 'touchstart')
-                        }),
-                        (this.onBorYTouchEnd = function () {
-                          e.handleButton('BorY', 'touchend')
-                        }),
-                        (this.onSurfaceTouchStart = function () {
-                          e.handleButton('surface', 'touchstart')
-                        }),
-                        (this.onSurfaceTouchEnd = function () {
-                          e.handleButton('surface', 'touchend')
-                        }),
-                        (this.onControllerConnected = this.onControllerConnected.bind(this)),
-                        (this.onControllerDisconnected = this.onControllerDisconnected.bind(this)),
-                        t.addEventListener('controllerconnected', this.onControllerConnected),
-                        t.addEventListener('controllerdisconnected', this.onControllerDisconnected),
-                        (t.object3D.visible = !1)
-                    },
-                    play: function () {
-                      this.addEventListeners()
-                    },
-                    pause: function () {
-                      this.removeEventListeners()
-                    },
-                    tick: function (e, t) {
-                      var n = this.el.getObject3D('mesh')
-                      n && n.mixer && n.mixer.update(t / 1e3)
-                    },
-                    onControllerConnected: function () {
-                      this.el.object3D.visible = !0
-                    },
-                    onControllerDisconnected: function () {
-                      this.el.object3D.visible = !1
-                    },
-                    addEventListeners: function () {
-                      var e = this.el
-                      e.addEventListener('gripdown', this.onGripDown),
-                        e.addEventListener('gripup', this.onGripUp),
-                        e.addEventListener('trackpaddown', this.onTrackpadDown),
-                        e.addEventListener('trackpadup', this.onTrackpadUp),
-                        e.addEventListener('trackpadtouchstart', this.onTrackpadTouchStart),
-                        e.addEventListener('trackpadtouchend', this.onTrackpadTouchEnd),
-                        e.addEventListener('triggerdown', this.onTriggerDown),
-                        e.addEventListener('triggerup', this.onTriggerUp),
-                        e.addEventListener('triggertouchstart', this.onTriggerTouchStart),
-                        e.addEventListener('triggertouchend', this.onTriggerTouchEnd),
-                        e.addEventListener('griptouchstart', this.onGripTouchStart),
-                        e.addEventListener('griptouchend', this.onGripTouchEnd),
-                        e.addEventListener('thumbstickdown', this.onThumbstickDown),
-                        e.addEventListener('thumbstickup', this.onThumbstickUp),
-                        e.addEventListener('abuttontouchstart', this.onAorXTouchStart),
-                        e.addEventListener('abuttontouchend', this.onAorXTouchEnd),
-                        e.addEventListener('bbuttontouchstart', this.onBorYTouchStart),
-                        e.addEventListener('bbuttontouchend', this.onBorYTouchEnd),
-                        e.addEventListener('xbuttontouchstart', this.onAorXTouchStart),
-                        e.addEventListener('xbuttontouchend', this.onAorXTouchEnd),
-                        e.addEventListener('ybuttontouchstart', this.onBorYTouchStart),
-                        e.addEventListener('ybuttontouchend', this.onBorYTouchEnd),
-                        e.addEventListener('surfacetouchstart', this.onSurfaceTouchStart),
-                        e.addEventListener('surfacetouchend', this.onSurfaceTouchEnd)
-                    },
-                    removeEventListeners: function () {
-                      var e = this.el
-                      e.removeEventListener('gripdown', this.onGripDown),
-                        e.removeEventListener('gripup', this.onGripUp),
-                        e.removeEventListener('trackpaddown', this.onTrackpadDown),
-                        e.removeEventListener('trackpadup', this.onTrackpadUp),
-                        e.removeEventListener('trackpadtouchstart', this.onTrackpadTouchStart),
-                        e.removeEventListener('trackpadtouchend', this.onTrackpadTouchEnd),
-                        e.removeEventListener('triggerdown', this.onTriggerDown),
-                        e.removeEventListener('triggerup', this.onTriggerUp),
-                        e.removeEventListener('triggertouchstart', this.onTriggerTouchStart),
-                        e.removeEventListener('triggertouchend', this.onTriggerTouchEnd),
-                        e.removeEventListener('griptouchstart', this.onGripTouchStart),
-                        e.removeEventListener('griptouchend', this.onGripTouchEnd),
-                        e.removeEventListener('thumbstickdown', this.onThumbstickDown),
-                        e.removeEventListener('thumbstickup', this.onThumbstickUp),
-                        e.removeEventListener('abuttontouchstart', this.onAorXTouchStart),
-                        e.removeEventListener('abuttontouchend', this.onAorXTouchEnd),
-                        e.removeEventListener('bbuttontouchstart', this.onBorYTouchStart),
-                        e.removeEventListener('bbuttontouchend', this.onBorYTouchEnd),
-                        e.removeEventListener('xbuttontouchstart', this.onAorXTouchStart),
-                        e.removeEventListener('xbuttontouchend', this.onAorXTouchEnd),
-                        e.removeEventListener('ybuttontouchstart', this.onBorYTouchStart),
-                        e.removeEventListener('ybuttontouchend', this.onBorYTouchEnd),
-                        e.removeEventListener('surfacetouchstart', this.onSurfaceTouchStart),
-                        e.removeEventListener('surfacetouchend', this.onSurfaceTouchEnd)
-                    },
-                    update: function (e) {
-                      var t,
-                        n = this.el,
-                        r = this.data.hand,
-                        o = this.data.handModelStyle,
-                        a = this.data.color,
-                        s = this
-                      if (((t = { hand: r, model: !1 }), r !== e)) {
-                        var l = i[o + r.charAt(0).toUpperCase() + r.slice(1)]
-                        this.loader.load(l, function (e) {
-                          var i = e.scene.children[0],
-                            o = 'left' === r ? Math.PI / 2 : -Math.PI / 2
-                          ;(i.mixer = new THREE.AnimationMixer(i)),
-                            (s.clips = e.animations),
-                            n.setObject3D('mesh', i),
-                            (i.children[1].material.color = new THREE.Color(a)),
-                            i.position.set(0, 0, 0),
-                            i.rotation.set(0, 0, o),
-                            n.setAttribute('magicleap-controls', t),
-                            n.setAttribute('vive-controls', t),
-                            n.setAttribute('oculus-touch-controls', t),
-                            n.setAttribute('windows-motion-controls', t)
-                        })
-                      }
-                    },
-                    remove: function () {
-                      this.el.removeObject3D('mesh')
-                    },
-                    handleButton: function (e, t) {
-                      var n,
-                        r = 'down' === t,
-                        i = 'touchstart' === t
-                      if (0 === t.indexOf('touch')) {
-                        if (i === this.touchedButtons[e]) return
-                        this.touchedButtons[e] = i
-                      } else {
-                        if (r === this.pressedButtons[e]) return
-                        this.pressedButtons[e] = r
-                      }
-                      ;(n = this.gesture),
-                        (this.gesture = this.determineGesture()),
-                        this.gesture !== n &&
-                          (this.animateGesture(this.gesture, n),
-                          this.emitGestureEvents(this.gesture, n))
-                    },
-                    determineGesture: function () {
-                      var e,
-                        t = this.pressedButtons.grip,
-                        n = this.pressedButtons.surface || this.touchedButtons.surface,
-                        r = this.pressedButtons.trackpad || this.touchedButtons.trackpad,
-                        i = this.pressedButtons.trigger || this.touchedButtons.trigger,
-                        a = this.touchedButtons.AorX || this.touchedButtons.BorY
-                      return (
-                        l(this.el.components['tracked-controls'])
-                          ? t || i
-                            ? (e = o.fist)
-                            : r && (e = o.point)
-                          : t
-                          ? (e =
-                              n || a || r ? (i ? o.fist : o.point) : i ? o.thumbUp : o.pointThumb)
-                          : i && (e = o.hold),
-                        e
-                      )
-                    },
-                    getClip: function (e) {
-                      var t, n
-                      for (n = 0; n < this.clips.length; n++)
-                        if ((t = this.clips[n]).name === e) return t
-                    },
-                    animateGesture: function (e, t) {
-                      e ? this.playAnimation(e || o.open, t, !1) : this.playAnimation(t, t, !0)
-                    },
-                    emitGestureEvents: function (e, t) {
-                      var n,
-                        r = this.el
-                      t !== e && ((n = s(t, !1)) && r.emit(n), (n = s(e, !0)) && r.emit(n))
-                    },
-                    playAnimation: function (e, t, n) {
-                      var r,
-                        i,
-                        o,
-                        a = this.el.getObject3D('mesh')
-                      if (a) {
-                        if (
-                          (a.mixer.stopAllAction(),
-                          (r = this.getClip(e)),
-                          ((o = a.mixer.clipAction(r)).clampWhenFinished = !0),
-                          (o.loop = THREE.LoopRepeat),
-                          (o.repetitions = 0),
-                          (o.timeScale = n ? -1 : 1),
-                          (o.time = n ? r.duration : 0),
-                          (o.weight = 1),
-                          !t || e === t)
-                        )
-                          return a.mixer.stopAllAction(), void o.play()
-                        ;(r = this.getClip(t)),
-                          ((i = a.mixer.clipAction(r)).weight = 0.15),
-                          i.play(),
-                          o.play(),
-                          i.crossFadeTo(o, 0.15, !0)
-                      }
-                    },
-                  }))
-              },
-              { '../core/component': 131 },
-            ],
-            83: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls').checkControllerPresentAndSetup,
-                  a = 'https://cdn.aframe.io/controllers/oculus-hands/unity/left.glb',
-                  s = 'https://cdn.aframe.io/controllers/oculus-hands/unity/right.glb',
-                  l = { left: 'b_l_', right: 'b_r_' },
-                  c = [
-                    'wrist',
-                    'thumb-metacarpal',
-                    'thumb-phalanx-proximal',
-                    'thumb-phalanx-distal',
-                    'thumb-tip',
-                    'index-finger-metacarpal',
-                    'index-finger-phalanx-proximal',
-                    'index-finger-phalanx-intermediate',
-                    'index-finger-phalanx-distal',
-                    'index-finger-tip',
-                    'middle-finger-metacarpal',
-                    'middle-finger-phalanx-proximal',
-                    'middle-finger-phalanx-intermediate',
-                    'middle-finger-phalanx-distal',
-                    'middle-finger-tip',
-                    'ring-finger-metacarpal',
-                    'ring-finger-phalanx-proximal',
-                    'ring-finger-phalanx-intermediate',
-                    'ring-finger-phalanx-distal',
-                    'ring-finger-tip',
-                    'pinky-finger-metacarpal',
-                    'pinky-finger-phalanx-proximal',
-                    'pinky-finger-phalanx-intermediate',
-                    'pinky-finger-phalanx-distal',
-                    'pinky-finger-tip',
-                  ],
-                  u = {
-                    wrist: 'wrist',
-                    'thumb-metacarpal': 'thumb1',
-                    'thumb-phalanx-proximal': 'thumb2',
-                    'thumb-phalanx-distal': 'thumb3',
-                    'thumb-tip': 'thumb_null',
-                    'index-finger-phalanx-proximal': 'index1',
-                    'index-finger-phalanx-intermediate': 'index2',
-                    'index-finger-phalanx-distal': 'index3',
-                    'index-finger-tip': 'index_null',
-                    'middle-finger-phalanx-proximal': 'middle1',
-                    'middle-finger-phalanx-intermediate': 'middle2',
-                    'middle-finger-phalanx-distal': 'middle3',
-                    'middle-finger-tip': 'middle_null',
-                    'ring-finger-phalanx-proximal': 'ring1',
-                    'ring-finger-phalanx-intermediate': 'ring2',
-                    'ring-finger-phalanx-distal': 'ring3',
-                    'ring-finger-tip': 'ring_null',
-                    'pinky-finger-metacarpal': 'pinky0',
-                    'pinky-finger-phalanx-proximal': 'pinky1',
-                    'pinky-finger-phalanx-intermediate': 'pinky2',
-                    'pinky-finger-phalanx-distal': 'pinky3',
-                    'pinky-finger-tip': 'pinky_null',
-                  },
-                  h = 0.015,
-                  d = 0.03,
-                  p = 0.5
-                t.exports.Component = r('hand-tracking-controls', {
-                  schema: {
-                    hand: { default: 'right', oneOf: ['left', 'right'] },
-                    modelStyle: { default: 'mesh', oneOf: ['dots', 'mesh'] },
-                    modelColor: { default: 'white' },
-                  },
-                  bindMethods: function () {
-                    ;(this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      ))
-                  },
-                  addEventListeners: function () {
-                    this.el.addEventListener('model-loaded', this.onModelLoaded)
-                    for (var e = 0; e < this.jointEls.length; ++e)
-                      this.jointEls[e].object3D.visible = !0
-                  },
-                  removeEventListeners: function () {
-                    this.el.removeEventListener('model-loaded', this.onModelLoaded)
-                    for (var e = 0; e < this.jointEls.length; ++e)
-                      this.jointEls[e].object3D.visible = !1
-                  },
-                  init: function () {
-                    var e = this.el.sceneEl,
-                      t = e.getAttribute('webxr').optionalFeatures
-                    t.push('hand-tracking'),
-                      e.setAttribute('webxr', { optionalFeatures: t }),
-                      (this.onModelLoaded = this.onModelLoaded.bind(this)),
-                      (this.jointEls = []),
-                      (this.controllerPresent = !1),
-                      (this.isPinched = !1),
-                      (this.pinchEventDetail = { position: new THREE.Vector3() }),
-                      (this.indexTipPosition = new THREE.Vector3()),
-                      this.bindMethods(),
-                      (this.updateReferenceSpace = this.updateReferenceSpace.bind(this)),
-                      this.el.sceneEl.addEventListener('enter-vr', this.updateReferenceSpace),
-                      this.el.sceneEl.addEventListener('exit-vr', this.updateReferenceSpace)
-                  },
-                  updateReferenceSpace: function () {
-                    var e = this,
-                      t = this.el.sceneEl.xrSession
-                    if (((this.referenceSpace = void 0), t)) {
-                      var n = e.el.sceneEl.systems.webxr.sessionReferenceSpaceType
-                      t.requestReferenceSpace(n)
-                        .then(function (t) {
-                          e.referenceSpace = t.getOffsetReferenceSpace(
-                            new XRRigidTransform({ x: 0, y: 1.5, z: 0 }),
-                          )
-                        })
-                        .catch(function (t) {
-                          throw (
-                            (e.el.sceneEl.systems.webxr.warnIfFeatureNotRequested(
-                              n,
-                              'tracked-controls-webxr uses reference space ' + n,
-                            ),
-                            t)
-                          )
-                        })
-                    }
-                  },
-                  checkIfControllerPresent: function () {
-                    var e = this.data,
-                      t = e.hand ? e.hand : void 0
-                    o(this, '', { hand: t, iterateControllerProfiles: !0, handTracking: !0 })
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  tick: function () {
-                    var e = this.el.sceneEl,
-                      t =
-                        this.el.components['tracked-controls'] &&
-                        this.el.components['tracked-controls'].controller,
-                      n = e.frame,
-                      r = this.el.components['tracked-controls-webxr']
-                    t &&
-                      n &&
-                      r &&
-                      t.hand &&
-                      (this.el.object3D.position.set(0, 0, 0),
-                      this.el.object3D.rotation.set(0, 0, 0),
-                      n.getJointPose && this.updateHandModel(),
-                      this.detectGesture())
-                  },
-                  updateHandModel: function () {
-                    'dots' === this.data.modelStyle && this.updateHandDotsModel(),
-                      'mesh' === this.data.modelStyle && this.updateHandMeshModel()
-                  },
-                  getBone: function (e) {
-                    for (var t = this.bones, n = 0; n < t.length; n++)
-                      if (t[n].name === e) return t[n]
-                    return null
-                  },
-                  updateHandMeshModel: function () {
-                    var e = this.el.sceneEl.frame,
-                      t =
-                        this.el.components['tracked-controls'] &&
-                        this.el.components['tracked-controls'].controller,
-                      n = this.referenceSpace
-                    if (t && this.mesh && n)
-                      for (var r of ((this.mesh.visible = !1), t.hand.values())) {
-                        var i, o, a
-                        ;(o = e.getJointPose(r, n)),
-                          u[r.jointName] &&
-                            null != (i = this.getBone(l[this.data.hand] + u[r.jointName])) &&
-                            o &&
-                            ((a = o.transform),
-                            (this.mesh.visible = !0),
-                            i.position.copy(a.position).multiplyScalar(100),
-                            i.quaternion.set(
-                              a.orientation.x,
-                              a.orientation.y,
-                              a.orientation.z,
-                              a.orientation.w,
-                            ))
-                      }
-                  },
-                  updateHandDotsModel: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.el.sceneEl.frame,
-                      i =
-                        this.el.components['tracked-controls'] &&
-                        this.el.components['tracked-controls'].controller,
-                      o = this.el.components['tracked-controls-webxr'].system.referenceSpace,
-                      a = 0
-                    for (var s of i.hand.values())
-                      (t = (e = this.jointEls[a++]).object3D),
-                        (n = r.getJointPose(s, o)),
-                        (e.object3D.visible = !!n),
-                        n &&
-                          ((t.matrix.elements = n.transform.matrix),
-                          t.matrix.decompose(t.position, t.rotation, t.scale),
-                          e.setAttribute('scale', { x: n.radius, y: n.radius, z: n.radius }))
-                  },
-                  detectGesture: function () {
-                    this.detectPinch()
-                  },
-                  detectPinch: (function () {
-                    var e = new THREE.Vector3()
-                    return function () {
-                      var t = this.el.sceneEl.frame,
-                        n = this.indexTipPosition,
-                        r =
-                          this.el.components['tracked-controls'] &&
-                          this.el.components['tracked-controls'].controller,
-                        i = this.el.components['tracked-controls-webxr'],
-                        o = this.referenceSpace || i.system.referenceSpace,
-                        a = r.hand.get('index-finger-tip'),
-                        s = r.hand.get('thumb-tip')
-                      if (a && s) {
-                        var l = t.getJointPose(a, o),
-                          c = t.getJointPose(s, o)
-                        if (l && c) {
-                          e.copy(c.transform.position), n.copy(l.transform.position)
-                          var u = n.distanceTo(e)
-                          u < h &&
-                            !1 === this.isPinched &&
-                            ((this.isPinched = !0),
-                            this.pinchEventDetail.position.copy(n).lerp(e, p),
-                            (this.pinchEventDetail.position.y += 1.5),
-                            this.el.emit('pinchstarted', this.pinchEventDetail)),
-                            u > d &&
-                              !0 === this.isPinched &&
-                              ((this.isPinched = !1),
-                              this.pinchEventDetail.position.copy(n).lerp(e, p),
-                              (this.pinchEventDetail.position.y += 1.5),
-                              this.el.emit('pinchended', this.pinchEventDetail)),
-                            this.isPinched &&
-                              (this.pinchEventDetail.position.copy(n).lerp(e, p),
-                              (this.pinchEventDetail.position.y += 1.5),
-                              this.el.emit('pinchmoved', this.pinchEventDetail)),
-                            (n.y += 1.5)
-                        }
-                      }
-                    }
-                  })(),
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      hand: t.hand,
-                      iterateControllerProfiles: !0,
-                      handTrackingEnabled: !0,
-                    }),
-                      this.initDefaultModel()
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    var e
-                    this.checkIfControllerPresent(),
-                      (e =
-                        this.el.components['tracked-controls'] &&
-                        this.el.components['tracked-controls'].controller),
-                      this.el.getObject3D('mesh') &&
-                        ((e && e.hand && e.hand[0]) || (this.el.getObject3D('mesh').visible = !1))
-                  },
-                  initDefaultModel: function () {
-                    this.el.getObject3D('mesh') ||
-                      ('dots' === this.data.modelStyle && this.initDotsModel(),
-                      'mesh' === this.data.modelStyle && this.initMeshHandModel())
-                  },
-                  initDotsModel: function () {
-                    if (0 === this.jointEls.length)
-                      for (var e = 0; e < c.length; ++e) {
-                        var t = (this.jointEl = document.createElement('a-entity'))
-                        t.setAttribute('geometry', { primitive: 'sphere', radius: 1 }),
-                          t.setAttribute('material', { color: this.data.modelColor }),
-                          (t.object3D.visible = !1),
-                          this.el.appendChild(t),
-                          this.jointEls.push(t)
-                      }
-                  },
-                  initMeshHandModel: function () {
-                    var e = 'left' === this.data.hand ? a : s
-                    this.el.setAttribute('gltf-model', e)
-                  },
-                  onModelLoaded: function () {
-                    var e = (this.mesh = this.el.getObject3D('mesh').children[0]),
-                      t = (this.skinnedMesh = e.children[24])
-                    this.skinnedMesh &&
-                      ((this.bones = t.skeleton.bones),
-                      this.el.removeObject3D('mesh'),
-                      e.position.set(0, 1.5, 0),
-                      e.rotation.set(0, 0, 0),
-                      (t.frustumCulled = !1),
-                      (t.material = new THREE.MeshStandardMaterial({
-                        skinning: !0,
-                        color: this.data.modelColor,
-                      })),
-                      this.el.setObject3D('mesh', e))
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/bind': 199, '../utils/tracked-controls': 214 },
-            ],
-            84: [
-              function (e, t, n) {
-                e('./animation'),
-                  e('./camera'),
-                  e('./cursor'),
-                  e('./daydream-controls'),
-                  e('./gearvr-controls'),
-                  e('./geometry'),
-                  e('./generic-tracked-controller-controls'),
-                  e('./gltf-model'),
-                  e('./hand-tracking-controls'),
-                  e('./hand-controls'),
-                  e('./layer'),
-                  e('./laser-controls'),
-                  e('./light'),
-                  e('./line'),
-                  e('./link'),
-                  e('./look-controls'),
-                  e('./magicleap-controls'),
-                  e('./material'),
-                  e('./obj-model'),
-                  e('./oculus-go-controls'),
-                  e('./oculus-touch-controls'),
-                  e('./position'),
-                  e('./raycaster'),
-                  e('./rotation'),
-                  e('./scale'),
-                  e('./shadow'),
-                  e('./sound'),
-                  e('./text'),
-                  e('./tracked-controls'),
-                  e('./tracked-controls-webvr'),
-                  e('./tracked-controls-webxr'),
-                  e('./visible'),
-                  e('./valve-index-controls'),
-                  e('./vive-controls'),
-                  e('./vive-focus-controls'),
-                  e('./wasd-controls'),
-                  e('./windows-motion-controls'),
-                  e('./scene/background'),
-                  e('./scene/debug'),
-                  e('./scene/device-orientation-permission-ui'),
-                  e('./scene/embedded'),
-                  e('./scene/inspector'),
-                  e('./scene/fog'),
-                  e('./scene/keyboard-shortcuts'),
-                  e('./scene/pool'),
-                  e('./scene/screenshot'),
-                  e('./scene/stats'),
-                  e('./scene/vr-mode-ui')
-              },
-              {
-                './animation': 74,
-                './camera': 75,
-                './cursor': 76,
-                './daydream-controls': 77,
-                './gearvr-controls': 78,
-                './generic-tracked-controller-controls': 79,
-                './geometry': 80,
-                './gltf-model': 81,
-                './hand-controls': 82,
-                './hand-tracking-controls': 83,
-                './laser-controls': 85,
-                './layer': 86,
-                './light': 87,
-                './line': 88,
-                './link': 89,
-                './look-controls': 90,
-                './magicleap-controls': 91,
-                './material': 92,
-                './obj-model': 93,
-                './oculus-go-controls': 94,
-                './oculus-touch-controls': 95,
-                './position': 96,
-                './raycaster': 97,
-                './rotation': 98,
-                './scale': 99,
-                './scene/background': 100,
-                './scene/debug': 101,
-                './scene/device-orientation-permission-ui': 102,
-                './scene/embedded': 103,
-                './scene/fog': 104,
-                './scene/inspector': 105,
-                './scene/keyboard-shortcuts': 106,
-                './scene/pool': 107,
-                './scene/screenshot': 108,
-                './scene/stats': 109,
-                './scene/vr-mode-ui': 110,
-                './shadow': 111,
-                './sound': 112,
-                './text': 113,
-                './tracked-controls': 116,
-                './tracked-controls-webvr': 114,
-                './tracked-controls-webxr': 115,
-                './valve-index-controls': 117,
-                './visible': 118,
-                './vive-controls': 119,
-                './vive-focus-controls': 120,
-                './wasd-controls': 121,
-                './windows-motion-controls': 122,
-              },
-            ],
-            85: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/')
-                r('laser-controls', {
-                  schema: {
-                    hand: { default: 'right' },
-                    model: { default: !0 },
-                    defaultModelColor: { type: 'color', default: 'grey' },
-                  },
-                  init: function () {
-                    var e = this.config,
-                      t = this.data,
-                      n = this.el,
-                      r = this,
-                      o = { hand: t.hand, model: t.model }
-                    function a(t) {
-                      var o = e[t.detail.name]
-                      if (o) {
-                        var a = i.extend({ showLine: !0 }, o.raycaster || {})
-                        t.detail.rayOrigin &&
-                          ((a.origin = t.detail.rayOrigin.origin),
-                          (a.direction = t.detail.rayOrigin.direction),
-                          (a.showLine = !0)),
-                          t.detail.rayOrigin || !r.modelReady
-                            ? n.setAttribute('raycaster', a)
-                            : n.setAttribute('raycaster', 'showLine', !0),
-                          n.setAttribute('cursor', i.extend({ fuse: !1 }, o.cursor))
-                      }
-                    }
-                    function s() {
-                      n.setAttribute('raycaster', 'showLine', !1)
-                    }
-                    n.setAttribute('daydream-controls', o),
-                      n.setAttribute('gearvr-controls', o),
-                      n.setAttribute('magicleap-controls', o),
-                      n.setAttribute('oculus-go-controls', o),
-                      n.setAttribute('oculus-touch-controls', o),
-                      n.setAttribute('valve-index-controls', o),
-                      n.setAttribute('vive-controls', o),
-                      n.setAttribute('vive-focus-controls', o),
-                      n.setAttribute('windows-motion-controls', o),
-                      n.setAttribute('generic-tracked-controller-controls', o),
-                      n.addEventListener('controllerconnected', a),
-                      n.addEventListener('controllerdisconnected', s),
-                      n.addEventListener('controllermodelready', function (e) {
-                        a(e), (r.modelReady = !0)
-                      })
-                  },
-                  config: {
-                    'daydream-controls': {
-                      cursor: {
-                        downEvents: ['trackpaddown', 'triggerdown'],
-                        upEvents: ['trackpadup', 'triggerup'],
-                      },
-                    },
-                    'gearvr-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                      raycaster: { origin: { x: 0, y: 0.001, z: 0 } },
-                    },
-                    'generic-tracked-controller-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                    },
-                    'magicleap-controls': {
-                      cursor: {
-                        downEvents: ['trackpaddown', 'triggerdown'],
-                        upEvents: ['trackpadup', 'triggerup'],
-                      },
-                    },
-                    'oculus-go-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                      raycaster: { origin: { x: 0, y: 5e-4, z: 0 } },
-                    },
-                    'oculus-touch-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                      raycaster: { origin: { x: 0, y: 0, z: 0 } },
-                    },
-                    'valve-index-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                    },
-                    'vive-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                    },
-                    'vive-focus-controls': {
-                      cursor: {
-                        downEvents: ['trackpaddown', 'triggerdown'],
-                        upEvents: ['trackpadup', 'triggerup'],
-                      },
-                    },
-                    'windows-motion-controls': {
-                      cursor: { downEvents: ['triggerdown'], upEvents: ['triggerup'] },
-                      raycaster: { showLine: !1 },
-                    },
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/': 205 },
-            ],
-            86: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/').debug('components:layer:warn')
-                function o(e, t, n, r) {
-                  var i = e.createFramebuffer()
-                  let o = n.viewport.x,
-                    a = n.viewport.y,
-                    s = n.viewport.x + n.viewport.width,
-                    l = n.viewport.y + n.viewport.height
-                  'VIDEO' === r.tagName &&
-                    (e.bindTexture(e.TEXTURE_2D, t),
-                    e.texSubImage2D(
-                      e.TEXTURE_2D,
-                      0,
-                      0,
-                      0,
-                      r.width,
-                      r.height,
-                      e.RGB,
-                      e.UNSIGNED_BYTE,
-                      r,
-                    )),
-                    e.bindFramebuffer(e.READ_FRAMEBUFFER, i),
-                    e.framebufferTexture2D(
-                      e.READ_FRAMEBUFFER,
-                      e.COLOR_ATTACHMENT0,
-                      e.TEXTURE_2D,
-                      t,
-                      0,
-                    ),
-                    e.readBuffer(e.COLOR_ATTACHMENT0),
-                    e.blitFramebuffer(
-                      0,
-                      0,
-                      r.width,
-                      r.height,
-                      o,
-                      a,
-                      s,
-                      l,
-                      e.COLOR_BUFFER_BIT,
-                      e.NEAREST,
-                    ),
-                    e.bindFramebuffer(e.READ_FRAMEBUFFER, null),
-                    e.deleteFramebuffer(i)
-                }
-                t.exports.Component = r('layer', {
-                  schema: {
-                    type: { default: 'quad', oneOf: ['quad', 'monocubemap', 'stereocubemap'] },
-                    src: { type: 'map' },
-                    rotateCubemap: { default: !1 },
-                    width: { default: 0 },
-                    height: { default: 0 },
-                  },
-                  init: function () {
-                    var e = this.el.sceneEl.renderer.getContext()
-                    ;(this.quaternion = new THREE.Quaternion()),
-                      (this.position = new THREE.Vector3()),
-                      this.bindMethods(),
-                      (this.needsRedraw = !1),
-                      (this.frameBuffer = e.createFramebuffer())
-                    var t = this.el.sceneEl.getAttribute('webxr').requiredFeatures
-                    t.push('layers'),
-                      this.el.sceneEl.getAttribute('webxr', 'requiredFeatures', t),
-                      this.el.sceneEl.addEventListener('enter-vr', this.onEnterVR),
-                      this.el.sceneEl.addEventListener('exit-vr', this.onExitVR)
-                  },
-                  bindMethods: function () {
-                    ;(this.onRequestedReferenceSpace = this.onRequestedReferenceSpace.bind(this)),
-                      (this.onEnterVR = this.onEnterVR.bind(this)),
-                      (this.onExitVR = this.onExitVR.bind(this))
-                  },
-                  update: function (e) {
-                    this.data.src !== e.src && this.updateSrc()
-                  },
-                  updateSrc: function () {
-                    var e = this.data.type
-                    ;(this.texture = void 0),
-                      'quad' !== e
-                        ? ('monocubemap' !== e && 'stereocubemap' !== e) || this.loadCubeMapImages()
-                        : this.loadQuadImage()
-                  },
-                  loadCubeMapImages: function () {
-                    var e,
-                      t = this.data.type,
-                      n = this.xrGLFactory,
-                      r = this.el.sceneEl.frame,
-                      i = this.data.src
-                    ;(this.visibilityChanged = !1),
-                      this.layer &&
-                        (i.complete
-                          ? (this.pendingCubeMapUpdate = !1)
-                          : (this.pendingCubeMapUpdate = !0),
-                        this.loadingScreen ? (this.loadingScreen = !1) : (this.loadingScreen = !0),
-                        'monocubemap' === t
-                          ? ((e = n.getSubImage(this.layer, r)),
-                            this.loadCubeMapImage(e.colorTexture, i, 0))
-                          : ((e = n.getSubImage(this.layer, r, 'left')),
-                            this.loadCubeMapImage(e.colorTexture, i, 0),
-                            (e = n.getSubImage(this.layer, r, 'right')),
-                            this.loadCubeMapImage(e.colorTexture, i, 6)))
-                  },
-                  loadQuadImage: function () {
-                    var e = this.data.src,
-                      t = this
-                    this.el.sceneEl.systems.material.loadTexture(e, { src: e }, function (n) {
-                      t.el.sceneEl.renderer.initTexture(n),
-                        (t.texture = n),
-                        'VIDEO' === e.tagName &&
-                          setTimeout(function () {
-                            t.textureIsVideo = !0
-                          }, 1e3),
-                        t.layer &&
-                          ((t.layer.height = t.data.height / 2 || t.texture.image.height / 1e3),
-                          (t.layer.width = t.data.width / 2 || t.texture.image.width / 1e3),
-                          (t.needsRedraw = !0)),
-                        t.updateQuadPanel()
-                    })
-                  },
-                  preGenerateCubeMapTextures: function (e, t) {
-                    'monocubemap' === this.data.type
-                      ? this.generateCubeMapTextures(e, 0, t)
-                      : (this.generateCubeMapTextures(e, 0, t),
-                        this.generateCubeMapTextures(e, 6, t))
-                  },
-                  generateCubeMapTextures: function (e, t, n) {
-                    for (
-                      var r,
-                        i,
-                        o = this.data,
-                        a = this.cubeFaceSize,
-                        s = Math.min(e.width, e.height),
-                        l = [],
-                        c = 0;
-                      c < 6;
-                      c++
-                    ) {
-                      var u = document.createElement('CANVAS')
-                      u.width = u.height = a
-                      var h = u.getContext('2d')
-                      o.rotateCubemap &&
-                        ((2 !== c && 3 !== c) || (h.save(), h.translate(a, a), h.rotate(Math.PI))),
-                        h.drawImage(e, (c + t) * s, 0, s, s, 0, 0, a, a),
-                        h.restore(),
-                        n && n(),
-                        l.push(u)
-                    }
-                    return (
-                      o.rotateCubemap &&
-                        ((r = l[0]),
-                        (i = l[1]),
-                        (l[0] = i),
-                        (l[1] = r),
-                        (r = l[4]),
-                        (i = l[5]),
-                        (l[4] = i),
-                        (l[5] = r)),
-                      n && n(),
-                      l
-                    )
-                  },
-                  loadCubeMapImage: function (e, t, n) {
-                    var r,
-                      i = this.el.sceneEl.renderer.getContext()
-                    i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL, !1),
-                      i.bindTexture(i.TEXTURE_CUBE_MAP, e),
-                      (r =
-                        !t.complete || this.loadingScreen
-                          ? this.loadingScreenImages
-                          : this.generateCubeMapTextures(t, n))
-                    var o = 0
-                    r.forEach(function (e, t) {
-                      i.texSubImage2D(
-                        i.TEXTURE_CUBE_MAP_POSITIVE_X + t,
-                        0,
-                        0,
-                        0,
-                        i.RGBA,
-                        i.UNSIGNED_BYTE,
-                        e,
-                      ),
-                        (o = i.getError())
-                    }),
-                      0 !== o && console.log('renderingError, WebGL Error Code: ' + o),
-                      i.bindTexture(i.TEXTURE_CUBE_MAP, null)
-                  },
-                  tick: function () {
-                    this.el.sceneEl.xrSession &&
-                      (!this.layer && this.el.sceneEl.is('vr-mode') && this.initLayer(),
-                      this.updateTransform(),
-                      this.data.src.complete &&
-                        (this.pendingCubeMapUpdate ||
-                          this.loadingScreen ||
-                          this.visibilityChanged) &&
-                        this.loadCubeMapImages(),
-                      (this.needsRedraw || this.layer.needsRedraw || this.textureIsVideo) &&
-                        ('quad' === this.data.type && this.draw(), (this.needsRedraw = !1)))
-                  },
-                  initLayer: function () {
-                    var e = this,
-                      t = this.data.type
-                    ;(this.el.sceneEl.xrSession.onvisibilitychange = function (t) {
-                      e.visibilityChanged = 'hidden' !== t.session.visibilityState
-                    }),
-                      'quad' !== t
-                        ? ('monocubemap' !== t && 'stereocubemap' !== t) || this.initCubeMapLayer()
-                        : this.initQuadLayer()
-                  },
-                  initQuadLayer: function () {
-                    var e = this.el.sceneEl,
-                      t = e.renderer.getContext(),
-                      n = (this.xrGLFactory = new XRWebGLBinding(e.xrSession, t))
-                    this.texture &&
-                      ((this.layer = n.createQuadLayer({
-                        space: this.referenceSpace,
-                        viewPixelHeight: 2048,
-                        viewPixelWidth: 2048,
-                        height: this.data.height / 2 || this.texture.image.height / 1e3,
-                        width: this.data.width / 2 || this.texture.image.width / 1e3,
-                      })),
-                      e.renderer.xr.addLayer(this.layer))
-                  },
-                  initCubeMapLayer: function () {
-                    var e = this.data.src,
-                      t = this.el.sceneEl,
-                      n = t.renderer.getContext(),
-                      r = n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),
-                      i = (this.cubeFaceSize = Math.min(r, Math.min(e.width, e.height))),
-                      o = (this.xrGLFactory = new XRWebGLBinding(t.xrSession, n))
-                    ;(this.layer = o.createCubeLayer({
-                      space: this.referenceSpace,
-                      viewPixelWidth: i,
-                      viewPixelHeight: i,
-                      layout: 'monocubemap' === this.data.type ? 'mono' : 'stereo',
-                      isStatic: !1,
-                    })),
-                      this.initLoadingScreenImages(),
-                      this.loadCubeMapImages(),
-                      t.renderer.xr.addLayer(this.layer)
-                  },
-                  initLoadingScreenImages: function () {
-                    for (
-                      var e = this.cubeFaceSize, t = (this.loadingScreenImages = []), n = 0;
-                      n < 6;
-                      n++
-                    ) {
-                      var r = document.createElement('CANVAS')
-                      r.width = r.height = e
-                      var i = r.getContext('2d')
-                      ;(r.width = r.height = e),
-                        (i.fillStyle = 'black'),
-                        i.fillRect(0, 0, e, e),
-                        2 !== n &&
-                          3 !== n &&
-                          (i.translate(e, 0),
-                          i.scale(-1, 1),
-                          (i.fillStyle = 'white'),
-                          (i.font = '30px Arial'),
-                          i.fillText('Loading', e / 2, e / 2)),
-                        t.push(r)
-                    }
-                  },
-                  destroyLayer: function () {
-                    this.layer &&
-                      (this.el.sceneEl.renderer.xr.removeLayer(this.layer),
-                      this.layer.destroy(),
-                      (this.layer = void 0))
-                  },
-                  toggleCompositorLayer: function () {
-                    this.enableCompositorLayer(!this.layerEnabled)
-                  },
-                  enableCompositorLayer: function (e) {
-                    ;(this.layerEnabled = e),
-                      (this.quadPanelEl.object3D.visible = !this.layerEnabled)
-                  },
-                  updateQuadPanel: function () {
-                    var e = this.quadPanelEl
-                    this.quadPanelEl ||
-                      ((e = this.quadPanelEl = document.createElement('a-entity')),
-                      this.el.appendChild(e)),
-                      e.setAttribute('material', {
-                        shader: 'flat',
-                        src: this.data.src,
-                        transparent: !0,
-                      }),
-                      e.setAttribute('geometry', {
-                        primitive: 'plane',
-                        height: this.data.height || this.texture.image.height / 1e3,
-                        width: this.data.width || this.texture.image.height / 1e3,
-                      })
-                  },
-                  draw: function () {
-                    var e = this.el.sceneEl,
-                      t = this.el.sceneEl.renderer.getContext(),
-                      n = this.xrGLFactory.getSubImage(this.layer, e.frame),
-                      r = e.renderer.properties.get(this.texture).__webglTexture,
-                      i = t.getParameter(t.FRAMEBUFFER_BINDING)
-                    t.viewport(n.viewport.x, n.viewport.y, n.viewport.width, n.viewport.height),
-                      t.bindFramebuffer(t.FRAMEBUFFER, this.frameBuffer),
-                      t.framebufferTexture2D(
-                        t.FRAMEBUFFER,
-                        t.COLOR_ATTACHMENT0,
-                        t.TEXTURE_2D,
-                        n.colorTexture,
-                        0,
-                      ),
-                      o(t, r, n, this.data.src),
-                      t.bindFramebuffer(t.FRAMEBUFFER, i)
-                  },
-                  updateTransform: function () {
-                    var e = this.el,
-                      t = this.position,
-                      n = this.quaternion
-                    e.object3D.updateMatrixWorld(),
-                      t.setFromMatrixPosition(e.object3D.matrixWorld),
-                      n.setFromRotationMatrix(e.object3D.matrixWorld),
-                      this.layerEnabled || t.set(0, 0, 1e8),
-                      (this.layer.transform = new XRRigidTransform(t, n))
-                  },
-                  onEnterVR: function () {
-                    var e = this.el.sceneEl,
-                      t = e.xrSession
-                    e.hasWebXR && XRWebGLBinding && t
-                      ? (t.requestReferenceSpace('local').then(this.onRequestedReferenceSpace),
-                        (this.needsRedraw = !0),
-                        (this.layerEnabled = !0),
-                        this.quadPanelEl && (this.quadPanelEl.object3D.visible = !1),
-                        this.data.src.play && this.data.src.play())
-                      : i('The layer component requires WebXR and the layers API enabled')
-                  },
-                  onExitVR: function () {
-                    this.quadPanelEl && (this.quadPanelEl.object3D.visible = !0),
-                      this.destroyLayer()
-                  },
-                  onRequestedReferenceSpace: function (e) {
-                    this.referenceSpace = e
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/': 205 },
-            ],
-            87: [
-              function (e, t, n) {
-                var r = e('../utils/bind'),
-                  i = e('../utils').diff,
-                  o = e('../utils/debug'),
-                  a = e('../core/component').registerComponent,
-                  s = e('../lib/three'),
-                  l = s.Math.degToRad,
-                  c = o('components:light:warn')
-                t.exports.Component = a('light', {
-                  schema: {
-                    angle: { default: 60, if: { type: ['spot'] } },
-                    color: { type: 'color' },
-                    groundColor: { type: 'color', if: { type: ['hemisphere'] } },
-                    decay: { default: 1, if: { type: ['point', 'spot'] } },
-                    distance: { default: 0, min: 0, if: { type: ['point', 'spot'] } },
-                    intensity: {
-                      default: 1,
-                      min: 0,
-                      if: { type: ['ambient', 'directional', 'hemisphere', 'point', 'spot'] },
-                    },
-                    penumbra: { default: 0, min: 0, max: 1, if: { type: ['spot'] } },
-                    type: {
-                      default: 'directional',
-                      oneOf: ['ambient', 'directional', 'hemisphere', 'point', 'spot'],
-                      schemaChange: !0,
-                    },
-                    target: { type: 'selector', if: { type: ['spot', 'directional'] } },
-                    castShadow: { default: !1, if: { type: ['point', 'spot', 'directional'] } },
-                    shadowBias: { default: 0, if: { castShadow: !0 } },
-                    shadowCameraFar: { default: 500, if: { castShadow: !0 } },
-                    shadowCameraFov: { default: 90, if: { castShadow: !0 } },
-                    shadowCameraNear: { default: 0.5, if: { castShadow: !0 } },
-                    shadowCameraTop: { default: 5, if: { castShadow: !0 } },
-                    shadowCameraRight: { default: 5, if: { castShadow: !0 } },
-                    shadowCameraBottom: { default: -5, if: { castShadow: !0 } },
-                    shadowCameraLeft: { default: -5, if: { castShadow: !0 } },
-                    shadowCameraVisible: { default: !1, if: { castShadow: !0 } },
-                    shadowMapHeight: { default: 512, if: { castShadow: !0 } },
-                    shadowMapWidth: { default: 512, if: { castShadow: !0 } },
-                    shadowRadius: { default: 1, if: { castShadow: !0 } },
-                  },
-                  init: function () {
-                    var e = this.el
-                    ;(this.light = null),
-                      (this.defaultTarget = null),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.system.registerLight(e)
-                  },
-                  update: function (e) {
-                    var t = this.data,
-                      n = i(t, e),
-                      o = this.light,
-                      a = this.rendererSystem,
-                      s = this
-                    if (!o || 'type' in n) this.setLight(this.data), this.updateShadow()
-                    else {
-                      var c = !1
-                      Object.keys(n).forEach(function (e) {
-                        var n = t[e]
-                        switch (e) {
-                          case 'color':
-                            o.color.set(n), a.applyColorCorrection(o.color)
-                            break
-                          case 'groundColor':
-                            o.groundColor.set(n), a.applyColorCorrection(o.groundColor)
-                            break
-                          case 'angle':
-                            o.angle = l(n)
-                            break
-                          case 'target':
-                            null === n
-                              ? ('spot' !== t.type && 'directional' !== t.type) ||
-                                (o.target = s.defaultTarget)
-                              : n.hasLoaded
-                              ? s.onSetTarget(n, o)
-                              : n.addEventListener('loaded', r(s.onSetTarget, s, n, o))
-                            break
-                          case 'castShadow':
-                          case 'shadowBias':
-                          case 'shadowCameraFar':
-                          case 'shadowCameraFov':
-                          case 'shadowCameraNear':
-                          case 'shadowCameraTop':
-                          case 'shadowCameraRight':
-                          case 'shadowCameraBottom':
-                          case 'shadowCameraLeft':
-                          case 'shadowCameraVisible':
-                          case 'shadowMapHeight':
-                          case 'shadowMapWidth':
-                          case 'shadowRadius':
-                            c || (s.updateShadow(), (c = !0))
-                            break
-                          default:
-                            o[e] = n
-                        }
-                      })
-                    }
-                  },
-                  setLight: function (e) {
-                    var t = this.el,
-                      n = this.getLight(e)
-                    n &&
-                      (this.light && t.removeObject3D('light'),
-                      (this.light = n),
-                      (this.light.el = t),
-                      t.setObject3D('light', this.light),
-                      ('spot' !== e.type && 'directional' !== e.type && 'hemisphere' !== e.type) ||
-                        t.getObject3D('light').translateY(-1),
-                      'spot' === e.type &&
-                        (t.setObject3D('light-target', this.defaultTarget),
-                        t.getObject3D('light-target').position.set(0, 0, -1)))
-                  },
-                  updateShadow: function () {
-                    var e = this.el,
-                      t = this.data,
-                      n = this.light
-                    n.castShadow = t.castShadow
-                    var r = e.getObject3D('cameraHelper')
-                    if (
-                      (t.shadowCameraVisible && !r
-                        ? e.setObject3D('cameraHelper', new s.CameraHelper(n.shadow.camera))
-                        : !t.shadowCameraVisible && r && e.removeObject3D('cameraHelper'),
-                      !t.castShadow)
-                    )
-                      return n
-                    ;(n.shadow.bias = t.shadowBias),
-                      (n.shadow.radius = t.shadowRadius),
-                      (n.shadow.mapSize.height = t.shadowMapHeight),
-                      (n.shadow.mapSize.width = t.shadowMapWidth),
-                      (n.shadow.camera.near = t.shadowCameraNear),
-                      (n.shadow.camera.far = t.shadowCameraFar),
-                      n.shadow.camera instanceof s.OrthographicCamera
-                        ? ((n.shadow.camera.top = t.shadowCameraTop),
-                          (n.shadow.camera.right = t.shadowCameraRight),
-                          (n.shadow.camera.bottom = t.shadowCameraBottom),
-                          (n.shadow.camera.left = t.shadowCameraLeft))
-                        : (n.shadow.camera.fov = t.shadowCameraFov),
-                      n.shadow.camera.updateProjectionMatrix(),
-                      r && r.update()
-                  },
-                  getLight: function (e) {
-                    var t = e.angle,
-                      n = new s.Color(e.color)
-                    this.rendererSystem.applyColorCorrection(n), (n = n.getHex())
-                    var i = e.decay,
-                      o = e.distance,
-                      a = new s.Color(e.groundColor)
-                    this.rendererSystem.applyColorCorrection(a), (a = a.getHex())
-                    var u = e.intensity,
-                      h = e.type,
-                      d = e.target,
-                      p = null
-                    switch (h.toLowerCase()) {
-                      case 'ambient':
-                        return new s.AmbientLight(n, u)
-                      case 'directional':
-                        return (
-                          (p = new s.DirectionalLight(n, u)),
-                          (this.defaultTarget = p.target),
-                          d &&
-                            (d.hasLoaded
-                              ? this.onSetTarget(d, p)
-                              : d.addEventListener('loaded', r(this.onSetTarget, this, d, p))),
-                          p
-                        )
-                      case 'hemisphere':
-                        return new s.HemisphereLight(n, a, u)
-                      case 'point':
-                        return new s.PointLight(n, u, o, i)
-                      case 'spot':
-                        return (
-                          (p = new s.SpotLight(n, u, o, l(t), e.penumbra, i)),
-                          (this.defaultTarget = p.target),
-                          d &&
-                            (d.hasLoaded
-                              ? this.onSetTarget(d, p)
-                              : d.addEventListener('loaded', r(this.onSetTarget, this, d, p))),
-                          p
-                        )
-                      default:
-                        c(
-                          '%s is not a valid light type. Choose from ambient, directional, hemisphere, point, spot.',
-                          h,
-                        )
-                    }
-                  },
-                  onSetTarget: function (e, t) {
-                    t.target = e.object3D
-                  },
-                  remove: function () {
-                    var e = this.el
-                    e.removeObject3D('light'),
-                      e.getObject3D('cameraHelper') && e.removeObject3D('cameraHelper')
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils': 205,
-                '../utils/bind': 199,
-                '../utils/debug': 201,
-              },
-            ],
-            88: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent
-                function i(e, t) {
-                  return !(!e || !t) && e.x === t.x && e.y === t.y && e.z === t.z
-                }
-                t.exports.Component = r('line', {
-                  schema: {
-                    start: { type: 'vec3', default: { x: 0, y: 0, z: 0 } },
-                    end: { type: 'vec3', default: { x: 0, y: 0, z: 0 } },
-                    color: { type: 'color', default: '#74BEC1' },
-                    opacity: { type: 'number', default: 1 },
-                    visible: { default: !0 },
-                  },
-                  multiple: !0,
-                  init: function () {
-                    var e,
-                      t,
-                      n = this.data
-                    ;(this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      (t = this.material =
-                        new THREE.LineBasicMaterial({
-                          color: n.color,
-                          opacity: n.opacity,
-                          transparent: n.opacity < 1,
-                          visible: n.visible,
-                        })),
-                      (e = this.geometry = new THREE.BufferGeometry()).setAttribute(
-                        'position',
-                        new THREE.BufferAttribute(new Float32Array(6), 3),
-                      ),
-                      this.rendererSystem.applyColorCorrection(t.color),
-                      (this.line = new THREE.Line(e, t)),
-                      this.el.setObject3D(this.attrName, this.line)
-                  },
-                  update: function (e) {
-                    var t = this.data,
-                      n = this.geometry,
-                      r = !1,
-                      o = this.material,
-                      a = n.attributes.position.array
-                    i(t.start, e.start) ||
-                      ((a[0] = t.start.x), (a[1] = t.start.y), (a[2] = t.start.z), (r = !0)),
-                      i(t.end, e.end) ||
-                        ((a[3] = t.end.x), (a[4] = t.end.y), (a[5] = t.end.z), (r = !0)),
-                      r && ((n.attributes.position.needsUpdate = !0), n.computeBoundingSphere()),
-                      o.color.setStyle(t.color),
-                      this.rendererSystem.applyColorCorrection(o.color),
-                      (o.opacity = t.opacity),
-                      (o.transparent = t.opacity < 1),
-                      (o.visible = t.visible)
-                  },
-                  remove: function () {
-                    this.el.removeObject3D('line', this.line)
-                  },
-                })
-              },
-              { '../core/component': 131 },
-            ],
-            89: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../core/shader').registerShader,
-                  o = e('../lib/three')
-                ;(t.exports.Component = r('link', {
-                  schema: {
-                    backgroundColor: { default: 'red', type: 'color' },
-                    borderColor: { default: 'white', type: 'color' },
-                    highlighted: { default: !1 },
-                    highlightedColor: { default: '#24CAFF', type: 'color' },
-                    href: { default: '' },
-                    image: { type: 'asset' },
-                    on: { default: 'click' },
-                    peekMode: { default: !1 },
-                    title: { default: '' },
-                    titleColor: { default: 'white', type: 'color' },
-                    visualAspectEnabled: { default: !1 },
-                  },
-                  init: function () {
-                    ;(this.navigate = this.navigate.bind(this)),
-                      (this.previousQuaternion = void 0),
-                      (this.quaternionClone = new o.Quaternion()),
-                      (this.hiddenEls = [])
-                  },
-                  update: function (e) {
-                    var t,
-                      n,
-                      r = this.data,
-                      i = this.el
-                    r.visualAspectEnabled &&
-                      (this.initVisualAspect(),
-                      (t = r.highlighted ? r.highlightedColor : r.backgroundColor),
-                      (n = r.highlighted ? r.highlightedColor : r.borderColor),
-                      i.setAttribute('material', 'backgroundColor', t),
-                      i.setAttribute('material', 'strokeColor', n),
-                      r.on !== e.on && this.updateEventListener(),
-                      void 0 !== e.peekMode && r.peekMode !== e.peekMode && this.updatePeekMode(),
-                      r.image &&
-                        e.image !== r.image &&
-                        i.setAttribute(
-                          'material',
-                          'pano',
-                          'string' === typeof r.image ? r.image : r.image.src,
-                        ))
-                  },
-                  updatePeekMode: function () {
-                    var e = this.el,
-                      t = this.sphereEl
-                    this.data.peekMode
-                      ? (this.hideAll(),
-                        (e.getObject3D('mesh').visible = !1),
-                        t.setAttribute('visible', !0))
-                      : (this.showAll(),
-                        (e.getObject3D('mesh').visible = !0),
-                        t.setAttribute('visible', !1))
-                  },
-                  play: function () {
-                    this.updateEventListener()
-                  },
-                  pause: function () {
-                    this.removeEventListener()
-                  },
-                  updateEventListener: function () {
-                    var e = this.el
-                    e.isPlaying &&
-                      (this.removeEventListener(), e.addEventListener(this.data.on, this.navigate))
-                  },
-                  removeEventListener: function () {
-                    var e = this.data.on
-                    e && this.el.removeEventListener(e, this.navigate)
-                  },
-                  initVisualAspect: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.el
-                    this.data.visualAspectEnabled &&
-                      !this.visualAspectInitialized &&
-                      ((n = this.textEl = this.textEl || document.createElement('a-entity')),
-                      (t = this.sphereEl = this.sphereEl || document.createElement('a-entity')),
-                      (e = this.semiSphereEl =
-                        this.semiSphereEl || document.createElement('a-entity')),
-                      r.setAttribute('geometry', { primitive: 'circle', radius: 1, segments: 64 }),
-                      r.setAttribute('material', {
-                        shader: 'portal',
-                        pano: this.data.image,
-                        side: 'double',
-                      }),
-                      n.setAttribute('text', {
-                        color: this.data.titleColor,
-                        align: 'center',
-                        font: 'kelsonsans',
-                        value: this.data.title || this.data.href,
-                        width: 4,
-                      }),
-                      n.setAttribute('position', '0 1.5 0'),
-                      r.appendChild(n),
-                      e.setAttribute('geometry', {
-                        primitive: 'sphere',
-                        radius: 1,
-                        phiStart: 0,
-                        segmentsWidth: 64,
-                        segmentsHeight: 64,
-                        phiLength: 180,
-                        thetaStart: 0,
-                        thetaLength: 360,
-                      }),
-                      e.setAttribute('material', {
-                        shader: 'portal',
-                        borderEnabled: 0,
-                        pano: this.data.image,
-                        side: 'back',
-                      }),
-                      e.setAttribute('rotation', '0 180 0'),
-                      e.setAttribute('position', '0 0 0'),
-                      e.setAttribute('visible', !1),
-                      r.appendChild(e),
-                      t.setAttribute('geometry', {
-                        primitive: 'sphere',
-                        radius: 10,
-                        segmentsWidth: 64,
-                        segmentsHeight: 64,
-                      }),
-                      t.setAttribute('material', {
-                        shader: 'portal',
-                        borderEnabled: 0,
-                        pano: this.data.image,
-                        side: 'back',
-                      }),
-                      t.setAttribute('visible', !1),
-                      r.appendChild(t),
-                      (this.visualAspectInitialized = !0))
-                  },
-                  navigate: function () {
-                    window.location = this.data.href
-                  },
-                  tick: (function () {
-                    var e = new o.Vector3(),
-                      t = new o.Vector3(),
-                      n = new o.Quaternion(),
-                      r = new o.Vector3()
-                    return function () {
-                      var i,
-                        o,
-                        a = this.el,
-                        s = a.object3D,
-                        l = a.sceneEl.camera,
-                        c = this.textEl
-                      if (this.data.visualAspectEnabled)
-                        if (
-                          (s.updateMatrixWorld(),
-                          l.parent.updateMatrixWorld(),
-                          l.updateMatrixWorld(),
-                          s.matrix.decompose(t, n, r),
-                          t.setFromMatrixPosition(s.matrixWorld),
-                          e.setFromMatrixPosition(l.matrixWorld),
-                          (o = t.distanceTo(e)) > 20)
-                        )
-                          this.previousQuaternion ||
-                            (this.quaternionClone.copy(n),
-                            (this.previousQuaternion = this.quaternionClone)),
-                            s.lookAt(e)
-                        else {
-                          if (((i = this.calculateCameraPortalOrientation()), o < 0.5)) {
-                            if (!0 === this.semiSphereEl.getAttribute('visible')) return
-                            c.setAttribute('text', 'width', 1.5),
-                              i <= 0
-                                ? (c.setAttribute('position', '0 0 0.75'),
-                                  c.setAttribute('rotation', '0 180 0'),
-                                  this.semiSphereEl.setAttribute('rotation', '0 0 0'))
-                                : (c.setAttribute('position', '0 0 -0.75'),
-                                  c.setAttribute('rotation', '0 0 0'),
-                                  this.semiSphereEl.setAttribute('rotation', '0 180 0')),
-                              (a.getObject3D('mesh').visible = !1),
-                              this.semiSphereEl.setAttribute('visible', !0),
-                              (this.peekCameraPortalOrientation = i)
-                          } else
-                            i <= 0
-                              ? c.setAttribute('rotation', '0 180 0')
-                              : c.setAttribute('rotation', '0 0 0'),
-                              c.setAttribute('text', 'width', 5),
-                              c.setAttribute('position', '0 1.5 0'),
-                              (a.getObject3D('mesh').visible = !0),
-                              this.semiSphereEl.setAttribute('visible', !1),
-                              (this.peekCameraPortalOrientation = void 0)
-                          this.previousQuaternion &&
-                            (s.quaternion.copy(this.previousQuaternion),
-                            (this.previousQuaternion = void 0))
-                        }
-                    }
-                  })(),
-                  hideAll: function () {
-                    var e = this.el,
-                      t = this.hiddenEls,
-                      n = this
-                    t.length > 0 ||
-                      e.sceneEl.object3D.traverse(function (r) {
-                        ;(r && r.el && r.el.hasAttribute('link-controls')) ||
-                          (r.el &&
-                            r !== e.sceneEl.object3D &&
-                            r.el !== e &&
-                            r.el !== n.sphereEl &&
-                            r.el !== e.sceneEl.cameraEl &&
-                            !1 !== r.el.getAttribute('visible') &&
-                            r.el !== n.textEl &&
-                            r.el !== n.semiSphereEl &&
-                            (r.el.setAttribute('visible', !1), t.push(r.el)))
-                      })
-                  },
-                  showAll: function () {
-                    this.hiddenEls.forEach(function (e) {
-                      e.setAttribute('visible', !0)
-                    }),
-                      (this.hiddenEls = [])
-                  },
-                  calculateCameraPortalOrientation: (function () {
-                    var e = new o.Matrix4(),
-                      t = new o.Vector3(),
-                      n = new o.Vector3(0, 0, 1),
-                      r = new o.Vector3(0, 0, 0)
-                    return function () {
-                      var i = this.el,
-                        o = i.sceneEl.camera
-                      return (
-                        t.set(0, 0, 0),
-                        n.set(0, 0, 1),
-                        r.set(0, 0, 0),
-                        i.object3D.matrixWorld.extractRotation(e),
-                        n.applyMatrix4(e),
-                        i.object3D.updateMatrixWorld(),
-                        i.object3D.localToWorld(r),
-                        o.parent.parent.updateMatrixWorld(),
-                        o.parent.updateMatrixWorld(),
-                        o.updateMatrixWorld(),
-                        o.localToWorld(t),
-                        t.sub(r).normalize(),
-                        n.normalize(),
-                        Math.sign(n.dot(t))
-                      )
-                    }
-                  })(),
-                  remove: function () {
-                    this.removeEventListener()
-                  },
-                })),
-                  i('portal', {
-                    schema: {
-                      borderEnabled: { default: 1, type: 'int', is: 'uniform' },
-                      backgroundColor: { default: 'red', type: 'color', is: 'uniform' },
-                      pano: { type: 'map', is: 'uniform' },
-                      strokeColor: { default: 'white', type: 'color', is: 'uniform' },
-                    },
-                    vertexShader: [
-                      'vec3 portalPosition;',
-                      'varying vec3 vWorldPosition;',
-                      'varying float vDistanceToCenter;',
-                      'varying float vDistance;',
-                      'void main() {',
-                      'vDistanceToCenter = clamp(length(position - vec3(0.0, 0.0, 0.0)), 0.0, 1.0);',
-                      'portalPosition = (modelMatrix * vec4(0.0, 0.0, 0.0, 1.0)).xyz;',
-                      'vDistance = length(portalPosition - cameraPosition);',
-                      'vWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;',
-                      'gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
-                      '}',
-                    ].join('\n'),
-                    fragmentShader: [
-                      '#define RECIPROCAL_PI2 0.15915494',
-                      'uniform sampler2D pano;',
-                      'uniform vec3 strokeColor;',
-                      'uniform vec3 backgroundColor;',
-                      'uniform float borderEnabled;',
-                      'varying float vDistanceToCenter;',
-                      'varying float vDistance;',
-                      'varying vec3 vWorldPosition;',
-                      'void main() {',
-                      'vec3 direction = normalize(vWorldPosition - cameraPosition);',
-                      'vec2 sampleUV;',
-                      'float borderThickness = clamp(exp(-vDistance / 50.0), 0.6, 0.95);',
-                      'sampleUV.y = clamp(direction.y * 0.5  + 0.5, 0.0, 1.0);',
-                      'sampleUV.x = atan(direction.z, -direction.x) * -RECIPROCAL_PI2 + 0.5;',
-                      'if (vDistanceToCenter > borderThickness && borderEnabled == 1.0) {',
-                      'gl_FragColor = vec4(strokeColor, 1.0);',
-                      '} else {',
-                      'gl_FragColor = mix(texture2D(pano, sampleUV), vec4(backgroundColor, 1.0), clamp(pow((vDistance / 15.0), 2.0), 0.0, 1.0));',
-                      '}',
-                      '}',
-                    ].join('\n'),
-                  })
-              },
-              { '../core/component': 131, '../core/shader': 141, '../lib/three': 179 },
-            ],
-            90: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../lib/three'),
-                  o = e('../utils/'),
-                  a = o.bind,
-                  s = Math.PI / 2
-                t.exports.Component = r('look-controls', {
-                  dependencies: ['position', 'rotation'],
-                  schema: {
-                    enabled: { default: !0 },
-                    magicWindowTrackingEnabled: { default: !0 },
-                    pointerLockEnabled: { default: !1 },
-                    reverseMouseDrag: { default: !1 },
-                    reverseTouchDrag: { default: !1 },
-                    touchEnabled: { default: !0 },
-                    mouseEnabled: { default: !0 },
-                  },
-                  init: function () {
-                    ;(this.deltaYaw = 0),
-                      (this.previousHMDPosition = new i.Vector3()),
-                      (this.hmdQuaternion = new i.Quaternion()),
-                      (this.magicWindowAbsoluteEuler = new i.Euler()),
-                      (this.magicWindowDeltaEuler = new i.Euler()),
-                      (this.position = new i.Vector3()),
-                      (this.magicWindowObject = new i.Object3D()),
-                      (this.rotation = {}),
-                      (this.deltaRotation = {}),
-                      (this.savedPose = null),
-                      (this.pointerLocked = !1),
-                      this.setupMouseControls(),
-                      this.bindMethods(),
-                      (this.previousMouseEvent = {}),
-                      this.setupMagicWindowControls(),
-                      (this.savedPose = { position: new i.Vector3(), rotation: new i.Euler() }),
-                      this.el.sceneEl.is('vr-mode') && this.onEnterVR()
-                  },
-                  setupMagicWindowControls: function () {
-                    var e,
-                      t = this.data
-                    o.device.isMobile() &&
-                      ((e = this.magicWindowControls =
-                        new i.DeviceOrientationControls(this.magicWindowObject)),
-                      'undefined' !== typeof DeviceOrientationEvent &&
-                        DeviceOrientationEvent.requestPermission &&
-                        ((e.enabled = !1),
-                        this.el.sceneEl.components['device-orientation-permission-ui']
-                          .permissionGranted
-                          ? (e.enabled = t.magicWindowTrackingEnabled)
-                          : this.el.sceneEl.addEventListener(
-                              'deviceorientationpermissiongranted',
-                              function () {
-                                e.enabled = t.magicWindowTrackingEnabled
-                              },
-                            )))
-                  },
-                  update: function (e) {
-                    var t = this.data
-                    t.enabled !== e.enabled && this.updateGrabCursor(t.enabled),
-                      e &&
-                        !t.magicWindowTrackingEnabled &&
-                        e.magicWindowTrackingEnabled &&
-                        (this.magicWindowAbsoluteEuler.set(0, 0, 0),
-                        this.magicWindowDeltaEuler.set(0, 0, 0)),
-                      this.magicWindowControls &&
-                        (this.magicWindowControls.enabled = t.magicWindowTrackingEnabled),
-                      e &&
-                        !t.pointerLockEnabled !== e.pointerLockEnabled &&
-                        (this.removeEventListeners(),
-                        this.addEventListeners(),
-                        this.pointerLocked && this.exitPointerLock())
-                  },
-                  tick: function (e) {
-                    this.data.enabled && this.updateOrientation()
-                  },
-                  play: function () {
-                    this.addEventListeners()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.pointerLocked && this.exitPointerLock()
-                  },
-                  remove: function () {
-                    this.removeEventListeners(), this.pointerLocked && this.exitPointerLock()
-                  },
-                  bindMethods: function () {
-                    ;(this.onMouseDown = a(this.onMouseDown, this)),
-                      (this.onMouseMove = a(this.onMouseMove, this)),
-                      (this.onMouseUp = a(this.onMouseUp, this)),
-                      (this.onTouchStart = a(this.onTouchStart, this)),
-                      (this.onTouchMove = a(this.onTouchMove, this)),
-                      (this.onTouchEnd = a(this.onTouchEnd, this)),
-                      (this.onEnterVR = a(this.onEnterVR, this)),
-                      (this.onExitVR = a(this.onExitVR, this)),
-                      (this.onPointerLockChange = a(this.onPointerLockChange, this)),
-                      (this.onPointerLockError = a(this.onPointerLockError, this))
-                  },
-                  setupMouseControls: function () {
-                    ;(this.mouseDown = !1),
-                      (this.pitchObject = new i.Object3D()),
-                      (this.yawObject = new i.Object3D()),
-                      (this.yawObject.position.y = 10),
-                      this.yawObject.add(this.pitchObject)
-                  },
-                  addEventListeners: function () {
-                    var e = this.el.sceneEl,
-                      t = e.canvas
-                    t
-                      ? (t.addEventListener('mousedown', this.onMouseDown, !1),
-                        window.addEventListener('mousemove', this.onMouseMove, !1),
-                        window.addEventListener('mouseup', this.onMouseUp, !1),
-                        t.addEventListener('touchstart', this.onTouchStart),
-                        window.addEventListener('touchmove', this.onTouchMove),
-                        window.addEventListener('touchend', this.onTouchEnd),
-                        e.addEventListener('enter-vr', this.onEnterVR),
-                        e.addEventListener('exit-vr', this.onExitVR),
-                        this.data.pointerLockEnabled &&
-                          (document.addEventListener(
-                            'pointerlockchange',
-                            this.onPointerLockChange,
-                            !1,
-                          ),
-                          document.addEventListener(
-                            'mozpointerlockchange',
-                            this.onPointerLockChange,
-                            !1,
-                          ),
-                          document.addEventListener(
-                            'pointerlockerror',
-                            this.onPointerLockError,
-                            !1,
-                          )))
-                      : e.addEventListener('render-target-loaded', a(this.addEventListeners, this))
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el.sceneEl,
-                      t = e && e.canvas
-                    t &&
-                      (t.removeEventListener('mousedown', this.onMouseDown),
-                      window.removeEventListener('mousemove', this.onMouseMove),
-                      window.removeEventListener('mouseup', this.onMouseUp),
-                      t.removeEventListener('touchstart', this.onTouchStart),
-                      window.removeEventListener('touchmove', this.onTouchMove),
-                      window.removeEventListener('touchend', this.onTouchEnd),
-                      e.removeEventListener('enter-vr', this.onEnterVR),
-                      e.removeEventListener('exit-vr', this.onExitVR),
-                      document.removeEventListener(
-                        'pointerlockchange',
-                        this.onPointerLockChange,
-                        !1,
-                      ),
-                      document.removeEventListener(
-                        'mozpointerlockchange',
-                        this.onPointerLockChange,
-                        !1,
-                      ),
-                      document.removeEventListener('pointerlockerror', this.onPointerLockError, !1))
-                  },
-                  updateOrientation: (function () {
-                    var e = new i.Matrix4()
-                    return function () {
-                      var t,
-                        n = this.el.object3D,
-                        r = this.pitchObject,
-                        i = this.yawObject,
-                        o = this.el.sceneEl
-                      o.is('vr-mode') && o.checkHeadsetConnected()
-                        ? o.hasWebXR &&
-                          (t = o.renderer.xr.getCameraPose()) &&
-                          ((e.elements = t.transform.matrix),
-                          e.decompose(n.position, n.rotation, n.scale))
-                        : (this.updateMagicWindowOrientation(),
-                          (n.rotation.x = this.magicWindowDeltaEuler.x + r.rotation.x),
-                          (n.rotation.y = this.magicWindowDeltaEuler.y + i.rotation.y),
-                          (n.rotation.z = this.magicWindowDeltaEuler.z))
-                    }
-                  })(),
-                  updateMagicWindowOrientation: function () {
-                    var e = this.magicWindowAbsoluteEuler,
-                      t = this.magicWindowDeltaEuler
-                    this.magicWindowControls &&
-                      this.magicWindowControls.enabled &&
-                      (this.magicWindowControls.update(),
-                      e.setFromQuaternion(this.magicWindowObject.quaternion, 'YXZ'),
-                      this.previousMagicWindowYaw ||
-                        0 === e.y ||
-                        (this.previousMagicWindowYaw = e.y),
-                      this.previousMagicWindowYaw &&
-                        ((t.x = e.x),
-                        (t.y += e.y - this.previousMagicWindowYaw),
-                        (t.z = e.z),
-                        (this.previousMagicWindowYaw = e.y)))
-                  },
-                  onMouseMove: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i = this.pitchObject,
-                      o = this.previousMouseEvent,
-                      a = this.yawObject
-                    this.data.enabled &&
-                      (this.mouseDown || this.pointerLocked) &&
-                      (this.pointerLocked
-                        ? ((n = e.movementX || e.mozMovementX || 0),
-                          (r = e.movementY || e.mozMovementY || 0))
-                        : ((n = e.screenX - o.screenX), (r = e.screenY - o.screenY)),
-                      (this.previousMouseEvent.screenX = e.screenX),
-                      (this.previousMouseEvent.screenY = e.screenY),
-                      (t = this.data.reverseMouseDrag ? 1 : -1),
-                      (a.rotation.y += 0.002 * n * t),
-                      (i.rotation.x += 0.002 * r * t),
-                      (i.rotation.x = Math.max(-s, Math.min(s, i.rotation.x))))
-                  },
-                  onMouseDown: function (e) {
-                    var t = this.el.sceneEl
-                    if (
-                      this.data.enabled &&
-                      this.data.mouseEnabled &&
-                      (!t.is('vr-mode') || !t.checkHeadsetConnected()) &&
-                      0 === e.button
-                    ) {
-                      var n = t && t.canvas
-                      ;(this.mouseDown = !0),
-                        (this.previousMouseEvent.screenX = e.screenX),
-                        (this.previousMouseEvent.screenY = e.screenY),
-                        this.showGrabbingCursor(),
-                        this.data.pointerLockEnabled &&
-                          !this.pointerLocked &&
-                          (n.requestPointerLock
-                            ? n.requestPointerLock()
-                            : n.mozRequestPointerLock && n.mozRequestPointerLock())
-                    }
-                  },
-                  showGrabbingCursor: function () {
-                    this.el.sceneEl.canvas.style.cursor = 'grabbing'
-                  },
-                  hideGrabbingCursor: function () {
-                    this.el.sceneEl.canvas.style.cursor = ''
-                  },
-                  onMouseUp: function () {
-                    ;(this.mouseDown = !1), this.hideGrabbingCursor()
-                  },
-                  onTouchStart: function (e) {
-                    1 === e.touches.length &&
-                      this.data.touchEnabled &&
-                      !this.el.sceneEl.is('vr-mode') &&
-                      ((this.touchStart = { x: e.touches[0].pageX, y: e.touches[0].pageY }),
-                      (this.touchStarted = !0))
-                  },
-                  onTouchMove: function (e) {
-                    var t,
-                      n,
-                      r = this.el.sceneEl.canvas,
-                      i = this.yawObject
-                    this.touchStarted &&
-                      this.data.touchEnabled &&
-                      ((n =
-                        (2 * Math.PI * (e.touches[0].pageX - this.touchStart.x)) / r.clientWidth),
-                      (t = this.data.reverseTouchDrag ? 1 : -1),
-                      (i.rotation.y -= 0.5 * n * t),
-                      (this.touchStart = { x: e.touches[0].pageX, y: e.touches[0].pageY }))
-                  },
-                  onTouchEnd: function () {
-                    this.touchStarted = !1
-                  },
-                  onEnterVR: function () {
-                    var e = this.el.sceneEl
-                    e.checkHeadsetConnected() &&
-                      (this.saveCameraPose(),
-                      this.el.object3D.position.set(0, 0, 0),
-                      this.el.object3D.rotation.set(0, 0, 0),
-                      e.hasWebXR &&
-                        ((this.el.object3D.matrixAutoUpdate = !1), this.el.object3D.updateMatrix()))
-                  },
-                  onExitVR: function () {
-                    this.el.sceneEl.checkHeadsetConnected() &&
-                      (this.restoreCameraPose(),
-                      this.previousHMDPosition.set(0, 0, 0),
-                      (this.el.object3D.matrixAutoUpdate = !0))
-                  },
-                  onPointerLockChange: function () {
-                    this.pointerLocked = !(
-                      !document.pointerLockElement && !document.mozPointerLockElement
-                    )
-                  },
-                  onPointerLockError: function () {
-                    this.pointerLocked = !1
-                  },
-                  exitPointerLock: function () {
-                    document.exitPointerLock(), (this.pointerLocked = !1)
-                  },
-                  updateGrabCursor: function (e) {
-                    var t = this.el.sceneEl
-                    function n() {
-                      t.canvas.classList.add('a-grab-cursor')
-                    }
-                    function r() {
-                      t.canvas.classList.remove('a-grab-cursor')
-                    }
-                    t.canvas
-                      ? e
-                        ? n()
-                        : r()
-                      : e
-                      ? t.addEventListener('render-target-loaded', n)
-                      : t.addEventListener('render-target-loaded', r)
-                  },
-                  saveCameraPose: function () {
-                    var e = this.el
-                    this.savedPose.position.copy(e.object3D.position),
-                      this.savedPose.rotation.copy(e.object3D.rotation),
-                      (this.hasSavedPose = !0)
-                  },
-                  restoreCameraPose: function () {
-                    var e = this.el,
-                      t = this.savedPose
-                    this.hasSavedPose &&
-                      (e.object3D.position.copy(t.position),
-                      e.object3D.rotation.copy(t.rotation),
-                      (this.hasSavedPose = !1))
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/': 205 },
-            ],
-            91: [
-              function (e, t, n) {
-                var r = e('../utils/bind'),
-                  i = e('../core/component').registerComponent,
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = 'magicleap-one',
-                  u = 'https://cdn.aframe.io/controllers/magicleap/magicleap-one-controller.glb',
-                  h = {
-                    axes: { touchpad: [0, 1] },
-                    buttons: ['trigger', 'grip', 'touchpad', 'menu'],
-                  }
-                t.exports.Component = i('magicleap-controls', {
-                  schema: {
-                    hand: { default: 'none' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                  },
-                  mapping: h,
-                  init: function () {
-                    var e = this
-                    ;(this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.onButtonChanged = r(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.previousButtonValues = {}),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods()
-                  },
-                  update: function () {
-                    var e = this.data
-                    this.controllerIndex = 'right' === e.hand ? 0 : 'left' === e.hand ? 1 : 2
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = r(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = r(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = r(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = r(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = r(this.onAxisMoved, this))
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    var e = this.data
-                    a(this, c, { index: this.controllerIndex, hand: e.hand })
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      idPrefix: c,
-                      hand: t.hand,
-                      controller: this.controllerIndex,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('gltf-model', u)
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onButtonChanged: function (e) {
-                    var t,
-                      n = this.mapping.buttons[e.detail.id]
-                    n &&
-                      ('trigger' === n &&
-                        ((t = e.detail.state.value),
-                        console.log('analog value of trigger press: ' + t)),
-                      this.el.emit(n + 'changed', e.detail.state))
-                  },
-                  onModelLoaded: function (e) {
-                    e.detail.model.scale.set(0.01, 0.01, 0.01)
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {},
-                  setButtonColor: function (e, t) {},
-                })
-              },
-              { '../core/component': 131, '../utils/bind': 199, '../utils/tracked-controls': 214 },
-            ],
-            92: [
-              function (e, t, n) {
-                var r = e('../utils/'),
-                  i = e('../core/component'),
-                  o = e('../lib/three'),
-                  a = e('../core/shader'),
-                  s = r.debug('components:material:error'),
-                  l = i.registerComponent,
-                  c = a.shaders,
-                  u = a.shaderNames
-                function h(e) {
-                  switch (e) {
-                    case 'back':
-                      return o.BackSide
-                    case 'double':
-                      return o.DoubleSide
-                    default:
-                      return o.FrontSide
-                  }
-                }
-                function d(e) {
-                  switch (e) {
-                    case 'face':
-                      return o.FaceColors
-                    case 'vertex':
-                      return o.VertexColors
-                    default:
-                      return o.NoColors
-                  }
-                }
-                function p(e) {
-                  switch (e) {
-                    case 'none':
-                      return o.NoBlending
-                    case 'additive':
-                      return o.AdditiveBlending
-                    case 'subtractive':
-                      return o.SubtractiveBlending
-                    case 'multiply':
-                      return o.MultiplyBlending
-                    default:
-                      return o.NormalBlending
-                  }
-                }
-                function f(e, t) {
-                  e.dispose(), t.unregisterMaterial(e)
-                }
-                t.exports.Component = l('material', {
-                  schema: {
-                    alphaTest: { default: 0, min: 0, max: 1 },
-                    depthTest: { default: !0 },
-                    depthWrite: { default: !0 },
-                    flatShading: { default: !1 },
-                    npot: { default: !1 },
-                    offset: { type: 'vec2', default: { x: 0, y: 0 } },
-                    opacity: { default: 1, min: 0, max: 1 },
-                    repeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    shader: { default: 'standard', oneOf: u, schemaChange: !0 },
-                    side: { default: 'front', oneOf: ['front', 'back', 'double'] },
-                    transparent: { default: !1 },
-                    vertexColors: { type: 'string', default: 'none', oneOf: ['face', 'vertex'] },
-                    visible: { default: !0 },
-                    blending: {
-                      default: 'normal',
-                      oneOf: ['none', 'normal', 'additive', 'subtractive', 'multiply'],
-                    },
-                    dithering: { default: !0 },
-                  },
-                  init: function () {
-                    this.material = null
-                  },
-                  update: function (e) {
-                    var t = this.data
-                    ;(this.shader && t.shader === e.shader) || this.updateShader(t.shader),
-                      this.shader.update(this.data),
-                      this.updateMaterial(e)
-                  },
-                  updateSchema: function (e) {
-                    var t, n, r, i
-                    ;(n = e && e.shader),
-                      (t = this.oldData && this.oldData.shader),
-                      (r = c[(i = n || t)] && c[i].schema) || s('Unknown shader schema ' + i),
-                      (t && n === t) || (this.extendSchema(r), this.updateBehavior())
-                  },
-                  updateBehavior: function () {
-                    var e,
-                      t,
-                      n = this.el.sceneEl,
-                      r = this.schema,
-                      i = this
-                    function o(e, n) {
-                      var r
-                      for (r in t) t[r] = e
-                      i.shader.update(t)
-                    }
-                    for (e in ((this.tick = void 0), (t = {}), r))
-                      'time' === r[e].type && ((this.tick = o), (t[e] = !0))
-                    n && (this.tick ? n.addBehavior(this) : n.removeBehavior(this))
-                  },
-                  updateShader: function (e) {
-                    var t,
-                      n = this.data,
-                      r = c[e] && c[e].Shader
-                    if (!r) throw new Error('Unknown shader ' + e)
-                    ;((t = this.shader = new r()).el = this.el),
-                      t.init(n),
-                      this.setMaterial(t.material),
-                      this.updateSchema(n)
-                  },
-                  updateMaterial: function (e) {
-                    var t,
-                      n = this.data,
-                      r = this.material
-                    for (t in ((r.alphaTest = n.alphaTest),
-                    (r.depthTest = !1 !== n.depthTest),
-                    (r.depthWrite = !1 !== n.depthWrite),
-                    (r.opacity = n.opacity),
-                    (r.flatShading = n.flatShading),
-                    (r.side = h(n.side)),
-                    (r.transparent = !1 !== n.transparent || n.opacity < 1),
-                    (r.vertexColors = d(n.vertexColors)),
-                    (r.visible = n.visible),
-                    (r.blending = p(n.blending)),
-                    (r.dithering = n.dithering),
-                    e))
-                      break
-                    !t ||
-                      (e.alphaTest === n.alphaTest &&
-                        e.side === n.side &&
-                        e.vertexColors === n.vertexColors) ||
-                      (r.needsUpdate = !0)
-                  },
-                  remove: function () {
-                    var e = new o.MeshBasicMaterial(),
-                      t = this.material,
-                      n = this.el.getObject3D('mesh')
-                    n && (n.material = e), f(t, this.system)
-                  },
-                  setMaterial: function (e) {
-                    var t,
-                      n = this.el,
-                      r = this.system
-                    this.material && f(this.material, r),
-                      (this.material = e),
-                      r.registerMaterial(e),
-                      (t = n.getObject3D('mesh'))
-                        ? (t.material = e)
-                        : n.addEventListener('object3dset', function t(r) {
-                            'mesh' === r.detail.type &&
-                              r.target === n &&
-                              ((n.getObject3D('mesh').material = e),
-                              n.removeEventListener('object3dset', t))
-                          })
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../core/shader': 141,
-                '../lib/three': 179,
-                '../utils/': 205,
-              },
-            ],
-            93: [
-              function (e, t, n) {
-                var r = e('../utils/debug'),
-                  i = e('../core/component').registerComponent,
-                  o = e('../lib/three'),
-                  a = r('components:obj-model:warn')
-                t.exports.Component = i('obj-model', {
-                  schema: { mtl: { type: 'model' }, obj: { type: 'model' } },
-                  init: function () {
-                    var e = this
-                    ;(this.model = null),
-                      (this.objLoader = new o.OBJLoader()),
-                      (this.mtlLoader = new o.MTLLoader(this.objLoader.manager)),
-                      (this.mtlLoader.crossOrigin = ''),
-                      this.el.addEventListener('componentinitialized', function (t) {
-                        e.model && 'material' === t.detail.name && e.applyMaterial()
-                      })
-                  },
-                  update: function () {
-                    var e = this.data
-                    e.obj && (this.resetMesh(), this.loadObj(e.obj, e.mtl))
-                  },
-                  remove: function () {
-                    this.model && this.resetMesh()
-                  },
-                  resetMesh: function () {
-                    this.el.removeObject3D('mesh')
-                  },
-                  loadObj: function (e, t) {
-                    var n = this,
-                      r = this.el,
-                      i = this.mtlLoader,
-                      o = this.objLoader,
-                      s = this.el.sceneEl.systems.renderer,
-                      l = t.substr(0, t.lastIndexOf('/') + 1)
-                    if (t)
-                      return (
-                        r.hasAttribute('material') &&
-                          a('Material component properties are ignored when a .MTL is provided'),
-                        i.setResourcePath(l),
-                        void i.load(t, function (t) {
-                          t.preload(),
-                            o.setMaterials(t),
-                            o.load(e, function (e) {
-                              ;(n.model = e),
-                                n.model.traverse(function (e) {
-                                  if (e.isMesh) {
-                                    var t = e.material
-                                    t.color && s.applyColorCorrection(t.color),
-                                      t.map && s.applyColorCorrection(t.map),
-                                      t.emissive && s.applyColorCorrection(t.emissive),
-                                      t.emissiveMap && s.applyColorCorrection(t.emissiveMap)
-                                  }
-                                }),
-                                r.setObject3D('mesh', e),
-                                r.emit('model-loaded', { format: 'obj', model: e })
-                            })
-                        })
-                      )
-                    o.load(e, function (e) {
-                      ;(n.model = e),
-                        n.applyMaterial(),
-                        r.setObject3D('mesh', e),
-                        r.emit('model-loaded', { format: 'obj', model: e })
-                    })
-                  },
-                  applyMaterial: function () {
-                    var e = this.el.components.material
-                    e &&
-                      this.model.traverse(function (t) {
-                        t instanceof o.Mesh && (t.material = e.material)
-                      })
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/debug': 201 },
-            ],
-            94: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = e('../utils/').device.isWebXRAvailable,
-                  u = 'https://cdn.aframe.io/controllers/oculus/go/oculus-go-controller.gltf',
-                  h = c ? 'oculus-go' : 'Oculus Go',
-                  d = c
-                    ? { axes: { touchpad: [0, 1] }, buttons: ['trigger', 'none', 'touchpad'] }
-                    : { axes: { trackpad: [0, 1] }, buttons: ['trackpad', 'trigger'] }
-                t.exports.Component = r('oculus-go-controls', {
-                  schema: {
-                    hand: { default: '' },
-                    buttonColor: { type: 'color', default: '#FFFFFF' },
-                    buttonTouchedColor: { type: 'color', default: '#BBBBBB' },
-                    buttonHighlightColor: { type: 'color', default: '#7A7A7A' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !0 },
-                  },
-                  mapping: d,
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods()
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    a(this, h, this.data.hand ? { hand: this.data.hand } : {})
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      armModel: t.armModel,
-                      hand: t.hand,
-                      idPrefix: h,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('gltf-model', u)
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).trigger = n.getObjectByName(
-                        'oculus_go_button_trigger',
-                      )),
-                      (t.trackpad = n.getObjectByName('oculus_go_touchpad')),
-                      (t.touchpad = n.getObjectByName('oculus_go_touchpad')))
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t && this.el.emit(t + 'changed', e.detail.state)
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    this.data.model && this.updateButtonModel(e, t)
-                  },
-                  updateButtonModel: function (e, t) {
-                    var n = this.buttonMeshes
-                    if (n && n[e]) {
-                      var r, i
-                      switch (t) {
-                        case 'down':
-                          r = this.data.buttonHighlightColor
-                          break
-                        case 'touchstart':
-                          r = this.data.buttonTouchedColor
-                          break
-                        default:
-                          r = this.data.buttonColor
-                      }
-                      ;(i = n[e]).material.color.set(r),
-                        this.rendererSystem.applyColorCorrection(i.material.color)
-                    }
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            95: [
-              function (e, t, n) {
-                var r = e('../utils/bind'),
-                  i = e('../core/component').registerComponent,
-                  o = e('../lib/three'),
-                  a = e('../utils/tracked-controls'),
-                  s = a.checkControllerPresentAndSetup,
-                  l = a.emitIfAxesChanged,
-                  c = a.onButtonEvent,
-                  u = e('../utils/').device.isWebXRAvailable,
-                  h = 'oculus-touch',
-                  d = u ? h : 'Oculus Touch',
-                  p = 'https://cdn.aframe.io/controllers/oculus/oculus-touch-controller-',
-                  f = {
-                    left: {
-                      modelUrl: p + 'left.gltf',
-                      rayOrigin: {
-                        origin: { x: 0.008, y: -0.01, z: 0 },
-                        direction: { x: 0, y: -0.8, z: -1 },
-                      },
-                      modelPivotOffset: new o.Vector3(-0.005, 0.003, -0.055),
-                      modelPivotRotation: new o.Euler(0, 0, 0),
-                    },
-                    right: {
-                      modelUrl: p + 'right.gltf',
-                      rayOrigin: {
-                        origin: { x: -0.008, y: -0.01, z: 0 },
-                        direction: { x: 0, y: -0.8, z: -1 },
-                      },
-                      modelPivotOffset: new o.Vector3(0.005, 0.003, -0.055),
-                      modelPivotRotation: new o.Euler(0, 0, 0),
-                    },
-                  },
-                  m = {
-                    left: {
-                      modelUrl: p + 'left.gltf',
-                      rayOrigin: {
-                        origin: { x: 0.002, y: -0.005, z: -0.03 },
-                        direction: { x: 0, y: -0.8, z: -1 },
-                      },
-                      modelPivotOffset: new o.Vector3(-0.005, 0.036, -0.037),
-                      modelPivotRotation: new o.Euler(Math.PI / 4.5, 0, 0),
-                    },
-                    right: {
-                      modelUrl: p + 'right.gltf',
-                      rayOrigin: {
-                        origin: { x: -0.002, y: -0.005, z: -0.03 },
-                        direction: { x: 0, y: -0.8, z: -1 },
-                      },
-                      modelPivotOffset: new o.Vector3(0.005, 0.036, -0.037),
-                      modelPivotRotation: new o.Euler(Math.PI / 4.5, 0, 0),
-                    },
-                  },
-                  v = 'oculus-touch',
-                  g = {
-                    'oculus-touch': u ? m : f,
-                    'oculus-touch-v2': {
-                      left: {
-                        modelUrl: p + 'gen2-left.gltf',
-                        rayOrigin: {
-                          origin: { x: -0.01, y: 0, z: -0.02 },
-                          direction: { x: 0, y: -0.5, z: -1 },
-                        },
-                        modelPivotOffset: new o.Vector3(0, 0, 0),
-                        modelPivotRotation: new o.Euler(0, 0, 0),
-                      },
-                      right: {
-                        modelUrl: p + 'gen2-right.gltf',
-                        rayOrigin: {
-                          origin: { x: 0.01, y: 0, z: -0.02 },
-                          direction: { x: 0, y: -0.5, z: -1 },
-                        },
-                        modelPivotOffset: new o.Vector3(0, 0, 0),
-                        modelPivotRotation: new o.Euler(0, 0, 0),
-                      },
-                    },
-                    'oculus-touch-v3': {
-                      left: {
-                        modelUrl: p + 'v3-left.glb',
-                        rayOrigin: {
-                          origin: { x: 0.015, y: 0.005, z: 0 },
-                          direction: { x: 0, y: 0, z: -1 },
-                        },
-                        modelPivotOffset: new o.Vector3(0.01, -0.01, 0.05),
-                        modelPivotRotation: new o.Euler(Math.PI / 4, 0, 0),
-                      },
-                      right: {
-                        modelUrl: p + 'v3-right.glb',
-                        rayOrigin: {
-                          origin: { x: -0.015, y: 0.005, z: 0 },
-                          direction: { x: 0, y: 0, z: -1 },
-                        },
-                        modelPivotOffset: new o.Vector3(-0.01, -0.01, 0.05),
-                        modelPivotRotation: new o.Euler(Math.PI / 4, 0, 0),
-                      },
-                    },
-                  },
-                  y = u
-                    ? {
-                        left: {
-                          axes: { thumbstick: [2, 3] },
-                          buttons: [
-                            'trigger',
-                            'grip',
-                            'none',
-                            'thumbstick',
-                            'xbutton',
-                            'ybutton',
-                            'surface',
-                          ],
-                        },
-                        right: {
-                          axes: { thumbstick: [2, 3] },
-                          buttons: [
-                            'trigger',
-                            'grip',
-                            'none',
-                            'thumbstick',
-                            'abutton',
-                            'bbutton',
-                            'surface',
-                          ],
-                        },
-                      }
-                    : {
-                        left: {
-                          axes: { thumbstick: [0, 1] },
-                          buttons: [
-                            'thumbstick',
-                            'trigger',
-                            'grip',
-                            'xbutton',
-                            'ybutton',
-                            'surface',
-                          ],
-                        },
-                        right: {
-                          axes: { thumbstick: [0, 1] },
-                          buttons: [
-                            'thumbstick',
-                            'trigger',
-                            'grip',
-                            'abutton',
-                            'bbutton',
-                            'surface',
-                          ],
-                        },
-                      }
-                t.exports.Component = i('oculus-touch-controls', {
-                  schema: {
-                    hand: { default: 'left' },
-                    buttonColor: { type: 'color', default: '#999' },
-                    buttonTouchColor: { type: 'color', default: '#8AB' },
-                    buttonHighlightColor: { type: 'color', default: '#2DF' },
-                    model: { default: !0 },
-                    controllerType: {
-                      default: 'auto',
-                      oneOf: ['auto', 'oculus-touch', 'oculus-touch-v2', 'oculus-touch-v3'],
-                    },
-                    orientationOffset: { type: 'vec3', default: { x: 43, y: 0, z: 0 } },
-                  },
-                  mapping: y,
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = r(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = r(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = r(this.checkIfControllerPresent, this)),
-                      (this.onAxisMoved = r(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = r(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        c(t.detail.id, 'down', e, e.data.hand)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        c(t.detail.id, 'up', e, e.data.hand)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        c(t.detail.id, 'touchstart', e, e.data.hand)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        c(t.detail.id, 'touchend', e, e.data.hand)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.previousButtonValues = {}),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods()
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    s(this, d, { hand: this.data.hand })
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  loadModel: function (e) {
-                    var t,
-                      n = this.data
-                    if (n.model) {
-                      if (
-                        ((this.displayModel = g[n.controllerType] || g[v]),
-                        'auto' === n.controllerType)
-                      ) {
-                        var r = this.el.sceneEl.systems['tracked-controls-webvr']
-                        if (r && r.vrDisplay) {
-                          var i = r.vrDisplay.displayName
-                          ;/^Oculus Quest$/.test(i) && (this.displayModel = g['oculus-touch-v2'])
-                        } else
-                          (t = v),
-                            (t =
-                              -1 !== e.profiles.indexOf('oculus-touch-v2') ? 'oculus-touch-v2' : t),
-                            (t =
-                              -1 !== e.profiles.indexOf('oculus-touch-v3') ? 'oculus-touch-v3' : t),
-                            (this.displayModel = g[t])
-                      }
-                      var o = this.displayModel[n.hand].modelUrl
-                      this.el.setAttribute('gltf-model', o)
-                    }
-                  },
-                  injectTrackedControls: function (e) {
-                    var t = this.data,
-                      n = h,
-                      r = 'right' === t.hand ? 'Oculus Touch (Right)' : 'Oculus Touch (Left)',
-                      i = u ? n : r
-                    this.el.setAttribute('tracked-controls', {
-                      id: i,
-                      hand: t.hand,
-                      orientationOffset: t.orientationOffset,
-                      handTrackingEnabled: !1,
-                    }),
-                      this.loadModel(e)
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onButtonChanged: function (e) {
-                    var t,
-                      n = this.mapping[this.data.hand].buttons[e.detail.id],
-                      r = this.buttonMeshes
-                    n &&
-                      (('trigger' !== n && 'grip' !== n) || (t = e.detail.state.value),
-                      r &&
-                        ('trigger' === n &&
-                          r.trigger &&
-                          (r.trigger.rotation.x =
-                            this.originalXRotationTrigger - t * (Math.PI / 26)),
-                        'grip' === n &&
-                          r.grip &&
-                          (r.grip.position.x =
-                            this.originalXPositionGrip +
-                            ('left' === this.data.hand ? -1 : 1) * t * 0.004)),
-                      this.el.emit(n + 'changed', e.detail.state))
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = (this.controllerObject3D = e.detail.model)
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).grip = n.getObjectByName('buttonHand')),
-                      (this.originalXPositionGrip = t.grip && t.grip.position.x),
-                      (t.thumbstick = n.getObjectByName('stick')),
-                      (t.trigger = n.getObjectByName('buttonTrigger')),
-                      (this.originalXRotationTrigger = t.trigger && t.trigger.rotation.x),
-                      (t.xbutton = n.getObjectByName('buttonX')),
-                      (t.abutton = n.getObjectByName('buttonA')),
-                      (t.ybutton = n.getObjectByName('buttonY')),
-                      (t.bbutton = n.getObjectByName('buttonB')),
-                      n.position.copy(this.displayModel[this.data.hand].modelPivotOffset),
-                      n.rotation.copy(this.displayModel[this.data.hand].modelPivotRotation),
-                      this.el.emit('controllermodelready', {
-                        name: 'oculus-touch-controls',
-                        model: this.data.model,
-                        rayOrigin: this.displayModel[this.data.hand].rayOrigin,
-                      }))
-                  },
-                  onAxisMoved: function (e) {
-                    l(this, this.mapping[this.data.hand].axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    this.data.model && this.updateButtonModel(e, t)
-                  },
-                  updateButtonModel: function (e, t) {
-                    var n,
-                      r =
-                        'up' === t || 'touchend' === t
-                          ? this.data.buttonColor
-                          : 'touchstart' === t
-                          ? this.data.buttonTouchColor
-                          : this.data.buttonHighlightColor,
-                      i = this.buttonMeshes
-                    this.data.model &&
-                      i &&
-                      i[e] &&
-                      ((n = i[e]).material.color.set(r),
-                      this.rendererSystem.applyColorCorrection(n.material.color))
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            96: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent
-                t.exports.Component = r('position', {
-                  schema: { type: 'vec3' },
-                  update: function () {
-                    var e = this.el.object3D,
-                      t = this.data
-                    e.position.set(t.x, t.y, t.z)
-                  },
-                  remove: function () {
-                    this.el.object3D.position.set(0, 0, 0)
-                  },
-                })
-              },
-              { '../core/component': 131 },
-            ],
-            97: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../lib/three'),
-                  o = e('../utils/').debug('components:raycaster:warn'),
-                  a = /^[\w\s-.,[\]#]*$/,
-                  s = { childList: !0, attributes: !0, subtree: !0 },
-                  l = {
-                    INTERSECT: 'raycaster-intersected',
-                    INTERSECTION: 'raycaster-intersection',
-                    INTERSECT_CLEAR: 'raycaster-intersected-cleared',
-                    INTERSECTION_CLEAR: 'raycaster-intersection-cleared',
-                  }
-                function c(e, t) {
-                  var n
-                  for (e.length = t.length, n = 0; n < t.length; n++) e[n] = t[n]
-                }
-                t.exports.Component = r('raycaster', {
-                  schema: {
-                    autoRefresh: { default: !0 },
-                    direction: { type: 'vec3', default: { x: 0, y: 0, z: -1 } },
-                    enabled: { default: !0 },
-                    far: { default: 1e3 },
-                    interval: { default: 0 },
-                    near: { default: 0 },
-                    objects: { default: '' },
-                    origin: { type: 'vec3' },
-                    showLine: { default: !1 },
-                    lineColor: { default: 'white' },
-                    lineOpacity: { default: 1 },
-                    useWorldCoordinates: { default: !1 },
-                  },
-                  multiple: !0,
-                  init: function () {
-                    ;(this.clearedIntersectedEls = []),
-                      (this.unitLineEndVec3 = new i.Vector3()),
-                      (this.intersectedEls = []),
-                      (this.intersections = []),
-                      (this.newIntersectedEls = []),
-                      (this.newIntersections = []),
-                      (this.objects = []),
-                      (this.prevCheckTime = void 0),
-                      (this.prevIntersectedEls = []),
-                      (this.rawIntersections = []),
-                      (this.raycaster = new i.Raycaster()),
-                      this.updateOriginDirection(),
-                      (this.setDirty = this.setDirty.bind(this)),
-                      (this.updateLine = this.updateLine.bind(this)),
-                      (this.observer = new MutationObserver(this.setDirty)),
-                      (this.dirty = !0),
-                      (this.lineEndVec3 = new i.Vector3()),
-                      (this.otherLineEndVec3 = new i.Vector3()),
-                      (this.lineData = { end: this.lineEndVec3 }),
-                      (this.getIntersection = this.getIntersection.bind(this)),
-                      (this.intersectedDetail = {
-                        el: this.el,
-                        getIntersection: this.getIntersection,
-                      }),
-                      (this.intersectedClearedDetail = { el: this.el }),
-                      (this.intersectionClearedDetail = { clearedEls: this.clearedIntersectedEls }),
-                      (this.intersectionDetail = {})
-                  },
-                  update: function (e) {
-                    var t = this.data,
-                      n = this.el,
-                      r = this.raycaster
-                    ;(r.far = t.far),
-                      (r.near = t.near),
-                      !t.showLine ||
-                        (t.far === e.far &&
-                          t.origin === e.origin &&
-                          t.direction === e.direction &&
-                          e.showLine) ||
-                        (this.unitLineEndVec3.copy(t.origin).add(t.direction).normalize(),
-                        this.drawLine()),
-                      !t.showLine && e.showLine && n.removeAttribute('line'),
-                      t.objects === e.objects ||
-                        a.test(t.objects) ||
-                        o(
-                          '[raycaster] Selector "' +
-                            t.objects +
-                            '" may not update automatically with DOM changes.',
-                        ),
-                      t.objects ||
-                        o(
-                          '[raycaster] For performance, please define raycaster.objects when using raycaster or cursor components to whitelist which entities to intersect with. e.g., raycaster="objects: [data-raycastable]".',
-                        ),
-                      t.autoRefresh !== e.autoRefresh &&
-                        n.isPlaying &&
-                        (t.autoRefresh ? this.addEventListeners() : this.removeEventListeners()),
-                      e.enabled && !t.enabled && this.clearAllIntersections(),
-                      this.setDirty()
-                  },
-                  play: function () {
-                    this.addEventListeners()
-                  },
-                  pause: function () {
-                    this.removeEventListeners()
-                  },
-                  remove: function () {
-                    this.data.showLine && this.el.removeAttribute('line'),
-                      this.clearAllIntersections()
-                  },
-                  addEventListeners: function () {
-                    this.data.autoRefresh &&
-                      (this.observer.observe(this.el.sceneEl, s),
-                      this.el.sceneEl.addEventListener('object3dset', this.setDirty),
-                      this.el.sceneEl.addEventListener('object3dremove', this.setDirty))
-                  },
-                  removeEventListeners: function () {
-                    this.observer.disconnect(),
-                      this.el.sceneEl.removeEventListener('object3dset', this.setDirty),
-                      this.el.sceneEl.removeEventListener('object3dremove', this.setDirty)
-                  },
-                  setDirty: function () {
-                    this.dirty = !0
-                  },
-                  refreshObjects: function () {
-                    var e,
-                      t = this.data
-                    ;(e = t.objects
-                      ? this.el.sceneEl.querySelectorAll(t.objects)
-                      : this.el.sceneEl.querySelectorAll('*')),
-                      (this.objects = this.flattenObject3DMaps(e)),
-                      (this.dirty = !1)
-                  },
-                  tock: function (e) {
-                    var t = this.data,
-                      n = this.prevCheckTime
-                    t.enabled &&
-                      ((n && e - n < t.interval) ||
-                        ((this.prevCheckTime = e), this.checkIntersections()))
-                  },
-                  checkIntersections: function () {
-                    var e,
-                      t,
-                      n = this.clearedIntersectedEls,
-                      r = this.el,
-                      i = this.data,
-                      o = this.intersectedEls,
-                      a = this.intersections,
-                      s = this.newIntersectedEls,
-                      u = this.newIntersections,
-                      h = this.prevIntersectedEls,
-                      d = this.rawIntersections
-                    for (
-                      this.dirty && this.refreshObjects(),
-                        c(this.prevIntersectedEls, this.intersectedEls),
-                        this.updateOriginDirection(),
-                        d.length = 0,
-                        this.raycaster.intersectObjects(this.objects, !0, d),
-                        a.length = 0,
-                        o.length = 0,
-                        e = 0;
-                      e < d.length;
-                      e++
-                    )
-                      (t = d[e]),
-                        (i.showLine && t.object === r.getObject3D('line')) ||
-                          (t.object.el && (a.push(t), o.push(t.object.el)))
-                    for (u.length = 0, s.length = 0, e = 0; e < a.length; e++)
-                      -1 === h.indexOf(a[e].object.el) && (u.push(a[e]), s.push(a[e].object.el))
-                    for (n.length = 0, e = 0; e < h.length; e++)
-                      -1 === o.indexOf(h[e]) &&
-                        (h[e].emit(l.INTERSECT_CLEAR, this.intersectedClearedDetail), n.push(h[e]))
-                    for (
-                      n.length && r.emit(l.INTERSECTION_CLEAR, this.intersectionClearedDetail),
-                        e = 0;
-                      e < s.length;
-                      e++
-                    )
-                      s[e].emit(l.INTERSECT, this.intersectedDetail)
-                    u.length &&
-                      ((this.intersectionDetail.els = s),
-                      (this.intersectionDetail.intersections = u),
-                      r.emit(l.INTERSECTION, this.intersectionDetail)),
-                      i.showLine && setTimeout(this.updateLine)
-                  },
-                  updateLine: function () {
-                    var e,
-                      t = this.el,
-                      n = this.intersections
-                    n.length && (e = n[0].object.el === t && n[1] ? n[1].distance : n[0].distance),
-                      this.drawLine(e)
-                  },
-                  getIntersection: function (e) {
-                    var t, n
-                    for (t = 0; t < this.intersections.length; t++)
-                      if ((n = this.intersections[t]).object.el === e) return n
-                    return null
-                  },
-                  updateOriginDirection: (function () {
-                    var e = new i.Vector3(),
-                      t = new i.Vector3()
-                    return function () {
-                      var n = this.el,
-                        r = this.data
-                      r.useWorldCoordinates
-                        ? this.raycaster.set(r.origin, r.direction)
-                        : (n.object3D.updateMatrixWorld(),
-                          t.setFromMatrixPosition(n.object3D.matrixWorld),
-                          (0 === r.origin.x && 0 === r.origin.y && 0 === r.origin.z) ||
-                            (t = n.object3D.localToWorld(t.copy(r.origin))),
-                          e
-                            .copy(r.direction)
-                            .transformDirection(n.object3D.matrixWorld)
-                            .normalize(),
-                          this.raycaster.set(t, e))
-                    }
-                  })(),
-                  drawLine: function (e) {
-                    var t,
-                      n = this.data,
-                      r = this.el
-                    ;(t =
-                      this.lineData.end === this.lineEndVec3
-                        ? this.otherLineEndVec3
-                        : this.lineEndVec3),
-                      void 0 === e && (e = n.far === 1 / 0 ? 1e3 : n.far),
-                      (this.lineData.start = n.origin),
-                      (this.lineData.end = t.copy(this.unitLineEndVec3).multiplyScalar(e)),
-                      (this.lineData.color = n.lineColor),
-                      (this.lineData.opacity = n.lineOpacity),
-                      r.setAttribute('line', this.lineData)
-                  },
-                  flattenObject3DMaps: function (e) {
-                    var t,
-                      n,
-                      r = this.objects
-                    for (r.length = 0, n = 0; n < e.length; n++)
-                      if (e[n].isEntity && e[n].object3D)
-                        for (t in e[n].object3DMap) r.push(e[n].getObject3D(t))
-                    return r
-                  },
-                  clearAllIntersections: function () {
-                    var e
-                    for (e = 0; e < this.intersectedEls.length; e++)
-                      this.intersectedEls[e].emit(l.INTERSECT_CLEAR, this.intersectedClearedDetail)
-                    c(this.clearedIntersectedEls, this.intersectedEls),
-                      (this.intersectedEls.length = 0),
-                      (this.intersections.length = 0),
-                      this.el.emit(l.INTERSECTION_CLEAR, this.intersectionClearedDetail)
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/': 205 },
-            ],
-            98: [
-              function (e, t, n) {
-                var r = e('../lib/three').Math.degToRad,
-                  i = e('../core/component').registerComponent
-                t.exports.Component = i('rotation', {
-                  schema: { type: 'vec3' },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el.object3D
-                    t.rotation.set(r(e.x), r(e.y), r(e.z)), (t.rotation.order = 'YXZ')
-                  },
-                  remove: function () {
-                    this.el.object3D.rotation.set(0, 0, 0)
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179 },
-            ],
-            99: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = 1e-5
-                t.exports.Component = r('scale', {
-                  schema: { type: 'vec3', default: { x: 1, y: 1, z: 1 } },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el.object3D,
-                      n = 0 === e.x ? i : e.x,
-                      r = 0 === e.y ? i : e.y,
-                      o = 0 === e.z ? i : e.z
-                    t.scale.set(n, r, o)
-                  },
-                  remove: function () {
-                    this.el.object3D.scale.set(1, 1, 1)
-                  },
-                })
-              },
-              { '../core/component': 131 },
-            ],
-            100: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../core/component').components
-                t.exports.Component = r('background', {
-                  schema: {
-                    color: { type: 'color', default: 'black' },
-                    transparent: { default: !1 },
-                  },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el.object3D
-                    e.transparent
-                      ? (t.background = null)
-                      : (t.background = new THREE.Color(e.color))
-                  },
-                  remove: function () {
-                    var e = this.data,
-                      t = this.el.object3D
-                    e.transparent
-                      ? (t.background = null)
-                      : (t.background = i[this.name].schema.color.default)
-                  },
-                })
-              },
-              { '../../core/component': 131 },
-            ],
-            101: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent
-                t.exports.Component = r('debug', { schema: { default: !0 } })
-              },
-              { '../../core/component': 131 },
-            ],
-            102: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../utils/'),
-                  o = i.bind,
-                  a = e('../../constants/'),
-                  s = 'a-modal',
-                  l = 'a-dialog',
-                  c = 'a-dialog-text',
-                  u = 'a-dialog-text-container',
-                  h = 'a-dialog-buttons-container',
-                  d = 'a-dialog-button',
-                  p = 'a-dialog-allow-button',
-                  f = 'a-dialog-deny-button',
-                  m = 'a-dialog-ok-button'
-                function v(e, t, n, r, i) {
-                  var o, s, l
-                  return (
-                    (o = document.createElement('div')).classList.add(h),
-                    (s = document.createElement('button')).classList.add(d, f),
-                    s.setAttribute(a.AFRAME_INJECTED, ''),
-                    (s.innerHTML = e),
-                    o.appendChild(s),
-                    (l = document.createElement('button')).classList.add(d, p),
-                    l.setAttribute(a.AFRAME_INJECTED, ''),
-                    (l.innerHTML = t),
-                    o.appendChild(l),
-                    l.addEventListener('click', function (e) {
-                      e.stopPropagation(), r()
-                    }),
-                    s.addEventListener('click', function (e) {
-                      e.stopPropagation(), i()
-                    }),
-                    y(n, o)
-                  )
-                }
-                function g(e, t, n) {
-                  var r, i
-                  return (
-                    (r = document.createElement('div')).classList.add(h),
-                    (i = document.createElement('button')).classList.add(d, m),
-                    i.setAttribute(a.AFRAME_INJECTED, ''),
-                    (i.innerHTML = e),
-                    r.appendChild(i),
-                    i.addEventListener('click', function (e) {
-                      e.stopPropagation(), n()
-                    }),
-                    y(t, r)
-                  )
-                }
-                function y(e, t) {
-                  var n, r, i, o
-                  return (
-                    (n = document.createElement('div')).classList.add(s),
-                    n.setAttribute(a.AFRAME_INJECTED, ''),
-                    ((r = document.createElement('div')).className = l),
-                    r.setAttribute(a.AFRAME_INJECTED, ''),
-                    n.appendChild(r),
-                    (i = document.createElement('div')).classList.add(u),
-                    r.appendChild(i),
-                    (o = document.createElement('div')).classList.add(c),
-                    (o.innerHTML = e),
-                    i.appendChild(o),
-                    r.appendChild(t),
-                    n
-                  )
-                }
-                t.exports.Component = r('device-orientation-permission-ui', {
-                  schema: {
-                    enabled: { default: !0 },
-                    deviceMotionMessage: {
-                      default:
-                        'This immersive website requires access to your device motion sensors.',
-                    },
-                    mobileDesktopMessage: {
-                      default:
-                        'Set your browser to request the mobile version of the site and reload the page to enjoy immersive mode.',
-                    },
-                    httpsMessage: {
-                      default:
-                        'Access this site over HTTPS to enter VR mode and grant access to the device sensors.',
-                    },
-                    denyButtonText: { default: 'Deny' },
-                    allowButtonText: { default: 'Allow' },
-                    cancelButtonText: { default: 'Cancel' },
-                  },
-                  init: function () {
-                    var e = this
-                    this.data.enabled &&
-                      ('localhost' !== location.hostname &&
-                        '127.0.0.1' !== location.hostname &&
-                        'http:' === location.protocol &&
-                        this.showHTTPAlert(),
-                      i.device.isMobileDeviceRequestingDesktopSite()
-                        ? this.showMobileDesktopModeAlert()
-                        : 'undefined' !== typeof DeviceOrientationEvent &&
-                          DeviceOrientationEvent.requestPermission
-                        ? ((this.onDeviceMotionDialogAllowClicked = o(
-                            this.onDeviceMotionDialogAllowClicked,
-                            this,
-                          )),
-                          (this.onDeviceMotionDialogDenyClicked = o(
-                            this.onDeviceMotionDialogDenyClicked,
-                            this,
-                          )),
-                          DeviceOrientationEvent.requestPermission()
-                            .catch(function () {
-                              ;(e.devicePermissionDialogEl = v(
-                                e.data.denyButtonText,
-                                e.data.allowButtonText,
-                                e.data.deviceMotionMessage,
-                                e.onDeviceMotionDialogAllowClicked,
-                                e.onDeviceMotionDialogDenyClicked,
-                              )),
-                                e.el.appendChild(e.devicePermissionDialogEl)
-                            })
-                            .then(function () {
-                              e.el.emit('deviceorientationpermissiongranted'),
-                                (e.permissionGranted = !0)
-                            }))
-                        : (this.permissionGranted = !0))
-                  },
-                  remove: function () {
-                    this.devicePermissionDialogEl &&
-                      this.el.removeChild(this.devicePermissionDialogEl)
-                  },
-                  onDeviceMotionDialogDenyClicked: function () {
-                    this.remove()
-                  },
-                  showMobileDesktopModeAlert: function () {
-                    var e = this,
-                      t = g(e.data.cancelButtonText, e.data.mobileDesktopMessage, function () {
-                        e.el.removeChild(t)
-                      })
-                    this.el.appendChild(t)
-                  },
-                  showHTTPAlert: function () {
-                    var e = this,
-                      t = g(e.data.cancelButtonText, e.data.httpsMessage, function () {
-                        e.el.removeChild(t)
-                      })
-                    this.el.appendChild(t)
-                  },
-                  onDeviceMotionDialogAllowClicked: function () {
-                    var e = this
-                    this.el.emit('deviceorientationpermissionrequested'),
-                      DeviceOrientationEvent.requestPermission()
-                        .then(function (t) {
-                          'granted' === t
-                            ? (e.el.emit('deviceorientationpermissiongranted'),
-                              (e.permissionGranted = !0))
-                            : e.el.emit('deviceorientationpermissionrejected'),
-                            e.remove()
-                        })
-                        .catch(console.error)
-                  },
-                })
-              },
-              { '../../constants/': 123, '../../core/component': 131, '../../utils/': 205 },
-            ],
-            103: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent
-                t.exports.Component = r('embedded', {
-                  dependencies: ['vr-mode-ui'],
-                  schema: { default: !0 },
-                  update: function () {
-                    var e = this.el,
-                      t = e.querySelector('.a-enter-vr')
-                    !0 === this.data
-                      ? (t && t.classList.add('embedded'), e.removeFullScreenStyles())
-                      : (t && t.classList.remove('embedded'), e.addFullScreenStyles())
-                  },
-                })
-              },
-              { '../../core/component': 131 },
-            ],
-            104: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../lib/three'),
-                  o = e('../../utils/debug')('components:fog:warn')
-                function a(e) {
-                  var t
-                  return (
-                    ((t =
-                      'exponential' === e.type
-                        ? new i.FogExp2(e.color, e.density)
-                        : new i.Fog(e.color, e.near, e.far)).name = e.type),
-                    t
-                  )
-                }
-                t.exports.Component = r('fog', {
-                  schema: {
-                    color: { type: 'color', default: '#000' },
-                    density: { default: 25e-5 },
-                    far: { default: 1e3, min: 0 },
-                    near: { default: 1, min: 0 },
-                    type: { default: 'linear', oneOf: ['linear', 'exponential'] },
-                  },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el,
-                      n = this.el.object3D.fog
-                    if (t.isScene)
-                      return n && e.type === n.name
-                        ? void Object.keys(this.schema).forEach(function (t) {
-                            var r = e[t]
-                            'color' === t && (r = new i.Color(r)), (n[t] = r)
-                          })
-                        : ((t.object3D.fog = a(e)), void t.systems.material.updateMaterials())
-                    o('Fog component can only be applied to <a-scene>')
-                  },
-                  remove: function () {
-                    var e = this.el.object3D.fog
-                    e && ((e.far = 0), (e.near = 0.1))
-                  },
-                })
-              },
-              { '../../core/component': 131, '../../lib/three': 179, '../../utils/debug': 201 },
-            ],
-            105: [
-              function (e, t, n) {
-                ;(function (n) {
-                  var r = e('../../constants').AFRAME_INJECTED,
-                    i = e('../../../package'),
-                    o = e('../../core/component').registerComponent,
-                    a = e('../../utils/')
-                  function s(e) {
-                    var t = e.split('.')
-                    return (t[2] = 'x'), t.join('.')
-                  }
-                  var l = 'https://aframe.io/aframe-inspector/dist/aframe-inspector.js',
-                    c =
-                      'https://unpkg.com/aframe-inspector@' +
-                      s(i.version) +
-                      '/dist/aframe-inspector.min.js',
-                    u = 'dev' === n.env.INSPECTOR_VERSION ? l : c,
-                    h = 'Loading Inspector',
-                    d = 'Error loading Inspector'
-                  t.exports.Component = o('inspector', {
-                    schema: { url: { default: u } },
-                    init: function () {
-                      ;(this.firstPlay = !0),
-                        (this.onKeydown = this.onKeydown.bind(this)),
-                        (this.onMessage = this.onMessage.bind(this)),
-                        this.initOverlay(),
-                        window.addEventListener('keydown', this.onKeydown),
-                        window.addEventListener('message', this.onMessage)
-                    },
-                    play: function () {
-                      var e
-                      this.firstPlay &&
-                        'false' !== (e = a.getUrlParameter('inspector')) &&
-                        e &&
-                        (this.openInspector(), (this.firstPlay = !1))
-                    },
-                    initOverlay: function () {
-                      var e = '<span class="dots"><span>.</span><span>.</span><span>.</span></span>'
-                      ;(this.loadingMessageEl = document.createElement('div')),
-                        this.loadingMessageEl.classList.add('a-inspector-loader'),
-                        (this.loadingMessageEl.innerHTML = h + e)
-                    },
-                    remove: function () {
-                      this.removeEventListeners()
-                    },
-                    onKeydown: function (e) {
-                      73 === e.keyCode &&
-                        ((e.ctrlKey && e.altKey) || e.getModifierState('AltGraph')) &&
-                        this.openInspector()
-                    },
-                    showLoader: function () {
-                      document.body.appendChild(this.loadingMessageEl)
-                    },
-                    hideLoader: function () {
-                      document.body.removeChild(this.loadingMessageEl)
-                    },
-                    onMessage: function (e) {
-                      'INJECT_AFRAME_INSPECTOR' === e.data && this.openInspector()
-                    },
-                    openInspector: function (e) {
-                      var t,
-                        n = this
-                      AFRAME.INSPECTOR || AFRAME.inspectorInjected
-                        ? AFRAME.INSPECTOR.open(e)
-                        : (this.showLoader(),
-                          ((t = document.createElement('script')).src = this.data.url),
-                          t.setAttribute('data-name', 'aframe-inspector'),
-                          t.setAttribute(r, ''),
-                          (t.onload = function () {
-                            AFRAME.INSPECTOR.open(e), n.hideLoader(), n.removeEventListeners()
-                          }),
-                          (t.onerror = function () {
-                            n.loadingMessageEl.innerHTML = d
-                          }),
-                          document.head.appendChild(t),
-                          (AFRAME.inspectorInjected = !0))
-                    },
-                    removeEventListeners: function () {
-                      window.removeEventListener('keydown', this.onKeydown),
-                        window.removeEventListener('message', this.onMessage)
-                    },
-                  })
-                }.call(this, e('_process')))
-              },
-              {
-                '../../../package': 73,
-                '../../constants': 123,
-                '../../core/component': 131,
-                '../../utils/': 205,
-                _process: 49,
-              },
-            ],
-            106: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../utils/').shouldCaptureKeyEvent
-                t.exports.Component = r('keyboard-shortcuts', {
-                  schema: { enterVR: { default: !0 }, exitVR: { default: !0 } },
-                  init: function () {
-                    this.onKeyup = this.onKeyup.bind(this)
-                  },
-                  update: function (e) {
-                    var t = this.data
-                    this.enterVREnabled = t.enterVR
-                  },
-                  play: function () {
-                    window.addEventListener('keyup', this.onKeyup, !1)
-                  },
-                  pause: function () {
-                    window.removeEventListener('keyup', this.onKeyup)
-                  },
-                  onKeyup: function (e) {
-                    var t = this.el
-                    i(e) &&
-                      (this.enterVREnabled && 70 === e.keyCode && t.enterVR(),
-                      this.enterVREnabled && 27 === e.keyCode && t.exitVR())
-                  },
-                })
-              },
-              { '../../core/component': 131, '../../utils/': 205 },
-            ],
-            107: [
-              function (e, t, n) {
-                var r = e('../../utils/debug'),
-                  i = e('../../core/component').registerComponent,
-                  o = r('components:pool:warn')
-                t.exports.Component = i('pool', {
-                  schema: {
-                    container: { default: '' },
-                    mixin: { default: '' },
-                    size: { default: 0 },
-                    dynamic: { default: !1 },
-                  },
-                  multiple: !0,
-                  initPool: function () {
-                    var e
-                    for (
-                      this.availableEls = [],
-                        this.usedEls = [],
-                        this.data.mixin || o('No mixin provided for pool component.'),
-                        this.data.container &&
-                          ((this.container = document.querySelector(this.data.container)),
-                          this.container || o('Container ' + this.data.container + ' not found.')),
-                        this.container = this.container || this.el,
-                        e = 0;
-                      e < this.data.size;
-                      ++e
-                    )
-                      this.createEntity()
-                  },
-                  update: function (e) {
-                    var t = this.data
-                    ;(e.mixin === t.mixin && e.size === t.size) || this.initPool()
-                  },
-                  createEntity: function () {
-                    var e
-                    ;((e = document.createElement('a-entity')).play = this.wrapPlay(e.play)),
-                      e.setAttribute('mixin', this.data.mixin),
-                      (e.object3D.visible = !1),
-                      e.pause(),
-                      this.container.appendChild(e),
-                      this.availableEls.push(e)
-                  },
-                  wrapPlay: function (e) {
-                    var t = this.usedEls
-                    return function () {
-                      ;-1 !== t.indexOf(this) && e.call(this)
-                    }
-                  },
-                  requestEntity: function () {
-                    var e
-                    if (0 === this.availableEls.length) {
-                      if (!1 === this.data.dynamic)
-                        return void o('Requested entity from empty pool: ' + this.attrName)
-                      o(
-                        'Requested entity from empty pool. This pool is dynamic and will resize automatically. You might want to increase its initial size: ' +
-                          this.attrName,
-                      ),
-                        this.createEntity()
-                    }
-                    return (
-                      (e = this.availableEls.shift()),
-                      this.usedEls.push(e),
-                      (e.object3D.visible = !0),
-                      e
-                    )
-                  },
-                  returnEntity: function (e) {
-                    var t = this.usedEls.indexOf(e)
-                    if (-1 !== t)
-                      return (
-                        this.usedEls.splice(t, 1),
-                        this.availableEls.push(e),
-                        (e.object3D.visible = !1),
-                        e.pause(),
-                        e
-                      )
-                    o('The returned entity was not previously pooled from ' + this.attrName)
-                  },
-                })
-              },
-              { '../../core/component': 131, '../../utils/debug': 201 },
-            ],
-            108: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../lib/three'),
-                  o = [
-                    'attribute vec3 position;',
-                    'attribute vec2 uv;',
-                    'uniform mat4 projectionMatrix;',
-                    'uniform mat4 modelViewMatrix;',
-                    'varying vec2 vUv;',
-                    'void main()  {',
-                    '  vUv = vec2( 1.- uv.x, uv.y );',
-                    '  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',
-                    '}',
-                  ].join('\n'),
-                  a = [
-                    'precision mediump float;',
-                    'uniform samplerCube map;',
-                    'varying vec2 vUv;',
-                    '#define M_PI 3.141592653589793238462643383279',
-                    'void main() {',
-                    '  vec2 uv = vUv;',
-                    '  float longitude = uv.x * 2. * M_PI - M_PI + M_PI / 2.;',
-                    '  float latitude = uv.y * M_PI;',
-                    '  vec3 dir = vec3(',
-                    '    - sin( longitude ) * sin( latitude ),',
-                    '    cos( latitude ),',
-                    '    - cos( longitude ) * sin( latitude )',
-                    '  );',
-                    '  normalize( dir );',
-                    '  gl_FragColor = vec4( textureCube( map, dir ).rgb, 1.0 );',
-                    '}',
-                  ].join('\n')
-                t.exports.Component = r('screenshot', {
-                  schema: {
-                    width: { default: 4096 },
-                    height: { default: 2048 },
-                    camera: { type: 'selector' },
-                  },
-                  init: function () {
-                    var e = this.el,
-                      t = this
-                    function n() {
-                      var n = e.renderer.getContext()
-                      n &&
-                        ((t.cubeMapSize = n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE)),
-                        (t.material = new i.RawShaderMaterial({
-                          uniforms: { map: { type: 't', value: null } },
-                          vertexShader: o,
-                          fragmentShader: a,
-                          side: i.DoubleSide,
-                        })),
-                        (t.quad = new i.Mesh(new i.PlaneBufferGeometry(1, 1), t.material)),
-                        (t.quad.visible = !1),
-                        (t.camera = new i.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, -1e4, 1e4)),
-                        (t.canvas = document.createElement('canvas')),
-                        (t.ctx = t.canvas.getContext('2d')),
-                        e.object3D.add(t.quad),
-                        (t.onKeyDown = t.onKeyDown.bind(t)))
-                    }
-                    e.renderer ? n() : e.addEventListener('render-target-loaded', n)
-                  },
-                  getRenderTarget: function (e, t) {
-                    return new i.WebGLRenderTarget(e, t, {
-                      minFilter: i.LinearFilter,
-                      magFilter: i.LinearFilter,
-                      wrapS: i.ClampToEdgeWrapping,
-                      wrapT: i.ClampToEdgeWrapping,
-                      format: i.RGBAFormat,
-                      type: i.UnsignedByteType,
-                    })
-                  },
-                  resize: function (e, t) {
-                    this.quad.scale.set(e, t, 1),
-                      (this.camera.left = (-1 * e) / 2),
-                      (this.camera.right = e / 2),
-                      (this.camera.top = t / 2),
-                      (this.camera.bottom = (-1 * t) / 2),
-                      this.camera.updateProjectionMatrix(),
-                      (this.canvas.width = e),
-                      (this.canvas.height = t)
-                  },
-                  play: function () {
-                    window.addEventListener('keydown', this.onKeyDown)
-                  },
-                  onKeyDown: function (e) {
-                    var t = 83 === e.keyCode && e.ctrlKey && e.altKey
-                    if (this.data && t) {
-                      var n = e.shiftKey ? 'equirectangular' : 'perspective'
-                      this.capture(n)
-                    }
-                  },
-                  setCapture: function (e) {
-                    var t,
-                      n,
-                      r,
-                      o,
-                      a = this.el
-                    return (
-                      'perspective' === e
-                        ? ((this.quad.visible = !1),
-                          (n =
-                            (this.data.camera && this.data.camera.components.camera.camera) ||
-                            a.camera),
-                          (t = { width: this.data.width, height: this.data.height }))
-                        : ((n = this.camera),
-                          (o = new i.WebGLCubeRenderTarget(Math.min(this.cubeMapSize, 2048), {
-                            format: i.RGBFormat,
-                            generateMipmaps: !0,
-                            minFilter: i.LinearMipmapLinearFilter,
-                            encoding: i.sRGBEncoding,
-                          })),
-                          (r = new i.CubeCamera(a.camera.near, a.camera.far, o)),
-                          a.camera.getWorldPosition(r.position),
-                          a.camera.getWorldQuaternion(r.quaternion),
-                          r.update(a.renderer, a.object3D),
-                          (this.quad.material.uniforms.map.value = r.renderTarget.texture),
-                          (t = { width: this.data.width, height: this.data.height }),
-                          (this.quad.visible = !0)),
-                      { camera: n, size: t, projection: e }
-                    )
-                  },
-                  capture: function (e) {
-                    var t,
-                      n = this.el.renderer.xr.enabled,
-                      r = this.el.renderer
-                    ;(r.xr.enabled = !1),
-                      (t = this.setCapture(e)),
-                      this.renderCapture(t.camera, t.size, t.projection),
-                      this.saveCapture(),
-                      (r.xr.enabled = n)
-                  },
-                  getCanvas: function (e) {
-                    var t = this.el.renderer.xr.enabled,
-                      n = this.el.renderer,
-                      r = this.setCapture(e)
-                    return (
-                      (n.xr.enabled = !1),
-                      this.renderCapture(r.camera, r.size, r.projection),
-                      (n.xr.enabled = t),
-                      this.canvas
-                    )
-                  },
-                  renderCapture: function (e, t, n) {
-                    var r,
-                      i,
-                      o,
-                      a = this.el.renderer.autoClear,
-                      s = this.el,
-                      l = s.renderer
-                    ;(i = this.getRenderTarget(t.width, t.height)),
-                      (o = new Uint8Array(4 * t.width * t.height)),
-                      this.resize(t.width, t.height),
-                      (l.autoClear = !0),
-                      l.clear(),
-                      l.setRenderTarget(i),
-                      l.render(s.object3D, e),
-                      (l.autoClear = a),
-                      l.readRenderTargetPixels(i, 0, 0, t.width, t.height, o),
-                      l.setRenderTarget(null),
-                      'perspective' === n && (o = this.flipPixelsVertically(o, t.width, t.height)),
-                      (r = new ImageData(new Uint8ClampedArray(o), t.width, t.height)),
-                      (this.quad.visible = !1),
-                      this.ctx.putImageData(r, 0, 0)
-                  },
-                  flipPixelsVertically: function (e, t, n) {
-                    for (var r = e.slice(0), i = 0; i < t; ++i)
-                      for (var o = 0; o < n; ++o)
-                        (r[4 * i + o * t * 4] = e[4 * i + (n - o) * t * 4]),
-                          (r[4 * i + 1 + o * t * 4] = e[4 * i + 1 + (n - o) * t * 4]),
-                          (r[4 * i + 2 + o * t * 4] = e[4 * i + 2 + (n - o) * t * 4]),
-                          (r[4 * i + 3 + o * t * 4] = e[4 * i + 3 + (n - o) * t * 4])
-                    return r
-                  },
-                  saveCapture: function () {
-                    this.canvas.toBlob(function (e) {
-                      var t =
-                          'screenshot-' + document.title.toLowerCase() + '-' + Date.now() + '.png',
-                        n = document.createElement('a'),
-                        r = URL.createObjectURL(e)
-                      ;(n.href = r),
-                        n.setAttribute('download', t),
-                        (n.innerHTML = 'downloading...'),
-                        (n.style.display = 'none'),
-                        document.body.appendChild(n),
-                        setTimeout(function () {
-                          n.click(), document.body.removeChild(n)
-                        }, 1)
-                    }, 'image/png')
-                  },
-                })
-              },
-              { '../../core/component': 131, '../../lib/three': 179 },
-            ],
-            109: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../../vendor/rStats'),
-                  o = e('../../utils')
-                e('../../../vendor/rStats.extras'), e('../../lib/rStatsAframe')
-                var a = window.aframeStats,
-                  s = o.bind,
-                  l = 'a-hidden',
-                  c = window.threeStats
-                function u(e) {
-                  var t = new c(e.renderer),
-                    n = new a(e),
-                    r = e.isMobile ? [] : [t, n]
-                  return new i({
-                    css: [],
-                    values: { fps: { caption: 'fps', below: 30 } },
-                    groups: [{ caption: 'Framerate', values: ['fps', 'raf'] }],
-                    plugins: r,
-                  })
-                }
-                t.exports.Component = r('stats', {
-                  schema: { default: !0 },
-                  init: function () {
-                    var e = this.el
-                    'false' !== o.getUrlParameter('stats') &&
-                      ((this.stats = u(e)),
-                      (this.statsEl = document.querySelector('.rs-base')),
-                      (this.hideBound = s(this.hide, this)),
-                      (this.showBound = s(this.show, this)),
-                      e.addEventListener('enter-vr', this.hideBound),
-                      e.addEventListener('exit-vr', this.showBound))
-                  },
-                  update: function () {
-                    if (this.stats) return this.data ? this.show() : this.hide()
-                  },
-                  remove: function () {
-                    this.el.removeEventListener('enter-vr', this.hideBound),
-                      this.el.removeEventListener('exit-vr', this.showBound),
-                      this.statsEl && this.statsEl.parentNode.removeChild(this.statsEl)
-                  },
-                  tick: function () {
-                    var e = this.stats
-                    e && (e('rAF').tick(), e('FPS').frame(), e().update())
-                  },
-                  hide: function () {
-                    this.statsEl.classList.add(l)
-                  },
-                  show: function () {
-                    this.statsEl.classList.remove(l)
-                  },
-                })
-              },
-              {
-                '../../../vendor/rStats': 217,
-                '../../../vendor/rStats.extras': 216,
-                '../../core/component': 131,
-                '../../lib/rStatsAframe': 178,
-                '../../utils': 205,
-              },
-            ],
-            110: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../constants/'),
-                  o = e('../../utils/'),
-                  a = o.bind,
-                  s = 'a-enter-vr',
-                  l = 'a-enter-ar',
-                  c = 'a-enter-vr-button',
-                  u = 'a-enter-ar-button',
-                  h = 'a-hidden',
-                  d = 'a-orientation-modal'
-                function p(e) {
-                  var t, n
-                  return (
-                    (n = document.createElement('div')).classList.add(s),
-                    n.setAttribute(i.AFRAME_INJECTED, ''),
-                    ((t = document.createElement('button')).className = c),
-                    t.setAttribute(
-                      'title',
-                      'Enter VR mode with a headset or fullscreen mode on a desktop. Visit https://webvr.rocks or https://webvr.info for more information.',
-                    ),
-                    t.setAttribute(i.AFRAME_INJECTED, ''),
-                    o.device.isMobile() && v(t),
-                    n.appendChild(t),
-                    t.addEventListener('click', function (t) {
-                      e(), t.stopPropagation()
-                    }),
-                    n
-                  )
-                }
-                function f(e) {
-                  var t, n
-                  return (
-                    (n = document.createElement('div')).classList.add(l),
-                    n.setAttribute(i.AFRAME_INJECTED, ''),
-                    ((t = document.createElement('button')).className = u),
-                    t.setAttribute(
-                      'title',
-                      'Enter AR mode with a headset or handheld device. Visit https://webvr.rocks or https://webvr.info for more information.',
-                    ),
-                    t.setAttribute(i.AFRAME_INJECTED, ''),
-                    o.device.isMobile() && v(t),
-                    n.appendChild(t),
-                    t.addEventListener('click', function (t) {
-                      e(), t.stopPropagation()
-                    }),
-                    n
-                  )
-                }
-                function m(e) {
-                  var t = document.createElement('div')
-                  ;(t.className = d), t.classList.add(h), t.setAttribute(i.AFRAME_INJECTED, '')
-                  var n = document.createElement('button')
-                  return (
-                    n.setAttribute(i.AFRAME_INJECTED, ''),
-                    (n.innerHTML = 'Exit VR'),
-                    n.addEventListener('click', e),
-                    t.appendChild(n),
-                    t
-                  )
-                }
-                function v(e) {
-                  e.addEventListener('touchstart', function () {
-                    e.classList.remove('resethover')
-                  }),
-                    e.addEventListener('touchend', function () {
-                      e.classList.add('resethover')
-                    })
-                }
-                t.exports.Component = r('vr-mode-ui', {
-                  dependencies: ['canvas'],
-                  schema: {
-                    enabled: { default: !0 },
-                    enterVRButton: { default: '' },
-                    enterARButton: { default: '' },
-                  },
-                  init: function () {
-                    var e = this,
-                      t = this.el
-                    'false' !== o.getUrlParameter('ui') &&
-                      ((this.insideLoader = !1),
-                      (this.enterVREl = null),
-                      (this.enterAREl = null),
-                      (this.orientationModalEl = null),
-                      this.bindMethods(),
-                      t.addEventListener('enter-vr', this.updateEnterInterfaces),
-                      t.addEventListener('exit-vr', this.updateEnterInterfaces),
-                      t.addEventListener('update-vr-devices', this.updateEnterInterfaces),
-                      window.addEventListener('message', function (t) {
-                        'loaderReady' === t.data.type && ((e.insideLoader = !0), e.remove())
-                      }),
-                      window.addEventListener(
-                        'orientationchange',
-                        this.toggleOrientationModalIfNeeded,
-                      ))
-                  },
-                  bindMethods: function () {
-                    ;(this.onEnterVRButtonClick = a(this.onEnterVRButtonClick, this)),
-                      (this.onEnterARButtonClick = a(this.onEnterARButtonClick, this)),
-                      (this.onModalClick = a(this.onModalClick, this)),
-                      (this.toggleOrientationModalIfNeeded = a(
-                        this.toggleOrientationModalIfNeeded,
-                        this,
-                      )),
-                      (this.updateEnterInterfaces = a(this.updateEnterInterfaces, this))
-                  },
-                  onModalClick: function () {
-                    this.el.exitVR()
-                  },
-                  onEnterVRButtonClick: function () {
-                    this.el.enterVR()
-                  },
-                  onEnterARButtonClick: function () {
-                    this.el.enterAR()
-                  },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el
-                    if (!e.enabled || this.insideLoader || 'false' === o.getUrlParameter('ui'))
-                      return this.remove()
-                    this.enterVREl ||
-                      this.enterAREl ||
-                      this.orientationModalEl ||
-                      (e.enterVRButton
-                        ? ((this.enterVREl = document.querySelector(e.enterVRButton)),
-                          this.enterVREl.addEventListener('click', this.onEnterVRButtonClick))
-                        : ((this.enterVREl = p(this.onEnterVRButtonClick)),
-                          t.appendChild(this.enterVREl)),
-                      e.enterARButton
-                        ? ((this.enterAREl = document.querySelector(e.enterARButton)),
-                          this.enterAREl.addEventListener('click', this.onEnterARButtonClick))
-                        : ((this.enterAREl = f(this.onEnterARButtonClick)),
-                          t.appendChild(this.enterAREl)),
-                      (this.orientationModalEl = m(this.onModalClick)),
-                      t.appendChild(this.orientationModalEl),
-                      this.updateEnterInterfaces())
-                  },
-                  remove: function () {
-                    ;[this.enterVREl, this.enterAREl, this.orientationModalEl].forEach(function (
-                      e,
-                    ) {
-                      e && e.parentNode && e.parentNode.removeChild(e)
-                    }),
-                      (this.enterVREl = void 0),
-                      (this.enterAREl = void 0),
-                      (this.orientationModalEl = void 0)
-                  },
-                  updateEnterInterfaces: function () {
-                    this.toggleEnterVRButtonIfNeeded(),
-                      this.toggleEnterARButtonIfNeeded(),
-                      this.toggleOrientationModalIfNeeded()
-                  },
-                  toggleEnterVRButtonIfNeeded: function () {
-                    var e = this.el
-                    this.enterVREl &&
-                      (e.is('vr-mode')
-                        ? this.enterVREl.classList.add(h)
-                        : this.enterVREl.classList.remove(h))
-                  },
-                  toggleEnterARButtonIfNeeded: function () {
-                    var e = this.el
-                    this.enterAREl &&
-                      (e.is('vr-mode') || !o.device.checkARSupport()
-                        ? this.enterAREl.classList.add(h)
-                        : this.enterAREl.classList.remove(h))
-                  },
-                  toggleOrientationModalIfNeeded: function () {
-                    var e = this.el,
-                      t = this.orientationModalEl
-                    t &&
-                      e.isMobile &&
-                      (!o.device.isLandscape() && e.is('vr-mode')
-                        ? t.classList.remove(h)
-                        : t.classList.add(h))
-                  },
-                })
-              },
-              { '../../constants/': 123, '../../core/component': 131, '../../utils/': 205 },
-            ],
-            111: [
-              function (e, t, n) {
-                var r = e('../core/component'),
-                  i = e('../lib/three'),
-                  o = e('../utils/bind'),
-                  a = r.registerComponent
-                t.exports.Component = a('shadow', {
-                  schema: { cast: { default: !0 }, receive: { default: !0 } },
-                  init: function () {
-                    ;(this.onMeshChanged = o(this.update, this)),
-                      this.el.addEventListener('object3dset', this.onMeshChanged),
-                      this.system.setShadowMapEnabled(!0)
-                  },
-                  update: function () {
-                    var e = this.data
-                    this.updateDescendants(e.cast, e.receive)
-                  },
-                  remove: function () {
-                    this.el.removeEventListener('object3dset', this.onMeshChanged),
-                      this.updateDescendants(!1, !1)
-                  },
-                  updateDescendants: function (e, t) {
-                    var n = this.el.sceneEl
-                    this.el.object3D.traverse(function (r) {
-                      if (
-                        r instanceof i.Mesh &&
-                        ((r.castShadow = e), (r.receiveShadow = t), n.hasLoaded && r.material)
-                      )
-                        for (
-                          var o = Array.isArray(r.material) ? r.material : [r.material], a = 0;
-                          a < o.length;
-                          a++
-                        )
-                          o[a].needsUpdate = !0
-                    })
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/bind': 199 },
-            ],
-            112: [
-              function (t, n, r) {
-                var i = t('../core/component').registerComponent,
-                  o = t('../utils/debug'),
-                  a = t('../lib/three'),
-                  s = o('components:sound:warn')
-                n.exports.Component = i('sound', {
-                  schema: {
-                    autoplay: { default: !1 },
-                    distanceModel: {
-                      default: 'inverse',
-                      oneOf: ['linear', 'inverse', 'exponential'],
-                    },
-                    loop: { default: !1 },
-                    maxDistance: { default: 1e4 },
-                    on: { default: '' },
-                    poolSize: { default: 1 },
-                    positional: { default: !0 },
-                    refDistance: { default: 1 },
-                    rolloffFactor: { default: 1 },
-                    src: { type: 'audio' },
-                    volume: { default: 1 },
-                  },
-                  multiple: !0,
-                  init: function () {
-                    var e = this
-                    ;(this.listener = null),
-                      (this.audioLoader = new a.AudioLoader()),
-                      (this.pool = new a.Group()),
-                      (this.loaded = !1),
-                      (this.mustPlay = !1),
-                      (this.playSoundBound = function () {
-                        e.playSound()
-                      })
-                  },
-                  update: function (e) {
-                    var t,
-                      n,
-                      r = this.data,
-                      i = r.src !== e.src
-                    if (i) {
-                      if (!r.src) return
-                      this.setupSound()
-                    }
-                    for (t = 0; t < this.pool.children.length; t++)
-                      (n = this.pool.children[t]),
-                        r.positional &&
-                          (n.setDistanceModel(r.distanceModel),
-                          n.setMaxDistance(r.maxDistance),
-                          n.setRefDistance(r.refDistance),
-                          n.setRolloffFactor(r.rolloffFactor)),
-                        n.setLoop(r.loop),
-                        n.setVolume(r.volume),
-                        (n.isPaused = !1)
-                    if ((r.on !== e.on && this.updateEventListener(e.on), i)) {
-                      var o = this
-                      ;(this.loaded = !1),
-                        this.audioLoader.load(r.src, function (e) {
-                          for (t = 0; t < o.pool.children.length; t++)
-                            (n = o.pool.children[t]).setBuffer(e)
-                          ;(o.loaded = !0),
-                            a.Cache.remove(r.src),
-                            (o.data.autoplay || o.mustPlay) && o.playSound(),
-                            o.el.emit('sound-loaded', o.evtDetail, !1)
-                        })
-                    }
-                  },
-                  pause: function () {
-                    this.stopSound(), this.removeEventListener()
-                  },
-                  play: function () {
-                    this.data.autoplay && this.playSound(), this.updateEventListener()
-                  },
-                  remove: function () {
-                    var t
-                    this.removeEventListener(),
-                      this.el.getObject3D(this.attrName) && this.el.removeObject3D(this.attrName)
-                    try {
-                      for (t = 0; t < this.pool.children.length; t++)
-                        this.pool.children[t].disconnect()
-                    } catch (e) {
-                      s('Audio source not properly disconnected')
-                    }
-                  },
-                  updateEventListener: function (e) {
-                    var t = this.el
-                    e && t.removeEventListener(e, this.playSoundBound),
-                      t.addEventListener(this.data.on, this.playSoundBound)
-                  },
-                  removeEventListener: function () {
-                    this.el.removeEventListener(this.data.on, this.playSoundBound)
-                  },
-                  setupSound: function () {
-                    var e,
-                      t,
-                      n = this.el,
-                      r = n.sceneEl,
-                      i = this
-                    this.pool.children.length > 0 && (this.stopSound(), n.removeObject3D('sound'))
-                    var o = (this.listener = r.audioListener || new a.AudioListener())
-                    for (
-                      r.audioListener = o,
-                        r.camera && r.camera.add(o),
-                        r.addEventListener('camera-set-active', function (e) {
-                          e.detail.cameraEl.getObject3D('camera').add(o)
-                        }),
-                        this.pool = new a.Group(),
-                        e = 0;
-                      e < this.data.poolSize;
-                      e++
-                    )
-                      (t = this.data.positional ? new a.PositionalAudio(o) : new a.Audio(o)),
-                        this.pool.add(t)
-                    for (
-                      n.setObject3D(this.attrName, this.pool), e = 0;
-                      e < this.pool.children.length;
-                      e++
-                    )
-                      (t = this.pool.children[e]).onEnded = function () {
-                        ;(this.isPlaying = !1), i.el.emit('sound-ended', i.evtDetail, !1)
-                      }
-                  },
-                  pauseSound: function () {
-                    var e, t
-                    for (this.isPlaying = !1, e = 0; e < this.pool.children.length; e++)
-                      (t = this.pool.children[e]).source &&
-                        t.source.buffer &&
-                        t.isPlaying &&
-                        !t.isPaused &&
-                        ((t.isPaused = !0), t.pause())
-                  },
-                  playSound: function (e) {
-                    var t, n, r
-                    if (!this.loaded)
-                      return (
-                        s('Sound not loaded yet. It will be played once it finished loading'),
-                        void (this.mustPlay = !0)
-                      )
-                    for (t = !1, this.isPlaying = !0, n = 0; n < this.pool.children.length; n++)
-                      (r = this.pool.children[n]).isPlaying ||
-                        !r.buffer ||
-                        t ||
-                        (e && e(r), r.play(), (r.isPaused = !1), (t = !0))
-                    t
-                      ? (this.mustPlay = !1)
-                      : s(
-                          'All the sounds are playing. If you need to play more sounds simultaneously consider increasing the size of pool with the `poolSize` attribute.',
-                          this.el,
-                        )
-                  },
-                  stopSound: function () {
-                    var e, t
-                    for (this.isPlaying = !1, e = 0; e < this.pool.children.length; e++) {
-                      if (!(t = this.pool.children[e]).source || !t.source.buffer) return
-                      t.stop()
-                    }
-                  },
-                })
-              },
-              { '../core/component': 131, '../lib/three': 179, '../utils/debug': 201 },
-            ],
-            113: [
-              function (e, t, n) {
-                var r = e('three-bmfont-text'),
-                  i = e('load-bmfont'),
-                  o = e('../core/component').registerComponent,
-                  a = e('../core/shader'),
-                  s = e('../lib/three'),
-                  l = e('../utils/'),
-                  c = l.debug('components:text:error'),
-                  u = a.shaders,
-                  h = l.debug('components:text:warn'),
-                  d = 1,
-                  p = 16,
-                  f = 'https://cdn.aframe.io/fonts/',
-                  m = {
-                    aileronsemibold: f + 'Aileron-Semibold.fnt',
-                    dejavu: f + 'DejaVu-sdf.fnt',
-                    exo2bold: f + 'Exo2Bold.fnt',
-                    exo2semibold: f + 'Exo2SemiBold.fnt',
-                    kelsonsans: f + 'KelsonSans.fnt',
-                    monoid: f + 'Monoid.fnt',
-                    mozillavr: f + 'mozillavr.fnt',
-                    roboto: f + 'Roboto-msdf.json',
-                    sourcecodepro: f + 'SourceCodePro.fnt',
-                  },
-                  v = ['roboto'],
-                  g = 'roboto'
-                t.exports.FONTS = m
-                var y = new C(),
-                  b = {},
-                  A = {},
-                  w = /^\w+:/
-                function x(e) {
-                  switch (e) {
-                    case 'back':
-                      return s.FrontSide
-                    case 'double':
-                      return s.DoubleSide
-                    default:
-                      return s.BackSide
-                  }
-                }
-                function E(e, t) {
-                  return new Promise(function (n, r) {
-                    i(e, function (i, o) {
-                      if (i) return c('Error loading font', e), void r(i)
-                      e.indexOf('/Roboto-msdf.json') >= 0 && (t = 30),
-                        t &&
-                          o.chars.map(function (e) {
-                            e.yoffset += t
-                          }),
-                        n(o)
-                    })
-                  })
-                }
-                function M(e) {
-                  return new Promise(function (t, n) {
-                    new s.ImageLoader().load(
-                      e,
-                      function (e) {
-                        t(e)
-                      },
-                      void 0,
-                      function () {
-                        c('Error loading font image', e), n(null)
-                      },
-                    )
-                  })
-                }
-                function _(e, t, n) {
-                  var r, i
-                  return (
-                    ((i = new u[t].Shader()).el = e),
-                    i.init(n),
-                    i.update(n),
-                    ((r = i.material).transparent = n.transparent),
-                    { material: r, shader: i }
-                  )
-                }
-                function T(e, t, n) {
-                  return e || (0.5 + t) * n
-                }
-                function S(e) {
-                  var t = 0,
-                    n = 0,
-                    r = 0
-                  return (
-                    e.chars.map(function (e) {
-                      ;(t += e.xadvance), e.id >= 48 && e.id <= 57 && (r++, (n += e.xadvance))
-                    }),
-                    r ? n / r : t / e.chars.length
-                  )
-                }
-                function C() {
-                  var e = (this.cache = {})
-                  this.get = function (t, n) {
-                    return t in e || (e[t] = n()), e[t]
-                  }
-                }
-                t.exports.Component = o('text', {
-                  multiple: !0,
-                  schema: {
-                    align: { type: 'string', default: 'left', oneOf: ['left', 'right', 'center'] },
-                    alphaTest: { default: 0.5 },
-                    anchor: { default: 'center', oneOf: ['left', 'right', 'center', 'align'] },
-                    baseline: { default: 'center', oneOf: ['top', 'center', 'bottom'] },
-                    color: { type: 'color', default: '#FFF' },
-                    font: { type: 'string', default: g },
-                    fontImage: { type: 'string' },
-                    height: { type: 'number' },
-                    letterSpacing: { type: 'number', default: 0 },
-                    lineHeight: { type: 'number' },
-                    negate: { type: 'boolean', default: !0 },
-                    opacity: { type: 'number', default: 1 },
-                    shader: { default: 'sdf', oneOf: u },
-                    side: { default: 'front', oneOf: ['front', 'back', 'double'] },
-                    tabSize: { default: 4 },
-                    transparent: { default: !0 },
-                    value: { type: 'string' },
-                    whiteSpace: { default: 'normal', oneOf: ['normal', 'pre', 'nowrap'] },
-                    width: { type: 'number' },
-                    wrapCount: { type: 'number', default: 40 },
-                    wrapPixels: { type: 'number' },
-                    xOffset: { type: 'number', default: 0 },
-                    yOffset: { type: 'number', default: 0 },
-                    zOffset: { type: 'number', default: 0.001 },
-                  },
-                  init: function () {
-                    ;(this.shaderData = {}), (this.geometry = r()), this.createOrUpdateMaterial()
-                  },
-                  update: function (e) {
-                    var t = this.data,
-                      n = this.currentFont
-                    A[t.font]
-                      ? (this.texture = A[t.font])
-                      : ((this.texture = A[t.font] = new s.Texture()),
-                        (this.texture.anisotropy = p)),
-                      this.createOrUpdateMaterial(),
-                      e.font === t.font
-                        ? n && (this.updateGeometry(this.geometry, n), this.updateLayout())
-                        : this.updateFont()
-                  },
-                  remove: function () {
-                    this.geometry.dispose(),
-                      (this.geometry = null),
-                      this.el.removeObject3D(this.attrName),
-                      this.material.dispose(),
-                      (this.material = null),
-                      this.texture.dispose(),
-                      (this.texture = null),
-                      this.shaderObject && delete this.shaderObject
-                  },
-                  createOrUpdateMaterial: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.data,
-                      i = this.material,
-                      o = this.shaderData
-                    if (
-                      ((n = r.shader),
-                      -1 !== v.indexOf(r.font) || r.font.indexOf('-msdf.') >= 0
-                        ? (n = 'msdf')
-                        : r.font in m && -1 === v.indexOf(r.font) && (n = 'sdf'),
-                      (e = (this.shaderObject && this.shaderObject.name) !== n),
-                      (o.alphaTest = r.alphaTest),
-                      (o.color = r.color),
-                      (o.map = this.texture),
-                      (o.opacity = r.opacity),
-                      (o.side = x(r.side)),
-                      (o.transparent = r.transparent),
-                      (o.negate = r.negate),
-                      !e)
-                    )
-                      return (
-                        this.shaderObject.update(o),
-                        (i.transparent = o.transparent),
-                        void (i.side = o.side)
-                      )
-                    ;(t = _(this.el, n, o)),
-                      (this.material = t.material),
-                      (this.shaderObject = t.shader),
-                      (this.material.side = o.side),
-                      this.mesh && (this.mesh.material = this.material)
-                  },
-                  updateFont: function () {
-                    var e,
-                      t = this.data,
-                      n = this.el,
-                      r = this.geometry,
-                      i = this
-                    t.font || h('No font specified. Using the default font.'),
-                      this.mesh && (this.mesh.visible = !1),
-                      (e = this.lookupFont(t.font || g) || t.font),
-                      y
-                        .get(e, function () {
-                          return E(e, t.yOffset)
-                        })
-                        .then(function (o) {
-                          var a
-                          if (1 !== o.pages.length)
-                            throw new Error(
-                              'Currently only single-page bitmap fonts are supported.',
-                            )
-                          b[e] || (o.widthFactor = b[o] = S(o)),
-                            (i.currentFont = o),
-                            (a = i.getFontImageSrc()),
-                            y
-                              .get(a, function () {
-                                return M(a)
-                              })
-                              .then(function (e) {
-                                var a = i.texture
-                                ;(a.image = e),
-                                  (a.needsUpdate = !0),
-                                  (A[t.font] = a),
-                                  (i.texture = a),
-                                  i.initMesh(),
-                                  (i.currentFont = o),
-                                  i.updateGeometry(r, o),
-                                  i.updateLayout(),
-                                  (i.mesh.visible = !0),
-                                  n.emit('textfontset', { font: t.font, fontObj: o })
-                              })
-                              .catch(function (e) {
-                                c(e.message), c(e.stack)
-                              })
-                        })
-                        .catch(function (e) {
-                          c(e.message), c(e.stack)
-                        })
-                  },
-                  initMesh: function () {
-                    this.mesh ||
-                      ((this.mesh = new s.Mesh(this.geometry, this.material)),
-                      this.el.setObject3D(this.attrName, this.mesh))
-                  },
-                  getFontImageSrc: function () {
-                    if (this.data.fontImage) return this.data.fontImage
-                    var e = this.lookupFont(this.data.font || g) || this.data.font,
-                      t = this.currentFont.pages[0]
-                    return t.match(w) && 0 !== t.indexOf('http')
-                      ? e.replace(/(\.fnt)|(\.json)/, '.png')
-                      : s.LoaderUtils.extractUrlBase(e) + t
-                  },
-                  updateLayout: function () {
-                    var e,
-                      t,
-                      n,
-                      r,
-                      i,
-                      o,
-                      a,
-                      s,
-                      l,
-                      c = this.el,
-                      u = this.data,
-                      h = this.geometry,
-                      p = this.mesh
-                    if (p && h.layout) {
-                      if (
-                        ((n = c.getAttribute('geometry')),
-                        (r =
-                          (o =
-                            (a = u.width || (n && n.width) || d) /
-                            T(u.wrapPixels, u.wrapCount, this.currentFont.widthFactor)) *
-                          ((i = h.layout).height + i.descender)),
-                        n &&
-                          'plane' === n.primitive &&
-                          (n.width || c.setAttribute('geometry', 'width', a),
-                          n.height || c.setAttribute('geometry', 'height', r)),
-                        'left' === (e = 'align' === u.anchor ? u.align : u.anchor))
-                      )
-                        s = 0
-                      else if ('right' === e) s = -1 * i.width
-                      else {
-                        if ('center' !== e)
-                          throw new TypeError('Invalid text.anchor property value', e)
-                        s = (-1 * i.width) / 2
-                      }
-                      if ('bottom' === (t = u.baseline)) l = 0
-                      else if ('top' === t) l = -1 * i.height + i.ascender
-                      else {
-                        if ('center' !== t)
-                          throw new TypeError('Invalid text.baseline property value', t)
-                        l = (-1 * i.height) / 2
-                      }
-                      ;(p.position.x = s * o + u.xOffset),
-                        (p.position.y = l * o),
-                        (p.position.z = u.zOffset),
-                        p.scale.set(o, -1 * o, o)
-                    }
-                  },
-                  lookupFont: function (e) {
-                    return m[e]
-                  },
-                  updateGeometry: (function () {
-                    var e = {},
-                      t = {},
-                      n = /\\n/g,
-                      r = /\\t/g
-                    return function (i, o) {
-                      var a = this.data
-                      ;(t.font = o),
-                        (t.lineHeight =
-                          a.lineHeight && isFinite(a.lineHeight)
-                            ? a.lineHeight
-                            : o.common.lineHeight),
-                        (t.text = a.value.toString().replace(n, '\n').replace(r, '\t')),
-                        (t.width = T(a.wrapPixels, a.wrapCount, o.widthFactor)),
-                        i.update(l.extend(e, a, t))
-                    }
-                  })(),
-                })
-              },
-              {
-                '../core/component': 131,
-                '../core/shader': 141,
-                '../lib/three': 179,
-                '../utils/': 205,
-                'load-bmfont': 37,
-                'three-bmfont-text': 63,
-              },
-            ],
-            114: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/tracked-controls'),
-                  o = e('../constants').DEFAULT_CAMERA_HEIGHT,
-                  a = e('../lib/three'),
-                  s = e('../constants').DEFAULT_HANDEDNESS,
-                  l = { x: 0.175, y: -0.3, z: -0.03 },
-                  c = { x: 0, y: 0, z: -0.175 },
-                  u = { touches: [] },
-                  h = {
-                    AXISMOVE: 'axismove',
-                    BUTTONCHANGED: 'buttonchanged',
-                    BUTTONDOWN: 'buttondown',
-                    BUTTONUP: 'buttonup',
-                    TOUCHSTART: 'touchstart',
-                    TOUCHEND: 'touchend',
-                  }
-                t.exports.Component = r('tracked-controls-webvr', {
-                  schema: {
-                    autoHide: { default: !0 },
-                    controller: { default: 0 },
-                    id: { type: 'string', default: '' },
-                    hand: { type: 'string', default: '' },
-                    idPrefix: { type: 'string', default: '' },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !1 },
-                    headElement: { type: 'selector' },
-                  },
-                  init: function () {
-                    ;(this.axis = this.el.components['tracked-controls'].axis = [0, 0, 0]),
-                      (this.buttonStates = this.el.components['tracked-controls'].buttonStates =
-                        {}),
-                      (this.changedAxes = []),
-                      (this.targetControllerNumber = this.data.controller),
-                      (this.axisMoveEventDetail = { axis: this.axis, changed: this.changedAxes }),
-                      (this.deltaControllerPosition = new a.Vector3()),
-                      (this.controllerQuaternion = new a.Quaternion()),
-                      (this.controllerEuler = new a.Euler()),
-                      this.updateGamepad(),
-                      (this.buttonEventDetails = {})
-                  },
-                  tick: function (e, t) {
-                    var n = this.el.getObject3D('mesh')
-                    n && n.update && n.update(t / 1e3),
-                      this.updateGamepad(),
-                      this.updatePose(),
-                      this.updateButtons()
-                  },
-                  defaultUserHeight: function () {
-                    return o
-                  },
-                  getHeadElement: function () {
-                    return this.data.headElement || this.el.sceneEl.camera.el
-                  },
-                  updateGamepad: function () {
-                    var e = this.data,
-                      t = i.findMatchingControllerWebVR(
-                        this.system.controllers,
-                        e.id,
-                        e.idPrefix,
-                        e.hand,
-                        e.controller,
-                      )
-                    ;(this.controller = t),
-                      (this.el.components['tracked-controls'].controller = t),
-                      this.data.autoHide && (this.el.object3D.visible = !!this.controller)
-                  },
-                  applyArmModel: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i,
-                      o = this.controller,
-                      a = this.controllerEuler,
-                      u = this.controllerQuaternion,
-                      h = this.deltaControllerPosition
-                    ;(n = this.getHeadElement().object3D),
-                      (i = this.defaultUserHeight()),
-                      (r = o.pose),
-                      (t = (o ? o.hand : void 0) || s),
-                      e.copy(n.position),
-                      h.set(l.x * ('left' === t ? -1 : 'right' === t ? 1 : 0), l.y, l.z),
-                      h.multiplyScalar(i),
-                      h.applyAxisAngle(n.up, n.rotation.y),
-                      e.add(h),
-                      h.set(c.x, c.y, c.z),
-                      h.multiplyScalar(i),
-                      r.orientation ? u.fromArray(r.orientation) : u.copy(n.quaternion),
-                      a.setFromQuaternion(u),
-                      a.set(a.x, a.y, 0),
-                      h.applyEuler(a),
-                      e.add(h)
-                  },
-                  updatePose: function () {
-                    var e,
-                      t,
-                      n = this.controller,
-                      r = this.data,
-                      i = this.el.object3D,
-                      o = this.system.vrDisplay
-                    n &&
-                      ((e = n.pose).position
-                        ? i.position.fromArray(e.position)
-                        : r.armModel && this.applyArmModel(i.position),
-                      e.orientation && i.quaternion.fromArray(e.orientation),
-                      o &&
-                        e.position &&
-                        ((t = this.el.sceneEl.renderer.xr.getStandingMatrix()),
-                        i.matrix.compose(i.position, i.quaternion, i.scale),
-                        i.matrix.multiplyMatrices(t, i.matrix),
-                        i.matrix.decompose(i.position, i.quaternion, i.scale)),
-                      i.rotateX(this.data.orientationOffset.x * a.Math.DEG2RAD),
-                      i.rotateY(this.data.orientationOffset.y * a.Math.DEG2RAD),
-                      i.rotateZ(this.data.orientationOffset.z * a.Math.DEG2RAD))
-                  },
-                  updateButtons: function () {
-                    var e,
-                      t,
-                      n = this.controller
-                    if (n) {
-                      for (t = 0; t < n.buttons.length; ++t)
-                        this.buttonStates[t] ||
-                          (this.buttonStates[t] = { pressed: !1, touched: !1, value: 0 }),
-                          this.buttonEventDetails[t] ||
-                            (this.buttonEventDetails[t] = { id: t, state: this.buttonStates[t] }),
-                          (e = n.buttons[t]),
-                          this.handleButton(t, e)
-                      this.handleAxes()
-                    }
-                  },
-                  handleButton: function (e, t) {
-                    return (
-                      !!(
-                        this.handlePress(e, t) |
-                        this.handleTouch(e, t) |
-                        this.handleValue(e, t)
-                      ) && (this.el.emit(h.BUTTONCHANGED, this.buttonEventDetails[e], !1), !0)
-                    )
-                  },
-                  handleAxes: function () {
-                    var e,
-                      t = !1,
-                      n = this.controller.axes,
-                      r = this.axis,
-                      i = this.changedAxes
-                    for (
-                      this.changedAxes.splice(0, this.changedAxes.length), e = 0;
-                      e < n.length;
-                      ++e
-                    )
-                      i.push(r[e] !== n[e]), i[e] && (t = !0)
-                    if (!t) return !1
-                    for (this.axis.splice(0, this.axis.length), e = 0; e < n.length; e++)
-                      this.axis.push(n[e])
-                    return this.el.emit(h.AXISMOVE, this.axisMoveEventDetail, !1), !0
-                  },
-                  handlePress: function (e, t) {
-                    var n,
-                      r = this.buttonStates[e]
-                    return (
-                      t.pressed !== r.pressed &&
-                      ((n = t.pressed ? h.BUTTONDOWN : h.BUTTONUP),
-                      this.el.emit(n, this.buttonEventDetails[e], !1),
-                      (r.pressed = t.pressed),
-                      !0)
-                    )
-                  },
-                  handleTouch: function (e, t) {
-                    var n,
-                      r = this.buttonStates[e]
-                    return (
-                      t.touched !== r.touched &&
-                      ((n = t.touched ? h.TOUCHSTART : h.TOUCHEND),
-                      this.el.emit(n, this.buttonEventDetails[e], !1, u),
-                      (r.touched = t.touched),
-                      !0)
-                    )
-                  },
-                  handleValue: function (e, t) {
-                    var n = this.buttonStates[e]
-                    return t.value !== n.value && ((n.value = t.value), !0)
-                  },
-                })
-              },
-              {
-                '../constants': 123,
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            115: [
-              function (e, t, n) {
-                var r = e('../utils/tracked-controls'),
-                  i = e('../core/component').registerComponent,
-                  o = {
-                    AXISMOVE: 'axismove',
-                    BUTTONCHANGED: 'buttonchanged',
-                    BUTTONDOWN: 'buttondown',
-                    BUTTONUP: 'buttonup',
-                    TOUCHSTART: 'touchstart',
-                    TOUCHEND: 'touchend',
-                  }
-                t.exports.Component = i('tracked-controls-webxr', {
-                  schema: {
-                    id: { type: 'string', default: '' },
-                    hand: { type: 'string', default: '' },
-                    handTrackingEnabled: { default: !1 },
-                    index: { type: 'int', default: -1 },
-                    iterateControllerProfiles: { default: !1 },
-                  },
-                  init: function () {
-                    ;(this.updateController = this.updateController.bind(this)),
-                      (this.buttonEventDetails = {}),
-                      (this.buttonStates = this.el.components['tracked-controls'].buttonStates =
-                        {}),
-                      (this.axis = this.el.components['tracked-controls'].axis = [0, 0, 0]),
-                      (this.changedAxes = []),
-                      (this.axisMoveEventDetail = { axis: this.axis, changed: this.changedAxes })
-                  },
-                  update: function () {
-                    this.updateController()
-                  },
-                  play: function () {
-                    var e = this.el.sceneEl
-                    this.updateController(),
-                      e.addEventListener('controllersupdated', this.updateController)
-                  },
-                  pause: function () {
-                    this.el.sceneEl.removeEventListener('controllersupdated', this.updateController)
-                  },
-                  isControllerPresent: function (e) {
-                    return (
-                      !(!this.controller || this.controller.gamepad) &&
-                      ('none' === e.inputSource.handedness ||
-                        e.inputSource.handedness === this.data.hand)
-                    )
-                  },
-                  updateController: function () {
-                    ;(this.controller = r.findMatchingControllerWebXR(
-                      this.system.controllers,
-                      this.data.id,
-                      this.data.hand,
-                      this.data.index,
-                      this.data.iterateControllerProfiles,
-                      this.data.handTrackingEnabled,
-                    )),
-                      (this.el.components['tracked-controls'].controller = this.controller),
-                      this.data.autoHide && (this.el.object3D.visible = !!this.controller)
-                  },
-                  tick: function () {
-                    var e = this.el.sceneEl,
-                      t = this.controller,
-                      n = e.frame
-                    t &&
-                      e.frame &&
-                      this.system.referenceSpace &&
-                      (t.hand ||
-                        ((this.pose = n.getPose(t.targetRaySpace, this.system.referenceSpace)),
-                        this.updatePose(),
-                        this.updateButtons()))
-                  },
-                  updatePose: function () {
-                    var e = this.el.object3D,
-                      t = this.pose
-                    t &&
-                      ((e.matrix.elements = t.transform.matrix),
-                      e.matrix.decompose(e.position, e.rotation, e.scale))
-                  },
-                  updateButtons: function () {
-                    var e,
-                      t,
-                      n,
-                      r = this.controller
-                    if (r && r.gamepad) {
-                      for (n = r.gamepad, t = 0; t < n.buttons.length; ++t)
-                        this.buttonStates[t] ||
-                          (this.buttonStates[t] = { pressed: !1, touched: !1, value: 0 }),
-                          this.buttonEventDetails[t] ||
-                            (this.buttonEventDetails[t] = { id: t, state: this.buttonStates[t] }),
-                          (e = n.buttons[t]),
-                          this.handleButton(t, e)
-                      this.handleAxes()
-                    }
-                  },
-                  handleButton: function (e, t) {
-                    return (
-                      !!(
-                        this.handlePress(e, t) |
-                        this.handleTouch(e, t) |
-                        this.handleValue(e, t)
-                      ) && (this.el.emit(o.BUTTONCHANGED, this.buttonEventDetails[e], !1), !0)
-                    )
-                  },
-                  handleAxes: function () {
-                    var e,
-                      t = !1,
-                      n = this.controller.gamepad.axes,
-                      r = this.axis,
-                      i = this.changedAxes
-                    for (
-                      this.changedAxes.splice(0, this.changedAxes.length), e = 0;
-                      e < n.length;
-                      ++e
-                    )
-                      i.push(r[e] !== n[e]), i[e] && (t = !0)
-                    if (!t) return !1
-                    for (this.axis.splice(0, this.axis.length), e = 0; e < n.length; e++)
-                      this.axis.push(n[e])
-                    return this.el.emit(o.AXISMOVE, this.axisMoveEventDetail, !1), !0
-                  },
-                  handlePress: function (e, t) {
-                    var n,
-                      r = this.buttonStates[e]
-                    return (
-                      t.pressed !== r.pressed &&
-                      ((n = t.pressed ? o.BUTTONDOWN : o.BUTTONUP),
-                      this.el.emit(n, this.buttonEventDetails[e], !1),
-                      (r.pressed = t.pressed),
-                      !0)
-                    )
-                  },
-                  handleTouch: function (e, t) {
-                    var n,
-                      r = this.buttonStates[e]
-                    return (
-                      t.touched !== r.touched &&
-                      ((n = t.touched ? o.TOUCHSTART : o.TOUCHEND),
-                      this.el.emit(n, this.buttonEventDetails[e], !1),
-                      (r.touched = t.touched),
-                      !0)
-                    )
-                  },
-                  handleValue: function (e, t) {
-                    var n = this.buttonStates[e]
-                    return t.value !== n.value && ((n.value = t.value), !0)
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/tracked-controls': 214 },
-            ],
-            116: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent
-                t.exports.Component = r('tracked-controls', {
-                  schema: {
-                    autoHide: { default: !0 },
-                    controller: { default: -1 },
-                    id: { type: 'string', default: '' },
-                    hand: { type: 'string', default: '' },
-                    idPrefix: { type: 'string', default: '' },
-                    handTrackingEnabled: { default: !1 },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !1 },
-                    headElement: { type: 'selector' },
-                    iterateControllerProfiles: { default: !1 },
-                  },
-                  update: function () {
-                    var e = this.data,
-                      t = this.el
-                    t.sceneEl.hasWebXR
-                      ? t.setAttribute('tracked-controls-webxr', {
-                          id: e.id,
-                          hand: e.hand,
-                          index: e.controller,
-                          iterateControllerProfiles: e.iterateControllerProfiles,
-                          handTrackingEnabled: e.handTrackingEnabled,
-                        })
-                      : t.setAttribute('tracked-controls-webvr', e)
-                  },
-                })
-              },
-              { '../core/component': 131 },
-            ],
-            117: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../lib/three'),
-                  a = e('../utils/tracked-controls'),
-                  s = a.checkControllerPresentAndSetup,
-                  l = a.emitIfAxesChanged,
-                  c = a.onButtonEvent,
-                  u = 'https://cdn.aframe.io/controllers/valve/index/valve-index-',
-                  h = { left: u + 'left.glb', right: u + 'right.glb' },
-                  d = 'valve',
-                  p = e('../utils/').device.isWebXRAvailable,
-                  f = {
-                    left: {
-                      x: -0.00023692678902063457,
-                      y: 0.04724540367838371,
-                      z: -0.061959880395271096,
-                    },
-                    right: {
-                      x: 0.002471558599671131,
-                      y: 0.055765208987076195,
-                      z: -0.061068168708348844,
-                    },
-                  },
-                  m = { left: { x: 0, y: -0.05, z: 0.06 }, right: { x: 0, y: -0.05, z: 0.06 } },
-                  v = {
-                    left: {
-                      _x: 0.692295102620542,
-                      _y: -0.0627618864318427,
-                      _z: -0.06265893149611756,
-                      _order: 'XYZ',
-                    },
-                    right: {
-                      _x: 0.6484021229942998,
-                      _y: -0.032563619881892894,
-                      _z: -0.1327973171917482,
-                      _order: 'XYZ',
-                    },
-                  },
-                  g = {
-                    left: { _x: Math.PI / 3, _y: 0, _z: 0, _order: 'XYZ' },
-                    right: { _x: Math.PI / 3, _y: 0, _z: 0, _order: 'XYZ' },
-                  },
-                  y = p ? g : v,
-                  b = p ? m : f
-                t.exports.Component = r('valve-index-controls', {
-                  schema: {
-                    hand: { default: 'left' },
-                    buttonColor: { type: 'color', default: '#FAFAFA' },
-                    buttonHighlightColor: { type: 'color', default: '#22D1EE' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                  },
-                  mapping: {
-                    axes: { trackpad: [0, 1], thumbstick: [2, 3] },
-                    buttons: ['trigger', 'grip', 'trackpad', 'thumbstick', 'abutton'],
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        c(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        c(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        c(t.detail.id, 'touchend', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        c(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.previousButtonValues = {}),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods()
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    var e = this.data,
-                      t = 'right' === e.hand ? 0 : 'left' === e.hand ? 1 : 2
-                    s(this, d, { index: t, iterateControllerProfiles: !0, hand: e.hand })
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      idPrefix: d,
-                      controller: 'right' === t.hand ? 1 : 'left' === t.hand ? 0 : 2,
-                      hand: t.hand,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.loadModel()
-                  },
-                  loadModel: function () {
-                    var e = this.data
-                    e.model && this.el.setAttribute('gltf-model', '' + h[e.hand])
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onButtonChanged: function (e) {
-                    var t,
-                      n = this.mapping.buttons[e.detail.id],
-                      r = this.buttonMeshes
-                    n &&
-                      ('trigger' === n &&
-                        ((t = e.detail.state.value),
-                        r &&
-                          r.trigger &&
-                          (r.trigger.rotation.x =
-                            this.triggerOriginalRotationX - t * (Math.PI / 40))),
-                      this.el.emit(n + 'changed', e.detail.state))
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model,
-                      r = this
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).grip = {
-                        left: n.getObjectByName('leftgrip'),
-                        right: n.getObjectByName('rightgrip'),
-                      }),
-                      (t.menu = n.getObjectByName('menubutton')),
-                      (t.system = n.getObjectByName('systembutton')),
-                      (t.trackpad = n.getObjectByName('touchpad')),
-                      (t.trigger = n.getObjectByName('trigger')),
-                      (this.triggerOriginalRotationX = t.trigger.rotation.x),
-                      Object.keys(t).forEach(function (e) {
-                        r.setButtonColor(e, r.data.buttonColor)
-                      }),
-                      n.position.copy(b[this.data.hand]),
-                      n.rotation.copy(y[this.data.hand]),
-                      this.el.emit('controllermodelready', {
-                        name: 'valve-index-controlls',
-                        model: this.data.model,
-                        rayOrigin: new o.Vector3(0, 0, 0),
-                      }))
-                  },
-                  onAxisMoved: function (e) {
-                    l(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    var n
-                    this.data.model &&
-                      (-1 !== t.indexOf('touch') ||
-                        ((n = 'up' === t ? this.data.buttonColor : this.data.buttonHighlightColor),
-                        this.setButtonColor(e, n)))
-                  },
-                  setButtonColor: function (e, t) {},
-                })
-              },
-              {
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            118: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent
-                t.exports.Component = r('visible', {
-                  schema: { default: !0 },
-                  update: function () {
-                    this.el.object3D.visible = this.data
-                  },
-                })
-              },
-              { '../core/component': 131 },
-            ],
-            119: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = 'https://cdn.aframe.io/controllers/vive/vr_controller_vive.obj',
-                  u = 'https://cdn.aframe.io/controllers/vive/vr_controller_vive.mtl',
-                  h = e('../utils/').device.isWebXRAvailable,
-                  d = h ? 'htc-vive-controller-mv' : 'OpenVR ',
-                  p = h
-                    ? {
-                        axes: { thumbstick: [0, 1] },
-                        buttons: ['trigger', 'grip', 'trackpad', 'none', 'menu'],
-                      }
-                    : {
-                        axes: { trackpad: [0, 1] },
-                        buttons: ['trackpad', 'trigger', 'grip', 'menu', 'system'],
-                      }
-                t.exports.Component = r('vive-controls', {
-                  schema: {
-                    hand: { default: 'left' },
-                    buttonColor: { type: 'color', default: '#FAFAFA' },
-                    buttonHighlightColor: { type: 'color', default: '#22D1EE' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                  },
-                  mapping: p,
-                  init: function () {
-                    var e = this
-                    ;(this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.previousButtonValues = {}),
-                      (this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      this.bindMethods()
-                  },
-                  update: function () {
-                    var e = this.data
-                    this.controllerIndex = 'right' === e.hand ? 0 : 'left' === e.hand ? 1 : 2
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    var e = this.data
-                    a(this, d, { index: this.controllerIndex, hand: e.hand })
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      idPrefix: d,
-                      hand: t.hand,
-                      controller: this.controllerIndex,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('obj-model', { obj: c, mtl: u })
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onButtonChanged: function (e) {
-                    var t,
-                      n = this.mapping.buttons[e.detail.id],
-                      r = this.buttonMeshes
-                    n &&
-                      ('trigger' === n &&
-                        ((t = e.detail.state.value),
-                        r && r.trigger && (r.trigger.rotation.x = -t * (Math.PI / 12))),
-                      this.el.emit(n + 'changed', e.detail.state))
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model,
-                      r = this
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).grip = {
-                        left: n.getObjectByName('leftgrip'),
-                        right: n.getObjectByName('rightgrip'),
-                      }),
-                      (t.menu = n.getObjectByName('menubutton')),
-                      (t.system = n.getObjectByName('systembutton')),
-                      (t.trackpad = n.getObjectByName('touchpad')),
-                      (t.trigger = n.getObjectByName('trigger')),
-                      Object.keys(t).forEach(function (e) {
-                        r.setButtonColor(e, r.data.buttonColor)
-                      }),
-                      n.position.set(0, -0.015, 0.04))
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    var n
-                    this.data.model &&
-                      (-1 !== t.indexOf('touch') ||
-                        ((n = 'up' === t ? this.data.buttonColor : this.data.buttonHighlightColor),
-                        this.setButtonColor(e, n)))
-                  },
-                  setButtonColor: function (e, t) {
-                    var n = this.buttonMeshes,
-                      r = this.rendererSystem
-                    if (n) {
-                      if ('grip' === e)
-                        return (
-                          n.grip.left.material.color.set(t),
-                          n.grip.right.material.color.set(t),
-                          r.applyColorCorrection(n.grip.left.material.color),
-                          void r.applyColorCorrection(n.grip.right.material.color)
-                        )
-                      n[e].material.color.set(t), r.applyColorCorrection(n[e].material.color)
-                    }
-                  },
-                })
-              },
-              {
-                '../core/component': 131,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            120: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = 'HTC Vive Focus',
-                  u =
-                    'https://cdn.aframe.io/controllers/vive/focus-controller/focus-controller.gltf'
-                t.exports.Component = r('vive-focus-controls', {
-                  schema: {
-                    hand: { default: '' },
-                    buttonTouchedColor: { type: 'color', default: '#BBBBBB' },
-                    buttonHighlightColor: { type: 'color', default: '#7A7A7A' },
-                    model: { default: !0 },
-                    orientationOffset: { type: 'vec3' },
-                    armModel: { default: !0 },
-                  },
-                  mapping: { axes: { trackpad: [0, 1] }, buttons: ['trackpad', 'trigger'] },
-                  bindMethods: function () {
-                    ;(this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.removeControllersUpdateListener = i(
-                        this.removeControllersUpdateListener,
-                        this,
-                      )),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      this.bindMethods()
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !0),
-                      this.addControllersUpdateListener()
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      (this.controllerEventsActive = !1),
-                      this.removeControllersUpdateListener()
-                  },
-                  checkIfControllerPresent: function () {
-                    a(this, c, this.data.hand ? { hand: this.data.hand } : {})
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.el,
-                      t = this.data
-                    e.setAttribute('tracked-controls', {
-                      armModel: t.armModel,
-                      idPrefix: c,
-                      orientationOffset: t.orientationOffset,
-                    }),
-                      this.data.model && this.el.setAttribute('gltf-model', u)
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n = e.detail.model
-                    this.data.model &&
-                      (((t = this.buttonMeshes = {}).trigger = n.getObjectByName('BumperKey')),
-                      (t.triggerPressed = n.getObjectByName('BumperKey_Press')),
-                      t.triggerPressed && (t.triggerPressed.visible = !1),
-                      (t.trackpad = n.getObjectByName('TouchPad')),
-                      (t.trackpadPressed = n.getObjectByName('TouchPad_Press')),
-                      t.trackpadPressed && (t.trackpadPressed.visible = !1))
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t && this.el.emit(t + 'changed', e.detail.state)
-                  },
-                  onAxisMoved: function (e) {
-                    s(this, this.mapping.axes, e)
-                  },
-                  updateModel: function (e, t) {
-                    this.data.model && this.updateButtonModel(e, t)
-                  },
-                  updateButtonModel: function (e, t) {
-                    var n = this.buttonMeshes,
-                      r = e + 'Pressed'
-                    if (n && n[e] && n[r]) {
-                      var i
-                      switch (t) {
-                        case 'down':
-                          i = this.data.buttonHighlightColor
-                          break
-                        case 'touchstart':
-                          i = this.data.buttonTouchedColor
-                      }
-                      i && n[r].material.color.set(i), (n[r].visible = !!i), (n[e].visible = !i)
-                    }
-                  },
-                })
-              },
-              { '../core/component': 131, '../utils/bind': 199, '../utils/tracked-controls': 214 },
-            ],
-            121: [
-              function (e, t, n) {
-                var r = e('../constants').keyboardevent.KEYCODE_TO_CODE,
-                  i = e('../core/component').registerComponent,
-                  o = e('../lib/three'),
-                  a = e('../utils/'),
-                  s = a.bind,
-                  l = a.shouldCaptureKeyEvent,
-                  c = 1e-5,
-                  u = 0.2,
-                  h = [
-                    'KeyW',
-                    'KeyA',
-                    'KeyS',
-                    'KeyD',
-                    'ArrowUp',
-                    'ArrowLeft',
-                    'ArrowRight',
-                    'ArrowDown',
-                  ]
-                function d(e) {
-                  var t
-                  for (t in e) return !1
-                  return !0
-                }
-                t.exports.Component = i('wasd-controls', {
-                  schema: {
-                    acceleration: { default: 65 },
-                    adAxis: { default: 'x', oneOf: ['x', 'y', 'z'] },
-                    adEnabled: { default: !0 },
-                    adInverted: { default: !1 },
-                    enabled: { default: !0 },
-                    fly: { default: !1 },
-                    wsAxis: { default: 'z', oneOf: ['x', 'y', 'z'] },
-                    wsEnabled: { default: !0 },
-                    wsInverted: { default: !1 },
-                  },
-                  init: function () {
-                    ;(this.keys = {}),
-                      (this.easing = 1.1),
-                      (this.velocity = new o.Vector3()),
-                      (this.onBlur = s(this.onBlur, this)),
-                      (this.onContextMenu = s(this.onContextMenu, this)),
-                      (this.onFocus = s(this.onFocus, this)),
-                      (this.onKeyDown = s(this.onKeyDown, this)),
-                      (this.onKeyUp = s(this.onKeyUp, this)),
-                      (this.onVisibilityChange = s(this.onVisibilityChange, this)),
-                      this.attachVisibilityEventListeners()
-                  },
-                  tick: function (e, t) {
-                    var n = this.data,
-                      r = this.el,
-                      i = this.velocity
-                    ;(i[n.adAxis] || i[n.wsAxis] || !d(this.keys)) &&
-                      ((t /= 1e3),
-                      this.updateVelocity(t),
-                      (i[n.adAxis] || i[n.wsAxis]) &&
-                        r.object3D.position.add(this.getMovementVector(t)))
-                  },
-                  remove: function () {
-                    this.removeKeyEventListeners(), this.removeVisibilityEventListeners()
-                  },
-                  play: function () {
-                    this.attachKeyEventListeners()
-                  },
-                  pause: function () {
-                    ;(this.keys = {}), this.removeKeyEventListeners()
-                  },
-                  updateVelocity: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i,
-                      o,
-                      a = this.data,
-                      s = this.keys,
-                      l = this.velocity
-                    if (((n = a.adAxis), (i = a.wsAxis), e > u)) return (l[n] = 0), void (l[i] = 0)
-                    var h = Math.pow(1 / this.easing, 60 * e)
-                    0 !== l[n] && (l[n] = l[n] * h),
-                      0 !== l[i] && (l[i] = l[i] * h),
-                      Math.abs(l[n]) < c && (l[n] = 0),
-                      Math.abs(l[i]) < c && (l[i] = 0),
-                      a.enabled &&
-                        ((t = a.acceleration),
-                        a.adEnabled &&
-                          ((r = a.adInverted ? -1 : 1),
-                          (s.KeyA || s.ArrowLeft) && (l[n] -= r * t * e),
-                          (s.KeyD || s.ArrowRight) && (l[n] += r * t * e)),
-                        a.wsEnabled &&
-                          ((o = a.wsInverted ? -1 : 1),
-                          (s.KeyW || s.ArrowUp) && (l[i] -= o * t * e),
-                          (s.KeyS || s.ArrowDown) && (l[i] += o * t * e)))
-                  },
-                  getMovementVector: (function () {
-                    var e = new o.Vector3(0, 0, 0),
-                      t = new o.Euler(0, 0, 0, 'YXZ')
-                    return function (n) {
-                      var r,
-                        i = this.el.getAttribute('rotation'),
-                        a = this.velocity
-                      return (
-                        e.copy(a),
-                        e.multiplyScalar(n),
-                        i
-                          ? ((r = this.data.fly ? i.x : 0),
-                            t.set(o.Math.degToRad(r), o.Math.degToRad(i.y), 0),
-                            e.applyEuler(t),
-                            e)
-                          : e
-                      )
-                    }
-                  })(),
-                  attachVisibilityEventListeners: function () {
-                    ;(window.oncontextmenu = this.onContextMenu),
-                      window.addEventListener('blur', this.onBlur),
-                      window.addEventListener('focus', this.onFocus),
-                      document.addEventListener('visibilitychange', this.onVisibilityChange)
-                  },
-                  removeVisibilityEventListeners: function () {
-                    window.removeEventListener('blur', this.onBlur),
-                      window.removeEventListener('focus', this.onFocus),
-                      document.removeEventListener('visibilitychange', this.onVisibilityChange)
-                  },
-                  attachKeyEventListeners: function () {
-                    window.addEventListener('keydown', this.onKeyDown),
-                      window.addEventListener('keyup', this.onKeyUp)
-                  },
-                  removeKeyEventListeners: function () {
-                    window.removeEventListener('keydown', this.onKeyDown),
-                      window.removeEventListener('keyup', this.onKeyUp)
-                  },
-                  onContextMenu: function () {
-                    for (var e = Object.keys(this.keys), t = 0; t < e.length; t++)
-                      delete this.keys[e[t]]
-                  },
-                  onBlur: function () {
-                    this.pause()
-                  },
-                  onFocus: function () {
-                    this.play()
-                  },
-                  onVisibilityChange: function () {
-                    document.hidden ? this.onBlur() : this.onFocus()
-                  },
-                  onKeyDown: function (e) {
-                    var t
-                    l(e) &&
-                      ((t = e.code || r[e.keyCode]), -1 !== h.indexOf(t) && (this.keys[t] = !0))
-                  },
-                  onKeyUp: function (e) {
-                    var t
-                    ;(t = e.code || r[e.keyCode]), delete this.keys[t]
-                  },
-                })
-              },
-              {
-                '../constants': 123,
-                '../core/component': 131,
-                '../lib/three': 179,
-                '../utils/': 205,
-              },
-            ],
-            122: [
-              function (e, t, n) {
-                var r = e('../core/component').registerComponent,
-                  i = e('../utils/bind'),
-                  o = e('../utils/tracked-controls'),
-                  a = o.checkControllerPresentAndSetup,
-                  s = o.emitIfAxesChanged,
-                  l = o.onButtonEvent,
-                  c = e('../utils/'),
-                  u = c.debug('components:windows-motion-controls:debug'),
-                  h = c.debug('components:windows-motion-controls:warn'),
-                  d = e('../constants').DEFAULT_HANDEDNESS,
-                  p = 'https://cdn.aframe.io/controllers/microsoft/',
-                  f = { left: 'left.glb', right: 'right.glb', default: 'universal.glb' },
-                  m = e('../utils/').device.isWebXRAvailable,
-                  v = /([0-9a-zA-Z]+-[0-9a-zA-Z]+)$/,
-                  g = m
-                    ? 'windows-mixed-reality'
-                    : 'Spatial Controller (Spatial Interaction Source) ',
-                  y = m
-                    ? {
-                        axes: { touchpad: [0, 1], thumbstick: [2, 3] },
-                        buttons: ['trigger', 'squeeze', 'touchpad', 'thumbstick', 'menu'],
-                        axisMeshNames: [
-                          'TOUCHPAD_TOUCH_X',
-                          'TOUCHPAD_TOUCH_X',
-                          'THUMBSTICK_X',
-                          'THUMBSTICK_Y',
-                        ],
-                        buttonMeshNames: {
-                          trigger: 'SELECT',
-                          menu: 'MENU',
-                          squeeze: 'GRASP',
-                          thumbstick: 'THUMBSTICK_PRESS',
-                          touchpad: 'TOUCHPAD_PRESS',
-                        },
-                        pointingPoseMeshName: 'POINTING_POSE',
-                      }
-                    : {
-                        axes: { thumbstick: [0, 1], trackpad: [2, 3] },
-                        buttons: ['thumbstick', 'trigger', 'grip', 'menu', 'trackpad'],
-                        axisMeshNames: [
-                          'THUMBSTICK_X',
-                          'THUMBSTICK_Y',
-                          'TOUCHPAD_TOUCH_X',
-                          'TOUCHPAD_TOUCH_Y',
-                        ],
-                        buttonMeshNames: {
-                          trigger: 'SELECT',
-                          menu: 'MENU',
-                          grip: 'GRASP',
-                          thumbstick: 'THUMBSTICK_PRESS',
-                          trackpad: 'TOUCHPAD_PRESS',
-                        },
-                        pointingPoseMeshName: 'POINTING_POSE',
-                      }
-                t.exports.Component = r('windows-motion-controls', {
-                  schema: {
-                    hand: { default: d },
-                    pair: { default: 0 },
-                    model: { default: !0 },
-                    hideDisconnected: { default: !0 },
-                  },
-                  mapping: y,
-                  bindMethods: function () {
-                    ;(this.onModelError = i(this.onModelError, this)),
-                      (this.onModelLoaded = i(this.onModelLoaded, this)),
-                      (this.onControllersUpdate = i(this.onControllersUpdate, this)),
-                      (this.checkIfControllerPresent = i(this.checkIfControllerPresent, this)),
-                      (this.onAxisMoved = i(this.onAxisMoved, this))
-                  },
-                  init: function () {
-                    var e = this,
-                      t = this.el
-                    ;(this.onButtonChanged = i(this.onButtonChanged, this)),
-                      (this.onButtonDown = function (t) {
-                        l(t.detail.id, 'down', e)
-                      }),
-                      (this.onButtonUp = function (t) {
-                        l(t.detail.id, 'up', e)
-                      }),
-                      (this.onButtonTouchStart = function (t) {
-                        l(t.detail.id, 'touchstart', e)
-                      }),
-                      (this.onButtonTouchEnd = function (t) {
-                        l(t.detail.id, 'touchend', e)
-                      }),
-                      (this.onControllerConnected = function () {
-                        e.setModelVisibility(!0)
-                      }),
-                      (this.onControllerDisconnected = function () {
-                        e.setModelVisibility(!1)
-                      }),
-                      (this.controllerPresent = !1),
-                      (this.lastControllerCheck = 0),
-                      (this.previousButtonValues = {}),
-                      this.bindMethods(),
-                      (this.loadedMeshInfo = { buttonMeshes: null, axisMeshes: null }),
-                      (this.rayOrigin = {
-                        origin: new THREE.Vector3(),
-                        direction: new THREE.Vector3(0, 0, -1),
-                        createdFromMesh: !1,
-                      }),
-                      t.addEventListener('controllerconnected', this.onControllerConnected),
-                      t.addEventListener('controllerdisconnected', this.onControllerDisconnected)
-                  },
-                  addEventListeners: function () {
-                    var e = this.el
-                    e.addEventListener('buttonchanged', this.onButtonChanged),
-                      e.addEventListener('buttondown', this.onButtonDown),
-                      e.addEventListener('buttonup', this.onButtonUp),
-                      e.addEventListener('touchstart', this.onButtonTouchStart),
-                      e.addEventListener('touchend', this.onButtonTouchEnd),
-                      e.addEventListener('axismove', this.onAxisMoved),
-                      e.addEventListener('model-error', this.onModelError),
-                      e.addEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !0)
-                  },
-                  removeEventListeners: function () {
-                    var e = this.el
-                    e.removeEventListener('buttonchanged', this.onButtonChanged),
-                      e.removeEventListener('buttondown', this.onButtonDown),
-                      e.removeEventListener('buttonup', this.onButtonUp),
-                      e.removeEventListener('touchstart', this.onButtonTouchStart),
-                      e.removeEventListener('touchend', this.onButtonTouchEnd),
-                      e.removeEventListener('axismove', this.onAxisMoved),
-                      e.removeEventListener('model-error', this.onModelError),
-                      e.removeEventListener('model-loaded', this.onModelLoaded),
-                      (this.controllerEventsActive = !1)
-                  },
-                  checkIfControllerPresent: function () {
-                    a(this, g, {
-                      hand: this.data.hand,
-                      index: this.data.pair,
-                      iterateControllerProfiles: !0,
-                    })
-                  },
-                  play: function () {
-                    this.checkIfControllerPresent(), this.addControllersUpdateListener()
-                  },
-                  pause: function () {
-                    this.removeEventListeners(), this.removeControllersUpdateListener()
-                  },
-                  updateControllerModel: function () {
-                    if (this.data.model && !this.rayOrigin.createdFromMesh) {
-                      var e = this.createControllerModelUrl()
-                      this.loadModel(e)
-                    } else this.modelReady()
-                  },
-                  createControllerModelUrl: function (e) {
-                    var t,
-                      n = this.el.components['tracked-controls'],
-                      r = n ? n.controller : null,
-                      i = 'default',
-                      o = this.data.hand
-                    if (r && !window.hasNativeWebXRImplementation && ((o = r.hand), !e)) {
-                      var a = r.id.match(v)
-                      i = (a && a[0]) || i
-                    }
-                    return (t = f[o] || f.default), p + i + '/' + t
-                  },
-                  injectTrackedControls: function () {
-                    var e = this.data
-                    this.el.setAttribute('tracked-controls', {
-                      idPrefix: g,
-                      controller: e.pair,
-                      hand: e.hand,
-                      armModel: !1,
-                    }),
-                      this.updateControllerModel()
-                  },
-                  addControllersUpdateListener: function () {
-                    this.el.sceneEl.addEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  removeControllersUpdateListener: function () {
-                    this.el.sceneEl.removeEventListener(
-                      'controllersupdated',
-                      this.onControllersUpdate,
-                      !1,
-                    )
-                  },
-                  onControllersUpdate: function () {
-                    this.checkIfControllerPresent()
-                  },
-                  onModelError: function (e) {
-                    var t = this.createControllerModelUrl(!0)
-                    e.detail.src !== t
-                      ? (h(
-                          'Failed to load controller model for device, attempting to load default.',
-                        ),
-                        this.loadModel(t))
-                      : h('Failed to load default controller model.')
-                  },
-                  loadModel: function (e) {
-                    this.el.setAttribute('gltf-model', 'url(' + e + ')')
-                  },
-                  onModelLoaded: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i,
-                      o = (this.controllerModel = e.detail.model),
-                      a = this.loadedMeshInfo
-                    if ((u('Processing model'), (a.buttonMeshes = {}), (a.axisMeshes = {}), o)) {
-                      for (t = 0; t < this.mapping.buttons.length; t++)
-                        (n = this.mapping.buttonMeshNames[this.mapping.buttons[t]])
-                          ? (r = o.getObjectByName(n))
-                            ? (i = {
-                                index: t,
-                                value: s(r, 'VALUE'),
-                                pressed: s(r, 'PRESSED'),
-                                unpressed: s(r, 'UNPRESSED'),
-                              }).value &&
-                              i.pressed &&
-                              i.unpressed
-                              ? (a.buttonMeshes[this.mapping.buttons[t]] = i)
-                              : h(
-                                  'Missing button submesh under mesh with name: ' +
-                                    n +
-                                    '(VALUE: ' +
-                                    !!i.value +
-                                    ', PRESSED: ' +
-                                    !!i.pressed +
-                                    ', UNPRESSED:' +
-                                    !!i.unpressed +
-                                    ')',
-                                )
-                            : h('Missing button mesh with name: ' + n)
-                          : u(
-                              'Skipping unknown button at index: ' +
-                                t +
-                                ' with mapped name: ' +
-                                this.mapping.buttons[t],
-                            )
-                      for (t = 0; t < this.mapping.axisMeshNames.length; t++)
-                        (n = this.mapping.axisMeshNames[t])
-                          ? (r = o.getObjectByName(n))
-                            ? (i = {
-                                index: t,
-                                value: s(r, 'VALUE'),
-                                min: s(r, 'MIN'),
-                                max: s(r, 'MAX'),
-                              }).value &&
-                              i.min &&
-                              i.max
-                              ? (a.axisMeshes[t] = i)
-                              : h(
-                                  'Missing axis submesh under mesh with name: ' +
-                                    n +
-                                    '(VALUE: ' +
-                                    !!i.value +
-                                    ', MIN: ' +
-                                    !!i.min +
-                                    ', MAX:' +
-                                    !!i.max +
-                                    ')',
-                                )
-                            : h('Missing axis mesh with name: ' + n)
-                          : u('Skipping unknown axis at index: ' + t)
-                      this.calculateRayOriginFromMesh(o), this.setModelVisibility()
-                    }
-                    function s(e, t) {
-                      for (var n = 0, r = e.children.length; n < r; n++) {
-                        var i = e.children[n]
-                        if (i && i.name === t) return i
-                      }
-                    }
-                    u('Model load complete.')
-                  },
-                  calculateRayOriginFromMesh: (function () {
-                    var e = new THREE.Quaternion()
-                    return function (t) {
-                      var n
-                      if (
-                        (this.rayOrigin.origin.set(0, 0, 0),
-                        this.rayOrigin.direction.set(0, 0, -1),
-                        (this.rayOrigin.createdFromMesh = !0),
-                        (n = t.getObjectByName(this.mapping.pointingPoseMeshName)))
-                      ) {
-                        var r = t.parent
-                        r && ((t.parent = null), t.updateMatrixWorld(!0), (t.parent = r)),
-                          n.getWorldPosition(this.rayOrigin.origin),
-                          n.getWorldQuaternion(e),
-                          this.rayOrigin.direction.applyQuaternion(e),
-                          r && t.updateMatrixWorld(!0)
-                      } else u('Mesh does not contain pointing origin data, defaulting to none.')
-                      this.modelReady()
-                    }
-                  })(),
-                  lerpAxisTransform: (function () {
-                    var e = new THREE.Quaternion()
-                    return function (t, n) {
-                      var r = this.loadedMeshInfo.axisMeshes[t]
-                      if (r) {
-                        var i = r.min,
-                          o = r.max,
-                          a = r.value,
-                          s = 0.5 * n + 0.5
-                        a.setRotationFromQuaternion(e.copy(i.quaternion).slerp(o.quaternion, s)),
-                          a.position.lerpVectors(i.position, o.position, s)
-                      }
-                    }
-                  })(),
-                  lerpButtonTransform: (function () {
-                    var e = new THREE.Quaternion()
-                    return function (t, n) {
-                      var r = this.loadedMeshInfo.buttonMeshes[t]
-                      if (r) {
-                        var i = r.unpressed,
-                          o = r.pressed,
-                          a = r.value
-                        a.setRotationFromQuaternion(e.copy(i.quaternion).slerp(o.quaternion, n)),
-                          a.position.lerpVectors(i.position, o.position, n)
-                      }
-                    }
-                  })(),
-                  modelReady: function () {
-                    this.el.emit('controllermodelready', {
-                      name: 'windows-motion-controls',
-                      model: this.data.model,
-                      rayOrigin: this.rayOrigin,
-                    })
-                  },
-                  onButtonChanged: function (e) {
-                    var t = this.mapping.buttons[e.detail.id]
-                    t &&
-                      (this.loadedMeshInfo &&
-                        this.loadedMeshInfo.buttonMeshes &&
-                        this.lerpButtonTransform(t, e.detail.state.value),
-                      this.el.emit(t + 'changed', e.detail.state))
-                  },
-                  onAxisMoved: function (e) {
-                    var t = this.mapping.axisMeshNames.length
-                    if (this.loadedMeshInfo && this.loadedMeshInfo.axisMeshes)
-                      for (var n = 0; n < t; n++) this.lerpAxisTransform(n, e.detail.axis[n] || 0)
-                    s(this, this.mapping.axes, e)
-                  },
-                  setModelVisibility: function (e) {
-                    var t = this.el.getObject3D('mesh')
-                    ;(e = void 0 !== e ? e : this.modelVisible),
-                      (this.modelVisible = e),
-                      t && (t.visible = e)
-                  },
-                })
-              },
-              {
-                '../constants': 123,
-                '../core/component': 131,
-                '../utils/': 205,
-                '../utils/bind': 199,
-                '../utils/tracked-controls': 214,
-              },
-            ],
-            123: [
-              function (e, t, n) {
-                t.exports = {
-                  AFRAME_INJECTED: 'aframe-injected',
-                  DEFAULT_CAMERA_HEIGHT: 1.6,
-                  DEFAULT_HANDEDNESS: 'right',
-                  keyboardevent: e('./keyboardevent'),
-                }
-              },
-              { './keyboardevent': 124 },
-            ],
-            124: [
-              function (e, t, n) {
-                t.exports = {
-                  KEYCODE_TO_CODE: {
-                    38: 'ArrowUp',
-                    37: 'ArrowLeft',
-                    40: 'ArrowDown',
-                    39: 'ArrowRight',
-                    87: 'KeyW',
-                    65: 'KeyA',
-                    83: 'KeyS',
-                    68: 'KeyD',
-                  },
-                }
-              },
-              {},
-            ],
-            125: [
-              function (e, t, n) {
-                var r = e('./a-node'),
-                  i = e('../utils/bind'),
-                  o = e('../utils/debug'),
-                  a = e('./a-register-element').registerElement,
-                  s = e('../lib/three'),
-                  l = new s.FileLoader(),
-                  c = o('core:a-assets:warn')
-                function u(e) {
-                  if (e.hasAttribute('autoplay') || 'auto' === e.getAttribute('preload'))
-                    return new Promise(function (t, n) {
-                      if (4 === e.readyState) return t()
-                      if (e.error) return n()
-                      function r() {
-                        for (var n = 0, r = 0; r < e.buffered.length; r++)
-                          n += e.buffered.end(r) - e.buffered.start(r)
-                        n >= e.duration &&
-                          ('VIDEO' === e.tagName && (s.Cache.files[e.getAttribute('src')] = e), t())
-                      }
-                      e.addEventListener('loadeddata', r, !1),
-                        e.addEventListener('progress', r, !1),
-                        e.addEventListener('error', n, !1)
-                    })
-                }
-                function h(e) {
-                  var t = d(e)
-                  return (
-                    t.tagName &&
-                      'video' === t.tagName.toLowerCase() &&
-                      (t.setAttribute('playsinline', ''), t.setAttribute('webkit-playsinline', '')),
-                    t !== e && (e.parentNode.appendChild(t), e.parentNode.removeChild(e)),
-                    t
-                  )
-                }
-                function d(e) {
-                  var t
-                  if (e.hasAttribute('crossorigin')) return e
-                  if (null !== (t = e.getAttribute('src'))) {
-                    if (-1 === t.indexOf('://')) return e
-                    if (p(t) === window.location.host) return e
-                  }
-                  return (
-                    c(
-                      'Cross-origin element (e.g., <img>) was requested without `crossorigin` set. A-Frame will re-request the asset with `crossorigin` attribute set. Please set `crossorigin` on the element (e.g., <img crossorigin="anonymous">)',
-                      t,
-                    ),
-                    (e.crossOrigin = 'anonymous'),
-                    e.cloneNode(!0)
-                  )
-                }
-                function p(e) {
-                  var t = e.indexOf('://') > -1 ? e.split('/')[2] : e.split('/')[0]
-                  return t.substring(0, t.indexOf(':'))
-                }
-                function f(e) {
-                  var t = m(e),
-                    n = t.lastIndexOf('.')
-                  return n >= 0 && '.glb' === t.slice(n, e.search(/\?|#|$/))
-                    ? 'arraybuffer'
-                    : 'text'
-                }
-                function m(e) {
-                  var t = document.createElement('a')
-                  t.href = e
-                  var n = t.search.replace(/^\?/, ''),
-                    r = e.replace(n, '').replace('?', '')
-                  return r.substring(r.lastIndexOf('/') + 1)
-                }
-                ;(t.exports = a('a-assets', {
-                  prototype: Object.create(r.prototype, {
-                    createdCallback: {
-                      value: function () {
-                        ;(this.isAssets = !0), (this.fileLoader = l), (this.timeout = null)
-                      },
-                    },
-                    attachedCallback: {
-                      value: function () {
-                        var e,
-                          t,
-                          n,
-                          r,
-                          o,
-                          a,
-                          l = this,
-                          d = []
-                        if (!this.parentNode.isScene)
-                          throw new Error('<a-assets> must be a child of a <a-scene>.')
-                        for (o = this.querySelectorAll('img'), e = 0; e < o.length; e++)
-                          (r = h(o[e])),
-                            d.push(
-                              new Promise(function (t, n) {
-                                ;(s.Cache.files[o[e].getAttribute('src')] = r),
-                                  (r.onload = t),
-                                  (r.onerror = n)
-                              }),
-                            )
-                        for (n = this.querySelectorAll('audio, video'), e = 0; e < n.length; e++)
-                          (t = h(n[e])).src ||
-                            t.srcObject ||
-                            c('Audio/video asset has neither `src` nor `srcObject` attributes.'),
-                            d.push(u(t))
-                        Promise.all(d).then(i(this.load, this)),
-                          (a = parseInt(this.getAttribute('timeout'), 10) || 3e3),
-                          (this.timeout = setTimeout(function () {
-                            l.hasLoaded ||
-                              (c('Asset loading timed out in ', a, 'ms'),
-                              l.emit('timeout'),
-                              l.load())
-                          }, a))
-                      },
-                    },
-                    detachedCallback: {
-                      value: function () {
-                        this.timeout && clearTimeout(this.timeout)
-                      },
-                    },
-                    load: {
-                      value: function () {
-                        r.prototype.load.call(this, null, function (e) {
-                          return e.isAssetItem && e.hasAttribute('src')
-                        })
-                      },
-                    },
-                  }),
-                })),
-                  a('a-asset-item', {
-                    prototype: Object.create(r.prototype, {
-                      createdCallback: {
-                        value: function () {
-                          ;(this.data = null), (this.isAssetItem = !0)
-                        },
-                      },
-                      attachedCallback: {
-                        value: function () {
-                          var e = this,
-                            t = this.getAttribute('src')
-                          l.setResponseType(this.getAttribute('response-type') || f(t)),
-                            l.load(
-                              t,
-                              function (t) {
-                                ;(e.data = t),
-                                  setTimeout(function () {
-                                    r.prototype.load.call(e)
-                                  })
-                              },
-                              function (t) {
-                                e.emit('progress', {
-                                  loadedBytes: t.loaded,
-                                  totalBytes: t.total,
-                                  xhr: t,
-                                })
-                              },
-                              function (t) {
-                                e.emit('error', { xhr: t })
-                              },
-                            )
-                        },
-                      },
-                    }),
-                  }),
-                  (t.exports.inferResponseType = f),
-                  (t.exports.getFileNameFromURL = m)
-              },
-              {
-                '../lib/three': 179,
-                '../utils/bind': 199,
-                '../utils/debug': 201,
-                './a-node': 129,
-                './a-register-element': 130,
-              },
-            ],
-            126: [
-              function (e, t, n) {
-                var r = e('../utils/debug'),
-                  i = e('./a-register-element').registerElement,
-                  o = r('core:cubemap:warn')
-                t.exports = i('a-cubemap', {
-                  prototype: Object.create(window.HTMLElement.prototype, {
-                    attachedCallback: {
-                      value: function () {
-                        this.srcs = this.validate()
-                      },
-                      writable: window.debug,
-                    },
-                    validate: {
-                      value: function () {
-                        var e,
-                          t = this.querySelectorAll('[src]'),
-                          n = []
-                        if (6 === t.length) {
-                          for (e = 0; e < t.length; e++) n.push(t[e].getAttribute('src'))
-                          return n
-                        }
-                        o(
-                          '<a-cubemap> did not contain exactly six elements each with a `src` attribute.',
-                        )
-                      },
-                      writable: window.debug,
-                    },
-                  }),
-                })
-              },
-              { '../utils/debug': 201, './a-register-element': 130 },
-            ],
-            127: [
-              function (e, t, n) {
-                var r,
-                  i = e('./a-node'),
-                  o = e('./component').components,
-                  a = e('./a-register-element').registerElement,
-                  s = e('../lib/three'),
-                  l = e('../utils/'),
-                  c = l.debug('core:a-entity:debug'),
-                  u = l.debug('core:a-entity:warn'),
-                  h = '__',
-                  d = ['position', 'rotation', 'scale', 'visible'],
-                  p = { once: !0 },
-                  f = Object.create(i.prototype, {
-                    createdCallback: {
-                      value: function () {
-                        ;(this.components = {}),
-                          (this.initializingComponents = {}),
-                          (this.componentsToUpdate = {}),
-                          (this.isEntity = !0),
-                          (this.isPlaying = !1),
-                          (this.object3D = new s.Group()),
-                          (this.object3D.el = this),
-                          (this.object3DMap = {}),
-                          (this.parentEl = null),
-                          (this.rotationObj = {}),
-                          (this.states = [])
-                      },
-                    },
-                    attributeChangedCallback: {
-                      value: function (e, t, n) {
-                        var r = this.components[e]
-                        r && r.justInitialized && '' === n
-                          ? delete r.justInitialized
-                          : (r || null !== n) && this.setEntityAttribute(e, t, n)
-                      },
-                    },
-                    attachedCallback: {
-                      value: function () {
-                        var e,
-                          t = this.sceneEl,
-                          n = this
-                        this.addToParent(),
-                          this.isScene ||
-                            (t
-                              ? !(e = t.querySelector('a-assets')) || e.hasLoaded
-                                ? this.load()
-                                : e.addEventListener('loaded', function () {
-                                    n.load()
-                                  })
-                              : this.load())
-                      },
-                    },
-                    detachedCallback: {
-                      value: function () {
-                        var e
-                        if (this.parentEl) {
-                          for (e in this.components) this.removeComponent(e, !1)
-                          this.isScene ||
-                            (this.removeFromParent(),
-                            i.prototype.detachedCallback.call(this),
-                            (this.object3D.el = null))
-                        }
-                      },
-                    },
-                    getObject3D: {
-                      value: function (e) {
-                        return this.object3DMap[e]
-                      },
-                    },
-                    setObject3D: {
-                      value: function (e, t) {
-                        var n,
-                          r = this
-                        if (!(t instanceof s.Object3D))
-                          throw new Error(
-                            '`Entity.setObject3D` was called with an object that was not an instance of THREE.Object3D.',
-                          )
-                        ;(n = this.getObject3D(e)) && this.object3D.remove(n),
-                          (t.el = this),
-                          t.children.length &&
-                            t.traverse(function (e) {
-                              e.el = r
-                            }),
-                          this.object3D.add(t),
-                          (this.object3DMap[e] = t),
-                          this.emit('object3dset', { object: t, type: e })
-                      },
-                    },
-                    removeObject3D: {
-                      value: function (e) {
-                        var t = this.getObject3D(e)
-                        t
-                          ? (this.object3D.remove(t),
-                            delete this.object3DMap[e],
-                            this.emit('object3dremove', { type: e }))
-                          : u('Tried to remove `Object3D` of type:', e, 'which was not defined.')
-                      },
-                    },
-                    getOrCreateObject3D: {
-                      value: function (e, t) {
-                        var n = this.getObject3D(e)
-                        return (
-                          !n && t && ((n = new t()), this.setObject3D(e, n)),
-                          u(
-                            '`getOrCreateObject3D` has been deprecated. Use `setObject3D()` and `object3dset` event instead.',
-                          ),
-                          n
-                        )
-                      },
-                    },
-                    add: {
-                      value: function (e) {
-                        if (!e.object3D)
-                          throw new Error(
-                            "Trying to add an element that doesn't have an `object3D`",
-                          )
-                        this.object3D.add(e.object3D), this.emit('child-attached', { el: e })
-                      },
-                    },
-                    addToParent: {
-                      value: function () {
-                        var e = (this.parentEl = this.parentNode)
-                        e &&
-                          e.add &&
-                          !this.attachedToParent &&
-                          (e.add(this), (this.attachedToParent = !0))
-                      },
-                    },
-                    removeFromParent: {
-                      value: function () {
-                        var e = this.parentEl
-                        this.parentEl.remove(this),
-                          (this.attachedToParent = !1),
-                          (this.parentEl = null),
-                          e.emit('child-detached', { el: this })
-                      },
-                    },
-                    load: {
-                      value: function () {
-                        var e = this
-                        !this.hasLoaded &&
-                          this.parentEl &&
-                          i.prototype.load.call(this, function () {
-                            e.parentEl &&
-                              (e.updateComponents(),
-                              (e.isScene || e.parentEl.isPlaying) && e.play())
-                          })
-                      },
-                      writable: window.debug,
-                    },
-                    remove: {
-                      value: function (e) {
-                        e ? this.object3D.remove(e.object3D) : this.parentNode.removeChild(this)
-                      },
-                    },
-                    getChildEntities: {
-                      value: function () {
-                        for (var e = this.children, t = [], n = 0; n < e.length; n++) {
-                          var i = e[n]
-                          i instanceof r && t.push(i)
-                        }
-                        return t
-                      },
-                    },
-                    initComponent: {
-                      value: function (e, t, n) {
-                        var r, i, a, s
-                        if (
-                          ((s = (a = l.split(e, h))[0]),
-                          (i = a.length > 2 ? a.slice(1).join('__') : a[1]),
-                          o[s] && (m(this, e) || void 0 !== t || n) && !(e in this.components))
-                        ) {
-                          if ((this.initComponentDependencies(s), i && !o[s].multiple))
-                            throw new Error(
-                              'Trying to initialize multiple components of type `' +
-                                s +
-                                '`. There can only be one component of this type per entity.',
-                            )
-                          ;(r = new o[s].Component(this, t, i)),
-                            this.isPlaying && r.play(),
-                            this.hasAttribute(e) ||
-                              ((r.justInitialized = !0),
-                              window.HTMLElement.prototype.setAttribute.call(this, e, '')),
-                            c('Component initialized: %s', e)
-                        }
-                      },
-                      writable: window.debug,
-                    },
-                    initComponentDependencies: {
-                      value: function (e) {
-                        var t,
-                          n,
-                          r = this
-                        if (o[e] && (t = o[e].dependencies))
-                          for (n = 0; n < t.length; n++)
-                            r.initComponent(
-                              t[n],
-                              window.HTMLElement.prototype.getAttribute.call(r, t[n]) || void 0,
-                              !0,
-                            )
-                      },
-                    },
-                    removeComponent: {
-                      value: function (e, t) {
-                        var n
-                        ;(n = this.components[e]) &&
-                          (n.initialized
-                            ? (n.pause(),
-                              n.remove(),
-                              t && (n.destroy(), delete this.components[e]),
-                              this.emit('componentremoved', n.evtDetail, !1))
-                            : this.addEventListener('componentinitialized', function n(r) {
-                                r.detail.name === e &&
-                                  (this.removeComponent(e, t),
-                                  this.removeEventListener('componentinitialized', n))
-                              }))
-                      },
-                      writable: window.debug,
-                    },
-                    updateComponents: {
-                      value: function () {
-                        var e,
-                          t,
-                          n,
-                          r,
-                          i = this.componentsToUpdate
-                        if (this.hasLoaded) {
-                          for (n = 0; n < this.mixinEls.length; n++)
-                            for (r in this.mixinEls[n].componentCache) y(r) && (i[r] = !0)
-                          if (this.getExtraComponents)
-                            for (r in (t = this.getExtraComponents())) y(r) && (i[r] = !0)
-                          for (n = 0; n < this.attributes.length; ++n)
-                            (r = this.attributes[n].name),
-                              -1 === d.indexOf(r) && y(r) && (i[r] = !0)
-                          for (n = 0; n < d.length; n++)
-                            (r = d[n]),
-                              this.hasAttribute(r) &&
-                                this.updateComponent(r, this.getDOMAttribute(r))
-                          for (r in i)
-                            (e = g(this.getDOMAttribute(r), t && t[r])),
-                              this.updateComponent(r, e),
-                              delete i[r]
-                        }
-                      },
-                      writable: window.debug,
-                    },
-                    updateComponent: {
-                      value: function (e, t, n) {
-                        var r = this.components[e]
-                        if (r)
-                          return null !== t || m(this, e)
-                            ? void r.updateProperties(t, n)
-                            : void this.removeComponent(e, !0)
-                        this.initComponent(e, t, !1)
-                      },
-                    },
-                    removeAttribute: {
-                      value: function (e, t) {
-                        var n = this.components[e]
-                        n && void 0 === t && this.removeComponent(e, !0),
-                          n && void 0 !== t
-                            ? n.resetProperty(t)
-                            : ('mixin' === e && this.mixinUpdate(''),
-                              window.HTMLElement.prototype.removeAttribute.call(this, e))
-                      },
-                    },
-                    play: {
-                      value: function () {
-                        var e, t, n
-                        if (!this.isPlaying && this.hasLoaded) {
-                          for (n in ((this.isPlaying = !0), this.components))
-                            this.components[n].play()
-                          for (e = this.getChildEntities(), t = 0; t < e.length; t++) e[t].play()
-                          this.emit('play')
-                        }
-                      },
-                      writable: !0,
-                    },
-                    pause: {
-                      value: function () {
-                        var e, t, n
-                        if (this.isPlaying) {
-                          for (n in ((this.isPlaying = !1), this.components))
-                            this.components[n].pause()
-                          for (e = this.getChildEntities(), t = 0; t < e.length; t++) e[t].pause()
-                          this.emit('pause')
-                        }
-                      },
-                      writable: !0,
-                    },
-                    setEntityAttribute: {
-                      value: function (e, t, n) {
-                        if (o[e] || this.components[e]) this.updateComponent(e, n)
-                        else if ('mixin' === e) {
-                          if (n === this.computedMixinStr) return
-                          this.mixinUpdate(n, t)
-                        }
-                      },
-                    },
-                    mixinUpdate: {
-                      value: (function () {
-                        var e = []
-                        return function (t, n) {
-                          var r,
-                            i,
-                            o,
-                            a,
-                            s = this
-                          if (this.hasLoaded) {
-                            for (
-                              n = n || this.getAttribute('mixin'),
-                                o = this.updateMixins(t, n),
-                                e.length = 0,
-                                a = 0;
-                              a < this.mixinEls.length;
-                              a++
-                            )
-                              for (r in this.mixinEls[a].componentCache)
-                                -1 === e.indexOf(r) &&
-                                  (this.components[r]
-                                    ? this.components[r].handleMixinUpdate()
-                                    : this.initComponent(r, null),
-                                  e.push(r))
-                            for (a = 0; a < o.oldMixinIds.length; a++)
-                              if ((i = document.getElementById(o.oldMixinIds[a])))
-                                for (r in i.componentCache)
-                                  -1 === e.indexOf(r) &&
-                                    this.components[r] &&
-                                    (this.getDOMAttribute(r)
-                                      ? this.components[r].handleMixinUpdate()
-                                      : this.removeComponent(r, !0))
-                          } else
-                            this.addEventListener(
-                              'loaded',
-                              function () {
-                                s.mixinUpdate(t, n)
-                              },
-                              p,
-                            )
-                        }
-                      })(),
-                    },
-                    setAttribute: {
-                      value: (function () {
-                        var e = {}
-                        return function (t, n, r) {
-                          var a, s, c, u, d
-                          if (((c = (u = t.indexOf(h)) > 0 ? t.substring(0, u) : t), !o[c]))
-                            return (
-                              'mixin' === t && this.mixinUpdate(n),
-                              void i.prototype.setAttribute.call(this, t, n)
-                            )
-                          if (
-                            (!this.components[t] &&
-                              this.hasAttribute(t) &&
-                              this.updateComponent(
-                                t,
-                                window.HTMLElement.prototype.getAttribute.call(this, t),
-                              ),
-                            'undefined' !== typeof r &&
-                              'string' === typeof n &&
-                              n.length > 0 &&
-                              'string' === typeof l.styleParser.parse(n))
-                          ) {
-                            for (d in e) delete e[d]
-                            ;((a = e)[n] = r), (s = !1)
-                          } else (a = n), (s = !0 === r)
-                          this.updateComponent(t, a, s),
-                            this.sceneEl &&
-                              this.sceneEl.getAttribute('debug') &&
-                              this.components[t].flushToDOM()
-                        }
-                      })(),
-                      writable: window.debug,
-                    },
-                    flushToDOM: {
-                      value: function (e) {
-                        var t,
-                          n,
-                          r,
-                          i = this.components,
-                          o = this.children
-                        for (r in i) i[r].flushToDOM()
-                        if (e)
-                          for (n = 0; n < o.length; ++n) (t = o[n]).flushToDOM && t.flushToDOM(e)
-                      },
-                    },
-                    getAttribute: {
-                      value: function (e) {
-                        var t
-                        return 'position' === e
-                          ? this.object3D.position
-                          : 'rotation' === e
-                          ? b(this)
-                          : 'scale' === e
-                          ? this.object3D.scale
-                          : 'visible' === e
-                          ? this.object3D.visible
-                          : (t = this.components[e])
-                          ? t.data
-                          : window.HTMLElement.prototype.getAttribute.call(this, e)
-                      },
-                      writable: window.debug,
-                    },
-                    getDOMAttribute: {
-                      value: function (e) {
-                        var t = this.components[e]
-                        return t
-                          ? t.attrValue
-                          : window.HTMLElement.prototype.getAttribute.call(this, e)
-                      },
-                      writable: window.debug,
-                    },
-                    addState: {
-                      value: function (e) {
-                        this.is(e) || (this.states.push(e), this.emit('stateadded', e))
-                      },
-                    },
-                    removeState: {
-                      value: function (e) {
-                        var t = this.states.indexOf(e)
-                        ;-1 !== t && (this.states.splice(t, 1), this.emit('stateremoved', e))
-                      },
-                    },
-                    is: {
-                      value: function (e) {
-                        return -1 !== this.states.indexOf(e)
-                      },
-                    },
-                    inspect: {
-                      value: function () {
-                        this.sceneEl.components.inspector.openInspector(this)
-                      },
-                    },
-                    destroy: {
-                      value: function () {
-                        var e
-                        if (this.parentNode)
-                          u('Entity can only be destroyed if detached from scenegraph.')
-                        else for (e in this.components) this.components[e].destroy()
-                      },
-                    },
-                  })
-                function m(e, t) {
-                  return !(!e.components[t] || !e.components[t].attrValue) || v(t, e.mixinEls)
-                }
-                function v(e, t) {
-                  var n,
-                    r = !1
-                  for (n = 0; n < t.length && !(r = t[n].hasAttribute(e)); ++n);
-                  return r
-                }
-                function g(e, t) {
-                  return t
-                    ? t.constructor === Object
-                      ? l.extend(t, l.styleParser.parse(e || {}))
-                      : e || t
-                    : e
-                }
-                function y(e) {
-                  return -1 !== e.indexOf(h) && (e = l.split(e, h)[0]), !!o[e]
-                }
-                function b(e) {
-                  var t = s.Math.radToDeg,
-                    n = e.object3D.rotation,
-                    r = e.rotationObj
-                  return (r.x = t(n.x)), (r.y = t(n.y)), (r.z = t(n.z)), r
-                }
-                ;(r = a('a-entity', { prototype: f })), (t.exports = r)
-              },
-              {
-                '../lib/three': 179,
-                '../utils/': 205,
-                './a-node': 129,
-                './a-register-element': 130,
-                './component': 131,
-              },
-            ],
-            128: [
-              function (e, t, n) {
-                var r = e('./a-node'),
-                  i = e('./a-register-element').registerElement,
-                  o = e('./component').components,
-                  a = e('../utils'),
-                  s = '__'
-                t.exports = i('a-mixin', {
-                  prototype: Object.create(r.prototype, {
-                    createdCallback: {
-                      value: function () {
-                        ;(this.componentCache = {}),
-                          (this.id = this.getAttribute('id')),
-                          (this.isMixin = !0)
-                      },
-                    },
-                    attributeChangedCallback: {
-                      value: function (e, t, n) {
-                        this.cacheAttribute(e, n), this.updateEntities()
-                      },
-                    },
-                    attachedCallback: {
-                      value: function () {
-                        ;(this.sceneEl = this.closestScene()),
-                          this.cacheAttributes(),
-                          this.updateEntities(),
-                          this.load()
-                      },
-                    },
-                    setAttribute: {
-                      value: function (e, t) {
-                        window.HTMLElement.prototype.setAttribute.call(this, e, t),
-                          this.cacheAttribute(e, t)
-                      },
-                    },
-                    cacheAttribute: {
-                      value: function (e, t) {
-                        var n, r
-                        ;(r = a.split(e, s)[0]),
-                          (n = o[r]) &&
-                            (void 0 === t &&
-                              (t = window.HTMLElement.prototype.getAttribute.call(this, e)),
-                            (this.componentCache[e] = n.parseAttrValueForCache(t)))
-                      },
-                    },
-                    getAttribute: {
-                      value: function (e) {
-                        return (
-                          this.componentCache[e] ||
-                          window.HTMLElement.prototype.getAttribute.call(this, e)
-                        )
-                      },
-                    },
-                    cacheAttributes: {
-                      value: function () {
-                        var e,
-                          t,
-                          n = this.attributes
-                        for (t = 0; t < n.length; t++) (e = n[t].name), this.cacheAttribute(e)
-                      },
-                    },
-                    updateEntities: {
-                      value: function () {
-                        var e, t, n
-                        if (this.sceneEl)
-                          for (
-                            t = this.sceneEl.querySelectorAll('[mixin~=' + this.id + ']'), n = 0;
-                            n < t.length;
-                            n++
-                          )
-                            (e = t[n]).hasLoaded && !e.isMixin && e.mixinUpdate(this.id)
-                      },
-                    },
-                  }),
-                })
-              },
-              { '../utils': 205, './a-node': 129, './a-register-element': 130, './component': 131 },
-            ],
-            129: [
-              function (e, t, n) {
-                var r = e('./a-register-element').registerElement,
-                  i = e('./a-register-element').isNode,
-                  o = e('../utils/'),
-                  a = o.debug('core:a-node:warn'),
-                  s = o.debug('core:a-node:error')
-                t.exports = r('a-node', {
-                  prototype: Object.create(window.HTMLElement.prototype, {
-                    createdCallback: {
-                      value: function () {
-                        ;(this.computedMixinStr = ''),
-                          (this.hasLoaded = !1),
-                          (this.isNode = !0),
-                          (this.mixinEls = [])
-                      },
-                      writable: window.debug,
-                    },
-                    attachedCallback: {
-                      value: function () {
-                        var e
-                        ;(this.sceneEl = this.closestScene()),
-                          this.sceneEl ||
-                            a(
-                              'You are attempting to attach <' +
-                                this.tagName +
-                                '> outside of an A-Frame scene. Append this element to `<a-scene>` instead.',
-                            ),
-                          (this.hasLoaded = !1),
-                          this.emit('nodeready', void 0, !1),
-                          this.isMixin || ((e = this.getAttribute('mixin')) && this.updateMixins(e))
-                      },
-                      writable: window.debug,
-                    },
-                    attributeChangedCallback: {
-                      value: function (e, t, n) {
-                        n !== this.computedMixinStr &&
-                          ('mixin' !== e || this.isMixin || this.updateMixins(n, t))
-                      },
-                    },
-                    closestScene: {
-                      value: function () {
-                        for (var e = this; e && !e.isScene; ) e = e.parentElement
-                        return e
-                      },
-                    },
-                    closest: {
-                      value: function (e) {
-                        for (
-                          var t =
-                              this.matches ||
-                              this.mozMatchesSelector ||
-                              this.msMatchesSelector ||
-                              this.oMatchesSelector ||
-                              this.webkitMatchesSelector,
-                            n = this;
-                          n && !t.call(n, e);
-
-                        )
-                          n = n.parentElement
-                        return n
-                      },
-                    },
-                    detachedCallback: {
-                      value: function () {
-                        this.hasLoaded = !1
-                      },
-                    },
-                    load: {
-                      value: function (e, t) {
-                        var n,
-                          r = this
-                        this.hasLoaded ||
-                          ((t = t || i),
-                          (n = this.getChildren()
-                            .filter(t)
-                            .map(function (e) {
-                              return new Promise(function (t) {
-                                if (e.hasLoaded) return t()
-                                e.addEventListener('loaded', t)
-                              })
-                            })),
-                          Promise.all(n)
-                            .then(function () {
-                              ;(r.hasLoaded = !0), e && e(), r.emit('loaded', void 0, !1)
-                            })
-                            .catch(function (e) {
-                              s('Failure loading node: ', e)
-                            }))
-                      },
-                      writable: !0,
-                    },
-                    getChildren: {
-                      value: function () {
-                        return Array.prototype.slice.call(this.children, 0)
-                      },
-                    },
-                    updateMixins: {
-                      value: (function () {
-                        var e = [],
-                          t = [],
-                          n = {}
-                        return function (r, i) {
-                          var a, s, l
-                          for (
-                            e.length = 0,
-                              t.length = 0,
-                              s = r ? o.split(r.trim(), /\s+/) : e,
-                              l = i ? o.split(i.trim(), /\s+/) : t,
-                              n.newMixinIds = s,
-                              n.oldMixinIds = l,
-                              a = 0;
-                            a < l.length;
-                            a++
-                          )
-                            -1 === s.indexOf(l[a]) && this.unregisterMixin(l[a])
-                          for (
-                            this.computedMixinStr = '', this.mixinEls.length = 0, a = 0;
-                            a < s.length;
-                            a++
-                          )
-                            this.registerMixin(document.getElementById(s[a]))
-                          return (
-                            this.computedMixinStr &&
-                              ((this.computedMixinStr = this.computedMixinStr.trim()),
-                              window.HTMLElement.prototype.setAttribute.call(
-                                this,
-                                'mixin',
-                                this.computedMixinStr,
-                              )),
-                            n
-                          )
-                        }
-                      })(),
-                    },
-                    registerMixin: {
-                      value: function (e) {
-                        var t, n, r
-                        if (e) {
-                          if ((r = e.getAttribute('mixin')))
-                            for (t = o.split(r.trim(), /\s+/), n = 0; n < t.length; n++)
-                              this.registerMixin(document.getElementById(t[n]))
-                          ;(this.computedMixinStr = this.computedMixinStr + ' ' + e.id),
-                            this.mixinEls.push(e)
-                        }
-                      },
-                    },
-                    setAttribute: {
-                      value: function (e, t) {
-                        'mixin' === e && this.updateMixins(t),
-                          window.HTMLElement.prototype.setAttribute.call(this, e, t)
-                      },
-                    },
-                    unregisterMixin: {
-                      value: function (e) {
-                        var t,
-                          n = this.mixinEls
-                        for (t = 0; t < n.length; ++t)
-                          if (e === n[t].id) {
-                            n.splice(t, 1)
-                            break
-                          }
-                      },
-                    },
-                    emit: {
-                      value: (function () {
-                        var e = {}
-                        return function (t, n, r, i) {
-                          void 0 === r && (r = !0),
-                            (e.bubbles = !!r),
-                            (e.detail = n),
-                            i && (e = o.extend({}, i, e)),
-                            this.dispatchEvent(new CustomEvent(t, e))
-                        }
-                      })(),
-                      writable: window.debug,
-                    },
-                  }),
-                })
-              },
-              { '../utils/': 205, './a-register-element': 130 },
-            ],
-            130: [
-              function (e, t, n) {
-                var r, i
-                e('document-register-element')
-                var o = (t.exports.knownTags = {})
-                function a(e) {
-                  o[e.toLowerCase()] = !0
-                }
-                function s(e) {
-                  var t = {}
-                  return (
-                    c(
-                      t,
-                      [
-                        'attachedCallback',
-                        'attributeChangedCallback',
-                        'createdCallback',
-                        'detachedCallback',
-                      ],
-                      e,
-                      r.prototype,
-                    ),
-                    h(e, t),
-                    t
-                  )
-                }
-                function l(e) {
-                  var t = {},
-                    n = [
-                      'attachedCallback',
-                      'attributeChangedCallback',
-                      'createdCallback',
-                      'detachedCallback',
-                    ]
-                  return (
-                    c(
-                      t,
-                      [
-                        'attachedCallback',
-                        'attributeChangedCallback',
-                        'createdCallback',
-                        'detachedCallback',
-                      ],
-                      e,
-                      r.prototype,
-                    ),
-                    c(t, n, e, i.prototype),
-                    h(e, t),
-                    t
-                  )
-                }
-                function c(e, t, n, r) {
-                  t.forEach(function (t) {
-                    u(e, t, n, r)
-                  })
-                }
-                function u(e, t, n, r) {
-                  var i = n[t],
-                    o = r[t]
-                  i &&
-                    o &&
-                    i !== o &&
-                    (e[t] = {
-                      value: function () {
-                        return o.apply(this, arguments), i.apply(this, arguments)
-                      },
-                      writable: window.debug,
-                    })
-                }
-                function h(e, t) {
-                  Object.getOwnPropertyNames(e).forEach(function (n) {
-                    var r
-                    t[n] ||
-                      ((r = Object.getOwnPropertyDescriptor(e, n)),
-                      (t[n] = { value: e[n], writable: r.writable }))
-                  })
-                }
-                ;(t.exports.isNode = function (e) {
-                  return e.tagName.toLowerCase() in o || e.isNode
-                }),
-                  (t.exports.registerElement = function (e, t) {
-                    var n = Object.getPrototypeOf(t.prototype),
-                      o = t,
-                      c = r && n === r.prototype,
-                      u = i && n === i.prototype
-                    return (
-                      (c || u) && a(e),
-                      c && ((o = s(t.prototype)), (o = { prototype: Object.create(n, o) })),
-                      u && ((o = l(t.prototype)), (o = { prototype: Object.create(n, o) })),
-                      Object.getOwnPropertyNames(o.prototype).forEach(function (e) {
-                        var t = o.prototype[e]
-                        'function' === typeof t && (t.displayName = e)
-                      }),
-                      document.registerElement(e, o)
-                    )
-                  }),
-                  (t.exports.wrapMethods = c),
-                  (r = e('./a-node')),
-                  (i = e('./a-entity'))
-              },
-              { './a-entity': 127, './a-node': 129, 'document-register-element': 12 },
-            ],
-            131: [
-              function (e, t, n) {
-                var r = e('./schema'),
-                  i = e('./scene/scenes'),
-                  o = e('./system'),
-                  a = e('../utils/'),
-                  s = (t.exports.components = {}),
-                  l = r.parseProperties,
-                  c = r.parseProperty,
-                  u = r.process,
-                  h = r.isSingleProperty,
-                  d = r.stringifyProperties,
-                  p = r.stringifyProperty,
-                  f = a.styleParser,
-                  m = a.debug('core:component:warn'),
-                  v = document.currentScript,
-                  g = new RegExp('[A-Z]+'),
-                  y = {},
-                  b = (t.exports.Component = function (e, t, n) {
-                    var r = this
-                    ;(this.el = e),
-                      (this.id = n),
-                      (this.attrName = this.name + (n ? '__' + n : '')),
-                      (this.evtDetail = { id: this.id, name: this.name }),
-                      (this.initialized = !1),
-                      (this.isSingleProperty = h(this.schema)),
-                      (this.isSinglePropertyObject =
-                        this.isSingleProperty &&
-                        S(c(void 0, this.schema)) &&
-                        !(this.schema.default instanceof window.HTMLElement)),
-                      (this.isObjectBased = !this.isSingleProperty || this.isSinglePropertyObject),
-                      (this.el.components[this.attrName] = this),
-                      (this.objectPool = y[this.name])
-                    const i = this.events
-                    ;(this.events = {}),
-                      A(this, i),
-                      (this.attrValue = void 0),
-                      this.isObjectBased
-                        ? ((this.nextData = this.objectPool.use()),
-                          a.objectPool.removeUnusedKeys(this.nextData, this.schema),
-                          (this.oldData = this.objectPool.use()),
-                          a.objectPool.removeUnusedKeys(this.oldData, this.schema),
-                          (this.previousOldData = this.objectPool.use()),
-                          a.objectPool.removeUnusedKeys(this.previousOldData, this.schema),
-                          (this.parsingAttrValue = this.objectPool.use()),
-                          a.objectPool.removeUnusedKeys(this.parsingAttrValue, this.schema))
-                        : ((this.nextData = void 0),
-                          (this.oldData = void 0),
-                          (this.previousOldData = void 0),
-                          (this.parsingAttrValue = void 0)),
-                      (this.throttledEmitComponentChanged = a.throttle(function () {
-                        e.emit('componentchanged', r.evtDetail, !1)
-                      }, 200)),
-                      this.updateProperties(t)
-                  })
-                function A(e, t) {
-                  var n
-                  for (n in t) e.events[n] = t[n].bind(e)
-                }
-                if (
-                  ((b.prototype = {
-                    schema: {},
-                    init: function () {},
-                    events: {},
-                    update: function (e) {},
-                    updateSchema: void 0,
-                    tick: void 0,
-                    tock: void 0,
-                    play: function () {},
-                    pause: function () {},
-                    remove: function () {},
-                    parse: function (e, t) {
-                      var n = this.schema
-                      return this.isSingleProperty ? c(e, n) : l(f.parse(e), n, !0, this.name, t)
-                    },
-                    stringify: function (e) {
-                      var t = this.schema
-                      return 'string' === typeof e
-                        ? e
-                        : this.isSingleProperty
-                        ? p(e, t)
-                        : ((e = d(e, t)), f.stringify(e))
-                    },
-                    updateCachedAttrValue: function (e, t) {
-                      var n, r, i
-                      if (void 0 !== e) {
-                        if (null === e)
-                          return (
-                            this.isObjectBased &&
-                              this.attrValue &&
-                              this.objectPool.recycle(this.attrValue),
-                            void (this.attrValue = void 0)
-                          )
-                        if (
-                          (e instanceof Object && !(e instanceof window.HTMLElement)
-                            ? ((r = this.objectPool.use()), (n = a.extend(r, e)))
-                            : (n = this.parseAttrValueForCache(e)),
-                          this.isObjectBased && !t && this.attrValue)
-                        )
-                          for (i in this.attrValue) void 0 === n[i] && (n[i] = this.attrValue[i])
-                        this.isObjectBased &&
-                          !this.attrValue &&
-                          (this.attrValue = this.objectPool.use()),
-                          a.objectPool.clearObject(this.attrValue),
-                          (this.attrValue = E(this.attrValue, n, this.isObjectBased)),
-                          a.objectPool.clearObject(r)
-                      }
-                    },
-                    parseAttrValueForCache: function (e) {
-                      var t
-                      return 'string' !== typeof e
-                        ? e
-                        : (this.isSingleProperty
-                            ? 'string' === typeof (t = this.schema.parse(e)) && (t = e)
-                            : (a.objectPool.clearObject(this.parsingAttrValue),
-                              (t = f.parse(e, this.parsingAttrValue))),
-                          t)
-                    },
-                    flushToDOM: function (e) {
-                      var t = e ? this.data : this.attrValue
-                      null !== t &&
-                        void 0 !== t &&
-                        window.HTMLElement.prototype.setAttribute.call(
-                          this.el,
-                          this.attrName,
-                          this.stringify(t),
-                        )
-                    },
-                    updateProperties: function (e, t) {
-                      this.el.hasLoaded
-                        ? (null !== e && (e = this.parseAttrValueForCache(e)),
-                          this.updateCachedAttrValue(e, t),
-                          this.initialized
-                            ? (this.updateComponent(e, t), this.callUpdateHandler())
-                            : this.initComponent())
-                        : this.updateCachedAttrValue(e)
-                    },
-                    initComponent: function () {
-                      var e,
-                        t = this.el
-                      this.updateSchema &&
-                        this.updateSchema(this.buildData(this.attrValue, !1, !0)),
-                        (this.data = this.buildData(this.attrValue)),
-                        t.initializingComponents[this.name] ||
-                          ((t.initializingComponents[this.name] = !0),
-                          this.init(),
-                          (this.initialized = !0),
-                          delete t.initializingComponents[this.name],
-                          (this.oldData = E(this.oldData, this.data, this.isObjectBased)),
-                          (e = this.isObjectBased ? this.objectPool.use() : void 0),
-                          this.update(e),
-                          this.isObjectBased && this.objectPool.recycle(e),
-                          t.isPlaying && this.play(),
-                          t.emit('componentinitialized', this.evtDetail, !1))
-                    },
-                    updateComponent: function (e, t) {
-                      var n, r
-                      if (t)
-                        return (
-                          this.updateSchema &&
-                            this.updateSchema(this.buildData(this.attrValue, !0, !0)),
-                          void (this.data = this.buildData(this.attrValue, !0, !1))
-                        )
-                      if (this.isSingleProperty)
-                        return this.isObjectBased && c(e, this.schema), void (this.data = e)
-                      if ((l(e, this.schema, !0, this.name), this.schemaChangeKeys.length))
-                        for (n in e)
-                          if (this.schema[n].schemaChange) {
-                            r = !0
-                            break
-                          }
-                      if (r)
-                        return (
-                          this.updateSchema &&
-                            this.updateSchema(this.buildData(this.attrValue, !0, !0)),
-                          void (this.data = this.buildData(this.attrValue, !0, !1))
-                        )
-                      for (n in e) void 0 !== e[n] && (this.data[n] = e[n])
-                    },
-                    callUpdateHandler: function () {
-                      var e
-                      this.previousOldData instanceof Object &&
-                        a.objectPool.clearObject(this.previousOldData),
-                        this.isObjectBased
-                          ? x(this.previousOldData, this.oldData)
-                          : (this.previousOldData = this.oldData),
-                        (e = !a.deepEqual(this.oldData, this.data)),
-                        (this.isPositionRotationScale || e) &&
-                          (this.oldData instanceof Object && a.objectPool.clearObject(this.oldData),
-                          (this.oldData = E(this.oldData, this.data, this.isObjectBased)),
-                          this.update(this.previousOldData),
-                          this.throttledEmitComponentChanged())
-                    },
-                    handleMixinUpdate: function () {
-                      ;(this.data = this.buildData(this.attrValue)), this.callUpdateHandler()
-                    },
-                    resetProperty: function (e) {
-                      if (this.isObjectBased) {
-                        if (!(e in this.attrValue)) return
-                        delete this.attrValue[e], (this.data[e] = this.schema[e].default)
-                      } else
-                        (this.attrValue = this.schema.default), (this.data = this.schema.default)
-                      this.updateProperties(this.attrValue)
-                    },
-                    extendSchema: function (e) {
-                      var t
-                      ;(t = a.extend({}, s[this.name].schema)),
-                        a.extend(t, e),
-                        (this.schema = u(t)),
-                        this.el.emit('schemachanged', this.evtDetail)
-                    },
-                    buildData: function (e, t, n) {
-                      var r,
-                        i,
-                        o,
-                        s,
-                        u,
-                        h,
-                        d,
-                        p = this.nextData,
-                        f = this.schema,
-                        m = this.el.mixinEls
-                      if (
-                        ((r = e && e.constructor === Array ? e.length : void 0 !== e && null !== e),
-                        this.isObjectBased && a.objectPool.clearObject(p),
-                        this.isSingleProperty)
-                      )
-                        i = this.isObjectBased
-                          ? x(p, f.default)
-                          : C(f.default)
-                          ? a.clone(f.default)
-                          : f.default
-                      else
-                        for (s in ((i = (d = !t && this.attrValue) instanceof Object ? x(p, d) : p),
-                        f))
-                          (o = f[s].default), void 0 === i[s] && (i[s] = C(o) ? a.clone(o) : o)
-                      for (h = 0; h < m.length; h++)
-                        (u = m[h].getAttribute(this.attrName)) && (i = E(i, u, this.isObjectBased))
-                      if (r) {
-                        if (this.isSingleProperty)
-                          return S(e)
-                            ? (x(this.parsingAttrValue, e), c(this.parsingAttrValue, f))
-                            : c(e, f)
-                        i = E(i, e, this.isObjectBased)
-                      } else if (this.isSingleProperty) return c(i, f)
-                      return l(i, f, void 0, this.name, n)
-                    },
-                    eventsAttach: function () {
-                      var e
-                      for (e in (this.eventsDetach(), this.events))
-                        this.el.addEventListener(e, this.events[e])
-                    },
-                    eventsDetach: function () {
-                      var e
-                      for (e in this.events) this.el.removeEventListener(e, this.events[e])
-                    },
-                    destroy: function () {
-                      this.objectPool.recycle(this.attrValue),
-                        this.objectPool.recycle(this.oldData),
-                        this.objectPool.recycle(this.parsingAttrValue),
-                        (this.attrValue = this.oldData = this.parsingAttrValue = void 0)
-                    },
-                  }),
-                  window.debug)
-                )
-                  var w = (t.exports.registrationOrderWarnings = {})
-                function x(e, t) {
-                  var n, r
-                  for (r in t) void 0 !== t[r] && ((n = t[r]), (e[r] = C(n) ? a.clone(n) : n))
-                  return e
-                }
-                function E(e, t, n) {
-                  var r
-                  if (n && t.constructor === Object) {
-                    for (r in t)
-                      void 0 !== t[r] &&
-                        (t[r] && t[r].constructor === Object
-                          ? (e[r] = a.clone(t[r]))
-                          : (e[r] = t[r]))
-                    return e
-                  }
-                  return t
-                }
-                function M(e) {
-                  return e.tick || e.tock
-                }
-                function _(e) {
-                  return function () {
-                    var t = this.el.sceneEl
-                    this.isPlaying &&
-                      (e.call(this),
-                      (this.isPlaying = !1),
-                      this.eventsDetach(),
-                      M(this) && t.removeBehavior(this))
-                  }
-                }
-                function T(e) {
-                  return function () {
-                    var t = this.el.sceneEl,
-                      n = this.el.isPlaying && !this.isPlaying
-                    this.initialized &&
-                      n &&
-                      (e.call(this),
-                      (this.isPlaying = !0),
-                      this.eventsAttach(),
-                      M(this) && t.addBehavior(this))
-                  }
-                }
-                function S(e) {
-                  return e && e.constructor === Object && !(e instanceof window.HTMLElement)
-                }
-                function C(e) {
-                  return (
-                    e &&
-                    (e.constructor === Object || e.constructor === Array) &&
-                    !(e instanceof window.HTMLElement)
-                  )
-                }
-                t.exports.registerComponent = function (e, t) {
-                  var n,
-                    r,
-                    l,
-                    c,
-                    d = {}
-                  if (
-                    (document.currentScript &&
-                      document.currentScript !== v &&
-                      i.forEach(function (t) {
-                        t.hasLoaded ||
-                          (document.currentScript.compareDocumentPosition(t) !==
-                            Node.DOCUMENT_POSITION_FOLLOWING &&
-                            (m(
-                              'The component `' +
-                                e +
-                                '` was registered in a <script> tag after the scene. Component <script> tags in an HTML file should be declared *before* the scene such that the component is available to entities during scene initialization.',
-                            ),
-                            window.debug && (w[e] = !0)))
-                      }),
-                    !0 === g.test(e) &&
-                      m(
-                        'The component name `' +
-                          e +
-                          '` contains uppercase characters, but HTML will ignore the capitalization of attribute names. Change the name to be lowercase: `' +
-                          e.toLowerCase() +
-                          '`',
-                      ),
-                    -1 !== e.indexOf('__'))
-                  )
-                    throw new Error(
-                      'The component name `' +
-                        e +
-                        '` is not allowed. The sequence __ (double underscore) is reserved to specify an id for multiple components of the same type',
-                    )
-                  if (
-                    (Object.keys(t).forEach(function (e) {
-                      d[e] = { value: t[e], writable: !0 }
-                    }),
-                    s[e])
-                  )
-                    throw new Error(
-                      'The component `' +
-                        e +
-                        '` has been already registered. Check that you are not loading two versions of the same component or two different components of the same name.',
-                    )
-                  if (
-                    (((n = function (e, t, n) {
-                      b.call(this, e, t, n)
-                    }).prototype = Object.create(b.prototype, d)),
-                    (n.prototype.name = e),
-                    (n.prototype.isPositionRotationScale =
-                      'position' === e || 'rotation' === e || 'scale' === e),
-                    (n.prototype.constructor = n),
-                    (n.prototype.system = o && o.systems[e]),
-                    (n.prototype.play = T(n.prototype.play)),
-                    (n.prototype.pause = _(n.prototype.pause)),
-                    (l = a.extend(u(n.prototype.schema, n.prototype.name))),
-                    !(c = h(n.prototype.schema)))
-                  )
-                    for (r in ((n.prototype.schemaChangeKeys = []), l))
-                      l[r].schemaChange && n.prototype.schemaChangeKeys.push(r)
-                  return (
-                    (y[e] = a.objectPool.createPool()),
-                    (s[e] = {
-                      Component: n,
-                      dependencies: n.prototype.dependencies,
-                      isSingleProp: c,
-                      multiple: n.prototype.multiple,
-                      name: e,
-                      parse: n.prototype.parse,
-                      parseAttrValueForCache: n.prototype.parseAttrValueForCache,
-                      schema: l,
-                      stringify: n.prototype.stringify,
-                      type: n.prototype.type,
-                    }),
-                    n
-                  )
-                }
-              },
-              { '../utils/': 205, './scene/scenes': 138, './schema': 140, './system': 142 },
-            ],
-            132: [
-              function (e, t, n) {
-                var r = e('./schema').process,
-                  i = (t.exports.geometries = {}),
-                  o = (t.exports.geometryNames = []),
-                  a = e('../lib/three'),
-                  s = (t.exports.Geometry = function () {})
-                ;(s.prototype = {
-                  schema: {},
-                  init: function (e) {
-                    return (this.geometry = new a.BufferGeometry()), this.geometry
-                  },
-                  update: function (e) {},
-                }),
-                  (t.exports.registerGeometry = function (e, t) {
-                    var n,
-                      a = {}
-                    if (
-                      (Object.keys(t).forEach(function (e) {
-                        a[e] = { value: t[e], writable: !0 }
-                      }),
-                      i[e])
-                    )
-                      throw new Error('The geometry `' + e + '` has been already registered')
-                    return (
-                      ((n = function () {
-                        s.call(this)
-                      }).prototype = Object.create(s.prototype, a)),
-                      (n.prototype.name = e),
-                      (n.prototype.constructor = n),
-                      (i[e] = { Geometry: n, schema: r(n.prototype.schema) }),
-                      o.push(e),
-                      n
-                    )
-                  })
-              },
-              { '../lib/three': 179, './schema': 140 },
-            ],
-            133: [
-              function (e, t, n) {
-                var r = e('../utils/coordinates'),
-                  i = e('debug'),
-                  o = i('core:propertyTypes:warn'),
-                  a = i('core:propertyTypes:warn'),
-                  s = (t.exports.propertyTypes = {}),
-                  l = /[,> .[\]:]/,
-                  c = /\url\((.+)\)/
-                function u(e, t, n, r) {
-                  'type' in s
-                    ? o('Property type ' + e + ' is already registered.')
-                    : (s[e] = { default: t, parse: n || f, stringify: r || m })
-                }
-                function h(e) {
-                  return Array.isArray(e)
-                    ? e
-                    : e && 'string' === typeof e
-                    ? e.split(',').map(t)
-                    : []
-                  function t(e) {
-                    return e.trim()
-                  }
-                }
-                function d(e) {
-                  return e.join(', ')
-                }
-                function p(e) {
-                  var t, n
-                  return 'string' !== typeof e
-                    ? e
-                    : (n = e.match(c))
-                    ? n[1]
-                    : '#' === e.charAt(0)
-                    ? (t = document.getElementById(e.substring(1)))
-                      ? 'CANVAS' === t.tagName || 'VIDEO' === t.tagName || 'IMG' === t.tagName
-                        ? t
-                        : t.getAttribute('src')
-                      : void a('"' + e + '" asset not found.')
-                    : e
-                }
-                function f(e) {
-                  return e
-                }
-                function m(e) {
-                  return null === e ? 'null' : e.toString()
-                }
-                function v(e) {
-                  return 'false' !== e && !1 !== e
-                }
-                function g(e) {
-                  return parseInt(e, 10)
-                }
-                function y(e) {
-                  return parseFloat(e, 10)
-                }
-                function b(e) {
-                  return e
-                    ? 'string' !== typeof e
-                      ? e
-                      : '#' !== e[0] || l.test(e)
-                      ? document.querySelector(e)
-                      : document.getElementById(e.substring(1))
-                    : null
-                }
-                function A(e) {
-                  return e
-                    ? 'string' !== typeof e
-                      ? e
-                      : Array.prototype.slice.call(document.querySelectorAll(e), 0)
-                    : null
-                }
-                function w(e) {
-                  return e.getAttribute ? '#' + e.getAttribute('id') : m(e)
-                }
-                function x(e) {
-                  return e instanceof Array
-                    ? e
-                        .map(function (e) {
-                          return '#' + e.getAttribute('id')
-                        })
-                        .join(', ')
-                    : m(e)
-                }
-                function E(e) {
-                  return a('`src` property type is deprecated. Use `asset` instead.'), p(e)
-                }
-                function M(e) {
-                  return r.parse(e, this.default)
-                }
-                function _(e, t) {
-                  return (
-                    ('audio' !== e || 'string' === typeof t) &&
-                    !('array' === e && !Array.isArray(t)) &&
-                    ('asset' !== e || 'string' === typeof t) &&
-                    ('boolean' !== e || 'boolean' === typeof t) &&
-                    ('color' !== e || 'string' === typeof t) &&
-                    ('int' !== e || 'number' === typeof t) &&
-                    ('number' !== e || 'number' === typeof t) &&
-                    ('map' !== e || 'string' === typeof t) &&
-                    ('model' !== e || 'string' === typeof t) &&
-                    ('selector' !== e || 'string' === typeof t || null === t) &&
-                    ('selectorAll' !== e || 'string' === typeof t || null === t) &&
-                    ('src' !== e || 'string' === typeof t) &&
-                    ('string' !== e || 'string' === typeof t) &&
-                    ('time' !== e || 'number' === typeof t) &&
-                    ('vec2' === e ? T(t, 2) : 'vec3' === e ? T(t, 3) : 'vec4' !== e || T(t, 4))
-                  )
-                }
-                function T(e, t) {
-                  if (null === e) return !0
-                  if ('object' !== typeof e) return !1
-                  if (Object.keys(e).length !== t) return !1
-                  var n = e.x,
-                    r = e.y,
-                    i = e.z,
-                    o = e.w
-                  return (
-                    'number' === typeof n &&
-                    'number' === typeof r &&
-                    !(t > 2 && 'number' !== typeof i) &&
-                    !(t > 3 && 'number' !== typeof o)
-                  )
-                }
-                u('audio', '', p),
-                  u('array', [], h, d),
-                  u('asset', '', p),
-                  u('boolean', !1, v),
-                  u('color', '#FFF', f, m),
-                  u('int', 0, g),
-                  u('number', 0, y),
-                  u('map', '', p),
-                  u('model', '', p),
-                  u('selector', null, b, w),
-                  u('selectorAll', null, A, x),
-                  u('src', '', E),
-                  u('string', '', f, m),
-                  u('time', 0, g),
-                  u('vec2', { x: 0, y: 0 }, M, r.stringify),
-                  u('vec3', { x: 0, y: 0, z: 0 }, M, r.stringify),
-                  u('vec4', { x: 0, y: 0, z: 0, w: 1 }, M, r.stringify),
-                  (t.exports.registerPropertyType = u),
-                  (t.exports.isValidDefaultValue = _),
-                  (t.exports.isValidDefaultCoordinate = T)
-              },
-              { '../utils/coordinates': 200, debug: 8 },
-            ],
-            134: [
-              function (e, t, n) {
-                var r = e('./metaTags').inject,
-                  i = e('./wakelock'),
-                  o = e('./loadingScreen'),
-                  a = e('../a-register-element'),
-                  s = e('./scenes'),
-                  l = e('../system').systems,
-                  c = e('../../lib/three'),
-                  u = e('../../utils/'),
-                  h = e('../a-entity'),
-                  d = e('../a-node'),
-                  p = e('./postMessage'),
-                  f = u.bind,
-                  m = u.device.isIOS(),
-                  v = u.device.isMobile(),
-                  g = u.device.isWebXRAvailable,
-                  y = a.registerElement,
-                  b = u.debug('core:a-scene:warn')
-                function A(e, t, n, r) {
-                  return e.parentElement
-                    ? t
-                      ? { height: e.parentElement.offsetHeight, width: e.parentElement.offsetWidth }
-                      : w(n, r)
-                    : { height: 0, width: 0 }
-                }
-                function w(e, t) {
-                  var n,
-                    r,
-                    i = window.devicePixelRatio
-                  return (
-                    (r = { height: document.body.offsetHeight, width: document.body.offsetWidth }),
-                    !e ||
-                      t ||
-                      (-1 === e.width && -1 === e.height) ||
-                      (r.width * i < e.width && r.height * i < e.height) ||
-                      ((n = r.width / r.height),
-                      r.width * i > e.width &&
-                        -1 !== e.width &&
-                        ((r.width = Math.round(e.width / i)),
-                        (r.height = Math.round(e.width / n / i))),
-                      r.height * i > e.height &&
-                        -1 !== e.height &&
-                        ((r.height = Math.round(e.height / i)),
-                        (r.width = Math.round((e.height * n) / i)))),
-                    r
-                  )
-                }
-                function x(e) {
-                  ;(
-                    e.requestFullscreen ||
-                    e.webkitRequestFullscreen ||
-                    e.mozRequestFullScreen ||
-                    e.msRequestFullscreen
-                  ).apply(e, [{ navigationUI: 'hide' }])
-                }
-                function E() {
-                  ;(document.fullscreenElement ||
-                    document.webkitFullscreenElement ||
-                    document.mozFullScreenElement) &&
-                    (document.exitFullscreen
-                      ? document.exitFullscreen()
-                      : document.mozCancelFullScreen
-                      ? document.mozCancelFullScreen()
-                      : document.webkitExitFullscreen && document.webkitExitFullscreen())
-                }
-                function M(e) {
-                  var t
-                  function n() {
-                    document.fullscreenElement ||
-                      document.mozFullScreenElement ||
-                      document.webkitFullscreenElement ||
-                      e.exitVR(),
-                      document.activeElement.blur(),
-                      document.body.focus()
-                  }
-                  ;(t = document.createElement('canvas')).classList.add('a-canvas'),
-                    (t.dataset.aframeCanvas = !0),
-                    e.appendChild(t),
-                    document.addEventListener('fullscreenchange', n),
-                    document.addEventListener('mozfullscreenchange', n),
-                    document.addEventListener('webkitfullscreenchange', n),
-                    document.addEventListener('MSFullscreenChange', n),
-                    t.addEventListener('touchmove', function (e) {
-                      e.preventDefault()
-                    }),
-                    (e.canvas = t),
-                    e.emit('render-target-loaded', { target: t }),
-                    setTimeout(f(e.resize, e), 0)
-                }
-                m && e('../../utils/ios-orientationchange-blank-bug'),
-                  (t.exports.AScene = y('a-scene', {
-                    prototype: Object.create(h.prototype, {
-                      createdCallback: {
-                        value: function () {
-                          ;(this.clock = new c.Clock()),
-                            (this.isIOS = m),
-                            (this.isMobile = v),
-                            (this.hasWebXR = g),
-                            (this.isAR = !1),
-                            (this.isScene = !0),
-                            (this.object3D = new c.Scene())
-                          var e = this
-                          ;(this.object3D.onAfterRender = function (t, n, r) {
-                            e.isPlaying && e.tock(e.time, e.delta, r)
-                          }),
-                            (this.resize = f(this.resize, this)),
-                            (this.render = f(this.render, this)),
-                            (this.systems = {}),
-                            (this.systemNames = []),
-                            (this.time = this.delta = 0),
-                            (this.behaviors = { tick: [], tock: [] }),
-                            (this.hasLoaded = !1),
-                            (this.isPlaying = !1),
-                            (this.originalHTML = this.innerHTML),
-                            this.setAttribute('inspector', ''),
-                            this.setAttribute('keyboard-shortcuts', ''),
-                            this.setAttribute('screenshot', ''),
-                            this.setAttribute('vr-mode-ui', ''),
-                            this.setAttribute('device-orientation-permission-ui', '')
-                        },
-                      },
-                      addFullScreenStyles: {
-                        value: function () {
-                          document.documentElement.classList.add('a-fullscreen')
-                        },
-                      },
-                      removeFullScreenStyles: {
-                        value: function () {
-                          document.documentElement.classList.remove('a-fullscreen')
-                        },
-                      },
-                      attachedCallback: {
-                        value: function () {
-                          var e = this,
-                            t = this.hasAttribute('embedded')
-                          M(this),
-                            this.setupRenderer(),
-                            o.setup(this, A),
-                            this.resize(),
-                            t || this.addFullScreenStyles(),
-                            p(this),
-                            r(this),
-                            i(this),
-                            (this.onVRPresentChangeBound = f(this.onVRPresentChange, this)),
-                            window.addEventListener(
-                              'vrdisplaypresentchange',
-                              this.onVRPresentChangeBound,
-                            ),
-                            (this.enterVRBound = function () {
-                              e.enterVR()
-                            }),
-                            (this.exitVRBound = function () {
-                              e.exitVR()
-                            }),
-                            (this.exitVRTrueBound = function () {
-                              e.exitVR(!0)
-                            }),
-                            (this.pointerRestrictedBound = function () {
-                              e.pointerRestricted()
-                            }),
-                            (this.pointerUnrestrictedBound = function () {
-                              e.pointerUnrestricted()
-                            }),
-                            g ||
-                              (window.addEventListener('vrdisplaydeactivate', this.exitVRBound),
-                              window.addEventListener('vrdisplaydisconnect', this.exitVRTrueBound),
-                              window.addEventListener(
-                                'vrdisplaypointerrestricted',
-                                this.pointerRestrictedBound,
-                              ),
-                              window.addEventListener(
-                                'vrdisplaypointerunrestricted',
-                                this.pointerUnrestrictedBound,
-                              )),
-                            window.addEventListener('sessionend', this.resize),
-                            this.addEventListener('cameraready', function () {
-                              e.attachedCallbackPostCamera()
-                            }),
-                            this.initSystems(),
-                            this.hasWebXR &&
-                              navigator.xr &&
-                              navigator.xr.addEventListener &&
-                              navigator.xr.addEventListener('sessiongranted', function () {
-                                e.enterVR()
-                              })
-                        },
-                      },
-                      attachedCallbackPostCamera: {
-                        value: function () {
-                          var e,
-                            t = this
-                          window.addEventListener('load', e),
-                            window.addEventListener('resize', function () {
-                              t.isIOS ? setTimeout(t.resize, 100) : t.resize()
-                            }),
-                            this.play(),
-                            s.push(this)
-                        },
-                        writable: window.debug,
-                      },
-                      initSystems: {
-                        value: function () {
-                          var e
-                          for (e in (this.initSystem('camera'), l))
-                            'camera' !== e && this.initSystem(e)
-                        },
-                      },
-                      initSystem: {
-                        value: function (e) {
-                          this.systems[e] ||
-                            ((this.systems[e] = new l[e](this)), this.systemNames.push(e))
-                        },
-                      },
-                      detachedCallback: {
-                        value: function () {
-                          var e = s.indexOf(this)
-                          s.splice(e, 1),
-                            window.removeEventListener(
-                              'vrdisplaypresentchange',
-                              this.onVRPresentChangeBound,
-                            ),
-                            window.removeEventListener('vrdisplayactivate', this.enterVRBound),
-                            window.removeEventListener('vrdisplaydeactivate', this.exitVRBound),
-                            window.removeEventListener('vrdisplayconnect', this.enterVRBound),
-                            window.removeEventListener('vrdisplaydisconnect', this.exitVRTrueBound),
-                            window.removeEventListener(
-                              'vrdisplaypointerrestricted',
-                              this.pointerRestrictedBound,
-                            ),
-                            window.removeEventListener(
-                              'vrdisplaypointerunrestricted',
-                              this.pointerUnrestrictedBound,
-                            ),
-                            window.removeEventListener('sessionend', this.resize),
-                            this.renderer.xr.dispose()
-                        },
-                      },
-                      addBehavior: {
-                        value: function (e) {
-                          var t,
-                            n,
-                            r = this.behaviors
-                          for (n in r)
-                            e[n] && -1 === (t = this.behaviors[n]).indexOf(e) && t.push(e)
-                        },
-                      },
-                      getPointerLockElement: {
-                        value: function () {
-                          return document.pointerLockElement
-                        },
-                        writable: window.debug,
-                      },
-                      checkHeadsetConnected: {
-                        value: u.device.checkHeadsetConnected,
-                        writable: window.debug,
-                      },
-                      enterAR: {
-                        value: function () {
-                          var e
-                          if (!this.hasWebXR)
-                            throw (
-                              ((e = 'Failed to enter AR mode, WebXR not supported.'), new Error(e))
-                            )
-                          if (!u.device.checkARSupport())
-                            throw (
-                              ((e =
-                                'Failed to enter AR, WebXR immersive-ar mode not supported in your browser or device.'),
-                              new Error(e))
-                            )
-                          return this.enterVR(!0)
-                        },
-                      },
-                      enterVR: {
-                        value: function (e) {
-                          var t,
-                            n,
-                            r = this,
-                            i = r.renderer.xr
-                          if (this.is('vr-mode')) return Promise.resolve('Already in VR.')
-                          if (this.checkHeadsetConnected() || this.isMobile) {
-                            if (((i.enabled = !0), this.hasWebXR)) {
-                              this.xrSession &&
-                                this.xrSession.removeEventListener('end', this.exitVRBound)
-                              var o = this.sceneEl.systems.webxr.sessionReferenceSpaceType
-                              i.setReferenceSpaceType(o)
-                              var a = e ? 'immersive-ar' : 'immersive-vr'
-                              return (
-                                (n = this.sceneEl.systems.webxr.sessionConfiguration),
-                                new Promise(function (e, t) {
-                                  navigator.xr.requestSession(a, n).then(
-                                    function (t) {
-                                      ;(r.xrSession = t),
-                                        (i.layersEnabled =
-                                          -1 !== n.requiredFeatures.indexOf('layers')),
-                                        i.setSession(t),
-                                        t.addEventListener('end', r.exitVRBound),
-                                        c(e)
-                                    },
-                                    function (e) {
-                                      throw new Error(
-                                        'Failed to enter ' +
-                                          ('immersive-ar' === a ? 'AR' : 'VR') +
-                                          ' mode (`requestSession`) ' +
-                                          e,
-                                      )
-                                    },
-                                  )
-                                })
-                              )
-                            }
-                            if (
-                              ((t = u.device.getVRDisplay()),
-                              i.setDevice(t),
-                              t.isPresenting && !window.hasNativeWebVRImplementation)
-                            )
-                              return c(), Promise.resolve()
-                            var s = this.getAttribute('renderer'),
-                              l = {
-                                highRefreshRate: s.highRefreshRate,
-                                foveationLevel: s.foveationLevel,
-                              }
-                            return t
-                              .requestPresent([{ source: this.canvas, attributes: l }])
-                              .then(c, h)
-                          }
-                          return c(), Promise.resolve()
-                          function c(t) {
-                            var n
-                            window.hasNativeWebVRImplementation &&
-                              !window.hasNativeWebXRImplementation &&
-                              ((n = new CustomEvent('vrdisplaypresentchange', {
-                                detail: { display: u.device.getVRDisplay() },
-                              })),
-                              window.dispatchEvent(n)),
-                              e ? r.addState('ar-mode') : r.addState('vr-mode'),
-                              r.emit('enter-vr', { target: r }),
-                              !g &&
-                                r.isMobile &&
-                                screen.orientation &&
-                                screen.orientation.lock &&
-                                screen.orientation.lock('landscape'),
-                              r.addFullScreenStyles(),
-                              r.isMobile || r.checkHeadsetConnected() || x(r.canvas),
-                              r.renderer.setAnimationLoop(r.render),
-                              r.resize(),
-                              t && t()
-                          }
-                          function h(e) {
-                            throw (
-                              (r.removeState('vr-mode'),
-                              e && e.message
-                                ? new Error(
-                                    'Failed to enter VR mode (`requestPresent`): ' + e.message,
-                                  )
-                                : new Error('Failed to enter VR mode (`requestPresent`).'))
-                            )
-                          }
-                        },
-                        writable: !0,
-                      },
-                      exitVR: {
-                        value: function () {
-                          var e,
-                            t = this,
-                            n = this.renderer.xr
-                          if (!this.is('vr-mode') && !this.is('ar-mode'))
-                            return Promise.resolve('Not in immersive mode.')
-                          if (this.checkHeadsetConnected() || this.isMobile) {
-                            if (((n.enabled = !1), (e = u.device.getVRDisplay()), this.hasWebXR))
-                              this.xrSession.removeEventListener('end', this.exitVRBound),
-                                this.xrSession.end().then(
-                                  function () {},
-                                  function () {},
-                                ),
-                                (this.xrSession = void 0),
-                                n.setSession(null)
-                            else if (e.isPresenting) return e.exitPresent().then(r, i)
-                          } else E()
-                          return r(), Promise.resolve()
-                          function r() {
-                            t.removeState('vr-mode'),
-                              t.removeState('ar-mode'),
-                              t.isMobile &&
-                                screen.orientation &&
-                                screen.orientation.unlock &&
-                                screen.orientation.unlock(),
-                              t.hasAttribute('embedded') && t.removeFullScreenStyles(),
-                              t.resize(),
-                              t.isIOS && u.forceCanvasResizeSafariMobile(t.canvas),
-                              t.renderer.setPixelRatio(window.devicePixelRatio),
-                              t.emit('exit-vr', { target: t })
-                          }
-                          function i(e) {
-                            throw e && e.message
-                              ? new Error('Failed to exit VR mode (`exitPresent`): ' + e.message)
-                              : new Error('Failed to exit VR mode (`exitPresent`).')
-                          }
-                        },
-                        writable: !0,
-                      },
-                      pointerRestricted: {
-                        value: function () {
-                          if (this.canvas) {
-                            var e = this.getPointerLockElement()
-                            e &&
-                              e !== this.canvas &&
-                              document.exitPointerLock &&
-                              document.exitPointerLock(),
-                              this.canvas.requestPointerLock && this.canvas.requestPointerLock()
-                          }
-                        },
-                      },
-                      pointerUnrestricted: {
-                        value: function () {
-                          var e = this.getPointerLockElement()
-                          e &&
-                            e === this.canvas &&
-                            document.exitPointerLock &&
-                            document.exitPointerLock()
-                        },
-                      },
-                      onVRPresentChange: {
-                        value: function (e) {
-                          var t = e.display || e.detail.display
-                          t && t.isPresenting ? this.enterVR() : this.exitVR()
-                        },
-                      },
-                      getAttribute: {
-                        value: function (e) {
-                          var t = this.systems[e]
-                          return t ? t.data : h.prototype.getAttribute.call(this, e)
-                        },
-                      },
-                      getComputedAttribute: {
-                        value: function (e) {
-                          b('`getComputedAttribute` is deprecated. Use `getAttribute` instead.'),
-                            this.getAttribute(e)
-                        },
-                      },
-                      getDOMAttribute: {
-                        value: function (e) {
-                          var t = this.systems[e]
-                          return t ? t.data : h.prototype.getDOMAttribute.call(this, e)
-                        },
-                      },
-                      setAttribute: {
-                        value: function (e, t, n) {
-                          var r = this.systems[e]
-                          if (r)
-                            return (
-                              d.prototype.setAttribute.call(this, e, t), void r.updateProperties(t)
-                            )
-                          h.prototype.setAttribute.call(this, e, t, n)
-                        },
-                      },
-                      removeBehavior: {
-                        value: function (e) {
-                          var t,
-                            n,
-                            r,
-                            i = this.behaviors
-                          for (n in i)
-                            e[n] &&
-                              -1 !== (r = (t = this.behaviors[n]).indexOf(e)) &&
-                              t.splice(r, 1)
-                        },
-                      },
-                      resize: {
-                        value: function () {
-                          var e,
-                            t,
-                            n = this.camera,
-                            r = this.canvas,
-                            i = this.renderer.xr.isPresenting
-                          ;(e = this.renderer.xr.enabled && i),
-                            !n ||
-                              !r ||
-                              (this.is('vr-mode') && (this.isMobile || e)) ||
-                              ((t = A(
-                                r,
-                                this.getAttribute('embedded') && !this.is('vr-mode'),
-                                this.maxCanvasSize,
-                                this.is('vr-mode'),
-                              )),
-                              (n.aspect = t.width / t.height),
-                              n.updateProjectionMatrix(),
-                              this.renderer.setSize(t.width, t.height, !1),
-                              this.emit('rendererresize', null, !1))
-                        },
-                        writable: !0,
-                      },
-                      setupRenderer: {
-                        value: function () {
-                          var e,
-                            t,
-                            n,
-                            r,
-                            i = this
-                          ;(r = {
-                            alpha: !0,
-                            antialias: !v,
-                            canvas: this.canvas,
-                            logarithmicDepthBuffer: !1,
-                            powerPreference: 'high-performance',
-                          }),
-                            (this.maxCanvasSize = { height: 1920, width: 1920 }),
-                            this.hasAttribute('renderer') &&
-                              ((n = this.getAttribute('renderer')),
-                              (t = u.styleParser.parse(n)).precision &&
-                                (r.precision = t.precision + 'p'),
-                              t.antialias &&
-                                'auto' !== t.antialias &&
-                                (r.antialias = 'true' === t.antialias),
-                              t.logarithmicDepthBuffer &&
-                                'auto' !== t.logarithmicDepthBuffer &&
-                                (r.logarithmicDepthBuffer = 'true' === t.logarithmicDepthBuffer),
-                              t.alpha && (r.alpha = 'true' === t.alpha),
-                              (this.maxCanvasSize = {
-                                width: t.maxCanvasWidth
-                                  ? parseInt(t.maxCanvasWidth)
-                                  : this.maxCanvasSize.width,
-                                height: t.maxCanvasHeight
-                                  ? parseInt(t.maxCanvasHeight)
-                                  : this.maxCanvasSize.height,
-                              })),
-                            (e = this.renderer = new c.WebGLRenderer(r)).setPixelRatio(
-                              window.devicePixelRatio,
-                            ),
-                            (e.sortObjects = !1),
-                            this.camera && e.xr.setPoseTarget(this.camera.el.object3D),
-                            this.addEventListener('camera-set-active', function () {
-                              e.xr.setPoseTarget(i.camera.el.object3D)
-                            })
-                        },
-                        writable: window.debug,
-                      },
-                      play: {
-                        value: function () {
-                          var e = this,
-                            t = this
-                          this.renderStarted
-                            ? h.prototype.play.call(this)
-                            : (this.addEventListener('loaded', function () {
-                                var e,
-                                  n = this.renderer,
-                                  r = this.renderer.xr
-                                h.prototype.play.call(this),
-                                  t.renderStarted ||
-                                    (t.resize(),
-                                    t.renderer &&
-                                      (window.performance &&
-                                        window.performance.mark('render-started'),
-                                      o.remove(),
-                                      (e = u.device.getVRDisplay()) &&
-                                        e.isPresenting &&
-                                        (r.setDevice(e), (r.enabled = !0), t.enterVR()),
-                                      n.setAnimationLoop(this.render),
-                                      (t.renderStarted = !0),
-                                      t.emit('renderstart')))
-                              }),
-                              setTimeout(function () {
-                                h.prototype.load.call(e)
-                              }))
-                        },
-                      },
-                      updateComponent: {
-                        value: function (e) {
-                          e in l || h.prototype.updateComponent.apply(this, arguments)
-                        },
-                      },
-                      tick: {
-                        value: function (e, t) {
-                          var n,
-                            r = this.systems
-                          for (n = 0; n < this.behaviors.tick.length; n++)
-                            this.behaviors.tick[n].el.isPlaying && this.behaviors.tick[n].tick(e, t)
-                          for (n = 0; n < this.systemNames.length; n++)
-                            r[this.systemNames[n]].tick && r[this.systemNames[n]].tick(e, t)
-                        },
-                      },
-                      tock: {
-                        value: function (e, t, n) {
-                          var r,
-                            i = this.systems
-                          for (r = 0; r < this.behaviors.tock.length; r++)
-                            this.behaviors.tock[r].el.isPlaying &&
-                              this.behaviors.tock[r].tock(e, t, n)
-                          for (r = 0; r < this.systemNames.length; r++)
-                            i[this.systemNames[r]].tock && i[this.systemNames[r]].tock(e, t, n)
-                        },
-                      },
-                      render: {
-                        value: function (e, t) {
-                          var n = this.renderer
-                          ;(this.frame = t),
-                            (this.delta = 1e3 * this.clock.getDelta()),
-                            (this.time = 1e3 * this.clock.elapsedTime),
-                            this.isPlaying && this.tick(this.time, this.delta)
-                          var r = null
-                          this.is('ar-mode') &&
-                            ((r = this.object3D.background), (this.object3D.background = null)),
-                            n.render(this.object3D, this.camera),
-                            r && (this.object3D.background = r)
-                        },
-                        writable: !0,
-                      },
-                    }),
-                  })),
-                  (t.exports.setupCanvas = M)
-              },
-              {
-                '../../lib/three': 179,
-                '../../utils/': 205,
-                '../../utils/ios-orientationchange-blank-bug': 206,
-                '../a-entity': 127,
-                '../a-node': 129,
-                '../a-register-element': 130,
-                '../system': 142,
-                './loadingScreen': 135,
-                './metaTags': 136,
-                './postMessage': 137,
-                './scenes': 138,
-                './wakelock': 139,
-              },
-            ],
-            135: [
-              function (e, t, n) {
-                var r,
-                  i,
-                  o,
-                  a = e('../../utils/').styleParser,
-                  s = 'loading-screen',
-                  l = 'a-loader-title'
-                function c(e) {
-                  var t = r.hasAttribute('embedded'),
-                    n = o(r.canvas, t, r.maxCanvasSize, r.is('vr-mode'))
-                  ;(e.aspect = n.width / n.height),
-                    e.updateProjectionMatrix(),
-                    r.renderer.setSize(n.width, n.height, !1)
-                }
-                function u() {
-                  ;((i = document.createElement('div')).className = l),
-                    (i.innerHTML = document.title),
-                    (i.style.display = 'none'),
-                    r.appendChild(i)
-                }
-                ;(t.exports.setup = function (e, t) {
-                  o = t
-                  var n,
-                    l,
-                    h,
-                    d,
-                    p,
-                    f,
-                    m,
-                    v,
-                    g,
-                    y,
-                    b = (r = e).hasAttribute(s) ? a.parse(r.getAttribute(s)) : void 0,
-                    A = (b && b.dotsColor) || 'white',
-                    w = (b && b.backgroundColor) || '#24CAFF'
-                  ;(void 0 === b || 'true' === b.enabled || void 0 === b.enabled) &&
-                    ((n = new THREE.Scene()),
-                    (l = new THREE.SphereGeometry(0.2, 36, 18, 0, 2 * Math.PI, 0, Math.PI)),
-                    (h = new THREE.MeshBasicMaterial({ color: A })),
-                    (d = new THREE.Mesh(l, h)),
-                    (p = d.clone()),
-                    (f = d.clone()),
-                    (m = new THREE.PerspectiveCamera(
-                      80,
-                      window.innerWidth / window.innerHeight,
-                      5e-4,
-                      1e4,
-                    )),
-                    (v = new THREE.Clock()),
-                    (g = 0),
-                    (y = function () {
-                      r.renderer.render(n, m),
-                        (g = v.getElapsedTime() % 4),
-                        (d.visible = g >= 1),
-                        (p.visible = g >= 2),
-                        (f.visible = g >= 3)
-                    }),
-                    (n.background = new THREE.Color(w)),
-                    n.add(m),
-                    d.position.set(-1, 0, -15),
-                    p.position.set(0, 0, -15),
-                    f.position.set(1, 0, -15),
-                    m.add(d),
-                    m.add(p),
-                    m.add(f),
-                    u(),
-                    setTimeout(function () {
-                      r.hasLoaded ||
-                        (c(m),
-                        (i.style.display = 'block'),
-                        window.addEventListener('resize', function () {
-                          c(m)
-                        }),
-                        r.renderer.setAnimationLoop(y))
-                    }, 200))
-                }),
-                  (t.exports.remove = function () {
-                    window.removeEventListener('resize', c), i && (i.style.display = 'none')
-                  })
-              },
-              { '../../utils/': 205 },
-            ],
-            136: [
-              function (e, t, n) {
-                var r = e('../../constants/'),
-                  i = e('../../utils').extend,
-                  o = (t.exports.MOBILE_HEAD_TAGS = [
-                    s({
-                      name: 'viewport',
-                      content:
-                        'width=device-width,initial-scale=1,maximum-scale=1,shrink-to-fit=no,user-scalable=no,minimal-ui,viewport-fit=cover',
-                    }),
-                    s({ name: 'mobile-web-app-capable', content: 'yes' }),
-                    s({ name: 'theme-color', content: 'black' }),
-                  ]),
-                  a = [
-                    s({ name: 'apple-mobile-web-app-capable', content: 'yes' }),
-                    s({ name: 'apple-mobile-web-app-status-bar-style', content: 'black' }),
-                    l({
-                      rel: 'apple-touch-icon',
-                      href: 'https://aframe.io/images/aframe-logo-152.png',
-                    }),
-                  ]
-                function s(e) {
-                  return {
-                    tagName: 'meta',
-                    attributes: e,
-                    exists: function () {
-                      return document.querySelector('meta[name="' + e.name + '"]')
-                    },
-                  }
-                }
-                function l(e) {
-                  return {
-                    tagName: 'link',
-                    attributes: e,
-                    exists: function () {
-                      return document.querySelector('link[rel="' + e.rel + '"]')
-                    },
-                  }
-                }
-                function c(e) {
-                  if (e && e.tagName) {
-                    var t = document.createElement(e.tagName)
-                    return t.setAttribute(r.AFRAME_INJECTED, ''), i(t, e.attributes)
-                  }
-                }
-                t.exports.inject = function (e) {
-                  var t,
-                    n = document.head,
-                    r = n.querySelector('script'),
-                    i = []
-                  return o.forEach(s), e.isIOS && a.forEach(s), i
-                  function s(e) {
-                    e &&
-                      !e.exists() &&
-                      (t = c(e)) &&
-                      (r ? r.parentNode.insertBefore(t, r) : n.appendChild(t), i.push(t))
-                  }
-                }
-              },
-              { '../../constants/': 123, '../../utils': 205 },
-            ],
-            137: [
-              function (e, t, n) {
-                var r = e('../../utils/bind'),
-                  i = e('../../utils/').isIframed
-                function o(e) {
-                  var t = this
-                  if (e.data)
-                    switch (e.data.type) {
-                      case 'vr':
-                        switch (e.data.data) {
-                          case 'enter':
-                            t.enterVR()
-                            break
-                          case 'exit':
-                            t.exitVR()
-                        }
-                    }
-                }
-                t.exports = function (e) {
-                  i() && window.addEventListener('message', r(o, e))
-                }
-              },
-              { '../../utils/': 205, '../../utils/bind': 199 },
-            ],
-            138: [
-              function (e, t, n) {
-                t.exports = []
-              },
-              {},
-            ],
-            139: [
-              function (e, t, n) {
-                var r = e('../../../vendor/wakelock/wakelock')
-                t.exports = function (e) {
-                  if (e.isMobile) {
-                    var t = (e.wakelock = new r())
-                    e.addEventListener('enter-vr', function () {
-                      t.request()
-                    }),
-                      e.addEventListener('exit-vr', function () {
-                        t.release()
-                      })
-                  }
-                }
-              },
-              { '../../../vendor/wakelock/wakelock': 220 },
-            ],
-            140: [
-              function (e, t, n) {
-                var r = e('../utils/'),
-                  i = e('./propertyTypes'),
-                  o = r.debug,
-                  a = i.isValidDefaultValue,
-                  s = i.propertyTypes,
-                  l = o('core:schema:warn')
-                function c(e) {
-                  return 'type' in e ? 'string' === typeof e.type : 'default' in e
-                }
-                function u(e, t) {
-                  var n,
-                    r,
-                    i = e.default,
-                    o = e.type
-                  return (
-                    e.type
-                      ? 'bool' === e.type
-                        ? (o = 'boolean')
-                        : 'float' === e.type && (o = 'number')
-                      : (o =
-                          void 0 === i || ('boolean' !== typeof i && 'number' !== typeof i)
-                            ? Array.isArray(i)
-                              ? 'array'
-                              : 'string'
-                            : typeof i),
-                    (r = s[o]) || l('Unknown property type for component `' + t + '`: ' + o),
-                    (n = !!e.parse),
-                    (e.parse = e.parse || r.parse),
-                    (e.stringify = e.stringify || r.stringify),
-                    (e.type = o),
-                    'default' in e
-                      ? n ||
-                        a(o, i) ||
-                        l(
-                          'Default value `' +
-                            i +
-                            '` does not match type `' +
-                            o +
-                            '` in component `' +
-                            t +
-                            '`',
-                        )
-                      : (e.default = r.default),
-                    e
-                  )
-                }
-                function h(e, t) {
-                  return (
-                    (void 0 !== e && null !== e && '' !== e) ||
-                      ((e = t.default), Array.isArray(e) && (e = e.slice())),
-                    t.parse(e, t.default)
-                  )
-                }
-                function d(e, t) {
-                  return 'object' !== typeof e
-                    ? e
-                    : t && null !== e
-                    ? t.stringify(e)
-                    : JSON.stringify(e)
-                }
-                ;(t.exports.isSingleProperty = c),
-                  (t.exports.process = function (e, t) {
-                    var n
-                    if (c(e)) return u(e, t)
-                    for (n in e) e[n] = u(e[n], t)
-                    return e
-                  }),
-                  (t.exports.processPropertyDefinition = u),
-                  (t.exports.parseProperties = (function () {
-                    var e = []
-                    return function (t, n, r, i, o) {
-                      var a, s, c, u
-                      for (s in ((e.length = 0), r ? t : n)) (r && void 0 === t[s]) || e.push(s)
-                      if (null === t || 'object' !== typeof t) return t
-                      for (s in t)
-                        void 0 === t[s] ||
-                          n[s] ||
-                          o ||
-                          l('Unknown property `' + s + '` for component/system `' + i + '`.')
-                      for (a = 0; a < e.length; a++) {
-                        if (((c = n[(s = e[a])]), (u = t[s]), !n[s])) return
-                        t[s] = h(u, c)
-                      }
-                      return t
-                    }
-                  })()),
-                  (t.exports.parseProperty = h),
-                  (t.exports.stringifyProperties = function (e, t) {
-                    var n,
-                      r,
-                      i,
-                      o,
-                      a = {}
-                    for (n in e)
-                      (r = t[n]),
-                        'object' === typeof (o = i = e[n]) &&
-                          ((o = d(i, r)), r || l('Unknown component property: ' + n)),
-                        (a[n] = o)
-                    return a
-                  }),
-                  (t.exports.stringifyProperty = d)
-              },
-              { '../utils/': 205, './propertyTypes': 133 },
-            ],
-            141: [
-              function (e, t, n) {
-                var r = e('./schema').process,
-                  i = (t.exports.shaders = {}),
-                  o = (t.exports.shaderNames = []),
-                  a = e('../lib/three'),
-                  s = e('../utils'),
-                  l = {
-                    array: 'v3',
-                    color: 'v3',
-                    int: 'i',
-                    number: 'f',
-                    map: 't',
-                    time: 'f',
-                    vec2: 'v2',
-                    vec3: 'v3',
-                    vec4: 'v4',
-                  },
-                  c = (t.exports.Shader = function () {})
-                ;(c.prototype = {
-                  schema: {},
-                  vertexShader:
-                    'void main() {gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);}',
-                  fragmentShader: 'void main() {gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);}',
-                  init: function (e) {
-                    return (
-                      (this.attributes = this.initVariables(e, 'attribute')),
-                      (this.uniforms = this.initVariables(e, 'uniform')),
-                      (this.material = new (this.raw ? a.RawShaderMaterial : a.ShaderMaterial)({
-                        uniforms: this.uniforms,
-                        vertexShader: this.vertexShader,
-                        fragmentShader: this.fragmentShader,
-                      })),
-                      this.material
-                    )
-                  },
-                  initVariables: function (e, t) {
-                    var n,
-                      r,
-                      i = this.schema,
-                      o = {}
-                    for (n in i)
-                      i[n].is === t && ((r = l[i[n].type]), (o[n] = { type: r, value: void 0 }))
-                    return o
-                  },
-                  update: function (e) {
-                    this.updateVariables(e, 'attribute'), this.updateVariables(e, 'uniform')
-                  },
-                  updateVariables: function (e, t) {
-                    var n,
-                      r,
-                      i,
-                      o = this.schema
-                    for (n in ((i = 'uniform' === t ? this.uniforms : this.attributes), e))
-                      if (o[n] && o[n].is === t)
-                        if ('map' !== o[n].type)
-                          (i[n].value = this.parseValue(o[n].type, e[n])), (i[n].needsUpdate = !0)
-                        else {
-                          if (!i[n] || i[n].value === e[n]) continue
-                          ;(r = '_texture_' + n),
-                            this.setMapOnTextureLoad(i, n, r),
-                            s.material.updateMapMaterialFromData(r, n, this, e)
-                        }
-                  },
-                  parseValue: function (e, t) {
-                    var n
-                    switch (e) {
-                      case 'vec2':
-                        return new a.Vector2(t.x, t.y)
-                      case 'vec3':
-                        return new a.Vector3(t.x, t.y, t.z)
-                      case 'vec4':
-                        return new a.Vector4(t.x, t.y, t.z, t.w)
-                      case 'color':
-                        return (n = new a.Color(t)), new a.Vector3(n.r, n.g, n.b)
-                      case 'map':
-                        return a.ImageUtils.loadTexture(t)
-                      default:
-                        return t
-                    }
-                  },
-                  setMapOnTextureLoad: function (e, t, n) {
-                    var r = this
-                    this.el.addEventListener('materialtextureloaded', function () {
-                      ;(e[t].value = r.material[n]), (e[t].needsUpdate = !0)
-                    })
-                  },
-                }),
-                  (t.exports.registerShader = function (e, t) {
-                    var n,
-                      a = {}
-                    if (
-                      (Object.keys(t).forEach(function (e) {
-                        a[e] = { value: t[e], writable: !0 }
-                      }),
-                      i[e])
-                    )
-                      throw new Error('The shader ' + e + ' has been already registered')
-                    return (
-                      ((n = function () {
-                        c.call(this)
-                      }).prototype = Object.create(c.prototype, a)),
-                      (n.prototype.name = e),
-                      (n.prototype.constructor = n),
-                      (i[e] = { Shader: n, schema: r(n.prototype.schema) }),
-                      o.push(e),
-                      n
-                    )
-                  })
-              },
-              { '../lib/three': 179, '../utils': 205, './schema': 140 },
-            ],
-            142: [
-              function (e, t, n) {
-                var r = e('./component'),
-                  i = e('./schema'),
-                  o = e('../utils/'),
-                  a = i.parseProperties,
-                  s = i.parseProperty,
-                  l = i.process,
-                  c = i.isSingleProperty,
-                  u = o.styleParser,
-                  h = (t.exports.systems = {}),
-                  d = (t.exports.System = function (e) {
-                    var t = r && r.components[this.name]
-                    ;(this.el = e),
-                      (this.sceneEl = e),
-                      t && (t.Component.prototype.system = this),
-                      this.buildData(),
-                      this.init(),
-                      this.update({})
-                  })
-                ;(d.prototype = {
-                  schema: {},
-                  init: function () {},
-                  update: function (e) {},
-                  updateProperties: function (e) {
-                    var t = this.data
-                    Object.keys(i).length && (this.buildData(e), this.update(t))
-                  },
-                  buildData: function (e) {
-                    var t = this.schema
-                    Object.keys(t).length &&
-                      ((e =
-                        e ||
-                        window.HTMLElement.prototype.getAttribute.call(this.sceneEl, this.name)),
-                      c(t) ? (this.data = s(e, t)) : (this.data = a(u.parse(e) || {}, t)))
-                  },
-                  tick: void 0,
-                  tock: void 0,
-                  play: function () {},
-                  pause: function () {},
-                }),
-                  (t.exports.registerSystem = function (e, t) {
-                    var n,
-                      r,
-                      i = {},
-                      a = o.findAllScenes(document)
-                    if (
-                      (Object.keys(t).forEach(function (e) {
-                        i[e] = { value: t[e], writable: !0 }
-                      }),
-                      h[e])
-                    )
-                      throw new Error(
-                        'The system `' +
-                          e +
-                          '` has been already registered. Check that you are not loading two versions of the same system or two different systems of the same name.',
-                      )
-                    for (
-                      (r = function (e) {
-                        d.call(this, e)
-                      }).prototype = Object.create(d.prototype, i),
-                        r.prototype.name = e,
-                        r.prototype.constructor = r,
-                        r.prototype.schema = o.extend(l(r.prototype.schema)),
-                        h[e] = r,
-                        n = 0;
-                      n < a.length;
-                      n++
-                    )
-                      a[n].initSystem(e)
-                  })
-              },
-              { '../utils/': 205, './component': 131, './schema': 140 },
-            ],
-            143: [
-              function (e, t, n) {
-                e('./pivot')
-              },
-              { './pivot': 144 },
-            ],
-            144: [
-              function (e, t, n) {
-                var r = e('../../core/component').registerComponent,
-                  i = e('../../lib/three'),
-                  o = new i.Vector3(),
-                  a = new i.Vector3()
-                r('pivot', {
-                  dependencies: ['position'],
-                  schema: { type: 'vec3' },
-                  init: function () {
-                    var e = this.data,
-                      t = this.el,
-                      n = t.object3D.parent,
-                      r = t.object3D,
-                      s = new i.Group()
-                    o.copy(r.position),
-                      a.copy(r.rotation),
-                      n.remove(r),
-                      s.add(r),
-                      n.add(s),
-                      (t.object3D = s),
-                      r.position.set(-1 * e.x, -1 * e.y, -1 * e.z),
-                      s.position.set(e.x + o.x, e.y + o.y, e.z + o.z),
-                      s.rotation.copy(r.rotation),
-                      r.rotation.set(0, 0, 0)
-                  },
-                })
-              },
-              { '../../core/component': 131, '../../lib/three': 179 },
-            ],
-            145: [
-              function (e, t, n) {
-                var r = e('../../core/component').components,
-                  i = e('../../core/shader').shaders,
-                  o = e('../../utils/'),
-                  a = {}
-                function s(e) {
-                  var t = e.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()
-                  'fog' === e && (t = 'material-fog'),
-                    'visible' === e && (t = 'material-visible'),
-                    (a[t] = 'material.' + e)
-                }
-                Object.keys(r.material.schema).forEach(s),
-                  Object.keys(i.standard.schema).forEach(s),
-                  (t.exports = function () {
-                    return { defaultComponents: { material: {} }, mappings: o.extend({}, a) }
-                  })
-              },
-              { '../../core/component': 131, '../../core/shader': 141, '../../utils/': 205 },
-            ],
-            146: [
-              function (e, t, n) {
-                e('./primitives/a-camera'),
-                  e('./primitives/a-cursor'),
-                  e('./primitives/a-curvedimage'),
-                  e('./primitives/a-gltf-model'),
-                  e('./primitives/a-image'),
-                  e('./primitives/a-light'),
-                  e('./primitives/a-link'),
-                  e('./primitives/a-obj-model'),
-                  e('./primitives/a-sky'),
-                  e('./primitives/a-sound'),
-                  e('./primitives/a-text'),
-                  e('./primitives/a-video'),
-                  e('./primitives/a-videosphere'),
-                  e('./primitives/meshPrimitives')
-              },
-              {
-                './primitives/a-camera': 148,
-                './primitives/a-cursor': 149,
-                './primitives/a-curvedimage': 150,
-                './primitives/a-gltf-model': 151,
-                './primitives/a-image': 152,
-                './primitives/a-light': 153,
-                './primitives/a-link': 154,
-                './primitives/a-obj-model': 155,
-                './primitives/a-sky': 156,
-                './primitives/a-sound': 157,
-                './primitives/a-text': 158,
-                './primitives/a-video': 159,
-                './primitives/a-videosphere': 160,
-                './primitives/meshPrimitives': 161,
-              },
-            ],
-            147: [
-              function (e, t, n) {
-                var r = e('../../core/a-entity'),
-                  i = e('../../core/component').components,
-                  o = e('../../core/a-register-element').registerElement,
-                  a = e('../../utils/'),
-                  s = a.debug,
-                  l = a.entity.setComponentProperty,
-                  c = s('extras:primitives:debug'),
-                  u = s('extras:primitives:warn'),
-                  h = (t.exports.primitives = {})
-                function d(e, t) {
-                  var n = i[e].schema
-                  Object.keys(n).map(function (n) {
-                    var r = n.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()
-                    void 0 !== t[r] && (r = e + '-' + n), (t[r] = e + '.' + n)
-                  })
-                }
-                function p(e, n, r) {
-                  ;(r = r || {}),
-                    Object.keys(n).map(function (e) {
-                      d(e, r)
-                    }),
-                    t.exports.registerPrimitive(
-                      e,
-                      a.extendDeep({}, null, { defaultComponents: n, mappings: r }),
-                    )
-                }
-                ;(t.exports.registerPrimitive = function (e, t) {
-                  ;(e = e.toLowerCase()),
-                    c('Registering <%s>', e),
-                    t.defaultAttributes &&
-                      u(
-                        "The 'defaultAttributes' object is deprecated. Use 'defaultComponents' instead.",
-                      )
-                  var n = o(e, {
-                    prototype: Object.create(r.prototype, {
-                      defaultComponentsFromPrimitive: {
-                        value: t.defaultComponents || t.defaultAttributes || {},
-                      },
-                      deprecated: { value: t.deprecated || null },
-                      deprecatedMappings: { value: t.deprecatedMappings || {} },
-                      mappings: { value: t.mappings || {} },
-                      createdCallback: {
-                        value: function () {
-                          t.deprecated && console.warn(t.deprecated),
-                            this.resolveMappingCollisions()
-                        },
-                      },
-                      resolveMappingCollisions: {
-                        value: function () {
-                          var e = this.mappings,
-                            t = this
-                          Object.keys(e).forEach(function (n) {
-                            var r
-                            n !== n.toLowerCase() &&
-                              u(
-                                'Mapping keys should be specified in lower case. The mapping key ' +
-                                  n +
-                                  ' may not be recognized',
-                              ),
-                              i[n] &&
-                                ((r = e[n].replace('.', '-')),
-                                (e[r] = e[n]),
-                                delete e[n],
-                                console.warn(
-                                  'The primitive ' +
-                                    t.tagName.toLowerCase() +
-                                    ' has a mapping collision. The attribute ' +
-                                    n +
-                                    ' has the same name as a registered component and has been renamed to ' +
-                                    r,
-                                ))
-                          })
-                        },
-                      },
-                      getExtraComponents: {
-                        value: function () {
-                          var e,
-                            t,
-                            n,
-                            r,
-                            i,
-                            o,
-                            s = this
-                          for (
-                            t = a.clone(this.defaultComponentsFromPrimitive),
-                              (i = this.getAttribute('mixin')) &&
-                                (i = i.trim().split(' ')).forEach(function (e) {
-                                  var n = s.sceneEl.querySelector('#' + e).componentCache
-                                  Object.keys(n).forEach(function (e) {
-                                    t[e] = l(t[e], n[e])
-                                  })
-                                }),
-                              n = 0;
-                            n < this.attributes.length;
-                            n++
-                          )
-                            (e = this.attributes[n]),
-                              (r = this.mappings[e.name]) &&
-                                ((o = a.entity.getComponentPropertyPath(r)).constructor === Array
-                                  ? ((t[o[0]] = t[o[0]] || {}), (t[o[0]][o[1]] = e.value.trim()))
-                                  : (t[o] = e.value.trim()))
-                          return t
-                          function l(e, t) {
-                            return c(e)
-                              ? u(t)
-                              : c(t)
-                              ? u(e)
-                              : h(e) && h(t)
-                              ? a.extendDeep(e, t)
-                              : u(t)
-                          }
-                          function c(e) {
-                            return 'undefined' === typeof e
-                          }
-                          function u(e) {
-                            return h(e) ? a.extendDeep({}, e) : e
-                          }
-                          function h(e) {
-                            return null !== e && e.constructor === Object
-                          }
-                        },
-                      },
-                      attributeChangedCallback: {
-                        value: function (e, t, n) {
-                          var r = this.mappings[e]
-                          e in this.deprecatedMappings && console.warn(this.deprecatedMappings[e]),
-                            e && r && l(this, r, n)
-                        },
-                      },
-                    }),
-                  })
-                  return (h[e] = n), n
-                }),
-                  (t.exports.definePrimitive = p)
-              },
-              {
-                '../../core/a-entity': 127,
-                '../../core/a-register-element': 130,
-                '../../core/component': 131,
-                '../../utils/': 205,
-              },
-            ],
-            148: [
-              function (e, t, n) {
-                ;(0, e('../primitives').registerPrimitive)('a-camera', {
-                  defaultComponents: {
-                    camera: {},
-                    'look-controls': {},
-                    'wasd-controls': {},
-                    position: { x: 0, y: 1.6, z: 0 },
-                  },
-                  mappings: {
-                    active: 'camera.active',
-                    far: 'camera.far',
-                    fov: 'camera.fov',
-                    'look-controls-enabled': 'look-controls.enabled',
-                    near: 'camera.near',
-                    'pointer-lock-enabled': 'look-controls.pointerLockEnabled',
-                    'wasd-controls-enabled': 'wasd-controls.enabled',
-                    'reverse-mouse-drag': 'look-controls.reverseMouseDrag',
-                    zoom: 'camera.zoom',
-                  },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            149: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-cursor',
-                  e('../../../utils/').extendDeep({}, r(), {
-                    defaultComponents: {
-                      cursor: {},
-                      geometry: {
-                        primitive: 'ring',
-                        radiusOuter: 0.016,
-                        radiusInner: 0.01,
-                        segmentsTheta: 32,
-                      },
-                      material: { color: '#000', shader: 'flat', opacity: 0.8 },
-                      position: { x: 0, y: 0, z: -1 },
-                    },
-                    mappings: {
-                      far: 'raycaster.far',
-                      fuse: 'cursor.fuse',
-                      'fuse-timeout': 'cursor.fuseTimeout',
-                      interval: 'raycaster.interval',
-                      objects: 'raycaster.objects',
-                    },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            150: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-curvedimage',
-                  e('../../../utils/').extendDeep({}, r(), {
-                    defaultComponents: {
-                      geometry: {
-                        height: 1,
-                        primitive: 'cylinder',
-                        radius: 2,
-                        segmentsRadial: 48,
-                        thetaLength: 270,
-                        openEnded: !0,
-                        thetaStart: 0,
-                      },
-                      material: {
-                        color: '#FFF',
-                        shader: 'flat',
-                        side: 'double',
-                        transparent: !0,
-                        repeat: '-1 1',
-                      },
-                    },
-                    mappings: {
-                      height: 'geometry.height',
-                      'open-ended': 'geometry.openEnded',
-                      radius: 'geometry.radius',
-                      segments: 'geometry.segmentsRadial',
-                      start: 'geometry.thetaStart',
-                      'theta-length': 'geometry.thetaLength',
-                      'theta-start': 'geometry.thetaStart',
-                      width: 'geometry.thetaLength',
-                    },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            151: [
-              function (e, t, n) {
-                ;(0, e('../primitives').registerPrimitive)('a-gltf-model', {
-                  mappings: { src: 'gltf-model' },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            152: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-image',
-                  e('../../../utils/').extendDeep({}, r(), {
-                    defaultComponents: {
-                      geometry: { primitive: 'plane' },
-                      material: { color: '#FFF', shader: 'flat', side: 'double', transparent: !0 },
-                    },
-                    mappings: { height: 'geometry.height', width: 'geometry.width' },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            153: [
-              function (e, t, n) {
-                ;(0, e('../primitives').registerPrimitive)('a-light', {
-                  defaultComponents: { light: {} },
-                  mappings: {
-                    angle: 'light.angle',
-                    color: 'light.color',
-                    'ground-color': 'light.groundColor',
-                    decay: 'light.decay',
-                    distance: 'light.distance',
-                    intensity: 'light.intensity',
-                    penumbra: 'light.penumbra',
-                    type: 'light.type',
-                    target: 'light.target',
-                  },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            154: [
-              function (e, t, n) {
-                ;(0, e('../primitives').registerPrimitive)('a-link', {
-                  defaultComponents: { link: { visualAspectEnabled: !0 } },
-                  mappings: { href: 'link.href', image: 'link.image', title: 'link.title' },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            155: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')()
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-obj-model',
-                  e('../../../utils/').extendDeep({}, r, {
-                    defaultComponents: { 'obj-model': {} },
-                    mappings: { src: 'obj-model.obj', mtl: 'obj-model.mtl' },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            156: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin'),
-                  i = e('../primitives').registerPrimitive,
-                  o = e('../../../utils/'),
-                  a = e('./meshPrimitives')
-                i(
-                  'a-sky',
-                  o.extendDeep({}, r(), {
-                    defaultComponents: {
-                      geometry: {
-                        primitive: 'sphere',
-                        radius: 500,
-                        segmentsWidth: 64,
-                        segmentsHeight: 32,
-                      },
-                      material: { color: '#FFF', side: 'back', shader: 'flat', npot: !0 },
-                      scale: '-1 1 1',
-                    },
-                    mappings: o.extendDeep({}, a['a-sphere'].prototype.mappings),
-                  }),
-                )
-              },
-              {
-                '../../../utils/': 205,
-                '../getMeshMixin': 145,
-                '../primitives': 147,
-                './meshPrimitives': 161,
-              },
-            ],
-            157: [
-              function (e, t, n) {
-                ;(0, e('../primitives').registerPrimitive)('a-sound', {
-                  defaultComponents: { sound: {} },
-                  mappings: {
-                    src: 'sound.src',
-                    on: 'sound.on',
-                    autoplay: 'sound.autoplay',
-                    loop: 'sound.loop',
-                    volume: 'sound.volume',
-                  },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            158: [
-              function (e, t, n) {
-                ;(0, e('../primitives').definePrimitive)('a-text', {
-                  text: { anchor: 'align', width: 5 },
-                })
-              },
-              { '../primitives': 147 },
-            ],
-            159: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-video',
-                  e('../../../utils/').extendDeep({}, r(), {
-                    defaultComponents: {
-                      geometry: { primitive: 'plane' },
-                      material: { color: '#FFF', shader: 'flat', side: 'double', transparent: !0 },
-                    },
-                    mappings: { height: 'geometry.height', width: 'geometry.width' },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            160: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin')
-                ;(0, e('../primitives').registerPrimitive)(
-                  'a-videosphere',
-                  e('../../../utils/').extendDeep({}, r(), {
-                    defaultComponents: {
-                      geometry: {
-                        primitive: 'sphere',
-                        radius: 500,
-                        segmentsWidth: 64,
-                        segmentsHeight: 32,
-                      },
-                      material: { color: '#FFF', shader: 'flat', side: 'back', npot: !0 },
-                      scale: '-1 1 1',
-                    },
-                    mappings: {
-                      radius: 'geometry.radius',
-                      'segments-height': 'geometry.segmentsHeight',
-                      'segments-width': 'geometry.segmentsWidth',
-                    },
-                  }),
-                )
-              },
-              { '../../../utils/': 205, '../getMeshMixin': 145, '../primitives': 147 },
-            ],
-            161: [
-              function (e, t, n) {
-                var r = e('../getMeshMixin'),
-                  i = e('../../../core/geometry').geometries,
-                  o = e('../../../core/geometry').geometryNames,
-                  a = e('../primitives').registerPrimitive,
-                  s = e('../../../utils/'),
-                  l = (t.exports = {})
-                function c(e) {
-                  return e.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()
-                }
-                o.forEach(function (e) {
-                  var t = i[e],
-                    n = c(e),
-                    o = {}
-                  Object.keys(t.schema).forEach(function (e) {
-                    o[c(e)] = 'geometry.' + e
-                  })
-                  var u = 'a-' + n,
-                    h = a(
-                      u,
-                      s.extendDeep({}, r(), {
-                        defaultComponents: { geometry: { primitive: e } },
-                        mappings: o,
-                      }),
-                    )
-                  l[u] = h
-                })
-              },
-              {
-                '../../../core/geometry': 132,
-                '../../../utils/': 205,
-                '../getMeshMixin': 145,
-                '../primitives': 147,
-              },
-            ],
-            162: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('box', {
-                  schema: {
-                    depth: { default: 1, min: 0 },
-                    height: { default: 1, min: 0 },
-                    width: { default: 1, min: 0 },
-                    segmentsHeight: { default: 1, min: 1, max: 20, type: 'int' },
-                    segmentsWidth: { default: 1, min: 1, max: 20, type: 'int' },
-                    segmentsDepth: { default: 1, min: 1, max: 20, type: 'int' },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.BoxGeometry(
-                      e.width,
-                      e.height,
-                      e.depth,
-                      e.segmentsWidth,
-                      e.segmentsHeight,
-                      e.segmentsDepth,
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            163: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('circle', {
-                  schema: {
-                    radius: { default: 1, min: 0 },
-                    segments: { default: 32, min: 3, type: 'int' },
-                    thetaLength: { default: 360, min: 0 },
-                    thetaStart: { default: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.CircleGeometry(
-                      e.radius,
-                      e.segments,
-                      o(e.thetaStart),
-                      o(e.thetaLength),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            164: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('cone', {
-                  schema: {
-                    height: { default: 1, min: 0 },
-                    openEnded: { default: !1 },
-                    radiusBottom: { default: 1, min: 0 },
-                    radiusTop: { default: 0.01, min: 0 },
-                    segmentsHeight: { default: 18, min: 1, type: 'int' },
-                    segmentsRadial: { default: 36, min: 3, type: 'int' },
-                    thetaLength: { default: 360, min: 0 },
-                    thetaStart: { default: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.CylinderGeometry(
-                      e.radiusTop,
-                      e.radiusBottom,
-                      e.height,
-                      e.segmentsRadial,
-                      e.segmentsHeight,
-                      e.openEnded,
-                      o(e.thetaStart),
-                      o(e.thetaLength),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            165: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('cylinder', {
-                  schema: {
-                    height: { default: 1, min: 0 },
-                    openEnded: { default: !1 },
-                    radius: { default: 1, min: 0 },
-                    segmentsHeight: { default: 18, min: 1, type: 'int' },
-                    segmentsRadial: { default: 36, min: 3, type: 'int' },
-                    thetaLength: { default: 360, min: 0 },
-                    thetaStart: { default: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.CylinderGeometry(
-                      e.radius,
-                      e.radius,
-                      e.height,
-                      e.segmentsRadial,
-                      e.segmentsHeight,
-                      e.openEnded,
-                      o(e.thetaStart),
-                      o(e.thetaLength),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            166: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('dodecahedron', {
-                  schema: {
-                    detail: { default: 0, min: 0, max: 5, type: 'int' },
-                    radius: { default: 1, min: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.DodecahedronGeometry(e.radius, e.detail)
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            167: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('icosahedron', {
-                  schema: {
-                    detail: { default: 0, min: 0, max: 5, type: 'int' },
-                    radius: { default: 1, min: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.IcosahedronGeometry(e.radius, e.detail)
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            168: [
-              function (e, t, n) {
-                e('./box.js'),
-                  e('./circle.js'),
-                  e('./cone.js'),
-                  e('./cylinder.js'),
-                  e('./dodecahedron.js'),
-                  e('./icosahedron.js'),
-                  e('./octahedron.js'),
-                  e('./plane.js'),
-                  e('./ring.js'),
-                  e('./sphere.js'),
-                  e('./tetrahedron.js'),
-                  e('./torus.js'),
-                  e('./torusKnot.js'),
-                  e('./triangle.js')
-              },
-              {
-                './box.js': 162,
-                './circle.js': 163,
-                './cone.js': 164,
-                './cylinder.js': 165,
-                './dodecahedron.js': 166,
-                './icosahedron.js': 167,
-                './octahedron.js': 169,
-                './plane.js': 170,
-                './ring.js': 171,
-                './sphere.js': 172,
-                './tetrahedron.js': 173,
-                './torus.js': 174,
-                './torusKnot.js': 175,
-                './triangle.js': 176,
-              },
-            ],
-            169: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('octahedron', {
-                  schema: {
-                    detail: { default: 0, min: 0, max: 5, type: 'int' },
-                    radius: { default: 1, min: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.OctahedronGeometry(e.radius, e.detail)
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            170: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('plane', {
-                  schema: {
-                    height: { default: 1, min: 0 },
-                    width: { default: 1, min: 0 },
-                    segmentsHeight: { default: 1, min: 1, max: 20, type: 'int' },
-                    segmentsWidth: { default: 1, min: 1, max: 20, type: 'int' },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.PlaneGeometry(
-                      e.width,
-                      e.height,
-                      e.segmentsWidth,
-                      e.segmentsHeight,
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            171: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('ring', {
-                  schema: {
-                    radiusInner: { default: 0.8, min: 0 },
-                    radiusOuter: { default: 1.2, min: 0 },
-                    segmentsPhi: { default: 10, min: 1, type: 'int' },
-                    segmentsTheta: { default: 32, min: 3, type: 'int' },
-                    thetaLength: { default: 360, min: 0 },
-                    thetaStart: { default: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.RingGeometry(
-                      e.radiusInner,
-                      e.radiusOuter,
-                      e.segmentsTheta,
-                      e.segmentsPhi,
-                      o(e.thetaStart),
-                      o(e.thetaLength),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            172: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('sphere', {
-                  schema: {
-                    radius: { default: 1, min: 0 },
-                    phiLength: { default: 360 },
-                    phiStart: { default: 0, min: 0 },
-                    thetaLength: { default: 180, min: 0 },
-                    thetaStart: { default: 0 },
-                    segmentsHeight: { default: 18, min: 2, type: 'int' },
-                    segmentsWidth: { default: 36, min: 3, type: 'int' },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.SphereGeometry(
-                      e.radius,
-                      e.segmentsWidth,
-                      e.segmentsHeight,
-                      o(e.phiStart),
-                      o(e.phiLength),
-                      o(e.thetaStart),
-                      o(e.thetaLength),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            173: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('tetrahedron', {
-                  schema: {
-                    detail: { default: 0, min: 0, max: 5, type: 'int' },
-                    radius: { default: 1, min: 0 },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.TetrahedronGeometry(e.radius, e.detail)
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            174: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = i.Math.degToRad
-                r('torus', {
-                  schema: {
-                    arc: { default: 360 },
-                    radius: { default: 1, min: 0 },
-                    radiusTubular: { default: 0.2, min: 0 },
-                    segmentsRadial: { default: 36, min: 2, type: 'int' },
-                    segmentsTubular: { default: 32, min: 3, type: 'int' },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.TorusGeometry(
-                      e.radius,
-                      2 * e.radiusTubular,
-                      e.segmentsRadial,
-                      e.segmentsTubular,
-                      o(e.arc),
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            175: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three')
-                r('torusKnot', {
-                  schema: {
-                    p: { default: 2, min: 1 },
-                    q: { default: 3, min: 1 },
-                    radius: { default: 1, min: 0 },
-                    radiusTubular: { default: 0.2, min: 0 },
-                    segmentsRadial: { default: 8, min: 3, type: 'int' },
-                    segmentsTubular: { default: 100, min: 3, type: 'int' },
-                  },
-                  init: function (e) {
-                    this.geometry = new i.TorusKnotGeometry(
-                      e.radius,
-                      2 * e.radiusTubular,
-                      e.segmentsTubular,
-                      e.segmentsRadial,
-                      e.p,
-                      e.q,
-                    )
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            176: [
-              function (e, t, n) {
-                var r = e('../core/geometry').registerGeometry,
-                  i = e('../lib/three'),
-                  o = new i.Quaternion(),
-                  a = new i.Vector3(0, 0, 1),
-                  s = new i.Vector2(),
-                  l = new i.Vector2(),
-                  c = new i.Vector2()
-                r('triangle', {
-                  schema: {
-                    vertexA: { type: 'vec3', default: { x: 0, y: 0.5, z: 0 } },
-                    vertexB: { type: 'vec3', default: { x: -0.5, y: -0.5, z: 0 } },
-                    vertexC: { type: 'vec3', default: { x: 0.5, y: -0.5, z: 0 } },
-                  },
-                  init: function (e) {
-                    var t, n, r, u, h, d, p, f, m
-                    ;(r = new i.Triangle()).a.set(e.vertexA.x, e.vertexA.y, e.vertexA.z),
-                      r.b.set(e.vertexB.x, e.vertexB.y, e.vertexB.z),
-                      r.c.set(e.vertexC.x, e.vertexC.y, e.vertexC.z),
-                      (n = r.getNormal(new i.Vector3())),
-                      o.setFromUnitVectors(n, a),
-                      (u = r.a.clone().applyQuaternion(o)),
-                      (h = r.b.clone().applyQuaternion(o)),
-                      (d = r.c.clone().applyQuaternion(o)),
-                      s.set(Math.min(u.x, h.x, d.x), Math.min(u.y, h.y, d.y)),
-                      l.set(Math.max(u.x, h.x, d.x), Math.max(u.y, h.y, d.y)),
-                      c.set(0, 0).subVectors(l, s),
-                      (u = new i.Vector2().subVectors(u, s).divide(c)),
-                      (h = new i.Vector2().subVectors(h, s).divide(c)),
-                      (d = new i.Vector2().subVectors(d, s).divide(c)),
-                      (t = this.geometry = new i.BufferGeometry()),
-                      (p = [r.a.x, r.a.y, r.a.z, r.b.x, r.b.y, r.b.z, r.c.x, r.c.y, r.c.z]),
-                      (f = [n.x, n.y, n.z, n.x, n.y, n.z, n.x, n.y, n.z]),
-                      (m = [u.x, u.y, h.x, h.y, d.x, d.y]),
-                      t.setAttribute('position', new i.Float32BufferAttribute(p, 3)),
-                      t.setAttribute('normal', new i.Float32BufferAttribute(f, 3)),
-                      t.setAttribute('uv', new i.Float32BufferAttribute(m, 2))
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../lib/three': 179 },
-            ],
-            177: [
-              function (e, t, n) {
-                if (
-                  ((window.Promise = window.Promise || e('promise-polyfill')),
-                  (window.hasNativeWebVRImplementation =
-                    !!window.navigator.getVRDisplays || !!window.navigator.getVRDevices),
-                  (window.hasNativeWebXRImplementation = void 0 !== navigator.xr),
-                  !window.hasNativeWebXRImplementation && !window.hasNativeWebVRImplementation)
-                ) {
-                  var r = e('./utils/isIOSOlderThan10')(window.navigator.userAgent)
-                      ? 1 / window.devicePixelRatio
-                      : 1,
-                    i = e('webvr-polyfill'),
-                    o = {
-                      BUFFER_SCALE: r,
-                      CARDBOARD_UI_DISABLED: !0,
-                      ROTATE_INSTRUCTIONS_DISABLED: !0,
-                      MOBILE_WAKE_LOCK: !!window.cordova,
-                    }
-                  window.webvrpolyfill = new i(o)
-                }
-                var a = e('./utils/'),
-                  s = a.debug
-                a.isIE11 && (e('custom-event-polyfill'), e('../vendor/starts-with-polyfill'))
-                var l = s('A-Frame:error'),
-                  c = s('A-Frame:warn')
-                window.document.currentScript &&
-                  window.document.currentScript.parentNode !== window.document.head &&
-                  !window.debug &&
-                  c(
-                    'Put the A-Frame <script> tag in the <head> of the HTML *before* the scene to ensure everything for A-Frame is properly registered before they are used from HTML.',
-                  ),
-                  window.cordova ||
-                    'file:' !== window.location.protocol ||
-                    l(
-                      'This HTML file is currently being served via the file:// protocol. Assets, textures, and models WILL NOT WORK due to cross-origin policy! Please use a local or hosted server: https://aframe.io/docs/0.5.0/introduction/getting-started.html#using-a-local-server.',
-                    ),
-                  e('present'),
-                  a.device.isBrowserEnvironment &&
-                    (e('./style/aframe.css'), e('./style/rStats.css'))
-                var u = e('./core/scene/a-scene').AScene,
-                  h = e('./core/component').components,
-                  d = e('./core/component').registerComponent,
-                  p = e('./core/geometry').registerGeometry,
-                  f = e('./extras/primitives/primitives').registerPrimitive,
-                  m = e('./core/shader').registerShader,
-                  v = e('./core/system').registerSystem,
-                  g = e('./core/shader').shaders,
-                  y = e('./core/system').systems,
-                  b = (window.THREE = e('./lib/three')),
-                  A = e('../package')
-                e('./components/index'),
-                  e('./geometries/index'),
-                  e('./shaders/index'),
-                  e('./systems/index')
-                var w = e('./core/a-node'),
-                  x = e('./core/a-entity')
-                e('./core/a-assets'),
-                  e('./core/a-cubemap'),
-                  e('./core/a-mixin'),
-                  e('./extras/components/'),
-                  e('./extras/primitives/'),
-                  console.log('A-Frame Version: 1.2.0 (Date 2021-02-05, Commit #b220fa00)'),
-                  console.log(
-                    'THREE Version (https://github.com/supermedium/three.js):',
-                    A.dependencies['super-three'],
-                  ),
-                  console.log('WebVR Polyfill Version:', A.dependencies['webvr-polyfill']),
-                  (t.exports = window.AFRAME =
-                    {
-                      AComponent: e('./core/component').Component,
-                      AEntity: x,
-                      ANode: w,
-                      ANIME: e('super-animejs'),
-                      AScene: u,
-                      components: h,
-                      coreComponents: Object.keys(h),
-                      geometries: e('./core/geometry').geometries,
-                      registerComponent: d,
-                      registerElement: e('./core/a-register-element').registerElement,
-                      registerGeometry: p,
-                      registerPrimitive: f,
-                      registerShader: m,
-                      registerSystem: v,
-                      primitives: {
-                        getMeshMixin: e('./extras/primitives/getMeshMixin'),
-                        primitives: e('./extras/primitives/primitives').primitives,
-                      },
-                      scenes: e('./core/scene/scenes'),
-                      schema: e('./core/schema'),
-                      shaders: g,
-                      systems: y,
-                      THREE: b,
-                      utils: a,
-                      version: A.version,
-                    })
-              },
-              {
-                '../package': 73,
-                '../vendor/starts-with-polyfill': 218,
-                './components/index': 84,
-                './core/a-assets': 125,
-                './core/a-cubemap': 126,
-                './core/a-entity': 127,
-                './core/a-mixin': 128,
-                './core/a-node': 129,
-                './core/a-register-element': 130,
-                './core/component': 131,
-                './core/geometry': 132,
-                './core/scene/a-scene': 134,
-                './core/scene/scenes': 138,
-                './core/schema': 140,
-                './core/shader': 141,
-                './core/system': 142,
-                './extras/components/': 143,
-                './extras/primitives/': 146,
-                './extras/primitives/getMeshMixin': 145,
-                './extras/primitives/primitives': 147,
-                './geometries/index': 168,
-                './lib/three': 179,
-                './shaders/index': 181,
-                './style/aframe.css': 186,
-                './style/rStats.css': 187,
-                './systems/index': 191,
-                './utils/': 205,
-                './utils/isIOSOlderThan10': 208,
-                'custom-event-polyfill': 7,
-                present: 48,
-                'promise-polyfill': 50,
-                'super-animejs': 56,
-                'webvr-polyfill': 68,
-              },
-            ],
-            178: [
-              function (e, t, n) {
-                ;(window.aframeStats = function (e) {
-                  var t = null,
-                    n = e
-                  function r() {
-                    t('te').set(i()),
-                      window.performance.getEntriesByName &&
-                        t('lt').set(
-                          window.performance
-                            .getEntriesByName('render-started')[0]
-                            .startTime.toFixed(0),
-                        )
-                  }
-                  function i() {
-                    var e = n.querySelectorAll('*')
-                    return (
-                      Array.prototype.slice.call(e).filter(function (e) {
-                        return e.isEntity
-                      }),
-                      e.length
-                    )
-                  }
-                  function o() {}
-                  function a() {}
-                  function s(e) {
-                    t = e
-                  }
-                  return {
-                    update: r,
-                    start: o,
-                    end: a,
-                    attach: s,
-                    values: { te: { caption: 'Entities' }, lt: { caption: 'Load Time' } },
-                    groups: [{ caption: 'A-Frame', values: ['te', 'lt'] }],
-                    fractions: [],
-                  }
-                }),
-                  'object' === typeof t && (t.exports = { aframeStats: window.aframeStats })
-              },
-              {},
-            ],
-            179: [
-              function (e, t, n) {
-                ;(function (n) {
-                  var r = (n.THREE = e('super-three'))
-                  r.TextureLoader && (r.TextureLoader.prototype.crossOrigin = 'anonymous'),
-                    r.ImageLoader && (r.ImageLoader.prototype.crossOrigin = 'anonymous'),
-                    r.Cache && (r.Cache.enabled = !0),
-                    e('../../vendor/DeviceOrientationControls'),
-                    e('super-three/examples/js/loaders/DRACOLoader'),
-                    e('super-three/examples/js/loaders/GLTFLoader'),
-                    e('super-three/examples/js/loaders/OBJLoader'),
-                    e('super-three/examples/js/loaders/MTLLoader'),
-                    e('super-three/examples/js/utils/BufferGeometryUtils'),
-                    (r.DRACOLoader.prototype.crossOrigin = 'anonymous'),
-                    (r.GLTFLoader.prototype.crossOrigin = 'anonymous'),
-                    (r.MTLLoader.prototype.crossOrigin = 'anonymous'),
-                    (r.OBJLoader.prototype.crossOrigin = 'anonymous'),
-                    (t.exports = r)
-                }.call(
-                  this,
-                  'undefined' !== typeof r.g
-                    ? r.g
-                    : 'undefined' !== typeof self
-                    ? self
-                    : 'undefined' !== typeof window
-                    ? window
-                    : {},
-                ))
-              },
-              {
-                '../../vendor/DeviceOrientationControls': 215,
-                'super-three': 57,
-                'super-three/examples/js/loaders/DRACOLoader': 58,
-                'super-three/examples/js/loaders/GLTFLoader': 59,
-                'super-three/examples/js/loaders/MTLLoader': 60,
-                'super-three/examples/js/loaders/OBJLoader': 61,
-                'super-three/examples/js/utils/BufferGeometryUtils': 62,
-              },
-            ],
-            180: [
-              function (e, t, n) {
-                var r = e('../core/shader').registerShader,
-                  i = e('../lib/three'),
-                  o = e('../utils/')
-                function a(e, t) {
-                  return (
-                    t.color.set(e.color),
-                    (t.fog = e.fog),
-                    (t.wireframe = e.wireframe),
-                    (t.wireframeLinewidth = e.wireframeLinewidth),
-                    t
-                  )
-                }
-                t.exports.Shader = r('flat', {
-                  schema: {
-                    color: { type: 'color' },
-                    fog: { default: !0 },
-                    height: { default: 256 },
-                    offset: { type: 'vec2', default: { x: 0, y: 0 } },
-                    repeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    src: { type: 'map' },
-                    width: { default: 512 },
-                    wireframe: { default: !1 },
-                    wireframeLinewidth: { default: 2 },
-                  },
-                  init: function (e) {
-                    ;(this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      (this.materialData = { color: new i.Color() }),
-                      (this.textureSrc = null),
-                      a(e, this.materialData),
-                      this.rendererSystem.applyColorCorrection(this.materialData.color),
-                      (this.material = new i.MeshBasicMaterial(this.materialData)),
-                      o.material.updateMap(this, e)
-                  },
-                  update: function (e) {
-                    this.updateMaterial(e), o.material.updateMap(this, e)
-                  },
-                  updateMaterial: function (e) {
-                    var t
-                    for (t in (a(e, this.materialData),
-                    this.rendererSystem.applyColorCorrection(this.materialData.color),
-                    this.materialData))
-                      this.material[t] = this.materialData[t]
-                  },
-                })
-              },
-              { '../core/shader': 141, '../lib/three': 179, '../utils/': 205 },
-            ],
-            181: [
-              function (e, t, n) {
-                e('./flat'), e('./standard'), e('./sdf'), e('./msdf'), e('./ios10hls')
-              },
-              { './flat': 180, './ios10hls': 182, './msdf': 183, './sdf': 184, './standard': 185 },
-            ],
-            182: [
-              function (e, t, n) {
-                var r = e('../core/shader').registerShader
-                t.exports.Shader = r('ios10hls', {
-                  schema: {
-                    src: { type: 'map', is: 'uniform' },
-                    opacity: { type: 'number', is: 'uniform', default: 1 },
-                  },
-                  vertexShader: [
-                    'varying vec2 vUV;',
-                    'void main(void) {',
-                    '  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
-                    '  vUV = uv;',
-                    '}',
-                  ].join('\n'),
-                  fragmentShader: [
-                    'uniform sampler2D src;',
-                    'uniform float opacity;',
-                    'varying vec2 vUV;',
-                    'void main() {',
-                    '  vec2 offset = vec2(0, 0);',
-                    '  vec2 repeat = vec2(1, 1);',
-                    '  vec4 color = texture2D(src, vec2(vUV.x / repeat.x + offset.x, (1.0 - vUV.y) / repeat.y + offset.y)).bgra;',
-                    '  gl_FragColor = vec4(color.rgb, opacity);',
-                    '}',
-                  ].join('\n'),
-                })
-              },
-              { '../core/shader': 141 },
-            ],
-            183: [
-              function (e, t, n) {
-                var r = e('../core/shader').registerShader,
-                  i = !!document.createElement('canvas').getContext('webgl2'),
-                  o = [
-                    'attribute vec2 uv;',
-                    'attribute vec3 position;',
-                    'uniform mat4 projectionMatrix;',
-                    'uniform mat4 modelViewMatrix;',
-                    'varying vec2 vUV;',
-                    'void main(void) {',
-                    '  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
-                    '  vUV = uv;',
-                    '}',
-                  ].join('\n'),
-                  a = [
-                    '#version 300 es',
-                    'in vec2 uv;',
-                    'in vec3 position;',
-                    'uniform mat4 projectionMatrix;',
-                    'uniform mat4 modelViewMatrix;',
-                    'out vec2 vUV;',
-                    'void main(void) {',
-                    '  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
-                    '  vUV = uv;',
-                    '}',
-                  ].join('\n'),
-                  s = i ? a : o,
-                  l = [
-                    '#ifdef GL_OES_standard_derivatives',
-                    '#extension GL_OES_standard_derivatives: enable',
-                    '#endif',
-                    'precision highp float;',
-                    'uniform bool negate;',
-                    'uniform float alphaTest;',
-                    'uniform float opacity;',
-                    'uniform sampler2D map;',
-                    'uniform vec3 color;',
-                    'varying vec2 vUV;',
-                    'float median(float r, float g, float b) {',
-                    '  return max(min(r, g), min(max(r, g), b));',
-                    '}',
-                    '#define BIG_ENOUGH 0.001',
-                    '#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)',
-                    'void main() {',
-                    '  vec3 sampleColor = texture2D(map, vUV).rgb;',
-                    '  if (negate) { sampleColor = 1.0 - sampleColor; }',
-                    '  float sigDist = median(sampleColor.r, sampleColor.g, sampleColor.b) - 0.5;',
-                    '  float alpha = clamp(sigDist / fwidth(sigDist) + 0.5, 0.0, 1.0);',
-                    '  float dscale = 0.353505;',
-                    '  vec2 duv = dscale * (dFdx(vUV) + dFdy(vUV));',
-                    '  float isBigEnough = max(abs(duv.x), abs(duv.y));',
-                    '  // Do modified alpha test.',
-                    '  if (isBigEnough > BIG_ENOUGH) {',
-                    '    float ratio = BIG_ENOUGH / isBigEnough;',
-                    '    alpha = ratio * alpha + (1.0 - ratio) * (sigDist + 0.5);',
-                    '  }',
-                    '  // Do modified alpha test.',
-                    '  if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }',
-                    '  gl_FragColor = vec4(color.xyz, alpha * opacity);',
-                    '}',
-                  ].join('\n'),
-                  c = [
-                    '#version 300 es',
-                    'precision highp float;',
-                    'uniform bool negate;',
-                    'uniform float alphaTest;',
-                    'uniform float opacity;',
-                    'uniform sampler2D map;',
-                    'uniform vec3 color;',
-                    'in vec2 vUV;',
-                    'out vec4 fragColor;',
-                    'float median(float r, float g, float b) {',
-                    '  return max(min(r, g), min(max(r, g), b));',
-                    '}',
-                    '#define BIG_ENOUGH 0.001',
-                    '#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)',
-                    'void main() {',
-                    '  vec3 sampleColor = texture(map, vUV).rgb;',
-                    '  if (negate) { sampleColor = 1.0 - sampleColor; }',
-                    '  float sigDist = median(sampleColor.r, sampleColor.g, sampleColor.b) - 0.5;',
-                    '  float alpha = clamp(sigDist / fwidth(sigDist) + 0.5, 0.0, 1.0);',
-                    '  float dscale = 0.353505;',
-                    '  vec2 duv = dscale * (dFdx(vUV) + dFdy(vUV));',
-                    '  float isBigEnough = max(abs(duv.x), abs(duv.y));',
-                    '  // Do modified alpha test.',
-                    '  if (isBigEnough > BIG_ENOUGH) {',
-                    '    float ratio = BIG_ENOUGH / isBigEnough;',
-                    '    alpha = ratio * alpha + (1.0 - ratio) * (sigDist + 0.5);',
-                    '  }',
-                    '  // Do modified alpha test.',
-                    '  if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }',
-                    '  fragColor = vec4(color.xyz, alpha * opacity);',
-                    '}',
-                  ].join('\n'),
-                  u = i ? c : l
-                t.exports.Shader = r('msdf', {
-                  schema: {
-                    alphaTest: { type: 'number', is: 'uniform', default: 0.5 },
-                    color: { type: 'color', is: 'uniform', default: 'white' },
-                    map: { type: 'map', is: 'uniform' },
-                    negate: { type: 'boolean', is: 'uniform', default: !0 },
-                    opacity: { type: 'number', is: 'uniform', default: 1 },
-                  },
-                  raw: !0,
-                  vertexShader: s,
-                  fragmentShader: u,
-                })
-              },
-              { '../core/shader': 141 },
-            ],
-            184: [
-              function (e, t, n) {
-                var r = e('../core/shader').registerShader
-                t.exports.Shader = r('sdf', {
-                  schema: {
-                    alphaTest: { type: 'number', is: 'uniform', default: 0.5 },
-                    color: { type: 'color', is: 'uniform', default: 'white' },
-                    map: { type: 'map', is: 'uniform' },
-                    opacity: { type: 'number', is: 'uniform', default: 1 },
-                  },
-                  raw: !0,
-                  vertexShader: [
-                    '#version 300 es',
-                    'in vec2 uv;',
-                    'in vec3 position;',
-                    'uniform mat4 projectionMatrix;',
-                    'uniform mat4 modelViewMatrix;',
-                    'out vec2 vUV;',
-                    'void main(void) {',
-                    '  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
-                    '  vUV = uv;',
-                    '}',
-                  ].join('\n'),
-                  fragmentShader: [
-                    '#version 300 es',
-                    'precision highp float;',
-                    'uniform float alphaTest;',
-                    'uniform float opacity;',
-                    'uniform sampler2D map;',
-                    'uniform vec3 color;',
-                    'in vec2 vUV;',
-                    'out vec4 fragColor;',
-                    '#ifdef GL_OES_standard_derivatives',
-                    '  float contour(float width, float value) {',
-                    '    return smoothstep(0.5 - value, 0.5 + value, width);',
-                    '  }',
-                    '#else',
-                    '  float aastep(float value, float afwidth) {',
-                    '    return smoothstep(0.5 - afwidth, 0.5 + afwidth, value);',
-                    '  }',
-                    '#endif',
-                    '#define BIG_ENOUGH 0.001',
-                    '#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)',
-                    '#define ALL_SMOOTH 0.4',
-                    '#define ALL_ROUGH 0.02',
-                    '#define DISCARD_ALPHA (alphaTest / (2.2 - 1.2 * ratio))',
-                    'void main() {',
-                    '  #ifdef GL_OES_standard_derivatives',
-                    '    vec2 uv = vUV;',
-                    '    vec4 texColor = texture(map, uv);',
-                    '    float dist = texColor.a;',
-                    '    float width = fwidth(dist);',
-                    '    float alpha = contour(dist, width);',
-                    '    float dscale = 0.353505;',
-                    '    vec2 duv = dscale * (dFdx(uv) + dFdy(uv));',
-                    '    float isBigEnough = max(abs(duv.x), abs(duv.y));',
-                    '    if (isBigEnough > BIG_ENOUGH) {',
-                    '      float ratio = BIG_ENOUGH / isBigEnough;',
-                    '      alpha = ratio * alpha + (1.0 - ratio) * dist;',
-                    '    }',
-                    '    if (isBigEnough <= BIG_ENOUGH) {',
-                    '      vec4 box = vec4 (uv - duv, uv + duv);',
-                    '      alpha = (alpha + 0.5 * (',
-                    '        contour(texture(map, box.xy).a, width)',
-                    '        + contour(texture(map, box.zw).a, width)',
-                    '        + contour(texture(map, box.xw).a, width)',
-                    '        + contour(texture(map, box.zy).a, width)',
-                    '      )) / 3.0;',
-                    '    }',
-                    '    if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }',
-                    '  #else',
-                    '    vec4 texColor = texture(map, vUV);',
-                    '    float value = texColor.a;',
-                    '    float afwidth = (1.0 / 32.0) * (1.4142135623730951 / (2.0 * gl_FragCoord.w));',
-                    '    float alpha = aastep(value, afwidth);',
-                    '    float ratio = (gl_FragCoord.w >= ALL_SMOOTH) ? 1.0 : (gl_FragCoord.w < ALL_ROUGH) ? 0.0 : (gl_FragCoord.w - ALL_ROUGH) / (ALL_SMOOTH - ALL_ROUGH);',
-                    '    if (alpha < alphaTest) { if (ratio >= 1.0) { discard; return; } alpha = 0.0; }',
-                    '    alpha = alpha * ratio + (1.0 - ratio) * value;',
-                    '    if (ratio < 1.0 && alpha <= DISCARD_ALPHA) { discard; return; }',
-                    '  #endif',
-                    '  fragColor = vec4(color, opacity * alpha);',
-                    '}',
-                  ].join('\n'),
-                })
-              },
-              { '../core/shader': 141 },
-            ],
-            185: [
-              function (e, t, n) {
-                var r = e('../core/shader').registerShader,
-                  i = e('../lib/three'),
-                  o = e('../utils/'),
-                  a = new i.CubeTextureLoader(),
-                  s = {}
-                function l(e, t) {
-                  return (
-                    t.color.set(e.color),
-                    t.emissive.set(e.emissive),
-                    (t.emissiveIntensity = e.emissiveIntensity),
-                    (t.fog = e.fog),
-                    (t.metalness = e.metalness),
-                    (t.roughness = e.roughness),
-                    (t.wireframe = e.wireframe),
-                    (t.wireframeLinewidth = e.wireframeLinewidth),
-                    e.normalMap && (t.normalScale = e.normalScale),
-                    e.ambientOcclusionMap && (t.aoMapIntensity = e.ambientOcclusionMapIntensity),
-                    e.displacementMap &&
-                      ((t.displacementScale = e.displacementScale),
-                      (t.displacementBias = e.displacementBias)),
-                    t
-                  )
-                }
-                t.exports.Shader = r('standard', {
-                  schema: {
-                    ambientOcclusionMap: { type: 'map' },
-                    ambientOcclusionMapIntensity: { default: 1 },
-                    ambientOcclusionTextureOffset: { type: 'vec2' },
-                    ambientOcclusionTextureRepeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    color: { type: 'color' },
-                    displacementMap: { type: 'map' },
-                    displacementScale: { default: 1 },
-                    displacementBias: { default: 0.5 },
-                    displacementTextureOffset: { type: 'vec2' },
-                    displacementTextureRepeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    emissive: { type: 'color', default: '#000' },
-                    emissiveIntensity: { default: 1 },
-                    envMap: { default: '' },
-                    fog: { default: !0 },
-                    height: { default: 256 },
-                    metalness: { default: 0, min: 0, max: 1 },
-                    metalnessMap: { type: 'map' },
-                    metalnessTextureOffset: { type: 'vec2' },
-                    metalnessTextureRepeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    normalMap: { type: 'map' },
-                    normalScale: { type: 'vec2', default: { x: 1, y: 1 } },
-                    normalTextureOffset: { type: 'vec2' },
-                    normalTextureRepeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    offset: { type: 'vec2', default: { x: 0, y: 0 } },
-                    repeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    roughness: { default: 0.5, min: 0, max: 1 },
-                    roughnessMap: { type: 'map' },
-                    roughnessTextureOffset: { type: 'vec2' },
-                    roughnessTextureRepeat: { type: 'vec2', default: { x: 1, y: 1 } },
-                    sphericalEnvMap: { type: 'map' },
-                    src: { type: 'map' },
-                    width: { default: 512 },
-                    wireframe: { default: !1 },
-                    wireframeLinewidth: { default: 2 },
-                  },
-                  init: function (e) {
-                    ;(this.rendererSystem = this.el.sceneEl.systems.renderer),
-                      (this.materialData = { color: new i.Color(), emissive: new i.Color() }),
-                      l(e, this.materialData),
-                      this.rendererSystem.applyColorCorrection(this.materialData.color),
-                      this.rendererSystem.applyColorCorrection(this.materialData.emissive),
-                      (this.material = new i.MeshStandardMaterial(this.materialData)),
-                      o.material.updateMap(this, e),
-                      e.normalMap && o.material.updateDistortionMap('normal', this, e),
-                      e.displacementMap && o.material.updateDistortionMap('displacement', this, e),
-                      e.ambientOcclusionMap &&
-                        o.material.updateDistortionMap('ambientOcclusion', this, e),
-                      e.metalnessMap && o.material.updateDistortionMap('metalness', this, e),
-                      e.roughnessMap && o.material.updateDistortionMap('roughness', this, e),
-                      this.updateEnvMap(e)
-                  },
-                  update: function (e) {
-                    this.updateMaterial(e),
-                      o.material.updateMap(this, e),
-                      e.normalMap && o.material.updateDistortionMap('normal', this, e),
-                      e.displacementMap && o.material.updateDistortionMap('displacement', this, e),
-                      e.ambientOcclusionMap &&
-                        o.material.updateDistortionMap('ambientOcclusion', this, e),
-                      e.metalnessMap && o.material.updateDistortionMap('metalness', this, e),
-                      e.roughnessMap && o.material.updateDistortionMap('roughness', this, e),
-                      this.updateEnvMap(e)
-                  },
-                  updateMaterial: function (e) {
-                    var t,
-                      n = this.material
-                    for (t in (l(e, this.materialData),
-                    this.rendererSystem.applyColorCorrection(this.materialData.color),
-                    this.rendererSystem.applyColorCorrection(this.materialData.emissive),
-                    this.materialData))
-                      n[t] = this.materialData[t]
-                  },
-                  updateEnvMap: function (e) {
-                    var t = this,
-                      n = this.material,
-                      r = e.envMap,
-                      l = e.sphericalEnvMap
-                    if ((!r && !l) || this.isLoadingEnvMap)
-                      return (n.envMap = null), void (n.needsUpdate = !0)
-                    ;(this.isLoadingEnvMap = !0),
-                      l
-                        ? this.el.sceneEl.systems.material.loadTexture(l, { src: l }, function (e) {
-                            ;(t.isLoadingEnvMap = !1),
-                              (e.mapping = i.SphericalReflectionMapping),
-                              (n.envMap = e),
-                              o.material.handleTextureEvents(t.el, e),
-                              (n.needsUpdate = !0)
-                          })
-                        : s[r]
-                        ? s[r].then(function (e) {
-                            ;(t.isLoadingEnvMap = !1),
-                              (n.envMap = e),
-                              o.material.handleTextureEvents(t.el, e),
-                              (n.needsUpdate = !0)
-                          })
-                        : (s[r] = new Promise(function (e) {
-                            o.srcLoader.validateCubemapSrc(r, function (r) {
-                              a.load(r, function (r) {
-                                ;(t.isLoadingEnvMap = !1),
-                                  (n.envMap = r),
-                                  o.material.handleTextureEvents(t.el, r),
-                                  e(r)
-                              })
-                            })
-                          }))
-                  },
-                })
-              },
-              { '../core/shader': 141, '../lib/three': 179, '../utils/': 205 },
-            ],
-            186: [
-              function (e, t, n) {
-                var r =
-                  "html.a-fullscreen{bottom:0;left:0;position:fixed;right:0;top:0}html.a-fullscreen body{height:100%;margin:0;overflow:hidden;padding:0;width:100%}html.a-fullscreen .a-canvas{width:100%!important;height:100%!important;top:0!important;left:0!important;right:0!important;bottom:0!important;position:fixed!important}html:not(.a-fullscreen) .a-enter-ar,html:not(.a-fullscreen) .a-enter-vr{right:5px;bottom:5px}:-webkit-full-screen{background-color:transparent}.a-hidden{display:none!important}.a-canvas{height:100%;left:0;position:absolute;top:0;width:100%}.a-canvas.a-grab-cursor:hover{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}canvas.a-canvas.a-mouse-cursor-hover:hover{cursor:pointer}.a-inspector-loader{background-color:#ed3160;position:fixed;left:3px;top:3px;padding:6px 10px;color:#fff;text-decoration:none;font-size:12px;font-family:Roboto,sans-serif;text-align:center;z-index:99999;width:204px}@keyframes dots-1{from{opacity:0}25%{opacity:1}}@keyframes dots-2{from{opacity:0}50%{opacity:1}}@keyframes dots-3{from{opacity:0}75%{opacity:1}}@-webkit-keyframes dots-1{from{opacity:0}25%{opacity:1}}@-webkit-keyframes dots-2{from{opacity:0}50%{opacity:1}}@-webkit-keyframes dots-3{from{opacity:0}75%{opacity:1}}.a-inspector-loader .dots span{animation:dots-1 2s infinite steps(1);-webkit-animation:dots-1 2s infinite steps(1)}.a-inspector-loader .dots span:first-child+span{animation-name:dots-2;-webkit-animation-name:dots-2}.a-inspector-loader .dots span:first-child+span+span{animation-name:dots-3;-webkit-animation-name:dots-3}a-scene{display:block;position:relative;height:100%;width:100%}a-assets,a-scene audio,a-scene img,a-scene video{display:none}.a-enter-vr-modal,.a-orientation-modal{font-family:Consolas,Andale Mono,Courier New,monospace}.a-enter-vr-modal a{border-bottom:1px solid #fff;padding:2px 0;text-decoration:none;transition:.1s color ease-in}.a-enter-vr-modal a:hover{background-color:#fff;color:#111;padding:2px 4px;position:relative;left:-4px}.a-enter-ar,.a-enter-vr{font-family:sans-serif,monospace;font-size:13px;width:100%;font-weight:200;line-height:16px;position:absolute;right:20px;bottom:20px}.a-enter-ar{right:80px}.a-enter-vr-button,.a-enter-vr-modal,.a-enter-vr-modal a{color:#fff;user-select:none;outline:0}.a-enter-vr-button{background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='108' height='62' viewBox='0 0 108 62'%3E%3Ctitle%3Eaframe-vrmode-noborder-reduced-tracking%3C/title%3E%3Cpath d='M68.81,21.56H64.23v8.27h4.58a4.13,4.13,0,0,0,3.1-1.09,4.2,4.2,0,0,0,1-3,4.24,4.24,0,0,0-1-3A4.05,4.05,0,0,0,68.81,21.56Z' fill='%23fff'/%3E%3Cpath d='M96,0H12A12,12,0,0,0,0,12V50A12,12,0,0,0,12,62H96a12,12,0,0,0,12-12V12A12,12,0,0,0,96,0ZM41.9,46H34L24,16h8l6,21.84,6-21.84H52Zm39.29,0H73.44L68.15,35.39H64.23V46H57V16H68.81q5.32,0,8.34,2.37a8,8,0,0,1,3,6.69,9.68,9.68,0,0,1-1.27,5.18,8.9,8.9,0,0,1-4,3.34l6.26,12.11Z' fill='%23fff'/%3E%3C/svg%3E\") 50% 50% no-repeat rgba(0,0,0,.35)}.a-enter-ar-button{background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='108' height='62' viewBox='0 0 108 62'%3E%3Ctitle%3Eaframe-armode-noborder-reduced-tracking%3C/title%3E%3Cpath d='M96,0H12A12,12,0,0,0,0,12V50A12,12,0,0,0,12,62H96a12,12,0,0,0,12-12V12A12,12,0,0,0,96,0Zm8,50a8,8,0,0,1-8,8H12a8,8,0,0,1-8-8V12a8,8,0,0,1,8-8H96a8,8,0,0,1,8,8Z' fill='%23fff'/%3E%3Cpath d='M43.35,39.82H32.51L30.45,46H23.88L35,16h5.73L52,46H45.43Zm-9.17-5h7.5L37.91,23.58Z' fill='%23fff'/%3E%3Cpath d='M68.11,35H63.18V46H57V16H68.15q5.31,0,8.2,2.37a8.18,8.18,0,0,1,2.88,6.7,9.22,9.22,0,0,1-1.33,5.12,9.09,9.09,0,0,1-4,3.26l6.49,12.26V46H73.73Zm-4.93-5h5a5.09,5.09,0,0,0,3.6-1.18,4.21,4.21,0,0,0,1.28-3.27,4.56,4.56,0,0,0-1.2-3.34A5,5,0,0,0,68.15,21h-5Z' fill='%23fff'/%3E%3C/svg%3E\") 50% 50% no-repeat rgba(0,0,0,.2)}.a-enter-ar-button,.a-enter-vr-button{background-size:90% 90%;border:0;bottom:0;cursor:pointer;min-width:58px;min-height:34px;padding-right:0;padding-top:0;position:absolute;right:0;transition:background-color .05s ease;-webkit-transition:background-color .05s ease;z-index:9999;border-radius:8px;touch-action:manipulation}.a-enter-ar-button{background-size:100% 90%;margin-right:10px;border-radius:7px}.a-enter-ar-button:active,.a-enter-ar-button:hover,.a-enter-vr-button:active,.a-enter-vr-button:hover{background-color:#ef2d5e}.a-enter-vr-button.resethover{background-color:rgba(0,0,0,.35)}[data-a-enter-vr-no-webvr] .a-enter-vr-button{border-color:#666;opacity:.65}[data-a-enter-vr-no-webvr] .a-enter-vr-button:active,[data-a-enter-vr-no-webvr] .a-enter-vr-button:hover{background-color:rgba(0,0,0,.35);cursor:not-allowed}.a-enter-vr-modal{background-color:#666;border-radius:0;display:none;min-height:32px;margin-right:70px;padding:9px;width:280px;right:2%;position:absolute}.a-enter-vr-modal:after{border-bottom:10px solid transparent;border-left:10px solid #666;border-top:10px solid transparent;display:inline-block;content:'';position:absolute;right:-5px;top:5px;width:0;height:0}.a-enter-vr-modal a,.a-enter-vr-modal p{display:inline}.a-enter-vr-modal p{margin:0}.a-enter-vr-modal p:after{content:' '}[data-a-enter-vr-no-headset].a-enter-vr:hover .a-enter-vr-modal,[data-a-enter-vr-no-webvr].a-enter-vr:hover .a-enter-vr-modal{display:block}.a-orientation-modal{background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20version%3D%221.1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2090%2090%22%20enable-background%3D%22new%200%200%2090%2090%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%220%2C0%200%2C0%200%2C0%20%22%3E%3C/polygon%3E%3Cg%3E%3Cpath%20d%3D%22M71.545%2C48.145h-31.98V20.743c0-2.627-2.138-4.765-4.765-4.765H18.456c-2.628%2C0-4.767%2C2.138-4.767%2C4.765v42.789%20%20%20c0%2C2.628%2C2.138%2C4.766%2C4.767%2C4.766h5.535v0.959c0%2C2.628%2C2.138%2C4.765%2C4.766%2C4.765h42.788c2.628%2C0%2C4.766-2.137%2C4.766-4.765V52.914%20%20%20C76.311%2C50.284%2C74.173%2C48.145%2C71.545%2C48.145z%20M18.455%2C16.935h16.344c2.1%2C0%2C3.808%2C1.708%2C3.808%2C3.808v27.401H37.25V22.636%20%20%20c0-0.264-0.215-0.478-0.479-0.478H16.482c-0.264%2C0-0.479%2C0.214-0.479%2C0.478v36.585c0%2C0.264%2C0.215%2C0.478%2C0.479%2C0.478h7.507v7.644%20%20%20h-5.534c-2.101%2C0-3.81-1.709-3.81-3.81V20.743C14.645%2C18.643%2C16.354%2C16.935%2C18.455%2C16.935z%20M16.96%2C23.116h19.331v25.031h-7.535%20%20%20c-2.628%2C0-4.766%2C2.139-4.766%2C4.768v5.828h-7.03V23.116z%20M71.545%2C73.064H28.757c-2.101%2C0-3.81-1.708-3.81-3.808V52.914%20%20%20c0-2.102%2C1.709-3.812%2C3.81-3.812h42.788c2.1%2C0%2C3.809%2C1.71%2C3.809%2C3.812v16.343C75.354%2C71.356%2C73.645%2C73.064%2C71.545%2C73.064z%22%3E%3C/path%3E%3Cpath%20d%3D%22M28.919%2C58.424c-1.466%2C0-2.659%2C1.193-2.659%2C2.66c0%2C1.466%2C1.193%2C2.658%2C2.659%2C2.658c1.468%2C0%2C2.662-1.192%2C2.662-2.658%20%20%20C31.581%2C59.617%2C30.387%2C58.424%2C28.919%2C58.424z%20M28.919%2C62.786c-0.939%2C0-1.703-0.764-1.703-1.702c0-0.939%2C0.764-1.704%2C1.703-1.704%20%20%20c0.94%2C0%2C1.705%2C0.765%2C1.705%2C1.704C30.623%2C62.022%2C29.858%2C62.786%2C28.919%2C62.786z%22%3E%3C/path%3E%3Cpath%20d%3D%22M69.654%2C50.461H33.069c-0.264%2C0-0.479%2C0.215-0.479%2C0.479v20.288c0%2C0.264%2C0.215%2C0.478%2C0.479%2C0.478h36.585%20%20%20c0.263%2C0%2C0.477-0.214%2C0.477-0.478V50.939C70.131%2C50.676%2C69.917%2C50.461%2C69.654%2C50.461z%20M69.174%2C51.417V70.75H33.548V51.417H69.174z%22%3E%3C/path%3E%3Cpath%20d%3D%22M45.201%2C30.296c6.651%2C0%2C12.233%2C5.351%2C12.551%2C11.977l-3.033-2.638c-0.193-0.165-0.507-0.142-0.675%2C0.048%20%20%20c-0.174%2C0.198-0.153%2C0.501%2C0.045%2C0.676l3.883%2C3.375c0.09%2C0.075%2C0.198%2C0.115%2C0.312%2C0.115c0.141%2C0%2C0.273-0.061%2C0.362-0.166%20%20%20l3.371-3.877c0.173-0.2%2C0.151-0.502-0.047-0.675c-0.194-0.166-0.508-0.144-0.676%2C0.048l-2.592%2C2.979%20%20%20c-0.18-3.417-1.629-6.605-4.099-9.001c-2.538-2.461-5.877-3.817-9.404-3.817c-0.264%2C0-0.479%2C0.215-0.479%2C0.479%20%20%20C44.72%2C30.083%2C44.936%2C30.296%2C45.201%2C30.296z%22%3E%3C/path%3E%3C/g%3E%3C/svg%3E) center/50% 50% no-repeat rgba(244,244,244,1);bottom:0;font-size:14px;font-weight:600;left:0;line-height:20px;right:0;position:fixed;top:0;z-index:9999999}.a-orientation-modal:after{color:#666;content:\"Insert phone into Cardboard holder.\";display:block;position:absolute;text-align:center;top:70%;transform:translateY(-70%);width:100%}.a-orientation-modal button{background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20version%3D%221.1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20100%20100%22%20enable-background%3D%22new%200%200%20100%20100%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M55.209%2C50l17.803-17.803c1.416-1.416%2C1.416-3.713%2C0-5.129c-1.416-1.417-3.713-1.417-5.129%2C0L50.08%2C44.872%20%20L32.278%2C27.069c-1.416-1.417-3.714-1.417-5.129%2C0c-1.417%2C1.416-1.417%2C3.713%2C0%2C5.129L44.951%2C50L27.149%2C67.803%20%20c-1.417%2C1.416-1.417%2C3.713%2C0%2C5.129c0.708%2C0.708%2C1.636%2C1.062%2C2.564%2C1.062c0.928%2C0%2C1.856-0.354%2C2.564-1.062L50.08%2C55.13l17.803%2C17.802%20%20c0.708%2C0.708%2C1.637%2C1.062%2C2.564%2C1.062s1.856-0.354%2C2.564-1.062c1.416-1.416%2C1.416-3.713%2C0-5.129L55.209%2C50z%22%3E%3C/path%3E%3C/svg%3E) no-repeat;border:none;height:50px;text-indent:-9999px;width:50px}.a-loader-title{background-color:rgba(0,0,0,.6);font-family:sans-serif,monospace;text-align:center;font-size:20px;height:50px;font-weight:300;line-height:50px;position:absolute;right:0;left:0;top:0;color:#fff}.a-modal{background:0 0/50% 50% rgba(0,0,0,.6);bottom:0;font-size:14px;font-weight:600;left:0;line-height:20px;right:0;position:fixed;top:0;z-index:9999999}.a-dialog{position:relative;left:50%;top:50%;transform:translate(-50%,-50%);z-index:199995;width:300px;height:200px;background-size:contain;background-color:#fff;font-family:sans-serif,monospace;font-size:20px;border-radius:3px;padding:6px}.a-dialog-text-container{width:100%;height:70%;align-self:flex-start;display:flex;justify-content:center;align-content:center;flex-direction:column}.a-dialog-text{display:inline-block;font-weight:400;font-size:14pt;margin:8px}.a-dialog-buttons-container{display:inline-flex;align-self:flex-end;width:100%;height:30%}.a-dialog-button{cursor:pointer;align-self:center;opacity:.9;height:80%;width:50%;font-size:12pt;margin:4px;border-radius:2px;text-align:center;border:none;display:inline-block;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.2);user-select:none}.a-dialog-permission-button:hover{box-shadow:0 7px 14px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.2)}.a-dialog-allow-button{background-color:#00ceff}.a-dialog-deny-button{background-color:#ff005b}.a-dialog-ok-button{background-color:#00ceff;width:100%}"
-                e('browserify-css').createStyle(r, { href: 'src/style/aframe.css' }),
-                  (t.exports = r)
-              },
-              { 'browserify-css': 4 },
-            ],
-            187: [
-              function (e, t, n) {
-                var r =
-                  '.rs-base{background-color:#333;color:#fafafa;border-radius:0;font:10px monospace;left:5px;line-height:1em;opacity:.85;overflow:hidden;padding:10px;position:fixed;top:5px;width:300px;z-index:10000}.rs-base div.hidden{display:none}.rs-base h1{color:#fff;cursor:pointer;font-size:1.4em;font-weight:300;margin:0 0 5px;padding:0}.rs-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;margin-bottom:5px}.rs-group:last-child{margin-bottom:0}.rs-counter-base{align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;height:10px;-webkit-justify-content:space-between;justify-content:space-between;margin:2px 0}.rs-counter-base.alarm{color:#b70000;text-shadow:0 0 0 #b70000,0 0 1px #fff,0 0 1px #fff,0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 3px #fff,0 0 4px #fff,0 0 4px #fff}.rs-counter-id{font-weight:300;-webkit-box-ordinal-group:0;-webkit-order:0;order:0;width:54px}.rs-counter-value{font-weight:300;-webkit-box-ordinal-group:1;-webkit-order:1;order:1;text-align:right;width:35px}.rs-canvas{-webkit-box-ordinal-group:2;-webkit-order:2;order:2}@media (min-width:480px){.rs-base{left:20px;top:20px}}'
-                e('browserify-css').createStyle(r, { href: 'src/style/rStats.css' }),
-                  (t.exports = r)
-              },
-              { 'browserify-css': 4 },
-            ],
-            188: [
-              function (e, t, n) {
-                var r = e('../constants/'),
-                  i = e('../core/system').registerSystem,
-                  o = 'data-aframe-default-camera'
-                function a(e) {
-                  var t
-                  e.camera && (t = e.querySelector('[' + o + ']')) && e.removeChild(t)
-                }
-                t.exports.System = i('camera', {
-                  init: function () {
-                    ;(this.activeCameraEl = null),
-                      (this.render = this.render.bind(this)),
-                      (this.unwrapRender = this.unwrapRender.bind(this)),
-                      (this.wrapRender = this.wrapRender.bind(this)),
-                      (this.initialCameraFound = !1),
-                      (this.numUserCameras = 0),
-                      (this.numUserCamerasChecked = 0),
-                      this.setupInitialCamera()
-                  },
-                  setupInitialCamera: function () {
-                    var e,
-                      t,
-                      n = this.sceneEl,
-                      r = this
-                    if (!n.camera || n.camera.el.getAttribute('camera').spectator)
-                      if ((e = n.querySelectorAll('a-camera, [camera]')).length)
-                        for (this.numUserCameras = e.length, t = 0; t < e.length; t++)
-                          e[t].addEventListener('object3dset', function (e) {
-                            'camera' === e.detail.type && r.checkUserCamera(this)
-                          }),
-                            e[t].isNode
-                              ? e[t].load()
-                              : e[t].addEventListener('nodeready', function () {
-                                  this.load()
-                                })
-                      else this.createDefaultCamera()
-                    else n.emit('cameraready', { cameraEl: n.camera.el })
-                  },
-                  checkUserCamera: function (e) {
-                    var t,
-                      n = this.el.sceneEl
-                    this.numUserCamerasChecked++,
-                      this.initialCameraFound ||
-                        ((t = e.getAttribute('camera')).active && !t.spectator
-                          ? ((this.initialCameraFound = !0),
-                            (n.camera = e.getObject3D('camera')),
-                            n.emit('cameraready', { cameraEl: e }))
-                          : this.numUserCamerasChecked === this.numUserCameras &&
-                            this.createDefaultCamera())
-                  },
-                  createDefaultCamera: function () {
-                    var e,
-                      t = this.sceneEl
-                    ;(e = document.createElement('a-entity')).setAttribute('camera', {
-                      active: !0,
-                    }),
-                      e.setAttribute('position', { x: 0, y: r.DEFAULT_CAMERA_HEIGHT, z: 0 }),
-                      e.setAttribute('wasd-controls', ''),
-                      e.setAttribute('look-controls', ''),
-                      e.setAttribute(r.AFRAME_INJECTED, ''),
-                      e.addEventListener('object3dset', function (n) {
-                        'camera' === n.detail.type &&
-                          ((t.camera = n.detail.object), t.emit('cameraready', { cameraEl: e }))
-                      }),
-                      t.appendChild(e)
-                  },
-                  disableActiveCamera: function () {
-                    var e
-                    ;(e = this.sceneEl.querySelectorAll('[camera]'))[e.length - 1].setAttribute(
-                      'camera',
-                      'active',
-                      !0,
-                    )
-                  },
-                  setActiveCamera: function (e) {
-                    var t,
-                      n,
-                      r,
-                      i,
-                      s = this.activeCameraEl,
-                      l = this.sceneEl
-                    if ((i = e.getObject3D('camera')) && e !== this.activeCameraEl) {
-                      var c = l.querySelector('[' + o + ']')
-                      for (
-                        e !== (c && c.querySelector('[camera]')) && a(l),
-                          this.activeCameraEl = e,
-                          this.activeCameraEl.play(),
-                          l.camera = i,
-                          s && s.setAttribute('camera', 'active', !1),
-                          n = l.querySelectorAll('[camera]'),
-                          r = 0;
-                        r < n.length;
-                        r++
-                      )
-                        (t = n[r]).isEntity &&
-                          e !== t &&
-                          (t.setAttribute('camera', 'active', !1), t.pause())
-                      l.emit('camera-set-active', { cameraEl: e })
-                    }
-                  },
-                  setSpectatorCamera: function (e) {
-                    var t,
-                      n = this.spectatorCameraEl,
-                      r = this.sceneEl
-                    e.getObject3D('camera') &&
-                      e !== this.spectatorCameraEl &&
-                      (n && n.setAttribute('camera', 'spectator', !1),
-                      (t = this.spectatorCameraEl = e),
-                      r.addEventListener('enter-vr', this.wrapRender),
-                      r.addEventListener('exit-vr', this.unwrapRender),
-                      t.setAttribute('camera', 'active', !1),
-                      t.play(),
-                      r.emit('camera-set-spectator', { cameraEl: e }))
-                  },
-                  disableSpectatorCamera: function () {
-                    this.spectatorCameraEl = void 0
-                  },
-                  wrapRender: function () {
-                    this.spectatorCameraEl &&
-                      !this.originalRender &&
-                      ((this.originalRender = this.sceneEl.renderer.render),
-                      (this.sceneEl.renderer.render = this.render))
-                  },
-                  unwrapRender: function () {
-                    this.originalRender &&
-                      ((this.sceneEl.renderer.render = this.originalRender),
-                      (this.originalRender = void 0))
-                  },
-                  render: function (e, t) {
-                    var n,
-                      r,
-                      i = this.sceneEl
-                    ;(n = i.renderer.xr.enabled),
-                      this.originalRender.call(i.renderer, e, t),
-                      this.spectatorCameraEl &&
-                        !i.isMobile &&
-                        n &&
-                        ((r = this.spectatorCameraEl.components.camera.camera),
-                        (i.renderer.xr.enabled = !1),
-                        this.originalRender.call(i.renderer, e, r),
-                        (i.renderer.xr.enabled = n))
-                  },
-                })
-              },
-              { '../constants/': 123, '../core/system': 142 },
-            ],
-            189: [
-              function (e, t, n) {
-                var r = e('../core/geometry').geometries,
-                  i = e('../core/system').registerSystem
-                function o(e) {
-                  var t = e.primitive,
-                    n = r[t] && r[t].Geometry,
-                    i = new n()
-                  if (!n) throw new Error('Unknown geometry `' + t + '`')
-                  return i.init(e), i.geometry
-                }
-                function a(e, t) {
-                  e[t]--
-                }
-                function s(e, t) {
-                  e[t] = void 0 === e[t] ? 1 : e[t] + 1
-                }
-                t.exports.System = i('geometry', {
-                  init: function () {
-                    ;(this.cache = {}), (this.cacheCount = {})
-                  },
-                  clearCache: function () {
-                    ;(this.cache = {}), (this.cacheCount = {})
-                  },
-                  getOrCreateGeometry: function (e) {
-                    var t,
-                      n,
-                      r = this.cache
-                    return e.skipCache
-                      ? o(e)
-                      : ((t = r[(n = this.hash(e))]),
-                        s(this.cacheCount, n),
-                        t || ((t = o(e)), (r[n] = t), t))
-                  },
-                  unuseGeometry: function (e) {
-                    var t,
-                      n = this.cache,
-                      r = this.cacheCount
-                    e.skipCache ||
-                      (n[(t = this.hash(e))] &&
-                        (a(r, t), r[t] > 0 || (n[t].dispose(), delete n[t], delete r[t])))
-                  },
-                  hash: function (e) {
-                    return JSON.stringify(e)
-                  },
-                })
-              },
-              { '../core/geometry': 132, '../core/system': 142 },
-            ],
-            190: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../lib/three')
-                t.exports.System = r('gltf-model', {
-                  schema: { dracoDecoderPath: { default: '' } },
-                  init: function () {
-                    var e = this.data.dracoDecoderPath
-                    ;(this.dracoLoader = new i.DRACOLoader()), this.dracoLoader.setDecoderPath(e)
-                  },
-                  update: function () {
-                    var e
-                    this.dracoLoader ||
-                      ((e = this.data.dracoDecoderPath),
-                      (this.dracoLoader = new i.DRACOLoader()),
-                      this.dracoLoader.setDecoderPath(e))
-                  },
-                  getDRACOLoader: function () {
-                    return this.dracoLoader
-                  },
-                })
-              },
-              { '../core/system': 142, '../lib/three': 179 },
-            ],
-            191: [
-              function (e, t, n) {
-                e('./camera'),
-                  e('./geometry'),
-                  e('./gltf-model'),
-                  e('./light'),
-                  e('./material'),
-                  e('./renderer'),
-                  e('./shadow'),
-                  e('./tracked-controls-webvr'),
-                  e('./tracked-controls-webxr'),
-                  e('./webxr')
-              },
-              {
-                './camera': 188,
-                './geometry': 189,
-                './gltf-model': 190,
-                './light': 192,
-                './material': 193,
-                './renderer': 194,
-                './shadow': 195,
-                './tracked-controls-webvr': 196,
-                './tracked-controls-webxr': 197,
-                './webxr': 198,
-              },
-            ],
-            192: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../utils/bind'),
-                  o = e('../constants/'),
-                  a = 'data-aframe-default-light'
-                t.exports.System = r('light', {
-                  schema: { defaultLightsEnabled: { default: !0 } },
-                  init: function () {
-                    ;(this.defaultLights = !1),
-                      (this.userDefinedLights = !1),
-                      this.sceneEl.addEventListener('loaded', i(this.setupDefaultLights, this))
-                  },
-                  registerLight: function (e) {
-                    e.hasAttribute(a) || (this.removeDefaultLights(), (this.userDefinedLights = !0))
-                  },
-                  removeDefaultLights: function () {
-                    var e,
-                      t = this.sceneEl
-                    if (this.defaultLights) {
-                      e = document.querySelectorAll('[' + a + ']')
-                      for (var n = 0; n < e.length; n++) t.removeChild(e[n])
-                      this.defaultLights = !1
-                    }
-                  },
-                  setupDefaultLights: function () {
-                    var e,
-                      t,
-                      n = this.sceneEl
-                    this.userDefinedLights ||
-                      this.defaultLights ||
-                      !this.data.defaultLightsEnabled ||
-                      ((e = document.createElement('a-entity')).setAttribute('light', {
-                        color: '#BBB',
-                        type: 'ambient',
-                      }),
-                      e.setAttribute(a, ''),
-                      e.setAttribute(o.AFRAME_INJECTED, ''),
-                      n.appendChild(e),
-                      (t = document.createElement('a-entity')).setAttribute('light', {
-                        color: '#FFF',
-                        intensity: 0.6,
-                        castShadow: !0,
-                      }),
-                      t.setAttribute('position', { x: -0.5, y: 1, z: 1 }),
-                      t.setAttribute(a, ''),
-                      t.setAttribute(o.AFRAME_INJECTED, ''),
-                      n.appendChild(t),
-                      (this.defaultLights = !0))
-                  },
-                })
-              },
-              { '../constants/': 123, '../core/system': 142, '../utils/bind': 199 },
-            ],
-            193: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../lib/three'),
-                  o = e('../utils/'),
-                  a = e('../utils/material').isHLS,
-                  s = o.bind,
-                  l = o.debug,
-                  c = l('components:texture:error'),
-                  u = new i.TextureLoader(),
-                  h = l('components:texture:warn')
-                function d(e, t) {
-                  var n,
-                    r,
-                    i,
-                    o = t.getAttribute('id')
-                  if (o) return o
-                  for (r = '', i = e || {}, n = 0; n < t.attributes.length; n++)
-                    i[t.attributes[n].name] = t.attributes[n].value
-                  return (
-                    Object.keys(i)
-                      .sort()
-                      .forEach(function (e) {
-                        r += e + ':' + i[e] + ';'
-                      }),
-                    r
-                  )
-                }
-                function p(e, t) {
-                  return new Promise(n)
-                  function n(n, r) {
-                    function o(e) {
-                      f(e, t), (e.needsUpdate = !0), n(e)
-                    }
-                    'string' !== typeof e
-                      ? o(new i.Texture(e))
-                      : u.load(
-                          e,
-                          o,
-                          function () {},
-                          function (e) {
-                            c(
-                              '`$s` could not be fetched (Error code: %s; Response: %s)',
-                              e.status,
-                              e.statusText,
-                            )
-                          },
-                        )
-                  }
-                }
-                function f(e, t) {
-                  var n = t.offset || { x: 0, y: 0 },
-                    r = t.repeat || { x: 1, y: 1 }
-                  !!t.npot &&
-                    ((e.wrapS = i.ClampToEdgeWrapping),
-                    (e.wrapT = i.ClampToEdgeWrapping),
-                    (e.magFilter = i.LinearFilter),
-                    (e.minFilter = i.LinearFilter)),
-                    (1 === r.x && 1 === r.y) ||
-                      ((e.wrapS = i.RepeatWrapping),
-                      (e.wrapT = i.RepeatWrapping),
-                      e.repeat.set(r.x, r.y)),
-                    (0 === n.x && 0 === n.y) || e.offset.set(n.x, n.y)
-                }
-                function m(e, t, n) {
-                  var r = document.createElement('video')
-                  return (
-                    (r.width = t),
-                    (r.height = n),
-                    r.setAttribute('playsinline', ''),
-                    r.setAttribute('webkit-playsinline', ''),
-                    (r.autoplay = !0),
-                    (r.loop = !0),
-                    (r.crossOrigin = 'anonymous'),
-                    r.addEventListener(
-                      'error',
-                      function () {
-                        h('`$s` is not a valid video', e)
-                      },
-                      !0,
-                    ),
-                    (r.src = e),
-                    r
-                  )
-                }
-                function v(e) {
-                  return (
-                    (e.autoplay =
-                      e.hasAttribute('autoplay') && 'false' !== e.getAttribute('autoplay')),
-                    (e.controls =
-                      e.hasAttribute('controls') && 'false' !== e.getAttribute('controls')),
-                    'false' === e.getAttribute('loop') && e.removeAttribute('loop'),
-                    'false' === e.getAttribute('preload') && (e.preload = 'none'),
-                    (e.crossOrigin = e.crossOrigin || 'anonymous'),
-                    e.setAttribute('playsinline', ''),
-                    e.setAttribute('webkit-playsinline', ''),
-                    e
-                  )
-                }
-                u.setCrossOrigin('anonymous'),
-                  (t.exports.System = r('material', {
-                    init: function () {
-                      ;(this.materials = {}),
-                        (this.textureCounts = {}),
-                        (this.textureCache = {}),
-                        this.sceneEl.addEventListener(
-                          'materialtextureloaded',
-                          s(this.onMaterialTextureLoaded, this),
-                        )
-                    },
-                    clearTextureCache: function () {
-                      this.textureCache = {}
-                    },
-                    loadTexture: function (e, t, n) {
-                      var r = this
-                      if ('CANVAS' !== e.tagName) {
-                        if ('VIDEO' === e.tagName)
-                          return (
-                            e.src ||
-                              e.srcObject ||
-                              e.childElementCount ||
-                              h(
-                                'Video element was defined with neither `source` elements nor `src` / `srcObject` attributes.',
-                              ),
-                            void this.loadVideo(e, t, n)
-                          )
-                        o.srcLoader.validateSrc(e, i, a)
-                      } else this.loadCanvas(e, t, n)
-                      function i(e) {
-                        r.loadImage(e, t, n)
-                      }
-                      function a(e) {
-                        r.loadVideo(e, t, n)
-                      }
-                    },
-                    loadImage: function (e, t, n) {
-                      var r = this.hash(t),
-                        i = this.textureCache
-                      i[r] || (i[r] = p(e, t)), i[r].then(n)
-                    },
-                    loadCanvas: function (e, t, n) {
-                      var r
-                      f((r = new i.CanvasTexture(e)), t), n(r)
-                    },
-                    loadVideo: function (e, t, n) {
-                      var r,
-                        o,
-                        s,
-                        l,
-                        c = this.textureCache
-                      function u(e) {
-                        ;(e.texture.needsUpdate = !0), n(e.texture, e.videoEl)
-                      }
-                      if ('string' !== typeof e) {
-                        if (((s = e), c[(r = this.hashVideo(t, s))])) return void c[r].then(u)
-                        v(s)
-                      }
-                      ;(s = s || m(e, t.width, t.height)),
-                        c[(r = this.hashVideo(t, s))]
-                          ? c[r].then(u)
-                          : (((o = new i.VideoTexture(s)).minFilter = i.LinearFilter),
-                            f(o, t),
-                            this.sceneEl.isIOS &&
-                              a(s.src || s.getAttribute('src'), s.type || s.getAttribute('type')) &&
-                              ((o.format = i.RGBAFormat),
-                              (o.needsCorrectionBGRA = !0),
-                              (o.flipY = !1),
-                              (o.needsCorrectionFlipY = !0)),
-                            (l = { texture: o, videoEl: s }),
-                            (c[r] = Promise.resolve(l)),
-                            u(l))
-                    },
-                    hash: function (e) {
-                      return (
-                        e.src.tagName && ((e = o.extendDeep({}, e)).src = e.src.src),
-                        JSON.stringify(e)
-                      )
-                    },
-                    hashVideo: function (e, t) {
-                      return d(e, t)
-                    },
-                    registerMaterial: function (e) {
-                      this.materials[e.uuid] = e
-                    },
-                    unregisterMaterial: function (e) {
-                      delete this.materials[e.uuid]
-                      var t = this.textureCounts
-                      Object.keys(e)
-                        .filter(function (t) {
-                          return e[t] && e[t].isTexture
-                        })
-                        .forEach(function (n) {
-                          t[e[n].uuid]--, t[e[n].uuid] <= 0 && e[n].dispose()
-                        })
-                    },
-                    updateMaterials: function (e) {
-                      var t = this.materials
-                      Object.keys(t).forEach(function (e) {
-                        t[e].needsUpdate = !0
-                      })
-                    },
-                    onMaterialTextureLoaded: function (e) {
-                      this.textureCounts[e.detail.texture.uuid] ||
-                        (this.textureCounts[e.detail.texture.uuid] = 0),
-                        this.textureCounts[e.detail.texture.uuid]++
-                    },
-                  }))
-              },
-              {
-                '../core/system': 142,
-                '../lib/three': 179,
-                '../utils/': 205,
-                '../utils/material': 209,
-              },
-            ],
-            194: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../utils/'),
-                  o = e('../lib/three'),
-                  a = (0, i.debug)('components:renderer:warn')
-                t.exports.System = r('renderer', {
-                  schema: {
-                    antialias: { default: 'auto', oneOf: ['true', 'false', 'auto'] },
-                    highRefreshRate: { default: i.device.isOculusBrowser() },
-                    logarithmicDepthBuffer: { default: 'auto', oneOf: ['true', 'false', 'auto'] },
-                    maxCanvasWidth: { default: 1920 },
-                    maxCanvasHeight: { default: 1920 },
-                    physicallyCorrectLights: { default: !1 },
-                    precision: { default: 'high', oneOf: ['high', 'medium', 'low'] },
-                    sortObjects: { default: !1 },
-                    colorManagement: { default: !1 },
-                    gammaOutput: { default: !1 },
-                    alpha: { default: !0 },
-                    foveationLevel: { default: 0 },
-                  },
-                  init: function () {
-                    var e = this.data,
-                      t = this.el,
-                      n = t.renderer
-                    ;(n.sortObjects = e.sortObjects),
-                      (n.physicallyCorrectLights = e.physicallyCorrectLights),
-                      (e.colorManagement || e.gammaOutput) &&
-                        ((n.outputEncoding = o.sRGBEncoding),
-                        e.gammaOutput &&
-                          a(
-                            'Property `gammaOutput` is deprecated. Use `renderer="colorManagement: true;"` instead.',
-                          )),
-                      t.hasAttribute('antialias') &&
-                        a(
-                          'Component `antialias` is deprecated. Use `renderer="antialias: true"` instead.',
-                        ),
-                      t.hasAttribute('logarithmicDepthBuffer') &&
-                        a(
-                          'Component `logarithmicDepthBuffer` is deprecated. Use `renderer="logarithmicDepthBuffer: true"` instead.',
-                        )
-                  },
-                  applyColorCorrection: function (e) {
-                    this.data.colorManagement &&
-                      e &&
-                      (e.isColor
-                        ? e.convertSRGBToLinear()
-                        : e.isTexture && (e.encoding = o.sRGBEncoding))
-                  },
-                })
-              },
-              { '../core/system': 142, '../lib/three': 179, '../utils/': 205 },
-            ],
-            195: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../lib/three'),
-                  o = { basic: i.BasicShadowMap, pcf: i.PCFShadowMap, pcfsoft: i.PCFSoftShadowMap }
-                t.exports.System = r('shadow', {
-                  schema: {
-                    enabled: { default: !0 },
-                    autoUpdate: { default: !0 },
-                    type: { default: 'pcf', oneOf: ['basic', 'pcf', 'pcfsoft'] },
-                  },
-                  init: function () {
-                    var e = this.sceneEl,
-                      t = this.data
-                    ;(this.shadowMapEnabled = !1),
-                      e.renderer &&
-                        ((e.renderer.shadowMap.type = o[t.type]),
-                        (e.renderer.shadowMap.autoUpdate = t.autoUpdate),
-                        this.setShadowMapEnabled(this.shadowMapEnabled))
-                  },
-                  update: function (e) {
-                    e.enabled !== this.data.enabled && this.setShadowMapEnabled(this.data.enabled)
-                  },
-                  setShadowMapEnabled: function (e) {
-                    var t = this.sceneEl.renderer
-                    ;(this.shadowMapEnabled = this.data.enabled && e),
-                      t && (t.shadowMap.enabled = this.shadowMapEnabled)
-                  },
-                })
-              },
-              { '../core/system': 142, '../lib/three': 179 },
-            ],
-            196: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../utils'),
-                  o = i.device.isWebXRAvailable
-                t.exports.System = r('tracked-controls-webvr', {
-                  init: function () {
-                    var e = this
-                    ;(this.controllers = []),
-                      (this.isChrome = -1 !== navigator.userAgent.indexOf('Chrome')),
-                      this.updateControllerList(),
-                      (this.throttledUpdateControllerList = i.throttle(
-                        this.updateControllerList,
-                        500,
-                        this,
-                      )),
-                      o ||
-                        (navigator.getVRDisplays &&
-                          this.sceneEl.addEventListener('enter-vr', function () {
-                            navigator.getVRDisplays().then(function (t) {
-                              t.length && (e.vrDisplay = t[0])
-                            })
-                          }))
-                  },
-                  tick: function () {
-                    this.isChrome
-                      ? this.updateControllerList()
-                      : this.throttledUpdateControllerList()
-                  },
-                  updateControllerList: function () {
-                    var e,
-                      t,
-                      n,
-                      r,
-                      i = this.controllers
-                    if ((t = navigator.getGamepads && navigator.getGamepads())) {
-                      for (r = i.length, i.length = 0, n = 0; n < t.length; ++n)
-                        (e = t[n]) && e.pose && i.push(e)
-                      i.length !== r && this.el.emit('controllersupdated', void 0, !1)
-                    }
-                  },
-                })
-              },
-              { '../core/system': 142, '../utils': 205 },
-            ],
-            197: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../utils')
-                t.exports.System = r('tracked-controls-webxr', {
-                  init: function () {
-                    ;(this.controllers = []),
-                      (this.oldControllers = []),
-                      (this.oldControllersLength = 0),
-                      (this.throttledUpdateControllerList = i.throttle(
-                        this.updateControllerList,
-                        500,
-                        this,
-                      )),
-                      (this.updateReferenceSpace = this.updateReferenceSpace.bind(this)),
-                      this.el.addEventListener('enter-vr', this.updateReferenceSpace),
-                      this.el.addEventListener('exit-vr', this.updateReferenceSpace)
-                  },
-                  tick: function () {
-                    this.throttledUpdateControllerList()
-                  },
-                  updateReferenceSpace: function () {
-                    var e = this,
-                      t = this.el.xrSession
-                    if (!t)
-                      return (
-                        (this.referenceSpace = void 0),
-                        (this.controllers = []),
-                        void (
-                          this.oldControllersLength > 0 &&
-                          ((this.oldControllersLength = 0),
-                          this.el.emit('controllersupdated', void 0, !1))
-                        )
-                      )
-                    var n = e.el.sceneEl.systems.webxr.sessionReferenceSpaceType
-                    t.requestReferenceSpace(n)
-                      .then(function (t) {
-                        e.referenceSpace = t
-                      })
-                      .catch(function (t) {
-                        throw (
-                          (e.el.sceneEl.systems.webxr.warnIfFeatureNotRequested(
-                            n,
-                            'tracked-controls-webxr uses reference space "' + n + '".',
-                          ),
-                          t)
-                        )
-                      })
-                  },
-                  updateControllerList: function () {
-                    var e,
-                      t = this.el.xrSession,
-                      n = this.oldControllers
-                    if (!t) {
-                      if (0 === this.oldControllersLength) return
-                      return (
-                        (this.oldControllersLength = 0),
-                        (this.controllers = []),
-                        void this.el.emit('controllersupdated', void 0, !1)
-                      )
-                    }
-                    if (t.inputSources) {
-                      if (
-                        ((this.controllers = t.inputSources),
-                        this.oldControllersLength === this.controllers.length)
-                      ) {
-                        var r = !0
-                        for (e = 0; e < this.controllers.length; ++e)
-                          if (
-                            this.controllers[e] !== n[e] ||
-                            this.controllers[e].gamepad !== n[e].gamepad
-                          ) {
-                            r = !1
-                            break
-                          }
-                        if (r) return
-                      }
-                      for (n.length = 0, e = 0; e < this.controllers.length; e++)
-                        n.push(this.controllers[e])
-                      ;(this.oldControllersLength = this.controllers.length),
-                        this.el.emit('controllersupdated', void 0, !1)
-                    }
-                  },
-                })
-              },
-              { '../core/system': 142, '../utils': 205 },
-            ],
-            198: [
-              function (e, t, n) {
-                var r = e('../core/system').registerSystem,
-                  i = e('../utils/').debug('systems:webxr:warn')
-                t.exports.System = r('webxr', {
-                  schema: {
-                    referenceSpaceType: { type: 'string', default: 'local-floor' },
-                    requiredFeatures: { type: 'array', default: ['local-floor'] },
-                    optionalFeatures: { type: 'array', default: ['bounded-floor'] },
-                    overlayElement: { type: 'selector' },
-                  },
-                  update: function () {
-                    var e = this.data
-                    ;(this.sessionConfiguration = {
-                      requiredFeatures: e.requiredFeatures,
-                      optionalFeatures: e.optionalFeatures,
-                    }),
-                      (this.sessionReferenceSpaceType = e.referenceSpaceType),
-                      e.overlayElement &&
-                        (this.warnIfFeatureNotRequested('dom-overlay'),
-                        (this.sessionConfiguration.domOverlay = { root: e.overlayElement }))
-                  },
-                  wasFeatureRequested: function (e) {
-                    return (
-                      'viewer' === e ||
-                      'local' === e ||
-                      !(
-                        !this.sessionConfiguration.requiredFeatures.includes(e) &&
-                        !this.sessionConfiguration.optionalFeatures.includes(e)
-                      )
-                    )
-                  },
-                  warnIfFeatureNotRequested: function (e, t) {
-                    this.wasFeatureRequested(e) ||
-                      i(
-                        (t ? t + ' ' : '') +
-                          'Please add the feature "' +
-                          e +
-                          '" to a-scene\'s webxr system options in requiredFeatures/optionalFeatures.',
-                      )
-                  },
-                })
-              },
-              { '../core/system': 142, '../utils/': 205 },
-            ],
-            199: [
-              function (e, t, n) {
-                t.exports = function (e, t) {
-                  return (
-                    (n = Array.prototype.slice.call(arguments, 2)),
-                    function () {
-                      var r = n.concat(Array.prototype.slice.call(arguments, 0))
-                      return e.apply(t, r)
-                    }
-                  )
-                  var n
-                }
-              },
-              {},
-            ],
-            200: [
-              function (e, t, n) {
-                var r = e('./debug'),
-                  i = e('object-assign'),
-                  o = r('utils:coordinates:warn'),
-                  a = ['x', 'y', 'z', 'w'],
-                  s = /^\s*((-?\d*\.{0,1}\d+(e-?\d+)?)\s+){2,3}(-?\d*\.{0,1}\d+(e-?\d+)?)\s*$/
-                t.exports.regex = s
-                var l = 'object',
-                  c = /\s+/g
-                function u(e, t) {
-                  var n, r, o, s, u, h, d, f, m
-                  if (e && e instanceof Object)
-                    return (
-                      (h = void 0 === e.x ? t && t.x : e.x),
-                      (d = void 0 === e.y ? t && t.y : e.y),
-                      (f = void 0 === e.z ? t && t.z : e.z),
-                      (m = void 0 === e.w ? t && t.w : e.w),
-                      void 0 !== h && null !== h && (e.x = p(h)),
-                      void 0 !== d && null !== d && (e.y = p(d)),
-                      void 0 !== f && null !== f && (e.z = p(f)),
-                      void 0 !== m && null !== m && (e.w = p(m)),
-                      e
-                    )
-                  if (null === e || void 0 === e) return typeof t === l ? i({}, t) : t
-                  for (n = e.trim().split(c), u = {}, s = 0; s < a.length; s++)
-                    if (((o = a[s]), n[s])) u[o] = parseFloat(n[s], 10)
-                    else {
-                      if (void 0 === (r = t && t[o])) continue
-                      u[o] = p(r)
-                    }
-                  return u
-                }
-                function h(e) {
-                  var t
-                  return typeof e !== l
-                    ? e
-                    : ((t = e.x + ' ' + e.y),
-                      null != e.z && (t += ' ' + e.z),
-                      null != e.w && (t += ' ' + e.w),
-                      t)
-                }
-                function d(e) {
-                  return s.test(e)
-                }
-                function p(e) {
-                  return null !== e && void 0 !== e && e.constructor === String
-                    ? parseFloat(e, 10)
-                    : e
-                }
-                ;(t.exports.parse = u),
-                  (t.exports.stringify = h),
-                  (t.exports.isCoordinates = d),
-                  (t.exports.isCoordinate = function (e) {
-                    return (
-                      o(
-                        '`AFRAME.utils.isCoordinate` has been renamed to `AFRAME.utils.isCoordinates`',
-                      ),
-                      d(e)
-                    )
-                  }),
-                  (t.exports.toVector3 = function (e) {
-                    return new THREE.Vector3(e.x, e.y, e.z)
-                  })
-              },
-              { './debug': 201, 'object-assign': 39 },
-            ],
-            201: [
-              function (t, n, r) {
-                ;(function (r) {
-                  var i = t('debug'),
-                    o = t('object-assign'),
-                    a = { colors: { debug: 'gray', error: 'red', info: 'gray', warn: 'orange' } },
-                    s = function (e) {
-                      var t = i(e)
-                      return (t.color = c(e)), t
-                    }
-                  function l(e) {
-                    var t = e.split(':')
-                    return t[t.length - 1]
-                  }
-                  function c(e) {
-                    var t = l(e)
-                    return (a.colors && a.colors[t]) || null
-                  }
-                  function u() {
-                    try {
-                      return window.localStorage
-                    } catch (e) {}
-                  }
-                  o(s, i)
-                  var h = u()
-                  h && (parseInt(h.logs, 10) || 'true' === h.logs)
-                    ? s.enable('*')
-                    : s.enable('*:error,*:info,*:warn'),
-                    r.browser && (window.logs = s),
-                    (n.exports = s)
-                }.call(this, t('_process')))
-              },
-              { _process: 49, debug: 8, 'object-assign': 39 },
-            ],
-            202: [
-              function (e, t, n) {
-                ;(function (n) {
-                  var r,
-                    i = e('debug')('device:error'),
-                    o = !1,
-                    a = !1,
-                    s = (t.exports.isWebXRAvailable = !window.debug && void 0 !== navigator.xr)
-                  if (
-                    (window.addEventListener('vrdisplayactivate', function (e) {
-                      var t
-                      s ||
-                        ((t = document.createElement('canvas')),
-                        (r = e.display),
-                        t.getContext('webgl', {}),
-                        r.requestPresent([{ source: t }]).then(
-                          function () {},
-                          function () {},
-                        ))
-                    }),
-                    s)
-                  ) {
-                    var l = function () {
-                        var e = document.querySelector('a-scene')
-                        e
-                          ? e.hasLoaded
-                            ? e.components['vr-mode-ui'].updateEnterInterfaces()
-                            : e.addEventListener('loaded', l)
-                          : window.addEventListener('DOMContentLoaded', l)
-                      },
-                      c = function (e) {
-                        i('WebXR session support error: ' + e.message)
-                      }
-                    navigator.xr.isSessionSupported
-                      ? (navigator.xr
-                          .isSessionSupported('immersive-vr')
-                          .then(function (e) {
-                            ;(o = e), l()
-                          })
-                          .catch(c),
-                        navigator.xr
-                          .isSessionSupported('immersive-ar')
-                          .then(function (e) {
-                            ;(a = e), l()
-                          })
-                          .catch(function () {}))
-                      : navigator.xr.supportsSession
-                      ? (navigator.xr
-                          .supportsSession('immersive-vr')
-                          .then(function () {
-                            ;(o = !0), l()
-                          })
-                          .catch(c),
-                        navigator.xr
-                          .supportsSession('immersive-ar')
-                          .then(function () {
-                            ;(a = !0), l()
-                          })
-                          .catch(function () {}))
-                      : i('WebXR has neither isSessionSupported or supportsSession?!')
-                  } else
-                    navigator.getVRDisplays &&
-                      navigator.getVRDisplays().then(function (e) {
-                        var t = document.querySelector('a-scene')
-                        ;(r = e.length && e[0]), t && t.emit('displayconnected', { vrDisplay: r })
-                      })
-                  function u() {
-                    return r
-                  }
-                  function h() {
-                    return o || a || !!u()
-                  }
-                  function d() {
-                    return a
-                  }
-                  ;(t.exports.getVRDisplay = u),
-                    (t.exports.checkHeadsetConnected = h),
-                    (t.exports.checkARSupport = d)
-                  var p = (function () {
-                    var e,
-                      t = !1
-                    return (
-                      (e = window.navigator.userAgent || window.navigator.vendor || window.opera),
-                      (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(
-                        e,
-                      ) ||
-                        /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
-                          e.substr(0, 4),
-                        )) &&
-                        (t = !0),
-                      (m() || f() || A()) && (t = !0),
-                      b() && (t = !1),
-                      function () {
-                        return t
-                      }
-                    )
-                  })()
-                  function f(e) {
-                    var t = e || window.navigator.userAgent
-                    return /ipad|Nexus (7|9)|xoom|sch-i800|playbook|tablet|kindle/i.test(t)
-                  }
-                  function m() {
-                    return /iPad|iPhone|iPod/.test(window.navigator.platform)
-                  }
-                  function v() {
-                    return !p() && !b() && void 0 !== window.orientation
-                  }
-                  function g() {
-                    return /(OculusBrowser)/i.test(window.navigator.userAgent)
-                  }
-                  function y() {
-                    return /(Mobile VR)/i.test(window.navigator.userAgent)
-                  }
-                  function b() {
-                    return g() || y()
-                  }
-                  function A() {
-                    return /R7 Build/.test(window.navigator.userAgent)
-                  }
-                  ;(t.exports.isMobile = p),
-                    (t.exports.isTablet = f),
-                    (t.exports.isIOS = m),
-                    (t.exports.isMobileDeviceRequestingDesktopSite = v),
-                    (t.exports.isOculusBrowser = g),
-                    (t.exports.isFirefoxReality = y),
-                    (t.exports.isMobileVR = b),
-                    (t.exports.isR7 = A),
-                    (t.exports.isLandscape = function () {
-                      var e = window.orientation
-                      return A() && (e += 90), 90 === e || -90 === e
-                    }),
-                    (t.exports.isBrowserEnvironment = !(n && !n.browser)),
-                    (t.exports.isNodeEnvironment = !t.exports.isBrowserEnvironment)
-                }.call(this, e('_process')))
-              },
-              { _process: 49, debug: 8 },
-            ],
-            203: [
-              function (e, t, n) {
-                var r = {}
-                function i(e, t) {
-                  return (
-                    r[(t = t || '.')] || (r[t] = {}),
-                    -1 !== e.indexOf(t) ? (r[t][e] = e.split(t)) : (r[t][e] = e),
-                    r[t][e]
-                  )
-                }
-                ;(t.exports.getComponentPropertyPath = i),
-                  (t.exports.propertyPathCache = r),
-                  (t.exports.getComponentProperty = function (e, t, n) {
-                    var r
-                    return (
-                      (n = n || '.'),
-                      -1 !== t.indexOf(n)
-                        ? (r = i(t, n)).constructor === String
-                          ? e.getAttribute(r)
-                          : e.getAttribute(r[0])[r[1]]
-                        : e.getAttribute(t)
-                    )
-                  }),
-                  (t.exports.setComponentProperty = function (e, t, n, r) {
-                    var o
-                    ;(r = r || '.'),
-                      -1 === t.indexOf(r)
-                        ? e.setAttribute(t, n)
-                        : (o = i(t, r)).constructor === String
-                        ? e.setAttribute(o, n)
-                        : e.setAttribute(o[0], o[1], n)
-                  })
-              },
-              {},
-            ],
-            204: [
-              function (e, t, n) {
-                t.exports = function (e) {
-                  var t = e.style.width,
-                    n = e.style.height
-                  ;(e.style.width = parseInt(t, 10) + 1 + 'px'),
-                    (e.style.height = parseInt(n, 10) + 1 + 'px'),
-                    setTimeout(function () {
-                      ;(e.style.width = t), (e.style.height = n)
-                    }, 200)
-                }
-              },
-              {},
-            ],
-            205: [
-              function (e, t, n) {
-                var r = e('./debug'),
-                  i = e('deep-assign'),
-                  o = e('./device'),
-                  a = e('object-assign'),
-                  s = e('./object-pool'),
-                  l = r('utils:warn')
-                ;(t.exports.bind = e('./bind')),
-                  (t.exports.coordinates = e('./coordinates')),
-                  (t.exports.debug = r),
-                  (t.exports.device = o),
-                  (t.exports.entity = e('./entity')),
-                  (t.exports.forceCanvasResizeSafariMobile = e('./forceCanvasResizeSafariMobile')),
-                  (t.exports.isIE11 = e('./is-ie11')),
-                  (t.exports.material = e('./material')),
-                  (t.exports.objectPool = s),
-                  (t.exports.split = e('./split').split),
-                  (t.exports.styleParser = e('./styleParser')),
-                  (t.exports.trackedControls = e('./tracked-controls')),
-                  (t.exports.checkHeadsetConnected = function () {
-                    return (
-                      l(
-                        '`utils.checkHeadsetConnected` has moved to `utils.device.checkHeadsetConnected`',
-                      ),
-                      o.checkHeadsetConnected(arguments)
-                    )
-                  }),
-                  (t.exports.isGearVR = t.exports.device.isGearVR =
-                    function () {
-                      l('`utils.isGearVR` has been deprecated, use `utils.device.isMobileVR`')
-                    }),
-                  (t.exports.isIOS = function () {
-                    return l('`utils.isIOS` has moved to `utils.device.isIOS`'), o.isIOS(arguments)
-                  }),
-                  (t.exports.isOculusGo = t.exports.device.isOculusGo =
-                    function () {
-                      l('`utils.isOculusGo` has been deprecated, use `utils.device.isMobileVR`')
-                    }),
-                  (t.exports.isMobile = function () {
-                    return (
-                      l('`utils.isMobile has moved to `utils.device.isMobile`'),
-                      o.isMobile(arguments)
-                    )
-                  }),
-                  (t.exports.throttle = function (e, n, r) {
-                    var i
-                    return (
-                      r && (e = t.exports.bind(e, r)),
-                      function () {
-                        var t = Date.now()
-                        ;('undefined' === typeof i ||
-                          ('undefined' === typeof i ? n : t - i) >= n) &&
-                          ((i = t), e.apply(null, arguments))
-                      }
-                    )
-                  }),
-                  (t.exports.throttleTick = function (e, n, r) {
-                    var i
-                    return (
-                      r && (e = t.exports.bind(e, r)),
-                      function (t, r) {
-                        var o = 'undefined' === typeof i ? r : t - i
-                        ;('undefined' === typeof i || o >= n) && ((i = t), e(t, o))
-                      }
-                    )
-                  }),
-                  (t.exports.debounce = function (e, t, n) {
-                    var r
-                    return function () {
-                      var i = this,
-                        o = arguments,
-                        a = function () {
-                          ;(r = null), n || e.apply(i, o)
-                        },
-                        s = n && !r
-                      clearTimeout(r), (r = setTimeout(a, t)), s && e.apply(i, o)
-                    }
-                  }),
-                  (t.exports.extend = a),
-                  (t.exports.extendDeep = i),
-                  (t.exports.clone = function (e) {
-                    return JSON.parse(JSON.stringify(e))
-                  })
-                var c = (function () {
-                  var e = s.createPool(function () {
-                    return []
-                  })
-                  return function (t, n) {
-                    var r, i, o, a, s, l
-                    if (
-                      void 0 === t ||
-                      void 0 === n ||
-                      null === t ||
-                      null === n ||
-                      !(
-                        (t && n && t.constructor === Object && n.constructor === Object) ||
-                        (t.constructor === Array && n.constructor === Array)
-                      )
-                    )
-                      return t === n
-                    for (r in ((i = e.use()), (o = e.use()), (i.length = 0), (o.length = 0), t))
-                      i.push(r)
-                    for (r in n) o.push(r)
-                    if (i.length !== o.length) return e.recycle(i), e.recycle(o), !1
-                    for (a = 0; a < i.length; ++a)
-                      if (
-                        ((s = t[i[a]]),
-                        (l = n[i[a]]),
-                        'object' === typeof s ||
-                          'object' === typeof l ||
-                          (Array.isArray(s) && Array.isArray(l)))
-                      ) {
-                        if (s === l) continue
-                        if (!c(s, l)) return e.recycle(i), e.recycle(o), !1
-                      } else if (s !== l) return e.recycle(i), e.recycle(o), !1
-                    return e.recycle(i), e.recycle(o), !0
-                  }
-                })()
-                ;(t.exports.deepEqual = c),
-                  (t.exports.diff = (function () {
-                    var e = []
-                    return function (t, n, r) {
-                      var i, o, a, s, l, u, h
-                      for (l in ((s = r || {}), (e.length = 0), t)) e.push(l)
-                      if (!n) return s
-                      for (a in n) -1 === e.indexOf(a) && e.push(a)
-                      for (u = 0; u < e.length; u++)
-                        (i = t[(l = e[u])]),
-                          (o = n[l]),
-                          (((h = i && o && i.constructor === Object && o.constructor === Object) &&
-                            !c(i, o)) ||
-                            (!h && i !== o)) &&
-                            (s[l] = o)
-                      return s
-                    }
-                  })()),
-                  (t.exports.shouldCaptureKeyEvent = function (e) {
-                    return !e.metaKey && document.activeElement === document.body
-                  }),
-                  (t.exports.splitString = function (e, t) {
-                    'undefined' === typeof t && (t = ' ')
-                    var n = new RegExp(t, 'g')
-                    return (e = (e || '').replace(n, t)).split(t)
-                  }),
-                  (t.exports.getElData = function (e, t) {
-                    t = t || {}
-                    var n = {}
-                    function r(t) {
-                      e.hasAttribute(t) && (n[t] = e.getAttribute(t))
-                    }
-                    return Object.keys(t).forEach(r), n
-                  }),
-                  (t.exports.getUrlParameter = function (e) {
-                    e = e.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]')
-                    var t = new RegExp('[\\?&]' + e + '=([^&#]*)').exec(location.search)
-                    return null === t ? '' : decodeURIComponent(t[1].replace(/\+/g, ' '))
-                  }),
-                  (t.exports.isIframed = function () {
-                    return window.top !== window.self
-                  }),
-                  (t.exports.findAllScenes = function (e) {
-                    for (
-                      var t = [], n = e.getElementsByTagName('*'), r = 0, i = n.length;
-                      r < i;
-                      r++
-                    )
-                      n[r].isScene && t.push(n[r])
-                    return t
-                  }),
-                  (t.exports.srcLoader = e('./src-loader'))
-              },
-              {
-                './bind': 199,
-                './coordinates': 200,
-                './debug': 201,
-                './device': 202,
-                './entity': 203,
-                './forceCanvasResizeSafariMobile': 204,
-                './is-ie11': 207,
-                './material': 209,
-                './object-pool': 210,
-                './split': 211,
-                './src-loader': 212,
-                './styleParser': 213,
-                './tracked-controls': 214,
-                'deep-assign': 10,
-                'object-assign': 39,
-              },
-            ],
-            206: [
-              function (e, t, n) {
-                window.addEventListener('orientationchange', function () {
-                  ;(document.documentElement.style.height = 'initial'),
-                    setTimeout(function () {
-                      ;(document.documentElement.style.height = '100%'),
-                        setTimeout(function () {
-                          window.scrollTo(0, 1)
-                        }, 500)
-                    }, 500)
-                })
-              },
-              {},
-            ],
-            207: [
-              function (e, t, n) {
-                function r() {
-                  var e = -1,
-                    t = navigator.userAgent
-                  return (
-                    'Microsoft Internet Explorer' === navigator.appName
-                      ? null != new RegExp('MSIE ([0-9]{1,}[\\.0-9]{0,})').exec(t) &&
-                        (e = parseFloat(RegExp.$1))
-                      : 'Netscape' === navigator.appName &&
-                        null != new RegExp('Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})').exec(t) &&
-                        (e = parseFloat(RegExp.$1)),
-                    e
-                  )
-                }
-                t.exports = 11 === r()
-              },
-              {},
-            ],
-            208: [
-              function (e, t, n) {
-                t.exports = function (e) {
-                  return /(iphone|ipod|ipad).*os.(7_|8_|9_)/i.test(e)
-                }
-              },
-              {},
-            ],
-            209: [
-              function (e, t, n) {
-                var r = e('../lib/three'),
-                  i = ['application/x-mpegurl', 'application/vnd.apple.mpegurl'],
-                  o = new Set(['emissiveMap', 'envMap', 'map', 'specularMap'])
-                function a(e, t) {
-                  t &&
-                    (e.emit('materialtextureloaded', { src: t.image, texture: t }),
-                    t.image &&
-                      'VIDEO' === t.image.tagName &&
-                      (t.image.addEventListener('loadeddata', function () {
-                        e.components &&
-                          e.components.material &&
-                          (t.needsCorrectionBGRA &&
-                            t.needsCorrectionFlipY &&
-                            -1 !==
-                              ['standard', 'flat'].indexOf(e.components.material.data.shader) &&
-                            e.setAttribute('material', 'shader', 'ios10hls'),
-                          e.emit('materialvideoloadeddata', { src: t.image, texture: t }))
-                      }),
-                      t.image.addEventListener('ended', function () {
-                        e.emit('materialvideoended', { src: t.image, texture: t })
-                      })))
-                }
-                ;(t.exports.updateMapMaterialFromData = function (e, t, n, i) {
-                  var s = n.el,
-                    l = n.material,
-                    c = s.sceneEl.systems.renderer,
-                    u = i[t]
-                  if ((n.materialSrcs || (n.materialSrcs = {}), !u))
-                    return delete n.materialSrcs[e], void d(null)
-                  function h(t) {
-                    n.materialSrcs[e] === u && d(t)
-                  }
-                  function d(t) {
-                    ;(l[e] = t),
-                      t && o.has(e) && c.applyColorCorrection(t),
-                      (l.needsUpdate = !0),
-                      a(s, t)
-                  }
-                  u !== n.materialSrcs[e] &&
-                    ((n.materialSrcs[e] = u),
-                    u instanceof r.Texture
-                      ? d(u)
-                      : s.sceneEl.systems.material.loadTexture(
-                          u,
-                          { src: u, repeat: i.repeat, offset: i.offset, npot: i.npot },
-                          h,
-                        ))
-                }),
-                  (t.exports.updateMap = function (e, n) {
-                    return t.exports.updateMapMaterialFromData('map', 'src', e, n)
-                  }),
-                  (t.exports.updateDistortionMap = function (e, t, n) {
-                    var r = e
-                    'ambientOcclusion' === e && (r = 'ao')
-                    var i = t.el,
-                      s = t.material,
-                      l = i.sceneEl.systems.renderer,
-                      c = n[e + 'Map'],
-                      u = {}
-                    if (
-                      ((u.src = c),
-                      (u.offset = n[e + 'TextureOffset']),
-                      (u.repeat = n[e + 'TextureRepeat']),
-                      (u.wrap = n[e + 'TextureWrap']),
-                      c)
-                    ) {
-                      if (c === t[e + 'TextureSrc']) return
-                      return (
-                        (t[e + 'TextureSrc'] = c),
-                        void i.sceneEl.systems.material.loadTexture(c, u, h)
-                      )
-                    }
-                    function h(e) {
-                      var t = r + 'Map'
-                      ;(s[t] = e),
-                        e && o.has(t) && l.applyColorCorrection(e),
-                        (s.needsUpdate = !0),
-                        a(i, e)
-                    }
-                    s.map && h(null)
-                  }),
-                  (t.exports.handleTextureEvents = a),
-                  (t.exports.isHLS = function (e, t) {
-                    return (
-                      !(!t || !i.includes(t.toLowerCase())) ||
-                      !!(e && e.toLowerCase().indexOf('.m3u8') > 0)
-                    )
-                  })
-              },
-              { '../lib/three': 179 },
-            ],
-            210: [
-              function (e, t, n) {
-                var r = Object.freeze(Object.create(null))
-                function i() {
-                  return {}
-                }
-                function o(e) {
-                  var t
-                  if (e && e.constructor === Object) for (t in e) e[t] = void 0
-                }
-                function a(e, t) {
-                  var n
-                  if (e && e.constructor === Object) for (n in e) n in t || delete e[n]
-                }
-                ;(t.exports.createPool = function (e) {
-                  var t = [],
-                    n = null
-                  function a() {
-                    var e
-                    return (
-                      (null !== n && n !== t.length) || l(t.length || 5),
-                      (e = t[n]),
-                      (t[n++] = r),
-                      o(e),
-                      e
-                    )
-                  }
-                  function s(e) {
-                    e instanceof Object &&
-                      (null !== n && -1 !== n ? (t[--n] = e) : (t[t.length] = e))
-                  }
-                  function l(r) {
-                    var i, o
-                    if (((r = void 0 === r ? t.length : r) > 0 && null == n && (n = 0), r > 0))
-                      for (i = t.length, t.length += Number(r), o = i; o < t.length; o++) t[o] = e()
-                    return t.length
-                  }
-                  function c() {
-                    return t.length
-                  }
-                  return (e = e || i), { grow: l, pool: t, recycle: s, size: c, use: a }
-                }),
-                  (t.exports.clearObject = o),
-                  (t.exports.removeUnusedKeys = a)
-              },
-              {},
-            ],
-            211: [
-              function (e, t, n) {
-                t.exports.split = (function () {
-                  var e = {}
-                  return function (t, n) {
-                    return n in e || (e[n] = {}), t in e[n] || (e[n][t] = t.split(n)), e[n][t]
-                  }
-                })()
-              },
-              {},
-            ],
-            212: [
-              function (t, n, r) {
-                var i = t('./debug')('utils:src-loader:warn')
-                function o(e, t, n) {
-                  l(e, function (r) {
-                    r ? t(e) : n(e)
-                  })
-                }
-                function a(e, t) {
-                  var n,
-                    r,
-                    a,
-                    l = '',
-                    c = []
-                  for (r = 0; r < 5; r++) l += '(url\\((?:[^\\)]+)\\),\\s*)'
-                  function h(e) {
-                    c.push(e), 6 === c.length && t(c)
-                  }
-                  if (((l += '(url\\((?:[^\\)]+)\\)\\s*)'), (a = e.match(new RegExp(l)))))
-                    for (r = 1; r < 7; r++) o(s(a[r]), h)
-                  else if ((n = u(e)))
-                    return 'A-CUBEMAP' === n.tagName && n.srcs
-                      ? t(n.srcs)
-                      : void i('Selector "%s" does not point to <a-cubemap>', e)
-                }
-                function s(e) {
-                  var t = e.match(/\url\((.+)\)/)
-                  if (t) return t[1]
-                }
-                function l(e, t) {
-                  var n
-                  e.tagName
-                    ? t('IMG' === e.tagName)
-                    : ((n = new XMLHttpRequest()).open('HEAD', e),
-                      n.addEventListener('load', function (r) {
-                        var i
-                        n.status >= 200 && n.status < 300
-                          ? null == (i = n.getResponseHeader('Content-Type'))
-                            ? c(e, t)
-                            : i.startsWith('image')
-                            ? t(!0)
-                            : t(!1)
-                          : c(e, t),
-                          n.abort()
-                      }),
-                      n.send())
-                }
-                function c(e, t) {
-                  var n = new Image()
-                  function r() {
-                    t(!0)
-                  }
-                  function i() {
-                    t(!1)
-                  }
-                  n.addEventListener('load', r), n.addEventListener('error', i), (n.src = e)
-                }
-                function u(t) {
-                  try {
-                    var n = document.querySelector(t)
-                    return n || i('No element was found matching the selector: "%s"', t), n
-                  } catch (e) {
-                    return void i('"%s" is not a valid selector', t)
-                  }
-                }
-                n.exports = { parseUrl: s, validateSrc: o, validateCubemapSrc: a }
-              },
-              { './debug': 201 },
-            ],
-            213: [
-              function (e, t, n) {
-                var r = /-([a-z])/g
-                function i(e) {
-                  return e.replace(r, c)
-                }
-                function o(e) {
-                  var t, n
-                  for (n in e) n !== (t = i(n)) && ((e[t] = e[n]), delete e[n])
-                  return e
-                }
-                ;(t.exports.parse = function (e, t) {
-                  var n
-                  return 'string' !== typeof e || (n = s(e, t))[''] ? e : o(n)
-                }),
-                  (t.exports.stringify = function (e) {
-                    return 'string' === typeof e ? e : l(e)
-                  }),
-                  (t.exports.toCamelCase = i),
-                  (t.exports.transformKeysToCamelCase = o)
-                var a = (function () {
-                  var e = [],
-                    t = /url\([^)]+$/
-                  return function (n) {
-                    var r,
-                      i = '',
-                      o = 0,
-                      a = ';'
-                    for (e.length = 0; o < n.length; )
-                      -1 === (r = n.indexOf(a, o)) && (r = n.length),
-                        (i += n.substring(o, r)),
-                        t.test(i)
-                          ? ((i += ';'), (o = r + 1))
-                          : (e.push(i.trim()), (i = ''), (o = r + 1))
-                    return e
-                  }
-                })()
-                function s(e, t) {
-                  var n, r, i, o, s, l
-                  for (t = t || {}, n = a(e), r = 0; r < n.length; r++)
-                    (i = n[r]) &&
-                      ((o = i.indexOf(':')),
-                      (s = i.substr(0, o).trim()),
-                      (l = i.substr(o + 1).trim()),
-                      (t[s] = l))
-                  return t
-                }
-                function l(e) {
-                  var t,
-                    n = 0,
-                    r = 0,
-                    i = ''
-                  for (t in e) n++
-                  for (t in e) (i += t + ': ' + e[t]), r < n - 1 && (i += '; '), r++
-                  return i
-                }
-                function c(e) {
-                  return e[1].toUpperCase()
-                }
-              },
-              {},
-            ],
-            214: [
-              function (e, t, n) {
-                var r = e('../constants').DEFAULT_HANDEDNESS,
-                  i = ['x', 'y', 'z', 'w'],
-                  o = 2
-                function a(e, t, n) {
-                  var r,
-                    i,
-                    o = e.el.sceneEl,
-                    a = n.index || 0
-                  return (
-                    !!t &&
-                    !!(i = o && o.systems['tracked-controls-webvr']) &&
-                    !!(r = i.controllers).length &&
-                    !!l(r, null, t, n.hand, a)
-                  )
-                }
-                function s(e, t, n) {
-                  var r,
-                    i = e.el.sceneEl,
-                    o = i && i.systems['tracked-controls-webxr']
-                  return (
-                    !!o &&
-                    !(!(r = o.controllers) || !r.length) &&
-                    c(r, t, n.hand, n.index, n.iterateControllerProfiles, n.handTracking)
-                  )
-                }
-                function l(e, t, n, i, a) {
-                  var s,
-                    l,
-                    c = 0
-                  for (l = 0; l < e.length; l++)
-                    if (
-                      ((s = e[l]),
-                      (!n || s.id.startsWith(n)) &&
-                        (n || s.id === t) &&
-                        (!i || !s.hand || i === s.hand))
-                    ) {
-                      if (!i || s.hand) return s
-                      if (c === o * a + (i === r ? 0 : 1)) return s
-                      ++c
-                    }
-                }
-                function c(e, t, n, r, i, o) {
-                  var a,
-                    s,
-                    l,
-                    c,
-                    u = !1
-                  for (a = 0; a < e.length; a++) {
-                    if (((c = (l = e[a]).profiles), o)) u = l.hand
-                    else if (i) for (s = 0; s < c.length && !(u = c[s].startsWith(t)); s++);
-                    else u = c.length > 0 && c[0].startsWith(t)
-                    if (u)
-                      if ('right' === l.handedness || 'left' === l.handedness) {
-                        if (l.handedness === n) return e[a]
-                      } else if (a === r) return e[a]
-                  }
-                }
-                ;(t.exports.checkControllerPresentAndSetup = function (e, t, n) {
-                  var r,
-                    i,
-                    o = e.el,
-                    l = o.sceneEl.hasWebXR
-                  if (
-                    ((i = !!(r = (l ? s : a)(e, t, n))),
-                    !e.controllerPresent || e.controllerEventsActive || l || e.addEventListeners(),
-                    i === e.controllerPresent)
-                  )
-                    return i
-                  ;(e.controllerPresent = i),
-                    i
-                      ? (e.addEventListeners(),
-                        e.injectTrackedControls(r),
-                        o.emit('controllerconnected', { name: e.name, component: e }))
-                      : (e.removeEventListeners(),
-                        o.emit('controllerdisconnected', { name: e.name, component: e }))
-                }),
-                  (t.exports.isControllerPresentWebVR = a),
-                  (t.exports.isControllerPresentWebXR = s),
-                  (t.exports.findMatchingControllerWebVR = l),
-                  (t.exports.findMatchingControllerWebXR = c),
-                  (t.exports.emitIfAxesChanged = function (e, t, n) {
-                    var r, o, a, s, l
-                    for (o in t) {
-                      for (r = t[o], a = !1, l = 0; l < r.length; l++)
-                        n.detail.changed[r[l]] && (a = !0)
-                      if (a) {
-                        for (s = {}, l = 0; l < r.length; l++) s[i[l]] = n.detail.axis[r[l]]
-                        e.el.emit(o + 'moved', s)
-                      }
-                    }
-                  }),
-                  (t.exports.onButtonEvent = function (e, t, n, r) {
-                    var i = (r ? n.mapping[r] : n.mapping).buttons[e]
-                    n.el.emit(i + t), n.updateModel && n.updateModel(i, t)
-                  })
-              },
-              { '../constants': 123 },
-            ],
-            215: [
-              function (e, t, n) {
-                THREE.DeviceOrientationControls = function (e) {
-                  var t = this
-                  ;(this.object = e),
-                    this.object.rotation.reorder('YXZ'),
-                    (this.enabled = !0),
-                    (this.deviceOrientation = {}),
-                    (this.screenOrientation = 0),
-                    (this.alphaOffset = 0)
-                  var n = function (e) {
-                      t.deviceOrientation = e
-                    },
-                    r = function () {
-                      t.screenOrientation = window.orientation || 0
-                    },
-                    i = (function () {
-                      var e = new THREE.Vector3(0, 0, 1),
-                        t = new THREE.Euler(),
-                        n = new THREE.Quaternion(),
-                        r = new THREE.Quaternion(-Math.sqrt(0.5), 0, 0, Math.sqrt(0.5))
-                      return function (i, o, a, s, l) {
-                        t.set(a, o, -s, 'YXZ'),
-                          i.setFromEuler(t),
-                          i.multiply(r),
-                          i.multiply(n.setFromAxisAngle(e, -l))
-                      }
-                    })()
-                  ;(this.connect = function () {
-                    r(),
-                      window.addEventListener('orientationchange', r, !1),
-                      window.addEventListener('deviceorientation', n, !1),
-                      (t.enabled = !0)
-                  }),
-                    (this.disconnect = function () {
-                      window.removeEventListener('orientationchange', r, !1),
-                        window.removeEventListener('deviceorientation', n, !1),
-                        (t.enabled = !1)
-                    }),
-                    (this.update = function () {
-                      if (!1 !== t.enabled) {
-                        var e = t.deviceOrientation
-                        if (e) {
-                          var n = e.alpha ? THREE.Math.degToRad(e.alpha) + t.alphaOffset : 0,
-                            r = e.beta ? THREE.Math.degToRad(e.beta) : 0,
-                            o = e.gamma ? THREE.Math.degToRad(e.gamma) : 0,
-                            a = t.screenOrientation ? THREE.Math.degToRad(t.screenOrientation) : 0
-                          i(t.object.quaternion, n, r, o, a)
-                        }
-                      }
-                    }),
-                    (this.dispose = function () {
-                      t.disconnect()
-                    }),
-                    this.connect()
-                }
-              },
-              {},
-            ],
-            216: [
-              function (e, t, n) {
-                ;(window.glStats = function () {
-                  var e = null,
-                    t = 0,
-                    n = 0,
-                    r = 0,
-                    i = 0,
-                    o = 0,
-                    a = 0,
-                    s = 0
-                  function l(e, t) {
-                    return function () {
-                      t.apply(this, arguments), e.apply(this, arguments)
-                    }
-                  }
-                  function c() {
-                    e('allcalls').set(t + n),
-                      e('drawElements').set(n),
-                      e('drawArrays').set(t),
-                      e('bindTexture').set(s),
-                      e('useProgram').set(r),
-                      e('glfaces').set(i),
-                      e('glvertices').set(o),
-                      e('glpoints').set(a)
-                  }
-                  function u() {
-                    ;(t = 0), (n = 0), (r = 0), (i = 0), (o = 0), (a = 0), (s = 0)
-                  }
-                  function h() {}
-                  function d(t) {
-                    e = t
-                  }
-                  return (
-                    (WebGLRenderingContext.prototype.drawArrays = l(
-                      WebGLRenderingContext.prototype.drawArrays,
-                      function () {
-                        t++, arguments[0] == this.POINTS ? (a += arguments[2]) : (o += arguments[2])
-                      },
-                    )),
-                    (WebGLRenderingContext.prototype.drawElements = l(
-                      WebGLRenderingContext.prototype.drawElements,
-                      function () {
-                        n++, (i += arguments[1] / 3), (o += arguments[1])
-                      },
-                    )),
-                    (WebGLRenderingContext.prototype.useProgram = l(
-                      WebGLRenderingContext.prototype.useProgram,
-                      function () {
-                        r++
-                      },
-                    )),
-                    (WebGLRenderingContext.prototype.bindTexture = l(
-                      WebGLRenderingContext.prototype.bindTexture,
-                      function () {
-                        s++
-                      },
-                    )),
-                    {
-                      update: c,
-                      start: u,
-                      end: h,
-                      attach: d,
-                      values: {
-                        allcalls: { over: 3e3, caption: 'Calls (hook)' },
-                        drawelements: { caption: 'drawElements (hook)' },
-                        drawarrays: { caption: 'drawArrays (hook)' },
-                      },
-                      groups: [
-                        {
-                          caption: 'WebGL',
-                          values: [
-                            'allcalls',
-                            'drawelements',
-                            'drawarrays',
-                            'useprogram',
-                            'bindtexture',
-                            'glfaces',
-                            'glvertices',
-                            'glpoints',
-                          ],
-                        },
-                      ],
-                      fractions: [{ base: 'allcalls', steps: ['drawelements', 'drawarrays'] }],
-                    }
-                  )
-                }),
-                  (window.threeStats = function (e) {
-                    var t = null
-                    function n() {
-                      t('renderer.info.memory.geometries').set(e.info.memory.geometries),
-                        t('renderer.info.programs').set(e.info.programs.length),
-                        t('renderer.info.memory.textures').set(e.info.memory.textures),
-                        t('renderer.info.render.calls').set(e.info.render.calls),
-                        t('renderer.info.render.triangles').set(e.info.render.triangles),
-                        t('renderer.info.render.points').set(e.info.render.points)
-                    }
-                    function r() {}
-                    function i() {}
-                    function o(e) {
-                      t = e
-                    }
-                    return {
-                      update: n,
-                      start: r,
-                      end: i,
-                      attach: o,
-                      values: {
-                        'renderer.info.memory.geometries': { caption: 'Geometries' },
-                        'renderer.info.memory.textures': { caption: 'Textures' },
-                        'renderer.info.programs': { caption: 'Programs' },
-                        'renderer.info.render.calls': { caption: 'Calls' },
-                        'renderer.info.render.triangles': { caption: 'Triangles', over: 1e3 },
-                        'renderer.info.render.points': { caption: 'Points' },
-                      },
-                      groups: [
-                        {
-                          caption: 'Three.js - Memory',
-                          values: [
-                            'renderer.info.memory.geometries',
-                            'renderer.info.programs',
-                            'renderer.info.memory.textures',
-                          ],
-                        },
-                        {
-                          caption: 'Three.js - Render',
-                          values: [
-                            'renderer.info.render.calls',
-                            'renderer.info.render.triangles',
-                            'renderer.info.render.points',
-                          ],
-                        },
-                      ],
-                      fractions: [],
-                    }
-                  }),
-                  (window.BrowserStats = function () {
-                    var e = null,
-                      t = 0,
-                      n = 0
-                    window.performance &&
-                      !performance.memory &&
-                      (performance.memory = { usedJSHeapSize: 0, totalJSHeapSize: 0 }),
-                      0 === performance.memory.totalJSHeapSize &&
-                        console.warn(
-                          'totalJSHeapSize === 0... performance.memory is only available in Chrome .',
-                        )
-                    var r = {
-                        memory: { caption: 'Used Memory', average: !0, avgMs: 1e3, over: 22 },
-                        total: { caption: 'Total Memory' },
-                      },
-                      i = [{ caption: 'Browser', values: ['memory', 'total'] }],
-                      o = [{ base: 'total', steps: ['memory'] }],
-                      a = Math.log(1024)
-                    function s(e) {
-                      var t = 100,
-                        n = Math.floor(Math.log(e) / a)
-                      return Math.round((e * t) / Math.pow(1024, n)) / t
-                    }
-                    function l() {
-                      ;(t = s(performance.memory.usedJSHeapSize)),
-                        (n = s(performance.memory.totalJSHeapSize)),
-                        e('memory').set(t),
-                        e('total').set(n)
-                    }
-                    function c() {
-                      t = 0
-                    }
-                    function u() {}
-                    function h(t) {
-                      e = t
-                    }
-                    return {
-                      update: l,
-                      start: c,
-                      end: u,
-                      attach: h,
-                      values: r,
-                      groups: i,
-                      fractions: o,
-                    }
-                  }),
-                  'object' === typeof t &&
-                    (t.exports = {
-                      glStats: window.glStats,
-                      threeStats: window.threeStats,
-                      BrowserStats: window.BrowserStats,
-                    })
-              },
-              {},
-            ],
-            217: [
-              function (e, t, n) {
-                'use strict'
-                !(function () {
-                  'performance' in window == 0 && (window.performance = {})
-                  var e = window.performance
-                  if ('now' in e == 0) {
-                    var t = Date.now()
-                    e.timing && e.timing.navigationStart && (t = e.timing.navigationStart),
-                      (e.now = function () {
-                        return Date.now() - t
-                      })
-                  }
-                  e.mark || (e.mark = function () {}), e.measure || (e.measure = function () {})
-                })(),
-                  (window.rStats = function (e) {
-                    function t(e, t) {
-                      for (var n = Object.keys(e), r = 0, i = n.length; r < i; r++) t(n[r])
-                    }
-                    function n(e) {
-                      var t = document.createElement('link')
-                      ;(t.href = e),
-                        (t.rel = 'stylesheet'),
-                        (t.type = 'text/css'),
-                        document.getElementsByTagName('head')[0].appendChild(t)
-                    }
-                    var r = e || {},
-                      i = r.colours || ['#850700', '#c74900', '#fcb300', '#284280', '#4c7c0c'],
-                      o = 'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300',
-                      a = (r.CSSPath ? r.CSSPath : '') + 'rStats.css'
-                    ;(r.css || [o, a]).forEach(function (e) {
-                      n(e)
-                    }),
-                      r.values || (r.values = {})
-                    var s,
-                      l,
-                      c = 10,
-                      u = 200,
-                      h = {}
-                    function d(e, t, n) {
-                      var r = n || {},
-                        i = document.createElement('canvas'),
-                        o = i.getContext('2d'),
-                        a = 0,
-                        s = 0,
-                        l = r.color ? r.color : '#666666',
-                        h = document.createElement('canvas'),
-                        d = h.getContext('2d')
-                      ;(h.width = 1),
-                        (h.height = 2 * c),
-                        (d.fillStyle = '#444444'),
-                        d.fillRect(0, 0, 1, 2 * c),
-                        (d.fillStyle = l),
-                        d.fillRect(0, c, 1, c),
-                        (d.fillStyle = '#ffffff'),
-                        (d.globalAlpha = 0.5),
-                        d.fillRect(0, c, 1, 1),
-                        (d.globalAlpha = 1)
-                      var p = document.createElement('canvas'),
-                        f = p.getContext('2d')
-                      function m() {
-                        ;(i.width = u),
-                          (i.height = c),
-                          (i.style.width = i.width + 'px'),
-                          (i.style.height = i.height + 'px'),
-                          (i.className = 'rs-canvas'),
-                          e.appendChild(i),
-                          (o.fillStyle = '#444444'),
-                          o.fillRect(0, 0, i.width, i.height)
-                      }
-                      function v(e, t) {
-                        ;(s += 0.1 * (e - s)) > (a *= 0.99) && (a = s),
-                          o.drawImage(i, 1, 0, i.width - 1, i.height, 0, 0, i.width - 1, i.height),
-                          t
-                            ? o.drawImage(p, i.width - 1, i.height - (s * i.height) / a - c)
-                            : o.drawImage(h, i.width - 1, i.height - (s * i.height) / a - c)
-                      }
-                      return (
-                        (p.width = 1),
-                        (p.height = 2 * c),
-                        (f.fillStyle = '#444444'),
-                        f.fillRect(0, 0, 1, 2 * c),
-                        (f.fillStyle = '#b70000'),
-                        f.fillRect(0, c, 1, c),
-                        (f.globalAlpha = 0.5),
-                        (f.fillStyle = '#ffffff'),
-                        f.fillRect(0, c, 1, 1),
-                        (f.globalAlpha = 1),
-                        m(),
-                        { draw: v }
-                      )
-                    }
-                    function p(e, n) {
-                      var r = document.createElement('canvas'),
-                        o = r.getContext('2d')
-                      function a() {
-                        ;(r.width = u),
-                          (r.height = c * n),
-                          (r.style.width = r.width + 'px'),
-                          (r.style.height = r.height + 'px'),
-                          (r.className = 'rs-canvas'),
-                          e.appendChild(r),
-                          (o.fillStyle = '#444444'),
-                          o.fillRect(0, 0, r.width, r.height)
-                      }
-                      function s(e) {
-                        o.drawImage(r, 1, 0, r.width - 1, r.height, 0, 0, r.width - 1, r.height)
-                        var n = 0
-                        t(e, function (t) {
-                          var a = e[t] * r.height
-                          ;(o.fillStyle = i[t]), o.fillRect(r.width - 1, n, 1, a), (n += a)
-                        })
-                      }
-                      return a(), { draw: s }
-                    }
-                    function f(e, t) {
-                      var n,
-                        i = e,
-                        o = 0,
-                        a = 0,
-                        s = 0,
-                        c = 0,
-                        u = performance.now(),
-                        h = 0,
-                        p = document.createElement('div'),
-                        f = document.createElement('span'),
-                        m = document.createElement('div'),
-                        v = document.createTextNode(''),
-                        g = r ? r.values[i.toLowerCase()] : null,
-                        y = new d(p, i, g),
-                        b = !1
-                      function A(e) {
-                        if (g && g.average) {
-                          ;(c += e), h++
-                          var t = performance.now()
-                          t - u >= (g.avgMs || 1e3) && ((s = c / h), (c = 0), (u = t), (h = 0))
-                        }
-                      }
-                      function w() {
-                        ;(n = performance.now()),
-                          r.userTimingAPI && performance.mark(i + '-start'),
-                          (b = !0)
-                      }
-                      function x() {
-                        ;(o = performance.now() - n),
-                          r.userTimingAPI &&
-                            (performance.mark(i + '-end'),
-                            b && performance.measure(i, i + '-start', i + '-end')),
-                          A(o)
-                      }
-                      function E() {
-                        x(), w()
-                      }
-                      function M() {
-                        var e = g && g.average ? s : o
-                        v.nodeValue = Math.round(100 * e) / 100
-                        var t = g && ((g.below && o < g.below) || (g.over && o > g.over))
-                        y.draw(o, t),
-                          (p.className = t ? 'rs-counter-base alarm' : 'rs-counter-base')
-                      }
-                      function _() {
-                        var e = performance.now(),
-                          t = e - n
-                        a++,
-                          t > 1e3 &&
-                            ((o = g && !1 === g.interpolate ? a : (1e3 * a) / t),
-                            (a = 0),
-                            (n = e),
-                            A(o))
-                      }
-                      function T(e) {
-                        A((o = e))
-                      }
-                      return (
-                        (f.className = 'rs-counter-id'),
-                        (f.textContent = g && g.caption ? g.caption : i),
-                        (m.className = 'rs-counter-value'),
-                        m.appendChild(v),
-                        p.appendChild(f),
-                        p.appendChild(m),
-                        t ? t.div.appendChild(p) : l.appendChild(p),
-                        (n = performance.now()),
-                        {
-                          set: T,
-                          start: w,
-                          tick: E,
-                          end: x,
-                          frame: _,
-                          value: function () {
-                            return o
-                          },
-                          draw: M,
-                        }
-                      )
-                    }
-                    function m(e) {
-                      var n = e.toLowerCase()
-                      if ((void 0 === n && (n = 'default'), h[n])) return h[n]
-                      var i = null
-                      r &&
-                        r.groups &&
-                        t(r.groups, function (e) {
-                          var t = r.groups[parseInt(e, 10)]
-                          i || -1 === t.values.indexOf(n.toLowerCase()) || (i = t)
-                        })
-                      var o = new f(n, i)
-                      return (h[n] = o), o
-                    }
-                    function v() {
-                      if (r.plugins) {
-                        r.values || (r.values = {}),
-                          r.groups || (r.groups = []),
-                          r.fractions || (r.fractions = [])
-                        for (var e = 0; e < r.plugins.length; e++)
-                          r.plugins[e].attach(m),
-                            t(r.plugins[e].values, function (t) {
-                              r.values[t] = r.plugins[e].values[t]
-                            }),
-                            (r.groups = r.groups.concat(r.plugins[e].groups)),
-                            (r.fractions = r.fractions.concat(r.plugins[e].fractions))
-                      } else r.plugins = {}
-                      ;((s = document.createElement('div')).className = 'rs-base'),
-                        ((l = document.createElement('div')).className = 'rs-container'),
-                        (l.style.height = 'auto'),
-                        s.appendChild(l),
-                        document.body.appendChild(s),
-                        r &&
-                          (r.groups &&
-                            t(r.groups, function (e) {
-                              var t = r.groups[parseInt(e, 10)],
-                                n = document.createElement('div')
-                              ;(n.className = 'rs-group'), (t.div = n)
-                              var i = document.createElement('h1')
-                              ;(i.textContent = t.caption),
-                                i.addEventListener(
-                                  'click',
-                                  function (e) {
-                                    this.classList.toggle('hidden'), e.preventDefault()
-                                  }.bind(n),
-                                ),
-                                l.appendChild(i),
-                                l.appendChild(n)
-                            }),
-                          r.fractions &&
-                            t(r.fractions, function (e) {
-                              var n = r.fractions[parseInt(e, 10)],
-                                o = document.createElement('div')
-                              o.className = 'rs-fraction'
-                              var a = document.createElement('div')
-                              a.className = 'rs-legend'
-                              var s = 0
-                              t(r.fractions[e].steps, function (t) {
-                                var n = document.createElement('p')
-                                ;(n.textContent = r.fractions[e].steps[t]),
-                                  (n.style.color = i[s]),
-                                  a.appendChild(n),
-                                  s++
-                              }),
-                                o.appendChild(a),
-                                (o.style.height = s * c + 'px'),
-                                (n.div = o)
-                              var u = new p(o, s)
-                              ;(n.graph = u), l.appendChild(o)
-                            }))
-                    }
-                    function g() {
-                      t(r.plugins, function (e) {
-                        r.plugins[e].update()
-                      }),
-                        t(h, function (e) {
-                          h[e].draw()
-                        }),
-                        r &&
-                          r.fractions &&
-                          t(r.fractions, function (e) {
-                            var n = r.fractions[parseInt(e, 10)],
-                              i = [],
-                              o = h[n.base.toLowerCase()]
-                            o &&
-                              ((o = o.value()),
-                              t(r.fractions[e].steps, function (t) {
-                                var n = r.fractions[e].steps[parseInt(t, 10)].toLowerCase(),
-                                  a = h[n]
-                                a && i.push(a.value() / o)
-                              })),
-                              n.graph.draw(i)
-                          })
-                    }
-                    return (
-                      v(),
-                      function (e) {
-                        return e ? m(e) : { element: s, update: g }
-                      }
-                    )
-                  }),
-                  'object' === typeof t && (t.exports = window.rStats)
-              },
-              {},
-            ],
-            218: [
-              function (e, t, n) {
-                String.prototype.startsWith ||
-                  (String.prototype.startsWith = function (e, t) {
-                    return (t = t || 0), this.substr(t, e.length) === e
-                  })
-              },
-              {},
-            ],
-            219: [
-              function (t, n, r) {
-                var i = {
-                  base64: function (e, t) {
-                    return 'data:' + e + ';base64,' + t
-                  },
-                  isMobile: function () {
-                    var e,
-                      t = !1
-                    return (
-                      (e = navigator.userAgent || navigator.vendor || window.opera),
-                      (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(
-                        e,
-                      ) ||
-                        /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
-                          e.substr(0, 4),
-                        )) &&
-                        (t = !0),
-                      t
-                    )
-                  },
-                  isIOS: function () {
-                    return /(iPad|iPhone|iPod)/g.test(navigator.userAgent)
-                  },
-                  isIFrame: function () {
-                    try {
-                      return window.self !== window.top
-                    } catch (e) {
-                      return !0
-                    }
-                  },
-                  appendQueryParameter: function (e, t, n) {
-                    var r = e.indexOf('?') < 0 ? '?' : '&'
-                    return (e += r + t + '=' + n)
-                  },
-                  getQueryParameter: function (e) {
-                    e = e.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]')
-                    var t = new RegExp('[\\?&]' + e + '=([^&#]*)').exec(location.search)
-                    return null === t ? '' : decodeURIComponent(t[1].replace(/\+/g, ' '))
-                  },
-                  isLandscapeMode: function () {
-                    return 90 == window.orientation || -90 == window.orientation
-                  },
-                }
-                n.exports = i
-              },
-              {},
-            ],
-            220: [
-              function (e, t, n) {
-                var r = e('./util.js')
-                function i() {
-                  var e = document.createElement('video')
-                  e.addEventListener('ended', function () {
-                    e.play()
-                  }),
-                    (this.request = function () {
-                      e.paused &&
-                        ((e.src = r.base64(
-                          'video/webm',
-                          'GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4ECQoWBAhhTgGcBAAAAAAAH4xFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsggfG7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU2LjQwLjEwMVdBjUxhdmY1Ni40MC4xMDFzpJAGSJTMbsLpDt/ySkipgX1fRImIQO1MAAAAAAAWVK5rAQAAAAAAADuuAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDmDgQEj44OEO5rKAOABAAAAAAAABrCBsLqBkB9DtnUBAAAAAAAAo+eBAKOmgQAAgKJJg0IAAV4BHsAHBIODCoAACmH2MAAAZxgz4dPSTFi5JACjloED6ACmAECSnABMQAADYAAAWi0quoCjloEH0ACmAECSnABNwAADYAAAWi0quoCjloELuACmAECSnABNgAADYAAAWi0quoCjloEPoACmAECSnABNYAADYAAAWi0quoCjloETiACmAECSnABNIAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTnghdwo5aBAAAApgBAkpwATOAAA2AAAFotKrqAo5aBA+gApgBAkpwATMAAA2AAAFotKrqAo5aBB9AApgBAkpwATIAAA2AAAFotKrqAo5aBC7gApgBAkpwATEAAA2AAAFotKrqAo5aBD6AApgDAkpwAQ2AAA2AAAFotKrqAo5aBE4gApgBAkpwATCAAA2AAAFotKrqAH0O2dQEAAAAAAACU54Iu4KOWgQAAAKYAQJKcAEvAAANgAABaLSq6gKOWgQPoAKYAQJKcAEtgAANgAABaLSq6gKOWgQfQAKYAQJKcAEsAAANgAABaLSq6gKOWgQu4AKYAQJKcAEqAAANgAABaLSq6gKOWgQ+gAKYAQJKcAEogAANgAABaLSq6gKOWgROIAKYAQJKcAEnAAANgAABaLSq6gB9DtnUBAAAAAAAAlOeCRlCjloEAAACmAECSnABJgAADYAAAWi0quoCjloED6ACmAECSnABJIAADYAAAWi0quoCjloEH0ACmAMCSnABDYAADYAAAWi0quoCjloELuACmAECSnABI4AADYAAAWi0quoCjloEPoACmAECSnABIoAADYAAAWi0quoCjloETiACmAECSnABIYAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTngl3Ao5aBAAAApgBAkpwASCAAA2AAAFotKrqAo5aBA+gApgBAkpwASAAAA2AAAFotKrqAo5aBB9AApgBAkpwAR8AAA2AAAFotKrqAo5aBC7gApgBAkpwAR4AAA2AAAFotKrqAo5aBD6AApgBAkpwAR2AAA2AAAFotKrqAo5aBE4gApgBAkpwARyAAA2AAAFotKrqAH0O2dQEAAAAAAACU54J1MKOWgQAAAKYAwJKcAENgAANgAABaLSq6gKOWgQPoAKYAQJKcAEbgAANgAABaLSq6gKOWgQfQAKYAQJKcAEagAANgAABaLSq6gKOWgQu4AKYAQJKcAEaAAANgAABaLSq6gKOWgQ+gAKYAQJKcAEZAAANgAABaLSq6gKOWgROIAKYAQJKcAEYAAANgAABaLSq6gB9DtnUBAAAAAAAAlOeCjKCjloEAAACmAECSnABF4AADYAAAWi0quoCjloED6ACmAECSnABFwAADYAAAWi0quoCjloEH0ACmAECSnABFoAADYAAAWi0quoCjloELuACmAECSnABFgAADYAAAWi0quoCjloEPoACmAMCSnABDYAADYAAAWi0quoCjloETiACmAECSnABFYAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTngqQQo5aBAAAApgBAkpwARUAAA2AAAFotKrqAo5aBA+gApgBAkpwARSAAA2AAAFotKrqAo5aBB9AApgBAkpwARQAAA2AAAFotKrqAo5aBC7gApgBAkpwARQAAA2AAAFotKrqAo5aBD6AApgBAkpwAROAAA2AAAFotKrqAo5aBE4gApgBAkpwARMAAA2AAAFotKrqAH0O2dQEAAAAAAACU54K7gKOWgQAAAKYAQJKcAESgAANgAABaLSq6gKOWgQPoAKYAQJKcAESAAANgAABaLSq6gKOWgQfQAKYAwJKcAENgAANgAABaLSq6gKOWgQu4AKYAQJKcAERgAANgAABaLSq6gKOWgQ+gAKYAQJKcAERAAANgAABaLSq6gKOWgROIAKYAQJKcAEQgAANgAABaLSq6gB9DtnUBAAAAAAAAlOeC0vCjloEAAACmAECSnABEIAADYAAAWi0quoCjloED6ACmAECSnABEAAADYAAAWi0quoCjloEH0ACmAECSnABD4AADYAAAWi0quoCjloELuACmAECSnABDwAADYAAAWi0quoCjloEPoACmAECSnABDoAADYAAAWi0quoCjloETiACmAECSnABDgAADYAAAWi0quoAcU7trAQAAAAAAABG7j7OBALeK94EB8YIBd/CBAw==',
-                        )),
-                        e.play())
-                    }),
-                    (this.release = function () {
-                      e.pause(), (e.src = '')
-                    })
-                }
-                function o() {
-                  var e = null
-                  ;(this.request = function () {
-                    e ||
-                      (e = setInterval(function () {
-                        ;(window.location.href = '/'), setTimeout(window.stop, 0)
-                      }, 15e3))
-                  }),
-                    (this.release = function () {
-                      e && (clearInterval(e), (e = null))
-                    })
-                }
-                function a() {
-                  var e = navigator.userAgent || navigator.vendor || window.opera
-                  return e.match(/iPhone/i) || e.match(/iPod/i) ? o : i
-                }
-                t.exports = a()
-              },
-              { './util.js': 219 },
-            ],
-          },
-          {},
-          [177],
-        )(177)
-      })()
-    },
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[446],{75569:function(t,n,r){t.exports=function(){var t;return function(){function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,(function(e){return i(t[a][1][e]||e)}),c,c.exports,e,t,n,r)}return n[a].exports}for(var o=void 0,a=0;a<r.length;a++)i(r[a]);return i}return e}()({1:[function(e,t,n){var r=Object.prototype.toString;function i(e){return e.BYTES_PER_ELEMENT&&"[object ArrayBuffer]"===r.call(e.buffer)||Array.isArray(e)}t.exports=i},{}],2:[function(e,t,n){t.exports=function(e,t){return"number"===typeof e?e:"number"===typeof t?t:0}},{}],3:[function(e,t,n){"use strict";n.byteLength=u,n.toByteArray=d,n.fromByteArray=m;for(var r=[],i=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s<l;++s)r[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r}function h(e,t,n){return 3*(t+n)/4-n}function d(e){for(var t,n=c(e),r=n[0],a=n[1],s=new o(h(e,r,a)),l=0,u=a>0?r-4:r,d=0;d<u;d+=4)t=i[e.charCodeAt(d)]<<18|i[e.charCodeAt(d+1)]<<12|i[e.charCodeAt(d+2)]<<6|i[e.charCodeAt(d+3)],s[l++]=t>>16&255,s[l++]=t>>8&255,s[l++]=255&t;return 2===a&&(t=i[e.charCodeAt(d)]<<2|i[e.charCodeAt(d+1)]>>4,s[l++]=255&t),1===a&&(t=i[e.charCodeAt(d)]<<10|i[e.charCodeAt(d+1)]<<4|i[e.charCodeAt(d+2)]>>2,s[l++]=t>>8&255,s[l++]=255&t),s}function p(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function f(e,t,n){for(var r,i=[],o=t;o<n;o+=3)r=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),i.push(p(r));return i.join("")}function m(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,l=n-i;s<l;s+=a)o.push(f(e,s,s+a>l?l:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],4:[function(e,t,n){"use strict";t.exports={createLink:function(e,t){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("link");for(var i in r.href=e,r.rel="stylesheet",t)if(t.hasOwnProperty(i)){var o=t[i];r.setAttribute("data-"+i,o)}n.appendChild(r)},createStyle:function(e,t){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");for(var i in r.type="text/css",t)if(t.hasOwnProperty(i)){var o=t[i];r.setAttribute("data-"+i,o)}r.sheet?(r.innerHTML=e,r.sheet.cssText=e,n.appendChild(r)):r.styleSheet?(n.appendChild(r),r.styleSheet.cssText=e):(r.appendChild(document.createTextNode(e)),n.appendChild(r))}}},{}],5:[function(e,t,n){var r=e("buffer").Buffer;t.exports=function(e,t){if(r.isBuffer(e)&&r.isBuffer(t)){if("function"===typeof e.equals)return e.equals(t);if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}}},{buffer:6}],6:[function(t,n,i){(function(n,r){"use strict";var o=t("base64-js"),a=t("ieee754"),s=t("isarray");function l(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"===typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(e){return!1}}function c(){return r.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(e,t){if(c()<t)throw new RangeError("Invalid typed array length");return r.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=r.prototype:(null===e&&(e=new r(t)),e.length=t),e}function r(e,t,n){if(!r.TYPED_ARRAY_SUPPORT&&!(this instanceof r))return new r(e,t,n);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return h(this,e,t,n)}function h(e,t,n,r){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?g(e,t,n,r):"string"===typeof t?m(e,t,n):y(e,t)}function d(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function p(e,t,n,r){return d(t),t<=0?u(e,t):void 0!==n?"string"===typeof r?u(e,t).fill(n,r):u(e,t).fill(n):u(e,t)}function f(e,t){if(d(t),e=u(e,t<0?0:0|b(t)),!r.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function m(e,t,n){if("string"===typeof n&&""!==n||(n="utf8"),!r.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|w(t,n),o=(e=u(e,i)).write(t,n);return o!==i&&(e=e.slice(0,o)),e}function v(e,t){var n=t.length<0?0:0|b(t.length);e=u(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function g(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),r.TYPED_ARRAY_SUPPORT?(e=t).__proto__=r.prototype:e=v(e,t),e}function y(e,t){if(r.isBuffer(t)){var n=0|b(t.length);return 0===(e=u(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||ne(t.length)?u(e,0):v(e,t);if("Buffer"===t.type&&s(t.data))return v(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function b(e){if(e>=c())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+c().toString(16)+" bytes");return 0|e}function A(e){return+e!=e&&(e=0),r.alloc(+e)}function w(e,t){if(r.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return ee(e).length;default:if(i)return K(e).length;t=(""+t).toLowerCase(),i=!0}}function x(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return F(this,t,n);case"latin1":case"binary":return k(this,t,n);case"base64":return D(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function E(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function M(e,t,n,i,o){if(0===e.length)return-1;if("string"===typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"===typeof t&&(t=r.from(t,i)),r.isBuffer(t))return 0===t.length?-1:_(e,t,n,i,o);if("number"===typeof t)return t&=255,r.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):_(e,[t],n,i,o);throw new TypeError("val must be string, number or Buffer")}function _(e,t,n,r,i){var o,a=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var u=-1;for(o=n;o<s;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===l)return u*a}else-1!==u&&(o-=o-u),u=-1}else for(n+l>s&&(n=s-l),o=n;o>=0;o--){for(var h=!0,d=0;d<l;d++)if(c(e,o+d)!==c(t,d)){h=!1;break}if(h)return o}return-1}function T(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function S(e,t,n,r){return te(K(t,e.length-n),e,n,r)}function C(e,t,n,r){return te(J(t),e,n,r)}function L(e,t,n,r){return C(e,t,n,r)}function R(e,t,n,r){return te(ee(t),e,n,r)}function P(e,t,n,r){return te($(t,e.length-n),e,n,r)}function D(e,t,n){return 0===t&&n===e.length?o.fromByteArray(e):o.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,a,s,l,c=e[i],u=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128===(192&(o=e[i+1]))&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[i+1],a=e[i+2],128===(192&o)&&128===(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=h}return B(r)}i.Buffer=r,i.SlowBuffer=A,i.INSPECT_MAX_BYTES=50,r.TYPED_ARRAY_SUPPORT=void 0!==n.TYPED_ARRAY_SUPPORT?n.TYPED_ARRAY_SUPPORT:l(),i.kMaxLength=c(),r.poolSize=8192,r._augment=function(e){return e.__proto__=r.prototype,e},r.from=function(e,t,n){return h(null,e,t,n)},r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0})),r.alloc=function(e,t,n){return p(null,e,t,n)},r.allocUnsafe=function(e){return f(null,e)},r.allocUnsafeSlow=function(e){return f(null,e)},r.isBuffer=function(e){return!(null==e||!e._isBuffer)},r.compare=function(e,t){if(!r.isBuffer(e)||!r.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,o=0,a=Math.min(n,i);o<a;++o)if(e[o]!==t[o]){n=e[o],i=t[o];break}return n<i?-1:i<n?1:0},r.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},r.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return r.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=r.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var a=e[n];if(!r.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(i,o),o+=a.length}return i},r.byteLength=w,r.prototype._isBuffer=!0,r.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)E(this,t,t+1);return this},r.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)E(this,t,t+3),E(this,t+1,t+2);return this},r.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)E(this,t,t+7),E(this,t+1,t+6),E(this,t+2,t+5),E(this,t+3,t+4);return this},r.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?O(this,0,e):x.apply(this,arguments)},r.prototype.equals=function(e){if(!r.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===r.compare(this,e)},r.prototype.inspect=function(){var e="",t=i.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},r.prototype.compare=function(e,t,n,i,o){if(!r.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),t<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&t>=n)return 0;if(i>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(o>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),l=Math.min(a,s),c=this.slice(i,o),u=e.slice(t,n),h=0;h<l;++h)if(c[h]!==u[h]){a=c[h],s=u[h];break}return a<s?-1:s<a?1:0},r.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},r.prototype.indexOf=function(e,t,n){return M(this,e,t,n,!0)},r.prototype.lastIndexOf=function(e,t,n){return M(this,e,t,n,!1)},r.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"===typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return C(this,e,t,n);case"latin1":case"binary":return L(this,e,t,n);case"base64":return R(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},r.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function B(e){var t=e.length;if(t<=I)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=I));return n}function F(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function N(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=t;o<n;++o)i+=Z(e[o]);return i}function U(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function H(e,t,n){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function G(e,t,n,i,o,a){if(!r.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<a)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function z(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function j(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function V(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function W(e,t,n,r,i){return i||V(e,t,n,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,n,r,23,4),n+4}function q(e,t,n,r,i){return i||V(e,t,n,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,n,r,52,8),n+8}r.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),r.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=r.prototype;else{var o=t-e;n=new r(o,void 0);for(var a=0;a<o;++a)n[a]=this[a+e]}return n},r.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},r.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},r.prototype.readUInt8=function(e,t){return t||H(e,1,this.length),this[e]},r.prototype.readUInt16LE=function(e,t){return t||H(e,2,this.length),this[e]|this[e+1]<<8},r.prototype.readUInt16BE=function(e,t){return t||H(e,2,this.length),this[e]<<8|this[e+1]},r.prototype.readUInt32LE=function(e,t){return t||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},r.prototype.readUInt32BE=function(e,t){return t||H(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},r.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},r.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||H(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},r.prototype.readInt8=function(e,t){return t||H(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},r.prototype.readInt16LE=function(e,t){t||H(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},r.prototype.readInt16BE=function(e,t){t||H(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},r.prototype.readInt32LE=function(e,t){return t||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},r.prototype.readInt32BE=function(e,t){return t||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},r.prototype.readFloatLE=function(e,t){return t||H(e,4,this.length),a.read(this,e,!0,23,4)},r.prototype.readFloatBE=function(e,t){return t||H(e,4,this.length),a.read(this,e,!1,23,4)},r.prototype.readDoubleLE=function(e,t){return t||H(e,8,this.length),a.read(this,e,!0,52,8)},r.prototype.readDoubleBE=function(e,t){return t||H(e,8,this.length),a.read(this,e,!1,52,8)},r.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||G(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},r.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||G(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},r.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,1,255,0),r.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},r.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},r.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},r.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):j(this,e,t,!0),t+4},r.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},r.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);G(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},r.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);G(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},r.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,1,127,-128),r.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},r.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):z(this,e,t,!0),t+2},r.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):z(this,e,t,!1),t+2},r.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,4,2147483647,-2147483648),r.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):j(this,e,t,!0),t+4},r.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||G(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),r.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},r.prototype.writeFloatLE=function(e,t,n){return W(this,e,t,!0,n)},r.prototype.writeFloatBE=function(e,t,n){return W(this,e,t,!1,n)},r.prototype.writeDoubleLE=function(e,t,n){return q(this,e,t,!0,n)},r.prototype.writeDoubleBE=function(e,t,n){return q(this,e,t,!1,n)},r.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var o,a=i-n;if(this===e&&n<t&&t<i)for(o=a-1;o>=0;--o)e[o+t]=this[o+n];else if(a<1e3||!r.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},r.prototype.fill=function(e,t,n,i){if("string"===typeof e){if("string"===typeof t?(i=t,t=0,n=this.length):"string"===typeof n&&(i=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==i&&"string"!==typeof i)throw new TypeError("encoding must be a string");if("string"===typeof i&&!r.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var a;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"===typeof e)for(a=t;a<n;++a)this[a]=e;else{var s=r.isBuffer(e)?e:K(new r(e,i).toString()),l=s.length;for(a=0;a<n-t;++a)this[a+t]=s[a%l]}return this};var X=/[^+\/0-9A-Za-z-_]/g;function Y(e){if((e=Q(e).replace(X,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}function Q(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Z(e){return e<16?"0"+e.toString(16):e.toString(16)}function K(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function J(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function $(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i=n%256,o.push(i),o.push(r);return o}function ee(e){return o.toByteArray(Y(e))}function te(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function ne(e){return e!==e}}).call(this,"undefined"!==typeof r.g?r.g:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{},t("buffer").Buffer)},{"base64-js":3,buffer:6,ieee754:29,isarray:35}],7:[function(t,n,r){!function(){if("undefined"!==typeof window)try{var t=new window.CustomEvent("test",{cancelable:!0});if(t.preventDefault(),!0!==t.defaultPrevented)throw new Error("Could not prevent default")}catch(e){var n=function(e,n){var r,i;return(n=n||{}).bubbles=!!n.bubbles,n.cancelable=!!n.cancelable,(r=document.createEvent("CustomEvent")).initCustomEvent(e,n.bubbles,n.cancelable,n.detail),i=r.preventDefault,r.preventDefault=function(){i.call(this);try{Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}catch(t){this.defaultPrevented=!0}},r};n.prototype=window.Event.prototype,window.CustomEvent=n}}()},{}],8:[function(t,n,r){function i(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function o(){var e=arguments,t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" "),!t)return e;var n="color: "+this.color;e=[e[0],n,"color: inherit"].concat(Array.prototype.slice.call(e,1));var r=0,i=0;return e[0].replace(/%[a-z%]/g,(function(e){"%%"!==e&&(r++,"%c"===e&&(i=r))})),e.splice(i,0,n),e}function a(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?r.storage.removeItem("debug"):r.storage.debug=t}catch(e){}}function l(){var t;try{t=r.storage.debug}catch(e){}return t}function c(){try{return window.localStorage}catch(e){}}(r=n.exports=t("./debug")).log=a,r.formatArgs=o,r.save=s,r.load=l,r.useColors=i,r.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:c(),r.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],r.formatters.j=function(e){return JSON.stringify(e)},r.enable(l())},{"./debug":9}],9:[function(e,t,n){(n=t.exports=o).coerce=c,n.disable=s,n.enable=a,n.enabled=l,n.names=[],n.skips=[],n.formatters={};var r=0;function i(){return n.colors[r++%n.colors.length]}function o(e){function t(){}function r(){var e=r;null==e.useColors&&(e.useColors=n.useColors()),null==e.color&&e.useColors&&(e.color=i());var t=Array.prototype.slice.call(arguments);t[0]=n.coerce(t[0]),"string"!==typeof t[0]&&(t=["%o"].concat(t));var o=0;t[0]=t[0].replace(/%([a-z%])/g,(function(r,i){if("%%"===r)return r;o++;var a=n.formatters[i];if("function"===typeof a){var s=t[o];r=a.call(e,s),t.splice(o,1),o--}return r})),"function"===typeof n.formatArgs&&(t=n.formatArgs.apply(e,t)),(r.log||n.log||console.log.bind(console)).apply(e,t)}t.enabled=!1,r.enabled=!0;var o=n.enabled(e)?r:t;return o.namespace=e,o}function a(e){n.save(e);for(var t=(e||"").split(/[\s,]+/),r=t.length,i=0;i<r;i++)t[i]&&("-"===(e=t[i].replace(/\*/g,".*?"))[0]?n.skips.push(new RegExp("^"+e.substr(1)+"$")):n.names.push(new RegExp("^"+e+"$")))}function s(){n.enable("")}function l(e){var t,r;for(t=0,r=n.skips.length;t<r;t++)if(n.skips[t].test(e))return!1;for(t=0,r=n.names.length;t<r;t++)if(n.names[t].test(e))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}},{}],10:[function(e,t,n){"use strict";var r=e("is-obj"),i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Sources cannot be null or undefined");return Object(e)}function s(e,t,n){var o=t[n];if(void 0!==o&&null!==o){if(i.call(e,n)&&(void 0===e[n]||null===e[n]))throw new TypeError("Cannot convert undefined or null to object ("+n+")");i.call(e,n)&&r(o)?e[n]=l(Object(e[n]),t[n]):e[n]=o}}function l(e,t){if(e===t)return e;for(var n in t=Object(t))i.call(t,n)&&s(e,t,n);if(Object.getOwnPropertySymbols)for(var r=Object.getOwnPropertySymbols(t),a=0;a<r.length;a++)o.call(t,r[a])&&s(e,t,r[a]);return e}t.exports=function(e){e=a(e);for(var t=1;t<arguments.length;t++)l(e,arguments[t]);return e}},{"is-obj":34}],11:[function(t,n,r){"use strict";var i=t("object-keys"),o="function"===typeof Symbol&&"symbol"===typeof Symbol("foo"),a=Object.prototype.toString,s=Array.prototype.concat,l=Object.defineProperty,c=function(e){return"function"===typeof e&&"[object Function]"===a.call(e)},u=function(){var t={};try{for(var n in l(t,"x",{enumerable:!1,value:t}),t)return!1;return t.x===t}catch(e){return!1}},h=l&&u(),d=function(e,t,n,r){(!(t in e)||c(r)&&r())&&(h?l(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},p=function(e,t){var n=arguments.length>2?arguments[2]:{},r=i(t);o&&(r=s.call(r,Object.getOwnPropertySymbols(t)));for(var a=0;a<r.length;a+=1)d(e,r[a],t[r[a]],n[r[a]])};p.supportsDescriptors=!!h,n.exports=p},{"object-keys":41}],12:[function(t,n,r){!function(t,n,r,i){"use strict";function o(e,t){for(var n=0,r=e.length;n<r;n++)g(e[n],t)}function a(e){for(var t,n=0,r=e.length;n<r;n++)t=e[n],M(t,H[l(t)])}function s(e){return function(t){ie(t)&&(g(t,e),o(t.querySelectorAll(G),e))}}function l(e){var t=se.call(e,"is"),n=e.nodeName.toUpperCase(),r=j.call(U,t?F+t.toUpperCase():B+n);return t&&-1<r&&!c(n,t)?-1:r}function c(e,t){return-1<G.indexOf(e+'[is="'+t+'"]')}function u(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,i=e.target;ge&&(!i||i===t)&&t.attributeChangedCallback&&"style"!==r&&e.prevValue!==e.newValue&&t.attributeChangedCallback(r,n===e[L]?null:e.prevValue,n===e[P]?null:e.newValue)}function h(e){var t=s(e);return function(e){y.push(t,e.target)}}function d(e){ve&&(ve=!1,e.currentTarget.removeEventListener(O,d)),o((e.target||n).querySelectorAll(G),e.detail===S?S:T),re&&m()}function p(e,t){var n=this;le.call(n,e,t),b.call(n,{target:n})}function f(e,t){ee(e,t),x?x.observe(e,he):(me&&(e.setAttribute=p,e[_]=w(e),e.addEventListener(I,b)),e.addEventListener(D,u)),e.createdCallback&&ge&&(e.created=!0,e.createdCallback(),e.created=!1)}function m(){for(var e,t=0,n=oe.length;t<n;t++)e=oe[t],z.contains(e)||(n--,oe.splice(t--,1),g(e,S))}function v(e){throw new Error("A "+e+" type is already registered")}function g(e,t){var n,r=l(e);-1<r&&(E(e,H[r]),r=0,t!==T||e[T]?t===S&&!e[S]&&(e[T]=!1,e[S]=!0,r=1):(e[S]=!1,e[T]=!0,r=1,re&&j.call(oe,e)<0&&oe.push(e)),r&&(n=e[t+"Callback"])&&n.call(e))}if(!(i in n)){var y,b,A,w,x,E,M,_="__"+i+(1e5*Math.random()>>0),T="attached",S="detached",C="extends",L="ADDITION",R="MODIFICATION",P="REMOVAL",D="DOMAttrModified",O="DOMContentLoaded",I="DOMSubtreeModified",B="<",F="=",k=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,N=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],U=[],H=[],G="",z=n.documentElement,j=U.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},V=r.prototype,W=V.hasOwnProperty,q=V.isPrototypeOf,X=r.defineProperty,Y=r.getOwnPropertyDescriptor,Q=r.getOwnPropertyNames,Z=r.getPrototypeOf,K=r.setPrototypeOf,J=!!r.__proto__,$=r.create||function e(t){return t?(e.prototype=t,new e):this},ee=K||(J?function(e,t){return e.__proto__=t,e}:Q&&Y?function(){function e(e,t){for(var n,r=Q(t),i=0,o=r.length;i<o;i++)n=r[i],W.call(e,n)||X(e,n,Y(t,n))}return function(t,n){do{e(t,n)}while((n=Z(n))&&!q.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),te=t.MutationObserver||t.WebKitMutationObserver,ne=(t.HTMLElement||t.Element||t.Node).prototype,re=!q.call(ne,z),ie=re?function(e){return 1===e.nodeType}:function(e){return q.call(ne,e)},oe=re&&[],ae=ne.cloneNode,se=ne.getAttribute,le=ne.setAttribute,ce=ne.removeAttribute,ue=n.createElement,he=te&&{attributes:!0,characterData:!0,attributeOldValue:!0},de=te||function(e){me=!1,z.removeEventListener(D,de)},pe=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,10)},fe=!1,me=!0,ve=!0,ge=!0;K||J?(E=function(e,t){q.call(t,e)||f(e,t)},M=f):M=E=function(e,t){e[_]||(e[_]=r(!0),f(e,t))},re?(me=!1,function(){var t=Y(ne,"addEventListener"),n=t.value,r=function(e){var t=new CustomEvent(D,{bubbles:!0});t.attrName=e,t.prevValue=se.call(this,e),t.newValue=null,t[P]=t.attrChange=2,ce.call(this,e),this.dispatchEvent(t)},i=function(t,n){var r=this.hasAttribute(t),i=r&&se.call(this,t);e=new CustomEvent(D,{bubbles:!0}),le.call(this,t,n),e.attrName=t,e.prevValue=r?i:null,e.newValue=n,r?e[R]=e.attrChange=1:e[L]=e.attrChange=0,this.dispatchEvent(e)},o=function(e){var t,n=e.currentTarget,r=n[_],i=e.propertyName;r.hasOwnProperty(i)&&(r=r[i],(t=new CustomEvent(D,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[i]||null,null==t.prevValue?t[L]=t.attrChange=0:t[R]=t.attrChange=1,n.dispatchEvent(t))};t.value=function(e,t,a){e===D&&this.attributeChangedCallback&&this.setAttribute!==i&&(this[_]={className:{name:"class",value:this.className}},this.setAttribute=i,this.removeAttribute=r,n.call(this,"propertychange",o)),n.call(this,e,t,a)},X(ne,"addEventListener",t)}()):te||(z.addEventListener(D,de),z.setAttribute(_,1),z.removeAttribute(_),me&&(b=function(e){var t,n,r,i=this;if(i===e.target){for(r in t=i[_],i[_]=n=w(i),n){if(!(r in t))return A(0,i,r,t[r],n[r],L);if(n[r]!==t[r])return A(1,i,r,t[r],n[r],R)}for(r in t)if(!(r in n))return A(2,i,r,t[r],n[r],P)}},A=function(e,t,n,r,i,o){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:i};a[o]=e,u(a)},w=function(e){for(var t,n,r={},i=e.attributes,o=0,a=i.length;o<a;o++)"setAttribute"!==(n=(t=i[o]).name)&&(r[n]=t.value);return r})),n[i]=function(e,t){if(r=e.toUpperCase(),fe||(fe=!0,te?(x=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new te((function(r){for(var i,o,a,s=0,l=r.length;s<l;s++)"childList"===(i=r[s]).type?(n(i.addedNodes,e),n(i.removedNodes,t)):(o=i.target,ge&&o.attributeChangedCallback&&"style"!==i.attributeName&&(a=se.call(o,i.attributeName))!==i.oldValue&&o.attributeChangedCallback(i.attributeName,i.oldValue,a))}))}(s(T),s(S))).observe(n,{childList:!0,subtree:!0}):(y=[],pe((function e(){for(;y.length;)y.shift().call(null,y.shift());pe(e)})),n.addEventListener("DOMNodeInserted",h(T)),n.addEventListener("DOMNodeRemoved",h(S))),n.addEventListener(O,d),n.addEventListener("readystatechange",d),n.createElement=function(e,t){var r=ue.apply(n,arguments),i=""+e,o=j.call(U,(t?F:B)+(t||i).toUpperCase()),a=-1<o;return t&&(r.setAttribute("is",t=t.toLowerCase()),a&&(a=c(i.toUpperCase(),t))),ge=!n.createElement.innerHTMLHelper,a&&M(r,H[o]),r},ne.cloneNode=function(e){var t=ae.call(this,!!e),n=l(t);return-1<n&&M(t,H[n]),e&&a(t.querySelectorAll(G)),t}),-2<j.call(U,F+r)+j.call(U,B+r)&&v(e),!k.test(r)||-1<j.call(N,r))throw new Error("The type "+e+" is invalid");var r,i,u=function(){return f?n.createElement(m,r):n.createElement(m)},p=t||V,f=W.call(p,C),m=f?t[C].toUpperCase():r;return f&&-1<j.call(U,B+m)&&v(m),i=U.push((f?F:B)+r)-1,G=G.concat(G.length?",":"",f?m+'[is="'+e.toLowerCase()+'"]':m),u.prototype=H[i]=W.call(p,"prototype")?p.prototype:$(ne),o(n.querySelectorAll(G),T),u}}}(window,document,Object,"registerElement")},{}],13:[function(e,t,n){t.exports=function(e){switch(e){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],14:[function(e,t,n){"use strict";var r,i,o,a,s=Object.getOwnPropertyDescriptor?function(){return Object.getOwnPropertyDescriptor(arguments,"callee").get}():function(){throw new TypeError},l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator,c=Object.getPrototypeOf||function(e){return e.__proto__},u=i?c(i):r,h=o?o.constructor:r,d=a?c(a):r,p=a?a():r,f="undefined"===typeof Uint8Array?r:c(Uint8Array),m={"$ %Array%":Array,"$ %ArrayBuffer%":"undefined"===typeof ArrayBuffer?r:ArrayBuffer,"$ %ArrayBufferPrototype%":"undefined"===typeof ArrayBuffer?r:ArrayBuffer.prototype,"$ %ArrayIteratorPrototype%":l?c([][Symbol.iterator]()):r,"$ %ArrayPrototype%":Array.prototype,"$ %ArrayProto_entries%":Array.prototype.entries,"$ %ArrayProto_forEach%":Array.prototype.forEach,"$ %ArrayProto_keys%":Array.prototype.keys,"$ %ArrayProto_values%":Array.prototype.values,"$ %AsyncFromSyncIteratorPrototype%":r,"$ %AsyncFunction%":h,"$ %AsyncFunctionPrototype%":h?h.prototype:r,"$ %AsyncGenerator%":a?c(p):r,"$ %AsyncGeneratorFunction%":d,"$ %AsyncGeneratorPrototype%":d?d.prototype:r,"$ %AsyncIteratorPrototype%":p&&l&&Symbol.asyncIterator?p[Symbol.asyncIterator]():r,"$ %Atomics%":"undefined"===typeof Atomics?r:Atomics,"$ %Boolean%":Boolean,"$ %BooleanPrototype%":Boolean.prototype,"$ %DataView%":"undefined"===typeof DataView?r:DataView,"$ %DataViewPrototype%":"undefined"===typeof DataView?r:DataView.prototype,"$ %Date%":Date,"$ %DatePrototype%":Date.prototype,"$ %decodeURI%":decodeURI,"$ %decodeURIComponent%":decodeURIComponent,"$ %encodeURI%":encodeURI,"$ %encodeURIComponent%":encodeURIComponent,"$ %Error%":Error,"$ %ErrorPrototype%":Error.prototype,"$ %eval%":eval,"$ %EvalError%":EvalError,"$ %EvalErrorPrototype%":EvalError.prototype,"$ %Float32Array%":"undefined"===typeof Float32Array?r:Float32Array,"$ %Float32ArrayPrototype%":"undefined"===typeof Float32Array?r:Float32Array.prototype,"$ %Float64Array%":"undefined"===typeof Float64Array?r:Float64Array,"$ %Float64ArrayPrototype%":"undefined"===typeof Float64Array?r:Float64Array.prototype,"$ %Function%":Function,"$ %FunctionPrototype%":Function.prototype,"$ %Generator%":i?c(i()):r,"$ %GeneratorFunction%":u,"$ %GeneratorPrototype%":u?u.prototype:r,"$ %Int8Array%":"undefined"===typeof Int8Array?r:Int8Array,"$ %Int8ArrayPrototype%":"undefined"===typeof Int8Array?r:Int8Array.prototype,"$ %Int16Array%":"undefined"===typeof Int16Array?r:Int16Array,"$ %Int16ArrayPrototype%":"undefined"===typeof Int16Array?r:Int8Array.prototype,"$ %Int32Array%":"undefined"===typeof Int32Array?r:Int32Array,"$ %Int32ArrayPrototype%":"undefined"===typeof Int32Array?r:Int32Array.prototype,"$ %isFinite%":isFinite,"$ %isNaN%":isNaN,"$ %IteratorPrototype%":l?c(c([][Symbol.iterator]())):r,"$ %JSON%":JSON,"$ %JSONParse%":JSON.parse,"$ %Map%":"undefined"===typeof Map?r:Map,"$ %MapIteratorPrototype%":"undefined"!==typeof Map&&l?c((new Map)[Symbol.iterator]()):r,"$ %MapPrototype%":"undefined"===typeof Map?r:Map.prototype,"$ %Math%":Math,"$ %Number%":Number,"$ %NumberPrototype%":Number.prototype,"$ %Object%":Object,"$ %ObjectPrototype%":Object.prototype,"$ %ObjProto_toString%":Object.prototype.toString,"$ %ObjProto_valueOf%":Object.prototype.valueOf,"$ %parseFloat%":parseFloat,"$ %parseInt%":parseInt,"$ %Promise%":"undefined"===typeof Promise?r:Promise,"$ %PromisePrototype%":"undefined"===typeof Promise?r:Promise.prototype,"$ %PromiseProto_then%":"undefined"===typeof Promise?r:Promise.prototype.then,"$ %Promise_all%":"undefined"===typeof Promise?r:Promise.all,"$ %Promise_reject%":"undefined"===typeof Promise?r:Promise.reject,"$ %Promise_resolve%":"undefined"===typeof Promise?r:Promise.resolve,"$ %Proxy%":"undefined"===typeof Proxy?r:Proxy,"$ %RangeError%":RangeError,"$ %RangeErrorPrototype%":RangeError.prototype,"$ %ReferenceError%":ReferenceError,"$ %ReferenceErrorPrototype%":ReferenceError.prototype,"$ %Reflect%":"undefined"===typeof Reflect?r:Reflect,"$ %RegExp%":RegExp,"$ %RegExpPrototype%":RegExp.prototype,"$ %Set%":"undefined"===typeof Set?r:Set,"$ %SetIteratorPrototype%":"undefined"!==typeof Set&&l?c((new Set)[Symbol.iterator]()):r,"$ %SetPrototype%":"undefined"===typeof Set?r:Set.prototype,"$ %SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?r:SharedArrayBuffer,"$ %SharedArrayBufferPrototype%":"undefined"===typeof SharedArrayBuffer?r:SharedArrayBuffer.prototype,"$ %String%":String,"$ %StringIteratorPrototype%":l?c(""[Symbol.iterator]()):r,"$ %StringPrototype%":String.prototype,"$ %Symbol%":l?Symbol:r,"$ %SymbolPrototype%":l?Symbol.prototype:r,"$ %SyntaxError%":SyntaxError,"$ %SyntaxErrorPrototype%":SyntaxError.prototype,"$ %ThrowTypeError%":s,"$ %TypedArray%":f,"$ %TypedArrayPrototype%":f?f.prototype:r,"$ %TypeError%":TypeError,"$ %TypeErrorPrototype%":TypeError.prototype,"$ %Uint8Array%":"undefined"===typeof Uint8Array?r:Uint8Array,"$ %Uint8ArrayPrototype%":"undefined"===typeof Uint8Array?r:Uint8Array.prototype,"$ %Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?r:Uint8ClampedArray,"$ %Uint8ClampedArrayPrototype%":"undefined"===typeof Uint8ClampedArray?r:Uint8ClampedArray.prototype,"$ %Uint16Array%":"undefined"===typeof Uint16Array?r:Uint16Array,"$ %Uint16ArrayPrototype%":"undefined"===typeof Uint16Array?r:Uint16Array.prototype,"$ %Uint32Array%":"undefined"===typeof Uint32Array?r:Uint32Array,"$ %Uint32ArrayPrototype%":"undefined"===typeof Uint32Array?r:Uint32Array.prototype,"$ %URIError%":URIError,"$ %URIErrorPrototype%":URIError.prototype,"$ %WeakMap%":"undefined"===typeof WeakMap?r:WeakMap,"$ %WeakMapPrototype%":"undefined"===typeof WeakMap?r:WeakMap.prototype,"$ %WeakSet%":"undefined"===typeof WeakSet?r:WeakSet,"$ %WeakSetPrototype%":"undefined"===typeof WeakSet?r:WeakSet.prototype};t.exports=function(e,t){if(arguments.length>1&&"boolean"!==typeof t)throw new TypeError('"allowMissing" argument must be a boolean');var n="$ "+e;if(!(n in m))throw new SyntaxError("intrinsic "+e+" does not exist!");if("undefined"===typeof m[n]&&!t)throw new TypeError("intrinsic "+e+" exists, but is not available. Please file an issue!");return m[n]}},{}],15:[function(e,t,n){"use strict";var r=e("./GetIntrinsic"),i=r("%Object%"),o=r("%TypeError%"),a=r("%String%"),s=e("./helpers/assertRecord"),l=e("./helpers/isNaN"),c=e("./helpers/isFinite"),u=e("./helpers/sign"),h=e("./helpers/mod"),d=e("is-callable"),p=e("es-to-primitive/es5"),f=e("has"),m={ToPrimitive:p,ToBoolean:function(e){return!!e},ToNumber:function(e){return+e},ToInteger:function(e){var t=this.ToNumber(e);return l(t)?0:0!==t&&c(t)?u(t)*Math.floor(Math.abs(t)):t},ToInt32:function(e){return this.ToNumber(e)>>0},ToUint32:function(e){return this.ToNumber(e)>>>0},ToUint16:function(e){var t=this.ToNumber(e);if(l(t)||0===t||!c(t))return 0;var n=u(t)*Math.floor(Math.abs(t));return h(n,65536)},ToString:function(e){return a(e)},ToObject:function(e){return this.CheckObjectCoercible(e),i(e)},CheckObjectCoercible:function(e,t){if(null==e)throw new o(t||"Cannot call method on "+e);return e},IsCallable:d,SameValue:function(e,t){return e===t?0!==e||1/e===1/t:l(e)&&l(t)},Type:function(e){return null===e?"Null":"undefined"===typeof e?"Undefined":"function"===typeof e||"object"===typeof e?"Object":"number"===typeof e?"Number":"boolean"===typeof e?"Boolean":"string"===typeof e?"String":void 0},IsPropertyDescriptor:function(e){if("Object"!==this.Type(e))return!1;var t={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var n in e)if(f(e,n)&&!t[n])return!1;var r=f(e,"[[Value]]"),i=f(e,"[[Get]]")||f(e,"[[Set]]");if(r&&i)throw new o("Property Descriptors may not be both accessor and data descriptors");return!0},IsAccessorDescriptor:function(e){return"undefined"!==typeof e&&(s(this,"Property Descriptor","Desc",e),!(!f(e,"[[Get]]")&&!f(e,"[[Set]]")))},IsDataDescriptor:function(e){return"undefined"!==typeof e&&(s(this,"Property Descriptor","Desc",e),!(!f(e,"[[Value]]")&&!f(e,"[[Writable]]")))},IsGenericDescriptor:function(e){return"undefined"!==typeof e&&(s(this,"Property Descriptor","Desc",e),!this.IsAccessorDescriptor(e)&&!this.IsDataDescriptor(e))},FromPropertyDescriptor:function(e){if("undefined"===typeof e)return e;if(s(this,"Property Descriptor","Desc",e),this.IsDataDescriptor(e))return{value:e["[[Value]]"],writable:!!e["[[Writable]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};if(this.IsAccessorDescriptor(e))return{get:e["[[Get]]"],set:e["[[Set]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};throw new o("FromPropertyDescriptor must be called with a fully populated Property Descriptor")},ToPropertyDescriptor:function(e){if("Object"!==this.Type(e))throw new o("ToPropertyDescriptor requires an object");var t={};if(f(e,"enumerable")&&(t["[[Enumerable]]"]=this.ToBoolean(e.enumerable)),f(e,"configurable")&&(t["[[Configurable]]"]=this.ToBoolean(e.configurable)),f(e,"value")&&(t["[[Value]]"]=e.value),f(e,"writable")&&(t["[[Writable]]"]=this.ToBoolean(e.writable)),f(e,"get")){var n=e.get;if("undefined"!==typeof n&&!this.IsCallable(n))throw new TypeError("getter must be a function");t["[[Get]]"]=n}if(f(e,"set")){var r=e.set;if("undefined"!==typeof r&&!this.IsCallable(r))throw new o("setter must be a function");t["[[Set]]"]=r}if((f(t,"[[Get]]")||f(t,"[[Set]]"))&&(f(t,"[[Value]]")||f(t,"[[Writable]]")))throw new o("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return t}};t.exports=m},{"./GetIntrinsic":14,"./helpers/assertRecord":16,"./helpers/isFinite":17,"./helpers/isNaN":18,"./helpers/mod":19,"./helpers/sign":20,"es-to-primitive/es5":21,has:28,"is-callable":32}],16:[function(e,t,n){"use strict";var r=e("../GetIntrinsic"),i=r("%TypeError%"),o=r("%SyntaxError%"),a=e("has"),s={"Property Descriptor":function(e,t){if("Object"!==e.Type(t))return!1;var n={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var r in t)if(a(t,r)&&!n[r])return!1;var o=a(t,"[[Value]]"),s=a(t,"[[Get]]")||a(t,"[[Set]]");if(o&&s)throw new i("Property Descriptors may not be both accessor and data descriptors");return!0}};t.exports=function(e,t,n,r){var a=s[t];if("function"!==typeof a)throw new o("unknown record type: "+t);if(!a(e,r))throw new i(n+" must be a "+t);console.log(a(e,r),r)}},{"../GetIntrinsic":14,has:28}],17:[function(e,t,n){var r=Number.isNaN||function(e){return e!==e};t.exports=Number.isFinite||function(e){return"number"===typeof e&&!r(e)&&e!==1/0&&e!==-1/0}},{}],18:[function(e,t,n){t.exports=Number.isNaN||function(e){return e!==e}},{}],19:[function(e,t,n){t.exports=function(e,t){var n=e%t;return Math.floor(n>=0?n:n+t)}},{}],20:[function(e,t,n){t.exports=function(e){return e>=0?1:-1}},{}],21:[function(e,t,n){"use strict";var r=Object.prototype.toString,i=e("./helpers/isPrimitive"),o=e("is-callable"),a={"[[DefaultValue]]":function(e){var t;if((t=arguments.length>1?arguments[1]:"[object Date]"===r.call(e)?String:Number)===String||t===Number){var n,a,s=t===String?["toString","valueOf"]:["valueOf","toString"];for(a=0;a<s.length;++a)if(o(e[s[a]])&&(n=e[s[a]](),i(n)))return n;throw new TypeError("No default value")}throw new TypeError("invalid [[DefaultValue]] hint supplied")}};t.exports=function(e){return i(e)?e:arguments.length>1?a["[[DefaultValue]]"](e,arguments[1]):a["[[DefaultValue]]"](e)}},{"./helpers/isPrimitive":22,"is-callable":32}],22:[function(e,t,n){t.exports=function(e){return null===e||"function"!==typeof e&&"object"!==typeof e}},{}],23:[function(e,t,n){var r=e("dtype");function i(e,t,n){if(!e)throw new TypeError("must specify data as first parameter");if(n=0|+(n||0),Array.isArray(e)&&e[0]&&"number"===typeof e[0][0]){var i,o,a,s,l=e[0].length,c=e.length*l;t&&"string"!==typeof t||(t=new(r(t||"float32"))(c+n));var u=t.length-n;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+e.length+") does not match destination length "+u);for(i=0,a=n;i<e.length;i++)for(o=0;o<l;o++)t[a++]=null===e[i][o]?NaN:e[i][o]}else if(t&&"string"!==typeof t)t.set(e,n);else{var h=r(t||"float32");if(Array.isArray(e)||"array"===t)for(i=0,a=n,s=(t=new h(e.length+n)).length;a<s;a++,i++)t[a]=null===e[i]?NaN:e[i];else 0===n?t=new h(e):(t=new h(e.length+n)).set(e,n)}return t}t.exports=i},{dtype:13}],24:[function(e,t,n){"use strict";var r=e("is-callable"),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,i=e.length;r<i;r++)o.call(e,r)&&(null==n?t(e[r],r,e):t.call(n,e[r],r,e))},s=function(e,t,n){for(var r=0,i=e.length;r<i;r++)null==n?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},l=function(e,t,n){for(var r in e)o.call(e,r)&&(null==n?t(e[r],r,e):t.call(n,e[r],r,e))},c=function(e,t,n){if(!r(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=n),"[object Array]"===i.call(e)?a(e,t,o):"string"===typeof e?s(e,t,o):l(e,t,o)};t.exports=c},{"is-callable":32}],25:[function(e,t,n){"use strict";var r="Function.prototype.bind called on incompatible ",i=Array.prototype.slice,o=Object.prototype.toString,a="[object Function]";t.exports=function(e){var t=this;if("function"!==typeof t||o.call(t)!==a)throw new TypeError(r+t);for(var n,s=i.call(arguments,1),l=function(){if(this instanceof n){var r=t.apply(this,s.concat(i.call(arguments)));return Object(r)===r?r:this}return t.apply(e,s.concat(i.call(arguments)))},c=Math.max(0,t.length-s.length),u=[],h=0;h<c;h++)u.push("$"+h);if(n=Function("binder","return function ("+u.join(",")+"){ return binder.apply(this,arguments); }")(l),t.prototype){var d=function(){};d.prototype=t.prototype,n.prototype=new d,d.prototype=null}return n}},{}],26:[function(e,t,n){"use strict";var r=e("./implementation");t.exports=Function.prototype.bind||r},{"./implementation":25}],27:[function(e,t,n){(function(e){var n;n="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{},t.exports=n}).call(this,"undefined"!==typeof r.g?r.g:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],28:[function(e,t,n){"use strict";var r=e("function-bind");t.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},{"function-bind":26}],29:[function(e,t,n){n.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,l=(1<<s)-1,c=l>>1,u=-7,h=n?i-1:0,d=n?-1:1,p=e[t+h];for(h+=d,o=p&(1<<-u)-1,p>>=-u,u+=s;u>0;o=256*o+e[t+h],h+=d,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=c}return(p?-1:1)*a*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var a,s,l,c=8*o-i-1,u=(1<<c)-1,h=u>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(s=0,a=u):a+h>=1?(s=(t*l-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[n+p]=255&s,p+=f,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[n+p]=255&a,p+=f,a/=256,c-=8);e[n+p-f]|=128*m}},{}],30:[function(e,t,n){"function"===typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],31:[function(e,t,n){function r(e){return!!e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function i(e){return"function"===typeof e.readFloatLE&&"function"===typeof e.slice&&r(e.slice(0,0))}t.exports=function(e){return null!=e&&(r(e)||i(e)||!!e._isBuffer)}},{}],32:[function(t,n,r){"use strict";var i=Function.prototype.toString,o=/^\s*class\b/,a=function(t){try{var n=i.call(t);return o.test(n)}catch(e){return!1}},s=function(t){try{return!a(t)&&(i.call(t),!0)}catch(e){return!1}},l=Object.prototype.toString,c="[object Function]",u="[object GeneratorFunction]",h="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;n.exports=function(e){if(!e)return!1;if("function"!==typeof e&&"object"!==typeof e)return!1;if("function"===typeof e&&!e.prototype)return!0;if(h)return s(e);if(a(e))return!1;var t=l.call(e);return t===c||t===u}},{}],33:[function(e,t,n){t.exports=i;var r=Object.prototype.toString;function i(e){var t=r.call(e);return"[object Function]"===t||"function"===typeof e&&"[object RegExp]"!==t||"undefined"!==typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}},{}],34:[function(e,t,n){"use strict";t.exports=function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}},{}],35:[function(e,t,n){var r={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},{}],36:[function(e,t,n){var r=e("word-wrapper"),i=e("xtend"),o=e("as-number"),a=["x","e","a","o","n","s","r","c","u","m","v","w","z"],s=["m","w"],l=["H","I","N","E","F","K","L","T","U","V","W","X","Y","Z"],c="\t".charCodeAt(0),u=" ".charCodeAt(0),h=0,d=1,p=2;function f(e){this.glyphs=[],this._measure=this.computeMetrics.bind(this),this.update(e)}function m(e){Object.defineProperty(f.prototype,e,{get:v(e),configurable:!0})}function v(e){return new Function(["return function "+e+"() {","  return this._"+e,"}"].join("\n"))()}function g(e,t){if(!e.chars||0===e.chars.length)return null;var n=E(e.chars,t);return n>=0?e.chars[n]:null}function y(e){for(var t=0;t<a.length;t++){var n=a[t].charCodeAt(0),r=E(e.chars,n);if(r>=0)return e.chars[r].height}return 0}function b(e){for(var t=0;t<s.length;t++){var n=s[t].charCodeAt(0),r=E(e.chars,n);if(r>=0)return e.chars[r]}return 0}function A(e){for(var t=0;t<l.length;t++){var n=l[t].charCodeAt(0),r=E(e.chars,n);if(r>=0)return e.chars[r].height}return 0}function w(e,t,n){if(!e.kernings||0===e.kernings.length)return 0;for(var r=e.kernings,i=0;i<r.length;i++){var o=r[i];if(o.first===t&&o.second===n)return o.amount}return 0}function x(e){return"center"===e?d:"right"===e?p:h}function E(e,t,n){for(var r=n=n||0;r<e.length;r++)if(e[r].id===t)return r;return-1}t.exports=function(e){return new f(e)},f.prototype.update=function(e){if(e=i({measure:this._measure},e),this._opt=e,this._opt.tabSize=o(this._opt.tabSize,4),!e.font)throw new Error("must provide a valid bitmap font");var t=this.glyphs,n=e.text||"",a=e.font;this._setupSpaceGlyphs(a);var s=r.lines(n,e),l=e.width||0;t.length=0;var c=s.reduce((function(e,t){return Math.max(e,t.width,l)}),0),u=0,h=0,f=o(e.lineHeight,a.common.lineHeight),m=a.common.base,v=f-m,g=e.letterSpacing||0,b=f*s.length-v,E=x(this._opt.align);h-=b,this._width=c,this._height=b,this._descender=f-m,this._baseline=m,this._xHeight=y(a),this._capHeight=A(a),this._lineHeight=f,this._ascender=f-v-this._xHeight;var M=this;s.forEach((function(e,r){for(var i,o=e.start,s=e.end,l=e.width,m=o;m<s;m++){var v=n.charCodeAt(m),y=M.getGlyph(a,v);if(y){i&&(u+=w(a,i.id,y.id));var b=u;E===d?b+=(c-l)/2:E===p&&(b+=c-l),t.push({position:[b,h],data:y,index:m,line:r}),u+=y.xadvance+g,i=y}}h+=f,u=0})),this._linesTotal=s.length},f.prototype._setupSpaceGlyphs=function(e){if(this._fallbackSpaceGlyph=null,this._fallbackTabGlyph=null,e.chars&&0!==e.chars.length){var t=g(e,u)||b(e)||e.chars[0],n=this._opt.tabSize*t.xadvance;this._fallbackSpaceGlyph=t,this._fallbackTabGlyph=i(t,{x:0,y:0,xadvance:n,id:c,xoffset:0,yoffset:0,width:0,height:0})}},f.prototype.getGlyph=function(e,t){var n=g(e,t);return n||(t===c?this._fallbackTabGlyph:t===u?this._fallbackSpaceGlyph:null)},f.prototype.computeMetrics=function(e,t,n,r){var i,o=this._opt.letterSpacing||0,a=this._opt.font,s=0,l=0,c=0;if(!a.chars||0===a.chars.length)return{start:t,end:t,width:0};n=Math.min(e.length,n);for(var u=t;u<n;u++){var h,d=e.charCodeAt(u);if(h=this.getGlyph(a,d)){h.xoffset;var p=(s+=i?w(a,i.id,h.id):0)+h.xadvance+o,f=s+h.width;if(f>=r||p>=r)break;s=p,l=f,i=h}c++}return i&&(l+=i.xoffset),{start:t,end:t+c,width:l}},["width","height","descender","ascender","xHeight","baseline","capHeight","lineHeight"].forEach(m)},{"as-number":2,"word-wrapper":69,xtend:72}],37:[function(t,n,r){(function(r){var i=t("xhr"),o=function(){},a=t("parse-bmfont-ascii"),s=t("parse-bmfont-xml"),l=t("parse-bmfont-binary"),c=t("./lib/is-binary"),u=t("xtend"),h=self.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest;function d(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e)}function p(e){if(h)return u(e,{responseType:"arraybuffer"});if("undefined"===typeof self.XMLHttpRequest)throw new Error("your browser does not support XHR loading");var t=new self.XMLHttpRequest;return t.overrideMimeType("text/plain; charset=x-user-defined"),u({xhr:t},e)}n.exports=function(t,n){n="function"===typeof n?n:o,"string"===typeof t?t={uri:t}:t||(t={}),t.binary&&(t=p(t)),i(t,(function(i,u,h){if(i)return n(i);if(!/^2/.test(u.statusCode))return n(new Error("http status code: "+u.statusCode));if(!h)return n(new Error("no body result"));var p,f=!1;if(d(h)){var m=new Uint8Array(h);h=new r(m,"binary")}c(h)&&(f=!0,"string"===typeof h&&(h=new r(h,"binary"))),f||(r.isBuffer(h)&&(h=h.toString(t.encoding)),h=h.trim());try{var v=u.headers["content-type"];p=f?l(h):/json/.test(v)||"{"===h.charAt(0)?JSON.parse(h):/xml/.test(v)||"<"===h.charAt(0)?s(h):a(h)}catch(e){n(new Error("error parsing font "+e.message)),n=o}n(null,p)}))}}).call(this,t("buffer").Buffer)},{"./lib/is-binary":38,buffer:6,"parse-bmfont-ascii":43,"parse-bmfont-binary":44,"parse-bmfont-xml":45,xhr:70,xtend:72}],38:[function(e,t,n){(function(n){var r=e("buffer-equal"),i=new n([66,77,70,3]);t.exports=function(e){return"string"===typeof e?"BMF"===e.substring(0,3):e.length>4&&r(e.slice(0,4),i)}}).call(this,e("buffer").Buffer)},{buffer:6,"buffer-equal":5}],39:[function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function s(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(i){return!1}}t.exports=s()?Object.assign:function(e,t){for(var n,s,l=a(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))i.call(n,u)&&(l[u]=n[u]);if(r){s=r(n);for(var h=0;h<s.length;h++)o.call(n,s[h])&&(l[s[h]]=n[s[h]])}}return l}},{}],40:[function(t,n,r){"use strict";var i;if(!Object.keys){var o=Object.prototype.hasOwnProperty,a=Object.prototype.toString,s=t("./isArguments"),l=Object.prototype.propertyIsEnumerable,c=!l.call({toString:null},"toString"),u=l.call((function(){}),"prototype"),h=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=function(e){var t=e.constructor;return t&&t.prototype===e},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"===typeof window)return!1;for(var t in window)try{if(!p["$"+t]&&o.call(window,t)&&null!==window[t]&&"object"===typeof window[t])try{d(window[t])}catch(e){return!0}}catch(e){return!0}return!1}(),m=function(t){if("undefined"===typeof window||!f)return d(t);try{return d(t)}catch(e){return!1}};i=function(e){var t=null!==e&&"object"===typeof e,n="[object Function]"===a.call(e),r=s(e),i=t&&"[object String]"===a.call(e),l=[];if(!t&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var d=u&&n;if(i&&e.length>0&&!o.call(e,0))for(var p=0;p<e.length;++p)l.push(String(p));if(r&&e.length>0)for(var f=0;f<e.length;++f)l.push(String(f));else for(var v in e)d&&"prototype"===v||!o.call(e,v)||l.push(String(v));if(c)for(var g=m(e),y=0;y<h.length;++y)g&&"constructor"===h[y]||!o.call(e,h[y])||l.push(h[y]);return l}}n.exports=i},{"./isArguments":42}],41:[function(e,t,n){"use strict";var r=Array.prototype.slice,i=e("./isArguments"),o=Object.keys,a=o?function(e){return o(e)}:e("./implementation"),s=Object.keys;a.shim=function(){return Object.keys?function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2)||(Object.keys=function(e){return i(e)?s(r.call(e)):s(e)}):Object.keys=a,Object.keys||a},t.exports=a},{"./implementation":40,"./isArguments":42}],42:[function(e,t,n){"use strict";var r=Object.prototype.toString;t.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"===typeof e&&"number"===typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}},{}],43:[function(e,t,n){function r(e,t){if(!(e=e.replace(/\t+/g," ").trim()))return null;var n=e.indexOf(" ");if(-1===n)throw new Error("no named row at line "+t);var r=e.substring(0,n);e=(e=(e=(e=e.substring(n+1)).replace(/letter=[\'\"]\S+[\'\"]/gi,"")).split("=")).map((function(e){return e.trim().match(/(".*?"|[^"\s]+)+(?=\s*|\s*$)/g)}));for(var o=[],a=0;a<e.length;a++){var s=e[a];0===a?o.push({key:s[0],data:""}):a===e.length-1?o[o.length-1].data=i(s[0]):(o[o.length-1].data=i(s[0]),o.push({key:s[1],data:""}))}var l={key:r,data:{}};return o.forEach((function(e){l.data[e.key]=e.data})),l}function i(e){return e&&0!==e.length?0===e.indexOf('"')||0===e.indexOf("'")?e.substring(1,e.length-1):-1!==e.indexOf(",")?o(e):parseInt(e,10):""}function o(e){return e.split(",").map((function(e){return parseInt(e,10)}))}t.exports=function(e){if(!e)throw new Error("no data provided");var t={pages:[],chars:[],kernings:[]},n=(e=e.toString().trim()).split(/\r\n?|\n/g);if(0===n.length)throw new Error("no data in BMFont file");for(var i=0;i<n.length;i++){var o=r(n[i],i);if(o)if("page"===o.key){if("number"!==typeof o.data.id)throw new Error("malformed file at line "+i+" -- needs page id=N");if("string"!==typeof o.data.file)throw new Error("malformed file at line "+i+' -- needs page file="path"');t.pages[o.data.id]=o.data.file}else"chars"===o.key||"kernings"===o.key||("char"===o.key?t.chars.push(o.data):"kerning"===o.key?t.kernings.push(o.data):t[o.key]=o.data)}return t}},{}],44:[function(e,t,n){var r=[66,77,70];function i(e,t,n){if(n>t.length-1)return 0;var r=t.readUInt8(n++),i=t.readInt32LE(n);switch(n+=4,r){case 1:e.info=o(t,n);break;case 2:e.common=a(t,n);break;case 3:e.pages=s(t,n,i);break;case 4:e.chars=l(t,n,i);break;case 5:e.kernings=c(t,n,i)}return 5+i}function o(e,t){var n={};n.size=e.readInt16LE(t);var r=e.readUInt8(t+2);return n.smooth=r>>7&1,n.unicode=r>>6&1,n.italic=r>>5&1,n.bold=r>>4&1,r>>3&1&&(n.fixedHeight=1),n.charset=e.readUInt8(t+3)||"",n.stretchH=e.readUInt16LE(t+4),n.aa=e.readUInt8(t+6),n.padding=[e.readInt8(t+7),e.readInt8(t+8),e.readInt8(t+9),e.readInt8(t+10)],n.spacing=[e.readInt8(t+11),e.readInt8(t+12)],n.outline=e.readUInt8(t+13),n.face=h(e,t+14),n}function a(e,t){var n={};return n.lineHeight=e.readUInt16LE(t),n.base=e.readUInt16LE(t+2),n.scaleW=e.readUInt16LE(t+4),n.scaleH=e.readUInt16LE(t+6),n.pages=e.readUInt16LE(t+8),e.readUInt8(t+10),n.packed=0,n.alphaChnl=e.readUInt8(t+11),n.redChnl=e.readUInt8(t+12),n.greenChnl=e.readUInt8(t+13),n.blueChnl=e.readUInt8(t+14),n}function s(e,t,n){for(var r=[],i=u(e,t),o=i.length+1,a=n/o,s=0;s<a;s++)r[s]=e.slice(t,t+i.length).toString("utf8"),t+=o;return r}function l(e,t,n){for(var r=[],i=n/20,o=0;o<i;o++){var a={},s=20*o;a.id=e.readUInt32LE(t+0+s),a.x=e.readUInt16LE(t+4+s),a.y=e.readUInt16LE(t+6+s),a.width=e.readUInt16LE(t+8+s),a.height=e.readUInt16LE(t+10+s),a.xoffset=e.readInt16LE(t+12+s),a.yoffset=e.readInt16LE(t+14+s),a.xadvance=e.readInt16LE(t+16+s),a.page=e.readUInt8(t+18+s),a.chnl=e.readUInt8(t+19+s),r[o]=a}return r}function c(e,t,n){for(var r=[],i=n/10,o=0;o<i;o++){var a={},s=10*o;a.first=e.readUInt32LE(t+0+s),a.second=e.readUInt32LE(t+4+s),a.amount=e.readInt16LE(t+8+s),r[o]=a}return r}function u(e,t){for(var n=t;n<e.length&&0!==e[n];n++);return e.slice(t,n)}function h(e,t){return u(e,t).toString("utf8")}t.exports=function(e){if(e.length<6)throw new Error("invalid buffer length for BMFont");if(!r.every((function(t,n){return e.readUInt8(n)===t})))throw new Error("BMFont missing BMF byte header");var t=3;if(e.readUInt8(t++)>3)throw new Error("Only supports BMFont Binary v3 (BMFont App v1.10)");for(var n={kernings:[],chars:[]},o=0;o<5;o++)t+=i(n,e,t);return n}},{}],45:[function(e,t,n){var r=e("./parse-attribs"),i=e("xml-parse-from-string"),o={scaleh:"scaleH",scalew:"scaleW",stretchh:"stretchH",lineheight:"lineHeight",alphachnl:"alphaChnl",redchnl:"redChnl",greenchnl:"greenChnl",bluechnl:"blueChnl"};function a(e){return s(e).reduce((function(e,t){return e[l(t.nodeName)]=t.nodeValue,e}),{})}function s(e){for(var t=[],n=0;n<e.attributes.length;n++)t.push(e.attributes[n]);return t}function l(e){return o[e.toLowerCase()]||e}t.exports=function(e){e=e.toString();var t=i(e),n={pages:[],chars:[],kernings:[]};["info","common"].forEach((function(e){var i=t.getElementsByTagName(e)[0];i&&(n[e]=r(a(i)))}));var o=t.getElementsByTagName("pages")[0];if(!o)throw new Error("malformed file -- no <pages> element");for(var s=o.getElementsByTagName("page"),l=0;l<s.length;l++){var c=s[l],u=parseInt(c.getAttribute("id"),10),h=c.getAttribute("file");if(isNaN(u))throw new Error('malformed file -- page "id" attribute is NaN');if(!h)throw new Error('malformed file -- needs page "file" attribute');n.pages[parseInt(u,10)]=h}return["chars","kernings"].forEach((function(e){var i=t.getElementsByTagName(e)[0];if(i)for(var o=e.substring(0,e.length-1),s=i.getElementsByTagName(o),l=0;l<s.length;l++){var c=s[l];n[e].push(r(a(c)))}})),n}},{"./parse-attribs":46,"xml-parse-from-string":71}],46:[function(e,t,n){var r="chasrset";function i(e){return e.split(",").map((function(e){return parseInt(e,10)}))}t.exports=function(e){for(var t in r in e&&(e.charset=e[r],delete e[r]),e)"face"!==t&&"charset"!==t&&(e[t]="padding"===t||"spacing"===t?i(e[t]):parseInt(e[t],10));return e}},{}],47:[function(e,t,n){var r=e("string.prototype.trim"),i=e("for-each"),o=function(e){return"[object Array]"===Object.prototype.toString.call(e)};t.exports=function(e){if(!e)return{};var t={};return i(r(e).split("\n"),(function(e){var n=e.indexOf(":"),i=r(e.slice(0,n)).toLowerCase(),a=r(e.slice(n+1));"undefined"===typeof t[i]?t[i]=a:o(t[i])?t[i].push(a):t[i]=[t[i],a]})),t}},{"for-each":24,"string.prototype.trim":53}],48:[function(e,t,n){(function(e){var n=e.performance||{},r=function(){for(var e=["now","webkitNow","msNow","mozNow","oNow"];e.length;){var t=e.shift();if(t in n)return n[t].bind(n)}var r=Date.now||function(){return(new Date).getTime()},i=(n.timing||{}).navigationStart||r();return function(){return r()-i}}();r.performanceNow=n.now,r.noConflict=function(){n.now=r.performanceNow},r.conflict=function(){n.now=r},r.conflict(),t.exports=r}).call(this,"undefined"!==typeof r.g?r.g:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],49:[function(t,n,r){var i,o,a=n.exports={};function s(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}function c(t){if(i===setTimeout)return setTimeout(t,0);if((i===s||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}function u(t){if(o===clearTimeout)return clearTimeout(t);if((o===l||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(t);try{return o(t)}catch(e){try{return o.call(null,t)}catch(e){return o.call(this,t)}}}!function(){try{i="function"===typeof setTimeout?setTimeout:s}catch(e){i=s}try{o="function"===typeof clearTimeout?clearTimeout:l}catch(e){o=l}}();var h,d=[],p=!1,f=-1;function m(){p&&h&&(p=!1,h.length?d=h.concat(d):f=-1,d.length&&v())}function v(){if(!p){var e=c(m);p=!0;for(var t=d.length;t;){for(h=d,d=[];++f<t;)h&&h[f].run();f=-1,t=d.length}h=null,p=!1,u(e)}}function g(e,t){this.fun=e,this.array=t}function y(){}a.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];d.push(new g(e,t)),1!==d.length||p||c(v)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=y,a.addListener=y,a.once=y,a.off=y,a.removeListener=y,a.removeAllListeners=y,a.emit=y,a.prependListener=y,a.prependOnceListener=y,a.listeners=function(e){return[]},a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},{}],50:[function(t,n,r){(function(t){!function(r){var i=setTimeout,o="function"===typeof t&&t||function(e){i(e,1)};function a(e,t){return function(){e.apply(t,arguments)}}var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function l(e){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],f(e,a(u,this),a(h,this))}function c(t){var n=this;null!==this._state?o((function(){var r=n._state?t.onFulfilled:t.onRejected;if(null!==r){var i;try{i=r(n._value)}catch(e){return void t.reject(e)}t.resolve(i)}else(n._state?t.resolve:t.reject)(n._value)})):this._deferreds.push(t)}function u(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===typeof t||"function"===typeof t)){var n=t.then;if("function"===typeof n)return void f(a(n,t),a(u,this),a(h,this))}this._state=!0,this._value=t,d.call(this)}catch(e){h.call(this,e)}}function h(e){this._state=!1,this._value=e,d.call(this)}function d(){for(var e=0,t=this._deferreds.length;e<t;e++)c.call(this,this._deferreds[e]);this._deferreds=null}function p(e,t,n,r){this.onFulfilled="function"===typeof e?e:null,this.onRejected="function"===typeof t?t:null,this.resolve=n,this.reject=r}function f(e,t,n){var r=!1;try{e((function(e){r||(r=!0,t(e))}),(function(e){r||(r=!0,n(e))}))}catch(i){if(r)return;r=!0,n(i)}}l.prototype.catch=function(e){return this.then(null,e)},l.prototype.then=function(e,t){var n=this;return new l((function(r,i){c.call(n,new p(e,t,r,i))}))},l.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&s(arguments[0])?arguments[0]:arguments);return new l((function(t,n){if(0===e.length)return t([]);var r=e.length;function i(o,a){try{if(a&&("object"===typeof a||"function"===typeof a)){var s=a.then;if("function"===typeof s)return void s.call(a,(function(e){i(o,e)}),n)}e[o]=a,0===--r&&t(e)}catch(l){n(l)}}for(var o=0;o<e.length;o++)i(o,e[o])}))},l.resolve=function(e){return e&&"object"===typeof e&&e.constructor===l?e:new l((function(t){t(e)}))},l.reject=function(e){return new l((function(t,n){n(e)}))},l.race=function(e){return new l((function(t,n){for(var r=0,i=e.length;r<i;r++)e[r].then(t,n)}))},l._setImmediateFn=function(e){o=e},"undefined"!==typeof n&&n.exports?n.exports=l:r.Promise||(r.Promise=l)}(this)}).call(this,t("timers").setImmediate)},{timers:67}],51:[function(e,t,n){var r=e("dtype"),i=e("an-array"),o=e("is-buffer"),a=[0,2,3],s=[2,1,3];t.exports=function(e,t){e&&(i(e)||o(e))||(t=e||{},e=null);for(var n="string"===typeof(t="number"===typeof t?{count:t}:t||{}).type?t.type:"uint16",l="number"===typeof t.count?t.count:1,c=t.start||0,u=!1!==t.clockwise?a:s,h=u[0],d=u[1],p=u[2],f=6*l,m=e||new(r(n))(f),v=0,g=0;v<f;v+=6,g+=4){var y=v+c;m[y+0]=g+0,m[y+1]=g+1,m[y+2]=g+2,m[y+3]=g+h,m[y+4]=g+d,m[y+5]=g+p}return m}},{"an-array":1,dtype:13,"is-buffer":31}],52:[function(e,t,n){"use strict";var r=e("function-bind"),i=e("es-abstract/es5"),o=r.call(Function.call,String.prototype.replace),a=/^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/,s=/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/;t.exports=function(){var e=i.ToString(i.CheckObjectCoercible(this));return o(o(e,a,""),s,"")}},{"es-abstract/es5":15,"function-bind":26}],53:[function(e,t,n){"use strict";var r=e("function-bind"),i=e("define-properties"),o=e("./implementation"),a=e("./polyfill"),s=e("./shim"),l=r.call(Function.call,a());i(l,{getPolyfill:a,implementation:o,shim:s}),t.exports=l},{"./implementation":52,"./polyfill":54,"./shim":55,"define-properties":11,"function-bind":26}],54:[function(e,t,n){"use strict";var r=e("./implementation"),i="\u200b";t.exports=function(){return String.prototype.trim&&i.trim()===i?String.prototype.trim:r}},{"./implementation":52}],55:[function(e,t,n){"use strict";var r=e("define-properties"),i=e("./polyfill");t.exports=function(){var e=i();return r(String.prototype,{trim:e},{trim:function(){return String.prototype.trim!==e}}),e}},{"./polyfill":54,"define-properties":11}],56:[function(t,n,r){"use strict";var i={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},o={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective"],s={CSS:{},springs:{}};function l(e,t,n){return Math.min(Math.max(e,t),n)}function c(e,t){return e.indexOf(t)>-1}function u(e,t){return e.apply(null,t)}var h=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,d=/^rgb/,p=/^hsl/,f={arr:function(e){return Array.isArray(e)},obj:function(e){return c(Object.prototype.toString.call(e),"Object")},pth:function(e){return f.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||f.svg(e)},str:function(e){return"string"===typeof e},fnc:function(e){return"function"===typeof e},und:function(e){return"undefined"===typeof e},hex:function(e){return h.test(e)},rgb:function(e){return d.test(e)},hsl:function(e){return p.test(e)},col:function(e){return f.hex(e)||f.rgb(e)||f.hsl(e)},key:function(e){return!i.hasOwnProperty(e)&&!o.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}},m=/\(([^)]+)\)/;function v(e){var t=m.exec(e);return t?t[1].split(",").map((function(e){return parseFloat(e)})):[]}function g(e,t){var n=v(e),r=l(f.und(n[0])?1:n[0],.1,100),i=l(f.und(n[1])?100:n[1],.1,100),o=l(f.und(n[2])?10:n[2],.1,100),a=l(f.und(n[3])?0:n[3],.1,100),c=Math.sqrt(i/r),u=o/(2*Math.sqrt(i*r)),h=u<1?c*Math.sqrt(1-u*u):0,d=1,p=u<1?(u*c-a)/h:-a+c;function m(e){var n=t?t*e/1e3:e;return n=u<1?Math.exp(-n*u*c)*(d*Math.cos(h*n)+p*Math.sin(h*n)):(d+p*n)*Math.exp(-n*c),0===e||1===e?e:1-n}function g(){var t=s.springs[e];if(t)return t;for(var n=1/6,r=0,i=0;;)if(1===m(r+=n)){if(++i>=16)break}else i=0;var o=r*n*1e3;return s.springs[e]=o,o}return t?m:g}function y(e,t){void 0===e&&(e=1),void 0===t&&(t=.5);var n=l(e,1,10),r=l(t,.1,2);return function(e){return 0===e||1===e?e:-n*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}function b(e){return void 0===e&&(e=10),function(t){return Math.round(t*e)*(1/e)}}var A=function(){var e=11,t=1/(e-1);function n(e,t){return 1-3*t+3*e}function r(e,t){return 3*t-6*e}function i(e){return 3*e}function o(e,t,o){return((n(t,o)*e+r(t,o))*e+i(t))*e}function a(e,t,o){return 3*n(t,o)*e*e+2*r(t,o)*e+i(t)}function s(e,t,n,r,i){var a,s,l=0;do{(a=o(s=t+(n-t)/2,r,i)-e)>0?n=s:t=s}while(Math.abs(a)>1e-7&&++l<10);return s}function l(e,t,n,r){for(var i=0;i<4;++i){var s=a(t,n,r);if(0===s)return t;t-=(o(t,n,r)-e)/s}return t}function c(n,r,i,c){if(0<=n&&n<=1&&0<=i&&i<=1){var u=new Float32Array(e);if(n!==r||i!==c)for(var h=0;h<e;++h)u[h]=o(h*t,n,i);return function(e){return n===r&&i===c||0===e||1===e?e:o(d(e),r,c)}}function d(r){for(var o=0,c=1,h=e-1;c!==h&&u[c]<=r;++c)o+=t;--c;var d=o+(r-u[c])/(u[c+1]-u[c])*t,p=a(d,n,i);return p>=.001?l(r,d,n,i):0===p?d:s(r,o,o+t,n,i)}}return c}(),w=function(){var e=["Quad","Cubic","Quart","Quint","Sine","Expo","Circ","Back","Elastic"],t={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],y],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(e,t){return function(n){return 1-y(e,t)(1-n)}}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(e,t){return function(n){return n<.5?y(e,t)(2*n)/2:1-y(e,t)(-2*n+2)/2}}]},n={linear:[.25,.25,.75,.75]};for(var r in t)for(var i=0,o=t[r].length;i<o;i++)n["ease"+r+e[i]]=t[r][i];return n}();function x(e,t){if(f.fnc(e))return e;var n=e.split("(")[0],r=w[n],i=v(e);switch(n){case"spring":return g(e,t);case"cubicBezier":return u(A,i);case"steps":return u(b,i);default:return f.fnc(r)?u(r,i):u(A,r)}}function E(t){try{return document.querySelectorAll(t)}catch(e){return}}var M=[];function _(e,t){for(var n=M,r=e.length,i=arguments.length>=2?arguments[1]:void 0,o=0;o<r;o++)if(o in e){var a=e[o];t.call(i,a,o,e)&&n.push(a)}return(M=e).length=0,n}function T(e,t){t||(t=[]);for(var n=0,r=e.length;n<r;n++){var i=e[n];Array.isArray(i)?T(i,t):t.push(i)}return t}function S(e){return f.arr(e)?e:(f.str(e)&&(e=E(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function C(e,t){return e.some((function(e){return e===t}))}function L(e){var t={};for(var n in e)t[n]=e[n];return t}function R(e,t){var n=L(e);for(var r in e)n[r]=t.hasOwnProperty(r)?t[r]:e[r];return n}function P(e,t){var n=L(e);for(var r in t)n[r]=f.und(e[r])?t[r]:e[r];return n}var D=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g;function O(e){var t=D.exec(e);return t?"rgba("+t[1]+",1)":e}var I=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,B=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function F(e){var t=e.replace(I,(function(e,t,n,r){return t+t+n+n+r+r})),n=B.exec(t);return"rgba("+parseInt(n[1],16)+","+parseInt(n[2],16)+","+parseInt(n[3],16)+",1)"}var k=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g,N=/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g;function U(e){var t,n,r,i=k.exec(e)||N.exec(e),o=parseInt(i[1],10)/360,a=parseInt(i[2],10)/100,s=parseInt(i[3],10)/100,l=i[4]||1;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==a)t=n=r=s;else{var u=s<.5?s*(1+a):s+a-s*a,h=2*s-u;t=c(h,u,o+1/3),n=c(h,u,o),r=c(h,u,o-1/3)}return"rgba("+255*t+","+255*n+","+255*r+","+l+")"}function H(e){return f.rgb(e)?O(e):f.hex(e)?F(e):f.hsl(e)?U(e):void 0}var G=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/;function z(e){var t=G.exec(e);if(t)return t[2]}function j(e){return c(e,"translate")||"perspective"===e?"px":c(e,"rotate")||c(e,"skew")?"deg":void 0}function V(e,t){return f.fnc(e)?e(t.target,t.id,t.total):e}function W(e,t){return e.getAttribute(t)}function q(e,t,n){if(C([n,"deg","rad","turn"],z(t)))return t;var r=s.CSS[t+n];if(!f.und(r))return r;var i=100,o=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(o),o.style.position="absolute",o.style.width=i+n;var l=i/o.offsetWidth;a.removeChild(o);var c=l*parseFloat(t);return s.CSS[t+n]=c,c}function X(e,t,n){if(t in e.style){var r=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i=e.style[t]||getComputedStyle(e).getPropertyValue(r)||"0";return n?q(e,i,n):i}}function Y(e,t){return f.dom(e)&&!f.inp(e)&&(W(e,t)||f.svg(e)&&e[t])?"attribute":f.dom(e)&&C(a,t)?"transform":f.dom(e)&&"transform"!==t&&X(e,t)?"css":null!=e[t]?"object":void 0}var Q=/(\w+)\(([^)]*)\)/g;function Z(e){if(f.dom(e)){for(var t,n=e.style.transform||"",r=new Map;t=Q.exec(n);)r.set(t[1],t[2]);return r}}function K(e,t,n,r){var i=c(t,"scale")?1:0+j(t),o=Z(e).get(t)||i;return n&&(n.transforms.list.set(t,o),n.transforms.last=t),r?q(e,o,r):o}function J(e,t,n,r){switch(Y(e,t)){case"transform":return K(e,t,r,n);case"css":return X(e,t,n);case"attribute":return W(e,t);default:return e[t]||0}}var $=/^(\*=|\+=|-=)/;function ee(e,t){var n=$.exec(e);if(!n)return e;var r=z(e)||0,i=parseFloat(t),o=parseFloat(e.replace(n[0],""));switch(n[0][0]){case"+":return i+o+r;case"-":return i-o+r;case"*":return i*o+r}}var te=/\s/g;function ne(e,t){if(f.col(e))return H(e);var n=z(e),r=n?e.substr(0,e.length-n.length):e;return t&&!te.test(e)?r+t:r}function re(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function ie(e){return 2*Math.PI*W(e,"r")}function oe(e){return 2*W(e,"width")+2*W(e,"height")}function ae(e){return re({x:W(e,"x1"),y:W(e,"y1")},{x:W(e,"x2"),y:W(e,"y2")})}function se(e){for(var t,n=e.points,r=0,i=0;i<n.numberOfItems;i++){var o=n.getItem(i);i>0&&(r+=re(t,o)),t=o}return r}function le(e){var t=e.points;return se(e)+re(t.getItem(t.numberOfItems-1),t.getItem(0))}function ce(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return ie(e);case"rect":return oe(e);case"line":return ae(e);case"polyline":return se(e);case"polygon":return le(e)}}function ue(e){var t=ce(e);return e.setAttribute("stroke-dasharray",t),t}function he(e){for(var t=e.parentNode;f.svg(t)&&(t=t.parentNode,f.svg(t.parentNode)););return t}function de(e,t){var n=t||{},r=n.el||he(e),i=r.getBoundingClientRect(),o=W(r,"viewBox"),a=i.width,s=i.height,l=n.viewBox||(o?o.split(" "):[0,0,a,s]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:a/l[2],h:s/l[3]}}function pe(e,t){var n=f.str(e)?E(e)[0]:e,r=t||100;return function(e){return{property:e,el:n,svg:de(n),totalLength:ce(n)*(r/100)}}}function fe(e,t){function n(n){void 0===n&&(n=0);var r=t+n>=1?t+n:0;return e.el.getPointAtLength(r)}var r=de(e.el,e.svg),i=n(),o=n(-1),a=n(1);switch(e.property){case"x":return(i.x-r.x)*r.w;case"y":return(i.y-r.y)*r.h;case"angle":return 180*Math.atan2(a.y-o.y,a.x-o.x)/Math.PI}}var me=/-?\d*\.?\d+/g;function ve(e,t){var n=ne(f.pth(e)?e.totalLength:e,t)+"";return{original:n,numbers:n.match(me)?n.match(me).map(Number):[0],strings:f.str(e)||t?n.split(me):[]}}function ge(e){return _(e?T(f.arr(e)?e.map(S):S(e)):[],(function(e,t,n){return n.indexOf(e)===t}))}function ye(e){var t=ge(e);return t.map((function(e,n){return{target:e,id:n,total:t.length,transforms:{list:Z(e)}}}))}var be=/^spring/;function Ae(e,t){var n=L(t);if(be.test(n.easing)&&(n.duration=g(n.easing)),f.arr(e)){var r=e.length;2!==r||f.obj(e[0])?f.fnc(t.duration)||(n.duration=t.duration/r):e={value:e}}var i=f.arr(e)?e:[e];return i.map((function(e,n){var r=f.obj(e)&&!f.pth(e)?e:{value:e};return f.und(r.delay)&&(r.delay=n?0:t.delay),f.und(r.endDelay)&&(r.endDelay=n===i.length-1?t.endDelay:0),r})).map((function(e){return P(e,n)}))}function we(e){for(var t=_(T(e.map((function(e){return Object.keys(e)}))),(function(e){return f.key(e)})).reduce((function(e,t){return e.indexOf(t)<0&&e.push(t),e}),[]),n={},r=function(r){var i=t[r];n[i]=e.map((function(e){var t={};for(var n in e)f.key(n)?n==i&&(t.value=e[n]):t[n]=e[n];return t}))},i=0;i<t.length;i++)r(i);return n}function xe(e,t){var n=[],r=t.keyframes;for(var i in r&&(t=P(we(r),t)),t)f.key(i)&&n.push({name:i,tweens:Ae(t[i],e)});return n}function Ee(e,t){var n={};for(var r in e){var i=V(e[r],t);f.arr(i)&&1===(i=i.map((function(e){return V(e,t)}))).length&&(i=i[0]),n[r]=i}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}function Me(e,t){var n;return e.tweens.map((function(r){var i=Ee(r,t),o=i.value,a=f.arr(o)?o[1]:o,s=z(a),l=J(t.target,e.name,s,t),c=n?n.to.original:l,u=f.arr(o)?o[0]:c,h=z(u)||z(l),d=s||h;return f.und(a)&&(a=c),i.from=ve(u,d),i.to=ve(ee(a,u),d),i.start=n?n.end:0,i.end=i.start+i.delay+i.duration+i.endDelay,i.easing=x(i.easing,i.duration),i.isPath=f.pth(o),i.isColor=f.col(i.from.original),i.isColor&&(i.round=1),n=i,i}))}var _e={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,r,i){if(r.list.set(t,n),t===r.last||i){var o="";r.list.forEach((function(e,t){o+=t+"("+e+") "})),e.style.transform=o}}};function Te(e,t){for(var n=ye(e),r=0,i=n.length;r<i;r++){var o=n[r];for(var a in t){var s=V(t[a],o),l=o.target,c=z(s),u=J(l,a,c,o),h=ee(ne(s,c||z(u)),u),d=Y(l,a);_e[d](l,a,h,o.transforms,!0)}}}function Se(e,t){var n=Y(e.target,t.name);if(n){var r=Me(t,e),i=r[r.length-1];return{type:n,property:t.name,animatable:e,tweens:r,duration:i.end,delay:r[0].delay,endDelay:i.endDelay}}}function Ce(e,t){return _(T(e.map((function(e){return t.map((function(t){return Se(e,t)}))}))),(function(e){return!f.und(e)}))}function Le(e,t){var n=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},i={};return i.duration=n?Math.max.apply(Math,e.map((function(e){return r(e)+e.duration}))):t.duration,i.delay=n?Math.min.apply(Math,e.map((function(e){return r(e)+e.delay}))):t.delay,i.endDelay=n?i.duration-Math.max.apply(Math,e.map((function(e){return r(e)+e.duration-e.endDelay}))):t.endDelay,i}var Re=0;function Pe(e){var t=R(i,e),n=R(o,e),r=xe(n,e),a=ye(e.targets),s=Ce(a,r),l=Le(s,n),c=Re;return Re++,P(t,{id:c,children:[],animatables:a,animations:s,duration:l.duration,delay:l.delay,endDelay:l.endDelay})}var De,Oe=[],Ie=[],Be=function(){function e(){De=requestAnimationFrame(t)}function t(t){var n=Oe.length;if(n){for(var r=0;r<n;){var i=Oe[r];if(i.paused){var o=Oe.indexOf(i);o>-1&&(Oe.splice(o,1),n=Oe.length)}else i.tick(t);r++}e()}else De=cancelAnimationFrame(De)}return e}();function Fe(){if(document.hidden){for(var e=0,t=Oe.length;e<t;e++)activeInstance[e].pause();Ie=Oe.slice(0),Oe=[]}else for(var n=0,r=Ie.length;n<r;n++)Ie[n].play()}function ke(e){void 0===e&&(e={});var t,n=0,r=0,i=0,o=0,a=null;function s(){return window.Promise&&new Promise((function(e){return a=e}))}var c=s(),u=Pe(e);function h(){u.reversed=!u.reversed;for(var e=0,n=t.length;e<n;e++)t[e].reversed=u.reversed}function d(e){return u.reversed?u.duration-e:e}function p(){n=0,r=d(u.currentTime)*(1/ke.speed)}function f(e,t){t&&t.seek(e-t.timelineOffset)}function m(e){if(u.reversePlayback)for(var n=o;n--;)f(e,t[n]);else for(var r=0;r<o;r++)f(e,t[r])}function v(e){for(var t=0,n=u.animations,r=n.length;t<r;){var i=n[t],o=i.animatable,a=i.tweens,s=a.length-1,c=a[s];s&&(c=_(a,(function(t){return e<t.end}))[0]||c);for(var h=l(e-c.start-c.delay,0,c.duration)/c.duration,d=isNaN(h)?1:c.easing(h),p=c.to.strings,f=c.round,m=[],v=c.to.numbers.length,g=void 0,y=0;y<v;y++){var b=void 0,A=c.to.numbers[y],w=c.from.numbers[y]||0;b=c.isPath?fe(c.value,d*A):w+d*(A-w),f&&(c.isColor&&y>2||(b=Math.round(b*f)/f)),m.push(b)}var x=p.length;if(x){g=p[0];for(var E=0;E<x;E++){p[E];var M=p[E+1],T=m[E];isNaN(T)||(g+=M?T+M:T+" ")}}else g=m[0];_e[i.type](o.target,i.property,g,o.transforms),i.currentValue=g,t++}}function g(e){u[e]&&!u.passThrough&&u[e](u)}function y(){u.remaining&&!0!==u.remaining&&u.remaining--}function b(e){var o=u.duration,p=u.delay,f=o-u.endDelay,b=d(e);u.progress=l(b/o*100,0,100),u.reversePlayback=b<u.currentTime,t&&m(b),!u.began&&u.currentTime>0&&(u.began=!0,g("begin"),g("loopBegin")),b<=p&&0!==u.currentTime&&v(0),(b>=f&&u.currentTime!==o||!o)&&v(o),b>p&&b<f?(u.changeBegan||(u.changeBegan=!0,u.changeCompleted=!1,g("changeBegin")),g("change"),v(b)):u.changeBegan&&(u.changeCompleted=!0,u.changeBegan=!1,g("changeComplete")),u.currentTime=l(b,0,o),u.began&&g("update"),e>=o&&(r=0,y(),u.remaining?(n=i,g("loopComplete"),g("loopBegin"),"alternate"===u.direction&&h()):(u.paused=!0,u.completed||(u.completed=!0,g("loopComplete"),g("complete"),"Promise"in window&&(a(),c=s()))))}return u.reset=function(){var e=u.direction;u.passThrough=!1,u.currentTime=0,u.progress=0,u.paused=!0,u.began=!1,u.changeBegan=!1,u.completed=!1,u.changeCompleted=!1,u.reversePlayback=!1,u.reversed="reverse"===e,u.remaining=u.loop,t=u.children;for(var n=o=t.length;n--;)u.children[n].reset();(u.reversed&&!0!==u.loop||"alternate"===e&&1===u.loop)&&u.remaining++,v(0)},u.set=function(e,t){return Te(e,t),u},u.tick=function(e){i=e,n||(n=i),b((i+(r-n))*ke.speed)},u.seek=function(e){b(d(e))},u.pause=function(){u.paused=!0,p()},u.play=function(){u.paused&&(u.paused=!1,Oe.push(u),p(),De||Be())},u.reverse=function(){h(),p()},u.restart=function(){u.reset(),u.play()},u.finished=c,u.reset(),u.autoplay&&u.play(),u}function Ne(e,t){for(var n=t.length;n--;)C(e,t[n].animatable.target)&&t.splice(n,1)}function Ue(e){for(var t=ge(e),n=Oe.length;n--;){var r=Oe[n],i=r.animations,o=r.children;Ne(t,i);for(var a=o.length;a--;){var s=o[a],l=s.animations;Ne(t,l),l.length||s.children.length||o.splice(a,1)}i.length||o.length||r.pause()}}function He(e,t){void 0===t&&(t={});var n=t.direction||"normal",r=t.easing?x(t.easing):null,i=t.grid,o=t.axis,a=t.from||0,s="first"===a,l="center"===a,c="last"===a,u=f.arr(e),h=u?parseFloat(e[0]):parseFloat(e),d=u?parseFloat(e[1]):0,p=z(u?e[1]:e)||0,m=t.start||0+(u?h:0),v=[],g=0;return function(e,t,f){if(s&&(a=0),l&&(a=(f-1)/2),c&&(a=f-1),!v.length){for(var y=0;y<f;y++){if(i){var b=l?(i[0]-1)/2:a%i[0],A=l?(i[1]-1)/2:Math.floor(a/i[0]),w=b-y%i[0],x=A-Math.floor(y/i[0]),E=Math.sqrt(w*w+x*x);"x"===o&&(E=-w),"y"===o&&(E=-x),v.push(E)}else v.push(Math.abs(a-y));g=Math.max.apply(Math,v)}r&&(v=v.map((function(e){return r(e/g)*g}))),"reverse"===n&&(v=v.map((function(e){return o?e<0?-1*e:-e:Math.abs(g-e)})))}return m+(u?(d-h)/g:h)*(Math.round(100*v[t])/100)+p}}function Ge(e){void 0===e&&(e={});var t=ke(e);return t.duration=0,t.add=function(n,r){var i=Oe.indexOf(t),a=t.children;function s(e){e.passThrough=!0}i>-1&&Oe.splice(i,1);for(var l=0;l<a.length;l++)s(a[l]);var c=P(n,R(o,e));c.targets=c.targets||e.targets;var u=t.duration;c.autoplay=!1,c.direction=t.direction,c.timelineOffset=f.und(r)?u:ee(r,u),s(t),t.seek(c.timelineOffset);var h=ke(c);s(h),a.push(h);var d=Le(a,e);return t.delay=d.delay,t.endDelay=d.endDelay,t.duration=d.duration,t.seek(0),t.reset(),t.autoplay&&t.play(),t},t}document.addEventListener("visibilitychange",Fe),ke.version="3.0.0",ke.speed=1,ke.running=Oe,ke.remove=Ue,ke.get=J,ke.set=Te,ke.convertPx=q,ke.path=pe,ke.setDashoffset=ue,ke.stagger=He,ke.timeline=Ge,ke.easing=x,ke.penner=w,ke.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},n.exports=ke},{}],57:[function(n,r,i){var o,a;o=this,a=function(t){"use strict";void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e}),void 0===Math.sign&&(Math.sign=function(e){return e<0?-1:e>0?1:+e}),"name"in Function.prototype===!1&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(void 0!==r&&null!==r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t});var n=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(D){l=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var i=t&&t.prototype instanceof v?t:v,o=Object.create(i.prototype),a=new L(r||[]);return o._invoke=_(e,n,a),o}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(D){return{type:"throw",arg:D}}}e.wrap=c;var h="suspendedStart",d="suspendedYield",p="executing",f="completed",m={};function v(){}function g(){}function y(){}var b={};b[o]=function(){return this};var A=Object.getPrototypeOf,w=A&&A(A(R([])));w&&w!==n&&r.call(w,o)&&(b=w);var x=y.prototype=v.prototype=Object.create(b);function E(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function M(e,t){function n(i,o,a,s){var l=u(e[i],e,o);if("throw"!==l.type){var c=l.arg,h=c.value;return h&&"object"===typeof h&&r.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(h).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var i;function o(e,r){function o(){return new t((function(t,i){n(e,r,t,i)}))}return i=i?i.then(o,o):o()}this._invoke=o}function _(e,t,n){var r=h;return function(i,o){if(r===p)throw new Error("Generator is already running");if(r===f){if("throw"===i)throw o;return P()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=T(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var l=u(e,t,n);if("normal"===l.type){if(r=n.done?f:d,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=f,n.method="throw",n.arg=l.arg)}}}function T(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=u(r,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,m;var o=i.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function R(e){if(e){var n=e[o];if(n)return n.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function n(){for(;++i<e.length;)if(r.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:P}}function P(){return{value:t,done:!0}}return g.prototype=x.constructor=y,y.constructor=g,g.displayName=l(y,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,l(e,s,"GeneratorFunction")),e.prototype=Object.create(x),e},e.awrap=function(e){return{__await:e}},E(M.prototype),M.prototype[a]=function(){return this},e.AsyncIterator=M,e.async=function(t,n,r,i,o){void 0===o&&(o=Promise);var a=new M(c(t,n,r,i),o);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},E(x),l(x,s,"Generator"),x[o]=function(){return this},x.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=R,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(C),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function i(r,i){return s.type="throw",s.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:R(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}("object"===typeof r?r.exports:{});try{regeneratorRuntime=n}catch(ym){Function("r","regeneratorRuntime = r")(n)}var i="125",o={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},a={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=0,l=1,c=2,u=3,h=0,d=1,p=2,f=3,m=0,v=1,g=2,y=1,b=2,A=0,w=1,x=2,E=3,M=4,_=5,T=100,S=101,C=102,L=103,R=104,P=200,D=201,O=202,I=203,B=204,F=205,k=206,N=207,U=208,H=209,G=210,z=0,j=1,V=2,W=3,q=4,X=5,Y=6,Q=7,Z=0,K=1,J=2,$=0,ee=1,te=2,ne=3,re=4,ie=5,oe=300,ae=301,se=302,le=303,ce=304,ue=306,he=307,de=1e3,pe=1001,fe=1002,me=1003,ve=1004,ge=1004,ye=1005,be=1005,Ae=1006,we=1007,xe=1007,Ee=1008,Me=1008,_e=1009,Te=1010,Se=1011,Ce=1012,Le=1013,Re=1014,Pe=1015,De=1016,Oe=1017,Ie=1018,Be=1019,Fe=1020,ke=1021,Ne=1022,Ue=1023,He=1024,Ge=1025,ze=Ue,je=1026,Ve=1027,We=1028,qe=1029,Xe=1030,Ye=1031,Qe=1032,Ze=1033,Ke=33776,Je=33777,$e=33778,et=33779,tt=35840,nt=35841,rt=35842,it=35843,ot=36196,at=37492,st=37496,lt=37808,ct=37809,ut=37810,ht=37811,dt=37812,pt=37813,ft=37814,mt=37815,vt=37816,gt=37817,yt=37818,bt=37819,At=37820,wt=37821,xt=36492,Et=37840,Mt=37841,_t=37842,Tt=37843,St=37844,Ct=37845,Lt=37846,Rt=37847,Pt=37848,Dt=37849,Ot=37850,It=37851,Bt=37852,Ft=37853,kt=2200,Nt=2201,Ut=2202,Ht=2300,Gt=2301,zt=2302,jt=2400,Vt=2401,Wt=2402,qt=2500,Xt=2501,Yt=0,Qt=1,Zt=2,Kt=3e3,Jt=3001,$t=3007,en=3002,tn=3003,nn=3004,rn=3005,on=3006,an=3200,sn=3201,ln=0,cn=1,un=0,hn=7680,dn=7681,pn=7682,fn=7683,mn=34055,vn=34056,gn=5386,yn=512,bn=513,An=514,wn=515,xn=516,En=517,Mn=518,_n=519,Tn=35044,Sn=35048,Cn=35040,Ln=35045,Rn=35049,Pn=35041,Dn=35046,On=35050,In=35042,Bn="100",Fn="300 es";function kn(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(c){return void n(c)}s.done?t(l):Promise.resolve(l).then(r,i)}function Nn(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){kn(o,r,i,a,s,"next",e)}function s(e){kn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Un(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hn(e,t,n){return t&&Un(e.prototype,t),n&&Un(e,n),e}function Gn(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function zn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jn(e,t){if(e){if("string"===typeof e)return Vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vn(e,t):void 0}}function Vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wn(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=jn(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function qn(){}Object.assign(qn.prototype,{addEventListener:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)},hasEventListener:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)},removeEventListener:function(e,t){if(void 0!==this._listeners){var n=this._listeners[e];if(void 0!==n){var r=n.indexOf(t);-1!==r&&n.splice(r,1)}}},dispatchEvent:function(e){if(void 0!==this._listeners){var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=t.slice(0),r=0,i=n.length;r<i;r++)n[r].call(this,e)}}}});for(var Xn=[],Yn=0;Yn<256;Yn++)Xn[Yn]=(Yn<16?"0":"")+Yn.toString(16);var Qn,Zn=1234567,Kn={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(Xn[255&e]+Xn[e>>8&255]+Xn[e>>16&255]+Xn[e>>24&255]+"-"+Xn[255&t]+Xn[t>>8&255]+"-"+Xn[t>>16&15|64]+Xn[t>>24&255]+"-"+Xn[63&n|128]+Xn[n>>8&255]+"-"+Xn[n>>16&255]+Xn[n>>24&255]+Xn[255&r]+Xn[r>>8&255]+Xn[r>>16&255]+Xn[r>>24&255]).toUpperCase()},clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},lerp:function(e,t,n){return(1-n)*e+n*t},damp:function(e,t,n,r){return Kn.lerp(e,t,1-Math.exp(-n*r))},pingpong:function(e,t){return void 0===t&&(t=1),t-Math.abs(Kn.euclideanModulo(e,2*t)-t)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){return void 0!==e&&(Zn=e%2147483647),((Zn=16807*Zn%2147483647)-1)/2147483646},degToRad:function(e){return e*Kn.DEG2RAD},radToDeg:function(e){return e*Kn.RAD2DEG},isPowerOfTwo:function(e){return 0===(e&e-1)&&0!==e},ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:function(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))},setQuaternionFromProperEuler:function(e,t,n,r,i){var o=Math.cos,a=Math.sin,s=o(n/2),l=a(n/2),c=o((t+r)/2),u=a((t+r)/2),h=o((t-r)/2),d=a((t-r)/2),p=o((r-t)/2),f=a((r-t)/2);switch(i){case"XYX":e.set(s*u,l*h,l*d,s*c);break;case"YZY":e.set(l*d,s*u,l*h,s*c);break;case"ZXZ":e.set(l*h,l*d,s*u,s*c);break;case"XZX":e.set(s*u,l*f,l*p,s*c);break;case"YXY":e.set(l*p,s*u,l*f,s*c);break;case"ZYZ":e.set(l*f,l*p,s*u,s*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}},Jn=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=0),Object.defineProperty(this,"isVector2",{value:!0}),this.x=e,this.y=t}var t=e.prototype;return t.set=function(e,t){return this.x=e,this.y=t,this},t.setScalar=function(e){return this.x=e,this.y=e,this},t.setX=function(e){return this.x=e,this},t.setY=function(e){return this.y=e,this},t.setComponent=function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this},t.getComponent=function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}},t.clone=function(){return new this.constructor(this.x,this.y)},t.copy=function(e){return this.x=e.x,this.y=e.y,this},t.add=function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},t.addScalar=function(e){return this.x+=e,this.y+=e,this},t.addVectors=function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},t.addScaledVector=function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},t.sub=function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},t.subScalar=function(e){return this.x-=e,this.y-=e,this},t.subVectors=function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},t.multiply=function(e){return this.x*=e.x,this.y*=e.y,this},t.multiplyScalar=function(e){return this.x*=e,this.y*=e,this},t.divide=function(e){return this.x/=e.x,this.y/=e.y,this},t.divideScalar=function(e){return this.multiplyScalar(1/e)},t.applyMatrix3=function(e){var t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this},t.min=function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},t.max=function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},t.clamp=function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},t.clampScalar=function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this},t.clampLength=function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},t.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},t.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},t.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},t.roundToZero=function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},t.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.dot=function(e){return this.x*e.x+this.y*e.y},t.cross=function(e){return this.x*e.y-this.y*e.x},t.lengthSq=function(){return this.x*this.x+this.y*this.y},t.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.manhattanLength=function(){return Math.abs(this.x)+Math.abs(this.y)},t.normalize=function(){return this.divideScalar(this.length()||1)},t.angle=function(){var e=Math.atan2(-this.y,-this.x)+Math.PI;return e},t.distanceTo=function(e){return Math.sqrt(this.distanceToSquared(e))},t.distanceToSquared=function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},t.manhattanDistanceTo=function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},t.setLength=function(e){return this.normalize().multiplyScalar(e)},t.lerp=function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},t.lerpVectors=function(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this},t.equals=function(e){return e.x===this.x&&e.y===this.y},t.fromArray=function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},t.fromBufferAttribute=function(e,t,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this},t.rotateAround=function(e,t){var n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,o=this.y-e.y;return this.x=i*n-o*r+e.x,this.y=i*r+o*n+e.y,this},t.random=function(){return this.x=Math.random(),this.y=Math.random(),this},Hn(e,[{key:"width",get:function(){return this.x},set:function(e){this.x=e}},{key:"height",get:function(){return this.y},set:function(e){this.y=e}}]),e}(),$n=function(){function e(){Object.defineProperty(this,"isMatrix3",{value:!0}),this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}var t=e.prototype;return t.set=function(e,t,n,r,i,o,a,s,l){var c=this.elements;return c[0]=e,c[1]=r,c[2]=a,c[3]=t,c[4]=i,c[5]=s,c[6]=n,c[7]=o,c[8]=l,this},t.identity=function(){return this.set(1,0,0,0,1,0,0,0,1),this},t.clone=function(){return(new this.constructor).fromArray(this.elements)},t.copy=function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this},t.extractBasis=function(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this},t.setFromMatrix4=function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},t.multiply=function(e){return this.multiplyMatrices(this,e)},t.premultiply=function(e){return this.multiplyMatrices(e,this)},t.multiplyMatrices=function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[3],s=n[6],l=n[1],c=n[4],u=n[7],h=n[2],d=n[5],p=n[8],f=r[0],m=r[3],v=r[6],g=r[1],y=r[4],b=r[7],A=r[2],w=r[5],x=r[8];return i[0]=o*f+a*g+s*A,i[3]=o*m+a*y+s*w,i[6]=o*v+a*b+s*x,i[1]=l*f+c*g+u*A,i[4]=l*m+c*y+u*w,i[7]=l*v+c*b+u*x,i[2]=h*f+d*g+p*A,i[5]=h*m+d*y+p*w,i[8]=h*v+d*b+p*x,this},t.multiplyScalar=function(e){var t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this},t.determinant=function(){var e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8];return t*o*c-t*a*l-n*i*c+n*a*s+r*i*l-r*o*s},t.invert=function(){var e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8],u=c*o-a*l,h=a*s-c*i,d=l*i-o*s,p=t*u+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);var f=1/p;return e[0]=u*f,e[1]=(r*l-c*n)*f,e[2]=(a*n-r*o)*f,e[3]=h*f,e[4]=(c*t-r*s)*f,e[5]=(r*i-a*t)*f,e[6]=d*f,e[7]=(n*s-l*t)*f,e[8]=(o*t-n*i)*f,this},t.transpose=function(){var e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this},t.getNormalMatrix=function(e){return this.setFromMatrix4(e).copy(this).invert().transpose()},t.transposeIntoArray=function(e){var t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this},t.setUvTransform=function(e,t,n,r,i,o,a){var s=Math.cos(i),l=Math.sin(i);return this.set(n*s,n*l,-n*(s*o+l*a)+o+e,-r*l,r*s,-r*(-l*o+s*a)+a+t,0,0,1),this},t.scale=function(e,t){var n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this},t.rotate=function(e){var t=Math.cos(e),n=Math.sin(e),r=this.elements,i=r[0],o=r[3],a=r[6],s=r[1],l=r[4],c=r[7];return r[0]=t*i+n*s,r[3]=t*o+n*l,r[6]=t*a+n*c,r[1]=-n*i+t*s,r[4]=-n*o+t*l,r[7]=-n*a+t*c,this},t.translate=function(e,t){var n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this},t.equals=function(e){for(var t=this.elements,n=e.elements,r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0},t.fromArray=function(e,t){void 0===t&&(t=0);for(var n=0;n<9;n++)this.elements[n]=e[n+t];return this},t.toArray=function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e},e}(),er={getDataURL:function(e){if(/^data:/i.test(e.src))return e.src;if("undefined"==typeof HTMLCanvasElement)return e.src;var t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Qn&&(Qn=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),Qn.width=e.width,Qn.height=e.height;var n=Qn.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Qn}return t.width>2048||t.height>2048?t.toDataURL("image/jpeg",.6):t.toDataURL("image/png")}},tr=0;function nr(e,t,n,r,i,o,a,s,l,c){void 0===e&&(e=nr.DEFAULT_IMAGE),void 0===t&&(t=nr.DEFAULT_MAPPING),void 0===n&&(n=pe),void 0===r&&(r=pe),void 0===i&&(i=Ae),void 0===o&&(o=Ee),void 0===a&&(a=Ue),void 0===s&&(s=_e),void 0===l&&(l=1),void 0===c&&(c=Kt),Object.defineProperty(this,"id",{value:tr++}),this.uuid=Kn.generateUUID(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=r,this.magFilter=i,this.minFilter=o,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=s,this.offset=new Jn(0,0),this.repeat=new Jn(1,1),this.center=new Jn(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new $n,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.version=0,this.onUpdate=null}function rr(e){return"undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap?er.getDataURL(e):e.data?{data:Array.prototype.slice.call(e.data),width:e.width,height:e.height,type:e.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}nr.DEFAULT_IMAGE=void 0,nr.DEFAULT_MAPPING=oe,nr.prototype=Object.assign(Object.create(qn.prototype),{constructor:nr,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){var t=void 0===e||"string"===typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];var n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){var r=this.image;if(void 0===r.uuid&&(r.uuid=Kn.generateUUID()),!t&&void 0===e.images[r.uuid]){var i;if(Array.isArray(r)){i=[];for(var o=0,a=r.length;o<a;o++)r[o].isDataTexture?i.push(rr(r[o].image)):i.push(rr(r[o]))}else i=rr(r);e.images[r.uuid]={uuid:r.uuid,url:i}}n.image=r.uuid}return t||(e.textures[this.uuid]=n),n},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(e){if(this.mapping!==oe)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case de:e.x=e.x-Math.floor(e.x);break;case pe:e.x=e.x<0?0:1;break;case fe:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case de:e.y=e.y-Math.floor(e.y);break;case pe:e.y=e.y<0?0:1;break;case fe:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}}),Object.defineProperty(nr.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}});var ir=function(){function e(e,t,n,r){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=1),Object.defineProperty(this,"isVector4",{value:!0}),this.x=e,this.y=t,this.z=n,this.w=r}var t=e.prototype;return t.set=function(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this},t.setScalar=function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},t.setX=function(e){return this.x=e,this},t.setY=function(e){return this.y=e,this},t.setZ=function(e){return this.z=e,this},t.setW=function(e){return this.w=e,this},t.setComponent=function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this},t.getComponent=function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}},t.clone=function(){return new this.constructor(this.x,this.y,this.z,this.w)},t.copy=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this},t.add=function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},t.addScalar=function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},t.addVectors=function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},t.addScaledVector=function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},t.sub=function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},t.subScalar=function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},t.subVectors=function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},t.multiply=function(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this},t.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this},t.applyMatrix4=function(e){var t=this.x,n=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r+o[12]*i,this.y=o[1]*t+o[5]*n+o[9]*r+o[13]*i,this.z=o[2]*t+o[6]*n+o[10]*r+o[14]*i,this.w=o[3]*t+o[7]*n+o[11]*r+o[15]*i,this},t.divideScalar=function(e){return this.multiplyScalar(1/e)},t.setAxisAngleFromQuaternion=function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},t.setAxisAngleFromRotationMatrix=function(e){var t,n,r,i,o=.01,a=.1,s=e.elements,l=s[0],c=s[4],u=s[8],h=s[1],d=s[5],p=s[9],f=s[2],m=s[6],v=s[10];if(Math.abs(c-h)<o&&Math.abs(u-f)<o&&Math.abs(p-m)<o){if(Math.abs(c+h)<a&&Math.abs(u+f)<a&&Math.abs(p+m)<a&&Math.abs(l+d+v-3)<a)return this.set(1,0,0,0),this;t=Math.PI;var g=(l+1)/2,y=(d+1)/2,b=(v+1)/2,A=(c+h)/4,w=(u+f)/4,x=(p+m)/4;return g>y&&g>b?g<o?(n=0,r=.707106781,i=.707106781):(r=A/(n=Math.sqrt(g)),i=w/n):y>b?y<o?(n=.707106781,r=0,i=.707106781):(n=A/(r=Math.sqrt(y)),i=x/r):b<o?(n=.707106781,r=.707106781,i=0):(n=w/(i=Math.sqrt(b)),r=x/i),this.set(n,r,i,t),this}var E=Math.sqrt((m-p)*(m-p)+(u-f)*(u-f)+(h-c)*(h-c));return Math.abs(E)<.001&&(E=1),this.x=(m-p)/E,this.y=(u-f)/E,this.z=(h-c)/E,this.w=Math.acos((l+d+v-1)/2),this},t.min=function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this},t.max=function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this},t.clamp=function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this},t.clampScalar=function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this},t.clampLength=function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},t.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},t.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},t.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},t.roundToZero=function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},t.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},t.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},t.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},t.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},t.manhattanLength=function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},t.normalize=function(){return this.divideScalar(this.length()||1)},t.setLength=function(e){return this.normalize().multiplyScalar(e)},t.lerp=function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this},t.lerpVectors=function(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this},t.equals=function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w},t.fromArray=function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e},t.fromBufferAttribute=function(e,t,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this},t.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this},Hn(e,[{key:"width",get:function(){return this.z},set:function(e){this.z=e}},{key:"height",get:function(){return this.w},set:function(e){this.w=e}}]),e}(),or=function(e){function t(t,n,r){var i;return i=e.call(this)||this,Object.defineProperty(zn(i),"isWebGLRenderTarget",{value:!0}),i.width=t,i.height=n,i.scissor=new ir(0,0,t,n),i.scissorTest=!1,i.viewport=new ir(0,0,t,n),r=r||{},i.texture=new nr(void 0,r.mapping,r.wrapS,r.wrapT,r.magFilter,r.minFilter,r.format,r.type,r.anisotropy,r.encoding),i.texture.image={},i.texture.image.width=t,i.texture.image.height=n,i.texture.generateMipmaps=void 0!==r.generateMipmaps&&r.generateMipmaps,i.texture.minFilter=void 0!==r.minFilter?r.minFilter:Ae,i.depthBuffer=void 0===r.depthBuffer||r.depthBuffer,i.stencilBuffer=void 0!==r.stencilBuffer&&r.stencilBuffer,i.depthTexture=void 0!==r.depthTexture?r.depthTexture:null,i}Gn(t,e);var n=t.prototype;return n.setSize=function(e,t){this.width===e&&this.height===t||(this.width=e,this.height=t,this.texture.image.width=e,this.texture.image.height=t,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)},n.clone=function(){return(new this.constructor).copy(this)},n.copy=function(e){return this.width=e.width,this.height=e.height,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this},n.dispose=function(){this.dispatchEvent({type:"dispose"})},t}(qn),ar=function(e){function t(t,n,r){var i;return i=e.call(this,t,n,r)||this,Object.defineProperty(zn(i),"isWebGLMultisampleRenderTarget",{value:!0}),i.samples=4,i}return Gn(t,e),t.prototype.copy=function(t){return e.prototype.copy.call(this,t),this.samples=t.samples,this},t}(or),sr=function(){function e(e,t,n,r){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=1),Object.defineProperty(this,"isQuaternion",{value:!0}),this._x=e,this._y=t,this._z=n,this._w=r}e.slerp=function(e,t,n,r){return n.copy(e).slerp(t,r)},e.slerpFlat=function(e,t,n,r,i,o,a){var s=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3],h=i[o+0],d=i[o+1],p=i[o+2],f=i[o+3];if(u!==f||s!==h||l!==d||c!==p){var m=1-a,v=s*h+l*d+c*p+u*f,g=v>=0?1:-1,y=1-v*v;if(y>Number.EPSILON){var b=Math.sqrt(y),A=Math.atan2(b,v*g);m=Math.sin(m*A)/b,a=Math.sin(a*A)/b}var w=a*g;if(s=s*m+h*w,l=l*m+d*w,c=c*m+p*w,u=u*m+f*w,m===1-a){var x=1/Math.sqrt(s*s+l*l+c*c+u*u);s*=x,l*=x,c*=x,u*=x}}e[t]=s,e[t+1]=l,e[t+2]=c,e[t+3]=u},e.multiplyQuaternionsFlat=function(e,t,n,r,i,o){var a=n[r],s=n[r+1],l=n[r+2],c=n[r+3],u=i[o],h=i[o+1],d=i[o+2],p=i[o+3];return e[t]=a*p+c*u+s*d-l*h,e[t+1]=s*p+c*h+l*u-a*d,e[t+2]=l*p+c*d+a*h-s*u,e[t+3]=c*p-a*u-s*h-l*d,e};var t=e.prototype;return t.set=function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this},t.clone=function(){return new this.constructor(this._x,this._y,this._z,this._w)},t.copy=function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this},t.setFromEuler=function(e,t){if(!e||!e.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=e._x,r=e._y,i=e._z,o=e._order,a=Math.cos,s=Math.sin,l=a(n/2),c=a(r/2),u=a(i/2),h=s(n/2),d=s(r/2),p=s(i/2);switch(o){case"XYZ":this._x=h*c*u+l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u-h*d*p;break;case"YXZ":this._x=h*c*u+l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u+h*d*p;break;case"ZXY":this._x=h*c*u-l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u-h*d*p;break;case"ZYX":this._x=h*c*u-l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u+h*d*p;break;case"YZX":this._x=h*c*u+l*d*p,this._y=l*d*u+h*c*p,this._z=l*c*p-h*d*u,this._w=l*c*u-h*d*p;break;case"XZY":this._x=h*c*u-l*d*p,this._y=l*d*u-h*c*p,this._z=l*c*p+h*d*u,this._w=l*c*u+h*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return!1!==t&&this._onChangeCallback(),this},t.setFromAxisAngle=function(e,t){var n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this},t.setFromRotationMatrix=function(e){var t=e.elements,n=t[0],r=t[4],i=t[8],o=t[1],a=t[5],s=t[9],l=t[2],c=t[6],u=t[10],h=n+a+u;if(h>0){var d=.5/Math.sqrt(h+1);this._w=.25/d,this._x=(c-s)*d,this._y=(i-l)*d,this._z=(o-r)*d}else if(n>a&&n>u){var p=2*Math.sqrt(1+n-a-u);this._w=(c-s)/p,this._x=.25*p,this._y=(r+o)/p,this._z=(i+l)/p}else if(a>u){var f=2*Math.sqrt(1+a-n-u);this._w=(i-l)/f,this._x=(r+o)/f,this._y=.25*f,this._z=(s+c)/f}else{var m=2*Math.sqrt(1+u-n-a);this._w=(o-r)/m,this._x=(i+l)/m,this._y=(s+c)/m,this._z=.25*m}return this._onChangeCallback(),this},t.setFromUnitVectors=function(e,t){var n=1e-6,r=e.dot(t)+1;return r<n?(r=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=r):(this._x=0,this._y=-e.z,this._z=e.y,this._w=r)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=r),this.normalize()},t.angleTo=function(e){return 2*Math.acos(Math.abs(Kn.clamp(this.dot(e),-1,1)))},t.rotateTowards=function(e,t){var n=this.angleTo(e);if(0===n)return this;var r=Math.min(1,t/n);return this.slerp(e,r),this},t.identity=function(){return this.set(0,0,0,1)},t.invert=function(){return this.conjugate()},t.conjugate=function(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this},t.dot=function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},t.lengthSq=function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},t.length=function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},t.normalize=function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this},t.multiply=function(e,t){return void 0!==t?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},t.premultiply=function(e){return this.multiplyQuaternions(e,this)},t.multiplyQuaternions=function(e,t){var n=e._x,r=e._y,i=e._z,o=e._w,a=t._x,s=t._y,l=t._z,c=t._w;return this._x=n*c+o*a+r*l-i*s,this._y=r*c+o*s+i*a-n*l,this._z=i*c+o*l+n*s-r*a,this._w=o*c-n*a-r*s-i*l,this._onChangeCallback(),this},t.slerp=function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this._x,r=this._y,i=this._z,o=this._w,a=o*e._w+n*e._x+r*e._y+i*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=r,this._z=i,this;var s=1-a*a;if(s<=Number.EPSILON){var l=1-t;return this._w=l*o+t*this._w,this._x=l*n+t*this._x,this._y=l*r+t*this._y,this._z=l*i+t*this._z,this.normalize(),this._onChangeCallback(),this}var c=Math.sqrt(s),u=Math.atan2(c,a),h=Math.sin((1-t)*u)/c,d=Math.sin(t*u)/c;return this._w=o*h+this._w*d,this._x=n*h+this._x*d,this._y=r*h+this._y*d,this._z=i*h+this._z*d,this._onChangeCallback(),this},t.equals=function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},t.fromArray=function(e,t){return void 0===t&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},t.fromBufferAttribute=function(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this},t._onChange=function(e){return this._onChangeCallback=e,this},t._onChangeCallback=function(){},Hn(e,[{key:"x",get:function(){return this._x},set:function(e){this._x=e,this._onChangeCallback()}},{key:"y",get:function(){return this._y},set:function(e){this._y=e,this._onChangeCallback()}},{key:"z",get:function(){return this._z},set:function(e){this._z=e,this._onChangeCallback()}},{key:"w",get:function(){return this._w},set:function(e){this._w=e,this._onChangeCallback()}}]),e}(),lr=function(){function e(e,t,n){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),Object.defineProperty(this,"isVector3",{value:!0}),this.x=e,this.y=t,this.z=n}var t=e.prototype;return t.set=function(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,this},t.setScalar=function(e){return this.x=e,this.y=e,this.z=e,this},t.setX=function(e){return this.x=e,this},t.setY=function(e){return this.y=e,this},t.setZ=function(e){return this.z=e,this},t.setComponent=function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this},t.getComponent=function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}},t.clone=function(){return new this.constructor(this.x,this.y,this.z)},t.copy=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},t.add=function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},t.addScalar=function(e){return this.x+=e,this.y+=e,this.z+=e,this},t.addVectors=function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},t.addScaledVector=function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},t.sub=function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},t.subScalar=function(e){return this.x-=e,this.y-=e,this.z-=e,this},t.subVectors=function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},t.multiply=function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},t.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this},t.multiplyVectors=function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},t.applyEuler=function(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ur.setFromEuler(e))},t.applyAxisAngle=function(e,t){return this.applyQuaternion(ur.setFromAxisAngle(e,t))},t.applyMatrix3=function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this},t.applyNormalMatrix=function(e){return this.applyMatrix3(e).normalize()},t.applyMatrix4=function(e){var t=this.x,n=this.y,r=this.z,i=e.elements,o=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*o,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*o,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*o,this},t.applyQuaternion=function(e){var t=this.x,n=this.y,r=this.z,i=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*r-a*n,c=s*n+a*t-i*r,u=s*r+i*n-o*t,h=-i*t-o*n-a*r;return this.x=l*s+h*-i+c*-a-u*-o,this.y=c*s+h*-o+u*-i-l*-a,this.z=u*s+h*-a+l*-o-c*-i,this},t.project=function(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)},t.unproject=function(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)},t.transformDirection=function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()},t.divide=function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},t.divideScalar=function(e){return this.multiplyScalar(1/e)},t.min=function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},t.max=function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},t.clamp=function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},t.clampScalar=function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this},t.clampLength=function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},t.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},t.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},t.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},t.roundToZero=function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},t.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},t.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z},t.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.manhattanLength=function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},t.normalize=function(){return this.divideScalar(this.length()||1)},t.setLength=function(e){return this.normalize().multiplyScalar(e)},t.lerp=function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},t.lerpVectors=function(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this},t.cross=function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)},t.crossVectors=function(e,t){var n=e.x,r=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=r*s-i*a,this.y=i*o-n*s,this.z=n*a-r*o,this},t.projectOnVector=function(e){var t=e.lengthSq();if(0===t)return this.set(0,0,0);var n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)},t.projectOnPlane=function(e){return cr.copy(this).projectOnVector(e),this.sub(cr)},t.reflect=function(e){return this.sub(cr.copy(e).multiplyScalar(2*this.dot(e)))},t.angleTo=function(e){var t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;var n=this.dot(e)/t;return Math.acos(Kn.clamp(n,-1,1))},t.distanceTo=function(e){return Math.sqrt(this.distanceToSquared(e))},t.distanceToSquared=function(e){var t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r},t.manhattanDistanceTo=function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},t.setFromSpherical=function(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)},t.setFromSphericalCoords=function(e,t,n){var r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this},t.setFromCylindrical=function(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)},t.setFromCylindricalCoords=function(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this},t.setFromMatrixPosition=function(e){var t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},t.setFromMatrixScale=function(e){var t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this},t.setFromMatrixColumn=function(e,t){return this.fromArray(e.elements,4*t)},t.setFromMatrix3Column=function(e,t){return this.fromArray(e.elements,3*t)},t.equals=function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},t.fromArray=function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},t.fromBufferAttribute=function(e,t,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this},t.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this},e}(),cr=new lr,ur=new sr,hr=function(){function e(e,t){Object.defineProperty(this,"isBox3",{value:!0}),this.min=void 0!==e?e:new lr(1/0,1/0,1/0),this.max=void 0!==t?t:new lr(-1/0,-1/0,-1/0)}var t=e.prototype;return t.set=function(e,t){return this.min.copy(e),this.max.copy(t),this},t.setFromArray=function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.length;s<l;s+=3){var c=e[s],u=e[s+1],h=e[s+2];c<t&&(t=c),u<n&&(n=u),h<r&&(r=h),c>i&&(i=c),u>o&&(o=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(i,o,a),this},t.setFromBufferAttribute=function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.count;s<l;s++){var c=e.getX(s),u=e.getY(s),h=e.getZ(s);c<t&&(t=c),u<n&&(n=u),h<r&&(r=h),c>i&&(i=c),u>o&&(o=u),h>a&&(a=h)}return this.min.set(t,n,r),this.max.set(i,o,a),this},t.setFromPoints=function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},t.setFromCenterAndSize=function(e,t){var n=fr.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this},t.setFromObject=function(e){return this.makeEmpty(),this.expandByObject(e)},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.min.copy(e.min),this.max.copy(e.max),this},t.makeEmpty=function(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this},t.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},t.getCenter=function(e){return void 0===e&&(console.warn("THREE.Box3: .getCenter() target is now required"),e=new lr),this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},t.getSize=function(e){return void 0===e&&(console.warn("THREE.Box3: .getSize() target is now required"),e=new lr),this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)},t.expandByPoint=function(e){return this.min.min(e),this.max.max(e),this},t.expandByVector=function(e){return this.min.sub(e),this.max.add(e),this},t.expandByScalar=function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},t.expandByObject=function(e){e.updateWorldMatrix(!1,!1);var t=e.geometry;void 0!==t&&(null===t.boundingBox&&t.computeBoundingBox(),mr.copy(t.boundingBox),mr.applyMatrix4(e.matrixWorld),this.union(mr));for(var n=e.children,r=0,i=n.length;r<i;r++)this.expandByObject(n[r]);return this},t.containsPoint=function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)},t.containsBox=function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},t.getParameter=function(e,t){return void 0===t&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new lr),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},t.intersectsBox=function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)},t.intersectsSphere=function(e){return this.clampPoint(e.center,fr),fr.distanceToSquared(e.center)<=e.radius*e.radius},t.intersectsPlane=function(e){var t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant},t.intersectsTriangle=function(e){if(this.isEmpty())return!1;this.getCenter(xr),Er.subVectors(this.max,xr),vr.subVectors(e.a,xr),gr.subVectors(e.b,xr),yr.subVectors(e.c,xr),br.subVectors(gr,vr),Ar.subVectors(yr,gr),wr.subVectors(vr,yr);var t=[0,-br.z,br.y,0,-Ar.z,Ar.y,0,-wr.z,wr.y,br.z,0,-br.x,Ar.z,0,-Ar.x,wr.z,0,-wr.x,-br.y,br.x,0,-Ar.y,Ar.x,0,-wr.y,wr.x,0];return!!dr(t,vr,gr,yr,Er)&&!!dr(t=[1,0,0,0,1,0,0,0,1],vr,gr,yr,Er)&&(Mr.crossVectors(br,Ar),dr(t=[Mr.x,Mr.y,Mr.z],vr,gr,yr,Er))},t.clampPoint=function(e,t){return void 0===t&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new lr),t.copy(e).clamp(this.min,this.max)},t.distanceToPoint=function(e){return fr.copy(e).clamp(this.min,this.max).sub(e).length()},t.getBoundingSphere=function(e){return void 0===e&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(e.center),e.radius=.5*this.getSize(fr).length(),e},t.intersect=function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},t.union=function(e){return this.min.min(e.min),this.max.max(e.max),this},t.applyMatrix4=function(e){return this.isEmpty()||(pr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),pr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),pr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),pr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),pr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),pr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),pr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),pr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(pr)),this},t.translate=function(e){return this.min.add(e),this.max.add(e),this},t.equals=function(e){return e.min.equals(this.min)&&e.max.equals(this.max)},e}();function dr(e,t,n,r,i){for(var o=0,a=e.length-3;o<=a;o+=3){_r.fromArray(e,o);var s=i.x*Math.abs(_r.x)+i.y*Math.abs(_r.y)+i.z*Math.abs(_r.z),l=t.dot(_r),c=n.dot(_r),u=r.dot(_r);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>s)return!1}return!0}var pr=[new lr,new lr,new lr,new lr,new lr,new lr,new lr,new lr],fr=new lr,mr=new hr,vr=new lr,gr=new lr,yr=new lr,br=new lr,Ar=new lr,wr=new lr,xr=new lr,Er=new lr,Mr=new lr,_r=new lr,Tr=new hr,Sr=function(){function e(e,t){this.center=void 0!==e?e:new lr,this.radius=void 0!==t?t:-1}var t=e.prototype;return t.set=function(e,t){return this.center.copy(e),this.radius=t,this},t.setFromPoints=function(e,t){var n=this.center;void 0!==t?n.copy(t):Tr.setFromPoints(e).getCenter(n);for(var r=0,i=0,o=e.length;i<o;i++)r=Math.max(r,n.distanceToSquared(e[i]));return this.radius=Math.sqrt(r),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.center.copy(e.center),this.radius=e.radius,this},t.isEmpty=function(){return this.radius<0},t.makeEmpty=function(){return this.center.set(0,0,0),this.radius=-1,this},t.containsPoint=function(e){return e.distanceToSquared(this.center)<=this.radius*this.radius},t.distanceToPoint=function(e){return e.distanceTo(this.center)-this.radius},t.intersectsSphere=function(e){var t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t},t.intersectsBox=function(e){return e.intersectsSphere(this)},t.intersectsPlane=function(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius},t.clampPoint=function(e,t){var n=this.center.distanceToSquared(e);return void 0===t&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),t=new lr),t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t},t.getBoundingBox=function(e){return void 0===e&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),e=new hr),this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)},t.applyMatrix4=function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},t.translate=function(e){return this.center.add(e),this},t.equals=function(e){return e.center.equals(this.center)&&e.radius===this.radius},e}(),Cr=new lr,Lr=new lr,Rr=new lr,Pr=new lr,Dr=new lr,Or=new lr,Ir=new lr,Br=function(){function e(e,t){this.origin=void 0!==e?e:new lr,this.direction=void 0!==t?t:new lr(0,0,-1)}var t=e.prototype;return t.set=function(e,t){return this.origin.copy(e),this.direction.copy(t),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this},t.at=function(e,t){return void 0===t&&(console.warn("THREE.Ray: .at() target is now required"),t=new lr),t.copy(this.direction).multiplyScalar(e).add(this.origin)},t.lookAt=function(e){return this.direction.copy(e).sub(this.origin).normalize(),this},t.recast=function(e){return this.origin.copy(this.at(e,Cr)),this},t.closestPointToPoint=function(e,t){void 0===t&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),t=new lr),t.subVectors(e,this.origin);var n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)},t.distanceToPoint=function(e){return Math.sqrt(this.distanceSqToPoint(e))},t.distanceSqToPoint=function(e){var t=Cr.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Cr.copy(this.direction).multiplyScalar(t).add(this.origin),Cr.distanceToSquared(e))},t.distanceSqToSegment=function(e,t,n,r){Lr.copy(e).add(t).multiplyScalar(.5),Rr.copy(t).sub(e).normalize(),Pr.copy(this.origin).sub(Lr);var i,o,a,s,l=.5*e.distanceTo(t),c=-this.direction.dot(Rr),u=Pr.dot(this.direction),h=-Pr.dot(Rr),d=Pr.lengthSq(),p=Math.abs(1-c*c);if(p>0)if(o=c*u-h,s=l*p,(i=c*h-u)>=0)if(o>=-s)if(o<=s){var f=1/p;a=(i*=f)*(i+c*(o*=f)+2*u)+o*(c*i+o+2*h)+d}else o=l,a=-(i=Math.max(0,-(c*o+u)))*i+o*(o+2*h)+d;else o=-l,a=-(i=Math.max(0,-(c*o+u)))*i+o*(o+2*h)+d;else o<=-s?a=-(i=Math.max(0,-(-c*l+u)))*i+(o=i>0?-l:Math.min(Math.max(-l,-h),l))*(o+2*h)+d:o<=s?(i=0,a=(o=Math.min(Math.max(-l,-h),l))*(o+2*h)+d):a=-(i=Math.max(0,-(c*l+u)))*i+(o=i>0?l:Math.min(Math.max(-l,-h),l))*(o+2*h)+d;else o=c>0?-l:l,a=-(i=Math.max(0,-(c*o+u)))*i+o*(o+2*h)+d;return n&&n.copy(this.direction).multiplyScalar(i).add(this.origin),r&&r.copy(Rr).multiplyScalar(o).add(Lr),a},t.intersectSphere=function(e,t){Cr.subVectors(e.center,this.origin);var n=Cr.dot(this.direction),r=Cr.dot(Cr)-n*n,i=e.radius*e.radius;if(r>i)return null;var o=Math.sqrt(i-r),a=n-o,s=n+o;return a<0&&s<0?null:a<0?this.at(s,t):this.at(a,t)},t.intersectsSphere=function(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius},t.distanceToPlane=function(e){var t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null},t.intersectPlane=function(e,t){var n=this.distanceToPlane(e);return null===n?null:this.at(n,t)},t.intersectsPlane=function(e){var t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0},t.intersectBox=function(e,t){var n,r,i,o,a,s,l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,h=this.origin;return l>=0?(n=(e.min.x-h.x)*l,r=(e.max.x-h.x)*l):(n=(e.max.x-h.x)*l,r=(e.min.x-h.x)*l),c>=0?(i=(e.min.y-h.y)*c,o=(e.max.y-h.y)*c):(i=(e.max.y-h.y)*c,o=(e.min.y-h.y)*c),n>o||i>r?null:((i>n||n!==n)&&(n=i),(o<r||r!==r)&&(r=o),u>=0?(a=(e.min.z-h.z)*u,s=(e.max.z-h.z)*u):(a=(e.max.z-h.z)*u,s=(e.min.z-h.z)*u),n>s||a>r?null:((a>n||n!==n)&&(n=a),(s<r||r!==r)&&(r=s),r<0?null:this.at(n>=0?n:r,t)))},t.intersectsBox=function(e){return null!==this.intersectBox(e,Cr)},t.intersectTriangle=function(e,t,n,r,i){Dr.subVectors(t,e),Or.subVectors(n,e),Ir.crossVectors(Dr,Or);var o,a=this.direction.dot(Ir);if(a>0){if(r)return null;o=1}else{if(!(a<0))return null;o=-1,a=-a}Pr.subVectors(this.origin,e);var s=o*this.direction.dot(Or.crossVectors(Pr,Or));if(s<0)return null;var l=o*this.direction.dot(Dr.cross(Pr));if(l<0)return null;if(s+l>a)return null;var c=-o*Pr.dot(Ir);return c<0?null:this.at(c/a,i)},t.applyMatrix4=function(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this},t.equals=function(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)},e}(),Fr=function(){function e(){Object.defineProperty(this,"isMatrix4",{value:!0}),this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}var t=e.prototype;return t.set=function(e,t,n,r,i,o,a,s,l,c,u,h,d,p,f,m){var v=this.elements;return v[0]=e,v[4]=t,v[8]=n,v[12]=r,v[1]=i,v[5]=o,v[9]=a,v[13]=s,v[2]=l,v[6]=c,v[10]=u,v[14]=h,v[3]=d,v[7]=p,v[11]=f,v[15]=m,this},t.identity=function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},t.clone=function(){return(new e).fromArray(this.elements)},t.copy=function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this},t.copyPosition=function(e){var t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this},t.setFromMatrix3=function(e){var t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this},t.extractBasis=function(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},t.makeBasis=function(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this},t.extractRotation=function(e){var t=this.elements,n=e.elements,r=1/kr.setFromMatrixColumn(e,0).length(),i=1/kr.setFromMatrixColumn(e,1).length(),o=1/kr.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},t.makeRotationFromEuler=function(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var t=this.elements,n=e.x,r=e.y,i=e.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(r),l=Math.sin(r),c=Math.cos(i),u=Math.sin(i);if("XYZ"===e.order){var h=o*c,d=o*u,p=a*c,f=a*u;t[0]=s*c,t[4]=-s*u,t[8]=l,t[1]=d+p*l,t[5]=h-f*l,t[9]=-a*s,t[2]=f-h*l,t[6]=p+d*l,t[10]=o*s}else if("YXZ"===e.order){var m=s*c,v=s*u,g=l*c,y=l*u;t[0]=m+y*a,t[4]=g*a-v,t[8]=o*l,t[1]=o*u,t[5]=o*c,t[9]=-a,t[2]=v*a-g,t[6]=y+m*a,t[10]=o*s}else if("ZXY"===e.order){var b=s*c,A=s*u,w=l*c,x=l*u;t[0]=b-x*a,t[4]=-o*u,t[8]=w+A*a,t[1]=A+w*a,t[5]=o*c,t[9]=x-b*a,t[2]=-o*l,t[6]=a,t[10]=o*s}else if("ZYX"===e.order){var E=o*c,M=o*u,_=a*c,T=a*u;t[0]=s*c,t[4]=_*l-M,t[8]=E*l+T,t[1]=s*u,t[5]=T*l+E,t[9]=M*l-_,t[2]=-l,t[6]=a*s,t[10]=o*s}else if("YZX"===e.order){var S=o*s,C=o*l,L=a*s,R=a*l;t[0]=s*c,t[4]=R-S*u,t[8]=L*u+C,t[1]=u,t[5]=o*c,t[9]=-a*c,t[2]=-l*c,t[6]=C*u+L,t[10]=S-R*u}else if("XZY"===e.order){var P=o*s,D=o*l,O=a*s,I=a*l;t[0]=s*c,t[4]=-u,t[8]=l*c,t[1]=P*u+I,t[5]=o*c,t[9]=D*u-O,t[2]=O*u-D,t[6]=a*c,t[10]=I*u+P}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},t.makeRotationFromQuaternion=function(e){return this.compose(Ur,e,Hr)},t.lookAt=function(e,t,n){var r=this.elements;return jr.subVectors(e,t),0===jr.lengthSq()&&(jr.z=1),jr.normalize(),Gr.crossVectors(n,jr),0===Gr.lengthSq()&&(1===Math.abs(n.z)?jr.x+=1e-4:jr.z+=1e-4,jr.normalize(),Gr.crossVectors(n,jr)),Gr.normalize(),zr.crossVectors(jr,Gr),r[0]=Gr.x,r[4]=zr.x,r[8]=jr.x,r[1]=Gr.y,r[5]=zr.y,r[9]=jr.y,r[2]=Gr.z,r[6]=zr.z,r[10]=jr.z,this},t.multiply=function(e,t){return void 0!==t?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},t.premultiply=function(e){return this.multiplyMatrices(e,this)},t.multiplyMatrices=function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[4],s=n[8],l=n[12],c=n[1],u=n[5],h=n[9],d=n[13],p=n[2],f=n[6],m=n[10],v=n[14],g=n[3],y=n[7],b=n[11],A=n[15],w=r[0],x=r[4],E=r[8],M=r[12],_=r[1],T=r[5],S=r[9],C=r[13],L=r[2],R=r[6],P=r[10],D=r[14],O=r[3],I=r[7],B=r[11],F=r[15];return i[0]=o*w+a*_+s*L+l*O,i[4]=o*x+a*T+s*R+l*I,i[8]=o*E+a*S+s*P+l*B,i[12]=o*M+a*C+s*D+l*F,i[1]=c*w+u*_+h*L+d*O,i[5]=c*x+u*T+h*R+d*I,i[9]=c*E+u*S+h*P+d*B,i[13]=c*M+u*C+h*D+d*F,i[2]=p*w+f*_+m*L+v*O,i[6]=p*x+f*T+m*R+v*I,i[10]=p*E+f*S+m*P+v*B,i[14]=p*M+f*C+m*D+v*F,i[3]=g*w+y*_+b*L+A*O,i[7]=g*x+y*T+b*R+A*I,i[11]=g*E+y*S+b*P+A*B,i[15]=g*M+y*C+b*D+A*F,this},t.multiplyScalar=function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},t.determinant=function(){var e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],o=e[1],a=e[5],s=e[9],l=e[13],c=e[2],u=e[6],h=e[10],d=e[14];return e[3]*(+i*s*u-r*l*u-i*a*h+n*l*h+r*a*d-n*s*d)+e[7]*(+t*s*d-t*l*h+i*o*h-r*o*d+r*l*c-i*s*c)+e[11]*(+t*l*u-t*a*d-i*o*u+n*o*d+i*a*c-n*l*c)+e[15]*(-r*a*c-t*s*u+t*a*h+r*o*u-n*o*h+n*s*c)},t.transpose=function(){var e,t=this.elements;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this},t.setPosition=function(e,t,n){var r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this},t.invert=function(){var e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11],p=e[12],f=e[13],m=e[14],v=e[15],g=u*m*l-f*h*l+f*s*d-a*m*d-u*s*v+a*h*v,y=p*h*l-c*m*l-p*s*d+o*m*d+c*s*v-o*h*v,b=c*f*l-p*u*l+p*a*d-o*f*d-c*a*v+o*u*v,A=p*u*s-c*f*s-p*a*h+o*f*h+c*a*m-o*u*m,w=t*g+n*y+r*b+i*A;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var x=1/w;return e[0]=g*x,e[1]=(f*h*i-u*m*i-f*r*d+n*m*d+u*r*v-n*h*v)*x,e[2]=(a*m*i-f*s*i+f*r*l-n*m*l-a*r*v+n*s*v)*x,e[3]=(u*s*i-a*h*i-u*r*l+n*h*l+a*r*d-n*s*d)*x,e[4]=y*x,e[5]=(c*m*i-p*h*i+p*r*d-t*m*d-c*r*v+t*h*v)*x,e[6]=(p*s*i-o*m*i-p*r*l+t*m*l+o*r*v-t*s*v)*x,e[7]=(o*h*i-c*s*i+c*r*l-t*h*l-o*r*d+t*s*d)*x,e[8]=b*x,e[9]=(p*u*i-c*f*i-p*n*d+t*f*d+c*n*v-t*u*v)*x,e[10]=(o*f*i-p*a*i+p*n*l-t*f*l-o*n*v+t*a*v)*x,e[11]=(c*a*i-o*u*i-c*n*l+t*u*l+o*n*d-t*a*d)*x,e[12]=A*x,e[13]=(c*f*r-p*u*r+p*n*h-t*f*h-c*n*m+t*u*m)*x,e[14]=(p*a*r-o*f*r-p*n*s+t*f*s+o*n*m-t*a*m)*x,e[15]=(o*u*r-c*a*r+c*n*s-t*u*s-o*n*h+t*a*h)*x,this},t.scale=function(e){var t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this},t.getMaxScaleOnAxis=function(){var e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))},t.makeTranslation=function(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this},t.makeRotationX=function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this},t.makeRotationY=function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this},t.makeRotationZ=function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this},t.makeRotationAxis=function(e,t){var n=Math.cos(t),r=Math.sin(t),i=1-n,o=e.x,a=e.y,s=e.z,l=i*o,c=i*a;return this.set(l*o+n,l*a-r*s,l*s+r*a,0,l*a+r*s,c*a+n,c*s-r*o,0,l*s-r*a,c*s+r*o,i*s*s+n,0,0,0,0,1),this},t.makeScale=function(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this},t.makeShear=function(e,t,n){return this.set(1,t,n,0,e,1,n,0,e,t,1,0,0,0,0,1),this},t.compose=function(e,t,n){var r=this.elements,i=t._x,o=t._y,a=t._z,s=t._w,l=i+i,c=o+o,u=a+a,h=i*l,d=i*c,p=i*u,f=o*c,m=o*u,v=a*u,g=s*l,y=s*c,b=s*u,A=n.x,w=n.y,x=n.z;return r[0]=(1-(f+v))*A,r[1]=(d+b)*A,r[2]=(p-y)*A,r[3]=0,r[4]=(d-b)*w,r[5]=(1-(h+v))*w,r[6]=(m+g)*w,r[7]=0,r[8]=(p+y)*x,r[9]=(m-g)*x,r[10]=(1-(h+f))*x,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this},t.decompose=function(e,t,n){var r=this.elements,i=kr.set(r[0],r[1],r[2]).length(),o=kr.set(r[4],r[5],r[6]).length(),a=kr.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],Nr.copy(this);var s=1/i,l=1/o,c=1/a;return Nr.elements[0]*=s,Nr.elements[1]*=s,Nr.elements[2]*=s,Nr.elements[4]*=l,Nr.elements[5]*=l,Nr.elements[6]*=l,Nr.elements[8]*=c,Nr.elements[9]*=c,Nr.elements[10]*=c,t.setFromRotationMatrix(Nr),n.x=i,n.y=o,n.z=a,this},t.makePerspective=function(e,t,n,r,i,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*i/(t-e),l=2*i/(n-r),c=(t+e)/(t-e),u=(n+r)/(n-r),h=-(o+i)/(o-i),d=-2*o*i/(o-i);return a[0]=s,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=u,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this},t.makeOrthographic=function(e,t,n,r,i,o){var a=this.elements,s=1/(t-e),l=1/(n-r),c=1/(o-i),u=(t+e)*s,h=(n+r)*l,d=(o+i)*c;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-u,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this},t.equals=function(e){for(var t=this.elements,n=e.elements,r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0},t.fromArray=function(e,t){void 0===t&&(t=0);for(var n=0;n<16;n++)this.elements[n]=e[n+t];return this},t.toArray=function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e},e}(),kr=new lr,Nr=new Fr,Ur=new lr(0,0,0),Hr=new lr(1,1,1),Gr=new lr,zr=new lr,jr=new lr,Vr=function(){function e(t,n,r,i){void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===i&&(i=e.DefaultOrder),Object.defineProperty(this,"isEuler",{value:!0}),this._x=t,this._y=n,this._z=r,this._order=i}var t=e.prototype;return t.set=function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._order=r||this._order,this._onChangeCallback(),this},t.clone=function(){return new this.constructor(this._x,this._y,this._z,this._order)},t.copy=function(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this},t.setFromRotationMatrix=function(e,t,n){var r=Kn.clamp,i=e.elements,o=i[0],a=i[4],s=i[8],l=i[1],c=i[5],u=i[9],h=i[2],d=i[6],p=i[10];switch(t=t||this._order){case"XYZ":this._y=Math.asin(r(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-r(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(s,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,o),this._z=0);break;case"ZXY":this._x=Math.asin(r(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,o));break;case"ZYX":this._y=Math.asin(-r(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(r(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,o)):(this._x=0,this._y=Math.atan2(s,p));break;case"XZY":this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!1!==n&&this._onChangeCallback(),this},t.setFromQuaternion=function(e,t,n){return Wr.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Wr,t,n)},t.setFromVector3=function(e,t){return this.set(e.x,e.y,e.z,t||this._order)},t.reorder=function(e){return qr.setFromEuler(this),this.setFromQuaternion(qr,e)},t.equals=function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order},t.fromArray=function(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e},t.toVector3=function(e){return e?e.set(this._x,this._y,this._z):new lr(this._x,this._y,this._z)},t._onChange=function(e){return this._onChangeCallback=e,this},t._onChangeCallback=function(){},Hn(e,[{key:"x",get:function(){return this._x},set:function(e){this._x=e,this._onChangeCallback()}},{key:"y",get:function(){return this._y},set:function(e){this._y=e,this._onChangeCallback()}},{key:"z",get:function(){return this._z},set:function(e){this._z=e,this._onChangeCallback()}},{key:"order",get:function(){return this._order},set:function(e){this._order=e,this._onChangeCallback()}}]),e}();Vr.DefaultOrder="XYZ",Vr.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var Wr=new Fr,qr=new sr,Xr=function(){function e(){this.mask=1}var t=e.prototype;return t.set=function(e){this.mask=1<<e|0},t.enable=function(e){this.mask|=1<<e|0},t.enableAll=function(){this.mask=-1},t.toggle=function(e){this.mask^=1<<e|0},t.disable=function(e){this.mask&=~(1<<e|0)},t.disableAll=function(){this.mask=0},t.test=function(e){return 0!==(this.mask&e.mask)},e}(),Yr=0,Qr=new lr,Zr=new sr,Kr=new Fr,Jr=new lr,$r=new lr,ei=new lr,ti=new sr,ni=new lr(1,0,0),ri=new lr(0,1,0),ii=new lr(0,0,1),oi={type:"added"},ai={type:"removed"};function si(){Object.defineProperty(this,"id",{value:Yr++}),this.uuid=Kn.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=si.DefaultUp.clone();var e=new lr,t=new Vr,n=new sr,r=new lr(1,1,1);function i(){n.setFromEuler(t,!1)}function o(){t.setFromQuaternion(n,void 0,!1)}t._onChange(i),n._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new Fr},normalMatrix:{value:new $n}}),this.matrix=new Fr,this.matrixWorld=new Fr,this.matrixAutoUpdate=si.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Xr,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}si.DefaultUp=new lr(0,1,0),si.DefaultMatrixAutoUpdate=!0,si.prototype=Object.assign(Object.create(qn.prototype),{constructor:si,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix4:function(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(e){return this.quaternion.premultiply(e),this},setRotationFromAxisAngle:function(e,t){this.quaternion.setFromAxisAngle(e,t)},setRotationFromEuler:function(e){this.quaternion.setFromEuler(e,!0)},setRotationFromMatrix:function(e){this.quaternion.setFromRotationMatrix(e)},setRotationFromQuaternion:function(e){this.quaternion.copy(e)},rotateOnAxis:function(e,t){return Zr.setFromAxisAngle(e,t),this.quaternion.multiply(Zr),this},rotateOnWorldAxis:function(e,t){return Zr.setFromAxisAngle(e,t),this.quaternion.premultiply(Zr),this},rotateX:function(e){return this.rotateOnAxis(ni,e)},rotateY:function(e){return this.rotateOnAxis(ri,e)},rotateZ:function(e){return this.rotateOnAxis(ii,e)},translateOnAxis:function(e,t){return Qr.copy(e).applyQuaternion(this.quaternion),this.position.add(Qr.multiplyScalar(t)),this},translateX:function(e){return this.translateOnAxis(ni,e)},translateY:function(e){return this.translateOnAxis(ri,e)},translateZ:function(e){return this.translateOnAxis(ii,e)},localToWorld:function(e){return e.applyMatrix4(this.matrixWorld)},worldToLocal:function(e){return e.applyMatrix4(Kr.copy(this.matrixWorld).invert())},lookAt:function(e,t,n){e.isVector3?Jr.copy(e):Jr.set(e,t,n);var r=this.parent;this.updateWorldMatrix(!0,!1),$r.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Kr.lookAt($r,Jr,this.up):Kr.lookAt(Jr,$r,this.up),this.quaternion.setFromRotationMatrix(Kr),r&&(Kr.extractRotation(r.matrixWorld),Zr.setFromRotationMatrix(Kr),this.quaternion.premultiply(Zr.invert()))},add:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(oi)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)},remove:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}var n=this.children.indexOf(e);return-1!==n&&(e.parent=null,this.children.splice(n,1),e.dispatchEvent(ai)),this},clear:function(){for(var e=0;e<this.children.length;e++){var t=this.children[e];t.parent=null,t.dispatchEvent(ai)}return this.children.length=0,this},attach:function(e){return this.updateWorldMatrix(!0,!1),Kr.copy(this.matrixWorld).invert(),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),Kr.multiply(e.parent.matrixWorld)),e.applyMatrix4(Kr),e.updateWorldMatrix(!1,!1),this.add(e),this},getObjectById:function(e){return this.getObjectByProperty("id",e)},getObjectByName:function(e){return this.getObjectByProperty("name",e)},getObjectByProperty:function(e,t){if(this[e]===t)return this;for(var n=0,r=this.children.length;n<r;n++){var i=this.children[n].getObjectByProperty(e,t);if(void 0!==i)return i}},getWorldPosition:function(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),e=new lr),this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),e=new sr),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose($r,e,ei),e},getWorldScale:function(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),e=new lr),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose($r,ti,e),e},getWorldDirection:function(e){void 0===e&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),e=new lr),this.updateWorldMatrix(!0,!1);var t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()},raycast:function(){},traverse:function(e){e(this);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].traverse(e)},traverseVisible:function(e){if(!1!==this.visible){e(this);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}},traverseAncestors:function(e){var t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].updateMatrixWorld(e)},updateWorldMatrix:function(e,t){var n=this.parent;if(!0===e&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===t)for(var r=this.children,i=0,o=r.length;i<o;i++)r[i].updateWorldMatrix(!1,!0)},toJSON:function(e){var t=void 0===e||"string"===typeof e,n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var r={};function i(t,n){return void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(r.uuid=this.uuid,r.type=this.type,""!==this.name&&(r.name=this.name),!0===this.castShadow&&(r.castShadow=!0),!0===this.receiveShadow&&(r.receiveShadow=!0),!1===this.visible&&(r.visible=!1),!1===this.frustumCulled&&(r.frustumCulled=!1),0!==this.renderOrder&&(r.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON()),this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);var o=this.geometry.parameters;if(void 0!==o&&void 0!==o.shapes){var a=o.shapes;if(Array.isArray(a))for(var s=0,l=a.length;s<l;s++){var c=a[s];i(e.shapes,c)}else i(e.shapes,a)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(i(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){for(var u=[],h=0,d=this.material.length;h<d;h++)u.push(i(e.materials,this.material[h]));r.material=u}else r.material=i(e.materials,this.material);if(this.children.length>0){r.children=[];for(var p=0;p<this.children.length;p++)r.children.push(this.children[p].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(var f=0;f<this.animations.length;f++){var m=this.animations[f];r.animations.push(i(e.animations,m))}}if(t){var v=E(e.geometries),g=E(e.materials),y=E(e.textures),b=E(e.images),A=E(e.shapes),w=E(e.skeletons),x=E(e.animations);v.length>0&&(n.geometries=v),g.length>0&&(n.materials=g),y.length>0&&(n.textures=y),b.length>0&&(n.images=b),A.length>0&&(n.shapes=A),w.length>0&&(n.skeletons=w),x.length>0&&(n.animations=x)}return n.object=r,n;function E(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}},clone:function(e){return(new this.constructor).copy(this,e)},copy:function(e,t){if(void 0===t&&(t=!0),this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(var n=0;n<e.children.length;n++){var r=e.children[n];this.add(r.clone())}return this}});var li=new lr,ci=new lr,ui=new $n,hi=function(){function e(e,t){Object.defineProperty(this,"isPlane",{value:!0}),this.normal=void 0!==e?e:new lr(1,0,0),this.constant=void 0!==t?t:0}var t=e.prototype;return t.set=function(e,t){return this.normal.copy(e),this.constant=t,this},t.setComponents=function(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this},t.setFromNormalAndCoplanarPoint=function(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this},t.setFromCoplanarPoints=function(e,t,n){var r=li.subVectors(n,t).cross(ci.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.normal.copy(e.normal),this.constant=e.constant,this},t.normalize=function(){var e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this},t.negate=function(){return this.constant*=-1,this.normal.negate(),this},t.distanceToPoint=function(e){return this.normal.dot(e)+this.constant},t.distanceToSphere=function(e){return this.distanceToPoint(e.center)-e.radius},t.projectPoint=function(e,t){return void 0===t&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new lr),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)},t.intersectLine=function(e,t){void 0===t&&(console.warn("THREE.Plane: .intersectLine() target is now required"),t=new lr);var n=e.delta(li),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):void 0;var i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?void 0:t.copy(n).multiplyScalar(i).add(e.start)},t.intersectsLine=function(e){var t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0},t.intersectsBox=function(e){return e.intersectsPlane(this)},t.intersectsSphere=function(e){return e.intersectsPlane(this)},t.coplanarPoint=function(e){return void 0===e&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new lr),e.copy(this.normal).multiplyScalar(-this.constant)},t.applyMatrix4=function(e,t){var n=t||ui.getNormalMatrix(e),r=this.coplanarPoint(li).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this},t.translate=function(e){return this.constant-=e.dot(this.normal),this},t.equals=function(e){return e.normal.equals(this.normal)&&e.constant===this.constant},e}(),di=new lr,pi=new lr,fi=new lr,mi=new lr,vi=new lr,gi=new lr,yi=new lr,bi=new lr,Ai=new lr,wi=new lr,xi=function(){function e(e,t,n){this.a=void 0!==e?e:new lr,this.b=void 0!==t?t:new lr,this.c=void 0!==n?n:new lr}e.getNormal=function(e,t,n,r){void 0===r&&(console.warn("THREE.Triangle: .getNormal() target is now required"),r=new lr),r.subVectors(n,t),di.subVectors(e,t),r.cross(di);var i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)},e.getBarycoord=function(e,t,n,r,i){di.subVectors(r,t),pi.subVectors(n,t),fi.subVectors(e,t);var o=di.dot(di),a=di.dot(pi),s=di.dot(fi),l=pi.dot(pi),c=pi.dot(fi),u=o*l-a*a;if(void 0===i&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),i=new lr),0===u)return i.set(-2,-1,-1);var h=1/u,d=(l*s-a*c)*h,p=(o*c-a*s)*h;return i.set(1-d-p,p,d)},e.containsPoint=function(e,t,n,r){return this.getBarycoord(e,t,n,r,mi),mi.x>=0&&mi.y>=0&&mi.x+mi.y<=1},e.getUV=function(e,t,n,r,i,o,a,s){return this.getBarycoord(e,t,n,r,mi),s.set(0,0),s.addScaledVector(i,mi.x),s.addScaledVector(o,mi.y),s.addScaledVector(a,mi.z),s},e.isFrontFacing=function(e,t,n,r){return di.subVectors(n,t),pi.subVectors(e,t),di.cross(pi).dot(r)<0};var t=e.prototype;return t.set=function(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this},t.setFromPointsAndIndices=function(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this},t.getArea=function(){return di.subVectors(this.c,this.b),pi.subVectors(this.a,this.b),.5*di.cross(pi).length()},t.getMidpoint=function(e){return void 0===e&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),e=new lr),e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},t.getNormal=function(t){return e.getNormal(this.a,this.b,this.c,t)},t.getPlane=function(e){return void 0===e&&(console.warn("THREE.Triangle: .getPlane() target is now required"),e=new hi),e.setFromCoplanarPoints(this.a,this.b,this.c)},t.getBarycoord=function(t,n){return e.getBarycoord(t,this.a,this.b,this.c,n)},t.getUV=function(t,n,r,i,o){return e.getUV(t,this.a,this.b,this.c,n,r,i,o)},t.containsPoint=function(t){return e.containsPoint(t,this.a,this.b,this.c)},t.isFrontFacing=function(t){return e.isFrontFacing(this.a,this.b,this.c,t)},t.intersectsBox=function(e){return e.intersectsTriangle(this)},t.closestPointToPoint=function(e,t){void 0===t&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),t=new lr);var n,r,i=this.a,o=this.b,a=this.c;vi.subVectors(o,i),gi.subVectors(a,i),bi.subVectors(e,i);var s=vi.dot(bi),l=gi.dot(bi);if(s<=0&&l<=0)return t.copy(i);Ai.subVectors(e,o);var c=vi.dot(Ai),u=gi.dot(Ai);if(c>=0&&u<=c)return t.copy(o);var h=s*u-c*l;if(h<=0&&s>=0&&c<=0)return n=s/(s-c),t.copy(i).addScaledVector(vi,n);wi.subVectors(e,a);var d=vi.dot(wi),p=gi.dot(wi);if(p>=0&&d<=p)return t.copy(a);var f=d*l-s*p;if(f<=0&&l>=0&&p<=0)return r=l/(l-p),t.copy(i).addScaledVector(gi,r);var m=c*p-d*u;if(m<=0&&u-c>=0&&d-p>=0)return yi.subVectors(a,o),r=(u-c)/(u-c+(d-p)),t.copy(o).addScaledVector(yi,r);var v=1/(m+f+h);return n=f*v,r=h*v,t.copy(i).addScaledVector(vi,n).addScaledVector(gi,r)},t.equals=function(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)},e}(),Ei={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Mi={h:0,s:0,l:0},_i={h:0,s:0,l:0};function Ti(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function Si(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function Ci(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}var Li=function(){function e(e,t,n){return Object.defineProperty(this,"isColor",{value:!0}),void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}var t=e.prototype;return t.set=function(e){return e&&e.isColor?this.copy(e):"number"===typeof e?this.setHex(e):"string"===typeof e&&this.setStyle(e),this},t.setScalar=function(e){return this.r=e,this.g=e,this.b=e,this},t.setHex=function(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this},t.setRGB=function(e,t,n){return this.r=e,this.g=t,this.b=n,this},t.setHSL=function(e,t,n){if(e=Kn.euclideanModulo(e,1),t=Kn.clamp(t,0,1),n=Kn.clamp(n,0,1),0===t)this.r=this.g=this.b=n;else{var r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=Ti(i,r,e+1/3),this.g=Ti(i,r,e),this.b=Ti(i,r,e-1/3)}return this},t.setStyle=function(e){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}var n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){var r,i=n[1],o=n[2];switch(i){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,t(r[4]),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,t(r[4]),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o)){var a=parseFloat(r[1])/360,s=parseInt(r[2],10)/100,l=parseInt(r[3],10)/100;return t(r[4]),this.setHSL(a,s,l)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(e)){var c=n[1],u=c.length;if(3===u)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===u)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this},t.setColorName=function(e){var t=Ei[e];return void 0!==t?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this},t.clone=function(){return new this.constructor(this.r,this.g,this.b)},t.copy=function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},t.copyGammaToLinear=function(e,t){return void 0===t&&(t=2),this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this},t.copyLinearToGamma=function(e,t){void 0===t&&(t=2);var n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this},t.convertGammaToLinear=function(e){return this.copyGammaToLinear(this,e),this},t.convertLinearToGamma=function(e){return this.copyLinearToGamma(this,e),this},t.copySRGBToLinear=function(e){return this.r=Si(e.r),this.g=Si(e.g),this.b=Si(e.b),this},t.copyLinearToSRGB=function(e){return this.r=Ci(e.r),this.g=Ci(e.g),this.b=Ci(e.b),this},t.convertSRGBToLinear=function(){return this.copySRGBToLinear(this),this},t.convertLinearToSRGB=function(){return this.copyLinearToSRGB(this),this},t.getHex=function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},t.getHexString=function(){return("000000"+this.getHex().toString(16)).slice(-6)},t.getHSL=function(e){void 0===e&&(console.warn("THREE.Color: .getHSL() target is now required"),e={h:0,s:0,l:0});var t,n,r=this.r,i=this.g,o=this.b,a=Math.max(r,i,o),s=Math.min(r,i,o),l=(s+a)/2;if(s===a)t=0,n=0;else{var c=a-s;switch(n=l<=.5?c/(a+s):c/(2-a-s),a){case r:t=(i-o)/c+(i<o?6:0);break;case i:t=(o-r)/c+2;break;case o:t=(r-i)/c+4}t/=6}return e.h=t,e.s=n,e.l=l,e},t.getStyle=function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},t.offsetHSL=function(e,t,n){return this.getHSL(Mi),Mi.h+=e,Mi.s+=t,Mi.l+=n,this.setHSL(Mi.h,Mi.s,Mi.l),this},t.add=function(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this},t.addColors=function(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this},t.addScalar=function(e){return this.r+=e,this.g+=e,this.b+=e,this},t.sub=function(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this},t.multiply=function(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this},t.multiplyScalar=function(e){return this.r*=e,this.g*=e,this.b*=e,this},t.lerp=function(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this},t.lerpColors=function(e,t,n){return this.r=e.r+(t.r-e.r)*n,this.g=e.g+(t.g-e.g)*n,this.b=e.b+(t.b-e.b)*n,this},t.lerpHSL=function(e,t){this.getHSL(Mi),e.getHSL(_i);var n=Kn.lerp(Mi.h,_i.h,t),r=Kn.lerp(Mi.s,_i.s,t),i=Kn.lerp(Mi.l,_i.l,t);return this.setHSL(n,r,i),this},t.equals=function(e){return e.r===this.r&&e.g===this.g&&e.b===this.b},t.fromArray=function(e,t){return void 0===t&&(t=0),this.r=e[t],this.g=e[t+1],this.b=e[t+2],this},t.toArray=function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e},t.fromBufferAttribute=function(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),!0===e.normalized&&(this.r/=255,this.g/=255,this.b/=255),this},t.toJSON=function(){return this.getHex()},e}();Li.NAMES=Ei,Li.prototype.r=1,Li.prototype.g=1,Li.prototype.b=1;var Ri=function(){function e(e,t,n,r,i,o){void 0===o&&(o=0),this.a=e,this.b=t,this.c=n,this.normal=r&&r.isVector3?r:new lr,this.vertexNormals=Array.isArray(r)?r:[],this.color=i&&i.isColor?i:new Li,this.vertexColors=Array.isArray(i)?i:[],this.materialIndex=o}var t=e.prototype;return t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){this.a=e.a,this.b=e.b,this.c=e.c,this.normal.copy(e.normal),this.color.copy(e.color),this.materialIndex=e.materialIndex;for(var t=0,n=e.vertexNormals.length;t<n;t++)this.vertexNormals[t]=e.vertexNormals[t].clone();for(var r=0,i=e.vertexColors.length;r<i;r++)this.vertexColors[r]=e.vertexColors[r].clone();return this},e}(),Pi=0;function Di(){Object.defineProperty(this,"id",{value:Pi++}),this.uuid=Kn.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=w,this.side=m,this.flatShading=!1,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=B,this.blendDst=F,this.blendEquation=T,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=W,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=_n,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=hn,this.stencilZFail=hn,this.stencilZPass=hn,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}function Oi(e){Di.call(this),this.type="MeshBasicMaterial",this.color=new Li(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.setValues(e)}Di.prototype=Object.assign(Object.create(qn.prototype),{constructor:Di,isMaterial:!0,onBeforeCompile:function(){},customProgramCacheKey:function(){return this.onBeforeCompile.toString()},setValues:function(e){if(void 0!==e)for(var t in e){var n=e[t];if(void 0!==n)if("shading"!==t){var r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===y;else console.warn("THREE.Material: '"+t+"' parameter is undefined.")}},toJSON:function(e){var t=void 0===e||"string"===typeof e;t&&(e={textures:{},images:{}});var n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function r(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(n.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,n.reflectivity=this.reflectivity,n.refractionRatio=this.refractionRatio,void 0!==this.combine&&(n.combine=this.combine),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.size&&(n.size=this.size),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==w&&(n.blending=this.blending),!0===this.flatShading&&(n.flatShading=this.flatShading),this.side!==m&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(n.morphTargets=!0),!0===this.morphNormals&&(n.morphNormals=!0),!0===this.skinning&&(n.skinning=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),t){var i=r(e.textures),o=r(e.images);i.length>0&&(n.textures=i),o.length>0&&(n.images=o)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.flatShading=e.flatShading,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;var t=e.clippingPlanes,n=null;if(null!==t){var r=t.length;n=new Array(r);for(var i=0;i!==r;++i)n[i]=t[i].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(Di.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Oi.prototype=Object.create(Di.prototype),Oi.prototype.constructor=Oi,Oi.prototype.isMeshBasicMaterial=!0,Oi.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this};var Ii=new lr,Bi=new Jn;function Fi(e,t,n){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=!0===n,this.usage=Tn,this.updateRange={offset:0,count:-1},this.version=0}function ki(e,t,n){Fi.call(this,new Int8Array(e),t,n)}function Ni(e,t,n){Fi.call(this,new Uint8Array(e),t,n)}function Ui(e,t,n){Fi.call(this,new Uint8ClampedArray(e),t,n)}function Hi(e,t,n){Fi.call(this,new Int16Array(e),t,n)}function Gi(e,t,n){Fi.call(this,new Uint16Array(e),t,n)}function zi(e,t,n){Fi.call(this,new Int32Array(e),t,n)}function ji(e,t,n){Fi.call(this,new Uint32Array(e),t,n)}function Vi(e,t,n){Fi.call(this,new Uint16Array(e),t,n)}function Wi(e,t,n){Fi.call(this,new Float32Array(e),t,n)}function qi(e,t,n){Fi.call(this,new Float64Array(e),t,n)}function Xi(e){if(0===e.length)return-1/0;for(var t=e[0],n=1,r=e.length;n<r;++n)e[n]>t&&(t=e[n]);return t}Object.defineProperty(Fi.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(Fi.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(e){return this.usage=e,this},copy:function(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this},copyAt:function(e,t,n){e*=this.itemSize,n*=t.itemSize;for(var r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this},copyArray:function(e){return this.array.set(e),this},copyColorsArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",r),o=new Li),t[n++]=o.r,t[n++]=o.g,t[n++]=o.b}return this},copyVector2sArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",r),o=new Jn),t[n++]=o.x,t[n++]=o.y}return this},copyVector3sArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",r),o=new lr),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z}return this},copyVector4sArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",r),o=new ir),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z,t[n++]=o.w}return this},applyMatrix3:function(e){if(2===this.itemSize)for(var t=0,n=this.count;t<n;t++)Bi.fromBufferAttribute(this,t),Bi.applyMatrix3(e),this.setXY(t,Bi.x,Bi.y);else if(3===this.itemSize)for(var r=0,i=this.count;r<i;r++)Ii.fromBufferAttribute(this,r),Ii.applyMatrix3(e),this.setXYZ(r,Ii.x,Ii.y,Ii.z);return this},applyMatrix4:function(e){for(var t=0,n=this.count;t<n;t++)Ii.x=this.getX(t),Ii.y=this.getY(t),Ii.z=this.getZ(t),Ii.applyMatrix4(e),this.setXYZ(t,Ii.x,Ii.y,Ii.z);return this},applyNormalMatrix:function(e){for(var t=0,n=this.count;t<n;t++)Ii.x=this.getX(t),Ii.y=this.getY(t),Ii.z=this.getZ(t),Ii.applyNormalMatrix(e),this.setXYZ(t,Ii.x,Ii.y,Ii.z);return this},transformDirection:function(e){for(var t=0,n=this.count;t<n;t++)Ii.x=this.getX(t),Ii.y=this.getY(t),Ii.z=this.getZ(t),Ii.transformDirection(e),this.setXYZ(t,Ii.x,Ii.y,Ii.z);return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},getX:function(e){return this.array[e*this.itemSize]},setX:function(e,t){return this.array[e*this.itemSize]=t,this},getY:function(e){return this.array[e*this.itemSize+1]},setY:function(e,t){return this.array[e*this.itemSize+1]=t,this},getZ:function(e){return this.array[e*this.itemSize+2]},setZ:function(e,t){return this.array[e*this.itemSize+2]=t,this},getW:function(e){return this.array[e*this.itemSize+3]},setW:function(e,t){return this.array[e*this.itemSize+3]=t,this},setXY:function(e,t,n){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this},setXYZ:function(e,t,n,r){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this},setXYZW:function(e,t,n,r,i){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this.array[e+3]=i,this},onUpload:function(e){return this.onUploadCallback=e,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)},toJSON:function(){return{itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized}}}),ki.prototype=Object.create(Fi.prototype),ki.prototype.constructor=ki,Ni.prototype=Object.create(Fi.prototype),Ni.prototype.constructor=Ni,Ui.prototype=Object.create(Fi.prototype),Ui.prototype.constructor=Ui,Hi.prototype=Object.create(Fi.prototype),Hi.prototype.constructor=Hi,Gi.prototype=Object.create(Fi.prototype),Gi.prototype.constructor=Gi,zi.prototype=Object.create(Fi.prototype),zi.prototype.constructor=zi,ji.prototype=Object.create(Fi.prototype),ji.prototype.constructor=ji,Vi.prototype=Object.create(Fi.prototype),Vi.prototype.constructor=Vi,Vi.prototype.isFloat16BufferAttribute=!0,Wi.prototype=Object.create(Fi.prototype),Wi.prototype.constructor=Wi,qi.prototype=Object.create(Fi.prototype),qi.prototype.constructor=qi;var Yi={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!==typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Qi(e,t){return new Yi[e](t)}var Zi=0,Ki=new Fr,Ji=new si,$i=new lr,eo=new hr,to=new hr,no=new lr;function ro(){Object.defineProperty(this,"id",{value:Zi++}),this.uuid=Kn.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}ro.prototype=Object.assign(Object.create(qn.prototype),{constructor:ro,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(e){return Array.isArray(e)?this.index=new(Xi(e)>65535?ji:Gi)(e,1):this.index=e,this},getAttribute:function(e){return this.attributes[e]},setAttribute:function(e,t){return this.attributes[e]=t,this},deleteAttribute:function(e){return delete this.attributes[e],this},hasAttribute:function(e){return void 0!==this.attributes[e]},addGroup:function(e,t,n){void 0===n&&(n=0),this.groups.push({start:e,count:t,materialIndex:n})},clearGroups:function(){this.groups=[]},setDrawRange:function(e,t){this.drawRange.start=e,this.drawRange.count=t},applyMatrix4:function(e){var t=this.attributes.position;void 0!==t&&(t.applyMatrix4(e),t.needsUpdate=!0);var n=this.attributes.normal;if(void 0!==n){var r=(new $n).getNormalMatrix(e);n.applyNormalMatrix(r),n.needsUpdate=!0}var i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(e),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(e){return Ki.makeRotationX(e),this.applyMatrix4(Ki),this},rotateY:function(e){return Ki.makeRotationY(e),this.applyMatrix4(Ki),this},rotateZ:function(e){return Ki.makeRotationZ(e),this.applyMatrix4(Ki),this},translate:function(e,t,n){return Ki.makeTranslation(e,t,n),this.applyMatrix4(Ki),this},scale:function(e,t,n){return Ki.makeScale(e,t,n),this.applyMatrix4(Ki),this},lookAt:function(e){return Ji.lookAt(e),Ji.updateMatrix(),this.applyMatrix4(Ji.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter($i).negate(),this.translate($i.x,$i.y,$i.z),this},setFromPoints:function(e){for(var t=[],n=0,r=e.length;n<r;n++){var i=e[n];t.push(i.x,i.y,i.z||0)}return this.setAttribute("position",new Wi(t,3)),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new hr);var e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new lr(-1/0,-1/0,-1/0),new lr(1/0,1/0,1/0));if(void 0!==e){if(this.boundingBox.setFromBufferAttribute(e),t)for(var n=0,r=t.length;n<r;n++){var i=t[n];eo.setFromBufferAttribute(i),this.morphTargetsRelative?(no.addVectors(this.boundingBox.min,eo.min),this.boundingBox.expandByPoint(no),no.addVectors(this.boundingBox.max,eo.max),this.boundingBox.expandByPoint(no)):(this.boundingBox.expandByPoint(eo.min),this.boundingBox.expandByPoint(eo.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Sr);var e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingSphere.set(new lr,1/0);if(e){var n=this.boundingSphere.center;if(eo.setFromBufferAttribute(e),t)for(var r=0,i=t.length;r<i;r++){var o=t[r];to.setFromBufferAttribute(o),this.morphTargetsRelative?(no.addVectors(eo.min,to.min),eo.expandByPoint(no),no.addVectors(eo.max,to.max),eo.expandByPoint(no)):(eo.expandByPoint(to.min),eo.expandByPoint(to.max))}eo.getCenter(n);for(var a=0,s=0,l=e.count;s<l;s++)no.fromBufferAttribute(e,s),a=Math.max(a,n.distanceToSquared(no));if(t)for(var c=0,u=t.length;c<u;c++)for(var h=t[c],d=this.morphTargetsRelative,p=0,f=h.count;p<f;p++)no.fromBufferAttribute(h,p),d&&($i.fromBufferAttribute(e,p),no.add($i)),a=Math.max(a,n.distanceToSquared(no));this.boundingSphere.radius=Math.sqrt(a),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}},computeFaceNormals:function(){},computeTangents:function(){var e=this.index,t=this.attributes;if(null!==e&&void 0!==t.position&&void 0!==t.normal&&void 0!==t.uv){var n=e.array,r=t.position.array,i=t.normal.array,o=t.uv.array,a=r.length/3;void 0===t.tangent&&this.setAttribute("tangent",new Fi(new Float32Array(4*a),4));for(var s=t.tangent.array,l=[],c=[],u=0;u<a;u++)l[u]=new lr,c[u]=new lr;var h=new lr,d=new lr,p=new lr,f=new Jn,m=new Jn,v=new Jn,g=new lr,y=new lr,b=this.groups;0===b.length&&(b=[{start:0,count:n.length}]);for(var A=0,w=b.length;A<w;++A)for(var x=b[A],E=x.start,M=E,_=E+x.count;M<_;M+=3)F(n[M+0],n[M+1],n[M+2]);for(var T=new lr,S=new lr,C=new lr,L=new lr,R=0,P=b.length;R<P;++R)for(var D=b[R],O=D.start,I=O,B=O+D.count;I<B;I+=3)k(n[I+0]),k(n[I+1]),k(n[I+2])}else console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");function F(e,t,n){h.fromArray(r,3*e),d.fromArray(r,3*t),p.fromArray(r,3*n),f.fromArray(o,2*e),m.fromArray(o,2*t),v.fromArray(o,2*n),d.sub(h),p.sub(h),m.sub(f),v.sub(f);var i=1/(m.x*v.y-v.x*m.y);isFinite(i)&&(g.copy(d).multiplyScalar(v.y).addScaledVector(p,-m.y).multiplyScalar(i),y.copy(p).multiplyScalar(m.x).addScaledVector(d,-v.x).multiplyScalar(i),l[e].add(g),l[t].add(g),l[n].add(g),c[e].add(y),c[t].add(y),c[n].add(y))}function k(e){C.fromArray(i,3*e),L.copy(C);var t=l[e];T.copy(t),T.sub(C.multiplyScalar(C.dot(t))).normalize(),S.crossVectors(L,t);var n=S.dot(c[e])<0?-1:1;s[4*e]=T.x,s[4*e+1]=T.y,s[4*e+2]=T.z,s[4*e+3]=n}},computeVertexNormals:function(){var e=this.index,t=this.getAttribute("position");if(void 0!==t){var n=this.getAttribute("normal");if(void 0===n)n=new Fi(new Float32Array(3*t.count),3),this.setAttribute("normal",n);else for(var r=0,i=n.count;r<i;r++)n.setXYZ(r,0,0,0);var o=new lr,a=new lr,s=new lr,l=new lr,c=new lr,u=new lr,h=new lr,d=new lr;if(e)for(var p=0,f=e.count;p<f;p+=3){var m=e.getX(p+0),v=e.getX(p+1),g=e.getX(p+2);o.fromBufferAttribute(t,m),a.fromBufferAttribute(t,v),s.fromBufferAttribute(t,g),h.subVectors(s,a),d.subVectors(o,a),h.cross(d),l.fromBufferAttribute(n,m),c.fromBufferAttribute(n,v),u.fromBufferAttribute(n,g),l.add(h),c.add(h),u.add(h),n.setXYZ(m,l.x,l.y,l.z),n.setXYZ(v,c.x,c.y,c.z),n.setXYZ(g,u.x,u.y,u.z)}else for(var y=0,b=t.count;y<b;y+=3)o.fromBufferAttribute(t,y+0),a.fromBufferAttribute(t,y+1),s.fromBufferAttribute(t,y+2),h.subVectors(s,a),d.subVectors(o,a),h.cross(d),n.setXYZ(y+0,h.x,h.y,h.z),n.setXYZ(y+1,h.x,h.y,h.z),n.setXYZ(y+2,h.x,h.y,h.z);this.normalizeNormals(),n.needsUpdate=!0}},merge:function(e,t){if(e&&e.isBufferGeometry){void 0===t&&(t=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var n=this.attributes;for(var r in n)if(void 0!==e.attributes[r])for(var i=n[r].array,o=e.attributes[r],a=o.array,s=o.itemSize*t,l=Math.min(a.length,i.length-s),c=0,u=s;c<l;c++,u++)i[u]=a[c];return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",e)},normalizeNormals:function(){for(var e=this.attributes.normal,t=0,n=e.count;t<n;t++)no.fromBufferAttribute(e,t),no.normalize(),e.setXYZ(t,no.x,no.y,no.z)},toNonIndexed:function(){function e(e,t){for(var n=e.array,r=e.itemSize,i=e.normalized,o=new n.constructor(t.length*r),a=0,s=0,l=0,c=t.length;l<c;l++){a=t[l]*r;for(var u=0;u<r;u++)o[s++]=n[a++]}return new Fi(o,r,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;var t=new ro,n=this.index.array,r=this.attributes;for(var i in r){var o=e(r[i],n);t.setAttribute(i,o)}var a=this.morphAttributes;for(var s in a){for(var l=[],c=a[s],u=0,h=c.length;u<h;u++){var d=e(c[u],n);l.push(d)}t.morphAttributes[s]=l}t.morphTargetsRelative=this.morphTargetsRelative;for(var p=this.groups,f=0,m=p.length;f<m;f++){var v=p[f];t.addGroup(v.start,v.count,v.materialIndex)}return t},toJSON:function(){var e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){var t=this.parameters;for(var n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};var r=this.index;null!==r&&(e.data.index={type:r.array.constructor.name,array:Array.prototype.slice.call(r.array)});var i=this.attributes;for(var o in i){var a=i[o],s=a.toJSON(e.data);""!==a.name&&(s.name=a.name),e.data.attributes[o]=s}var l={},c=!1;for(var u in this.morphAttributes){for(var h=this.morphAttributes[u],d=[],p=0,f=h.length;p<f;p++){var m=h[p],v=m.toJSON(e.data);""!==m.name&&(v.name=m.name),d.push(v)}d.length>0&&(l[u]=d,c=!0)}c&&(e.data.morphAttributes=l,e.data.morphTargetsRelative=this.morphTargetsRelative);var g=this.groups;g.length>0&&(e.data.groups=JSON.parse(JSON.stringify(g)));var y=this.boundingSphere;return null!==y&&(e.data.boundingSphere={center:y.center.toArray(),radius:y.radius}),e},clone:function(){return(new ro).copy(this)},copy:function(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;var t={};this.name=e.name;var n=e.index;null!==n&&this.setIndex(n.clone(t));var r=e.attributes;for(var i in r){var o=r[i];this.setAttribute(i,o.clone(t))}var a=e.morphAttributes;for(var s in a){for(var l=[],c=a[s],u=0,h=c.length;u<h;u++)l.push(c[u].clone(t));this.morphAttributes[s]=l}this.morphTargetsRelative=e.morphTargetsRelative;for(var d=e.groups,p=0,f=d.length;p<f;p++){var m=d[p];this.addGroup(m.start,m.count,m.materialIndex)}var v=e.boundingBox;null!==v&&(this.boundingBox=v.clone());var g=e.boundingSphere;return null!==g&&(this.boundingSphere=g.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var io=new Fr,oo=new Br,ao=new Sr,so=new lr,lo=new lr,co=new lr,uo=new lr,ho=new lr,po=new lr,fo=new lr,mo=new lr,vo=new lr,go=new Jn,yo=new Jn,bo=new Jn,Ao=new lr,wo=new lr;function xo(e,t){void 0===e&&(e=new ro),void 0===t&&(t=new Oi),si.call(this),this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}function Eo(e,t,n,r,i,o,a,s){if(null===(t.side===v?r.intersectTriangle(a,o,i,!0,s):r.intersectTriangle(i,o,a,t.side!==g,s)))return null;wo.copy(s),wo.applyMatrix4(e.matrixWorld);var l=n.ray.origin.distanceTo(wo);return l<n.near||l>n.far?null:{distance:l,point:wo.clone(),object:e}}function Mo(e,t,n,r,i,o,a,s,l,c,u,h){so.fromBufferAttribute(i,c),lo.fromBufferAttribute(i,u),co.fromBufferAttribute(i,h);var d=e.morphTargetInfluences;if(t.morphTargets&&o&&d){fo.set(0,0,0),mo.set(0,0,0),vo.set(0,0,0);for(var p=0,f=o.length;p<f;p++){var m=d[p],v=o[p];0!==m&&(uo.fromBufferAttribute(v,c),ho.fromBufferAttribute(v,u),po.fromBufferAttribute(v,h),a?(fo.addScaledVector(uo,m),mo.addScaledVector(ho,m),vo.addScaledVector(po,m)):(fo.addScaledVector(uo.sub(so),m),mo.addScaledVector(ho.sub(lo),m),vo.addScaledVector(po.sub(co),m)))}so.add(fo),lo.add(mo),co.add(vo)}e.isSkinnedMesh&&(e.boneTransform(c,so),e.boneTransform(u,lo),e.boneTransform(h,co));var g=Eo(e,t,n,r,so,lo,co,Ao);if(g){s&&(go.fromBufferAttribute(s,c),yo.fromBufferAttribute(s,u),bo.fromBufferAttribute(s,h),g.uv=xi.getUV(Ao,so,lo,co,go,yo,bo,new Jn)),l&&(go.fromBufferAttribute(l,c),yo.fromBufferAttribute(l,u),bo.fromBufferAttribute(l,h),g.uv2=xi.getUV(Ao,so,lo,co,go,yo,bo,new Jn));var y=new Ri(c,u,h);xi.getNormal(so,lo,co,y.normal),g.face=y}return g}xo.prototype=Object.assign(Object.create(si.prototype),{constructor:xo,isMesh:!0,copy:function(e){return si.prototype.copy.call(this,e),void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this},updateMorphTargets:function(){var e=this.geometry;if(e.isBufferGeometry){var t=e.morphAttributes,n=Object.keys(t);if(n.length>0){var r=t[n[0]];if(void 0!==r){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var i=0,o=r.length;i<o;i++){var a=r[i].name||String(i);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=i}}}}else{var s=e.morphTargets;void 0!==s&&s.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(e,t){var n,r=this.geometry,i=this.material,o=this.matrixWorld;if(void 0!==i&&(null===r.boundingSphere&&r.computeBoundingSphere(),ao.copy(r.boundingSphere),ao.applyMatrix4(o),!1!==e.ray.intersectsSphere(ao)&&(io.copy(o).invert(),oo.copy(e.ray).applyMatrix4(io),null===r.boundingBox||!1!==oo.intersectsBox(r.boundingBox))))if(r.isBufferGeometry){var a=r.index,s=r.attributes.position,l=r.morphAttributes.position,c=r.morphTargetsRelative,u=r.attributes.uv,h=r.attributes.uv2,d=r.groups,p=r.drawRange;if(null!==a)if(Array.isArray(i))for(var f=0,m=d.length;f<m;f++)for(var v=d[f],g=i[v.materialIndex],y=Math.max(v.start,p.start),b=Math.min(v.start+v.count,p.start+p.count);y<b;y+=3){var A=a.getX(y),w=a.getX(y+1),x=a.getX(y+2);(n=Mo(this,g,e,oo,s,l,c,u,h,A,w,x))&&(n.faceIndex=Math.floor(y/3),n.face.materialIndex=v.materialIndex,t.push(n))}else for(var E=Math.max(0,p.start),M=Math.min(a.count,p.start+p.count);E<M;E+=3){var _=a.getX(E),T=a.getX(E+1),S=a.getX(E+2);(n=Mo(this,i,e,oo,s,l,c,u,h,_,T,S))&&(n.faceIndex=Math.floor(E/3),t.push(n))}else if(void 0!==s)if(Array.isArray(i))for(var C=0,L=d.length;C<L;C++)for(var R=d[C],P=i[R.materialIndex],D=Math.max(R.start,p.start),O=Math.min(R.start+R.count,p.start+p.count);D<O;D+=3)(n=Mo(this,P,e,oo,s,l,c,u,h,D,D+1,D+2))&&(n.faceIndex=Math.floor(D/3),n.face.materialIndex=R.materialIndex,t.push(n));else for(var I=Math.max(0,p.start),B=Math.min(s.count,p.start+p.count);I<B;I+=3)(n=Mo(this,i,e,oo,s,l,c,u,h,I,I+1,I+2))&&(n.faceIndex=Math.floor(I/3),t.push(n))}else r.isGeometry&&console.error("THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}});var _o=function(e){function t(t,n,r,i,o,a){var s;void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=1),void 0===i&&(i=1),void 0===o&&(o=1),void 0===a&&(a=1),(s=e.call(this)||this).type="BoxGeometry",s.parameters={width:t,height:n,depth:r,widthSegments:i,heightSegments:o,depthSegments:a};var l=zn(s);i=Math.floor(i),o=Math.floor(o),a=Math.floor(a);var c=[],u=[],h=[],d=[],p=0,f=0;function m(e,t,n,r,i,o,a,s,m,v,g){for(var y=o/m,b=a/v,A=o/2,w=a/2,x=s/2,E=m+1,M=v+1,_=0,T=0,S=new lr,C=0;C<M;C++)for(var L=C*b-w,R=0;R<E;R++){var P=R*y-A;S[e]=P*r,S[t]=L*i,S[n]=x,u.push(S.x,S.y,S.z),S[e]=0,S[t]=0,S[n]=s>0?1:-1,h.push(S.x,S.y,S.z),d.push(R/m),d.push(1-C/v),_+=1}for(var D=0;D<v;D++)for(var O=0;O<m;O++){var I=p+O+E*D,B=p+O+E*(D+1),F=p+(O+1)+E*(D+1),k=p+(O+1)+E*D;c.push(I,B,k),c.push(B,F,k),T+=6}l.addGroup(f,T,g),f+=T,p+=_}return m("z","y","x",-1,-1,r,n,t,a,o,0),m("z","y","x",1,-1,r,n,-t,a,o,1),m("x","z","y",1,1,t,r,n,i,a,2),m("x","z","y",1,-1,t,r,-n,i,a,3),m("x","y","z",1,-1,t,n,r,i,o,4),m("x","y","z",-1,-1,t,n,-r,i,o,5),s.setIndex(c),s.setAttribute("position",new Wi(u,3)),s.setAttribute("normal",new Wi(h,3)),s.setAttribute("uv",new Wi(d,2)),s}return Gn(t,e),t}(ro);function To(e){var t={};for(var n in e)for(var r in t[n]={},e[n]){var i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}return t}function So(e){for(var t={},n=0;n<e.length;n++){var r=To(e[n]);for(var i in r)t[i]=r[i]}return t}var Co={clone:To,merge:So},Lo="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",Ro="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}";function Po(e){Di.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader=Lo,this.fragmentShader=Ro,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==e&&(void 0!==e.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}function Do(){si.call(this),this.type="Camera",this.matrixWorldInverse=new Fr,this.projectionMatrix=new Fr,this.projectionMatrixInverse=new Fr}function Oo(e,t,n,r){void 0===e&&(e=50),void 0===t&&(t=1),void 0===n&&(n=.1),void 0===r&&(r=2e3),Do.call(this),this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}Po.prototype=Object.create(Di.prototype),Po.prototype.constructor=Po,Po.prototype.isShaderMaterial=!0,Po.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=To(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this},Po.prototype.toJSON=function(e){var t=Di.prototype.toJSON.call(this,e);for(var n in t.glslVersion=this.glslVersion,t.uniforms={},this.uniforms){var r=this.uniforms[n].value;r&&r.isTexture?t.uniforms[n]={type:"t",value:r.toJSON(e).uuid}:r&&r.isColor?t.uniforms[n]={type:"c",value:r.getHex()}:r&&r.isVector2?t.uniforms[n]={type:"v2",value:r.toArray()}:r&&r.isVector3?t.uniforms[n]={type:"v3",value:r.toArray()}:r&&r.isVector4?t.uniforms[n]={type:"v4",value:r.toArray()}:r&&r.isMatrix3?t.uniforms[n]={type:"m3",value:r.toArray()}:r&&r.isMatrix4?t.uniforms[n]={type:"m4",value:r.toArray()}:t.uniforms[n]={value:r}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;var i={};for(var o in this.extensions)!0===this.extensions[o]&&(i[o]=!0);return Object.keys(i).length>0&&(t.extensions=i),t},Do.prototype=Object.assign(Object.create(si.prototype),{constructor:Do,isCamera:!0,copy:function(e,t){return si.prototype.copy.call(this,e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this},getWorldDirection:function(e){void 0===e&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),e=new lr),this.updateWorldMatrix(!0,!1);var t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()},updateMatrixWorld:function(e){si.prototype.updateMatrixWorld.call(this,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()},updateWorldMatrix:function(e,t){si.prototype.updateWorldMatrix.call(this,e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()},clone:function(){return(new this.constructor).copy(this)}}),Oo.prototype=Object.assign(Object.create(Do.prototype),{constructor:Oo,isPerspectiveCamera:!0,copy:function(e,t){return Do.prototype.copy.call(this,e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this},setFocalLength:function(e){var t=.5*this.getFilmHeight()/e;this.fov=2*Kn.RAD2DEG*Math.atan(t),this.updateProjectionMatrix()},getFocalLength:function(){var e=Math.tan(.5*Kn.DEG2RAD*this.fov);return.5*this.getFilmHeight()/e},getEffectiveFOV:function(){return 2*Kn.RAD2DEG*Math.atan(Math.tan(.5*Kn.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(e,t,n,r,i,o){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=this.near,t=e*Math.tan(.5*Kn.DEG2RAD*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,o=this.view;if(null!==this.view&&this.view.enabled){var a=o.fullWidth,s=o.fullHeight;i+=o.offsetX*r/a,t-=o.offsetY*n/s,r*=o.width/a,n*=o.height/s}var l=this.filmOffset;0!==l&&(i+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()},toJSON:function(e){var t=si.prototype.toJSON.call(this,e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}});var Io=90,Bo=1;function Fo(e,t,n){if(si.call(this),this.type="CubeCamera",!0===n.isWebGLCubeRenderTarget){this.renderTarget=n;var r=new Oo(Io,Bo,e,t);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new lr(1,0,0)),this.add(r);var i=new Oo(Io,Bo,e,t);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new lr(-1,0,0)),this.add(i);var o=new Oo(Io,Bo,e,t);o.layers=this.layers,o.up.set(0,0,1),o.lookAt(new lr(0,1,0)),this.add(o);var a=new Oo(Io,Bo,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new lr(0,-1,0)),this.add(a);var s=new Oo(Io,Bo,e,t);s.layers=this.layers,s.up.set(0,-1,0),s.lookAt(new lr(0,0,1)),this.add(s);var l=new Oo(Io,Bo,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new lr(0,0,-1)),this.add(l),this.update=function(e,t){null===this.parent&&this.updateMatrixWorld();var c=e.xr.enabled,u=e.getRenderTarget();e.xr.enabled=!1;var h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,r),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,o),e.setRenderTarget(n,3),e.render(t,a),e.setRenderTarget(n,4),e.render(t,s),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,l),e.setRenderTarget(u),e.xr.enabled=c}}else console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.")}function ko(e,t,n,r,i,o,a,s,l,c){e=void 0!==e?e:[],t=void 0!==t?t:ae,a=void 0!==a?a:Ne,nr.call(this,e,t,n,r,i,o,a,s,l,c),this.flipY=!1,this._needsFlipEnvMap=!0}Fo.prototype=Object.create(si.prototype),Fo.prototype.constructor=Fo,ko.prototype=Object.create(nr.prototype),ko.prototype.constructor=ko,ko.prototype.isCubeTexture=!0,Object.defineProperty(ko.prototype,"images",{get:function(){return this.image},set:function(e){this.image=e}});var No=function(e){function t(t,n,r){var i;return Number.isInteger(n)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),n=r),i=e.call(this,t,t,n)||this,Object.defineProperty(zn(i),"isWebGLCubeRenderTarget",{value:!0}),n=n||{},i.texture=new ko(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),i.texture._needsFlipEnvMap=!1,i}Gn(t,e);var n=t.prototype;return n.fromEquirectangularTexture=function(e,t){this.texture.type=t.type,this.texture.format=Ue,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;var n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},r=new _o(5,5,5),i=new Po({name:"CubemapFromEquirect",uniforms:To(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:v,blending:A});i.uniforms.tEquirect.value=t;var o=new xo(r,i),a=t.minFilter;return t.minFilter===Ee&&(t.minFilter=Ae),new Fo(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this},n.clear=function(e,t,n,r){for(var i=e.getRenderTarget(),o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,n,r);e.setRenderTarget(i)},t}(or);function Uo(e,t,n,r,i,o,a,s,l,c,u,h){nr.call(this,null,o,a,s,l,c,r,i,u,h),this.image={data:e||null,width:t||1,height:n||1},this.magFilter=void 0!==l?l:me,this.minFilter=void 0!==c?c:me,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}Uo.prototype=Object.create(nr.prototype),Uo.prototype.constructor=Uo,Uo.prototype.isDataTexture=!0;var Ho=new Sr,Go=new lr,zo=function(){function e(e,t,n,r,i,o){this.planes=[void 0!==e?e:new hi,void 0!==t?t:new hi,void 0!==n?n:new hi,void 0!==r?r:new hi,void 0!==i?i:new hi,void 0!==o?o:new hi]}var t=e.prototype;return t.set=function(e,t,n,r,i,o){var a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(i),a[5].copy(o),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){for(var t=this.planes,n=0;n<6;n++)t[n].copy(e.planes[n]);return this},t.setFromProjectionMatrix=function(e){var t=this.planes,n=e.elements,r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],l=n[5],c=n[6],u=n[7],h=n[8],d=n[9],p=n[10],f=n[11],m=n[12],v=n[13],g=n[14],y=n[15];return t[0].setComponents(a-r,u-s,f-h,y-m).normalize(),t[1].setComponents(a+r,u+s,f+h,y+m).normalize(),t[2].setComponents(a+i,u+l,f+d,y+v).normalize(),t[3].setComponents(a-i,u-l,f-d,y-v).normalize(),t[4].setComponents(a-o,u-c,f-p,y-g).normalize(),t[5].setComponents(a+o,u+c,f+p,y+g).normalize(),this},t.intersectsObject=function(e){var t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),Ho.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(Ho)},t.intersectsSprite=function(e){return Ho.center.set(0,0,0),Ho.radius=.7071067811865476,Ho.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ho)},t.intersectsSphere=function(e){for(var t=this.planes,n=e.center,r=-e.radius,i=0;i<6;i++)if(t[i].distanceToPoint(n)<r)return!1;return!0},t.intersectsBox=function(e){for(var t=this.planes,n=0;n<6;n++){var r=t[n];if(Go.x=r.normal.x>0?e.max.x:e.min.x,Go.y=r.normal.y>0?e.max.y:e.min.y,Go.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Go)<0)return!1}return!0},t.containsPoint=function(e){for(var t=this.planes,n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0},e}();function jo(){var e=null,t=!1,n=null,r=null;function i(t,o){n(t,o),r=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(r=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(r),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function Vo(e,t){var n=t.isWebGL2,r=new WeakMap;function i(t,r){var i=t.array,o=t.usage,a=e.createBuffer();e.bindBuffer(r,a),e.bufferData(r,i,o),t.onUploadCallback();var s=5126;return i instanceof Float32Array?s=5126:i instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):i instanceof Uint16Array?t.isFloat16BufferAttribute?n?s=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):s=5123:i instanceof Int16Array?s=5122:i instanceof Uint32Array?s=5125:i instanceof Int32Array?s=5124:i instanceof Int8Array?s=5120:i instanceof Uint8Array&&(s=5121),{buffer:a,type:s,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}function o(t,r,i){var o=r.array,a=r.updateRange;e.bindBuffer(i,t),-1===a.count?e.bufferSubData(i,0,o):(n?e.bufferSubData(i,a.offset*o.BYTES_PER_ELEMENT,o,a.offset,a.count):e.bufferSubData(i,a.offset*o.BYTES_PER_ELEMENT,o.subarray(a.offset,a.offset+a.count)),a.count=-1)}function a(e){return e.isInterleavedBufferAttribute&&(e=e.data),r.get(e)}function s(t){t.isInterleavedBufferAttribute&&(t=t.data);var n=r.get(t);n&&(e.deleteBuffer(n.buffer),r.delete(t))}function l(e,t){if(e.isGLBufferAttribute){var n=r.get(e);(!n||n.version<e.version)&&r.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version})}else{e.isInterleavedBufferAttribute&&(e=e.data);var a=r.get(e);void 0===a?r.set(e,i(e,t)):a.version<e.version&&(o(a.buffer,e,t),a.version=e.version)}}return{get:a,remove:s,update:l}}var Wo=function(e){function t(t,n,r,i){var o;void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=1),void 0===i&&(i=1),(o=e.call(this)||this).type="PlaneGeometry",o.parameters={width:t,height:n,widthSegments:r,heightSegments:i};for(var a=t/2,s=n/2,l=Math.floor(r),c=Math.floor(i),u=l+1,h=c+1,d=t/l,p=n/c,f=[],m=[],v=[],g=[],y=0;y<h;y++)for(var b=y*p-s,A=0;A<u;A++){var w=A*d-a;m.push(w,-b,0),v.push(0,0,1),g.push(A/l),g.push(1-y/c)}for(var x=0;x<c;x++)for(var E=0;E<l;E++){var M=E+u*x,_=E+u*(x+1),T=E+1+u*(x+1),S=E+1+u*x;f.push(M,_,S),f.push(_,T,S)}return o.setIndex(f),o.setAttribute("position",new Wi(m,3)),o.setAttribute("normal",new Wi(v,3)),o.setAttribute("uv",new Wi(g,2)),o}return Gn(t,e),t}(ro),qo={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor.xyz *= color.xyz;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(\t\t0, 1,\t\t0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tmat3 tsn = mat3( S, T, N );\n\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(\t1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,\t1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,\t1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmissionmap_fragment:"#ifdef USE_TRANSMISSIONMAP\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n#endif",transmissionmap_pars_fragment:"#ifdef USE_TRANSMISSIONMAP\n\tuniform sampler2D transmissionMap;\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <transmissionmap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t#endif\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <transmissionmap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}"},Xo={common:{diffuse:{value:new Li(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new $n},uv2Transform:{value:new $n},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Jn(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Li(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Li(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new $n}},sprite:{diffuse:{value:new Li(15658734)},opacity:{value:1},center:{value:new Jn(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new $n}}},Yo={basic:{uniforms:So([Xo.common,Xo.specularmap,Xo.envmap,Xo.aomap,Xo.lightmap,Xo.fog]),vertexShader:qo.meshbasic_vert,fragmentShader:qo.meshbasic_frag},lambert:{uniforms:So([Xo.common,Xo.specularmap,Xo.envmap,Xo.aomap,Xo.lightmap,Xo.emissivemap,Xo.fog,Xo.lights,{emissive:{value:new Li(0)}}]),vertexShader:qo.meshlambert_vert,fragmentShader:qo.meshlambert_frag},phong:{uniforms:So([Xo.common,Xo.specularmap,Xo.envmap,Xo.aomap,Xo.lightmap,Xo.emissivemap,Xo.bumpmap,Xo.normalmap,Xo.displacementmap,Xo.fog,Xo.lights,{emissive:{value:new Li(0)},specular:{value:new Li(1118481)},shininess:{value:30}}]),vertexShader:qo.meshphong_vert,fragmentShader:qo.meshphong_frag},standard:{uniforms:So([Xo.common,Xo.envmap,Xo.aomap,Xo.lightmap,Xo.emissivemap,Xo.bumpmap,Xo.normalmap,Xo.displacementmap,Xo.roughnessmap,Xo.metalnessmap,Xo.fog,Xo.lights,{emissive:{value:new Li(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:qo.meshphysical_vert,fragmentShader:qo.meshphysical_frag},toon:{uniforms:So([Xo.common,Xo.aomap,Xo.lightmap,Xo.emissivemap,Xo.bumpmap,Xo.normalmap,Xo.displacementmap,Xo.gradientmap,Xo.fog,Xo.lights,{emissive:{value:new Li(0)}}]),vertexShader:qo.meshtoon_vert,fragmentShader:qo.meshtoon_frag},matcap:{uniforms:So([Xo.common,Xo.bumpmap,Xo.normalmap,Xo.displacementmap,Xo.fog,{matcap:{value:null}}]),vertexShader:qo.meshmatcap_vert,fragmentShader:qo.meshmatcap_frag},points:{uniforms:So([Xo.points,Xo.fog]),vertexShader:qo.points_vert,fragmentShader:qo.points_frag},dashed:{uniforms:So([Xo.common,Xo.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:qo.linedashed_vert,fragmentShader:qo.linedashed_frag},depth:{uniforms:So([Xo.common,Xo.displacementmap]),vertexShader:qo.depth_vert,fragmentShader:qo.depth_frag},normal:{uniforms:So([Xo.common,Xo.bumpmap,Xo.normalmap,Xo.displacementmap,{opacity:{value:1}}]),vertexShader:qo.normal_vert,fragmentShader:qo.normal_frag},sprite:{uniforms:So([Xo.sprite,Xo.fog]),vertexShader:qo.sprite_vert,fragmentShader:qo.sprite_frag},background:{uniforms:{uvTransform:{value:new $n},t2D:{value:null}},vertexShader:qo.background_vert,fragmentShader:qo.background_frag},cube:{uniforms:So([Xo.envmap,{opacity:{value:1}}]),vertexShader:qo.cube_vert,fragmentShader:qo.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:qo.equirect_vert,fragmentShader:qo.equirect_frag},distanceRGBA:{uniforms:So([Xo.common,Xo.displacementmap,{referencePosition:{value:new lr},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:qo.distanceRGBA_vert,fragmentShader:qo.distanceRGBA_frag},shadow:{uniforms:So([Xo.lights,Xo.fog,{color:{value:new Li(0)},opacity:{value:1}}]),vertexShader:qo.shadow_vert,fragmentShader:qo.shadow_frag}};function Qo(e,t,n,r,i){var o,a,s=new Li(0),l=0,c=null,u=0,h=null;function d(n,i,d,f){var g=!0===i.isScene?i.background:null;g&&g.isTexture&&(g=t.get(g));var y=e.xr,b=y.getSession&&y.getSession();b&&"additive"===b.environmentBlendMode&&(g=null),null===g?p(s,l):g&&g.isColor&&(p(g,1),f=!0),(e.autoClear||f)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),g&&(g.isCubeTexture||g.isWebGLCubeRenderTarget||g.mapping===ue)?(void 0===a&&((a=new xo(new _o(1,1,1),new Po({name:"BackgroundCubeMaterial",uniforms:To(Yo.cube.uniforms),vertexShader:Yo.cube.vertexShader,fragmentShader:Yo.cube.fragmentShader,side:v,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.deleteAttribute("normal"),a.geometry.deleteAttribute("uv"),a.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(a.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(a)),g.isWebGLCubeRenderTarget&&(g=g.texture),a.material.uniforms.envMap.value=g,a.material.uniforms.flipEnvMap.value=g.isCubeTexture&&g._needsFlipEnvMap?-1:1,c===g&&u===g.version&&h===e.toneMapping||(a.material.needsUpdate=!0,c=g,u=g.version,h=e.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null)):g&&g.isTexture&&(void 0===o&&((o=new xo(new Wo(2,2),new Po({name:"BackgroundMaterial",uniforms:To(Yo.background.uniforms),vertexShader:Yo.background.vertexShader,fragmentShader:Yo.background.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(o)),o.material.uniforms.t2D.value=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),o.material.uniforms.uvTransform.value.copy(g.matrix),c===g&&u===g.version&&h===e.toneMapping||(o.material.needsUpdate=!0,c=g,u=g.version,h=e.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null))}function p(e,t){n.buffers.color.setClear(e.r,e.g,e.b,t,i)}return{getClearColor:function(){return s},setClearColor:function(e,t){void 0===t&&(t=1),s.set(e),p(s,l=t)},getClearAlpha:function(){return l},setClearAlpha:function(e){p(s,l=e)},render:d}}function Zo(e,t,n,r){var i=e.getParameter(34921),o=r.isWebGL2?null:t.get("OES_vertex_array_object"),a=r.isWebGL2||null!==o,s={},l=m(null),c=l;function u(t,r,i,o,s){var l=!1;if(a){var u=f(o,i,r);c!==u&&d((c=u).object),(l=v(o,s))&&g(o,s)}else{var h=!0===r.wireframe;c.geometry===o.id&&c.program===i.id&&c.wireframe===h||(c.geometry=o.id,c.program=i.id,c.wireframe=h,l=!0)}!0===t.isInstancedMesh&&(l=!0),null!==s&&n.update(s,34963),l&&(E(t,r,i,o),null!==s&&e.bindBuffer(34963,n.get(s).buffer))}function h(){return r.isWebGL2?e.createVertexArray():o.createVertexArrayOES()}function d(t){return r.isWebGL2?e.bindVertexArray(t):o.bindVertexArrayOES(t)}function p(t){return r.isWebGL2?e.deleteVertexArray(t):o.deleteVertexArrayOES(t)}function f(e,t,n){var r=!0===n.wireframe,i=s[e.id];void 0===i&&(i={},s[e.id]=i);var o=i[t.id];void 0===o&&(o={},i[t.id]=o);var a=o[r];return void 0===a&&(a=m(h()),o[r]=a),a}function m(e){for(var t=[],n=[],r=[],o=0;o<i;o++)t[o]=0,n[o]=0,r[o]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function v(e,t){var n=c.attributes,r=e.attributes,i=0;for(var o in r){var a=n[o],s=r[o];if(void 0===a)return!0;if(a.attribute!==s)return!0;if(a.data!==s.data)return!0;i++}return c.attributesNum!==i||c.index!==t}function g(e,t){var n={},r=e.attributes,i=0;for(var o in r){var a=r[o],s={};s.attribute=a,a.data&&(s.data=a.data),n[o]=s,i++}c.attributes=n,c.attributesNum=i,c.index=t}function y(){for(var e=c.newAttributes,t=0,n=e.length;t<n;t++)e[t]=0}function b(e){A(e,0)}function A(n,i){var o=c.newAttributes,a=c.enabledAttributes,s=c.attributeDivisors;o[n]=1,0===a[n]&&(e.enableVertexAttribArray(n),a[n]=1),s[n]!==i&&((r.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[r.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,i),s[n]=i)}function w(){for(var t=c.newAttributes,n=c.enabledAttributes,r=0,i=n.length;r<i;r++)n[r]!==t[r]&&(e.disableVertexAttribArray(r),n[r]=0)}function x(t,n,i,o,a,s){!0!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,o,a,s):e.vertexAttribIPointer(t,n,i,a,s)}function E(i,o,a,s){if(!1!==r.isWebGL2||!i.isInstancedMesh&&!s.isInstancedBufferGeometry||null!==t.get("ANGLE_instanced_arrays")){y();var l=s.attributes,c=a.getAttributes(),u=o.defaultAttributeValues;for(var h in c){var d=c[h];if(d>=0){var p=l[h];if(void 0!==p){var f=p.normalized,m=p.itemSize,v=n.get(p);if(void 0===v)continue;var g=v.buffer,E=v.type,M=v.bytesPerElement;if(p.isInterleavedBufferAttribute){var _=p.data,T=_.stride,S=p.offset;_&&_.isInstancedInterleavedBuffer?(A(d,_.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=_.meshPerAttribute*_.count)):b(d),e.bindBuffer(34962,g),x(d,m,E,f,T*M,S*M)}else p.isInstancedBufferAttribute?(A(d,p.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=p.meshPerAttribute*p.count)):b(d),e.bindBuffer(34962,g),x(d,m,E,f,0,0)}else if("instanceMatrix"===h){var C=n.get(i.instanceMatrix);if(void 0===C)continue;var L=C.buffer,R=C.type;A(d+0,1),A(d+1,1),A(d+2,1),A(d+3,1),e.bindBuffer(34962,L),e.vertexAttribPointer(d+0,4,R,!1,64,0),e.vertexAttribPointer(d+1,4,R,!1,64,16),e.vertexAttribPointer(d+2,4,R,!1,64,32),e.vertexAttribPointer(d+3,4,R,!1,64,48)}else if("instanceColor"===h){var P=n.get(i.instanceColor);if(void 0===P)continue;var D=P.buffer,O=P.type;A(d,1),e.bindBuffer(34962,D),e.vertexAttribPointer(d,3,O,!1,12,0)}else if(void 0!==u){var I=u[h];if(void 0!==I)switch(I.length){case 2:e.vertexAttrib2fv(d,I);break;case 3:e.vertexAttrib3fv(d,I);break;case 4:e.vertexAttrib4fv(d,I);break;default:e.vertexAttrib1fv(d,I)}}}}w()}}function M(){for(var e in S(),s){var t=s[e];for(var n in t){var r=t[n];for(var i in r)p(r[i].object),delete r[i];delete t[n]}delete s[e]}}function _(e){if(void 0!==s[e.id]){var t=s[e.id];for(var n in t){var r=t[n];for(var i in r)p(r[i].object),delete r[i];delete t[n]}delete s[e.id]}}function T(e){for(var t in s){var n=s[t];if(void 0!==n[e.id]){var r=n[e.id];for(var i in r)p(r[i].object),delete r[i];delete n[e.id]}}}function S(){C(),c!==l&&d((c=l).object)}function C(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:u,reset:S,resetDefaultState:C,dispose:M,releaseStatesOfGeometry:_,releaseStatesOfProgram:T,initAttributes:y,enableAttribute:b,disableUnusedAttributes:w}}function Ko(e,t,n,r){var i,o=r.isWebGL2;function a(e){i=e}function s(t,r){e.drawArrays(i,t,r),n.update(r,i,1)}function l(r,a,s){if(0!==s){var l,c;if(o)l=e,c="drawArraysInstanced";else if(c="drawArraysInstancedANGLE",null===(l=t.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](i,r,a,s),n.update(a,i,s)}}this.setMode=a,this.render=s,this.renderInstances=l}function Jo(e,t,n){var r;function i(){if(void 0!==r)return r;var n=t.get("EXT_texture_filter_anisotropic");return r=null!==n?e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function o(t){if("highp"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}var a="undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||"undefined"!==typeof WebGL2ComputeRenderingContext&&e instanceof WebGL2ComputeRenderingContext,s=void 0!==n.precision?n.precision:"highp",l=o(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);var c=!0===n.logarithmicDepthBuffer,u=e.getParameter(34930),h=e.getParameter(35660),d=e.getParameter(3379),p=e.getParameter(34076),f=e.getParameter(34921),m=e.getParameter(36347),v=e.getParameter(36348),g=e.getParameter(36349),y=h>0,b=a||!!t.get("OES_texture_float");return{isWebGL2:a,getMaxAnisotropy:i,getMaxPrecision:o,precision:s,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:h,maxTextureSize:d,maxCubemapSize:p,maxAttributes:f,maxVertexUniforms:m,maxVaryings:v,maxFragmentUniforms:g,vertexTextures:y,floatFragmentTextures:b,floatVertexTextures:y&&b,maxSamples:a?e.getParameter(36183):0}}function $o(e){var t=this,n=null,r=0,i=!1,o=!1,a=new hi,s=new $n,l={value:null,needsUpdate:!1};function c(){l.value!==n&&(l.value=n,l.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0}function u(e,n,r,i){var o=null!==e?e.length:0,c=null;if(0!==o){if(c=l.value,!0!==i||null===c){var u=r+4*o,h=n.matrixWorldInverse;s.getNormalMatrix(h),(null===c||c.length<u)&&(c=new Float32Array(u));for(var d=0,p=r;d!==o;++d,p+=4)a.copy(e[d]).applyMatrix4(h,s),a.normal.toArray(c,p),c[p+3]=a.constant}l.value=c,l.needsUpdate=!0}return t.numPlanes=o,t.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t,o){var a=0!==e.length||t||0!==r||i;return i=t,n=u(e,o,0),r=e.length,a},this.beginShadows=function(){o=!0,u(null)},this.endShadows=function(){o=!1,c()},this.setState=function(t,a,s){var h=t.clippingPlanes,d=t.clipIntersection,p=t.clipShadows,f=e.get(t);if(!i||null===h||0===h.length||o&&!p)o?u(null):c();else{var m=o?0:r,v=4*m,g=f.clippingState||null;l.value=g,g=u(h,a,v,s);for(var y=0;y!==v;++y)g[y]=n[y];f.clippingState=g,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=m}}}function ea(e){var t=new WeakMap;function n(e,t){return t===le?e.mapping=ae:t===ce&&(e.mapping=se),e}function r(r){if(r&&r.isTexture){var o=r.mapping;if(o===le||o===ce){if(t.has(r))return n(t.get(r).texture,r.mapping);var a=r.image;if(a&&a.height>0){var s=e.getRenderList(),l=e.getRenderTarget(),c=new No(a.height/2);return c.fromEquirectangularTexture(e,r),t.set(r,c),e.setRenderTarget(l),e.setRenderList(s),r.addEventListener("dispose",i),n(c.texture,r.mapping)}return null}}return r}function i(e){var n=e.target;n.removeEventListener("dispose",i);var r=t.get(n);void 0!==r&&(t.delete(n),r.dispose())}function o(){t=new WeakMap}return{get:r,dispose:o}}function ta(e){var t={};function n(n){if(void 0!==t[n])return t[n];var r;switch(n){case"WEBGL_depth_texture":r=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=e.getExtension(n)}return t[n]=r,r}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float")},get:function(e){var t=n(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function na(e,t,n,r){var i={},o=new WeakMap;function a(e){var s=e.target;for(var l in null!==s.index&&t.remove(s.index),s.attributes)t.remove(s.attributes[l]);s.removeEventListener("dispose",a),delete i[s.id];var c=o.get(s);c&&(t.remove(c),o.delete(s)),r.releaseStatesOfGeometry(s),!0===s.isInstancedBufferGeometry&&delete s._maxInstanceCount,n.memory.geometries--}function s(e,t){return!0===i[t.id]||(t.addEventListener("dispose",a),i[t.id]=!0,n.memory.geometries++),t}function l(e){var n=e.attributes;for(var r in n)t.update(n[r],34962);var i=e.morphAttributes;for(var o in i)for(var a=i[o],s=0,l=a.length;s<l;s++)t.update(a[s],34962)}function c(e){var n=[],r=e.index,i=e.attributes.position,a=0;if(null!==r){var s=r.array;a=r.version;for(var l=0,c=s.length;l<c;l+=3){var u=s[l+0],h=s[l+1],d=s[l+2];n.push(u,h,h,d,d,u)}}else{var p=i.array;a=i.version;for(var f=0,m=p.length/3-1;f<m;f+=3){var v=f+0,g=f+1,y=f+2;n.push(v,g,g,y,y,v)}}var b=new(Xi(n)>65535?ji:Gi)(n,1);b.version=a;var A=o.get(e);A&&t.remove(A),o.set(e,b)}function u(e){var t=o.get(e);if(t){var n=e.index;null!==n&&t.version<n.version&&c(e)}else c(e);return o.get(e)}return{get:s,update:l,getWireframeAttribute:u}}function ra(e,t,n,r){var i,o,a,s=r.isWebGL2;function l(e){i=e}function c(e){o=e.type,a=e.bytesPerElement}function u(t,r){e.drawElements(i,r,o,t*a),n.update(r,i,1)}function h(r,l,c){if(0!==c){var u,h;if(s)u=e,h="drawElementsInstanced";else if(h="drawElementsInstancedANGLE",null===(u=t.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");u[h](i,l,o,r*a,c),n.update(l,i,c)}}this.setMode=l,this.setIndex=c,this.render=u,this.renderInstances=h}function ia(e){var t={frame:0,calls:0,triangles:0,points:0,lines:0};function n(e,n,r){switch(t.calls++,n){case 4:t.triangles+=r*(e/3);break;case 1:t.lines+=r*(e/2);break;case 3:t.lines+=r*(e-1);break;case 2:t.lines+=r*e;break;case 0:t.points+=r*e;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}function r(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:r,update:n}}function oa(e,t){return e[0]-t[0]}function aa(e,t){return Math.abs(t[1])-Math.abs(e[1])}function sa(e){for(var t={},n=new Float32Array(8),r=[],i=0;i<8;i++)r[i]=[i,0];function o(i,o,a,s){var l=i.morphTargetInfluences,c=void 0===l?0:l.length,u=t[o.id];if(void 0===u){u=[];for(var h=0;h<c;h++)u[h]=[h,0];t[o.id]=u}for(var d=0;d<c;d++){var p=u[d];p[0]=d,p[1]=l[d]}u.sort(aa);for(var f=0;f<8;f++)f<c&&u[f][1]?(r[f][0]=u[f][0],r[f][1]=u[f][1]):(r[f][0]=Number.MAX_SAFE_INTEGER,r[f][1]=0);r.sort(oa);for(var m=a.morphTargets&&o.morphAttributes.position,v=a.morphNormals&&o.morphAttributes.normal,g=0,y=0;y<8;y++){var b=r[y],A=b[0],w=b[1];A!==Number.MAX_SAFE_INTEGER&&w?(m&&o.getAttribute("morphTarget"+y)!==m[A]&&o.setAttribute("morphTarget"+y,m[A]),v&&o.getAttribute("morphNormal"+y)!==v[A]&&o.setAttribute("morphNormal"+y,v[A]),n[y]=w,g+=w):(m&&!0===o.hasAttribute("morphTarget"+y)&&o.deleteAttribute("morphTarget"+y),v&&!0===o.hasAttribute("morphNormal"+y)&&o.deleteAttribute("morphNormal"+y),n[y]=0)}var x=o.morphTargetsRelative?1:1-g;s.getUniforms().setValue(e,"morphTargetBaseInfluence",x),s.getUniforms().setValue(e,"morphTargetInfluences",n)}return{update:o}}function la(e,t,n,r){var i=new WeakMap;function o(e){var o=r.render.frame,a=e.geometry,l=t.get(e,a);return i.get(l)!==o&&(t.update(l),i.set(l,o)),e.isInstancedMesh&&(!1===e.hasEventListener("dispose",s)&&e.addEventListener("dispose",s),n.update(e.instanceMatrix,34962),null!==e.instanceColor&&n.update(e.instanceColor,34962)),l}function a(){i=new WeakMap}function s(e){var t=e.target;t.removeEventListener("dispose",s),n.remove(t.instanceMatrix),null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:o,dispose:a}}function ca(e,t,n,r){void 0===e&&(e=null),void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=1),nr.call(this,null),this.image={data:e,width:t,height:n,depth:r},this.magFilter=me,this.minFilter=me,this.wrapR=pe,this.generateMipmaps=!1,this.flipY=!1,this.needsUpdate=!0}function ua(e,t,n,r){void 0===e&&(e=null),void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=1),nr.call(this,null),this.image={data:e,width:t,height:n,depth:r},this.magFilter=me,this.minFilter=me,this.wrapR=pe,this.generateMipmaps=!1,this.flipY=!1,this.needsUpdate=!0}Yo.physical={uniforms:So([Yo.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Jn(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new Li(0)},transmission:{value:0},transmissionMap:{value:null}}]),vertexShader:qo.meshphysical_vert,fragmentShader:qo.meshphysical_frag},ca.prototype=Object.create(nr.prototype),ca.prototype.constructor=ca,ca.prototype.isDataTexture2DArray=!0,ua.prototype=Object.create(nr.prototype),ua.prototype.constructor=ua,ua.prototype.isDataTexture3D=!0;var ha=new nr,da=new ca,pa=new ua,fa=new ko,ma=[],va=[],ga=new Float32Array(16),ya=new Float32Array(9),ba=new Float32Array(4);function Aa(e,t,n){var r=e[0];if(r<=0||r>0)return e;var i=t*n,o=ma[i];if(void 0===o&&(o=new Float32Array(i),ma[i]=o),0!==t){r.toArray(o,0);for(var a=1,s=0;a!==t;++a)s+=n,e[a].toArray(o,s)}return o}function wa(e,t){if(e.length!==t.length)return!1;for(var n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}function xa(e,t){for(var n=0,r=t.length;n<r;n++)e[n]=t[n]}function Ea(e,t){var n=va[t];void 0===n&&(n=new Int32Array(t),va[t]=n);for(var r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function Ma(e,t){var n=this.cache;n[0]!==t&&(e.uniform1f(this.addr,t),n[0]=t)}function _a(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y||(e.uniform2f(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(wa(n,t))return;e.uniform2fv(this.addr,t),xa(n,t)}}function Ta(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z||(e.uniform3f(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else if(void 0!==t.r)n[0]===t.r&&n[1]===t.g&&n[2]===t.b||(e.uniform3f(this.addr,t.r,t.g,t.b),n[0]=t.r,n[1]=t.g,n[2]=t.b);else{if(wa(n,t))return;e.uniform3fv(this.addr,t),xa(n,t)}}function Sa(e,t){var n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z&&n[3]===t.w||(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(wa(n,t))return;e.uniform4fv(this.addr,t),xa(n,t)}}function Ca(e,t){var n=this.cache,r=t.elements;if(void 0===r){if(wa(n,t))return;e.uniformMatrix2fv(this.addr,!1,t),xa(n,t)}else{if(wa(n,r))return;ba.set(r),e.uniformMatrix2fv(this.addr,!1,ba),xa(n,r)}}function La(e,t){var n=this.cache,r=t.elements;if(void 0===r){if(wa(n,t))return;e.uniformMatrix3fv(this.addr,!1,t),xa(n,t)}else{if(wa(n,r))return;ya.set(r),e.uniformMatrix3fv(this.addr,!1,ya),xa(n,r)}}function Ra(e,t){var n=this.cache,r=t.elements;if(void 0===r){if(wa(n,t))return;e.uniformMatrix4fv(this.addr,!1,t),xa(n,t)}else{if(wa(n,r))return;ga.set(r),e.uniformMatrix4fv(this.addr,!1,ga),xa(n,r)}}function Pa(e,t,n){var r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.safeSetTexture2D(t||ha,i)}function Da(e,t,n){var r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture2DArray(t||da,i)}function Oa(e,t,n){var r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture3D(t||pa,i)}function Ia(e,t,n){var r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.safeSetTextureCube(t||fa,i)}function Ba(e,t){var n=this.cache;n[0]!==t&&(e.uniform1i(this.addr,t),n[0]=t)}function Fa(e,t){var n=this.cache;wa(n,t)||(e.uniform2iv(this.addr,t),xa(n,t))}function ka(e,t){var n=this.cache;wa(n,t)||(e.uniform3iv(this.addr,t),xa(n,t))}function Na(e,t){var n=this.cache;wa(n,t)||(e.uniform4iv(this.addr,t),xa(n,t))}function Ua(e,t){var n=this.cache;n[0]!==t&&(e.uniform1ui(this.addr,t),n[0]=t)}function Ha(e){switch(e){case 5126:return Ma;case 35664:return _a;case 35665:return Ta;case 35666:return Sa;case 35674:return Ca;case 35675:return La;case 35676:return Ra;case 5124:case 35670:return Ba;case 35667:case 35671:return Fa;case 35668:case 35672:return ka;case 35669:case 35673:return Na;case 5125:return Ua;case 35678:case 36198:case 36298:case 36306:case 35682:return Pa;case 35679:case 36299:case 36307:return Oa;case 35680:case 36300:case 36308:case 36293:return Ia;case 36289:case 36303:case 36311:case 36292:return Da}}function Ga(e,t){e.uniform1fv(this.addr,t)}function za(e,t){e.uniform1iv(this.addr,t)}function ja(e,t){e.uniform2iv(this.addr,t)}function Va(e,t){e.uniform3iv(this.addr,t)}function Wa(e,t){e.uniform4iv(this.addr,t)}function qa(e,t){var n=Aa(t,this.size,2);e.uniform2fv(this.addr,n)}function Xa(e,t){var n=Aa(t,this.size,3);e.uniform3fv(this.addr,n)}function Ya(e,t){var n=Aa(t,this.size,4);e.uniform4fv(this.addr,n)}function Qa(e,t){var n=Aa(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,n)}function Za(e,t){var n=Aa(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,n)}function Ka(e,t){var n=Aa(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,n)}function Ja(e,t,n){var r=t.length,i=Ea(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.safeSetTexture2D(t[o]||ha,i[o])}function $a(e,t,n){var r=t.length,i=Ea(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.safeSetTextureCube(t[o]||fa,i[o])}function es(e){switch(e){case 5126:return Ga;case 35664:return qa;case 35665:return Xa;case 35666:return Ya;case 35674:return Qa;case 35675:return Za;case 35676:return Ka;case 5124:case 35670:return za;case 35667:case 35671:return ja;case 35668:case 35672:return Va;case 35669:case 35673:return Wa;case 35678:case 36198:case 36298:case 36306:case 35682:return Ja;case 35680:case 36300:case 36308:case 36293:return $a}}function ts(e,t,n){this.id=e,this.addr=n,this.cache=[],this.setValue=Ha(t.type)}function ns(e,t,n){this.id=e,this.addr=n,this.cache=[],this.size=t.size,this.setValue=es(t.type)}function rs(e){this.id=e,this.seq=[],this.map={}}ns.prototype.updateCache=function(e){var t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length)),xa(t,e)},rs.prototype.setValue=function(e,t,n){for(var r=this.seq,i=0,o=r.length;i!==o;++i){var a=r[i];a.setValue(e,t[a.id],n)}};var is=/(\w+)(\])?(\[|\.)?/g;function os(e,t){e.seq.push(t),e.map[t.id]=t}function as(e,t,n){var r=e.name,i=r.length;for(is.lastIndex=0;;){var o=is.exec(r),a=is.lastIndex,s=o[1],l="]"===o[2],c=o[3];if(l&&(s|=0),void 0===c||"["===c&&a+2===i){os(n,void 0===c?new ts(s,e,t):new ns(s,e,t));break}var u=n.map[s];void 0===u&&os(n,u=new rs(s)),n=u}}function ss(e,t){this.seq=[],this.map={};for(var n=e.getProgramParameter(t,35718),r=0;r<n;++r){var i=e.getActiveUniform(t,r);as(i,e.getUniformLocation(t,i.name),this)}}function ls(e,t,n){var r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}ss.prototype.setValue=function(e,t,n,r){var i=this.map[t];void 0!==i&&i.setValue(e,n,r)},ss.prototype.setOptional=function(e,t,n){var r=t[n];void 0!==r&&this.setValue(e,n,r)},ss.upload=function(e,t,n,r){for(var i=0,o=t.length;i!==o;++i){var a=t[i],s=n[a.id];!1!==s.needsUpdate&&a.setValue(e,s.value,r)}},ss.seqWithValue=function(e,t){for(var n=[],r=0,i=e.length;r!==i;++r){var o=e[r];o.id in t&&n.push(o)}return n};var cs=0;function us(e){for(var t=e.split("\n"),n=0;n<t.length;n++)t[n]=n+1+": "+t[n];return t.join("\n")}function hs(e){switch(e){case Kt:return["Linear","( value )"];case Jt:return["sRGB","( value )"];case en:return["RGBE","( value )"];case nn:return["RGBM","( value, 7.0 )"];case rn:return["RGBM","( value, 16.0 )"];case on:return["RGBD","( value, 256.0 )"];case $t:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case tn:return["LogLuv","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",e),["Linear","( value )"]}}function ds(e,t,n){var r=e.getShaderParameter(t,35713),i=e.getShaderInfoLog(t).trim();return r&&""===i?"":"THREE.WebGLShader: gl.getShaderInfoLog() "+n+"\n"+i+us(e.getShaderSource(t))}function ps(e,t){var n=hs(t);return"vec4 "+e+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function fs(e,t){var n=hs(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function ms(e,t){var n;switch(t){case ee:n="Linear";break;case te:n="Reinhard";break;case ne:n="OptimizedCineon";break;case re:n="ACESFilmic";break;case ie:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),n="Linear"}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function vs(e){return[e.extensionDerivatives||e.envMapCubeUV||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||"physical"===e.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(e.extensionShaderTextureLOD||e.envMap)&&e.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(bs).join("\n")}function gs(e){var t=[];for(var n in e){var r=e[n];!1!==r&&t.push("#define "+n+" "+r)}return t.join("\n")}function ys(e,t){for(var n={},r=e.getProgramParameter(t,35721),i=0;i<r;i++){var o=e.getActiveAttrib(t,i).name;n[o]=e.getAttribLocation(t,o)}return n}function bs(e){return""!==e}function As(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function ws(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}var xs=/^[ \t]*#include +<([\w\d./]+)>/gm;function Es(e){return e.replace(xs,Ms)}function Ms(e,t){var n=qo[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return Es(n)}var _s=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Ts=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Ss(e){return e.replace(Ts,Ls).replace(_s,Cs)}function Cs(e,t,n,r){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Ls(e,t,n,r)}function Ls(e,t,n,r){for(var i="",o=parseInt(t);o<parseInt(n);o++)i+=r.replace(/\[\s*i\s*\]/g,"[ "+o+" ]").replace(/UNROLLED_LOOP_INDEX/g,o);return i}function Rs(e){var t="precision "+e.precision+" float;\nprecision "+e.precision+" int;";return"highp"===e.precision?t+="\n#define HIGH_PRECISION":"mediump"===e.precision?t+="\n#define MEDIUM_PRECISION":"lowp"===e.precision&&(t+="\n#define LOW_PRECISION"),t}function Ps(e){var t="SHADOWMAP_TYPE_BASIC";return e.shadowMapType===d?t="SHADOWMAP_TYPE_PCF":e.shadowMapType===p?t="SHADOWMAP_TYPE_PCF_SOFT":e.shadowMapType===f&&(t="SHADOWMAP_TYPE_VSM"),t}function Ds(e){var t="ENVMAP_TYPE_CUBE";if(e.envMap)switch(e.envMapMode){case ae:case se:t="ENVMAP_TYPE_CUBE";break;case ue:case he:t="ENVMAP_TYPE_CUBE_UV"}return t}function Os(e){var t="ENVMAP_MODE_REFLECTION";if(e.envMap)switch(e.envMapMode){case se:case he:t="ENVMAP_MODE_REFRACTION"}return t}function Is(e){var t="ENVMAP_BLENDING_NONE";if(e.envMap)switch(e.combine){case Z:t="ENVMAP_BLENDING_MULTIPLY";break;case K:t="ENVMAP_BLENDING_MIX";break;case J:t="ENVMAP_BLENDING_ADD"}return t}function Bs(e,t,n,r){var i,o,a=e.getContext(),s=n.defines,l=n.vertexShader,c=n.fragmentShader,u=Ps(n),h=Ds(n),d=Os(n),p=Is(n),f=e.gammaFactor>0?e.gammaFactor:1,m=n.isWebGL2?"":vs(n),v=gs(s),g=a.createProgram(),y=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?((i=[v].filter(bs).join("\n")).length>0&&(i+="\n"),(o=[m,v].filter(bs).join("\n")).length>0&&(o+="\n")):(i=[Rs(n),"#define SHADER_NAME "+n.shaderName,v,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+f,"#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(bs).join("\n"),o=[m,Rs(n),"#define SHADER_NAME "+n.shaderName,v,n.alphaTest?"#define ALPHATEST "+n.alphaTest+(n.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+f,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+h:"",n.envMap?"#define "+d:"",n.envMap?"#define "+p:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.sheen?"#define USE_SHEEN":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==$?"#define TONE_MAPPING":"",n.toneMapping!==$?qo.tonemapping_pars_fragment:"",n.toneMapping!==$?ms("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",qo.encodings_pars_fragment,n.map?ps("mapTexelToLinear",n.mapEncoding):"",n.matcap?ps("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?ps("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?ps("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.lightMap?ps("lightMapTexelToLinear",n.lightMapEncoding):"",fs("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(bs).join("\n")),l=ws(l=As(l=Es(l),n),n),c=ws(c=As(c=Es(c),n),n),l=Ss(l),c=Ss(c),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(y="#version 300 es\n",i=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+i,o=["#define varying in",n.glslVersion===Fn?"":"out highp vec4 pc_fragColor;",n.glslVersion===Fn?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+o);var b,A,w=y+o+c,x=ls(a,35633,y+i+l),E=ls(a,35632,w);if(a.attachShader(g,x),a.attachShader(g,E),void 0!==n.index0AttributeName?a.bindAttribLocation(g,0,n.index0AttributeName):!0===n.morphTargets&&a.bindAttribLocation(g,0,"position"),a.linkProgram(g),e.debug.checkShaderErrors){var M=a.getProgramInfoLog(g).trim(),_=a.getShaderInfoLog(x).trim(),T=a.getShaderInfoLog(E).trim(),S=!0,C=!0;if(!1===a.getProgramParameter(g,35714)){S=!1;var L=ds(a,x,"vertex"),R=ds(a,E,"fragment");console.error("THREE.WebGLProgram: shader error: ",a.getError(),"35715",a.getProgramParameter(g,35715),"gl.getProgramInfoLog",M,L,R)}else""!==M?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",M):""!==_&&""!==T||(C=!1);C&&(this.diagnostics={runnable:S,programLog:M,vertexShader:{log:_,prefix:i},fragmentShader:{log:T,prefix:o}})}return a.deleteShader(x),a.deleteShader(E),this.getUniforms=function(){return void 0===b&&(b=new ss(a,g)),b},this.getAttributes=function(){return void 0===A&&(A=ys(a,g)),A},this.destroy=function(){r.releaseStatesOfProgram(this),a.deleteProgram(g),this.program=void 0},this.name=n.shaderName,this.id=cs++,this.cacheKey=t,this.usedTimes=1,this.program=g,this.vertexShader=x,this.fragmentShader=E,this}function Fs(e,t,n,r,i,o){var a=[],s=r.isWebGL2,l=r.logarithmicDepthBuffer,c=r.floatVertexTextures,u=r.maxVertexUniforms,h=r.vertexTextures,d=r.precision,p={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},f=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","sheen","transmissionMap"];function m(e){var t=e.skeleton.bones;if(c)return 1024;var n=u,r=Math.floor((n-20)/4),i=Math.min(r,t.length);return i<t.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+t.length+" bones. This GPU supports "+i+"."),0):i}function y(e){var t;return e&&e.isTexture?t=e.encoding:e&&e.isWebGLRenderTarget?(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),t=e.texture.encoding):t=Kt,t}function b(i,a,u,f,b){var A,w,x=f.fog,E=i.isMeshStandardMaterial?f.environment:null,M=t.get(i.envMap||E),_=p[i.type],T=b.isSkinnedMesh?m(b):0;if(null!==i.precision&&(d=r.getMaxPrecision(i.precision))!==i.precision&&console.warn("THREE.WebGLProgram.getParameters:",i.precision,"not supported, using",d,"instead."),_){var S=Yo[_];A=S.vertexShader,w=S.fragmentShader}else A=i.vertexShader,w=i.fragmentShader;var C=e.getRenderTarget();return{isWebGL2:s,shaderID:_,shaderName:i.type,vertexShader:A,fragmentShader:w,defines:i.defines,isRawShaderMaterial:!0===i.isRawShaderMaterial,glslVersion:i.glslVersion,precision:d,instancing:!0===b.isInstancedMesh,instancingColor:!0===b.isInstancedMesh&&null!==b.instanceColor,supportsVertexTextures:h,outputEncoding:null!==C?y(C.texture):e.outputEncoding,map:!!i.map,mapEncoding:y(i.map),matcap:!!i.matcap,matcapEncoding:y(i.matcap),envMap:!!M,envMapMode:M&&M.mapping,envMapEncoding:y(M),envMapCubeUV:!!M&&(M.mapping===ue||M.mapping===he),lightMap:!!i.lightMap,lightMapEncoding:y(i.lightMap),aoMap:!!i.aoMap,emissiveMap:!!i.emissiveMap,emissiveMapEncoding:y(i.emissiveMap),bumpMap:!!i.bumpMap,normalMap:!!i.normalMap,objectSpaceNormalMap:i.normalMapType===cn,tangentSpaceNormalMap:i.normalMapType===ln,clearcoatMap:!!i.clearcoatMap,clearcoatRoughnessMap:!!i.clearcoatRoughnessMap,clearcoatNormalMap:!!i.clearcoatNormalMap,displacementMap:!!i.displacementMap,roughnessMap:!!i.roughnessMap,metalnessMap:!!i.metalnessMap,specularMap:!!i.specularMap,alphaMap:!!i.alphaMap,gradientMap:!!i.gradientMap,sheen:!!i.sheen,transmissionMap:!!i.transmissionMap,combine:i.combine,vertexTangents:i.normalMap&&i.vertexTangents,vertexColors:i.vertexColors,vertexUvs:!!i.map||!!i.bumpMap||!!i.normalMap||!!i.specularMap||!!i.alphaMap||!!i.emissiveMap||!!i.roughnessMap||!!i.metalnessMap||!!i.clearcoatMap||!!i.clearcoatRoughnessMap||!!i.clearcoatNormalMap||!!i.displacementMap||!!i.transmissionMap,uvsVertexOnly:!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatNormalMap||i.transmissionMap)&&!!i.displacementMap,fog:!!x,useFog:i.fog,fogExp2:x&&x.isFogExp2,flatShading:i.flatShading,sizeAttenuation:i.sizeAttenuation,logarithmicDepthBuffer:l,skinning:i.skinning&&T>0,maxBones:T,useVertexTexture:c,morphTargets:i.morphTargets,morphNormals:i.morphNormals,maxMorphTargets:e.maxMorphTargets,maxMorphNormals:e.maxMorphNormals,numDirLights:a.directional.length,numPointLights:a.point.length,numSpotLights:a.spot.length,numRectAreaLights:a.rectArea.length,numHemiLights:a.hemi.length,numDirLightShadows:a.directionalShadowMap.length,numPointLightShadows:a.pointShadowMap.length,numSpotLightShadows:a.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:i.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.length>0,shadowMapType:e.shadowMap.type,toneMapping:i.toneMapped?e.toneMapping:$,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,alphaTest:i.alphaTest,doubleSided:i.side===g,flipSided:i.side===v,depthPacking:void 0!==i.depthPacking&&i.depthPacking,index0AttributeName:i.index0AttributeName,extensionDerivatives:i.extensions&&i.extensions.derivatives,extensionFragDepth:i.extensions&&i.extensions.fragDepth,extensionDrawBuffers:i.extensions&&i.extensions.drawBuffers,extensionShaderTextureLOD:i.extensions&&i.extensions.shaderTextureLOD,rendererExtensionFragDepth:s||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:s||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:s||n.has("EXT_shader_texture_lod"),customProgramCacheKey:i.customProgramCacheKey()}}function A(t){var n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.fragmentShader),n.push(t.vertexShader)),void 0!==t.defines)for(var r in t.defines)n.push(r),n.push(t.defines[r]);if(!1===t.isRawShaderMaterial){for(var i=0;i<f.length;i++)n.push(t[f[i]]);n.push(e.outputEncoding),n.push(e.gammaFactor)}return n.push(t.customProgramCacheKey),n.join()}function w(e){var t,n=p[e.type];if(n){var r=Yo[n];t=Co.clone(r.uniforms)}else t=e.uniforms;return t}function x(t,n){for(var r,o=0,s=a.length;o<s;o++){var l=a[o];if(l.cacheKey===n){++(r=l).usedTimes;break}}return void 0===r&&(r=new Bs(e,n,t,i),a.push(r)),r}function E(e){if(0===--e.usedTimes){var t=a.indexOf(e);a[t]=a[a.length-1],a.pop(),e.destroy()}}return{getParameters:b,getProgramCacheKey:A,getUniforms:w,acquireProgram:x,releaseProgram:E,programs:a}}function ks(){var e=new WeakMap;function t(t){var n=e.get(t);return void 0===n&&(n={},e.set(t,n)),n}function n(t){e.delete(t)}function r(t,n,r){e.get(t)[n]=r}function i(){e=new WeakMap}return{get:t,remove:n,update:r,dispose:i}}function Ns(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.program!==t.program?e.program.id-t.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function Us(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function Hs(e){var t=[],n=0,r=[],i=[],o={id:-1};function a(){n=0,r.length=0,i.length=0}function s(r,i,a,s,l,c){var u=t[n],h=e.get(a);return void 0===u?(u={id:r.id,object:r,geometry:i,material:a,program:h.program||o,groupOrder:s,renderOrder:r.renderOrder,z:l,group:c},t[n]=u):(u.id=r.id,u.object=r,u.geometry=i,u.material=a,u.program=h.program||o,u.groupOrder=s,u.renderOrder=r.renderOrder,u.z=l,u.group=c),n++,u}function l(e,t,n,o,a,l){var c=s(e,t,n,o,a,l);(!0===n.transparent?i:r).push(c)}function c(e,t,n,o,a,l){var c=s(e,t,n,o,a,l);(!0===n.transparent?i:r).unshift(c)}function u(e,t){r.length>1&&r.sort(e||Ns),i.length>1&&i.sort(t||Us)}function h(){for(var e=n,r=t.length;e<r;e++){var i=t[e];if(null===i.id)break;i.id=null,i.object=null,i.geometry=null,i.material=null,i.program=null,i.group=null}}return{opaque:r,transparent:i,init:a,push:l,unshift:c,finish:h,sort:u}}function Gs(e){var t=new WeakMap;function n(n,r){var i,o=t.get(n);return void 0===o?(i=new Hs(e),t.set(n,new WeakMap),t.get(n).set(r,i)):void 0===(i=o.get(r))&&(i=new Hs(e),o.set(r,i)),i}function r(){t=new WeakMap}return{get:n,dispose:r}}function zs(){var e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];var n;switch(t.type){case"DirectionalLight":n={direction:new lr,color:new Li};break;case"SpotLight":n={position:new lr,direction:new lr,color:new Li,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new lr,color:new Li,distance:0,decay:0};break;case"HemisphereLight":n={direction:new lr,skyColor:new Li,groundColor:new Li};break;case"RectAreaLight":n={color:new Li,position:new lr,halfWidth:new lr,halfHeight:new lr}}return e[t.id]=n,n}}}function js(){var e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];var n;switch(t.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Jn};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Jn,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}var Vs=0;function Ws(e,t){return(t.castShadow?1:0)-(e.castShadow?1:0)}function qs(e,t){for(var n=new zs,r=js(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},o=0;o<9;o++)i.probe.push(new lr);var a=new lr,s=new Fr,l=new Fr;function c(o){for(var a=0,s=0,l=0,c=0;c<9;c++)i.probe[c].set(0,0,0);var u=0,h=0,d=0,p=0,f=0,m=0,v=0,g=0;o.sort(Ws);for(var y=0,b=o.length;y<b;y++){var A=o[y],w=A.color,x=A.intensity,E=A.distance,M=A.shadow&&A.shadow.map?A.shadow.map.texture:null;if(A.isAmbientLight)a+=w.r*x,s+=w.g*x,l+=w.b*x;else if(A.isLightProbe)for(var _=0;_<9;_++)i.probe[_].addScaledVector(A.sh.coefficients[_],x);else if(A.isDirectionalLight){var T=n.get(A);if(T.color.copy(A.color).multiplyScalar(A.intensity),A.castShadow){var S=A.shadow,C=r.get(A);C.shadowBias=S.bias,C.shadowNormalBias=S.normalBias,C.shadowRadius=S.radius,C.shadowMapSize=S.mapSize,i.directionalShadow[u]=C,i.directionalShadowMap[u]=M,i.directionalShadowMatrix[u]=A.shadow.matrix,m++}i.directional[u]=T,u++}else if(A.isSpotLight){var L=n.get(A);if(L.position.setFromMatrixPosition(A.matrixWorld),L.color.copy(w).multiplyScalar(x),L.distance=E,L.coneCos=Math.cos(A.angle),L.penumbraCos=Math.cos(A.angle*(1-A.penumbra)),L.decay=A.decay,A.castShadow){var R=A.shadow,P=r.get(A);P.shadowBias=R.bias,P.shadowNormalBias=R.normalBias,P.shadowRadius=R.radius,P.shadowMapSize=R.mapSize,i.spotShadow[d]=P,i.spotShadowMap[d]=M,i.spotShadowMatrix[d]=A.shadow.matrix,g++}i.spot[d]=L,d++}else if(A.isRectAreaLight){var D=n.get(A);D.color.copy(w).multiplyScalar(x),D.halfWidth.set(.5*A.width,0,0),D.halfHeight.set(0,.5*A.height,0),i.rectArea[p]=D,p++}else if(A.isPointLight){var O=n.get(A);if(O.color.copy(A.color).multiplyScalar(A.intensity),O.distance=A.distance,O.decay=A.decay,A.castShadow){var I=A.shadow,B=r.get(A);B.shadowBias=I.bias,B.shadowNormalBias=I.normalBias,B.shadowRadius=I.radius,B.shadowMapSize=I.mapSize,B.shadowCameraNear=I.camera.near,B.shadowCameraFar=I.camera.far,i.pointShadow[h]=B,i.pointShadowMap[h]=M,i.pointShadowMatrix[h]=A.shadow.matrix,v++}i.point[h]=O,h++}else if(A.isHemisphereLight){var F=n.get(A);F.skyColor.copy(A.color).multiplyScalar(x),F.groundColor.copy(A.groundColor).multiplyScalar(x),i.hemi[f]=F,f++}}p>0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(i.rectAreaLTC1=Xo.LTC_FLOAT_1,i.rectAreaLTC2=Xo.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=Xo.LTC_HALF_1,i.rectAreaLTC2=Xo.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=a,i.ambient[1]=s,i.ambient[2]=l;var k=i.hash;k.directionalLength===u&&k.pointLength===h&&k.spotLength===d&&k.rectAreaLength===p&&k.hemiLength===f&&k.numDirectionalShadows===m&&k.numPointShadows===v&&k.numSpotShadows===g||(i.directional.length=u,i.spot.length=d,i.rectArea.length=p,i.point.length=h,i.hemi.length=f,i.directionalShadow.length=m,i.directionalShadowMap.length=m,i.pointShadow.length=v,i.pointShadowMap.length=v,i.spotShadow.length=g,i.spotShadowMap.length=g,i.directionalShadowMatrix.length=m,i.pointShadowMatrix.length=v,i.spotShadowMatrix.length=g,k.directionalLength=u,k.pointLength=h,k.spotLength=d,k.rectAreaLength=p,k.hemiLength=f,k.numDirectionalShadows=m,k.numPointShadows=v,k.numSpotShadows=g,i.version=Vs++)}function u(e,t){for(var n=0,r=0,o=0,c=0,u=0,h=t.matrixWorldInverse,d=0,p=e.length;d<p;d++){var f=e[d];if(f.isDirectionalLight){var m=i.directional[n];m.direction.setFromMatrixPosition(f.matrixWorld),a.setFromMatrixPosition(f.target.matrixWorld),m.direction.sub(a),m.direction.transformDirection(h),n++}else if(f.isSpotLight){var v=i.spot[o];v.position.setFromMatrixPosition(f.matrixWorld),v.position.applyMatrix4(h),v.direction.setFromMatrixPosition(f.matrixWorld),a.setFromMatrixPosition(f.target.matrixWorld),v.direction.sub(a),v.direction.transformDirection(h),o++}else if(f.isRectAreaLight){var g=i.rectArea[c];g.position.setFromMatrixPosition(f.matrixWorld),g.position.applyMatrix4(h),l.identity(),s.copy(f.matrixWorld),s.premultiply(h),l.extractRotation(s),g.halfWidth.set(.5*f.width,0,0),g.halfHeight.set(0,.5*f.height,0),g.halfWidth.applyMatrix4(l),g.halfHeight.applyMatrix4(l),c++}else if(f.isPointLight){var y=i.point[r];y.position.setFromMatrixPosition(f.matrixWorld),y.position.applyMatrix4(h),r++}else if(f.isHemisphereLight){var b=i.hemi[u];b.direction.setFromMatrixPosition(f.matrixWorld),b.direction.transformDirection(h),b.direction.normalize(),u++}}}return{setup:c,setupView:u,state:i}}function Xs(e,t){var n=new qs(e,t),r=[],i=[];function o(){r.length=0,i.length=0}function a(e){r.push(e)}function s(e){i.push(e)}function l(){n.setup(r)}function c(e){n.setupView(r,e)}return{init:o,state:{lightsArray:r,shadowsArray:i,lights:n},setupLights:l,setupLightsView:c,pushLight:a,pushShadow:s}}function Ys(e,t){var n=new WeakMap;function r(r,i){var o;return void 0===i&&(i=0),!1===n.has(r)?(o=new Xs(e,t),n.set(r,[]),n.get(r).push(o)):i>=n.get(r).length?(o=new Xs(e,t),n.get(r).push(o)):o=n.get(r)[i],o}function i(){n=new WeakMap}return{get:r,dispose:i}}function Qs(e){Di.call(this),this.type="MeshDepthMaterial",this.depthPacking=an,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(e)}function Zs(e){Di.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new lr,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}Qs.prototype=Object.create(Di.prototype),Qs.prototype.constructor=Qs,Qs.prototype.isMeshDepthMaterial=!0,Qs.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.depthPacking=e.depthPacking,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this},Zs.prototype=Object.create(Di.prototype),Zs.prototype.constructor=Zs,Zs.prototype.isMeshDistanceMaterial=!0,Zs.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this};var Ks="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}",Js="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}";function $s(e,t,n){var r=new zo,i=new Jn,o=new Jn,a=new ir,s=[],l=[],c={},u={0:v,1:m,2:g},h=new Po({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new Jn},radius:{value:4}},vertexShader:Js,fragmentShader:Ks}),p=h.clone();p.defines.HORIZONTAL_PASS=1;var y=new ro;y.setAttribute("position",new Fi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var b=new xo(y,h),w=this;function x(n,r){var i=t.update(b);h.uniforms.shadow_pass.value=n.map.texture,h.uniforms.resolution.value=n.mapSize,h.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(r,null,i,h,b,null),p.uniforms.shadow_pass.value=n.mapPass.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(r,null,i,p,b,null)}function E(e,t,n){var r=e<<0|t<<1|n<<2,i=s[r];return void 0===i&&(i=new Qs({depthPacking:sn,morphTargets:e,skinning:t}),s[r]=i),i}function M(e,t,n){var r=e<<0|t<<1|n<<2,i=l[r];return void 0===i&&(i=new Zs({morphTargets:e,skinning:t}),l[r]=i),i}function _(t,n,r,i,o,a,s){var l=null,h=E,d=t.customDepthMaterial;if(!0===i.isPointLight&&(h=M,d=t.customDistanceMaterial),void 0===d){var p=!1;!0===r.morphTargets&&(p=n.morphAttributes&&n.morphAttributes.position&&n.morphAttributes.position.length>0);var m=!1;!0===t.isSkinnedMesh&&(!0===r.skinning?m=!0:console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",t)),l=h(p,m,!0===t.isInstancedMesh)}else l=d;if(e.localClippingEnabled&&!0===r.clipShadows&&0!==r.clippingPlanes.length){var v=l.uuid,g=r.uuid,y=c[v];void 0===y&&(y={},c[v]=y);var b=y[g];void 0===b&&(b=l.clone(),y[g]=b),l=b}return l.visible=r.visible,l.wireframe=r.wireframe,l.side=s===f?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:u[r.side],l.clipShadows=r.clipShadows,l.clippingPlanes=r.clippingPlanes,l.clipIntersection=r.clipIntersection,l.wireframeLinewidth=r.wireframeLinewidth,l.linewidth=r.linewidth,!0===i.isPointLight&&!0===l.isMeshDistanceMaterial&&(l.referencePosition.setFromMatrixPosition(i.matrixWorld),l.nearDistance=o,l.farDistance=a),l}function T(n,i,o,a,s){if(!1!==n.visible){if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===f)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,n.matrixWorld);var l=t.update(n),c=n.material;if(Array.isArray(c))for(var u=l.groups,h=0,d=u.length;h<d;h++){var p=u[h],m=c[p.materialIndex];if(m&&m.visible){var v=_(n,l,m,a,o.near,o.far,s);e.renderBufferDirect(o,null,l,v,n,p)}}else if(c.visible){var g=_(n,l,c,a,o.near,o.far,s);e.renderBufferDirect(o,null,l,g,n,null)}}for(var y=n.children,b=0,A=y.length;b<A;b++)T(y[b],i,o,a,s)}}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=d,this.render=function(t,s,l){if(!1!==w.enabled&&(!1!==w.autoUpdate||!1!==w.needsUpdate)&&0!==t.length){var c=e.getRenderTarget(),u=e.getActiveCubeFace(),h=e.getActiveMipmapLevel(),d=e.state;d.setBlending(A),d.buffers.color.setClear(1,1,1,1),d.buffers.depth.setTest(!0),d.setScissorTest(!1);for(var p=0,m=t.length;p<m;p++){var v=t[p],g=v.shadow;if(void 0!==g){if(!1!==g.autoUpdate||!1!==g.needsUpdate){i.copy(g.mapSize);var y=g.getFrameExtents();if(i.multiply(y),o.copy(g.mapSize),(i.x>n||i.y>n)&&(i.x>n&&(o.x=Math.floor(n/y.x),i.x=o.x*y.x,g.mapSize.x=o.x),i.y>n&&(o.y=Math.floor(n/y.y),i.y=o.y*y.y,g.mapSize.y=o.y)),null===g.map&&!g.isPointLightShadow&&this.type===f){var b={minFilter:Ae,magFilter:Ae,format:Ue};g.map=new or(i.x,i.y,b),g.map.texture.name=v.name+".shadowMap",g.mapPass=new or(i.x,i.y,b),g.camera.updateProjectionMatrix()}if(null===g.map){var E={minFilter:me,magFilter:me,format:Ue};g.map=new or(i.x,i.y,E),g.map.texture.name=v.name+".shadowMap",g.camera.updateProjectionMatrix()}e.setRenderTarget(g.map),e.clear();for(var M=g.getViewportCount(),_=0;_<M;_++){var S=g.getViewport(_);a.set(o.x*S.x,o.y*S.y,o.x*S.z,o.y*S.w),d.viewport(a),g.updateMatrices(v,_),r=g.getFrustum(),T(s,l,g.camera,v,this.type)}g.isPointLightShadow||this.type!==f||x(g,l),g.needsUpdate=!1}}else console.warn("THREE.WebGLShadowMap:",v,"has no shadow.")}w.needsUpdate=!1,e.setRenderTarget(c,u,h)}}}function el(e,t,n){var r,i,o=n.isWebGL2;function a(){var t=!1,n=new ir,r=null,i=new ir(0,0,0,0);return{setMask:function(n){r===n||t||(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,o,a,s){!0===s&&(t*=a,r*=a,o*=a),n.set(t,r,o,a),!1===i.equals(n)&&(e.clearColor(t,r,o,a),i.copy(n))},reset:function(){t=!1,r=null,i.set(-1,0,0,0)}}}function u(){var t=!1,n=null,r=null,i=null;return{setTest:function(e){e?be(2929):Ae(2929)},setMask:function(r){n===r||t||(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){if(t)switch(t){case z:e.depthFunc(512);break;case j:e.depthFunc(519);break;case V:e.depthFunc(513);break;case W:e.depthFunc(515);break;case q:e.depthFunc(514);break;case X:e.depthFunc(518);break;case Y:e.depthFunc(516);break;case Q:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}}function h(){var t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,c=null;return{setTest:function(e){t||(e?be(2960):Ae(2960))},setMask:function(r){n===r||t||(e.stencilMask(r),n=r)},setFunc:function(t,n,a){r===t&&i===n&&o===a||(e.stencilFunc(t,n,a),r=t,i=n,o=a)},setOp:function(t,n,r){a===t&&s===n&&l===r||(e.stencilOp(t,n,r),a=t,s=n,l=r)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,c=null}}}var d=new a,p=new u,f=new h,m={},y=null,b=null,Z=null,K=null,J=null,$=null,ee=null,te=null,ne=null,re=!1,ie=null,oe=null,ae=null,se=null,le=null,ce=e.getParameter(35661),ue=!1,he=0,de=e.getParameter(7938);-1!==de.indexOf("WebGL")?(he=parseFloat(/^WebGL (\d)/.exec(de)[1]),ue=he>=1):-1!==de.indexOf("OpenGL ES")&&(he=parseFloat(/^OpenGL ES (\d)/.exec(de)[1]),ue=he>=2);var pe=null,fe={},me=new ir,ve=new ir;function ge(t,n,r){var i=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,10241,9728),e.texParameteri(t,10240,9728);for(var a=0;a<r;a++)e.texImage2D(n+a,0,6408,1,1,0,6408,5121,i);return o}var ye={};function be(t){!0!==m[t]&&(e.enable(t),m[t]=!0)}function Ae(t){!1!==m[t]&&(e.disable(t),m[t]=!1)}function we(t){return y!==t&&(e.useProgram(t),y=t,!0)}ye[3553]=ge(3553,3553,1),ye[34067]=ge(34067,34069,6),d.setClear(0,0,0,1),p.setClear(1),f.setClear(0),be(2929),p.setFunc(W),Se(!1),Ce(l),be(2884),_e(A);var xe=((r={})[T]=32774,r[S]=32778,r[C]=32779,r);if(o)xe[L]=32775,xe[R]=32776;else{var Ee=t.get("EXT_blend_minmax");null!==Ee&&(xe[L]=Ee.MIN_EXT,xe[R]=Ee.MAX_EXT)}var Me=((i={})[P]=0,i[D]=1,i[O]=768,i[B]=770,i[G]=776,i[U]=774,i[k]=772,i[I]=769,i[F]=771,i[H]=775,i[N]=773,i);function _e(t,n,r,i,o,a,s,l){if(t!==A){if(b||(be(3042),b=!0),t===_)o=o||n,a=a||r,s=s||i,n===K&&o===ee||(e.blendEquationSeparate(xe[n],xe[o]),K=n,ee=o),r===J&&i===$&&a===te&&s===ne||(e.blendFuncSeparate(Me[r],Me[i],Me[a],Me[s]),J=r,$=i,te=a,ne=s),Z=t,re=null;else if(t!==Z||l!==re){if(K===T&&ee===T||(e.blendEquation(32774),K=T,ee=T),l)switch(t){case w:e.blendFuncSeparate(1,771,1,771);break;case x:e.blendFunc(1,1);break;case E:e.blendFuncSeparate(0,0,769,771);break;case M:e.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case w:e.blendFuncSeparate(770,771,1,771);break;case x:e.blendFunc(770,1);break;case E:e.blendFunc(0,769);break;case M:e.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}J=null,$=null,te=null,ne=null,Z=t,re=l}}else b&&(Ae(3042),b=!1)}function Te(e,t){e.side===g?Ae(2884):be(2884);var n=e.side===v;t&&(n=!n),Se(n),e.blending===w&&!1===e.transparent?_e(A):_e(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),p.setFunc(e.depthFunc),p.setTest(e.depthTest),p.setMask(e.depthWrite),d.setMask(e.colorWrite);var r=e.stencilWrite;f.setTest(r),r&&(f.setMask(e.stencilWriteMask),f.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),f.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),Re(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits)}function Se(t){ie!==t&&(t?e.frontFace(2304):e.frontFace(2305),ie=t)}function Ce(t){t!==s?(be(2884),t!==oe&&(t===l?e.cullFace(1029):t===c?e.cullFace(1028):e.cullFace(1032))):Ae(2884),oe=t}function Le(t){t!==ae&&(ue&&e.lineWidth(t),ae=t)}function Re(t,n,r){t?(be(32823),se===n&&le===r||(e.polygonOffset(n,r),se=n,le=r)):Ae(32823)}function Pe(e){e?be(3089):Ae(3089)}function De(t){void 0===t&&(t=33984+ce-1),pe!==t&&(e.activeTexture(t),pe=t)}function Oe(t,n){null===pe&&De();var r=fe[pe];void 0===r&&(r={type:void 0,texture:void 0},fe[pe]=r),r.type===t&&r.texture===n||(e.bindTexture(t,n||ye[t]),r.type=t,r.texture=n)}function Ie(){var t=fe[pe];void 0!==t&&void 0!==t.type&&(e.bindTexture(t.type,null),t.type=void 0,t.texture=void 0)}function Be(){try{e.compressedTexImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}}function Fe(){try{e.texImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}}function ke(){try{e.texImage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}}function Ne(t){!1===me.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),me.copy(t))}function Ue(t){!1===ve.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),ve.copy(t))}function He(){m={},pe=null,fe={},y=null,b=null,Z=null,K=null,J=null,$=null,ee=null,te=null,ne=null,re=!1,ie=null,oe=null,ae=null,se=null,le=null,d.reset(),p.reset(),f.reset()}return{buffers:{color:d,depth:p,stencil:f},enable:be,disable:Ae,useProgram:we,setBlending:_e,setMaterial:Te,setFlipSided:Se,setCullFace:Ce,setLineWidth:Le,setPolygonOffset:Re,setScissorTest:Pe,activeTexture:De,bindTexture:Oe,unbindTexture:Ie,compressedTexImage2D:Be,texImage2D:Fe,texImage3D:ke,scissor:Ne,viewport:Ue,reset:He}}function tl(e,t,n,r,i,o,a){var s,l,c,u=i.isWebGL2,h=i.maxTextures,d=i.maxCubemapSize,p=i.maxTextureSize,f=i.maxSamples,m=new WeakMap,v=!1;try{v="undefined"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(te){}function g(e,t){return v?new OffscreenCanvas(e,t):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function y(e,t,n,r){var i=1;if((e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height)),i<1||!0===t){if("undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap){var o=t?Kn.floorPowerOfTwo:Math.floor,a=o(i*e.width),s=o(i*e.height);void 0===c&&(c=g(a,s));var l=n?g(a,s):c;return l.width=a,l.height=s,l.getContext("2d").drawImage(e,0,0,a,s),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+s+")."),l}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function b(e){return Kn.isPowerOfTwo(e.width)&&Kn.isPowerOfTwo(e.height)}function A(e){return!u&&(e.wrapS!==pe||e.wrapT!==pe||e.minFilter!==me&&e.minFilter!==Ae)}function w(e,t){return e.generateMipmaps&&t&&e.minFilter!==me&&e.minFilter!==Ae}function x(t,n,i,o){e.generateMipmap(t),r.get(n).__maxMipLevel=Math.log(Math.max(i,o))*Math.LOG2E}function E(n,r,i){if(!1===u)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}var o=r;return 6403===r&&(5126===i&&(o=33326),5131===i&&(o=33325),5121===i&&(o=33321)),6407===r&&(5126===i&&(o=34837),5131===i&&(o=34843),5121===i&&(o=32849)),6408===r&&(5126===i&&(o=34836),5131===i&&(o=34842),5121===i&&(o=32856)),33325!==o&&33326!==o&&34842!==o&&34836!==o||t.get("EXT_color_buffer_float"),o}function M(e){return e===me||e===ve||e===ye?9728:9729}function _(e){var t=e.target;t.removeEventListener("dispose",_),S(t),t.isVideoTexture&&m.delete(t),a.memory.textures--}function T(e){var t=e.target;t.removeEventListener("dispose",T),C(t),a.memory.textures--}function S(t){var n=r.get(t);void 0!==n.__webglInit&&(e.deleteTexture(n.__webglTexture),r.remove(t))}function C(t){var n=r.get(t),i=r.get(t.texture);if(t){if(void 0!==i.__webglTexture&&e.deleteTexture(i.__webglTexture),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(var o=0;o<6;o++)e.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer[o]);else e.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer),n.__webglMultisampledFramebuffer&&e.deleteFramebuffer(n.__webglMultisampledFramebuffer),n.__webglColorRenderbuffer&&e.deleteRenderbuffer(n.__webglColorRenderbuffer),n.__webglDepthRenderbuffer&&e.deleteRenderbuffer(n.__webglDepthRenderbuffer);r.remove(t.texture),r.remove(t)}}var L=0;function R(){L=0}function P(){var e=L;return e>=h&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+h),L+=1,e}function D(e,t){var i=r.get(e);if(e.isVideoTexture&&Z(e),e.version>0&&i.__version!==e.version){var o=e.image;if(void 0===o)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==o.complete)return void H(i,e,t);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+t),n.bindTexture(3553,i.__webglTexture)}function O(e,t){var i=r.get(e);e.version>0&&i.__version!==e.version?H(i,e,t):(n.activeTexture(33984+t),n.bindTexture(35866,i.__webglTexture))}function I(e,t){var i=r.get(e);e.version>0&&i.__version!==e.version?H(i,e,t):(n.activeTexture(33984+t),n.bindTexture(32879,i.__webglTexture))}function B(e,t){var i=r.get(e);e.version>0&&i.__version!==e.version?G(i,e,t):(n.activeTexture(33984+t),n.bindTexture(34067,i.__webglTexture))}var F=((s={})[de]=10497,s[pe]=33071,s[fe]=33648,s),k=((l={})[me]=9728,l[ve]=9984,l[ye]=9986,l[Ae]=9729,l[we]=9985,l[Ee]=9987,l);function N(n,o,a){a?(e.texParameteri(n,10242,F[o.wrapS]),e.texParameteri(n,10243,F[o.wrapT]),32879!==n&&35866!==n||e.texParameteri(n,32882,F[o.wrapR]),e.texParameteri(n,10240,k[o.magFilter]),e.texParameteri(n,10241,k[o.minFilter])):(e.texParameteri(n,10242,33071),e.texParameteri(n,10243,33071),32879!==n&&35866!==n||e.texParameteri(n,32882,33071),o.wrapS===pe&&o.wrapT===pe||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,10240,M(o.magFilter)),e.texParameteri(n,10241,M(o.minFilter)),o.minFilter!==me&&o.minFilter!==Ae&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter."));var s=t.get("EXT_texture_filter_anisotropic");if(s){if(o.type===Pe&&null===t.get("OES_texture_float_linear"))return;if(o.type===De&&null===(u||t.get("OES_texture_half_float_linear")))return;(o.anisotropy>1||r.get(o).__currentAnisotropy)&&(e.texParameterf(n,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o.anisotropy,i.getMaxAnisotropy())),r.get(o).__currentAnisotropy=o.anisotropy)}}function U(t,n){void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",_),t.__webglTexture=e.createTexture(),a.memory.textures++)}function H(t,r,i){var a=3553;r.isDataTexture2DArray&&(a=35866),r.isDataTexture3D&&(a=32879),U(t,r),n.activeTexture(33984+i),n.bindTexture(a,t.__webglTexture),e.pixelStorei(37440,r.flipY),e.pixelStorei(37441,r.premultiplyAlpha),e.pixelStorei(3317,r.unpackAlignment);var s,l=A(r)&&!1===b(r.image),c=y(r.image,l,!1,p),h=b(c)||u,d=o.convert(r.format),f=o.convert(r.type),m=E(r.internalFormat,d,f);N(a,r,h);var v=r.mipmaps;if(r.isDepthTexture)m=6402,u?m=r.type===Pe?36012:r.type===Re?33190:r.type===Fe?35056:33189:r.type===Pe&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),r.format===je&&6402===m&&r.type!==Ce&&r.type!==Re&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=Ce,f=o.convert(r.type)),r.format===Ve&&6402===m&&(m=34041,r.type!==Fe&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=Fe,f=o.convert(r.type))),n.texImage2D(3553,0,m,c.width,c.height,0,d,f,null);else if(r.isDataTexture)if(v.length>0&&h){for(var g=0,M=v.length;g<M;g++)s=v[g],n.texImage2D(3553,g,m,s.width,s.height,0,d,f,s.data);r.generateMipmaps=!1,t.__maxMipLevel=v.length-1}else n.texImage2D(3553,0,m,c.width,c.height,0,d,f,c.data),t.__maxMipLevel=0;else if(r.isCompressedTexture){for(var _=0,T=v.length;_<T;_++)s=v[_],r.format!==Ue&&r.format!==Ne?null!==d?n.compressedTexImage2D(3553,_,m,s.width,s.height,0,s.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(3553,_,m,s.width,s.height,0,d,f,s.data);t.__maxMipLevel=v.length-1}else if(r.isDataTexture2DArray)n.texImage3D(35866,0,m,c.width,c.height,c.depth,0,d,f,c.data),t.__maxMipLevel=0;else if(r.isDataTexture3D)n.texImage3D(32879,0,m,c.width,c.height,c.depth,0,d,f,c.data),t.__maxMipLevel=0;else if(v.length>0&&h){for(var S=0,C=v.length;S<C;S++)s=v[S],n.texImage2D(3553,S,m,d,f,s);r.generateMipmaps=!1,t.__maxMipLevel=v.length-1}else n.texImage2D(3553,0,m,d,f,c),t.__maxMipLevel=0;w(r,h)&&x(a,r,c.width,c.height),t.__version=r.version,r.onUpdate&&r.onUpdate(r)}function G(t,r,i){if(6===r.image.length){U(t,r),n.activeTexture(33984+i),n.bindTexture(34067,t.__webglTexture),e.pixelStorei(37440,r.flipY),e.pixelStorei(37441,r.premultiplyAlpha),e.pixelStorei(3317,r.unpackAlignment);for(var a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture),s=r.image[0]&&r.image[0].isDataTexture,l=[],c=0;c<6;c++)l[c]=a||s?s?r.image[c].image:r.image[c]:y(r.image[c],!1,!0,d);var h,p=l[0],f=b(p)||u,m=o.convert(r.format),v=o.convert(r.type),g=E(r.internalFormat,m,v);if(N(34067,r,f),a){for(var A=0;A<6;A++){h=l[A].mipmaps;for(var M=0;M<h.length;M++){var _=h[M];r.format!==Ue&&r.format!==Ne?null!==m?n.compressedTexImage2D(34069+A,M,g,_.width,_.height,0,_.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(34069+A,M,g,_.width,_.height,0,m,v,_.data)}}t.__maxMipLevel=h.length-1}else{h=r.mipmaps;for(var T=0;T<6;T++)if(s){n.texImage2D(34069+T,0,g,l[T].width,l[T].height,0,m,v,l[T].data);for(var S=0;S<h.length;S++){var C=h[S].image[T].image;n.texImage2D(34069+T,S+1,g,C.width,C.height,0,m,v,C.data)}}else{n.texImage2D(34069+T,0,g,m,v,l[T]);for(var L=0;L<h.length;L++){var R=h[L];n.texImage2D(34069+T,L+1,g,m,v,R.image[T])}}t.__maxMipLevel=h.length}w(r,f)&&x(34067,r,p.width,p.height),t.__version=r.version,r.onUpdate&&r.onUpdate(r)}}function z(t,i,a,s){var l=o.convert(i.texture.format),c=o.convert(i.texture.type),u=E(i.texture.internalFormat,l,c);n.texImage2D(s,0,u,i.width,i.height,0,l,c,null),e.bindFramebuffer(36160,t),e.framebufferTexture2D(36160,a,s,r.get(i.texture).__webglTexture,0),e.bindFramebuffer(36160,null)}function j(t,n,r){if(e.bindRenderbuffer(36161,t),n.depthBuffer&&!n.stencilBuffer){var i=33189;if(r){var a=n.depthTexture;a&&a.isDepthTexture&&(a.type===Pe?i=36012:a.type===Re&&(i=33190));var s=Q(n);e.renderbufferStorageMultisample(36161,s,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){if(r){var l=Q(n);e.renderbufferStorageMultisample(36161,l,35056,n.width,n.height)}else e.renderbufferStorage(36161,34041,n.width,n.height);e.framebufferRenderbuffer(36160,33306,36161,t)}else{var c=o.convert(n.texture.format),u=o.convert(n.texture.type),h=E(n.texture.internalFormat,c,u);if(r){var d=Q(n);e.renderbufferStorageMultisample(36161,d,h,n.width,n.height)}else e.renderbufferStorage(36161,h,n.width,n.height)}e.bindRenderbuffer(36161,null)}function V(t,n){if(n&&n.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(e.bindFramebuffer(36160,t),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");r.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),D(n.depthTexture,0);var i=r.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===je)e.framebufferTexture2D(36160,36096,3553,i,0);else{if(n.depthTexture.format!==Ve)throw new Error("Unknown depthTexture format");e.framebufferTexture2D(36160,33306,3553,i,0)}}function W(t){var n=r.get(t),i=!0===t.isWebGLCubeRenderTarget;if(t.depthTexture){if(i)throw new Error("target.depthTexture not supported in Cube render targets");V(n.__webglFramebuffer,t)}else if(i){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)e.bindFramebuffer(36160,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=e.createRenderbuffer(),j(n.__webglDepthbuffer[o],t,!1)}else e.bindFramebuffer(36160,n.__webglFramebuffer),n.__webglDepthbuffer=e.createRenderbuffer(),j(n.__webglDepthbuffer,t,!1);e.bindFramebuffer(36160,null)}function q(t){var i=r.get(t),s=r.get(t.texture);t.addEventListener("dispose",T),s.__webglTexture=e.createTexture(),a.memory.textures++;var l=!0===t.isWebGLCubeRenderTarget,c=!0===t.isWebGLMultisampleRenderTarget,h=b(t)||u;if(!u||t.texture.format!==Ne||t.texture.type!==Pe&&t.texture.type!==De||(t.texture.format=Ue,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),l){i.__webglFramebuffer=[];for(var d=0;d<6;d++)i.__webglFramebuffer[d]=e.createFramebuffer()}else if(i.__webglFramebuffer=e.createFramebuffer(),c)if(u){i.__webglMultisampledFramebuffer=e.createFramebuffer(),i.__webglColorRenderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,i.__webglColorRenderbuffer);var p=o.convert(t.texture.format),f=o.convert(t.texture.type),m=E(t.texture.internalFormat,p,f),v=Q(t);e.renderbufferStorageMultisample(36161,v,m,t.width,t.height),e.bindFramebuffer(36160,i.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064,36161,i.__webglColorRenderbuffer),e.bindRenderbuffer(36161,null),t.depthBuffer&&(i.__webglDepthRenderbuffer=e.createRenderbuffer(),j(i.__webglDepthRenderbuffer,t,!0)),e.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(l){n.bindTexture(34067,s.__webglTexture),N(34067,t.texture,h);for(var g=0;g<6;g++)z(i.__webglFramebuffer[g],t,36064,34069+g);w(t.texture,h)&&x(34067,t.texture,t.width,t.height),n.bindTexture(34067,null)}else n.bindTexture(3553,s.__webglTexture),N(3553,t.texture,h),z(i.__webglFramebuffer,t,36064,3553),w(t.texture,h)&&x(3553,t.texture,t.width,t.height),n.bindTexture(3553,null);t.depthBuffer&&W(t)}function X(e){var t=e.texture;if(w(t,b(e)||u)){var i=e.isWebGLCubeRenderTarget?34067:3553,o=r.get(t).__webglTexture;n.bindTexture(i,o),x(i,t,e.width,e.height),n.bindTexture(i,null)}}function Y(t){if(t.isWebGLMultisampleRenderTarget)if(u){var n=r.get(t);e.bindFramebuffer(36008,n.__webglMultisampledFramebuffer),e.bindFramebuffer(36009,n.__webglFramebuffer);var i=t.width,o=t.height,a=16384;t.depthBuffer&&(a|=256),t.stencilBuffer&&(a|=1024),e.blitFramebuffer(0,0,i,o,0,0,i,o,a,9728),e.bindFramebuffer(36160,n.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")}function Q(e){return u&&e.isWebGLMultisampleRenderTarget?Math.min(f,e.samples):0}function Z(e){var t=a.render.frame;m.get(e)!==t&&(m.set(e,t),e.update())}var K=!1,J=!1;function $(e,t){e&&e.isWebGLRenderTarget&&(!1===K&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),K=!0),e=e.texture),D(e,t)}function ee(e,t){e&&e.isWebGLCubeRenderTarget&&(!1===J&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),J=!0),e=e.texture),B(e,t)}this.allocateTextureUnit=P,this.resetTextureUnits=R,this.setTexture2D=D,this.setTexture2DArray=O,this.setTexture3D=I,this.setTextureCube=B,this.setupRenderTarget=q,this.updateRenderTargetMipmap=X,this.updateMultisampleRenderTarget=Y,this.safeSetTexture2D=$,this.safeSetTextureCube=ee}function nl(e,t,n){var r=n.isWebGL2;function i(e){var n;if(e===_e)return 5121;if(e===Oe)return 32819;if(e===Ie)return 32820;if(e===Be)return 33635;if(e===Te)return 5120;if(e===Se)return 5122;if(e===Ce)return 5123;if(e===Le)return 5124;if(e===Re)return 5125;if(e===Pe)return 5126;if(e===De)return r?5131:null!==(n=t.get("OES_texture_half_float"))?n.HALF_FLOAT_OES:null;if(e===ke)return 6406;if(e===Ne)return 6407;if(e===Ue)return 6408;if(e===He)return 6409;if(e===Ge)return 6410;if(e===je)return 6402;if(e===Ve)return 34041;if(e===We)return 6403;if(e===qe)return 36244;if(e===Xe)return 33319;if(e===Ye)return 33320;if(e===Qe)return 36248;if(e===Ze)return 36249;if(e===Ke||e===Je||e===$e||e===et){if(null===(n=t.get("WEBGL_compressed_texture_s3tc")))return null;if(e===Ke)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===Je)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===$e)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===et)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e===tt||e===nt||e===rt||e===it){if(null===(n=t.get("WEBGL_compressed_texture_pvrtc")))return null;if(e===tt)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===nt)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===rt)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===it)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===ot)return null!==(n=t.get("WEBGL_compressed_texture_etc1"))?n.COMPRESSED_RGB_ETC1_WEBGL:null;if((e===at||e===st)&&null!==(n=t.get("WEBGL_compressed_texture_etc"))){if(e===at)return n.COMPRESSED_RGB8_ETC2;if(e===st)return n.COMPRESSED_RGBA8_ETC2_EAC}return e===lt||e===ct||e===ut||e===ht||e===dt||e===pt||e===ft||e===mt||e===vt||e===gt||e===yt||e===bt||e===At||e===wt||e===Et||e===Mt||e===_t||e===Tt||e===St||e===Ct||e===Lt||e===Rt||e===Pt||e===Dt||e===Ot||e===It||e===Bt||e===Ft?null!==(n=t.get("WEBGL_compressed_texture_astc"))?e:null:e===xt?null!==(n=t.get("EXT_texture_compression_bptc"))?e:null:e===Fe?r?34042:null!==(n=t.get("WEBGL_depth_texture"))?n.UNSIGNED_INT_24_8_WEBGL:null:void 0}return{convert:i}}function rl(){si.call(this),this.type="Group"}function il(e){void 0===e&&(e=[]),Oo.call(this),this.cameras=e}rl.prototype=Object.assign(Object.create(si.prototype),{constructor:rl,isGroup:!0}),il.prototype=Object.assign(Object.create(Oo.prototype),{constructor:il,isArrayCamera:!0});var ol=new lr,al=new lr;function sl(e,t,n){ol.setFromMatrixPosition(t.matrixWorld),al.setFromMatrixPosition(n.matrixWorld);var r=ol.distanceTo(al),i=t.projectionMatrix.elements,o=n.projectionMatrix.elements,a=i[14]/(i[10]-1),s=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],u=(i[8]-1)/i[0],h=(o[8]+1)/o[0],d=a*u,p=a*h,f=r/(-u+h),m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(m),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.getInverse(e.matrixWorld);var v=a+f,g=s+f,y=d-m,b=p+(r-m),A=l*s/g*v,w=c*s/g*v;e.projectionMatrix.makePerspective(y,b,A,w,v,g)}function ll(e){var t,n,r=this,i=null,o=null,a=null,s=[],l=new Fr,c=new Fr,u=1,h="local-floor";"undefined"!==typeof window&&"VRFrameData"in window&&(o=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",A,!1));var d=new Fr,p=new sr,f=new lr,m=new Oo;m.viewport=new ir,m.layers.enable(1);var v=new Oo;v.viewport=new ir,v.layers.enable(2);var g=new il([m,v]);g.layers.enable(1),g.layers.enable(2);var y,b=new Jn;function A(){if(r.isPresenting=null!==i&&!0===i.isPresenting){var o=i.getEyeParameters("left");t=2*o.renderWidth*u,n=o.renderHeight*u,y=e.getPixelRatio(),e.getSize(b),e.setDrawingBufferSize(t,n,1),m.viewport.set(0,0,t/2,n),v.viewport.set(t/2,0,t/2,n),T.start(),r.dispatchEvent({type:"sessionstart"})}else r.enabled&&e.setDrawingBufferSize(b.width,b.height,y),T.stop(),r.dispatchEvent({type:"sessionend"})}var w=[],x=[];function E(e){for(var t=navigator.getGamepads&&navigator.getGamepads(),n=0,r=t.length;n<r;n++){var i=t[n];if(i&&("Daydream Controller"===i.id||"Gear VR Controller"===i.id||"Oculus Go Controller"===i.id||"OpenVR Gamepad"===i.id||i.id.startsWith("Oculus Touch")||i.id.startsWith("HTC Vive Focus")||i.id.startsWith("Spatial Controller"))){var o=i.hand;if(0===e&&(""===o||"right"===o))return i;if(1===e&&"left"===o)return i}}}function M(){for(var e=0;e<s.length;e++){var t=s[e],n=E(e);if(void 0!==n&&void 0!==n.pose){if(null===n.pose)return;var r=n.pose;!1===r.hasPosition&&t.position.set(.2,-.6,-.05),null!==r.position&&t.position.fromArray(r.position),null!==r.orientation&&t.quaternion.fromArray(r.orientation),t.matrix.compose(t.position,t.quaternion,t.scale),t.matrix.premultiply(l),t.matrix.decompose(t.position,t.quaternion,t.scale),t.matrixWorldNeedsUpdate=!0,t.visible=!0;var i="Daydream Controller"===n.id?0:1;void 0===w[e]&&(w[e]=!1),w[e]!==n.buttons[i].pressed&&(w[e]=n.buttons[i].pressed,!0===w[e]?t.dispatchEvent({type:"selectstart"}):(t.dispatchEvent({type:"selectend"}),t.dispatchEvent({type:"select"}))),i=2,void 0===x[e]&&(x[e]=!1),void 0!==n.buttons[i]&&x[e]!==n.buttons[i].pressed&&(x[e]=n.buttons[i].pressed,!0===x[e]?t.dispatchEvent({type:"squeezestart"}):(t.dispatchEvent({type:"squeezeend"}),t.dispatchEvent({type:"squeeze"})))}else t.visible=!1}}function _(e,r){null!==r&&4===r.length&&e.set(r[0]*t,r[1]*n,r[2]*t,r[3]*n)}this.enabled=!1,this.getController=function(e){var t=s[e];return void 0===t&&((t=new rl).matrixAutoUpdate=!1,t.visible=!1,s[e]=t),t},this.getDevice=function(){return i},this.setDevice=function(e){void 0!==e&&(i=e),T.setContext(e)},this.setFramebufferScaleFactor=function(e){u=e},this.setReferenceSpaceType=function(e){h=e},this.setPoseTarget=function(e){void 0!==e&&(a=e)},this.getCamera=function(e){var t="local-floor"===h?1.6:0;if(i.depthNear=e.near,i.depthFar=e.far,i.getFrameData(o),"local-floor"===h){var n=i.stageParameters;n?l.fromArray(n.sittingToStandingTransform):l.makeTranslation(0,t,0)}var r=o.pose,s=null!==a?a:e;s.matrix.copy(l),s.matrix.decompose(s.position,s.quaternion,s.scale),null!==r.orientation&&(p.fromArray(r.orientation),s.quaternion.multiply(p)),null!==r.position&&(p.setFromRotationMatrix(l),f.fromArray(r.position),f.applyQuaternion(p),s.position.add(f)),s.updateMatrixWorld();for(var u=s.children,y=0,b=u.length;y<b;y++)u[y].updateMatrixWorld(!0);m.near=e.near,v.near=e.near,m.far=e.far,v.far=e.far,m.matrixWorldInverse.fromArray(o.leftViewMatrix),v.matrixWorldInverse.fromArray(o.rightViewMatrix),c.getInverse(l),"local-floor"===h&&(m.matrixWorldInverse.multiply(c),v.matrixWorldInverse.multiply(c));var A=s.parent;null!==A&&(d.getInverse(A.matrixWorld),m.matrixWorldInverse.multiply(d),v.matrixWorldInverse.multiply(d)),m.matrixWorld.getInverse(m.matrixWorldInverse),v.matrixWorld.getInverse(v.matrixWorldInverse),m.projectionMatrix.fromArray(o.leftProjectionMatrix),v.projectionMatrix.fromArray(o.rightProjectionMatrix),sl(g,m,v);var w=i.getLayers();if(w.length){var x=w[0];_(m.viewport,x.leftBounds),_(v.viewport,x.rightBounds)}return M(),g},this.getStandingMatrix=function(){return l},this.isPresenting=!1;var T=new jo;this.setAnimationLoop=function(e){T.setAnimationLoop(e),this.isPresenting&&T.start()},this.submitFrame=function(){this.isPresenting&&i.submitFrame()},this.dispose=function(){"undefined"!==typeof window&&window.removeEventListener("vrdisplaypresentchange",A)},this.setFrameOfReferenceType=function(){console.warn("THREE.WebVRManager: setFrameOfReferenceType() has been deprecated.")}}function cl(){this._targetRay=null,this._grip=null,this._hand=null}function ul(e,t){var n,r=this,i=null,o=1,a=null,s="local-floor",l=null,c=null,u=[],h=new Map,d=[],p=new Oo;p.layers.enable(1),p.viewport=new ir;var f=new Oo;f.layers.enable(2),f.viewport=new ir;var m=[p,f],v=new il;v.layers.enable(1),v.layers.enable(2);var g=null,y=null;function b(e){var t=h.get(e.inputSource);t&&t.dispatchEvent({type:e.type,data:e.inputSource})}function A(){h.forEach((function(e,t){e.disconnect(t)})),h.clear(),g=null,y=null,e.setFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),C.stop(),r.isPresenting=!1,r.dispatchEvent({type:"sessionend"})}function w(e){for(var t=i.inputSources,n=0;n<u.length;n++)h.set(t[n],u[n]);for(var r=0;r<e.removed.length;r++){var o=e.removed[r],a=h.get(o);a&&(a.dispatchEvent({type:"disconnected",data:o}),h.delete(o))}for(var s=0;s<e.added.length;s++){var l=e.added[s],c=h.get(l);c&&c.dispatchEvent({type:"connected",data:l})}}this.layersEnabled=!1,this.enabled=!1,this.isPresenting=!1,this.getCameraPose=function(){return l},this.getController=function(e){var t=u[e];return void 0===t&&(t=new cl,u[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){var t=u[e];return void 0===t&&(t=new cl,u[e]=t),t.getGripSpace()},this.getHand=function(e){var t=u[e];return void 0===t&&(t=new cl,u[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){o=e,!0===r.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){s=e,!0===r.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a},this.getSession=function(){return i},this.setSession=function(){var e=Nn(regeneratorRuntime.mark((function e(l){var c,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(i=l)){e.next=24;break}if(i.addEventListener("select",b),i.addEventListener("selectstart",b),i.addEventListener("selectend",b),i.addEventListener("squeeze",b),i.addEventListener("squeezestart",b),i.addEventListener("squeezeend",b),i.addEventListener("end",A),i.addEventListener("inputsourceschange",w),!0===(c=t.getContextAttributes()).xrCompatible){e.next=14;break}return e.next=14,t.makeXRCompatible();case 14:return u={antialias:c.antialias,alpha:c.alpha,depth:c.depth,stencil:c.stencil,framebufferScaleFactor:o},n=new XRWebGLLayer(i,t,u),window.XRWebGLBinding&&this.layersEnabled?this.addLayer(n):i.updateRenderState({baseLayer:n}),e.next=19,i.requestReferenceSpace(s);case 19:a=e.sent,C.setContext(i),C.start(),r.isPresenting=!0,r.dispatchEvent({type:"sessionstart"});case 24:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),this.addLayer=function(e){window.XRWebGLBinding&&this.layersEnabled&&i&&(d.push(e),i.updateRenderState({layers:d}))},this.removeLayer=function(e){window.XRWebGLBinding&&this.layersEnabled&&i&&(d.splice(d.indexOf(e),1),i.updateRenderState({layers:d}))};var x=new lr,E=new lr;function M(e,t,n){x.setFromMatrixPosition(t.matrixWorld),E.setFromMatrixPosition(n.matrixWorld);var r=x.distanceTo(E),i=t.projectionMatrix.elements,o=n.projectionMatrix.elements,a=i[14]/(i[10]-1),s=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],u=(i[8]-1)/i[0],h=(o[8]+1)/o[0],d=a*u,p=a*h,f=r/(-u+h),m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(m),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert();var v=a+f,g=s+f,y=d-m,b=p+(r-m),A=l*s/g*v,w=c*s/g*v;e.projectionMatrix.makePerspective(y,b,A,w,v,g)}function _(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.setPoseTarget=function(e){void 0!==e&&(c=e)},this.getCamera=function(e){v.near=f.near=p.near=e.near,v.far=f.far=p.far=e.far,g===v.near&&y===v.far||(i.updateRenderState({depthNear:v.near,depthFar:v.far}),g=v.near,y=v.far);var t=e.parent,n=v.cameras,r=c||e;_(v,t);for(var o=0;o<n.length;o++)_(n[o],t);r.matrixWorld.copy(v.matrixWorld);for(var a=r.children,s=0,l=a.length;s<l;s++)a[s].updateMatrixWorld(!0);return 2===n.length?M(v,p,f):v.projectionMatrix.copy(p.projectionMatrix),v};var T=null;function S(t,r){if(null!==(l=r.getViewerPose(a))){var o=l.views;e.setFramebuffer(n.framebuffer);var s=!1;o.length!==v.cameras.length&&(v.cameras.length=0,s=!0);for(var c=0;c<o.length;c++){var h=o[c],d=n.getViewport(h),p=m[c];p.matrix.fromArray(h.transform.matrix),p.projectionMatrix.fromArray(h.projectionMatrix),p.viewport.set(d.x,d.y,d.width,d.height),0===c&&v.matrix.copy(p.matrix),!0===s&&v.cameras.push(p)}}for(var f=i.inputSources,g=0;g<u.length;g++){var y=u[g],b=f[g];y.update(b,r,a)}T&&T(t,r)}var C=new jo;C.setAnimationLoop(S),this.setAnimationLoop=function(e){T=e},this.dispose=function(){}}function hl(e){function t(e,t){e.fogColor.value.copy(t.color),t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)}function n(e,t,n,v){t.isMeshBasicMaterial?r(e,t):t.isMeshLambertMaterial?(r(e,t),l(e,t)):t.isMeshToonMaterial?(r(e,t),u(e,t)):t.isMeshPhongMaterial?(r(e,t),c(e,t)):t.isMeshStandardMaterial?(r(e,t),t.isMeshPhysicalMaterial?d(e,t):h(e,t)):t.isMeshMatcapMaterial?(r(e,t),p(e,t)):t.isMeshDepthMaterial?(r(e,t),f(e,t)):t.isMeshDistanceMaterial?(r(e,t),m(e,t)):t.isMeshNormalMaterial?(r(e,t),g(e,t)):t.isLineBasicMaterial?(i(e,t),t.isLineDashedMaterial&&o(e,t)):t.isPointsMaterial?a(e,t,n,v):t.isSpriteMaterial?s(e,t):t.isShadowMaterial?(e.color.value.copy(t.color),e.opacity.value=t.opacity):t.isShaderMaterial&&(t.uniformsNeedUpdate=!1)}function r(t,n){t.opacity.value=n.opacity,n.color&&t.diffuse.value.copy(n.color),n.emissive&&t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity),n.map&&(t.map.value=n.map),n.alphaMap&&(t.alphaMap.value=n.alphaMap),n.specularMap&&(t.specularMap.value=n.specularMap);var r,i,o=e.get(n).envMap;if(o){t.envMap.value=o,t.flipEnvMap.value=o.isCubeTexture&&o._needsFlipEnvMap?-1:1,t.reflectivity.value=n.reflectivity,t.refractionRatio.value=n.refractionRatio;var a=e.get(o).__maxMipLevel;void 0!==a&&(t.maxMipLevel.value=a)}n.lightMap&&(t.lightMap.value=n.lightMap,t.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(t.aoMap.value=n.aoMap,t.aoMapIntensity.value=n.aoMapIntensity),n.map?r=n.map:n.specularMap?r=n.specularMap:n.displacementMap?r=n.displacementMap:n.normalMap?r=n.normalMap:n.bumpMap?r=n.bumpMap:n.roughnessMap?r=n.roughnessMap:n.metalnessMap?r=n.metalnessMap:n.alphaMap?r=n.alphaMap:n.emissiveMap?r=n.emissiveMap:n.clearcoatMap?r=n.clearcoatMap:n.clearcoatNormalMap?r=n.clearcoatNormalMap:n.clearcoatRoughnessMap&&(r=n.clearcoatRoughnessMap),void 0!==r&&(r.isWebGLRenderTarget&&(r=r.texture),!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix)),n.aoMap?i=n.aoMap:n.lightMap&&(i=n.lightMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),t.uv2Transform.value.copy(i.matrix))}function i(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity}function o(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function a(e,t,n,r){var i;e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*n,e.scale.value=.5*r,t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.map?i=t.map:t.alphaMap&&(i=t.alphaMap),void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uvTransform.value.copy(i.matrix))}function s(e,t){var n;e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.map?n=t.map:t.alphaMap&&(n=t.alphaMap),void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),e.uvTransform.value.copy(n.matrix))}function l(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function c(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===v&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===v&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function u(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===v&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===v&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function h(t,n){t.roughness.value=n.roughness,t.metalness.value=n.metalness,n.roughnessMap&&(t.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(t.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(t.emissiveMap.value=n.emissiveMap),n.bumpMap&&(t.bumpMap.value=n.bumpMap,t.bumpScale.value=n.bumpScale,n.side===v&&(t.bumpScale.value*=-1)),n.normalMap&&(t.normalMap.value=n.normalMap,t.normalScale.value.copy(n.normalScale),n.side===v&&t.normalScale.value.negate()),n.displacementMap&&(t.displacementMap.value=n.displacementMap,t.displacementScale.value=n.displacementScale,t.displacementBias.value=n.displacementBias),e.get(n).envMap&&(t.envMapIntensity.value=n.envMapIntensity)}function d(e,t){h(e,t),e.reflectivity.value=t.reflectivity,e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.sheen&&e.sheen.value.copy(t.sheen),t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap),t.clearcoatNormalMap&&(e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),e.clearcoatNormalMap.value=t.clearcoatNormalMap,t.side===v&&e.clearcoatNormalScale.value.negate()),e.transmission.value=t.transmission,t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap)}function p(e,t){t.matcap&&(e.matcap.value=t.matcap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===v&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===v&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function f(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function m(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}function g(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,t.side===v&&(e.bumpScale.value*=-1)),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),t.side===v&&e.normalScale.value.negate()),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}return{refreshFogUniforms:t,refreshMaterialUniforms:n}}function dl(){var e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return e.style.display="block",e}function pl(e){var t=void 0!==(e=e||{}).canvas?e.canvas:dl(),n=void 0!==e.context?e.context:null,r=void 0!==e.alpha&&e.alpha,i=void 0===e.depth||e.depth,o=void 0===e.stencil||e.stencil,a=void 0!==e.antialias&&e.antialias,s=void 0===e.premultipliedAlpha||e.premultipliedAlpha,l=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,c=void 0!==e.powerPreference?e.powerPreference:"default",u=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat,h=null,d=null,p=[];this.domElement=t,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=Kt,this.physicallyCorrectLights=!1,this.toneMapping=$,this.toneMappingExposure=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var f=this,m=!1,v=null,g=0,y=0,b=null,A=null,w=-1,x=null,E=new ir,M=new ir,_=null,T=t.width,S=t.height,C=1,L=null,R=null,P=new ir(0,0,T,S),D=new ir(0,0,T,S),O=!1,I=new zo,B=!1,F=!1,k=new Fr,N=new lr,U={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function H(){return null===b?C:1}var G,z,j,V,W,q,X,Y,Q,Z,K,J,ee,te,ne,re,ie,oe,ae,se,le,ce=n;function ue(e,n){for(var r=0;r<e.length;r++){var i=e[r],o=t.getContext(i,n);if(null!==o)return o}return null}try{var he={alpha:r,depth:i,stencil:o,antialias:a,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:u};if(t.addEventListener("webglcontextlost",ve,!1),t.addEventListener("webglcontextrestored",ge,!1),null===ce){var de=["webgl2","webgl","experimental-webgl"];if(!0===f.isWebGL1Renderer&&de.shift(),null===(ce=ue(de,he)))throw ue(de)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===ce.getShaderPrecisionFormat&&(ce.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(Be){throw console.error("THREE.WebGLRenderer: "+Be.message),Be}function pe(){G=new ta(ce),z=new Jo(ce,G,e),G.init(z),se=new nl(ce,G,z),(j=new el(ce,G,z)).scissor(M.copy(D).multiplyScalar(C).floor()),j.viewport(E.copy(P).multiplyScalar(C).floor()),V=new ia(ce),W=new ks,q=new tl(ce,G,j,W,z,se,V),X=new ea(f),Y=new Vo(ce,z),le=new Zo(ce,G,Y,z),Q=new na(ce,Y,V,le),Z=new la(ce,Q,Y,V),ie=new sa(ce),ne=new $o(W),K=new Fs(f,X,G,z,le,ne),J=new hl(W),ee=new Gs(W),te=new Ys(G,z),re=new Qo(f,X,j,Z,s),oe=new Ko(ce,G,V,z),ae=new ra(ce,G,V,z),V.programs=K.programs,f.capabilities=z,f.extensions=G,f.properties=W,f.renderLists=ee,f.state=j,f.info=V}pe();var fe="undefined"!==typeof navigator&&"xr"in navigator?new ul(f,ce):new ll(f);this.xr=fe;var me=new $s(f,Z,z.maxTextureSize);function ve(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),m=!0}function ge(){console.log("THREE.WebGLRenderer: Context Restored."),m=!1,pe()}function ye(e){var t=e.target;t.removeEventListener("dispose",ye),be(t)}function be(e){Ae(e),W.remove(e)}function Ae(e){var t=W.get(e).program;void 0!==t&&K.releaseProgram(t)}function we(e,t){e.render((function(e){f.renderBufferImmediate(e,t)}))}this.shadowMap=me,this.getContext=function(){return ce},this.getContextAttributes=function(){return ce.getContextAttributes()},this.forceContextLoss=function(){var e=G.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){var e=G.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return C},this.setPixelRatio=function(e){void 0!==e&&(C=e,this.setSize(T,S,!1))},this.getSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),e=new Jn),e.set(T,S)},this.setSize=function(e,n,r){fe.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(T=e,S=n,t.width=Math.floor(e*C),t.height=Math.floor(n*C),!1!==r&&(t.style.width=e+"px",t.style.height=n+"px"),this.setViewport(0,0,e,n))},this.getDrawingBufferSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),e=new Jn),e.set(T*C,S*C).floor()},this.setDrawingBufferSize=function(e,n,r){T=e,S=n,C=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),e=new ir),e.copy(E)},this.getViewport=function(e){return e.copy(P)},this.setViewport=function(e,t,n,r){e.isVector4?P.set(e.x,e.y,e.z,e.w):P.set(e,t,n,r),j.viewport(E.copy(P).multiplyScalar(C).floor())},this.getScissor=function(e){return e.copy(D)},this.setScissor=function(e,t,n,r){e.isVector4?D.set(e.x,e.y,e.z,e.w):D.set(e,t,n,r),j.scissor(M.copy(D).multiplyScalar(C).floor())},this.getScissorTest=function(){return O},this.setScissorTest=function(e){j.setScissorTest(O=e)},this.setOpaqueSort=function(e){L=e},this.setTransparentSort=function(e){R=e},this.getClearColor=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getClearColor() now requires a Color as an argument"),e=new Li),e.copy(re.getClearColor())},this.setClearColor=function(){re.setClearColor.apply(re,arguments)},this.getClearAlpha=function(){return re.getClearAlpha()},this.setClearAlpha=function(){re.setClearAlpha.apply(re,arguments)},this.clear=function(e,t,n){var r=0;(void 0===e||e)&&(r|=16384),(void 0===t||t)&&(r|=256),(void 0===n||n)&&(r|=1024),ce.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",ve,!1),t.removeEventListener("webglcontextrestored",ge,!1),ee.dispose(),te.dispose(),W.dispose(),X.dispose(),Z.dispose(),le.dispose(),fe.dispose(),Me.stop()},this.renderBufferImmediate=function(e,t){le.initAttributes();var n=W.get(e);e.hasPositions&&!n.position&&(n.position=ce.createBuffer()),e.hasNormals&&!n.normal&&(n.normal=ce.createBuffer()),e.hasUvs&&!n.uv&&(n.uv=ce.createBuffer()),e.hasColors&&!n.color&&(n.color=ce.createBuffer());var r=t.getAttributes();e.hasPositions&&(ce.bindBuffer(34962,n.position),ce.bufferData(34962,e.positionArray,35048),le.enableAttribute(r.position),ce.vertexAttribPointer(r.position,3,5126,!1,0,0)),e.hasNormals&&(ce.bindBuffer(34962,n.normal),ce.bufferData(34962,e.normalArray,35048),le.enableAttribute(r.normal),ce.vertexAttribPointer(r.normal,3,5126,!1,0,0)),e.hasUvs&&(ce.bindBuffer(34962,n.uv),ce.bufferData(34962,e.uvArray,35048),le.enableAttribute(r.uv),ce.vertexAttribPointer(r.uv,2,5126,!1,0,0)),e.hasColors&&(ce.bindBuffer(34962,n.color),ce.bufferData(34962,e.colorArray,35048),le.enableAttribute(r.color),ce.vertexAttribPointer(r.color,3,5126,!1,0,0)),le.disableUnusedAttributes(),ce.drawArrays(4,0,e.count),e.count=0},this.renderBufferDirect=function(e,t,n,r,i,o){null===t&&(t=U);var a=i.isMesh&&i.matrixWorld.determinant()<0,s=Re(e,t,r,i);j.setMaterial(r,a);var l=n.index,c=n.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;var u,h=1;!0===r.wireframe&&(l=Q.getWireframeAttribute(n),h=2),(r.morphTargets||r.morphNormals)&&ie.update(i,n,r,s),le.setup(i,r,s,n,l);var d=oe;null!==l&&(u=Y.get(l),(d=ae).setIndex(u));var p=null!==l?l.count:c.count,f=n.drawRange.start*h,m=n.drawRange.count*h,v=null!==o?o.start*h:0,g=null!==o?o.count*h:1/0,y=Math.max(f,v),b=Math.min(p,f+m,v+g)-1,A=Math.max(0,b-y+1);if(0!==A){if(i.isMesh)!0===r.wireframe?(j.setLineWidth(r.wireframeLinewidth*H()),d.setMode(1)):d.setMode(4);else if(i.isLine){var w=r.linewidth;void 0===w&&(w=1),j.setLineWidth(w*H()),i.isLineSegments?d.setMode(1):i.isLineLoop?d.setMode(2):d.setMode(3)}else i.isPoints?d.setMode(0):i.isSprite&&d.setMode(4);if(i.isInstancedMesh)d.renderInstances(y,A,i.count);else if(n.isInstancedBufferGeometry){var x=Math.min(n.instanceCount,n._maxInstanceCount);d.renderInstances(y,A,x)}else d.render(y,A)}},this.compile=function(e,t){(d=te.get(e)).init(),e.traverseVisible((function(e){e.isLight&&e.layers.test(t.layers)&&(d.pushLight(e),e.castShadow&&d.pushShadow(e))})),d.setupLights();var n=new WeakMap;e.traverse((function(t){var r=t.material;if(r)if(Array.isArray(r))for(var i=0;i<r.length;i++){var o=r[i];!1===n.has(o)&&(Le(o,e,t),n.set(o))}else!1===n.has(r)&&(Le(r,e,t),n.set(r))}))};var xe=null;function Ee(e){fe.isPresenting||xe&&xe(e)}var Me=new jo;function Te(e,t,n,r){if(!1!==e.visible){if(e.layers.test(t.layers))if(e.isGroup)n=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)d.pushLight(e),e.castShadow&&d.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||I.intersectsSprite(e)){r&&N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);var i=Z.update(e),o=e.material;o.visible&&h.push(e,i,o,n,N.z,null)}}else if(e.isImmediateRenderObject)r&&N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k),h.push(e,null,e.material,n,N.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.frame!==V.render.frame&&(e.skeleton.update(),e.skeleton.frame=V.render.frame),!e.frustumCulled||I.intersectsObject(e))){r&&N.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);var a=Z.update(e),s=e.material;if(Array.isArray(s))for(var l=a.groups,c=0,u=l.length;c<u;c++){var p=l[c],f=s[p.materialIndex];f&&f.visible&&h.push(e,a,f,n,N.z,p)}else s.visible&&h.push(e,a,s,n,N.z,null)}for(var m=e.children,v=0,g=m.length;v<g;v++)Te(m[v],t,n,r)}}function Se(e,t,n){for(var r=!0===t.isScene?t.overrideMaterial:null,i=0,o=e.length;i<o;i++){var a=e[i],s=a.object,l=a.geometry,c=null===r?a.material:r,u=a.group;if(n.isArrayCamera)for(var h=n.cameras,p=0,f=h.length;p<f;p++){var m=h[p];s.layers.test(m.layers)&&(j.viewport(E.copy(m.viewport)),d.setupLightsView(m),Ce(s,t,m,l,c,u))}else Ce(s,t,n,l,c,u)}}function Ce(e,t,n,r,i,o){if(e.onBeforeRender(f,t,n,r,i,o),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),e.isImmediateRenderObject){var a=Re(n,t,i,e);j.setMaterial(i),le.reset(),we(e,a)}else f.renderBufferDirect(n,t,r,i,e,o);e.onAfterRender(f,t,n,r,i,o)}function Le(e,t,n){!0!==t.isScene&&(t=U);var r=W.get(e),i=d.state.lights,o=d.state.shadowsArray,a=i.state.version,s=K.getParameters(e,i.state,o,t,n),l=K.getProgramCacheKey(s),c=r.program,u=!0;if(r.environment=e.isMeshStandardMaterial?t.environment:null,r.fog=t.fog,r.envMap=X.get(e.envMap||r.environment),void 0===c)e.addEventListener("dispose",ye);else if(c.cacheKey!==l)Ae(e);else if(r.lightsStateVersion!==a)u=!1;else{if(void 0!==s.shaderID)return;u=!1}u&&(s.uniforms=K.getUniforms(e),e.onBeforeCompile(s,f),c=K.acquireProgram(s,l),r.program=c,r.uniforms=s.uniforms,r.outputEncoding=s.outputEncoding);var h=r.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(r.numClippingPlanes=ne.numPlanes,r.numIntersection=ne.numIntersection,h.clippingPlanes=ne.uniform),r.needsLights=Ie(e),r.lightsStateVersion=a,r.needsLights&&(h.ambientLightColor.value=i.state.ambient,h.lightProbe.value=i.state.probe,h.directionalLights.value=i.state.directional,h.directionalLightShadows.value=i.state.directionalShadow,h.spotLights.value=i.state.spot,h.spotLightShadows.value=i.state.spotShadow,h.rectAreaLights.value=i.state.rectArea,h.ltc_1.value=i.state.rectAreaLTC1,h.ltc_2.value=i.state.rectAreaLTC2,h.pointLights.value=i.state.point,h.pointLightShadows.value=i.state.pointShadow,h.hemisphereLights.value=i.state.hemi,h.directionalShadowMap.value=i.state.directionalShadowMap,h.directionalShadowMatrix.value=i.state.directionalShadowMatrix,h.spotShadowMap.value=i.state.spotShadowMap,h.spotShadowMatrix.value=i.state.spotShadowMatrix,h.pointShadowMap.value=i.state.pointShadowMap,h.pointShadowMatrix.value=i.state.pointShadowMatrix);var p=r.program.getUniforms(),m=ss.seqWithValue(p.seq,h);r.uniformsList=m}function Re(e,t,n,r){!0!==t.isScene&&(t=U),q.resetTextureUnits();var i=t.fog,o=n.isMeshStandardMaterial?t.environment:null,a=null===b?f.outputEncoding:b.texture.encoding,s=X.get(n.envMap||o),l=W.get(n),c=d.state.lights;if(!0===B&&(!0===F||e!==x)){var u=e===x&&n.id===w;ne.setState(n,e,u)}n.version===l.__version?n.fog&&l.fog!==i||l.environment!==o||l.needsLights&&l.lightsStateVersion!==c.state.version?Le(n,t,r):void 0===l.numClippingPlanes||l.numClippingPlanes===ne.numPlanes&&l.numIntersection===ne.numIntersection?(l.outputEncoding!==a||l.envMap!==s)&&Le(n,t,r):Le(n,t,r):(Le(n,t,r),l.__version=n.version);var h=!1,p=!1,m=!1,v=l.program,g=v.getUniforms(),y=l.uniforms;if(j.useProgram(v.program)&&(h=!0,p=!0,m=!0),n.id!==w&&(w=n.id,p=!0),h||x!==e){if(g.setValue(ce,"projectionMatrix",e.projectionMatrix),z.logarithmicDepthBuffer&&g.setValue(ce,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),x!==e&&(x=e,p=!0,m=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshStandardMaterial||n.envMap){var A=g.map.cameraPosition;void 0!==A&&A.setValue(ce,N.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial)&&g.setValue(ce,"isOrthographic",!0===e.isOrthographicCamera),(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.isShadowMaterial||n.skinning)&&g.setValue(ce,"viewMatrix",e.matrixWorldInverse)}if(n.skinning){g.setOptional(ce,r,"bindMatrix"),g.setOptional(ce,r,"bindMatrixInverse");var E=r.skeleton;if(E){var M=E.bones;if(z.floatVertexTextures){if(null===E.boneTexture){var _=Math.sqrt(4*M.length);_=Kn.ceilPowerOfTwo(_),_=Math.max(_,4);var T=new Float32Array(_*_*4);T.set(E.boneMatrices);var L=new Uo(T,_,_,Ue,Pe);E.boneMatrices=T,E.boneTexture=L,E.boneTextureSize=_}g.setValue(ce,"boneTexture",E.boneTexture,q),g.setValue(ce,"boneTextureSize",E.boneTextureSize)}else g.setOptional(ce,E,"boneMatrices")}}return(p||l.receiveShadow!==r.receiveShadow)&&(l.receiveShadow=r.receiveShadow,g.setValue(ce,"receiveShadow",r.receiveShadow)),p&&(g.setValue(ce,"toneMappingExposure",f.toneMappingExposure),l.needsLights&&Oe(y,m),i&&n.fog&&J.refreshFogUniforms(y,i),J.refreshMaterialUniforms(y,n,C,S),ss.upload(ce,l.uniformsList,y,q)),n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(ss.upload(ce,l.uniformsList,y,q),n.uniformsNeedUpdate=!1),n.isSpriteMaterial&&g.setValue(ce,"center",r.center),g.setValue(ce,"modelViewMatrix",r.modelViewMatrix),g.setValue(ce,"normalMatrix",r.normalMatrix),g.setValue(ce,"modelMatrix",r.matrixWorld),v}function Oe(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function Ie(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}Me.setAnimationLoop(Ee),"undefined"!==typeof window&&Me.setContext(window),this.setAnimationLoop=function(e){xe=e,fe.setAnimationLoop(e),null===e?Me.stop():Me.start()},this.render=function(e,t){var n,r;if(void 0!==arguments[2]&&(console.warn("THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead."),n=arguments[2]),void 0!==arguments[3]&&(console.warn("THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead."),r=arguments[3]),void 0===t||!0===t.isCamera){if(!0!==m){le.resetDefaultState(),w=-1,x=null,!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),!0===fe.enabled&&!0===fe.isPresenting&&(t=fe.getCamera(t)),!0===e.isScene&&e.onBeforeRender(f,e,t,n||b),(d=te.get(e,p.length)).init(),p.push(d),k.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),I.setFromProjectionMatrix(k),F=this.localClippingEnabled,B=ne.init(this.clippingPlanes,F,t),(h=ee.get(e,t)).init(),Te(e,t,0,f.sortObjects),h.finish(),!0===f.sortObjects&&h.sort(L,R),!0===B&&ne.beginShadows();var i=d.state.shadowsArray;me.render(i,e,t),d.setupLights(),d.setupLightsView(t),!0===B&&ne.endShadows(),!0===this.info.autoReset&&this.info.reset(),void 0!==n&&this.setRenderTarget(n),re.render(h,e,t,r);var o=h.opaque,a=h.transparent;o.length>0&&Se(o,e,t),a.length>0&&Se(a,e,t),!0===e.isScene&&e.onAfterRender(f,e,t),null!==b&&(q.updateRenderTargetMipmap(b),q.updateMultisampleRenderTarget(b)),j.buffers.depth.setTest(!0),j.buffers.depth.setMask(!0),j.buffers.color.setMask(!0),j.setPolygonOffset(!1),fe.enabled&&fe.submitFrame&&fe.submitFrame(),p.pop(),d=p.length>0?p[p.length-1]:null,h=null}}else console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")},this.setTexture2D=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTarget&&(e||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),e=!0),t=t.texture),q.setTexture2D(t,n)}}(),this.setFramebuffer=function(e){v!==e&&null===b&&ce.bindFramebuffer(36160,e),v=e},this.getActiveCubeFace=function(){return g},this.getActiveMipmapLevel=function(){return y},this.getRenderList=function(){return h},this.setRenderList=function(e){h=e},this.getRenderTarget=function(){return b},this.setRenderTarget=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=0),b=e,g=t,y=n,e&&void 0===W.get(e).__webglFramebuffer&&q.setupRenderTarget(e);var r=v,i=!1;if(e){var o=W.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(r=o[t],i=!0):r=e.isWebGLMultisampleRenderTarget?W.get(e).__webglMultisampledFramebuffer:o,E.copy(e.viewport),M.copy(e.scissor),_=e.scissorTest}else E.copy(P).multiplyScalar(C).floor(),M.copy(D).multiplyScalar(C).floor(),_=O;if(A!==r&&(ce.bindFramebuffer(36160,r),A=r),j.viewport(E),j.scissor(M),j.setScissorTest(_),i){var a=W.get(e.texture);ce.framebufferTexture2D(36160,36064,34069+t,a.__webglTexture,n)}},this.readRenderTargetPixels=function(e,t,n,r,i,o,a){if(e&&e.isWebGLRenderTarget){var s=W.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==a&&(s=s[a]),s){var l=!1;s!==A&&(ce.bindFramebuffer(36160,s),l=!0);try{var c=e.texture,u=c.format,h=c.type;if(u!==Ue&&se.convert(u)!==ce.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");var d=h===De&&(G.has("EXT_color_buffer_half_float")||z.isWebGL2&&G.has("EXT_color_buffer_float"));if(h!==_e&&se.convert(h)!==ce.getParameter(35738)&&(h!==Pe||!(z.isWebGL2||G.has("OES_texture_float")||G.has("WEBGL_color_buffer_float")))&&!d)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===ce.checkFramebufferStatus(36160)?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&ce.readPixels(t,n,r,i,se.convert(u),se.convert(h),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{l&&ce.bindFramebuffer(36160,A)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")},this.copyFramebufferToTexture=function(e,t,n){void 0===n&&(n=0);var r=Math.pow(2,-n),i=Math.floor(t.image.width*r),o=Math.floor(t.image.height*r),a=se.convert(t.format);q.setTexture2D(t,0),ce.copyTexImage2D(3553,n,a,e.x,e.y,i,o,0),j.unbindTexture()},this.copyTextureToTexture=function(e,t,n,r){void 0===r&&(r=0);var i=t.image.width,o=t.image.height,a=se.convert(n.format),s=se.convert(n.type);q.setTexture2D(n,0),ce.pixelStorei(37440,n.flipY),ce.pixelStorei(37441,n.premultiplyAlpha),ce.pixelStorei(3317,n.unpackAlignment),t.isDataTexture?ce.texSubImage2D(3553,r,e.x,e.y,i,o,a,s,t.image.data):t.isCompressedTexture?ce.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):ce.texSubImage2D(3553,r,e.x,e.y,a,s,t.image),0===r&&n.generateMipmaps&&ce.generateMipmap(3553),j.unbindTexture()},this.initTexture=function(e){q.setTexture2D(e,0),j.unbindTexture()},this.resetState=function(){j.reset(),le.reset()},"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}function fl(e){pl.call(this,e)}Object.assign(ll.prototype,qn.prototype),Object.assign(cl.prototype,{constructor:cl,getHandSpace:function(){return null===this._hand&&(this._hand=new rl,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},getTargetRaySpace:function(){return null===this._targetRay&&(this._targetRay=new rl,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1),this._targetRay},getGripSpace:function(){return null===this._grip&&(this._grip=new rl,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1),this._grip},dispatchEvent:function(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this},disconnect:function(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},update:function(e,t,n){var r=null,i=null,o=null,a=this._targetRay,s=this._grip,l=this._hand;if(e&&"visible-blurred"!==t.session.visibilityState)if(l&&e.hand){o=!0;for(var c,u=Wn(e.hand.values());!(c=u()).done;){var h=c.value,d=t.getJointPose(h,n);if(void 0===l.joints[h.jointName]){var p=new rl;p.matrixAutoUpdate=!1,p.visible=!1,l.joints[h.jointName]=p,l.add(p)}var f=l.joints[h.jointName];null!==d&&(f.matrix.fromArray(d.transform.matrix),f.matrix.decompose(f.position,f.rotation,f.scale),f.jointRadius=d.radius),f.visible=null!==d}var m=l.joints["index-finger-tip"],v=l.joints["thumb-tip"],g=m.position.distanceTo(v.position),y=.02,b=.005;l.inputState.pinching&&g>y+b?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&g<=y-b&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==a&&null!==(r=t.getPose(e.targetRaySpace,n))&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale)),null!==s&&e.gripSpace&&null!==(i=t.getPose(e.gripSpace,n))&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale));return null!==a&&(a.visible=null!==r),null!==s&&(s.visible=null!==i),null!==l&&(l.visible=null!==o),this}}),Object.assign(ul.prototype,qn.prototype),fl.prototype=Object.assign(Object.create(pl.prototype),{constructor:fl,isWebGL1Renderer:!0});var ml=function(){function e(e,t){Object.defineProperty(this,"isFogExp2",{value:!0}),this.name="",this.color=new Li(e),this.density=void 0!==t?t:25e-5}var t=e.prototype;return t.clone=function(){return new e(this.color,this.density)},t.toJSON=function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},e}(),vl=function(){function e(e,t,n){Object.defineProperty(this,"isFog",{value:!0}),this.name="",this.color=new Li(e),this.near=void 0!==t?t:1,this.far=void 0!==n?n:1e3}var t=e.prototype;return t.clone=function(){return new e(this.color,this.near,this.far)},t.toJSON=function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},e}(),gl=function(e){function t(){var t;return t=e.call(this)||this,Object.defineProperty(zn(t),"isScene",{value:!0}),t.type="Scene",t.background=null,t.environment=null,t.fog=null,t.overrideMaterial=null,t.autoUpdate=!0,"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:zn(t)})),t}Gn(t,e);var n=t.prototype;return n.copy=function(t,n){return e.prototype.copy.call(this,t,n),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},n.toJSON=function(t){var n=e.prototype.toJSON.call(this,t);return null!==this.background&&(n.object.background=this.background.toJSON(t)),null!==this.environment&&(n.object.environment=this.environment.toJSON(t)),null!==this.fog&&(n.object.fog=this.fog.toJSON()),n},t}(si);function yl(e,t){this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.usage=Tn,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Kn.generateUUID()}Object.defineProperty(yl.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(yl.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setUsage:function(e){return this.usage=e,this},copy:function(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this},copyAt:function(e,t,n){e*=this.stride,n*=t.stride;for(var r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},clone:function(e){void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Kn.generateUUID()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);var t=new yl(new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),this.stride);return t.setUsage(this.usage),t},onUpload:function(e){return this.onUploadCallback=e,this},toJSON:function(e){return void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Kn.generateUUID()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}});var bl,Al=new lr;function wl(e,t,n,r){this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=!0===r}function xl(e){Di.call(this),this.type="SpriteMaterial",this.color=new Li(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.setValues(e)}Object.defineProperties(wl.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}},needsUpdate:{set:function(e){this.data.needsUpdate=e}}}),Object.assign(wl.prototype,{isInterleavedBufferAttribute:!0,applyMatrix4:function(e){for(var t=0,n=this.data.count;t<n;t++)Al.x=this.getX(t),Al.y=this.getY(t),Al.z=this.getZ(t),Al.applyMatrix4(e),this.setXYZ(t,Al.x,Al.y,Al.z);return this},setX:function(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this},setY:function(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this},setZ:function(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this},setW:function(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this},getX:function(e){return this.data.array[e*this.data.stride+this.offset]},getY:function(e){return this.data.array[e*this.data.stride+this.offset+1]},getZ:function(e){return this.data.array[e*this.data.stride+this.offset+2]},getW:function(e){return this.data.array[e*this.data.stride+this.offset+3]},setXY:function(e,t,n){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this},setXYZ:function(e,t,n,r){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this},setXYZW:function(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this},clone:function(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.");for(var t=[],n=0;n<this.count;n++)for(var r=n*this.data.stride+this.offset,i=0;i<this.itemSize;i++)t.push(this.data.array[r+i]);return new Fi(new this.array.constructor(t),this.itemSize,this.normalized)}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new wl(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)},toJSON:function(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.");for(var t=[],n=0;n<this.count;n++)for(var r=n*this.data.stride+this.offset,i=0;i<this.itemSize;i++)t.push(this.data.array[r+i]);return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}),xl.prototype=Object.create(Di.prototype),xl.prototype.constructor=xl,xl.prototype.isSpriteMaterial=!0,xl.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this};var El=new lr,Ml=new lr,_l=new lr,Tl=new Jn,Sl=new Jn,Cl=new Fr,Ll=new lr,Rl=new lr,Pl=new lr,Dl=new Jn,Ol=new Jn,Il=new Jn;function Bl(e){if(si.call(this),this.type="Sprite",void 0===bl){bl=new ro;var t=new yl(new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),5);bl.setIndex([0,1,2,0,2,3]),bl.setAttribute("position",new wl(t,3,0,!1)),bl.setAttribute("uv",new wl(t,2,3,!1))}this.geometry=bl,this.material=void 0!==e?e:new xl,this.center=new Jn(.5,.5)}function Fl(e,t,n,r,i,o){Tl.subVectors(e,n).addScalar(.5).multiply(r),void 0!==i?(Sl.x=o*Tl.x-i*Tl.y,Sl.y=i*Tl.x+o*Tl.y):Sl.copy(Tl),e.copy(t),e.x+=Sl.x,e.y+=Sl.y,e.applyMatrix4(Cl)}Bl.prototype=Object.assign(Object.create(si.prototype),{constructor:Bl,isSprite:!0,raycast:function(e,t){null===e.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Ml.setFromMatrixScale(this.matrixWorld),Cl.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),_l.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&Ml.multiplyScalar(-_l.z);var n,r,i=this.material.rotation;0!==i&&(r=Math.cos(i),n=Math.sin(i));var o=this.center;Fl(Ll.set(-.5,-.5,0),_l,o,Ml,n,r),Fl(Rl.set(.5,-.5,0),_l,o,Ml,n,r),Fl(Pl.set(.5,.5,0),_l,o,Ml,n,r),Dl.set(0,0),Ol.set(1,0),Il.set(1,1);var a=e.ray.intersectTriangle(Ll,Rl,Pl,!1,El);if(null!==a||(Fl(Rl.set(-.5,.5,0),_l,o,Ml,n,r),Ol.set(0,1),null!==(a=e.ray.intersectTriangle(Ll,Pl,Rl,!1,El)))){var s=e.ray.origin.distanceTo(El);s<e.near||s>e.far||t.push({distance:s,point:El.clone(),uv:xi.getUV(El,Ll,Rl,Pl,Dl,Ol,Il,new Jn),face:null,object:this})}},copy:function(e){return si.prototype.copy.call(this,e),void 0!==e.center&&this.center.copy(e.center),this.material=e.material,this}});var kl=new lr,Nl=new lr;function Ul(){si.call(this),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}Ul.prototype=Object.assign(Object.create(si.prototype),{constructor:Ul,isLOD:!0,copy:function(e){si.prototype.copy.call(this,e,!1);for(var t=e.levels,n=0,r=t.length;n<r;n++){var i=t[n];this.addLevel(i.object.clone(),i.distance)}return this.autoUpdate=e.autoUpdate,this},addLevel:function(e,t){void 0===t&&(t=0),t=Math.abs(t);var n,r=this.levels;for(n=0;n<r.length&&!(t<r[n].distance);n++);return r.splice(n,0,{distance:t,object:e}),this.add(e),this},getCurrentLevel:function(){return this._currentLevel},getObjectForDistance:function(e){var t=this.levels;if(t.length>0){var n,r;for(n=1,r=t.length;n<r&&!(e<t[n].distance);n++);return t[n-1].object}return null},raycast:function(e,t){if(this.levels.length>0){kl.setFromMatrixPosition(this.matrixWorld);var n=e.ray.origin.distanceTo(kl);this.getObjectForDistance(n).raycast(e,t)}},update:function(e){var t=this.levels;if(t.length>1){kl.setFromMatrixPosition(e.matrixWorld),Nl.setFromMatrixPosition(this.matrixWorld);var n,r,i=kl.distanceTo(Nl)/e.zoom;for(t[0].object.visible=!0,n=1,r=t.length;n<r&&i>=t[n].distance;n++)t[n-1].object.visible=!1,t[n].object.visible=!0;for(this._currentLevel=n-1;n<r;n++)t[n].object.visible=!1}},toJSON:function(e){var t=si.prototype.toJSON.call(this,e);!1===this.autoUpdate&&(t.object.autoUpdate=!1),t.object.levels=[];for(var n=this.levels,r=0,i=n.length;r<i;r++){var o=n[r];t.object.levels.push({object:o.object.uuid,distance:o.distance})}return t}});var Hl=new lr,Gl=new ir,zl=new ir,jl=new lr,Vl=new Fr;function Wl(e,t){e&&e.isGeometry&&console.error("THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."),xo.call(this,e,t),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Fr,this.bindMatrixInverse=new Fr}function ql(){si.call(this),this.type="Bone"}Wl.prototype=Object.assign(Object.create(xo.prototype),{constructor:Wl,isSkinnedMesh:!0,copy:function(e){return xo.prototype.copy.call(this,e),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,this},bind:function(e,t){this.skeleton=e,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){for(var e=new ir,t=this.geometry.attributes.skinWeight,n=0,r=t.count;n<r;n++){e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.w=t.getW(n);var i=1/e.manhattanLength();i!==1/0?e.multiplyScalar(i):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}},updateMatrixWorld:function(e){xo.prototype.updateMatrixWorld.call(this,e),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},boneTransform:function(e,t){var n=this.skeleton,r=this.geometry;Gl.fromBufferAttribute(r.attributes.skinIndex,e),zl.fromBufferAttribute(r.attributes.skinWeight,e),Hl.fromBufferAttribute(r.attributes.position,e).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(var i=0;i<4;i++){var o=zl.getComponent(i);if(0!==o){var a=Gl.getComponent(i);Vl.multiplyMatrices(n.bones[a].matrixWorld,n.boneInverses[a]),t.addScaledVector(jl.copy(Hl).applyMatrix4(Vl),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}),ql.prototype=Object.assign(Object.create(si.prototype),{constructor:ql,isBone:!0});var Xl=new Fr,Yl=new Fr;function Ql(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]),this.uuid=Kn.generateUUID(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}Object.assign(Ql.prototype,{init:function(){var e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(16*e.length),0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(var n=0,r=this.bones.length;n<r;n++)this.boneInverses.push(new Fr)}},calculateInverses:function(){this.boneInverses.length=0;for(var e=0,t=this.bones.length;e<t;e++){var n=new Fr;this.bones[e]&&n.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(n)}},pose:function(){for(var e=0,t=this.bones.length;e<t;e++){var n=this.bones[e];n&&n.matrixWorld.copy(this.boneInverses[e]).invert()}for(var r=0,i=this.bones.length;r<i;r++){var o=this.bones[r];o&&(o.parent&&o.parent.isBone?(o.matrix.copy(o.parent.matrixWorld).invert(),o.matrix.multiply(o.matrixWorld)):o.matrix.copy(o.matrixWorld),o.matrix.decompose(o.position,o.quaternion,o.scale))}},update:function(){for(var e=this.bones,t=this.boneInverses,n=this.boneMatrices,r=this.boneTexture,i=0,o=e.length;i<o;i++){var a=e[i]?e[i].matrixWorld:Yl;Xl.multiplyMatrices(a,t[i]),Xl.toArray(n,16*i)}null!==r&&(r.needsUpdate=!0)},clone:function(){return new Ql(this.bones,this.boneInverses)},getBoneByName:function(e){for(var t=0,n=this.bones.length;t<n;t++){var r=this.bones[t];if(r.name===e)return r}},dispose:function(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)},fromJSON:function(e,t){this.uuid=e.uuid;for(var n=0,r=e.bones.length;n<r;n++){var i=e.bones[n],o=t[i];void 0===o&&(console.warn("THREE.Skeleton: No bone found with UUID:",i),o=new ql),this.bones.push(o),this.boneInverses.push((new Fr).fromArray(e.boneInverses[n]))}return this.init(),this},toJSON:function(){var e={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;for(var t=this.bones,n=this.boneInverses,r=0,i=t.length;r<i;r++){var o=t[r];e.bones.push(o.uuid);var a=n[r];e.boneInverses.push(a.toArray())}return e}});var Zl=new Fr,Kl=new Fr,Jl=[],$l=new xo;function ec(e,t,n){xo.call(this,e,t),this.instanceMatrix=new Fi(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.frustumCulled=!1}function tc(e){Di.call(this),this.type="LineBasicMaterial",this.color=new Li(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.morphTargets=!1,this.setValues(e)}ec.prototype=Object.assign(Object.create(xo.prototype),{constructor:ec,isInstancedMesh:!0,copy:function(e){return xo.prototype.copy.call(this,e),this.instanceMatrix.copy(e.instanceMatrix),null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,this},getColorAt:function(e,t){t.fromArray(this.instanceColor.array,3*e)},getMatrixAt:function(e,t){t.fromArray(this.instanceMatrix.array,16*e)},raycast:function(e,t){var n=this.matrixWorld,r=this.count;if($l.geometry=this.geometry,$l.material=this.material,void 0!==$l.material)for(var i=0;i<r;i++){this.getMatrixAt(i,Zl),Kl.multiplyMatrices(n,Zl),$l.matrixWorld=Kl,$l.raycast(e,Jl);for(var o=0,a=Jl.length;o<a;o++){var s=Jl[o];s.instanceId=i,s.object=this,t.push(s)}Jl.length=0}},setColorAt:function(e,t){null===this.instanceColor&&(this.instanceColor=new Fi(new Float32Array(3*this.count),3)),t.toArray(this.instanceColor.array,3*e)},setMatrixAt:function(e,t){t.toArray(this.instanceMatrix.array,16*e)},updateMorphTargets:function(){},dispose:function(){this.dispatchEvent({type:"dispose"})}}),tc.prototype=Object.create(Di.prototype),tc.prototype.constructor=tc,tc.prototype.isLineBasicMaterial=!0,tc.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.morphTargets=e.morphTargets,this};var nc=new lr,rc=new lr,ic=new Fr,oc=new Br,ac=new Sr;function sc(e,t){void 0===e&&(e=new ro),void 0===t&&(t=new tc),si.call(this),this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}sc.prototype=Object.assign(Object.create(si.prototype),{constructor:sc,isLine:!0,copy:function(e){return si.prototype.copy.call(this,e),this.material=e.material,this.geometry=e.geometry,this},computeLineDistances:function(){var e=this.geometry;if(e.isBufferGeometry)if(null===e.index){for(var t=e.attributes.position,n=[0],r=1,i=t.count;r<i;r++)nc.fromBufferAttribute(t,r-1),rc.fromBufferAttribute(t,r),n[r]=n[r-1],n[r]+=nc.distanceTo(rc);e.setAttribute("lineDistance",new Wi(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this},raycast:function(e,t){var n=this.geometry,r=this.matrixWorld,i=e.params.Line.threshold;if(null===n.boundingSphere&&n.computeBoundingSphere(),ac.copy(n.boundingSphere),ac.applyMatrix4(r),ac.radius+=i,!1!==e.ray.intersectsSphere(ac)){ic.copy(r).invert(),oc.copy(e.ray).applyMatrix4(ic);var o=i/((this.scale.x+this.scale.y+this.scale.z)/3),a=o*o,s=new lr,l=new lr,c=new lr,u=new lr,h=this.isLineSegments?2:1;if(n.isBufferGeometry){var d=n.index,p=n.attributes.position;if(null!==d)for(var f=d.array,m=0,v=f.length-1;m<v;m+=h){var g=f[m],y=f[m+1];if(s.fromBufferAttribute(p,g),l.fromBufferAttribute(p,y),!(oc.distanceSqToSegment(s,l,u,c)>a)){u.applyMatrix4(this.matrixWorld);var b=e.ray.origin.distanceTo(u);b<e.near||b>e.far||t.push({distance:b,point:c.clone().applyMatrix4(this.matrixWorld),index:m,face:null,faceIndex:null,object:this})}}else for(var A=0,w=p.count-1;A<w;A+=h)if(s.fromBufferAttribute(p,A),l.fromBufferAttribute(p,A+1),!(oc.distanceSqToSegment(s,l,u,c)>a)){u.applyMatrix4(this.matrixWorld);var x=e.ray.origin.distanceTo(u);x<e.near||x>e.far||t.push({distance:x,point:c.clone().applyMatrix4(this.matrixWorld),index:A,face:null,faceIndex:null,object:this})}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},updateMorphTargets:function(){var e=this.geometry;if(e.isBufferGeometry){var t=e.morphAttributes,n=Object.keys(t);if(n.length>0){var r=t[n[0]];if(void 0!==r){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var i=0,o=r.length;i<o;i++){var a=r[i].name||String(i);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=i}}}}else{var s=e.morphTargets;void 0!==s&&s.length>0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}});var lc=new lr,cc=new lr;function uc(e,t){sc.call(this,e,t),this.type="LineSegments"}function hc(e,t){sc.call(this,e,t),this.type="LineLoop"}function dc(e){Di.call(this),this.type="PointsMaterial",this.color=new Li(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(e)}uc.prototype=Object.assign(Object.create(sc.prototype),{constructor:uc,isLineSegments:!0,computeLineDistances:function(){var e=this.geometry;if(e.isBufferGeometry)if(null===e.index){for(var t=e.attributes.position,n=[],r=0,i=t.count;r<i;r+=2)lc.fromBufferAttribute(t,r),cc.fromBufferAttribute(t,r+1),n[r]=0===r?0:n[r-1],n[r+1]=n[r]+lc.distanceTo(cc);e.setAttribute("lineDistance",new Wi(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}}),hc.prototype=Object.assign(Object.create(sc.prototype),{constructor:hc,isLineLoop:!0}),dc.prototype=Object.create(Di.prototype),dc.prototype.constructor=dc,dc.prototype.isPointsMaterial=!0,dc.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.morphTargets=e.morphTargets,this};var pc=new Fr,fc=new Br,mc=new Sr,vc=new lr;function gc(e,t){void 0===e&&(e=new ro),void 0===t&&(t=new dc),si.call(this),this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}function yc(e,t,n,r,i,o,a){var s=fc.distanceSqToPoint(e);if(s<n){var l=new lr;fc.closestPointToPoint(e,l),l.applyMatrix4(r);var c=i.ray.origin.distanceTo(l);if(c<i.near||c>i.far)return;o.push({distance:c,distanceToRay:Math.sqrt(s),point:l,index:t,face:null,object:a})}}function bc(e,t,n,r,i,o,a,s,l){nr.call(this,e,t,n,r,i,o,a,s,l),this.format=void 0!==a?a:Ne,this.minFilter=void 0!==o?o:Ae,this.magFilter=void 0!==i?i:Ae,this.generateMipmaps=!1;var c=this;function u(){c.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}function Ac(e,t,n,r,i,o,a,s,l,c,u,h){nr.call(this,null,o,a,s,l,c,r,i,u,h),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}function wc(e,t,n,r,i,o,a,s,l){nr.call(this,e,t,n,r,i,o,a,s,l),this.needsUpdate=!0}function xc(e,t,n,r,i,o,a,s,l,c){if((c=void 0!==c?c:je)!==je&&c!==Ve)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===je&&(n=Ce),void 0===n&&c===Ve&&(n=Fe),nr.call(this,null,r,i,o,a,s,c,n,l),this.image={width:e,height:t},this.magFilter=void 0!==a?a:me,this.minFilter=void 0!==s?s:me,this.flipY=!1,this.generateMipmaps=!1}gc.prototype=Object.assign(Object.create(si.prototype),{constructor:gc,isPoints:!0,copy:function(e){return si.prototype.copy.call(this,e),this.material=e.material,this.geometry=e.geometry,this},raycast:function(e,t){var n=this.geometry,r=this.matrixWorld,i=e.params.Points.threshold;if(null===n.boundingSphere&&n.computeBoundingSphere(),mc.copy(n.boundingSphere),mc.applyMatrix4(r),mc.radius+=i,!1!==e.ray.intersectsSphere(mc)){pc.copy(r).invert(),fc.copy(e.ray).applyMatrix4(pc);var o=i/((this.scale.x+this.scale.y+this.scale.z)/3),a=o*o;if(n.isBufferGeometry){var s=n.index,l=n.attributes.position;if(null!==s)for(var c=s.array,u=0,h=c.length;u<h;u++){var d=c[u];vc.fromBufferAttribute(l,d),yc(vc,d,a,r,e,t,this)}else for(var p=0,f=l.count;p<f;p++)vc.fromBufferAttribute(l,p),yc(vc,p,a,r,e,t,this)}else console.error("THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},updateMorphTargets:function(){var e=this.geometry;if(e.isBufferGeometry){var t=e.morphAttributes,n=Object.keys(t);if(n.length>0){var r=t[n[0]];if(void 0!==r){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var i=0,o=r.length;i<o;i++){var a=r[i].name||String(i);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=i}}}}else{var s=e.morphTargets;void 0!==s&&s.length>0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}),bc.prototype=Object.assign(Object.create(nr.prototype),{constructor:bc,clone:function(){return new this.constructor(this.image).copy(this)},isVideoTexture:!0,update:function(){var e=this.image;!1==="requestVideoFrameCallback"in e&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Ac.prototype=Object.create(nr.prototype),Ac.prototype.constructor=Ac,Ac.prototype.isCompressedTexture=!0,wc.prototype=Object.create(nr.prototype),wc.prototype.constructor=wc,wc.prototype.isCanvasTexture=!0,xc.prototype=Object.create(nr.prototype),xc.prototype.constructor=xc,xc.prototype.isDepthTexture=!0;var Ec=function(e){function t(t,n,r,i){var o;void 0===t&&(t=1),void 0===n&&(n=8),void 0===r&&(r=0),void 0===i&&(i=2*Math.PI),(o=e.call(this)||this).type="CircleGeometry",o.parameters={radius:t,segments:n,thetaStart:r,thetaLength:i},n=Math.max(3,n);var a=[],s=[],l=[],c=[],u=new lr,h=new Jn;s.push(0,0,0),l.push(0,0,1),c.push(.5,.5);for(var d=0,p=3;d<=n;d++,p+=3){var f=r+d/n*i;u.x=t*Math.cos(f),u.y=t*Math.sin(f),s.push(u.x,u.y,u.z),l.push(0,0,1),h.x=(s[p]/t+1)/2,h.y=(s[p+1]/t+1)/2,c.push(h.x,h.y)}for(var m=1;m<=n;m++)a.push(m,m+1,0);return o.setIndex(a),o.setAttribute("position",new Wi(s,3)),o.setAttribute("normal",new Wi(l,3)),o.setAttribute("uv",new Wi(c,2)),o}return Gn(t,e),t}(ro),Mc=function(e){function t(t,n,r,i,o,a,s,l){var c;void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=1),void 0===i&&(i=8),void 0===o&&(o=1),void 0===a&&(a=!1),void 0===s&&(s=0),void 0===l&&(l=2*Math.PI),(c=e.call(this)||this).type="CylinderGeometry",c.parameters={radiusTop:t,radiusBottom:n,height:r,radialSegments:i,heightSegments:o,openEnded:a,thetaStart:s,thetaLength:l};var u=zn(c);i=Math.floor(i),o=Math.floor(o);var h=[],d=[],p=[],f=[],m=0,v=[],g=r/2,y=0;function b(){for(var e=new lr,a=new lr,c=0,b=(n-t)/r,A=0;A<=o;A++){for(var w=[],x=A/o,E=x*(n-t)+t,M=0;M<=i;M++){var _=M/i,T=_*l+s,S=Math.sin(T),C=Math.cos(T);a.x=E*S,a.y=-x*r+g,a.z=E*C,d.push(a.x,a.y,a.z),e.set(S,b,C).normalize(),p.push(e.x,e.y,e.z),f.push(_,1-x),w.push(m++)}v.push(w)}for(var L=0;L<i;L++)for(var R=0;R<o;R++){var P=v[R][L],D=v[R+1][L],O=v[R+1][L+1],I=v[R][L+1];h.push(P,D,I),h.push(D,O,I),c+=6}u.addGroup(y,c,0),y+=c}function A(e){for(var r=m,o=new Jn,a=new lr,c=0,v=!0===e?t:n,b=!0===e?1:-1,A=1;A<=i;A++)d.push(0,g*b,0),p.push(0,b,0),f.push(.5,.5),m++;for(var w=m,x=0;x<=i;x++){var E=x/i*l+s,M=Math.cos(E),_=Math.sin(E);a.x=v*_,a.y=g*b,a.z=v*M,d.push(a.x,a.y,a.z),p.push(0,b,0),o.x=.5*M+.5,o.y=.5*_*b+.5,f.push(o.x,o.y),m++}for(var T=0;T<i;T++){var S=r+T,C=w+T;!0===e?h.push(C,C+1,S):h.push(C+1,C,S),c+=3}u.addGroup(y,c,!0===e?1:2),y+=c}return b(),!1===a&&(t>0&&A(!0),n>0&&A(!1)),c.setIndex(h),c.setAttribute("position",new Wi(d,3)),c.setAttribute("normal",new Wi(p,3)),c.setAttribute("uv",new Wi(f,2)),c}return Gn(t,e),t}(ro),_c=function(e){function t(t,n,r,i,o,a,s){var l;return void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=8),void 0===i&&(i=1),void 0===o&&(o=!1),void 0===a&&(a=0),void 0===s&&(s=2*Math.PI),(l=e.call(this,0,t,n,r,i,o,a,s)||this).type="ConeGeometry",l.parameters={radius:t,height:n,radialSegments:r,heightSegments:i,openEnded:o,thetaStart:a,thetaLength:s},l}return Gn(t,e),t}(Mc),Tc=function(e){function t(t,n,r,i){var o;void 0===r&&(r=1),void 0===i&&(i=0),(o=e.call(this)||this).type="PolyhedronGeometry",o.parameters={vertices:t,indices:n,radius:r,detail:i};var a=[],s=[];function l(e){for(var t=new lr,r=new lr,i=new lr,o=0;o<n.length;o+=3)f(n[o+0],t),f(n[o+1],r),f(n[o+2],i),c(t,r,i,e)}function c(e,t,n,r){for(var i=r+1,o=[],a=0;a<=i;a++){o[a]=[];for(var s=e.clone().lerp(n,a/i),l=t.clone().lerp(n,a/i),c=i-a,u=0;u<=c;u++)o[a][u]=0===u&&a===i?s:s.clone().lerp(l,u/c)}for(var h=0;h<i;h++)for(var d=0;d<2*(i-h)-1;d++){var f=Math.floor(d/2);d%2===0?(p(o[h][f+1]),p(o[h+1][f]),p(o[h][f])):(p(o[h][f+1]),p(o[h+1][f+1]),p(o[h+1][f]))}}function u(e){for(var t=new lr,n=0;n<a.length;n+=3)t.x=a[n+0],t.y=a[n+1],t.z=a[n+2],t.normalize().multiplyScalar(e),a[n+0]=t.x,a[n+1]=t.y,a[n+2]=t.z}function h(){for(var e=new lr,t=0;t<a.length;t+=3){e.x=a[t+0],e.y=a[t+1],e.z=a[t+2];var n=g(e)/2/Math.PI+.5,r=y(e)/Math.PI+.5;s.push(n,1-r)}m(),d()}function d(){for(var e=0;e<s.length;e+=6){var t=s[e+0],n=s[e+2],r=s[e+4],i=Math.max(t,n,r),o=Math.min(t,n,r);i>.9&&o<.1&&(t<.2&&(s[e+0]+=1),n<.2&&(s[e+2]+=1),r<.2&&(s[e+4]+=1))}}function p(e){a.push(e.x,e.y,e.z)}function f(e,n){var r=3*e;n.x=t[r+0],n.y=t[r+1],n.z=t[r+2]}function m(){for(var e=new lr,t=new lr,n=new lr,r=new lr,i=new Jn,o=new Jn,l=new Jn,c=0,u=0;c<a.length;c+=9,u+=6){e.set(a[c+0],a[c+1],a[c+2]),t.set(a[c+3],a[c+4],a[c+5]),n.set(a[c+6],a[c+7],a[c+8]),i.set(s[u+0],s[u+1]),o.set(s[u+2],s[u+3]),l.set(s[u+4],s[u+5]),r.copy(e).add(t).add(n).divideScalar(3);var h=g(r);v(i,u+0,e,h),v(o,u+2,t,h),v(l,u+4,n,h)}}function v(e,t,n,r){r<0&&1===e.x&&(s[t]=e.x-1),0===n.x&&0===n.z&&(s[t]=r/2/Math.PI+.5)}function g(e){return Math.atan2(e.z,-e.x)}function y(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}return l(i),u(r),h(),o.setAttribute("position",new Wi(a,3)),o.setAttribute("normal",new Wi(a.slice(),3)),o.setAttribute("uv",new Wi(s,2)),0===i?o.computeVertexNormals():o.normalizeNormals(),o}return Gn(t,e),t}(ro),Sc=function(e){function t(t,n){var r;void 0===t&&(t=1),void 0===n&&(n=0);var i=(1+Math.sqrt(5))/2,o=1/i,a=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-o,-i,0,-o,i,0,o,-i,0,o,i,-o,-i,0,-o,i,0,o,-i,0,o,i,0,-i,0,-o,i,0,-o,-i,0,o,i,0,o],s=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];return(r=e.call(this,a,s,t,n)||this).type="DodecahedronGeometry",r.parameters={radius:t,detail:n},r}return Gn(t,e),t}(Tc),Cc=new lr,Lc=new lr,Rc=new lr,Pc=new xi,Dc=function(e){function t(t,n){var r;if((r=e.call(this)||this).type="EdgesGeometry",r.parameters={thresholdAngle:n},n=void 0!==n?n:1,!0===t.isGeometry)return console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."),zn(r);for(var i=4,o=Math.pow(10,i),a=Math.cos(Kn.DEG2RAD*n),s=t.getIndex(),l=t.getAttribute("position"),c=s?s.count:l.count,u=[0,0,0],h=["a","b","c"],d=new Array(3),p={},f=[],m=0;m<c;m+=3){s?(u[0]=s.getX(m),u[1]=s.getX(m+1),u[2]=s.getX(m+2)):(u[0]=m,u[1]=m+1,u[2]=m+2);var v=Pc.a,g=Pc.b,y=Pc.c;if(v.fromBufferAttribute(l,u[0]),g.fromBufferAttribute(l,u[1]),y.fromBufferAttribute(l,u[2]),Pc.getNormal(Rc),d[0]=Math.round(v.x*o)+","+Math.round(v.y*o)+","+Math.round(v.z*o),d[1]=Math.round(g.x*o)+","+Math.round(g.y*o)+","+Math.round(g.z*o),d[2]=Math.round(y.x*o)+","+Math.round(y.y*o)+","+Math.round(y.z*o),d[0]!==d[1]&&d[1]!==d[2]&&d[2]!==d[0])for(var b=0;b<3;b++){var A=(b+1)%3,w=d[b],x=d[A],E=Pc[h[b]],M=Pc[h[A]],_=w+"_"+x,T=x+"_"+w;T in p&&p[T]?(Rc.dot(p[T].normal)<=a&&(f.push(E.x,E.y,E.z),f.push(M.x,M.y,M.z)),p[T]=null):_ in p||(p[_]={index0:u[b],index1:u[A],normal:Rc.clone()})}}for(var S in p)if(p[S]){var C=p[S],L=C.index0,R=C.index1;Cc.fromBufferAttribute(l,L),Lc.fromBufferAttribute(l,R),f.push(Cc.x,Cc.y,Cc.z),f.push(Lc.x,Lc.y,Lc.z)}return r.setAttribute("position",new Wi(f,3)),r}return Gn(t,e),t}(ro),Oc={triangulate:function(e,t,n){n=n||2;var r,i,o,a,s,l,c,u=t&&t.length,h=u?t[0]*n:e.length,d=Ic(e,0,h,n,!0),p=[];if(!d||d.next===d.prev)return p;if(u&&(d=Gc(e,t,d,n)),e.length>80*n){r=o=e[0],i=a=e[1];for(var f=n;f<h;f+=n)(s=e[f])<r&&(r=s),(l=e[f+1])<i&&(i=l),s>o&&(o=s),l>a&&(a=l);c=0!==(c=Math.max(o-r,a-i))?1/c:0}return Fc(d,p,n,r,i,c),p}};function Ic(e,t,n,r,i){var o,a;if(i===uu(e,t,n,r)>0)for(o=t;o<n;o+=r)a=su(o,e[o],e[o+1],a);else for(o=n-r;o>=t;o-=r)a=su(o,e[o],e[o+1],a);return a&&$c(a,a.next)&&(lu(a),a=a.next),a}function Bc(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!$c(r,r.next)&&0!==Jc(r.prev,r,r.next))r=r.next;else{if(lu(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function Fc(e,t,n,r,i,o,a){if(e){!a&&o&&qc(e,r,i,o);for(var s,l,c=e;e.prev!==e.next;)if(s=e.prev,l=e.next,o?Nc(e,r,i,o):kc(e))t.push(s.i/n),t.push(e.i/n),t.push(l.i/n),lu(e),e=l.next,c=l.next;else if((e=l)===c){a?1===a?Fc(e=Uc(Bc(e),t,n),t,n,r,i,o,2):2===a&&Hc(e,t,n,r,i,o):Fc(Bc(e),t,n,r,i,o,1);break}}}function kc(e){var t=e.prev,n=e,r=e.next;if(Jc(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(Zc(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&Jc(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Nc(e,t,n,r){var i=e.prev,o=e,a=e.next;if(Jc(i,o,a)>=0)return!1;for(var s=i.x<o.x?i.x<a.x?i.x:a.x:o.x<a.x?o.x:a.x,l=i.y<o.y?i.y<a.y?i.y:a.y:o.y<a.y?o.y:a.y,c=i.x>o.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,u=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,h=Yc(s,l,t,n,r),d=Yc(c,u,t,n,r),p=e.prevZ,f=e.nextZ;p&&p.z>=h&&f&&f.z<=d;){if(p!==e.prev&&p!==e.next&&Zc(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&Jc(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==e.prev&&f!==e.next&&Zc(i.x,i.y,o.x,o.y,a.x,a.y,f.x,f.y)&&Jc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=h;){if(p!==e.prev&&p!==e.next&&Zc(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&Jc(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==e.prev&&f!==e.next&&Zc(i.x,i.y,o.x,o.y,a.x,a.y,f.x,f.y)&&Jc(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function Uc(e,t,n){var r=e;do{var i=r.prev,o=r.next.next;!$c(i,o)&&eu(i,r,r.next,o)&&iu(i,o)&&iu(o,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(o.i/n),lu(r),lu(r.next),r=e=o),r=r.next}while(r!==e);return Bc(r)}function Hc(e,t,n,r,i,o){var a=e;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&Kc(a,s)){var l=au(a,s);return a=Bc(a,a.next),l=Bc(l,l.next),Fc(a,t,n,r,i,o),void Fc(l,t,n,r,i,o)}s=s.next}a=a.next}while(a!==e)}function Gc(e,t,n,r){var i,o,a,s=[];for(i=0,o=t.length;i<o;i++)(a=Ic(e,t[i]*r,i<o-1?t[i+1]*r:e.length,r,!1))===a.next&&(a.steiner=!0),s.push(Qc(a));for(s.sort(zc),i=0;i<s.length;i++)jc(s[i],n),n=Bc(n,n.next);return n}function zc(e,t){return e.x-t.x}function jc(e,t){if(t=Vc(e,t)){var n=au(t,e);Bc(t,t.next),Bc(n,n.next)}}function Vc(e,t){var n,r=t,i=e.x,o=e.y,a=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=i&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x<r.next.x?r:r.next}}r=r.next}while(r!==t);if(!n)return null;if(i===a)return n;var l,c=n,u=n.x,h=n.y,d=1/0;r=n;do{i>=r.x&&r.x>=u&&i!==r.x&&Zc(o<h?i:a,o,u,h,o<h?a:i,o,r.x,r.y)&&(l=Math.abs(o-r.y)/(i-r.x),iu(r,e)&&(l<d||l===d&&(r.x>n.x||r.x===n.x&&Wc(n,r)))&&(n=r,d=l)),r=r.next}while(r!==c);return n}function Wc(e,t){return Jc(e.prev,e,t.prev)<0&&Jc(t.next,e,e.next)<0}function qc(e,t,n,r){var i=e;do{null===i.z&&(i.z=Yc(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,Xc(i)}function Xc(e){var t,n,r,i,o,a,s,l,c=1;do{for(n=e,e=null,o=null,a=0;n;){for(a++,r=n,s=0,t=0;t<c&&(s++,r=r.nextZ);t++);for(l=c;s>0||l>0&&r;)0!==s&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,l--),o?o.nextZ=i:e=i,i.prevZ=o,o=i;n=r}o.nextZ=null,c*=2}while(a>1);return e}function Yc(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Qc(e){var t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next}while(t!==e);return n}function Zc(e,t,n,r,i,o,a,s){return(i-a)*(t-s)-(e-a)*(o-s)>=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function Kc(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!ru(e,t)&&(iu(e,t)&&iu(t,e)&&ou(e,t)&&(Jc(e.prev,e,t.prev)||Jc(e,t.prev,t))||$c(e,t)&&Jc(e.prev,e,e.next)>0&&Jc(t.prev,t,t.next)>0)}function Jc(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function $c(e,t){return e.x===t.x&&e.y===t.y}function eu(e,t,n,r){var i=nu(Jc(e,t,n)),o=nu(Jc(e,t,r)),a=nu(Jc(n,r,e)),s=nu(Jc(n,r,t));return i!==o&&a!==s||!(0!==i||!tu(e,n,t))||!(0!==o||!tu(e,r,t))||!(0!==a||!tu(n,e,r))||!(0!==s||!tu(n,t,r))}function tu(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function nu(e){return e>0?1:e<0?-1:0}function ru(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&eu(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function iu(e,t){return Jc(e.prev,e,e.next)<0?Jc(e,t,e.next)>=0&&Jc(e,e.prev,t)>=0:Jc(e,t,e.prev)<0||Jc(e,e.next,t)<0}function ou(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do{n.y>o!==n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}function au(e,t){var n=new cu(e.i,e.x,e.y),r=new cu(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function su(e,t,n,r){var i=new cu(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function lu(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cu(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function uu(e,t,n,r){for(var i=0,o=t,a=n-r;o<n;o+=r)i+=(e[a]-e[o])*(e[o+1]+e[a+1]),a=o;return i}var hu={area:function(e){for(var t=e.length,n=0,r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n},isClockWise:function(e){return hu.area(e)<0},triangulateShape:function(e,t){var n=[],r=[],i=[];du(e),pu(n,e);var o=e.length;t.forEach(du);for(var a=0;a<t.length;a++)r.push(o),o+=t[a].length,pu(n,t[a]);for(var s=Oc.triangulate(n,r),l=0;l<s.length;l+=3)i.push(s.slice(l,l+3));return i}};function du(e){var t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function pu(e,t){for(var n=0;n<t.length;n++)e.push(t[n].x),e.push(t[n].y)}var fu=function(e){function t(t,n){var r;(r=e.call(this)||this).type="ExtrudeGeometry",r.parameters={shapes:t,options:n},t=Array.isArray(t)?t:[t];for(var i=zn(r),o=[],a=[],s=0,l=t.length;s<l;s++)c(t[s]);function c(e){var t=[],r=void 0!==n.curveSegments?n.curveSegments:12,s=void 0!==n.steps?n.steps:1,l=void 0!==n.depth?n.depth:100,c=void 0===n.bevelEnabled||n.bevelEnabled,u=void 0!==n.bevelThickness?n.bevelThickness:6,h=void 0!==n.bevelSize?n.bevelSize:u-2,d=void 0!==n.bevelOffset?n.bevelOffset:0,p=void 0!==n.bevelSegments?n.bevelSegments:3,f=n.extrudePath,m=void 0!==n.UVGenerator?n.UVGenerator:mu;void 0!==n.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=n.amount);var v,g,y,b,A,w=!1;f&&(v=f.getSpacedPoints(s),w=!0,c=!1,g=f.computeFrenetFrames(s,!1),y=new lr,b=new lr,A=new lr),c||(p=0,u=0,h=0,d=0);var x=e.extractPoints(r),E=x.shape,M=x.holes;if(!hu.isClockWise(E)){E=E.reverse();for(var _=0,T=M.length;_<T;_++){var S=M[_];hu.isClockWise(S)&&(M[_]=S.reverse())}}for(var C=hu.triangulateShape(E,M),L=E,R=0,P=M.length;R<P;R++){var D=M[R];E=E.concat(D)}function O(e,t,n){return t||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().multiplyScalar(n).add(e)}var I=E.length,B=C.length;function F(e,t,n){var r,i,o,a=e.x-t.x,s=e.y-t.y,l=n.x-e.x,c=n.y-e.y,u=a*a+s*s,h=a*c-s*l;if(Math.abs(h)>Number.EPSILON){var d=Math.sqrt(u),p=Math.sqrt(l*l+c*c),f=t.x-s/d,m=t.y+a/d,v=((n.x-c/p-f)*c-(n.y+l/p-m)*l)/(a*c-s*l),g=(r=f+a*v-e.x)*r+(i=m+s*v-e.y)*i;if(g<=2)return new Jn(r,i);o=Math.sqrt(g/2)}else{var y=!1;a>Number.EPSILON?l>Number.EPSILON&&(y=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(y=!0):Math.sign(s)===Math.sign(c)&&(y=!0),y?(r=-s,i=a,o=Math.sqrt(u)):(r=a,i=s,o=Math.sqrt(u/2))}return new Jn(r/o,i/o)}for(var k=[],N=0,U=L.length,H=U-1,G=N+1;N<U;N++,H++,G++)H===U&&(H=0),G===U&&(G=0),k[N]=F(L[N],L[H],L[G]);for(var z,j=[],V=k.concat(),W=0,q=M.length;W<q;W++){var X=M[W];z=[];for(var Y=0,Q=X.length,Z=Q-1,K=Y+1;Y<Q;Y++,Z++,K++)Z===Q&&(Z=0),K===Q&&(K=0),z[Y]=F(X[Y],X[Z],X[K]);j.push(z),V=V.concat(z)}for(var J=0;J<p;J++){for(var $=J/p,ee=u*Math.cos($*Math.PI/2),te=h*Math.sin($*Math.PI/2)+d,ne=0,re=L.length;ne<re;ne++){var ie=O(L[ne],k[ne],te);Oe(ie.x,ie.y,-ee)}for(var oe=0,ae=M.length;oe<ae;oe++){var se=M[oe];z=j[oe];for(var le=0,ce=se.length;le<ce;le++){var ue=O(se[le],z[le],te);Oe(ue.x,ue.y,-ee)}}}for(var he=h+d,de=0;de<I;de++){var pe=c?O(E[de],V[de],he):E[de];w?(b.copy(g.normals[0]).multiplyScalar(pe.x),y.copy(g.binormals[0]).multiplyScalar(pe.y),A.copy(v[0]).add(b).add(y),Oe(A.x,A.y,A.z)):Oe(pe.x,pe.y,0)}for(var fe=1;fe<=s;fe++)for(var me=0;me<I;me++){var ve=c?O(E[me],V[me],he):E[me];w?(b.copy(g.normals[fe]).multiplyScalar(ve.x),y.copy(g.binormals[fe]).multiplyScalar(ve.y),A.copy(v[fe]).add(b).add(y),Oe(A.x,A.y,A.z)):Oe(ve.x,ve.y,l/s*fe)}for(var ge=p-1;ge>=0;ge--){for(var ye=ge/p,be=u*Math.cos(ye*Math.PI/2),Ae=h*Math.sin(ye*Math.PI/2)+d,we=0,xe=L.length;we<xe;we++){var Ee=O(L[we],k[we],Ae);Oe(Ee.x,Ee.y,l+be)}for(var Me=0,_e=M.length;Me<_e;Me++){var Te=M[Me];z=j[Me];for(var Se=0,Ce=Te.length;Se<Ce;Se++){var Le=O(Te[Se],z[Se],Ae);w?Oe(Le.x,Le.y+v[s-1].y,v[s-1].x+be):Oe(Le.x,Le.y,l+be)}}}function Re(){var e=o.length/3;if(c){for(var t=0,n=I*t,r=0;r<B;r++){var a=C[r];Ie(a[2]+n,a[1]+n,a[0]+n)}n=I*(t=s+2*p);for(var l=0;l<B;l++){var u=C[l];Ie(u[0]+n,u[1]+n,u[2]+n)}}else{for(var h=0;h<B;h++){var d=C[h];Ie(d[2],d[1],d[0])}for(var f=0;f<B;f++){var m=C[f];Ie(m[0]+I*s,m[1]+I*s,m[2]+I*s)}}i.addGroup(e,o.length/3-e,0)}function Pe(){var e=o.length/3,t=0;De(L,t),t+=L.length;for(var n=0,r=M.length;n<r;n++){var a=M[n];De(a,t),t+=a.length}i.addGroup(e,o.length/3-e,1)}function De(e,t){for(var n=e.length;--n>=0;){var r=n,i=n-1;i<0&&(i=e.length-1);for(var o=0,a=s+2*p;o<a;o++){var l=I*o,c=I*(o+1);Be(t+r+l,t+i+l,t+i+c,t+r+c)}}}function Oe(e,n,r){t.push(e),t.push(n),t.push(r)}function Ie(e,t,n){Fe(e),Fe(t),Fe(n);var r=o.length/3,a=m.generateTopUV(i,o,r-3,r-2,r-1);ke(a[0]),ke(a[1]),ke(a[2])}function Be(e,t,n,r){Fe(e),Fe(t),Fe(r),Fe(t),Fe(n),Fe(r);var a=o.length/3,s=m.generateSideWallUV(i,o,a-6,a-3,a-2,a-1);ke(s[0]),ke(s[1]),ke(s[3]),ke(s[1]),ke(s[2]),ke(s[3])}function Fe(e){o.push(t[3*e+0]),o.push(t[3*e+1]),o.push(t[3*e+2])}function ke(e){a.push(e.x),a.push(e.y)}Re(),Pe()}return r.setAttribute("position",new Wi(o,3)),r.setAttribute("uv",new Wi(a,2)),r.computeVertexNormals(),r}return Gn(t,e),t.prototype.toJSON=function(){var e=ro.prototype.toJSON.call(this);return vu(this.parameters.shapes,this.parameters.options,e)},t}(ro),mu={generateTopUV:function(e,t,n,r,i){var o=t[3*n],a=t[3*n+1],s=t[3*r],l=t[3*r+1],c=t[3*i],u=t[3*i+1];return[new Jn(o,a),new Jn(s,l),new Jn(c,u)]},generateSideWallUV:function(e,t,n,r,i,o){var a=t[3*n],s=t[3*n+1],l=t[3*n+2],c=t[3*r],u=t[3*r+1],h=t[3*r+2],d=t[3*i],p=t[3*i+1],f=t[3*i+2],m=t[3*o],v=t[3*o+1],g=t[3*o+2];return Math.abs(s-u)<.01?[new Jn(a,1-l),new Jn(c,1-h),new Jn(d,1-f),new Jn(m,1-g)]:[new Jn(s,1-l),new Jn(u,1-h),new Jn(p,1-f),new Jn(v,1-g)]}};function vu(e,t,n){if(n.shapes=[],Array.isArray(e))for(var r=0,i=e.length;r<i;r++){var o=e[r];n.shapes.push(o.uuid)}else n.shapes.push(e.uuid);return void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON()),n}var gu=function(e){function t(t,n){var r;void 0===t&&(t=1),void 0===n&&(n=0);var i=(1+Math.sqrt(5))/2,o=[-1,i,0,1,i,0,-1,-i,0,1,-i,0,0,-1,i,0,1,i,0,-1,-i,0,1,-i,i,0,-1,i,0,1,-i,0,-1,-i,0,1],a=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];return(r=e.call(this,o,a,t,n)||this).type="IcosahedronGeometry",r.parameters={radius:t,detail:n},r}return Gn(t,e),t}(Tc),yu=function(e){function t(t,n,r,i){var o;void 0===n&&(n=12),void 0===r&&(r=0),void 0===i&&(i=2*Math.PI),(o=e.call(this)||this).type="LatheGeometry",o.parameters={points:t,segments:n,phiStart:r,phiLength:i},n=Math.floor(n),i=Kn.clamp(i,0,2*Math.PI);for(var a=[],s=[],l=[],c=1/n,u=new lr,h=new Jn,d=0;d<=n;d++)for(var p=r+d*c*i,f=Math.sin(p),m=Math.cos(p),v=0;v<=t.length-1;v++)u.x=t[v].x*f,u.y=t[v].y,u.z=t[v].x*m,s.push(u.x,u.y,u.z),h.x=d/n,h.y=v/(t.length-1),l.push(h.x,h.y);for(var g=0;g<n;g++)for(var y=0;y<t.length-1;y++){var b=y+g*t.length,A=b,w=b+t.length,x=b+t.length+1,E=b+1;a.push(A,w,E),a.push(w,x,E)}if(o.setIndex(a),o.setAttribute("position",new Wi(s,3)),o.setAttribute("uv",new Wi(l,2)),o.computeVertexNormals(),i===2*Math.PI)for(var M=o.attributes.normal.array,_=new lr,T=new lr,S=new lr,C=n*t.length*3,L=0,R=0;L<t.length;L++,R+=3)_.x=M[R+0],_.y=M[R+1],_.z=M[R+2],T.x=M[C+R+0],T.y=M[C+R+1],T.z=M[C+R+2],S.addVectors(_,T).normalize(),M[R+0]=M[C+R+0]=S.x,M[R+1]=M[C+R+1]=S.y,M[R+2]=M[C+R+2]=S.z;return o}return Gn(t,e),t}(ro),bu=function(e){function t(t,n){var r;void 0===t&&(t=1),void 0===n&&(n=0);var i=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],o=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];return(r=e.call(this,i,o,t,n)||this).type="OctahedronGeometry",r.parameters={radius:t,detail:n},r}return Gn(t,e),t}(Tc);function Au(e,t,n){ro.call(this),this.type="ParametricGeometry",this.parameters={func:e,slices:t,stacks:n};var r=[],i=[],o=[],a=[],s=1e-5,l=new lr,c=new lr,u=new lr,h=new lr,d=new lr;e.length<3&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");for(var p=t+1,f=0;f<=n;f++)for(var m=f/n,v=0;v<=t;v++){var g=v/t;e(g,m,c),i.push(c.x,c.y,c.z),g-s>=0?(e(g-s,m,u),h.subVectors(c,u)):(e(g+s,m,u),h.subVectors(u,c)),m-s>=0?(e(g,m-s,u),d.subVectors(c,u)):(e(g,m+s,u),d.subVectors(u,c)),l.crossVectors(h,d).normalize(),o.push(l.x,l.y,l.z),a.push(g,m)}for(var y=0;y<n;y++)for(var b=0;b<t;b++){var A=y*p+b,w=y*p+b+1,x=(y+1)*p+b+1,E=(y+1)*p+b;r.push(A,w,E),r.push(w,x,E)}this.setIndex(r),this.setAttribute("position",new Wi(i,3)),this.setAttribute("normal",new Wi(o,3)),this.setAttribute("uv",new Wi(a,2))}Au.prototype=Object.create(ro.prototype),Au.prototype.constructor=Au;var wu=function(e){function t(t,n,r,i,o,a){var s;void 0===t&&(t=.5),void 0===n&&(n=1),void 0===r&&(r=8),void 0===i&&(i=1),void 0===o&&(o=0),void 0===a&&(a=2*Math.PI),(s=e.call(this)||this).type="RingGeometry",s.parameters={innerRadius:t,outerRadius:n,thetaSegments:r,phiSegments:i,thetaStart:o,thetaLength:a},r=Math.max(3,r);for(var l=[],c=[],u=[],h=[],d=t,p=(n-t)/(i=Math.max(1,i)),f=new lr,m=new Jn,v=0;v<=i;v++){for(var g=0;g<=r;g++){var y=o+g/r*a;f.x=d*Math.cos(y),f.y=d*Math.sin(y),c.push(f.x,f.y,f.z),u.push(0,0,1),m.x=(f.x/n+1)/2,m.y=(f.y/n+1)/2,h.push(m.x,m.y)}d+=p}for(var b=0;b<i;b++)for(var A=b*(r+1),w=0;w<r;w++){var x=w+A,E=x,M=x+r+1,_=x+r+2,T=x+1;l.push(E,M,T),l.push(M,_,T)}return s.setIndex(l),s.setAttribute("position",new Wi(c,3)),s.setAttribute("normal",new Wi(u,3)),s.setAttribute("uv",new Wi(h,2)),s}return Gn(t,e),t}(ro),xu=function(e){function t(t,n){var r;void 0===n&&(n=12),(r=e.call(this)||this).type="ShapeGeometry",r.parameters={shapes:t,curveSegments:n};var i=[],o=[],a=[],s=[],l=0,c=0;if(!1===Array.isArray(t))h(t);else for(var u=0;u<t.length;u++)h(t[u]),r.addGroup(l,c,u),l+=c,c=0;function h(e){var t=o.length/3,r=e.extractPoints(n),l=r.shape,u=r.holes;!1===hu.isClockWise(l)&&(l=l.reverse());for(var h=0,d=u.length;h<d;h++){var p=u[h];!0===hu.isClockWise(p)&&(u[h]=p.reverse())}for(var f=hu.triangulateShape(l,u),m=0,v=u.length;m<v;m++){var g=u[m];l=l.concat(g)}for(var y=0,b=l.length;y<b;y++){var A=l[y];o.push(A.x,A.y,0),a.push(0,0,1),s.push(A.x,A.y)}for(var w=0,x=f.length;w<x;w++){var E=f[w],M=E[0]+t,_=E[1]+t,T=E[2]+t;i.push(M,_,T),c+=3}}return r.setIndex(i),r.setAttribute("position",new Wi(o,3)),r.setAttribute("normal",new Wi(a,3)),r.setAttribute("uv",new Wi(s,2)),r}return Gn(t,e),t.prototype.toJSON=function(){var e=ro.prototype.toJSON.call(this);return Eu(this.parameters.shapes,e)},t}(ro);function Eu(e,t){if(t.shapes=[],Array.isArray(e))for(var n=0,r=e.length;n<r;n++){var i=e[n];t.shapes.push(i.uuid)}else t.shapes.push(e.uuid);return t}var Mu=function(e){function t(t,n,r,i,o,a,s){var l;void 0===t&&(t=1),void 0===n&&(n=8),void 0===r&&(r=6),void 0===i&&(i=0),void 0===o&&(o=2*Math.PI),void 0===a&&(a=0),void 0===s&&(s=Math.PI),(l=e.call(this)||this).type="SphereGeometry",l.parameters={radius:t,widthSegments:n,heightSegments:r,phiStart:i,phiLength:o,thetaStart:a,thetaLength:s},n=Math.max(3,Math.floor(n)),r=Math.max(2,Math.floor(r));for(var c=Math.min(a+s,Math.PI),u=0,h=[],d=new lr,p=new lr,f=[],m=[],v=[],g=[],y=0;y<=r;y++){var b=[],A=y/r,w=0;0==y&&0==a?w=.5/n:y==r&&c==Math.PI&&(w=-.5/n);for(var x=0;x<=n;x++){var E=x/n;d.x=-t*Math.cos(i+E*o)*Math.sin(a+A*s),d.y=t*Math.cos(a+A*s),d.z=t*Math.sin(i+E*o)*Math.sin(a+A*s),m.push(d.x,d.y,d.z),p.copy(d).normalize(),v.push(p.x,p.y,p.z),g.push(E+w,1-A),b.push(u++)}h.push(b)}for(var M=0;M<r;M++)for(var _=0;_<n;_++){var T=h[M][_+1],S=h[M][_],C=h[M+1][_],L=h[M+1][_+1];(0!==M||a>0)&&f.push(T,S,L),(M!==r-1||c<Math.PI)&&f.push(S,C,L)}return l.setIndex(f),l.setAttribute("position",new Wi(m,3)),l.setAttribute("normal",new Wi(v,3)),l.setAttribute("uv",new Wi(g,2)),l}return Gn(t,e),t}(ro),_u=function(e){function t(t,n){var r;void 0===t&&(t=1),void 0===n&&(n=0);var i=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],o=[2,1,0,0,3,2,1,3,0,2,3,1];return(r=e.call(this,i,o,t,n)||this).type="TetrahedronGeometry",r.parameters={radius:t,detail:n},r}return Gn(t,e),t}(Tc),Tu=function(e){function t(t,n){var r;void 0===n&&(n={});var i=n.font;if(!i||!i.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new ro||zn(r);var o=i.generateShapes(t,n.size);return n.depth=void 0!==n.height?n.height:50,void 0===n.bevelThickness&&(n.bevelThickness=10),void 0===n.bevelSize&&(n.bevelSize=8),void 0===n.bevelEnabled&&(n.bevelEnabled=!1),(r=e.call(this,o,n)||this).type="TextGeometry",r}return Gn(t,e),t}(fu),Su=function(e){function t(t,n,r,i,o){var a;void 0===t&&(t=1),void 0===n&&(n=.4),void 0===r&&(r=8),void 0===i&&(i=6),void 0===o&&(o=2*Math.PI),(a=e.call(this)||this).type="TorusGeometry",a.parameters={radius:t,tube:n,radialSegments:r,tubularSegments:i,arc:o},r=Math.floor(r),i=Math.floor(i);for(var s=[],l=[],c=[],u=[],h=new lr,d=new lr,p=new lr,f=0;f<=r;f++)for(var m=0;m<=i;m++){var v=m/i*o,g=f/r*Math.PI*2;d.x=(t+n*Math.cos(g))*Math.cos(v),d.y=(t+n*Math.cos(g))*Math.sin(v),d.z=n*Math.sin(g),l.push(d.x,d.y,d.z),h.x=t*Math.cos(v),h.y=t*Math.sin(v),p.subVectors(d,h).normalize(),c.push(p.x,p.y,p.z),u.push(m/i),u.push(f/r)}for(var y=1;y<=r;y++)for(var b=1;b<=i;b++){var A=(i+1)*y+b-1,w=(i+1)*(y-1)+b-1,x=(i+1)*(y-1)+b,E=(i+1)*y+b;s.push(A,w,E),s.push(w,x,E)}return a.setIndex(s),a.setAttribute("position",new Wi(l,3)),a.setAttribute("normal",new Wi(c,3)),a.setAttribute("uv",new Wi(u,2)),a}return Gn(t,e),t}(ro),Cu=function(e){function t(t,n,r,i,o,a){var s;void 0===t&&(t=1),void 0===n&&(n=.4),void 0===r&&(r=64),void 0===i&&(i=8),void 0===o&&(o=2),void 0===a&&(a=3),(s=e.call(this)||this).type="TorusKnotGeometry",s.parameters={radius:t,tube:n,tubularSegments:r,radialSegments:i,p:o,q:a},r=Math.floor(r),i=Math.floor(i);for(var l=[],c=[],u=[],h=[],d=new lr,p=new lr,f=new lr,m=new lr,v=new lr,g=new lr,y=new lr,b=0;b<=r;++b){var A=b/r*o*Math.PI*2;P(A,o,a,t,f),P(A+.01,o,a,t,m),g.subVectors(m,f),y.addVectors(m,f),v.crossVectors(g,y),y.crossVectors(v,g),v.normalize(),y.normalize();for(var w=0;w<=i;++w){var x=w/i*Math.PI*2,E=-n*Math.cos(x),M=n*Math.sin(x);d.x=f.x+(E*y.x+M*v.x),d.y=f.y+(E*y.y+M*v.y),d.z=f.z+(E*y.z+M*v.z),c.push(d.x,d.y,d.z),p.subVectors(d,f).normalize(),u.push(p.x,p.y,p.z),h.push(b/r),h.push(w/i)}}for(var _=1;_<=r;_++)for(var T=1;T<=i;T++){var S=(i+1)*(_-1)+(T-1),C=(i+1)*_+(T-1),L=(i+1)*_+T,R=(i+1)*(_-1)+T;l.push(S,C,R),l.push(C,L,R)}function P(e,t,n,r,i){var o=Math.cos(e),a=Math.sin(e),s=n/t*e,l=Math.cos(s);i.x=r*(2+l)*.5*o,i.y=r*(2+l)*a*.5,i.z=r*Math.sin(s)*.5}return s.setIndex(l),s.setAttribute("position",new Wi(c,3)),s.setAttribute("normal",new Wi(u,3)),s.setAttribute("uv",new Wi(h,2)),s}return Gn(t,e),t}(ro),Lu=function(e){function t(t,n,r,i,o){var a;void 0===n&&(n=64),void 0===r&&(r=1),void 0===i&&(i=8),void 0===o&&(o=!1),(a=e.call(this)||this).type="TubeGeometry",a.parameters={path:t,tubularSegments:n,radius:r,radialSegments:i,closed:o};var s=t.computeFrenetFrames(n,o);a.tangents=s.tangents,a.normals=s.normals,a.binormals=s.binormals;var l=new lr,c=new lr,u=new Jn,h=new lr,d=[],p=[],f=[],m=[];function v(){for(var e=0;e<n;e++)g(e);g(!1===o?n:0),b(),y()}function g(e){h=t.getPointAt(e/n,h);for(var o=s.normals[e],a=s.binormals[e],u=0;u<=i;u++){var f=u/i*Math.PI*2,m=Math.sin(f),v=-Math.cos(f);c.x=v*o.x+m*a.x,c.y=v*o.y+m*a.y,c.z=v*o.z+m*a.z,c.normalize(),p.push(c.x,c.y,c.z),l.x=h.x+r*c.x,l.y=h.y+r*c.y,l.z=h.z+r*c.z,d.push(l.x,l.y,l.z)}}function y(){for(var e=1;e<=n;e++)for(var t=1;t<=i;t++){var r=(i+1)*(e-1)+(t-1),o=(i+1)*e+(t-1),a=(i+1)*e+t,s=(i+1)*(e-1)+t;m.push(r,o,s),m.push(o,a,s)}}function b(){for(var e=0;e<=n;e++)for(var t=0;t<=i;t++)u.x=e/n,u.y=t/i,f.push(u.x,u.y)}return v(),a.setIndex(m),a.setAttribute("position",new Wi(d,3)),a.setAttribute("normal",new Wi(p,3)),a.setAttribute("uv",new Wi(f,2)),a}return Gn(t,e),t.prototype.toJSON=function(){var e=ro.prototype.toJSON.call(this);return e.path=this.parameters.path.toJSON(),e},t}(ro),Ru=function(e){function t(t){var n;if((n=e.call(this)||this).type="WireframeGeometry",!0===t.isGeometry)return console.error("THREE.WireframeGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."),zn(n);var r=[],i=[0,0],o={},a=new lr;if(null!==t.index){var s=t.attributes.position,l=t.index,c=t.groups;0===c.length&&(c=[{start:0,count:l.count,materialIndex:0}]);for(var u=0,h=c.length;u<h;++u)for(var d=c[u],p=d.start,f=p,m=p+d.count;f<m;f+=3)for(var v=0;v<3;v++){var g=l.getX(f+v),y=l.getX(f+(v+1)%3);i[0]=Math.min(g,y),i[1]=Math.max(g,y);var b=i[0]+","+i[1];void 0===o[b]&&(o[b]={index1:i[0],index2:i[1]})}for(var A in o){var w=o[A];a.fromBufferAttribute(s,w.index1),r.push(a.x,a.y,a.z),a.fromBufferAttribute(s,w.index2),r.push(a.x,a.y,a.z)}}else for(var x=t.attributes.position,E=0,M=x.count/3;E<M;E++)for(var _=0;_<3;_++){var T=3*E+_;a.fromBufferAttribute(x,T),r.push(a.x,a.y,a.z);var S=3*E+(_+1)%3;a.fromBufferAttribute(x,S),r.push(a.x,a.y,a.z)}return n.setAttribute("position",new Wi(r,3)),n}return Gn(t,e),t}(ro),Pu=Object.freeze({__proto__:null,BoxGeometry:_o,BoxBufferGeometry:_o,CircleGeometry:Ec,CircleBufferGeometry:Ec,ConeGeometry:_c,ConeBufferGeometry:_c,CylinderGeometry:Mc,CylinderBufferGeometry:Mc,DodecahedronGeometry:Sc,DodecahedronBufferGeometry:Sc,EdgesGeometry:Dc,ExtrudeGeometry:fu,ExtrudeBufferGeometry:fu,IcosahedronGeometry:gu,IcosahedronBufferGeometry:gu,LatheGeometry:yu,LatheBufferGeometry:yu,OctahedronGeometry:bu,OctahedronBufferGeometry:bu,ParametricGeometry:Au,ParametricBufferGeometry:Au,PlaneGeometry:Wo,PlaneBufferGeometry:Wo,PolyhedronGeometry:Tc,PolyhedronBufferGeometry:Tc,RingGeometry:wu,RingBufferGeometry:wu,ShapeGeometry:xu,ShapeBufferGeometry:xu,SphereGeometry:Mu,SphereBufferGeometry:Mu,TetrahedronGeometry:_u,TetrahedronBufferGeometry:_u,TextGeometry:Tu,TextBufferGeometry:Tu,TorusGeometry:Su,TorusBufferGeometry:Su,TorusKnotGeometry:Cu,TorusKnotBufferGeometry:Cu,TubeGeometry:Lu,TubeBufferGeometry:Lu,WireframeGeometry:Ru});function Du(e){Di.call(this),this.type="ShadowMaterial",this.color=new Li(0),this.transparent=!0,this.setValues(e)}function Ou(e){Po.call(this,e),this.type="RawShaderMaterial"}function Iu(e){Di.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Li(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Li(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ln,this.normalScale=new Jn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.vertexTangents=!1,this.setValues(e)}function Bu(e){Iu.call(this),this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoat=0,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Jn(1,1),this.clearcoatNormalMap=null,this.reflectivity=.5,Object.defineProperty(this,"ior",{get:function(){return(1+.4*this.reflectivity)/(1-.4*this.reflectivity)},set:function(e){this.reflectivity=Kn.clamp(2.5*(e-1)/(e+1),0,1)}}),this.sheen=null,this.transmission=0,this.transmissionMap=null,this.setValues(e)}function Fu(e){Di.call(this),this.type="MeshPhongMaterial",this.color=new Li(16777215),this.specular=new Li(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Li(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ln,this.normalScale=new Jn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function ku(e){Di.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Li(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Li(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ln,this.normalScale=new Jn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Nu(e){Di.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ln,this.normalScale=new Jn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Uu(e){Di.call(this),this.type="MeshLambertMaterial",this.color=new Li(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Li(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Hu(e){Di.call(this),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Li(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ln,this.normalScale=new Jn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Gu(e){tc.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}Du.prototype=Object.create(Di.prototype),Du.prototype.constructor=Du,Du.prototype.isShadowMaterial=!0,Du.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this},Ou.prototype=Object.create(Po.prototype),Ou.prototype.constructor=Ou,Ou.prototype.isRawShaderMaterial=!0,Iu.prototype=Object.create(Di.prototype),Iu.prototype.constructor=Iu,Iu.prototype.isMeshStandardMaterial=!0,Iu.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.vertexTangents=e.vertexTangents,this},Bu.prototype=Object.create(Iu.prototype),Bu.prototype.constructor=Bu,Bu.prototype.isMeshPhysicalMaterial=!0,Bu.prototype.copy=function(e){return Iu.prototype.copy.call(this,e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.reflectivity=e.reflectivity,e.sheen?this.sheen=(this.sheen||new Li).copy(e.sheen):this.sheen=null,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this},Fu.prototype=Object.create(Di.prototype),Fu.prototype.constructor=Fu,Fu.prototype.isMeshPhongMaterial=!0,Fu.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},ku.prototype=Object.create(Di.prototype),ku.prototype.constructor=ku,ku.prototype.isMeshToonMaterial=!0,ku.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Nu.prototype=Object.create(Di.prototype),Nu.prototype.constructor=Nu,Nu.prototype.isMeshNormalMaterial=!0,Nu.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Uu.prototype=Object.create(Di.prototype),Uu.prototype.constructor=Uu,Uu.prototype.isMeshLambertMaterial=!0,Uu.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Hu.prototype=Object.create(Di.prototype),Hu.prototype.constructor=Hu,Hu.prototype.isMeshMatcapMaterial=!0,Hu.prototype.copy=function(e){return Di.prototype.copy.call(this,e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Gu.prototype=Object.create(tc.prototype),Gu.prototype.constructor=Gu,Gu.prototype.isLineDashedMaterial=!0,Gu.prototype.copy=function(e){return tc.prototype.copy.call(this,e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this};var zu=Object.freeze({__proto__:null,ShadowMaterial:Du,SpriteMaterial:xl,RawShaderMaterial:Ou,ShaderMaterial:Po,PointsMaterial:dc,MeshPhysicalMaterial:Bu,MeshStandardMaterial:Iu,MeshPhongMaterial:Fu,MeshToonMaterial:ku,MeshNormalMaterial:Nu,MeshLambertMaterial:Uu,MeshDepthMaterial:Qs,MeshDistanceMaterial:Zs,MeshBasicMaterial:Oi,MeshMatcapMaterial:Hu,LineDashedMaterial:Gu,LineBasicMaterial:tc,Material:Di}),ju={arraySlice:function(e,t,n){return ju.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:"number"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function t(t,n){return e[t]-e[n]}for(var n=e.length,r=new Array(n),i=0;i!==n;++i)r[i]=i;return r.sort(t),r},sortedArray:function(e,t,n){for(var r=e.length,i=new e.constructor(r),o=0,a=0;a!==r;++o)for(var s=n[o]*t,l=0;l!==t;++l)i[a++]=e[s+l];return i},flattenJSON:function(e,t,n,r){for(var i=1,o=e[0];void 0!==o&&void 0===o[r];)o=e[i++];if(void 0!==o){var a=o[r];if(void 0!==a)if(Array.isArray(a))do{void 0!==(a=o[r])&&(t.push(o.time),n.push.apply(n,a)),o=e[i++]}while(void 0!==o);else if(void 0!==a.toArray)do{void 0!==(a=o[r])&&(t.push(o.time),a.toArray(n,n.length)),o=e[i++]}while(void 0!==o);else do{void 0!==(a=o[r])&&(t.push(o.time),n.push(a)),o=e[i++]}while(void 0!==o)}},subclip:function(e,t,n,r,i){void 0===i&&(i=30);var o=e.clone();o.name=t;for(var a=[],s=0;s<o.tracks.length;++s){for(var l=o.tracks[s],c=l.getValueSize(),u=[],h=[],d=0;d<l.times.length;++d){var p=l.times[d]*i;if(!(p<n||p>=r)){u.push(l.times[d]);for(var f=0;f<c;++f)h.push(l.values[d*c+f])}}0!==u.length&&(l.times=ju.convertArray(u,l.times.constructor),l.values=ju.convertArray(h,l.values.constructor),a.push(l))}o.tracks=a;for(var m=1/0,v=0;v<o.tracks.length;++v)m>o.tracks[v].times[0]&&(m=o.tracks[v].times[0]);for(var g=0;g<o.tracks.length;++g)o.tracks[g].shift(-1*m);return o.resetDuration(),o},makeClipAdditive:function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=e),void 0===r&&(r=30),r<=0&&(r=30);for(var i=n.tracks.length,o=t/r,a=function(t){var r=n.tracks[t],i=r.ValueTypeName;if("bool"===i||"string"===i)return"continue";var a=e.tracks.find((function(e){return e.name===r.name&&e.ValueTypeName===i}));if(void 0===a)return"continue";var s=0,l=r.getValueSize();r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(s=l/3);var c=0,u=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);var h=r.times.length-1,d=void 0;if(o<=r.times[0]){var p=s,f=l-s;d=ju.arraySlice(r.values,p,f)}else if(o>=r.times[h]){var m=h*l+s,v=m+l-s;d=ju.arraySlice(r.values,m,v)}else{var g=r.createInterpolant(),y=s,b=l-s;g.evaluate(o),d=ju.arraySlice(g.resultBuffer,y,b)}"quaternion"===i&&(new sr).fromArray(d).normalize().conjugate().toArray(d);for(var A=a.times.length,w=0;w<A;++w){var x=w*u+c;if("quaternion"===i)sr.multiplyQuaternionsFlat(a.values,x,d,0,a.values,x);else for(var E=u-2*c,M=0;M<E;++M)a.values[x+M]-=d[M]}},s=0;s<i;++s)a(s);return e.blendMode=Xt,e}};function Vu(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n}function Wu(e,t,n,r){Vu.call(this,e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function qu(e,t,n,r){Vu.call(this,e,t,n,r)}function Xu(e,t,n,r){Vu.call(this,e,t,n,r)}function Yu(e,t,n,r){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=ju.convertArray(t,this.TimeBufferType),this.values=ju.convertArray(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}function Qu(e,t,n){Yu.call(this,e,t,n)}function Zu(e,t,n,r){Yu.call(this,e,t,n,r)}function Ku(e,t,n,r){Yu.call(this,e,t,n,r)}function Ju(e,t,n,r){Vu.call(this,e,t,n,r)}function $u(e,t,n,r){Yu.call(this,e,t,n,r)}function eh(e,t,n,r){Yu.call(this,e,t,n,r)}function th(e,t,n,r){Yu.call(this,e,t,n,r)}function nh(e,t,n,r){void 0===t&&(t=-1),void 0===r&&(r=qt),this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=Kn.generateUUID(),this.duration<0&&this.resetDuration()}function rh(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Ku;case"vector":case"vector2":case"vector3":case"vector4":return th;case"color":return Zu;case"quaternion":return $u;case"bool":case"boolean":return Qu;case"string":return eh}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+e)}function ih(e){if(void 0===e.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");var t=rh(e.type);if(void 0===e.times){var n=[],r=[];ju.flattenJSON(e.keys,n,r,"value"),e.times=n,e.values=r}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}Object.assign(Vu.prototype,{evaluate:function(e){var t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{var o;n:{r:if(!(e<r)){for(var a=n+2;;){if(void 0===r){if(e<i)break r;return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,e,i)}if(n===a)break;if(i=r,e<(r=t[++n]))break t}o=t.length;break n}if(e>=i)break e;var s=t[1];e<s&&(n=2,i=s);for(var l=n-2;;){if(void 0===i)return this._cachedIndex=0,this.beforeStart_(0,e,r);if(n===l)break;if(r=i,e>=(i=t[--n-1]))break t}o=n,n=0}for(;n<o;){var c=n+o>>>1;e<t[c]?o=c:n=c+1}if(r=t[n],void 0===(i=t[n-1]))return this._cachedIndex=0,this.beforeStart_(0,e,r);if(void 0===r)return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,i,e)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(e){for(var t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r,o=0;o!==r;++o)t[o]=n[i+o];return t},interpolate_:function(){throw new Error("call to abstract method")},intervalChanged_:function(){}}),Object.assign(Vu.prototype,{beforeStart_:Vu.prototype.copySampleValue_,afterEnd_:Vu.prototype.copySampleValue_}),Wu.prototype=Object.assign(Object.create(Vu.prototype),{constructor:Wu,DefaultSettings_:{endingStart:jt,endingEnd:jt},intervalChanged_:function(e,t,n){var r=this.parameterPositions,i=e-2,o=e+1,a=r[i],s=r[o];if(void 0===a)switch(this.getSettings_().endingStart){case Vt:i=e,a=2*t-n;break;case Wt:a=t+r[i=r.length-2]-r[i+1];break;default:i=e,a=n}if(void 0===s)switch(this.getSettings_().endingEnd){case Vt:o=e,s=2*n-t;break;case Wt:o=1,s=n+r[1]-r[0];break;default:o=e-1,s=t}var l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-a),this._weightNext=l/(s-n),this._offsetPrev=i*c,this._offsetNext=o*c},interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=this._offsetPrev,u=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p,v=-h*m+2*h*f-h*p,g=(1+h)*m+(-1.5-2*h)*f+(-.5+h)*p+1,y=(-1-d)*m+(1.5+d)*f+.5*p,b=d*m-d*f,A=0;A!==a;++A)i[A]=v*o[c+A]+g*o[l+A]+y*o[s+A]+b*o[u+A];return i}}),qu.prototype=Object.assign(Object.create(Vu.prototype),{constructor:qu,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=(n-t)/(r-t),u=1-c,h=0;h!==a;++h)i[h]=o[l+h]*u+o[s+h]*c;return i}}),Xu.prototype=Object.assign(Object.create(Vu.prototype),{constructor:Xu,interpolate_:function(e){return this.copySampleValue_(e-1)}}),Object.assign(Yu,{toJSON:function(e){var t,n=e.constructor;if(void 0!==n.toJSON)t=n.toJSON(e);else{t={name:e.name,times:ju.convertArray(e.times,Array),values:ju.convertArray(e.values,Array)};var r=e.getInterpolation();r!==e.DefaultInterpolation&&(t.interpolation=r)}return t.type=e.ValueTypeName,t}}),Object.assign(Yu.prototype,{constructor:Yu,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:Gt,InterpolantFactoryMethodDiscrete:function(e){return new Xu(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodLinear:function(e){return new qu(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:function(e){return new Wu(this.times,this.values,this.getValueSize(),e)},setInterpolation:function(e){var t;switch(e){case Ht:t=this.InterpolantFactoryMethodDiscrete;break;case Gt:t=this.InterpolantFactoryMethodLinear;break;case zt:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){var n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(n);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=t,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Ht;case this.InterpolantFactoryMethodLinear:return Gt;case this.InterpolantFactoryMethodSmooth:return zt}},getValueSize:function(){return this.values.length/this.times.length},shift:function(e){if(0!==e)for(var t=this.times,n=0,r=t.length;n!==r;++n)t[n]+=e;return this},scale:function(e){if(1!==e)for(var t=this.times,n=0,r=t.length;n!==r;++n)t[n]*=e;return this},trim:function(e,t){for(var n=this.times,r=n.length,i=0,o=r-1;i!==r&&n[i]<e;)++i;for(;-1!==o&&n[o]>t;)--o;if(++o,0!==i||o!==r){i>=o&&(i=(o=Math.max(o,1))-1);var a=this.getValueSize();this.times=ju.arraySlice(n,i,o),this.values=ju.arraySlice(this.values,i*a,o*a)}return this},validate:function(){var e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);var n=this.times,r=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);for(var o=null,a=0;a!==i;a++){var s=n[a];if("number"===typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,s),e=!1;break}if(null!==o&&o>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,s,o),e=!1;break}o=s}if(void 0!==r&&ju.isTypedArray(r))for(var l=0,c=r.length;l!==c;++l){var u=r[l];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,u),e=!1;break}}return e},optimize:function(){for(var e=ju.arraySlice(this.times),t=ju.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===zt,i=e.length-1,o=1,a=1;a<i;++a){var s=!1,l=e[a];if(l!==e[a+1]&&(1!==a||l!==e[0]))if(r)s=!0;else for(var c=a*n,u=c-n,h=c+n,d=0;d!==n;++d){var p=t[c+d];if(p!==t[u+d]||p!==t[h+d]){s=!0;break}}if(s){if(a!==o){e[o]=e[a];for(var f=a*n,m=o*n,v=0;v!==n;++v)t[m+v]=t[f+v]}++o}}if(i>0){e[o]=e[i];for(var g=i*n,y=o*n,b=0;b!==n;++b)t[y+b]=t[g+b];++o}return o!==e.length?(this.times=ju.arraySlice(e,0,o),this.values=ju.arraySlice(t,0,o*n)):(this.times=e,this.values=t),this},clone:function(){var e=ju.arraySlice(this.times,0),t=ju.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}),Qu.prototype=Object.assign(Object.create(Yu.prototype),{constructor:Qu,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:Ht,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Zu.prototype=Object.assign(Object.create(Yu.prototype),{constructor:Zu,ValueTypeName:"color"}),Ku.prototype=Object.assign(Object.create(Yu.prototype),{constructor:Ku,ValueTypeName:"number"}),Ju.prototype=Object.assign(Object.create(Vu.prototype),{constructor:Ju,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=(n-t)/(r-t),l=e*a,c=l+a;l!==c;l+=4)sr.slerpFlat(i,0,o,l-a,o,l,s);return i}}),$u.prototype=Object.assign(Object.create(Yu.prototype),{constructor:$u,ValueTypeName:"quaternion",DefaultInterpolation:Gt,InterpolantFactoryMethodLinear:function(e){return new Ju(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:void 0}),eh.prototype=Object.assign(Object.create(Yu.prototype),{constructor:eh,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:Ht,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),th.prototype=Object.assign(Object.create(Yu.prototype),{constructor:th,ValueTypeName:"vector"}),Object.assign(nh,{parse:function(e){for(var t=[],n=e.tracks,r=1/(e.fps||1),i=0,o=n.length;i!==o;++i)t.push(ih(n[i]).scale(r));var a=new nh(e.name,e.duration,t,e.blendMode);return a.uuid=e.uuid,a},toJSON:function(e){for(var t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode},i=0,o=n.length;i!==o;++i)t.push(Yu.toJSON(n[i]));return r},CreateFromMorphTargetSequence:function(e,t,n,r){for(var i=t.length,o=[],a=0;a<i;a++){var s=[],l=[];s.push((a+i-1)%i,a,(a+1)%i),l.push(0,1,0);var c=ju.getKeyframeOrder(s);s=ju.sortedArray(s,1,c),l=ju.sortedArray(l,1,c),r||0!==s[0]||(s.push(i),l.push(l[0])),o.push(new Ku(".morphTargetInfluences["+t[a].name+"]",s,l).scale(1/n))}return new nh(e,-1,o)},findByName:function(e,t){var n=e;if(!Array.isArray(e)){var r=e;n=r.geometry&&r.geometry.animations||r.animations}for(var i=0;i<n.length;i++)if(n[i].name===t)return n[i];return null},CreateClipsFromMorphTargetSequences:function(e,t,n){for(var r={},i=/^([\w-]*?)([\d]+)$/,o=0,a=e.length;o<a;o++){var s=e[o],l=s.name.match(i);if(l&&l.length>1){var c=l[1],u=r[c];u||(r[c]=u=[]),u.push(s)}}var h=[];for(var d in r)h.push(nh.CreateFromMorphTargetSequence(d,r[d],t,n));return h},parseAnimation:function(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var n=function(e,t,n,r,i){if(0!==n.length){var o=[],a=[];ju.flattenJSON(n,o,a,r),0!==o.length&&i.push(new e(t,o,a))}},r=[],i=e.name||"default",o=e.fps||30,a=e.blendMode,s=e.length||-1,l=e.hierarchy||[],c=0;c<l.length;c++){var u=l[c].keys;if(u&&0!==u.length)if(u[0].morphTargets){var h={},d=void 0;for(d=0;d<u.length;d++)if(u[d].morphTargets)for(var p=0;p<u[d].morphTargets.length;p++)h[u[d].morphTargets[p]]=-1;for(var f in h){for(var m=[],v=[],g=0;g!==u[d].morphTargets.length;++g){var y=u[d];m.push(y.time),v.push(y.morphTarget===f?1:0)}r.push(new Ku(".morphTargetInfluence["+f+"]",m,v))}s=h.length*(o||1)}else{var b=".bones["+t[c].name+"]";n(th,b+".position",u,"pos",r),n($u,b+".quaternion",u,"rot",r),n(th,b+".scale",u,"scl",r)}}return 0===r.length?null:new nh(i,s,r,a)}}),Object.assign(nh.prototype,{resetDuration:function(){for(var e=0,t=0,n=this.tracks.length;t!==n;++t){var r=this.tracks[t];e=Math.max(e,r.times[r.times.length-1])}return this.duration=e,this},trim:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this},validate:function(){for(var e=!0,t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e},optimize:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this},clone:function(){for(var e=[],t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new nh(this.name,this.duration,e,this.blendMode)},toJSON:function(){return nh.toJSON(this)}});var oh={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};function ah(e,t,n){var r=this,i=!1,o=0,a=0,s=void 0,l=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){a++,!1===i&&void 0!==r.onStart&&r.onStart(e,o,a),i=!0},this.itemEnd=function(e){o++,void 0!==r.onProgress&&r.onProgress(e,o,a),o===a&&(i=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)},this.resolveURL=function(e){return s?s(e):e},this.setURLModifier=function(e){return s=e,this},this.addHandler=function(e,t){return l.push(e,t),this},this.removeHandler=function(e){var t=l.indexOf(e);return-1!==t&&l.splice(t,2),this},this.getHandler=function(e){for(var t=0,n=l.length;t<n;t+=2){var r=l[t],i=l[t+1];if(r.global&&(r.lastIndex=0),r.test(e))return i}return null}}var sh=new ah;function lh(e){this.manager=void 0!==e?e:sh,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}Object.assign(lh.prototype,{load:function(){},loadAsync:function(e,t){var n=this;return new Promise((function(r,i){n.load(e,r,t,i)}))},parse:function(){},setCrossOrigin:function(e){return this.crossOrigin=e,this},setWithCredentials:function(e){return this.withCredentials=e,this},setPath:function(e){return this.path=e,this},setResourcePath:function(e){return this.resourcePath=e,this},setRequestHeader:function(e){return this.requestHeader=e,this}});var ch={};function uh(e){lh.call(this,e)}function hh(e){lh.call(this,e)}function dh(e){lh.call(this,e)}function ph(e){lh.call(this,e)}function fh(e){lh.call(this,e)}function mh(e){lh.call(this,e)}function vh(e){lh.call(this,e)}function gh(){this.type="Curve",this.arcLengthDivisions=200}function yh(e,t,n,r,i,o,a,s){gh.call(this),this.type="EllipseCurve",this.aX=e||0,this.aY=t||0,this.xRadius=n||1,this.yRadius=r||1,this.aStartAngle=i||0,this.aEndAngle=o||2*Math.PI,this.aClockwise=a||!1,this.aRotation=s||0}function bh(e,t,n,r,i,o){yh.call(this,e,t,n,n,r,i,o),this.type="ArcCurve"}function Ah(){var e=0,t=0,n=0,r=0;function i(i,o,a,s){e=i,t=a,n=-3*i+3*o-2*a-s,r=2*i-2*o+a+s}return{initCatmullRom:function(e,t,n,r,o){i(t,n,o*(n-e),o*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,o,a,s){var l=(t-e)/o-(n-e)/(o+a)+(n-t)/a,c=(n-t)/a-(r-t)/(a+s)+(r-n)/s;i(t,n,l*=a,c*=a)},calc:function(i){var o=i*i;return e+t*i+n*o+r*(o*i)}}}uh.prototype=Object.assign(Object.create(lh.prototype),{constructor:uh,load:function(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var i=this,o=oh.get(e);if(void 0!==o)return i.manager.itemStart(e),setTimeout((function(){t&&t(o),i.manager.itemEnd(e)}),0),o;if(void 0===ch[e]){var a,s=/^data:(.*?)(;base64)?,(.*)$/,l=e.match(s);if(l){var c=l[1],u=!!l[2],h=l[3];h=decodeURIComponent(h),u&&(h=atob(h));try{var d,p=(this.responseType||"").toLowerCase();switch(p){case"arraybuffer":case"blob":for(var f=new Uint8Array(h.length),m=0;m<h.length;m++)f[m]=h.charCodeAt(m);d="blob"===p?new Blob([f.buffer],{type:c}):f.buffer;break;case"document":var v=new DOMParser;d=v.parseFromString(h,c);break;case"json":d=JSON.parse(h);break;default:d=h}setTimeout((function(){t&&t(d),i.manager.itemEnd(e)}),0)}catch(y){setTimeout((function(){r&&r(y),i.manager.itemError(e),i.manager.itemEnd(e)}),0)}}else{for(var g in ch[e]=[],ch[e].push({onLoad:t,onProgress:n,onError:r}),(a=new XMLHttpRequest).open("GET",e,!0),a.addEventListener("load",(function(t){var n=this.response,r=ch[e];if(delete ch[e],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),oh.add(e,n);for(var o=0,a=r.length;o<a;o++){var s=r[o];s.onLoad&&s.onLoad(n)}i.manager.itemEnd(e)}else{for(var l=0,c=r.length;l<c;l++){var u=r[l];u.onError&&u.onError(t)}i.manager.itemError(e),i.manager.itemEnd(e)}}),!1),a.addEventListener("progress",(function(t){for(var n=ch[e],r=0,i=n.length;r<i;r++){var o=n[r];o.onProgress&&o.onProgress(t)}}),!1),a.addEventListener("error",(function(t){var n=ch[e];delete ch[e];for(var r=0,o=n.length;r<o;r++){var a=n[r];a.onError&&a.onError(t)}i.manager.itemError(e),i.manager.itemEnd(e)}),!1),a.addEventListener("abort",(function(t){var n=ch[e];delete ch[e];for(var r=0,o=n.length;r<o;r++){var a=n[r];a.onError&&a.onError(t)}i.manager.itemError(e),i.manager.itemEnd(e)}),!1),void 0!==this.responseType&&(a.responseType=this.responseType),void 0!==this.withCredentials&&(a.withCredentials=this.withCredentials),a.overrideMimeType&&a.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)a.setRequestHeader(g,this.requestHeader[g]);a.send(null)}return i.manager.itemStart(e),a}ch[e].push({onLoad:t,onProgress:n,onError:r})},setResponseType:function(e){return this.responseType=e,this},setMimeType:function(e){return this.mimeType=e,this}}),hh.prototype=Object.assign(Object.create(lh.prototype),{constructor:hh,load:function(t,n,r,i){var o=this,a=new uh(o.manager);a.setPath(o.path),a.setRequestHeader(o.requestHeader),a.setWithCredentials(o.withCredentials),a.load(t,(function(r){try{n(o.parse(JSON.parse(r)))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)},parse:function(e){for(var t=[],n=0;n<e.length;n++){var r=nh.parse(e[n]);t.push(r)}return t}}),dh.prototype=Object.assign(Object.create(lh.prototype),{constructor:dh,load:function(e,t,n,r){var i=this,o=[],a=new Ac,s=new uh(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(i.withCredentials);var l=0;function c(c){s.load(e[c],(function(e){var n=i.parse(e,!0);o[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},6===(l+=1)&&(1===n.mipmapCount&&(a.minFilter=Ae),a.image=o,a.format=n.format,a.needsUpdate=!0,t&&t(a))}),n,r)}if(Array.isArray(e))for(var u=0,h=e.length;u<h;++u)c(u);else s.load(e,(function(e){var n=i.parse(e,!0);if(n.isCubemap){for(var r=n.mipmaps.length/n.mipmapCount,s=0;s<r;s++){o[s]={mipmaps:[]};for(var l=0;l<n.mipmapCount;l++)o[s].mipmaps.push(n.mipmaps[s*n.mipmapCount+l]),o[s].format=n.format,o[s].width=n.width,o[s].height=n.height}a.image=o}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=Ae),a.format=n.format,a.needsUpdate=!0,t&&t(a)}),n,r);return a}}),ph.prototype=Object.assign(Object.create(lh.prototype),{constructor:ph,load:function(e,t,n,r){void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var i=this,o=oh.get(e);if(void 0!==o)return i.manager.itemStart(e),setTimeout((function(){t&&t(o),i.manager.itemEnd(e)}),0),o;var a=document.createElementNS("http://www.w3.org/1999/xhtml","img");function s(){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),oh.add(e,this),t&&t(this),i.manager.itemEnd(e)}function l(t){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}return a.addEventListener("load",s,!1),a.addEventListener("error",l,!1),"data:"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),i.manager.itemStart(e),a.src=e,a}}),fh.prototype=Object.assign(Object.create(lh.prototype),{constructor:fh,load:function(e,t,n,r){var i=new ko,o=new ph(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);var a=0;function s(n){o.load(e[n],(function(e){i.images[n]=e,6===++a&&(i.needsUpdate=!0,t&&t(i))}),void 0,r)}for(var l=0;l<e.length;++l)s(l);return i}}),mh.prototype=Object.assign(Object.create(lh.prototype),{constructor:mh,load:function(e,t,n,r){var i=this,o=new Uo,a=new uh(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(i.withCredentials),a.load(e,(function(e){var n=i.parse(e);n&&(void 0!==n.image?o.image=n.image:void 0!==n.data&&(o.image.width=n.width,o.image.height=n.height,o.image.data=n.data),o.wrapS=void 0!==n.wrapS?n.wrapS:pe,o.wrapT=void 0!==n.wrapT?n.wrapT:pe,o.magFilter=void 0!==n.magFilter?n.magFilter:Ae,o.minFilter=void 0!==n.minFilter?n.minFilter:Ae,o.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.encoding&&(o.encoding=n.encoding),void 0!==n.flipY&&(o.flipY=n.flipY),void 0!==n.format&&(o.format=n.format),void 0!==n.type&&(o.type=n.type),void 0!==n.mipmaps&&(o.mipmaps=n.mipmaps,o.minFilter=Ee),1===n.mipmapCount&&(o.minFilter=Ae),o.needsUpdate=!0,t&&t(o,n))}),n,r),o}}),vh.prototype=Object.assign(Object.create(lh.prototype),{constructor:vh,load:function(e,t,n,r){var i=new nr,o=new ph(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,(function(n){i.image=n;var r=e.search(/\.jpe?g($|\?)/i)>0||0===e.search(/^data\:image\/jpeg/);i.format=r?Ne:Ue,i.needsUpdate=!0,void 0!==t&&t(i)}),n,r),i}}),Object.assign(gh.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(e,t){var n=this.getUtoTmapping(e);return this.getPoint(n,t)},getPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return t},getSpacedPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t},getLength:function(){var e=this.getLengths();return e[e.length-1]},getLengths:function(e){if(void 0===e&&(e=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n=[],r=this.getPoint(0),i=0;n.push(0);for(var o=1;o<=e;o++)i+=(t=this.getPoint(o/e)).distanceTo(r),n.push(i),r=t;return this.cacheArcLengths=n,n},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(e,t){var n,r=this.getLengths(),i=0,o=r.length;n=t||e*r[o-1];for(var a,s=0,l=o-1;s<=l;)if((a=r[i=Math.floor(s+(l-s)/2)]-n)<0)s=i+1;else{if(!(a>0)){l=i;break}l=i-1}if(r[i=l]===n)return i/(o-1);var c=r[i];return(i+(n-c)/(r[i+1]-c))/(o-1)},getTangent:function(e,t){var n=1e-4,r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);var o=this.getPoint(r),a=this.getPoint(i),s=t||(o.isVector2?new Jn:new lr);return s.copy(a).sub(o).normalize(),s},getTangentAt:function(e,t){var n=this.getUtoTmapping(e);return this.getTangent(n,t)},computeFrenetFrames:function(e,t){for(var n=new lr,r=[],i=[],o=[],a=new lr,s=new Fr,l=0;l<=e;l++){var c=l/e;r[l]=this.getTangentAt(c,new lr),r[l].normalize()}i[0]=new lr,o[0]=new lr;var u=Number.MAX_VALUE,h=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);h<=u&&(u=h,n.set(1,0,0)),d<=u&&(u=d,n.set(0,1,0)),p<=u&&n.set(0,0,1),a.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],a),o[0].crossVectors(r[0],i[0]);for(var f=1;f<=e;f++){if(i[f]=i[f-1].clone(),o[f]=o[f-1].clone(),a.crossVectors(r[f-1],r[f]),a.length()>Number.EPSILON){a.normalize();var m=Math.acos(Kn.clamp(r[f-1].dot(r[f]),-1,1));i[f].applyMatrix4(s.makeRotationAxis(a,m))}o[f].crossVectors(r[f],i[f])}if(!0===t){var v=Math.acos(Kn.clamp(i[0].dot(i[e]),-1,1));v/=e,r[0].dot(a.crossVectors(i[0],i[e]))>0&&(v=-v);for(var g=1;g<=e;g++)i[g].applyMatrix4(s.makeRotationAxis(r[g],v*g)),o[g].crossVectors(r[g],i[g])}return{tangents:r,normals:i,binormals:o}},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.arcLengthDivisions=e.arcLengthDivisions,this},toJSON:function(){var e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e},fromJSON:function(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}),yh.prototype=Object.create(gh.prototype),yh.prototype.constructor=yh,yh.prototype.isEllipseCurve=!0,yh.prototype.getPoint=function(e,t){for(var n=t||new Jn,r=2*Math.PI,i=this.aEndAngle-this.aStartAngle,o=Math.abs(i)<Number.EPSILON;i<0;)i+=r;for(;i>r;)i-=r;i<Number.EPSILON&&(i=o?0:r),!0!==this.aClockwise||o||(i===r?i=-r:i-=r);var a=this.aStartAngle+e*i,s=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){var c=Math.cos(this.aRotation),u=Math.sin(this.aRotation),h=s-this.aX,d=l-this.aY;s=h*c-d*u+this.aX,l=h*u+d*c+this.aY}return n.set(s,l)},yh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this},yh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e},yh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this},bh.prototype=Object.create(yh.prototype),bh.prototype.constructor=bh,bh.prototype.isArcCurve=!0;var wh=new lr,xh=new Ah,Eh=new Ah,Mh=new Ah;function _h(e,t,n,r){void 0===e&&(e=[]),void 0===t&&(t=!1),void 0===n&&(n="centripetal"),void 0===r&&(r=.5),gh.call(this),this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=r}function Th(e,t,n,r,i){var o=.5*(r-t),a=.5*(i-n),s=e*e;return(2*n-2*r+o+a)*(e*s)+(-3*n+3*r-2*o-a)*s+o*e+n}function Sh(e,t){var n=1-e;return n*n*t}function Ch(e,t){return 2*(1-e)*e*t}function Lh(e,t){return e*e*t}function Rh(e,t,n,r){return Sh(e,t)+Ch(e,n)+Lh(e,r)}function Ph(e,t){var n=1-e;return n*n*n*t}function Dh(e,t){var n=1-e;return 3*n*n*e*t}function Oh(e,t){return 3*(1-e)*e*e*t}function Ih(e,t){return e*e*e*t}function Bh(e,t,n,r,i){return Ph(e,t)+Dh(e,n)+Oh(e,r)+Ih(e,i)}function Fh(e,t,n,r){void 0===e&&(e=new Jn),void 0===t&&(t=new Jn),void 0===n&&(n=new Jn),void 0===r&&(r=new Jn),gh.call(this),this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=r}function kh(e,t,n,r){void 0===e&&(e=new lr),void 0===t&&(t=new lr),void 0===n&&(n=new lr),void 0===r&&(r=new lr),gh.call(this),this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=r}function Nh(e,t){void 0===e&&(e=new Jn),void 0===t&&(t=new Jn),gh.call(this),this.type="LineCurve",this.v1=e,this.v2=t}function Uh(e,t){void 0===e&&(e=new lr),void 0===t&&(t=new lr),gh.call(this),this.type="LineCurve3",this.v1=e,this.v2=t}function Hh(e,t,n){void 0===e&&(e=new Jn),void 0===t&&(t=new Jn),void 0===n&&(n=new Jn),gh.call(this),this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}function Gh(e,t,n){void 0===e&&(e=new lr),void 0===t&&(t=new lr),void 0===n&&(n=new lr),gh.call(this),this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}function zh(e){void 0===e&&(e=[]),gh.call(this),this.type="SplineCurve",this.points=e}_h.prototype=Object.create(gh.prototype),_h.prototype.constructor=_h,_h.prototype.isCatmullRomCurve3=!0,_h.prototype.getPoint=function(e,t){void 0===t&&(t=new lr);var n,r,i=t,o=this.points,a=o.length,s=(a-(this.closed?0:1))*e,l=Math.floor(s),c=s-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/a)+1)*a:0===c&&l===a-1&&(l=a-2,c=1),this.closed||l>0?n=o[(l-1)%a]:(wh.subVectors(o[0],o[1]).add(o[0]),n=wh);var u=o[l%a],h=o[(l+1)%a];if(this.closed||l+2<a?r=o[(l+2)%a]:(wh.subVectors(o[a-1],o[a-2]).add(o[a-1]),r=wh),"centripetal"===this.curveType||"chordal"===this.curveType){var d="chordal"===this.curveType?.5:.25,p=Math.pow(n.distanceToSquared(u),d),f=Math.pow(u.distanceToSquared(h),d),m=Math.pow(h.distanceToSquared(r),d);f<1e-4&&(f=1),p<1e-4&&(p=f),m<1e-4&&(m=f),xh.initNonuniformCatmullRom(n.x,u.x,h.x,r.x,p,f,m),Eh.initNonuniformCatmullRom(n.y,u.y,h.y,r.y,p,f,m),Mh.initNonuniformCatmullRom(n.z,u.z,h.z,r.z,p,f,m)}else"catmullrom"===this.curveType&&(xh.initCatmullRom(n.x,u.x,h.x,r.x,this.tension),Eh.initCatmullRom(n.y,u.y,h.y,r.y,this.tension),Mh.initCatmullRom(n.z,u.z,h.z,r.z,this.tension));return i.set(xh.calc(c),Eh.calc(c),Mh.calc(c)),i},_h.prototype.copy=function(e){gh.prototype.copy.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var r=e.points[t];this.points.push(r.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this},_h.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);e.points=[];for(var t=0,n=this.points.length;t<n;t++){var r=this.points[t];e.points.push(r.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e},_h.prototype.fromJSON=function(e){gh.prototype.fromJSON.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var r=e.points[t];this.points.push((new lr).fromArray(r))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this},Fh.prototype=Object.create(gh.prototype),Fh.prototype.constructor=Fh,Fh.prototype.isCubicBezierCurve=!0,Fh.prototype.getPoint=function(e,t){void 0===t&&(t=new Jn);var n=t,r=this.v0,i=this.v1,o=this.v2,a=this.v3;return n.set(Bh(e,r.x,i.x,o.x,a.x),Bh(e,r.y,i.y,o.y,a.y)),n},Fh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this},Fh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e},Fh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this},kh.prototype=Object.create(gh.prototype),kh.prototype.constructor=kh,kh.prototype.isCubicBezierCurve3=!0,kh.prototype.getPoint=function(e,t){void 0===t&&(t=new lr);var n=t,r=this.v0,i=this.v1,o=this.v2,a=this.v3;return n.set(Bh(e,r.x,i.x,o.x,a.x),Bh(e,r.y,i.y,o.y,a.y),Bh(e,r.z,i.z,o.z,a.z)),n},kh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this},kh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e},kh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this},Nh.prototype=Object.create(gh.prototype),Nh.prototype.constructor=Nh,Nh.prototype.isLineCurve=!0,Nh.prototype.getPoint=function(e,t){void 0===t&&(t=new Jn);var n=t;return 1===e?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n},Nh.prototype.getPointAt=function(e,t){return this.getPoint(e,t)},Nh.prototype.getTangent=function(e,t){var n=t||new Jn;return n.copy(this.v2).sub(this.v1).normalize(),n},Nh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v1.copy(e.v1),this.v2.copy(e.v2),this},Nh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},Nh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},Uh.prototype=Object.create(gh.prototype),Uh.prototype.constructor=Uh,Uh.prototype.isLineCurve3=!0,Uh.prototype.getPoint=function(e,t){void 0===t&&(t=new lr);var n=t;return 1===e?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n},Uh.prototype.getPointAt=function(e,t){return this.getPoint(e,t)},Uh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v1.copy(e.v1),this.v2.copy(e.v2),this},Uh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},Uh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},Hh.prototype=Object.create(gh.prototype),Hh.prototype.constructor=Hh,Hh.prototype.isQuadraticBezierCurve=!0,Hh.prototype.getPoint=function(e,t){void 0===t&&(t=new Jn);var n=t,r=this.v0,i=this.v1,o=this.v2;return n.set(Rh(e,r.x,i.x,o.x),Rh(e,r.y,i.y,o.y)),n},Hh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this},Hh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},Hh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},Gh.prototype=Object.create(gh.prototype),Gh.prototype.constructor=Gh,Gh.prototype.isQuadraticBezierCurve3=!0,Gh.prototype.getPoint=function(e,t){void 0===t&&(t=new lr);var n=t,r=this.v0,i=this.v1,o=this.v2;return n.set(Rh(e,r.x,i.x,o.x),Rh(e,r.y,i.y,o.y),Rh(e,r.z,i.z,o.z)),n},Gh.prototype.copy=function(e){return gh.prototype.copy.call(this,e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this},Gh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e},Gh.prototype.fromJSON=function(e){return gh.prototype.fromJSON.call(this,e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this},zh.prototype=Object.create(gh.prototype),zh.prototype.constructor=zh,zh.prototype.isSplineCurve=!0,zh.prototype.getPoint=function(e,t){void 0===t&&(t=new Jn);var n=t,r=this.points,i=(r.length-1)*e,o=Math.floor(i),a=i-o,s=r[0===o?o:o-1],l=r[o],c=r[o>r.length-2?r.length-1:o+1],u=r[o>r.length-3?r.length-1:o+2];return n.set(Th(a,s.x,l.x,c.x,u.x),Th(a,s.y,l.y,c.y,u.y)),n},zh.prototype.copy=function(e){gh.prototype.copy.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var r=e.points[t];this.points.push(r.clone())}return this},zh.prototype.toJSON=function(){var e=gh.prototype.toJSON.call(this);e.points=[];for(var t=0,n=this.points.length;t<n;t++){var r=this.points[t];e.points.push(r.toArray())}return e},zh.prototype.fromJSON=function(e){gh.prototype.fromJSON.call(this,e),this.points=[];for(var t=0,n=e.points.length;t<n;t++){var r=e.points[t];this.points.push((new Jn).fromArray(r))}return this};var jh=Object.freeze({__proto__:null,ArcCurve:bh,CatmullRomCurve3:_h,CubicBezierCurve:Fh,CubicBezierCurve3:kh,EllipseCurve:yh,LineCurve:Nh,LineCurve3:Uh,QuadraticBezierCurve:Hh,QuadraticBezierCurve3:Gh,SplineCurve:zh});function Vh(){gh.call(this),this.type="CurvePath",this.curves=[],this.autoClose=!1}function Wh(e){Vh.call(this),this.type="Path",this.currentPoint=new Jn,e&&this.setFromPoints(e)}function qh(e){Wh.call(this,e),this.uuid=Kn.generateUUID(),this.type="Shape",this.holes=[]}function Xh(e,t){void 0===t&&(t=1),si.call(this),this.type="Light",this.color=new Li(e),this.intensity=t}function Yh(e,t,n){Xh.call(this,e,n),this.type="HemisphereLight",this.position.copy(si.DefaultUp),this.updateMatrix(),this.groundColor=new Li(t)}function Qh(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.mapSize=new Jn(512,512),this.map=null,this.mapPass=null,this.matrix=new Fr,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new zo,this._frameExtents=new Jn(1,1),this._viewportCount=1,this._viewports=[new ir(0,0,1,1)]}function Zh(){Qh.call(this,new Oo(50,1,.5,500)),this.focus=1}function Kh(e,t,n,r,i,o){Xh.call(this,e,t),this.type="SpotLight",this.position.copy(si.DefaultUp),this.updateMatrix(),this.target=new si,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(e){this.intensity=e/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==r?r:Math.PI/3,this.penumbra=void 0!==i?i:0,this.decay=void 0!==o?o:1,this.shadow=new Zh}function Jh(){Qh.call(this,new Oo(90,1,.5,500)),this._frameExtents=new Jn(4,2),this._viewportCount=6,this._viewports=[new ir(2,1,1,1),new ir(0,1,1,1),new ir(3,1,1,1),new ir(1,1,1,1),new ir(3,0,1,1),new ir(1,0,1,1)],this._cubeDirections=[new lr(1,0,0),new lr(-1,0,0),new lr(0,0,1),new lr(0,0,-1),new lr(0,1,0),new lr(0,-1,0)],this._cubeUps=[new lr(0,1,0),new lr(0,1,0),new lr(0,1,0),new lr(0,1,0),new lr(0,0,1),new lr(0,0,-1)]}function $h(e,t,n,r){Xh.call(this,e,t),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(e){this.intensity=e/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==r?r:1,this.shadow=new Jh}function ed(e,t,n,r,i,o){void 0===e&&(e=-1),void 0===t&&(t=1),void 0===n&&(n=1),void 0===r&&(r=-1),void 0===i&&(i=.1),void 0===o&&(o=2e3),Do.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=o,this.updateProjectionMatrix()}function td(){Qh.call(this,new ed(-5,5,5,-5,.5,500))}function nd(e,t){Xh.call(this,e,t),this.type="DirectionalLight",this.position.copy(si.DefaultUp),this.updateMatrix(),this.target=new si,this.shadow=new td}function rd(e,t){Xh.call(this,e,t),this.type="AmbientLight"}function id(e,t,n,r){Xh.call(this,e,t),this.type="RectAreaLight",this.width=void 0!==n?n:10,this.height=void 0!==r?r:10}Vh.prototype=Object.assign(Object.create(gh.prototype),{constructor:Vh,add:function(e){this.curves.push(e)},closePath:function(){var e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new Nh(t,e))},getPoint:function(e){for(var t=e*this.getLength(),n=this.getCurveLengths(),r=0;r<n.length;){if(n[r]>=t){var i=n[r]-t,o=this.curves[r],a=o.getLength(),s=0===a?0:1-i/a;return o.getPointAt(s)}r++}return null},getLength:function(){var e=this.getCurveLengths();return e[e.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],t=0,n=0,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e},getSpacedPoints:function(e){void 0===e&&(e=40);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t},getPoints:function(e){void 0===e&&(e=12);for(var t,n=[],r=0,i=this.curves;r<i.length;r++)for(var o=i[r],a=o&&o.isEllipseCurve?2*e:o&&(o.isLineCurve||o.isLineCurve3)?1:o&&o.isSplineCurve?e*o.points.length:e,s=o.getPoints(a),l=0;l<s.length;l++){var c=s[l];t&&t.equals(c)||(n.push(c),t=c)}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},copy:function(e){gh.prototype.copy.call(this,e),this.curves=[];for(var t=0,n=e.curves.length;t<n;t++){var r=e.curves[t];this.curves.push(r.clone())}return this.autoClose=e.autoClose,this},toJSON:function(){var e=gh.prototype.toJSON.call(this);e.autoClose=this.autoClose,e.curves=[];for(var t=0,n=this.curves.length;t<n;t++){var r=this.curves[t];e.curves.push(r.toJSON())}return e},fromJSON:function(e){gh.prototype.fromJSON.call(this,e),this.autoClose=e.autoClose,this.curves=[];for(var t=0,n=e.curves.length;t<n;t++){var r=e.curves[t];this.curves.push((new jh[r.type]).fromJSON(r))}return this}}),Wh.prototype=Object.assign(Object.create(Vh.prototype),{constructor:Wh,setFromPoints:function(e){this.moveTo(e[0].x,e[0].y);for(var t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this},moveTo:function(e,t){return this.currentPoint.set(e,t),this},lineTo:function(e,t){var n=new Nh(this.currentPoint.clone(),new Jn(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this},quadraticCurveTo:function(e,t,n,r){var i=new Hh(this.currentPoint.clone(),new Jn(e,t),new Jn(n,r));return this.curves.push(i),this.currentPoint.set(n,r),this},bezierCurveTo:function(e,t,n,r,i,o){var a=new Fh(this.currentPoint.clone(),new Jn(e,t),new Jn(n,r),new Jn(i,o));return this.curves.push(a),this.currentPoint.set(i,o),this},splineThru:function(e){var t=new zh([this.currentPoint.clone()].concat(e));return this.curves.push(t),this.currentPoint.copy(e[e.length-1]),this},arc:function(e,t,n,r,i,o){var a=this.currentPoint.x,s=this.currentPoint.y;return this.absarc(e+a,t+s,n,r,i,o),this},absarc:function(e,t,n,r,i,o){return this.absellipse(e,t,n,n,r,i,o),this},ellipse:function(e,t,n,r,i,o,a,s){var l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(e+l,t+c,n,r,i,o,a,s),this},absellipse:function(e,t,n,r,i,o,a,s){var l=new yh(e,t,n,r,i,o,a,s);if(this.curves.length>0){var c=l.getPoint(0);c.equals(this.currentPoint)||this.lineTo(c.x,c.y)}this.curves.push(l);var u=l.getPoint(1);return this.currentPoint.copy(u),this},copy:function(e){return Vh.prototype.copy.call(this,e),this.currentPoint.copy(e.currentPoint),this},toJSON:function(){var e=Vh.prototype.toJSON.call(this);return e.currentPoint=this.currentPoint.toArray(),e},fromJSON:function(e){return Vh.prototype.fromJSON.call(this,e),this.currentPoint.fromArray(e.currentPoint),this}}),qh.prototype=Object.assign(Object.create(Wh.prototype),{constructor:qh,getPointsHoles:function(e){for(var t=[],n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t},extractPoints:function(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}},copy:function(e){Wh.prototype.copy.call(this,e),this.holes=[];for(var t=0,n=e.holes.length;t<n;t++){var r=e.holes[t];this.holes.push(r.clone())}return this},toJSON:function(){var e=Wh.prototype.toJSON.call(this);e.uuid=this.uuid,e.holes=[];for(var t=0,n=this.holes.length;t<n;t++){var r=this.holes[t];e.holes.push(r.toJSON())}return e},fromJSON:function(e){Wh.prototype.fromJSON.call(this,e),this.uuid=e.uuid,this.holes=[];for(var t=0,n=e.holes.length;t<n;t++){var r=e.holes[t];this.holes.push((new Wh).fromJSON(r))}return this}}),Xh.prototype=Object.assign(Object.create(si.prototype),{constructor:Xh,isLight:!0,copy:function(e){return si.prototype.copy.call(this,e),this.color.copy(e.color),this.intensity=e.intensity,this},toJSON:function(e){var t=si.prototype.toJSON.call(this,e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}),Yh.prototype=Object.assign(Object.create(Xh.prototype),{constructor:Yh,isHemisphereLight:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}),Object.assign(Qh.prototype,{_projScreenMatrix:new Fr,_lightPositionWorld:new lr,_lookTarget:new lr,getViewportCount:function(){return this._viewportCount},getFrustum:function(){return this._frustum},updateMatrices:function(e){var t=this.camera,n=this.matrix,r=this._projScreenMatrix,i=this._lookTarget,o=this._lightPositionWorld;o.setFromMatrixPosition(e.matrixWorld),t.position.copy(o),i.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(i),t.updateMatrixWorld(),r.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(r),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(t.projectionMatrix),n.multiply(t.matrixWorldInverse)},getViewport:function(e){return this._viewports[e]},getFrameExtents:function(){return this._frameExtents},copy:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}),Zh.prototype=Object.assign(Object.create(Qh.prototype),{constructor:Zh,isSpotLightShadow:!0,updateMatrices:function(e){var t=this.camera,n=2*Kn.RAD2DEG*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;n===t.fov&&r===t.aspect&&i===t.far||(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),Qh.prototype.updateMatrices.call(this,e)}}),Kh.prototype=Object.assign(Object.create(Xh.prototype),{constructor:Kh,isSpotLight:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Jh.prototype=Object.assign(Object.create(Qh.prototype),{constructor:Jh,isPointLightShadow:!0,updateMatrices:function(e,t){void 0===t&&(t=0);var n=this.camera,r=this.matrix,i=this._lightPositionWorld,o=this._lookTarget,a=this._projScreenMatrix;i.setFromMatrixPosition(e.matrixWorld),n.position.copy(i),o.copy(n.position),o.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(o),n.updateMatrixWorld(),r.makeTranslation(-i.x,-i.y,-i.z),a.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(a)}}),$h.prototype=Object.assign(Object.create(Xh.prototype),{constructor:$h,isPointLight:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}),ed.prototype=Object.assign(Object.create(Do.prototype),{constructor:ed,isOrthographicCamera:!0,copy:function(e,t){return Do.prototype.copy.call(this,e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this},setViewOffset:function(e,t,n,r,i,o){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,o=n+e,a=r+t,s=r-t;if(null!==this.view&&this.view.enabled){var l=(this.right-this.left)/this.view.fullWidth/this.zoom,c=(this.top-this.bottom)/this.view.fullHeight/this.zoom;o=(i+=l*this.view.offsetX)+l*this.view.width,s=(a-=c*this.view.offsetY)-c*this.view.height}this.projectionMatrix.makeOrthographic(i,o,a,s,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()},toJSON:function(e){var t=si.prototype.toJSON.call(this,e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}),td.prototype=Object.assign(Object.create(Qh.prototype),{constructor:td,isDirectionalLightShadow:!0,updateMatrices:function(e){Qh.prototype.updateMatrices.call(this,e)}}),nd.prototype=Object.assign(Object.create(Xh.prototype),{constructor:nd,isDirectionalLight:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),rd.prototype=Object.assign(Object.create(Xh.prototype),{constructor:rd,isAmbientLight:!0}),id.prototype=Object.assign(Object.create(Xh.prototype),{constructor:id,isRectAreaLight:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.width=e.width,this.height=e.height,this},toJSON:function(e){var t=Xh.prototype.toJSON.call(this,e);return t.object.width=this.width,t.object.height=this.height,t}});var od=function(){function e(){Object.defineProperty(this,"isSphericalHarmonics3",{value:!0}),this.coefficients=[];for(var e=0;e<9;e++)this.coefficients.push(new lr)}var t=e.prototype;return t.set=function(e){for(var t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this},t.zero=function(){for(var e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this},t.getAt=function(e,t){var n=e.x,r=e.y,i=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.282095),t.addScaledVector(o[1],.488603*r),t.addScaledVector(o[2],.488603*i),t.addScaledVector(o[3],.488603*n),t.addScaledVector(o[4],n*r*1.092548),t.addScaledVector(o[5],r*i*1.092548),t.addScaledVector(o[6],.315392*(3*i*i-1)),t.addScaledVector(o[7],n*i*1.092548),t.addScaledVector(o[8],.546274*(n*n-r*r)),t},t.getIrradianceAt=function(e,t){var n=e.x,r=e.y,i=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.886227),t.addScaledVector(o[1],1.023328*r),t.addScaledVector(o[2],1.023328*i),t.addScaledVector(o[3],1.023328*n),t.addScaledVector(o[4],.858086*n*r),t.addScaledVector(o[5],.858086*r*i),t.addScaledVector(o[6],.743125*i*i-.247708),t.addScaledVector(o[7],.858086*n*i),t.addScaledVector(o[8],.429043*(n*n-r*r)),t},t.add=function(e){for(var t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this},t.addScaledSH=function(e,t){for(var n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this},t.scale=function(e){for(var t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this},t.lerp=function(e,t){for(var n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this},t.equals=function(e){for(var t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0},t.copy=function(e){return this.set(e.coefficients)},t.clone=function(){return(new this.constructor).copy(this)},t.fromArray=function(e,t){void 0===t&&(t=0);for(var n=this.coefficients,r=0;r<9;r++)n[r].fromArray(e,t+3*r);return this},t.toArray=function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);for(var n=this.coefficients,r=0;r<9;r++)n[r].toArray(e,t+3*r);return e},e.getBasisAt=function(e,t){var n=e.x,r=e.y,i=e.z;t[0]=.282095,t[1]=.488603*r,t[2]=.488603*i,t[3]=.488603*n,t[4]=1.092548*n*r,t[5]=1.092548*r*i,t[6]=.315392*(3*i*i-1),t[7]=1.092548*n*i,t[8]=.546274*(n*n-r*r)},e}();function ad(e,t){Xh.call(this,void 0,t),this.type="LightProbe",this.sh=void 0!==e?e:new od}function sd(e){lh.call(this,e),this.textures={}}ad.prototype=Object.assign(Object.create(Xh.prototype),{constructor:ad,isLightProbe:!0,copy:function(e){return Xh.prototype.copy.call(this,e),this.sh.copy(e.sh),this},fromJSON:function(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this},toJSON:function(e){var t=Xh.prototype.toJSON.call(this,e);return t.object.sh=this.sh.toArray(),t}}),sd.prototype=Object.assign(Object.create(lh.prototype),{constructor:sd,load:function(t,n,r,i){var o=this,a=new uh(o.manager);a.setPath(o.path),a.setRequestHeader(o.requestHeader),a.setWithCredentials(o.withCredentials),a.load(t,(function(r){try{n(o.parse(JSON.parse(r)))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)},parse:function(e){var t=this.textures;function n(e){return void 0===t[e]&&console.warn("THREE.MaterialLoader: Undefined texture",e),t[e]}var r=new zu[e.type];if(void 0!==e.uuid&&(r.uuid=e.uuid),void 0!==e.name&&(r.name=e.name),void 0!==e.color&&void 0!==r.color&&r.color.setHex(e.color),void 0!==e.roughness&&(r.roughness=e.roughness),void 0!==e.metalness&&(r.metalness=e.metalness),void 0!==e.sheen&&(r.sheen=(new Li).setHex(e.sheen)),void 0!==e.emissive&&void 0!==r.emissive&&r.emissive.setHex(e.emissive),void 0!==e.specular&&void 0!==r.specular&&r.specular.setHex(e.specular),void 0!==e.shininess&&(r.shininess=e.shininess),void 0!==e.clearcoat&&(r.clearcoat=e.clearcoat),void 0!==e.clearcoatRoughness&&(r.clearcoatRoughness=e.clearcoatRoughness),void 0!==e.fog&&(r.fog=e.fog),void 0!==e.flatShading&&(r.flatShading=e.flatShading),void 0!==e.blending&&(r.blending=e.blending),void 0!==e.combine&&(r.combine=e.combine),void 0!==e.side&&(r.side=e.side),void 0!==e.opacity&&(r.opacity=e.opacity),void 0!==e.transparent&&(r.transparent=e.transparent),void 0!==e.alphaTest&&(r.alphaTest=e.alphaTest),void 0!==e.depthTest&&(r.depthTest=e.depthTest),void 0!==e.depthWrite&&(r.depthWrite=e.depthWrite),void 0!==e.colorWrite&&(r.colorWrite=e.colorWrite),void 0!==e.stencilWrite&&(r.stencilWrite=e.stencilWrite),void 0!==e.stencilWriteMask&&(r.stencilWriteMask=e.stencilWriteMask),void 0!==e.stencilFunc&&(r.stencilFunc=e.stencilFunc),void 0!==e.stencilRef&&(r.stencilRef=e.stencilRef),void 0!==e.stencilFuncMask&&(r.stencilFuncMask=e.stencilFuncMask),void 0!==e.stencilFail&&(r.stencilFail=e.stencilFail),void 0!==e.stencilZFail&&(r.stencilZFail=e.stencilZFail),void 0!==e.stencilZPass&&(r.stencilZPass=e.stencilZPass),void 0!==e.wireframe&&(r.wireframe=e.wireframe),void 0!==e.wireframeLinewidth&&(r.wireframeLinewidth=e.wireframeLinewidth),void 0!==e.wireframeLinecap&&(r.wireframeLinecap=e.wireframeLinecap),void 0!==e.wireframeLinejoin&&(r.wireframeLinejoin=e.wireframeLinejoin),void 0!==e.rotation&&(r.rotation=e.rotation),1!==e.linewidth&&(r.linewidth=e.linewidth),void 0!==e.dashSize&&(r.dashSize=e.dashSize),void 0!==e.gapSize&&(r.gapSize=e.gapSize),void 0!==e.scale&&(r.scale=e.scale),void 0!==e.polygonOffset&&(r.polygonOffset=e.polygonOffset),void 0!==e.polygonOffsetFactor&&(r.polygonOffsetFactor=e.polygonOffsetFactor),void 0!==e.polygonOffsetUnits&&(r.polygonOffsetUnits=e.polygonOffsetUnits),void 0!==e.skinning&&(r.skinning=e.skinning),void 0!==e.morphTargets&&(r.morphTargets=e.morphTargets),void 0!==e.morphNormals&&(r.morphNormals=e.morphNormals),void 0!==e.dithering&&(r.dithering=e.dithering),void 0!==e.vertexTangents&&(r.vertexTangents=e.vertexTangents),void 0!==e.visible&&(r.visible=e.visible),void 0!==e.toneMapped&&(r.toneMapped=e.toneMapped),void 0!==e.userData&&(r.userData=e.userData),void 0!==e.vertexColors&&("number"===typeof e.vertexColors?r.vertexColors=e.vertexColors>0:r.vertexColors=e.vertexColors),void 0!==e.uniforms)for(var i in e.uniforms){var o=e.uniforms[i];switch(r.uniforms[i]={},o.type){case"t":r.uniforms[i].value=n(o.value);break;case"c":r.uniforms[i].value=(new Li).setHex(o.value);break;case"v2":r.uniforms[i].value=(new Jn).fromArray(o.value);break;case"v3":r.uniforms[i].value=(new lr).fromArray(o.value);break;case"v4":r.uniforms[i].value=(new ir).fromArray(o.value);break;case"m3":r.uniforms[i].value=(new $n).fromArray(o.value);break;case"m4":r.uniforms[i].value=(new Fr).fromArray(o.value);break;default:r.uniforms[i].value=o.value}}if(void 0!==e.defines&&(r.defines=e.defines),void 0!==e.vertexShader&&(r.vertexShader=e.vertexShader),void 0!==e.fragmentShader&&(r.fragmentShader=e.fragmentShader),void 0!==e.extensions)for(var a in e.extensions)r.extensions[a]=e.extensions[a];if(void 0!==e.shading&&(r.flatShading=1===e.shading),void 0!==e.size&&(r.size=e.size),void 0!==e.sizeAttenuation&&(r.sizeAttenuation=e.sizeAttenuation),void 0!==e.map&&(r.map=n(e.map)),void 0!==e.matcap&&(r.matcap=n(e.matcap)),void 0!==e.alphaMap&&(r.alphaMap=n(e.alphaMap)),void 0!==e.bumpMap&&(r.bumpMap=n(e.bumpMap)),void 0!==e.bumpScale&&(r.bumpScale=e.bumpScale),void 0!==e.normalMap&&(r.normalMap=n(e.normalMap)),void 0!==e.normalMapType&&(r.normalMapType=e.normalMapType),void 0!==e.normalScale){var s=e.normalScale;!1===Array.isArray(s)&&(s=[s,s]),r.normalScale=(new Jn).fromArray(s)}return void 0!==e.displacementMap&&(r.displacementMap=n(e.displacementMap)),void 0!==e.displacementScale&&(r.displacementScale=e.displacementScale),void 0!==e.displacementBias&&(r.displacementBias=e.displacementBias),void 0!==e.roughnessMap&&(r.roughnessMap=n(e.roughnessMap)),void 0!==e.metalnessMap&&(r.metalnessMap=n(e.metalnessMap)),void 0!==e.emissiveMap&&(r.emissiveMap=n(e.emissiveMap)),void 0!==e.emissiveIntensity&&(r.emissiveIntensity=e.emissiveIntensity),void 0!==e.specularMap&&(r.specularMap=n(e.specularMap)),void 0!==e.envMap&&(r.envMap=n(e.envMap)),void 0!==e.envMapIntensity&&(r.envMapIntensity=e.envMapIntensity),void 0!==e.reflectivity&&(r.reflectivity=e.reflectivity),void 0!==e.refractionRatio&&(r.refractionRatio=e.refractionRatio),void 0!==e.lightMap&&(r.lightMap=n(e.lightMap)),void 0!==e.lightMapIntensity&&(r.lightMapIntensity=e.lightMapIntensity),void 0!==e.aoMap&&(r.aoMap=n(e.aoMap)),void 0!==e.aoMapIntensity&&(r.aoMapIntensity=e.aoMapIntensity),void 0!==e.gradientMap&&(r.gradientMap=n(e.gradientMap)),void 0!==e.clearcoatMap&&(r.clearcoatMap=n(e.clearcoatMap)),void 0!==e.clearcoatRoughnessMap&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),void 0!==e.clearcoatNormalMap&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),void 0!==e.clearcoatNormalScale&&(r.clearcoatNormalScale=(new Jn).fromArray(e.clearcoatNormalScale)),void 0!==e.transmission&&(r.transmission=e.transmission),void 0!==e.transmissionMap&&(r.transmissionMap=n(e.transmissionMap)),r},setTextures:function(e){return this.textures=e,this}});var ld={decodeText:function(t){if("undefined"!==typeof TextDecoder)return(new TextDecoder).decode(t);for(var n="",r=0,i=t.length;r<i;r++)n+=String.fromCharCode(t[r]);try{return decodeURIComponent(escape(n))}catch(e){return n}},extractUrlBase:function(e){var t=e.lastIndexOf("/");return-1===t?"./":e.substr(0,t+1)}};function cd(){ro.call(this),this.type="InstancedBufferGeometry",this.instanceCount=1/0}function ud(e,t,n,r){"number"===typeof n&&(r=n,n=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),Fi.call(this,e,t,n),this.meshPerAttribute=r||1}function hd(e){lh.call(this,e)}cd.prototype=Object.assign(Object.create(ro.prototype),{constructor:cd,isInstancedBufferGeometry:!0,copy:function(e){return ro.prototype.copy.call(this,e),this.instanceCount=e.instanceCount,this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e=ro.prototype.toJSON.call(this);return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}),ud.prototype=Object.assign(Object.create(Fi.prototype),{constructor:ud,isInstancedBufferAttribute:!0,copy:function(e){return Fi.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this},toJSON:function(){var e=Fi.prototype.toJSON.call(this);return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}),hd.prototype=Object.assign(Object.create(lh.prototype),{constructor:hd,load:function(t,n,r,i){var o=this,a=new uh(o.manager);a.setPath(o.path),a.setRequestHeader(o.requestHeader),a.setWithCredentials(o.withCredentials),a.load(t,(function(r){try{n(o.parse(JSON.parse(r)))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)},parse:function(e){var t={},n={};function r(e,n){if(void 0!==t[n])return t[n];var r=e.interleavedBuffers[n],o=i(e,r.buffer),a=new yl(Qi(r.type,o),r.stride);return a.uuid=r.uuid,t[n]=a,a}function i(e,t){if(void 0!==n[t])return n[t];var r=e.arrayBuffers[t],i=new Uint32Array(r).buffer;return n[t]=i,i}var o=e.isInstancedBufferGeometry?new cd:new ro,a=e.data.index;if(void 0!==a){var s=Qi(a.type,a.array);o.setIndex(new Fi(s,1))}var l=e.data.attributes;for(var c in l){var u=l[c],h=void 0;if(u.isInterleavedBufferAttribute)h=new wl(r(e.data,u.data),u.itemSize,u.offset,u.normalized);else{var d=Qi(u.type,u.array);h=new(u.isInstancedBufferAttribute?ud:Fi)(d,u.itemSize,u.normalized)}void 0!==u.name&&(h.name=u.name),o.setAttribute(c,h)}var p=e.data.morphAttributes;if(p)for(var f in p){for(var m=p[f],v=[],g=0,y=m.length;g<y;g++){var b=m[g],A=void 0;A=b.isInterleavedBufferAttribute?new wl(r(e.data,b.data),b.itemSize,b.offset,b.normalized):new Fi(Qi(b.type,b.array),b.itemSize,b.normalized),void 0!==b.name&&(A.name=b.name),v.push(A)}o.morphAttributes[f]=v}e.data.morphTargetsRelative&&(o.morphTargetsRelative=!0);var w=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==w)for(var x=0,E=w.length;x!==E;++x){var M=w[x];o.addGroup(M.start,M.count,M.materialIndex)}var _=e.data.boundingSphere;if(void 0!==_){var T=new lr;void 0!==_.center&&T.fromArray(_.center),o.boundingSphere=new Sr(T,_.radius)}return e.name&&(o.name=e.name),e.userData&&(o.userData=e.userData),o}});var dd=function(e){function t(t){return e.call(this,t)||this}Gn(t,e);var n=t.prototype;return n.load=function(e,t,n,r){var i=this,o=""===this.path?ld.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||o;var a=new uh(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,(function(n){var o=null;try{o=JSON.parse(n)}catch(s){return void 0!==r&&r(s),void console.error("THREE:ObjectLoader: Can't parse "+e+".",s.message)}var a=o.metadata;void 0!==a&&void 0!==a.type&&"geometry"!==a.type.toLowerCase()?i.parse(o,t):console.error("THREE.ObjectLoader: Can't load "+e)}),n,r)},n.parse=function(e,t){var n=this.parseAnimations(e.animations),r=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,r),o=this.parseImages(e.images,(function(){void 0!==t&&t(l)})),a=this.parseTextures(e.textures,o),s=this.parseMaterials(e.materials,a),l=this.parseObject(e.object,i,s,n),c=this.parseSkeletons(e.skeletons,l);if(this.bindSkeletons(l,c),void 0!==t){var u=!1;for(var h in o)if(o[h]instanceof HTMLImageElement){u=!0;break}!1===u&&t(l)}return l},n.parseShapes=function(e){var t={};if(void 0!==e)for(var n=0,r=e.length;n<r;n++){var i=(new qh).fromJSON(e[n]);t[i.uuid]=i}return t},n.parseSkeletons=function(e,t){var n={},r={};if(t.traverse((function(e){e.isBone&&(r[e.uuid]=e)})),void 0!==e)for(var i=0,o=e.length;i<o;i++){var a=(new Ql).fromJSON(e[i],r);n[a.uuid]=a}return n},n.parseGeometries=function(e,t){var n,r={};if(void 0!==e)for(var i=new hd,o=0,a=e.length;o<a;o++){var s=void 0,l=e[o];switch(l.type){case"PlaneGeometry":case"PlaneBufferGeometry":s=new Pu[l.type](l.width,l.height,l.widthSegments,l.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":s=new Pu[l.type](l.width,l.height,l.depth,l.widthSegments,l.heightSegments,l.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":s=new Pu[l.type](l.radius,l.segments,l.thetaStart,l.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":s=new Pu[l.type](l.radiusTop,l.radiusBottom,l.height,l.radialSegments,l.heightSegments,l.openEnded,l.thetaStart,l.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":s=new Pu[l.type](l.radius,l.height,l.radialSegments,l.heightSegments,l.openEnded,l.thetaStart,l.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":s=new Pu[l.type](l.radius,l.widthSegments,l.heightSegments,l.phiStart,l.phiLength,l.thetaStart,l.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":s=new Pu[l.type](l.radius,l.detail);break;case"RingGeometry":case"RingBufferGeometry":s=new Pu[l.type](l.innerRadius,l.outerRadius,l.thetaSegments,l.phiSegments,l.thetaStart,l.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":s=new Pu[l.type](l.radius,l.tube,l.radialSegments,l.tubularSegments,l.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":s=new Pu[l.type](l.radius,l.tube,l.tubularSegments,l.radialSegments,l.p,l.q);break;case"TubeGeometry":case"TubeBufferGeometry":s=new Pu[l.type]((new jh[l.path.type]).fromJSON(l.path),l.tubularSegments,l.radius,l.radialSegments,l.closed);break;case"LatheGeometry":case"LatheBufferGeometry":s=new Pu[l.type](l.points,l.segments,l.phiStart,l.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":s=new Pu[l.type](l.vertices,l.indices,l.radius,l.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":n=[];for(var c=0,u=l.shapes.length;c<u;c++){var h=t[l.shapes[c]];n.push(h)}s=new Pu[l.type](n,l.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":n=[];for(var d=0,p=l.shapes.length;d<p;d++){var f=t[l.shapes[d]];n.push(f)}var m=l.options.extrudePath;void 0!==m&&(l.options.extrudePath=(new jh[m.type]).fromJSON(m)),s=new Pu[l.type](n,l.options);break;case"BufferGeometry":case"InstancedBufferGeometry":s=i.parse(l);break;case"Geometry":"THREE"in window&&"LegacyJSONLoader"in THREE?s=(new THREE.LegacyJSONLoader).parse(l,this.resourcePath).geometry:console.error('THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+l.type+'"');continue}s.uuid=l.uuid,void 0!==l.name&&(s.name=l.name),!0===s.isBufferGeometry&&void 0!==l.userData&&(s.userData=l.userData),r[l.uuid]=s}return r},n.parseMaterials=function(e,t){var n={},r={};if(void 0!==e){var i=new sd;i.setTextures(t);for(var o=0,a=e.length;o<a;o++){var s=e[o];if("MultiMaterial"===s.type){for(var l=[],c=0;c<s.materials.length;c++){var u=s.materials[c];void 0===n[u.uuid]&&(n[u.uuid]=i.parse(u)),l.push(n[u.uuid])}r[s.uuid]=l}else void 0===n[s.uuid]&&(n[s.uuid]=i.parse(s)),r[s.uuid]=n[s.uuid]}}return r},n.parseAnimations=function(e){var t={};if(void 0!==e)for(var n=0;n<e.length;n++){var r=e[n],i=nh.parse(r);t[i.uuid]=i}return t},n.parseImages=function(e,t){var n,r=this,i={};function o(e){return r.manager.itemStart(e),n.load(e,(function(){r.manager.itemEnd(e)}),void 0,(function(){r.manager.itemError(e),r.manager.itemEnd(e)}))}function a(e){if("string"===typeof e){var t=e;return o(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:r.resourcePath+t)}return e.data?{data:Qi(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){var s=new ah(t);(n=new ph(s)).setCrossOrigin(this.crossOrigin);for(var l=0,c=e.length;l<c;l++){var u=e[l],h=u.url;if(Array.isArray(h)){i[u.uuid]=[];for(var d=0,p=h.length;d<p;d++){var f=a(h[d]);null!==f&&(f instanceof HTMLImageElement?i[u.uuid].push(f):i[u.uuid].push(new Uo(f.data,f.width,f.height)))}}else{var m=a(u.url);null!==m&&(i[u.uuid]=m)}}}return i},n.parseTextures=function(e,t){function n(e,t){return"number"===typeof e?e:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",e),t[e])}var r={};if(void 0!==e)for(var i=0,o=e.length;i<o;i++){var a=e[i];void 0===a.image&&console.warn('THREE.ObjectLoader: No "image" specified for',a.uuid),void 0===t[a.image]&&console.warn("THREE.ObjectLoader: Undefined image",a.image);var s=void 0,l=t[a.image];Array.isArray(l)?(s=new ko(l),6===l.length&&(s.needsUpdate=!0)):(s=l&&l.data?new Uo(l.data,l.width,l.height):new nr(l),l&&(s.needsUpdate=!0)),s.uuid=a.uuid,void 0!==a.name&&(s.name=a.name),void 0!==a.mapping&&(s.mapping=n(a.mapping,pd)),void 0!==a.offset&&s.offset.fromArray(a.offset),void 0!==a.repeat&&s.repeat.fromArray(a.repeat),void 0!==a.center&&s.center.fromArray(a.center),void 0!==a.rotation&&(s.rotation=a.rotation),void 0!==a.wrap&&(s.wrapS=n(a.wrap[0],fd),s.wrapT=n(a.wrap[1],fd)),void 0!==a.format&&(s.format=a.format),void 0!==a.type&&(s.type=a.type),void 0!==a.encoding&&(s.encoding=a.encoding),void 0!==a.minFilter&&(s.minFilter=n(a.minFilter,md)),void 0!==a.magFilter&&(s.magFilter=n(a.magFilter,md)),void 0!==a.anisotropy&&(s.anisotropy=a.anisotropy),void 0!==a.flipY&&(s.flipY=a.flipY),void 0!==a.premultiplyAlpha&&(s.premultiplyAlpha=a.premultiplyAlpha),void 0!==a.unpackAlignment&&(s.unpackAlignment=a.unpackAlignment),r[a.uuid]=s}return r},n.parseObject=function(e,t,n,r){var i,o,a;function s(e){return void 0===t[e]&&console.warn("THREE.ObjectLoader: Undefined geometry",e),t[e]}function l(e){if(void 0!==e){if(Array.isArray(e)){for(var t=[],r=0,i=e.length;r<i;r++){var o=e[r];void 0===n[o]&&console.warn("THREE.ObjectLoader: Undefined material",o),t.push(n[o])}return t}return void 0===n[e]&&console.warn("THREE.ObjectLoader: Undefined material",e),n[e]}}switch(e.type){case"Scene":i=new gl,void 0!==e.background&&Number.isInteger(e.background)&&(i.background=new Li(e.background)),void 0!==e.fog&&("Fog"===e.fog.type?i.fog=new vl(e.fog.color,e.fog.near,e.fog.far):"FogExp2"===e.fog.type&&(i.fog=new ml(e.fog.color,e.fog.density)));break;case"PerspectiveCamera":i=new Oo(e.fov,e.aspect,e.near,e.far),void 0!==e.focus&&(i.focus=e.focus),void 0!==e.zoom&&(i.zoom=e.zoom),void 0!==e.filmGauge&&(i.filmGauge=e.filmGauge),void 0!==e.filmOffset&&(i.filmOffset=e.filmOffset),void 0!==e.view&&(i.view=Object.assign({},e.view));break;case"OrthographicCamera":i=new ed(e.left,e.right,e.top,e.bottom,e.near,e.far),void 0!==e.zoom&&(i.zoom=e.zoom),void 0!==e.view&&(i.view=Object.assign({},e.view));break;case"AmbientLight":i=new rd(e.color,e.intensity);break;case"DirectionalLight":i=new nd(e.color,e.intensity);break;case"PointLight":i=new $h(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":i=new id(e.color,e.intensity,e.width,e.height);break;case"SpotLight":i=new Kh(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":i=new Yh(e.color,e.groundColor,e.intensity);break;case"LightProbe":i=(new ad).fromJSON(e);break;case"SkinnedMesh":i=new Wl(o=s(e.geometry),a=l(e.material)),void 0!==e.bindMode&&(i.bindMode=e.bindMode),void 0!==e.bindMatrix&&i.bindMatrix.fromArray(e.bindMatrix),void 0!==e.skeleton&&(i.skeleton=e.skeleton);break;case"Mesh":i=new xo(o=s(e.geometry),a=l(e.material));break;case"InstancedMesh":o=s(e.geometry),a=l(e.material);var c=e.count,u=e.instanceMatrix;(i=new ec(o,a,c)).instanceMatrix=new Fi(new Float32Array(u.array),16);break;case"LOD":i=new Ul;break;case"Line":i=new sc(s(e.geometry),l(e.material));break;case"LineLoop":i=new hc(s(e.geometry),l(e.material));break;case"LineSegments":i=new uc(s(e.geometry),l(e.material));break;case"PointCloud":case"Points":i=new gc(s(e.geometry),l(e.material));break;case"Sprite":i=new Bl(l(e.material));break;case"Group":i=new rl;break;case"Bone":i=new ql;break;default:i=new si}if(i.uuid=e.uuid,void 0!==e.name&&(i.name=e.name),void 0!==e.matrix?(i.matrix.fromArray(e.matrix),void 0!==e.matrixAutoUpdate&&(i.matrixAutoUpdate=e.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==e.position&&i.position.fromArray(e.position),void 0!==e.rotation&&i.rotation.fromArray(e.rotation),void 0!==e.quaternion&&i.quaternion.fromArray(e.quaternion),void 0!==e.scale&&i.scale.fromArray(e.scale)),void 0!==e.castShadow&&(i.castShadow=e.castShadow),void 0!==e.receiveShadow&&(i.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(i.shadow.bias=e.shadow.bias),void 0!==e.shadow.normalBias&&(i.shadow.normalBias=e.shadow.normalBias),void 0!==e.shadow.radius&&(i.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&i.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(i.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(i.visible=e.visible),void 0!==e.frustumCulled&&(i.frustumCulled=e.frustumCulled),void 0!==e.renderOrder&&(i.renderOrder=e.renderOrder),void 0!==e.userData&&(i.userData=e.userData),void 0!==e.layers&&(i.layers.mask=e.layers),void 0!==e.children)for(var h=e.children,d=0;d<h.length;d++)i.add(this.parseObject(h[d],t,n,r));if(void 0!==e.animations)for(var p=e.animations,f=0;f<p.length;f++){var m=p[f];i.animations.push(r[m])}if("LOD"===e.type){void 0!==e.autoUpdate&&(i.autoUpdate=e.autoUpdate);for(var v=e.levels,g=0;g<v.length;g++){var y=v[g],b=i.getObjectByProperty("uuid",y.object);void 0!==b&&i.addLevel(b,y.distance)}}return i},n.bindSkeletons=function(e,t){0!==Object.keys(t).length&&e.traverse((function(e){if(!0===e.isSkinnedMesh&&void 0!==e.skeleton){var n=t[e.skeleton];void 0===n?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",e.skeleton):e.bind(n,e.bindMatrix)}}))},n.setTexturePath=function(e){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(e)},t}(lh),pd={UVMapping:oe,CubeReflectionMapping:ae,CubeRefractionMapping:se,EquirectangularReflectionMapping:le,EquirectangularRefractionMapping:ce,CubeUVReflectionMapping:ue,CubeUVRefractionMapping:he},fd={RepeatWrapping:de,ClampToEdgeWrapping:pe,MirroredRepeatWrapping:fe},md={NearestFilter:me,NearestMipmapNearestFilter:ve,NearestMipmapLinearFilter:ye,LinearFilter:Ae,LinearMipmapNearestFilter:we,LinearMipmapLinearFilter:Ee};function vd(e){"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),lh.call(this,e),this.options={premultiplyAlpha:"none"}}function gd(){this.type="ShapePath",this.color=new Li,this.subPaths=[],this.currentPath=null}vd.prototype=Object.assign(Object.create(lh.prototype),{constructor:vd,isImageBitmapLoader:!0,setOptions:function(e){return this.options=e,this},load:function(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var i=this,o=oh.get(e);if(void 0!==o)return i.manager.itemStart(e),setTimeout((function(){t&&t(o),i.manager.itemEnd(e)}),0),o;var a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",fetch(e,a).then((function(e){return e.blob()})).then((function(e){return createImageBitmap(e,i.options)})).then((function(n){oh.add(e,n),t&&t(n),i.manager.itemEnd(e)})).catch((function(t){r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)})),i.manager.itemStart(e)}}),Object.assign(gd.prototype,{moveTo:function(e,t){return this.currentPath=new Wh,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this},lineTo:function(e,t){return this.currentPath.lineTo(e,t),this},quadraticCurveTo:function(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this},bezierCurveTo:function(e,t,n,r,i,o){return this.currentPath.bezierCurveTo(e,t,n,r,i,o),this},splineThru:function(e){return this.currentPath.splineThru(e),this},toShapes:function(e,t){function n(e){for(var t=[],n=0,r=e.length;n<r;n++){var i=e[n],o=new qh;o.curves=i.curves,t.push(o)}return t}function r(e,t){for(var n=t.length,r=!1,i=n-1,o=0;o<n;i=o++){var a=t[i],s=t[o],l=s.x-a.x,c=s.y-a.y;if(Math.abs(c)>Number.EPSILON){if(c<0&&(a=t[o],l=-l,s=t[i],c=-c),e.y<a.y||e.y>s.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var u=c*(e.x-a.x)-l*(e.y-a.y);if(0===u)return!0;if(u<0)continue;r=!r}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return r}var i,o,a,s=hu.isClockWise,l=this.subPaths;if(0===l.length)return[];if(!0===t)return n(l);var c=[];if(1===l.length)return o=l[0],(a=new qh).curves=o.curves,c.push(a),c;var u=!s(l[0].getPoints());u=e?!u:u;var h,d,p=[],f=[],m=[],v=0;f[v]=void 0,m[v]=[];for(var g=0,y=l.length;g<y;g++)i=s(h=(o=l[g]).getPoints()),(i=e?!i:i)?(!u&&f[v]&&v++,f[v]={s:new qh,p:h},f[v].s.curves=o.curves,u&&v++,m[v]=[]):m[v].push({h:o,p:h[0]});if(!f[0])return n(l);if(f.length>1){for(var b=!1,A=[],w=0,x=f.length;w<x;w++)p[w]=[];for(var E=0,M=f.length;E<M;E++)for(var _=m[E],T=0;T<_.length;T++){for(var S=_[T],C=!0,L=0;L<f.length;L++)r(S.p,f[L].p)&&(E!==L&&A.push({froms:E,tos:L,hole:T}),C?(C=!1,p[L].push(S)):b=!0);C&&p[E].push(S)}A.length>0&&(b||(m=p))}for(var R=0,P=f.length;R<P;R++){a=f[R].s,c.push(a);for(var D=0,O=(d=m[R]).length;D<O;D++)a.holes.push(d[D].h)}return c}});var yd,bd=function(){function e(e){Object.defineProperty(this,"isFont",{value:!0}),this.type="Font",this.data=e}return e.prototype.generateShapes=function(e,t){void 0===t&&(t=100);for(var n=[],r=Ad(e,t,this.data),i=0,o=r.length;i<o;i++)Array.prototype.push.apply(n,r[i].toShapes());return n},e}();function Ad(e,t,n){for(var r=Array.from?Array.from(e):String(e).split(""),i=t/n.resolution,o=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*i,a=[],s=0,l=0,c=0;c<r.length;c++){var u=r[c];if("\n"===u)s=0,l-=o;else{var h=wd(u,i,s,l,n);s+=h.offsetX,a.push(h.path)}}return a}function wd(e,t,n,r,i){var o=i.glyphs[e]||i.glyphs["?"];if(o){var a,s,l,c,u,h,d,p,f=new gd;if(o.o)for(var m=o._cachedOutline||(o._cachedOutline=o.o.split(" ")),v=0,g=m.length;v<g;)switch(m[v++]){case"m":a=m[v++]*t+n,s=m[v++]*t+r,f.moveTo(a,s);break;case"l":a=m[v++]*t+n,s=m[v++]*t+r,f.lineTo(a,s);break;case"q":l=m[v++]*t+n,c=m[v++]*t+r,u=m[v++]*t+n,h=m[v++]*t+r,f.quadraticCurveTo(u,h,l,c);break;case"b":l=m[v++]*t+n,c=m[v++]*t+r,u=m[v++]*t+n,h=m[v++]*t+r,d=m[v++]*t+n,p=m[v++]*t+r,f.bezierCurveTo(u,h,d,p,l,c)}return{offsetX:o.ha*t,path:f}}console.error('THREE.Font: character "'+e+'" does not exists in font family '+i.familyName+".")}function xd(e){lh.call(this,e)}xd.prototype=Object.assign(Object.create(lh.prototype),{constructor:xd,load:function(t,n,r,i){var o=this,a=new uh(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(o.withCredentials),a.load(t,(function(t){var r;try{r=JSON.parse(t)}catch(e){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),r=JSON.parse(t.substring(65,t.length-2))}var i=o.parse(r);n&&n(i)}),r,i)},parse:function(e){return new bd(e)}});var Ed={getContext:function(){return void 0===yd&&(yd=new(window.AudioContext||window.webkitAudioContext)),yd},setContext:function(e){yd=e}};function Md(e){lh.call(this,e)}function _d(e,t,n){ad.call(this,void 0,n);var r=(new Li).set(e),i=(new Li).set(t),o=new lr(r.r,r.g,r.b),a=new lr(i.r,i.g,i.b),s=Math.sqrt(Math.PI),l=s*Math.sqrt(.75);this.sh.coefficients[0].copy(o).add(a).multiplyScalar(s),this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(l)}function Td(e,t){ad.call(this,void 0,t);var n=(new Li).set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}Md.prototype=Object.assign(Object.create(lh.prototype),{constructor:Md,load:function(t,n,r,i){var o=this,a=new uh(o.manager);a.setResponseType("arraybuffer"),a.setPath(o.path),a.setRequestHeader(o.requestHeader),a.setWithCredentials(o.withCredentials),a.load(t,(function(r){try{var a=r.slice(0);Ed.getContext().decodeAudioData(a,(function(e){n(e)}))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)}}),_d.prototype=Object.assign(Object.create(ad.prototype),{constructor:_d,isHemisphereLightProbe:!0,copy:function(e){return ad.prototype.copy.call(this,e),this},toJSON:function(e){return ad.prototype.toJSON.call(this,e)}}),Td.prototype=Object.assign(Object.create(ad.prototype),{constructor:Td,isAmbientLightProbe:!0,copy:function(e){return ad.prototype.copy.call(this,e),this},toJSON:function(e){return ad.prototype.toJSON.call(this,e)}});var Sd=new Fr,Cd=new Fr;function Ld(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Oo,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Oo,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}Object.assign(Ld.prototype,{update:function(e){var t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep;var n,r,i=e.projectionMatrix.clone(),o=t.eyeSep/2,a=o*t.near/t.focus,s=t.near*Math.tan(Kn.DEG2RAD*t.fov*.5)/t.zoom;Cd.elements[12]=-o,Sd.elements[12]=o,n=-s*t.aspect+a,r=s*t.aspect+a,i.elements[0]=2*t.near/(r-n),i.elements[8]=(r+n)/(r-n),this.cameraL.projectionMatrix.copy(i),n=-s*t.aspect-a,r=s*t.aspect-a,i.elements[0]=2*t.near/(r-n),i.elements[8]=(r+n)/(r-n),this.cameraR.projectionMatrix.copy(i)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Cd),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Sd)}});var Rd=function(){function e(e){this.autoStart=void 0===e||e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}var t=e.prototype;return t.start=function(){this.startTime=Pd(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},t.stop=function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1},t.getElapsedTime=function(){return this.getDelta(),this.elapsedTime},t.getDelta=function(){var e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var t=Pd();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e},e}();function Pd(){return("undefined"===typeof performance?Date:performance).now()}var Dd=new lr,Od=new sr,Id=new lr,Bd=new lr,Fd=function(e){function t(){var t;return(t=e.call(this)||this).type="AudioListener",t.context=Ed.getContext(),t.gain=t.context.createGain(),t.gain.connect(t.context.destination),t.filter=null,t.timeDelta=0,t._clock=new Rd,t}Gn(t,e);var n=t.prototype;return n.getInput=function(){return this.gain},n.removeFilter=function(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this},n.getFilter=function(){return this.filter},n.setFilter=function(e){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},n.getMasterVolume=function(){return this.gain.gain.value},n.setMasterVolume=function(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this},n.updateMatrixWorld=function(t){e.prototype.updateMatrixWorld.call(this,t);var n=this.context.listener,r=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Dd,Od,Id),Bd.set(0,0,-1).applyQuaternion(Od),n.positionX){var i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(Dd.x,i),n.positionY.linearRampToValueAtTime(Dd.y,i),n.positionZ.linearRampToValueAtTime(Dd.z,i),n.forwardX.linearRampToValueAtTime(Bd.x,i),n.forwardY.linearRampToValueAtTime(Bd.y,i),n.forwardZ.linearRampToValueAtTime(Bd.z,i),n.upX.linearRampToValueAtTime(r.x,i),n.upY.linearRampToValueAtTime(r.y,i),n.upZ.linearRampToValueAtTime(r.z,i)}else n.setPosition(Dd.x,Dd.y,Dd.z),n.setOrientation(Bd.x,Bd.y,Bd.z,r.x,r.y,r.z)},t}(si),kd=function(e){function t(t){var n;return(n=e.call(this)||this).type="Audio",n.listener=t,n.context=t.context,n.gain=n.context.createGain(),n.gain.connect(t.getInput()),n.autoplay=!1,n.buffer=null,n.detune=0,n.loop=!1,n.loopStart=0,n.loopEnd=0,n.offset=0,n.duration=void 0,n.playbackRate=1,n.isPlaying=!1,n.hasPlaybackControl=!0,n.source=null,n.sourceType="empty",n._startedAt=0,n._progress=0,n._connected=!1,n.filters=[],n}Gn(t,e);var n=t.prototype;return n.getOutput=function(){return this.gain},n.setNodeSource=function(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this},n.setMediaElementSource=function(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this},n.setMediaStreamSource=function(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this},n.setBuffer=function(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this},n.play=function(e){if(void 0===e&&(e=0),!0!==this.isPlaying){if(!1!==this.hasPlaybackControl){this._startedAt=this.context.currentTime+e;var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}console.warn("THREE.Audio: this Audio has no playback control.")}else console.warn("THREE.Audio: Audio is already playing.")},n.pause=function(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")},n.stop=function(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")},n.connect=function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this},n.disconnect=function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this},n.getFilters=function(){return this.filters},n.setFilters=function(e){return e||(e=[]),!0===this._connected?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this},n.setDetune=function(e){if(this.detune=e,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this},n.getDetune=function(){return this.detune},n.getFilter=function(){return this.getFilters()[0]},n.setFilter=function(e){return this.setFilters(e?[e]:[])},n.setPlaybackRate=function(e){if(!1!==this.hasPlaybackControl)return this.playbackRate=e,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")},n.getPlaybackRate=function(){return this.playbackRate},n.onEnded=function(){this.isPlaying=!1},n.getLoop=function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},n.setLoop=function(e){if(!1!==this.hasPlaybackControl)return this.loop=e,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")},n.setLoopStart=function(e){return this.loopStart=e,this},n.setLoopEnd=function(e){return this.loopEnd=e,this},n.getVolume=function(){return this.gain.gain.value},n.setVolume=function(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this},t}(si),Nd=new lr,Ud=new sr,Hd=new lr,Gd=new lr,zd=function(e){function t(t){var n;return(n=e.call(this,t)||this).panner=n.context.createPanner(),n.panner.panningModel="HRTF",n.panner.connect(n.gain),n}Gn(t,e);var n=t.prototype;return n.getOutput=function(){return this.panner},n.getRefDistance=function(){return this.panner.refDistance},n.setRefDistance=function(e){return this.panner.refDistance=e,this},n.getRolloffFactor=function(){return this.panner.rolloffFactor},n.setRolloffFactor=function(e){return this.panner.rolloffFactor=e,this},n.getDistanceModel=function(){return this.panner.distanceModel},n.setDistanceModel=function(e){return this.panner.distanceModel=e,this},n.getMaxDistance=function(){return this.panner.maxDistance},n.setMaxDistance=function(e){return this.panner.maxDistance=e,this},n.setDirectionalCone=function(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this},n.updateMatrixWorld=function(t){if(e.prototype.updateMatrixWorld.call(this,t),!0!==this.hasPlaybackControl||!1!==this.isPlaying){this.matrixWorld.decompose(Nd,Ud,Hd),Gd.set(0,0,1).applyQuaternion(Ud);var n=this.panner;if(n.positionX){var r=this.context.currentTime+this.listener.timeDelta;n.positionX.linearRampToValueAtTime(Nd.x,r),n.positionY.linearRampToValueAtTime(Nd.y,r),n.positionZ.linearRampToValueAtTime(Nd.z,r),n.orientationX.linearRampToValueAtTime(Gd.x,r),n.orientationY.linearRampToValueAtTime(Gd.y,r),n.orientationZ.linearRampToValueAtTime(Gd.z,r)}else n.setPosition(Nd.x,Nd.y,Nd.z),n.setOrientation(Gd.x,Gd.y,Gd.z)}},t}(kd),jd=function(){function e(e,t){void 0===t&&(t=2048),this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}var t=e.prototype;return t.getFrequencyData=function(){return this.analyser.getByteFrequencyData(this.data),this.data},t.getAverageFrequency=function(){for(var e=0,t=this.getFrequencyData(),n=0;n<t.length;n++)e+=t[n];return e/t.length},e}();function Vd(e,t,n){var r,i,o;switch(this.binding=e,this.valueSize=n,t){case"quaternion":r=this._slerp,i=this._slerpAdditive,o=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":r=this._select,i=this._select,o=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:r=this._lerp,i=this._lerpAdditive,o=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r,this._mixBufferRegionAdditive=i,this._setIdentity=o,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}Object.assign(Vd.prototype,{accumulate:function(e,t){var n=this.buffer,r=this.valueSize,i=e*r+r,o=this.cumulativeWeight;if(0===o){for(var a=0;a!==r;++a)n[i+a]=n[a];o=t}else{var s=t/(o+=t);this._mixBufferRegion(n,i,0,s,r)}this.cumulativeWeight=o},accumulateAdditive:function(e){var t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(t,r,0,e,n),this.cumulativeWeightAdditive+=e},apply:function(e){var t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,o=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){var s=t*this._origIndex;this._mixBufferRegion(n,r,s,1-i,t)}o>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(var l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){a.setValue(n,r);break}},saveOriginalState:function(){var e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(var i=n,o=r;i!==o;++i)t[i]=t[r+i%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0},restoreOriginalState:function(){var e=3*this.valueSize;this.binding.setValue(this.buffer,e)},_setAdditiveIdentityNumeric:function(){for(var e=this._addIndex*this.valueSize,t=e+this.valueSize,n=e;n<t;n++)this.buffer[n]=0},_setAdditiveIdentityQuaternion:function(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1},_setAdditiveIdentityOther:function(){for(var e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize,n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]},_select:function(e,t,n,r,i){if(r>=.5)for(var o=0;o!==i;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,r){sr.slerpFlat(e,t,e,t,e,n,r)},_slerpAdditive:function(e,t,n,r,i){var o=this._workIndex*i;sr.multiplyQuaternionsFlat(e,o,e,t,e,n),sr.slerpFlat(e,t,e,t,e,o,r)},_lerp:function(e,t,n,r,i){for(var o=1-r,a=0;a!==i;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*r}},_lerpAdditive:function(e,t,n,r,i){for(var o=0;o!==i;++o){var a=t+o;e[a]=e[a]+e[n+o]*r}}});var Wd="\\[\\]\\.:\\/",qd=new RegExp("["+Wd+"]","g"),Xd="[^"+Wd+"]",Yd="[^"+Wd.replace("\\.","")+"]",Qd=/((?:WC+[\/:])*)/.source.replace("WC",Xd),Zd=/(WCOD+)?/.source.replace("WCOD",Yd),Kd=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Xd),Jd=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Xd),$d=new RegExp("^"+Qd+Zd+Kd+Jd+"$"),ep=["material","materials","bones"];function tp(e,t,n){var r=n||np.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}function np(e,t,n){this.path=t,this.parsedPath=n||np.parseTrackName(t),this.node=np.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e}function rp(){this.uuid=Kn.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var e={};this._indicesByUUID=e;for(var t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var r=this;this.stats={objects:{get total(){return r._objects.length},get inUse(){return this.total-r.nCachedObjects_}},get bindingsPerObject(){return r._bindings.length}}}Object.assign(tp.prototype,{getValue:function(e,t){this.bind();var n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)},setValue:function(e,t){for(var n=this._bindings,r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)},bind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()},unbind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}),Object.assign(np,{Composite:tp,create:function(e,t,n){return e&&e.isAnimationObjectGroup?new np.Composite(e,t,n):new np(e,t,n)},sanitizeNodeName:function(e){return e.replace(/\s/g,"_").replace(qd,"")},parseTrackName:function(e){var t=$d.exec(e);if(!t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);var n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){var i=n.nodeName.substring(r+1);-1!==ep.indexOf(i)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=i)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n},findNode:function(e,t){if(!t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){var n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){var r=function e(n){for(var r=0;r<n.length;r++){var i=n[r];if(i.name===t||i.uuid===t)return i;var o=e(i.children);if(o)return o}return null}(e.children);if(r)return r}return null}}),Object.assign(np.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(e,t){e[t]=this.node[this.propertyName]},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)e[t++]=n[r]},function(e,t){e[t]=this.resolvedProperty[this.propertyIndex]},function(e,t){this.resolvedProperty.toArray(e,t)}],SetterByBindingTypeAndVersioning:[[function(e,t){this.targetObject[this.propertyName]=e[t]},function(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++]},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty[this.propertyIndex]=e[t]},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty.fromArray(e,t)},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,r=t.propertyName,i=t.propertyIndex;if(e||(e=np.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,e){if(n){var o=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(var a=0;a<e.length;a++)if(e[a].name===o){o=a;break}break;default:if(void 0===e[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[n]}if(void 0!==o){if(void 0===e[o])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[o]}}var s=e[r];if(void 0!==s){var l=this.Versioning.None;this.targetObject=e,void 0!==e.needsUpdate?l=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(l=this.Versioning.MatrixWorldNeedsUpdate);var c=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===r){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!e.geometry.isBufferGeometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.",this);if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}c=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=i}else void 0!==s.fromArray&&void 0!==s.toArray?(c=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(c=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=r;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][l]}else{var u=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+u+"."+r+" but it wasn't found.",e)}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(np.prototype,{_getValue_unbound:np.prototype.getValue,_setValue_unbound:np.prototype.setValue}),Object.assign(rp.prototype,{isAnimationObjectGroup:!0,add:function(){for(var e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,o=i.length,a=void 0,s=e.length,l=this.nCachedObjects_,c=0,u=arguments.length;c!==u;++c){var h=arguments[c],d=h.uuid,p=t[d];if(void 0===p){p=s++,t[d]=p,e.push(h);for(var f=0,m=o;f!==m;++f)i[f].push(new np(h,n[f],r[f]))}else if(p<l){a=e[p];var v=--l,g=e[v];t[g.uuid]=p,e[p]=g,t[d]=v,e[v]=h;for(var y=0,b=o;y!==b;++y){var A=i[y],w=A[v],x=A[p];A[p]=w,void 0===x&&(x=new np(h,n[y],r[y])),A[v]=x}}else e[p]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l},remove:function(){for(var e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_,o=0,a=arguments.length;o!==a;++o){var s=arguments[o],l=s.uuid,c=t[l];if(void 0!==c&&c>=i){var u=i++,h=e[u];t[h.uuid]=c,e[c]=h,t[l]=u,e[u]=s;for(var d=0,p=r;d!==p;++d){var f=n[d],m=f[u],v=f[c];f[c]=m,f[u]=v}}}this.nCachedObjects_=i},uncache:function(){for(var e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,i=this.nCachedObjects_,o=e.length,a=0,s=arguments.length;a!==s;++a){var l=arguments[a].uuid,c=t[l];if(void 0!==c)if(delete t[l],c<i){var u=--i,h=e[u],d=--o,p=e[d];t[h.uuid]=c,e[c]=h,t[p.uuid]=u,e[u]=p,e.pop();for(var f=0,m=r;f!==m;++f){var v=n[f],g=v[u],y=v[d];v[c]=g,v[u]=y,v.pop()}}else{var b=--o,A=e[b];b>0&&(t[A.uuid]=c),e[c]=A,e.pop();for(var w=0,x=r;w!==x;++w){var E=n[w];E[c]=E[b],E.pop()}}}this.nCachedObjects_=i},subscribe_:function(e,t){var n=this._bindingsIndicesByPath,r=n[e],i=this._bindings;if(void 0!==r)return i[r];var o=this._paths,a=this._parsedPaths,s=this._objects,l=s.length,c=this.nCachedObjects_,u=new Array(l);r=i.length,n[e]=r,o.push(e),a.push(t),i.push(u);for(var h=c,d=s.length;h!==d;++h){var p=s[h];u[h]=new np(p,e,t)}return u},unsubscribe_:function(e){var t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){var r=this._paths,i=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a];t[e[a]]=n,o[n]=s,o.pop(),i[n]=i[a],i.pop(),r[n]=r[a],r.pop()}}});var ip=function(){function e(e,t,n,r){void 0===n&&(n=null),void 0===r&&(r=t.blendMode),this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;for(var i=t.tracks,o=i.length,a=new Array(o),s={endingStart:jt,endingEnd:jt},l=0;l!==o;++l){var c=i[l].createInterpolant(null);a[l]=c,c.settings=s}this._interpolantSettings=s,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Nt,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}var t=e.prototype;return t.play=function(){return this._mixer._activateAction(this),this},t.stop=function(){return this._mixer._deactivateAction(this),this.reset()},t.reset=function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},t.isRunning=function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},t.isScheduled=function(){return this._mixer._isActiveAction(this)},t.startAt=function(e){return this._startTime=e,this},t.setLoop=function(e,t){return this.loop=e,this.repetitions=t,this},t.setEffectiveWeight=function(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()},t.getEffectiveWeight=function(){return this._effectiveWeight},t.fadeIn=function(e){return this._scheduleFading(e,0,1)},t.fadeOut=function(e){return this._scheduleFading(e,1,0)},t.crossFadeFrom=function(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){var r=this._clip.duration,i=e._clip.duration,o=i/r,a=r/i;e.warp(1,o,t),this.warp(a,1,t)}return this},t.crossFadeTo=function(e,t,n){return e.crossFadeFrom(this,t,n)},t.stopFading=function(){var e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},t.setEffectiveTimeScale=function(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()},t.getEffectiveTimeScale=function(){return this._effectiveTimeScale},t.setDuration=function(e){return this.timeScale=this._clip.duration/e,this.stopWarping()},t.syncWith=function(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()},t.halt=function(e){return this.warp(this._effectiveTimeScale,0,e)},t.warp=function(e,t,n){var r=this._mixer,i=r.time,o=this.timeScale,a=this._timeScaleInterpolant;null===a&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);var s=a.parameterPositions,l=a.sampleValues;return s[0]=i,s[1]=i+n,l[0]=e/o,l[1]=t/o,this},t.stopWarping=function(){var e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},t.getMixer=function(){return this._mixer},t.getClip=function(){return this._clip},t.getRoot=function(){return this._localRoot||this._mixer._root},t._update=function(e,t,n,r){if(this.enabled){var i=this._startTime;if(null!==i){var o=(e-i)*n;if(o<0||0===n)return;this._startTime=null,t=n*o}t*=this._updateTimeScale(e);var a=this._updateTime(t),s=this._updateWeight(e);if(s>0){var l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case Xt:for(var u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulateAdditive(s);break;case qt:default:for(var d=0,p=l.length;d!==p;++d)l[d].evaluate(a),c[d].accumulate(r,s)}}}else this._updateWeight(e)},t._updateWeight=function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t},t._updateTimeScale=function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;null!==n&&(t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t))}return this._effectiveTimeScale=t,t},t._updateTime=function(e){var t=this._clip.duration,n=this.loop,r=this.time+e,i=this._loopCount,o=n===Ut;if(0===e)return-1===i?r:o&&1===(1&i)?t-r:r;if(n===kt){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),r>=t||r<0){var a=Math.floor(r/t);r-=t*a,i+=Math.abs(a);var s=this.repetitions-i;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(1===s){var l=e<0;this._setEndings(l,!l,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(o&&1===(1&i))return t-r}return r},t._setEndings=function(e,t,n){var r=this._interpolantSettings;n?(r.endingStart=Vt,r.endingEnd=Vt):(r.endingStart=e?this.zeroSlopeAtStart?Vt:jt:Wt,r.endingEnd=t?this.zeroSlopeAtEnd?Vt:jt:Wt)},t._scheduleFading=function(e,t,n){var r=this._mixer,i=r.time,o=this._weightInterpolant;null===o&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=i,s[0]=t,a[1]=i+e,s[1]=n,this},e}();function op(e){this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}op.prototype=Object.assign(Object.create(qn.prototype),{constructor:op,_bindAction:function(e,t){var n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,l=this._bindingsByRootAndName,c=l[s];void 0===c&&(c={},l[s]=c);for(var u=0;u!==i;++u){var h=r[u],d=h.name,p=c[d];if(void 0!==p)o[u]=p;else{if(void 0!==(p=o[u])){null===p._cacheIndex&&(++p.referenceCount,this._addInactiveBinding(p,s,d));continue}var f=t&&t._propertyBindings[u].binding.parsedPath;++(p=new Vd(np.create(n,d,f),h.ValueTypeName,h.getValueSize())).referenceCount,this._addInactiveBinding(p,s,d),o[u]=p}a[u].resultBuffer=p.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}for(var i=e._propertyBindings,o=0,a=i.length;o!==a;++o){var s=i[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0===--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&t<this._nActiveActions},_addInactiveAction:function(e,t,n){var r=this._actions,i=this._actionsByClip,o=i[t];if(void 0===o)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=o;else{var a=o.knownActions;e._byClipCacheIndex=a.length,a.push(e)}e._cacheIndex=r.length,r.push(e),o.actionByRoot[n]=e},_removeInactiveAction:function(e){var t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;var i=e._clip.uuid,o=this._actionsByClip,a=o[i],s=a.knownActions,l=s[s.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c,s[c]=l,s.pop(),e._byClipCacheIndex=null,delete a.actionByRoot[(e._localRoot||this._root).uuid],0===s.length&&delete o[i],this._removeInactiveBindingsForAction(e)},_removeInactiveBindingsForAction:function(e){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0===--i.referenceCount&&this._removeInactiveBinding(i)}},_lendAction:function(e){var t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_takeBackAction:function(e){var t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_addInactiveBinding:function(e,t,n){var r=this._bindingsByRootAndName,i=this._bindings,o=r[t];void 0===o&&(o={},r[t]=o),o[n]=e,e._cacheIndex=i.length,i.push(e)},_removeInactiveBinding:function(e){var t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,o=this._bindingsByRootAndName,a=o[r],s=t[t.length-1],l=e._cacheIndex;s._cacheIndex=l,t[l]=s,t.pop(),delete a[i],0===Object.keys(a).length&&delete o[r]},_lendBinding:function(e){var t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_takeBackBinding:function(e){var t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_lendControlInterpolant:function(){var e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return void 0===n&&((n=new qu(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer)).__cacheIndex=t,e[t]=n),n},_takeBackControlInterpolant:function(e){var t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(e,t,n){var r=t||this._root,i=r.uuid,o="string"===typeof e?nh.findByName(r,e):e,a=null!==o?o.uuid:e,s=this._actionsByClip[a],l=null;if(void 0===n&&(n=null!==o?o.blendMode:qt),void 0!==s){var c=s.actionByRoot[i];if(void 0!==c&&c.blendMode===n)return c;l=s.knownActions[0],null===o&&(o=l._clip)}if(null===o)return null;var u=new ip(this,o,t,n);return this._bindAction(u,l),this._addInactiveAction(u,a,i),u},existingAction:function(e,t){var n=t||this._root,r=n.uuid,i="string"===typeof e?nh.findByName(n,e):e,o=i?i.uuid:e,a=this._actionsByClip[o];return void 0!==a&&a.actionByRoot[r]||null},stopAllAction:function(){for(var e=this._actions,t=this._nActiveActions-1;t>=0;--t)e[t].stop();return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a)t[a]._update(r,e,i,o);for(var s=this._bindings,l=this._nActiveBindings,c=0;c!==l;++c)s[c].apply(o);return this},setTime:function(e){this.time=0;for(var t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(e)},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){for(var o=i.knownActions,a=0,s=o.length;a!==s;++a){var l=o[a];this._deactivateAction(l);var c=l._cacheIndex,u=t[t.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,u._cacheIndex=c,t[c]=u,t.pop(),this._removeInactiveBindingsForAction(l)}delete r[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var r in n){var i=n[r].actionByRoot[t];void 0!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}var o=this._bindingsByRootAndName[t];if(void 0!==o)for(var a in o){var s=o[a];s.restoreOriginalState(),this._removeInactiveBinding(s)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}});var ap=function(){function e(e){"string"===typeof e&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),e=arguments[1]),this.value=e}return e.prototype.clone=function(){return new e(void 0===this.value.clone?this.value:this.value.clone())},e}();function sp(e,t,n){yl.call(this,e,t),this.meshPerAttribute=n||1}function lp(e,t,n,r,i){this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=r,this.count=i,this.version=0}function cp(e,t,n,r){this.ray=new Br(e,t),this.near=n||0,this.far=r||1/0,this.camera=null,this.layers=new Xr,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function up(e,t){return e.distance-t.distance}function hp(e,t,n,r){if(e.layers.test(t.layers)&&e.raycast(t,n),!0===r)for(var i=e.children,o=0,a=i.length;o<a;o++)hp(i[o],t,n,!0)}sp.prototype=Object.assign(Object.create(yl.prototype),{constructor:sp,isInstancedInterleavedBuffer:!0,copy:function(e){return yl.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this},clone:function(e){var t=yl.prototype.clone.call(this,e);return t.meshPerAttribute=this.meshPerAttribute,t},toJSON:function(e){var t=yl.prototype.toJSON.call(this,e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}),Object.defineProperty(lp.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(lp.prototype,{isGLBufferAttribute:!0,setBuffer:function(e){return this.buffer=e,this},setType:function(e,t){return this.type=e,this.elementSize=t,this},setItemSize:function(e){return this.itemSize=e,this},setCount:function(e){return this.count=e,this}}),Object.assign(cp.prototype,{set:function(e,t){this.ray.set(e,t)},setFromCamera:function(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)},intersectObject:function(e,t,n){var r=n||[];return hp(e,this,r,t),r.sort(up),r},intersectObjects:function(e,t,n){var r=n||[];if(!1===Array.isArray(e))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),r;for(var i=0,o=e.length;i<o;i++)hp(e[i],this,r,t);return r.sort(up),r}});var dp=function(){function e(e,t,n){return void 0===e&&(e=1),void 0===t&&(t=0),void 0===n&&(n=0),this.radius=e,this.phi=t,this.theta=n,this}var t=e.prototype;return t.set=function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this},t.makeSafe=function(){var e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this},t.setFromVector3=function(e){return this.setFromCartesianCoords(e.x,e.y,e.z)},t.setFromCartesianCoords=function(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(Kn.clamp(t/this.radius,-1,1))),this},e}(),pp=function(){function e(e,t,n){return this.radius=void 0!==e?e:1,this.theta=void 0!==t?t:0,this.y=void 0!==n?n:0,this}var t=e.prototype;return t.set=function(e,t,n){return this.radius=e,this.theta=t,this.y=n,this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this},t.setFromVector3=function(e){return this.setFromCartesianCoords(e.x,e.y,e.z)},t.setFromCartesianCoords=function(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this},e}(),fp=new Jn,mp=function(){function e(e,t){Object.defineProperty(this,"isBox2",{value:!0}),this.min=void 0!==e?e:new Jn(1/0,1/0),this.max=void 0!==t?t:new Jn(-1/0,-1/0)}var t=e.prototype;return t.set=function(e,t){return this.min.copy(e),this.max.copy(t),this},t.setFromPoints=function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},t.setFromCenterAndSize=function(e,t){var n=fp.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.min.copy(e.min),this.max.copy(e.max),this},t.makeEmpty=function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},t.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y},t.getCenter=function(e){return void 0===e&&(console.warn("THREE.Box2: .getCenter() target is now required"),e=new Jn),this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},t.getSize=function(e){return void 0===e&&(console.warn("THREE.Box2: .getSize() target is now required"),e=new Jn),this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)},t.expandByPoint=function(e){return this.min.min(e),this.max.max(e),this},t.expandByVector=function(e){return this.min.sub(e),this.max.add(e),this},t.expandByScalar=function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},t.containsPoint=function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)},t.containsBox=function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y},t.getParameter=function(e,t){return void 0===t&&(console.warn("THREE.Box2: .getParameter() target is now required"),t=new Jn),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))},t.intersectsBox=function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)},t.clampPoint=function(e,t){return void 0===t&&(console.warn("THREE.Box2: .clampPoint() target is now required"),t=new Jn),t.copy(e).clamp(this.min,this.max)},t.distanceToPoint=function(e){return fp.copy(e).clamp(this.min,this.max).sub(e).length()},t.intersect=function(e){return this.min.max(e.min),this.max.min(e.max),this},t.union=function(e){return this.min.min(e.min),this.max.max(e.max),this},t.translate=function(e){return this.min.add(e),this.max.add(e),this},t.equals=function(e){return e.min.equals(this.min)&&e.max.equals(this.max)},e}(),vp=new lr,gp=new lr,yp=function(){function e(e,t){this.start=void 0!==e?e:new lr,this.end=void 0!==t?t:new lr}var t=e.prototype;return t.set=function(e,t){return this.start.copy(e),this.end.copy(t),this},t.clone=function(){return(new this.constructor).copy(this)},t.copy=function(e){return this.start.copy(e.start),this.end.copy(e.end),this},t.getCenter=function(e){return void 0===e&&(console.warn("THREE.Line3: .getCenter() target is now required"),e=new lr),e.addVectors(this.start,this.end).multiplyScalar(.5)},t.delta=function(e){return void 0===e&&(console.warn("THREE.Line3: .delta() target is now required"),e=new lr),e.subVectors(this.end,this.start)},t.distanceSq=function(){return this.start.distanceToSquared(this.end)},t.distance=function(){return this.start.distanceTo(this.end)},t.at=function(e,t){return void 0===t&&(console.warn("THREE.Line3: .at() target is now required"),t=new lr),this.delta(t).multiplyScalar(e).add(this.start)},t.closestPointToPointParameter=function(e,t){vp.subVectors(e,this.start),gp.subVectors(this.end,this.start);var n=gp.dot(gp),r=gp.dot(vp)/n;return t&&(r=Kn.clamp(r,0,1)),r},t.closestPointToPoint=function(e,t,n){var r=this.closestPointToPointParameter(e,t);return void 0===n&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new lr),this.delta(n).multiplyScalar(r).add(this.start)},t.applyMatrix4=function(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this},t.equals=function(e){return e.start.equals(this.start)&&e.end.equals(this.end)},e}();function bp(e){si.call(this),this.material=e,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}bp.prototype=Object.create(si.prototype),bp.prototype.constructor=bp,bp.prototype.isImmediateRenderObject=!0;var Ap=new lr,wp=function(e){function t(t,n){var r;(r=e.call(this)||this).light=t,r.light.updateMatrixWorld(),r.matrix=t.matrixWorld,r.matrixAutoUpdate=!1,r.color=n;for(var i=new ro,o=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],a=0,s=1,l=32;a<l;a++,s++){var c=a/l*Math.PI*2,u=s/l*Math.PI*2;o.push(Math.cos(c),Math.sin(c),1,Math.cos(u),Math.sin(u),1)}i.setAttribute("position",new Wi(o,3));var h=new tc({fog:!1,toneMapped:!1});return r.cone=new uc(i,h),r.add(r.cone),r.update(),r}Gn(t,e);var n=t.prototype;return n.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},n.update=function(){this.light.updateMatrixWorld();var e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),Ap.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Ap),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)},t}(si),xp=new lr,Ep=new Fr,Mp=new Fr,_p=function(e){function t(t){for(var n,r=Tp(t),i=new ro,o=[],a=[],s=new Li(0,0,1),l=new Li(0,1,0),c=0;c<r.length;c++){var u=r[c];u.parent&&u.parent.isBone&&(o.push(0,0,0),o.push(0,0,0),a.push(s.r,s.g,s.b),a.push(l.r,l.g,l.b))}i.setAttribute("position",new Wi(o,3)),i.setAttribute("color",new Wi(a,3));var h=new tc({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});return(n=e.call(this,i,h)||this).type="SkeletonHelper",n.isSkeletonHelper=!0,n.root=t,n.bones=r,n.matrix=t.matrixWorld,n.matrixAutoUpdate=!1,n}return Gn(t,e),t.prototype.updateMatrixWorld=function(t){var n=this.bones,r=this.geometry,i=r.getAttribute("position");Mp.copy(this.root.matrixWorld).invert();for(var o=0,a=0;o<n.length;o++){var s=n[o];s.parent&&s.parent.isBone&&(Ep.multiplyMatrices(Mp,s.matrixWorld),xp.setFromMatrixPosition(Ep),i.setXYZ(a,xp.x,xp.y,xp.z),Ep.multiplyMatrices(Mp,s.parent.matrixWorld),xp.setFromMatrixPosition(Ep),i.setXYZ(a+1,xp.x,xp.y,xp.z),a+=2)}r.getAttribute("position").needsUpdate=!0,e.prototype.updateMatrixWorld.call(this,t)},t}(uc);function Tp(e){var t=[];e&&e.isBone&&t.push(e);for(var n=0;n<e.children.length;n++)t.push.apply(t,Tp(e.children[n]));return t}var Sp=function(e){function t(t,n,r){var i,o=new Mu(n,4,2),a=new Oi({wireframe:!0,fog:!1,toneMapped:!1});return(i=e.call(this,o,a)||this).light=t,i.light.updateMatrixWorld(),i.color=r,i.type="PointLightHelper",i.matrix=i.light.matrixWorld,i.matrixAutoUpdate=!1,i.update(),i}Gn(t,e);var n=t.prototype;return n.dispose=function(){this.geometry.dispose(),this.material.dispose()},n.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)},t}(xo),Cp=new lr,Lp=new Li,Rp=new Li,Pp=function(e){function t(t,n,r){var i;(i=e.call(this)||this).light=t,i.light.updateMatrixWorld(),i.matrix=t.matrixWorld,i.matrixAutoUpdate=!1,i.color=r;var o=new bu(n);o.rotateY(.5*Math.PI),i.material=new Oi({wireframe:!0,fog:!1,toneMapped:!1}),void 0===i.color&&(i.material.vertexColors=!0);var a=o.getAttribute("position"),s=new Float32Array(3*a.count);return o.setAttribute("color",new Fi(s,3)),i.add(new xo(o,i.material)),i.update(),i}Gn(t,e);var n=t.prototype;return n.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},n.update=function(){var e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var t=e.geometry.getAttribute("color");Lp.copy(this.light.color),Rp.copy(this.light.groundColor);for(var n=0,r=t.count;n<r;n++){var i=n<r/2?Lp:Rp;t.setXYZ(n,i.r,i.g,i.b)}t.needsUpdate=!0}e.lookAt(Cp.setFromMatrixPosition(this.light.matrixWorld).negate())},t}(si),Dp=function(e){function t(t,n,r,i){var o;void 0===t&&(t=10),void 0===n&&(n=10),void 0===r&&(r=4473924),void 0===i&&(i=8947848),r=new Li(r),i=new Li(i);for(var a=n/2,s=t/n,l=t/2,c=[],u=[],h=0,d=0,p=-l;h<=n;h++,p+=s){c.push(-l,0,p,l,0,p),c.push(p,0,-l,p,0,l);var f=h===a?r:i;f.toArray(u,d),d+=3,f.toArray(u,d),d+=3,f.toArray(u,d),d+=3,f.toArray(u,d),d+=3}var m=new ro;m.setAttribute("position",new Wi(c,3)),m.setAttribute("color",new Wi(u,3));var v=new tc({vertexColors:!0,toneMapped:!1});return(o=e.call(this,m,v)||this).type="GridHelper",o}return Gn(t,e),t}(uc),Op=function(e){function t(t,n,r,i,o,a){var s;void 0===t&&(t=10),void 0===n&&(n=16),void 0===r&&(r=8),void 0===i&&(i=64),void 0===o&&(o=4473924),void 0===a&&(a=8947848),o=new Li(o),a=new Li(a);for(var l=[],c=[],u=0;u<=n;u++){var h=u/n*(2*Math.PI),d=Math.sin(h)*t,p=Math.cos(h)*t;l.push(0,0,0),l.push(d,0,p);var f=1&u?o:a;c.push(f.r,f.g,f.b),c.push(f.r,f.g,f.b)}for(var m=0;m<=r;m++)for(var v=1&m?o:a,g=t-t/r*m,y=0;y<i;y++){var b=y/i*(2*Math.PI),A=Math.sin(b)*g,w=Math.cos(b)*g;l.push(A,0,w),c.push(v.r,v.g,v.b),b=(y+1)/i*(2*Math.PI),A=Math.sin(b)*g,w=Math.cos(b)*g,l.push(A,0,w),c.push(v.r,v.g,v.b)}var x=new ro;x.setAttribute("position",new Wi(l,3)),x.setAttribute("color",new Wi(c,3));var E=new tc({vertexColors:!0,toneMapped:!1});return(s=e.call(this,x,E)||this).type="PolarGridHelper",s}return Gn(t,e),t}(uc),Ip=new lr,Bp=new lr,Fp=new lr,kp=function(e){function t(t,n,r){var i;(i=e.call(this)||this).light=t,i.light.updateMatrixWorld(),i.matrix=t.matrixWorld,i.matrixAutoUpdate=!1,i.color=r,void 0===n&&(n=1);var o=new ro;o.setAttribute("position",new Wi([-n,n,0,n,n,0,n,-n,0,-n,-n,0,-n,n,0],3));var a=new tc({fog:!1,toneMapped:!1});return i.lightPlane=new sc(o,a),i.add(i.lightPlane),(o=new ro).setAttribute("position",new Wi([0,0,0,0,0,1],3)),i.targetLine=new sc(o,a),i.add(i.targetLine),i.update(),i}Gn(t,e);var n=t.prototype;return n.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},n.update=function(){Ip.setFromMatrixPosition(this.light.matrixWorld),Bp.setFromMatrixPosition(this.light.target.matrixWorld),Fp.subVectors(Bp,Ip),this.lightPlane.lookAt(Bp),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Bp),this.targetLine.scale.z=Fp.length()},t}(si),Np=new lr,Up=new Do,Hp=function(e){function t(t){var n,r=new ro,i=new tc({color:16777215,vertexColors:!0,toneMapped:!1}),o=[],a=[],s={},l=new Li(16755200),c=new Li(16711680),u=new Li(43775),h=new Li(16777215),d=new Li(3355443);function p(e,t,n){f(e,n),f(t,n)}function f(e,t){o.push(0,0,0),a.push(t.r,t.g,t.b),void 0===s[e]&&(s[e]=[]),s[e].push(o.length/3-1)}return p("n1","n2",l),p("n2","n4",l),p("n4","n3",l),p("n3","n1",l),p("f1","f2",l),p("f2","f4",l),p("f4","f3",l),p("f3","f1",l),p("n1","f1",l),p("n2","f2",l),p("n3","f3",l),p("n4","f4",l),p("p","n1",c),p("p","n2",c),p("p","n3",c),p("p","n4",c),p("u1","u2",u),p("u2","u3",u),p("u3","u1",u),p("c","t",h),p("p","c",d),p("cn1","cn2",d),p("cn3","cn4",d),p("cf1","cf2",d),p("cf3","cf4",d),r.setAttribute("position",new Wi(o,3)),r.setAttribute("color",new Wi(a,3)),(n=e.call(this,r,i)||this).type="CameraHelper",n.camera=t,n.camera.updateProjectionMatrix&&n.camera.updateProjectionMatrix(),n.matrix=t.matrixWorld,n.matrixAutoUpdate=!1,n.pointMap=s,n.update(),n}return Gn(t,e),t.prototype.update=function(){var e=this.geometry,t=this.pointMap,n=1,r=1;Up.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),Gp("c",t,e,Up,0,0,-1),Gp("t",t,e,Up,0,0,1),Gp("n1",t,e,Up,-n,-r,-1),Gp("n2",t,e,Up,n,-r,-1),Gp("n3",t,e,Up,-n,r,-1),Gp("n4",t,e,Up,n,r,-1),Gp("f1",t,e,Up,-n,-r,1),Gp("f2",t,e,Up,n,-r,1),Gp("f3",t,e,Up,-n,r,1),Gp("f4",t,e,Up,n,r,1),Gp("u1",t,e,Up,.7*n,1.1*r,-1),Gp("u2",t,e,Up,.7*-n,1.1*r,-1),Gp("u3",t,e,Up,0,2*r,-1),Gp("cf1",t,e,Up,-n,0,1),Gp("cf2",t,e,Up,n,0,1),Gp("cf3",t,e,Up,0,-r,1),Gp("cf4",t,e,Up,0,r,1),Gp("cn1",t,e,Up,-n,0,-1),Gp("cn2",t,e,Up,n,0,-1),Gp("cn3",t,e,Up,0,-r,-1),Gp("cn4",t,e,Up,0,r,-1),e.getAttribute("position").needsUpdate=!0},t}(uc);function Gp(e,t,n,r,i,o,a){Np.set(i,o,a).unproject(r);var s=t[e];if(void 0!==s)for(var l=n.getAttribute("position"),c=0,u=s.length;c<u;c++)l.setXYZ(s[c],Np.x,Np.y,Np.z)}var zp,jp,Vp,Wp=new hr,qp=function(e){function t(t,n){var r;void 0===n&&(n=16776960);var i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),o=new Float32Array(24),a=new ro;return a.setIndex(new Fi(i,1)),a.setAttribute("position",new Fi(o,3)),(r=e.call(this,a,new tc({color:n,toneMapped:!1}))||this).object=t,r.type="BoxHelper",r.matrixAutoUpdate=!1,r.update(),r}Gn(t,e);var n=t.prototype;return n.update=function(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&Wp.setFromObject(this.object),!Wp.isEmpty()){var t=Wp.min,n=Wp.max,r=this.geometry.attributes.position,i=r.array;i[0]=n.x,i[1]=n.y,i[2]=n.z,i[3]=t.x,i[4]=n.y,i[5]=n.z,i[6]=t.x,i[7]=t.y,i[8]=n.z,i[9]=n.x,i[10]=t.y,i[11]=n.z,i[12]=n.x,i[13]=n.y,i[14]=t.z,i[15]=t.x,i[16]=n.y,i[17]=t.z,i[18]=t.x,i[19]=t.y,i[20]=t.z,i[21]=n.x,i[22]=t.y,i[23]=t.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}},n.setFromObject=function(e){return this.object=e,this.update(),this},n.copy=function(e){return uc.prototype.copy.call(this,e),this.object=e.object,this},t}(uc),Xp=function(e){function t(t,n){var r;void 0===n&&(n=16776960);var i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),o=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],a=new ro;return a.setIndex(new Fi(i,1)),a.setAttribute("position",new Wi(o,3)),(r=e.call(this,a,new tc({color:n,toneMapped:!1}))||this).box=t,r.type="Box3Helper",r.geometry.computeBoundingSphere(),r}return Gn(t,e),t.prototype.updateMatrixWorld=function(t){var n=this.box;n.isEmpty()||(n.getCenter(this.position),n.getSize(this.scale),this.scale.multiplyScalar(.5),e.prototype.updateMatrixWorld.call(this,t))},t}(uc),Yp=function(e){function t(t,n,r){var i;void 0===n&&(n=1),void 0===r&&(r=16776960);var o=r,a=[1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0],s=new ro;s.setAttribute("position",new Wi(a,3)),s.computeBoundingSphere(),(i=e.call(this,s,new tc({color:o,toneMapped:!1}))||this).type="PlaneHelper",i.plane=t,i.size=n;var l=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],c=new ro;return c.setAttribute("position",new Wi(l,3)),c.computeBoundingSphere(),i.add(new xo(c,new Oi({color:o,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1}))),i}return Gn(t,e),t.prototype.updateMatrixWorld=function(t){var n=-this.plane.constant;Math.abs(n)<1e-8&&(n=1e-8),this.scale.set(.5*this.size,.5*this.size,n),this.children[0].material.side=n<0?v:m,this.lookAt(this.plane.normal),e.prototype.updateMatrixWorld.call(this,t)},t}(sc),Qp=new lr,Zp=function(e){function t(t,n,r,i,o,a){var s;return(s=e.call(this)||this).type="ArrowHelper",void 0===t&&(t=new lr(0,0,1)),void 0===n&&(n=new lr(0,0,0)),void 0===r&&(r=1),void 0===i&&(i=16776960),void 0===o&&(o=.2*r),void 0===a&&(a=.2*o),void 0===zp&&((zp=new ro).setAttribute("position",new Wi([0,0,0,0,1,0],3)),(jp=new Mc(0,.5,1,5,1)).translate(0,-.5,0)),s.position.copy(n),s.line=new sc(zp,new tc({color:i,toneMapped:!1})),s.line.matrixAutoUpdate=!1,s.add(s.line),s.cone=new xo(jp,new Oi({color:i,toneMapped:!1})),s.cone.matrixAutoUpdate=!1,s.add(s.cone),s.setDirection(t),s.setLength(r,o,a),s}Gn(t,e);var n=t.prototype;return n.setDirection=function(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Qp.set(e.z,0,-e.x).normalize();var t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Qp,t)}},n.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},n.setColor=function(e){this.line.material.color.set(e),this.cone.material.color.set(e)},n.copy=function(t){return e.prototype.copy.call(this,t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this},t}(si),Kp=function(e){function t(t){var n;void 0===t&&(t=1);var r=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],o=new ro;o.setAttribute("position",new Wi(r,3)),o.setAttribute("color",new Wi(i,3));var a=new tc({vertexColors:!0,toneMapped:!1});return(n=e.call(this,o,a)||this).type="AxesHelper",n}return Gn(t,e),t}(uc),Jp=new Float32Array(1),$p=new Int32Array(Jp.buffer),ef={toHalfFloat:function(e){Jp[0]=e;var t=$p[0],n=t>>16&32768,r=t>>12&2047,i=t>>23&255;return i<103?n:i>142?(n|=31744,n|=(255==i?0:1)&&8388607&t):i<113?n|=((r|=2048)>>114-i)+(r>>113-i&1):(n|=i-112<<10|r>>1,n+=1&r)}},tf=4,nf=8,rf=Math.pow(2,nf),of=[.125,.215,.35,.446,.526,.582],af=nf-tf+1+of.length,sf=20,lf=((Vp={})[Kt]=0,Vp[Jt]=1,Vp[en]=2,Vp[nn]=3,Vp[rn]=4,Vp[on]=5,Vp[$t]=6,Vp),cf=new Oi({side:v,depthWrite:!1,depthTest:!1}),uf=new xo(new _o,cf),hf=new ed,df=Mf(),pf=df._lodPlanes,ff=df._sizeLods,mf=df._sigmas,vf=new Li,gf=null,yf=(1+Math.sqrt(5))/2,bf=1/yf,Af=[new lr(1,1,1),new lr(-1,1,1),new lr(1,1,-1),new lr(-1,1,-1),new lr(0,yf,bf),new lr(0,yf,-bf),new lr(bf,0,yf),new lr(-bf,0,yf),new lr(yf,bf,0),new lr(-yf,bf,0)];function wf(e){var t=Math.max(e.r,e.g,e.b),n=Math.min(Math.max(Math.ceil(Math.log2(t)),-128),127);return e.multiplyScalar(Math.pow(2,-n)),(n+128)/255}var xf=function(){function e(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=Sf(sf),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}var t=e.prototype;return t.fromScene=function(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=.1),void 0===r&&(r=100),gf=this._renderer.getRenderTarget();var i=this._allocateTargets();return this._sceneToCubeUV(e,n,r,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i},t.fromEquirectangular=function(e){return this._fromTexture(e)},t.fromCubemap=function(e){return this._fromTexture(e)},t.compileCubemapShader=function(){null===this._cubemapShader&&(this._cubemapShader=Lf(),this._compileMaterial(this._cubemapShader))},t.compileEquirectangularShader=function(){null===this._equirectShader&&(this._equirectShader=Cf(),this._compileMaterial(this._equirectShader))},t.dispose=function(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(var e=0;e<pf.length;e++)pf[e].dispose()},t._cleanup=function(e){this._pingPongRenderTarget.dispose(),this._renderer.setRenderTarget(gf),e.scissorTest=!1,Tf(e,0,0,e.width,e.height)},t._fromTexture=function(e){gf=this._renderer.getRenderTarget();var t=this._allocateTargets(e);return this._textureToCubeUV(e,t),this._applyPMREM(t),this._cleanup(t),t},t._allocateTargets=function(e){var t={magFilter:me,minFilter:me,generateMipmaps:!1,type:_e,format:ze,encoding:Ef(e)?e.encoding:en,depthBuffer:!1},n=_f(t);return n.depthBuffer=!e,this._pingPongRenderTarget=_f(t),n},t._compileMaterial=function(e){var t=new xo(pf[0],e);this._renderer.compile(t,hf)},t._sceneToCubeUV=function(e,t,n,r){var i=new Oo(90,1,t,n),o=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],s=this._renderer,l=s.autoClear,c=s.outputEncoding,u=s.toneMapping;s.getClearColor(vf),s.toneMapping=$,s.outputEncoding=Kt,s.autoClear=!1;var h=!1,d=e.background;if(d){if(d.isColor){cf.color.copy(d).convertSRGBToLinear(),e.background=null;var p=wf(cf.color);cf.opacity=p,h=!0}}else{cf.color.copy(vf).convertSRGBToLinear();var f=wf(cf.color);cf.opacity=f,h=!0}for(var m=0;m<6;m++){var v=m%3;0==v?(i.up.set(0,o[m],0),i.lookAt(a[m],0,0)):1==v?(i.up.set(0,0,o[m]),i.lookAt(0,a[m],0)):(i.up.set(0,o[m],0),i.lookAt(0,0,a[m])),Tf(r,v*rf,m>2?rf:0,rf,rf),s.setRenderTarget(r),h&&s.render(uf,i),s.render(e,i)}s.toneMapping=u,s.outputEncoding=c,s.autoClear=l},t._textureToCubeUV=function(e,t){var n=this._renderer;e.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Lf()):null==this._equirectShader&&(this._equirectShader=Cf());var r=e.isCubeTexture?this._cubemapShader:this._equirectShader,i=new xo(pf[0],r),o=r.uniforms;o.envMap.value=e,e.isCubeTexture||o.texelSize.value.set(1/e.image.width,1/e.image.height),o.inputEncoding.value=lf[e.encoding],o.outputEncoding.value=lf[t.texture.encoding],Tf(t,0,0,3*rf,2*rf),n.setRenderTarget(t),n.render(i,hf)},t._applyPMREM=function(e){var t=this._renderer,n=t.autoClear;t.autoClear=!1;for(var r=1;r<af;r++){var i=Math.sqrt(mf[r]*mf[r]-mf[r-1]*mf[r-1]),o=Af[(r-1)%Af.length];this._blur(e,r-1,r,i,o)}t.autoClear=n},t._blur=function(e,t,n,r,i){var o=this._pingPongRenderTarget;this._halfBlur(e,o,t,n,r,"latitudinal",i),this._halfBlur(o,e,n,n,r,"longitudinal",i)},t._halfBlur=function(e,t,n,r,i,o,a){var s=this._renderer,l=this._blurMaterial;"latitudinal"!==o&&"longitudinal"!==o&&console.error("blur direction must be either latitudinal or longitudinal!");var c=3,u=new xo(pf[r],l),h=l.uniforms,d=ff[n]-1,p=isFinite(i)?Math.PI/(2*d):2*Math.PI/(2*sf-1),f=i/p,m=isFinite(i)?1+Math.floor(c*f):sf;m>sf&&console.warn("sigmaRadians, "+i+", is too large and will clip, as it requested "+m+" samples when the maximum is set to "+sf);for(var v=[],g=0,y=0;y<sf;++y){var b=y/f,A=Math.exp(-b*b/2);v.push(A),0==y?g+=A:y<m&&(g+=2*A)}for(var w=0;w<v.length;w++)v[w]=v[w]/g;h.envMap.value=e.texture,h.samples.value=m,h.weights.value=v,h.latitudinal.value="latitudinal"===o,a&&(h.poleAxis.value=a),h.dTheta.value=p,h.mipInt.value=nf-n,h.inputEncoding.value=lf[e.texture.encoding],h.outputEncoding.value=lf[e.texture.encoding];var x=ff[r];Tf(t,3*Math.max(0,rf-2*x),(0===r?0:2*rf)+2*x*(r>nf-tf?r-nf+tf:0),3*x,2*x),s.setRenderTarget(t),s.render(u,hf)},e}();function Ef(e){return void 0!==e&&e.type===_e&&(e.encoding===Kt||e.encoding===Jt||e.encoding===$t)}function Mf(){for(var e=[],t=[],n=[],r=nf,i=0;i<af;i++){var o=Math.pow(2,r);t.push(o);var a=1/o;i>nf-tf?a=of[i-nf+tf-1]:0==i&&(a=0),n.push(a);for(var s=1/(o-1),l=-s/2,c=1+s/2,u=[l,l,c,l,c,c,l,l,c,c,l,c],h=6,d=6,p=3,f=2,m=1,v=new Float32Array(p*d*h),g=new Float32Array(f*d*h),y=new Float32Array(m*d*h),b=0;b<h;b++){var A=b%3*2/3-1,w=b>2?0:-1,x=[A,w,0,A+2/3,w,0,A+2/3,w+1,0,A,w,0,A+2/3,w+1,0,A,w+1,0];v.set(x,p*d*b),g.set(u,f*d*b);var E=[b,b,b,b,b,b];y.set(E,m*d*b)}var M=new ro;M.setAttribute("position",new Fi(v,p)),M.setAttribute("uv",new Fi(g,f)),M.setAttribute("faceIndex",new Fi(y,m)),e.push(M),r>tf&&r--}return{_lodPlanes:e,_sizeLods:t,_sigmas:n}}function _f(e){var t=new or(3*rf,3*rf,e);return t.texture.mapping=ue,t.texture.name="PMREM.cubeUv",t.scissorTest=!0,t}function Tf(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function Sf(e){return new Ou({name:"SphericalGaussianBlur",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:new Float32Array(e)},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:new lr(0,1,0)},inputEncoding:{value:lf[Kt]},outputEncoding:{value:lf[Kt]}},vertexShader:Rf(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t"+Pf()+"\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:A,depthTest:!1,depthWrite:!1})}function Cf(){return new Ou({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:new Jn(1,1)},inputEncoding:{value:lf[Kt]},outputEncoding:{value:lf[Kt]}},vertexShader:Rf(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t"+Pf()+"\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:A,depthTest:!1,depthWrite:!1})}function Lf(){return new Ou({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:lf[Kt]},outputEncoding:{value:lf[Kt]}},vertexShader:Rf(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t"+Pf()+"\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:A,depthTest:!1,depthWrite:!1})}function Rf(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function Pf(){return"\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include <encodings_pars_fragment>\n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t"}function Df(e,t,n,r,i,o,a){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new Ri(e,t,n,i,o,a)}var Of=0,If=1,Bf=0,Ff=1,kf=2;function Nf(e){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),e}function Uf(e){return void 0===e&&(e=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),e.isMultiMaterial=!0,e.materials=e,e.clone=function(){return e.slice()},e}function Hf(e,t){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new gc(e,t)}function Gf(e){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Bl(e)}function zf(e,t){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new gc(e,t)}function jf(e){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new dc(e)}function Vf(e){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new dc(e)}function Wf(e){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new dc(e)}function qf(e,t,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new lr(e,t,n)}function Xf(e,t){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new Fi(e,t).setUsage(Sn)}function Yf(e,t){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new ki(e,t)}function Qf(e,t){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Ni(e,t)}function Zf(e,t){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Ui(e,t)}function Kf(e,t){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Hi(e,t)}function Jf(e,t){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Gi(e,t)}function $f(e,t){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new zi(e,t)}function em(e,t){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new ji(e,t)}function tm(e,t){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Wi(e,t)}function nm(e,t){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new qi(e,t)}function rm(e){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),_h.call(this,e),this.type="catmullrom",this.closed=!0}function im(e){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),_h.call(this,e),this.type="catmullrom"}function om(e){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),_h.call(this,e),this.type="catmullrom"}function am(e){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Kp(e)}function sm(e,t){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new qp(e,t)}function lm(e,t){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new uc(new Dc(e.geometry),new tc({color:void 0!==t?t:16777215}))}function cm(e,t){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new uc(new Ru(e.geometry),new tc({color:void 0!==t?t:16777215}))}function um(e){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new uh(e)}function hm(e){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new mh(e)}function dm(e,t,n){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new No(e,n)}gh.create=function(e,t){return console.log("THREE.Curve.create() has been deprecated"),e.prototype=Object.create(gh.prototype),e.prototype.constructor=e,e.prototype.getPoint=t,e},Object.assign(Wh.prototype,{fromPoints:function(e){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(e)}}),rm.prototype=Object.create(_h.prototype),im.prototype=Object.create(_h.prototype),om.prototype=Object.create(_h.prototype),Object.assign(om.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),Dp.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},_p.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(lh.prototype,{extractUrlBase:function(e){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),ld.extractUrlBase(e)}}),lh.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},Object.assign(mp.prototype,{center:function(e){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},size:function(e){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(e)}}),Object.assign(hr.prototype,{center:function(e){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionSphere:function(e){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},size:function(e){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(e)}}),Object.assign(Sr.prototype,{empty:function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()}}),zo.prototype.setFromMatrix=function(e){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(e)},yp.prototype.center=function(e){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(e)},Object.assign(Kn,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(e){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),Kn.floorPowerOfTwo(e)},nextPowerOfTwo:function(e){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),Kn.ceilPowerOfTwo(e)}}),Object.assign($n.prototype,{flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},multiplyVector3:function(e){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBufferAttribute:function(e){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},getInverse:function(e){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(e).invert()}}),Object.assign(Fr.prototype,{extractPosition:function(e){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(e)},flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},getPosition:function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new lr).setFromMatrixColumn(this,3)},setRotationFromQuaternion:function(e){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(e)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(e){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector4:function(e){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(e){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),e.transformDirection(this)},crossVector:function(e){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBufferAttribute:function(e){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(e,t,n,r,i,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(e,t,r,n,i,o)},getInverse:function(e){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(e).invert()}}),hi.prototype.isIntersectionLine=function(e){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(e)},Object.assign(sr.prototype,{multiplyVector3:function(e){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),e.applyQuaternion(this)},inverse:function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()}}),Object.assign(Br.prototype,{isIntersectionBox:function(e){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionPlane:function(e){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(e)},isIntersectionSphere:function(e){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)}}),Object.assign(xi.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(e,t){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(e,t)},midpoint:function(e){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(e)},normal:function(e){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(e)},plane:function(e){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(e)}}),Object.assign(xi,{barycoordFromPoint:function(e,t,n,r,i){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),xi.getBarycoord(e,t,n,r,i)},normal:function(e,t,n,r){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),xi.getNormal(e,t,n,r)}}),Object.assign(qh.prototype,{extractAllPoints:function(e){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(e)},extrude:function(e){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new fu(this,e)},makeGeometry:function(e){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new xu(this,e)}}),Object.assign(Jn.prototype,{fromAttribute:function(e,t,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},distanceToManhattan:function(e){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(lr.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(e){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(e)},getScaleFromMatrix:function(e){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(e)},getColumnFromMatrix:function(e,t){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(t,e)},applyProjection:function(e){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(e)},fromAttribute:function(e,t,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},distanceToManhattan:function(e){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(ir.prototype,{fromAttribute:function(e,t,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(si.prototype,{getChildByName:function(e){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(e)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(e,t){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(t,e)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},applyMatrix:function(e){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)}}),Object.defineProperties(si.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(e){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=e}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.assign(xo.prototype,{setDrawMode:function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}),Object.defineProperties(xo.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),Yt},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),Object.defineProperties(Ul.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(Ql.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Wl.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Object.defineProperty(gh.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(e){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=e}}),Oo.prototype.setLens=function(e,t){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==t&&(this.filmGauge=t),this.setFocalLength(e)},Object.defineProperties(Xh.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(e){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(e){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(e){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=e}}}),Object.defineProperties(Fi.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===Sn},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(Sn)}}}),Object.assign(Fi.prototype,{setDynamic:function(e){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===e?Sn:Tn),this},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},setArray:function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")}}),Object.assign(ro.prototype,{addIndex:function(e){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(e)},addAttribute:function(e,t){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),t&&t.isBufferAttribute||t&&t.isInterleavedBufferAttribute?"index"===e?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(t),this):this.setAttribute(e,t):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(e,new Fi(arguments[1],arguments[2])))},addDrawCall:function(e,t,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(e,t)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},removeAttribute:function(e){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(e)},applyMatrix:function(e){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)}}),Object.defineProperties(ro.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.defineProperties(cd.prototype,{maxInstancedCount:{get:function(){return console.warn("THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount."),this.instanceCount},set:function(e){console.warn("THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount."),this.instanceCount=e}}}),Object.defineProperties(cp.prototype,{linePrecision:{get:function(){return console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold},set:function(e){console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold=e}}}),Object.defineProperties(yl.prototype,{dynamic:{get:function(){return console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),this.usage===Sn},set:function(e){console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),this.setUsage(e)}}}),Object.assign(yl.prototype,{setDynamic:function(e){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===e?Sn:Tn),this},setArray:function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")}}),Object.assign(fu.prototype,{getArrays:function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")}}),Object.assign(gl.prototype,{dispose:function(){console.error("THREE.Scene: .dispose() has been removed.")}}),Object.defineProperties(ap.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(Di.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Li}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=e===y}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(e){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=e}}}),Object.defineProperties(Fu.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(Bu.prototype,{transparency:{get:function(){return console.warn("THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission."),this.transmission},set:function(e){console.warn("THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission."),this.transmission=e}}}),Object.defineProperties(Po.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(e){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=e}}}),Object.assign(pl.prototype,{clearTarget:function(e,t,n,r){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(e),this.clear(t,n,r)},animate:function(e){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(e)},getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(e){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(e)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},allocTextureUnit:function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},setTexture:function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},setTextureCube:function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},getActiveMipMapLevel:function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()}}),Object.defineProperties(pl.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=e}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(e){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===e?Jt:Kt}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties($s.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(or.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=e}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=e}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=e}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=e}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),Object.defineProperties(kd.prototype,{load:{value:function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var t=this;return(new Md).load(e,(function(e){t.setBuffer(e)})),this}},startTime:{set:function(){console.warn("THREE.Audio: .startTime is now .play( delay ).")}}}),jd.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Fo.prototype.updateCubeMap=function(e,t){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(e,t)},Fo.prototype.clear=function(e,t,n,r){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(e,t,n,r)};var pm={merge:function(e,t,n){var r;console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."),t.isMesh&&(t.matrixAutoUpdate&&t.updateMatrix(),r=t.matrix,t=t.geometry),e.merge(t,r,n)},center:function(e){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),e.center()}};function fm(){console.error("THREE.CanvasRenderer has been removed")}function mm(){console.error("THREE.JSONLoader has been removed.")}er.crossOrigin=void 0,er.loadTexture=function(e,t,n,r){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var i=new vh;i.setCrossOrigin(this.crossOrigin);var o=i.load(e,n,void 0,r);return t&&(o.mapping=t),o},er.loadTextureCube=function(e,t,n,r){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var i=new fh;i.setCrossOrigin(this.crossOrigin);var o=i.load(e,n,void 0,r);return t&&(o.mapping=t),o},er.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},er.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};var vm={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function gm(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:i}})),"undefined"!==typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=i),t.ACESFilmicToneMapping=re,t.AddEquation=T,t.AddOperation=J,t.AdditiveAnimationBlendMode=Xt,t.AdditiveBlending=x,t.AlphaFormat=ke,t.AlwaysDepth=j,t.AlwaysStencilFunc=_n,t.AmbientLight=rd,t.AmbientLightProbe=Td,t.AnimationClip=nh,t.AnimationLoader=hh,t.AnimationMixer=op,t.AnimationObjectGroup=rp,t.AnimationUtils=ju,t.ArcCurve=bh,t.ArrayCamera=il,t.ArrowHelper=Zp,t.Audio=kd,t.AudioAnalyser=jd,t.AudioContext=Ed,t.AudioListener=Fd,t.AudioLoader=Md,t.AxesHelper=Kp,t.AxisHelper=am,t.BackSide=v,t.BasicDepthPacking=an,t.BasicShadowMap=h,t.BinaryTextureLoader=hm,t.Bone=ql,t.BooleanKeyframeTrack=Qu,t.BoundingBoxHelper=sm,t.Box2=mp,t.Box3=hr,t.Box3Helper=Xp,t.BoxBufferGeometry=_o,t.BoxGeometry=_o,t.BoxHelper=qp,t.BufferAttribute=Fi,t.BufferGeometry=ro,t.BufferGeometryLoader=hd,t.ByteType=Te,t.Cache=oh,t.Camera=Do,t.CameraHelper=Hp,t.CanvasRenderer=fm,t.CanvasTexture=wc,t.CatmullRomCurve3=_h,t.CineonToneMapping=ne,t.CircleBufferGeometry=Ec,t.CircleGeometry=Ec,t.ClampToEdgeWrapping=pe,t.Clock=Rd,t.ClosedSplineCurve3=rm,t.Color=Li,t.ColorKeyframeTrack=Zu,t.CompressedTexture=Ac,t.CompressedTextureLoader=dh,t.ConeBufferGeometry=_c,t.ConeGeometry=_c,t.CubeCamera=Fo,t.CubeReflectionMapping=ae,t.CubeRefractionMapping=se,t.CubeTexture=ko,t.CubeTextureLoader=fh,t.CubeUVReflectionMapping=ue,t.CubeUVRefractionMapping=he,t.CubicBezierCurve=Fh,t.CubicBezierCurve3=kh,t.CubicInterpolant=Wu,t.CullFaceBack=l,t.CullFaceFront=c,t.CullFaceFrontBack=u,t.CullFaceNone=s,t.Curve=gh,t.CurvePath=Vh,t.CustomBlending=_,t.CustomToneMapping=ie,t.CylinderBufferGeometry=Mc,t.CylinderGeometry=Mc,t.Cylindrical=pp,t.DataTexture=Uo,t.DataTexture2DArray=ca,t.DataTexture3D=ua,t.DataTextureLoader=mh,t.DataUtils=ef,t.DecrementStencilOp=fn,t.DecrementWrapStencilOp=vn,t.DefaultLoadingManager=sh,t.DepthFormat=je,t.DepthStencilFormat=Ve,t.DepthTexture=xc,t.DirectionalLight=nd,t.DirectionalLightHelper=kp,t.DiscreteInterpolant=Xu,t.DodecahedronBufferGeometry=Sc,t.DodecahedronGeometry=Sc,t.DoubleSide=g,t.DstAlphaFactor=k,t.DstColorFactor=U,t.DynamicBufferAttribute=Xf,t.DynamicCopyUsage=On,t.DynamicDrawUsage=Sn,t.DynamicReadUsage=Rn,t.EdgesGeometry=Dc,t.EdgesHelper=lm,t.EllipseCurve=yh,t.EqualDepth=q,t.EqualStencilFunc=An,t.EquirectangularReflectionMapping=le,t.EquirectangularRefractionMapping=ce,t.Euler=Vr,t.EventDispatcher=qn,t.ExtrudeBufferGeometry=fu,t.ExtrudeGeometry=fu,t.Face3=Ri,t.Face4=Df,t.FaceColors=Ff,t.FileLoader=uh,t.FlatShading=y,t.Float16BufferAttribute=Vi,t.Float32Attribute=tm,t.Float32BufferAttribute=Wi,t.Float64Attribute=nm,t.Float64BufferAttribute=qi,t.FloatType=Pe,t.Fog=vl,t.FogExp2=ml,t.Font=bd,t.FontLoader=xd,t.FrontSide=m,t.Frustum=zo,t.GLBufferAttribute=lp,t.GLSL1=Bn,t.GLSL3=Fn,t.GammaEncoding=$t,t.GeometryUtils=pm,t.GreaterDepth=Y,t.GreaterEqualDepth=X,t.GreaterEqualStencilFunc=Mn,t.GreaterStencilFunc=xn,t.GridHelper=Dp,t.Group=rl,t.HalfFloatType=De,t.HemisphereLight=Yh,t.HemisphereLightHelper=Pp,t.HemisphereLightProbe=_d,t.IcosahedronBufferGeometry=gu,t.IcosahedronGeometry=gu,t.ImageBitmapLoader=vd,t.ImageLoader=ph,t.ImageUtils=er,t.ImmediateRenderObject=bp,t.IncrementStencilOp=pn,t.IncrementWrapStencilOp=mn,t.InstancedBufferAttribute=ud,t.InstancedBufferGeometry=cd,t.InstancedInterleavedBuffer=sp,t.InstancedMesh=ec,t.Int16Attribute=Kf,t.Int16BufferAttribute=Hi,t.Int32Attribute=$f,t.Int32BufferAttribute=zi,t.Int8Attribute=Yf,t.Int8BufferAttribute=ki,t.IntType=Le,t.InterleavedBuffer=yl,t.InterleavedBufferAttribute=wl,t.Interpolant=Vu,t.InterpolateDiscrete=Ht,t.InterpolateLinear=Gt,t.InterpolateSmooth=zt,t.InvertStencilOp=gn,t.JSONLoader=mm,t.KeepStencilOp=hn,t.KeyframeTrack=Yu,t.LOD=Ul,t.LatheBufferGeometry=yu,t.LatheGeometry=yu,t.Layers=Xr,t.LensFlare=gm,t.LessDepth=V,t.LessEqualDepth=W,t.LessEqualStencilFunc=wn,t.LessStencilFunc=bn,t.Light=Xh,t.LightProbe=ad,t.Line=sc,t.Line3=yp,t.LineBasicMaterial=tc,t.LineCurve=Nh,t.LineCurve3=Uh,t.LineDashedMaterial=Gu,t.LineLoop=hc,t.LinePieces=If,t.LineSegments=uc,t.LineStrip=Of,t.LinearEncoding=Kt,t.LinearFilter=Ae,t.LinearInterpolant=qu,t.LinearMipMapLinearFilter=Me,t.LinearMipMapNearestFilter=xe,t.LinearMipmapLinearFilter=Ee,t.LinearMipmapNearestFilter=we,t.LinearToneMapping=ee,t.Loader=lh,t.LoaderUtils=ld,t.LoadingManager=ah,t.LogLuvEncoding=tn,t.LoopOnce=kt,t.LoopPingPong=Ut,t.LoopRepeat=Nt,t.LuminanceAlphaFormat=Ge,t.LuminanceFormat=He,t.MOUSE=o,t.Material=Di,t.MaterialLoader=sd,t.Math=Kn,t.MathUtils=Kn,t.Matrix3=$n,t.Matrix4=Fr,t.MaxEquation=R,t.Mesh=xo,t.MeshBasicMaterial=Oi,t.MeshDepthMaterial=Qs,t.MeshDistanceMaterial=Zs,t.MeshFaceMaterial=Nf,t.MeshLambertMaterial=Uu,t.MeshMatcapMaterial=Hu,t.MeshNormalMaterial=Nu,t.MeshPhongMaterial=Fu,t.MeshPhysicalMaterial=Bu,t.MeshStandardMaterial=Iu,t.MeshToonMaterial=ku,t.MinEquation=L,t.MirroredRepeatWrapping=fe,t.MixOperation=K,t.MultiMaterial=Uf,t.MultiplyBlending=M,t.MultiplyOperation=Z,t.NearestFilter=me,t.NearestMipMapLinearFilter=be,t.NearestMipMapNearestFilter=ge,t.NearestMipmapLinearFilter=ye,t.NearestMipmapNearestFilter=ve,t.NeverDepth=z,t.NeverStencilFunc=yn,t.NoBlending=A,t.NoColors=Bf,t.NoToneMapping=$,t.NormalAnimationBlendMode=qt,t.NormalBlending=w,t.NotEqualDepth=Q,t.NotEqualStencilFunc=En,t.NumberKeyframeTrack=Ku,t.Object3D=si,t.ObjectLoader=dd,t.ObjectSpaceNormalMap=cn,t.OctahedronBufferGeometry=bu,t.OctahedronGeometry=bu,t.OneFactor=D,t.OneMinusDstAlphaFactor=N,t.OneMinusDstColorFactor=H,t.OneMinusSrcAlphaFactor=F,t.OneMinusSrcColorFactor=I,t.OrthographicCamera=ed,t.PCFShadowMap=d,t.PCFSoftShadowMap=p,t.PMREMGenerator=xf,t.ParametricBufferGeometry=Au,t.ParametricGeometry=Au,t.Particle=Gf,t.ParticleBasicMaterial=Vf,t.ParticleSystem=zf,t.ParticleSystemMaterial=Wf,t.Path=Wh,t.PerspectiveCamera=Oo,t.Plane=hi,t.PlaneBufferGeometry=Wo,t.PlaneGeometry=Wo,t.PlaneHelper=Yp,t.PointCloud=Hf,t.PointCloudMaterial=jf,t.PointLight=$h,t.PointLightHelper=Sp,t.Points=gc,t.PointsMaterial=dc,t.PolarGridHelper=Op,t.PolyhedronBufferGeometry=Tc,t.PolyhedronGeometry=Tc,t.PositionalAudio=zd,t.PropertyBinding=np,t.PropertyMixer=Vd,t.QuadraticBezierCurve=Hh,t.QuadraticBezierCurve3=Gh,t.Quaternion=sr,t.QuaternionKeyframeTrack=$u,t.QuaternionLinearInterpolant=Ju,t.REVISION=i,t.RGBADepthPacking=sn,t.RGBAFormat=Ue,t.RGBAIntegerFormat=Ze,t.RGBA_ASTC_10x10_Format=bt,t.RGBA_ASTC_10x5_Format=vt,t.RGBA_ASTC_10x6_Format=gt,t.RGBA_ASTC_10x8_Format=yt,t.RGBA_ASTC_12x10_Format=At,t.RGBA_ASTC_12x12_Format=wt,t.RGBA_ASTC_4x4_Format=lt,t.RGBA_ASTC_5x4_Format=ct,t.RGBA_ASTC_5x5_Format=ut,t.RGBA_ASTC_6x5_Format=ht,t.RGBA_ASTC_6x6_Format=dt,t.RGBA_ASTC_8x5_Format=pt,t.RGBA_ASTC_8x6_Format=ft,t.RGBA_ASTC_8x8_Format=mt,t.RGBA_BPTC_Format=xt,t.RGBA_ETC2_EAC_Format=st,t.RGBA_PVRTC_2BPPV1_Format=it,t.RGBA_PVRTC_4BPPV1_Format=rt,t.RGBA_S3TC_DXT1_Format=Je,t.RGBA_S3TC_DXT3_Format=$e,t.RGBA_S3TC_DXT5_Format=et,t.RGBDEncoding=on,t.RGBEEncoding=en,t.RGBEFormat=ze,t.RGBFormat=Ne,t.RGBIntegerFormat=Qe,t.RGBM16Encoding=rn,t.RGBM7Encoding=nn,t.RGB_ETC1_Format=ot,t.RGB_ETC2_Format=at,t.RGB_PVRTC_2BPPV1_Format=nt,t.RGB_PVRTC_4BPPV1_Format=tt,t.RGB_S3TC_DXT1_Format=Ke,t.RGFormat=Xe,t.RGIntegerFormat=Ye,t.RawShaderMaterial=Ou,t.Ray=Br,t.Raycaster=cp,t.RectAreaLight=id,t.RedFormat=We,t.RedIntegerFormat=qe,t.ReinhardToneMapping=te,t.RepeatWrapping=de,t.ReplaceStencilOp=dn,t.ReverseSubtractEquation=C,t.RingBufferGeometry=wu,t.RingGeometry=wu,t.SRGB8_ALPHA8_ASTC_10x10_Format=It,t.SRGB8_ALPHA8_ASTC_10x5_Format=Pt,t.SRGB8_ALPHA8_ASTC_10x6_Format=Dt,t.SRGB8_ALPHA8_ASTC_10x8_Format=Ot,t.SRGB8_ALPHA8_ASTC_12x10_Format=Bt,t.SRGB8_ALPHA8_ASTC_12x12_Format=Ft,t.SRGB8_ALPHA8_ASTC_4x4_Format=Et,t.SRGB8_ALPHA8_ASTC_5x4_Format=Mt,t.SRGB8_ALPHA8_ASTC_5x5_Format=_t,t.SRGB8_ALPHA8_ASTC_6x5_Format=Tt,t.SRGB8_ALPHA8_ASTC_6x6_Format=St,t.SRGB8_ALPHA8_ASTC_8x5_Format=Ct,t.SRGB8_ALPHA8_ASTC_8x6_Format=Lt,t.SRGB8_ALPHA8_ASTC_8x8_Format=Rt,t.Scene=gl,t.SceneUtils=vm,t.ShaderChunk=qo,t.ShaderLib=Yo,t.ShaderMaterial=Po,t.ShadowMaterial=Du,t.Shape=qh,t.ShapeBufferGeometry=xu,t.ShapeGeometry=xu,t.ShapePath=gd,t.ShapeUtils=hu,t.ShortType=Se,t.Skeleton=Ql,t.SkeletonHelper=_p,t.SkinnedMesh=Wl,t.SmoothShading=b,t.Sphere=Sr,t.SphereBufferGeometry=Mu,t.SphereGeometry=Mu,t.Spherical=dp,t.SphericalHarmonics3=od,t.Spline=om,t.SplineCurve=zh,t.SplineCurve3=im,t.SpotLight=Kh,t.SpotLightHelper=wp,t.Sprite=Bl,t.SpriteMaterial=xl,t.SrcAlphaFactor=B,t.SrcAlphaSaturateFactor=G,t.SrcColorFactor=O,t.StaticCopyUsage=Dn,t.StaticDrawUsage=Tn,t.StaticReadUsage=Ln,t.StereoCamera=Ld,t.StreamCopyUsage=In,t.StreamDrawUsage=Cn,t.StreamReadUsage=Pn,t.StringKeyframeTrack=eh,t.SubtractEquation=S,t.SubtractiveBlending=E,t.TOUCH=a,t.TangentSpaceNormalMap=ln,t.TetrahedronBufferGeometry=_u,t.TetrahedronGeometry=_u,t.TextBufferGeometry=Tu,t.TextGeometry=Tu,t.Texture=nr,t.TextureLoader=vh,t.TorusBufferGeometry=Su,t.TorusGeometry=Su,t.TorusKnotBufferGeometry=Cu,t.TorusKnotGeometry=Cu,t.Triangle=xi,t.TriangleFanDrawMode=Zt,t.TriangleStripDrawMode=Qt,t.TrianglesDrawMode=Yt,t.TubeBufferGeometry=Lu,t.TubeGeometry=Lu,t.UVMapping=oe,t.Uint16Attribute=Jf,t.Uint16BufferAttribute=Gi,t.Uint32Attribute=em,t.Uint32BufferAttribute=ji,t.Uint8Attribute=Qf,t.Uint8BufferAttribute=Ni,t.Uint8ClampedAttribute=Zf,t.Uint8ClampedBufferAttribute=Ui,t.Uniform=ap,t.UniformsLib=Xo,t.UniformsUtils=Co,t.UnsignedByteType=_e,t.UnsignedInt248Type=Fe,t.UnsignedIntType=Re,t.UnsignedShort4444Type=Oe,t.UnsignedShort5551Type=Ie,t.UnsignedShort565Type=Be,t.UnsignedShortType=Ce,t.VSMShadowMap=f,t.Vector2=Jn,t.Vector3=lr,t.Vector4=ir,t.VectorKeyframeTrack=th,t.Vertex=qf,t.VertexColors=kf,t.VideoTexture=bc,t.WebGL1Renderer=fl,t.WebGLCubeRenderTarget=No,t.WebGLMultisampleRenderTarget=ar,t.WebGLRenderTarget=or,t.WebGLRenderTargetCube=dm,t.WebGLRenderer=pl,t.WebGLUtils=nl,t.WireframeGeometry=Ru,t.WireframeHelper=cm,t.WrapAroundEnding=Wt,t.XHRLoader=um,t.ZeroCurvatureEnding=jt,t.ZeroFactor=P,t.ZeroSlopeEnding=Vt,t.ZeroStencilOp=un,t.sRGBEncoding=Jt,Object.defineProperty(t,"__esModule",{value:!0})},"object"===typeof i&&"undefined"!==typeof r?a(i):"function"===typeof t&&t.amd?t(["exports"],a):a((o="undefined"!==typeof globalThis?globalThis:o||self).THREE={})},{}],58:[function(e,t,n){THREE.DRACOLoader=function(e){THREE.Loader.call(this,e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}},THREE.DRACOLoader.prototype=Object.assign(Object.create(THREE.Loader.prototype),{constructor:THREE.DRACOLoader,setDecoderPath:function(e){return this.decoderPath=e,this},setDecoderConfig:function(e){return this.decoderConfig=e,this},setWorkerLimit:function(e){return this.workerLimit=e,this},setVerbosity:function(){console.warn("THREE.DRACOLoader: The .setVerbosity() method has been removed.")},setDrawMode:function(){console.warn("THREE.DRACOLoader: The .setDrawMode() method has been removed.")},setSkipDequantization:function(){console.warn("THREE.DRACOLoader: The .setSkipDequantization() method has been removed.")},load:function(e,t,n,r){var i=new THREE.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,(e=>{var n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)}),n,r)},decodeDracoFile:function(e,t,n,r){var i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)},decodeGeometry:function(e,t){for(var n in t.attributeTypes){var r=t.attributeTypes[n];void 0!==r.BYTES_PER_ELEMENT&&(t.attributeTypes[n]=r.name)}var i,o=JSON.stringify(t);if(THREE.DRACOLoader.taskCache.has(e)){var a=THREE.DRACOLoader.taskCache.get(e);if(a.key===o)return a.promise;if(0===e.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}var s=this.workerNextTaskID++,l=e.byteLength,c=this._getWorker(s,l).then((n=>(i=n,new Promise(((n,r)=>{i._callbacks[s]={resolve:n,reject:r},i.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))))).then((e=>this._createGeometry(e.geometry)));return c.catch((()=>!0)).then((()=>{i&&s&&this._releaseTask(i,s)})),THREE.DRACOLoader.taskCache.set(e,{key:o,promise:c}),c},_createGeometry:function(e){var t=new THREE.BufferGeometry;e.index&&t.setIndex(new THREE.BufferAttribute(e.index.array,1));for(var n=0;n<e.attributes.length;n++){var r=e.attributes[n],i=r.name,o=r.array,a=r.itemSize;t.setAttribute(i,new THREE.BufferAttribute(o,a))}return t},_loadLibrary:function(e,t){var n=new THREE.FileLoader(this.manager);return n.setPath(this.decoderPath),n.setResponseType(t),n.setWithCredentials(this.withCredentials),new Promise(((t,r)=>{n.load(e,t,void 0,r)}))},preload:function(){return this._initDecoder(),this},_initDecoder:function(){if(this.decoderPending)return this.decoderPending;var e="object"!==typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then((t=>{var n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);var r=THREE.DRACOLoader.DRACOWorker.toString(),i=["/* draco decoder */",n,"","/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i]))})),this.decoderPending},_getWorker:function(e,t){return this._initDecoder().then((()=>{var n;return this.workerPool.length<this.workerLimit?((n=new Worker(this.workerSourceURL))._callbacks={},n._taskCosts={},n._taskLoad=0,n.postMessage({type:"init",decoderConfig:this.decoderConfig}),n.onmessage=function(e){var t=e.data;switch(t.type){case"decode":n._callbacks[t.id].resolve(t);break;case"error":n._callbacks[t.id].reject(t);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+t.type+'"')}},this.workerPool.push(n)):this.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1})),(n=this.workerPool[this.workerPool.length-1])._taskCosts[e]=t,n._taskLoad+=t,n}))},_releaseTask:function(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]},debug:function(){console.log("Task load: ",this.workerPool.map((e=>e._taskLoad)))},dispose:function(){for(var e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}),THREE.DRACOLoader.DRACOWorker=function(){var e,t;function n(e,t,n,o){var a,s,l=o.attributeIDs,c=o.attributeTypes,u=t.GetEncodedGeometryType(n);if(u===e.TRIANGULAR_MESH)a=new e.Mesh,s=t.DecodeBufferToMesh(n,a);else{if(u!==e.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");a=new e.PointCloud,s=t.DecodeBufferToPointCloud(n,a)}if(!s.ok()||0===a.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+s.error_msg());var h={index:null,attributes:[]};for(var d in l){var p,f,m=self[c[d]];if(o.useUniqueIDs)f=l[d],p=t.GetAttributeByUniqueId(a,f);else{if(-1===(f=t.GetAttributeId(a,e[l[d]])))continue;p=t.GetAttribute(a,f)}h.attributes.push(i(e,t,a,d,m,p))}return u===e.TRIANGULAR_MESH&&(h.index=r(e,t,a)),e.destroy(a),h}function r(e,t,n){var r=3*n.num_faces(),i=4*r,o=e._malloc(i);t.GetTrianglesUInt32Array(n,i,o);var a=new Uint32Array(e.HEAPF32.buffer,o,r).slice();return e._free(o),{array:a,itemSize:1}}function i(e,t,n,r,i,a){var s=a.num_components(),l=n.num_points()*s,c=l*i.BYTES_PER_ELEMENT,u=o(e,i),h=e._malloc(c);t.GetAttributeDataArrayForAllPoints(n,a,u,c,h);var d=new i(e.HEAPF32.buffer,h,l).slice();return e._free(h),{name:r,array:d,itemSize:s}}function o(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}onmessage=function(r){var i=r.data;switch(i.type){case"init":e=i.decoderConfig,t=new Promise((function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)}));break;case"decode":var o=i.buffer,a=i.taskConfig;t.then((e=>{var t=e.draco,r=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(o),o.byteLength);try{var l=n(t,r,s,a),c=l.attributes.map((e=>e.array.buffer));l.index&&c.push(l.index.array.buffer),self.postMessage({type:"decode",id:i.id,geometry:l},c)}catch(u){console.error(u),self.postMessage({type:"error",id:i.id,error:u.message})}finally{t.destroy(s),t.destroy(r)}}))}}},THREE.DRACOLoader.taskCache=new WeakMap,THREE.DRACOLoader.setDecoderPath=function(){console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.")},THREE.DRACOLoader.setDecoderConfig=function(){console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.")},THREE.DRACOLoader.releaseDecoderModule=function(){console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.")},THREE.DRACOLoader.getDecoderModule=function(){console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.")}},{}],59:[function(t,n,r){THREE.GLTFLoader=function(){function t(e){THREE.Loader.call(this,e),this.dracoLoader=null,this.ddsLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(e){return new s(e)})),this.register((function(e){return new c(e)})),this.register((function(e){return new u(e)})),this.register((function(e){return new l(e)})),this.register((function(e){return new o(e)})),this.register((function(e){return new h(e)}))}function n(){var e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}t.prototype=Object.assign(Object.create(THREE.Loader.prototype),{constructor:t,load:function(t,n,r,i){var o,a=this;o=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:THREE.LoaderUtils.extractUrlBase(t),this.manager.itemStart(t);var s=function(e){i?i(e):console.error(e),a.manager.itemError(t),a.manager.itemEnd(t)},l=new THREE.FileLoader(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(t,(function(r){try{a.parse(r,o,(function(e){n(e),a.manager.itemEnd(t)}),s)}catch(e){s(e)}}),r,s)},setDRACOLoader:function(e){return this.dracoLoader=e,this},setDDSLoader:function(e){return this.ddsLoader=e,this},setKTX2Loader:function(e){return this.ktx2Loader=e,this},setMeshoptDecoder:function(e){return this.meshoptDecoder=e,this},register:function(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this},unregister:function(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this},parse:function(e,t,n,o){var s,l={},c={};if("string"===typeof e)s=e;else if(THREE.LoaderUtils.decodeText(new Uint8Array(e,0,4))===d){try{l[r.KHR_BINARY_GLTF]=new m(e)}catch(x){return void(o&&o(x))}s=l[r.KHR_BINARY_GLTF].content}else s=THREE.LoaderUtils.decodeText(new Uint8Array(e));var u=JSON.parse(s);if(void 0===u.asset||u.asset.version[0]<2)o&&o(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));else{var h=new U(u,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});h.fileLoader.setRequestHeader(this.requestHeader);for(var p=0;p<this.pluginCallbacks.length;p++){var f=this.pluginCallbacks[p](h);c[f.name]=f,l[f.name]=!0}if(u.extensionsUsed)for(p=0;p<u.extensionsUsed.length;++p){var y=u.extensionsUsed[p],w=u.extensionsRequired||[];switch(y){case r.KHR_MATERIALS_UNLIT:l[y]=new a;break;case r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:l[y]=new b;break;case r.KHR_DRACO_MESH_COMPRESSION:l[y]=new v(u,this.dracoLoader);break;case r.MSFT_TEXTURE_DDS:l[y]=new i(this.ddsLoader);break;case r.KHR_TEXTURE_TRANSFORM:l[y]=new g;break;case r.KHR_MESH_QUANTIZATION:l[y]=new A;break;default:w.indexOf(y)>=0&&void 0===c[y]&&console.warn('THREE.GLTFLoader: Unknown extension "'+y+'".')}}h.setExtensions(l),h.setPlugins(c),h.parse(n,o)}}});var r={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:"KHR_materials_pbrSpecularGlossiness",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",MSFT_TEXTURE_DDS:"MSFT_texture_dds"};function i(e){if(!e)throw new Error("THREE.GLTFLoader: Attempting to load .dds texture without importing THREE.DDSLoader");this.name=r.MSFT_TEXTURE_DDS,this.ddsLoader=e}function o(e){this.parser=e,this.name=r.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}function a(){this.name=r.KHR_MATERIALS_UNLIT}function s(e){this.parser=e,this.name=r.KHR_MATERIALS_CLEARCOAT}function l(e){this.parser=e,this.name=r.KHR_MATERIALS_TRANSMISSION}function c(e){this.parser=e,this.name=r.KHR_TEXTURE_BASISU}function u(e){this.parser=e,this.name=r.EXT_TEXTURE_WEBP,this.isSupported=null}function h(e){this.name=r.EXT_MESHOPT_COMPRESSION,this.parser=e}o.prototype._markDefs=function(){for(var e=this.parser,t=this.parser.json.nodes||[],n=0,r=t.length;n<r;n++){var i=t[n];i.extensions&&i.extensions[this.name]&&void 0!==i.extensions[this.name].light&&e._addNodeRef(this.cache,i.extensions[this.name].light)}},o.prototype._loadLight=function(e){var t=this.parser,n="light:"+e,r=t.cache.get(n);if(r)return r;var i,o=t.json,a=((o.extensions&&o.extensions[this.name]||{}).lights||[])[e],s=new THREE.Color(16777215);void 0!==a.color&&s.fromArray(a.color);var l=void 0!==a.range?a.range:0;switch(a.type){case"directional":(i=new THREE.DirectionalLight(s)).target.position.set(0,0,-1),i.add(i.target);break;case"point":(i=new THREE.PointLight(s)).distance=l;break;case"spot":(i=new THREE.SpotLight(s)).distance=l,a.spot=a.spot||{},a.spot.innerConeAngle=void 0!==a.spot.innerConeAngle?a.spot.innerConeAngle:0,a.spot.outerConeAngle=void 0!==a.spot.outerConeAngle?a.spot.outerConeAngle:Math.PI/4,i.angle=a.spot.outerConeAngle,i.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,i.target.position.set(0,0,-1),i.add(i.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+a.type)}return i.position.set(0,0,0),i.decay=2,void 0!==a.intensity&&(i.intensity=a.intensity),i.name=t.createUniqueName(a.name||"light_"+e),r=Promise.resolve(i),t.cache.add(n,r),r},o.prototype.createNodeAttachment=function(e){var t=this,n=this.parser,r=n.json.nodes[e],i=(r.extensions&&r.extensions[this.name]||{}).light;return void 0===i?null:this._loadLight(i).then((function(e){return n._getNodeRef(t.cache,i,e)}))},a.prototype.getMaterialType=function(){return THREE.MeshBasicMaterial},a.prototype.extendParams=function(e,t,n){var r=[];e.color=new THREE.Color(1,1,1),e.opacity=1;var i=t.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){var o=i.baseColorFactor;e.color.fromArray(o),e.opacity=o[3]}void 0!==i.baseColorTexture&&r.push(n.assignTexture(e,"map",i.baseColorTexture))}return Promise.all(r)},s.prototype.getMaterialType=function(e){var t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?THREE.MeshPhysicalMaterial:null},s.prototype.extendMaterialParams=function(e,t){var n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();var i=[],o=r.extensions[this.name];if(void 0!==o.clearcoatFactor&&(t.clearcoat=o.clearcoatFactor),void 0!==o.clearcoatTexture&&i.push(n.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),void 0!==o.clearcoatRoughnessFactor&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),void 0!==o.clearcoatRoughnessTexture&&i.push(n.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),void 0!==o.clearcoatNormalTexture&&(i.push(n.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),void 0!==o.clearcoatNormalTexture.scale)){var a=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new THREE.Vector2(a,-a)}return Promise.all(i)},l.prototype.getMaterialType=function(e){var t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?THREE.MeshPhysicalMaterial:null},l.prototype.extendMaterialParams=function(e,t){var n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();var i=[],o=r.extensions[this.name];return void 0!==o.transmissionFactor&&(t.transmission=o.transmissionFactor),void 0!==o.transmissionTexture&&i.push(n.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(i)},c.prototype.loadTexture=function(e){var t=this.parser,n=t.json,r=n.textures[e];if(!r.extensions||!r.extensions[this.name])return null;var i=r.extensions[this.name],o=n.images[i.source],a=t.options.ktx2Loader;if(!a){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,o,a)},u.prototype.loadTexture=function(e){var t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;var o=i.extensions[t],a=r.images[o.source],s=a.uri?n.options.manager.getHandler(a.uri):n.textureLoader;return this.detectSupport().then((function(i){if(i)return n.loadTextureImage(e,a,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)}))},u.prototype.detectSupport=function(){return this.isSupported||(this.isSupported=new Promise((function(e){var t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}}))),this.isSupported},h.prototype.loadBufferView=function(e){var t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){var r=n.extensions[this.name],i=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([i,o.ready]).then((function(e){var t=r.byteOffset||0,n=r.byteLength||0,i=r.count,a=r.byteStride,s=new ArrayBuffer(i*a),l=new Uint8Array(e[0],t,n);return o.decodeGltfBuffer(new Uint8Array(s),i,a,l,r.mode,r.filter),s}))}return null};var d="glTF",p=12,f={JSON:1313821514,BIN:5130562};function m(e){this.name=r.KHR_BINARY_GLTF,this.content=null,this.body=null;var t=new DataView(e,0,p);if(this.header={magic:THREE.LoaderUtils.decodeText(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==d)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");for(var n=this.header.length-p,i=new DataView(e,p),o=0;o<n;){var a=i.getUint32(o,!0);o+=4;var s=i.getUint32(o,!0);if(o+=4,s===f.JSON){var l=new Uint8Array(e,p+o,a);this.content=THREE.LoaderUtils.decodeText(l)}else if(s===f.BIN){var c=p+o;this.body=e.slice(c,c+a)}o+=a}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}function v(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=r.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}function g(){this.name=r.KHR_TEXTURE_TRANSFORM}function y(e){THREE.MeshStandardMaterial.call(this),this.isGLTFSpecularGlossinessMaterial=!0;var t=["#ifdef USE_SPECULARMAP","\tuniform sampler2D specularMap;","#endif"].join("\n"),n=["#ifdef USE_GLOSSINESSMAP","\tuniform sampler2D glossinessMap;","#endif"].join("\n"),r=["vec3 specularFactor = specular;","#ifdef USE_SPECULARMAP","\tvec4 texelSpecular = texture2D( specularMap, vUv );","\ttexelSpecular = sRGBToLinear( texelSpecular );","\t// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture","\tspecularFactor *= texelSpecular.rgb;","#endif"].join("\n"),i=["float glossinessFactor = glossiness;","#ifdef USE_GLOSSINESSMAP","\tvec4 texelGlossiness = texture2D( glossinessMap, vUv );","\t// reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture","\tglossinessFactor *= texelGlossiness.a;","#endif"].join("\n"),o=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );","vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );","material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.","material.specularRoughness += geometryRoughness;","material.specularRoughness = min( material.specularRoughness, 1.0 );","material.specularColor = specularFactor;"].join("\n"),a={specular:{value:(new THREE.Color).setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=a,this.onBeforeCompile=function(e){for(var s in a)e.uniforms[s]=a[s];e.fragmentShader=e.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;").replace("uniform float metalness;","uniform float glossiness;").replace("#include <roughnessmap_pars_fragment>",t).replace("#include <metalnessmap_pars_fragment>",n).replace("#include <roughnessmap_fragment>",r).replace("#include <metalnessmap_fragment>",i).replace("#include <lights_physical_fragment>",o)},Object.defineProperties(this,{specular:{get:function(){return a.specular.value},set:function(e){a.specular.value=e}},specularMap:{get:function(){return a.specularMap.value},set:function(e){a.specularMap.value=e,e?this.defines.USE_SPECULARMAP="":delete this.defines.USE_SPECULARMAP}},glossiness:{get:function(){return a.glossiness.value},set:function(e){a.glossiness.value=e}},glossinessMap:{get:function(){return a.glossinessMap.value},set:function(e){a.glossinessMap.value=e,e?(this.defines.USE_GLOSSINESSMAP="",this.defines.USE_UV=""):(delete this.defines.USE_GLOSSINESSMAP,delete this.defines.USE_UV)}}}),delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this.setValues(e)}function b(){return{name:r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,specularGlossinessParams:["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity","refractionRatio"],getMaterialType:function(){return y},extendParams:function(e,t,n){var r=t.extensions[this.name];e.color=new THREE.Color(1,1,1),e.opacity=1;var i=[];if(Array.isArray(r.diffuseFactor)){var o=r.diffuseFactor;e.color.fromArray(o),e.opacity=o[3]}if(void 0!==r.diffuseTexture&&i.push(n.assignTexture(e,"map",r.diffuseTexture)),e.emissive=new THREE.Color(0,0,0),e.glossiness=void 0!==r.glossinessFactor?r.glossinessFactor:1,e.specular=new THREE.Color(1,1,1),Array.isArray(r.specularFactor)&&e.specular.fromArray(r.specularFactor),void 0!==r.specularGlossinessTexture){var a=r.specularGlossinessTexture;i.push(n.assignTexture(e,"glossinessMap",a)),i.push(n.assignTexture(e,"specularMap",a))}return Promise.all(i)},createMaterial:function(e){var t=new y(e);return t.fog=!0,t.color=e.color,t.map=void 0===e.map?null:e.map,t.lightMap=null,t.lightMapIntensity=1,t.aoMap=void 0===e.aoMap?null:e.aoMap,t.aoMapIntensity=1,t.emissive=e.emissive,t.emissiveIntensity=1,t.emissiveMap=void 0===e.emissiveMap?null:e.emissiveMap,t.bumpMap=void 0===e.bumpMap?null:e.bumpMap,t.bumpScale=1,t.normalMap=void 0===e.normalMap?null:e.normalMap,t.normalMapType=THREE.TangentSpaceNormalMap,e.normalScale&&(t.normalScale=e.normalScale),t.displacementMap=null,t.displacementScale=1,t.displacementBias=0,t.specularMap=void 0===e.specularMap?null:e.specularMap,t.specular=e.specular,t.glossinessMap=void 0===e.glossinessMap?null:e.glossinessMap,t.glossiness=e.glossiness,t.alphaMap=null,t.envMap=void 0===e.envMap?null:e.envMap,t.envMapIntensity=1,t.refractionRatio=.98,t}}}function A(){this.name=r.KHR_MESH_QUANTIZATION}function w(e,t,n,r){THREE.Interpolant.call(this,e,t,n,r)}v.prototype.decodePrimitive=function(e,t){var n=this.json,r=this.dracoLoader,i=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},s={},l={};for(var c in o){var u=S[c]||c.toLowerCase();a[u]=o[c]}for(c in e.attributes)if(u=S[c]||c.toLowerCase(),void 0!==o[c]){var h=n.accessors[e.attributes[c]],d=E[h.componentType];l[u]=d,s[u]=!0===h.normalized}return t.getDependency("bufferView",i).then((function(e){return new Promise((function(t){r.decodeDracoFile(e,(function(e){for(var n in e.attributes){var r=e.attributes[n],i=s[n];void 0!==i&&(r.normalized=i)}t(e)}),a,l)}))}))},g.prototype.extendTexture=function(e,t){return e=e.clone(),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),void 0!==t.texCoord&&console.warn('THREE.GLTFLoader: Custom UV sets in "'+this.name+'" extension not yet supported.'),e.needsUpdate=!0,e},y.prototype=Object.create(THREE.MeshStandardMaterial.prototype),y.prototype.constructor=y,y.prototype.copy=function(e){return THREE.MeshStandardMaterial.prototype.copy.call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this},w.prototype=Object.create(THREE.Interpolant.prototype),w.prototype.constructor=w,w.prototype.copySampleValue_=function(e){for(var t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r*3+r,o=0;o!==r;o++)t[o]=n[i+o];return t},w.prototype.beforeStart_=w.prototype.copySampleValue_,w.prototype.afterEnd_=w.prototype.copySampleValue_,w.prototype.interpolate_=function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=2*a,l=3*a,c=r-t,u=(n-t)/c,h=u*u,d=h*u,p=e*l,f=p-l,m=-2*d+3*h,v=d-h,g=1-m,y=v-h+u,b=0;b!==a;b++){var A=o[f+b+a],w=o[f+b+s]*c,x=o[p+b+a],E=o[p+b]*c;i[b]=g*A+y*w+m*x+v*E}return i};var x={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},E={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},M={9728:THREE.NearestFilter,9729:THREE.LinearFilter,9984:THREE.NearestMipmapNearestFilter,9985:THREE.LinearMipmapNearestFilter,9986:THREE.NearestMipmapLinearFilter,9987:THREE.LinearMipmapLinearFilter},_={33071:THREE.ClampToEdgeWrapping,33648:THREE.MirroredRepeatWrapping,10497:THREE.RepeatWrapping},T={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},S={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},C={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},L={CUBICSPLINE:void 0,LINEAR:THREE.InterpolateLinear,STEP:THREE.InterpolateDiscrete},R={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function P(e,t){return"string"!==typeof e||""===e?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}function D(e){return void 0===e.DefaultMaterial&&(e.DefaultMaterial=new THREE.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:THREE.FrontSide})),e.DefaultMaterial}function O(e,t,n){for(var r in n.extensions)void 0===e[r]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function I(e,t){void 0!==t.extras&&("object"===typeof t.extras?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function B(e,t,n){for(var r=!1,i=!1,o=0,a=t.length;o<a&&(void 0!==(c=t[o]).POSITION&&(r=!0),void 0!==c.NORMAL&&(i=!0),!r||!i);o++);if(!r&&!i)return Promise.resolve(e);var s=[],l=[];for(o=0,a=t.length;o<a;o++){var c=t[o];if(r){var u=void 0!==c.POSITION?n.getDependency("accessor",c.POSITION):e.attributes.position;s.push(u)}i&&(u=void 0!==c.NORMAL?n.getDependency("accessor",c.NORMAL):e.attributes.normal,l.push(u))}return Promise.all([Promise.all(s),Promise.all(l)]).then((function(t){var n=t[0],o=t[1];return r&&(e.morphAttributes.position=n),i&&(e.morphAttributes.normal=o),e.morphTargetsRelative=!0,e}))}function F(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(var n=0,r=t.weights.length;n<r;n++)e.morphTargetInfluences[n]=t.weights[n];if(t.extras&&Array.isArray(t.extras.targetNames)){var i=t.extras.targetNames;if(e.morphTargetInfluences.length===i.length)for(e.morphTargetDictionary={},n=0,r=i.length;n<r;n++)e.morphTargetDictionary[i[n]]=n;else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function k(e){var t=e.extensions&&e.extensions[r.KHR_DRACO_MESH_COMPRESSION];return t?"draco:"+t.bufferView+":"+t.indices+":"+N(t.attributes):e.indices+":"+N(e.attributes)+":"+e.mode}function N(e){for(var t="",n=Object.keys(e).sort(),r=0,i=n.length;r<i;r++)t+=n[r]+":"+e[n[r]]+";";return t}function U(e,t){this.json=e||{},this.extensions={},this.plugins={},this.options=t||{},this.cache=new n,this.associations=new Map,this.primitiveCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.nodeNamesUsed={},"undefined"!==typeof createImageBitmap&&!1===/Firefox/.test(navigator.userAgent)?this.textureLoader=new THREE.ImageBitmapLoader(this.options.manager):this.textureLoader=new THREE.TextureLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new THREE.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}function H(e,t,n){var r=t.attributes,i=new THREE.Box3;if(void 0!==r.POSITION){var o=(d=n.json.accessors[r.POSITION]).min,a=d.max;if(void 0!==o&&void 0!==a){i.set(new THREE.Vector3(o[0],o[1],o[2]),new THREE.Vector3(a[0],a[1],a[2]));var s=t.targets;if(void 0!==s){for(var l=new THREE.Vector3,c=new THREE.Vector3,u=0,h=s.length;u<h;u++){var d,p=s[u];if(void 0!==p.POSITION)o=(d=n.json.accessors[p.POSITION]).min,a=d.max,void 0!==o&&void 0!==a?(c.setX(Math.max(Math.abs(o[0]),Math.abs(a[0]))),c.setY(Math.max(Math.abs(o[1]),Math.abs(a[1]))),c.setZ(Math.max(Math.abs(o[2]),Math.abs(a[2]))),l.max(c)):console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}i.expandByVector(l)}e.boundingBox=i;var f=new THREE.Sphere;i.getCenter(f.center),f.radius=i.min.distanceTo(i.max)/2,e.boundingSphere=f}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}function G(e,t,n){var r=t.attributes,i=[];function o(t,r){return n.getDependency("accessor",t).then((function(t){e.setAttribute(r,t)}))}for(var a in r){var s=S[a]||a.toLowerCase();s in e.attributes||i.push(o(r[a],s))}if(void 0!==t.indices&&!e.index){var l=n.getDependency("accessor",t.indices).then((function(t){e.setIndex(t)}));i.push(l)}return I(e,t),H(e,t,n),Promise.all(i).then((function(){return void 0!==t.targets?B(e,t.targets,n):e}))}function z(e,t){var n=e.getIndex();if(null===n){var r=[],i=e.getAttribute("position");if(void 0===i)return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(var o=0;o<i.count;o++)r.push(o);e.setIndex(r),n=e.getIndex()}var a=n.count-2,s=[];if(t===THREE.TriangleFanDrawMode)for(o=1;o<=a;o++)s.push(n.getX(0)),s.push(n.getX(o)),s.push(n.getX(o+1));else for(o=0;o<a;o++)o%2===0?(s.push(n.getX(o)),s.push(n.getX(o+1)),s.push(n.getX(o+2))):(s.push(n.getX(o+2)),s.push(n.getX(o+1)),s.push(n.getX(o)));s.length/3!==a&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var l=e.clone();return l.setIndex(s),l}return U.prototype.setExtensions=function(e){this.extensions=e},U.prototype.setPlugins=function(e){this.plugins=e},U.prototype.parse=function(e,t){var n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this._invokeAll((function(e){return e._markDefs&&e._markDefs()})),Promise.all([this.getDependencies("scene"),this.getDependencies("animation"),this.getDependencies("camera")]).then((function(t){var o={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};O(i,o,r),I(o,r),e(o)})).catch(t)},U.prototype._markDefs=function(){for(var e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[],r=0,i=t.length;r<i;r++)for(var o=t[r].joints,a=0,s=o.length;a<s;a++)e[o[a]].isBone=!0;for(var l=0,c=e.length;l<c;l++){var u=e[l];void 0!==u.mesh&&(this._addNodeRef(this.meshCache,u.mesh),void 0!==u.skin&&(n[u.mesh].isSkinnedMesh=!0)),void 0!==u.camera&&this._addNodeRef(this.cameraCache,u.camera)}},U.prototype._addNodeRef=function(e,t){void 0!==t&&(void 0===e.refs[t]&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)},U.prototype._getNodeRef=function(e,t,n){if(e.refs[t]<=1)return n;var r=n.clone();return r.name+="_instance_"+e.uses[t]++,r},U.prototype._invokeOne=function(e){var t=Object.values(this.plugins);t.push(this);for(var n=0;n<t.length;n++){var r=e(t[n]);if(r)return r}},U.prototype._invokeAll=function(e){var t=Object.values(this.plugins);t.unshift(this);for(var n=[],r=0;r<t.length;r++){var i=e(t[r]);i&&n.push(i)}return n},U.prototype.getDependency=function(e,t){var n=e+":"+t,r=this.cache.get(n);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this.loadNode(t);break;case"mesh":r=this._invokeOne((function(e){return e.loadMesh&&e.loadMesh(t)}));break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne((function(e){return e.loadBufferView&&e.loadBufferView(t)}));break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne((function(e){return e.loadMaterial&&e.loadMaterial(t)}));break;case"texture":r=this._invokeOne((function(e){return e.loadTexture&&e.loadTexture(t)}));break;case"skin":r=this.loadSkin(t);break;case"animation":r=this.loadAnimation(t);break;case"camera":r=this.loadCamera(t);break;default:throw new Error("Unknown type: "+e)}this.cache.add(n,r)}return r},U.prototype.getDependencies=function(e){var t=this.cache.get(e);if(!t){var n=this,r=this.json[e+("mesh"===e?"es":"s")]||[];t=Promise.all(r.map((function(t,r){return n.getDependency(e,r)}))),this.cache.add(e,t)}return t},U.prototype.loadBuffer=function(e){var t=this.json.buffers[e],n=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[r.KHR_BINARY_GLTF].body);var i=this.options;return new Promise((function(e,r){n.load(P(t.uri,i.path),e,void 0,(function(){r(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))}))}))},U.prototype.loadBufferView=function(e){var t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then((function(e){var n=t.byteLength||0,r=t.byteOffset||0;return e.slice(r,r+n)}))},U.prototype.loadAccessor=function(e){var t=this,n=this.json,r=this.json.accessors[e];if(void 0===r.bufferView&&void 0===r.sparse)return Promise.resolve(null);var i=[];return void 0!==r.bufferView?i.push(this.getDependency("bufferView",r.bufferView)):i.push(null),void 0!==r.sparse&&(i.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),i.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(i).then((function(e){var i,o,a=e[0],s=T[r.type],l=E[r.componentType],c=l.BYTES_PER_ELEMENT,u=c*s,h=r.byteOffset||0,d=void 0!==r.bufferView?n.bufferViews[r.bufferView].byteStride:void 0,p=!0===r.normalized;if(d&&d!==u){var f=Math.floor(h/d),m="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+f+":"+r.count,v=t.cache.get(m);v||(i=new l(a,f*d,r.count*d/c),v=new THREE.InterleavedBuffer(i,d/c),t.cache.add(m,v)),o=new THREE.InterleavedBufferAttribute(v,s,h%d/c,p)}else i=null===a?new l(r.count*s):new l(a,h,r.count*s),o=new THREE.BufferAttribute(i,s,p);if(void 0!==r.sparse){var g=T.SCALAR,y=E[r.sparse.indices.componentType],b=r.sparse.indices.byteOffset||0,A=r.sparse.values.byteOffset||0,w=new y(e[1],b,r.sparse.count*g),x=new l(e[2],A,r.sparse.count*s);null!==a&&(o=new THREE.BufferAttribute(o.array.slice(),o.itemSize,o.normalized));for(var M=0,_=w.length;M<_;M++){var S=w[M];if(o.setX(S,x[M*s]),s>=2&&o.setY(S,x[M*s+1]),s>=3&&o.setZ(S,x[M*s+2]),s>=4&&o.setW(S,x[M*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o}))},U.prototype.loadTexture=function(e){var t,n,i=this,o=this.json,a=this.options,s=o.textures[e],l=s.extensions||{};return(t=l[r.MSFT_TEXTURE_DDS]?o.images[l[r.MSFT_TEXTURE_DDS].source]:o.images[s.source]).uri&&(n=a.manager.getHandler(t.uri)),n||(n=l[r.MSFT_TEXTURE_DDS]?i.extensions[r.MSFT_TEXTURE_DDS].ddsLoader:this.textureLoader),this.loadTextureImage(e,t,n)},U.prototype.loadTextureImage=function(e,t,n){var r=this,i=this.json,o=this.options,a=i.textures[e],s=self.URL||self.webkitURL,l=t.uri,c=!1,u=!0;return"image/jpeg"===t.mimeType&&(u=!1),void 0!==t.bufferView&&(l=r.getDependency("bufferView",t.bufferView).then((function(e){if("image/png"===t.mimeType){var n=new DataView(e,25,1).getUint8(0,!1);u=6===n||4===n||3===n}c=!0;var r=new Blob([e],{type:t.mimeType});return l=s.createObjectURL(r)}))),Promise.resolve(l).then((function(e){return new Promise((function(t,r){var i=t;!0===n.isImageBitmapLoader&&(i=function(e){t(new THREE.CanvasTexture(e))}),n.load(P(e,o.path),i,void 0,r)}))})).then((function(t){!0===c&&s.revokeObjectURL(l),t.flipY=!1,a.name&&(t.name=a.name),u||(t.format=THREE.RGBFormat);var n=(i.samplers||{})[a.sampler]||{};return t.magFilter=M[n.magFilter]||THREE.LinearFilter,t.minFilter=M[n.minFilter]||THREE.LinearMipmapLinearFilter,t.wrapS=_[n.wrapS]||THREE.RepeatWrapping,t.wrapT=_[n.wrapT]||THREE.RepeatWrapping,r.associations.set(t,{type:"textures",index:e}),t}))},U.prototype.assignTexture=function(e,t,n){var i=this;return this.getDependency("texture",n.index).then((function(o){if(void 0===n.texCoord||0==n.texCoord||"aoMap"===t&&1==n.texCoord||console.warn("THREE.GLTFLoader: Custom UV set "+n.texCoord+" for texture "+t+" not yet supported."),i.extensions[r.KHR_TEXTURE_TRANSFORM]){var a=void 0!==n.extensions?n.extensions[r.KHR_TEXTURE_TRANSFORM]:void 0;if(a){var s=i.associations.get(o);o=i.extensions[r.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),i.associations.set(o,s)}}e[t]=o}))},U.prototype.assignFinalMaterial=function(e){var t=e.geometry,n=e.material,r=void 0!==t.attributes.tangent,i=void 0!==t.attributes.color,o=void 0===t.attributes.normal,a=!0===e.isSkinnedMesh,s=Object.keys(t.morphAttributes).length>0,l=s&&void 0!==t.morphAttributes.normal;if(e.isPoints){var c="PointsMaterial:"+n.uuid,u=this.cache.get(c);u||(u=new THREE.PointsMaterial,THREE.Material.prototype.copy.call(u,n),u.color.copy(n.color),u.map=n.map,u.sizeAttenuation=!1,this.cache.add(c,u)),n=u}else if(e.isLine){c="LineBasicMaterial:"+n.uuid;var h=this.cache.get(c);h||(h=new THREE.LineBasicMaterial,THREE.Material.prototype.copy.call(h,n),h.color.copy(n.color),this.cache.add(c,h)),n=h}if(r||i||o||a||s){c="ClonedMaterial:"+n.uuid+":",n.isGLTFSpecularGlossinessMaterial&&(c+="specular-glossiness:"),a&&(c+="skinning:"),r&&(c+="vertex-tangents:"),i&&(c+="vertex-colors:"),o&&(c+="flat-shading:"),s&&(c+="morph-targets:"),l&&(c+="morph-normals:");var d=this.cache.get(c);d||(d=n.clone(),a&&(d.skinning=!0),i&&(d.vertexColors=!0),o&&(d.flatShading=!0),s&&(d.morphTargets=!0),l&&(d.morphNormals=!0),r&&(d.vertexTangents=!0,n.normalScale&&(n.normalScale.y*=-1),n.clearcoatNormalScale&&(n.clearcoatNormalScale.y*=-1)),this.cache.add(c,d),this.associations.set(d,this.associations.get(n))),n=d}n.aoMap&&void 0===t.attributes.uv2&&void 0!==t.attributes.uv&&t.setAttribute("uv2",t.attributes.uv),e.material=n},U.prototype.getMaterialType=function(){return THREE.MeshStandardMaterial},U.prototype.loadMaterial=function(e){var t,n=this,i=this.json,o=this.extensions,a=i.materials[e],s={},l=a.extensions||{},c=[];if(l[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var u=o[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];t=u.getMaterialType(),c.push(u.extendParams(s,a,n))}else if(l[r.KHR_MATERIALS_UNLIT]){var h=o[r.KHR_MATERIALS_UNLIT];t=h.getMaterialType(),c.push(h.extendParams(s,a,n))}else{var d=a.pbrMetallicRoughness||{};if(s.color=new THREE.Color(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){var p=d.baseColorFactor;s.color.fromArray(p),s.opacity=p[3]}void 0!==d.baseColorTexture&&c.push(n.assignTexture(s,"map",d.baseColorTexture)),s.metalness=void 0!==d.metallicFactor?d.metallicFactor:1,s.roughness=void 0!==d.roughnessFactor?d.roughnessFactor:1,void 0!==d.metallicRoughnessTexture&&(c.push(n.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),c.push(n.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),t=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(e)})),c.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,s)}))))}!0===a.doubleSided&&(s.side=THREE.DoubleSide);var f=a.alphaMode||R.OPAQUE;return f===R.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,f===R.MASK&&(s.alphaTest=void 0!==a.alphaCutoff?a.alphaCutoff:.5)),void 0!==a.normalTexture&&t!==THREE.MeshBasicMaterial&&(c.push(n.assignTexture(s,"normalMap",a.normalTexture)),s.normalScale=new THREE.Vector2(1,-1),void 0!==a.normalTexture.scale&&s.normalScale.set(a.normalTexture.scale,-a.normalTexture.scale)),void 0!==a.occlusionTexture&&t!==THREE.MeshBasicMaterial&&(c.push(n.assignTexture(s,"aoMap",a.occlusionTexture)),void 0!==a.occlusionTexture.strength&&(s.aoMapIntensity=a.occlusionTexture.strength)),void 0!==a.emissiveFactor&&t!==THREE.MeshBasicMaterial&&(s.emissive=(new THREE.Color).fromArray(a.emissiveFactor)),void 0!==a.emissiveTexture&&t!==THREE.MeshBasicMaterial&&c.push(n.assignTexture(s,"emissiveMap",a.emissiveTexture)),Promise.all(c).then((function(){var i;return i=t===y?o[r.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(s):new t(s),a.name&&(i.name=a.name),i.map&&(i.map.encoding=THREE.sRGBEncoding),i.emissiveMap&&(i.emissiveMap.encoding=THREE.sRGBEncoding),I(i,a),n.associations.set(i,{type:"materials",index:e}),a.extensions&&O(o,i,a),i}))},U.prototype.createUniqueName=function(e){for(var t=THREE.PropertyBinding.sanitizeNodeName(e||""),n=t,r=1;this.nodeNamesUsed[n];++r)n=t+"_"+r;return this.nodeNamesUsed[n]=!0,n},U.prototype.loadGeometries=function(e){var t=this,n=this.extensions,i=this.primitiveCache;function o(e){return n[r.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then((function(n){return G(n,e,t)}))}for(var a=[],s=0,l=e.length;s<l;s++){var c,u=e[s],h=k(u),d=i[h];d?a.push(d.promise):(c=u.extensions&&u.extensions[r.KHR_DRACO_MESH_COMPRESSION]?o(u):G(new THREE.BufferGeometry,u,t),i[h]={primitive:u,promise:c},a.push(c))}return Promise.all(a)},U.prototype.loadMesh=function(e){for(var t=this,n=this.json,r=this.extensions,i=n.meshes[e],o=i.primitives,a=[],s=0,l=o.length;s<l;s++){var c=void 0===o[s].material?D(this.cache):this.getDependency("material",o[s].material);a.push(c)}return a.push(t.loadGeometries(o)),Promise.all(a).then((function(n){for(var a=n.slice(0,n.length-1),s=n[n.length-1],l=[],c=0,u=s.length;c<u;c++){var h,d=s[c],p=o[c],f=a[c];if(p.mode===x.TRIANGLES||p.mode===x.TRIANGLE_STRIP||p.mode===x.TRIANGLE_FAN||void 0===p.mode)h=!0===i.isSkinnedMesh?new THREE.SkinnedMesh(d,f):new THREE.Mesh(d,f),!0===f.isMeshStandardMaterial&&f.side===THREE.DoubleSide&&null!==d.getIndex()&&!0===d.hasAttribute("position")&&!0===d.hasAttribute("normal")&&!0===d.hasAttribute("uv")&&!1===d.hasAttribute("tangent")&&(d.computeTangents(),f.vertexTangents=!0),!0!==h.isSkinnedMesh||h.geometry.attributes.skinWeight.normalized||h.normalizeSkinWeights(),p.mode===x.TRIANGLE_STRIP?h.geometry=z(h.geometry,THREE.TriangleStripDrawMode):p.mode===x.TRIANGLE_FAN&&(h.geometry=z(h.geometry,THREE.TriangleFanDrawMode));else if(p.mode===x.LINES)h=new THREE.LineSegments(d,f);else if(p.mode===x.LINE_STRIP)h=new THREE.Line(d,f);else if(p.mode===x.LINE_LOOP)h=new THREE.LineLoop(d,f);else{if(p.mode!==x.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+p.mode);h=new THREE.Points(d,f)}Object.keys(h.geometry.morphAttributes).length>0&&F(h,i),h.name=t.createUniqueName(i.name||"mesh_"+e),I(h,i),p.extensions&&O(r,h,p),t.assignFinalMaterial(h),l.push(h)}if(1===l.length)return l[0];var m=new THREE.Group;for(c=0,u=l.length;c<u;c++)m.add(l[c]);return m}))},U.prototype.loadCamera=function(e){var t,n=this.json.cameras[e],r=n[n.type];if(r)return"perspective"===n.type?t=new THREE.PerspectiveCamera(THREE.MathUtils.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):"orthographic"===n.type&&(t=new THREE.OrthographicCamera(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),n.name&&(t.name=this.createUniqueName(n.name)),I(t,n),Promise.resolve(t);console.warn("THREE.GLTFLoader: Missing camera parameters.")},U.prototype.loadSkin=function(e){var t=this.json.skins[e],n={joints:t.joints};return void 0===t.inverseBindMatrices?Promise.resolve(n):this.getDependency("accessor",t.inverseBindMatrices).then((function(e){return n.inverseBindMatrices=e,n}))},U.prototype.loadAnimation=function(e){for(var t=this.json.animations[e],n=[],r=[],i=[],o=[],a=[],s=0,l=t.channels.length;s<l;s++){var c=t.channels[s],u=t.samplers[c.sampler],h=c.target,d=void 0!==h.node?h.node:h.id,p=void 0!==t.parameters?t.parameters[u.input]:u.input,f=void 0!==t.parameters?t.parameters[u.output]:u.output;n.push(this.getDependency("node",d)),r.push(this.getDependency("accessor",p)),i.push(this.getDependency("accessor",f)),o.push(u),a.push(h)}return Promise.all([Promise.all(n),Promise.all(r),Promise.all(i),Promise.all(o),Promise.all(a)]).then((function(n){for(var r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],l=[],c=0,u=r.length;c<u;c++){var h=r[c],d=i[c],p=o[c],f=a[c],m=s[c];if(void 0!==h){var v;switch(h.updateMatrix(),h.matrixAutoUpdate=!0,C[m.path]){case C.weights:v=THREE.NumberKeyframeTrack;break;case C.rotation:v=THREE.QuaternionKeyframeTrack;break;case C.position:case C.scale:default:v=THREE.VectorKeyframeTrack}var g=h.name?h.name:h.uuid,y=void 0!==f.interpolation?L[f.interpolation]:THREE.InterpolateLinear,b=[];C[m.path]===C.weights?h.traverse((function(e){!0===e.isMesh&&e.morphTargetInfluences&&b.push(e.name?e.name:e.uuid)})):b.push(g);var A=p.array;if(p.normalized){var x;if(A.constructor===Int8Array)x=1/127;else if(A.constructor===Uint8Array)x=1/255;else if(A.constructor==Int16Array)x=1/32767;else{if(A.constructor!==Uint16Array)throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");x=1/65535}for(var E=new Float32Array(A.length),M=0,_=A.length;M<_;M++)E[M]=A[M]*x;A=E}for(M=0,_=b.length;M<_;M++){var T=new v(b[M]+"."+C[m.path],d.array,A,y);"CUBICSPLINE"===f.interpolation&&(T.createInterpolant=function(e){return new w(this.times,this.values,this.getValueSize()/3,e)},T.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),l.push(T)}}}var S=t.name?t.name:"animation_"+e;return new THREE.AnimationClip(S,void 0,l)}))},U.prototype.loadNode=function(e){var t=this.json,n=this.extensions,r=this,i=t.nodes[e],o=i.name?r.createUniqueName(i.name):"";return function(){var t=[];return void 0!==i.mesh&&t.push(r.getDependency("mesh",i.mesh).then((function(e){var t=r._getNodeRef(r.meshCache,i.mesh,e);return void 0!==i.weights&&t.traverse((function(e){if(e.isMesh)for(var t=0,n=i.weights.length;t<n;t++)e.morphTargetInfluences[t]=i.weights[t]})),t}))),void 0!==i.camera&&t.push(r.getDependency("camera",i.camera).then((function(e){return r._getNodeRef(r.cameraCache,i.camera,e)}))),r._invokeAll((function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)})).forEach((function(e){t.push(e)})),Promise.all(t)}().then((function(t){var a;if((a=!0===i.isBone?new THREE.Bone:t.length>1?new THREE.Group:1===t.length?t[0]:new THREE.Object3D)!==t[0])for(var s=0,l=t.length;s<l;s++)a.add(t[s]);if(i.name&&(a.userData.name=i.name,a.name=o),I(a,i),i.extensions&&O(n,a,i),void 0!==i.matrix){var c=new THREE.Matrix4;c.fromArray(i.matrix),a.applyMatrix4(c)}else void 0!==i.translation&&a.position.fromArray(i.translation),void 0!==i.rotation&&a.quaternion.fromArray(i.rotation),void 0!==i.scale&&a.scale.fromArray(i.scale);return r.associations.set(a,{type:"nodes",index:e}),a}))},U.prototype.loadScene=function(){function e(t,n,r,i){var o=r.nodes[t];return i.getDependency("node",t).then((function(e){return void 0===o.skin?e:i.getDependency("skin",o.skin).then((function(e){for(var n=[],r=0,o=(t=e).joints.length;r<o;r++)n.push(i.getDependency("node",t.joints[r]));return Promise.all(n)})).then((function(n){return e.traverse((function(e){if(e.isMesh){for(var r=[],i=[],o=0,a=n.length;o<a;o++){var s=n[o];if(s){r.push(s);var l=new THREE.Matrix4;void 0!==t.inverseBindMatrices&&l.fromArray(t.inverseBindMatrices.array,16*o),i.push(l)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[o])}e.bind(new THREE.Skeleton(r,i),e.matrixWorld)}})),e}));var t})).then((function(t){n.add(t);var a=[];if(o.children)for(var s=o.children,l=0,c=s.length;l<c;l++){var u=s[l];a.push(e(u,t,r,i))}return Promise.all(a)}))}return function(t){var n=this.json,r=this.extensions,i=this.json.scenes[t],o=this,a=new THREE.Group;i.name&&(a.name=o.createUniqueName(i.name)),I(a,i),i.extensions&&O(r,a,i);for(var s=i.nodes||[],l=[],c=0,u=s.length;c<u;c++)l.push(e(s[c],a,n,o));return Promise.all(l).then((function(){return a}))}}(),t}()},{}],60:[function(t,n,r){THREE.MTLLoader=function(e){THREE.Loader.call(this,e)},THREE.MTLLoader.prototype=Object.assign(Object.create(THREE.Loader.prototype),{constructor:THREE.MTLLoader,load:function(t,n,r,i){var o=this,a=""===this.path?THREE.LoaderUtils.extractUrlBase(t):this.path,s=new THREE.FileLoader(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,(function(r){try{n(o.parse(r,a))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)},setMaterialOptions:function(e){return this.materialOptions=e,this},parse:function(e,t){for(var n=e.split("\n"),r={},i=/\s+/,o={},a=0;a<n.length;a++){var s=n[a];if(0!==(s=s.trim()).length&&"#"!==s.charAt(0)){var l=s.indexOf(" "),c=l>=0?s.substring(0,l):s;c=c.toLowerCase();var u=l>=0?s.substring(l+1):"";if(u=u.trim(),"newmtl"===c)r={name:u},o[u]=r;else if("ka"===c||"kd"===c||"ks"===c||"ke"===c){var h=u.split(i,3);r[c]=[parseFloat(h[0]),parseFloat(h[1]),parseFloat(h[2])]}else r[c]=u}}var d=new THREE.MTLLoader.MaterialCreator(this.resourcePath||t,this.materialOptions);return d.setCrossOrigin(this.crossOrigin),d.setManager(this.manager),d.setMaterials(o),d}}),THREE.MTLLoader.MaterialCreator=function(e,t){this.baseUrl=e||"",this.options=t,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.side=this.options&&this.options.side?this.options.side:THREE.FrontSide,this.wrap=this.options&&this.options.wrap?this.options.wrap:THREE.RepeatWrapping},THREE.MTLLoader.MaterialCreator.prototype={constructor:THREE.MTLLoader.MaterialCreator,crossOrigin:"anonymous",setCrossOrigin:function(e){return this.crossOrigin=e,this},setManager:function(e){this.manager=e},setMaterials:function(e){this.materialsInfo=this.convert(e),this.materials={},this.materialsArray=[],this.nameLookup={}},convert:function(e){if(!this.options)return e;var t={};for(var n in e){var r=e[n],i={};for(var o in t[n]=i,r){var a=!0,s=r[o],l=o.toLowerCase();switch(l){case"kd":case"ka":case"ks":this.options&&this.options.normalizeRGB&&(s=[s[0]/255,s[1]/255,s[2]/255]),this.options&&this.options.ignoreZeroRGBs&&0===s[0]&&0===s[1]&&0===s[2]&&(a=!1)}a&&(i[l]=s)}}return t},preload:function(){for(var e in this.materialsInfo)this.create(e)},getIndex:function(e){return this.nameLookup[e]},getAsArray:function(){var e=0;for(var t in this.materialsInfo)this.materialsArray[e]=this.create(t),this.nameLookup[t]=e,e++;return this.materialsArray},create:function(e){return void 0===this.materials[e]&&this.createMaterial_(e),this.materials[e]},createMaterial_:function(e){var t=this,n=this.materialsInfo[e],r={name:e,side:this.side};function i(e,t){return"string"!==typeof t||""===t?"":/^https?:\/\//i.test(t)?t:e+t}function o(e,n){if(!r[e]){var o=t.getTextureParams(n,r),a=t.loadTexture(i(t.baseUrl,o.url));a.repeat.copy(o.scale),a.offset.copy(o.offset),a.wrapS=t.wrap,a.wrapT=t.wrap,r[e]=a}}for(var a in n){var s,l=n[a];if(""!==l)switch(a.toLowerCase()){case"kd":r.color=(new THREE.Color).fromArray(l);break;case"ks":r.specular=(new THREE.Color).fromArray(l);break;case"ke":r.emissive=(new THREE.Color).fromArray(l);break;case"map_kd":o("map",l);break;case"map_ks":o("specularMap",l);break;case"map_ke":o("emissiveMap",l);break;case"norm":o("normalMap",l);break;case"map_bump":case"bump":o("bumpMap",l);break;case"map_d":o("alphaMap",l),r.transparent=!0;break;case"ns":r.shininess=parseFloat(l);break;case"d":(s=parseFloat(l))<1&&(r.opacity=s,r.transparent=!0);break;case"tr":s=parseFloat(l),this.options&&this.options.invertTrProperty&&(s=1-s),s>0&&(r.opacity=1-s,r.transparent=!0)}}return this.materials[e]=new THREE.MeshPhongMaterial(r),this.materials[e]},getTextureParams:function(e,t){var n,r={scale:new THREE.Vector2(1,1),offset:new THREE.Vector2(0,0)},i=e.split(/\s+/);return(n=i.indexOf("-bm"))>=0&&(t.bumpScale=parseFloat(i[n+1]),i.splice(n,2)),(n=i.indexOf("-s"))>=0&&(r.scale.set(parseFloat(i[n+1]),parseFloat(i[n+2])),i.splice(n,4)),(n=i.indexOf("-o"))>=0&&(r.offset.set(parseFloat(i[n+1]),parseFloat(i[n+2])),i.splice(n,4)),r.url=i.join(" ").trim(),r},loadTexture:function(e,t,n,r,i){var o,a=void 0!==this.manager?this.manager:THREE.DefaultLoadingManager,s=a.getHandler(e);return null===s&&(s=new THREE.TextureLoader(a)),s.setCrossOrigin&&s.setCrossOrigin(this.crossOrigin),o=s.load(e,n,r,i),void 0!==t&&(o.mapping=t),o}}},{}],61:[function(t,n,r){THREE.OBJLoader=function(){var t=/^[og]\s*(.+)?/,n=/^mtllib /,r=/^usemtl /,i=/^usemap /,o=new THREE.Vector3,a=new THREE.Vector3,s=new THREE.Vector3,l=new THREE.Vector3,c=new THREE.Vector3;function u(){var e={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(e,t){if(this.object&&!1===this.object.fromDeclaration)return this.object.name=e,void(this.object.fromDeclaration=!1!==t);var n=this.object&&"function"===typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&"function"===typeof this.object._finalize&&this.object._finalize(!0),this.object={name:e||"",fromDeclaration:!1!==t,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(e,t){var n=this._finalize(!1);n&&(n.inherited||n.groupCount<=0)&&this.materials.splice(n.index,1);var r={index:this.materials.length,name:e||"",mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:"",smooth:void 0!==n?n.smooth:this.smooth,groupStart:void 0!==n?n.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(e){var t={index:"number"===typeof e?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return t.clone=this.clone.bind(t),t}};return this.materials.push(r),r},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(e){var t=this.currentMaterial();if(t&&-1===t.groupEnd&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(var n=this.materials.length-1;n>=0;n--)this.materials[n].groupCount<=0&&this.materials.splice(n,1);return e&&0===this.materials.length&&this.materials.push({name:"",smooth:this.smooth}),t}},n&&n.name&&"function"===typeof n.clone){var r=n.clone(0);r.inherited=!0,this.object.materials.push(r)}this.objects.push(this.object)},finalize:function(){this.object&&"function"===typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseNormalIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseUVIndex:function(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)},addVertex:function(e,t,n){var r=this.vertices,i=this.object.geometry.vertices;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addVertexPoint:function(e){var t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){var t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,n){var r=this.normals,i=this.object.geometry.normals;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addFaceNormal:function(e,t,n){var r=this.vertices,i=this.object.geometry.normals;o.fromArray(r,e),a.fromArray(r,t),s.fromArray(r,n),c.subVectors(s,a),l.subVectors(o,a),c.cross(l),c.normalize(),i.push(c.x,c.y,c.z),i.push(c.x,c.y,c.z),i.push(c.x,c.y,c.z)},addColor:function(e,t,n){var r=this.colors,i=this.object.geometry.colors;void 0!==r[e]&&i.push(r[e+0],r[e+1],r[e+2]),void 0!==r[t]&&i.push(r[t+0],r[t+1],r[t+2]),void 0!==r[n]&&i.push(r[n+0],r[n+1],r[n+2])},addUV:function(e,t,n){var r=this.uvs,i=this.object.geometry.uvs;i.push(r[e+0],r[e+1]),i.push(r[t+0],r[t+1]),i.push(r[n+0],r[n+1])},addDefaultUV:function(){var e=this.object.geometry.uvs;e.push(0,0),e.push(0,0),e.push(0,0)},addUVLine:function(e){var t=this.uvs;this.object.geometry.uvs.push(t[e+0],t[e+1])},addFace:function(e,t,n,r,i,o,a,s,l){var c=this.vertices.length,u=this.parseVertexIndex(e,c),h=this.parseVertexIndex(t,c),d=this.parseVertexIndex(n,c);if(this.addVertex(u,h,d),this.addColor(u,h,d),void 0!==a&&""!==a){var p=this.normals.length;u=this.parseNormalIndex(a,p),h=this.parseNormalIndex(s,p),d=this.parseNormalIndex(l,p),this.addNormal(u,h,d)}else this.addFaceNormal(u,h,d);if(void 0!==r&&""!==r){var f=this.uvs.length;u=this.parseUVIndex(r,f),h=this.parseUVIndex(i,f),d=this.parseUVIndex(o,f),this.addUV(u,h,d),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(e){this.object.geometry.type="Points";for(var t=this.vertices.length,n=0,r=e.length;n<r;n++){var i=this.parseVertexIndex(e[n],t);this.addVertexPoint(i),this.addColor(i)}},addLineGeometry:function(e,t){this.object.geometry.type="Line";for(var n=this.vertices.length,r=this.uvs.length,i=0,o=e.length;i<o;i++)this.addVertexLine(this.parseVertexIndex(e[i],n));var a=0;for(o=t.length;a<o;a++)this.addUVLine(this.parseUVIndex(t[a],r))}};return e.startObject("",!1),e}function h(e){THREE.Loader.call(this,e),this.materials=null}return h.prototype=Object.assign(Object.create(THREE.Loader.prototype),{constructor:h,load:function(t,n,r,i){var o=this,a=new THREE.FileLoader(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(t,(function(r){try{n(o.parse(r))}catch(e){i?i(e):console.error(e),o.manager.itemError(t)}}),r,i)},setMaterials:function(e){return this.materials=e,this},parse:function(e){var o=new u;-1!==e.indexOf("\r\n")&&(e=e.replace(/\r\n/g,"\n")),-1!==e.indexOf("\\\n")&&(e=e.replace(/\\\n/g,""));for(var a=e.split("\n"),s="",l="",c=[],h="function"===typeof"".trimLeft,d=0,p=a.length;d<p;d++)if(s=a[d],0!==(s=h?s.trimLeft():s.trim()).length&&"#"!==(l=s.charAt(0)))if("v"===l){var f=s.split(/\s+/);switch(f[0]){case"v":o.vertices.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3])),f.length>=7?o.colors.push(parseFloat(f[4]),parseFloat(f[5]),parseFloat(f[6])):o.colors.push(void 0,void 0,void 0);break;case"vn":o.normals.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3]));break;case"vt":o.uvs.push(parseFloat(f[1]),parseFloat(f[2]))}}else if("f"===l){for(var m=s.substr(1).trim().split(/\s+/),v=[],g=0,y=m.length;g<y;g++){var b=m[g];if(b.length>0){var A=b.split("/");v.push(A)}}var w=v[0];for(g=1,y=v.length-1;g<y;g++){var x=v[g],E=v[g+1];o.addFace(w[0],x[0],E[0],w[1],x[1],E[1],w[2],x[2],E[2])}}else if("l"===l){var M=s.substring(1).trim().split(" "),_=[],T=[];if(-1===s.indexOf("/"))_=M;else for(var S=0,C=M.length;S<C;S++){var L=M[S].split("/");""!==L[0]&&_.push(L[0]),""!==L[1]&&T.push(L[1])}o.addLineGeometry(_,T)}else if("p"===l){var R=s.substr(1).trim().split(" ");o.addPointGeometry(R)}else if(null!==(c=t.exec(s))){var P=(" "+c[0].substr(1).trim()).substr(1);o.startObject(P)}else if(r.test(s))o.object.startMaterial(s.substring(7).trim(),o.materialLibraries);else if(n.test(s))o.materialLibraries.push(s.substring(7).trim());else if(i.test(s))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if("s"===l){if((c=s.split(" ")).length>1){var D=c[1].trim().toLowerCase();o.object.smooth="0"!==D&&"off"!==D}else o.object.smooth=!0;(W=o.object.currentMaterial())&&(W.smooth=o.object.smooth)}else{if("\0"===s)continue;console.warn('THREE.OBJLoader: Unexpected line: "'+s+'"')}o.finalize();var O=new THREE.Group;if(O.materialLibraries=[].concat(o.materialLibraries),!0===!(1===o.objects.length&&0===o.objects[0].geometry.vertices.length))for(d=0,p=o.objects.length;d<p;d++){var I=o.objects[d],B=I.geometry,F=I.materials,k="Line"===B.type,N="Points"===B.type,U=!1;if(0!==B.vertices.length){(Q=new THREE.BufferGeometry).setAttribute("position",new THREE.Float32BufferAttribute(B.vertices,3)),B.normals.length>0&&Q.setAttribute("normal",new THREE.Float32BufferAttribute(B.normals,3)),B.colors.length>0&&(U=!0,Q.setAttribute("color",new THREE.Float32BufferAttribute(B.colors,3))),!0===B.hasUVIndices&&Q.setAttribute("uv",new THREE.Float32BufferAttribute(B.uvs,2));for(var H,G=[],z=0,j=F.length;z<j;z++){var V=(Y=F[z]).name+"_"+Y.smooth+"_"+U,W=o.materials[V];if(null!==this.materials)if(W=this.materials.create(Y.name),!k||!W||W instanceof THREE.LineBasicMaterial){if(N&&W&&!(W instanceof THREE.PointsMaterial)){var q=new THREE.PointsMaterial({size:10,sizeAttenuation:!1});THREE.Material.prototype.copy.call(q,W),q.color.copy(W.color),q.map=W.map,W=q}}else{var X=new THREE.LineBasicMaterial;THREE.Material.prototype.copy.call(X,W),X.color.copy(W.color),W=X}void 0===W&&((W=k?new THREE.LineBasicMaterial:N?new THREE.PointsMaterial({size:1,sizeAttenuation:!1}):new THREE.MeshPhongMaterial).name=Y.name,W.flatShading=!Y.smooth,W.vertexColors=U,o.materials[V]=W),G.push(W)}if(G.length>1){for(z=0,j=F.length;z<j;z++){var Y=F[z];Q.addGroup(Y.groupStart,Y.groupCount,z)}H=k?new THREE.LineSegments(Q,G):N?new THREE.Points(Q,G):new THREE.Mesh(Q,G)}else H=k?new THREE.LineSegments(Q,G[0]):N?new THREE.Points(Q,G[0]):new THREE.Mesh(Q,G[0]);H.name=I.name,O.add(H)}}else if(o.vertices.length>0){var Q;W=new THREE.PointsMaterial({size:1,sizeAttenuation:!1}),(Q=new THREE.BufferGeometry).setAttribute("position",new THREE.Float32BufferAttribute(o.vertices,3)),o.colors.length>0&&void 0!==o.colors[0]&&(Q.setAttribute("color",new THREE.Float32BufferAttribute(o.colors,3)),W.vertexColors=!0);var Z=new THREE.Points(Q,W);O.add(Z)}return O}}),h}()},{}],62:[function(e,t,n){THREE.BufferGeometryUtils={computeTangents:function(e){e.computeTangents(),console.warn("THREE.BufferGeometryUtils: .computeTangents() has been removed. Use BufferGeometry.computeTangents() instead.")},mergeBufferGeometries:function(e,t){for(var n=null!==e[0].index,r=new Set(Object.keys(e[0].attributes)),i=new Set(Object.keys(e[0].morphAttributes)),o={},a={},s=e[0].morphTargetsRelative,l=new THREE.BufferGeometry,c=0,u=0;u<e.length;++u){var h=e[u],d=0;if(n!==(null!==h.index))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(var p in h.attributes){if(!r.has(p))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+'. All geometries must have compatible attributes; make sure "'+p+'" attribute exists among all geometries, or in none of them.'),null;void 0===o[p]&&(o[p]=[]),o[p].push(h.attributes[p]),d++}if(d!==r.size)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+". Make sure all geometries have the same number of attributes."),null;if(s!==h.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(var p in h.morphAttributes){if(!i.has(p))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+".  .morphAttributes must be consistent throughout all geometries."),null;void 0===a[p]&&(a[p]=[]),a[p].push(h.morphAttributes[p])}if(l.userData.mergedUserData=l.userData.mergedUserData||[],l.userData.mergedUserData.push(h.userData),t){var f;if(n)f=h.index.count;else{if(void 0===h.attributes.position)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+u+". The geometry must have either an index or a position attribute"),null;f=h.attributes.position.count}l.addGroup(c,f,u),c+=f}}if(n){var m=0,v=[];for(u=0;u<e.length;++u){for(var g=e[u].index,y=0;y<g.count;++y)v.push(g.getX(y)+m);m+=e[u].attributes.position.count}l.setIndex(v)}for(var p in o){var b=this.mergeBufferAttributes(o[p]);if(!b)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+p+" attribute."),null;l.setAttribute(p,b)}for(var p in a){var A=a[p][0].length;if(0===A)break;for(l.morphAttributes=l.morphAttributes||{},l.morphAttributes[p]=[],u=0;u<A;++u){var w=[];for(y=0;y<a[p].length;++y)w.push(a[p][y][u]);var x=this.mergeBufferAttributes(w);if(!x)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+p+" morphAttribute."),null;l.morphAttributes[p].push(x)}}return l},mergeBufferAttributes:function(e){for(var t,n,r,i=0,o=0;o<e.length;++o){var a=e[o];if(a.isInterleavedBufferAttribute)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. InterleavedBufferAttributes are not supported."),null;if(void 0===t&&(t=a.array.constructor),t!==a.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(void 0===n&&(n=a.itemSize),n!==a.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(void 0===r&&(r=a.normalized),r!==a.normalized)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;i+=a.array.length}var s=new t(i),l=0;for(o=0;o<e.length;++o)s.set(e[o].array,l),l+=e[o].array.length;return new THREE.BufferAttribute(s,n,r)},interleaveAttributes:function(e){for(var t,n=0,r=0,i=0,o=e.length;i<o;++i){var a=e[i];if(void 0===t&&(t=a.array.constructor),t!==a.array.constructor)return console.error("AttributeBuffers of different types cannot be interleaved"),null;n+=a.array.length,r+=a.itemSize}var s=new THREE.InterleavedBuffer(new t(n),r),l=0,c=[],u=["getX","getY","getZ","getW"],h=["setX","setY","setZ","setW"],d=0;for(o=e.length;d<o;d++){var p=(a=e[d]).itemSize,f=a.count,m=new THREE.InterleavedBufferAttribute(s,p,l,a.normalized);c.push(m),l+=p;for(var v=0;v<f;v++)for(var g=0;g<p;g++)m[h[g]](v,a[u[g]](v))}return c},estimateBytesUsed:function(e){var t=0;for(var n in e.attributes){var r=e.getAttribute(n);t+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}var i=e.getIndex();return t+=i?i.count*i.itemSize*i.array.BYTES_PER_ELEMENT:0},mergeVertices:function(e,t=1e-4){t=Math.max(t,Number.EPSILON);for(var n={},r=e.getIndex(),i=e.getAttribute("position"),o=r?r.count:i.count,a=0,s=Object.keys(e.attributes),l={},c={},u=[],h=["getX","getY","getZ","getW"],d=0,p=s.length;d<p;d++)l[b=s[d]]=[],(E=e.morphAttributes[b])&&(c[b]=new Array(E.length).fill().map((()=>[])));var f=Math.log10(1/t),m=Math.pow(10,f);for(d=0;d<o;d++){var v=r?r.getX(d):d,g="",y=0;for(p=s.length;y<p;y++)for(var b=s[y],A=(x=e.getAttribute(b)).itemSize,w=0;w<A;w++)g+=~~(x[h[w]](v)*m)+",";if(g in n)u.push(n[g]);else{for(y=0,p=s.length;y<p;y++){b=s[y];var x=e.getAttribute(b),E=e.morphAttributes[b],M=(A=x.itemSize,l[b]),_=c[b];for(w=0;w<A;w++){var T=h[w];if(M.push(x[T](v)),E)for(var S=0,C=E.length;S<C;S++)_[S].push(E[S][T](v))}}n[g]=a,u.push(a),a++}}const L=e.clone();for(d=0,p=s.length;d<p;d++){b=s[d];var R=e.getAttribute(b),P=new R.array.constructor(l[b]);if(x=new THREE.BufferAttribute(P,R.itemSize,R.normalized),L.setAttribute(b,x),b in c)for(y=0;y<c[b].length;y++){var D=e.morphAttributes[b][y],O=(P=new D.array.constructor(c[b][y]),new THREE.BufferAttribute(P,D.itemSize,D.normalized));L.morphAttributes[b][y]=O}}return L.setIndex(u),L},toTrianglesDrawMode:function(e,t){if(t===THREE.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t===THREE.TriangleFanDrawMode||t===THREE.TriangleStripDrawMode){var n=e.getIndex();if(null===n){var r=[],i=e.getAttribute("position");if(void 0===i)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(var o=0;o<i.count;o++)r.push(o);e.setIndex(r),n=e.getIndex()}var a=n.count-2,s=[];if(t===THREE.TriangleFanDrawMode)for(o=1;o<=a;o++)s.push(n.getX(0)),s.push(n.getX(o)),s.push(n.getX(o+1));else for(o=0;o<a;o++)o%2===0?(s.push(n.getX(o)),s.push(n.getX(o+1)),s.push(n.getX(o+2))):(s.push(n.getX(o+2)),s.push(n.getX(o+1)),s.push(n.getX(o)));s.length/3!==a&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var l=e.clone();return l.setIndex(s),l.clearGroups(),l}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e},computeMorphedAttributes:function(e){if(!0!==e.geometry.isBufferGeometry)return console.error("THREE.BufferGeometryUtils: Geometry is not of type THREE.BufferGeometry."),null;var t=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Vector3,i=new THREE.Vector3,o=new THREE.Vector3,a=new THREE.Vector3,s=new THREE.Vector3,l=new THREE.Vector3,c=new THREE.Vector3;function u(e,u,h,d,p,f,m,v,g){t.fromBufferAttribute(h,f),n.fromBufferAttribute(h,m),r.fromBufferAttribute(h,v);var y=e.morphTargetInfluences;if(u.morphTargets&&d&&y){s.set(0,0,0),l.set(0,0,0),c.set(0,0,0);for(var b=0,A=d.length;b<A;b++){var w=y[b];d=d[b],0!==w&&(i.fromBufferAttribute(d,f),o.fromBufferAttribute(d,m),a.fromBufferAttribute(d,v),p?(s.addScaledVector(i,w),l.addScaledVector(o,w),c.addScaledVector(a,w)):(s.addScaledVector(i.sub(t),w),l.addScaledVector(o.sub(n),w),c.addScaledVector(a.sub(r),w)))}t.add(s),n.add(l),r.add(c)}e.isSkinnedMesh&&(e.boneTransform(f,t),e.boneTransform(m,n),e.boneTransform(v,r)),g[3*f+0]=t.x,g[3*f+1]=t.y,g[3*f+2]=t.z,g[3*m+0]=n.x,g[3*m+1]=n.y,g[3*m+2]=n.z,g[3*v+0]=r.x,g[3*v+1]=r.y,g[3*v+2]=r.z}var h,d,p,f,m,v,g,y,b,A=e.geometry,w=e.material,x=A.index,E=A.attributes.position,M=A.morphAttributes.position,_=A.morphTargetsRelative,T=A.attributes.normal,S=A.morphAttributes.position,C=A.groups,L=A.drawRange,R=new Float32Array(E.count*E.itemSize),P=new Float32Array(T.count*T.itemSize);if(null!==x)if(Array.isArray(w))for(f=0,v=C.length;f<v;f++)for(b=w[(y=C[f]).materialIndex],m=Math.max(y.start,L.start),g=Math.min(y.start+y.count,L.start+L.count);m<g;m+=3)u(e,b,E,M,_,h=x.getX(m),d=x.getX(m+1),p=x.getX(m+2),R),u(e,b,T,S,_,h,d,p,P);else for(f=Math.max(0,L.start),v=Math.min(x.count,L.start+L.count);f<v;f+=3)u(e,w,E,M,_,h=x.getX(f),d=x.getX(f+1),p=x.getX(f+2),R),u(e,w,T,S,_,h,d,p,P);else if(void 0!==E)if(Array.isArray(w))for(f=0,v=C.length;f<v;f++)for(b=w[(y=C[f]).materialIndex],m=Math.max(y.start,L.start),g=Math.min(y.start+y.count,L.start+L.count);m<g;m+=3)u(e,b,E,M,_,h=m,d=m+1,p=m+2,R),u(e,b,T,S,_,h,d,p,P);else for(f=Math.max(0,L.start),v=Math.min(E.count,L.start+L.count);f<v;f+=3)u(e,w,E,M,_,h=f,d=f+1,p=f+2,R),u(e,w,T,S,_,h,d,p,P);return{positionAttribute:E,normalAttribute:T,morphedPositionAttribute:new THREE.Float32BufferAttribute(R,3),morphedNormalAttribute:new THREE.Float32BufferAttribute(P,3)}}}},{}],63:[function(e,t,n){var r=e("layout-bmfont-text"),i=e("inherits"),o=e("quad-indices"),a=e("three-buffer-vertex-data"),s=e("object-assign"),l=e("./lib/vertices"),c=e("./lib/utils"),u=THREE.BufferGeometry;function h(e){u.call(this),"string"===typeof e&&(e={text:e}),this._opt=s({},e),e&&this.update(e)}t.exports=function(e){return new h(e)},i(h,u),h.prototype.update=function(e){if("string"===typeof e&&(e={text:e}),!(e=s({},this._opt,e)).font)throw new TypeError("must specify a { font } in options");this.layout=r(e);var t=!1!==e.flipY,n=e.font,i=n.common.scaleW,c=n.common.scaleH,u=this.layout.glyphs.filter((function(e){var t=e.data;return t.width*t.height>0}));this.visibleGlyphs=u;var h=l.positions(u),d=l.uvs(u,i,c,t),p=o({clockwise:!0,type:"uint16",count:u.length});if(a.index(this,p,1,"uint16"),a.attr(this,"position",h,2),a.attr(this,"uv",d,2),!e.multipage&&"page"in this.attributes)this.removeAttribute("page");else if(e.multipage){var f=l.pages(u);a.attr(this,"page",f,1)}},h.prototype.computeBoundingSphere=function(){null===this.boundingSphere&&(this.boundingSphere=new THREE.Sphere);var e=this.attributes.position.array,t=this.attributes.position.itemSize;if(!e||!t||e.length<2)return this.boundingSphere.radius=0,void this.boundingSphere.center.set(0,0,0);c.computeSphere(e,this.boundingSphere),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.')},h.prototype.computeBoundingBox=function(){null===this.boundingBox&&(this.boundingBox=new THREE.Box3);var e=this.boundingBox,t=this.attributes.position.array,n=this.attributes.position.itemSize;!t||!n||t.length<2?e.makeEmpty():c.computeBox(t,e)}},{"./lib/utils":64,"./lib/vertices":65,inherits:30,"layout-bmfont-text":36,"object-assign":39,"quad-indices":51,"three-buffer-vertex-data":66}],64:[function(e,t,n){var r=2,i={min:[0,0],max:[0,0]};function o(e){var t=e.length/r;i.min[0]=e[0],i.min[1]=e[1],i.max[0]=e[0],i.max[1]=e[1];for(var n=0;n<t;n++){var o=e[n*r+0],a=e[n*r+1];i.min[0]=Math.min(o,i.min[0]),i.min[1]=Math.min(a,i.min[1]),i.max[0]=Math.max(o,i.max[0]),i.max[1]=Math.max(a,i.max[1])}}t.exports.computeBox=function(e,t){o(e),t.min.set(i.min[0],i.min[1],0),t.max.set(i.max[0],i.max[1],0)},t.exports.computeSphere=function(e,t){o(e);var n=i.min[0],r=i.min[1],a=i.max[0]-n,s=i.max[1]-r,l=Math.sqrt(a*a+s*s);t.center.set(n+a/2,r+s/2,0),t.radius=l/2}},{}],65:[function(e,t,n){t.exports.pages=function(e){var t=new Float32Array(4*e.length*1),n=0;return e.forEach((function(e){var r=e.data.page||0;t[n++]=r,t[n++]=r,t[n++]=r,t[n++]=r})),t},t.exports.uvs=function(e,t,n,r){var i=new Float32Array(4*e.length*2),o=0;return e.forEach((function(e){var a=e.data,s=a.x+a.width,l=a.y+a.height,c=a.x/t,u=a.y/n,h=s/t,d=l/n;r&&(u=(n-a.y)/n,d=(n-l)/n),i[o++]=c,i[o++]=u,i[o++]=c,i[o++]=d,i[o++]=h,i[o++]=d,i[o++]=h,i[o++]=u})),i},t.exports.positions=function(e){var t=new Float32Array(4*e.length*2),n=0;return e.forEach((function(e){var r=e.data,i=e.position[0]+r.xoffset,o=e.position[1]+r.yoffset,a=r.width,s=r.height;t[n++]=i,t[n++]=o,t[n++]=i,t[n++]=o+s,t[n++]=i+a,t[n++]=o+s,t[n++]=i+a,t[n++]=o})),t}},{}],66:[function(e,t,n){var r=e("flatten-vertex-data");function i(e,t,n,r){"number"!==typeof n&&(n=1),"string"!==typeof r&&(r="uint16");var i=!e.index&&"function"!==typeof e.setIndex,o=a(i?e.getAttribute("index"):e.index,t,n,r);o&&(i?e.addAttribute("index",o):e.index=o)}function o(e,t,n,r,i){if("number"!==typeof r&&(r=3),"string"!==typeof i&&(i="float32"),Array.isArray(n)&&Array.isArray(n[0])&&n[0].length!==r)throw new Error("Nested vertex array has unexpected size; expected "+r+" but found "+n[0].length);var o=a(e.getAttribute(t),n,r,i);e.setAttribute(t,o)}function a(e,t,n,i){return t=r(t=t||[],i),(e=new THREE.BufferAttribute(t,n)).itemSize=n,e.needsUpdate=!0,e}t.exports.attr=o,t.exports.index=i},{"flatten-vertex-data":23}],67:[function(e,t,n){(function(t,r){var i=e("process/browser.js").nextTick,o=Function.prototype.apply,a=Array.prototype.slice,s={},l=0;function c(e,t){this._id=e,this._clearFn=t}n.setTimeout=function(){return new c(o.call(setTimeout,window,arguments),clearTimeout)},n.setInterval=function(){return new c(o.call(setInterval,window,arguments),clearInterval)},n.clearTimeout=n.clearInterval=function(e){e.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},n.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},n.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},n._unrefActive=n.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n.setImmediate="function"===typeof t?t:function(e){var t=l++,r=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,i((function(){s[t]&&(r?e.apply(null,r):e.call(null),n.clearImmediate(t))})),t},n.clearImmediate="function"===typeof r?r:function(e){delete s[e]}}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":49,timers:67}],68:[function(e,n,i){(function(e){!function(e,r){"object"===typeof i&&"undefined"!==typeof n?n.exports=r():"function"===typeof t&&t.amd?t(r):e.WebVRPolyfill=r()}(this,(function(){"use strict";var t="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{};function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,t){return e(t={exports:{}},t.exports),t.exports}var i=function(){return/Android/i.test(navigator.userAgent)||/iPhone|iPad|iPod/i.test(navigator.userAgent)},o=function(e,t){for(var n=0,r=e.length;n<r;n++)t[n]=e[n]},a=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},s=n(r((function(e,n){var r;r=function(){var e=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(l){i=!0,o=l}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=.001,o=1,a=function(e,t){return"data:"+e+","+encodeURIComponent(t)},s=function(e,t,n){return e+(t-e)*n},l=function(){var e=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return e}}(),c=function(){var e=-1!==navigator.userAgent.indexOf("Version")&&-1!==navigator.userAgent.indexOf("Android")&&-1!==navigator.userAgent.indexOf("Chrome");return function(){return e}}(),u=function(){var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return e}}(),h=function(){var e=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return e}}(),d=function(){var e=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),t=e?parseInt(e[1],10):null;return function(){return t}}(),p=function(){var e=!1;return e=l()&&u()&&-1!==navigator.userAgent.indexOf("13_4"),function(){return e}}(),f=function(){var e=!1;if(65===d()){var t=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(t){var n=t[1].split("."),i=r(n,4),o=(i[0],i[1],i[2]),a=i[3];e=3325===parseInt(o,10)&&parseInt(a,10)<148}}return function(){return e}}(),m=function(){var e=-1!==navigator.userAgent.indexOf("R7 Build");return function(){return e}}(),v=function(){var e=90==window.orientation||-90==window.orientation;return m()?!e:e},g=function(e){return!isNaN(e)&&!(e<=i)&&!(e>o)},y=function(){return Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio},b=function(){return Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio},A=function(e){if(c())return!1;if(e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen();else if(e.mozRequestFullScreen)e.mozRequestFullScreen();else{if(!e.msRequestFullscreen)return!1;e.msRequestFullscreen()}return!0},w=function(){if(document.exitFullscreen)document.exitFullscreen();else if(document.webkitExitFullscreen)document.webkitExitFullscreen();else if(document.mozCancelFullScreen)document.mozCancelFullScreen();else{if(!document.msExitFullscreen)return!1;document.msExitFullscreen()}return!0},x=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},E=function(e,t,n,r){var i=e.createShader(e.VERTEX_SHADER);e.shaderSource(i,t),e.compileShader(i);var o=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(o,n),e.compileShader(o);var a=e.createProgram();for(var s in e.attachShader(a,i),e.attachShader(a,o),r)e.bindAttribLocation(a,r[s],s);return e.linkProgram(a),e.deleteShader(i),e.deleteShader(o),a},M=function(e,t){for(var n={},r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),i="",o=0;o<r;o++)n[i=e.getActiveUniform(t,o).name.replace("[0]","")]=e.getUniformLocation(t,i);return n},_=function(e,t,n,r,i,o,a){var s=1/(t-n),l=1/(r-i),c=1/(o-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*l,e[14]=(a+o)*c,e[15]=1,e},T=function(){var e,t=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t},S=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},C=function(e){if(l()){var t=e.style.width,n=e.style.height;e.style.width=parseInt(t)+1+"px",e.style.height=parseInt(n)+"px",setTimeout((function(){e.style.width=t,e.style.height=n}),100)}window.canvas=e},L=function(){var e=Math.PI/180,t=.25*Math.PI;function n(n,r,i,o){var a=Math.tan(r?r.upDegrees*e:t),s=Math.tan(r?r.downDegrees*e:t),l=Math.tan(r?r.leftDegrees*e:t),c=Math.tan(r?r.rightDegrees*e:t),u=2/(l+c),h=2/(a+s);return n[0]=u,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=h,n[6]=0,n[7]=0,n[8]=-(l-c)*u*.5,n[9]=(a-s)*h*.5,n[10]=o/(i-o),n[11]=-1,n[12]=0,n[13]=0,n[14]=o*i/(i-o),n[15]=0,n}function r(e,t,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=r+r,l=i+i,c=o+o,u=r*s,h=r*l,d=r*c,p=i*l,f=i*c,m=o*c,v=a*s,g=a*l,y=a*c;return e[0]=1-(p+m),e[1]=h+y,e[2]=d-g,e[3]=0,e[4]=h-y,e[5]=1-(u+m),e[6]=f+v,e[7]=0,e[8]=d+g,e[9]=f-v,e[10]=1-(u+p),e[11]=0,e[12]=n[0],e[13]=n[1],e[14]=n[2],e[15]=1,e}function i(e,t,n){var r,i,o,a,s,l,c,u,h,d,p,f,m=n[0],v=n[1],g=n[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*g+t[12],e[13]=t[1]*m+t[5]*v+t[9]*g+t[13],e[14]=t[2]*m+t[6]*v+t[10]*g+t[14],e[15]=t[3]*m+t[7]*v+t[11]*g+t[15]):(r=t[0],i=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],d=t[9],p=t[10],f=t[11],e[0]=r,e[1]=i,e[2]=o,e[3]=a,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=d,e[10]=p,e[11]=f,e[12]=r*m+s*v+h*g+t[12],e[13]=i*m+l*v+d*g+t[13],e[14]=o*m+c*v+p*g+t[14],e[15]=a*m+u*v+f*g+t[15]),e}function o(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],h=t[9],d=t[10],p=t[11],f=t[12],m=t[13],v=t[14],g=t[15],y=n*s-r*a,b=n*l-i*a,A=n*c-o*a,w=r*l-i*s,x=r*c-o*s,E=i*c-o*l,M=u*m-h*f,_=u*v-d*f,T=u*g-p*f,S=h*v-d*m,C=h*g-p*m,L=d*g-p*v,R=y*L-b*C+A*S+w*T-x*_+E*M;return R?(R=1/R,e[0]=(s*L-l*C+c*S)*R,e[1]=(i*C-r*L-o*S)*R,e[2]=(m*E-v*x+g*w)*R,e[3]=(d*x-h*E-p*w)*R,e[4]=(l*T-a*L-c*_)*R,e[5]=(n*L-i*T+o*_)*R,e[6]=(v*A-f*E-g*b)*R,e[7]=(u*E-d*A+p*b)*R,e[8]=(a*C-s*T+c*M)*R,e[9]=(r*T-n*C-o*M)*R,e[10]=(f*x-m*A+g*y)*R,e[11]=(h*A-u*x-p*y)*R,e[12]=(s*_-a*S-l*M)*R,e[13]=(n*S-r*_+i*M)*R,e[14]=(m*b-f*w-v*y)*R,e[15]=(u*w-h*b+d*y)*R,e):null}var a=new Float32Array([0,0,0,1]),s=new Float32Array([0,0,0]);function l(e,t,l,c,u,h){n(e,c||null,h.depthNear,h.depthFar),r(t,l.orientation||a,l.position||s),u&&i(t,t,u),o(t,t)}return function(e,t,n){return!(!e||!t)&&(e.pose=t,e.timestamp=t.timestamp,l(e.leftProjectionMatrix,e.leftViewMatrix,t,n._getFieldOfView("left"),n._getEyeOffset("left"),n),l(e.rightProjectionMatrix,e.rightViewMatrix,t,n._getFieldOfView("right"),n._getEyeOffset("right"),n),!0)}}(),R=function(){var e=window.self!==window.top,t=P(document.referrer),n=P(window.location.href);return e&&t!==n},P=function(e){var t,n=e.indexOf("://");t=-1!==n?n+3:0;var r=e.indexOf("/",t);return-1===r&&(r=e.length),e.substring(0,r)},D=function(e){return e.w>1?(console.warn("getQuaternionAngle: w > 1"),0):2*Math.acos(e.w)},O=function(){var e={};return function(t,n){void 0===e[t]&&(console.warn("webvr-polyfill: "+n),e[t]=!0)}}(),I=function(e,t){O(e,e+" has been deprecated. This may not work on native WebVR displays. "+(t?"Please use "+t+" instead.":""))};function B(e,t,n){if(t){for(var r=[],i=null,o=0;o<t.length;++o)switch(a=t[o]){case e.TEXTURE_BINDING_2D:case e.TEXTURE_BINDING_CUBE_MAP:if((l=t[++o])<e.TEXTURE0||l>e.TEXTURE31){console.error("TEXTURE_BINDING_2D or TEXTURE_BINDING_CUBE_MAP must be followed by a valid texture unit"),r.push(null,null);break}i||(i=e.getParameter(e.ACTIVE_TEXTURE)),e.activeTexture(l),r.push(e.getParameter(a),null);break;case e.ACTIVE_TEXTURE:i=e.getParameter(e.ACTIVE_TEXTURE),r.push(null);break;default:r.push(e.getParameter(a))}for(n(e),o=0;o<t.length;++o){var a=t[o],s=r[o];switch(a){case e.ACTIVE_TEXTURE:break;case e.ARRAY_BUFFER_BINDING:e.bindBuffer(e.ARRAY_BUFFER,s);break;case e.COLOR_CLEAR_VALUE:e.clearColor(s[0],s[1],s[2],s[3]);break;case e.COLOR_WRITEMASK:e.colorMask(s[0],s[1],s[2],s[3]);break;case e.CURRENT_PROGRAM:e.useProgram(s);break;case e.ELEMENT_ARRAY_BUFFER_BINDING:e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,s);break;case e.FRAMEBUFFER_BINDING:e.bindFramebuffer(e.FRAMEBUFFER,s);break;case e.RENDERBUFFER_BINDING:e.bindRenderbuffer(e.RENDERBUFFER,s);break;case e.TEXTURE_BINDING_2D:if((l=t[++o])<e.TEXTURE0||l>e.TEXTURE31)break;e.activeTexture(l),e.bindTexture(e.TEXTURE_2D,s);break;case e.TEXTURE_BINDING_CUBE_MAP:var l;if((l=t[++o])<e.TEXTURE0||l>e.TEXTURE31)break;e.activeTexture(l),e.bindTexture(e.TEXTURE_CUBE_MAP,s);break;case e.VIEWPORT:e.viewport(s[0],s[1],s[2],s[3]);break;case e.BLEND:case e.CULL_FACE:case e.DEPTH_TEST:case e.SCISSOR_TEST:case e.STENCIL_TEST:s?e.enable(a):e.disable(a);break;default:console.log("No GL restore behavior for 0x"+a.toString(16))}i&&e.activeTexture(i)}}else n(e)}var F=B,k=["attribute vec2 position;","attribute vec3 texCoord;","varying vec2 vTexCoord;","uniform vec4 viewportOffsetScale[2];","void main() {","  vec4 viewport = viewportOffsetScale[int(texCoord.z)];","  vTexCoord = (texCoord.xy * viewport.zw) + viewport.xy;","  gl_Position = vec4( position, 1.0, 1.0 );","}"].join("\n"),N=["precision mediump float;","uniform sampler2D diffuse;","varying vec2 vTexCoord;","void main() {","  gl_FragColor = texture2D(diffuse, vTexCoord);","}"].join("\n");function U(e,t,n,r){this.gl=e,this.cardboardUI=t,this.bufferScale=n,this.dirtySubmitFrameBindings=r,this.ctxAttribs=e.getContextAttributes(),this.instanceExt=e.getExtension("ANGLE_instanced_arrays"),this.meshWidth=20,this.meshHeight=20,this.bufferWidth=e.drawingBufferWidth,this.bufferHeight=e.drawingBufferHeight,this.realBindFramebuffer=e.bindFramebuffer,this.realEnable=e.enable,this.realDisable=e.disable,this.realColorMask=e.colorMask,this.realClearColor=e.clearColor,this.realViewport=e.viewport,l()||(this.realCanvasWidth=Object.getOwnPropertyDescriptor(e.canvas.__proto__,"width"),this.realCanvasHeight=Object.getOwnPropertyDescriptor(e.canvas.__proto__,"height")),this.isPatched=!1,this.lastBoundFramebuffer=null,this.cullFace=!1,this.depthTest=!1,this.blend=!1,this.scissorTest=!1,this.stencilTest=!1,this.viewport=[0,0,0,0],this.colorMask=[!0,!0,!0,!0],this.clearColor=[0,0,0,0],this.attribs={position:0,texCoord:1},this.program=E(e,k,N,this.attribs),this.uniforms=M(e,this.program),this.viewportOffsetScale=new Float32Array(8),this.setTextureBounds(),this.vertexBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.indexCount=0,this.renderTarget=e.createTexture(),this.framebuffer=e.createFramebuffer(),this.depthStencilBuffer=null,this.depthBuffer=null,this.stencilBuffer=null,this.ctxAttribs.depth&&this.ctxAttribs.stencil?this.depthStencilBuffer=e.createRenderbuffer():this.ctxAttribs.depth?this.depthBuffer=e.createRenderbuffer():this.ctxAttribs.stencil&&(this.stencilBuffer=e.createRenderbuffer()),this.patch(),this.onResize()}U.prototype.destroy=function(){var e=this.gl;this.unpatch(),e.deleteProgram(this.program),e.deleteBuffer(this.vertexBuffer),e.deleteBuffer(this.indexBuffer),e.deleteTexture(this.renderTarget),e.deleteFramebuffer(this.framebuffer),this.depthStencilBuffer&&e.deleteRenderbuffer(this.depthStencilBuffer),this.depthBuffer&&e.deleteRenderbuffer(this.depthBuffer),this.stencilBuffer&&e.deleteRenderbuffer(this.stencilBuffer),this.cardboardUI&&this.cardboardUI.destroy()},U.prototype.onResize=function(){var e=this.gl,t=this,n=[e.RENDERBUFFER_BINDING,e.TEXTURE_BINDING_2D,e.TEXTURE0];F(e,n,(function(e){t.realBindFramebuffer.call(e,e.FRAMEBUFFER,null),t.scissorTest&&t.realDisable.call(e,e.SCISSOR_TEST),t.realColorMask.call(e,!0,!0,!0,!0),t.realViewport.call(e,0,0,e.drawingBufferWidth,e.drawingBufferHeight),t.realClearColor.call(e,0,0,0,1),e.clear(e.COLOR_BUFFER_BIT),t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.framebuffer),e.bindTexture(e.TEXTURE_2D,t.renderTarget),e.texImage2D(e.TEXTURE_2D,0,t.ctxAttribs.alpha?e.RGBA:e.RGB,t.bufferWidth,t.bufferHeight,0,t.ctxAttribs.alpha?e.RGBA:e.RGB,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.renderTarget,0),t.ctxAttribs.depth&&t.ctxAttribs.stencil?(e.bindRenderbuffer(e.RENDERBUFFER,t.depthStencilBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t.depthStencilBuffer)):t.ctxAttribs.depth?(e.bindRenderbuffer(e.RENDERBUFFER,t.depthBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t.depthBuffer)):t.ctxAttribs.stencil&&(e.bindRenderbuffer(e.RENDERBUFFER,t.stencilBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.STENCIL_INDEX8,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.STENCIL_ATTACHMENT,e.RENDERBUFFER,t.stencilBuffer)),!e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer incomplete!"),t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.lastBoundFramebuffer),t.scissorTest&&t.realEnable.call(e,e.SCISSOR_TEST),t.realColorMask.apply(e,t.colorMask),t.realViewport.apply(e,t.viewport),t.realClearColor.apply(e,t.clearColor)})),this.cardboardUI&&this.cardboardUI.onResize()},U.prototype.patch=function(){if(!this.isPatched){var e=this,t=this.gl.canvas,n=this.gl;l()||(t.width=y()*this.bufferScale,t.height=b()*this.bufferScale,Object.defineProperty(t,"width",{configurable:!0,enumerable:!0,get:function(){return e.bufferWidth},set:function(n){e.bufferWidth=n,e.realCanvasWidth.set.call(t,n),e.onResize()}}),Object.defineProperty(t,"height",{configurable:!0,enumerable:!0,get:function(){return e.bufferHeight},set:function(n){e.bufferHeight=n,e.realCanvasHeight.set.call(t,n),e.onResize()}})),this.lastBoundFramebuffer=n.getParameter(n.FRAMEBUFFER_BINDING),null==this.lastBoundFramebuffer&&(this.lastBoundFramebuffer=this.framebuffer,this.gl.bindFramebuffer(n.FRAMEBUFFER,this.framebuffer)),this.gl.bindFramebuffer=function(t,r){e.lastBoundFramebuffer=r||e.framebuffer,e.realBindFramebuffer.call(n,t,e.lastBoundFramebuffer)},this.cullFace=n.getParameter(n.CULL_FACE),this.depthTest=n.getParameter(n.DEPTH_TEST),this.blend=n.getParameter(n.BLEND),this.scissorTest=n.getParameter(n.SCISSOR_TEST),this.stencilTest=n.getParameter(n.STENCIL_TEST),n.enable=function(t){switch(t){case n.CULL_FACE:e.cullFace=!0;break;case n.DEPTH_TEST:e.depthTest=!0;break;case n.BLEND:e.blend=!0;break;case n.SCISSOR_TEST:e.scissorTest=!0;break;case n.STENCIL_TEST:e.stencilTest=!0}e.realEnable.call(n,t)},n.disable=function(t){switch(t){case n.CULL_FACE:e.cullFace=!1;break;case n.DEPTH_TEST:e.depthTest=!1;break;case n.BLEND:e.blend=!1;break;case n.SCISSOR_TEST:e.scissorTest=!1;break;case n.STENCIL_TEST:e.stencilTest=!1}e.realDisable.call(n,t)},this.colorMask=n.getParameter(n.COLOR_WRITEMASK),n.colorMask=function(t,r,i,o){e.colorMask[0]=t,e.colorMask[1]=r,e.colorMask[2]=i,e.colorMask[3]=o,e.realColorMask.call(n,t,r,i,o)},this.clearColor=n.getParameter(n.COLOR_CLEAR_VALUE),n.clearColor=function(t,r,i,o){e.clearColor[0]=t,e.clearColor[1]=r,e.clearColor[2]=i,e.clearColor[3]=o,e.realClearColor.call(n,t,r,i,o)},this.viewport=n.getParameter(n.VIEWPORT),n.viewport=function(t,r,i,o){e.viewport[0]=t,e.viewport[1]=r,e.viewport[2]=i,e.viewport[3]=o,e.realViewport.call(n,t,r,i,o)},this.isPatched=!0,C(t)}},U.prototype.unpatch=function(){if(this.isPatched){var e=this.gl,t=this.gl.canvas;l()||(Object.defineProperty(t,"width",this.realCanvasWidth),Object.defineProperty(t,"height",this.realCanvasHeight)),t.width=this.bufferWidth,t.height=this.bufferHeight,e.bindFramebuffer=this.realBindFramebuffer,e.enable=this.realEnable,e.disable=this.realDisable,e.colorMask=this.realColorMask,e.clearColor=this.realClearColor,e.viewport=this.realViewport,this.lastBoundFramebuffer==this.framebuffer&&e.bindFramebuffer(e.FRAMEBUFFER,null),this.isPatched=!1,setTimeout((function(){C(t)}),1)}},U.prototype.setTextureBounds=function(e,t){e||(e=[0,0,.5,1]),t||(t=[.5,0,.5,1]),this.viewportOffsetScale[0]=e[0],this.viewportOffsetScale[1]=e[1],this.viewportOffsetScale[2]=e[2],this.viewportOffsetScale[3]=e[3],this.viewportOffsetScale[4]=t[0],this.viewportOffsetScale[5]=t[1],this.viewportOffsetScale[6]=t[2],this.viewportOffsetScale[7]=t[3]},U.prototype.submitFrame=function(){var e=this.gl,t=this,n=[];if(this.dirtySubmitFrameBindings||n.push(e.CURRENT_PROGRAM,e.ARRAY_BUFFER_BINDING,e.ELEMENT_ARRAY_BUFFER_BINDING,e.TEXTURE_BINDING_2D,e.TEXTURE0),F(e,n,(function(e){t.realBindFramebuffer.call(e,e.FRAMEBUFFER,null);var n=0,r=0;t.instanceExt&&(n=e.getVertexAttrib(t.attribs.position,t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),r=e.getVertexAttrib(t.attribs.texCoord,t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE)),t.cullFace&&t.realDisable.call(e,e.CULL_FACE),t.depthTest&&t.realDisable.call(e,e.DEPTH_TEST),t.blend&&t.realDisable.call(e,e.BLEND),t.scissorTest&&t.realDisable.call(e,e.SCISSOR_TEST),t.stencilTest&&t.realDisable.call(e,e.STENCIL_TEST),t.realColorMask.call(e,!0,!0,!0,!0),t.realViewport.call(e,0,0,e.drawingBufferWidth,e.drawingBufferHeight),(t.ctxAttribs.alpha||l())&&(t.realClearColor.call(e,0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)),e.useProgram(t.program),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.indexBuffer),e.bindBuffer(e.ARRAY_BUFFER,t.vertexBuffer),e.enableVertexAttribArray(t.attribs.position),e.enableVertexAttribArray(t.attribs.texCoord),e.vertexAttribPointer(t.attribs.position,2,e.FLOAT,!1,20,0),e.vertexAttribPointer(t.attribs.texCoord,3,e.FLOAT,!1,20,8),t.instanceExt&&(0!=n&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.position,0),0!=r&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.texCoord,0)),e.activeTexture(e.TEXTURE0),e.uniform1i(t.uniforms.diffuse,0),e.bindTexture(e.TEXTURE_2D,t.renderTarget),e.uniform4fv(t.uniforms.viewportOffsetScale,t.viewportOffsetScale),e.drawElements(e.TRIANGLES,t.indexCount,e.UNSIGNED_SHORT,0),t.cardboardUI&&t.cardboardUI.renderNoState(),t.realBindFramebuffer.call(t.gl,e.FRAMEBUFFER,t.framebuffer),t.ctxAttribs.preserveDrawingBuffer||(t.realClearColor.call(e,0,0,0,0),e.clear(e.COLOR_BUFFER_BIT)),t.dirtySubmitFrameBindings||t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.lastBoundFramebuffer),t.cullFace&&t.realEnable.call(e,e.CULL_FACE),t.depthTest&&t.realEnable.call(e,e.DEPTH_TEST),t.blend&&t.realEnable.call(e,e.BLEND),t.scissorTest&&t.realEnable.call(e,e.SCISSOR_TEST),t.stencilTest&&t.realEnable.call(e,e.STENCIL_TEST),t.realColorMask.apply(e,t.colorMask),t.realViewport.apply(e,t.viewport),!t.ctxAttribs.alpha&&t.ctxAttribs.preserveDrawingBuffer||t.realClearColor.apply(e,t.clearColor),t.instanceExt&&(0!=n&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.position,n),0!=r&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.texCoord,r))})),l()){var r=e.canvas;r.width==t.bufferWidth&&r.height==t.bufferHeight||(t.bufferWidth=r.width,t.bufferHeight=r.height,t.onResize())}},U.prototype.updateDeviceInfo=function(e){var t=this.gl,n=this,r=[t.ARRAY_BUFFER_BINDING,t.ELEMENT_ARRAY_BUFFER_BINDING];F(t,r,(function(t){var r=n.computeMeshVertices_(n.meshWidth,n.meshHeight,e);if(t.bindBuffer(t.ARRAY_BUFFER,n.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,r,t.STATIC_DRAW),!n.indexCount){var i=n.computeMeshIndices_(n.meshWidth,n.meshHeight);t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,i,t.STATIC_DRAW),n.indexCount=i.length}}))},U.prototype.computeMeshVertices_=function(e,t,n){for(var r=new Float32Array(2*e*t*5),i=n.getLeftEyeVisibleTanAngles(),o=n.getLeftEyeNoLensTanAngles(),a=n.getLeftEyeVisibleScreenRect(o),l=0,c=0;c<2;c++){for(var u=0;u<t;u++)for(var h=0;h<e;h++,l++){var d=h/(e-1),p=u/(t-1),f=d,m=p,v=s(i[0],i[2],d),g=s(i[3],i[1],p),y=Math.sqrt(v*v+g*g),b=n.distortion.distortInverse(y),A=g*b/y;d=(v*b/y-o[0])/(o[2]-o[0]),p=(A-o[3])/(o[1]-o[3]),d=2*(a.x+d*a.width-.5),p=2*(a.y+p*a.height-.5),r[5*l+0]=d,r[5*l+1]=p,r[5*l+2]=f,r[5*l+3]=m,r[5*l+4]=c}var w=i[2]-i[0];i[0]=-(w+i[0]),i[2]=w-i[2],w=o[2]-o[0],o[0]=-(w+o[0]),o[2]=w-o[2],a.x=1-(a.x+a.width)}return r},U.prototype.computeMeshIndices_=function(e,t){for(var n=new Uint16Array(2*(e-1)*(t-1)*6),r=e/2,i=t/2,o=0,a=0,s=0;s<2;s++)for(var l=0;l<t;l++)for(var c=0;c<e;c++,o++)0!=c&&0!=l&&(c<=r==l<=i?(n[a++]=o,n[a++]=o-e-1,n[a++]=o-e,n[a++]=o-e-1,n[a++]=o,n[a++]=o-1):(n[a++]=o-1,n[a++]=o-e,n[a++]=o,n[a++]=o-e,n[a++]=o-1,n[a++]=o-e-1));return n},U.prototype.getOwnPropertyDescriptor_=function(e,t){var n=Object.getOwnPropertyDescriptor(e,t);return void 0!==n.get&&void 0!==n.set||(n.configurable=!0,n.enumerable=!0,n.get=function(){return this.getAttribute(t)},n.set=function(e){this.setAttribute(t,e)}),n};var H=["attribute vec2 position;","uniform mat4 projectionMat;","void main() {","  gl_Position = projectionMat * vec4( position, -1.0, 1.0 );","}"].join("\n"),G=["precision mediump float;","uniform vec4 color;","void main() {","  gl_FragColor = color;","}"].join("\n"),z=Math.PI/180,j=60,V=12,W=20,q=1,X=.75,Y=.3125,Q=4,Z=28,K=1.5;function J(e){this.gl=e,this.attribs={position:0},this.program=E(e,H,G,this.attribs),this.uniforms=M(e,this.program),this.vertexBuffer=e.createBuffer(),this.gearOffset=0,this.gearVertexCount=0,this.arrowOffset=0,this.arrowVertexCount=0,this.projMat=new Float32Array(16),this.listener=null,this.onResize()}function $(e){this.coefficients=e}J.prototype.destroy=function(){var e=this.gl;this.listener&&e.canvas.removeEventListener("click",this.listener,!1),e.deleteProgram(this.program),e.deleteBuffer(this.vertexBuffer)},J.prototype.listen=function(e,t){var n=this.gl.canvas;this.listener=function(r){var i=n.clientWidth/2,o=Z*K;r.clientX>i-o&&r.clientX<i+o&&r.clientY>n.clientHeight-o?e(r):r.clientX<o&&r.clientY<o&&t(r)},n.addEventListener("click",this.listener,!1)},J.prototype.onResize=function(){var e=this.gl,t=this,n=[e.ARRAY_BUFFER_BINDING];F(e,n,(function(e){var n=[],r=e.drawingBufferWidth/2,i=Math.max(screen.width,screen.height)*window.devicePixelRatio,o=e.drawingBufferWidth/i*window.devicePixelRatio,a=Q*o/2,s=Z*K*o,l=Z*o/2,c=(Z*K-Z)*o;function u(e,t){var i=(90-e)*z,o=Math.cos(i),a=Math.sin(i);n.push(Y*o*l+r,Y*a*l+l),n.push(t*o*l+r,t*a*l+l)}n.push(r-a,s),n.push(r-a,e.drawingBufferHeight),n.push(r+a,s),n.push(r+a,e.drawingBufferHeight),t.gearOffset=n.length/2;for(var h=0;h<=6;h++){var d=h*j;u(d,q),u(d+V,q),u(d+W,X),u(d+(j-W),X),u(d+(j-V),q)}function p(t,r){n.push(c+t,e.drawingBufferHeight-c-r)}t.gearVertexCount=n.length/2-t.gearOffset,t.arrowOffset=n.length/2;var f=a/Math.sin(45*z);p(0,l),p(l,0),p(l+f,f),p(f,l+f),p(f,l-f),p(0,l),p(l,2*l),p(l+f,2*l-f),p(f,l-f),p(0,l),p(f,l-a),p(Z*o,l-a),p(f,l+a),p(Z*o,l+a),t.arrowVertexCount=n.length/2-t.arrowOffset,e.bindBuffer(e.ARRAY_BUFFER,t.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,new Float32Array(n),e.STATIC_DRAW)}))},J.prototype.render=function(){var e=this.gl,t=this,n=[e.CULL_FACE,e.DEPTH_TEST,e.BLEND,e.SCISSOR_TEST,e.STENCIL_TEST,e.COLOR_WRITEMASK,e.VIEWPORT,e.CURRENT_PROGRAM,e.ARRAY_BUFFER_BINDING];F(e,n,(function(e){e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.BLEND),e.disable(e.SCISSOR_TEST),e.disable(e.STENCIL_TEST),e.colorMask(!0,!0,!0,!0),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),t.renderNoState()}))},J.prototype.renderNoState=function(){var e=this.gl;e.useProgram(this.program),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.enableVertexAttribArray(this.attribs.position),e.vertexAttribPointer(this.attribs.position,2,e.FLOAT,!1,8,0),e.uniform4f(this.uniforms.color,1,1,1,1),_(this.projMat,0,e.drawingBufferWidth,0,e.drawingBufferHeight,.1,1024),e.uniformMatrix4fv(this.uniforms.projectionMat,!1,this.projMat),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.drawArrays(e.TRIANGLE_STRIP,this.gearOffset,this.gearVertexCount),e.drawArrays(e.TRIANGLE_STRIP,this.arrowOffset,this.arrowVertexCount)},$.prototype.distortInverse=function(e){for(var t=0,n=1,r=e-this.distort(t);Math.abs(n-t)>1e-4;){var i=e-this.distort(n),o=n-i*((n-t)/(i-r));t=n,n=o,r=i}return n},$.prototype.distort=function(e){for(var t=e*e,n=0,r=0;r<this.coefficients.length;r++)n=t*(n+this.coefficients[r]);return(n+1)*e};var ee=Math.PI/180,te=180/Math.PI,ne=function(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0};ne.prototype={constructor:ne,set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var e=this.length();if(0!==e){var t=1/e;this.multiplyScalar(t)}else this.x=0,this.y=0,this.z=0;return this},multiplyScalar:function(e){this.x*=e,this.y*=e,this.z*=e},applyQuaternion:function(e){var t=this.x,n=this.y,r=this.z,i=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*r-a*n,c=s*n+a*t-i*r,u=s*r+i*n-o*t,h=-i*t-o*n-a*r;return this.x=l*s+h*-i+c*-a-u*-o,this.y=c*s+h*-o+u*-i-l*-a,this.z=u*s+h*-a+l*-o-c*-i,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},crossVectors:function(e,t){var n=e.x,r=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=r*s-i*a,this.y=i*o-n*s,this.z=n*a-r*o,this}};var re=function(e,t,n,r){this.x=e||0,this.y=t||0,this.z=n||0,this.w=void 0!==r?r:1};function ie(e){this.width=e.width||y(),this.height=e.height||b(),this.widthMeters=e.widthMeters,this.heightMeters=e.heightMeters,this.bevelMeters=e.bevelMeters}re.prototype={constructor:re,set:function(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},setFromEulerXYZ:function(e,t,n){var r=Math.cos(e/2),i=Math.cos(t/2),o=Math.cos(n/2),a=Math.sin(e/2),s=Math.sin(t/2),l=Math.sin(n/2);return this.x=a*i*o+r*s*l,this.y=r*s*o-a*i*l,this.z=r*i*l+a*s*o,this.w=r*i*o-a*s*l,this},setFromEulerYXZ:function(e,t,n){var r=Math.cos(e/2),i=Math.cos(t/2),o=Math.cos(n/2),a=Math.sin(e/2),s=Math.sin(t/2),l=Math.sin(n/2);return this.x=a*i*o+r*s*l,this.y=r*s*o-a*i*l,this.z=r*i*l-a*s*o,this.w=r*i*o+a*s*l,this},setFromAxisAngle:function(e,t){var n=t/2,r=Math.sin(n);return this.x=e.x*r,this.y=e.y*r,this.z=e.z*r,this.w=Math.cos(n),this},multiply:function(e){return this.multiplyQuaternions(this,e)},multiplyQuaternions:function(e,t){var n=e.x,r=e.y,i=e.z,o=e.w,a=t.x,s=t.y,l=t.z,c=t.w;return this.x=n*c+o*a+r*l-i*s,this.y=r*c+o*s+i*a-n*l,this.z=i*c+o*l+n*s-r*a,this.w=o*c-n*a-r*s-i*l,this},inverse:function(){return this.x*=-1,this.y*=-1,this.z*=-1,this.normalize(),this},normalize:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=1):(e=1/e,this.x=this.x*e,this.y=this.y*e,this.z=this.z*e,this.w=this.w*e),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this.x,r=this.y,i=this.z,o=this.w,a=o*e.w+n*e.x+r*e.y+i*e.z;if(a<0?(this.w=-e.w,this.x=-e.x,this.y=-e.y,this.z=-e.z,a=-a):this.copy(e),a>=1)return this.w=o,this.x=n,this.y=r,this.z=i,this;var s=Math.acos(a),l=Math.sqrt(1-a*a);if(Math.abs(l)<.001)return this.w=.5*(o+this.w),this.x=.5*(n+this.x),this.y=.5*(r+this.y),this.z=.5*(i+this.z),this;var c=Math.sin((1-t)*s)/l,u=Math.sin(t*s)/l;return this.w=o*c+this.w*u,this.x=n*c+this.x*u,this.y=r*c+this.y*u,this.z=i*c+this.z*u,this},setFromUnitVectors:function(){var e,t,n=1e-6;return function(r,i){return void 0===e&&(e=new ne),(t=r.dot(i)+1)<n?(t=0,Math.abs(r.x)>Math.abs(r.z)?e.set(-r.y,r.x,0):e.set(0,-r.z,r.y)):e.crossVectors(r,i),this.x=e.x,this.y=e.y,this.z=e.z,this.w=t,this.normalize(),this}}()};var oe=new ie({widthMeters:.11,heightMeters:.062,bevelMeters:.004}),ae=new ie({widthMeters:.1038,heightMeters:.0584,bevelMeters:.004}),se={CardboardV1:new ce({id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]}),CardboardV2:new ce({id:"CardboardV2",label:"Cardboard I/O 2015",fov:60,interLensDistance:.064,baselineLensDistance:.035,screenLensDistance:.039,distortionCoefficients:[.34,.55],inverseCoefficients:[-.33836704,-.18162185,.862655,-1.2462051,1.0560602,-.58208317,.21609078,-.05444823,.009177956,-.0009904169,6183535e-11,-16981803e-13]})};function le(e,t){this.viewer=se.CardboardV2,this.updateDeviceParams(e),this.distortion=new $(this.viewer.distortionCoefficients);for(var n=0;n<t.length;n++){var r=t[n];se[r.id]=new ce(r)}}function ce(e){this.id=e.id,this.label=e.label,this.fov=e.fov,this.interLensDistance=e.interLensDistance,this.baselineLensDistance=e.baselineLensDistance,this.screenLensDistance=e.screenLensDistance,this.distortionCoefficients=e.distortionCoefficients,this.inverseCoefficients=e.inverseCoefficients}le.prototype.updateDeviceParams=function(e){this.device=this.determineDevice_(e)||this.device},le.prototype.getDevice=function(){return this.device},le.prototype.setViewer=function(e){this.viewer=e,this.distortion=new $(this.viewer.distortionCoefficients)},le.prototype.determineDevice_=function(e){if(!e)return l()?(console.warn("Using fallback iOS device measurements."),ae):(console.warn("Using fallback Android device measurements."),oe);var t=.0254,n=t/e.xdpi,r=t/e.ydpi;return new ie({widthMeters:n*y(),heightMeters:r*b(),bevelMeters:.001*e.bevelMm})},le.prototype.getDistortedFieldOfViewLeftEye=function(){var e=this.viewer,t=this.device,n=this.distortion,r=e.screenLensDistance,i=(t.widthMeters-e.interLensDistance)/2,o=e.interLensDistance/2,a=e.baselineLensDistance-t.bevelMeters,s=t.heightMeters-a,l=te*Math.atan(n.distort(i/r)),c=te*Math.atan(n.distort(o/r)),u=te*Math.atan(n.distort(a/r)),h=te*Math.atan(n.distort(s/r));return{leftDegrees:Math.min(l,e.fov),rightDegrees:Math.min(c,e.fov),downDegrees:Math.min(u,e.fov),upDegrees:Math.min(h,e.fov)}},le.prototype.getLeftEyeVisibleTanAngles=function(){var e=this.viewer,t=this.device,n=this.distortion,r=Math.tan(-ee*e.fov),i=Math.tan(ee*e.fov),o=Math.tan(ee*e.fov),a=Math.tan(-ee*e.fov),s=t.widthMeters/4,l=t.heightMeters/2,c=e.baselineLensDistance-t.bevelMeters-l,u=e.interLensDistance/2-s,h=-c,d=e.screenLensDistance,p=n.distort((u-s)/d),f=n.distort((h+l)/d),m=n.distort((u+s)/d),v=n.distort((h-l)/d),g=new Float32Array(4);return g[0]=Math.max(r,p),g[1]=Math.min(i,f),g[2]=Math.min(o,m),g[3]=Math.max(a,v),g},le.prototype.getLeftEyeNoLensTanAngles=function(){var e=this.viewer,t=this.device,n=this.distortion,r=new Float32Array(4),i=n.distortInverse(Math.tan(-ee*e.fov)),o=n.distortInverse(Math.tan(ee*e.fov)),a=n.distortInverse(Math.tan(ee*e.fov)),s=n.distortInverse(Math.tan(-ee*e.fov)),l=t.widthMeters/4,c=t.heightMeters/2,u=e.baselineLensDistance-t.bevelMeters-c,h=e.interLensDistance/2-l,d=-u,p=e.screenLensDistance,f=(h-l)/p,m=(d+c)/p,v=(h+l)/p,g=(d-c)/p;return r[0]=Math.max(i,f),r[1]=Math.min(o,m),r[2]=Math.min(a,v),r[3]=Math.max(s,g),r},le.prototype.getLeftEyeVisibleScreenRect=function(e){var t=this.viewer,n=this.device,r=t.screenLensDistance,i=(n.widthMeters-t.interLensDistance)/2,o=t.baselineLensDistance-n.bevelMeters,a=(e[0]*r+i)/n.widthMeters,s=(e[1]*r+o)/n.heightMeters,l=(e[2]*r+i)/n.widthMeters,c=(e[3]*r+o)/n.heightMeters;return{x:a,y:c,width:l-a,height:s-c}},le.prototype.getFieldOfViewLeftEye=function(e){return e?this.getUndistortedFieldOfViewLeftEye():this.getDistortedFieldOfViewLeftEye()},le.prototype.getFieldOfViewRightEye=function(e){var t=this.getFieldOfViewLeftEye(e);return{leftDegrees:t.rightDegrees,rightDegrees:t.leftDegrees,upDegrees:t.upDegrees,downDegrees:t.downDegrees}},le.prototype.getUndistortedFieldOfViewLeftEye=function(){var e=this.getUndistortedParams_();return{leftDegrees:te*Math.atan(e.outerDist),rightDegrees:te*Math.atan(e.innerDist),downDegrees:te*Math.atan(e.bottomDist),upDegrees:te*Math.atan(e.topDist)}},le.prototype.getUndistortedViewportLeftEye=function(){var e=this.getUndistortedParams_(),t=this.viewer,n=this.device,r=t.screenLensDistance,i=n.widthMeters/r,o=n.heightMeters/r,a=n.width/i,s=n.height/o,l=Math.round((e.eyePosX-e.outerDist)*a),c=Math.round((e.eyePosY-e.bottomDist)*s);return{x:l,y:c,width:Math.round((e.eyePosX+e.innerDist)*a)-l,height:Math.round((e.eyePosY+e.topDist)*s)-c}},le.prototype.getUndistortedParams_=function(){var e=this.viewer,t=this.device,n=this.distortion,r=e.screenLensDistance,i=e.interLensDistance/2/r,o=t.widthMeters/r,a=t.heightMeters/r,s=o/2-i,l=(e.baselineLensDistance-t.bevelMeters)/r,c=e.fov,u=n.distortInverse(Math.tan(ee*c)),h=Math.min(s,u),d=Math.min(i,u),p=Math.min(l,u);return{outerDist:h,innerDist:d,topDist:Math.min(a-l,u),bottomDist:p,eyePosX:s,eyePosY:l}},le.Viewers=se;var ue={format:1,last_updated:"2019-11-09T17:36:14Z",devices:[{type:"android",rules:[{mdmh:"asus/*/Nexus 7/*"},{ua:"Nexus 7"}],dpi:[320.8,323],bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_X00PD/*"},{ua:"ASUS_X00PD"}],dpi:245,bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_X008D/*"},{ua:"ASUS_X008D"}],dpi:282,bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_Z00AD/*"},{ua:"ASUS_Z00AD"}],dpi:[403,404.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 2 XL/*"},{ua:"Pixel 2 XL"}],dpi:537.9,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 3 XL/*"},{ua:"Pixel 3 XL"}],dpi:[558.5,553.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel XL/*"},{ua:"Pixel XL"}],dpi:[537.9,533],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 3/*"},{ua:"Pixel 3"}],dpi:442.4,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 2/*"},{ua:"Pixel 2"}],dpi:441,bw:3,ac:500},{type:"android",rules:[{mdmh:"Google/*/Pixel/*"},{ua:"Pixel"}],dpi:[432.6,436.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"HTC/*/HTC6435LVW/*"},{ua:"HTC6435LVW"}],dpi:[449.7,443.3],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"HTC/*/HTC One XL/*"},{ua:"HTC One XL"}],dpi:[315.3,314.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"htc/*/Nexus 9/*"},{ua:"Nexus 9"}],dpi:289,bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One M9/*"},{ua:"HTC One M9"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One_M8/*"},{ua:"HTC One_M8"}],dpi:[449.7,447.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One/*"},{ua:"HTC One"}],dpi:472.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/Nexus 6P/*"},{ua:"Nexus 6P"}],dpi:[515.1,518],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/BLN-L24/*"},{ua:"HONORBLN-L24"}],dpi:480,bw:4,ac:500},{type:"android",rules:[{mdmh:"Huawei/*/BKL-L09/*"},{ua:"BKL-L09"}],dpi:403,bw:3.47,ac:500},{type:"android",rules:[{mdmh:"LENOVO/*/Lenovo PB2-690Y/*"},{ua:"Lenovo PB2-690Y"}],dpi:[457.2,454.713],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5X/*"},{ua:"Nexus 5X"}],dpi:[422,419.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGMS345/*"},{ua:"LGMS345"}],dpi:[221.7,219.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D800/*"},{ua:"LG-D800"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D850/*"},{ua:"LG-D850"}],dpi:[537.9,541.9],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/VS985 4G/*"},{ua:"VS985 4G"}],dpi:[537.9,535.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5/*"},{ua:"Nexus 5 B"}],dpi:[442.4,444.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 4/*"},{ua:"Nexus 4"}],dpi:[319.8,318.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LG-P769/*"},{ua:"LG-P769"}],dpi:[240.6,247.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGMS323/*"},{ua:"LGMS323"}],dpi:[206.6,204.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGLS996/*"},{ua:"LGLS996"}],dpi:[403.4,401.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/4560MMX/*"},{ua:"4560MMX"}],dpi:[240,219.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/A250/*"},{ua:"Micromax A250"}],dpi:[480,446.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/Micromax AQ4501/*"},{ua:"Micromax AQ4501"}],dpi:240,bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/G5/*"},{ua:"Moto G (5) Plus"}],dpi:[403.4,403],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/DROID RAZR/*"},{ua:"DROID RAZR"}],dpi:[368.1,256.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT830C/*"},{ua:"XT830C"}],dpi:[254,255.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1021/*"},{ua:"XT1021"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1023/*"},{ua:"XT1023"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1028/*"},{ua:"XT1028"}],dpi:[326.6,327.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1034/*"},{ua:"XT1034"}],dpi:[326.6,328.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1053/*"},{ua:"XT1053"}],dpi:[315.3,316.1],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1562/*"},{ua:"XT1562"}],dpi:[403.4,402.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/Nexus 6/*"},{ua:"Nexus 6 B"}],dpi:[494.3,489.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1063/*"},{ua:"XT1063"}],dpi:[295,296.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1064/*"},{ua:"XT1064"}],dpi:[295,295.6],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1092/*"},{ua:"XT1092"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1095/*"},{ua:"XT1095"}],dpi:[422,423.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/G4/*"},{ua:"Moto G (4)"}],dpi:401,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/A0001/*"},{ua:"A0001"}],dpi:[403.4,401],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1001/*"},{ua:"ONE E1001"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1003/*"},{ua:"ONE E1003"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1005/*"},{ua:"ONE E1005"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2001/*"},{ua:"ONE A2001"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2003/*"},{ua:"ONE A2003"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2005/*"},{ua:"ONE A2005"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3000/*"},{ua:"ONEPLUS A3000"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3003/*"},{ua:"ONEPLUS A3003"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3010/*"},{ua:"ONEPLUS A3010"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A5000/*"},{ua:"ONEPLUS A5000 "}],dpi:[403.411,399.737],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A5010/*"},{ua:"ONEPLUS A5010"}],dpi:[403,400],bw:2,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6000/*"},{ua:"ONEPLUS A6000"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6003/*"},{ua:"ONEPLUS A6003"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6010/*"},{ua:"ONEPLUS A6010"}],dpi:401,bw:2,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6013/*"},{ua:"ONEPLUS A6013"}],dpi:401,bw:2,ac:500},{type:"android",rules:[{mdmh:"OPPO/*/X909/*"},{ua:"X909"}],dpi:[442.4,444.1],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9082/*"},{ua:"GT-I9082"}],dpi:[184.7,185.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G360P/*"},{ua:"SM-G360P"}],dpi:[196.7,205.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/Nexus S/*"},{ua:"Nexus S"}],dpi:[234.5,229.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[304.8,303.9],bw:5,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-T230NU/*"},{ua:"SM-T230NU"}],dpi:216,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SGH-T399/*"},{ua:"SGH-T399"}],dpi:[217.7,231.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SGH-M919/*"},{ua:"SGH-M919"}],dpi:[440.8,437.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N9005/*"},{ua:"SM-N9005"}],dpi:[386.4,387],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SM-N900A/*"},{ua:"SAMSUNG-SM-N900A"}],dpi:[386.4,387.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9500/*"},{ua:"GT-I9500"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/GT-I9505/*"},{ua:"GT-I9505"}],dpi:439.4,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900F/*"},{ua:"SM-G900F"}],dpi:[415.6,431.6],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900M/*"},{ua:"SM-G900M"}],dpi:[415.6,431.6],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G800F/*"},{ua:"SM-G800F"}],dpi:326.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G906S/*"},{ua:"SM-G906S"}],dpi:[562.7,572.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[306.7,304.8],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-T535/*"},{ua:"SM-T535"}],dpi:[142.6,136.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-N920C/*"},{ua:"SM-N920C"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N920P/*"},{ua:"SM-N920P"}],dpi:[386.3655,390.144],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N920W8/*"},{ua:"SM-N920W8"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300I/*"},{ua:"GT-I9300I"}],dpi:[304.8,305.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9195/*"},{ua:"GT-I9195"}],dpi:[249.4,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SPH-L520/*"},{ua:"SPH-L520"}],dpi:[249.4,255.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SGH-I717/*"},{ua:"SAMSUNG-SGH-I717"}],dpi:285.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SPH-D710/*"},{ua:"SPH-D710"}],dpi:[217.7,204.2],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-N7100/*"},{ua:"GT-N7100"}],dpi:265.1,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SCH-I605/*"},{ua:"SCH-I605"}],dpi:265.1,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/Galaxy Nexus/*"},{ua:"Galaxy Nexus"}],dpi:[315.3,314.2],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910H/*"},{ua:"SM-N910H"}],dpi:[515.1,518],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910C/*"},{ua:"SM-N910C"}],dpi:[515.2,520.2],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G130M/*"},{ua:"SM-G130M"}],dpi:[165.9,164.8],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G928I/*"},{ua:"SM-G928I"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G920F/*"},{ua:"SM-G920F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G920P/*"},{ua:"SM-G920P"}],dpi:[522.5,577],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G925F/*"},{ua:"SM-G925F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G925V/*"},{ua:"SM-G925V"}],dpi:[522.5,576.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G930F/*"},{ua:"SM-G930F"}],dpi:576.6,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G935F/*"},{ua:"SM-G935F"}],dpi:533,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G950F/*"},{ua:"SM-G950F"}],dpi:[562.707,565.293],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G955U/*"},{ua:"SM-G955U"}],dpi:[522.514,525.762],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G955F/*"},{ua:"SM-G955F"}],dpi:[522.514,525.762],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G960F/*"},{ua:"SM-G960F"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G9600/*"},{ua:"SM-G9600"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960T/*"},{ua:"SM-G960T"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960N/*"},{ua:"SM-G960N"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960U/*"},{ua:"SM-G960U"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G9608/*"},{ua:"SM-G9608"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960FD/*"},{ua:"SM-G960FD"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960W/*"},{ua:"SM-G960W"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G965F/*"},{ua:"SM-G965F"}],dpi:529,bw:2,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/C6903/*"},{ua:"C6903"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"Sony/*/D6653/*"},{ua:"D6653"}],dpi:[428.6,427.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/E6653/*"},{ua:"E6653"}],dpi:[428.6,425.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/E6853/*"},{ua:"E6853"}],dpi:[403.4,401.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/SGP321/*"},{ua:"SGP321"}],dpi:[224.7,224.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"TCT/*/ALCATEL ONE TOUCH Fierce/*"},{ua:"ALCATEL ONE TOUCH Fierce"}],dpi:[240,247.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"THL/*/thl 5000/*"},{ua:"thl 5000"}],dpi:[480,443.3],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Fly/*/IQ4412/*"},{ua:"IQ4412"}],dpi:307.9,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"ZTE/*/ZTE Blade L2/*"},{ua:"ZTE Blade L2"}],dpi:240,bw:3,ac:500},{type:"android",rules:[{mdmh:"BENEVE/*/VR518/*"},{ua:"VR518"}],dpi:480,bw:3,ac:500},{type:"ios",rules:[{res:[640,960]}],dpi:[325.1,328.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[640,1136]}],dpi:[317.1,320.2],bw:3,ac:1e3},{type:"ios",rules:[{res:[750,1334]}],dpi:326.4,bw:4,ac:1e3},{type:"ios",rules:[{res:[1242,2208]}],dpi:[453.6,458.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[1125,2001]}],dpi:[410.9,415.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[1125,2436]}],dpi:458,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/EML-L29/*"},{ua:"EML-L29"}],dpi:428,bw:3.45,ac:500},{type:"android",rules:[{mdmh:"Nokia/*/Nokia 7.1/*"},{ua:"Nokia 7.1"}],dpi:[432,431.9],bw:3,ac:500},{type:"ios",rules:[{res:[1242,2688]}],dpi:458,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G570M/*"},{ua:"SM-G570M"}],dpi:320,bw:3.684,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G970F/*"},{ua:"SM-G970F"}],dpi:438,bw:2.281,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G973F/*"},{ua:"SM-G973F"}],dpi:550,bw:2.002,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G975F/*"},{ua:"SM-G975F"}],dpi:522,bw:2.054,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G977F/*"},{ua:"SM-G977F"}],dpi:505,bw:2.334,ac:500},{type:"ios",rules:[{res:[828,1792]}],dpi:326,bw:5,ac:500}]};function he(e,t){if(this.dpdb=ue,this.recalculateDeviceParams_(),e){this.onDeviceParamsUpdated=t;var n=new XMLHttpRequest,r=this;n.open("GET",e,!0),n.addEventListener("load",(function(){r.loading=!1,n.status>=200&&n.status<=299?(r.dpdb=JSON.parse(n.response),r.recalculateDeviceParams_()):console.error("Error loading online DPDB!")})),n.send()}}function de(e){this.xdpi=e.xdpi,this.ydpi=e.ydpi,this.bevelMm=e.bevelMm}function pe(e,t){this.set(e,t)}function fe(e,t){this.kFilter=e,this.isDebug=t,this.currentAccelMeasurement=new pe,this.currentGyroMeasurement=new pe,this.previousGyroMeasurement=new pe,l()?this.filterQ=new re(-1,0,0,1):this.filterQ=new re(1,0,0,1),this.previousFilterQ=new re,this.previousFilterQ.copy(this.filterQ),this.accelQ=new re,this.isOrientationInitialized=!1,this.estimatedGravity=new ne,this.measuredGravity=new ne,this.gyroIntegralQ=new re}function me(e,t){this.predictionTimeS=e,this.isDebug=t,this.previousQ=new re,this.previousTimestampS=null,this.deltaQ=new re,this.outQ=new re}function ve(e,t,n,r){this.yawOnly=n,this.accelerometer=new ne,this.gyroscope=new ne,this.filter=new fe(e,r),this.posePredictor=new me(t,r),this.isFirefoxAndroid=h(),this.isIOS=l();var i=d();this.isDeviceMotionInRadians=!this.isIOS&&i&&i<66,this.isWithoutDeviceMotion=f()||p(),this.filterToWorldQ=new re,l()?this.filterToWorldQ.setFromAxisAngle(new ne(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new ne(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new re,this.worldToScreenQ=new re,this.originalPoseAdjustQ=new re,this.originalPoseAdjustQ.setFromAxisAngle(new ne(0,0,1),-window.orientation*Math.PI/180),this.setScreenTransform_(),v()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new re,this.orientationOut_=new Float32Array(4),this.start()}he.prototype.getDeviceParams=function(){return this.deviceParams},he.prototype.recalculateDeviceParams_=function(){var e=this.calcDeviceParams_();e?(this.deviceParams=e,this.onDeviceParamsUpdated&&this.onDeviceParamsUpdated(this.deviceParams)):console.error("Failed to recalculate device parameters.")},he.prototype.calcDeviceParams_=function(){var e=this.dpdb;if(!e)return console.error("DPDB not available."),null;if(1!=e.format)return console.error("DPDB has unexpected format version."),null;if(!e.devices||!e.devices.length)return console.error("DPDB does not have a devices section."),null;var t=navigator.userAgent||navigator.vendor||window.opera,n=y(),r=b();if(!e.devices)return console.error("DPDB has no devices section."),null;for(var i=0;i<e.devices.length;i++){var o=e.devices[i];if(o.rules)if("ios"==o.type||"android"==o.type){if(l()==("ios"==o.type)){for(var a=!1,s=0;s<o.rules.length;s++){var c=o.rules[s];if(this.ruleMatches_(c,t,n,r)){a=!0;break}}if(a)return new de({xdpi:o.dpi[0]||o.dpi,ydpi:o.dpi[1]||o.dpi,bevelMm:o.bw})}}else console.warn("Device["+i+"] has invalid type.");else console.warn("Device["+i+"] has no rules section.")}return console.warn("No DPDB device match."),null},he.prototype.ruleMatches_=function(e,t,n,r){if(!e.ua&&!e.res)return!1;if(e.ua&&"SM"===e.ua.substring(0,2)&&(e.ua=e.ua.substring(0,7)),e.ua&&t.indexOf(e.ua)<0)return!1;if(e.res){if(!e.res[0]||!e.res[1])return!1;var i=e.res[0],o=e.res[1];if(Math.min(n,r)!=Math.min(i,o)||Math.max(n,r)!=Math.max(i,o))return!1}return!0},pe.prototype.set=function(e,t){this.sample=e,this.timestampS=t},pe.prototype.copy=function(e){this.set(e.sample,e.timestampS)},fe.prototype.addAccelMeasurement=function(e,t){this.currentAccelMeasurement.set(e,t)},fe.prototype.addGyroMeasurement=function(e,t){this.currentGyroMeasurement.set(e,t);var n=t-this.previousGyroMeasurement.timestampS;g(n)&&this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},fe.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var e=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,t=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,e);this.gyroIntegralQ.multiply(t),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(t);var n=new re;n.copy(this.filterQ),n.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(n),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var r=new re;r.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),r.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",te*D(r),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var i=new re;i.copy(this.filterQ),i.multiply(r),this.filterQ.slerp(i,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},fe.prototype.getOrientation=function(){return this.filterQ},fe.prototype.accelToQuaternion_=function(e){var t=new ne;t.copy(e),t.normalize();var n=new re;return n.setFromUnitVectors(new ne(0,0,-1),t),n.inverse(),n},fe.prototype.gyroToQuaternionDelta_=function(e,t){var n=new re,r=new ne;return r.copy(e),r.normalize(),n.setFromAxisAngle(r,e.length()*t),n},me.prototype.getPrediction=function(e,t,n){if(!this.previousTimestampS)return this.previousQ.copy(e),this.previousTimestampS=n,e;var r=new ne;r.copy(t),r.normalize();var i=t.length();if(i<20*ee)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(te*i).toFixed(1)),this.outQ.copy(e),this.previousQ.copy(e),this.outQ;var o=i*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(r,o),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(e),this.previousTimestampS=n,this.outQ},ve.prototype.getPosition=function(){return null},ve.prototype.getOrientation=function(){var e=void 0;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ)return this.deviceOrientationFixQ=this.deviceOrientationFixQ||function(){var e=(new re).setFromAxisAngle(new ne(0,0,-1),0),t=new re;return-90===window.orientation?t.setFromAxisAngle(new ne(0,1,0),Math.PI/-2):t.setFromAxisAngle(new ne(0,1,0),Math.PI/2),e.multiply(t)}(),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||function(){var e=new re;return e.setFromAxisAngle(new ne(1,0,0),-Math.PI/2),e}(),e=this._deviceOrientationQ,(t=new re).copy(e),t.multiply(this.deviceOrientationFilterToWorldQ),t.multiply(this.resetQ),t.multiply(this.worldToScreenQ),t.multiplyQuaternions(this.deviceOrientationFixQ,t),this.yawOnly&&(t.x=0,t.z=0,t.normalize()),this.orientationOut_[0]=t.x,this.orientationOut_[1]=t.y,this.orientationOut_[2]=t.z,this.orientationOut_[3]=t.w,this.orientationOut_;var t,n=this.filter.getOrientation();return e=this.posePredictor.getPrediction(n,this.gyroscope,this.previousTimestampS),(t=new re).copy(this.filterToWorldQ),t.multiply(this.resetQ),t.multiply(e),t.multiply(this.worldToScreenQ),this.yawOnly&&(t.x=0,t.z=0,t.normalize()),this.orientationOut_[0]=t.x,this.orientationOut_[1]=t.y,this.orientationOut_[2]=t.z,this.orientationOut_[3]=t.w,this.orientationOut_},ve.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),v()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},ve.prototype.onDeviceOrientation_=function(e){this._deviceOrientationQ=this._deviceOrientationQ||new re;var t=e.alpha,n=e.beta,r=e.gamma;t=(t||0)*Math.PI/180,n=(n||0)*Math.PI/180,r=(r||0)*Math.PI/180,this._deviceOrientationQ.setFromEulerYXZ(n,t,-r)},ve.prototype.onDeviceMotion_=function(e){this.updateDeviceMotion_(e)},ve.prototype.updateDeviceMotion_=function(e){var t=e.accelerationIncludingGravity,n=e.rotationRate,r=e.timeStamp/1e3,a=r-this.previousTimestampS;return a<0?(O("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=r)):a<=i||a>o?(O("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=r)):(this.accelerometer.set(-t.x,-t.y,-t.z),n&&(m()?this.gyroscope.set(-n.beta,n.alpha,n.gamma):this.gyroscope.set(n.alpha,n.beta,n.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,r)),this.filter.addAccelMeasurement(this.accelerometer,r),void(this.previousTimestampS=r))},ve.prototype.onOrientationChange_=function(e){this.setScreenTransform_()},ve.prototype.onMessage_=function(e){var t=e.data;t&&t.type&&"devicemotion"===t.type.toLowerCase()&&this.updateDeviceMotion_(t.deviceMotionEvent)},ve.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),window.orientation){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new ne(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new ne(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},ve.prototype.start=function(){this.onDeviceMotionCallback_=this.onDeviceMotion_.bind(this),this.onOrientationChangeCallback_=this.onOrientationChange_.bind(this),this.onMessageCallback_=this.onMessage_.bind(this),this.onDeviceOrientationCallback_=this.onDeviceOrientation_.bind(this),l()&&R()&&window.addEventListener("message",this.onMessageCallback_),window.addEventListener("orientationchange",this.onOrientationChangeCallback_),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",this.onDeviceOrientationCallback_):window.addEventListener("devicemotion",this.onDeviceMotionCallback_)},ve.prototype.stop=function(){window.removeEventListener("devicemotion",this.onDeviceMotionCallback_),window.removeEventListener("deviceorientation",this.onDeviceOrientationCallback_),window.removeEventListener("orientationchange",this.onOrientationChangeCallback_),window.removeEventListener("message",this.onMessageCallback_)};var ge=60,ye=new ne(1,0,0),be=new ne(0,0,1),Ae=new re;Ae.setFromAxisAngle(ye,-Math.PI/2),Ae.multiply((new re).setFromAxisAngle(be,Math.PI/2));var we=function(){function t(n){e(this,t),this.config=n,this.sensor=null,this.fusionSensor=null,this._out=new Float32Array(4),this.api=null,this.errors=[],this._sensorQ=new re,this._outQ=new re,this._onSensorRead=this._onSensorRead.bind(this),this._onSensorError=this._onSensorError.bind(this),this.init()}return n(t,[{key:"init",value:function(){var e=null;try{(e=new RelativeOrientationSensor({frequency:ge,referenceFrame:"screen"})).addEventListener("error",this._onSensorError)}catch(t){this.errors.push(t),"SecurityError"===t.name?(console.error("Cannot construct sensors due to the Feature Policy"),console.warn('Attempting to fall back using "devicemotion"; however this will fail in the future without correct permissions.'),this.useDeviceMotion()):"ReferenceError"===t.name?this.useDeviceMotion():console.error(t)}e&&(this.api="sensor",this.sensor=e,this.sensor.addEventListener("reading",this._onSensorRead),this.sensor.start())}},{key:"useDeviceMotion",value:function(){this.api="devicemotion",this.fusionSensor=new ve(this.config.K_FILTER,this.config.PREDICTION_TIME_S,this.config.YAW_ONLY,this.config.DEBUG),this.sensor&&(this.sensor.removeEventListener("reading",this._onSensorRead),this.sensor.removeEventListener("error",this._onSensorError),this.sensor=null)}},{key:"getOrientation",value:function(){if(this.fusionSensor)return this.fusionSensor.getOrientation();if(!this.sensor||!this.sensor.quaternion)return this._out[0]=this._out[1]=this._out[2]=0,this._out[3]=1,this._out;var e=this.sensor.quaternion;this._sensorQ.set(e[0],e[1],e[2],e[3]);var t=this._outQ;return t.copy(Ae),t.multiply(this._sensorQ),this.config.YAW_ONLY&&(t.x=t.z=0,t.normalize()),this._out[0]=t.x,this._out[1]=t.y,this._out[2]=t.z,this._out[3]=t.w,this._out}},{key:"_onSensorError",value:function(e){this.errors.push(e.error),"NotAllowedError"===e.error.name?console.error("Permission to access sensor was denied"):"NotReadableError"===e.error.name?console.error("Sensor could not be read"):console.error(e.error),this.useDeviceMotion()}},{key:"_onSensorRead",value:function(){}}]),t}(),xe="<svg width='198' height='240' viewBox='0 0 198 240' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M149.625 109.527l6.737 3.891v.886c0 .177.013.36.038.549.01.081.02.162.027.242.14 1.415.974 2.998 2.105 3.999l5.72 5.062.081-.09s4.382-2.53 5.235-3.024l25.97 14.993v54.001c0 .771-.386 1.217-.948 1.217-.233 0-.495-.076-.772-.236l-23.967-13.838-.014.024-27.322 15.775-.85-1.323c-4.731-1.529-9.748-2.74-14.951-3.61a.27.27 0 0 0-.007.024l-5.067 16.961-7.891 4.556-.037-.063v27.59c0 .772-.386 1.217-.948 1.217-.232 0-.495-.076-.772-.236l-42.473-24.522c-.95-.549-1.72-1.877-1.72-2.967v-1.035l-.021.047a5.111 5.111 0 0 0-1.816-.399 5.682 5.682 0 0 0-.546.001 13.724 13.724 0 0 1-1.918-.041c-1.655-.153-3.2-.6-4.404-1.296l-46.576-26.89.005.012-10.278-18.75c-1.001-1.827-.241-4.216 1.698-5.336l56.011-32.345a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.659 3.227 1.853l.005-.003.227.413-.006.004a9.63 9.63 0 0 0 1.477 2.018l.277.27c1.914 1.85 4.468 2.801 7.113 2.801 1.949 0 3.948-.517 5.775-1.572.013 0 7.319-4.219 7.319-4.219a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.658 3.226 1.853l3.25 5.928.022-.018 6.785 3.917-.105-.182 46.881-26.965m0-1.635c-.282 0-.563.073-.815.218l-46.169 26.556-5.41-3.124-3.005-5.481c-.913-1.667-2.699-2.702-4.66-2.703-1.011 0-2.02.274-2.917.792a3825 3825 0 0 1-7.275 4.195l-.044.024a9.937 9.937 0 0 1-4.957 1.353c-2.292 0-4.414-.832-5.976-2.342l-.252-.245a7.992 7.992 0 0 1-1.139-1.534 1.379 1.379 0 0 0-.06-.122l-.227-.414a1.718 1.718 0 0 0-.095-.154c-.938-1.574-2.673-2.545-4.571-2.545-1.011 0-2.02.274-2.917.792L3.125 155.502c-2.699 1.559-3.738 4.94-2.314 7.538l10.278 18.75c.177.323.448.563.761.704l46.426 26.804c1.403.81 3.157 1.332 5.072 1.508a15.661 15.661 0 0 0 2.146.046 4.766 4.766 0 0 1 .396 0c.096.004.19.011.283.022.109 1.593 1.159 3.323 2.529 4.114l42.472 24.522c.524.302 1.058.455 1.59.455 1.497 0 2.583-1.2 2.583-2.852v-26.562l7.111-4.105a1.64 1.64 0 0 0 .749-.948l4.658-15.593c4.414.797 8.692 1.848 12.742 3.128l.533.829a1.634 1.634 0 0 0 2.193.531l26.532-15.317L193 192.433c.523.302 1.058.455 1.59.455 1.497 0 2.583-1.199 2.583-2.852v-54.001c0-.584-.312-1.124-.818-1.416l-25.97-14.993a1.633 1.633 0 0 0-1.636.001c-.606.351-2.993 1.73-4.325 2.498l-4.809-4.255c-.819-.725-1.461-1.933-1.561-2.936a7.776 7.776 0 0 0-.033-.294 2.487 2.487 0 0 1-.023-.336v-.886c0-.584-.312-1.123-.817-1.416l-6.739-3.891a1.633 1.633 0 0 0-.817-.219' fill='#455A64'/><path d='M96.027 132.636l46.576 26.891c1.204.695 1.979 1.587 2.242 2.541l-.01.007-81.374 46.982h-.001c-1.654-.152-3.199-.6-4.403-1.295l-46.576-26.891 83.546-48.235' fill='#FAFAFA'/><path d='M63.461 209.174c-.008 0-.015 0-.022-.002-1.693-.156-3.228-.609-4.441-1.309l-46.576-26.89a.118.118 0 0 1 0-.203l83.546-48.235a.117.117 0 0 1 .117 0l46.576 26.891c1.227.708 2.021 1.612 2.296 2.611a.116.116 0 0 1-.042.124l-.021.016-81.375 46.981a.11.11 0 0 1-.058.016zm-50.747-28.303l46.401 26.79c1.178.68 2.671 1.121 4.32 1.276l81.272-46.922c-.279-.907-1.025-1.73-2.163-2.387l-46.517-26.857-83.313 48.1z' fill='#607D8B'/><path d='M148.327 165.471a5.85 5.85 0 0 1-.546.001c-1.894-.083-3.302-1.038-3.145-2.132a2.693 2.693 0 0 0-.072-1.105l-81.103 46.822c.628.058 1.272.073 1.918.042.182-.009.364-.009.546-.001 1.894.083 3.302 1.038 3.145 2.132l79.257-45.759' fill='#FFF'/><path d='M69.07 211.347a.118.118 0 0 1-.115-.134c.045-.317-.057-.637-.297-.925-.505-.61-1.555-1.022-2.738-1.074a5.966 5.966 0 0 0-.535.001 14.03 14.03 0 0 1-1.935-.041.117.117 0 0 1-.103-.092.116.116 0 0 1 .055-.126l81.104-46.822a.117.117 0 0 1 .171.07c.104.381.129.768.074 1.153-.045.316.057.637.296.925.506.61 1.555 1.021 2.739 1.073.178.008.357.008.535-.001a.117.117 0 0 1 .064.218l-79.256 45.759a.114.114 0 0 1-.059.016zm-3.405-2.372c.089 0 .177.002.265.006 1.266.056 2.353.488 2.908 1.158.227.274.35.575.36.882l78.685-45.429c-.036 0-.072-.001-.107-.003-1.267-.056-2.354-.489-2.909-1.158-.282-.34-.402-.724-.347-1.107a2.604 2.604 0 0 0-.032-.91L63.846 208.97a13.91 13.91 0 0 0 1.528.012c.097-.005.194-.007.291-.007z' fill='#607D8B'/><path d='M2.208 162.134c-1.001-1.827-.241-4.217 1.698-5.337l56.011-32.344c1.939-1.12 4.324-.546 5.326 1.281l.232.41a9.344 9.344 0 0 0 1.47 2.021l.278.27c3.325 3.214 8.583 3.716 12.888 1.23l7.319-4.22c1.94-1.119 4.324-.546 5.325 1.282l3.25 5.928-83.519 48.229-10.278-18.75z' fill='#FAFAFA'/><path d='M12.486 181.001a.112.112 0 0 1-.031-.005.114.114 0 0 1-.071-.056L2.106 162.19c-1.031-1.88-.249-4.345 1.742-5.494l56.01-32.344a4.328 4.328 0 0 1 2.158-.588c1.415 0 2.65.702 3.311 1.882.01.008.018.017.024.028l.227.414a.122.122 0 0 1 .013.038 9.508 9.508 0 0 0 1.439 1.959l.275.266c1.846 1.786 4.344 2.769 7.031 2.769 1.977 0 3.954-.538 5.717-1.557a.148.148 0 0 1 .035-.013l7.284-4.206a4.321 4.321 0 0 1 2.157-.588c1.427 0 2.672.716 3.329 1.914l3.249 5.929a.116.116 0 0 1-.044.157l-83.518 48.229a.116.116 0 0 1-.059.016zm49.53-57.004c-.704 0-1.41.193-2.041.557l-56.01 32.345c-1.882 1.086-2.624 3.409-1.655 5.179l10.221 18.645 83.317-48.112-3.195-5.829c-.615-1.122-1.783-1.792-3.124-1.792a4.08 4.08 0 0 0-2.04.557l-7.317 4.225a.148.148 0 0 1-.035.013 11.7 11.7 0 0 1-5.801 1.569c-2.748 0-5.303-1.007-7.194-2.835l-.278-.27a9.716 9.716 0 0 1-1.497-2.046.096.096 0 0 1-.013-.037l-.191-.347a.11.11 0 0 1-.023-.029c-.615-1.123-1.783-1.793-3.124-1.793z' fill='#607D8B'/><path d='M42.434 155.808c-2.51-.001-4.697-1.258-5.852-3.365-1.811-3.304-.438-7.634 3.059-9.654l12.291-7.098a7.599 7.599 0 0 1 3.789-1.033c2.51 0 4.697 1.258 5.852 3.365 1.811 3.304.439 7.634-3.059 9.654l-12.291 7.098a7.606 7.606 0 0 1-3.789 1.033zm13.287-20.683a7.128 7.128 0 0 0-3.555.971l-12.291 7.098c-3.279 1.893-4.573 5.942-2.883 9.024 1.071 1.955 3.106 3.122 5.442 3.122a7.13 7.13 0 0 0 3.556-.97l12.291-7.098c3.279-1.893 4.572-5.942 2.883-9.024-1.072-1.955-3.106-3.123-5.443-3.123z' fill='#607D8B'/><path d='M149.588 109.407l6.737 3.89v.887c0 .176.013.36.037.549.011.081.02.161.028.242.14 1.415.973 2.998 2.105 3.999l7.396 6.545c.177.156.358.295.541.415 1.579 1.04 2.95.466 3.062-1.282.049-.784.057-1.595.023-2.429l-.003-.16v-1.151l25.987 15.003v54c0 1.09-.77 1.53-1.72.982l-42.473-24.523c-.95-.548-1.72-1.877-1.72-2.966v-34.033' fill='#FAFAFA'/><path d='M194.553 191.25c-.257 0-.54-.085-.831-.253l-42.472-24.521c-.981-.567-1.779-1.943-1.779-3.068v-34.033h.234v34.033c0 1.051.745 2.336 1.661 2.866l42.473 24.521c.424.245.816.288 1.103.122.285-.164.442-.52.442-1.002v-53.933l-25.753-14.868.003 1.106c.034.832.026 1.654-.024 2.439-.054.844-.396 1.464-.963 1.746-.619.309-1.45.173-2.28-.373a5.023 5.023 0 0 1-.553-.426l-7.397-6.544c-1.158-1.026-1.999-2.625-2.143-4.076a9.624 9.624 0 0 0-.027-.238 4.241 4.241 0 0 1-.038-.564v-.82l-6.68-3.856.117-.202 6.738 3.89.058.034v.954c0 .171.012.351.036.533.011.083.021.165.029.246.138 1.395.948 2.935 2.065 3.923l7.397 6.545c.173.153.35.289.527.406.758.499 1.504.63 2.047.359.49-.243.786-.795.834-1.551.05-.778.057-1.591.024-2.417l-.004-.163v-1.355l.175.1 25.987 15.004.059.033v54.068c0 .569-.198.996-.559 1.204a1.002 1.002 0 0 1-.506.131' fill='#607D8B'/><path d='M145.685 163.161l24.115 13.922-25.978 14.998-1.462-.307c-6.534-2.17-13.628-3.728-21.019-4.616-4.365-.524-8.663 1.096-9.598 3.62a2.746 2.746 0 0 0-.011 1.928c1.538 4.267 4.236 8.363 7.995 12.135l.532.845-25.977 14.997-24.115-13.922 75.518-43.6' fill='#FFF'/><path d='M94.282 220.818l-.059-.033-24.29-14.024.175-.101 75.577-43.634.058.033 24.29 14.024-26.191 15.122-.045-.01-1.461-.307c-6.549-2.174-13.613-3.725-21.009-4.614a13.744 13.744 0 0 0-1.638-.097c-3.758 0-7.054 1.531-7.837 3.642a2.62 2.62 0 0 0-.01 1.848c1.535 4.258 4.216 8.326 7.968 12.091l.016.021.526.835.006.01.064.102-.105.061-25.977 14.998-.058.033zm-23.881-14.057l23.881 13.788 24.802-14.32c.546-.315.846-.489 1.017-.575l-.466-.74c-3.771-3.787-6.467-7.881-8.013-12.168a2.851 2.851 0 0 1 .011-2.008c.815-2.199 4.203-3.795 8.056-3.795.557 0 1.117.033 1.666.099 7.412.891 14.491 2.445 21.041 4.621.836.175 1.215.254 1.39.304l25.78-14.884-23.881-13.788-75.284 43.466z' fill='#607D8B'/><path d='M167.23 125.979v50.871l-27.321 15.773-6.461-14.167c-.91-1.996-3.428-1.738-5.624.574a10.238 10.238 0 0 0-2.33 4.018l-6.46 21.628-27.322 15.774v-50.871l75.518-43.6' fill='#FFF'/><path d='M91.712 220.567a.127.127 0 0 1-.059-.016.118.118 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.519-43.6a.117.117 0 0 1 .175.101v50.871c0 .041-.023.08-.059.1l-27.321 15.775a.118.118 0 0 1-.094.01.12.12 0 0 1-.071-.063l-6.46-14.168c-.375-.822-1.062-1.275-1.934-1.275-1.089 0-2.364.686-3.5 1.881a10.206 10.206 0 0 0-2.302 3.972l-6.46 21.627a.118.118 0 0 1-.054.068L91.77 220.551a.12.12 0 0 1-.058.016zm.117-50.92v50.601l27.106-15.65 6.447-21.583a10.286 10.286 0 0 1 2.357-4.065c1.18-1.242 2.517-1.954 3.669-1.954.969 0 1.731.501 2.146 1.411l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M168.543 126.213v50.87l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.624.574a10.248 10.248 0 0 0-2.33 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6' fill='#FFF'/><path d='M93.025 220.8a.123.123 0 0 1-.059-.015.12.12 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.518-43.6a.112.112 0 0 1 .117 0c.036.02.059.059.059.1v50.871a.116.116 0 0 1-.059.101l-27.321 15.774a.111.111 0 0 1-.094.01.115.115 0 0 1-.071-.062l-6.46-14.168c-.375-.823-1.062-1.275-1.935-1.275-1.088 0-2.363.685-3.499 1.881a10.19 10.19 0 0 0-2.302 3.971l-6.461 21.628a.108.108 0 0 1-.053.067l-27.322 15.775a.12.12 0 0 1-.058.015zm.117-50.919v50.6l27.106-15.649 6.447-21.584a10.293 10.293 0 0 1 2.357-4.065c1.179-1.241 2.516-1.954 3.668-1.954.969 0 1.732.502 2.147 1.412l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M169.8 177.083l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.625.574a10.246 10.246 0 0 0-2.329 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6v50.87z' fill='#FAFAFA'/><path d='M94.282 220.917a.234.234 0 0 1-.234-.233v-50.871c0-.083.045-.161.117-.202l75.518-43.601a.234.234 0 1 1 .35.202v50.871a.233.233 0 0 1-.116.202l-27.322 15.775a.232.232 0 0 1-.329-.106l-6.461-14.168c-.36-.789-.992-1.206-1.828-1.206-1.056 0-2.301.672-3.415 1.844a10.099 10.099 0 0 0-2.275 3.924l-6.46 21.628a.235.235 0 0 1-.107.136l-27.322 15.774a.23.23 0 0 1-.116.031zm.233-50.969v50.331l26.891-15.525 6.434-21.539a10.41 10.41 0 0 1 2.384-4.112c1.201-1.265 2.569-1.991 3.753-1.991 1.018 0 1.818.526 2.253 1.48l6.354 13.934 26.982-15.578v-50.331l-75.051 43.331z' fill='#607D8B'/><path d='M109.894 199.943c-1.774 0-3.241-.725-4.244-2.12a.224.224 0 0 1 .023-.294.233.233 0 0 1 .301-.023c.78.547 1.705.827 2.75.827 1.323 0 2.754-.439 4.256-1.306 5.311-3.067 9.631-10.518 9.631-16.611 0-1.927-.442-3.56-1.278-4.724a.232.232 0 0 1 .323-.327c1.671 1.172 2.591 3.381 2.591 6.219 0 6.242-4.426 13.863-9.865 17.003-1.574.908-3.084 1.356-4.488 1.356zm-2.969-1.542c.813.651 1.82.877 2.968.877h.001c1.321 0 2.753-.327 4.254-1.194 5.311-3.067 9.632-10.463 9.632-16.556 0-1.979-.463-3.599-1.326-4.761.411 1.035.625 2.275.625 3.635 0 6.243-4.426 13.883-9.865 17.023-1.574.909-3.084 1.317-4.49 1.317-.641 0-1.243-.149-1.799-.341z' fill='#607D8B'/><path d='M113.097 197.23c5.384-3.108 9.748-10.636 9.748-16.814 0-2.051-.483-3.692-1.323-4.86-1.784-1.252-4.374-1.194-7.257.47-5.384 3.108-9.748 10.636-9.748 16.814 0 2.051.483 3.692 1.323 4.86 1.784 1.252 4.374 1.194 7.257-.47' fill='#FAFAFA'/><path d='M108.724 198.614c-1.142 0-2.158-.213-3.019-.817-.021-.014-.04.014-.055-.007-.894-1.244-1.367-2.948-1.367-4.973 0-6.242 4.426-13.864 9.865-17.005 1.574-.908 3.084-1.363 4.49-1.363 1.142 0 2.158.309 3.018.913a.23.23 0 0 1 .056.056c.894 1.244 1.367 2.972 1.367 4.997 0 6.243-4.426 13.783-9.865 16.923-1.574.909-3.084 1.276-4.49 1.276zm-2.718-1.109c.774.532 1.688.776 2.718.776 1.323 0 2.754-.413 4.256-1.28 5.311-3.066 9.631-10.505 9.631-16.598 0-1.909-.434-3.523-1.255-4.685-.774-.533-1.688-.799-2.718-.799-1.323 0-2.755.441-4.256 1.308-5.311 3.066-9.631 10.506-9.631 16.599 0 1.909.434 3.517 1.255 4.679z' fill='#607D8B'/><path d='M149.318 114.262l-9.984 8.878 15.893 11.031 5.589-6.112-11.498-13.797' fill='#FAFAFA'/><path d='M169.676 120.84l-9.748 5.627c-3.642 2.103-9.528 2.113-13.147.024-3.62-2.089-3.601-5.488.041-7.591l9.495-5.608-6.729-3.885-81.836 47.071 45.923 26.514 3.081-1.779c.631-.365.869-.898.618-1.39-2.357-4.632-2.593-9.546-.683-14.262 5.638-13.92 24.509-24.815 48.618-28.07 8.169-1.103 16.68-.967 24.704.394.852.145 1.776.008 2.407-.357l3.081-1.778-25.825-14.91' fill='#FAFAFA'/><path d='M113.675 183.459a.47.47 0 0 1-.233-.062l-45.924-26.515a.468.468 0 0 1 .001-.809l81.836-47.071a.467.467 0 0 1 .466 0l6.729 3.885a.467.467 0 0 1-.467.809l-6.496-3.75-80.9 46.533 44.988 25.973 2.848-1.644c.192-.111.62-.409.435-.773-2.416-4.748-2.658-9.814-.7-14.65 2.806-6.927 8.885-13.242 17.582-18.263 8.657-4.998 19.518-8.489 31.407-10.094 8.198-1.107 16.79-.97 24.844.397.739.125 1.561.007 2.095-.301l2.381-1.374-25.125-14.506a.467.467 0 0 1 .467-.809l25.825 14.91a.467.467 0 0 1 0 .809l-3.081 1.779c-.721.417-1.763.575-2.718.413-7.963-1.351-16.457-1.486-24.563-.392-11.77 1.589-22.512 5.039-31.065 9.977-8.514 4.916-14.456 11.073-17.183 17.805-1.854 4.578-1.623 9.376.666 13.875.37.725.055 1.513-.8 2.006l-3.081 1.78a.476.476 0 0 1-.234.062' fill='#455A64'/><path d='M153.316 128.279c-2.413 0-4.821-.528-6.652-1.586-1.818-1.049-2.82-2.461-2.82-3.975 0-1.527 1.016-2.955 2.861-4.02l9.493-5.607a.233.233 0 1 1 .238.402l-9.496 5.609c-1.696.979-2.628 2.263-2.628 3.616 0 1.34.918 2.608 2.585 3.571 3.549 2.049 9.343 2.038 12.914-.024l9.748-5.628a.234.234 0 0 1 .234.405l-9.748 5.628c-1.858 1.072-4.296 1.609-6.729 1.609' fill='#607D8B'/><path d='M113.675 182.992l-45.913-26.508M113.675 183.342a.346.346 0 0 1-.175-.047l-45.913-26.508a.35.35 0 1 1 .35-.607l45.913 26.508a.35.35 0 0 1-.175.654' fill='#455A64'/><path d='M67.762 156.484v54.001c0 1.09.77 2.418 1.72 2.967l42.473 24.521c.95.549 1.72.11 1.72-.98v-54.001' fill='#FAFAFA'/><path d='M112.727 238.561c-.297 0-.62-.095-.947-.285l-42.473-24.521c-1.063-.613-1.895-2.05-1.895-3.27v-54.001a.35.35 0 1 1 .701 0v54.001c0 .96.707 2.18 1.544 2.663l42.473 24.522c.344.198.661.243.87.122.206-.119.325-.411.325-.799v-54.001a.35.35 0 1 1 .7 0v54.001c0 .655-.239 1.154-.675 1.406a1.235 1.235 0 0 1-.623.162' fill='#455A64'/><path d='M112.86 147.512h-.001c-2.318 0-4.499-.522-6.142-1.471-1.705-.984-2.643-2.315-2.643-3.749 0-1.445.952-2.791 2.68-3.788l12.041-6.953c1.668-.962 3.874-1.493 6.212-1.493 2.318 0 4.499.523 6.143 1.472 1.704.984 2.643 2.315 2.643 3.748 0 1.446-.952 2.791-2.68 3.789l-12.042 6.952c-1.668.963-3.874 1.493-6.211 1.493zm12.147-16.753c-2.217 0-4.298.497-5.861 1.399l-12.042 6.952c-1.502.868-2.33 1.998-2.33 3.182 0 1.173.815 2.289 2.293 3.142 1.538.889 3.596 1.378 5.792 1.378h.001c2.216 0 4.298-.497 5.861-1.399l12.041-6.953c1.502-.867 2.33-1.997 2.33-3.182 0-1.172-.814-2.288-2.292-3.142-1.539-.888-3.596-1.377-5.793-1.377z' fill='#607D8B'/><path d='M165.63 123.219l-5.734 3.311c-3.167 1.828-8.286 1.837-11.433.02-3.147-1.817-3.131-4.772.036-6.601l5.734-3.31 11.397 6.58' fill='#FAFAFA'/><path d='M154.233 117.448l9.995 5.771-4.682 2.704c-1.434.827-3.352 1.283-5.399 1.283-2.029 0-3.923-.449-5.333-1.263-1.29-.744-2-1.694-2-2.674 0-.991.723-1.955 2.036-2.713l5.383-3.108m0-.809l-5.734 3.31c-3.167 1.829-3.183 4.784-.036 6.601 1.568.905 3.623 1.357 5.684 1.357 2.077 0 4.159-.46 5.749-1.377l5.734-3.311-11.397-6.58M145.445 179.667c-1.773 0-3.241-.85-4.243-2.245-.067-.092-.057-.275.023-.356.08-.081.207-.12.3-.055.781.548 1.706.812 2.751.811 1.322 0 2.754-.446 4.256-1.313 5.31-3.066 9.631-10.522 9.631-16.615 0-1.927-.442-3.562-1.279-4.726a.235.235 0 0 1 .024-.301.232.232 0 0 1 .3-.027c1.67 1.172 2.59 3.38 2.59 6.219 0 6.242-4.425 13.987-9.865 17.127-1.573.908-3.083 1.481-4.488 1.481zM142.476 178c.814.651 1.82 1.002 2.969 1.002 1.322 0 2.753-.452 4.255-1.32 5.31-3.065 9.631-10.523 9.631-16.617 0-1.98-.463-3.63-1.325-4.793.411 1.035.624 2.26.624 3.62 0 6.242-4.425 13.875-9.865 17.015-1.573.909-3.084 1.376-4.489 1.376a5.49 5.49 0 0 1-1.8-.283z' fill='#607D8B'/><path d='M148.648 176.704c5.384-3.108 9.748-10.636 9.748-16.813 0-2.052-.483-3.693-1.322-4.861-1.785-1.252-4.375-1.194-7.258.471-5.383 3.108-9.748 10.636-9.748 16.813 0 2.051.484 3.692 1.323 4.86 1.785 1.253 4.374 1.195 7.257-.47' fill='#FAFAFA'/><path d='M144.276 178.276c-1.143 0-2.158-.307-3.019-.911a.217.217 0 0 1-.055-.054c-.895-1.244-1.367-2.972-1.367-4.997 0-6.241 4.425-13.875 9.865-17.016 1.573-.908 3.084-1.369 4.489-1.369 1.143 0 2.158.307 3.019.91a.24.24 0 0 1 .055.055c.894 1.244 1.367 2.971 1.367 4.997 0 6.241-4.425 13.875-9.865 17.016-1.573.908-3.084 1.369-4.489 1.369zm-2.718-1.172c.773.533 1.687.901 2.718.901 1.322 0 2.754-.538 4.256-1.405 5.31-3.066 9.631-10.567 9.631-16.661 0-1.908-.434-3.554-1.256-4.716-.774-.532-1.688-.814-2.718-.814-1.322 0-2.754.433-4.256 1.3-5.31 3.066-9.631 10.564-9.631 16.657 0 1.91.434 3.576 1.256 4.738z' fill='#607D8B'/><path d='M150.72 172.361l-.363-.295a24.105 24.105 0 0 0 2.148-3.128 24.05 24.05 0 0 0 1.977-4.375l.443.149a24.54 24.54 0 0 1-2.015 4.46 24.61 24.61 0 0 1-2.19 3.189M115.917 191.514l-.363-.294a24.174 24.174 0 0 0 2.148-3.128 24.038 24.038 0 0 0 1.976-4.375l.443.148a24.48 24.48 0 0 1-2.015 4.461 24.662 24.662 0 0 1-2.189 3.188M114 237.476V182.584 237.476' fill='#607D8B'/><g><path d='M81.822 37.474c.017-.135-.075-.28-.267-.392-.327-.188-.826-.21-1.109-.045l-6.012 3.471c-.131.076-.194.178-.191.285.002.132.002.461.002.578v.043l-.007.128-6.591 3.779c-.001 0-2.077 1.046-2.787 5.192 0 0-.912 6.961-.898 19.745.015 12.57.606 17.07 1.167 21.351.22 1.684 3.001 2.125 3.001 2.125.331.04.698-.027 1.08-.248l75.273-43.551c1.808-1.069 2.667-3.719 3.056-6.284 1.213-7.99 1.675-32.978-.275-39.878-.196-.693-.51-1.083-.868-1.282l-2.086-.79c-.727.028-1.416.467-1.534.535L82.032 37.072l-.21.402' fill='#FFF'/><path d='M144.311 1.701l2.085.79c.358.199.672.589.868 1.282 1.949 6.9 1.487 31.887.275 39.878-.39 2.565-1.249 5.215-3.056 6.284L69.21 93.486a1.78 1.78 0 0 1-.896.258l-.183-.011c0 .001-2.782-.44-3.003-2.124-.56-4.282-1.151-8.781-1.165-21.351-.015-12.784.897-19.745.897-19.745.71-4.146 2.787-5.192 2.787-5.192l6.591-3.779.007-.128v-.043c0-.117 0-.446-.002-.578-.003-.107.059-.21.191-.285l6.012-3.472a.98.98 0 0 1 .481-.11c.218 0 .449.053.627.156.193.112.285.258.268.392l.211-.402 60.744-34.836c.117-.068.806-.507 1.534-.535m0-.997l-.039.001c-.618.023-1.283.244-1.974.656l-.021.012-60.519 34.706a2.358 2.358 0 0 0-.831-.15c-.365 0-.704.084-.98.244l-6.012 3.471c-.442.255-.699.69-.689 1.166l.001.15-6.08 3.487c-.373.199-2.542 1.531-3.29 5.898l-.006.039c-.009.07-.92 7.173-.906 19.875.014 12.62.603 17.116 1.172 21.465l.002.015c.308 2.355 3.475 2.923 3.836 2.98l.034.004c.101.013.204.019.305.019a2.77 2.77 0 0 0 1.396-.392l75.273-43.552c1.811-1.071 2.999-3.423 3.542-6.997 1.186-7.814 1.734-33.096-.301-40.299-.253-.893-.704-1.527-1.343-1.882l-.132-.062-2.085-.789a.973.973 0 0 0-.353-.065' fill='#455A64'/><path d='M128.267 11.565l1.495.434-56.339 32.326' fill='#FFF'/><path d='M74.202 90.545a.5.5 0 0 1-.25-.931l18.437-10.645a.499.499 0 1 1 .499.864L74.451 90.478l-.249.067M75.764 42.654l-.108-.062.046-.171 5.135-2.964.17.045-.045.171-5.135 2.964-.063.017M70.52 90.375V46.421l.063-.036L137.84 7.554v43.954l-.062.036L70.52 90.375zm.25-43.811v43.38l66.821-38.579V7.985L70.77 46.564z' fill='#607D8B'/><path d='M86.986 83.182c-.23.149-.612.384-.849.523l-11.505 6.701c-.237.139-.206.252.068.252h.565c.275 0 .693-.113.93-.252L87.7 83.705c.237-.139.428-.253.425-.256a11.29 11.29 0 0 1-.006-.503c0-.274-.188-.377-.418-.227l-.715.463' fill='#607D8B'/><path d='M75.266 90.782H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.236-.138.615-.371.844-.519l.715-.464a.488.488 0 0 1 .266-.089c.172 0 .345.13.345.421 0 .214.001.363.003.437l.006.004-.004.069c-.003.075-.003.075-.486.356l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.108.866-.234l11.505-6.702c.168-.098.294-.173.361-.214-.004-.084-.004-.218-.004-.437l-.095-.171-.131.049-.714.463c-.232.15-.616.386-.854.525l-11.505 6.702-.029.018z' fill='#607D8B'/><path d='M75.266 89.871H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.258-.151.694-.268.993-.268h.565c.2 0 .316.056.346.166.03.11-.043.217-.215.317l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.107.866-.234l11.505-6.702.03-.018-.035-.001h-.565c-.252 0-.649.108-.867.234l-11.505 6.702-.029.018zM74.37 90.801v-1.247 1.247' fill='#607D8B'/><path d='M68.13 93.901c-.751-.093-1.314-.737-1.439-1.376-.831-4.238-1.151-8.782-1.165-21.352-.015-12.784.897-19.745.897-19.745.711-4.146 2.787-5.192 2.787-5.192l74.859-43.219c.223-.129 2.487-1.584 3.195.923 1.95 6.9 1.488 31.887.275 39.878-.389 2.565-1.248 5.215-3.056 6.283L69.21 93.653c-.382.221-.749.288-1.08.248 0 0-2.781-.441-3.001-2.125-.561-4.281-1.152-8.781-1.167-21.351-.014-12.784.898-19.745.898-19.745.71-4.146 2.787-5.191 2.787-5.191l6.598-3.81.871-.119 6.599-3.83.046-.461L68.13 93.901' fill='#FAFAFA'/><path d='M68.317 94.161l-.215-.013h-.001l-.244-.047c-.719-.156-2.772-.736-2.976-2.292-.568-4.34-1.154-8.813-1.168-21.384-.014-12.654.891-19.707.9-19.777.725-4.231 2.832-5.338 2.922-5.382l6.628-3.827.87-.119 6.446-3.742.034-.334a.248.248 0 0 1 .273-.223.248.248 0 0 1 .223.272l-.059.589-6.752 3.919-.87.118-6.556 3.785c-.031.016-1.99 1.068-2.666 5.018-.007.06-.908 7.086-.894 19.702.014 12.539.597 16.996 1.161 21.305.091.691.689 1.154 1.309 1.452a1.95 1.95 0 0 1-.236-.609c-.781-3.984-1.155-8.202-1.17-21.399-.014-12.653.891-19.707.9-19.777.725-4.231 2.832-5.337 2.922-5.382-.004.001 74.444-42.98 74.846-43.212l.028-.017c.904-.538 1.72-.688 2.36-.433.555.221.949.733 1.172 1.52 2.014 7.128 1.46 32.219.281 39.983-.507 3.341-1.575 5.515-3.175 6.462L69.335 93.869a2.023 2.023 0 0 1-1.018.292zm-.147-.507c.293.036.604-.037.915-.217l75.273-43.551c1.823-1.078 2.602-3.915 2.934-6.106 1.174-7.731 1.731-32.695-.268-39.772-.178-.631-.473-1.032-.876-1.192-.484-.193-1.166-.052-1.921.397l-.034.021-74.858 43.218c-.031.017-1.989 1.069-2.666 5.019-.007.059-.908 7.085-.894 19.702.015 13.155.386 17.351 1.161 21.303.09.461.476.983 1.037 1.139.114.025.185.037.196.039h.001z' fill='#455A64'/><path d='M69.317 68.982c.489-.281.885-.056.885.505 0 .56-.396 1.243-.885 1.525-.488.282-.884.057-.884-.504 0-.56.396-1.243.884-1.526' fill='#FFF'/><path d='M68.92 71.133c-.289 0-.487-.228-.487-.625 0-.56.396-1.243.884-1.526a.812.812 0 0 1 .397-.121c.289 0 .488.229.488.626 0 .56-.396 1.243-.885 1.525a.812.812 0 0 1-.397.121m.794-2.459a.976.976 0 0 0-.49.147c-.548.317-.978 1.058-.978 1.687 0 .486.271.812.674.812a.985.985 0 0 0 .491-.146c.548-.317.978-1.057.978-1.687 0-.486-.272-.813-.675-.813' fill='#8097A2'/><path d='M68.92 70.947c-.271 0-.299-.307-.299-.439 0-.491.361-1.116.79-1.363a.632.632 0 0 1 .303-.096c.272 0 .301.306.301.438 0 .491-.363 1.116-.791 1.364a.629.629 0 0 1-.304.096m.794-2.086a.812.812 0 0 0-.397.121c-.488.283-.884.966-.884 1.526 0 .397.198.625.487.625a.812.812 0 0 0 .397-.121c.489-.282.885-.965.885-1.525 0-.397-.199-.626-.488-.626' fill='#8097A2'/><path d='M69.444 85.35c.264-.152.477-.031.477.272 0 .303-.213.67-.477.822-.263.153-.477.031-.477-.271 0-.302.214-.671.477-.823' fill='#FFF'/><path d='M69.23 86.51c-.156 0-.263-.123-.263-.337 0-.302.214-.671.477-.823a.431.431 0 0 1 .214-.066c.156 0 .263.124.263.338 0 .303-.213.67-.477.822a.431.431 0 0 1-.214.066m.428-1.412c-.1 0-.203.029-.307.09-.32.185-.57.618-.57.985 0 .309.185.524.449.524a.63.63 0 0 0 .308-.09c.32-.185.57-.618.57-.985 0-.309-.185-.524-.45-.524' fill='#8097A2'/><path d='M69.23 86.322l-.076-.149c0-.235.179-.544.384-.661l.12-.041.076.151c0 .234-.179.542-.383.66l-.121.04m.428-1.038a.431.431 0 0 0-.214.066c-.263.152-.477.521-.477.823 0 .214.107.337.263.337a.431.431 0 0 0 .214-.066c.264-.152.477-.519.477-.822 0-.214-.107-.338-.263-.338' fill='#8097A2'/><path d='M139.278 7.769v43.667L72.208 90.16V46.493l67.07-38.724' fill='#455A64'/><path d='M72.083 90.375V46.421l.063-.036 67.257-38.831v43.954l-.062.036-67.258 38.831zm.25-43.811v43.38l66.821-38.579V7.985L72.333 46.564z' fill='#607D8B'/></g><path d='M125.737 88.647l-7.639 3.334V84l-11.459 4.713v8.269L99 100.315l13.369 3.646 13.368-15.314' fill='#455A64'/></g></svg>";function Ee(){this.loadIcon_();var e=document.createElement("div");(o=e.style).position="fixed",o.top=0,o.right=0,o.bottom=0,o.left=0,o.backgroundColor="gray",o.fontFamily="sans-serif",o.zIndex=1e6;var t=document.createElement("img");t.src=this.icon,(o=t.style).marginLeft="25%",o.marginTop="25%",o.width="50%",e.appendChild(t);var n=document.createElement("div");(o=n.style).textAlign="center",o.fontSize="16px",o.lineHeight="24px",o.margin="24px 25%",o.width="50%",n.innerHTML="Place your phone into your Cardboard viewer.",e.appendChild(n);var r=document.createElement("div");(o=r.style).backgroundColor="#CFD8DC",o.position="fixed",o.bottom=0,o.width="100%",o.height="48px",o.padding="14px 24px",o.boxSizing="border-box",o.color="#656A6B",e.appendChild(r);var i=document.createElement("div");i.style.float="left",i.innerHTML="No Cardboard viewer?";var o,a=document.createElement("a");a.href="https://www.google.com/get/cardboard/get-cardboard/",a.innerHTML="get one",a.target="_blank",(o=a.style).float="right",o.fontWeight=600,o.textTransform="uppercase",o.borderLeft="1px solid gray",o.paddingLeft="24px",o.textDecoration="none",o.color="#656A6B",r.appendChild(i),r.appendChild(a),this.overlay=e,this.text=n,this.hide()}Ee.prototype.show=function(e){e||this.overlay.parentElement?e&&(this.overlay.parentElement&&this.overlay.parentElement!=e&&this.overlay.parentElement.removeChild(this.overlay),e.appendChild(this.overlay)):document.body.appendChild(this.overlay),this.overlay.style.display="block";var t=this.overlay.querySelector("img").style;v()?(t.width="20%",t.marginLeft="40%",t.marginTop="3%"):(t.width="50%",t.marginLeft="25%",t.marginTop="25%")},Ee.prototype.hide=function(){this.overlay.style.display="none"},Ee.prototype.showTemporarily=function(e,t){this.show(t),this.timer=setTimeout(this.hide.bind(this),e)},Ee.prototype.disableShowTemporarily=function(){clearTimeout(this.timer)},Ee.prototype.update=function(){this.disableShowTemporarily(),!v()&&T()?this.show():this.hide()},Ee.prototype.loadIcon_=function(){this.icon=a("image/svg+xml",xe)};var Me="CardboardV1",_e="WEBVR_CARDBOARD_VIEWER",Te="webvr-polyfill-viewer-selector";function Se(e){try{this.selectedKey=localStorage.getItem(_e)}catch(t){console.error("Failed to load viewer profile: %s",t)}this.selectedKey||(this.selectedKey=e||Me),this.dialog=this.createDialog_(le.Viewers),this.root=null,this.onChangeCallbacks_=[]}function Ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Le(e,t){return e(t={exports:{}},t.exports),t.exports}Se.prototype.show=function(e){this.root=e,e.appendChild(this.dialog),this.dialog.querySelector("#"+this.selectedKey).checked=!0,this.dialog.style.display="block"},Se.prototype.hide=function(){this.root&&this.root.contains(this.dialog)&&this.root.removeChild(this.dialog),this.dialog.style.display="none"},Se.prototype.getCurrentViewer=function(){return le.Viewers[this.selectedKey]},Se.prototype.getSelectedKey_=function(){var e=this.dialog.querySelector("input[name=field]:checked");return e?e.id:null},Se.prototype.onChange=function(e){this.onChangeCallbacks_.push(e)},Se.prototype.fireOnChange_=function(e){for(var t=0;t<this.onChangeCallbacks_.length;t++)this.onChangeCallbacks_[t](e)},Se.prototype.onSave_=function(){if(this.selectedKey=this.getSelectedKey_(),this.selectedKey&&le.Viewers[this.selectedKey]){this.fireOnChange_(le.Viewers[this.selectedKey]);try{localStorage.setItem(_e,this.selectedKey)}catch(e){console.error("Failed to save viewer profile: %s",e)}this.hide()}else console.error("ViewerSelector.onSave_: this should never happen!")},Se.prototype.createDialog_=function(e){var t=document.createElement("div");t.classList.add(Te),t.style.display="none";var n=document.createElement("div");(o=n.style).position="fixed",o.left=0,o.top=0,o.width="100%",o.height="100%",o.background="rgba(0, 0, 0, 0.3)",n.addEventListener("click",this.hide.bind(this));var r=280,i=document.createElement("div"),o=i.style;for(var a in o.boxSizing="border-box",o.position="fixed",o.top="24px",o.left="50%",o.marginLeft=-r/2+"px",o.width=r+"px",o.padding="24px",o.overflow="hidden",o.background="#fafafa",o.fontFamily="'Roboto', sans-serif",o.boxShadow="0px 5px 20px #666",i.appendChild(this.createH1_("Select your viewer")),e)i.appendChild(this.createChoice_(a,e[a].label));return i.appendChild(this.createButton_("Save",this.onSave_.bind(this))),t.appendChild(n),t.appendChild(i),t},Se.prototype.createH1_=function(e){var t=document.createElement("h1"),n=t.style;return n.color="black",n.fontSize="20px",n.fontWeight="bold",n.marginTop=0,n.marginBottom="24px",t.innerHTML=e,t},Se.prototype.createChoice_=function(e,t){var n=document.createElement("div");n.style.marginTop="8px",n.style.color="black";var r=document.createElement("input");r.style.fontSize="30px",r.setAttribute("id",e),r.setAttribute("type","radio"),r.setAttribute("value",e),r.setAttribute("name","field");var i=document.createElement("label");return i.style.marginLeft="4px",i.setAttribute("for",e),i.innerHTML=t,n.appendChild(r),n.appendChild(i),n},Se.prototype.createButton_=function(e,t){var n=document.createElement("button");n.innerHTML=e;var r=n.style;return r.float="right",r.textTransform="uppercase",r.color="#1094f7",r.fontSize="14px",r.letterSpacing=0,r.border=0,r.background="none",r.marginTop="16px",n.addEventListener("click",t),n},"undefined"!==typeof window?window:"undefined"!==typeof t||"undefined"!==typeof self&&self;var Re=Ce(Le((function(e,t){var n;n=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n(1),a="undefined"!==typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,s=function(){function e(){i(this,e),a?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("playsinline",""),this.noSleepVideo.setAttribute("src",o),this.noSleepVideo.addEventListener("timeupdate",function(e){this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())}.bind(this)))}return r(e,[{key:"enable",value:function(){a?(this.disable(),this.noSleepTimer=window.setInterval((function(){window.location.href="/",window.setTimeout(window.stop,0)}),15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){a?this.noSleepTimer&&(window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),e}();e.exports=s},function(e,t,n){e.exports="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA="}])},e.exports=n()}))),Pe=1e3,De=[0,0,.5,1],Oe=[.5,0,.5,1],Ie=window.requestAnimationFrame,Be=window.cancelAnimationFrame;function Fe(){this.leftProjectionMatrix=new Float32Array(16),this.leftViewMatrix=new Float32Array(16),this.rightProjectionMatrix=new Float32Array(16),this.rightViewMatrix=new Float32Array(16),this.pose=null}function ke(e){Object.defineProperties(this,{hasPosition:{writable:!1,enumerable:!0,value:e.hasPosition},hasExternalDisplay:{writable:!1,enumerable:!0,value:e.hasExternalDisplay},canPresent:{writable:!1,enumerable:!0,value:e.canPresent},maxLayers:{writable:!1,enumerable:!0,value:e.maxLayers},hasOrientation:{enumerable:!0,get:function(){return I("VRDisplayCapabilities.prototype.hasOrientation","VRDisplay.prototype.getFrameData"),e.hasOrientation}}})}function Ne(e){var t=!("wakelock"in(e=e||{}))||e.wakelock;this.isPolyfilled=!0,this.displayId=Pe++,this.displayName="",this.depthNear=.01,this.depthFar=1e4,this.isPresenting=!1,Object.defineProperty(this,"isConnected",{get:function(){return I("VRDisplay.prototype.isConnected","VRDisplayCapabilities.prototype.hasExternalDisplay"),!1}}),this.capabilities=new ke({hasPosition:!1,hasOrientation:!1,hasExternalDisplay:!1,canPresent:!1,maxLayers:1}),this.stageParameters=null,this.waitingForPresent_=!1,this.layer_=null,this.originalParent_=null,this.fullscreenElement_=null,this.fullscreenWrapper_=null,this.fullscreenElementCachedStyle_=null,this.fullscreenEventTarget_=null,this.fullscreenChangeHandler_=null,this.fullscreenErrorHandler_=null,t&&T()&&(this.wakelock_=new Re)}Ne.prototype.getFrameData=function(e){return L(e,this._getPose(),this)},Ne.prototype.getPose=function(){return I("VRDisplay.prototype.getPose","VRDisplay.prototype.getFrameData"),this._getPose()},Ne.prototype.resetPose=function(){return I("VRDisplay.prototype.resetPose"),this._resetPose()},Ne.prototype.getImmediatePose=function(){return I("VRDisplay.prototype.getImmediatePose","VRDisplay.prototype.getFrameData"),this._getPose()},Ne.prototype.requestAnimationFrame=function(e){return Ie(e)},Ne.prototype.cancelAnimationFrame=function(e){return Be(e)},Ne.prototype.wrapForFullscreen=function(e){if(l())return e;if(!this.fullscreenWrapper_){this.fullscreenWrapper_=document.createElement("div");var t=["height: "+Math.min(screen.height,screen.width)+"px !important","top: 0 !important","left: 0 !important","right: 0 !important","border: 0","margin: 0","padding: 0","z-index: 999999 !important","position: fixed"];this.fullscreenWrapper_.setAttribute("style",t.join("; ")+";"),this.fullscreenWrapper_.classList.add("webvr-polyfill-fullscreen-wrapper")}if(this.fullscreenElement_==e)return this.fullscreenWrapper_;if(this.fullscreenElement_&&(this.originalParent_?this.originalParent_.appendChild(this.fullscreenElement_):this.fullscreenElement_.parentElement.removeChild(this.fullscreenElement_)),this.fullscreenElement_=e,this.originalParent_=e.parentElement,this.originalParent_||document.body.appendChild(e),!this.fullscreenWrapper_.parentElement){var n=this.fullscreenElement_.parentElement;n.insertBefore(this.fullscreenWrapper_,this.fullscreenElement_),n.removeChild(this.fullscreenElement_)}this.fullscreenWrapper_.insertBefore(this.fullscreenElement_,this.fullscreenWrapper_.firstChild),this.fullscreenElementCachedStyle_=this.fullscreenElement_.getAttribute("style");var r=this;function i(){if(r.fullscreenElement_){var e=["position: absolute","top: 0","left: 0","width: "+Math.max(screen.width,screen.height)+"px","height: "+Math.min(screen.height,screen.width)+"px","border: 0","margin: 0","padding: 0"];r.fullscreenElement_.setAttribute("style",e.join("; ")+";")}}return i(),this.fullscreenWrapper_},Ne.prototype.removeFullscreenWrapper=function(){if(this.fullscreenElement_){var e=this.fullscreenElement_;this.fullscreenElementCachedStyle_?e.setAttribute("style",this.fullscreenElementCachedStyle_):e.removeAttribute("style"),this.fullscreenElement_=null,this.fullscreenElementCachedStyle_=null;var t=this.fullscreenWrapper_.parentElement;return this.fullscreenWrapper_.removeChild(e),this.originalParent_===t?t.insertBefore(e,this.fullscreenWrapper_):this.originalParent_&&this.originalParent_.appendChild(e),t.removeChild(this.fullscreenWrapper_),e}},Ne.prototype.requestPresent=function(e){var t=this.isPresenting,n=this;return e instanceof Array||(I("VRDisplay.prototype.requestPresent with non-array argument","an array of VRLayers as the first argument"),e=[e]),new Promise((function(r,i){if(n.capabilities.canPresent)if(0==e.length||e.length>n.capabilities.maxLayers)i(new Error("Invalid number of layers."));else{var o=e[0];if(o.source){var a=o.leftBounds||De,s=o.rightBounds||Oe;if(t){var u=n.layer_;u.source!==o.source&&(u.source=o.source);for(var h=0;h<4;h++)u.leftBounds[h]=a[h],u.rightBounds[h]=s[h];return n.wrapForFullscreen(n.layer_.source),n.updatePresent_(),void r()}if(n.layer_={predistorted:o.predistorted,source:o.source,leftBounds:a.slice(0),rightBounds:s.slice(0)},n.waitingForPresent_=!1,n.layer_&&n.layer_.source){var d=n.wrapForFullscreen(n.layer_.source),p=function(){var e=x();n.isPresenting=d===e,n.isPresenting?(screen.orientation&&screen.orientation.lock&&screen.orientation.lock("landscape-primary").catch((function(e){console.error("screen.orientation.lock() failed due to",e.message)})),n.waitingForPresent_=!1,n.beginPresent_(),r()):(screen.orientation&&screen.orientation.unlock&&screen.orientation.unlock(),n.removeFullscreenWrapper(),n.disableWakeLock(),n.endPresent_(),n.removeFullscreenListeners_()),n.fireVRDisplayPresentChange_()},f=function(){n.waitingForPresent_&&(n.removeFullscreenWrapper(),n.removeFullscreenListeners_(),n.disableWakeLock(),n.waitingForPresent_=!1,n.isPresenting=!1,i(new Error("Unable to present.")))};n.addFullscreenListeners_(d,p,f),A(d)?(n.enableWakeLock(),n.waitingForPresent_=!0):(l()||c())&&(n.enableWakeLock(),n.isPresenting=!0,n.beginPresent_(),n.fireVRDisplayPresentChange_(),r())}n.waitingForPresent_||l()||(w(),i(new Error("Unable to present.")))}else r()}else i(new Error("VRDisplay is not capable of presenting."))}))},Ne.prototype.exitPresent=function(){var e=this.isPresenting,t=this;return this.isPresenting=!1,this.layer_=null,this.disableWakeLock(),new Promise((function(n,r){e?(!w()&&l()&&(t.endPresent_(),t.fireVRDisplayPresentChange_()),c()&&(t.removeFullscreenWrapper(),t.removeFullscreenListeners_(),t.endPresent_(),t.fireVRDisplayPresentChange_()),n()):r(new Error("Was not presenting to VRDisplay."))}))},Ne.prototype.getLayers=function(){return this.layer_?[this.layer_]:[]},Ne.prototype.fireVRDisplayPresentChange_=function(){var e=new CustomEvent("vrdisplaypresentchange",{detail:{display:this}});window.dispatchEvent(e)},Ne.prototype.fireVRDisplayConnect_=function(){var e=new CustomEvent("vrdisplayconnect",{detail:{display:this}});window.dispatchEvent(e)},Ne.prototype.addFullscreenListeners_=function(e,t,n){this.removeFullscreenListeners_(),this.fullscreenEventTarget_=e,this.fullscreenChangeHandler_=t,this.fullscreenErrorHandler_=n,t&&(document.fullscreenEnabled?e.addEventListener("fullscreenchange",t,!1):document.webkitFullscreenEnabled?e.addEventListener("webkitfullscreenchange",t,!1):document.mozFullScreenEnabled?document.addEventListener("mozfullscreenchange",t,!1):document.msFullscreenEnabled&&e.addEventListener("msfullscreenchange",t,!1)),n&&(document.fullscreenEnabled?e.addEventListener("fullscreenerror",n,!1):document.webkitFullscreenEnabled?e.addEventListener("webkitfullscreenerror",n,!1):document.mozFullScreenEnabled?document.addEventListener("mozfullscreenerror",n,!1):document.msFullscreenEnabled&&e.addEventListener("msfullscreenerror",n,!1))},Ne.prototype.removeFullscreenListeners_=function(){if(this.fullscreenEventTarget_){var e=this.fullscreenEventTarget_;if(this.fullscreenChangeHandler_){var t=this.fullscreenChangeHandler_;e.removeEventListener("fullscreenchange",t,!1),e.removeEventListener("webkitfullscreenchange",t,!1),document.removeEventListener("mozfullscreenchange",t,!1),e.removeEventListener("msfullscreenchange",t,!1)}if(this.fullscreenErrorHandler_){var n=this.fullscreenErrorHandler_;e.removeEventListener("fullscreenerror",n,!1),e.removeEventListener("webkitfullscreenerror",n,!1),document.removeEventListener("mozfullscreenerror",n,!1),e.removeEventListener("msfullscreenerror",n,!1)}this.fullscreenEventTarget_=null,this.fullscreenChangeHandler_=null,this.fullscreenErrorHandler_=null}},Ne.prototype.enableWakeLock=function(){this.wakelock_&&this.wakelock_.enable()},Ne.prototype.disableWakeLock=function(){this.wakelock_&&this.wakelock_.disable()},Ne.prototype.beginPresent_=function(){},Ne.prototype.endPresent_=function(){},Ne.prototype.submitFrame=function(e){},Ne.prototype.getEyeParameters=function(e){return null};var Ue={ADDITIONAL_VIEWERS:[],DEFAULT_VIEWER:"",MOBILE_WAKE_LOCK:!0,DEBUG:!1,DPDB_URL:"https://dpdb.webvr.rocks/dpdb.json",K_FILTER:.98,PREDICTION_TIME_S:.04,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!1,YAW_ONLY:!1,BUFFER_SCALE:.5,DIRTY_SUBMIT_FRAME_BINDINGS:!1},He={LEFT:"left",RIGHT:"right"};function Ge(e){var t=S({},Ue);e=S(t,e||{}),Ne.call(this,{wakelock:e.MOBILE_WAKE_LOCK}),this.config=e,this.displayName="Cardboard VRDisplay",this.capabilities=new ke({hasPosition:!1,hasOrientation:!0,hasExternalDisplay:!1,canPresent:!0,maxLayers:1}),this.stageParameters=null,this.bufferScale_=this.config.BUFFER_SCALE,this.poseSensor_=new we(this.config),this.distorter_=null,this.cardboardUI_=null,this.dpdb_=new he(this.config.DPDB_URL,this.onDeviceParamsUpdated_.bind(this)),this.deviceInfo_=new le(this.dpdb_.getDeviceParams(),e.ADDITIONAL_VIEWERS),this.viewerSelector_=new Se(e.DEFAULT_VIEWER),this.viewerSelector_.onChange(this.onViewerChanged_.bind(this)),this.deviceInfo_.setViewer(this.viewerSelector_.getCurrentViewer()),this.config.ROTATE_INSTRUCTIONS_DISABLED||(this.rotateInstructions_=new Ee),l()&&window.addEventListener("resize",this.onResize_.bind(this))}return Ge.prototype=Object.create(Ne.prototype),Ge.prototype._getPose=function(){return{position:null,orientation:this.poseSensor_.getOrientation(),linearVelocity:null,linearAcceleration:null,angularVelocity:null,angularAcceleration:null}},Ge.prototype._resetPose=function(){this.poseSensor_.resetPose&&this.poseSensor_.resetPose()},Ge.prototype._getFieldOfView=function(e){var t;if(e==He.LEFT)t=this.deviceInfo_.getFieldOfViewLeftEye();else{if(e!=He.RIGHT)return console.error("Invalid eye provided: %s",e),null;t=this.deviceInfo_.getFieldOfViewRightEye()}return t},Ge.prototype._getEyeOffset=function(e){var t;if(e==He.LEFT)t=[.5*-this.deviceInfo_.viewer.interLensDistance,0,0];else{if(e!=He.RIGHT)return console.error("Invalid eye provided: %s",e),null;t=[.5*this.deviceInfo_.viewer.interLensDistance,0,0]}return t},Ge.prototype.getEyeParameters=function(e){var t=this._getEyeOffset(e),n=this._getFieldOfView(e),r={offset:t,renderWidth:.5*this.deviceInfo_.device.width*this.bufferScale_,renderHeight:this.deviceInfo_.device.height*this.bufferScale_};return Object.defineProperty(r,"fieldOfView",{enumerable:!0,get:function(){return I("VRFieldOfView","VRFrameData's projection matrices"),n}}),r},Ge.prototype.onDeviceParamsUpdated_=function(e){this.config.DEBUG&&console.log("DPDB reported that device params were updated."),this.deviceInfo_.updateDeviceParams(e),this.distorter_&&this.distorter_.updateDeviceInfo(this.deviceInfo_)},Ge.prototype.updateBounds_=function(){this.layer_&&this.distorter_&&(this.layer_.leftBounds||this.layer_.rightBounds)&&this.distorter_.setTextureBounds(this.layer_.leftBounds,this.layer_.rightBounds)},Ge.prototype.beginPresent_=function(){var e=this.layer_.source.getContext("webgl");e||(e=this.layer_.source.getContext("experimental-webgl")),e||(e=this.layer_.source.getContext("webgl2")),e&&(this.layer_.predistorted?this.config.CARDBOARD_UI_DISABLED||(e.canvas.width=y()*this.bufferScale_,e.canvas.height=b()*this.bufferScale_,this.cardboardUI_=new J(e)):(this.config.CARDBOARD_UI_DISABLED||(this.cardboardUI_=new J(e)),this.distorter_=new U(e,this.cardboardUI_,this.config.BUFFER_SCALE,this.config.DIRTY_SUBMIT_FRAME_BINDINGS),this.distorter_.updateDeviceInfo(this.deviceInfo_)),this.cardboardUI_&&this.cardboardUI_.listen(function(e){this.viewerSelector_.show(this.layer_.source.parentElement),e.stopPropagation(),e.preventDefault()}.bind(this),function(e){this.exitPresent(),e.stopPropagation(),e.preventDefault()}.bind(this)),this.rotateInstructions_&&(v()&&T()?this.rotateInstructions_.showTemporarily(3e3,this.layer_.source.parentElement):this.rotateInstructions_.update()),this.orientationHandler=this.onOrientationChange_.bind(this),window.addEventListener("orientationchange",this.orientationHandler),this.vrdisplaypresentchangeHandler=this.updateBounds_.bind(this),window.addEventListener("vrdisplaypresentchange",this.vrdisplaypresentchangeHandler),this.fireVRDisplayDeviceParamsChange_())},Ge.prototype.endPresent_=function(){this.distorter_&&(this.distorter_.destroy(),this.distorter_=null),this.cardboardUI_&&(this.cardboardUI_.destroy(),this.cardboardUI_=null),this.rotateInstructions_&&this.rotateInstructions_.hide(),this.viewerSelector_.hide(),window.removeEventListener("orientationchange",this.orientationHandler),window.removeEventListener("vrdisplaypresentchange",this.vrdisplaypresentchangeHandler)},Ge.prototype.updatePresent_=function(){this.endPresent_(),this.beginPresent_()},Ge.prototype.submitFrame=function(e){if(this.distorter_)this.updateBounds_(),this.distorter_.submitFrame();else if(this.cardboardUI_&&this.layer_){var t=this.layer_.source.getContext("webgl");t||(t=this.layer_.source.getContext("experimental-webgl")),t||(t=this.layer_.source.getContext("webgl2"));var n=t.canvas;n.width==this.lastWidth&&n.height==this.lastHeight||this.cardboardUI_.onResize(),this.lastWidth=n.width,this.lastHeight=n.height,this.cardboardUI_.render()}},Ge.prototype.onOrientationChange_=function(e){this.viewerSelector_.hide(),this.rotateInstructions_&&this.rotateInstructions_.update(),this.onResize_()},Ge.prototype.onResize_=function(e){if(this.layer_){var t=this.layer_.source.getContext("webgl");t||(t=this.layer_.source.getContext("experimental-webgl")),t||(t=this.layer_.source.getContext("webgl2"));var n=["position: absolute","top: 0","left: 0","width: 100vw","height: 100vh","border: 0","margin: 0","padding: 0px","box-sizing: content-box"];t.canvas.setAttribute("style",n.join("; ")+";"),C(t.canvas)}},Ge.prototype.onViewerChanged_=function(e){this.deviceInfo_.setViewer(e),this.distorter_&&this.distorter_.updateDeviceInfo(this.deviceInfo_),this.fireVRDisplayDeviceParamsChange_()},Ge.prototype.fireVRDisplayDeviceParamsChange_=function(){var e=new CustomEvent("vrdisplaydeviceparamschange",{detail:{vrdisplay:this,deviceInfo:this.deviceInfo_}});window.dispatchEvent(e)},Ge.VRFrameData=Fe,Ge.VRDisplay=Ne,Ge},e.exports=r()}))),l="0.10.12",c={ADDITIONAL_VIEWERS:[],DEFAULT_VIEWER:"",PROVIDE_MOBILE_VRDISPLAY:!0,MOBILE_WAKE_LOCK:!0,DEBUG:!1,DPDB_URL:"https://dpdb.webvr.rocks/dpdb.json",K_FILTER:.98,PREDICTION_TIME_S:.04,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!1,YAW_ONLY:!1,BUFFER_SCALE:.5,DIRTY_SUBMIT_FRAME_BINDINGS:!1};function u(e){this.config=a(a({},c),e),this.polyfillDisplays=[],this.enabled=!1,this.hasNative="getVRDisplays"in navigator,this.native={},this.native.getVRDisplays=navigator.getVRDisplays,this.native.VRFrameData=window.VRFrameData,this.native.VRDisplay=window.VRDisplay,(!this.hasNative||this.config.PROVIDE_MOBILE_VRDISPLAY&&i())&&(this.enable(),this.getVRDisplays().then((function(e){e&&e[0]&&e[0].fireVRDisplayConnect_&&e[0].fireVRDisplayConnect_()})))}u.prototype.getPolyfillDisplays=function(){if(this._polyfillDisplaysPopulated)return this.polyfillDisplays;if(i()){var e=new s({ADDITIONAL_VIEWERS:this.config.ADDITIONAL_VIEWERS,DEFAULT_VIEWER:this.config.DEFAULT_VIEWER,MOBILE_WAKE_LOCK:this.config.MOBILE_WAKE_LOCK,DEBUG:this.config.DEBUG,DPDB_URL:this.config.DPDB_URL,CARDBOARD_UI_DISABLED:this.config.CARDBOARD_UI_DISABLED,K_FILTER:this.config.K_FILTER,PREDICTION_TIME_S:this.config.PREDICTION_TIME_S,ROTATE_INSTRUCTIONS_DISABLED:this.config.ROTATE_INSTRUCTIONS_DISABLED,YAW_ONLY:this.config.YAW_ONLY,BUFFER_SCALE:this.config.BUFFER_SCALE,DIRTY_SUBMIT_FRAME_BINDINGS:this.config.DIRTY_SUBMIT_FRAME_BINDINGS});this.polyfillDisplays.push(e)}return this._polyfillDisplaysPopulated=!0,this.polyfillDisplays},u.prototype.enable=function(){if(this.enabled=!0,this.hasNative&&this.native.VRFrameData){var e=this.native.VRFrameData,t=new this.native.VRFrameData,n=this.native.VRDisplay.prototype.getFrameData;window.VRDisplay.prototype.getFrameData=function(r){r instanceof e?n.call(this,r):(n.call(this,t),r.pose=t.pose,o(t.leftProjectionMatrix,r.leftProjectionMatrix),o(t.rightProjectionMatrix,r.rightProjectionMatrix),o(t.leftViewMatrix,r.leftViewMatrix),o(t.rightViewMatrix,r.rightViewMatrix))}}navigator.getVRDisplays=this.getVRDisplays.bind(this),window.VRDisplay=s.VRDisplay,window.VRFrameData=s.VRFrameData},u.prototype.getVRDisplays=function(){var e=this;return this.config,this.hasNative?this.native.getVRDisplays.call(navigator).then((function(t){return t.length>0?t:e.getPolyfillDisplays()})):Promise.resolve(this.getPolyfillDisplays())},u.version=l,u.VRFrameData=s.VRFrameData,u.VRDisplay=s.VRDisplay;var h=Object.freeze({default:u}),d=h&&u||h;return"undefined"!==typeof t&&t.window&&(t.document||(t.document=t.window.document),t.navigator||(t.navigator=t.window.navigator)),d}))}).call(this,"undefined"!==typeof r.g?r.g:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],69:[function(e,t,n){var r=/\n/,i="\n",o=/\s/;function a(e,t,n,r){var i=e.indexOf(t,n);return-1===i||i>r?r:i}function s(e){return o.test(e)}function l(e,t,n,i,o){for(var a=[],s=n,l=n;l<i&&l<t.length;l++){var c=t.charAt(l),u=r.test(c);if(u||l===i-1){var h=e(t,s,u?l:l+1,o);a.push(h),s=l+1}}return a}function c(e,t,n,r,o,l){var c=[],u=o;for("nowrap"===l&&(u=Number.MAX_VALUE);n<r&&n<t.length;){for(var h=a(t,i,n,r);n<h&&s(t.charAt(n));)n++;var d=e(t,n,h,u),p=n+(d.end-d.start),f=p+i.length;if(p<h){for(;p>n&&!s(t.charAt(p));)p--;if(p===n)f>n+i.length&&f--,p=f;else for(f=p;p>n&&s(t.charAt(p-i.length));)p--}if(p>=n){var m=e(t,n,p,u);c.push(m)}n=f}return c}function u(e,t,n,r){return{start:t,end:t+Math.min(r,n-t)}}t.exports=function(e,n){return t.exports.lines(e,n).map((function(t){return e.substring(t.start,t.end)})).join("\n")},t.exports.lines=function(e,t){if(0===(t=t||{}).width&&"nowrap"!==t.mode)return[];e=e||"";var n="number"===typeof t.width?t.width:Number.MAX_VALUE,r=Math.max(0,t.start||0),i="number"===typeof t.end?t.end:e.length,o=t.mode,a=t.measure||u;return"pre"===o?l(a,e,r,i,n):c(a,e,r,i,n,o)}},{}],70:[function(t,n,r){"use strict";var i=t("global/window"),o=t("is-function"),a=t("parse-headers"),s=t("xtend");function l(e,t){for(var n=0;n<e.length;n++)t(e[n])}function c(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function u(e,t,n){var r=e;return o(t)?(n=t,"string"===typeof e&&(r={uri:e})):r=s(t,{uri:e}),r.callback=n,r}function h(e,t,n){return d(t=u(e,t,n))}function d(t){if("undefined"===typeof t.callback)throw new Error("callback argument missing");var n=!1,r=function(e,r,i){n||(n=!0,t.callback(e,r,i))};function i(){4===f.readyState&&setTimeout(l,0)}function o(){var t=void 0;if(t=f.response?f.response:f.responseText||p(f),w)try{t=JSON.parse(t)}catch(e){}return t}function s(e){return clearTimeout(m),e instanceof Error||(e=new Error(""+(e||"Unknown XMLHttpRequest Error"))),e.statusCode=0,r(e,x)}function l(){if(!d){var e;clearTimeout(m),e=t.useXDR&&void 0===f.status?200:1223===f.status?204:f.status;var n=x,i=null;return 0!==e?(n={body:o(),statusCode:e,method:g,headers:{},url:v,rawRequest:f},f.getAllResponseHeaders&&(n.headers=a(f.getAllResponseHeaders()))):i=new Error("Internal XMLHttpRequest Error"),r(i,n,n.body)}}var u,d,f=t.xhr||null;f||(f=t.cors||t.useXDR?new h.XDomainRequest:new h.XMLHttpRequest);var m,v=f.url=t.uri||t.url,g=f.method=t.method||"GET",y=t.body||t.data,b=f.headers=t.headers||{},A=!!t.sync,w=!1,x={body:void 0,headers:{},statusCode:0,method:g,url:v,rawRequest:f};if("json"in t&&!1!==t.json&&(w=!0,b.accept||b.Accept||(b.Accept="application/json"),"GET"!==g&&"HEAD"!==g&&(b["content-type"]||b["Content-Type"]||(b["Content-Type"]="application/json"),y=JSON.stringify(!0===t.json?y:t.json))),f.onreadystatechange=i,f.onload=l,f.onerror=s,f.onprogress=function(){},f.onabort=function(){d=!0},f.ontimeout=s,f.open(g,v,!A,t.username,t.password),A||(f.withCredentials=!!t.withCredentials),!A&&t.timeout>0&&(m=setTimeout((function(){if(!d){d=!0,f.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",s(e)}}),t.timeout)),f.setRequestHeader)for(u in b)b.hasOwnProperty(u)&&f.setRequestHeader(u,b[u]);else if(t.headers&&!c(t.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in t&&(f.responseType=t.responseType),"beforeSend"in t&&"function"===typeof t.beforeSend&&t.beforeSend(f),f.send(y||null),f}function p(t){try{if("document"===t.responseType)return t.responseXML;var n=t.responseXML&&"parsererror"===t.responseXML.documentElement.nodeName;if(""===t.responseType&&!n)return t.responseXML}catch(e){}return null}function f(){}n.exports=h,n.exports.default=h,h.XMLHttpRequest=i.XMLHttpRequest||f,h.XDomainRequest="withCredentials"in new h.XMLHttpRequest?h.XMLHttpRequest:i.XDomainRequest,l(["get","put","post","patch","head","delete"],(function(e){h["delete"===e?"del":e]=function(t,n,r){return(n=u(t,n,r)).method=e.toUpperCase(),d(n)}}))},{"global/window":27,"is-function":33,"parse-headers":47,xtend:72}],71:[function(e,t,n){t.exports="undefined"!==typeof self.DOMParser?function(e){return(new self.DOMParser).parseFromString(e,"application/xml")}:"undefined"!==typeof self.ActiveXObject&&new self.ActiveXObject("Microsoft.XMLDOM")?function(e){var t=new self.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:function(e){var t=document.createElement("div");return t.innerHTML=e,t}},{}],72:[function(e,t,n){t.exports=i;var r=Object.prototype.hasOwnProperty;function i(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var i in n)r.call(n,i)&&(e[i]=n[i])}return e}},{}],73:[function(e,t,n){t.exports={name:"aframe",version:"1.2.0",description:"A web framework for building virtual reality experiences.",homepage:"https://aframe.io/",main:"dist/aframe-master.js",scripts:{browserify:"browserify src/index.js -s 'AFRAME' -p browserify-derequire",build:"shx mkdir -p build/ && npm run browserify -- --debug -t [ envify --INSPECTOR_VERSION dev ] -o build/aframe.js",codecov:"codecov",dev:"npm run build && cross-env INSPECTOR_VERSION=dev node ./scripts/budo -t envify",dist:"node scripts/updateVersionLog.js && npm run dist:min && npm run dist:max","dist:max":"npm run browserify -s -- --debug | exorcist dist/aframe-master.js.map > dist/aframe-master.js","dist:min":"npm run browserify -s -- --debug -p [ minifyify --map aframe-master.min.js.map --output dist/aframe-master.min.js.map ] -o dist/aframe-master.min.js",docs:"markserv --dir docs --port 9001",preghpages:"node ./scripts/preghpages.js",ghpages:"ghpages -p gh-pages/",lint:"semistandard -v | snazzy","lint:fix":"semistandard --fix",precommit:"npm run lint",prepush:"node scripts/testOnlyCheck.js",prerelease:"node scripts/release.js 1.0.4 1.1.0",start:"npm run dev","start:https":"cross-env SSL=true npm run dev",test:"karma start ./tests/karma.conf.js","test:docs":"node scripts/docsLint.js","test:firefox":"npm test -- --browsers Firefox","test:chrome":"npm test -- --browsers Chrome","test:nobrowser":"NO_BROWSER=true npm test","test:node":"mocha --ui tdd tests/node"},repository:"aframevr/aframe",license:"MIT",files:["dist/*","docs/**/*","src/**/*","vendor/**/*"],dependencies:{"custom-event-polyfill":"^1.0.6",debug:"ngokevin/debug#noTimestamp","deep-assign":"^2.0.0","document-register-element":"dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90","load-bmfont":"^1.2.3","object-assign":"^4.0.1",present:"0.0.6","promise-polyfill":"^3.1.0","super-animejs":"^3.1.0","super-three":"^0.125.1","three-bmfont-text":"dmarcos/three-bmfont-text#1babdf8507c731a18f8af3b807292e2b9740955e","webvr-polyfill":"^0.10.12"},devDependencies:{browserify:"^13.1.0","browserify-css":"^0.8.4","browserify-derequire":"^0.9.4","browserify-istanbul":"^2.0.0",budo:"^9.2.0",chai:"^3.5.0","chai-shallow-deep-equal":"^1.4.0",chalk:"^1.1.3",codecov:"^1.0.1","cross-env":"^5.0.1",envify:"^3.4.1",exorcist:"^0.4.0",ghpages:"0.0.8","git-rev":"^0.2.1",glob:"^7.1.1",husky:"^0.11.7",istanbul:"^0.4.5",jsdom:"^9.11.0",karma:"1.4.1","karma-browserify":"^5.1.0","karma-chai-shallow-deep-equal":"0.0.4","karma-chrome-launcher":"^2.0.0","karma-coverage":"^1.1.1","karma-env-preprocessor":"^0.1.1","karma-firefox-launcher":"^1.2.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-sinon-chai":"1.2.4",lolex:"^1.5.1",markserv:"github:sukima/markserv#feature/fix-broken-websoketio-link",minifyify:"^7.3.3",mocha:"^3.0.2","mozilla-download":"^1.1.1","replace-in-file":"^2.5.3",semistandard:"^9.0.0",shelljs:"^0.7.7",shx:"^0.2.2",sinon:"^1.17.5","sinon-chai":"2.8.0",snazzy:"^5.0.0","too-wordy":"ngokevin/too-wordy",uglifyjs:"^2.4.10","write-good":"^0.9.1"},link:!0,browserify:{transform:["browserify-css","envify"]},semistandard:{ignore:["build/**","dist/**","examples/**/shaders/*.js","**/vendor/**"]},keywords:["3d","aframe","cardboard","components","oculus","three","three.js","rift","vive","vr","web-components","webvr"],"browserify-css":{minify:!0},engines:{node:">= 4.6.0",npm:"^2.15.9"}}},{}],74:[function(e,t,n){var r=e("super-animejs"),i=e("../core/component").components,o=e("../core/component").registerComponent,a=e("../lib/three"),s=e("../utils"),l=new a.Color,c=new a.Color,u=s.entity.getComponentProperty,h=s.entity.setComponentProperty,d={},p="color",f="position",m="rotation",v="scale",g="components",y="object3D";function b(e,t){var n,r,o,a;return r=(o=t.split("."))[0],a=o[1],(n=e.components[r]||i[r])?a&&!n.schema[a]?null:a?n.schema[a].type:n.schema.type:null}function A(e){e.x=a.Math.degToRad(e.x),e.y=a.Math.degToRad(e.y),e.z=a.Math.degToRad(e.z)}function w(e,t,n){var r;for(r=0;r<t.length;r++)e.addEventListener(t[r],n)}function x(e,t,n){var r;for(r=0;r<t.length;r++)e.removeEventListener(t[r],n)}function E(e,t){var n,r,i;for(r=_(t),i=e,n=0;n<r.length;n++)i=i[r[n]];if(void 0===i)throw console.log(e),new Error("[animation] property ("+t+") could not be found");return i}function M(e,t,n,r){var i,o,s,l;for(t.startsWith("object3D.rotation")&&(n=a.Math.degToRad(n)),o=_(t),l=e,i=0;i<o.length-1;i++)l=l[o[i]];s=o[o.length-1],r!==p?l[s]=n:"r"in l[s]?(l[s].r=n.r,l[s].g=n.g,l[s].b=n.b):(l[s].x=n.r,l[s].y=n.g,l[s].z=n.b)}function _(e){return e in d||(d[e]=e.split(".")),d[e]}function T(e){return e.isRawProperty||e.property.startsWith(g)||e.property.startsWith(y)}t.exports.Component=o("animation",{schema:{autoplay:{default:!0},delay:{default:0},dir:{default:""},dur:{default:1e3},easing:{default:"easeInQuad"},elasticity:{default:400},enabled:{default:!0},from:{default:""},loop:{default:0,parse:function(e){return!0===e||"true"===e||!1!==e&&"false"!==e&&parseInt(e,10)}},property:{default:""},startEvents:{type:"array"},pauseEvents:{type:"array"},resumeEvents:{type:"array"},round:{default:!1},to:{default:""},type:{default:""},isRawProperty:{default:!1}},multiple:!0,init:function(){var e=this;this.eventDetail={name:this.attrName},this.time=0,this.animation=null,this.animationIsPlaying=!1,this.onStartEvent=this.onStartEvent.bind(this),this.beginAnimation=this.beginAnimation.bind(this),this.pauseAnimation=this.pauseAnimation.bind(this),this.resumeAnimation=this.resumeAnimation.bind(this),this.fromColor={},this.toColor={},this.targets={},this.targetsArray=[],this.updateConfigForDefault=this.updateConfigForDefault.bind(this),this.updateConfigForRawColor=this.updateConfigForRawColor.bind(this),this.config={complete:function(){e.animationIsPlaying=!1,e.el.emit("animationcomplete",e.eventDetail,!1),e.id&&e.el.emit("animationcomplete__"+e.id,e.eventDetail,!1)}}},update:function(e){var t=this.config,n=this.data;this.animationIsPlaying=!1,this.data.enabled&&n.property&&(t.autoplay=!1,t.direction=n.dir,t.duration=n.dur,t.easing=n.easing,t.elasticity=n.elasticity,t.loop=n.loop,t.round=n.round,this.createAndStartAnimation())},tick:function(e,t){this.animationIsPlaying&&(this.time+=t,this.animation.tick(this.time))},remove:function(){this.pauseAnimation(),this.removeEventListeners()},pause:function(){this.paused=!0,this.pausedWasPlaying=this.animationIsPlaying,this.pauseAnimation(),this.removeEventListeners()},play:function(){this.paused&&(this.paused=!1,this.addEventListeners(),this.pausedWasPlaying&&(this.resumeAnimation(),this.pausedWasPlaying=!1))},createAndStartAnimation:function(){var e=this.data;this.updateConfig(),this.animationIsPlaying=!1,this.animation=r(this.config),this.animation.began=!0,this.removeEventListeners(),this.addEventListeners(),!e.autoplay||e.startEvents&&e.startEvents.length||(e.delay?setTimeout(this.beginAnimation,e.delay):this.beginAnimation())},beginAnimation:function(){this.updateConfig(),this.animation.began=!0,this.time=0,this.animationIsPlaying=!0,this.stopRelatedAnimations(),this.el.emit("animationbegin",this.eventDetail,!1)},pauseAnimation:function(){this.animationIsPlaying=!1},resumeAnimation:function(){this.animationIsPlaying=!0},onStartEvent:function(){this.data.enabled&&(this.updateConfig(),this.animation&&this.animation.pause(),this.animation=r(this.config),this.data.delay?setTimeout(this.beginAnimation,this.data.delay):this.beginAnimation())},updateConfigForRawColor:function(){var e,t,n,r=this.config,i=this.data,o=this.el;if(!this.waitComponentInitRawProperty(this.updateConfigForRawColor)){for(t in e=""===i.from?E(o,i.property):i.from,n=i.to,this.setColorConfig(e,n),e=this.fromColor,n=this.toColor,this.targetsArray.length=0,this.targetsArray.push(e),r.targets=this.targetsArray,n)r[t]=n[t];r.update=function(){var e={};return function(t){var n;(n=t.animatables[0].target).r===e.r&&n.g===e.g&&n.b===e.b||M(o,i.property,n,i.type)}}()}},updateConfigForDefault:function(){var e,t,n,r=this.config,i=this.data,o=this.el;this.waitComponentInitRawProperty(this.updateConfigForDefault)||(e=""===i.from?T(i)?E(o,i.property):u(o,i.property):i.from,n=i.to,isNaN(e||n)?(e=e?e.toString():e,n=n?n.toString():n):(e=parseFloat(e),n=parseFloat(n)),(t="true"===i.to||"false"===i.to||!0===i.to||!1===i.to)&&(e="true"===i.from||!0===i.from?1:0,n="true"===i.to||!0===i.to?1:0),this.targets.aframeProperty=e,r.targets=this.targets,r.aframeProperty=n,r.update=function(){var e;return function(n){var r;(r=n.animatables[0].target.aframeProperty)!==e&&(e=r,t&&(r=r>=1),T(i)?M(o,i.property,r,i.type):h(o,i.property,r))}}())},updateConfigForVector:function(){var e,t,n,r=this.config,i=this.data,o=this.el;for(e in t=""!==i.from?s.coordinates.parse(i.from):u(o,i.property),n=s.coordinates.parse(i.to),i.property===m&&(A(t),A(n)),this.targetsArray.length=0,this.targetsArray.push(t),r.targets=this.targetsArray,n)r[e]=n[e];i.property!==f&&i.property!==m&&i.property!==v?r.update=function(){var e={};return function(t){var n=t.animatables[0].target;n.x===e.x&&n.y===e.y&&n.z===e.z||(e.x=n.x,e.y=n.y,e.z=n.z,h(o,i.property,n))}}():r.update=function(){var e={};return function(t){var n=t.animatables[0].target;i.property===v&&(n.x=Math.max(1e-4,n.x),n.y=Math.max(1e-4,n.y),n.z=Math.max(1e-4,n.z)),n.x===e.x&&n.y===e.y&&n.z===e.z||(e.x=n.x,e.y=n.y,e.z=n.z,o.object3D[i.property].set(n.x,n.y,n.z))}}()},updateConfig:function(){var e;e=b(this.el,this.data.property),T(this.data)&&this.data.type===p?this.updateConfigForRawColor():"vec2"===e||"vec3"===e||"vec4"===e?this.updateConfigForVector():this.updateConfigForDefault()},waitComponentInitRawProperty:function(e){var t,n=this.data,i=this.el,o=this;return""===n.from&&!!n.property.startsWith(g)&&(t=_(n.property)[1],!i.components[t]&&(i.addEventListener("componentinitialized",(function n(a){a.detail.name===t&&(e(),o.animation=r(o.config),i.removeEventListener("componentinitialized",n))})),!0))},stopRelatedAnimations:function(){var e,t;for(t in this.el.components)e=this.el.components[t],t!==this.attrName&&"animation"===e.name&&e.animationIsPlaying&&e.data.property===this.data.property&&(e.animationIsPlaying=!1)},addEventListeners:function(){var e=this.data,t=this.el;w(t,e.startEvents,this.onStartEvent),w(t,e.pauseEvents,this.pauseAnimation),w(t,e.resumeEvents,this.resumeAnimation)},removeEventListeners:function(){var e=this.data,t=this.el;x(t,e.startEvents,this.onStartEvent),x(t,e.pauseEvents,this.pauseAnimation),x(t,e.resumeEvents,this.resumeAnimation)},setColorConfig:function(e,t){l.set(e),c.set(t),e=this.fromColor,t=this.toColor,e.r=l.r,e.g=l.g,e.b=l.b,t.r=c.r,t.g=c.g,t.b=c.b}})},{"../core/component":131,"../lib/three":179,"../utils":205,"super-animejs":56}],75:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../lib/three");t.exports.Component=r("camera",{schema:{active:{default:!0},far:{default:1e4},fov:{default:80,min:0},near:{default:.005,min:0},spectator:{default:!1},zoom:{default:1,min:0}},init:function(){var e,t=this.el;e=this.camera=new i.PerspectiveCamera,t.setObject3D("camera",e)},update:function(e){var t=this.data,n=this.camera;n.aspect=t.aspect||window.innerWidth/window.innerHeight,n.far=t.far,n.fov=t.fov,n.near=t.near,n.zoom=t.zoom,n.updateProjectionMatrix(),this.updateActiveCamera(e),this.updateSpectatorCamera(e)},updateActiveCamera:function(e){var t=this.data,n=this.el,r=this.system;e&&e.active===t.active||t.spectator||(t.active&&r.activeCameraEl!==n?r.setActiveCamera(n):t.active||r.activeCameraEl!==n||r.disableActiveCamera())},updateSpectatorCamera:function(e){var t=this.data,n=this.el,r=this.system;e&&e.spectator===t.spectator||(t.spectator&&r.spectatorCameraEl!==n?r.setSpectatorCamera(n):t.spectator||r.spectatorCameraEl!==n||r.disableSpectatorCamera())},remove:function(){this.el.removeObject3D("camera")}})},{"../core/component":131,"../lib/three":179}],76:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/"),o=i.bind,a={CLICK:"click",FUSING:"fusing",MOUSEENTER:"mouseenter",MOUSEDOWN:"mousedown",MOUSELEAVE:"mouseleave",MOUSEUP:"mouseup"},s={FUSING:"cursor-fusing",HOVERING:"cursor-hovering",HOVERED:"cursor-hovered"},l={DOWN:["mousedown","touchstart"],UP:["mouseup","touchend"]},c={DOWN:["selectstart"],UP:["selectend"]},u="a-mouse-cursor-hover";t.exports.Component=r("cursor",{dependencies:["raycaster"],schema:{downEvents:{default:[]},fuse:{default:i.device.isMobile()},fuseTimeout:{default:1500,min:0},mouseCursorStylesEnabled:{default:!0},upEvents:{default:[]},rayOrigin:{default:"entity",oneOf:["mouse","entity"]}},init:function(){var e=this;this.fuseTimeout=void 0,this.cursorDownEl=null,this.intersectedEl=null,this.canvasBounds=document.body.getBoundingClientRect(),this.isCursorDown=!1,this.updateCanvasBounds=i.debounce((function(){e.canvasBounds=e.el.sceneEl.canvas.getBoundingClientRect()}),500),this.eventDetail={},this.intersectedEventDetail={cursorEl:this.el},this.onCursorDown=o(this.onCursorDown,this),this.onCursorUp=o(this.onCursorUp,this),this.onIntersection=o(this.onIntersection,this),this.onIntersectionCleared=o(this.onIntersectionCleared,this),this.onMouseMove=o(this.onMouseMove,this),this.onEnterVR=o(this.onEnterVR,this)},update:function(e){this.data.rayOrigin!==e.rayOrigin&&this.updateMouseEventListeners()},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners()},remove:function(){var e=this.el;e.removeState(s.HOVERING),e.removeState(s.FUSING),clearTimeout(this.fuseTimeout),this.intersectedEl&&this.intersectedEl.removeState(s.HOVERED),this.removeEventListeners()},addEventListeners:function(){var e,t=this.data,n=this.el,r=this;function i(){e=n.sceneEl.canvas,t.downEvents.length||t.upEvents.length||(l.DOWN.forEach((function(t){e.addEventListener(t,r.onCursorDown)})),l.UP.forEach((function(t){e.addEventListener(t,r.onCursorUp)})))}(e=n.sceneEl.canvas)?i():n.sceneEl.addEventListener("render-target-loaded",i),t.downEvents.forEach((function(e){n.addEventListener(e,r.onCursorDown)})),t.upEvents.forEach((function(e){n.addEventListener(e,r.onCursorUp)})),n.addEventListener("raycaster-intersection",this.onIntersection),n.addEventListener("raycaster-intersection-cleared",this.onIntersectionCleared),n.sceneEl.addEventListener("rendererresize",this.updateCanvasBounds),n.sceneEl.addEventListener("enter-vr",this.onEnterVR),window.addEventListener("resize",this.updateCanvasBounds),window.addEventListener("scroll",this.updateCanvasBounds),this.updateMouseEventListeners()},removeEventListeners:function(){var e,t=this.data,n=this.el,r=this;!(e=n.sceneEl.canvas)||t.downEvents.length||t.upEvents.length||(l.DOWN.forEach((function(t){e.removeEventListener(t,r.onCursorDown)})),l.UP.forEach((function(t){e.removeEventListener(t,r.onCursorUp)}))),t.downEvents.forEach((function(e){n.removeEventListener(e,r.onCursorDown)})),t.upEvents.forEach((function(e){n.removeEventListener(e,r.onCursorUp)})),n.removeEventListener("raycaster-intersection",this.onIntersection),n.removeEventListener("raycaster-intersection-cleared",this.onIntersectionCleared),e.removeEventListener("mousemove",this.onMouseMove),e.removeEventListener("touchstart",this.onMouseMove),e.removeEventListener("touchmove",this.onMouseMove),n.sceneEl.removeEventListener("rendererresize",this.updateCanvasBounds),n.sceneEl.removeEventListener("enter-vr",this.onEnterVR),window.removeEventListener("resize",this.updateCanvasBounds),window.removeEventListener("scroll",this.updateCanvasBounds)},updateMouseEventListeners:function(){var e,t=this.el;(e=t.sceneEl.canvas).removeEventListener("mousemove",this.onMouseMove),e.removeEventListener("touchmove",this.onMouseMove),t.setAttribute("raycaster","useWorldCoordinates",!1),"mouse"===this.data.rayOrigin&&(e.addEventListener("mousemove",this.onMouseMove,!1),e.addEventListener("touchmove",this.onMouseMove,!1),t.setAttribute("raycaster","useWorldCoordinates",!0),this.updateCanvasBounds())},onMouseMove:function(){var e=new THREE.Vector3,t=new THREE.Vector2,n=new THREE.Vector3,r={origin:n,direction:e};return function(i){var o,a,s,l=this.canvasBounds,c=this.el.sceneEl.camera;c.parent.updateMatrixWorld(),o=(a="touchmove"===i.type||"touchstart"===i.type?i.touches.item(0):i).clientX-l.left,s=a.clientY-l.top,t.x=o/l.width*2-1,t.y=-s/l.height*2+1,n.setFromMatrixPosition(c.matrixWorld),e.set(t.x,t.y,.5).unproject(c).sub(n).normalize(),this.el.setAttribute("raycaster",r),"touchmove"===i.type&&i.preventDefault()}}(),onCursorDown:function(e){this.isCursorDown=!0,"mouse"===this.data.rayOrigin&&"touchstart"===e.type&&(this.onMouseMove(e),this.el.components.raycaster.checkIntersections(),e.preventDefault()),this.twoWayEmit(a.MOUSEDOWN),this.cursorDownEl=this.intersectedEl},onCursorUp:function(e){if(this.isCursorDown){this.isCursorDown=!1;var t=this.data;this.twoWayEmit(a.MOUSEUP),this.cursorDownEl&&this.cursorDownEl!==this.intersectedEl&&(this.intersectedEventDetail.intersection=null,this.cursorDownEl.emit(a.MOUSEUP,this.intersectedEventDetail)),t.fuse&&"mouse"!==t.rayOrigin||!this.intersectedEl||this.cursorDownEl!==this.intersectedEl||this.twoWayEmit(a.CLICK),this.cursorDownEl=null,"touchend"===e.type&&e.preventDefault()}},onIntersection:function(e){var t,n,r,i,o=this.el;n=e.detail.els[0]===o?1:0,i=e.detail.intersections[n],(r=e.detail.els[n])&&this.intersectedEl!==r&&(this.intersectedEl&&(t=this.el.components.raycaster.getIntersection(this.intersectedEl))&&t.distance<=i.distance||(this.clearCurrentIntersection(!0),this.setIntersection(r,i)))},onIntersectionCleared:function(e){-1!==e.detail.clearedEls.indexOf(this.intersectedEl)&&this.clearCurrentIntersection()},onEnterVR:function(){this.clearCurrentIntersection(!0);var e=this.el.sceneEl.xrSession,t=this;e&&"mouse"!==this.data.rayOrigin&&(c.DOWN.forEach((function(n){e.addEventListener(n,t.onCursorDown)})),c.UP.forEach((function(n){e.addEventListener(n,t.onCursorUp)})))},setIntersection:function(e,t){var n=this.el,r=this.data,i=this;this.intersectedEl!==e&&(this.intersectedEl=e,n.addState(s.HOVERING),e.addState(s.HOVERED),this.twoWayEmit(a.MOUSEENTER),this.data.mouseCursorStylesEnabled&&"mouse"===this.data.rayOrigin&&this.el.sceneEl.canvas.classList.add(u),0!==r.fuseTimeout&&r.fuse&&(n.addState(s.FUSING),this.twoWayEmit(a.FUSING),this.fuseTimeout=setTimeout((function(){n.removeState(s.FUSING),i.twoWayEmit(a.CLICK)}),r.fuseTimeout)))},clearCurrentIntersection:function(e){var t,n,r=this.el;this.intersectedEl&&(this.intersectedEl.removeState(s.HOVERED),r.removeState(s.HOVERING),r.removeState(s.FUSING),this.twoWayEmit(a.MOUSELEAVE),this.data.mouseCursorStylesEnabled&&"mouse"===this.data.rayOrigin&&this.el.sceneEl.canvas.classList.remove(u),this.intersectedEl=null,clearTimeout(this.fuseTimeout),!0!==e&&0!==(n=this.el.components.raycaster.intersections).length&&(t=n[n[0].object.el===r?1:0])&&this.setIntersection(t.object.el,t))},twoWayEmit:function(e){var t,n=this.el,r=this.intersectedEl;t=this.el.components.raycaster.getIntersection(r),this.eventDetail.intersectedEl=r,this.eventDetail.intersection=t,n.emit(e,this.eventDetail),r&&(this.intersectedEventDetail.intersection=t,r.emit(e,this.intersectedEventDetail))}})},{"../core/component":131,"../utils/":205}],77:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c="https://cdn.aframe.io/controllers/google/",u=c+"vr_controller_daydream.obj",h=c+"vr_controller_daydream.mtl",d=e("../utils/").device.isWebXRAvailable,p=d?"google-daydream":"Daydream Controller",f=d?{axes:{touchpad:[0,1]},buttons:["none","none","touchpad","menu","system"]}:{axes:{trackpad:[0,1]},buttons:["trackpad","menu","system"]};t.exports.Component=r("daydream-controls",{schema:{hand:{default:""},buttonColor:{type:"color",default:"#000000"},buttonTouchedColor:{type:"color",default:"#777777"},buttonHighlightColor:{type:"color",default:"#FFFFFF"},model:{default:!0},orientationOffset:{type:"vec3"},armModel:{default:!0}},mapping:f,bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.controllerPresent=!1,this.lastControllerCheck=0,this.bindMethods()},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){a(this,p,this.data.hand?{hand:this.data.hand}:{})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{armModel:t.armModel,hand:t.hand,idPrefix:p,id:p,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("obj-model",{obj:u,mtl:h})},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onModelLoaded:function(e){var t,n=e.detail.model;this.data.model&&((t=this.buttonMeshes={}).menu=n.getObjectByName("AppButton_AppButton_Cylinder.004"),t.system=n.getObjectByName("HomeButton_HomeButton_Cylinder.005"),t.trackpad=n.getObjectByName("TouchPad_TouchPad_Cylinder.003"),t.touchpad=n.getObjectByName("TouchPad_TouchPad_Cylinder.003"),n.position.set(0,0,-.04))},onAxisMoved:function(e){s(this,this.mapping.axes,e)},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&this.el.emit(t+"changed",e.detail.state)},updateModel:function(e,t){this.data.model&&this.updateButtonModel(e,t)},updateButtonModel:function(e,t){var n=this.buttonMeshes;if(n&&n[e]){var r;switch(t){case"down":r=this.data.buttonHighlightColor;break;case"touchstart":r=this.data.buttonTouchedColor;break;default:r=this.data.buttonColor}n[e].material.color.set(r)}}})},{"../core/component":131,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],78:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c=e("../utils/").device.isWebXRAvailable,u="https://cdn.aframe.io/controllers/samsung/",h=u+"gear_vr_controller.obj",d=u+"gear_vr_controller.mtl",p=c?"samsung-gearvr":"Gear VR",f=c?{axes:{touchpad:[0,1]},buttons:["trigger","none","touchpad","none","menu"]}:{axes:{trackpad:[0,1]},buttons:["trackpad","trigger"]};t.exports.Component=r("gearvr-controls",{schema:{hand:{default:""},buttonColor:{type:"color",default:"#000000"},buttonTouchedColor:{type:"color",default:"#777777"},buttonHighlightColor:{type:"color",default:"#FFFFFF"},model:{default:!0},orientationOffset:{type:"vec3"},armModel:{default:!0}},mapping:f,bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.controllerPresent=!1,this.lastControllerCheck=0,this.bindMethods()},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){a(this,p,this.data.hand?{hand:this.data.hand}:{})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{armModel:t.armModel,hand:t.hand,idPrefix:p,id:p,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("obj-model",{obj:h,mtl:d})},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onModelLoaded:function(e){var t,n=e.detail.model;this.data.model&&((t=this.buttonMeshes={}).trigger=n.children[2],t.trackpad=n.children[1],t.touchpad=n.children[1])},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&this.el.emit(t+"changed",e.detail.state)},onAxisMoved:function(e){s(this,this.mapping.axes,e)},updateModel:function(e,t){this.data.model&&this.updateButtonModel(e,t)},updateButtonModel:function(e,t){var n=this.buttonMeshes;if(n&&n[e]){var r;switch(t){case"down":r=this.data.buttonHighlightColor;break;case"touchstart":r=this.data.buttonTouchedColor;break;default:r=this.data.buttonColor}n[e].material.color.set(r)}}})},{"../core/component":131,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],79:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c="generic",u={axes:{touchpad:[0,1],thumbstick:[2,3]},buttons:["trigger","squeeze","touchpad","thumbstick"]};t.exports.Component=r("generic-tracked-controller-controls",{schema:{hand:{default:""},defaultModel:{default:!0},defaultModelColor:{default:"gray"},orientationOffset:{type:"vec3"},disabled:{default:!1}},mapping:u,bindMethods:function(){this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.controllerPresent=!1,this.wasControllerConnected=!1,this.lastControllerCheck=0,this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods(),this.el.addEventListener("controllerconnected",(function(t){t.detail.name!==e.name&&(e.wasControllerConnected=!0,e.removeEventListeners(),e.removeControllersUpdateListener())}))},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){var e=this.data,t=e.hand?e.hand:void 0;a(this,c,{hand:t,iterateControllerProfiles:!0})},play:function(){this.wasControllerConnected||(this.checkIfControllerPresent(),this.addControllersUpdateListener())},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;this.el.components["tracked-controls"]?this.removeEventListeners():(e.setAttribute("tracked-controls",{hand:t.hand,idPrefix:c,orientationOffset:t.orientationOffset,iterateControllerProfiles:!0}),this.data.defaultModel&&this.initDefaultModel())},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&this.el.emit(t+"changed",e.detail.state)},onAxisMoved:function(e){s(this,this.mapping.axes,e)},initDefaultModel:function(){var e=this.modelEl=document.createElement("a-entity");e.setAttribute("geometry",{primitive:"sphere",radius:.03}),e.setAttribute("material",{color:this.data.color}),this.el.appendChild(e)}})},{"../core/component":131,"../utils/bind":199,"../utils/tracked-controls":214}],80:[function(e,t,n){var r=e("../core/geometry").geometries,i=e("../core/geometry").geometryNames,o=e("../core/component").registerComponent,a=e("../lib/three"),s=new a.BufferGeometry;t.exports.Component=o("geometry",{schema:{buffer:{default:!0},primitive:{default:"box",oneOf:i,schemaChange:!0},skipCache:{default:!1}},init:function(){this.geometry=null},update:function(e){var t,n=this.data,r=this.el,i=this.system;this.geometry&&(i.unuseGeometry(e),this.geometry=null),this.geometry=i.getOrCreateGeometry(n),(t=r.getObject3D("mesh"))?t.geometry=this.geometry:((t=new a.Mesh).geometry=this.geometry,this.el.getAttribute("material")||(t.material=new a.MeshStandardMaterial({color:16777215*Math.random(),metalness:0,roughness:.5})),r.setObject3D("mesh",t))},remove:function(){this.system.unuseGeometry(this.data),this.el.getObject3D("mesh").geometry=s,this.geometry=null},updateSchema:function(e){var t=this.oldData&&this.oldData.primitive,n=e.primitive,i=r[n]&&r[n].schema;if(!i)throw new Error("Unknown geometry schema `"+n+"`");t&&t===n||this.extendSchema(i)}})},{"../core/component":131,"../core/geometry":132,"../lib/three":179}],81:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../lib/three"),o=e("../utils/").debug("components:gltf-model:warn");t.exports.Component=r("gltf-model",{schema:{type:"model"},init:function(){var e=this.system.getDRACOLoader();this.model=null,this.loader=new i.GLTFLoader,e&&this.loader.setDRACOLoader(e)},update:function(){var e=this,t=this.el,n=this.data;n&&(this.remove(),this.loader.load(n,(function(n){e.model=n.scene||n.scenes[0],e.model.animations=n.animations,t.setObject3D("mesh",e.model),t.emit("model-loaded",{format:"gltf",model:e.model})}),void 0,(function(e){var r=e&&e.message?e.message:"Failed to load glTF model";o(r),t.emit("model-error",{format:"gltf",src:n})})))},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},{"../core/component":131,"../lib/three":179,"../utils/":205}],82:[function(e,t,n){var r=e("../core/component").registerComponent,i={toonLeft:"https://cdn.aframe.io/controllers/hands/leftHand.glb",toonRight:"https://cdn.aframe.io/controllers/hands/rightHand.glb",lowPolyLeft:"https://cdn.aframe.io/controllers/hands/leftHandLow.glb",lowPolyRight:"https://cdn.aframe.io/controllers/hands/rightHandLow.glb",highPolyLeft:"https://cdn.aframe.io/controllers/hands/leftHandHigh.glb",highPolyRight:"https://cdn.aframe.io/controllers/hands/rightHandHigh.glb"},o={open:"Open",point:"Point",pointThumb:"Point + Thumb",fist:"Fist",hold:"Hold",thumbUp:"Thumb Up"},a={};function s(e,t){var n;if(e)return"grip"===(n=a[e])?n+(t?"close":"open"):"point"===n?n+(t?"up":"down"):"pointing"===n||"pistol"===n?n+(t?"start":"end"):void 0}function l(e){var t=e&&e.controller;return t&&(t.id&&0===t.id.indexOf("OpenVR ")||t.profiles&&t.profiles[0]&&"htc-vive-controller-mv"===t.profiles[0])}a[o.fist]="grip",a[o.thumbUp]="pistol",a[o.point]="pointing",t.exports.Component=r("hand-controls",{schema:{color:{default:"white",type:"color"},hand:{default:"left"},handModelStyle:{default:"lowPoly",oneOf:["lowPoly","highPoly","toon"]}},init:function(){var e=this,t=this.el;this.gesture=o.open,this.pressedButtons={},this.touchedButtons={},this.loader=new THREE.GLTFLoader,this.loader.setCrossOrigin("anonymous"),this.onGripDown=function(){e.handleButton("grip","down")},this.onGripUp=function(){e.handleButton("grip","up")},this.onTrackpadDown=function(){e.handleButton("trackpad","down")},this.onTrackpadUp=function(){e.handleButton("trackpad","up")},this.onTrackpadTouchStart=function(){e.handleButton("trackpad","touchstart")},this.onTrackpadTouchEnd=function(){e.handleButton("trackpad","touchend")},this.onTriggerDown=function(){e.handleButton("trigger","down")},this.onTriggerUp=function(){e.handleButton("trigger","up")},this.onTriggerTouchStart=function(){e.handleButton("trigger","touchstart")},this.onTriggerTouchEnd=function(){e.handleButton("trigger","touchend")},this.onGripTouchStart=function(){e.handleButton("grip","touchstart")},this.onGripTouchEnd=function(){e.handleButton("grip","touchend")},this.onThumbstickDown=function(){e.handleButton("thumbstick","down")},this.onThumbstickUp=function(){e.handleButton("thumbstick","up")},this.onAorXTouchStart=function(){e.handleButton("AorX","touchstart")},this.onAorXTouchEnd=function(){e.handleButton("AorX","touchend")},this.onBorYTouchStart=function(){e.handleButton("BorY","touchstart")},this.onBorYTouchEnd=function(){e.handleButton("BorY","touchend")},this.onSurfaceTouchStart=function(){e.handleButton("surface","touchstart")},this.onSurfaceTouchEnd=function(){e.handleButton("surface","touchend")},this.onControllerConnected=this.onControllerConnected.bind(this),this.onControllerDisconnected=this.onControllerDisconnected.bind(this),t.addEventListener("controllerconnected",this.onControllerConnected),t.addEventListener("controllerdisconnected",this.onControllerDisconnected),t.object3D.visible=!1},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners()},tick:function(e,t){var n=this.el.getObject3D("mesh");n&&n.mixer&&n.mixer.update(t/1e3)},onControllerConnected:function(){this.el.object3D.visible=!0},onControllerDisconnected:function(){this.el.object3D.visible=!1},addEventListeners:function(){var e=this.el;e.addEventListener("gripdown",this.onGripDown),e.addEventListener("gripup",this.onGripUp),e.addEventListener("trackpaddown",this.onTrackpadDown),e.addEventListener("trackpadup",this.onTrackpadUp),e.addEventListener("trackpadtouchstart",this.onTrackpadTouchStart),e.addEventListener("trackpadtouchend",this.onTrackpadTouchEnd),e.addEventListener("triggerdown",this.onTriggerDown),e.addEventListener("triggerup",this.onTriggerUp),e.addEventListener("triggertouchstart",this.onTriggerTouchStart),e.addEventListener("triggertouchend",this.onTriggerTouchEnd),e.addEventListener("griptouchstart",this.onGripTouchStart),e.addEventListener("griptouchend",this.onGripTouchEnd),e.addEventListener("thumbstickdown",this.onThumbstickDown),e.addEventListener("thumbstickup",this.onThumbstickUp),e.addEventListener("abuttontouchstart",this.onAorXTouchStart),e.addEventListener("abuttontouchend",this.onAorXTouchEnd),e.addEventListener("bbuttontouchstart",this.onBorYTouchStart),e.addEventListener("bbuttontouchend",this.onBorYTouchEnd),e.addEventListener("xbuttontouchstart",this.onAorXTouchStart),e.addEventListener("xbuttontouchend",this.onAorXTouchEnd),e.addEventListener("ybuttontouchstart",this.onBorYTouchStart),e.addEventListener("ybuttontouchend",this.onBorYTouchEnd),e.addEventListener("surfacetouchstart",this.onSurfaceTouchStart),e.addEventListener("surfacetouchend",this.onSurfaceTouchEnd)},removeEventListeners:function(){var e=this.el;e.removeEventListener("gripdown",this.onGripDown),e.removeEventListener("gripup",this.onGripUp),e.removeEventListener("trackpaddown",this.onTrackpadDown),e.removeEventListener("trackpadup",this.onTrackpadUp),e.removeEventListener("trackpadtouchstart",this.onTrackpadTouchStart),e.removeEventListener("trackpadtouchend",this.onTrackpadTouchEnd),e.removeEventListener("triggerdown",this.onTriggerDown),e.removeEventListener("triggerup",this.onTriggerUp),e.removeEventListener("triggertouchstart",this.onTriggerTouchStart),e.removeEventListener("triggertouchend",this.onTriggerTouchEnd),e.removeEventListener("griptouchstart",this.onGripTouchStart),e.removeEventListener("griptouchend",this.onGripTouchEnd),e.removeEventListener("thumbstickdown",this.onThumbstickDown),e.removeEventListener("thumbstickup",this.onThumbstickUp),e.removeEventListener("abuttontouchstart",this.onAorXTouchStart),e.removeEventListener("abuttontouchend",this.onAorXTouchEnd),e.removeEventListener("bbuttontouchstart",this.onBorYTouchStart),e.removeEventListener("bbuttontouchend",this.onBorYTouchEnd),e.removeEventListener("xbuttontouchstart",this.onAorXTouchStart),e.removeEventListener("xbuttontouchend",this.onAorXTouchEnd),e.removeEventListener("ybuttontouchstart",this.onBorYTouchStart),e.removeEventListener("ybuttontouchend",this.onBorYTouchEnd),e.removeEventListener("surfacetouchstart",this.onSurfaceTouchStart),e.removeEventListener("surfacetouchend",this.onSurfaceTouchEnd)},update:function(e){var t,n=this.el,r=this.data.hand,o=this.data.handModelStyle,a=this.data.color,s=this;if(t={hand:r,model:!1},r!==e){var l=i[o+r.charAt(0).toUpperCase()+r.slice(1)];this.loader.load(l,(function(e){var i=e.scene.children[0],o="left"===r?Math.PI/2:-Math.PI/2;i.mixer=new THREE.AnimationMixer(i),s.clips=e.animations,n.setObject3D("mesh",i),i.children[1].material.color=new THREE.Color(a),i.position.set(0,0,0),i.rotation.set(0,0,o),n.setAttribute("magicleap-controls",t),n.setAttribute("vive-controls",t),n.setAttribute("oculus-touch-controls",t),n.setAttribute("windows-motion-controls",t)}))}},remove:function(){this.el.removeObject3D("mesh")},handleButton:function(e,t){var n,r="down"===t,i="touchstart"===t;if(0===t.indexOf("touch")){if(i===this.touchedButtons[e])return;this.touchedButtons[e]=i}else{if(r===this.pressedButtons[e])return;this.pressedButtons[e]=r}n=this.gesture,this.gesture=this.determineGesture(),this.gesture!==n&&(this.animateGesture(this.gesture,n),this.emitGestureEvents(this.gesture,n))},determineGesture:function(){var e,t=this.pressedButtons.grip,n=this.pressedButtons.surface||this.touchedButtons.surface,r=this.pressedButtons.trackpad||this.touchedButtons.trackpad,i=this.pressedButtons.trigger||this.touchedButtons.trigger,a=this.touchedButtons.AorX||this.touchedButtons.BorY;return l(this.el.components["tracked-controls"])?t||i?e=o.fist:r&&(e=o.point):t?e=n||a||r?i?o.fist:o.point:i?o.thumbUp:o.pointThumb:i&&(e=o.hold),e},getClip:function(e){var t,n;for(n=0;n<this.clips.length;n++)if((t=this.clips[n]).name===e)return t},animateGesture:function(e,t){e?this.playAnimation(e||o.open,t,!1):this.playAnimation(t,t,!0)},emitGestureEvents:function(e,t){var n,r=this.el;t!==e&&((n=s(t,!1))&&r.emit(n),(n=s(e,!0))&&r.emit(n))},playAnimation:function(e,t,n){var r,i,o,a=this.el.getObject3D("mesh");if(a){if(a.mixer.stopAllAction(),r=this.getClip(e),(o=a.mixer.clipAction(r)).clampWhenFinished=!0,o.loop=THREE.LoopRepeat,o.repetitions=0,o.timeScale=n?-1:1,o.time=n?r.duration:0,o.weight=1,!t||e===t)return a.mixer.stopAllAction(),void o.play();r=this.getClip(t),(i=a.mixer.clipAction(r)).weight=.15,i.play(),o.play(),i.crossFadeTo(o,.15,!0)}}})},{"../core/component":131}],83:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls").checkControllerPresentAndSetup,a="https://cdn.aframe.io/controllers/oculus-hands/unity/left.glb",s="https://cdn.aframe.io/controllers/oculus-hands/unity/right.glb",l={left:"b_l_",right:"b_r_"},c=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"],u={wrist:"wrist","thumb-metacarpal":"thumb1","thumb-phalanx-proximal":"thumb2","thumb-phalanx-distal":"thumb3","thumb-tip":"thumb_null","index-finger-phalanx-proximal":"index1","index-finger-phalanx-intermediate":"index2","index-finger-phalanx-distal":"index3","index-finger-tip":"index_null","middle-finger-phalanx-proximal":"middle1","middle-finger-phalanx-intermediate":"middle2","middle-finger-phalanx-distal":"middle3","middle-finger-tip":"middle_null","ring-finger-phalanx-proximal":"ring1","ring-finger-phalanx-intermediate":"ring2","ring-finger-phalanx-distal":"ring3","ring-finger-tip":"ring_null","pinky-finger-metacarpal":"pinky0","pinky-finger-phalanx-proximal":"pinky1","pinky-finger-phalanx-intermediate":"pinky2","pinky-finger-phalanx-distal":"pinky3","pinky-finger-tip":"pinky_null"},h=.015,d=.03,p=.5;t.exports.Component=r("hand-tracking-controls",{schema:{hand:{default:"right",oneOf:["left","right"]},modelStyle:{default:"mesh",oneOf:["dots","mesh"]},modelColor:{default:"white"}},bindMethods:function(){this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this)},addEventListeners:function(){this.el.addEventListener("model-loaded",this.onModelLoaded);for(var e=0;e<this.jointEls.length;++e)this.jointEls[e].object3D.visible=!0},removeEventListeners:function(){this.el.removeEventListener("model-loaded",this.onModelLoaded);for(var e=0;e<this.jointEls.length;++e)this.jointEls[e].object3D.visible=!1},init:function(){var e=this.el.sceneEl,t=e.getAttribute("webxr").optionalFeatures;t.push("hand-tracking"),e.setAttribute("webxr",{optionalFeatures:t}),this.onModelLoaded=this.onModelLoaded.bind(this),this.jointEls=[],this.controllerPresent=!1,this.isPinched=!1,this.pinchEventDetail={position:new THREE.Vector3},this.indexTipPosition=new THREE.Vector3,this.bindMethods(),this.updateReferenceSpace=this.updateReferenceSpace.bind(this),this.el.sceneEl.addEventListener("enter-vr",this.updateReferenceSpace),this.el.sceneEl.addEventListener("exit-vr",this.updateReferenceSpace)},updateReferenceSpace:function(){var e=this,t=this.el.sceneEl.xrSession;if(this.referenceSpace=void 0,t){var n=e.el.sceneEl.systems.webxr.sessionReferenceSpaceType;t.requestReferenceSpace(n).then((function(t){e.referenceSpace=t.getOffsetReferenceSpace(new XRRigidTransform({x:0,y:1.5,z:0}))})).catch((function(t){throw e.el.sceneEl.systems.webxr.warnIfFeatureNotRequested(n,"tracked-controls-webxr uses reference space "+n),t}))}},checkIfControllerPresent:function(){var e=this.data,t=e.hand?e.hand:void 0;o(this,"",{hand:t,iterateControllerProfiles:!0,handTracking:!0})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},tick:function(){var e=this.el.sceneEl,t=this.el.components["tracked-controls"]&&this.el.components["tracked-controls"].controller,n=e.frame,r=this.el.components["tracked-controls-webxr"];t&&n&&r&&t.hand&&(this.el.object3D.position.set(0,0,0),this.el.object3D.rotation.set(0,0,0),n.getJointPose&&this.updateHandModel(),this.detectGesture())},updateHandModel:function(){"dots"===this.data.modelStyle&&this.updateHandDotsModel(),"mesh"===this.data.modelStyle&&this.updateHandMeshModel()},getBone:function(e){for(var t=this.bones,n=0;n<t.length;n++)if(t[n].name===e)return t[n];return null},updateHandMeshModel:function(){var e=this.el.sceneEl.frame,t=this.el.components["tracked-controls"]&&this.el.components["tracked-controls"].controller,n=this.referenceSpace;if(t&&this.mesh&&n)for(var r of(this.mesh.visible=!1,t.hand.values())){var i,o,a;o=e.getJointPose(r,n),u[r.jointName]&&null!=(i=this.getBone(l[this.data.hand]+u[r.jointName]))&&o&&(a=o.transform,this.mesh.visible=!0,i.position.copy(a.position).multiplyScalar(100),i.quaternion.set(a.orientation.x,a.orientation.y,a.orientation.z,a.orientation.w))}},updateHandDotsModel:function(){var e,t,n,r=this.el.sceneEl.frame,i=this.el.components["tracked-controls"]&&this.el.components["tracked-controls"].controller,o=this.el.components["tracked-controls-webxr"].system.referenceSpace,a=0;for(var s of i.hand.values())t=(e=this.jointEls[a++]).object3D,n=r.getJointPose(s,o),e.object3D.visible=!!n,n&&(t.matrix.elements=n.transform.matrix,t.matrix.decompose(t.position,t.rotation,t.scale),e.setAttribute("scale",{x:n.radius,y:n.radius,z:n.radius}))},detectGesture:function(){this.detectPinch()},detectPinch:function(){var e=new THREE.Vector3;return function(){var t=this.el.sceneEl.frame,n=this.indexTipPosition,r=this.el.components["tracked-controls"]&&this.el.components["tracked-controls"].controller,i=this.el.components["tracked-controls-webxr"],o=this.referenceSpace||i.system.referenceSpace,a=r.hand.get("index-finger-tip"),s=r.hand.get("thumb-tip");if(a&&s){var l=t.getJointPose(a,o),c=t.getJointPose(s,o);if(l&&c){e.copy(c.transform.position),n.copy(l.transform.position);var u=n.distanceTo(e);u<h&&!1===this.isPinched&&(this.isPinched=!0,this.pinchEventDetail.position.copy(n).lerp(e,p),this.pinchEventDetail.position.y+=1.5,this.el.emit("pinchstarted",this.pinchEventDetail)),u>d&&!0===this.isPinched&&(this.isPinched=!1,this.pinchEventDetail.position.copy(n).lerp(e,p),this.pinchEventDetail.position.y+=1.5,this.el.emit("pinchended",this.pinchEventDetail)),this.isPinched&&(this.pinchEventDetail.position.copy(n).lerp(e,p),this.pinchEventDetail.position.y+=1.5,this.el.emit("pinchmoved",this.pinchEventDetail)),n.y+=1.5}}}}(),pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{hand:t.hand,iterateControllerProfiles:!0,handTrackingEnabled:!0}),this.initDefaultModel()},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){var e;this.checkIfControllerPresent(),e=this.el.components["tracked-controls"]&&this.el.components["tracked-controls"].controller,this.el.getObject3D("mesh")&&(e&&e.hand&&e.hand[0]||(this.el.getObject3D("mesh").visible=!1))},initDefaultModel:function(){this.el.getObject3D("mesh")||("dots"===this.data.modelStyle&&this.initDotsModel(),"mesh"===this.data.modelStyle&&this.initMeshHandModel())},initDotsModel:function(){if(0===this.jointEls.length)for(var e=0;e<c.length;++e){var t=this.jointEl=document.createElement("a-entity");t.setAttribute("geometry",{primitive:"sphere",radius:1}),t.setAttribute("material",{color:this.data.modelColor}),t.object3D.visible=!1,this.el.appendChild(t),this.jointEls.push(t)}},initMeshHandModel:function(){var e="left"===this.data.hand?a:s;this.el.setAttribute("gltf-model",e)},onModelLoaded:function(){var e=this.mesh=this.el.getObject3D("mesh").children[0],t=this.skinnedMesh=e.children[24];this.skinnedMesh&&(this.bones=t.skeleton.bones,this.el.removeObject3D("mesh"),e.position.set(0,1.5,0),e.rotation.set(0,0,0),t.frustumCulled=!1,t.material=new THREE.MeshStandardMaterial({skinning:!0,color:this.data.modelColor}),this.el.setObject3D("mesh",e))}})},{"../core/component":131,"../utils/bind":199,"../utils/tracked-controls":214}],84:[function(e,t,n){e("./animation"),e("./camera"),e("./cursor"),e("./daydream-controls"),e("./gearvr-controls"),e("./geometry"),e("./generic-tracked-controller-controls"),e("./gltf-model"),e("./hand-tracking-controls"),e("./hand-controls"),e("./layer"),e("./laser-controls"),e("./light"),e("./line"),e("./link"),e("./look-controls"),e("./magicleap-controls"),e("./material"),e("./obj-model"),e("./oculus-go-controls"),e("./oculus-touch-controls"),e("./position"),e("./raycaster"),e("./rotation"),e("./scale"),e("./shadow"),e("./sound"),e("./text"),e("./tracked-controls"),e("./tracked-controls-webvr"),e("./tracked-controls-webxr"),e("./visible"),e("./valve-index-controls"),e("./vive-controls"),e("./vive-focus-controls"),e("./wasd-controls"),e("./windows-motion-controls"),e("./scene/background"),e("./scene/debug"),e("./scene/device-orientation-permission-ui"),e("./scene/embedded"),e("./scene/inspector"),e("./scene/fog"),e("./scene/keyboard-shortcuts"),e("./scene/pool"),e("./scene/screenshot"),e("./scene/stats"),e("./scene/vr-mode-ui")},{"./animation":74,"./camera":75,"./cursor":76,"./daydream-controls":77,"./gearvr-controls":78,"./generic-tracked-controller-controls":79,"./geometry":80,"./gltf-model":81,"./hand-controls":82,"./hand-tracking-controls":83,"./laser-controls":85,"./layer":86,"./light":87,"./line":88,"./link":89,"./look-controls":90,"./magicleap-controls":91,"./material":92,"./obj-model":93,"./oculus-go-controls":94,"./oculus-touch-controls":95,"./position":96,"./raycaster":97,"./rotation":98,"./scale":99,"./scene/background":100,"./scene/debug":101,"./scene/device-orientation-permission-ui":102,"./scene/embedded":103,"./scene/fog":104,"./scene/inspector":105,"./scene/keyboard-shortcuts":106,"./scene/pool":107,"./scene/screenshot":108,"./scene/stats":109,"./scene/vr-mode-ui":110,"./shadow":111,"./sound":112,"./text":113,"./tracked-controls":116,"./tracked-controls-webvr":114,"./tracked-controls-webxr":115,"./valve-index-controls":117,"./visible":118,"./vive-controls":119,"./vive-focus-controls":120,"./wasd-controls":121,"./windows-motion-controls":122}],85:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/");r("laser-controls",{schema:{hand:{default:"right"},model:{default:!0},defaultModelColor:{type:"color",default:"grey"}},init:function(){var e=this.config,t=this.data,n=this.el,r=this,o={hand:t.hand,model:t.model};function a(t){var o=e[t.detail.name];if(o){var a=i.extend({showLine:!0},o.raycaster||{});t.detail.rayOrigin&&(a.origin=t.detail.rayOrigin.origin,a.direction=t.detail.rayOrigin.direction,a.showLine=!0),t.detail.rayOrigin||!r.modelReady?n.setAttribute("raycaster",a):n.setAttribute("raycaster","showLine",!0),n.setAttribute("cursor",i.extend({fuse:!1},o.cursor))}}function s(){n.setAttribute("raycaster","showLine",!1)}n.setAttribute("daydream-controls",o),n.setAttribute("gearvr-controls",o),n.setAttribute("magicleap-controls",o),n.setAttribute("oculus-go-controls",o),n.setAttribute("oculus-touch-controls",o),n.setAttribute("valve-index-controls",o),n.setAttribute("vive-controls",o),n.setAttribute("vive-focus-controls",o),n.setAttribute("windows-motion-controls",o),n.setAttribute("generic-tracked-controller-controls",o),n.addEventListener("controllerconnected",a),n.addEventListener("controllerdisconnected",s),n.addEventListener("controllermodelready",(function(e){a(e),r.modelReady=!0}))},config:{"daydream-controls":{cursor:{downEvents:["trackpaddown","triggerdown"],upEvents:["trackpadup","triggerup"]}},"gearvr-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]},raycaster:{origin:{x:0,y:.001,z:0}}},"generic-tracked-controller-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]}},"magicleap-controls":{cursor:{downEvents:["trackpaddown","triggerdown"],upEvents:["trackpadup","triggerup"]}},"oculus-go-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]},raycaster:{origin:{x:0,y:5e-4,z:0}}},"oculus-touch-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]},raycaster:{origin:{x:0,y:0,z:0}}},"valve-index-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]}},"vive-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]}},"vive-focus-controls":{cursor:{downEvents:["trackpaddown","triggerdown"],upEvents:["trackpadup","triggerup"]}},"windows-motion-controls":{cursor:{downEvents:["triggerdown"],upEvents:["triggerup"]},raycaster:{showLine:!1}}}})},{"../core/component":131,"../utils/":205}],86:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/").debug("components:layer:warn");function o(e,t,n,r){var i=e.createFramebuffer();let o=n.viewport.x,a=n.viewport.y,s=n.viewport.x+n.viewport.width,l=n.viewport.y+n.viewport.height;"VIDEO"===r.tagName&&(e.bindTexture(e.TEXTURE_2D,t),e.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,e.RGB,e.UNSIGNED_BYTE,r)),e.bindFramebuffer(e.READ_FRAMEBUFFER,i),e.framebufferTexture2D(e.READ_FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),e.readBuffer(e.COLOR_ATTACHMENT0),e.blitFramebuffer(0,0,r.width,r.height,o,a,s,l,e.COLOR_BUFFER_BIT,e.NEAREST),e.bindFramebuffer(e.READ_FRAMEBUFFER,null),e.deleteFramebuffer(i)}t.exports.Component=r("layer",{schema:{type:{default:"quad",oneOf:["quad","monocubemap","stereocubemap"]},src:{type:"map"},rotateCubemap:{default:!1},width:{default:0},height:{default:0}},init:function(){var e=this.el.sceneEl.renderer.getContext();this.quaternion=new THREE.Quaternion,this.position=new THREE.Vector3,this.bindMethods(),this.needsRedraw=!1,this.frameBuffer=e.createFramebuffer();var t=this.el.sceneEl.getAttribute("webxr").requiredFeatures;t.push("layers"),this.el.sceneEl.getAttribute("webxr","requiredFeatures",t),this.el.sceneEl.addEventListener("enter-vr",this.onEnterVR),this.el.sceneEl.addEventListener("exit-vr",this.onExitVR)},bindMethods:function(){this.onRequestedReferenceSpace=this.onRequestedReferenceSpace.bind(this),this.onEnterVR=this.onEnterVR.bind(this),this.onExitVR=this.onExitVR.bind(this)},update:function(e){this.data.src!==e.src&&this.updateSrc()},updateSrc:function(){var e=this.data.type;this.texture=void 0,"quad"!==e?"monocubemap"!==e&&"stereocubemap"!==e||this.loadCubeMapImages():this.loadQuadImage()},loadCubeMapImages:function(){var e,t=this.data.type,n=this.xrGLFactory,r=this.el.sceneEl.frame,i=this.data.src;this.visibilityChanged=!1,this.layer&&(i.complete?this.pendingCubeMapUpdate=!1:this.pendingCubeMapUpdate=!0,this.loadingScreen?this.loadingScreen=!1:this.loadingScreen=!0,"monocubemap"===t?(e=n.getSubImage(this.layer,r),this.loadCubeMapImage(e.colorTexture,i,0)):(e=n.getSubImage(this.layer,r,"left"),this.loadCubeMapImage(e.colorTexture,i,0),e=n.getSubImage(this.layer,r,"right"),this.loadCubeMapImage(e.colorTexture,i,6)))},loadQuadImage:function(){var e=this.data.src,t=this;this.el.sceneEl.systems.material.loadTexture(e,{src:e},(function(n){t.el.sceneEl.renderer.initTexture(n),t.texture=n,"VIDEO"===e.tagName&&setTimeout((function(){t.textureIsVideo=!0}),1e3),t.layer&&(t.layer.height=t.data.height/2||t.texture.image.height/1e3,t.layer.width=t.data.width/2||t.texture.image.width/1e3,t.needsRedraw=!0),t.updateQuadPanel()}))},preGenerateCubeMapTextures:function(e,t){"monocubemap"===this.data.type?this.generateCubeMapTextures(e,0,t):(this.generateCubeMapTextures(e,0,t),this.generateCubeMapTextures(e,6,t))},generateCubeMapTextures:function(e,t,n){for(var r,i,o=this.data,a=this.cubeFaceSize,s=Math.min(e.width,e.height),l=[],c=0;c<6;c++){var u=document.createElement("CANVAS");u.width=u.height=a;var h=u.getContext("2d");o.rotateCubemap&&(2!==c&&3!==c||(h.save(),h.translate(a,a),h.rotate(Math.PI))),h.drawImage(e,(c+t)*s,0,s,s,0,0,a,a),h.restore(),n&&n(),l.push(u)}return o.rotateCubemap&&(r=l[0],i=l[1],l[0]=i,l[1]=r,r=l[4],i=l[5],l[4]=i,l[5]=r),n&&n(),l},loadCubeMapImage:function(e,t,n){var r,i=this.el.sceneEl.renderer.getContext();i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.bindTexture(i.TEXTURE_CUBE_MAP,e),r=!t.complete||this.loadingScreen?this.loadingScreenImages:this.generateCubeMapTextures(t,n);var o=0;r.forEach((function(e,t){i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,i.RGBA,i.UNSIGNED_BYTE,e),o=i.getError()})),0!==o&&console.log("renderingError, WebGL Error Code: "+o),i.bindTexture(i.TEXTURE_CUBE_MAP,null)},tick:function(){this.el.sceneEl.xrSession&&(!this.layer&&this.el.sceneEl.is("vr-mode")&&this.initLayer(),this.updateTransform(),this.data.src.complete&&(this.pendingCubeMapUpdate||this.loadingScreen||this.visibilityChanged)&&this.loadCubeMapImages(),(this.needsRedraw||this.layer.needsRedraw||this.textureIsVideo)&&("quad"===this.data.type&&this.draw(),this.needsRedraw=!1))},initLayer:function(){var e=this,t=this.data.type;this.el.sceneEl.xrSession.onvisibilitychange=function(t){e.visibilityChanged="hidden"!==t.session.visibilityState},"quad"!==t?"monocubemap"!==t&&"stereocubemap"!==t||this.initCubeMapLayer():this.initQuadLayer()},initQuadLayer:function(){var e=this.el.sceneEl,t=e.renderer.getContext(),n=this.xrGLFactory=new XRWebGLBinding(e.xrSession,t);this.texture&&(this.layer=n.createQuadLayer({space:this.referenceSpace,viewPixelHeight:2048,viewPixelWidth:2048,height:this.data.height/2||this.texture.image.height/1e3,width:this.data.width/2||this.texture.image.width/1e3}),e.renderer.xr.addLayer(this.layer))},initCubeMapLayer:function(){var e=this.data.src,t=this.el.sceneEl,n=t.renderer.getContext(),r=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),i=this.cubeFaceSize=Math.min(r,Math.min(e.width,e.height)),o=this.xrGLFactory=new XRWebGLBinding(t.xrSession,n);this.layer=o.createCubeLayer({space:this.referenceSpace,viewPixelWidth:i,viewPixelHeight:i,layout:"monocubemap"===this.data.type?"mono":"stereo",isStatic:!1}),this.initLoadingScreenImages(),this.loadCubeMapImages(),t.renderer.xr.addLayer(this.layer)},initLoadingScreenImages:function(){for(var e=this.cubeFaceSize,t=this.loadingScreenImages=[],n=0;n<6;n++){var r=document.createElement("CANVAS");r.width=r.height=e;var i=r.getContext("2d");r.width=r.height=e,i.fillStyle="black",i.fillRect(0,0,e,e),2!==n&&3!==n&&(i.translate(e,0),i.scale(-1,1),i.fillStyle="white",i.font="30px Arial",i.fillText("Loading",e/2,e/2)),t.push(r)}},destroyLayer:function(){this.layer&&(this.el.sceneEl.renderer.xr.removeLayer(this.layer),this.layer.destroy(),this.layer=void 0)},toggleCompositorLayer:function(){this.enableCompositorLayer(!this.layerEnabled)},enableCompositorLayer:function(e){this.layerEnabled=e,this.quadPanelEl.object3D.visible=!this.layerEnabled},updateQuadPanel:function(){var e=this.quadPanelEl;this.quadPanelEl||(e=this.quadPanelEl=document.createElement("a-entity"),this.el.appendChild(e)),e.setAttribute("material",{shader:"flat",src:this.data.src,transparent:!0}),e.setAttribute("geometry",{primitive:"plane",height:this.data.height||this.texture.image.height/1e3,width:this.data.width||this.texture.image.height/1e3})},draw:function(){var e=this.el.sceneEl,t=this.el.sceneEl.renderer.getContext(),n=this.xrGLFactory.getSubImage(this.layer,e.frame),r=e.renderer.properties.get(this.texture).__webglTexture,i=t.getParameter(t.FRAMEBUFFER_BINDING);t.viewport(n.viewport.x,n.viewport.y,n.viewport.width,n.viewport.height),t.bindFramebuffer(t.FRAMEBUFFER,this.frameBuffer),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n.colorTexture,0),o(t,r,n,this.data.src),t.bindFramebuffer(t.FRAMEBUFFER,i)},updateTransform:function(){var e=this.el,t=this.position,n=this.quaternion;e.object3D.updateMatrixWorld(),t.setFromMatrixPosition(e.object3D.matrixWorld),n.setFromRotationMatrix(e.object3D.matrixWorld),this.layerEnabled||t.set(0,0,1e8),this.layer.transform=new XRRigidTransform(t,n)},onEnterVR:function(){var e=this.el.sceneEl,t=e.xrSession;e.hasWebXR&&XRWebGLBinding&&t?(t.requestReferenceSpace("local").then(this.onRequestedReferenceSpace),this.needsRedraw=!0,this.layerEnabled=!0,this.quadPanelEl&&(this.quadPanelEl.object3D.visible=!1),this.data.src.play&&this.data.src.play()):i("The layer component requires WebXR and the layers API enabled")},onExitVR:function(){this.quadPanelEl&&(this.quadPanelEl.object3D.visible=!0),this.destroyLayer()},onRequestedReferenceSpace:function(e){this.referenceSpace=e}})},{"../core/component":131,"../utils/":205}],87:[function(e,t,n){var r=e("../utils/bind"),i=e("../utils").diff,o=e("../utils/debug"),a=e("../core/component").registerComponent,s=e("../lib/three"),l=s.Math.degToRad,c=o("components:light:warn");t.exports.Component=a("light",{schema:{angle:{default:60,if:{type:["spot"]}},color:{type:"color"},groundColor:{type:"color",if:{type:["hemisphere"]}},decay:{default:1,if:{type:["point","spot"]}},distance:{default:0,min:0,if:{type:["point","spot"]}},intensity:{default:1,min:0,if:{type:["ambient","directional","hemisphere","point","spot"]}},penumbra:{default:0,min:0,max:1,if:{type:["spot"]}},type:{default:"directional",oneOf:["ambient","directional","hemisphere","point","spot"],schemaChange:!0},target:{type:"selector",if:{type:["spot","directional"]}},castShadow:{default:!1,if:{type:["point","spot","directional"]}},shadowBias:{default:0,if:{castShadow:!0}},shadowCameraFar:{default:500,if:{castShadow:!0}},shadowCameraFov:{default:90,if:{castShadow:!0}},shadowCameraNear:{default:.5,if:{castShadow:!0}},shadowCameraTop:{default:5,if:{castShadow:!0}},shadowCameraRight:{default:5,if:{castShadow:!0}},shadowCameraBottom:{default:-5,if:{castShadow:!0}},shadowCameraLeft:{default:-5,if:{castShadow:!0}},shadowCameraVisible:{default:!1,if:{castShadow:!0}},shadowMapHeight:{default:512,if:{castShadow:!0}},shadowMapWidth:{default:512,if:{castShadow:!0}},shadowRadius:{default:1,if:{castShadow:!0}}},init:function(){var e=this.el;this.light=null,this.defaultTarget=null,this.rendererSystem=this.el.sceneEl.systems.renderer,this.system.registerLight(e)},update:function(e){var t=this.data,n=i(t,e),o=this.light,a=this.rendererSystem,s=this;if(!o||"type"in n)this.setLight(this.data),this.updateShadow();else{var c=!1;Object.keys(n).forEach((function(e){var n=t[e];switch(e){case"color":o.color.set(n),a.applyColorCorrection(o.color);break;case"groundColor":o.groundColor.set(n),a.applyColorCorrection(o.groundColor);break;case"angle":o.angle=l(n);break;case"target":null===n?"spot"!==t.type&&"directional"!==t.type||(o.target=s.defaultTarget):n.hasLoaded?s.onSetTarget(n,o):n.addEventListener("loaded",r(s.onSetTarget,s,n,o));break;case"castShadow":case"shadowBias":case"shadowCameraFar":case"shadowCameraFov":case"shadowCameraNear":case"shadowCameraTop":case"shadowCameraRight":case"shadowCameraBottom":case"shadowCameraLeft":case"shadowCameraVisible":case"shadowMapHeight":case"shadowMapWidth":case"shadowRadius":c||(s.updateShadow(),c=!0);break;default:o[e]=n}}))}},setLight:function(e){var t=this.el,n=this.getLight(e);n&&(this.light&&t.removeObject3D("light"),this.light=n,this.light.el=t,t.setObject3D("light",this.light),"spot"!==e.type&&"directional"!==e.type&&"hemisphere"!==e.type||t.getObject3D("light").translateY(-1),"spot"===e.type&&(t.setObject3D("light-target",this.defaultTarget),t.getObject3D("light-target").position.set(0,0,-1)))},updateShadow:function(){var e=this.el,t=this.data,n=this.light;n.castShadow=t.castShadow;var r=e.getObject3D("cameraHelper");if(t.shadowCameraVisible&&!r?e.setObject3D("cameraHelper",new s.CameraHelper(n.shadow.camera)):!t.shadowCameraVisible&&r&&e.removeObject3D("cameraHelper"),!t.castShadow)return n;n.shadow.bias=t.shadowBias,n.shadow.radius=t.shadowRadius,n.shadow.mapSize.height=t.shadowMapHeight,n.shadow.mapSize.width=t.shadowMapWidth,n.shadow.camera.near=t.shadowCameraNear,n.shadow.camera.far=t.shadowCameraFar,n.shadow.camera instanceof s.OrthographicCamera?(n.shadow.camera.top=t.shadowCameraTop,n.shadow.camera.right=t.shadowCameraRight,n.shadow.camera.bottom=t.shadowCameraBottom,n.shadow.camera.left=t.shadowCameraLeft):n.shadow.camera.fov=t.shadowCameraFov,n.shadow.camera.updateProjectionMatrix(),r&&r.update()},getLight:function(e){var t=e.angle,n=new s.Color(e.color);this.rendererSystem.applyColorCorrection(n),n=n.getHex();var i=e.decay,o=e.distance,a=new s.Color(e.groundColor);this.rendererSystem.applyColorCorrection(a),a=a.getHex();var u=e.intensity,h=e.type,d=e.target,p=null;switch(h.toLowerCase()){case"ambient":return new s.AmbientLight(n,u);case"directional":return p=new s.DirectionalLight(n,u),this.defaultTarget=p.target,d&&(d.hasLoaded?this.onSetTarget(d,p):d.addEventListener("loaded",r(this.onSetTarget,this,d,p))),p;case"hemisphere":return new s.HemisphereLight(n,a,u);case"point":return new s.PointLight(n,u,o,i);case"spot":return p=new s.SpotLight(n,u,o,l(t),e.penumbra,i),this.defaultTarget=p.target,d&&(d.hasLoaded?this.onSetTarget(d,p):d.addEventListener("loaded",r(this.onSetTarget,this,d,p))),p;default:c("%s is not a valid light type. Choose from ambient, directional, hemisphere, point, spot.",h)}},onSetTarget:function(e,t){t.target=e.object3D},remove:function(){var e=this.el;e.removeObject3D("light"),e.getObject3D("cameraHelper")&&e.removeObject3D("cameraHelper")}})},{"../core/component":131,"../lib/three":179,"../utils":205,"../utils/bind":199,"../utils/debug":201}],88:[function(e,t,n){var r=e("../core/component").registerComponent;function i(e,t){return!(!e||!t)&&e.x===t.x&&e.y===t.y&&e.z===t.z}t.exports.Component=r("line",{schema:{start:{type:"vec3",default:{x:0,y:0,z:0}},end:{type:"vec3",default:{x:0,y:0,z:0}},color:{type:"color",default:"#74BEC1"},opacity:{type:"number",default:1},visible:{default:!0}},multiple:!0,init:function(){var e,t,n=this.data;this.rendererSystem=this.el.sceneEl.systems.renderer,t=this.material=new THREE.LineBasicMaterial({color:n.color,opacity:n.opacity,transparent:n.opacity<1,visible:n.visible}),(e=this.geometry=new THREE.BufferGeometry).setAttribute("position",new THREE.BufferAttribute(new Float32Array(6),3)),this.rendererSystem.applyColorCorrection(t.color),this.line=new THREE.Line(e,t),this.el.setObject3D(this.attrName,this.line)},update:function(e){var t=this.data,n=this.geometry,r=!1,o=this.material,a=n.attributes.position.array;i(t.start,e.start)||(a[0]=t.start.x,a[1]=t.start.y,a[2]=t.start.z,r=!0),i(t.end,e.end)||(a[3]=t.end.x,a[4]=t.end.y,a[5]=t.end.z,r=!0),r&&(n.attributes.position.needsUpdate=!0,n.computeBoundingSphere()),o.color.setStyle(t.color),this.rendererSystem.applyColorCorrection(o.color),o.opacity=t.opacity,o.transparent=t.opacity<1,o.visible=t.visible},remove:function(){this.el.removeObject3D("line",this.line)}})},{"../core/component":131}],89:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../core/shader").registerShader,o=e("../lib/three");t.exports.Component=r("link",{schema:{backgroundColor:{default:"red",type:"color"},borderColor:{default:"white",type:"color"},highlighted:{default:!1},highlightedColor:{default:"#24CAFF",type:"color"},href:{default:""},image:{type:"asset"},on:{default:"click"},peekMode:{default:!1},title:{default:""},titleColor:{default:"white",type:"color"},visualAspectEnabled:{default:!1}},init:function(){this.navigate=this.navigate.bind(this),this.previousQuaternion=void 0,this.quaternionClone=new o.Quaternion,this.hiddenEls=[]},update:function(e){var t,n,r=this.data,i=this.el;r.visualAspectEnabled&&(this.initVisualAspect(),t=r.highlighted?r.highlightedColor:r.backgroundColor,n=r.highlighted?r.highlightedColor:r.borderColor,i.setAttribute("material","backgroundColor",t),i.setAttribute("material","strokeColor",n),r.on!==e.on&&this.updateEventListener(),void 0!==e.peekMode&&r.peekMode!==e.peekMode&&this.updatePeekMode(),r.image&&e.image!==r.image&&i.setAttribute("material","pano","string"===typeof r.image?r.image:r.image.src))},updatePeekMode:function(){var e=this.el,t=this.sphereEl;this.data.peekMode?(this.hideAll(),e.getObject3D("mesh").visible=!1,t.setAttribute("visible",!0)):(this.showAll(),e.getObject3D("mesh").visible=!0,t.setAttribute("visible",!1))},play:function(){this.updateEventListener()},pause:function(){this.removeEventListener()},updateEventListener:function(){var e=this.el;e.isPlaying&&(this.removeEventListener(),e.addEventListener(this.data.on,this.navigate))},removeEventListener:function(){var e=this.data.on;e&&this.el.removeEventListener(e,this.navigate)},initVisualAspect:function(){var e,t,n,r=this.el;this.data.visualAspectEnabled&&!this.visualAspectInitialized&&(n=this.textEl=this.textEl||document.createElement("a-entity"),t=this.sphereEl=this.sphereEl||document.createElement("a-entity"),e=this.semiSphereEl=this.semiSphereEl||document.createElement("a-entity"),r.setAttribute("geometry",{primitive:"circle",radius:1,segments:64}),r.setAttribute("material",{shader:"portal",pano:this.data.image,side:"double"}),n.setAttribute("text",{color:this.data.titleColor,align:"center",font:"kelsonsans",value:this.data.title||this.data.href,width:4}),n.setAttribute("position","0 1.5 0"),r.appendChild(n),e.setAttribute("geometry",{primitive:"sphere",radius:1,phiStart:0,segmentsWidth:64,segmentsHeight:64,phiLength:180,thetaStart:0,thetaLength:360}),e.setAttribute("material",{shader:"portal",borderEnabled:0,pano:this.data.image,side:"back"}),e.setAttribute("rotation","0 180 0"),e.setAttribute("position","0 0 0"),e.setAttribute("visible",!1),r.appendChild(e),t.setAttribute("geometry",{primitive:"sphere",radius:10,segmentsWidth:64,segmentsHeight:64}),t.setAttribute("material",{shader:"portal",borderEnabled:0,pano:this.data.image,side:"back"}),t.setAttribute("visible",!1),r.appendChild(t),this.visualAspectInitialized=!0)},navigate:function(){window.location=this.data.href},tick:function(){var e=new o.Vector3,t=new o.Vector3,n=new o.Quaternion,r=new o.Vector3;return function(){var i,o,a=this.el,s=a.object3D,l=a.sceneEl.camera,c=this.textEl;if(this.data.visualAspectEnabled)if(s.updateMatrixWorld(),l.parent.updateMatrixWorld(),l.updateMatrixWorld(),s.matrix.decompose(t,n,r),t.setFromMatrixPosition(s.matrixWorld),e.setFromMatrixPosition(l.matrixWorld),(o=t.distanceTo(e))>20)this.previousQuaternion||(this.quaternionClone.copy(n),this.previousQuaternion=this.quaternionClone),s.lookAt(e);else{if(i=this.calculateCameraPortalOrientation(),o<.5){if(!0===this.semiSphereEl.getAttribute("visible"))return;c.setAttribute("text","width",1.5),i<=0?(c.setAttribute("position","0 0 0.75"),c.setAttribute("rotation","0 180 0"),this.semiSphereEl.setAttribute("rotation","0 0 0")):(c.setAttribute("position","0 0 -0.75"),c.setAttribute("rotation","0 0 0"),this.semiSphereEl.setAttribute("rotation","0 180 0")),a.getObject3D("mesh").visible=!1,this.semiSphereEl.setAttribute("visible",!0),this.peekCameraPortalOrientation=i}else i<=0?c.setAttribute("rotation","0 180 0"):c.setAttribute("rotation","0 0 0"),c.setAttribute("text","width",5),c.setAttribute("position","0 1.5 0"),a.getObject3D("mesh").visible=!0,this.semiSphereEl.setAttribute("visible",!1),this.peekCameraPortalOrientation=void 0;this.previousQuaternion&&(s.quaternion.copy(this.previousQuaternion),this.previousQuaternion=void 0)}}}(),hideAll:function(){var e=this.el,t=this.hiddenEls,n=this;t.length>0||e.sceneEl.object3D.traverse((function(r){r&&r.el&&r.el.hasAttribute("link-controls")||r.el&&r!==e.sceneEl.object3D&&r.el!==e&&r.el!==n.sphereEl&&r.el!==e.sceneEl.cameraEl&&!1!==r.el.getAttribute("visible")&&r.el!==n.textEl&&r.el!==n.semiSphereEl&&(r.el.setAttribute("visible",!1),t.push(r.el))}))},showAll:function(){this.hiddenEls.forEach((function(e){e.setAttribute("visible",!0)})),this.hiddenEls=[]},calculateCameraPortalOrientation:function(){var e=new o.Matrix4,t=new o.Vector3,n=new o.Vector3(0,0,1),r=new o.Vector3(0,0,0);return function(){var i=this.el,o=i.sceneEl.camera;return t.set(0,0,0),n.set(0,0,1),r.set(0,0,0),i.object3D.matrixWorld.extractRotation(e),n.applyMatrix4(e),i.object3D.updateMatrixWorld(),i.object3D.localToWorld(r),o.parent.parent.updateMatrixWorld(),o.parent.updateMatrixWorld(),o.updateMatrixWorld(),o.localToWorld(t),t.sub(r).normalize(),n.normalize(),Math.sign(n.dot(t))}}(),remove:function(){this.removeEventListener()}}),i("portal",{schema:{borderEnabled:{default:1,type:"int",is:"uniform"},backgroundColor:{default:"red",type:"color",is:"uniform"},pano:{type:"map",is:"uniform"},strokeColor:{default:"white",type:"color",is:"uniform"}},vertexShader:["vec3 portalPosition;","varying vec3 vWorldPosition;","varying float vDistanceToCenter;","varying float vDistance;","void main() {","vDistanceToCenter = clamp(length(position - vec3(0.0, 0.0, 0.0)), 0.0, 1.0);","portalPosition = (modelMatrix * vec4(0.0, 0.0, 0.0, 1.0)).xyz;","vDistance = length(portalPosition - cameraPosition);","vWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;","gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","}"].join("\n"),fragmentShader:["#define RECIPROCAL_PI2 0.15915494","uniform sampler2D pano;","uniform vec3 strokeColor;","uniform vec3 backgroundColor;","uniform float borderEnabled;","varying float vDistanceToCenter;","varying float vDistance;","varying vec3 vWorldPosition;","void main() {","vec3 direction = normalize(vWorldPosition - cameraPosition);","vec2 sampleUV;","float borderThickness = clamp(exp(-vDistance / 50.0), 0.6, 0.95);","sampleUV.y = clamp(direction.y * 0.5  + 0.5, 0.0, 1.0);","sampleUV.x = atan(direction.z, -direction.x) * -RECIPROCAL_PI2 + 0.5;","if (vDistanceToCenter > borderThickness && borderEnabled == 1.0) {","gl_FragColor = vec4(strokeColor, 1.0);","} else {","gl_FragColor = mix(texture2D(pano, sampleUV), vec4(backgroundColor, 1.0), clamp(pow((vDistance / 15.0), 2.0), 0.0, 1.0));","}","}"].join("\n")})},{"../core/component":131,"../core/shader":141,"../lib/three":179}],90:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../lib/three"),o=e("../utils/"),a=o.bind,s=Math.PI/2;t.exports.Component=r("look-controls",{dependencies:["position","rotation"],schema:{enabled:{default:!0},magicWindowTrackingEnabled:{default:!0},pointerLockEnabled:{default:!1},reverseMouseDrag:{default:!1},reverseTouchDrag:{default:!1},touchEnabled:{default:!0},mouseEnabled:{default:!0}},init:function(){this.deltaYaw=0,this.previousHMDPosition=new i.Vector3,this.hmdQuaternion=new i.Quaternion,this.magicWindowAbsoluteEuler=new i.Euler,this.magicWindowDeltaEuler=new i.Euler,this.position=new i.Vector3,this.magicWindowObject=new i.Object3D,this.rotation={},this.deltaRotation={},this.savedPose=null,this.pointerLocked=!1,this.setupMouseControls(),this.bindMethods(),this.previousMouseEvent={},this.setupMagicWindowControls(),this.savedPose={position:new i.Vector3,rotation:new i.Euler},this.el.sceneEl.is("vr-mode")&&this.onEnterVR()},setupMagicWindowControls:function(){var e,t=this.data;o.device.isMobile()&&(e=this.magicWindowControls=new i.DeviceOrientationControls(this.magicWindowObject),"undefined"!==typeof DeviceOrientationEvent&&DeviceOrientationEvent.requestPermission&&(e.enabled=!1,this.el.sceneEl.components["device-orientation-permission-ui"].permissionGranted?e.enabled=t.magicWindowTrackingEnabled:this.el.sceneEl.addEventListener("deviceorientationpermissiongranted",(function(){e.enabled=t.magicWindowTrackingEnabled}))))},update:function(e){var t=this.data;t.enabled!==e.enabled&&this.updateGrabCursor(t.enabled),e&&!t.magicWindowTrackingEnabled&&e.magicWindowTrackingEnabled&&(this.magicWindowAbsoluteEuler.set(0,0,0),this.magicWindowDeltaEuler.set(0,0,0)),this.magicWindowControls&&(this.magicWindowControls.enabled=t.magicWindowTrackingEnabled),e&&!t.pointerLockEnabled!==e.pointerLockEnabled&&(this.removeEventListeners(),this.addEventListeners(),this.pointerLocked&&this.exitPointerLock())},tick:function(e){this.data.enabled&&this.updateOrientation()},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners(),this.pointerLocked&&this.exitPointerLock()},remove:function(){this.removeEventListeners(),this.pointerLocked&&this.exitPointerLock()},bindMethods:function(){this.onMouseDown=a(this.onMouseDown,this),this.onMouseMove=a(this.onMouseMove,this),this.onMouseUp=a(this.onMouseUp,this),this.onTouchStart=a(this.onTouchStart,this),this.onTouchMove=a(this.onTouchMove,this),this.onTouchEnd=a(this.onTouchEnd,this),this.onEnterVR=a(this.onEnterVR,this),this.onExitVR=a(this.onExitVR,this),this.onPointerLockChange=a(this.onPointerLockChange,this),this.onPointerLockError=a(this.onPointerLockError,this)},setupMouseControls:function(){this.mouseDown=!1,this.pitchObject=new i.Object3D,this.yawObject=new i.Object3D,this.yawObject.position.y=10,this.yawObject.add(this.pitchObject)},addEventListeners:function(){var e=this.el.sceneEl,t=e.canvas;t?(t.addEventListener("mousedown",this.onMouseDown,!1),window.addEventListener("mousemove",this.onMouseMove,!1),window.addEventListener("mouseup",this.onMouseUp,!1),t.addEventListener("touchstart",this.onTouchStart),window.addEventListener("touchmove",this.onTouchMove),window.addEventListener("touchend",this.onTouchEnd),e.addEventListener("enter-vr",this.onEnterVR),e.addEventListener("exit-vr",this.onExitVR),this.data.pointerLockEnabled&&(document.addEventListener("pointerlockchange",this.onPointerLockChange,!1),document.addEventListener("mozpointerlockchange",this.onPointerLockChange,!1),document.addEventListener("pointerlockerror",this.onPointerLockError,!1))):e.addEventListener("render-target-loaded",a(this.addEventListeners,this))},removeEventListeners:function(){var e=this.el.sceneEl,t=e&&e.canvas;t&&(t.removeEventListener("mousedown",this.onMouseDown),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("mouseup",this.onMouseUp),t.removeEventListener("touchstart",this.onTouchStart),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd),e.removeEventListener("enter-vr",this.onEnterVR),e.removeEventListener("exit-vr",this.onExitVR),document.removeEventListener("pointerlockchange",this.onPointerLockChange,!1),document.removeEventListener("mozpointerlockchange",this.onPointerLockChange,!1),document.removeEventListener("pointerlockerror",this.onPointerLockError,!1))},updateOrientation:function(){var e=new i.Matrix4;return function(){var t,n=this.el.object3D,r=this.pitchObject,i=this.yawObject,o=this.el.sceneEl;o.is("vr-mode")&&o.checkHeadsetConnected()?o.hasWebXR&&(t=o.renderer.xr.getCameraPose())&&(e.elements=t.transform.matrix,e.decompose(n.position,n.rotation,n.scale)):(this.updateMagicWindowOrientation(),n.rotation.x=this.magicWindowDeltaEuler.x+r.rotation.x,n.rotation.y=this.magicWindowDeltaEuler.y+i.rotation.y,n.rotation.z=this.magicWindowDeltaEuler.z)}}(),updateMagicWindowOrientation:function(){var e=this.magicWindowAbsoluteEuler,t=this.magicWindowDeltaEuler;this.magicWindowControls&&this.magicWindowControls.enabled&&(this.magicWindowControls.update(),e.setFromQuaternion(this.magicWindowObject.quaternion,"YXZ"),this.previousMagicWindowYaw||0===e.y||(this.previousMagicWindowYaw=e.y),this.previousMagicWindowYaw&&(t.x=e.x,t.y+=e.y-this.previousMagicWindowYaw,t.z=e.z,this.previousMagicWindowYaw=e.y))},onMouseMove:function(e){var t,n,r,i=this.pitchObject,o=this.previousMouseEvent,a=this.yawObject;this.data.enabled&&(this.mouseDown||this.pointerLocked)&&(this.pointerLocked?(n=e.movementX||e.mozMovementX||0,r=e.movementY||e.mozMovementY||0):(n=e.screenX-o.screenX,r=e.screenY-o.screenY),this.previousMouseEvent.screenX=e.screenX,this.previousMouseEvent.screenY=e.screenY,t=this.data.reverseMouseDrag?1:-1,a.rotation.y+=.002*n*t,i.rotation.x+=.002*r*t,i.rotation.x=Math.max(-s,Math.min(s,i.rotation.x)))},onMouseDown:function(e){var t=this.el.sceneEl;if(this.data.enabled&&this.data.mouseEnabled&&(!t.is("vr-mode")||!t.checkHeadsetConnected())&&0===e.button){var n=t&&t.canvas;this.mouseDown=!0,this.previousMouseEvent.screenX=e.screenX,this.previousMouseEvent.screenY=e.screenY,this.showGrabbingCursor(),this.data.pointerLockEnabled&&!this.pointerLocked&&(n.requestPointerLock?n.requestPointerLock():n.mozRequestPointerLock&&n.mozRequestPointerLock())}},showGrabbingCursor:function(){this.el.sceneEl.canvas.style.cursor="grabbing"},hideGrabbingCursor:function(){this.el.sceneEl.canvas.style.cursor=""},onMouseUp:function(){this.mouseDown=!1,this.hideGrabbingCursor()},onTouchStart:function(e){1===e.touches.length&&this.data.touchEnabled&&!this.el.sceneEl.is("vr-mode")&&(this.touchStart={x:e.touches[0].pageX,y:e.touches[0].pageY},this.touchStarted=!0)},onTouchMove:function(e){var t,n,r=this.el.sceneEl.canvas,i=this.yawObject;this.touchStarted&&this.data.touchEnabled&&(n=2*Math.PI*(e.touches[0].pageX-this.touchStart.x)/r.clientWidth,t=this.data.reverseTouchDrag?1:-1,i.rotation.y-=.5*n*t,this.touchStart={x:e.touches[0].pageX,y:e.touches[0].pageY})},onTouchEnd:function(){this.touchStarted=!1},onEnterVR:function(){var e=this.el.sceneEl;e.checkHeadsetConnected()&&(this.saveCameraPose(),this.el.object3D.position.set(0,0,0),this.el.object3D.rotation.set(0,0,0),e.hasWebXR&&(this.el.object3D.matrixAutoUpdate=!1,this.el.object3D.updateMatrix()))},onExitVR:function(){this.el.sceneEl.checkHeadsetConnected()&&(this.restoreCameraPose(),this.previousHMDPosition.set(0,0,0),this.el.object3D.matrixAutoUpdate=!0)},onPointerLockChange:function(){this.pointerLocked=!(!document.pointerLockElement&&!document.mozPointerLockElement)},onPointerLockError:function(){this.pointerLocked=!1},exitPointerLock:function(){document.exitPointerLock(),this.pointerLocked=!1},updateGrabCursor:function(e){var t=this.el.sceneEl;function n(){t.canvas.classList.add("a-grab-cursor")}function r(){t.canvas.classList.remove("a-grab-cursor")}t.canvas?e?n():r():e?t.addEventListener("render-target-loaded",n):t.addEventListener("render-target-loaded",r)},saveCameraPose:function(){var e=this.el;this.savedPose.position.copy(e.object3D.position),this.savedPose.rotation.copy(e.object3D.rotation),this.hasSavedPose=!0},restoreCameraPose:function(){var e=this.el,t=this.savedPose;this.hasSavedPose&&(e.object3D.position.copy(t.position),e.object3D.rotation.copy(t.rotation),this.hasSavedPose=!1)}})},{"../core/component":131,"../lib/three":179,"../utils/":205}],91:[function(e,t,n){var r=e("../utils/bind"),i=e("../core/component").registerComponent,o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c="magicleap-one",u="https://cdn.aframe.io/controllers/magicleap/magicleap-one-controller.glb",h={axes:{touchpad:[0,1]},buttons:["trigger","grip","touchpad","menu"]};t.exports.Component=i("magicleap-controls",{schema:{hand:{default:"none"},model:{default:!0},orientationOffset:{type:"vec3"}},mapping:h,init:function(){var e=this;this.controllerPresent=!1,this.lastControllerCheck=0,this.onButtonChanged=r(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.previousButtonValues={},this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods()},update:function(){var e=this.data;this.controllerIndex="right"===e.hand?0:"left"===e.hand?1:2},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},bindMethods:function(){this.onModelLoaded=r(this.onModelLoaded,this),this.onControllersUpdate=r(this.onControllersUpdate,this),this.checkIfControllerPresent=r(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=r(this.removeControllersUpdateListener,this),this.onAxisMoved=r(this.onAxisMoved,this)},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("axismove",this.onAxisMoved),e.addEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("axismove",this.onAxisMoved),e.removeEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!1},checkIfControllerPresent:function(){var e=this.data;a(this,c,{index:this.controllerIndex,hand:e.hand})},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{idPrefix:c,hand:t.hand,controller:this.controllerIndex,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("gltf-model",u)},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onButtonChanged:function(e){var t,n=this.mapping.buttons[e.detail.id];n&&("trigger"===n&&(t=e.detail.state.value,console.log("analog value of trigger press: "+t)),this.el.emit(n+"changed",e.detail.state))},onModelLoaded:function(e){e.detail.model.scale.set(.01,.01,.01)},onAxisMoved:function(e){s(this,this.mapping.axes,e)},updateModel:function(e,t){},setButtonColor:function(e,t){}})},{"../core/component":131,"../utils/bind":199,"../utils/tracked-controls":214}],92:[function(e,t,n){var r=e("../utils/"),i=e("../core/component"),o=e("../lib/three"),a=e("../core/shader"),s=r.debug("components:material:error"),l=i.registerComponent,c=a.shaders,u=a.shaderNames;function h(e){switch(e){case"back":return o.BackSide;case"double":return o.DoubleSide;default:return o.FrontSide}}function d(e){switch(e){case"face":return o.FaceColors;case"vertex":return o.VertexColors;default:return o.NoColors}}function p(e){switch(e){case"none":return o.NoBlending;case"additive":return o.AdditiveBlending;case"subtractive":return o.SubtractiveBlending;case"multiply":return o.MultiplyBlending;default:return o.NormalBlending}}function f(e,t){e.dispose(),t.unregisterMaterial(e)}t.exports.Component=l("material",{schema:{alphaTest:{default:0,min:0,max:1},depthTest:{default:!0},depthWrite:{default:!0},flatShading:{default:!1},npot:{default:!1},offset:{type:"vec2",default:{x:0,y:0}},opacity:{default:1,min:0,max:1},repeat:{type:"vec2",default:{x:1,y:1}},shader:{default:"standard",oneOf:u,schemaChange:!0},side:{default:"front",oneOf:["front","back","double"]},transparent:{default:!1},vertexColors:{type:"string",default:"none",oneOf:["face","vertex"]},visible:{default:!0},blending:{default:"normal",oneOf:["none","normal","additive","subtractive","multiply"]},dithering:{default:!0}},init:function(){this.material=null},update:function(e){var t=this.data;this.shader&&t.shader===e.shader||this.updateShader(t.shader),this.shader.update(this.data),this.updateMaterial(e)},updateSchema:function(e){var t,n,r,i;n=e&&e.shader,t=this.oldData&&this.oldData.shader,(r=c[i=n||t]&&c[i].schema)||s("Unknown shader schema "+i),t&&n===t||(this.extendSchema(r),this.updateBehavior())},updateBehavior:function(){var e,t,n=this.el.sceneEl,r=this.schema,i=this;function o(e,n){var r;for(r in t)t[r]=e;i.shader.update(t)}for(e in this.tick=void 0,t={},r)"time"===r[e].type&&(this.tick=o,t[e]=!0);n&&(this.tick?n.addBehavior(this):n.removeBehavior(this))},updateShader:function(e){var t,n=this.data,r=c[e]&&c[e].Shader;if(!r)throw new Error("Unknown shader "+e);(t=this.shader=new r).el=this.el,t.init(n),this.setMaterial(t.material),this.updateSchema(n)},updateMaterial:function(e){var t,n=this.data,r=this.material;for(t in r.alphaTest=n.alphaTest,r.depthTest=!1!==n.depthTest,r.depthWrite=!1!==n.depthWrite,r.opacity=n.opacity,r.flatShading=n.flatShading,r.side=h(n.side),r.transparent=!1!==n.transparent||n.opacity<1,r.vertexColors=d(n.vertexColors),r.visible=n.visible,r.blending=p(n.blending),r.dithering=n.dithering,e)break;!t||e.alphaTest===n.alphaTest&&e.side===n.side&&e.vertexColors===n.vertexColors||(r.needsUpdate=!0)},remove:function(){var e=new o.MeshBasicMaterial,t=this.material,n=this.el.getObject3D("mesh");n&&(n.material=e),f(t,this.system)},setMaterial:function(e){var t,n=this.el,r=this.system;this.material&&f(this.material,r),this.material=e,r.registerMaterial(e),(t=n.getObject3D("mesh"))?t.material=e:n.addEventListener("object3dset",(function t(r){"mesh"===r.detail.type&&r.target===n&&(n.getObject3D("mesh").material=e,n.removeEventListener("object3dset",t))}))}})},{"../core/component":131,"../core/shader":141,"../lib/three":179,"../utils/":205}],93:[function(e,t,n){var r=e("../utils/debug"),i=e("../core/component").registerComponent,o=e("../lib/three"),a=r("components:obj-model:warn");t.exports.Component=i("obj-model",{schema:{mtl:{type:"model"},obj:{type:"model"}},init:function(){var e=this;this.model=null,this.objLoader=new o.OBJLoader,this.mtlLoader=new o.MTLLoader(this.objLoader.manager),this.mtlLoader.crossOrigin="",this.el.addEventListener("componentinitialized",(function(t){e.model&&"material"===t.detail.name&&e.applyMaterial()}))},update:function(){var e=this.data;e.obj&&(this.resetMesh(),this.loadObj(e.obj,e.mtl))},remove:function(){this.model&&this.resetMesh()},resetMesh:function(){this.el.removeObject3D("mesh")},loadObj:function(e,t){var n=this,r=this.el,i=this.mtlLoader,o=this.objLoader,s=this.el.sceneEl.systems.renderer,l=t.substr(0,t.lastIndexOf("/")+1);if(t)return r.hasAttribute("material")&&a("Material component properties are ignored when a .MTL is provided"),i.setResourcePath(l),void i.load(t,(function(t){t.preload(),o.setMaterials(t),o.load(e,(function(e){n.model=e,n.model.traverse((function(e){if(e.isMesh){var t=e.material;t.color&&s.applyColorCorrection(t.color),t.map&&s.applyColorCorrection(t.map),t.emissive&&s.applyColorCorrection(t.emissive),t.emissiveMap&&s.applyColorCorrection(t.emissiveMap)}})),r.setObject3D("mesh",e),r.emit("model-loaded",{format:"obj",model:e})}))}));o.load(e,(function(e){n.model=e,n.applyMaterial(),r.setObject3D("mesh",e),r.emit("model-loaded",{format:"obj",model:e})}))},applyMaterial:function(){var e=this.el.components.material;e&&this.model.traverse((function(t){t instanceof o.Mesh&&(t.material=e.material)}))}})},{"../core/component":131,"../lib/three":179,"../utils/debug":201}],94:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c=e("../utils/").device.isWebXRAvailable,u="https://cdn.aframe.io/controllers/oculus/go/oculus-go-controller.gltf",h=c?"oculus-go":"Oculus Go",d=c?{axes:{touchpad:[0,1]},buttons:["trigger","none","touchpad"]}:{axes:{trackpad:[0,1]},buttons:["trackpad","trigger"]};t.exports.Component=r("oculus-go-controls",{schema:{hand:{default:""},buttonColor:{type:"color",default:"#FFFFFF"},buttonTouchedColor:{type:"color",default:"#BBBBBB"},buttonHighlightColor:{type:"color",default:"#7A7A7A"},model:{default:!0},orientationOffset:{type:"vec3"},armModel:{default:!0}},mapping:d,bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.controllerPresent=!1,this.lastControllerCheck=0,this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods()},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){a(this,h,this.data.hand?{hand:this.data.hand}:{})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{armModel:t.armModel,hand:t.hand,idPrefix:h,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("gltf-model",u)},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onModelLoaded:function(e){var t,n=e.detail.model;this.data.model&&((t=this.buttonMeshes={}).trigger=n.getObjectByName("oculus_go_button_trigger"),t.trackpad=n.getObjectByName("oculus_go_touchpad"),t.touchpad=n.getObjectByName("oculus_go_touchpad"))},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&this.el.emit(t+"changed",e.detail.state)},onAxisMoved:function(e){s(this,this.mapping.axes,e)},updateModel:function(e,t){this.data.model&&this.updateButtonModel(e,t)},updateButtonModel:function(e,t){var n=this.buttonMeshes;if(n&&n[e]){var r,i;switch(t){case"down":r=this.data.buttonHighlightColor;break;case"touchstart":r=this.data.buttonTouchedColor;break;default:r=this.data.buttonColor}(i=n[e]).material.color.set(r),this.rendererSystem.applyColorCorrection(i.material.color)}}})},{"../core/component":131,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],95:[function(e,t,n){var r=e("../utils/bind"),i=e("../core/component").registerComponent,o=e("../lib/three"),a=e("../utils/tracked-controls"),s=a.checkControllerPresentAndSetup,l=a.emitIfAxesChanged,c=a.onButtonEvent,u=e("../utils/").device.isWebXRAvailable,h="oculus-touch",d=u?h:"Oculus Touch",p="https://cdn.aframe.io/controllers/oculus/oculus-touch-controller-",f={left:{modelUrl:p+"left.gltf",rayOrigin:{origin:{x:.008,y:-.01,z:0},direction:{x:0,y:-.8,z:-1}},modelPivotOffset:new o.Vector3(-.005,.003,-.055),modelPivotRotation:new o.Euler(0,0,0)},right:{modelUrl:p+"right.gltf",rayOrigin:{origin:{x:-.008,y:-.01,z:0},direction:{x:0,y:-.8,z:-1}},modelPivotOffset:new o.Vector3(.005,.003,-.055),modelPivotRotation:new o.Euler(0,0,0)}},m={left:{modelUrl:p+"left.gltf",rayOrigin:{origin:{x:.002,y:-.005,z:-.03},direction:{x:0,y:-.8,z:-1}},modelPivotOffset:new o.Vector3(-.005,.036,-.037),modelPivotRotation:new o.Euler(Math.PI/4.5,0,0)},right:{modelUrl:p+"right.gltf",rayOrigin:{origin:{x:-.002,y:-.005,z:-.03},direction:{x:0,y:-.8,z:-1}},modelPivotOffset:new o.Vector3(.005,.036,-.037),modelPivotRotation:new o.Euler(Math.PI/4.5,0,0)}},v="oculus-touch",g={"oculus-touch":u?m:f,"oculus-touch-v2":{left:{modelUrl:p+"gen2-left.gltf",rayOrigin:{origin:{x:-.01,y:0,z:-.02},direction:{x:0,y:-.5,z:-1}},modelPivotOffset:new o.Vector3(0,0,0),modelPivotRotation:new o.Euler(0,0,0)},right:{modelUrl:p+"gen2-right.gltf",rayOrigin:{origin:{x:.01,y:0,z:-.02},direction:{x:0,y:-.5,z:-1}},modelPivotOffset:new o.Vector3(0,0,0),modelPivotRotation:new o.Euler(0,0,0)}},"oculus-touch-v3":{left:{modelUrl:p+"v3-left.glb",rayOrigin:{origin:{x:.015,y:.005,z:0},direction:{x:0,y:0,z:-1}},modelPivotOffset:new o.Vector3(.01,-.01,.05),modelPivotRotation:new o.Euler(Math.PI/4,0,0)},right:{modelUrl:p+"v3-right.glb",rayOrigin:{origin:{x:-.015,y:.005,z:0},direction:{x:0,y:0,z:-1}},modelPivotOffset:new o.Vector3(-.01,-.01,.05),modelPivotRotation:new o.Euler(Math.PI/4,0,0)}}},y=u?{left:{axes:{thumbstick:[2,3]},buttons:["trigger","grip","none","thumbstick","xbutton","ybutton","surface"]},right:{axes:{thumbstick:[2,3]},buttons:["trigger","grip","none","thumbstick","abutton","bbutton","surface"]}}:{left:{axes:{thumbstick:[0,1]},buttons:["thumbstick","trigger","grip","xbutton","ybutton","surface"]},right:{axes:{thumbstick:[0,1]},buttons:["thumbstick","trigger","grip","abutton","bbutton","surface"]}};t.exports.Component=i("oculus-touch-controls",{schema:{hand:{default:"left"},buttonColor:{type:"color",default:"#999"},buttonTouchColor:{type:"color",default:"#8AB"},buttonHighlightColor:{type:"color",default:"#2DF"},model:{default:!0},controllerType:{default:"auto",oneOf:["auto","oculus-touch","oculus-touch-v2","oculus-touch-v3"]},orientationOffset:{type:"vec3",default:{x:43,y:0,z:0}}},mapping:y,bindMethods:function(){this.onModelLoaded=r(this.onModelLoaded,this),this.onControllersUpdate=r(this.onControllersUpdate,this),this.checkIfControllerPresent=r(this.checkIfControllerPresent,this),this.onAxisMoved=r(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=r(this.onButtonChanged,this),this.onButtonDown=function(t){c(t.detail.id,"down",e,e.data.hand)},this.onButtonUp=function(t){c(t.detail.id,"up",e,e.data.hand)},this.onButtonTouchStart=function(t){c(t.detail.id,"touchstart",e,e.data.hand)},this.onButtonTouchEnd=function(t){c(t.detail.id,"touchend",e,e.data.hand)},this.controllerPresent=!1,this.lastControllerCheck=0,this.previousButtonValues={},this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods()},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("axismove",this.onAxisMoved),e.addEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("axismove",this.onAxisMoved),e.removeEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!1},checkIfControllerPresent:function(){s(this,d,{hand:this.data.hand})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},loadModel:function(e){var t,n=this.data;if(n.model){if(this.displayModel=g[n.controllerType]||g[v],"auto"===n.controllerType){var r=this.el.sceneEl.systems["tracked-controls-webvr"];if(r&&r.vrDisplay){var i=r.vrDisplay.displayName;/^Oculus Quest$/.test(i)&&(this.displayModel=g["oculus-touch-v2"])}else t=v,t=-1!==e.profiles.indexOf("oculus-touch-v2")?"oculus-touch-v2":t,t=-1!==e.profiles.indexOf("oculus-touch-v3")?"oculus-touch-v3":t,this.displayModel=g[t]}var o=this.displayModel[n.hand].modelUrl;this.el.setAttribute("gltf-model",o)}},injectTrackedControls:function(e){var t=this.data,n=h,r="right"===t.hand?"Oculus Touch (Right)":"Oculus Touch (Left)",i=u?n:r;this.el.setAttribute("tracked-controls",{id:i,hand:t.hand,orientationOffset:t.orientationOffset,handTrackingEnabled:!1}),this.loadModel(e)},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onButtonChanged:function(e){var t,n=this.mapping[this.data.hand].buttons[e.detail.id],r=this.buttonMeshes;n&&("trigger"!==n&&"grip"!==n||(t=e.detail.state.value),r&&("trigger"===n&&r.trigger&&(r.trigger.rotation.x=this.originalXRotationTrigger-t*(Math.PI/26)),"grip"===n&&r.grip&&(r.grip.position.x=this.originalXPositionGrip+("left"===this.data.hand?-1:1)*t*.004)),this.el.emit(n+"changed",e.detail.state))},onModelLoaded:function(e){var t,n=this.controllerObject3D=e.detail.model;this.data.model&&((t=this.buttonMeshes={}).grip=n.getObjectByName("buttonHand"),this.originalXPositionGrip=t.grip&&t.grip.position.x,t.thumbstick=n.getObjectByName("stick"),t.trigger=n.getObjectByName("buttonTrigger"),this.originalXRotationTrigger=t.trigger&&t.trigger.rotation.x,t.xbutton=n.getObjectByName("buttonX"),t.abutton=n.getObjectByName("buttonA"),t.ybutton=n.getObjectByName("buttonY"),t.bbutton=n.getObjectByName("buttonB"),n.position.copy(this.displayModel[this.data.hand].modelPivotOffset),n.rotation.copy(this.displayModel[this.data.hand].modelPivotRotation),this.el.emit("controllermodelready",{name:"oculus-touch-controls",model:this.data.model,rayOrigin:this.displayModel[this.data.hand].rayOrigin}))},onAxisMoved:function(e){l(this,this.mapping[this.data.hand].axes,e)},updateModel:function(e,t){this.data.model&&this.updateButtonModel(e,t)},updateButtonModel:function(e,t){var n,r="up"===t||"touchend"===t?this.data.buttonColor:"touchstart"===t?this.data.buttonTouchColor:this.data.buttonHighlightColor,i=this.buttonMeshes;this.data.model&&i&&i[e]&&((n=i[e]).material.color.set(r),this.rendererSystem.applyColorCorrection(n.material.color))}})},{"../core/component":131,"../lib/three":179,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],96:[function(e,t,n){var r=e("../core/component").registerComponent;t.exports.Component=r("position",{schema:{type:"vec3"},update:function(){var e=this.el.object3D,t=this.data;e.position.set(t.x,t.y,t.z)},remove:function(){this.el.object3D.position.set(0,0,0)}})},{"../core/component":131}],97:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../lib/three"),o=e("../utils/").debug("components:raycaster:warn"),a=/^[\w\s-.,[\]#]*$/,s={childList:!0,attributes:!0,subtree:!0},l={INTERSECT:"raycaster-intersected",INTERSECTION:"raycaster-intersection",INTERSECT_CLEAR:"raycaster-intersected-cleared",INTERSECTION_CLEAR:"raycaster-intersection-cleared"};function c(e,t){var n;for(e.length=t.length,n=0;n<t.length;n++)e[n]=t[n]}t.exports.Component=r("raycaster",{schema:{autoRefresh:{default:!0},direction:{type:"vec3",default:{x:0,y:0,z:-1}},enabled:{default:!0},far:{default:1e3},interval:{default:0},near:{default:0},objects:{default:""},origin:{type:"vec3"},showLine:{default:!1},lineColor:{default:"white"},lineOpacity:{default:1},useWorldCoordinates:{default:!1}},multiple:!0,init:function(){this.clearedIntersectedEls=[],this.unitLineEndVec3=new i.Vector3,this.intersectedEls=[],this.intersections=[],this.newIntersectedEls=[],this.newIntersections=[],this.objects=[],this.prevCheckTime=void 0,this.prevIntersectedEls=[],this.rawIntersections=[],this.raycaster=new i.Raycaster,this.updateOriginDirection(),this.setDirty=this.setDirty.bind(this),this.updateLine=this.updateLine.bind(this),this.observer=new MutationObserver(this.setDirty),this.dirty=!0,this.lineEndVec3=new i.Vector3,this.otherLineEndVec3=new i.Vector3,this.lineData={end:this.lineEndVec3},this.getIntersection=this.getIntersection.bind(this),this.intersectedDetail={el:this.el,getIntersection:this.getIntersection},this.intersectedClearedDetail={el:this.el},this.intersectionClearedDetail={clearedEls:this.clearedIntersectedEls},this.intersectionDetail={}},update:function(e){var t=this.data,n=this.el,r=this.raycaster;r.far=t.far,r.near=t.near,!t.showLine||t.far===e.far&&t.origin===e.origin&&t.direction===e.direction&&e.showLine||(this.unitLineEndVec3.copy(t.origin).add(t.direction).normalize(),this.drawLine()),!t.showLine&&e.showLine&&n.removeAttribute("line"),t.objects===e.objects||a.test(t.objects)||o('[raycaster] Selector "'+t.objects+'" may not update automatically with DOM changes.'),t.objects||o('[raycaster] For performance, please define raycaster.objects when using raycaster or cursor components to whitelist which entities to intersect with. e.g., raycaster="objects: [data-raycastable]".'),t.autoRefresh!==e.autoRefresh&&n.isPlaying&&(t.autoRefresh?this.addEventListeners():this.removeEventListeners()),e.enabled&&!t.enabled&&this.clearAllIntersections(),this.setDirty()},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners()},remove:function(){this.data.showLine&&this.el.removeAttribute("line"),this.clearAllIntersections()},addEventListeners:function(){this.data.autoRefresh&&(this.observer.observe(this.el.sceneEl,s),this.el.sceneEl.addEventListener("object3dset",this.setDirty),this.el.sceneEl.addEventListener("object3dremove",this.setDirty))},removeEventListeners:function(){this.observer.disconnect(),this.el.sceneEl.removeEventListener("object3dset",this.setDirty),this.el.sceneEl.removeEventListener("object3dremove",this.setDirty)},setDirty:function(){this.dirty=!0},refreshObjects:function(){var e,t=this.data;e=t.objects?this.el.sceneEl.querySelectorAll(t.objects):this.el.sceneEl.querySelectorAll("*"),this.objects=this.flattenObject3DMaps(e),this.dirty=!1},tock:function(e){var t=this.data,n=this.prevCheckTime;t.enabled&&(n&&e-n<t.interval||(this.prevCheckTime=e,this.checkIntersections()))},checkIntersections:function(){var e,t,n=this.clearedIntersectedEls,r=this.el,i=this.data,o=this.intersectedEls,a=this.intersections,s=this.newIntersectedEls,u=this.newIntersections,h=this.prevIntersectedEls,d=this.rawIntersections;for(this.dirty&&this.refreshObjects(),c(this.prevIntersectedEls,this.intersectedEls),this.updateOriginDirection(),d.length=0,this.raycaster.intersectObjects(this.objects,!0,d),a.length=0,o.length=0,e=0;e<d.length;e++)t=d[e],i.showLine&&t.object===r.getObject3D("line")||t.object.el&&(a.push(t),o.push(t.object.el));for(u.length=0,s.length=0,e=0;e<a.length;e++)-1===h.indexOf(a[e].object.el)&&(u.push(a[e]),s.push(a[e].object.el));for(n.length=0,e=0;e<h.length;e++)-1===o.indexOf(h[e])&&(h[e].emit(l.INTERSECT_CLEAR,this.intersectedClearedDetail),n.push(h[e]));for(n.length&&r.emit(l.INTERSECTION_CLEAR,this.intersectionClearedDetail),e=0;e<s.length;e++)s[e].emit(l.INTERSECT,this.intersectedDetail);u.length&&(this.intersectionDetail.els=s,this.intersectionDetail.intersections=u,r.emit(l.INTERSECTION,this.intersectionDetail)),i.showLine&&setTimeout(this.updateLine)},updateLine:function(){var e,t=this.el,n=this.intersections;n.length&&(e=n[0].object.el===t&&n[1]?n[1].distance:n[0].distance),this.drawLine(e)},getIntersection:function(e){var t,n;for(t=0;t<this.intersections.length;t++)if((n=this.intersections[t]).object.el===e)return n;return null},updateOriginDirection:function(){var e=new i.Vector3,t=new i.Vector3;return function(){var n=this.el,r=this.data;r.useWorldCoordinates?this.raycaster.set(r.origin,r.direction):(n.object3D.updateMatrixWorld(),t.setFromMatrixPosition(n.object3D.matrixWorld),0===r.origin.x&&0===r.origin.y&&0===r.origin.z||(t=n.object3D.localToWorld(t.copy(r.origin))),e.copy(r.direction).transformDirection(n.object3D.matrixWorld).normalize(),this.raycaster.set(t,e))}}(),drawLine:function(e){var t,n=this.data,r=this.el;t=this.lineData.end===this.lineEndVec3?this.otherLineEndVec3:this.lineEndVec3,void 0===e&&(e=n.far===1/0?1e3:n.far),this.lineData.start=n.origin,this.lineData.end=t.copy(this.unitLineEndVec3).multiplyScalar(e),this.lineData.color=n.lineColor,this.lineData.opacity=n.lineOpacity,r.setAttribute("line",this.lineData)},flattenObject3DMaps:function(e){var t,n,r=this.objects;for(r.length=0,n=0;n<e.length;n++)if(e[n].isEntity&&e[n].object3D)for(t in e[n].object3DMap)r.push(e[n].getObject3D(t));return r},clearAllIntersections:function(){var e;for(e=0;e<this.intersectedEls.length;e++)this.intersectedEls[e].emit(l.INTERSECT_CLEAR,this.intersectedClearedDetail);c(this.clearedIntersectedEls,this.intersectedEls),this.intersectedEls.length=0,this.intersections.length=0,this.el.emit(l.INTERSECTION_CLEAR,this.intersectionClearedDetail)}})},{"../core/component":131,"../lib/three":179,"../utils/":205}],98:[function(e,t,n){var r=e("../lib/three").Math.degToRad,i=e("../core/component").registerComponent;t.exports.Component=i("rotation",{schema:{type:"vec3"},update:function(){var e=this.data,t=this.el.object3D;t.rotation.set(r(e.x),r(e.y),r(e.z)),t.rotation.order="YXZ"},remove:function(){this.el.object3D.rotation.set(0,0,0)}})},{"../core/component":131,"../lib/three":179}],99:[function(e,t,n){var r=e("../core/component").registerComponent,i=1e-5;t.exports.Component=r("scale",{schema:{type:"vec3",default:{x:1,y:1,z:1}},update:function(){var e=this.data,t=this.el.object3D,n=0===e.x?i:e.x,r=0===e.y?i:e.y,o=0===e.z?i:e.z;t.scale.set(n,r,o)},remove:function(){this.el.object3D.scale.set(1,1,1)}})},{"../core/component":131}],100:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../core/component").components;t.exports.Component=r("background",{schema:{color:{type:"color",default:"black"},transparent:{default:!1}},update:function(){var e=this.data,t=this.el.object3D;e.transparent?t.background=null:t.background=new THREE.Color(e.color)},remove:function(){var e=this.data,t=this.el.object3D;e.transparent?t.background=null:t.background=i[this.name].schema.color.default}})},{"../../core/component":131}],101:[function(e,t,n){var r=e("../../core/component").registerComponent;t.exports.Component=r("debug",{schema:{default:!0}})},{"../../core/component":131}],102:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../utils/"),o=i.bind,a=e("../../constants/"),s="a-modal",l="a-dialog",c="a-dialog-text",u="a-dialog-text-container",h="a-dialog-buttons-container",d="a-dialog-button",p="a-dialog-allow-button",f="a-dialog-deny-button",m="a-dialog-ok-button";function v(e,t,n,r,i){var o,s,l;return(o=document.createElement("div")).classList.add(h),(s=document.createElement("button")).classList.add(d,f),s.setAttribute(a.AFRAME_INJECTED,""),s.innerHTML=e,o.appendChild(s),(l=document.createElement("button")).classList.add(d,p),l.setAttribute(a.AFRAME_INJECTED,""),l.innerHTML=t,o.appendChild(l),l.addEventListener("click",(function(e){e.stopPropagation(),r()})),s.addEventListener("click",(function(e){e.stopPropagation(),i()})),y(n,o)}function g(e,t,n){var r,i;return(r=document.createElement("div")).classList.add(h),(i=document.createElement("button")).classList.add(d,m),i.setAttribute(a.AFRAME_INJECTED,""),i.innerHTML=e,r.appendChild(i),i.addEventListener("click",(function(e){e.stopPropagation(),n()})),y(t,r)}function y(e,t){var n,r,i,o;return(n=document.createElement("div")).classList.add(s),n.setAttribute(a.AFRAME_INJECTED,""),(r=document.createElement("div")).className=l,r.setAttribute(a.AFRAME_INJECTED,""),n.appendChild(r),(i=document.createElement("div")).classList.add(u),r.appendChild(i),(o=document.createElement("div")).classList.add(c),o.innerHTML=e,i.appendChild(o),r.appendChild(t),n}t.exports.Component=r("device-orientation-permission-ui",{schema:{enabled:{default:!0},deviceMotionMessage:{default:"This immersive website requires access to your device motion sensors."},mobileDesktopMessage:{default:"Set your browser to request the mobile version of the site and reload the page to enjoy immersive mode."},httpsMessage:{default:"Access this site over HTTPS to enter VR mode and grant access to the device sensors."},denyButtonText:{default:"Deny"},allowButtonText:{default:"Allow"},cancelButtonText:{default:"Cancel"}},init:function(){var e=this;this.data.enabled&&("localhost"!==location.hostname&&"127.0.0.1"!==location.hostname&&"http:"===location.protocol&&this.showHTTPAlert(),i.device.isMobileDeviceRequestingDesktopSite()?this.showMobileDesktopModeAlert():"undefined"!==typeof DeviceOrientationEvent&&DeviceOrientationEvent.requestPermission?(this.onDeviceMotionDialogAllowClicked=o(this.onDeviceMotionDialogAllowClicked,this),this.onDeviceMotionDialogDenyClicked=o(this.onDeviceMotionDialogDenyClicked,this),DeviceOrientationEvent.requestPermission().catch((function(){e.devicePermissionDialogEl=v(e.data.denyButtonText,e.data.allowButtonText,e.data.deviceMotionMessage,e.onDeviceMotionDialogAllowClicked,e.onDeviceMotionDialogDenyClicked),e.el.appendChild(e.devicePermissionDialogEl)})).then((function(){e.el.emit("deviceorientationpermissiongranted"),e.permissionGranted=!0}))):this.permissionGranted=!0)},remove:function(){this.devicePermissionDialogEl&&this.el.removeChild(this.devicePermissionDialogEl)},onDeviceMotionDialogDenyClicked:function(){this.remove()},showMobileDesktopModeAlert:function(){var e=this,t=g(e.data.cancelButtonText,e.data.mobileDesktopMessage,(function(){e.el.removeChild(t)}));this.el.appendChild(t)},showHTTPAlert:function(){var e=this,t=g(e.data.cancelButtonText,e.data.httpsMessage,(function(){e.el.removeChild(t)}));this.el.appendChild(t)},onDeviceMotionDialogAllowClicked:function(){var e=this;this.el.emit("deviceorientationpermissionrequested"),DeviceOrientationEvent.requestPermission().then((function(t){"granted"===t?(e.el.emit("deviceorientationpermissiongranted"),e.permissionGranted=!0):e.el.emit("deviceorientationpermissionrejected"),e.remove()})).catch(console.error)}})},{"../../constants/":123,"../../core/component":131,"../../utils/":205}],103:[function(e,t,n){var r=e("../../core/component").registerComponent;t.exports.Component=r("embedded",{dependencies:["vr-mode-ui"],schema:{default:!0},update:function(){var e=this.el,t=e.querySelector(".a-enter-vr");!0===this.data?(t&&t.classList.add("embedded"),e.removeFullScreenStyles()):(t&&t.classList.remove("embedded"),e.addFullScreenStyles())}})},{"../../core/component":131}],104:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../lib/three"),o=e("../../utils/debug")("components:fog:warn");function a(e){var t;return(t="exponential"===e.type?new i.FogExp2(e.color,e.density):new i.Fog(e.color,e.near,e.far)).name=e.type,t}t.exports.Component=r("fog",{schema:{color:{type:"color",default:"#000"},density:{default:25e-5},far:{default:1e3,min:0},near:{default:1,min:0},type:{default:"linear",oneOf:["linear","exponential"]}},update:function(){var e=this.data,t=this.el,n=this.el.object3D.fog;if(t.isScene)return n&&e.type===n.name?void Object.keys(this.schema).forEach((function(t){var r=e[t];"color"===t&&(r=new i.Color(r)),n[t]=r})):(t.object3D.fog=a(e),void t.systems.material.updateMaterials());o("Fog component can only be applied to <a-scene>")},remove:function(){var e=this.el.object3D.fog;e&&(e.far=0,e.near=.1)}})},{"../../core/component":131,"../../lib/three":179,"../../utils/debug":201}],105:[function(e,t,n){(function(n){var r=e("../../constants").AFRAME_INJECTED,i=e("../../../package"),o=e("../../core/component").registerComponent,a=e("../../utils/");function s(e){var t=e.split(".");return t[2]="x",t.join(".")}var l="https://aframe.io/aframe-inspector/dist/aframe-inspector.js",c="https://unpkg.com/aframe-inspector@"+s(i.version)+"/dist/aframe-inspector.min.js",u="dev"===n.env.INSPECTOR_VERSION?l:c,h="Loading Inspector",d="Error loading Inspector";t.exports.Component=o("inspector",{schema:{url:{default:u}},init:function(){this.firstPlay=!0,this.onKeydown=this.onKeydown.bind(this),this.onMessage=this.onMessage.bind(this),this.initOverlay(),window.addEventListener("keydown",this.onKeydown),window.addEventListener("message",this.onMessage)},play:function(){var e;this.firstPlay&&"false"!==(e=a.getUrlParameter("inspector"))&&e&&(this.openInspector(),this.firstPlay=!1)},initOverlay:function(){var e='<span class="dots"><span>.</span><span>.</span><span>.</span></span>';this.loadingMessageEl=document.createElement("div"),this.loadingMessageEl.classList.add("a-inspector-loader"),this.loadingMessageEl.innerHTML=h+e},remove:function(){this.removeEventListeners()},onKeydown:function(e){73===e.keyCode&&(e.ctrlKey&&e.altKey||e.getModifierState("AltGraph"))&&this.openInspector()},showLoader:function(){document.body.appendChild(this.loadingMessageEl)},hideLoader:function(){document.body.removeChild(this.loadingMessageEl)},onMessage:function(e){"INJECT_AFRAME_INSPECTOR"===e.data&&this.openInspector()},openInspector:function(e){var t,n=this;AFRAME.INSPECTOR||AFRAME.inspectorInjected?AFRAME.INSPECTOR.open(e):(this.showLoader(),(t=document.createElement("script")).src=this.data.url,t.setAttribute("data-name","aframe-inspector"),t.setAttribute(r,""),t.onload=function(){AFRAME.INSPECTOR.open(e),n.hideLoader(),n.removeEventListeners()},t.onerror=function(){n.loadingMessageEl.innerHTML=d},document.head.appendChild(t),AFRAME.inspectorInjected=!0)},removeEventListeners:function(){window.removeEventListener("keydown",this.onKeydown),window.removeEventListener("message",this.onMessage)}})}).call(this,e("_process"))},{"../../../package":73,"../../constants":123,"../../core/component":131,"../../utils/":205,_process:49}],106:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../utils/").shouldCaptureKeyEvent;t.exports.Component=r("keyboard-shortcuts",{schema:{enterVR:{default:!0},exitVR:{default:!0}},init:function(){this.onKeyup=this.onKeyup.bind(this)},update:function(e){var t=this.data;this.enterVREnabled=t.enterVR},play:function(){window.addEventListener("keyup",this.onKeyup,!1)},pause:function(){window.removeEventListener("keyup",this.onKeyup)},onKeyup:function(e){var t=this.el;i(e)&&(this.enterVREnabled&&70===e.keyCode&&t.enterVR(),this.enterVREnabled&&27===e.keyCode&&t.exitVR())}})},{"../../core/component":131,"../../utils/":205}],107:[function(e,t,n){var r=e("../../utils/debug"),i=e("../../core/component").registerComponent,o=r("components:pool:warn");t.exports.Component=i("pool",{schema:{container:{default:""},mixin:{default:""},size:{default:0},dynamic:{default:!1}},multiple:!0,initPool:function(){var e;for(this.availableEls=[],this.usedEls=[],this.data.mixin||o("No mixin provided for pool component."),this.data.container&&(this.container=document.querySelector(this.data.container),this.container||o("Container "+this.data.container+" not found.")),this.container=this.container||this.el,e=0;e<this.data.size;++e)this.createEntity()},update:function(e){var t=this.data;e.mixin===t.mixin&&e.size===t.size||this.initPool()},createEntity:function(){var e;(e=document.createElement("a-entity")).play=this.wrapPlay(e.play),e.setAttribute("mixin",this.data.mixin),e.object3D.visible=!1,e.pause(),this.container.appendChild(e),this.availableEls.push(e)},wrapPlay:function(e){var t=this.usedEls;return function(){-1!==t.indexOf(this)&&e.call(this)}},requestEntity:function(){var e;if(0===this.availableEls.length){if(!1===this.data.dynamic)return void o("Requested entity from empty pool: "+this.attrName);o("Requested entity from empty pool. This pool is dynamic and will resize automatically. You might want to increase its initial size: "+this.attrName),this.createEntity()}return e=this.availableEls.shift(),this.usedEls.push(e),e.object3D.visible=!0,e},returnEntity:function(e){var t=this.usedEls.indexOf(e);if(-1!==t)return this.usedEls.splice(t,1),this.availableEls.push(e),e.object3D.visible=!1,e.pause(),e;o("The returned entity was not previously pooled from "+this.attrName)}})},{"../../core/component":131,"../../utils/debug":201}],108:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../lib/three"),o=["attribute vec3 position;","attribute vec2 uv;","uniform mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","varying vec2 vUv;","void main()  {","  vUv = vec2( 1.- uv.x, uv.y );","  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),a=["precision mediump float;","uniform samplerCube map;","varying vec2 vUv;","#define M_PI 3.141592653589793238462643383279","void main() {","  vec2 uv = vUv;","  float longitude = uv.x * 2. * M_PI - M_PI + M_PI / 2.;","  float latitude = uv.y * M_PI;","  vec3 dir = vec3(","    - sin( longitude ) * sin( latitude ),","    cos( latitude ),","    - cos( longitude ) * sin( latitude )","  );","  normalize( dir );","  gl_FragColor = vec4( textureCube( map, dir ).rgb, 1.0 );","}"].join("\n");t.exports.Component=r("screenshot",{schema:{width:{default:4096},height:{default:2048},camera:{type:"selector"}},init:function(){var e=this.el,t=this;function n(){var n=e.renderer.getContext();n&&(t.cubeMapSize=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),t.material=new i.RawShaderMaterial({uniforms:{map:{type:"t",value:null}},vertexShader:o,fragmentShader:a,side:i.DoubleSide}),t.quad=new i.Mesh(new i.PlaneBufferGeometry(1,1),t.material),t.quad.visible=!1,t.camera=new i.OrthographicCamera(-.5,.5,.5,-.5,-1e4,1e4),t.canvas=document.createElement("canvas"),t.ctx=t.canvas.getContext("2d"),e.object3D.add(t.quad),t.onKeyDown=t.onKeyDown.bind(t))}e.renderer?n():e.addEventListener("render-target-loaded",n)},getRenderTarget:function(e,t){return new i.WebGLRenderTarget(e,t,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,wrapS:i.ClampToEdgeWrapping,wrapT:i.ClampToEdgeWrapping,format:i.RGBAFormat,type:i.UnsignedByteType})},resize:function(e,t){this.quad.scale.set(e,t,1),this.camera.left=-1*e/2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=-1*t/2,this.camera.updateProjectionMatrix(),this.canvas.width=e,this.canvas.height=t},play:function(){window.addEventListener("keydown",this.onKeyDown)},onKeyDown:function(e){var t=83===e.keyCode&&e.ctrlKey&&e.altKey;if(this.data&&t){var n=e.shiftKey?"equirectangular":"perspective";this.capture(n)}},setCapture:function(e){var t,n,r,o,a=this.el;return"perspective"===e?(this.quad.visible=!1,n=this.data.camera&&this.data.camera.components.camera.camera||a.camera,t={width:this.data.width,height:this.data.height}):(n=this.camera,o=new i.WebGLCubeRenderTarget(Math.min(this.cubeMapSize,2048),{format:i.RGBFormat,generateMipmaps:!0,minFilter:i.LinearMipmapLinearFilter,encoding:i.sRGBEncoding}),r=new i.CubeCamera(a.camera.near,a.camera.far,o),a.camera.getWorldPosition(r.position),a.camera.getWorldQuaternion(r.quaternion),r.update(a.renderer,a.object3D),this.quad.material.uniforms.map.value=r.renderTarget.texture,t={width:this.data.width,height:this.data.height},this.quad.visible=!0),{camera:n,size:t,projection:e}},capture:function(e){var t,n=this.el.renderer.xr.enabled,r=this.el.renderer;r.xr.enabled=!1,t=this.setCapture(e),this.renderCapture(t.camera,t.size,t.projection),this.saveCapture(),r.xr.enabled=n},getCanvas:function(e){var t=this.el.renderer.xr.enabled,n=this.el.renderer,r=this.setCapture(e);return n.xr.enabled=!1,this.renderCapture(r.camera,r.size,r.projection),n.xr.enabled=t,this.canvas},renderCapture:function(e,t,n){var r,i,o,a=this.el.renderer.autoClear,s=this.el,l=s.renderer;i=this.getRenderTarget(t.width,t.height),o=new Uint8Array(4*t.width*t.height),this.resize(t.width,t.height),l.autoClear=!0,l.clear(),l.setRenderTarget(i),l.render(s.object3D,e),l.autoClear=a,l.readRenderTargetPixels(i,0,0,t.width,t.height,o),l.setRenderTarget(null),"perspective"===n&&(o=this.flipPixelsVertically(o,t.width,t.height)),r=new ImageData(new Uint8ClampedArray(o),t.width,t.height),this.quad.visible=!1,this.ctx.putImageData(r,0,0)},flipPixelsVertically:function(e,t,n){for(var r=e.slice(0),i=0;i<t;++i)for(var o=0;o<n;++o)r[4*i+o*t*4]=e[4*i+(n-o)*t*4],r[4*i+1+o*t*4]=e[4*i+1+(n-o)*t*4],r[4*i+2+o*t*4]=e[4*i+2+(n-o)*t*4],r[4*i+3+o*t*4]=e[4*i+3+(n-o)*t*4];return r},saveCapture:function(){this.canvas.toBlob((function(e){var t="screenshot-"+document.title.toLowerCase()+"-"+Date.now()+".png",n=document.createElement("a"),r=URL.createObjectURL(e);n.href=r,n.setAttribute("download",t),n.innerHTML="downloading...",n.style.display="none",document.body.appendChild(n),setTimeout((function(){n.click(),document.body.removeChild(n)}),1)}),"image/png")}})},{"../../core/component":131,"../../lib/three":179}],109:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../../vendor/rStats"),o=e("../../utils");e("../../../vendor/rStats.extras"),e("../../lib/rStatsAframe");var a=window.aframeStats,s=o.bind,l="a-hidden",c=window.threeStats;function u(e){var t=new c(e.renderer),n=new a(e),r=e.isMobile?[]:[t,n];return new i({css:[],values:{fps:{caption:"fps",below:30}},groups:[{caption:"Framerate",values:["fps","raf"]}],plugins:r})}t.exports.Component=r("stats",{schema:{default:!0},init:function(){var e=this.el;"false"!==o.getUrlParameter("stats")&&(this.stats=u(e),this.statsEl=document.querySelector(".rs-base"),this.hideBound=s(this.hide,this),this.showBound=s(this.show,this),e.addEventListener("enter-vr",this.hideBound),e.addEventListener("exit-vr",this.showBound))},update:function(){if(this.stats)return this.data?this.show():this.hide()},remove:function(){this.el.removeEventListener("enter-vr",this.hideBound),this.el.removeEventListener("exit-vr",this.showBound),this.statsEl&&this.statsEl.parentNode.removeChild(this.statsEl)},tick:function(){var e=this.stats;e&&(e("rAF").tick(),e("FPS").frame(),e().update())},hide:function(){this.statsEl.classList.add(l)},show:function(){this.statsEl.classList.remove(l)}})},{"../../../vendor/rStats":217,"../../../vendor/rStats.extras":216,"../../core/component":131,"../../lib/rStatsAframe":178,"../../utils":205}],110:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../constants/"),o=e("../../utils/"),a=o.bind,s="a-enter-vr",l="a-enter-ar",c="a-enter-vr-button",u="a-enter-ar-button",h="a-hidden",d="a-orientation-modal";function p(e){var t,n;return(n=document.createElement("div")).classList.add(s),n.setAttribute(i.AFRAME_INJECTED,""),(t=document.createElement("button")).className=c,t.setAttribute("title","Enter VR mode with a headset or fullscreen mode on a desktop. Visit https://webvr.rocks or https://webvr.info for more information."),t.setAttribute(i.AFRAME_INJECTED,""),o.device.isMobile()&&v(t),n.appendChild(t),t.addEventListener("click",(function(t){e(),t.stopPropagation()})),n}function f(e){var t,n;return(n=document.createElement("div")).classList.add(l),n.setAttribute(i.AFRAME_INJECTED,""),(t=document.createElement("button")).className=u,t.setAttribute("title","Enter AR mode with a headset or handheld device. Visit https://webvr.rocks or https://webvr.info for more information."),t.setAttribute(i.AFRAME_INJECTED,""),o.device.isMobile()&&v(t),n.appendChild(t),t.addEventListener("click",(function(t){e(),t.stopPropagation()})),n}function m(e){var t=document.createElement("div");t.className=d,t.classList.add(h),t.setAttribute(i.AFRAME_INJECTED,"");var n=document.createElement("button");return n.setAttribute(i.AFRAME_INJECTED,""),n.innerHTML="Exit VR",n.addEventListener("click",e),t.appendChild(n),t}function v(e){e.addEventListener("touchstart",(function(){e.classList.remove("resethover")})),e.addEventListener("touchend",(function(){e.classList.add("resethover")}))}t.exports.Component=r("vr-mode-ui",{dependencies:["canvas"],schema:{enabled:{default:!0},enterVRButton:{default:""},enterARButton:{default:""}},init:function(){var e=this,t=this.el;"false"!==o.getUrlParameter("ui")&&(this.insideLoader=!1,this.enterVREl=null,this.enterAREl=null,this.orientationModalEl=null,this.bindMethods(),t.addEventListener("enter-vr",this.updateEnterInterfaces),t.addEventListener("exit-vr",this.updateEnterInterfaces),t.addEventListener("update-vr-devices",this.updateEnterInterfaces),window.addEventListener("message",(function(t){"loaderReady"===t.data.type&&(e.insideLoader=!0,e.remove())})),window.addEventListener("orientationchange",this.toggleOrientationModalIfNeeded))},bindMethods:function(){this.onEnterVRButtonClick=a(this.onEnterVRButtonClick,this),this.onEnterARButtonClick=a(this.onEnterARButtonClick,this),this.onModalClick=a(this.onModalClick,this),this.toggleOrientationModalIfNeeded=a(this.toggleOrientationModalIfNeeded,this),this.updateEnterInterfaces=a(this.updateEnterInterfaces,this)},onModalClick:function(){this.el.exitVR()},onEnterVRButtonClick:function(){this.el.enterVR()},onEnterARButtonClick:function(){this.el.enterAR()},update:function(){var e=this.data,t=this.el;if(!e.enabled||this.insideLoader||"false"===o.getUrlParameter("ui"))return this.remove();this.enterVREl||this.enterAREl||this.orientationModalEl||(e.enterVRButton?(this.enterVREl=document.querySelector(e.enterVRButton),this.enterVREl.addEventListener("click",this.onEnterVRButtonClick)):(this.enterVREl=p(this.onEnterVRButtonClick),t.appendChild(this.enterVREl)),e.enterARButton?(this.enterAREl=document.querySelector(e.enterARButton),this.enterAREl.addEventListener("click",this.onEnterARButtonClick)):(this.enterAREl=f(this.onEnterARButtonClick),t.appendChild(this.enterAREl)),this.orientationModalEl=m(this.onModalClick),t.appendChild(this.orientationModalEl),this.updateEnterInterfaces())},remove:function(){[this.enterVREl,this.enterAREl,this.orientationModalEl].forEach((function(e){e&&e.parentNode&&e.parentNode.removeChild(e)})),this.enterVREl=void 0,this.enterAREl=void 0,this.orientationModalEl=void 0},updateEnterInterfaces:function(){this.toggleEnterVRButtonIfNeeded(),this.toggleEnterARButtonIfNeeded(),this.toggleOrientationModalIfNeeded()},toggleEnterVRButtonIfNeeded:function(){var e=this.el;this.enterVREl&&(e.is("vr-mode")?this.enterVREl.classList.add(h):this.enterVREl.classList.remove(h))},toggleEnterARButtonIfNeeded:function(){var e=this.el;this.enterAREl&&(e.is("vr-mode")||!o.device.checkARSupport()?this.enterAREl.classList.add(h):this.enterAREl.classList.remove(h))},toggleOrientationModalIfNeeded:function(){var e=this.el,t=this.orientationModalEl;t&&e.isMobile&&(!o.device.isLandscape()&&e.is("vr-mode")?t.classList.remove(h):t.classList.add(h))}})},{"../../constants/":123,"../../core/component":131,"../../utils/":205}],111:[function(e,t,n){var r=e("../core/component"),i=e("../lib/three"),o=e("../utils/bind"),a=r.registerComponent;t.exports.Component=a("shadow",{schema:{cast:{default:!0},receive:{default:!0}},init:function(){this.onMeshChanged=o(this.update,this),this.el.addEventListener("object3dset",this.onMeshChanged),this.system.setShadowMapEnabled(!0)},update:function(){var e=this.data;this.updateDescendants(e.cast,e.receive)},remove:function(){this.el.removeEventListener("object3dset",this.onMeshChanged),this.updateDescendants(!1,!1)},updateDescendants:function(e,t){var n=this.el.sceneEl;this.el.object3D.traverse((function(r){if(r instanceof i.Mesh&&(r.castShadow=e,r.receiveShadow=t,n.hasLoaded&&r.material))for(var o=Array.isArray(r.material)?r.material:[r.material],a=0;a<o.length;a++)o[a].needsUpdate=!0}))}})},{"../core/component":131,"../lib/three":179,"../utils/bind":199}],112:[function(t,n,r){var i=t("../core/component").registerComponent,o=t("../utils/debug"),a=t("../lib/three"),s=o("components:sound:warn");n.exports.Component=i("sound",{schema:{autoplay:{default:!1},distanceModel:{default:"inverse",oneOf:["linear","inverse","exponential"]},loop:{default:!1},maxDistance:{default:1e4},on:{default:""},poolSize:{default:1},positional:{default:!0},refDistance:{default:1},rolloffFactor:{default:1},src:{type:"audio"},volume:{default:1}},multiple:!0,init:function(){var e=this;this.listener=null,this.audioLoader=new a.AudioLoader,this.pool=new a.Group,this.loaded=!1,this.mustPlay=!1,this.playSoundBound=function(){e.playSound()}},update:function(e){var t,n,r=this.data,i=r.src!==e.src;if(i){if(!r.src)return;this.setupSound()}for(t=0;t<this.pool.children.length;t++)n=this.pool.children[t],r.positional&&(n.setDistanceModel(r.distanceModel),n.setMaxDistance(r.maxDistance),n.setRefDistance(r.refDistance),n.setRolloffFactor(r.rolloffFactor)),n.setLoop(r.loop),n.setVolume(r.volume),n.isPaused=!1;if(r.on!==e.on&&this.updateEventListener(e.on),i){var o=this;this.loaded=!1,this.audioLoader.load(r.src,(function(e){for(t=0;t<o.pool.children.length;t++)(n=o.pool.children[t]).setBuffer(e);o.loaded=!0,a.Cache.remove(r.src),(o.data.autoplay||o.mustPlay)&&o.playSound(),o.el.emit("sound-loaded",o.evtDetail,!1)}))}},pause:function(){this.stopSound(),this.removeEventListener()},play:function(){this.data.autoplay&&this.playSound(),this.updateEventListener()},remove:function(){var t;this.removeEventListener(),this.el.getObject3D(this.attrName)&&this.el.removeObject3D(this.attrName);try{for(t=0;t<this.pool.children.length;t++)this.pool.children[t].disconnect()}catch(e){s("Audio source not properly disconnected")}},updateEventListener:function(e){var t=this.el;e&&t.removeEventListener(e,this.playSoundBound),t.addEventListener(this.data.on,this.playSoundBound)},removeEventListener:function(){this.el.removeEventListener(this.data.on,this.playSoundBound)},setupSound:function(){var e,t,n=this.el,r=n.sceneEl,i=this;this.pool.children.length>0&&(this.stopSound(),n.removeObject3D("sound"));var o=this.listener=r.audioListener||new a.AudioListener;for(r.audioListener=o,r.camera&&r.camera.add(o),r.addEventListener("camera-set-active",(function(e){e.detail.cameraEl.getObject3D("camera").add(o)})),this.pool=new a.Group,e=0;e<this.data.poolSize;e++)t=this.data.positional?new a.PositionalAudio(o):new a.Audio(o),this.pool.add(t);for(n.setObject3D(this.attrName,this.pool),e=0;e<this.pool.children.length;e++)(t=this.pool.children[e]).onEnded=function(){this.isPlaying=!1,i.el.emit("sound-ended",i.evtDetail,!1)}},pauseSound:function(){var e,t;for(this.isPlaying=!1,e=0;e<this.pool.children.length;e++)(t=this.pool.children[e]).source&&t.source.buffer&&t.isPlaying&&!t.isPaused&&(t.isPaused=!0,t.pause())},playSound:function(e){var t,n,r;if(!this.loaded)return s("Sound not loaded yet. It will be played once it finished loading"),void(this.mustPlay=!0);for(t=!1,this.isPlaying=!0,n=0;n<this.pool.children.length;n++)(r=this.pool.children[n]).isPlaying||!r.buffer||t||(e&&e(r),r.play(),r.isPaused=!1,t=!0);t?this.mustPlay=!1:s("All the sounds are playing. If you need to play more sounds simultaneously consider increasing the size of pool with the `poolSize` attribute.",this.el)},stopSound:function(){var e,t;for(this.isPlaying=!1,e=0;e<this.pool.children.length;e++){if(!(t=this.pool.children[e]).source||!t.source.buffer)return;t.stop()}}})},{"../core/component":131,"../lib/three":179,"../utils/debug":201}],113:[function(e,t,n){var r=e("three-bmfont-text"),i=e("load-bmfont"),o=e("../core/component").registerComponent,a=e("../core/shader"),s=e("../lib/three"),l=e("../utils/"),c=l.debug("components:text:error"),u=a.shaders,h=l.debug("components:text:warn"),d=1,p=16,f="https://cdn.aframe.io/fonts/",m={aileronsemibold:f+"Aileron-Semibold.fnt",dejavu:f+"DejaVu-sdf.fnt",exo2bold:f+"Exo2Bold.fnt",exo2semibold:f+"Exo2SemiBold.fnt",kelsonsans:f+"KelsonSans.fnt",monoid:f+"Monoid.fnt",mozillavr:f+"mozillavr.fnt",roboto:f+"Roboto-msdf.json",sourcecodepro:f+"SourceCodePro.fnt"},v=["roboto"],g="roboto";t.exports.FONTS=m;var y=new C,b={},A={},w=/^\w+:/;function x(e){switch(e){case"back":return s.FrontSide;case"double":return s.DoubleSide;default:return s.BackSide}}function E(e,t){return new Promise((function(n,r){i(e,(function(i,o){if(i)return c("Error loading font",e),void r(i);e.indexOf("/Roboto-msdf.json")>=0&&(t=30),t&&o.chars.map((function(e){e.yoffset+=t})),n(o)}))}))}function M(e){return new Promise((function(t,n){(new s.ImageLoader).load(e,(function(e){t(e)}),void 0,(function(){c("Error loading font image",e),n(null)}))}))}function _(e,t,n){var r,i;return(i=new u[t].Shader).el=e,i.init(n),i.update(n),(r=i.material).transparent=n.transparent,{material:r,shader:i}}function T(e,t,n){return e||(.5+t)*n}function S(e){var t=0,n=0,r=0;return e.chars.map((function(e){t+=e.xadvance,e.id>=48&&e.id<=57&&(r++,n+=e.xadvance)})),r?n/r:t/e.chars.length}function C(){var e=this.cache={};this.get=function(t,n){return t in e||(e[t]=n()),e[t]}}t.exports.Component=o("text",{multiple:!0,schema:{align:{type:"string",default:"left",oneOf:["left","right","center"]},alphaTest:{default:.5},anchor:{default:"center",oneOf:["left","right","center","align"]},baseline:{default:"center",oneOf:["top","center","bottom"]},color:{type:"color",default:"#FFF"},font:{type:"string",default:g},fontImage:{type:"string"},height:{type:"number"},letterSpacing:{type:"number",default:0},lineHeight:{type:"number"},negate:{type:"boolean",default:!0},opacity:{type:"number",default:1},shader:{default:"sdf",oneOf:u},side:{default:"front",oneOf:["front","back","double"]},tabSize:{default:4},transparent:{default:!0},value:{type:"string"},whiteSpace:{default:"normal",oneOf:["normal","pre","nowrap"]},width:{type:"number"},wrapCount:{type:"number",default:40},wrapPixels:{type:"number"},xOffset:{type:"number",default:0},yOffset:{type:"number",default:0},zOffset:{type:"number",default:.001}},init:function(){this.shaderData={},this.geometry=r(),this.createOrUpdateMaterial()},update:function(e){var t=this.data,n=this.currentFont;A[t.font]?this.texture=A[t.font]:(this.texture=A[t.font]=new s.Texture,this.texture.anisotropy=p),this.createOrUpdateMaterial(),e.font===t.font?n&&(this.updateGeometry(this.geometry,n),this.updateLayout()):this.updateFont()},remove:function(){this.geometry.dispose(),this.geometry=null,this.el.removeObject3D(this.attrName),this.material.dispose(),this.material=null,this.texture.dispose(),this.texture=null,this.shaderObject&&delete this.shaderObject},createOrUpdateMaterial:function(){var e,t,n,r=this.data,i=this.material,o=this.shaderData;if(n=r.shader,-1!==v.indexOf(r.font)||r.font.indexOf("-msdf.")>=0?n="msdf":r.font in m&&-1===v.indexOf(r.font)&&(n="sdf"),e=(this.shaderObject&&this.shaderObject.name)!==n,o.alphaTest=r.alphaTest,o.color=r.color,o.map=this.texture,o.opacity=r.opacity,o.side=x(r.side),o.transparent=r.transparent,o.negate=r.negate,!e)return this.shaderObject.update(o),i.transparent=o.transparent,void(i.side=o.side);t=_(this.el,n,o),this.material=t.material,this.shaderObject=t.shader,this.material.side=o.side,this.mesh&&(this.mesh.material=this.material)},updateFont:function(){var e,t=this.data,n=this.el,r=this.geometry,i=this;t.font||h("No font specified. Using the default font."),this.mesh&&(this.mesh.visible=!1),e=this.lookupFont(t.font||g)||t.font,y.get(e,(function(){return E(e,t.yOffset)})).then((function(o){var a;if(1!==o.pages.length)throw new Error("Currently only single-page bitmap fonts are supported.");b[e]||(o.widthFactor=b[o]=S(o)),i.currentFont=o,a=i.getFontImageSrc(),y.get(a,(function(){return M(a)})).then((function(e){var a=i.texture;a.image=e,a.needsUpdate=!0,A[t.font]=a,i.texture=a,i.initMesh(),i.currentFont=o,i.updateGeometry(r,o),i.updateLayout(),i.mesh.visible=!0,n.emit("textfontset",{font:t.font,fontObj:o})})).catch((function(e){c(e.message),c(e.stack)}))})).catch((function(e){c(e.message),c(e.stack)}))},initMesh:function(){this.mesh||(this.mesh=new s.Mesh(this.geometry,this.material),this.el.setObject3D(this.attrName,this.mesh))},getFontImageSrc:function(){if(this.data.fontImage)return this.data.fontImage;var e=this.lookupFont(this.data.font||g)||this.data.font,t=this.currentFont.pages[0];return t.match(w)&&0!==t.indexOf("http")?e.replace(/(\.fnt)|(\.json)/,".png"):s.LoaderUtils.extractUrlBase(e)+t},updateLayout:function(){var e,t,n,r,i,o,a,s,l,c=this.el,u=this.data,h=this.geometry,p=this.mesh;if(p&&h.layout){if(n=c.getAttribute("geometry"),r=(o=(a=u.width||n&&n.width||d)/T(u.wrapPixels,u.wrapCount,this.currentFont.widthFactor))*((i=h.layout).height+i.descender),n&&"plane"===n.primitive&&(n.width||c.setAttribute("geometry","width",a),n.height||c.setAttribute("geometry","height",r)),"left"===(e="align"===u.anchor?u.align:u.anchor))s=0;else if("right"===e)s=-1*i.width;else{if("center"!==e)throw new TypeError("Invalid text.anchor property value",e);s=-1*i.width/2}if("bottom"===(t=u.baseline))l=0;else if("top"===t)l=-1*i.height+i.ascender;else{if("center"!==t)throw new TypeError("Invalid text.baseline property value",t);l=-1*i.height/2}p.position.x=s*o+u.xOffset,p.position.y=l*o,p.position.z=u.zOffset,p.scale.set(o,-1*o,o)}},lookupFont:function(e){return m[e]},updateGeometry:function(){var e={},t={},n=/\\n/g,r=/\\t/g;return function(i,o){var a=this.data;t.font=o,t.lineHeight=a.lineHeight&&isFinite(a.lineHeight)?a.lineHeight:o.common.lineHeight,t.text=a.value.toString().replace(n,"\n").replace(r,"\t"),t.width=T(a.wrapPixels,a.wrapCount,o.widthFactor),i.update(l.extend(e,a,t))}}()})},{"../core/component":131,"../core/shader":141,"../lib/three":179,"../utils/":205,"load-bmfont":37,"three-bmfont-text":63}],114:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/tracked-controls"),o=e("../constants").DEFAULT_CAMERA_HEIGHT,a=e("../lib/three"),s=e("../constants").DEFAULT_HANDEDNESS,l={x:.175,y:-.3,z:-.03},c={x:0,y:0,z:-.175},u={touches:[]},h={AXISMOVE:"axismove",BUTTONCHANGED:"buttonchanged",BUTTONDOWN:"buttondown",BUTTONUP:"buttonup",TOUCHSTART:"touchstart",TOUCHEND:"touchend"};t.exports.Component=r("tracked-controls-webvr",{schema:{autoHide:{default:!0},controller:{default:0},id:{type:"string",default:""},hand:{type:"string",default:""},idPrefix:{type:"string",default:""},orientationOffset:{type:"vec3"},armModel:{default:!1},headElement:{type:"selector"}},init:function(){this.axis=this.el.components["tracked-controls"].axis=[0,0,0],this.buttonStates=this.el.components["tracked-controls"].buttonStates={},this.changedAxes=[],this.targetControllerNumber=this.data.controller,this.axisMoveEventDetail={axis:this.axis,changed:this.changedAxes},this.deltaControllerPosition=new a.Vector3,this.controllerQuaternion=new a.Quaternion,this.controllerEuler=new a.Euler,this.updateGamepad(),this.buttonEventDetails={}},tick:function(e,t){var n=this.el.getObject3D("mesh");n&&n.update&&n.update(t/1e3),this.updateGamepad(),this.updatePose(),this.updateButtons()},defaultUserHeight:function(){return o},getHeadElement:function(){return this.data.headElement||this.el.sceneEl.camera.el},updateGamepad:function(){var e=this.data,t=i.findMatchingControllerWebVR(this.system.controllers,e.id,e.idPrefix,e.hand,e.controller);this.controller=t,this.el.components["tracked-controls"].controller=t,this.data.autoHide&&(this.el.object3D.visible=!!this.controller)},applyArmModel:function(e){var t,n,r,i,o=this.controller,a=this.controllerEuler,u=this.controllerQuaternion,h=this.deltaControllerPosition;n=this.getHeadElement().object3D,i=this.defaultUserHeight(),r=o.pose,t=(o?o.hand:void 0)||s,e.copy(n.position),h.set(l.x*("left"===t?-1:"right"===t?1:0),l.y,l.z),h.multiplyScalar(i),h.applyAxisAngle(n.up,n.rotation.y),e.add(h),h.set(c.x,c.y,c.z),h.multiplyScalar(i),r.orientation?u.fromArray(r.orientation):u.copy(n.quaternion),a.setFromQuaternion(u),a.set(a.x,a.y,0),h.applyEuler(a),e.add(h)},updatePose:function(){var e,t,n=this.controller,r=this.data,i=this.el.object3D,o=this.system.vrDisplay;n&&((e=n.pose).position?i.position.fromArray(e.position):r.armModel&&this.applyArmModel(i.position),e.orientation&&i.quaternion.fromArray(e.orientation),o&&e.position&&(t=this.el.sceneEl.renderer.xr.getStandingMatrix(),i.matrix.compose(i.position,i.quaternion,i.scale),i.matrix.multiplyMatrices(t,i.matrix),i.matrix.decompose(i.position,i.quaternion,i.scale)),i.rotateX(this.data.orientationOffset.x*a.Math.DEG2RAD),i.rotateY(this.data.orientationOffset.y*a.Math.DEG2RAD),i.rotateZ(this.data.orientationOffset.z*a.Math.DEG2RAD))},updateButtons:function(){var e,t,n=this.controller;if(n){for(t=0;t<n.buttons.length;++t)this.buttonStates[t]||(this.buttonStates[t]={pressed:!1,touched:!1,value:0}),this.buttonEventDetails[t]||(this.buttonEventDetails[t]={id:t,state:this.buttonStates[t]}),e=n.buttons[t],this.handleButton(t,e);this.handleAxes()}},handleButton:function(e,t){return!!(this.handlePress(e,t)|this.handleTouch(e,t)|this.handleValue(e,t))&&(this.el.emit(h.BUTTONCHANGED,this.buttonEventDetails[e],!1),!0)},handleAxes:function(){var e,t=!1,n=this.controller.axes,r=this.axis,i=this.changedAxes;for(this.changedAxes.splice(0,this.changedAxes.length),e=0;e<n.length;++e)i.push(r[e]!==n[e]),i[e]&&(t=!0);if(!t)return!1;for(this.axis.splice(0,this.axis.length),e=0;e<n.length;e++)this.axis.push(n[e]);return this.el.emit(h.AXISMOVE,this.axisMoveEventDetail,!1),!0},handlePress:function(e,t){var n,r=this.buttonStates[e];return t.pressed!==r.pressed&&(n=t.pressed?h.BUTTONDOWN:h.BUTTONUP,this.el.emit(n,this.buttonEventDetails[e],!1),r.pressed=t.pressed,!0)},handleTouch:function(e,t){var n,r=this.buttonStates[e];return t.touched!==r.touched&&(n=t.touched?h.TOUCHSTART:h.TOUCHEND,this.el.emit(n,this.buttonEventDetails[e],!1,u),r.touched=t.touched,!0)},handleValue:function(e,t){var n=this.buttonStates[e];return t.value!==n.value&&(n.value=t.value,!0)}})},{"../constants":123,"../core/component":131,"../lib/three":179,"../utils/tracked-controls":214}],115:[function(e,t,n){var r=e("../utils/tracked-controls"),i=e("../core/component").registerComponent,o={AXISMOVE:"axismove",BUTTONCHANGED:"buttonchanged",BUTTONDOWN:"buttondown",BUTTONUP:"buttonup",TOUCHSTART:"touchstart",TOUCHEND:"touchend"};t.exports.Component=i("tracked-controls-webxr",{schema:{id:{type:"string",default:""},hand:{type:"string",default:""},handTrackingEnabled:{default:!1},index:{type:"int",default:-1},iterateControllerProfiles:{default:!1}},init:function(){this.updateController=this.updateController.bind(this),this.buttonEventDetails={},this.buttonStates=this.el.components["tracked-controls"].buttonStates={},this.axis=this.el.components["tracked-controls"].axis=[0,0,0],this.changedAxes=[],this.axisMoveEventDetail={axis:this.axis,changed:this.changedAxes}},update:function(){this.updateController()},play:function(){var e=this.el.sceneEl;this.updateController(),e.addEventListener("controllersupdated",this.updateController)},pause:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.updateController)},isControllerPresent:function(e){return!(!this.controller||this.controller.gamepad)&&("none"===e.inputSource.handedness||e.inputSource.handedness===this.data.hand)},updateController:function(){this.controller=r.findMatchingControllerWebXR(this.system.controllers,this.data.id,this.data.hand,this.data.index,this.data.iterateControllerProfiles,this.data.handTrackingEnabled),this.el.components["tracked-controls"].controller=this.controller,this.data.autoHide&&(this.el.object3D.visible=!!this.controller)},tick:function(){var e=this.el.sceneEl,t=this.controller,n=e.frame;t&&e.frame&&this.system.referenceSpace&&(t.hand||(this.pose=n.getPose(t.targetRaySpace,this.system.referenceSpace),this.updatePose(),this.updateButtons()))},updatePose:function(){var e=this.el.object3D,t=this.pose;t&&(e.matrix.elements=t.transform.matrix,e.matrix.decompose(e.position,e.rotation,e.scale))},updateButtons:function(){var e,t,n,r=this.controller;if(r&&r.gamepad){for(n=r.gamepad,t=0;t<n.buttons.length;++t)this.buttonStates[t]||(this.buttonStates[t]={pressed:!1,touched:!1,value:0}),this.buttonEventDetails[t]||(this.buttonEventDetails[t]={id:t,state:this.buttonStates[t]}),e=n.buttons[t],this.handleButton(t,e);this.handleAxes()}},handleButton:function(e,t){return!!(this.handlePress(e,t)|this.handleTouch(e,t)|this.handleValue(e,t))&&(this.el.emit(o.BUTTONCHANGED,this.buttonEventDetails[e],!1),!0)},handleAxes:function(){var e,t=!1,n=this.controller.gamepad.axes,r=this.axis,i=this.changedAxes;for(this.changedAxes.splice(0,this.changedAxes.length),e=0;e<n.length;++e)i.push(r[e]!==n[e]),i[e]&&(t=!0);if(!t)return!1;for(this.axis.splice(0,this.axis.length),e=0;e<n.length;e++)this.axis.push(n[e]);return this.el.emit(o.AXISMOVE,this.axisMoveEventDetail,!1),!0},handlePress:function(e,t){var n,r=this.buttonStates[e];return t.pressed!==r.pressed&&(n=t.pressed?o.BUTTONDOWN:o.BUTTONUP,this.el.emit(n,this.buttonEventDetails[e],!1),r.pressed=t.pressed,!0)},handleTouch:function(e,t){var n,r=this.buttonStates[e];return t.touched!==r.touched&&(n=t.touched?o.TOUCHSTART:o.TOUCHEND,this.el.emit(n,this.buttonEventDetails[e],!1),r.touched=t.touched,!0)},handleValue:function(e,t){var n=this.buttonStates[e];return t.value!==n.value&&(n.value=t.value,!0)}})},{"../core/component":131,"../utils/tracked-controls":214}],116:[function(e,t,n){var r=e("../core/component").registerComponent;t.exports.Component=r("tracked-controls",{schema:{autoHide:{default:!0},controller:{default:-1},id:{type:"string",default:""},hand:{type:"string",default:""},idPrefix:{type:"string",default:""},handTrackingEnabled:{default:!1},orientationOffset:{type:"vec3"},armModel:{default:!1},headElement:{type:"selector"},iterateControllerProfiles:{default:!1}},update:function(){var e=this.data,t=this.el;t.sceneEl.hasWebXR?t.setAttribute("tracked-controls-webxr",{id:e.id,hand:e.hand,index:e.controller,iterateControllerProfiles:e.iterateControllerProfiles,handTrackingEnabled:e.handTrackingEnabled}):t.setAttribute("tracked-controls-webvr",e)}})},{"../core/component":131}],117:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../lib/three"),a=e("../utils/tracked-controls"),s=a.checkControllerPresentAndSetup,l=a.emitIfAxesChanged,c=a.onButtonEvent,u="https://cdn.aframe.io/controllers/valve/index/valve-index-",h={left:u+"left.glb",right:u+"right.glb"},d="valve",p=e("../utils/").device.isWebXRAvailable,f={left:{x:-.00023692678902063457,y:.04724540367838371,z:-.061959880395271096},right:{x:.002471558599671131,y:.055765208987076195,z:-.061068168708348844}},m={left:{x:0,y:-.05,z:.06},right:{x:0,y:-.05,z:.06}},v={left:{_x:.692295102620542,_y:-.0627618864318427,_z:-.06265893149611756,_order:"XYZ"},right:{_x:.6484021229942998,_y:-.032563619881892894,_z:-.1327973171917482,_order:"XYZ"}},g={left:{_x:Math.PI/3,_y:0,_z:0,_order:"XYZ"},right:{_x:Math.PI/3,_y:0,_z:0,_order:"XYZ"}},y=p?g:v,b=p?m:f;t.exports.Component=r("valve-index-controls",{schema:{hand:{default:"left"},buttonColor:{type:"color",default:"#FAFAFA"},buttonHighlightColor:{type:"color",default:"#22D1EE"},model:{default:!0},orientationOffset:{type:"vec3"}},mapping:{axes:{trackpad:[0,1],thumbstick:[2,3]},buttons:["trigger","grip","trackpad","thumbstick","abutton"]},init:function(){var e=this;this.controllerPresent=!1,this.lastControllerCheck=0,this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){c(t.detail.id,"down",e)},this.onButtonUp=function(t){c(t.detail.id,"up",e)},this.onButtonTouchEnd=function(t){c(t.detail.id,"touchend",e)},this.onButtonTouchStart=function(t){c(t.detail.id,"touchstart",e)},this.previousButtonValues={},this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods()},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){var e=this.data,t="right"===e.hand?0:"left"===e.hand?1:2;s(this,d,{index:t,iterateControllerProfiles:!0,hand:e.hand})},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{idPrefix:d,controller:"right"===t.hand?1:"left"===t.hand?0:2,hand:t.hand,orientationOffset:t.orientationOffset}),this.loadModel()},loadModel:function(){var e=this.data;e.model&&this.el.setAttribute("gltf-model",""+h[e.hand])},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onButtonChanged:function(e){var t,n=this.mapping.buttons[e.detail.id],r=this.buttonMeshes;n&&("trigger"===n&&(t=e.detail.state.value,r&&r.trigger&&(r.trigger.rotation.x=this.triggerOriginalRotationX-t*(Math.PI/40))),this.el.emit(n+"changed",e.detail.state))},onModelLoaded:function(e){var t,n=e.detail.model,r=this;this.data.model&&((t=this.buttonMeshes={}).grip={left:n.getObjectByName("leftgrip"),right:n.getObjectByName("rightgrip")},t.menu=n.getObjectByName("menubutton"),t.system=n.getObjectByName("systembutton"),t.trackpad=n.getObjectByName("touchpad"),t.trigger=n.getObjectByName("trigger"),this.triggerOriginalRotationX=t.trigger.rotation.x,Object.keys(t).forEach((function(e){r.setButtonColor(e,r.data.buttonColor)})),n.position.copy(b[this.data.hand]),n.rotation.copy(y[this.data.hand]),this.el.emit("controllermodelready",{name:"valve-index-controlls",model:this.data.model,rayOrigin:new o.Vector3(0,0,0)}))},onAxisMoved:function(e){l(this,this.mapping.axes,e)},updateModel:function(e,t){var n;this.data.model&&(-1!==t.indexOf("touch")||(n="up"===t?this.data.buttonColor:this.data.buttonHighlightColor,this.setButtonColor(e,n)))},setButtonColor:function(e,t){}})},{"../core/component":131,"../lib/three":179,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],118:[function(e,t,n){var r=e("../core/component").registerComponent;t.exports.Component=r("visible",{schema:{default:!0},update:function(){this.el.object3D.visible=this.data}})},{"../core/component":131}],119:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c="https://cdn.aframe.io/controllers/vive/vr_controller_vive.obj",u="https://cdn.aframe.io/controllers/vive/vr_controller_vive.mtl",h=e("../utils/").device.isWebXRAvailable,d=h?"htc-vive-controller-mv":"OpenVR ",p=h?{axes:{thumbstick:[0,1]},buttons:["trigger","grip","trackpad","none","menu"]}:{axes:{trackpad:[0,1]},buttons:["trackpad","trigger","grip","menu","system"]};t.exports.Component=r("vive-controls",{schema:{hand:{default:"left"},buttonColor:{type:"color",default:"#FAFAFA"},buttonHighlightColor:{type:"color",default:"#22D1EE"},model:{default:!0},orientationOffset:{type:"vec3"}},mapping:p,init:function(){var e=this;this.controllerPresent=!1,this.lastControllerCheck=0,this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.previousButtonValues={},this.rendererSystem=this.el.sceneEl.systems.renderer,this.bindMethods()},update:function(){var e=this.data;this.controllerIndex="right"===e.hand?0:"left"===e.hand?1:2},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1},checkIfControllerPresent:function(){var e=this.data;a(this,d,{index:this.controllerIndex,hand:e.hand})},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{idPrefix:d,hand:t.hand,controller:this.controllerIndex,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("obj-model",{obj:c,mtl:u})},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onButtonChanged:function(e){var t,n=this.mapping.buttons[e.detail.id],r=this.buttonMeshes;n&&("trigger"===n&&(t=e.detail.state.value,r&&r.trigger&&(r.trigger.rotation.x=-t*(Math.PI/12))),this.el.emit(n+"changed",e.detail.state))},onModelLoaded:function(e){var t,n=e.detail.model,r=this;this.data.model&&((t=this.buttonMeshes={}).grip={left:n.getObjectByName("leftgrip"),right:n.getObjectByName("rightgrip")},t.menu=n.getObjectByName("menubutton"),t.system=n.getObjectByName("systembutton"),t.trackpad=n.getObjectByName("touchpad"),t.trigger=n.getObjectByName("trigger"),Object.keys(t).forEach((function(e){r.setButtonColor(e,r.data.buttonColor)})),n.position.set(0,-.015,.04))},onAxisMoved:function(e){s(this,this.mapping.axes,e)},updateModel:function(e,t){var n;this.data.model&&(-1!==t.indexOf("touch")||(n="up"===t?this.data.buttonColor:this.data.buttonHighlightColor,this.setButtonColor(e,n)))},setButtonColor:function(e,t){var n=this.buttonMeshes,r=this.rendererSystem;if(n){if("grip"===e)return n.grip.left.material.color.set(t),n.grip.right.material.color.set(t),r.applyColorCorrection(n.grip.left.material.color),void r.applyColorCorrection(n.grip.right.material.color);n[e].material.color.set(t),r.applyColorCorrection(n[e].material.color)}}})},{"../core/component":131,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],120:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c="HTC Vive Focus",u="https://cdn.aframe.io/controllers/vive/focus-controller/focus-controller.gltf";t.exports.Component=r("vive-focus-controls",{schema:{hand:{default:""},buttonTouchedColor:{type:"color",default:"#BBBBBB"},buttonHighlightColor:{type:"color",default:"#7A7A7A"},model:{default:!0},orientationOffset:{type:"vec3"},armModel:{default:!0}},mapping:{axes:{trackpad:[0,1]},buttons:["trackpad","trigger"]},bindMethods:function(){this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.removeControllersUpdateListener=i(this.removeControllersUpdateListener,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.controllerPresent=!1,this.lastControllerCheck=0,this.bindMethods()},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("model-loaded",this.onModelLoaded),e.addEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!0,this.addControllersUpdateListener()},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("model-loaded",this.onModelLoaded),e.removeEventListener("axismove",this.onAxisMoved),this.controllerEventsActive=!1,this.removeControllersUpdateListener()},checkIfControllerPresent:function(){a(this,c,this.data.hand?{hand:this.data.hand}:{})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},injectTrackedControls:function(){var e=this.el,t=this.data;e.setAttribute("tracked-controls",{armModel:t.armModel,idPrefix:c,orientationOffset:t.orientationOffset}),this.data.model&&this.el.setAttribute("gltf-model",u)},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onModelLoaded:function(e){var t,n=e.detail.model;this.data.model&&((t=this.buttonMeshes={}).trigger=n.getObjectByName("BumperKey"),t.triggerPressed=n.getObjectByName("BumperKey_Press"),t.triggerPressed&&(t.triggerPressed.visible=!1),t.trackpad=n.getObjectByName("TouchPad"),t.trackpadPressed=n.getObjectByName("TouchPad_Press"),t.trackpadPressed&&(t.trackpadPressed.visible=!1))},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&this.el.emit(t+"changed",e.detail.state)},onAxisMoved:function(e){s(this,this.mapping.axes,e)},updateModel:function(e,t){this.data.model&&this.updateButtonModel(e,t)},updateButtonModel:function(e,t){var n=this.buttonMeshes,r=e+"Pressed";if(n&&n[e]&&n[r]){var i;switch(t){case"down":i=this.data.buttonHighlightColor;break;case"touchstart":i=this.data.buttonTouchedColor}i&&n[r].material.color.set(i),n[r].visible=!!i,n[e].visible=!i}}})},{"../core/component":131,"../utils/bind":199,"../utils/tracked-controls":214}],121:[function(e,t,n){var r=e("../constants").keyboardevent.KEYCODE_TO_CODE,i=e("../core/component").registerComponent,o=e("../lib/three"),a=e("../utils/"),s=a.bind,l=a.shouldCaptureKeyEvent,c=1e-5,u=.2,h=["KeyW","KeyA","KeyS","KeyD","ArrowUp","ArrowLeft","ArrowRight","ArrowDown"];function d(e){var t;for(t in e)return!1;return!0}t.exports.Component=i("wasd-controls",{schema:{acceleration:{default:65},adAxis:{default:"x",oneOf:["x","y","z"]},adEnabled:{default:!0},adInverted:{default:!1},enabled:{default:!0},fly:{default:!1},wsAxis:{default:"z",oneOf:["x","y","z"]},wsEnabled:{default:!0},wsInverted:{default:!1}},init:function(){this.keys={},this.easing=1.1,this.velocity=new o.Vector3,this.onBlur=s(this.onBlur,this),this.onContextMenu=s(this.onContextMenu,this),this.onFocus=s(this.onFocus,this),this.onKeyDown=s(this.onKeyDown,this),this.onKeyUp=s(this.onKeyUp,this),this.onVisibilityChange=s(this.onVisibilityChange,this),this.attachVisibilityEventListeners()},tick:function(e,t){var n=this.data,r=this.el,i=this.velocity;(i[n.adAxis]||i[n.wsAxis]||!d(this.keys))&&(t/=1e3,this.updateVelocity(t),(i[n.adAxis]||i[n.wsAxis])&&r.object3D.position.add(this.getMovementVector(t)))},remove:function(){this.removeKeyEventListeners(),this.removeVisibilityEventListeners()},play:function(){this.attachKeyEventListeners()},pause:function(){this.keys={},this.removeKeyEventListeners()},updateVelocity:function(e){var t,n,r,i,o,a=this.data,s=this.keys,l=this.velocity;if(n=a.adAxis,i=a.wsAxis,e>u)return l[n]=0,void(l[i]=0);var h=Math.pow(1/this.easing,60*e);0!==l[n]&&(l[n]=l[n]*h),0!==l[i]&&(l[i]=l[i]*h),Math.abs(l[n])<c&&(l[n]=0),Math.abs(l[i])<c&&(l[i]=0),a.enabled&&(t=a.acceleration,a.adEnabled&&(r=a.adInverted?-1:1,(s.KeyA||s.ArrowLeft)&&(l[n]-=r*t*e),(s.KeyD||s.ArrowRight)&&(l[n]+=r*t*e)),a.wsEnabled&&(o=a.wsInverted?-1:1,(s.KeyW||s.ArrowUp)&&(l[i]-=o*t*e),(s.KeyS||s.ArrowDown)&&(l[i]+=o*t*e)))},getMovementVector:function(){var e=new o.Vector3(0,0,0),t=new o.Euler(0,0,0,"YXZ");return function(n){var r,i=this.el.getAttribute("rotation"),a=this.velocity;return e.copy(a),e.multiplyScalar(n),i?(r=this.data.fly?i.x:0,t.set(o.Math.degToRad(r),o.Math.degToRad(i.y),0),e.applyEuler(t),e):e}}(),attachVisibilityEventListeners:function(){window.oncontextmenu=this.onContextMenu,window.addEventListener("blur",this.onBlur),window.addEventListener("focus",this.onFocus),document.addEventListener("visibilitychange",this.onVisibilityChange)},removeVisibilityEventListeners:function(){window.removeEventListener("blur",this.onBlur),window.removeEventListener("focus",this.onFocus),document.removeEventListener("visibilitychange",this.onVisibilityChange)},attachKeyEventListeners:function(){window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp)},removeKeyEventListeners:function(){window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp)},onContextMenu:function(){for(var e=Object.keys(this.keys),t=0;t<e.length;t++)delete this.keys[e[t]]},onBlur:function(){this.pause()},onFocus:function(){this.play()},onVisibilityChange:function(){document.hidden?this.onBlur():this.onFocus()},onKeyDown:function(e){var t;l(e)&&(t=e.code||r[e.keyCode],-1!==h.indexOf(t)&&(this.keys[t]=!0))},onKeyUp:function(e){var t;t=e.code||r[e.keyCode],delete this.keys[t]}})},{"../constants":123,"../core/component":131,"../lib/three":179,"../utils/":205}],122:[function(e,t,n){var r=e("../core/component").registerComponent,i=e("../utils/bind"),o=e("../utils/tracked-controls"),a=o.checkControllerPresentAndSetup,s=o.emitIfAxesChanged,l=o.onButtonEvent,c=e("../utils/"),u=c.debug("components:windows-motion-controls:debug"),h=c.debug("components:windows-motion-controls:warn"),d=e("../constants").DEFAULT_HANDEDNESS,p="https://cdn.aframe.io/controllers/microsoft/",f={left:"left.glb",right:"right.glb",default:"universal.glb"},m=e("../utils/").device.isWebXRAvailable,v=/([0-9a-zA-Z]+-[0-9a-zA-Z]+)$/,g=m?"windows-mixed-reality":"Spatial Controller (Spatial Interaction Source) ",y=m?{axes:{touchpad:[0,1],thumbstick:[2,3]},buttons:["trigger","squeeze","touchpad","thumbstick","menu"],axisMeshNames:["TOUCHPAD_TOUCH_X","TOUCHPAD_TOUCH_X","THUMBSTICK_X","THUMBSTICK_Y"],buttonMeshNames:{trigger:"SELECT",menu:"MENU",squeeze:"GRASP",thumbstick:"THUMBSTICK_PRESS",touchpad:"TOUCHPAD_PRESS"},pointingPoseMeshName:"POINTING_POSE"}:{axes:{thumbstick:[0,1],trackpad:[2,3]},buttons:["thumbstick","trigger","grip","menu","trackpad"],axisMeshNames:["THUMBSTICK_X","THUMBSTICK_Y","TOUCHPAD_TOUCH_X","TOUCHPAD_TOUCH_Y"],buttonMeshNames:{trigger:"SELECT",menu:"MENU",grip:"GRASP",thumbstick:"THUMBSTICK_PRESS",trackpad:"TOUCHPAD_PRESS"},pointingPoseMeshName:"POINTING_POSE"};t.exports.Component=r("windows-motion-controls",{schema:{hand:{default:d},pair:{default:0},model:{default:!0},hideDisconnected:{default:!0}},mapping:y,bindMethods:function(){this.onModelError=i(this.onModelError,this),this.onModelLoaded=i(this.onModelLoaded,this),this.onControllersUpdate=i(this.onControllersUpdate,this),this.checkIfControllerPresent=i(this.checkIfControllerPresent,this),this.onAxisMoved=i(this.onAxisMoved,this)},init:function(){var e=this,t=this.el;this.onButtonChanged=i(this.onButtonChanged,this),this.onButtonDown=function(t){l(t.detail.id,"down",e)},this.onButtonUp=function(t){l(t.detail.id,"up",e)},this.onButtonTouchStart=function(t){l(t.detail.id,"touchstart",e)},this.onButtonTouchEnd=function(t){l(t.detail.id,"touchend",e)},this.onControllerConnected=function(){e.setModelVisibility(!0)},this.onControllerDisconnected=function(){e.setModelVisibility(!1)},this.controllerPresent=!1,this.lastControllerCheck=0,this.previousButtonValues={},this.bindMethods(),this.loadedMeshInfo={buttonMeshes:null,axisMeshes:null},this.rayOrigin={origin:new THREE.Vector3,direction:new THREE.Vector3(0,0,-1),createdFromMesh:!1},t.addEventListener("controllerconnected",this.onControllerConnected),t.addEventListener("controllerdisconnected",this.onControllerDisconnected)},addEventListeners:function(){var e=this.el;e.addEventListener("buttonchanged",this.onButtonChanged),e.addEventListener("buttondown",this.onButtonDown),e.addEventListener("buttonup",this.onButtonUp),e.addEventListener("touchstart",this.onButtonTouchStart),e.addEventListener("touchend",this.onButtonTouchEnd),e.addEventListener("axismove",this.onAxisMoved),e.addEventListener("model-error",this.onModelError),e.addEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!0},removeEventListeners:function(){var e=this.el;e.removeEventListener("buttonchanged",this.onButtonChanged),e.removeEventListener("buttondown",this.onButtonDown),e.removeEventListener("buttonup",this.onButtonUp),e.removeEventListener("touchstart",this.onButtonTouchStart),e.removeEventListener("touchend",this.onButtonTouchEnd),e.removeEventListener("axismove",this.onAxisMoved),e.removeEventListener("model-error",this.onModelError),e.removeEventListener("model-loaded",this.onModelLoaded),this.controllerEventsActive=!1},checkIfControllerPresent:function(){a(this,g,{hand:this.data.hand,index:this.data.pair,iterateControllerProfiles:!0})},play:function(){this.checkIfControllerPresent(),this.addControllersUpdateListener()},pause:function(){this.removeEventListeners(),this.removeControllersUpdateListener()},updateControllerModel:function(){if(this.data.model&&!this.rayOrigin.createdFromMesh){var e=this.createControllerModelUrl();this.loadModel(e)}else this.modelReady()},createControllerModelUrl:function(e){var t,n=this.el.components["tracked-controls"],r=n?n.controller:null,i="default",o=this.data.hand;if(r&&!window.hasNativeWebXRImplementation&&(o=r.hand,!e)){var a=r.id.match(v);i=a&&a[0]||i}return t=f[o]||f.default,p+i+"/"+t},injectTrackedControls:function(){var e=this.data;this.el.setAttribute("tracked-controls",{idPrefix:g,controller:e.pair,hand:e.hand,armModel:!1}),this.updateControllerModel()},addControllersUpdateListener:function(){this.el.sceneEl.addEventListener("controllersupdated",this.onControllersUpdate,!1)},removeControllersUpdateListener:function(){this.el.sceneEl.removeEventListener("controllersupdated",this.onControllersUpdate,!1)},onControllersUpdate:function(){this.checkIfControllerPresent()},onModelError:function(e){var t=this.createControllerModelUrl(!0);e.detail.src!==t?(h("Failed to load controller model for device, attempting to load default."),this.loadModel(t)):h("Failed to load default controller model.")},loadModel:function(e){this.el.setAttribute("gltf-model","url("+e+")")},onModelLoaded:function(e){var t,n,r,i,o=this.controllerModel=e.detail.model,a=this.loadedMeshInfo;if(u("Processing model"),a.buttonMeshes={},a.axisMeshes={},o){for(t=0;t<this.mapping.buttons.length;t++)(n=this.mapping.buttonMeshNames[this.mapping.buttons[t]])?(r=o.getObjectByName(n))?(i={index:t,value:s(r,"VALUE"),pressed:s(r,"PRESSED"),unpressed:s(r,"UNPRESSED")}).value&&i.pressed&&i.unpressed?a.buttonMeshes[this.mapping.buttons[t]]=i:h("Missing button submesh under mesh with name: "+n+"(VALUE: "+!!i.value+", PRESSED: "+!!i.pressed+", UNPRESSED:"+!!i.unpressed+")"):h("Missing button mesh with name: "+n):u("Skipping unknown button at index: "+t+" with mapped name: "+this.mapping.buttons[t]);for(t=0;t<this.mapping.axisMeshNames.length;t++)(n=this.mapping.axisMeshNames[t])?(r=o.getObjectByName(n))?(i={index:t,value:s(r,"VALUE"),min:s(r,"MIN"),max:s(r,"MAX")}).value&&i.min&&i.max?a.axisMeshes[t]=i:h("Missing axis submesh under mesh with name: "+n+"(VALUE: "+!!i.value+", MIN: "+!!i.min+", MAX:"+!!i.max+")"):h("Missing axis mesh with name: "+n):u("Skipping unknown axis at index: "+t);this.calculateRayOriginFromMesh(o),this.setModelVisibility()}function s(e,t){for(var n=0,r=e.children.length;n<r;n++){var i=e.children[n];if(i&&i.name===t)return i}}u("Model load complete.")},calculateRayOriginFromMesh:function(){var e=new THREE.Quaternion;return function(t){var n;if(this.rayOrigin.origin.set(0,0,0),this.rayOrigin.direction.set(0,0,-1),this.rayOrigin.createdFromMesh=!0,n=t.getObjectByName(this.mapping.pointingPoseMeshName)){var r=t.parent;r&&(t.parent=null,t.updateMatrixWorld(!0),t.parent=r),n.getWorldPosition(this.rayOrigin.origin),n.getWorldQuaternion(e),this.rayOrigin.direction.applyQuaternion(e),r&&t.updateMatrixWorld(!0)}else u("Mesh does not contain pointing origin data, defaulting to none.");this.modelReady()}}(),lerpAxisTransform:function(){var e=new THREE.Quaternion;return function(t,n){var r=this.loadedMeshInfo.axisMeshes[t];if(r){var i=r.min,o=r.max,a=r.value,s=.5*n+.5;a.setRotationFromQuaternion(e.copy(i.quaternion).slerp(o.quaternion,s)),a.position.lerpVectors(i.position,o.position,s)}}}(),lerpButtonTransform:function(){var e=new THREE.Quaternion;return function(t,n){var r=this.loadedMeshInfo.buttonMeshes[t];if(r){var i=r.unpressed,o=r.pressed,a=r.value;a.setRotationFromQuaternion(e.copy(i.quaternion).slerp(o.quaternion,n)),a.position.lerpVectors(i.position,o.position,n)}}}(),modelReady:function(){this.el.emit("controllermodelready",{name:"windows-motion-controls",model:this.data.model,rayOrigin:this.rayOrigin})},onButtonChanged:function(e){var t=this.mapping.buttons[e.detail.id];t&&(this.loadedMeshInfo&&this.loadedMeshInfo.buttonMeshes&&this.lerpButtonTransform(t,e.detail.state.value),this.el.emit(t+"changed",e.detail.state))},onAxisMoved:function(e){var t=this.mapping.axisMeshNames.length;if(this.loadedMeshInfo&&this.loadedMeshInfo.axisMeshes)for(var n=0;n<t;n++)this.lerpAxisTransform(n,e.detail.axis[n]||0);s(this,this.mapping.axes,e)},setModelVisibility:function(e){var t=this.el.getObject3D("mesh");e=void 0!==e?e:this.modelVisible,this.modelVisible=e,t&&(t.visible=e)}})},{"../constants":123,"../core/component":131,"../utils/":205,"../utils/bind":199,"../utils/tracked-controls":214}],123:[function(e,t,n){t.exports={AFRAME_INJECTED:"aframe-injected",DEFAULT_CAMERA_HEIGHT:1.6,DEFAULT_HANDEDNESS:"right",keyboardevent:e("./keyboardevent")}},{"./keyboardevent":124}],124:[function(e,t,n){t.exports={KEYCODE_TO_CODE:{38:"ArrowUp",37:"ArrowLeft",40:"ArrowDown",39:"ArrowRight",87:"KeyW",65:"KeyA",83:"KeyS",68:"KeyD"}}},{}],125:[function(e,t,n){var r=e("./a-node"),i=e("../utils/bind"),o=e("../utils/debug"),a=e("./a-register-element").registerElement,s=e("../lib/three"),l=new s.FileLoader,c=o("core:a-assets:warn");function u(e){if(e.hasAttribute("autoplay")||"auto"===e.getAttribute("preload"))return new Promise((function(t,n){if(4===e.readyState)return t();if(e.error)return n();function r(){for(var n=0,r=0;r<e.buffered.length;r++)n+=e.buffered.end(r)-e.buffered.start(r);n>=e.duration&&("VIDEO"===e.tagName&&(s.Cache.files[e.getAttribute("src")]=e),t())}e.addEventListener("loadeddata",r,!1),e.addEventListener("progress",r,!1),e.addEventListener("error",n,!1)}))}function h(e){var t=d(e);return t.tagName&&"video"===t.tagName.toLowerCase()&&(t.setAttribute("playsinline",""),t.setAttribute("webkit-playsinline","")),t!==e&&(e.parentNode.appendChild(t),e.parentNode.removeChild(e)),t}function d(e){var t;if(e.hasAttribute("crossorigin"))return e;if(null!==(t=e.getAttribute("src"))){if(-1===t.indexOf("://"))return e;if(p(t)===window.location.host)return e}return c('Cross-origin element (e.g., <img>) was requested without `crossorigin` set. A-Frame will re-request the asset with `crossorigin` attribute set. Please set `crossorigin` on the element (e.g., <img crossorigin="anonymous">)',t),e.crossOrigin="anonymous",e.cloneNode(!0)}function p(e){var t=e.indexOf("://")>-1?e.split("/")[2]:e.split("/")[0];return t.substring(0,t.indexOf(":"))}function f(e){var t=m(e),n=t.lastIndexOf(".");return n>=0&&".glb"===t.slice(n,e.search(/\?|#|$/))?"arraybuffer":"text"}function m(e){var t=document.createElement("a");t.href=e;var n=t.search.replace(/^\?/,""),r=e.replace(n,"").replace("?","");return r.substring(r.lastIndexOf("/")+1)}t.exports=a("a-assets",{prototype:Object.create(r.prototype,{createdCallback:{value:function(){this.isAssets=!0,this.fileLoader=l,this.timeout=null}},attachedCallback:{value:function(){var e,t,n,r,o,a,l=this,d=[];if(!this.parentNode.isScene)throw new Error("<a-assets> must be a child of a <a-scene>.");for(o=this.querySelectorAll("img"),e=0;e<o.length;e++)r=h(o[e]),d.push(new Promise((function(t,n){s.Cache.files[o[e].getAttribute("src")]=r,r.onload=t,r.onerror=n})));for(n=this.querySelectorAll("audio, video"),e=0;e<n.length;e++)(t=h(n[e])).src||t.srcObject||c("Audio/video asset has neither `src` nor `srcObject` attributes."),d.push(u(t));Promise.all(d).then(i(this.load,this)),a=parseInt(this.getAttribute("timeout"),10)||3e3,this.timeout=setTimeout((function(){l.hasLoaded||(c("Asset loading timed out in ",a,"ms"),l.emit("timeout"),l.load())}),a)}},detachedCallback:{value:function(){this.timeout&&clearTimeout(this.timeout)}},load:{value:function(){r.prototype.load.call(this,null,(function(e){return e.isAssetItem&&e.hasAttribute("src")}))}}})}),a("a-asset-item",{prototype:Object.create(r.prototype,{createdCallback:{value:function(){this.data=null,this.isAssetItem=!0}},attachedCallback:{value:function(){var e=this,t=this.getAttribute("src");l.setResponseType(this.getAttribute("response-type")||f(t)),l.load(t,(function(t){e.data=t,setTimeout((function(){r.prototype.load.call(e)}))}),(function(t){e.emit("progress",{loadedBytes:t.loaded,totalBytes:t.total,xhr:t})}),(function(t){e.emit("error",{xhr:t})}))}}})}),t.exports.inferResponseType=f,t.exports.getFileNameFromURL=m},{"../lib/three":179,"../utils/bind":199,"../utils/debug":201,"./a-node":129,"./a-register-element":130}],126:[function(e,t,n){var r=e("../utils/debug"),i=e("./a-register-element").registerElement,o=r("core:cubemap:warn");t.exports=i("a-cubemap",{prototype:Object.create(window.HTMLElement.prototype,{attachedCallback:{value:function(){this.srcs=this.validate()},writable:window.debug},validate:{value:function(){var e,t=this.querySelectorAll("[src]"),n=[];if(6===t.length){for(e=0;e<t.length;e++)n.push(t[e].getAttribute("src"));return n}o("<a-cubemap> did not contain exactly six elements each with a `src` attribute.")},writable:window.debug}})})},{"../utils/debug":201,"./a-register-element":130}],127:[function(e,t,n){var r,i=e("./a-node"),o=e("./component").components,a=e("./a-register-element").registerElement,s=e("../lib/three"),l=e("../utils/"),c=l.debug("core:a-entity:debug"),u=l.debug("core:a-entity:warn"),h="__",d=["position","rotation","scale","visible"],p={once:!0},f=Object.create(i.prototype,{createdCallback:{value:function(){this.components={},this.initializingComponents={},this.componentsToUpdate={},this.isEntity=!0,this.isPlaying=!1,this.object3D=new s.Group,this.object3D.el=this,this.object3DMap={},this.parentEl=null,this.rotationObj={},this.states=[]}},attributeChangedCallback:{value:function(e,t,n){var r=this.components[e];r&&r.justInitialized&&""===n?delete r.justInitialized:(r||null!==n)&&this.setEntityAttribute(e,t,n)}},attachedCallback:{value:function(){var e,t=this.sceneEl,n=this;this.addToParent(),this.isScene||(t?!(e=t.querySelector("a-assets"))||e.hasLoaded?this.load():e.addEventListener("loaded",(function(){n.load()})):this.load())}},detachedCallback:{value:function(){var e;if(this.parentEl){for(e in this.components)this.removeComponent(e,!1);this.isScene||(this.removeFromParent(),i.prototype.detachedCallback.call(this),this.object3D.el=null)}}},getObject3D:{value:function(e){return this.object3DMap[e]}},setObject3D:{value:function(e,t){var n,r=this;if(!(t instanceof s.Object3D))throw new Error("`Entity.setObject3D` was called with an object that was not an instance of THREE.Object3D.");(n=this.getObject3D(e))&&this.object3D.remove(n),t.el=this,t.children.length&&t.traverse((function(e){e.el=r})),this.object3D.add(t),this.object3DMap[e]=t,this.emit("object3dset",{object:t,type:e})}},removeObject3D:{value:function(e){var t=this.getObject3D(e);t?(this.object3D.remove(t),delete this.object3DMap[e],this.emit("object3dremove",{type:e})):u("Tried to remove `Object3D` of type:",e,"which was not defined.")}},getOrCreateObject3D:{value:function(e,t){var n=this.getObject3D(e);return!n&&t&&(n=new t,this.setObject3D(e,n)),u("`getOrCreateObject3D` has been deprecated. Use `setObject3D()` and `object3dset` event instead."),n}},add:{value:function(e){if(!e.object3D)throw new Error("Trying to add an element that doesn't have an `object3D`");this.object3D.add(e.object3D),this.emit("child-attached",{el:e})}},addToParent:{value:function(){var e=this.parentEl=this.parentNode;e&&e.add&&!this.attachedToParent&&(e.add(this),this.attachedToParent=!0)}},removeFromParent:{value:function(){var e=this.parentEl;this.parentEl.remove(this),this.attachedToParent=!1,this.parentEl=null,e.emit("child-detached",{el:this})}},load:{value:function(){var e=this;!this.hasLoaded&&this.parentEl&&i.prototype.load.call(this,(function(){e.parentEl&&(e.updateComponents(),(e.isScene||e.parentEl.isPlaying)&&e.play())}))},writable:window.debug},remove:{value:function(e){e?this.object3D.remove(e.object3D):this.parentNode.removeChild(this)}},getChildEntities:{value:function(){for(var e=this.children,t=[],n=0;n<e.length;n++){var i=e[n];i instanceof r&&t.push(i)}return t}},initComponent:{value:function(e,t,n){var r,i,a,s;if(s=(a=l.split(e,h))[0],i=a.length>2?a.slice(1).join("__"):a[1],o[s]&&(m(this,e)||void 0!==t||n)&&!(e in this.components)){if(this.initComponentDependencies(s),i&&!o[s].multiple)throw new Error("Trying to initialize multiple components of type `"+s+"`. There can only be one component of this type per entity.");r=new o[s].Component(this,t,i),this.isPlaying&&r.play(),this.hasAttribute(e)||(r.justInitialized=!0,window.HTMLElement.prototype.setAttribute.call(this,e,"")),c("Component initialized: %s",e)}},writable:window.debug},initComponentDependencies:{value:function(e){var t,n,r=this;if(o[e]&&(t=o[e].dependencies))for(n=0;n<t.length;n++)r.initComponent(t[n],window.HTMLElement.prototype.getAttribute.call(r,t[n])||void 0,!0)}},removeComponent:{value:function(e,t){var n;(n=this.components[e])&&(n.initialized?(n.pause(),n.remove(),t&&(n.destroy(),delete this.components[e]),this.emit("componentremoved",n.evtDetail,!1)):this.addEventListener("componentinitialized",(function n(r){r.detail.name===e&&(this.removeComponent(e,t),this.removeEventListener("componentinitialized",n))})))},writable:window.debug},updateComponents:{value:function(){var e,t,n,r,i=this.componentsToUpdate;if(this.hasLoaded){for(n=0;n<this.mixinEls.length;n++)for(r in this.mixinEls[n].componentCache)y(r)&&(i[r]=!0);if(this.getExtraComponents)for(r in t=this.getExtraComponents())y(r)&&(i[r]=!0);for(n=0;n<this.attributes.length;++n)r=this.attributes[n].name,-1===d.indexOf(r)&&y(r)&&(i[r]=!0);for(n=0;n<d.length;n++)r=d[n],this.hasAttribute(r)&&this.updateComponent(r,this.getDOMAttribute(r));for(r in i)e=g(this.getDOMAttribute(r),t&&t[r]),this.updateComponent(r,e),delete i[r]}},writable:window.debug},updateComponent:{value:function(e,t,n){var r=this.components[e];if(r)return null!==t||m(this,e)?void r.updateProperties(t,n):void this.removeComponent(e,!0);this.initComponent(e,t,!1)}},removeAttribute:{value:function(e,t){var n=this.components[e];n&&void 0===t&&this.removeComponent(e,!0),n&&void 0!==t?n.resetProperty(t):("mixin"===e&&this.mixinUpdate(""),window.HTMLElement.prototype.removeAttribute.call(this,e))}},play:{value:function(){var e,t,n;if(!this.isPlaying&&this.hasLoaded){for(n in this.isPlaying=!0,this.components)this.components[n].play();for(e=this.getChildEntities(),t=0;t<e.length;t++)e[t].play();this.emit("play")}},writable:!0},pause:{value:function(){var e,t,n;if(this.isPlaying){for(n in this.isPlaying=!1,this.components)this.components[n].pause();for(e=this.getChildEntities(),t=0;t<e.length;t++)e[t].pause();this.emit("pause")}},writable:!0},setEntityAttribute:{value:function(e,t,n){if(o[e]||this.components[e])this.updateComponent(e,n);else if("mixin"===e){if(n===this.computedMixinStr)return;this.mixinUpdate(n,t)}}},mixinUpdate:{value:function(){var e=[];return function(t,n){var r,i,o,a,s=this;if(this.hasLoaded){for(n=n||this.getAttribute("mixin"),o=this.updateMixins(t,n),e.length=0,a=0;a<this.mixinEls.length;a++)for(r in this.mixinEls[a].componentCache)-1===e.indexOf(r)&&(this.components[r]?this.components[r].handleMixinUpdate():this.initComponent(r,null),e.push(r));for(a=0;a<o.oldMixinIds.length;a++)if(i=document.getElementById(o.oldMixinIds[a]))for(r in i.componentCache)-1===e.indexOf(r)&&this.components[r]&&(this.getDOMAttribute(r)?this.components[r].handleMixinUpdate():this.removeComponent(r,!0))}else this.addEventListener("loaded",(function(){s.mixinUpdate(t,n)}),p)}}()},setAttribute:{value:function(){var e={};return function(t,n,r){var a,s,c,u,d;if(c=(u=t.indexOf(h))>0?t.substring(0,u):t,!o[c])return"mixin"===t&&this.mixinUpdate(n),void i.prototype.setAttribute.call(this,t,n);if(!this.components[t]&&this.hasAttribute(t)&&this.updateComponent(t,window.HTMLElement.prototype.getAttribute.call(this,t)),"undefined"!==typeof r&&"string"===typeof n&&n.length>0&&"string"===typeof l.styleParser.parse(n)){for(d in e)delete e[d];(a=e)[n]=r,s=!1}else a=n,s=!0===r;this.updateComponent(t,a,s),this.sceneEl&&this.sceneEl.getAttribute("debug")&&this.components[t].flushToDOM()}}(),writable:window.debug},flushToDOM:{value:function(e){var t,n,r,i=this.components,o=this.children;for(r in i)i[r].flushToDOM();if(e)for(n=0;n<o.length;++n)(t=o[n]).flushToDOM&&t.flushToDOM(e)}},getAttribute:{value:function(e){var t;return"position"===e?this.object3D.position:"rotation"===e?b(this):"scale"===e?this.object3D.scale:"visible"===e?this.object3D.visible:(t=this.components[e])?t.data:window.HTMLElement.prototype.getAttribute.call(this,e)},writable:window.debug},getDOMAttribute:{value:function(e){var t=this.components[e];return t?t.attrValue:window.HTMLElement.prototype.getAttribute.call(this,e)},writable:window.debug},addState:{value:function(e){this.is(e)||(this.states.push(e),this.emit("stateadded",e))}},removeState:{value:function(e){var t=this.states.indexOf(e);-1!==t&&(this.states.splice(t,1),this.emit("stateremoved",e))}},is:{value:function(e){return-1!==this.states.indexOf(e)}},inspect:{value:function(){this.sceneEl.components.inspector.openInspector(this)}},destroy:{value:function(){var e;if(this.parentNode)u("Entity can only be destroyed if detached from scenegraph.");else for(e in this.components)this.components[e].destroy()}}});function m(e,t){return!(!e.components[t]||!e.components[t].attrValue)||v(t,e.mixinEls)}function v(e,t){var n,r=!1;for(n=0;n<t.length&&!(r=t[n].hasAttribute(e));++n);return r}function g(e,t){return t?t.constructor===Object?l.extend(t,l.styleParser.parse(e||{})):e||t:e}function y(e){return-1!==e.indexOf(h)&&(e=l.split(e,h)[0]),!!o[e]}function b(e){var t=s.Math.radToDeg,n=e.object3D.rotation,r=e.rotationObj;return r.x=t(n.x),r.y=t(n.y),r.z=t(n.z),r}r=a("a-entity",{prototype:f}),t.exports=r},{"../lib/three":179,"../utils/":205,"./a-node":129,"./a-register-element":130,"./component":131}],128:[function(e,t,n){var r=e("./a-node"),i=e("./a-register-element").registerElement,o=e("./component").components,a=e("../utils"),s="__";t.exports=i("a-mixin",{prototype:Object.create(r.prototype,{createdCallback:{value:function(){this.componentCache={},this.id=this.getAttribute("id"),this.isMixin=!0}},attributeChangedCallback:{value:function(e,t,n){this.cacheAttribute(e,n),this.updateEntities()}},attachedCallback:{value:function(){this.sceneEl=this.closestScene(),this.cacheAttributes(),this.updateEntities(),this.load()}},setAttribute:{value:function(e,t){window.HTMLElement.prototype.setAttribute.call(this,e,t),this.cacheAttribute(e,t)}},cacheAttribute:{value:function(e,t){var n,r;r=a.split(e,s)[0],(n=o[r])&&(void 0===t&&(t=window.HTMLElement.prototype.getAttribute.call(this,e)),this.componentCache[e]=n.parseAttrValueForCache(t))}},getAttribute:{value:function(e){return this.componentCache[e]||window.HTMLElement.prototype.getAttribute.call(this,e)}},cacheAttributes:{value:function(){var e,t,n=this.attributes;for(t=0;t<n.length;t++)e=n[t].name,this.cacheAttribute(e)}},updateEntities:{value:function(){var e,t,n;if(this.sceneEl)for(t=this.sceneEl.querySelectorAll("[mixin~="+this.id+"]"),n=0;n<t.length;n++)(e=t[n]).hasLoaded&&!e.isMixin&&e.mixinUpdate(this.id)}}})})},{"../utils":205,"./a-node":129,"./a-register-element":130,"./component":131}],129:[function(e,t,n){var r=e("./a-register-element").registerElement,i=e("./a-register-element").isNode,o=e("../utils/"),a=o.debug("core:a-node:warn"),s=o.debug("core:a-node:error");t.exports=r("a-node",{prototype:Object.create(window.HTMLElement.prototype,{createdCallback:{value:function(){this.computedMixinStr="",this.hasLoaded=!1,this.isNode=!0,this.mixinEls=[]},writable:window.debug},attachedCallback:{value:function(){var e;this.sceneEl=this.closestScene(),this.sceneEl||a("You are attempting to attach <"+this.tagName+"> outside of an A-Frame scene. Append this element to `<a-scene>` instead."),this.hasLoaded=!1,this.emit("nodeready",void 0,!1),this.isMixin||(e=this.getAttribute("mixin"))&&this.updateMixins(e)},writable:window.debug},attributeChangedCallback:{value:function(e,t,n){n!==this.computedMixinStr&&("mixin"!==e||this.isMixin||this.updateMixins(n,t))}},closestScene:{value:function(){for(var e=this;e&&!e.isScene;)e=e.parentElement;return e}},closest:{value:function(e){for(var t=this.matches||this.mozMatchesSelector||this.msMatchesSelector||this.oMatchesSelector||this.webkitMatchesSelector,n=this;n&&!t.call(n,e);)n=n.parentElement;return n}},detachedCallback:{value:function(){this.hasLoaded=!1}},load:{value:function(e,t){var n,r=this;this.hasLoaded||(t=t||i,n=this.getChildren().filter(t).map((function(e){return new Promise((function(t){if(e.hasLoaded)return t();e.addEventListener("loaded",t)}))})),Promise.all(n).then((function(){r.hasLoaded=!0,e&&e(),r.emit("loaded",void 0,!1)})).catch((function(e){s("Failure loading node: ",e)})))},writable:!0},getChildren:{value:function(){return Array.prototype.slice.call(this.children,0)}},updateMixins:{value:function(){var e=[],t=[],n={};return function(r,i){var a,s,l;for(e.length=0,t.length=0,s=r?o.split(r.trim(),/\s+/):e,l=i?o.split(i.trim(),/\s+/):t,n.newMixinIds=s,n.oldMixinIds=l,a=0;a<l.length;a++)-1===s.indexOf(l[a])&&this.unregisterMixin(l[a]);for(this.computedMixinStr="",this.mixinEls.length=0,a=0;a<s.length;a++)this.registerMixin(document.getElementById(s[a]));return this.computedMixinStr&&(this.computedMixinStr=this.computedMixinStr.trim(),window.HTMLElement.prototype.setAttribute.call(this,"mixin",this.computedMixinStr)),n}}()},registerMixin:{value:function(e){var t,n,r;if(e){if(r=e.getAttribute("mixin"))for(t=o.split(r.trim(),/\s+/),n=0;n<t.length;n++)this.registerMixin(document.getElementById(t[n]));this.computedMixinStr=this.computedMixinStr+" "+e.id,this.mixinEls.push(e)}}},setAttribute:{value:function(e,t){"mixin"===e&&this.updateMixins(t),window.HTMLElement.prototype.setAttribute.call(this,e,t)}},unregisterMixin:{value:function(e){var t,n=this.mixinEls;for(t=0;t<n.length;++t)if(e===n[t].id){n.splice(t,1);break}}},emit:{value:function(){var e={};return function(t,n,r,i){void 0===r&&(r=!0),e.bubbles=!!r,e.detail=n,i&&(e=o.extend({},i,e)),this.dispatchEvent(new CustomEvent(t,e))}}(),writable:window.debug}})})},{"../utils/":205,"./a-register-element":130}],130:[function(e,t,n){var r,i;e("document-register-element");var o=t.exports.knownTags={};function a(e){o[e.toLowerCase()]=!0}function s(e){var t={};return c(t,["attachedCallback","attributeChangedCallback","createdCallback","detachedCallback"],e,r.prototype),h(e,t),t}function l(e){var t={},n=["attachedCallback","attributeChangedCallback","createdCallback","detachedCallback"];return c(t,["attachedCallback","attributeChangedCallback","createdCallback","detachedCallback"],e,r.prototype),c(t,n,e,i.prototype),h(e,t),t}function c(e,t,n,r){t.forEach((function(t){u(e,t,n,r)}))}function u(e,t,n,r){var i=n[t],o=r[t];i&&o&&i!==o&&(e[t]={value:function(){return o.apply(this,arguments),i.apply(this,arguments)},writable:window.debug})}function h(e,t){Object.getOwnPropertyNames(e).forEach((function(n){var r;t[n]||(r=Object.getOwnPropertyDescriptor(e,n),t[n]={value:e[n],writable:r.writable})}))}t.exports.isNode=function(e){return e.tagName.toLowerCase()in o||e.isNode},t.exports.registerElement=function(e,t){var n=Object.getPrototypeOf(t.prototype),o=t,c=r&&n===r.prototype,u=i&&n===i.prototype;return(c||u)&&a(e),c&&(o=s(t.prototype),o={prototype:Object.create(n,o)}),u&&(o=l(t.prototype),o={prototype:Object.create(n,o)}),Object.getOwnPropertyNames(o.prototype).forEach((function(e){var t=o.prototype[e];"function"===typeof t&&(t.displayName=e)})),document.registerElement(e,o)},t.exports.wrapMethods=c,r=e("./a-node"),i=e("./a-entity")},{"./a-entity":127,"./a-node":129,"document-register-element":12}],131:[function(e,t,n){var r=e("./schema"),i=e("./scene/scenes"),o=e("./system"),a=e("../utils/"),s=t.exports.components={},l=r.parseProperties,c=r.parseProperty,u=r.process,h=r.isSingleProperty,d=r.stringifyProperties,p=r.stringifyProperty,f=a.styleParser,m=a.debug("core:component:warn"),v=document.currentScript,g=new RegExp("[A-Z]+"),y={},b=t.exports.Component=function(e,t,n){var r=this;this.el=e,this.id=n,this.attrName=this.name+(n?"__"+n:""),this.evtDetail={id:this.id,name:this.name},this.initialized=!1,this.isSingleProperty=h(this.schema),this.isSinglePropertyObject=this.isSingleProperty&&S(c(void 0,this.schema))&&!(this.schema.default instanceof window.HTMLElement),this.isObjectBased=!this.isSingleProperty||this.isSinglePropertyObject,this.el.components[this.attrName]=this,this.objectPool=y[this.name];const i=this.events;this.events={},A(this,i),this.attrValue=void 0,this.isObjectBased?(this.nextData=this.objectPool.use(),a.objectPool.removeUnusedKeys(this.nextData,this.schema),this.oldData=this.objectPool.use(),a.objectPool.removeUnusedKeys(this.oldData,this.schema),this.previousOldData=this.objectPool.use(),a.objectPool.removeUnusedKeys(this.previousOldData,this.schema),this.parsingAttrValue=this.objectPool.use(),a.objectPool.removeUnusedKeys(this.parsingAttrValue,this.schema)):(this.nextData=void 0,this.oldData=void 0,this.previousOldData=void 0,this.parsingAttrValue=void 0),this.throttledEmitComponentChanged=a.throttle((function(){e.emit("componentchanged",r.evtDetail,!1)}),200),this.updateProperties(t)};function A(e,t){var n;for(n in t)e.events[n]=t[n].bind(e)}if(b.prototype={schema:{},init:function(){},events:{},update:function(e){},updateSchema:void 0,tick:void 0,tock:void 0,play:function(){},pause:function(){},remove:function(){},parse:function(e,t){var n=this.schema;return this.isSingleProperty?c(e,n):l(f.parse(e),n,!0,this.name,t)},stringify:function(e){var t=this.schema;return"string"===typeof e?e:this.isSingleProperty?p(e,t):(e=d(e,t),f.stringify(e))},updateCachedAttrValue:function(e,t){var n,r,i;if(void 0!==e){if(null===e)return this.isObjectBased&&this.attrValue&&this.objectPool.recycle(this.attrValue),void(this.attrValue=void 0);if(e instanceof Object&&!(e instanceof window.HTMLElement)?(r=this.objectPool.use(),n=a.extend(r,e)):n=this.parseAttrValueForCache(e),this.isObjectBased&&!t&&this.attrValue)for(i in this.attrValue)void 0===n[i]&&(n[i]=this.attrValue[i]);this.isObjectBased&&!this.attrValue&&(this.attrValue=this.objectPool.use()),a.objectPool.clearObject(this.attrValue),this.attrValue=E(this.attrValue,n,this.isObjectBased),a.objectPool.clearObject(r)}},parseAttrValueForCache:function(e){var t;return"string"!==typeof e?e:(this.isSingleProperty?"string"===typeof(t=this.schema.parse(e))&&(t=e):(a.objectPool.clearObject(this.parsingAttrValue),t=f.parse(e,this.parsingAttrValue)),t)},flushToDOM:function(e){var t=e?this.data:this.attrValue;null!==t&&void 0!==t&&window.HTMLElement.prototype.setAttribute.call(this.el,this.attrName,this.stringify(t))},updateProperties:function(e,t){this.el.hasLoaded?(null!==e&&(e=this.parseAttrValueForCache(e)),this.updateCachedAttrValue(e,t),this.initialized?(this.updateComponent(e,t),this.callUpdateHandler()):this.initComponent()):this.updateCachedAttrValue(e)},initComponent:function(){var e,t=this.el;this.updateSchema&&this.updateSchema(this.buildData(this.attrValue,!1,!0)),this.data=this.buildData(this.attrValue),t.initializingComponents[this.name]||(t.initializingComponents[this.name]=!0,this.init(),this.initialized=!0,delete t.initializingComponents[this.name],this.oldData=E(this.oldData,this.data,this.isObjectBased),e=this.isObjectBased?this.objectPool.use():void 0,this.update(e),this.isObjectBased&&this.objectPool.recycle(e),t.isPlaying&&this.play(),t.emit("componentinitialized",this.evtDetail,!1))},updateComponent:function(e,t){var n,r;if(t)return this.updateSchema&&this.updateSchema(this.buildData(this.attrValue,!0,!0)),void(this.data=this.buildData(this.attrValue,!0,!1));if(this.isSingleProperty)return this.isObjectBased&&c(e,this.schema),void(this.data=e);if(l(e,this.schema,!0,this.name),this.schemaChangeKeys.length)for(n in e)if(this.schema[n].schemaChange){r=!0;break}if(r)return this.updateSchema&&this.updateSchema(this.buildData(this.attrValue,!0,!0)),void(this.data=this.buildData(this.attrValue,!0,!1));for(n in e)void 0!==e[n]&&(this.data[n]=e[n])},callUpdateHandler:function(){var e;this.previousOldData instanceof Object&&a.objectPool.clearObject(this.previousOldData),this.isObjectBased?x(this.previousOldData,this.oldData):this.previousOldData=this.oldData,e=!a.deepEqual(this.oldData,this.data),(this.isPositionRotationScale||e)&&(this.oldData instanceof Object&&a.objectPool.clearObject(this.oldData),this.oldData=E(this.oldData,this.data,this.isObjectBased),this.update(this.previousOldData),this.throttledEmitComponentChanged())},handleMixinUpdate:function(){this.data=this.buildData(this.attrValue),this.callUpdateHandler()},resetProperty:function(e){if(this.isObjectBased){if(!(e in this.attrValue))return;delete this.attrValue[e],this.data[e]=this.schema[e].default}else this.attrValue=this.schema.default,this.data=this.schema.default;this.updateProperties(this.attrValue)},extendSchema:function(e){var t;t=a.extend({},s[this.name].schema),a.extend(t,e),this.schema=u(t),this.el.emit("schemachanged",this.evtDetail)},buildData:function(e,t,n){var r,i,o,s,u,h,d,p=this.nextData,f=this.schema,m=this.el.mixinEls;if(r=e&&e.constructor===Array?e.length:void 0!==e&&null!==e,this.isObjectBased&&a.objectPool.clearObject(p),this.isSingleProperty)i=this.isObjectBased?x(p,f.default):C(f.default)?a.clone(f.default):f.default;else for(s in i=(d=!t&&this.attrValue)instanceof Object?x(p,d):p,f)o=f[s].default,void 0===i[s]&&(i[s]=C(o)?a.clone(o):o);for(h=0;h<m.length;h++)(u=m[h].getAttribute(this.attrName))&&(i=E(i,u,this.isObjectBased));if(r){if(this.isSingleProperty)return S(e)?(x(this.parsingAttrValue,e),c(this.parsingAttrValue,f)):c(e,f);i=E(i,e,this.isObjectBased)}else if(this.isSingleProperty)return c(i,f);return l(i,f,void 0,this.name,n)},eventsAttach:function(){var e;for(e in this.eventsDetach(),this.events)this.el.addEventListener(e,this.events[e])},eventsDetach:function(){var e;for(e in this.events)this.el.removeEventListener(e,this.events[e])},destroy:function(){this.objectPool.recycle(this.attrValue),this.objectPool.recycle(this.oldData),this.objectPool.recycle(this.parsingAttrValue),this.attrValue=this.oldData=this.parsingAttrValue=void 0}},window.debug)var w=t.exports.registrationOrderWarnings={};function x(e,t){var n,r;for(r in t)void 0!==t[r]&&(n=t[r],e[r]=C(n)?a.clone(n):n);return e}function E(e,t,n){var r;if(n&&t.constructor===Object){for(r in t)void 0!==t[r]&&(t[r]&&t[r].constructor===Object?e[r]=a.clone(t[r]):e[r]=t[r]);return e}return t}function M(e){return e.tick||e.tock}function _(e){return function(){var t=this.el.sceneEl;this.isPlaying&&(e.call(this),this.isPlaying=!1,this.eventsDetach(),M(this)&&t.removeBehavior(this))}}function T(e){return function(){var t=this.el.sceneEl,n=this.el.isPlaying&&!this.isPlaying;this.initialized&&n&&(e.call(this),this.isPlaying=!0,this.eventsAttach(),M(this)&&t.addBehavior(this))}}function S(e){return e&&e.constructor===Object&&!(e instanceof window.HTMLElement)}function C(e){return e&&(e.constructor===Object||e.constructor===Array)&&!(e instanceof window.HTMLElement)}t.exports.registerComponent=function(e,t){var n,r,l,c,d={};if(document.currentScript&&document.currentScript!==v&&i.forEach((function(t){t.hasLoaded||document.currentScript.compareDocumentPosition(t)!==Node.DOCUMENT_POSITION_FOLLOWING&&(m("The component `"+e+"` was registered in a <script> tag after the scene. Component <script> tags in an HTML file should be declared *before* the scene such that the component is available to entities during scene initialization."),window.debug&&(w[e]=!0))})),!0===g.test(e)&&m("The component name `"+e+"` contains uppercase characters, but HTML will ignore the capitalization of attribute names. Change the name to be lowercase: `"+e.toLowerCase()+"`"),-1!==e.indexOf("__"))throw new Error("The component name `"+e+"` is not allowed. The sequence __ (double underscore) is reserved to specify an id for multiple components of the same type");if(Object.keys(t).forEach((function(e){d[e]={value:t[e],writable:!0}})),s[e])throw new Error("The component `"+e+"` has been already registered. Check that you are not loading two versions of the same component or two different components of the same name.");if((n=function(e,t,n){b.call(this,e,t,n)}).prototype=Object.create(b.prototype,d),n.prototype.name=e,n.prototype.isPositionRotationScale="position"===e||"rotation"===e||"scale"===e,n.prototype.constructor=n,n.prototype.system=o&&o.systems[e],n.prototype.play=T(n.prototype.play),n.prototype.pause=_(n.prototype.pause),l=a.extend(u(n.prototype.schema,n.prototype.name)),!(c=h(n.prototype.schema)))for(r in n.prototype.schemaChangeKeys=[],l)l[r].schemaChange&&n.prototype.schemaChangeKeys.push(r);return y[e]=a.objectPool.createPool(),s[e]={Component:n,dependencies:n.prototype.dependencies,isSingleProp:c,multiple:n.prototype.multiple,name:e,parse:n.prototype.parse,parseAttrValueForCache:n.prototype.parseAttrValueForCache,schema:l,stringify:n.prototype.stringify,type:n.prototype.type},n}},{"../utils/":205,"./scene/scenes":138,"./schema":140,"./system":142}],132:[function(e,t,n){var r=e("./schema").process,i=t.exports.geometries={},o=t.exports.geometryNames=[],a=e("../lib/three"),s=t.exports.Geometry=function(){};s.prototype={schema:{},init:function(e){return this.geometry=new a.BufferGeometry,this.geometry},update:function(e){}},t.exports.registerGeometry=function(e,t){var n,a={};if(Object.keys(t).forEach((function(e){a[e]={value:t[e],writable:!0}})),i[e])throw new Error("The geometry `"+e+"` has been already registered");return(n=function(){s.call(this)}).prototype=Object.create(s.prototype,a),n.prototype.name=e,n.prototype.constructor=n,i[e]={Geometry:n,schema:r(n.prototype.schema)},o.push(e),n}},{"../lib/three":179,"./schema":140}],133:[function(e,t,n){var r=e("../utils/coordinates"),i=e("debug"),o=i("core:propertyTypes:warn"),a=i("core:propertyTypes:warn"),s=t.exports.propertyTypes={},l=/[,> .[\]:]/,c=/\url\((.+)\)/;function u(e,t,n,r){"type"in s?o("Property type "+e+" is already registered."):s[e]={default:t,parse:n||f,stringify:r||m}}function h(e){return Array.isArray(e)?e:e&&"string"===typeof e?e.split(",").map(t):[];function t(e){return e.trim()}}function d(e){return e.join(", ")}function p(e){var t,n;return"string"!==typeof e?e:(n=e.match(c))?n[1]:"#"===e.charAt(0)?(t=document.getElementById(e.substring(1)))?"CANVAS"===t.tagName||"VIDEO"===t.tagName||"IMG"===t.tagName?t:t.getAttribute("src"):void a('"'+e+'" asset not found.'):e}function f(e){return e}function m(e){return null===e?"null":e.toString()}function v(e){return"false"!==e&&!1!==e}function g(e){return parseInt(e,10)}function y(e){return parseFloat(e,10)}function b(e){return e?"string"!==typeof e?e:"#"!==e[0]||l.test(e)?document.querySelector(e):document.getElementById(e.substring(1)):null}function A(e){return e?"string"!==typeof e?e:Array.prototype.slice.call(document.querySelectorAll(e),0):null}function w(e){return e.getAttribute?"#"+e.getAttribute("id"):m(e)}function x(e){return e instanceof Array?e.map((function(e){return"#"+e.getAttribute("id")})).join(", "):m(e)}function E(e){return a("`src` property type is deprecated. Use `asset` instead."),p(e)}function M(e){return r.parse(e,this.default)}function _(e,t){return("audio"!==e||"string"===typeof t)&&!("array"===e&&!Array.isArray(t))&&("asset"!==e||"string"===typeof t)&&("boolean"!==e||"boolean"===typeof t)&&("color"!==e||"string"===typeof t)&&("int"!==e||"number"===typeof t)&&("number"!==e||"number"===typeof t)&&("map"!==e||"string"===typeof t)&&("model"!==e||"string"===typeof t)&&("selector"!==e||"string"===typeof t||null===t)&&("selectorAll"!==e||"string"===typeof t||null===t)&&("src"!==e||"string"===typeof t)&&("string"!==e||"string"===typeof t)&&("time"!==e||"number"===typeof t)&&("vec2"===e?T(t,2):"vec3"===e?T(t,3):"vec4"!==e||T(t,4))}function T(e,t){if(null===e)return!0;if("object"!==typeof e)return!1;if(Object.keys(e).length!==t)return!1;var n=e.x,r=e.y,i=e.z,o=e.w;return"number"===typeof n&&"number"===typeof r&&!(t>2&&"number"!==typeof i)&&!(t>3&&"number"!==typeof o)}u("audio","",p),u("array",[],h,d),u("asset","",p),u("boolean",!1,v),u("color","#FFF",f,m),u("int",0,g),u("number",0,y),u("map","",p),u("model","",p),u("selector",null,b,w),u("selectorAll",null,A,x),u("src","",E),u("string","",f,m),u("time",0,g),u("vec2",{x:0,y:0},M,r.stringify),u("vec3",{x:0,y:0,z:0},M,r.stringify),u("vec4",{x:0,y:0,z:0,w:1},M,r.stringify),t.exports.registerPropertyType=u,t.exports.isValidDefaultValue=_,t.exports.isValidDefaultCoordinate=T},{"../utils/coordinates":200,debug:8}],134:[function(e,t,n){var r=e("./metaTags").inject,i=e("./wakelock"),o=e("./loadingScreen"),a=e("../a-register-element"),s=e("./scenes"),l=e("../system").systems,c=e("../../lib/three"),u=e("../../utils/"),h=e("../a-entity"),d=e("../a-node"),p=e("./postMessage"),f=u.bind,m=u.device.isIOS(),v=u.device.isMobile(),g=u.device.isWebXRAvailable,y=a.registerElement,b=u.debug("core:a-scene:warn");function A(e,t,n,r){return e.parentElement?t?{height:e.parentElement.offsetHeight,width:e.parentElement.offsetWidth}:w(n,r):{height:0,width:0}}function w(e,t){var n,r,i=window.devicePixelRatio;return r={height:document.body.offsetHeight,width:document.body.offsetWidth},!e||t||-1===e.width&&-1===e.height||r.width*i<e.width&&r.height*i<e.height||(n=r.width/r.height,r.width*i>e.width&&-1!==e.width&&(r.width=Math.round(e.width/i),r.height=Math.round(e.width/n/i)),r.height*i>e.height&&-1!==e.height&&(r.height=Math.round(e.height/i),r.width=Math.round(e.height*n/i))),r}function x(e){(e.requestFullscreen||e.webkitRequestFullscreen||e.mozRequestFullScreen||e.msRequestFullscreen).apply(e,[{navigationUI:"hide"}])}function E(){(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement)&&(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())}function M(e){var t;function n(){document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||e.exitVR(),document.activeElement.blur(),document.body.focus()}(t=document.createElement("canvas")).classList.add("a-canvas"),t.dataset.aframeCanvas=!0,e.appendChild(t),document.addEventListener("fullscreenchange",n),document.addEventListener("mozfullscreenchange",n),document.addEventListener("webkitfullscreenchange",n),document.addEventListener("MSFullscreenChange",n),t.addEventListener("touchmove",(function(e){e.preventDefault()})),e.canvas=t,e.emit("render-target-loaded",{target:t}),setTimeout(f(e.resize,e),0)}m&&e("../../utils/ios-orientationchange-blank-bug"),t.exports.AScene=y("a-scene",{prototype:Object.create(h.prototype,{createdCallback:{value:function(){this.clock=new c.Clock,this.isIOS=m,this.isMobile=v,this.hasWebXR=g,this.isAR=!1,this.isScene=!0,this.object3D=new c.Scene;var e=this;this.object3D.onAfterRender=function(t,n,r){e.isPlaying&&e.tock(e.time,e.delta,r)},this.resize=f(this.resize,this),this.render=f(this.render,this),this.systems={},this.systemNames=[],this.time=this.delta=0,this.behaviors={tick:[],tock:[]},this.hasLoaded=!1,this.isPlaying=!1,this.originalHTML=this.innerHTML,this.setAttribute("inspector",""),this.setAttribute("keyboard-shortcuts",""),this.setAttribute("screenshot",""),this.setAttribute("vr-mode-ui",""),this.setAttribute("device-orientation-permission-ui","")}},addFullScreenStyles:{value:function(){document.documentElement.classList.add("a-fullscreen")}},removeFullScreenStyles:{value:function(){document.documentElement.classList.remove("a-fullscreen")}},attachedCallback:{value:function(){var e=this,t=this.hasAttribute("embedded");M(this),this.setupRenderer(),o.setup(this,A),this.resize(),t||this.addFullScreenStyles(),p(this),r(this),i(this),this.onVRPresentChangeBound=f(this.onVRPresentChange,this),window.addEventListener("vrdisplaypresentchange",this.onVRPresentChangeBound),this.enterVRBound=function(){e.enterVR()},this.exitVRBound=function(){e.exitVR()},this.exitVRTrueBound=function(){e.exitVR(!0)},this.pointerRestrictedBound=function(){e.pointerRestricted()},this.pointerUnrestrictedBound=function(){e.pointerUnrestricted()},g||(window.addEventListener("vrdisplaydeactivate",this.exitVRBound),window.addEventListener("vrdisplaydisconnect",this.exitVRTrueBound),window.addEventListener("vrdisplaypointerrestricted",this.pointerRestrictedBound),window.addEventListener("vrdisplaypointerunrestricted",this.pointerUnrestrictedBound)),window.addEventListener("sessionend",this.resize),this.addEventListener("cameraready",(function(){e.attachedCallbackPostCamera()})),this.initSystems(),this.hasWebXR&&navigator.xr&&navigator.xr.addEventListener&&navigator.xr.addEventListener("sessiongranted",(function(){e.enterVR()}))}},attachedCallbackPostCamera:{value:function(){var e,t=this;window.addEventListener("load",e),window.addEventListener("resize",(function(){t.isIOS?setTimeout(t.resize,100):t.resize()})),this.play(),s.push(this)},writable:window.debug},initSystems:{value:function(){var e;for(e in this.initSystem("camera"),l)"camera"!==e&&this.initSystem(e)}},initSystem:{value:function(e){this.systems[e]||(this.systems[e]=new l[e](this),this.systemNames.push(e))}},detachedCallback:{value:function(){var e=s.indexOf(this);s.splice(e,1),window.removeEventListener("vrdisplaypresentchange",this.onVRPresentChangeBound),window.removeEventListener("vrdisplayactivate",this.enterVRBound),window.removeEventListener("vrdisplaydeactivate",this.exitVRBound),window.removeEventListener("vrdisplayconnect",this.enterVRBound),window.removeEventListener("vrdisplaydisconnect",this.exitVRTrueBound),window.removeEventListener("vrdisplaypointerrestricted",this.pointerRestrictedBound),window.removeEventListener("vrdisplaypointerunrestricted",this.pointerUnrestrictedBound),window.removeEventListener("sessionend",this.resize),this.renderer.xr.dispose()}},addBehavior:{value:function(e){var t,n,r=this.behaviors;for(n in r)e[n]&&-1===(t=this.behaviors[n]).indexOf(e)&&t.push(e)}},getPointerLockElement:{value:function(){return document.pointerLockElement},writable:window.debug},checkHeadsetConnected:{value:u.device.checkHeadsetConnected,writable:window.debug},enterAR:{value:function(){var e;if(!this.hasWebXR)throw e="Failed to enter AR mode, WebXR not supported.",new Error(e);if(!u.device.checkARSupport())throw e="Failed to enter AR, WebXR immersive-ar mode not supported in your browser or device.",new Error(e);return this.enterVR(!0)}},enterVR:{value:function(e){var t,n,r=this,i=r.renderer.xr;if(this.is("vr-mode"))return Promise.resolve("Already in VR.");if(this.checkHeadsetConnected()||this.isMobile){if(i.enabled=!0,this.hasWebXR){this.xrSession&&this.xrSession.removeEventListener("end",this.exitVRBound);var o=this.sceneEl.systems.webxr.sessionReferenceSpaceType;i.setReferenceSpaceType(o);var a=e?"immersive-ar":"immersive-vr";return n=this.sceneEl.systems.webxr.sessionConfiguration,new Promise((function(e,t){navigator.xr.requestSession(a,n).then((function(t){r.xrSession=t,i.layersEnabled=-1!==n.requiredFeatures.indexOf("layers"),i.setSession(t),t.addEventListener("end",r.exitVRBound),c(e)}),(function(e){throw new Error("Failed to enter "+("immersive-ar"===a?"AR":"VR")+" mode (`requestSession`) "+e)}))}))}if(t=u.device.getVRDisplay(),i.setDevice(t),t.isPresenting&&!window.hasNativeWebVRImplementation)return c(),Promise.resolve();var s=this.getAttribute("renderer"),l={highRefreshRate:s.highRefreshRate,foveationLevel:s.foveationLevel};return t.requestPresent([{source:this.canvas,attributes:l}]).then(c,h)}return c(),Promise.resolve();function c(t){var n;window.hasNativeWebVRImplementation&&!window.hasNativeWebXRImplementation&&(n=new CustomEvent("vrdisplaypresentchange",{detail:{display:u.device.getVRDisplay()}}),window.dispatchEvent(n)),e?r.addState("ar-mode"):r.addState("vr-mode"),r.emit("enter-vr",{target:r}),!g&&r.isMobile&&screen.orientation&&screen.orientation.lock&&screen.orientation.lock("landscape"),r.addFullScreenStyles(),r.isMobile||r.checkHeadsetConnected()||x(r.canvas),r.renderer.setAnimationLoop(r.render),r.resize(),t&&t()}function h(e){throw r.removeState("vr-mode"),e&&e.message?new Error("Failed to enter VR mode (`requestPresent`): "+e.message):new Error("Failed to enter VR mode (`requestPresent`).")}},writable:!0},exitVR:{value:function(){var e,t=this,n=this.renderer.xr;if(!this.is("vr-mode")&&!this.is("ar-mode"))return Promise.resolve("Not in immersive mode.");if(this.checkHeadsetConnected()||this.isMobile){if(n.enabled=!1,e=u.device.getVRDisplay(),this.hasWebXR)this.xrSession.removeEventListener("end",this.exitVRBound),this.xrSession.end().then((function(){}),(function(){})),this.xrSession=void 0,n.setSession(null);else if(e.isPresenting)return e.exitPresent().then(r,i)}else E();return r(),Promise.resolve();function r(){t.removeState("vr-mode"),t.removeState("ar-mode"),t.isMobile&&screen.orientation&&screen.orientation.unlock&&screen.orientation.unlock(),t.hasAttribute("embedded")&&t.removeFullScreenStyles(),t.resize(),t.isIOS&&u.forceCanvasResizeSafariMobile(t.canvas),t.renderer.setPixelRatio(window.devicePixelRatio),t.emit("exit-vr",{target:t})}function i(e){throw e&&e.message?new Error("Failed to exit VR mode (`exitPresent`): "+e.message):new Error("Failed to exit VR mode (`exitPresent`).")}},writable:!0},pointerRestricted:{value:function(){if(this.canvas){var e=this.getPointerLockElement();e&&e!==this.canvas&&document.exitPointerLock&&document.exitPointerLock(),this.canvas.requestPointerLock&&this.canvas.requestPointerLock()}}},pointerUnrestricted:{value:function(){var e=this.getPointerLockElement();e&&e===this.canvas&&document.exitPointerLock&&document.exitPointerLock()}},onVRPresentChange:{value:function(e){var t=e.display||e.detail.display;t&&t.isPresenting?this.enterVR():this.exitVR()}},getAttribute:{value:function(e){var t=this.systems[e];return t?t.data:h.prototype.getAttribute.call(this,e)}},getComputedAttribute:{value:function(e){b("`getComputedAttribute` is deprecated. Use `getAttribute` instead."),this.getAttribute(e)}},getDOMAttribute:{value:function(e){var t=this.systems[e];return t?t.data:h.prototype.getDOMAttribute.call(this,e)}},setAttribute:{value:function(e,t,n){var r=this.systems[e];if(r)return d.prototype.setAttribute.call(this,e,t),void r.updateProperties(t);h.prototype.setAttribute.call(this,e,t,n)}},removeBehavior:{value:function(e){var t,n,r,i=this.behaviors;for(n in i)e[n]&&-1!==(r=(t=this.behaviors[n]).indexOf(e))&&t.splice(r,1)}},resize:{value:function(){var e,t,n=this.camera,r=this.canvas,i=this.renderer.xr.isPresenting;e=this.renderer.xr.enabled&&i,!n||!r||this.is("vr-mode")&&(this.isMobile||e)||(t=A(r,this.getAttribute("embedded")&&!this.is("vr-mode"),this.maxCanvasSize,this.is("vr-mode")),n.aspect=t.width/t.height,n.updateProjectionMatrix(),this.renderer.setSize(t.width,t.height,!1),this.emit("rendererresize",null,!1))},writable:!0},setupRenderer:{value:function(){var e,t,n,r,i=this;r={alpha:!0,antialias:!v,canvas:this.canvas,logarithmicDepthBuffer:!1,powerPreference:"high-performance"},this.maxCanvasSize={height:1920,width:1920},this.hasAttribute("renderer")&&(n=this.getAttribute("renderer"),(t=u.styleParser.parse(n)).precision&&(r.precision=t.precision+"p"),t.antialias&&"auto"!==t.antialias&&(r.antialias="true"===t.antialias),t.logarithmicDepthBuffer&&"auto"!==t.logarithmicDepthBuffer&&(r.logarithmicDepthBuffer="true"===t.logarithmicDepthBuffer),t.alpha&&(r.alpha="true"===t.alpha),this.maxCanvasSize={width:t.maxCanvasWidth?parseInt(t.maxCanvasWidth):this.maxCanvasSize.width,height:t.maxCanvasHeight?parseInt(t.maxCanvasHeight):this.maxCanvasSize.height}),(e=this.renderer=new c.WebGLRenderer(r)).setPixelRatio(window.devicePixelRatio),e.sortObjects=!1,this.camera&&e.xr.setPoseTarget(this.camera.el.object3D),this.addEventListener("camera-set-active",(function(){e.xr.setPoseTarget(i.camera.el.object3D)}))},writable:window.debug},play:{value:function(){var e=this,t=this;this.renderStarted?h.prototype.play.call(this):(this.addEventListener("loaded",(function(){var e,n=this.renderer,r=this.renderer.xr;h.prototype.play.call(this),t.renderStarted||(t.resize(),t.renderer&&(window.performance&&window.performance.mark("render-started"),o.remove(),(e=u.device.getVRDisplay())&&e.isPresenting&&(r.setDevice(e),r.enabled=!0,t.enterVR()),n.setAnimationLoop(this.render),t.renderStarted=!0,t.emit("renderstart")))})),setTimeout((function(){h.prototype.load.call(e)})))}},updateComponent:{value:function(e){e in l||h.prototype.updateComponent.apply(this,arguments)}},tick:{value:function(e,t){var n,r=this.systems;for(n=0;n<this.behaviors.tick.length;n++)this.behaviors.tick[n].el.isPlaying&&this.behaviors.tick[n].tick(e,t);for(n=0;n<this.systemNames.length;n++)r[this.systemNames[n]].tick&&r[this.systemNames[n]].tick(e,t)}},tock:{value:function(e,t,n){var r,i=this.systems;for(r=0;r<this.behaviors.tock.length;r++)this.behaviors.tock[r].el.isPlaying&&this.behaviors.tock[r].tock(e,t,n);for(r=0;r<this.systemNames.length;r++)i[this.systemNames[r]].tock&&i[this.systemNames[r]].tock(e,t,n)}},render:{value:function(e,t){var n=this.renderer;this.frame=t,this.delta=1e3*this.clock.getDelta(),this.time=1e3*this.clock.elapsedTime,this.isPlaying&&this.tick(this.time,this.delta);var r=null;this.is("ar-mode")&&(r=this.object3D.background,this.object3D.background=null),n.render(this.object3D,this.camera),r&&(this.object3D.background=r)},writable:!0}})}),t.exports.setupCanvas=M},{"../../lib/three":179,"../../utils/":205,"../../utils/ios-orientationchange-blank-bug":206,"../a-entity":127,"../a-node":129,"../a-register-element":130,"../system":142,"./loadingScreen":135,"./metaTags":136,"./postMessage":137,"./scenes":138,"./wakelock":139}],135:[function(e,t,n){var r,i,o,a=e("../../utils/").styleParser,s="loading-screen",l="a-loader-title";function c(e){var t=r.hasAttribute("embedded"),n=o(r.canvas,t,r.maxCanvasSize,r.is("vr-mode"));e.aspect=n.width/n.height,e.updateProjectionMatrix(),r.renderer.setSize(n.width,n.height,!1)}function u(){(i=document.createElement("div")).className=l,i.innerHTML=document.title,i.style.display="none",r.appendChild(i)}t.exports.setup=function(e,t){o=t;var n,l,h,d,p,f,m,v,g,y,b=(r=e).hasAttribute(s)?a.parse(r.getAttribute(s)):void 0,A=b&&b.dotsColor||"white",w=b&&b.backgroundColor||"#24CAFF";(void 0===b||"true"===b.enabled||void 0===b.enabled)&&(n=new THREE.Scene,l=new THREE.SphereGeometry(.2,36,18,0,2*Math.PI,0,Math.PI),h=new THREE.MeshBasicMaterial({color:A}),d=new THREE.Mesh(l,h),p=d.clone(),f=d.clone(),m=new THREE.PerspectiveCamera(80,window.innerWidth/window.innerHeight,5e-4,1e4),v=new THREE.Clock,g=0,y=function(){r.renderer.render(n,m),g=v.getElapsedTime()%4,d.visible=g>=1,p.visible=g>=2,f.visible=g>=3},n.background=new THREE.Color(w),n.add(m),d.position.set(-1,0,-15),p.position.set(0,0,-15),f.position.set(1,0,-15),m.add(d),m.add(p),m.add(f),u(),setTimeout((function(){r.hasLoaded||(c(m),i.style.display="block",window.addEventListener("resize",(function(){c(m)})),r.renderer.setAnimationLoop(y))}),200))},t.exports.remove=function(){window.removeEventListener("resize",c),i&&(i.style.display="none")}},{"../../utils/":205}],136:[function(e,t,n){var r=e("../../constants/"),i=e("../../utils").extend,o=t.exports.MOBILE_HEAD_TAGS=[s({name:"viewport",content:"width=device-width,initial-scale=1,maximum-scale=1,shrink-to-fit=no,user-scalable=no,minimal-ui,viewport-fit=cover"}),s({name:"mobile-web-app-capable",content:"yes"}),s({name:"theme-color",content:"black"})],a=[s({name:"apple-mobile-web-app-capable",content:"yes"}),s({name:"apple-mobile-web-app-status-bar-style",content:"black"}),l({rel:"apple-touch-icon",href:"https://aframe.io/images/aframe-logo-152.png"})];function s(e){return{tagName:"meta",attributes:e,exists:function(){return document.querySelector('meta[name="'+e.name+'"]')}}}function l(e){return{tagName:"link",attributes:e,exists:function(){return document.querySelector('link[rel="'+e.rel+'"]')}}}function c(e){if(e&&e.tagName){var t=document.createElement(e.tagName);return t.setAttribute(r.AFRAME_INJECTED,""),i(t,e.attributes)}}t.exports.inject=function(e){var t,n=document.head,r=n.querySelector("script"),i=[];return o.forEach(s),e.isIOS&&a.forEach(s),i;function s(e){e&&!e.exists()&&(t=c(e))&&(r?r.parentNode.insertBefore(t,r):n.appendChild(t),i.push(t))}}},{"../../constants/":123,"../../utils":205}],137:[function(e,t,n){var r=e("../../utils/bind"),i=e("../../utils/").isIframed;function o(e){var t=this;if(e.data)switch(e.data.type){case"vr":switch(e.data.data){case"enter":t.enterVR();break;case"exit":t.exitVR()}}}t.exports=function(e){i()&&window.addEventListener("message",r(o,e))}},{"../../utils/":205,"../../utils/bind":199}],138:[function(e,t,n){t.exports=[]},{}],139:[function(e,t,n){var r=e("../../../vendor/wakelock/wakelock");t.exports=function(e){if(e.isMobile){var t=e.wakelock=new r;e.addEventListener("enter-vr",(function(){t.request()})),e.addEventListener("exit-vr",(function(){t.release()}))}}},{"../../../vendor/wakelock/wakelock":220}],140:[function(e,t,n){var r=e("../utils/"),i=e("./propertyTypes"),o=r.debug,a=i.isValidDefaultValue,s=i.propertyTypes,l=o("core:schema:warn");function c(e){return"type"in e?"string"===typeof e.type:"default"in e}function u(e,t){var n,r,i=e.default,o=e.type;return e.type?"bool"===e.type?o="boolean":"float"===e.type&&(o="number"):o=void 0===i||"boolean"!==typeof i&&"number"!==typeof i?Array.isArray(i)?"array":"string":typeof i,(r=s[o])||l("Unknown property type for component `"+t+"`: "+o),n=!!e.parse,e.parse=e.parse||r.parse,e.stringify=e.stringify||r.stringify,e.type=o,"default"in e?n||a(o,i)||l("Default value `"+i+"` does not match type `"+o+"` in component `"+t+"`"):e.default=r.default,e}function h(e,t){return void 0!==e&&null!==e&&""!==e||(e=t.default,Array.isArray(e)&&(e=e.slice())),t.parse(e,t.default)}function d(e,t){return"object"!==typeof e?e:t&&null!==e?t.stringify(e):JSON.stringify(e)}t.exports.isSingleProperty=c,t.exports.process=function(e,t){var n;if(c(e))return u(e,t);for(n in e)e[n]=u(e[n],t);return e},t.exports.processPropertyDefinition=u,t.exports.parseProperties=function(){var e=[];return function(t,n,r,i,o){var a,s,c,u;for(s in e.length=0,r?t:n)r&&void 0===t[s]||e.push(s);if(null===t||"object"!==typeof t)return t;for(s in t)void 0===t[s]||n[s]||o||l("Unknown property `"+s+"` for component/system `"+i+"`.");for(a=0;a<e.length;a++){if(c=n[s=e[a]],u=t[s],!n[s])return;t[s]=h(u,c)}return t}}(),t.exports.parseProperty=h,t.exports.stringifyProperties=function(e,t){var n,r,i,o,a={};for(n in e)r=t[n],"object"===typeof(o=i=e[n])&&(o=d(i,r),r||l("Unknown component property: "+n)),a[n]=o;return a},t.exports.stringifyProperty=d},{"../utils/":205,"./propertyTypes":133}],141:[function(e,t,n){var r=e("./schema").process,i=t.exports.shaders={},o=t.exports.shaderNames=[],a=e("../lib/three"),s=e("../utils"),l={array:"v3",color:"v3",int:"i",number:"f",map:"t",time:"f",vec2:"v2",vec3:"v3",vec4:"v4"},c=t.exports.Shader=function(){};c.prototype={schema:{},vertexShader:"void main() {gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);}",fragmentShader:"void main() {gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);}",init:function(e){return this.attributes=this.initVariables(e,"attribute"),this.uniforms=this.initVariables(e,"uniform"),this.material=new(this.raw?a.RawShaderMaterial:a.ShaderMaterial)({uniforms:this.uniforms,vertexShader:this.vertexShader,fragmentShader:this.fragmentShader}),this.material},initVariables:function(e,t){var n,r,i=this.schema,o={};for(n in i)i[n].is===t&&(r=l[i[n].type],o[n]={type:r,value:void 0});return o},update:function(e){this.updateVariables(e,"attribute"),this.updateVariables(e,"uniform")},updateVariables:function(e,t){var n,r,i,o=this.schema;for(n in i="uniform"===t?this.uniforms:this.attributes,e)if(o[n]&&o[n].is===t)if("map"!==o[n].type)i[n].value=this.parseValue(o[n].type,e[n]),i[n].needsUpdate=!0;else{if(!i[n]||i[n].value===e[n])continue;r="_texture_"+n,this.setMapOnTextureLoad(i,n,r),s.material.updateMapMaterialFromData(r,n,this,e)}},parseValue:function(e,t){var n;switch(e){case"vec2":return new a.Vector2(t.x,t.y);case"vec3":return new a.Vector3(t.x,t.y,t.z);case"vec4":return new a.Vector4(t.x,t.y,t.z,t.w);case"color":return n=new a.Color(t),new a.Vector3(n.r,n.g,n.b);case"map":return a.ImageUtils.loadTexture(t);default:return t}},setMapOnTextureLoad:function(e,t,n){var r=this;this.el.addEventListener("materialtextureloaded",(function(){e[t].value=r.material[n],e[t].needsUpdate=!0}))}},t.exports.registerShader=function(e,t){var n,a={};if(Object.keys(t).forEach((function(e){a[e]={value:t[e],writable:!0}})),i[e])throw new Error("The shader "+e+" has been already registered");return(n=function(){c.call(this)}).prototype=Object.create(c.prototype,a),n.prototype.name=e,n.prototype.constructor=n,i[e]={Shader:n,schema:r(n.prototype.schema)},o.push(e),n}},{"../lib/three":179,"../utils":205,"./schema":140}],142:[function(e,t,n){var r=e("./component"),i=e("./schema"),o=e("../utils/"),a=i.parseProperties,s=i.parseProperty,l=i.process,c=i.isSingleProperty,u=o.styleParser,h=t.exports.systems={},d=t.exports.System=function(e){var t=r&&r.components[this.name];this.el=e,this.sceneEl=e,t&&(t.Component.prototype.system=this),this.buildData(),this.init(),this.update({})};d.prototype={schema:{},init:function(){},update:function(e){},updateProperties:function(e){var t=this.data;Object.keys(i).length&&(this.buildData(e),this.update(t))},buildData:function(e){var t=this.schema;Object.keys(t).length&&(e=e||window.HTMLElement.prototype.getAttribute.call(this.sceneEl,this.name),c(t)?this.data=s(e,t):this.data=a(u.parse(e)||{},t))},tick:void 0,tock:void 0,play:function(){},pause:function(){}},t.exports.registerSystem=function(e,t){var n,r,i={},a=o.findAllScenes(document);if(Object.keys(t).forEach((function(e){i[e]={value:t[e],writable:!0}})),h[e])throw new Error("The system `"+e+"` has been already registered. Check that you are not loading two versions of the same system or two different systems of the same name.");for((r=function(e){d.call(this,e)}).prototype=Object.create(d.prototype,i),r.prototype.name=e,r.prototype.constructor=r,r.prototype.schema=o.extend(l(r.prototype.schema)),h[e]=r,n=0;n<a.length;n++)a[n].initSystem(e)}},{"../utils/":205,"./component":131,"./schema":140}],143:[function(e,t,n){e("./pivot")},{"./pivot":144}],144:[function(e,t,n){var r=e("../../core/component").registerComponent,i=e("../../lib/three"),o=new i.Vector3,a=new i.Vector3;r("pivot",{dependencies:["position"],schema:{type:"vec3"},init:function(){var e=this.data,t=this.el,n=t.object3D.parent,r=t.object3D,s=new i.Group;o.copy(r.position),a.copy(r.rotation),n.remove(r),s.add(r),n.add(s),t.object3D=s,r.position.set(-1*e.x,-1*e.y,-1*e.z),s.position.set(e.x+o.x,e.y+o.y,e.z+o.z),s.rotation.copy(r.rotation),r.rotation.set(0,0,0)}})},{"../../core/component":131,"../../lib/three":179}],145:[function(e,t,n){var r=e("../../core/component").components,i=e("../../core/shader").shaders,o=e("../../utils/"),a={};function s(e){var t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();"fog"===e&&(t="material-fog"),"visible"===e&&(t="material-visible"),a[t]="material."+e}Object.keys(r.material.schema).forEach(s),Object.keys(i.standard.schema).forEach(s),t.exports=function(){return{defaultComponents:{material:{}},mappings:o.extend({},a)}}},{"../../core/component":131,"../../core/shader":141,"../../utils/":205}],146:[function(e,t,n){e("./primitives/a-camera"),e("./primitives/a-cursor"),e("./primitives/a-curvedimage"),e("./primitives/a-gltf-model"),e("./primitives/a-image"),e("./primitives/a-light"),e("./primitives/a-link"),e("./primitives/a-obj-model"),e("./primitives/a-sky"),e("./primitives/a-sound"),e("./primitives/a-text"),e("./primitives/a-video"),e("./primitives/a-videosphere"),e("./primitives/meshPrimitives")},{"./primitives/a-camera":148,"./primitives/a-cursor":149,"./primitives/a-curvedimage":150,"./primitives/a-gltf-model":151,"./primitives/a-image":152,"./primitives/a-light":153,"./primitives/a-link":154,"./primitives/a-obj-model":155,"./primitives/a-sky":156,"./primitives/a-sound":157,"./primitives/a-text":158,"./primitives/a-video":159,"./primitives/a-videosphere":160,"./primitives/meshPrimitives":161}],147:[function(e,t,n){var r=e("../../core/a-entity"),i=e("../../core/component").components,o=e("../../core/a-register-element").registerElement,a=e("../../utils/"),s=a.debug,l=a.entity.setComponentProperty,c=s("extras:primitives:debug"),u=s("extras:primitives:warn"),h=t.exports.primitives={};function d(e,t){var n=i[e].schema;Object.keys(n).map((function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();void 0!==t[r]&&(r=e+"-"+n),t[r]=e+"."+n}))}function p(e,n,r){r=r||{},Object.keys(n).map((function(e){d(e,r)})),t.exports.registerPrimitive(e,a.extendDeep({},null,{defaultComponents:n,mappings:r}))}t.exports.registerPrimitive=function(e,t){e=e.toLowerCase(),c("Registering <%s>",e),t.defaultAttributes&&u("The 'defaultAttributes' object is deprecated. Use 'defaultComponents' instead.");var n=o(e,{prototype:Object.create(r.prototype,{defaultComponentsFromPrimitive:{value:t.defaultComponents||t.defaultAttributes||{}},deprecated:{value:t.deprecated||null},deprecatedMappings:{value:t.deprecatedMappings||{}},mappings:{value:t.mappings||{}},createdCallback:{value:function(){t.deprecated&&console.warn(t.deprecated),this.resolveMappingCollisions()}},resolveMappingCollisions:{value:function(){var e=this.mappings,t=this;Object.keys(e).forEach((function(n){var r;n!==n.toLowerCase()&&u("Mapping keys should be specified in lower case. The mapping key "+n+" may not be recognized"),i[n]&&(r=e[n].replace(".","-"),e[r]=e[n],delete e[n],console.warn("The primitive "+t.tagName.toLowerCase()+" has a mapping collision. The attribute "+n+" has the same name as a registered component and has been renamed to "+r))}))}},getExtraComponents:{value:function(){var e,t,n,r,i,o,s=this;for(t=a.clone(this.defaultComponentsFromPrimitive),(i=this.getAttribute("mixin"))&&(i=i.trim().split(" ")).forEach((function(e){var n=s.sceneEl.querySelector("#"+e).componentCache;Object.keys(n).forEach((function(e){t[e]=l(t[e],n[e])}))})),n=0;n<this.attributes.length;n++)e=this.attributes[n],(r=this.mappings[e.name])&&((o=a.entity.getComponentPropertyPath(r)).constructor===Array?(t[o[0]]=t[o[0]]||{},t[o[0]][o[1]]=e.value.trim()):t[o]=e.value.trim());return t;function l(e,t){return c(e)?u(t):c(t)?u(e):h(e)&&h(t)?a.extendDeep(e,t):u(t)}function c(e){return"undefined"===typeof e}function u(e){return h(e)?a.extendDeep({},e):e}function h(e){return null!==e&&e.constructor===Object}}},attributeChangedCallback:{value:function(e,t,n){var r=this.mappings[e];e in this.deprecatedMappings&&console.warn(this.deprecatedMappings[e]),e&&r&&l(this,r,n)}}})});return h[e]=n,n},t.exports.definePrimitive=p},{"../../core/a-entity":127,"../../core/a-register-element":130,"../../core/component":131,"../../utils/":205}],148:[function(e,t,n){(0,e("../primitives").registerPrimitive)("a-camera",{defaultComponents:{camera:{},"look-controls":{},"wasd-controls":{},position:{x:0,y:1.6,z:0}},mappings:{active:"camera.active",far:"camera.far",fov:"camera.fov","look-controls-enabled":"look-controls.enabled",near:"camera.near","pointer-lock-enabled":"look-controls.pointerLockEnabled","wasd-controls-enabled":"wasd-controls.enabled","reverse-mouse-drag":"look-controls.reverseMouseDrag",zoom:"camera.zoom"}})},{"../primitives":147}],149:[function(e,t,n){var r=e("../getMeshMixin");(0,e("../primitives").registerPrimitive)("a-cursor",e("../../../utils/").extendDeep({},r(),{defaultComponents:{cursor:{},geometry:{primitive:"ring",radiusOuter:.016,radiusInner:.01,segmentsTheta:32},material:{color:"#000",shader:"flat",opacity:.8},position:{x:0,y:0,z:-1}},mappings:{far:"raycaster.far",fuse:"cursor.fuse","fuse-timeout":"cursor.fuseTimeout",interval:"raycaster.interval",objects:"raycaster.objects"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],150:[function(e,t,n){var r=e("../getMeshMixin");(0,e("../primitives").registerPrimitive)("a-curvedimage",e("../../../utils/").extendDeep({},r(),{defaultComponents:{geometry:{height:1,primitive:"cylinder",radius:2,segmentsRadial:48,thetaLength:270,openEnded:!0,thetaStart:0},material:{color:"#FFF",shader:"flat",side:"double",transparent:!0,repeat:"-1 1"}},mappings:{height:"geometry.height","open-ended":"geometry.openEnded",radius:"geometry.radius",segments:"geometry.segmentsRadial",start:"geometry.thetaStart","theta-length":"geometry.thetaLength","theta-start":"geometry.thetaStart",width:"geometry.thetaLength"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],151:[function(e,t,n){(0,e("../primitives").registerPrimitive)("a-gltf-model",{mappings:{src:"gltf-model"}})},{"../primitives":147}],152:[function(e,t,n){var r=e("../getMeshMixin");(0,e("../primitives").registerPrimitive)("a-image",e("../../../utils/").extendDeep({},r(),{defaultComponents:{geometry:{primitive:"plane"},material:{color:"#FFF",shader:"flat",side:"double",transparent:!0}},mappings:{height:"geometry.height",width:"geometry.width"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],153:[function(e,t,n){(0,e("../primitives").registerPrimitive)("a-light",{defaultComponents:{light:{}},mappings:{angle:"light.angle",color:"light.color","ground-color":"light.groundColor",decay:"light.decay",distance:"light.distance",intensity:"light.intensity",penumbra:"light.penumbra",type:"light.type",target:"light.target"}})},{"../primitives":147}],154:[function(e,t,n){(0,e("../primitives").registerPrimitive)("a-link",{defaultComponents:{link:{visualAspectEnabled:!0}},mappings:{href:"link.href",image:"link.image",title:"link.title"}})},{"../primitives":147}],155:[function(e,t,n){var r=e("../getMeshMixin")();(0,e("../primitives").registerPrimitive)("a-obj-model",e("../../../utils/").extendDeep({},r,{defaultComponents:{"obj-model":{}},mappings:{src:"obj-model.obj",mtl:"obj-model.mtl"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],156:[function(e,t,n){var r=e("../getMeshMixin"),i=e("../primitives").registerPrimitive,o=e("../../../utils/"),a=e("./meshPrimitives");i("a-sky",o.extendDeep({},r(),{defaultComponents:{geometry:{primitive:"sphere",radius:500,segmentsWidth:64,segmentsHeight:32},material:{color:"#FFF",side:"back",shader:"flat",npot:!0},scale:"-1 1 1"},mappings:o.extendDeep({},a["a-sphere"].prototype.mappings)}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147,"./meshPrimitives":161}],157:[function(e,t,n){(0,e("../primitives").registerPrimitive)("a-sound",{defaultComponents:{sound:{}},mappings:{src:"sound.src",on:"sound.on",autoplay:"sound.autoplay",loop:"sound.loop",volume:"sound.volume"}})},{"../primitives":147}],158:[function(e,t,n){(0,e("../primitives").definePrimitive)("a-text",{text:{anchor:"align",width:5}})},{"../primitives":147}],159:[function(e,t,n){var r=e("../getMeshMixin");(0,e("../primitives").registerPrimitive)("a-video",e("../../../utils/").extendDeep({},r(),{defaultComponents:{geometry:{primitive:"plane"},material:{color:"#FFF",shader:"flat",side:"double",transparent:!0}},mappings:{height:"geometry.height",width:"geometry.width"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],160:[function(e,t,n){var r=e("../getMeshMixin");(0,e("../primitives").registerPrimitive)("a-videosphere",e("../../../utils/").extendDeep({},r(),{defaultComponents:{geometry:{primitive:"sphere",radius:500,segmentsWidth:64,segmentsHeight:32},material:{color:"#FFF",shader:"flat",side:"back",npot:!0},scale:"-1 1 1"},mappings:{radius:"geometry.radius","segments-height":"geometry.segmentsHeight","segments-width":"geometry.segmentsWidth"}}))},{"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],161:[function(e,t,n){var r=e("../getMeshMixin"),i=e("../../../core/geometry").geometries,o=e("../../../core/geometry").geometryNames,a=e("../primitives").registerPrimitive,s=e("../../../utils/"),l=t.exports={};function c(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}o.forEach((function(e){var t=i[e],n=c(e),o={};Object.keys(t.schema).forEach((function(e){o[c(e)]="geometry."+e}));var u="a-"+n,h=a(u,s.extendDeep({},r(),{defaultComponents:{geometry:{primitive:e}},mappings:o}));l[u]=h}))},{"../../../core/geometry":132,"../../../utils/":205,"../getMeshMixin":145,"../primitives":147}],162:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("box",{schema:{depth:{default:1,min:0},height:{default:1,min:0},width:{default:1,min:0},segmentsHeight:{default:1,min:1,max:20,type:"int"},segmentsWidth:{default:1,min:1,max:20,type:"int"},segmentsDepth:{default:1,min:1,max:20,type:"int"}},init:function(e){this.geometry=new i.BoxGeometry(e.width,e.height,e.depth,e.segmentsWidth,e.segmentsHeight,e.segmentsDepth)}})},{"../core/geometry":132,"../lib/three":179}],163:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("circle",{schema:{radius:{default:1,min:0},segments:{default:32,min:3,type:"int"},thetaLength:{default:360,min:0},thetaStart:{default:0}},init:function(e){this.geometry=new i.CircleGeometry(e.radius,e.segments,o(e.thetaStart),o(e.thetaLength))}})},{"../core/geometry":132,"../lib/three":179}],164:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("cone",{schema:{height:{default:1,min:0},openEnded:{default:!1},radiusBottom:{default:1,min:0},radiusTop:{default:.01,min:0},segmentsHeight:{default:18,min:1,type:"int"},segmentsRadial:{default:36,min:3,type:"int"},thetaLength:{default:360,min:0},thetaStart:{default:0}},init:function(e){this.geometry=new i.CylinderGeometry(e.radiusTop,e.radiusBottom,e.height,e.segmentsRadial,e.segmentsHeight,e.openEnded,o(e.thetaStart),o(e.thetaLength))}})},{"../core/geometry":132,"../lib/three":179}],165:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("cylinder",{schema:{height:{default:1,min:0},openEnded:{default:!1},radius:{default:1,min:0},segmentsHeight:{default:18,min:1,type:"int"},segmentsRadial:{default:36,min:3,type:"int"},thetaLength:{default:360,min:0},thetaStart:{default:0}},init:function(e){this.geometry=new i.CylinderGeometry(e.radius,e.radius,e.height,e.segmentsRadial,e.segmentsHeight,e.openEnded,o(e.thetaStart),o(e.thetaLength))}})},{"../core/geometry":132,"../lib/three":179}],166:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("dodecahedron",{schema:{detail:{default:0,min:0,max:5,type:"int"},radius:{default:1,min:0}},init:function(e){this.geometry=new i.DodecahedronGeometry(e.radius,e.detail)}})},{"../core/geometry":132,"../lib/three":179}],167:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("icosahedron",{schema:{detail:{default:0,min:0,max:5,type:"int"},radius:{default:1,min:0}},init:function(e){this.geometry=new i.IcosahedronGeometry(e.radius,e.detail)}})},{"../core/geometry":132,"../lib/three":179}],168:[function(e,t,n){e("./box.js"),e("./circle.js"),e("./cone.js"),e("./cylinder.js"),e("./dodecahedron.js"),e("./icosahedron.js"),e("./octahedron.js"),e("./plane.js"),e("./ring.js"),e("./sphere.js"),e("./tetrahedron.js"),e("./torus.js"),e("./torusKnot.js"),e("./triangle.js")},{"./box.js":162,"./circle.js":163,"./cone.js":164,"./cylinder.js":165,"./dodecahedron.js":166,"./icosahedron.js":167,"./octahedron.js":169,"./plane.js":170,"./ring.js":171,"./sphere.js":172,"./tetrahedron.js":173,"./torus.js":174,"./torusKnot.js":175,"./triangle.js":176}],169:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("octahedron",{schema:{detail:{default:0,min:0,max:5,type:"int"},radius:{default:1,min:0}},init:function(e){this.geometry=new i.OctahedronGeometry(e.radius,e.detail)}})},{"../core/geometry":132,"../lib/three":179}],170:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("plane",{schema:{height:{default:1,min:0},width:{default:1,min:0},segmentsHeight:{default:1,min:1,max:20,type:"int"},segmentsWidth:{default:1,min:1,max:20,type:"int"}},init:function(e){this.geometry=new i.PlaneGeometry(e.width,e.height,e.segmentsWidth,e.segmentsHeight)}})},{"../core/geometry":132,"../lib/three":179}],171:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("ring",{schema:{radiusInner:{default:.8,min:0},radiusOuter:{default:1.2,min:0},segmentsPhi:{default:10,min:1,type:"int"},segmentsTheta:{default:32,min:3,type:"int"},thetaLength:{default:360,min:0},thetaStart:{default:0}},init:function(e){this.geometry=new i.RingGeometry(e.radiusInner,e.radiusOuter,e.segmentsTheta,e.segmentsPhi,o(e.thetaStart),o(e.thetaLength))}})},{"../core/geometry":132,"../lib/three":179}],172:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("sphere",{schema:{radius:{default:1,min:0},phiLength:{default:360},phiStart:{default:0,min:0},thetaLength:{default:180,min:0},thetaStart:{default:0},segmentsHeight:{default:18,min:2,type:"int"},segmentsWidth:{default:36,min:3,type:"int"}},init:function(e){this.geometry=new i.SphereGeometry(e.radius,e.segmentsWidth,e.segmentsHeight,o(e.phiStart),o(e.phiLength),o(e.thetaStart),o(e.thetaLength))}})},{"../core/geometry":132,"../lib/three":179}],173:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("tetrahedron",{schema:{detail:{default:0,min:0,max:5,type:"int"},radius:{default:1,min:0}},init:function(e){this.geometry=new i.TetrahedronGeometry(e.radius,e.detail)}})},{"../core/geometry":132,"../lib/three":179}],174:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=i.Math.degToRad;r("torus",{schema:{arc:{default:360},radius:{default:1,min:0},radiusTubular:{default:.2,min:0},segmentsRadial:{default:36,min:2,type:"int"},segmentsTubular:{default:32,min:3,type:"int"}},init:function(e){this.geometry=new i.TorusGeometry(e.radius,2*e.radiusTubular,e.segmentsRadial,e.segmentsTubular,o(e.arc))}})},{"../core/geometry":132,"../lib/three":179}],175:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three");r("torusKnot",{schema:{p:{default:2,min:1},q:{default:3,min:1},radius:{default:1,min:0},radiusTubular:{default:.2,min:0},segmentsRadial:{default:8,min:3,type:"int"},segmentsTubular:{default:100,min:3,type:"int"}},init:function(e){this.geometry=new i.TorusKnotGeometry(e.radius,2*e.radiusTubular,e.segmentsTubular,e.segmentsRadial,e.p,e.q)}})},{"../core/geometry":132,"../lib/three":179}],176:[function(e,t,n){var r=e("../core/geometry").registerGeometry,i=e("../lib/three"),o=new i.Quaternion,a=new i.Vector3(0,0,1),s=new i.Vector2,l=new i.Vector2,c=new i.Vector2;r("triangle",{schema:{vertexA:{type:"vec3",default:{x:0,y:.5,z:0}},vertexB:{type:"vec3",default:{x:-.5,y:-.5,z:0}},vertexC:{type:"vec3",default:{x:.5,y:-.5,z:0}}},init:function(e){var t,n,r,u,h,d,p,f,m;(r=new i.Triangle).a.set(e.vertexA.x,e.vertexA.y,e.vertexA.z),r.b.set(e.vertexB.x,e.vertexB.y,e.vertexB.z),r.c.set(e.vertexC.x,e.vertexC.y,e.vertexC.z),n=r.getNormal(new i.Vector3),o.setFromUnitVectors(n,a),u=r.a.clone().applyQuaternion(o),h=r.b.clone().applyQuaternion(o),d=r.c.clone().applyQuaternion(o),s.set(Math.min(u.x,h.x,d.x),Math.min(u.y,h.y,d.y)),l.set(Math.max(u.x,h.x,d.x),Math.max(u.y,h.y,d.y)),c.set(0,0).subVectors(l,s),u=(new i.Vector2).subVectors(u,s).divide(c),h=(new i.Vector2).subVectors(h,s).divide(c),d=(new i.Vector2).subVectors(d,s).divide(c),t=this.geometry=new i.BufferGeometry,p=[r.a.x,r.a.y,r.a.z,r.b.x,r.b.y,r.b.z,r.c.x,r.c.y,r.c.z],f=[n.x,n.y,n.z,n.x,n.y,n.z,n.x,n.y,n.z],m=[u.x,u.y,h.x,h.y,d.x,d.y],t.setAttribute("position",new i.Float32BufferAttribute(p,3)),t.setAttribute("normal",new i.Float32BufferAttribute(f,3)),t.setAttribute("uv",new i.Float32BufferAttribute(m,2))}})},{"../core/geometry":132,"../lib/three":179}],177:[function(e,t,n){if(window.Promise=window.Promise||e("promise-polyfill"),window.hasNativeWebVRImplementation=!!window.navigator.getVRDisplays||!!window.navigator.getVRDevices,window.hasNativeWebXRImplementation=void 0!==navigator.xr,!window.hasNativeWebXRImplementation&&!window.hasNativeWebVRImplementation){var r=e("./utils/isIOSOlderThan10")(window.navigator.userAgent)?1/window.devicePixelRatio:1,i=e("webvr-polyfill"),o={BUFFER_SCALE:r,CARDBOARD_UI_DISABLED:!0,ROTATE_INSTRUCTIONS_DISABLED:!0,MOBILE_WAKE_LOCK:!!window.cordova};window.webvrpolyfill=new i(o)}var a=e("./utils/"),s=a.debug;a.isIE11&&(e("custom-event-polyfill"),e("../vendor/starts-with-polyfill"));var l=s("A-Frame:error"),c=s("A-Frame:warn");window.document.currentScript&&window.document.currentScript.parentNode!==window.document.head&&!window.debug&&c("Put the A-Frame <script> tag in the <head> of the HTML *before* the scene to ensure everything for A-Frame is properly registered before they are used from HTML."),window.cordova||"file:"!==window.location.protocol||l("This HTML file is currently being served via the file:// protocol. Assets, textures, and models WILL NOT WORK due to cross-origin policy! Please use a local or hosted server: https://aframe.io/docs/0.5.0/introduction/getting-started.html#using-a-local-server."),e("present"),a.device.isBrowserEnvironment&&(e("./style/aframe.css"),e("./style/rStats.css"));var u=e("./core/scene/a-scene").AScene,h=e("./core/component").components,d=e("./core/component").registerComponent,p=e("./core/geometry").registerGeometry,f=e("./extras/primitives/primitives").registerPrimitive,m=e("./core/shader").registerShader,v=e("./core/system").registerSystem,g=e("./core/shader").shaders,y=e("./core/system").systems,b=window.THREE=e("./lib/three"),A=e("../package");e("./components/index"),e("./geometries/index"),e("./shaders/index"),e("./systems/index");var w=e("./core/a-node"),x=e("./core/a-entity");e("./core/a-assets"),e("./core/a-cubemap"),e("./core/a-mixin"),e("./extras/components/"),e("./extras/primitives/"),console.log("A-Frame Version: 1.2.0 (Date 2021-02-05, Commit #b220fa00)"),console.log("THREE Version (https://github.com/supermedium/three.js):",A.dependencies["super-three"]),console.log("WebVR Polyfill Version:",A.dependencies["webvr-polyfill"]),t.exports=window.AFRAME={AComponent:e("./core/component").Component,AEntity:x,ANode:w,ANIME:e("super-animejs"),AScene:u,components:h,coreComponents:Object.keys(h),geometries:e("./core/geometry").geometries,registerComponent:d,registerElement:e("./core/a-register-element").registerElement,registerGeometry:p,registerPrimitive:f,registerShader:m,registerSystem:v,primitives:{getMeshMixin:e("./extras/primitives/getMeshMixin"),primitives:e("./extras/primitives/primitives").primitives},scenes:e("./core/scene/scenes"),schema:e("./core/schema"),shaders:g,systems:y,THREE:b,utils:a,version:A.version}},{"../package":73,"../vendor/starts-with-polyfill":218,"./components/index":84,"./core/a-assets":125,"./core/a-cubemap":126,"./core/a-entity":127,"./core/a-mixin":128,"./core/a-node":129,"./core/a-register-element":130,"./core/component":131,"./core/geometry":132,"./core/scene/a-scene":134,"./core/scene/scenes":138,"./core/schema":140,"./core/shader":141,"./core/system":142,"./extras/components/":143,"./extras/primitives/":146,"./extras/primitives/getMeshMixin":145,"./extras/primitives/primitives":147,"./geometries/index":168,"./lib/three":179,"./shaders/index":181,"./style/aframe.css":186,"./style/rStats.css":187,"./systems/index":191,"./utils/":205,"./utils/isIOSOlderThan10":208,"custom-event-polyfill":7,present:48,"promise-polyfill":50,"super-animejs":56,"webvr-polyfill":68}],178:[function(e,t,n){window.aframeStats=function(e){var t=null,n=e;function r(){t("te").set(i()),window.performance.getEntriesByName&&t("lt").set(window.performance.getEntriesByName("render-started")[0].startTime.toFixed(0))}function i(){var e=n.querySelectorAll("*");return Array.prototype.slice.call(e).filter((function(e){return e.isEntity})),e.length}function o(){}function a(){}function s(e){t=e}return{update:r,start:o,end:a,attach:s,values:{te:{caption:"Entities"},lt:{caption:"Load Time"}},groups:[{caption:"A-Frame",values:["te","lt"]}],fractions:[]}},"object"===typeof t&&(t.exports={aframeStats:window.aframeStats})},{}],179:[function(e,t,n){(function(n){var r=n.THREE=e("super-three");r.TextureLoader&&(r.TextureLoader.prototype.crossOrigin="anonymous"),r.ImageLoader&&(r.ImageLoader.prototype.crossOrigin="anonymous"),r.Cache&&(r.Cache.enabled=!0),e("../../vendor/DeviceOrientationControls"),e("super-three/examples/js/loaders/DRACOLoader"),e("super-three/examples/js/loaders/GLTFLoader"),e("super-three/examples/js/loaders/OBJLoader"),e("super-three/examples/js/loaders/MTLLoader"),e("super-three/examples/js/utils/BufferGeometryUtils"),r.DRACOLoader.prototype.crossOrigin="anonymous",r.GLTFLoader.prototype.crossOrigin="anonymous",r.MTLLoader.prototype.crossOrigin="anonymous",r.OBJLoader.prototype.crossOrigin="anonymous",t.exports=r}).call(this,"undefined"!==typeof r.g?r.g:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../vendor/DeviceOrientationControls":215,"super-three":57,"super-three/examples/js/loaders/DRACOLoader":58,"super-three/examples/js/loaders/GLTFLoader":59,"super-three/examples/js/loaders/MTLLoader":60,"super-three/examples/js/loaders/OBJLoader":61,"super-three/examples/js/utils/BufferGeometryUtils":62}],180:[function(e,t,n){var r=e("../core/shader").registerShader,i=e("../lib/three"),o=e("../utils/");function a(e,t){return t.color.set(e.color),t.fog=e.fog,t.wireframe=e.wireframe,t.wireframeLinewidth=e.wireframeLinewidth,t}t.exports.Shader=r("flat",{schema:{color:{type:"color"},fog:{default:!0},height:{default:256},offset:{type:"vec2",default:{x:0,y:0}},repeat:{type:"vec2",default:{x:1,y:1}},src:{type:"map"},width:{default:512},wireframe:{default:!1},wireframeLinewidth:{default:2}},init:function(e){this.rendererSystem=this.el.sceneEl.systems.renderer,this.materialData={color:new i.Color},this.textureSrc=null,a(e,this.materialData),this.rendererSystem.applyColorCorrection(this.materialData.color),this.material=new i.MeshBasicMaterial(this.materialData),o.material.updateMap(this,e)},update:function(e){this.updateMaterial(e),o.material.updateMap(this,e)},updateMaterial:function(e){var t;for(t in a(e,this.materialData),this.rendererSystem.applyColorCorrection(this.materialData.color),this.materialData)this.material[t]=this.materialData[t]}})},{"../core/shader":141,"../lib/three":179,"../utils/":205}],181:[function(e,t,n){e("./flat"),e("./standard"),e("./sdf"),e("./msdf"),e("./ios10hls")},{"./flat":180,"./ios10hls":182,"./msdf":183,"./sdf":184,"./standard":185}],182:[function(e,t,n){var r=e("../core/shader").registerShader;t.exports.Shader=r("ios10hls",{schema:{src:{type:"map",is:"uniform"},opacity:{type:"number",is:"uniform",default:1}},vertexShader:["varying vec2 vUV;","void main(void) {","  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","  vUV = uv;","}"].join("\n"),fragmentShader:["uniform sampler2D src;","uniform float opacity;","varying vec2 vUV;","void main() {","  vec2 offset = vec2(0, 0);","  vec2 repeat = vec2(1, 1);","  vec4 color = texture2D(src, vec2(vUV.x / repeat.x + offset.x, (1.0 - vUV.y) / repeat.y + offset.y)).bgra;","  gl_FragColor = vec4(color.rgb, opacity);","}"].join("\n")})},{"../core/shader":141}],183:[function(e,t,n){var r=e("../core/shader").registerShader,i=!!document.createElement("canvas").getContext("webgl2"),o=["attribute vec2 uv;","attribute vec3 position;","uniform mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","varying vec2 vUV;","void main(void) {","  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","  vUV = uv;","}"].join("\n"),a=["#version 300 es","in vec2 uv;","in vec3 position;","uniform mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","out vec2 vUV;","void main(void) {","  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","  vUV = uv;","}"].join("\n"),s=i?a:o,l=["#ifdef GL_OES_standard_derivatives","#extension GL_OES_standard_derivatives: enable","#endif","precision highp float;","uniform bool negate;","uniform float alphaTest;","uniform float opacity;","uniform sampler2D map;","uniform vec3 color;","varying vec2 vUV;","float median(float r, float g, float b) {","  return max(min(r, g), min(max(r, g), b));","}","#define BIG_ENOUGH 0.001","#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)","void main() {","  vec3 sampleColor = texture2D(map, vUV).rgb;","  if (negate) { sampleColor = 1.0 - sampleColor; }","  float sigDist = median(sampleColor.r, sampleColor.g, sampleColor.b) - 0.5;","  float alpha = clamp(sigDist / fwidth(sigDist) + 0.5, 0.0, 1.0);","  float dscale = 0.353505;","  vec2 duv = dscale * (dFdx(vUV) + dFdy(vUV));","  float isBigEnough = max(abs(duv.x), abs(duv.y));","  // Do modified alpha test.","  if (isBigEnough > BIG_ENOUGH) {","    float ratio = BIG_ENOUGH / isBigEnough;","    alpha = ratio * alpha + (1.0 - ratio) * (sigDist + 0.5);","  }","  // Do modified alpha test.","  if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }","  gl_FragColor = vec4(color.xyz, alpha * opacity);","}"].join("\n"),c=["#version 300 es","precision highp float;","uniform bool negate;","uniform float alphaTest;","uniform float opacity;","uniform sampler2D map;","uniform vec3 color;","in vec2 vUV;","out vec4 fragColor;","float median(float r, float g, float b) {","  return max(min(r, g), min(max(r, g), b));","}","#define BIG_ENOUGH 0.001","#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)","void main() {","  vec3 sampleColor = texture(map, vUV).rgb;","  if (negate) { sampleColor = 1.0 - sampleColor; }","  float sigDist = median(sampleColor.r, sampleColor.g, sampleColor.b) - 0.5;","  float alpha = clamp(sigDist / fwidth(sigDist) + 0.5, 0.0, 1.0);","  float dscale = 0.353505;","  vec2 duv = dscale * (dFdx(vUV) + dFdy(vUV));","  float isBigEnough = max(abs(duv.x), abs(duv.y));","  // Do modified alpha test.","  if (isBigEnough > BIG_ENOUGH) {","    float ratio = BIG_ENOUGH / isBigEnough;","    alpha = ratio * alpha + (1.0 - ratio) * (sigDist + 0.5);","  }","  // Do modified alpha test.","  if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }","  fragColor = vec4(color.xyz, alpha * opacity);","}"].join("\n"),u=i?c:l;t.exports.Shader=r("msdf",{schema:{alphaTest:{type:"number",is:"uniform",default:.5},color:{type:"color",is:"uniform",default:"white"},map:{type:"map",is:"uniform"},negate:{type:"boolean",is:"uniform",default:!0},opacity:{type:"number",is:"uniform",default:1}},raw:!0,vertexShader:s,fragmentShader:u})},{"../core/shader":141}],184:[function(e,t,n){var r=e("../core/shader").registerShader;t.exports.Shader=r("sdf",{schema:{alphaTest:{type:"number",is:"uniform",default:.5},color:{type:"color",is:"uniform",default:"white"},map:{type:"map",is:"uniform"},opacity:{type:"number",is:"uniform",default:1}},raw:!0,vertexShader:["#version 300 es","in vec2 uv;","in vec3 position;","uniform mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","out vec2 vUV;","void main(void) {","  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","  vUV = uv;","}"].join("\n"),fragmentShader:["#version 300 es","precision highp float;","uniform float alphaTest;","uniform float opacity;","uniform sampler2D map;","uniform vec3 color;","in vec2 vUV;","out vec4 fragColor;","#ifdef GL_OES_standard_derivatives","  float contour(float width, float value) {","    return smoothstep(0.5 - value, 0.5 + value, width);","  }","#else","  float aastep(float value, float afwidth) {","    return smoothstep(0.5 - afwidth, 0.5 + afwidth, value);","  }","#endif","#define BIG_ENOUGH 0.001","#define MODIFIED_ALPHATEST (0.02 * isBigEnough / BIG_ENOUGH)","#define ALL_SMOOTH 0.4","#define ALL_ROUGH 0.02","#define DISCARD_ALPHA (alphaTest / (2.2 - 1.2 * ratio))","void main() {","  #ifdef GL_OES_standard_derivatives","    vec2 uv = vUV;","    vec4 texColor = texture(map, uv);","    float dist = texColor.a;","    float width = fwidth(dist);","    float alpha = contour(dist, width);","    float dscale = 0.353505;","    vec2 duv = dscale * (dFdx(uv) + dFdy(uv));","    float isBigEnough = max(abs(duv.x), abs(duv.y));","    if (isBigEnough > BIG_ENOUGH) {","      float ratio = BIG_ENOUGH / isBigEnough;","      alpha = ratio * alpha + (1.0 - ratio) * dist;","    }","    if (isBigEnough <= BIG_ENOUGH) {","      vec4 box = vec4 (uv - duv, uv + duv);","      alpha = (alpha + 0.5 * (","        contour(texture(map, box.xy).a, width)","        + contour(texture(map, box.zw).a, width)","        + contour(texture(map, box.xw).a, width)","        + contour(texture(map, box.zy).a, width)","      )) / 3.0;","    }","    if (alpha < alphaTest * MODIFIED_ALPHATEST) { discard; return; }","  #else","    vec4 texColor = texture(map, vUV);","    float value = texColor.a;","    float afwidth = (1.0 / 32.0) * (1.4142135623730951 / (2.0 * gl_FragCoord.w));","    float alpha = aastep(value, afwidth);","    float ratio = (gl_FragCoord.w >= ALL_SMOOTH) ? 1.0 : (gl_FragCoord.w < ALL_ROUGH) ? 0.0 : (gl_FragCoord.w - ALL_ROUGH) / (ALL_SMOOTH - ALL_ROUGH);","    if (alpha < alphaTest) { if (ratio >= 1.0) { discard; return; } alpha = 0.0; }","    alpha = alpha * ratio + (1.0 - ratio) * value;","    if (ratio < 1.0 && alpha <= DISCARD_ALPHA) { discard; return; }","  #endif","  fragColor = vec4(color, opacity * alpha);","}"].join("\n")})},{"../core/shader":141}],185:[function(e,t,n){var r=e("../core/shader").registerShader,i=e("../lib/three"),o=e("../utils/"),a=new i.CubeTextureLoader,s={};function l(e,t){return t.color.set(e.color),t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity,t.fog=e.fog,t.metalness=e.metalness,t.roughness=e.roughness,t.wireframe=e.wireframe,t.wireframeLinewidth=e.wireframeLinewidth,e.normalMap&&(t.normalScale=e.normalScale),e.ambientOcclusionMap&&(t.aoMapIntensity=e.ambientOcclusionMapIntensity),e.displacementMap&&(t.displacementScale=e.displacementScale,t.displacementBias=e.displacementBias),t}t.exports.Shader=r("standard",{schema:{ambientOcclusionMap:{type:"map"},ambientOcclusionMapIntensity:{default:1},ambientOcclusionTextureOffset:{type:"vec2"},ambientOcclusionTextureRepeat:{type:"vec2",default:{x:1,y:1}},color:{type:"color"},displacementMap:{type:"map"},displacementScale:{default:1},displacementBias:{default:.5},displacementTextureOffset:{type:"vec2"},displacementTextureRepeat:{type:"vec2",default:{x:1,y:1}},emissive:{type:"color",default:"#000"},emissiveIntensity:{default:1},envMap:{default:""},fog:{default:!0},height:{default:256},metalness:{default:0,min:0,max:1},metalnessMap:{type:"map"},metalnessTextureOffset:{type:"vec2"},metalnessTextureRepeat:{type:"vec2",default:{x:1,y:1}},normalMap:{type:"map"},normalScale:{type:"vec2",default:{x:1,y:1}},normalTextureOffset:{type:"vec2"},normalTextureRepeat:{type:"vec2",default:{x:1,y:1}},offset:{type:"vec2",default:{x:0,y:0}},repeat:{type:"vec2",default:{x:1,y:1}},roughness:{default:.5,min:0,max:1},roughnessMap:{type:"map"},roughnessTextureOffset:{type:"vec2"},roughnessTextureRepeat:{type:"vec2",default:{x:1,y:1}},sphericalEnvMap:{type:"map"},src:{type:"map"},width:{default:512},wireframe:{default:!1},wireframeLinewidth:{default:2}},init:function(e){this.rendererSystem=this.el.sceneEl.systems.renderer,this.materialData={color:new i.Color,emissive:new i.Color},l(e,this.materialData),this.rendererSystem.applyColorCorrection(this.materialData.color),this.rendererSystem.applyColorCorrection(this.materialData.emissive),this.material=new i.MeshStandardMaterial(this.materialData),o.material.updateMap(this,e),e.normalMap&&o.material.updateDistortionMap("normal",this,e),e.displacementMap&&o.material.updateDistortionMap("displacement",this,e),e.ambientOcclusionMap&&o.material.updateDistortionMap("ambientOcclusion",this,e),e.metalnessMap&&o.material.updateDistortionMap("metalness",this,e),e.roughnessMap&&o.material.updateDistortionMap("roughness",this,e),this.updateEnvMap(e)},update:function(e){this.updateMaterial(e),o.material.updateMap(this,e),e.normalMap&&o.material.updateDistortionMap("normal",this,e),e.displacementMap&&o.material.updateDistortionMap("displacement",this,e),e.ambientOcclusionMap&&o.material.updateDistortionMap("ambientOcclusion",this,e),e.metalnessMap&&o.material.updateDistortionMap("metalness",this,e),e.roughnessMap&&o.material.updateDistortionMap("roughness",this,e),this.updateEnvMap(e)},updateMaterial:function(e){var t,n=this.material;for(t in l(e,this.materialData),this.rendererSystem.applyColorCorrection(this.materialData.color),this.rendererSystem.applyColorCorrection(this.materialData.emissive),this.materialData)n[t]=this.materialData[t]},updateEnvMap:function(e){var t=this,n=this.material,r=e.envMap,l=e.sphericalEnvMap;if(!r&&!l||this.isLoadingEnvMap)return n.envMap=null,void(n.needsUpdate=!0);this.isLoadingEnvMap=!0,l?this.el.sceneEl.systems.material.loadTexture(l,{src:l},(function(e){t.isLoadingEnvMap=!1,e.mapping=i.SphericalReflectionMapping,n.envMap=e,o.material.handleTextureEvents(t.el,e),n.needsUpdate=!0})):s[r]?s[r].then((function(e){t.isLoadingEnvMap=!1,n.envMap=e,o.material.handleTextureEvents(t.el,e),n.needsUpdate=!0})):s[r]=new Promise((function(e){o.srcLoader.validateCubemapSrc(r,(function(r){a.load(r,(function(r){t.isLoadingEnvMap=!1,n.envMap=r,o.material.handleTextureEvents(t.el,r),e(r)}))}))}))}})},{"../core/shader":141,"../lib/three":179,"../utils/":205}],186:[function(e,t,n){var r="html.a-fullscreen{bottom:0;left:0;position:fixed;right:0;top:0}html.a-fullscreen body{height:100%;margin:0;overflow:hidden;padding:0;width:100%}html.a-fullscreen .a-canvas{width:100%!important;height:100%!important;top:0!important;left:0!important;right:0!important;bottom:0!important;position:fixed!important}html:not(.a-fullscreen) .a-enter-ar,html:not(.a-fullscreen) .a-enter-vr{right:5px;bottom:5px}:-webkit-full-screen{background-color:transparent}.a-hidden{display:none!important}.a-canvas{height:100%;left:0;position:absolute;top:0;width:100%}.a-canvas.a-grab-cursor:hover{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}canvas.a-canvas.a-mouse-cursor-hover:hover{cursor:pointer}.a-inspector-loader{background-color:#ed3160;position:fixed;left:3px;top:3px;padding:6px 10px;color:#fff;text-decoration:none;font-size:12px;font-family:Roboto,sans-serif;text-align:center;z-index:99999;width:204px}@keyframes dots-1{from{opacity:0}25%{opacity:1}}@keyframes dots-2{from{opacity:0}50%{opacity:1}}@keyframes dots-3{from{opacity:0}75%{opacity:1}}@-webkit-keyframes dots-1{from{opacity:0}25%{opacity:1}}@-webkit-keyframes dots-2{from{opacity:0}50%{opacity:1}}@-webkit-keyframes dots-3{from{opacity:0}75%{opacity:1}}.a-inspector-loader .dots span{animation:dots-1 2s infinite steps(1);-webkit-animation:dots-1 2s infinite steps(1)}.a-inspector-loader .dots span:first-child+span{animation-name:dots-2;-webkit-animation-name:dots-2}.a-inspector-loader .dots span:first-child+span+span{animation-name:dots-3;-webkit-animation-name:dots-3}a-scene{display:block;position:relative;height:100%;width:100%}a-assets,a-scene audio,a-scene img,a-scene video{display:none}.a-enter-vr-modal,.a-orientation-modal{font-family:Consolas,Andale Mono,Courier New,monospace}.a-enter-vr-modal a{border-bottom:1px solid #fff;padding:2px 0;text-decoration:none;transition:.1s color ease-in}.a-enter-vr-modal a:hover{background-color:#fff;color:#111;padding:2px 4px;position:relative;left:-4px}.a-enter-ar,.a-enter-vr{font-family:sans-serif,monospace;font-size:13px;width:100%;font-weight:200;line-height:16px;position:absolute;right:20px;bottom:20px}.a-enter-ar{right:80px}.a-enter-vr-button,.a-enter-vr-modal,.a-enter-vr-modal a{color:#fff;user-select:none;outline:0}.a-enter-vr-button{background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='108' height='62' viewBox='0 0 108 62'%3E%3Ctitle%3Eaframe-vrmode-noborder-reduced-tracking%3C/title%3E%3Cpath d='M68.81,21.56H64.23v8.27h4.58a4.13,4.13,0,0,0,3.1-1.09,4.2,4.2,0,0,0,1-3,4.24,4.24,0,0,0-1-3A4.05,4.05,0,0,0,68.81,21.56Z' fill='%23fff'/%3E%3Cpath d='M96,0H12A12,12,0,0,0,0,12V50A12,12,0,0,0,12,62H96a12,12,0,0,0,12-12V12A12,12,0,0,0,96,0ZM41.9,46H34L24,16h8l6,21.84,6-21.84H52Zm39.29,0H73.44L68.15,35.39H64.23V46H57V16H68.81q5.32,0,8.34,2.37a8,8,0,0,1,3,6.69,9.68,9.68,0,0,1-1.27,5.18,8.9,8.9,0,0,1-4,3.34l6.26,12.11Z' fill='%23fff'/%3E%3C/svg%3E\") 50% 50% no-repeat rgba(0,0,0,.35)}.a-enter-ar-button{background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='108' height='62' viewBox='0 0 108 62'%3E%3Ctitle%3Eaframe-armode-noborder-reduced-tracking%3C/title%3E%3Cpath d='M96,0H12A12,12,0,0,0,0,12V50A12,12,0,0,0,12,62H96a12,12,0,0,0,12-12V12A12,12,0,0,0,96,0Zm8,50a8,8,0,0,1-8,8H12a8,8,0,0,1-8-8V12a8,8,0,0,1,8-8H96a8,8,0,0,1,8,8Z' fill='%23fff'/%3E%3Cpath d='M43.35,39.82H32.51L30.45,46H23.88L35,16h5.73L52,46H45.43Zm-9.17-5h7.5L37.91,23.58Z' fill='%23fff'/%3E%3Cpath d='M68.11,35H63.18V46H57V16H68.15q5.31,0,8.2,2.37a8.18,8.18,0,0,1,2.88,6.7,9.22,9.22,0,0,1-1.33,5.12,9.09,9.09,0,0,1-4,3.26l6.49,12.26V46H73.73Zm-4.93-5h5a5.09,5.09,0,0,0,3.6-1.18,4.21,4.21,0,0,0,1.28-3.27,4.56,4.56,0,0,0-1.2-3.34A5,5,0,0,0,68.15,21h-5Z' fill='%23fff'/%3E%3C/svg%3E\") 50% 50% no-repeat rgba(0,0,0,.2)}.a-enter-ar-button,.a-enter-vr-button{background-size:90% 90%;border:0;bottom:0;cursor:pointer;min-width:58px;min-height:34px;padding-right:0;padding-top:0;position:absolute;right:0;transition:background-color .05s ease;-webkit-transition:background-color .05s ease;z-index:9999;border-radius:8px;touch-action:manipulation}.a-enter-ar-button{background-size:100% 90%;margin-right:10px;border-radius:7px}.a-enter-ar-button:active,.a-enter-ar-button:hover,.a-enter-vr-button:active,.a-enter-vr-button:hover{background-color:#ef2d5e}.a-enter-vr-button.resethover{background-color:rgba(0,0,0,.35)}[data-a-enter-vr-no-webvr] .a-enter-vr-button{border-color:#666;opacity:.65}[data-a-enter-vr-no-webvr] .a-enter-vr-button:active,[data-a-enter-vr-no-webvr] .a-enter-vr-button:hover{background-color:rgba(0,0,0,.35);cursor:not-allowed}.a-enter-vr-modal{background-color:#666;border-radius:0;display:none;min-height:32px;margin-right:70px;padding:9px;width:280px;right:2%;position:absolute}.a-enter-vr-modal:after{border-bottom:10px solid transparent;border-left:10px solid #666;border-top:10px solid transparent;display:inline-block;content:'';position:absolute;right:-5px;top:5px;width:0;height:0}.a-enter-vr-modal a,.a-enter-vr-modal p{display:inline}.a-enter-vr-modal p{margin:0}.a-enter-vr-modal p:after{content:' '}[data-a-enter-vr-no-headset].a-enter-vr:hover .a-enter-vr-modal,[data-a-enter-vr-no-webvr].a-enter-vr:hover .a-enter-vr-modal{display:block}.a-orientation-modal{background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20version%3D%221.1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2090%2090%22%20enable-background%3D%22new%200%200%2090%2090%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%220%2C0%200%2C0%200%2C0%20%22%3E%3C/polygon%3E%3Cg%3E%3Cpath%20d%3D%22M71.545%2C48.145h-31.98V20.743c0-2.627-2.138-4.765-4.765-4.765H18.456c-2.628%2C0-4.767%2C2.138-4.767%2C4.765v42.789%20%20%20c0%2C2.628%2C2.138%2C4.766%2C4.767%2C4.766h5.535v0.959c0%2C2.628%2C2.138%2C4.765%2C4.766%2C4.765h42.788c2.628%2C0%2C4.766-2.137%2C4.766-4.765V52.914%20%20%20C76.311%2C50.284%2C74.173%2C48.145%2C71.545%2C48.145z%20M18.455%2C16.935h16.344c2.1%2C0%2C3.808%2C1.708%2C3.808%2C3.808v27.401H37.25V22.636%20%20%20c0-0.264-0.215-0.478-0.479-0.478H16.482c-0.264%2C0-0.479%2C0.214-0.479%2C0.478v36.585c0%2C0.264%2C0.215%2C0.478%2C0.479%2C0.478h7.507v7.644%20%20%20h-5.534c-2.101%2C0-3.81-1.709-3.81-3.81V20.743C14.645%2C18.643%2C16.354%2C16.935%2C18.455%2C16.935z%20M16.96%2C23.116h19.331v25.031h-7.535%20%20%20c-2.628%2C0-4.766%2C2.139-4.766%2C4.768v5.828h-7.03V23.116z%20M71.545%2C73.064H28.757c-2.101%2C0-3.81-1.708-3.81-3.808V52.914%20%20%20c0-2.102%2C1.709-3.812%2C3.81-3.812h42.788c2.1%2C0%2C3.809%2C1.71%2C3.809%2C3.812v16.343C75.354%2C71.356%2C73.645%2C73.064%2C71.545%2C73.064z%22%3E%3C/path%3E%3Cpath%20d%3D%22M28.919%2C58.424c-1.466%2C0-2.659%2C1.193-2.659%2C2.66c0%2C1.466%2C1.193%2C2.658%2C2.659%2C2.658c1.468%2C0%2C2.662-1.192%2C2.662-2.658%20%20%20C31.581%2C59.617%2C30.387%2C58.424%2C28.919%2C58.424z%20M28.919%2C62.786c-0.939%2C0-1.703-0.764-1.703-1.702c0-0.939%2C0.764-1.704%2C1.703-1.704%20%20%20c0.94%2C0%2C1.705%2C0.765%2C1.705%2C1.704C30.623%2C62.022%2C29.858%2C62.786%2C28.919%2C62.786z%22%3E%3C/path%3E%3Cpath%20d%3D%22M69.654%2C50.461H33.069c-0.264%2C0-0.479%2C0.215-0.479%2C0.479v20.288c0%2C0.264%2C0.215%2C0.478%2C0.479%2C0.478h36.585%20%20%20c0.263%2C0%2C0.477-0.214%2C0.477-0.478V50.939C70.131%2C50.676%2C69.917%2C50.461%2C69.654%2C50.461z%20M69.174%2C51.417V70.75H33.548V51.417H69.174z%22%3E%3C/path%3E%3Cpath%20d%3D%22M45.201%2C30.296c6.651%2C0%2C12.233%2C5.351%2C12.551%2C11.977l-3.033-2.638c-0.193-0.165-0.507-0.142-0.675%2C0.048%20%20%20c-0.174%2C0.198-0.153%2C0.501%2C0.045%2C0.676l3.883%2C3.375c0.09%2C0.075%2C0.198%2C0.115%2C0.312%2C0.115c0.141%2C0%2C0.273-0.061%2C0.362-0.166%20%20%20l3.371-3.877c0.173-0.2%2C0.151-0.502-0.047-0.675c-0.194-0.166-0.508-0.144-0.676%2C0.048l-2.592%2C2.979%20%20%20c-0.18-3.417-1.629-6.605-4.099-9.001c-2.538-2.461-5.877-3.817-9.404-3.817c-0.264%2C0-0.479%2C0.215-0.479%2C0.479%20%20%20C44.72%2C30.083%2C44.936%2C30.296%2C45.201%2C30.296z%22%3E%3C/path%3E%3C/g%3E%3C/svg%3E) center/50% 50% no-repeat rgba(244,244,244,1);bottom:0;font-size:14px;font-weight:600;left:0;line-height:20px;right:0;position:fixed;top:0;z-index:9999999}.a-orientation-modal:after{color:#666;content:\"Insert phone into Cardboard holder.\";display:block;position:absolute;text-align:center;top:70%;transform:translateY(-70%);width:100%}.a-orientation-modal button{background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20version%3D%221.1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20100%20100%22%20enable-background%3D%22new%200%200%20100%20100%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M55.209%2C50l17.803-17.803c1.416-1.416%2C1.416-3.713%2C0-5.129c-1.416-1.417-3.713-1.417-5.129%2C0L50.08%2C44.872%20%20L32.278%2C27.069c-1.416-1.417-3.714-1.417-5.129%2C0c-1.417%2C1.416-1.417%2C3.713%2C0%2C5.129L44.951%2C50L27.149%2C67.803%20%20c-1.417%2C1.416-1.417%2C3.713%2C0%2C5.129c0.708%2C0.708%2C1.636%2C1.062%2C2.564%2C1.062c0.928%2C0%2C1.856-0.354%2C2.564-1.062L50.08%2C55.13l17.803%2C17.802%20%20c0.708%2C0.708%2C1.637%2C1.062%2C2.564%2C1.062s1.856-0.354%2C2.564-1.062c1.416-1.416%2C1.416-3.713%2C0-5.129L55.209%2C50z%22%3E%3C/path%3E%3C/svg%3E) no-repeat;border:none;height:50px;text-indent:-9999px;width:50px}.a-loader-title{background-color:rgba(0,0,0,.6);font-family:sans-serif,monospace;text-align:center;font-size:20px;height:50px;font-weight:300;line-height:50px;position:absolute;right:0;left:0;top:0;color:#fff}.a-modal{background:0 0/50% 50% rgba(0,0,0,.6);bottom:0;font-size:14px;font-weight:600;left:0;line-height:20px;right:0;position:fixed;top:0;z-index:9999999}.a-dialog{position:relative;left:50%;top:50%;transform:translate(-50%,-50%);z-index:199995;width:300px;height:200px;background-size:contain;background-color:#fff;font-family:sans-serif,monospace;font-size:20px;border-radius:3px;padding:6px}.a-dialog-text-container{width:100%;height:70%;align-self:flex-start;display:flex;justify-content:center;align-content:center;flex-direction:column}.a-dialog-text{display:inline-block;font-weight:400;font-size:14pt;margin:8px}.a-dialog-buttons-container{display:inline-flex;align-self:flex-end;width:100%;height:30%}.a-dialog-button{cursor:pointer;align-self:center;opacity:.9;height:80%;width:50%;font-size:12pt;margin:4px;border-radius:2px;text-align:center;border:none;display:inline-block;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.2);user-select:none}.a-dialog-permission-button:hover{box-shadow:0 7px 14px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.2)}.a-dialog-allow-button{background-color:#00ceff}.a-dialog-deny-button{background-color:#ff005b}.a-dialog-ok-button{background-color:#00ceff;width:100%}";e("browserify-css").createStyle(r,{href:"src/style/aframe.css"}),t.exports=r},{"browserify-css":4}],187:[function(e,t,n){var r=".rs-base{background-color:#333;color:#fafafa;border-radius:0;font:10px monospace;left:5px;line-height:1em;opacity:.85;overflow:hidden;padding:10px;position:fixed;top:5px;width:300px;z-index:10000}.rs-base div.hidden{display:none}.rs-base h1{color:#fff;cursor:pointer;font-size:1.4em;font-weight:300;margin:0 0 5px;padding:0}.rs-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;margin-bottom:5px}.rs-group:last-child{margin-bottom:0}.rs-counter-base{align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;height:10px;-webkit-justify-content:space-between;justify-content:space-between;margin:2px 0}.rs-counter-base.alarm{color:#b70000;text-shadow:0 0 0 #b70000,0 0 1px #fff,0 0 1px #fff,0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 3px #fff,0 0 4px #fff,0 0 4px #fff}.rs-counter-id{font-weight:300;-webkit-box-ordinal-group:0;-webkit-order:0;order:0;width:54px}.rs-counter-value{font-weight:300;-webkit-box-ordinal-group:1;-webkit-order:1;order:1;text-align:right;width:35px}.rs-canvas{-webkit-box-ordinal-group:2;-webkit-order:2;order:2}@media (min-width:480px){.rs-base{left:20px;top:20px}}";e("browserify-css").createStyle(r,{href:"src/style/rStats.css"}),t.exports=r},{"browserify-css":4}],188:[function(e,t,n){var r=e("../constants/"),i=e("../core/system").registerSystem,o="data-aframe-default-camera";function a(e){var t;e.camera&&(t=e.querySelector("["+o+"]"))&&e.removeChild(t)}t.exports.System=i("camera",{init:function(){this.activeCameraEl=null,this.render=this.render.bind(this),this.unwrapRender=this.unwrapRender.bind(this),this.wrapRender=this.wrapRender.bind(this),this.initialCameraFound=!1,this.numUserCameras=0,this.numUserCamerasChecked=0,this.setupInitialCamera()},setupInitialCamera:function(){var e,t,n=this.sceneEl,r=this;if(!n.camera||n.camera.el.getAttribute("camera").spectator)if((e=n.querySelectorAll("a-camera, [camera]")).length)for(this.numUserCameras=e.length,t=0;t<e.length;t++)e[t].addEventListener("object3dset",(function(e){"camera"===e.detail.type&&r.checkUserCamera(this)})),e[t].isNode?e[t].load():e[t].addEventListener("nodeready",(function(){this.load()}));else this.createDefaultCamera();else n.emit("cameraready",{cameraEl:n.camera.el})},checkUserCamera:function(e){var t,n=this.el.sceneEl;this.numUserCamerasChecked++,this.initialCameraFound||((t=e.getAttribute("camera")).active&&!t.spectator?(this.initialCameraFound=!0,n.camera=e.getObject3D("camera"),n.emit("cameraready",{cameraEl:e})):this.numUserCamerasChecked===this.numUserCameras&&this.createDefaultCamera())},createDefaultCamera:function(){var e,t=this.sceneEl;(e=document.createElement("a-entity")).setAttribute("camera",{active:!0}),e.setAttribute("position",{x:0,y:r.DEFAULT_CAMERA_HEIGHT,z:0}),e.setAttribute("wasd-controls",""),e.setAttribute("look-controls",""),e.setAttribute(r.AFRAME_INJECTED,""),e.addEventListener("object3dset",(function(n){"camera"===n.detail.type&&(t.camera=n.detail.object,t.emit("cameraready",{cameraEl:e}))})),t.appendChild(e)},disableActiveCamera:function(){var e;(e=this.sceneEl.querySelectorAll("[camera]"))[e.length-1].setAttribute("camera","active",!0)},setActiveCamera:function(e){var t,n,r,i,s=this.activeCameraEl,l=this.sceneEl;if((i=e.getObject3D("camera"))&&e!==this.activeCameraEl){var c=l.querySelector("["+o+"]");for(e!==(c&&c.querySelector("[camera]"))&&a(l),this.activeCameraEl=e,this.activeCameraEl.play(),l.camera=i,s&&s.setAttribute("camera","active",!1),n=l.querySelectorAll("[camera]"),r=0;r<n.length;r++)(t=n[r]).isEntity&&e!==t&&(t.setAttribute("camera","active",!1),t.pause());l.emit("camera-set-active",{cameraEl:e})}},setSpectatorCamera:function(e){var t,n=this.spectatorCameraEl,r=this.sceneEl;e.getObject3D("camera")&&e!==this.spectatorCameraEl&&(n&&n.setAttribute("camera","spectator",!1),t=this.spectatorCameraEl=e,r.addEventListener("enter-vr",this.wrapRender),r.addEventListener("exit-vr",this.unwrapRender),t.setAttribute("camera","active",!1),t.play(),r.emit("camera-set-spectator",{cameraEl:e}))},disableSpectatorCamera:function(){this.spectatorCameraEl=void 0},wrapRender:function(){this.spectatorCameraEl&&!this.originalRender&&(this.originalRender=this.sceneEl.renderer.render,this.sceneEl.renderer.render=this.render)},unwrapRender:function(){this.originalRender&&(this.sceneEl.renderer.render=this.originalRender,this.originalRender=void 0)},render:function(e,t){var n,r,i=this.sceneEl;n=i.renderer.xr.enabled,this.originalRender.call(i.renderer,e,t),this.spectatorCameraEl&&!i.isMobile&&n&&(r=this.spectatorCameraEl.components.camera.camera,i.renderer.xr.enabled=!1,this.originalRender.call(i.renderer,e,r),i.renderer.xr.enabled=n)}})},{"../constants/":123,"../core/system":142}],189:[function(e,t,n){var r=e("../core/geometry").geometries,i=e("../core/system").registerSystem;function o(e){var t=e.primitive,n=r[t]&&r[t].Geometry,i=new n;if(!n)throw new Error("Unknown geometry `"+t+"`");return i.init(e),i.geometry}function a(e,t){e[t]--}function s(e,t){e[t]=void 0===e[t]?1:e[t]+1}t.exports.System=i("geometry",{init:function(){this.cache={},this.cacheCount={}},clearCache:function(){this.cache={},this.cacheCount={}},getOrCreateGeometry:function(e){var t,n,r=this.cache;return e.skipCache?o(e):(t=r[n=this.hash(e)],s(this.cacheCount,n),t||(t=o(e),r[n]=t,t))},unuseGeometry:function(e){var t,n=this.cache,r=this.cacheCount;e.skipCache||n[t=this.hash(e)]&&(a(r,t),r[t]>0||(n[t].dispose(),delete n[t],delete r[t]))},hash:function(e){return JSON.stringify(e)}})},{"../core/geometry":132,"../core/system":142}],190:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../lib/three");t.exports.System=r("gltf-model",{schema:{dracoDecoderPath:{default:""}},init:function(){var e=this.data.dracoDecoderPath;this.dracoLoader=new i.DRACOLoader,this.dracoLoader.setDecoderPath(e)},update:function(){var e;this.dracoLoader||(e=this.data.dracoDecoderPath,this.dracoLoader=new i.DRACOLoader,this.dracoLoader.setDecoderPath(e))},getDRACOLoader:function(){return this.dracoLoader}})},{"../core/system":142,"../lib/three":179}],191:[function(e,t,n){e("./camera"),e("./geometry"),e("./gltf-model"),e("./light"),e("./material"),e("./renderer"),e("./shadow"),e("./tracked-controls-webvr"),e("./tracked-controls-webxr"),e("./webxr")},{"./camera":188,"./geometry":189,"./gltf-model":190,"./light":192,"./material":193,"./renderer":194,"./shadow":195,"./tracked-controls-webvr":196,"./tracked-controls-webxr":197,"./webxr":198}],192:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../utils/bind"),o=e("../constants/"),a="data-aframe-default-light";t.exports.System=r("light",{schema:{defaultLightsEnabled:{default:!0}},init:function(){this.defaultLights=!1,this.userDefinedLights=!1,this.sceneEl.addEventListener("loaded",i(this.setupDefaultLights,this))},registerLight:function(e){e.hasAttribute(a)||(this.removeDefaultLights(),this.userDefinedLights=!0)},removeDefaultLights:function(){var e,t=this.sceneEl;if(this.defaultLights){e=document.querySelectorAll("["+a+"]");for(var n=0;n<e.length;n++)t.removeChild(e[n]);this.defaultLights=!1}},setupDefaultLights:function(){var e,t,n=this.sceneEl;this.userDefinedLights||this.defaultLights||!this.data.defaultLightsEnabled||((e=document.createElement("a-entity")).setAttribute("light",{color:"#BBB",type:"ambient"}),e.setAttribute(a,""),e.setAttribute(o.AFRAME_INJECTED,""),n.appendChild(e),(t=document.createElement("a-entity")).setAttribute("light",{color:"#FFF",intensity:.6,castShadow:!0}),t.setAttribute("position",{x:-.5,y:1,z:1}),t.setAttribute(a,""),t.setAttribute(o.AFRAME_INJECTED,""),n.appendChild(t),this.defaultLights=!0)}})},{"../constants/":123,"../core/system":142,"../utils/bind":199}],193:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../lib/three"),o=e("../utils/"),a=e("../utils/material").isHLS,s=o.bind,l=o.debug,c=l("components:texture:error"),u=new i.TextureLoader,h=l("components:texture:warn");function d(e,t){var n,r,i,o=t.getAttribute("id");if(o)return o;for(r="",i=e||{},n=0;n<t.attributes.length;n++)i[t.attributes[n].name]=t.attributes[n].value;return Object.keys(i).sort().forEach((function(e){r+=e+":"+i[e]+";"})),r}function p(e,t){return new Promise(n);function n(n,r){function o(e){f(e,t),e.needsUpdate=!0,n(e)}"string"!==typeof e?o(new i.Texture(e)):u.load(e,o,(function(){}),(function(e){c("`$s` could not be fetched (Error code: %s; Response: %s)",e.status,e.statusText)}))}}function f(e,t){var n=t.offset||{x:0,y:0},r=t.repeat||{x:1,y:1};!!t.npot&&(e.wrapS=i.ClampToEdgeWrapping,e.wrapT=i.ClampToEdgeWrapping,e.magFilter=i.LinearFilter,e.minFilter=i.LinearFilter),1===r.x&&1===r.y||(e.wrapS=i.RepeatWrapping,e.wrapT=i.RepeatWrapping,e.repeat.set(r.x,r.y)),0===n.x&&0===n.y||e.offset.set(n.x,n.y)}function m(e,t,n){var r=document.createElement("video");return r.width=t,r.height=n,r.setAttribute("playsinline",""),r.setAttribute("webkit-playsinline",""),r.autoplay=!0,r.loop=!0,r.crossOrigin="anonymous",r.addEventListener("error",(function(){h("`$s` is not a valid video",e)}),!0),r.src=e,r}function v(e){return e.autoplay=e.hasAttribute("autoplay")&&"false"!==e.getAttribute("autoplay"),e.controls=e.hasAttribute("controls")&&"false"!==e.getAttribute("controls"),"false"===e.getAttribute("loop")&&e.removeAttribute("loop"),"false"===e.getAttribute("preload")&&(e.preload="none"),e.crossOrigin=e.crossOrigin||"anonymous",e.setAttribute("playsinline",""),e.setAttribute("webkit-playsinline",""),e}u.setCrossOrigin("anonymous"),t.exports.System=r("material",{init:function(){this.materials={},this.textureCounts={},this.textureCache={},this.sceneEl.addEventListener("materialtextureloaded",s(this.onMaterialTextureLoaded,this))},clearTextureCache:function(){this.textureCache={}},loadTexture:function(e,t,n){var r=this;if("CANVAS"!==e.tagName){if("VIDEO"===e.tagName)return e.src||e.srcObject||e.childElementCount||h("Video element was defined with neither `source` elements nor `src` / `srcObject` attributes."),void this.loadVideo(e,t,n);o.srcLoader.validateSrc(e,i,a)}else this.loadCanvas(e,t,n);function i(e){r.loadImage(e,t,n)}function a(e){r.loadVideo(e,t,n)}},loadImage:function(e,t,n){var r=this.hash(t),i=this.textureCache;i[r]||(i[r]=p(e,t)),i[r].then(n)},loadCanvas:function(e,t,n){var r;f(r=new i.CanvasTexture(e),t),n(r)},loadVideo:function(e,t,n){var r,o,s,l,c=this.textureCache;function u(e){e.texture.needsUpdate=!0,n(e.texture,e.videoEl)}if("string"!==typeof e){if(s=e,c[r=this.hashVideo(t,s)])return void c[r].then(u);v(s)}s=s||m(e,t.width,t.height),c[r=this.hashVideo(t,s)]?c[r].then(u):((o=new i.VideoTexture(s)).minFilter=i.LinearFilter,f(o,t),this.sceneEl.isIOS&&a(s.src||s.getAttribute("src"),s.type||s.getAttribute("type"))&&(o.format=i.RGBAFormat,o.needsCorrectionBGRA=!0,o.flipY=!1,o.needsCorrectionFlipY=!0),l={texture:o,videoEl:s},c[r]=Promise.resolve(l),u(l))},hash:function(e){return e.src.tagName&&((e=o.extendDeep({},e)).src=e.src.src),JSON.stringify(e)},hashVideo:function(e,t){return d(e,t)},registerMaterial:function(e){this.materials[e.uuid]=e},unregisterMaterial:function(e){delete this.materials[e.uuid];var t=this.textureCounts;Object.keys(e).filter((function(t){return e[t]&&e[t].isTexture})).forEach((function(n){t[e[n].uuid]--,t[e[n].uuid]<=0&&e[n].dispose()}))},updateMaterials:function(e){var t=this.materials;Object.keys(t).forEach((function(e){t[e].needsUpdate=!0}))},onMaterialTextureLoaded:function(e){this.textureCounts[e.detail.texture.uuid]||(this.textureCounts[e.detail.texture.uuid]=0),this.textureCounts[e.detail.texture.uuid]++}})},{"../core/system":142,"../lib/three":179,"../utils/":205,"../utils/material":209}],194:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../utils/"),o=e("../lib/three"),a=(0,i.debug)("components:renderer:warn");t.exports.System=r("renderer",{schema:{antialias:{default:"auto",oneOf:["true","false","auto"]},highRefreshRate:{default:i.device.isOculusBrowser()},logarithmicDepthBuffer:{default:"auto",oneOf:["true","false","auto"]},maxCanvasWidth:{default:1920},maxCanvasHeight:{default:1920},physicallyCorrectLights:{default:!1},precision:{default:"high",oneOf:["high","medium","low"]},sortObjects:{default:!1},colorManagement:{default:!1},gammaOutput:{default:!1},alpha:{default:!0},foveationLevel:{default:0}},init:function(){var e=this.data,t=this.el,n=t.renderer;n.sortObjects=e.sortObjects,n.physicallyCorrectLights=e.physicallyCorrectLights,(e.colorManagement||e.gammaOutput)&&(n.outputEncoding=o.sRGBEncoding,e.gammaOutput&&a('Property `gammaOutput` is deprecated. Use `renderer="colorManagement: true;"` instead.')),t.hasAttribute("antialias")&&a('Component `antialias` is deprecated. Use `renderer="antialias: true"` instead.'),t.hasAttribute("logarithmicDepthBuffer")&&a('Component `logarithmicDepthBuffer` is deprecated. Use `renderer="logarithmicDepthBuffer: true"` instead.')},applyColorCorrection:function(e){this.data.colorManagement&&e&&(e.isColor?e.convertSRGBToLinear():e.isTexture&&(e.encoding=o.sRGBEncoding))}})},{"../core/system":142,"../lib/three":179,"../utils/":205}],195:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../lib/three"),o={basic:i.BasicShadowMap,pcf:i.PCFShadowMap,pcfsoft:i.PCFSoftShadowMap};t.exports.System=r("shadow",{schema:{enabled:{default:!0},autoUpdate:{default:!0},type:{default:"pcf",oneOf:["basic","pcf","pcfsoft"]}},init:function(){var e=this.sceneEl,t=this.data;this.shadowMapEnabled=!1,e.renderer&&(e.renderer.shadowMap.type=o[t.type],e.renderer.shadowMap.autoUpdate=t.autoUpdate,this.setShadowMapEnabled(this.shadowMapEnabled))},update:function(e){e.enabled!==this.data.enabled&&this.setShadowMapEnabled(this.data.enabled)},setShadowMapEnabled:function(e){var t=this.sceneEl.renderer;this.shadowMapEnabled=this.data.enabled&&e,t&&(t.shadowMap.enabled=this.shadowMapEnabled)}})},{"../core/system":142,"../lib/three":179}],196:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../utils"),o=i.device.isWebXRAvailable;t.exports.System=r("tracked-controls-webvr",{init:function(){var e=this;this.controllers=[],this.isChrome=-1!==navigator.userAgent.indexOf("Chrome"),this.updateControllerList(),this.throttledUpdateControllerList=i.throttle(this.updateControllerList,500,this),o||navigator.getVRDisplays&&this.sceneEl.addEventListener("enter-vr",(function(){navigator.getVRDisplays().then((function(t){t.length&&(e.vrDisplay=t[0])}))}))},tick:function(){this.isChrome?this.updateControllerList():this.throttledUpdateControllerList()},updateControllerList:function(){var e,t,n,r,i=this.controllers;if(t=navigator.getGamepads&&navigator.getGamepads()){for(r=i.length,i.length=0,n=0;n<t.length;++n)(e=t[n])&&e.pose&&i.push(e);i.length!==r&&this.el.emit("controllersupdated",void 0,!1)}}})},{"../core/system":142,"../utils":205}],197:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../utils");t.exports.System=r("tracked-controls-webxr",{init:function(){this.controllers=[],this.oldControllers=[],this.oldControllersLength=0,this.throttledUpdateControllerList=i.throttle(this.updateControllerList,500,this),this.updateReferenceSpace=this.updateReferenceSpace.bind(this),this.el.addEventListener("enter-vr",this.updateReferenceSpace),this.el.addEventListener("exit-vr",this.updateReferenceSpace)},tick:function(){this.throttledUpdateControllerList()},updateReferenceSpace:function(){var e=this,t=this.el.xrSession;if(!t)return this.referenceSpace=void 0,this.controllers=[],void(this.oldControllersLength>0&&(this.oldControllersLength=0,this.el.emit("controllersupdated",void 0,!1)));var n=e.el.sceneEl.systems.webxr.sessionReferenceSpaceType;t.requestReferenceSpace(n).then((function(t){e.referenceSpace=t})).catch((function(t){throw e.el.sceneEl.systems.webxr.warnIfFeatureNotRequested(n,'tracked-controls-webxr uses reference space "'+n+'".'),t}))},updateControllerList:function(){var e,t=this.el.xrSession,n=this.oldControllers;if(!t){if(0===this.oldControllersLength)return;return this.oldControllersLength=0,this.controllers=[],void this.el.emit("controllersupdated",void 0,!1)}if(t.inputSources){if(this.controllers=t.inputSources,this.oldControllersLength===this.controllers.length){var r=!0;for(e=0;e<this.controllers.length;++e)if(this.controllers[e]!==n[e]||this.controllers[e].gamepad!==n[e].gamepad){r=!1;break}if(r)return}for(n.length=0,e=0;e<this.controllers.length;e++)n.push(this.controllers[e]);this.oldControllersLength=this.controllers.length,this.el.emit("controllersupdated",void 0,!1)}}})},{"../core/system":142,"../utils":205}],198:[function(e,t,n){var r=e("../core/system").registerSystem,i=e("../utils/").debug("systems:webxr:warn");t.exports.System=r("webxr",{schema:{referenceSpaceType:{type:"string",default:"local-floor"},requiredFeatures:{type:"array",default:["local-floor"]},optionalFeatures:{type:"array",default:["bounded-floor"]},overlayElement:{type:"selector"}},update:function(){var e=this.data;this.sessionConfiguration={requiredFeatures:e.requiredFeatures,optionalFeatures:e.optionalFeatures},this.sessionReferenceSpaceType=e.referenceSpaceType,e.overlayElement&&(this.warnIfFeatureNotRequested("dom-overlay"),this.sessionConfiguration.domOverlay={root:e.overlayElement})},wasFeatureRequested:function(e){return"viewer"===e||"local"===e||!(!this.sessionConfiguration.requiredFeatures.includes(e)&&!this.sessionConfiguration.optionalFeatures.includes(e))},warnIfFeatureNotRequested:function(e,t){this.wasFeatureRequested(e)||i((t?t+" ":"")+'Please add the feature "'+e+"\" to a-scene's webxr system options in requiredFeatures/optionalFeatures.")}})},{"../core/system":142,"../utils/":205}],199:[function(e,t,n){t.exports=function(e,t){return n=Array.prototype.slice.call(arguments,2),function(){var r=n.concat(Array.prototype.slice.call(arguments,0));return e.apply(t,r)};var n}},{}],200:[function(e,t,n){var r=e("./debug"),i=e("object-assign"),o=r("utils:coordinates:warn"),a=["x","y","z","w"],s=/^\s*((-?\d*\.{0,1}\d+(e-?\d+)?)\s+){2,3}(-?\d*\.{0,1}\d+(e-?\d+)?)\s*$/;t.exports.regex=s;var l="object",c=/\s+/g;function u(e,t){var n,r,o,s,u,h,d,f,m;if(e&&e instanceof Object)return h=void 0===e.x?t&&t.x:e.x,d=void 0===e.y?t&&t.y:e.y,f=void 0===e.z?t&&t.z:e.z,m=void 0===e.w?t&&t.w:e.w,void 0!==h&&null!==h&&(e.x=p(h)),void 0!==d&&null!==d&&(e.y=p(d)),void 0!==f&&null!==f&&(e.z=p(f)),void 0!==m&&null!==m&&(e.w=p(m)),e;if(null===e||void 0===e)return typeof t===l?i({},t):t;for(n=e.trim().split(c),u={},s=0;s<a.length;s++)if(o=a[s],n[s])u[o]=parseFloat(n[s],10);else{if(void 0===(r=t&&t[o]))continue;u[o]=p(r)}return u}function h(e){var t;return typeof e!==l?e:(t=e.x+" "+e.y,null!=e.z&&(t+=" "+e.z),null!=e.w&&(t+=" "+e.w),t)}function d(e){return s.test(e)}function p(e){return null!==e&&void 0!==e&&e.constructor===String?parseFloat(e,10):e}t.exports.parse=u,t.exports.stringify=h,t.exports.isCoordinates=d,t.exports.isCoordinate=function(e){return o("`AFRAME.utils.isCoordinate` has been renamed to `AFRAME.utils.isCoordinates`"),d(e)},t.exports.toVector3=function(e){return new THREE.Vector3(e.x,e.y,e.z)}},{"./debug":201,"object-assign":39}],201:[function(t,n,r){(function(r){var i=t("debug"),o=t("object-assign"),a={colors:{debug:"gray",error:"red",info:"gray",warn:"orange"}},s=function(e){var t=i(e);return t.color=c(e),t};function l(e){var t=e.split(":");return t[t.length-1]}function c(e){var t=l(e);return a.colors&&a.colors[t]||null}function u(){try{return window.localStorage}catch(e){}}o(s,i);var h=u();h&&(parseInt(h.logs,10)||"true"===h.logs)?s.enable("*"):s.enable("*:error,*:info,*:warn"),r.browser&&(window.logs=s),n.exports=s}).call(this,t("_process"))},{_process:49,debug:8,"object-assign":39}],202:[function(e,t,n){(function(n){var r,i=e("debug")("device:error"),o=!1,a=!1,s=t.exports.isWebXRAvailable=!window.debug&&void 0!==navigator.xr;if(window.addEventListener("vrdisplayactivate",(function(e){var t;s||(t=document.createElement("canvas"),r=e.display,t.getContext("webgl",{}),r.requestPresent([{source:t}]).then((function(){}),(function(){})))})),s){var l=function(){var e=document.querySelector("a-scene");e?e.hasLoaded?e.components["vr-mode-ui"].updateEnterInterfaces():e.addEventListener("loaded",l):window.addEventListener("DOMContentLoaded",l)},c=function(e){i("WebXR session support error: "+e.message)};navigator.xr.isSessionSupported?(navigator.xr.isSessionSupported("immersive-vr").then((function(e){o=e,l()})).catch(c),navigator.xr.isSessionSupported("immersive-ar").then((function(e){a=e,l()})).catch((function(){}))):navigator.xr.supportsSession?(navigator.xr.supportsSession("immersive-vr").then((function(){o=!0,l()})).catch(c),navigator.xr.supportsSession("immersive-ar").then((function(){a=!0,l()})).catch((function(){}))):i("WebXR has neither isSessionSupported or supportsSession?!")}else navigator.getVRDisplays&&navigator.getVRDisplays().then((function(e){var t=document.querySelector("a-scene");r=e.length&&e[0],t&&t.emit("displayconnected",{vrDisplay:r})}));function u(){return r}function h(){return o||a||!!u()}function d(){return a}t.exports.getVRDisplay=u,t.exports.checkHeadsetConnected=h,t.exports.checkARSupport=d;var p=function(){var e,t=!1;return e=window.navigator.userAgent||window.navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),(m()||f()||A())&&(t=!0),b()&&(t=!1),function(){return t}}();function f(e){var t=e||window.navigator.userAgent;return/ipad|Nexus (7|9)|xoom|sch-i800|playbook|tablet|kindle/i.test(t)}function m(){return/iPad|iPhone|iPod/.test(window.navigator.platform)}function v(){return!p()&&!b()&&void 0!==window.orientation}function g(){return/(OculusBrowser)/i.test(window.navigator.userAgent)}function y(){return/(Mobile VR)/i.test(window.navigator.userAgent)}function b(){return g()||y()}function A(){return/R7 Build/.test(window.navigator.userAgent)}t.exports.isMobile=p,t.exports.isTablet=f,t.exports.isIOS=m,t.exports.isMobileDeviceRequestingDesktopSite=v,t.exports.isOculusBrowser=g,t.exports.isFirefoxReality=y,t.exports.isMobileVR=b,t.exports.isR7=A,t.exports.isLandscape=function(){var e=window.orientation;return A()&&(e+=90),90===e||-90===e},t.exports.isBrowserEnvironment=!(n&&!n.browser),t.exports.isNodeEnvironment=!t.exports.isBrowserEnvironment}).call(this,e("_process"))},{_process:49,debug:8}],203:[function(e,t,n){var r={};function i(e,t){return r[t=t||"."]||(r[t]={}),-1!==e.indexOf(t)?r[t][e]=e.split(t):r[t][e]=e,r[t][e]}t.exports.getComponentPropertyPath=i,t.exports.propertyPathCache=r,t.exports.getComponentProperty=function(e,t,n){var r;return n=n||".",-1!==t.indexOf(n)?(r=i(t,n)).constructor===String?e.getAttribute(r):e.getAttribute(r[0])[r[1]]:e.getAttribute(t)},t.exports.setComponentProperty=function(e,t,n,r){var o;r=r||".",-1===t.indexOf(r)?e.setAttribute(t,n):(o=i(t,r)).constructor===String?e.setAttribute(o,n):e.setAttribute(o[0],o[1],n)}},{}],204:[function(e,t,n){t.exports=function(e){var t=e.style.width,n=e.style.height;e.style.width=parseInt(t,10)+1+"px",e.style.height=parseInt(n,10)+1+"px",setTimeout((function(){e.style.width=t,e.style.height=n}),200)}},{}],205:[function(e,t,n){var r=e("./debug"),i=e("deep-assign"),o=e("./device"),a=e("object-assign"),s=e("./object-pool"),l=r("utils:warn");t.exports.bind=e("./bind"),t.exports.coordinates=e("./coordinates"),t.exports.debug=r,t.exports.device=o,t.exports.entity=e("./entity"),t.exports.forceCanvasResizeSafariMobile=e("./forceCanvasResizeSafariMobile"),t.exports.isIE11=e("./is-ie11"),t.exports.material=e("./material"),t.exports.objectPool=s,t.exports.split=e("./split").split,t.exports.styleParser=e("./styleParser"),t.exports.trackedControls=e("./tracked-controls"),t.exports.checkHeadsetConnected=function(){return l("`utils.checkHeadsetConnected` has moved to `utils.device.checkHeadsetConnected`"),o.checkHeadsetConnected(arguments)},t.exports.isGearVR=t.exports.device.isGearVR=function(){l("`utils.isGearVR` has been deprecated, use `utils.device.isMobileVR`")},t.exports.isIOS=function(){return l("`utils.isIOS` has moved to `utils.device.isIOS`"),o.isIOS(arguments)},t.exports.isOculusGo=t.exports.device.isOculusGo=function(){l("`utils.isOculusGo` has been deprecated, use `utils.device.isMobileVR`")},t.exports.isMobile=function(){return l("`utils.isMobile has moved to `utils.device.isMobile`"),o.isMobile(arguments)},t.exports.throttle=function(e,n,r){var i;return r&&(e=t.exports.bind(e,r)),function(){var t=Date.now();("undefined"===typeof i||("undefined"===typeof i?n:t-i)>=n)&&(i=t,e.apply(null,arguments))}},t.exports.throttleTick=function(e,n,r){var i;return r&&(e=t.exports.bind(e,r)),function(t,r){var o="undefined"===typeof i?r:t-i;("undefined"===typeof i||o>=n)&&(i=t,e(t,o))}},t.exports.debounce=function(e,t,n){var r;return function(){var i=this,o=arguments,a=function(){r=null,n||e.apply(i,o)},s=n&&!r;clearTimeout(r),r=setTimeout(a,t),s&&e.apply(i,o)}},t.exports.extend=a,t.exports.extendDeep=i,t.exports.clone=function(e){return JSON.parse(JSON.stringify(e))};var c=function(){var e=s.createPool((function(){return[]}));return function(t,n){var r,i,o,a,s,l;if(void 0===t||void 0===n||null===t||null===n||!(t&&n&&t.constructor===Object&&n.constructor===Object||t.constructor===Array&&n.constructor===Array))return t===n;for(r in i=e.use(),o=e.use(),i.length=0,o.length=0,t)i.push(r);for(r in n)o.push(r);if(i.length!==o.length)return e.recycle(i),e.recycle(o),!1;for(a=0;a<i.length;++a)if(s=t[i[a]],l=n[i[a]],"object"===typeof s||"object"===typeof l||Array.isArray(s)&&Array.isArray(l)){if(s===l)continue;if(!c(s,l))return e.recycle(i),e.recycle(o),!1}else if(s!==l)return e.recycle(i),e.recycle(o),!1;return e.recycle(i),e.recycle(o),!0}}();t.exports.deepEqual=c,t.exports.diff=function(){var e=[];return function(t,n,r){var i,o,a,s,l,u,h;for(l in s=r||{},e.length=0,t)e.push(l);if(!n)return s;for(a in n)-1===e.indexOf(a)&&e.push(a);for(u=0;u<e.length;u++)i=t[l=e[u]],o=n[l],((h=i&&o&&i.constructor===Object&&o.constructor===Object)&&!c(i,o)||!h&&i!==o)&&(s[l]=o);return s}}(),t.exports.shouldCaptureKeyEvent=function(e){return!e.metaKey&&document.activeElement===document.body},t.exports.splitString=function(e,t){"undefined"===typeof t&&(t=" ");var n=new RegExp(t,"g");return(e=(e||"").replace(n,t)).split(t)},t.exports.getElData=function(e,t){t=t||{};var n={};function r(t){e.hasAttribute(t)&&(n[t]=e.getAttribute(t))}return Object.keys(t).forEach(r),n},t.exports.getUrlParameter=function(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null===t?"":decodeURIComponent(t[1].replace(/\+/g," "))},t.exports.isIframed=function(){return window.top!==window.self},t.exports.findAllScenes=function(e){for(var t=[],n=e.getElementsByTagName("*"),r=0,i=n.length;r<i;r++)n[r].isScene&&t.push(n[r]);return t},t.exports.srcLoader=e("./src-loader")},{"./bind":199,"./coordinates":200,"./debug":201,"./device":202,"./entity":203,"./forceCanvasResizeSafariMobile":204,"./is-ie11":207,"./material":209,"./object-pool":210,"./split":211,"./src-loader":212,"./styleParser":213,"./tracked-controls":214,"deep-assign":10,"object-assign":39}],206:[function(e,t,n){window.addEventListener("orientationchange",(function(){document.documentElement.style.height="initial",setTimeout((function(){document.documentElement.style.height="100%",setTimeout((function(){window.scrollTo(0,1)}),500)}),500)}))},{}],207:[function(e,t,n){function r(){var e=-1,t=navigator.userAgent;return"Microsoft Internet Explorer"===navigator.appName?null!=new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1)):"Netscape"===navigator.appName&&null!=new RegExp("Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1)),e}t.exports=11===r()},{}],208:[function(e,t,n){t.exports=function(e){return/(iphone|ipod|ipad).*os.(7_|8_|9_)/i.test(e)}},{}],209:[function(e,t,n){var r=e("../lib/three"),i=["application/x-mpegurl","application/vnd.apple.mpegurl"],o=new Set(["emissiveMap","envMap","map","specularMap"]);function a(e,t){t&&(e.emit("materialtextureloaded",{src:t.image,texture:t}),t.image&&"VIDEO"===t.image.tagName&&(t.image.addEventListener("loadeddata",(function(){e.components&&e.components.material&&(t.needsCorrectionBGRA&&t.needsCorrectionFlipY&&-1!==["standard","flat"].indexOf(e.components.material.data.shader)&&e.setAttribute("material","shader","ios10hls"),e.emit("materialvideoloadeddata",{src:t.image,texture:t}))})),t.image.addEventListener("ended",(function(){e.emit("materialvideoended",{src:t.image,texture:t})}))))}t.exports.updateMapMaterialFromData=function(e,t,n,i){var s=n.el,l=n.material,c=s.sceneEl.systems.renderer,u=i[t];if(n.materialSrcs||(n.materialSrcs={}),!u)return delete n.materialSrcs[e],void d(null);function h(t){n.materialSrcs[e]===u&&d(t)}function d(t){l[e]=t,t&&o.has(e)&&c.applyColorCorrection(t),l.needsUpdate=!0,a(s,t)}u!==n.materialSrcs[e]&&(n.materialSrcs[e]=u,u instanceof r.Texture?d(u):s.sceneEl.systems.material.loadTexture(u,{src:u,repeat:i.repeat,offset:i.offset,npot:i.npot},h))},t.exports.updateMap=function(e,n){return t.exports.updateMapMaterialFromData("map","src",e,n)},t.exports.updateDistortionMap=function(e,t,n){var r=e;"ambientOcclusion"===e&&(r="ao");var i=t.el,s=t.material,l=i.sceneEl.systems.renderer,c=n[e+"Map"],u={};if(u.src=c,u.offset=n[e+"TextureOffset"],u.repeat=n[e+"TextureRepeat"],u.wrap=n[e+"TextureWrap"],c){if(c===t[e+"TextureSrc"])return;return t[e+"TextureSrc"]=c,void i.sceneEl.systems.material.loadTexture(c,u,h)}function h(e){var t=r+"Map";s[t]=e,e&&o.has(t)&&l.applyColorCorrection(e),s.needsUpdate=!0,a(i,e)}s.map&&h(null)},t.exports.handleTextureEvents=a,t.exports.isHLS=function(e,t){return!(!t||!i.includes(t.toLowerCase()))||!!(e&&e.toLowerCase().indexOf(".m3u8")>0)}},{"../lib/three":179}],210:[function(e,t,n){var r=Object.freeze(Object.create(null));function i(){return{}}function o(e){var t;if(e&&e.constructor===Object)for(t in e)e[t]=void 0}function a(e,t){var n;if(e&&e.constructor===Object)for(n in e)n in t||delete e[n]}t.exports.createPool=function(e){var t=[],n=null;function a(){var e;return null!==n&&n!==t.length||l(t.length||5),e=t[n],t[n++]=r,o(e),e}function s(e){e instanceof Object&&(null!==n&&-1!==n?t[--n]=e:t[t.length]=e)}function l(r){var i,o;if((r=void 0===r?t.length:r)>0&&null==n&&(n=0),r>0)for(i=t.length,t.length+=Number(r),o=i;o<t.length;o++)t[o]=e();return t.length}function c(){return t.length}return e=e||i,{grow:l,pool:t,recycle:s,size:c,use:a}},t.exports.clearObject=o,t.exports.removeUnusedKeys=a},{}],211:[function(e,t,n){t.exports.split=function(){var e={};return function(t,n){return n in e||(e[n]={}),t in e[n]||(e[n][t]=t.split(n)),e[n][t]}}()},{}],212:[function(t,n,r){var i=t("./debug")("utils:src-loader:warn");function o(e,t,n){l(e,(function(r){r?t(e):n(e)}))}function a(e,t){var n,r,a,l="",c=[];for(r=0;r<5;r++)l+="(url\\((?:[^\\)]+)\\),\\s*)";function h(e){c.push(e),6===c.length&&t(c)}if(l+="(url\\((?:[^\\)]+)\\)\\s*)",a=e.match(new RegExp(l)))for(r=1;r<7;r++)o(s(a[r]),h);else if(n=u(e))return"A-CUBEMAP"===n.tagName&&n.srcs?t(n.srcs):void i('Selector "%s" does not point to <a-cubemap>',e)}function s(e){var t=e.match(/\url\((.+)\)/);if(t)return t[1]}function l(e,t){var n;e.tagName?t("IMG"===e.tagName):((n=new XMLHttpRequest).open("HEAD",e),n.addEventListener("load",(function(r){var i;n.status>=200&&n.status<300?null==(i=n.getResponseHeader("Content-Type"))?c(e,t):i.startsWith("image")?t(!0):t(!1):c(e,t),n.abort()})),n.send())}function c(e,t){var n=new Image;function r(){t(!0)}function i(){t(!1)}n.addEventListener("load",r),n.addEventListener("error",i),n.src=e}function u(t){try{var n=document.querySelector(t);return n||i('No element was found matching the selector: "%s"',t),n}catch(e){return void i('"%s" is not a valid selector',t)}}n.exports={parseUrl:s,validateSrc:o,validateCubemapSrc:a}},{"./debug":201}],213:[function(e,t,n){var r=/-([a-z])/g;function i(e){return e.replace(r,c)}function o(e){var t,n;for(n in e)n!==(t=i(n))&&(e[t]=e[n],delete e[n]);return e}t.exports.parse=function(e,t){var n;return"string"!==typeof e||(n=s(e,t))[""]?e:o(n)},t.exports.stringify=function(e){return"string"===typeof e?e:l(e)},t.exports.toCamelCase=i,t.exports.transformKeysToCamelCase=o;var a=function(){var e=[],t=/url\([^)]+$/;return function(n){var r,i="",o=0,a=";";for(e.length=0;o<n.length;)-1===(r=n.indexOf(a,o))&&(r=n.length),i+=n.substring(o,r),t.test(i)?(i+=";",o=r+1):(e.push(i.trim()),i="",o=r+1);return e}}();function s(e,t){var n,r,i,o,s,l;for(t=t||{},n=a(e),r=0;r<n.length;r++)(i=n[r])&&(o=i.indexOf(":"),s=i.substr(0,o).trim(),l=i.substr(o+1).trim(),t[s]=l);return t}function l(e){var t,n=0,r=0,i="";for(t in e)n++;for(t in e)i+=t+": "+e[t],r<n-1&&(i+="; "),r++;return i}function c(e){return e[1].toUpperCase()}},{}],214:[function(e,t,n){var r=e("../constants").DEFAULT_HANDEDNESS,i=["x","y","z","w"],o=2;function a(e,t,n){var r,i,o=e.el.sceneEl,a=n.index||0;return!!t&&!!(i=o&&o.systems["tracked-controls-webvr"])&&!!(r=i.controllers).length&&!!l(r,null,t,n.hand,a)}function s(e,t,n){var r,i=e.el.sceneEl,o=i&&i.systems["tracked-controls-webxr"];return!!o&&!(!(r=o.controllers)||!r.length)&&c(r,t,n.hand,n.index,n.iterateControllerProfiles,n.handTracking)}function l(e,t,n,i,a){var s,l,c=0;for(l=0;l<e.length;l++)if(s=e[l],(!n||s.id.startsWith(n))&&(n||s.id===t)&&(!i||!s.hand||i===s.hand)){if(!i||s.hand)return s;if(c===o*a+(i===r?0:1))return s;++c}}function c(e,t,n,r,i,o){var a,s,l,c,u=!1;for(a=0;a<e.length;a++){if(c=(l=e[a]).profiles,o)u=l.hand;else if(i)for(s=0;s<c.length&&!(u=c[s].startsWith(t));s++);else u=c.length>0&&c[0].startsWith(t);if(u)if("right"===l.handedness||"left"===l.handedness){if(l.handedness===n)return e[a]}else if(a===r)return e[a]}}t.exports.checkControllerPresentAndSetup=function(e,t,n){var r,i,o=e.el,l=o.sceneEl.hasWebXR;if(i=!!(r=(l?s:a)(e,t,n)),!e.controllerPresent||e.controllerEventsActive||l||e.addEventListeners(),i===e.controllerPresent)return i;e.controllerPresent=i,i?(e.addEventListeners(),e.injectTrackedControls(r),o.emit("controllerconnected",{name:e.name,component:e})):(e.removeEventListeners(),o.emit("controllerdisconnected",{name:e.name,component:e}))},t.exports.isControllerPresentWebVR=a,t.exports.isControllerPresentWebXR=s,t.exports.findMatchingControllerWebVR=l,t.exports.findMatchingControllerWebXR=c,t.exports.emitIfAxesChanged=function(e,t,n){var r,o,a,s,l;for(o in t){for(r=t[o],a=!1,l=0;l<r.length;l++)n.detail.changed[r[l]]&&(a=!0);if(a){for(s={},l=0;l<r.length;l++)s[i[l]]=n.detail.axis[r[l]];e.el.emit(o+"moved",s)}}},t.exports.onButtonEvent=function(e,t,n,r){var i=(r?n.mapping[r]:n.mapping).buttons[e];n.el.emit(i+t),n.updateModel&&n.updateModel(i,t)}},{"../constants":123}],215:[function(e,t,n){THREE.DeviceOrientationControls=function(e){var t=this;this.object=e,this.object.rotation.reorder("YXZ"),this.enabled=!0,this.deviceOrientation={},this.screenOrientation=0,this.alphaOffset=0;var n=function(e){t.deviceOrientation=e},r=function(){t.screenOrientation=window.orientation||0},i=function(){var e=new THREE.Vector3(0,0,1),t=new THREE.Euler,n=new THREE.Quaternion,r=new THREE.Quaternion(-Math.sqrt(.5),0,0,Math.sqrt(.5));return function(i,o,a,s,l){t.set(a,o,-s,"YXZ"),i.setFromEuler(t),i.multiply(r),i.multiply(n.setFromAxisAngle(e,-l))}}();this.connect=function(){r(),window.addEventListener("orientationchange",r,!1),window.addEventListener("deviceorientation",n,!1),t.enabled=!0},this.disconnect=function(){window.removeEventListener("orientationchange",r,!1),window.removeEventListener("deviceorientation",n,!1),t.enabled=!1},this.update=function(){if(!1!==t.enabled){var e=t.deviceOrientation;if(e){var n=e.alpha?THREE.Math.degToRad(e.alpha)+t.alphaOffset:0,r=e.beta?THREE.Math.degToRad(e.beta):0,o=e.gamma?THREE.Math.degToRad(e.gamma):0,a=t.screenOrientation?THREE.Math.degToRad(t.screenOrientation):0;i(t.object.quaternion,n,r,o,a)}}},this.dispose=function(){t.disconnect()},this.connect()}},{}],216:[function(e,t,n){window.glStats=function(){var e=null,t=0,n=0,r=0,i=0,o=0,a=0,s=0;function l(e,t){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function c(){e("allcalls").set(t+n),e("drawElements").set(n),e("drawArrays").set(t),e("bindTexture").set(s),e("useProgram").set(r),e("glfaces").set(i),e("glvertices").set(o),e("glpoints").set(a)}function u(){t=0,n=0,r=0,i=0,o=0,a=0,s=0}function h(){}function d(t){e=t}return WebGLRenderingContext.prototype.drawArrays=l(WebGLRenderingContext.prototype.drawArrays,(function(){t++,arguments[0]==this.POINTS?a+=arguments[2]:o+=arguments[2]})),WebGLRenderingContext.prototype.drawElements=l(WebGLRenderingContext.prototype.drawElements,(function(){n++,i+=arguments[1]/3,o+=arguments[1]})),WebGLRenderingContext.prototype.useProgram=l(WebGLRenderingContext.prototype.useProgram,(function(){r++})),WebGLRenderingContext.prototype.bindTexture=l(WebGLRenderingContext.prototype.bindTexture,(function(){s++})),{update:c,start:u,end:h,attach:d,values:{allcalls:{over:3e3,caption:"Calls (hook)"},drawelements:{caption:"drawElements (hook)"},drawarrays:{caption:"drawArrays (hook)"}},groups:[{caption:"WebGL",values:["allcalls","drawelements","drawarrays","useprogram","bindtexture","glfaces","glvertices","glpoints"]}],fractions:[{base:"allcalls",steps:["drawelements","drawarrays"]}]}},window.threeStats=function(e){var t=null;function n(){t("renderer.info.memory.geometries").set(e.info.memory.geometries),t("renderer.info.programs").set(e.info.programs.length),t("renderer.info.memory.textures").set(e.info.memory.textures),t("renderer.info.render.calls").set(e.info.render.calls),t("renderer.info.render.triangles").set(e.info.render.triangles),t("renderer.info.render.points").set(e.info.render.points)}function r(){}function i(){}function o(e){t=e}return{update:n,start:r,end:i,attach:o,values:{"renderer.info.memory.geometries":{caption:"Geometries"},"renderer.info.memory.textures":{caption:"Textures"},"renderer.info.programs":{caption:"Programs"},"renderer.info.render.calls":{caption:"Calls"},"renderer.info.render.triangles":{caption:"Triangles",over:1e3},"renderer.info.render.points":{caption:"Points"}},groups:[{caption:"Three.js - Memory",values:["renderer.info.memory.geometries","renderer.info.programs","renderer.info.memory.textures"]},{caption:"Three.js - Render",values:["renderer.info.render.calls","renderer.info.render.triangles","renderer.info.render.points"]}],fractions:[]}},window.BrowserStats=function(){var e=null,t=0,n=0;window.performance&&!performance.memory&&(performance.memory={usedJSHeapSize:0,totalJSHeapSize:0}),0===performance.memory.totalJSHeapSize&&console.warn("totalJSHeapSize === 0... performance.memory is only available in Chrome .");var r={memory:{caption:"Used Memory",average:!0,avgMs:1e3,over:22},total:{caption:"Total Memory"}},i=[{caption:"Browser",values:["memory","total"]}],o=[{base:"total",steps:["memory"]}],a=Math.log(1024);function s(e){var t=100,n=Math.floor(Math.log(e)/a);return Math.round(e*t/Math.pow(1024,n))/t}function l(){t=s(performance.memory.usedJSHeapSize),n=s(performance.memory.totalJSHeapSize),e("memory").set(t),e("total").set(n)}function c(){t=0}function u(){}function h(t){e=t}return{update:l,start:c,end:u,attach:h,values:r,groups:i,fractions:o}},"object"===typeof t&&(t.exports={glStats:window.glStats,threeStats:window.threeStats,BrowserStats:window.BrowserStats})},{}],217:[function(e,t,n){"use strict";!function(){"performance"in window==0&&(window.performance={});var e=window.performance;if("now"in e==0){var t=Date.now();e.timing&&e.timing.navigationStart&&(t=e.timing.navigationStart),e.now=function(){return Date.now()-t}}e.mark||(e.mark=function(){}),e.measure||(e.measure=function(){})}(),window.rStats=function(e){function t(e,t){for(var n=Object.keys(e),r=0,i=n.length;r<i;r++)t(n[r])}function n(e){var t=document.createElement("link");t.href=e,t.rel="stylesheet",t.type="text/css",document.getElementsByTagName("head")[0].appendChild(t)}var r=e||{},i=r.colours||["#850700","#c74900","#fcb300","#284280","#4c7c0c"],o="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300",a=(r.CSSPath?r.CSSPath:"")+"rStats.css";(r.css||[o,a]).forEach((function(e){n(e)})),r.values||(r.values={});var s,l,c=10,u=200,h={};function d(e,t,n){var r=n||{},i=document.createElement("canvas"),o=i.getContext("2d"),a=0,s=0,l=r.color?r.color:"#666666",h=document.createElement("canvas"),d=h.getContext("2d");h.width=1,h.height=2*c,d.fillStyle="#444444",d.fillRect(0,0,1,2*c),d.fillStyle=l,d.fillRect(0,c,1,c),d.fillStyle="#ffffff",d.globalAlpha=.5,d.fillRect(0,c,1,1),d.globalAlpha=1;var p=document.createElement("canvas"),f=p.getContext("2d");function m(){i.width=u,i.height=c,i.style.width=i.width+"px",i.style.height=i.height+"px",i.className="rs-canvas",e.appendChild(i),o.fillStyle="#444444",o.fillRect(0,0,i.width,i.height)}function v(e,t){(s+=.1*(e-s))>(a*=.99)&&(a=s),o.drawImage(i,1,0,i.width-1,i.height,0,0,i.width-1,i.height),t?o.drawImage(p,i.width-1,i.height-s*i.height/a-c):o.drawImage(h,i.width-1,i.height-s*i.height/a-c)}return p.width=1,p.height=2*c,f.fillStyle="#444444",f.fillRect(0,0,1,2*c),f.fillStyle="#b70000",f.fillRect(0,c,1,c),f.globalAlpha=.5,f.fillStyle="#ffffff",f.fillRect(0,c,1,1),f.globalAlpha=1,m(),{draw:v}}function p(e,n){var r=document.createElement("canvas"),o=r.getContext("2d");function a(){r.width=u,r.height=c*n,r.style.width=r.width+"px",r.style.height=r.height+"px",r.className="rs-canvas",e.appendChild(r),o.fillStyle="#444444",o.fillRect(0,0,r.width,r.height)}function s(e){o.drawImage(r,1,0,r.width-1,r.height,0,0,r.width-1,r.height);var n=0;t(e,(function(t){var a=e[t]*r.height;o.fillStyle=i[t],o.fillRect(r.width-1,n,1,a),n+=a}))}return a(),{draw:s}}function f(e,t){var n,i=e,o=0,a=0,s=0,c=0,u=performance.now(),h=0,p=document.createElement("div"),f=document.createElement("span"),m=document.createElement("div"),v=document.createTextNode(""),g=r?r.values[i.toLowerCase()]:null,y=new d(p,i,g),b=!1;function A(e){if(g&&g.average){c+=e,h++;var t=performance.now();t-u>=(g.avgMs||1e3)&&(s=c/h,c=0,u=t,h=0)}}function w(){n=performance.now(),r.userTimingAPI&&performance.mark(i+"-start"),b=!0}function x(){o=performance.now()-n,r.userTimingAPI&&(performance.mark(i+"-end"),b&&performance.measure(i,i+"-start",i+"-end")),A(o)}function E(){x(),w()}function M(){var e=g&&g.average?s:o;v.nodeValue=Math.round(100*e)/100;var t=g&&(g.below&&o<g.below||g.over&&o>g.over);y.draw(o,t),p.className=t?"rs-counter-base alarm":"rs-counter-base"}function _(){var e=performance.now(),t=e-n;a++,t>1e3&&(o=g&&!1===g.interpolate?a:1e3*a/t,a=0,n=e,A(o))}function T(e){A(o=e)}return f.className="rs-counter-id",f.textContent=g&&g.caption?g.caption:i,m.className="rs-counter-value",m.appendChild(v),p.appendChild(f),p.appendChild(m),t?t.div.appendChild(p):l.appendChild(p),n=performance.now(),{set:T,start:w,tick:E,end:x,frame:_,value:function(){return o},draw:M}}function m(e){var n=e.toLowerCase();if(void 0===n&&(n="default"),h[n])return h[n];var i=null;r&&r.groups&&t(r.groups,(function(e){var t=r.groups[parseInt(e,10)];i||-1===t.values.indexOf(n.toLowerCase())||(i=t)}));var o=new f(n,i);return h[n]=o,o}function v(){if(r.plugins){r.values||(r.values={}),r.groups||(r.groups=[]),r.fractions||(r.fractions=[]);for(var e=0;e<r.plugins.length;e++)r.plugins[e].attach(m),t(r.plugins[e].values,(function(t){r.values[t]=r.plugins[e].values[t]})),r.groups=r.groups.concat(r.plugins[e].groups),r.fractions=r.fractions.concat(r.plugins[e].fractions)}else r.plugins={};(s=document.createElement("div")).className="rs-base",(l=document.createElement("div")).className="rs-container",l.style.height="auto",s.appendChild(l),document.body.appendChild(s),r&&(r.groups&&t(r.groups,(function(e){var t=r.groups[parseInt(e,10)],n=document.createElement("div");n.className="rs-group",t.div=n;var i=document.createElement("h1");i.textContent=t.caption,i.addEventListener("click",function(e){this.classList.toggle("hidden"),e.preventDefault()}.bind(n)),l.appendChild(i),l.appendChild(n)})),r.fractions&&t(r.fractions,(function(e){var n=r.fractions[parseInt(e,10)],o=document.createElement("div");o.className="rs-fraction";var a=document.createElement("div");a.className="rs-legend";var s=0;t(r.fractions[e].steps,(function(t){var n=document.createElement("p");n.textContent=r.fractions[e].steps[t],n.style.color=i[s],a.appendChild(n),s++})),o.appendChild(a),o.style.height=s*c+"px",n.div=o;var u=new p(o,s);n.graph=u,l.appendChild(o)})))}function g(){t(r.plugins,(function(e){r.plugins[e].update()})),t(h,(function(e){h[e].draw()})),r&&r.fractions&&t(r.fractions,(function(e){var n=r.fractions[parseInt(e,10)],i=[],o=h[n.base.toLowerCase()];o&&(o=o.value(),t(r.fractions[e].steps,(function(t){var n=r.fractions[e].steps[parseInt(t,10)].toLowerCase(),a=h[n];a&&i.push(a.value()/o)}))),n.graph.draw(i)}))}return v(),function(e){return e?m(e):{element:s,update:g}}},"object"===typeof t&&(t.exports=window.rStats)},{}],218:[function(e,t,n){String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e})},{}],219:[function(t,n,r){var i={base64:function(e,t){return"data:"+e+";base64,"+t},isMobile:function(){var e,t=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t},isIOS:function(){return/(iPad|iPhone|iPod)/g.test(navigator.userAgent)},isIFrame:function(){try{return window.self!==window.top}catch(e){return!0}},appendQueryParameter:function(e,t,n){var r=e.indexOf("?")<0?"?":"&";return e+=r+t+"="+n},getQueryParameter:function(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null===t?"":decodeURIComponent(t[1].replace(/\+/g," "))},isLandscapeMode:function(){return 90==window.orientation||-90==window.orientation}};n.exports=i},{}],220:[function(e,t,n){var r=e("./util.js");function i(){var e=document.createElement("video");e.addEventListener("ended",(function(){e.play()})),this.request=function(){e.paused&&(e.src=r.base64("video/webm","GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4ECQoWBAhhTgGcBAAAAAAAH4xFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsggfG7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU2LjQwLjEwMVdBjUxhdmY1Ni40MC4xMDFzpJAGSJTMbsLpDt/ySkipgX1fRImIQO1MAAAAAAAWVK5rAQAAAAAAADuuAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDmDgQEj44OEO5rKAOABAAAAAAAABrCBsLqBkB9DtnUBAAAAAAAAo+eBAKOmgQAAgKJJg0IAAV4BHsAHBIODCoAACmH2MAAAZxgz4dPSTFi5JACjloED6ACmAECSnABMQAADYAAAWi0quoCjloEH0ACmAECSnABNwAADYAAAWi0quoCjloELuACmAECSnABNgAADYAAAWi0quoCjloEPoACmAECSnABNYAADYAAAWi0quoCjloETiACmAECSnABNIAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTnghdwo5aBAAAApgBAkpwATOAAA2AAAFotKrqAo5aBA+gApgBAkpwATMAAA2AAAFotKrqAo5aBB9AApgBAkpwATIAAA2AAAFotKrqAo5aBC7gApgBAkpwATEAAA2AAAFotKrqAo5aBD6AApgDAkpwAQ2AAA2AAAFotKrqAo5aBE4gApgBAkpwATCAAA2AAAFotKrqAH0O2dQEAAAAAAACU54Iu4KOWgQAAAKYAQJKcAEvAAANgAABaLSq6gKOWgQPoAKYAQJKcAEtgAANgAABaLSq6gKOWgQfQAKYAQJKcAEsAAANgAABaLSq6gKOWgQu4AKYAQJKcAEqAAANgAABaLSq6gKOWgQ+gAKYAQJKcAEogAANgAABaLSq6gKOWgROIAKYAQJKcAEnAAANgAABaLSq6gB9DtnUBAAAAAAAAlOeCRlCjloEAAACmAECSnABJgAADYAAAWi0quoCjloED6ACmAECSnABJIAADYAAAWi0quoCjloEH0ACmAMCSnABDYAADYAAAWi0quoCjloELuACmAECSnABI4AADYAAAWi0quoCjloEPoACmAECSnABIoAADYAAAWi0quoCjloETiACmAECSnABIYAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTngl3Ao5aBAAAApgBAkpwASCAAA2AAAFotKrqAo5aBA+gApgBAkpwASAAAA2AAAFotKrqAo5aBB9AApgBAkpwAR8AAA2AAAFotKrqAo5aBC7gApgBAkpwAR4AAA2AAAFotKrqAo5aBD6AApgBAkpwAR2AAA2AAAFotKrqAo5aBE4gApgBAkpwARyAAA2AAAFotKrqAH0O2dQEAAAAAAACU54J1MKOWgQAAAKYAwJKcAENgAANgAABaLSq6gKOWgQPoAKYAQJKcAEbgAANgAABaLSq6gKOWgQfQAKYAQJKcAEagAANgAABaLSq6gKOWgQu4AKYAQJKcAEaAAANgAABaLSq6gKOWgQ+gAKYAQJKcAEZAAANgAABaLSq6gKOWgROIAKYAQJKcAEYAAANgAABaLSq6gB9DtnUBAAAAAAAAlOeCjKCjloEAAACmAECSnABF4AADYAAAWi0quoCjloED6ACmAECSnABFwAADYAAAWi0quoCjloEH0ACmAECSnABFoAADYAAAWi0quoCjloELuACmAECSnABFgAADYAAAWi0quoCjloEPoACmAMCSnABDYAADYAAAWi0quoCjloETiACmAECSnABFYAADYAAAWi0quoAfQ7Z1AQAAAAAAAJTngqQQo5aBAAAApgBAkpwARUAAA2AAAFotKrqAo5aBA+gApgBAkpwARSAAA2AAAFotKrqAo5aBB9AApgBAkpwARQAAA2AAAFotKrqAo5aBC7gApgBAkpwARQAAA2AAAFotKrqAo5aBD6AApgBAkpwAROAAA2AAAFotKrqAo5aBE4gApgBAkpwARMAAA2AAAFotKrqAH0O2dQEAAAAAAACU54K7gKOWgQAAAKYAQJKcAESgAANgAABaLSq6gKOWgQPoAKYAQJKcAESAAANgAABaLSq6gKOWgQfQAKYAwJKcAENgAANgAABaLSq6gKOWgQu4AKYAQJKcAERgAANgAABaLSq6gKOWgQ+gAKYAQJKcAERAAANgAABaLSq6gKOWgROIAKYAQJKcAEQgAANgAABaLSq6gB9DtnUBAAAAAAAAlOeC0vCjloEAAACmAECSnABEIAADYAAAWi0quoCjloED6ACmAECSnABEAAADYAAAWi0quoCjloEH0ACmAECSnABD4AADYAAAWi0quoCjloELuACmAECSnABDwAADYAAAWi0quoCjloEPoACmAECSnABDoAADYAAAWi0quoCjloETiACmAECSnABDgAADYAAAWi0quoAcU7trAQAAAAAAABG7j7OBALeK94EB8YIBd/CBAw=="),e.play())},this.release=function(){e.pause(),e.src=""}}function o(){var e=null;this.request=function(){e||(e=setInterval((function(){window.location.href="/",setTimeout(window.stop,0)}),15e3))},this.release=function(){e&&(clearInterval(e),e=null)}}function a(){var e=navigator.userAgent||navigator.vendor||window.opera;return e.match(/iPhone/i)||e.match(/iPod/i)?o:i}t.exports=a()},{"./util.js":219}]},{},[177])(177)}()}}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js b/out/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js
index aca620d..53399d4 100644
--- a/out/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js
+++ b/out/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js
@@ -1,21146 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [737],
-  {
-    2212: function (t, e, n) {
-      'use strict'
-      n.d(e, {
-        Mig: function () {
-          return Jo
-        },
-        _Li: function () {
-          return s
-        },
-        ZzF: function () {
-          return mt
-        },
-        TlE: function () {
-          return Be
-        },
-        u9r: function () {
-          return Je
-        },
-        SUY: function () {
-          return ll
-        },
-        Ilk: function () {
-          return Ie
-        },
-        _3: function () {
-          return Zs
-        },
-        yj7: function () {
-          return ha
-        },
-        m_w: function () {
-          return Js
-        },
-        Ox3: function () {
-          return Yo
-        },
-        pBf: function () {
-          return W
-        },
-        a$l: function () {
-          return He
-        },
-        ZAu: function () {
-          return kr
-        },
-        x12: function () {
-          return Os
-        },
-        nls: function () {
-          return Cs
-        },
-        wem: function () {
-          return v
-        },
-        RsA: function () {
-          return i
-        },
-        yGw: function () {
-          return Vt
-        },
-        Kj0: function () {
-          return mn
-        },
-        vBJ: function () {
-          return Ne
-        },
-        YBo: function () {
-          return no
-        },
-        iKG: function () {
-          return qo
-        },
-        cPb: function () {
-          return Mn
-        },
-        JOQ: function () {
-          return Cn
-        },
-        mXe: function () {
-          return pa
-        },
-        _fP: function () {
-          return ht
-        },
-        wk1: function () {
-          return E
-        },
-        iMs: function () {
-          return Tl
-        },
-        xsS: function () {
-          return Qr
-        },
-        jyz: function () {
-          return _n
-        },
-        Aip: function () {
-          return Xa
-        },
-        xo$: function () {
-          return Xa
-        },
-        $V: function () {
-          return Al
-        },
-        jyi: function () {
-          return fs
-        },
-        xeV: function () {
-          return es
-        },
-        QmN: function () {
-          return r
-        },
-        xEZ: function () {
-          return st
-        },
-        dpR: function () {
-          return Ro
-        },
-        Lcc: function () {
-          return Ya
-        },
-        rDY: function () {
-          return xn
-        },
-        FM8: function () {
-          return tt
-        },
-        Pa4: function () {
-          return ut
-        },
-        dd2: function () {
-          return lt
-        },
-        CP7: function () {
-          return Yr
-        },
-      })
-      const i = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 },
-        r = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 },
-        s = 1,
-        a = 100,
-        o = 301,
-        l = 302,
-        c = 306,
-        h = 307,
-        u = 1e3,
-        d = 1001,
-        p = 1002,
-        m = 1003,
-        f = 1004,
-        g = 1005,
-        v = 1006,
-        y = 1008,
-        x = 1009,
-        _ = 1012,
-        b = 1014,
-        M = 1015,
-        w = 1016,
-        S = 1020,
-        T = 1022,
-        E = 1023,
-        L = 1026,
-        A = 1027,
-        R = 2300,
-        C = 2301,
-        P = 2302,
-        D = 2400,
-        I = 2401,
-        N = 2402,
-        z = 2500,
-        O = 3e3,
-        B = 3001,
-        F = 3007,
-        U = 3002,
-        H = 7680,
-        G = 35044,
-        V = 35048,
-        k = '300 es'
-      class W {
-        addEventListener(t, e) {
-          void 0 === this._listeners && (this._listeners = {})
-          const n = this._listeners
-          void 0 === n[t] && (n[t] = []), -1 === n[t].indexOf(e) && n[t].push(e)
-        }
-        hasEventListener(t, e) {
-          if (void 0 === this._listeners) return !1
-          const n = this._listeners
-          return void 0 !== n[t] && -1 !== n[t].indexOf(e)
-        }
-        removeEventListener(t, e) {
-          if (void 0 === this._listeners) return
-          const n = this._listeners[t]
-          if (void 0 !== n) {
-            const t = n.indexOf(e)
-            ;-1 !== t && n.splice(t, 1)
-          }
-        }
-        dispatchEvent(t) {
-          if (void 0 === this._listeners) return
-          const e = this._listeners[t.type]
-          if (void 0 !== e) {
-            t.target = this
-            const n = e.slice(0)
-            for (let e = 0, i = n.length; e < i; e++) n[e].call(this, t)
-            t.target = null
-          }
-        }
-      }
-      const j = []
-      for (let jl = 0; jl < 256; jl++) j[jl] = (jl < 16 ? '0' : '') + jl.toString(16)
-      const q = Math.PI / 180,
-        X = 180 / Math.PI
-      function Y() {
-        const t = (4294967295 * Math.random()) | 0,
-          e = (4294967295 * Math.random()) | 0,
-          n = (4294967295 * Math.random()) | 0,
-          i = (4294967295 * Math.random()) | 0
-        return (
-          j[255 & t] +
-          j[(t >> 8) & 255] +
-          j[(t >> 16) & 255] +
-          j[(t >> 24) & 255] +
-          '-' +
-          j[255 & e] +
-          j[(e >> 8) & 255] +
-          '-' +
-          j[((e >> 16) & 15) | 64] +
-          j[(e >> 24) & 255] +
-          '-' +
-          j[(63 & n) | 128] +
-          j[(n >> 8) & 255] +
-          '-' +
-          j[(n >> 16) & 255] +
-          j[(n >> 24) & 255] +
-          j[255 & i] +
-          j[(i >> 8) & 255] +
-          j[(i >> 16) & 255] +
-          j[(i >> 24) & 255]
-        ).toUpperCase()
-      }
-      function J(t, e, n) {
-        return Math.max(e, Math.min(n, t))
-      }
-      function Z(t, e) {
-        return ((t % e) + e) % e
-      }
-      function Q(t, e, n) {
-        return (1 - n) * t + n * e
-      }
-      function K(t) {
-        return 0 === (t & (t - 1)) && 0 !== t
-      }
-      function $(t) {
-        return Math.pow(2, Math.floor(Math.log(t) / Math.LN2))
-      }
-      class tt {
-        constructor(t = 0, e = 0) {
-          ;(this.x = t), (this.y = e)
-        }
-        get width() {
-          return this.x
-        }
-        set width(t) {
-          this.x = t
-        }
-        get height() {
-          return this.y
-        }
-        set height(t) {
-          this.y = t
-        }
-        set(t, e) {
-          return (this.x = t), (this.y = e), this
-        }
-        setScalar(t) {
-          return (this.x = t), (this.y = t), this
-        }
-        setX(t) {
-          return (this.x = t), this
-        }
-        setY(t) {
-          return (this.y = t), this
-        }
-        setComponent(t, e) {
-          switch (t) {
-            case 0:
-              this.x = e
-              break
-            case 1:
-              this.y = e
-              break
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-          return this
-        }
-        getComponent(t) {
-          switch (t) {
-            case 0:
-              return this.x
-            case 1:
-              return this.y
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-        }
-        clone() {
-          return new this.constructor(this.x, this.y)
-        }
-        copy(t) {
-          return (this.x = t.x), (this.y = t.y), this
-        }
-        add(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-              ),
-              this.addVectors(t, e))
-            : ((this.x += t.x), (this.y += t.y), this)
-        }
-        addScalar(t) {
-          return (this.x += t), (this.y += t), this
-        }
-        addVectors(t, e) {
-          return (this.x = t.x + e.x), (this.y = t.y + e.y), this
-        }
-        addScaledVector(t, e) {
-          return (this.x += t.x * e), (this.y += t.y * e), this
-        }
-        sub(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-              ),
-              this.subVectors(t, e))
-            : ((this.x -= t.x), (this.y -= t.y), this)
-        }
-        subScalar(t) {
-          return (this.x -= t), (this.y -= t), this
-        }
-        subVectors(t, e) {
-          return (this.x = t.x - e.x), (this.y = t.y - e.y), this
-        }
-        multiply(t) {
-          return (this.x *= t.x), (this.y *= t.y), this
-        }
-        multiplyScalar(t) {
-          return (this.x *= t), (this.y *= t), this
-        }
-        divide(t) {
-          return (this.x /= t.x), (this.y /= t.y), this
-        }
-        divideScalar(t) {
-          return this.multiplyScalar(1 / t)
-        }
-        applyMatrix3(t) {
-          const e = this.x,
-            n = this.y,
-            i = t.elements
-          return (this.x = i[0] * e + i[3] * n + i[6]), (this.y = i[1] * e + i[4] * n + i[7]), this
-        }
-        min(t) {
-          return (this.x = Math.min(this.x, t.x)), (this.y = Math.min(this.y, t.y)), this
-        }
-        max(t) {
-          return (this.x = Math.max(this.x, t.x)), (this.y = Math.max(this.y, t.y)), this
-        }
-        clamp(t, e) {
-          return (
-            (this.x = Math.max(t.x, Math.min(e.x, this.x))),
-            (this.y = Math.max(t.y, Math.min(e.y, this.y))),
-            this
-          )
-        }
-        clampScalar(t, e) {
-          return (
-            (this.x = Math.max(t, Math.min(e, this.x))),
-            (this.y = Math.max(t, Math.min(e, this.y))),
-            this
-          )
-        }
-        clampLength(t, e) {
-          const n = this.length()
-          return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n)))
-        }
-        floor() {
-          return (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), this
-        }
-        ceil() {
-          return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), this
-        }
-        round() {
-          return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), this
-        }
-        roundToZero() {
-          return (
-            (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-            (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-            this
-          )
-        }
-        negate() {
-          return (this.x = -this.x), (this.y = -this.y), this
-        }
-        dot(t) {
-          return this.x * t.x + this.y * t.y
-        }
-        cross(t) {
-          return this.x * t.y - this.y * t.x
-        }
-        lengthSq() {
-          return this.x * this.x + this.y * this.y
-        }
-        length() {
-          return Math.sqrt(this.x * this.x + this.y * this.y)
-        }
-        manhattanLength() {
-          return Math.abs(this.x) + Math.abs(this.y)
-        }
-        normalize() {
-          return this.divideScalar(this.length() || 1)
-        }
-        angle() {
-          return Math.atan2(-this.y, -this.x) + Math.PI
-        }
-        distanceTo(t) {
-          return Math.sqrt(this.distanceToSquared(t))
-        }
-        distanceToSquared(t) {
-          const e = this.x - t.x,
-            n = this.y - t.y
-          return e * e + n * n
-        }
-        manhattanDistanceTo(t) {
-          return Math.abs(this.x - t.x) + Math.abs(this.y - t.y)
-        }
-        setLength(t) {
-          return this.normalize().multiplyScalar(t)
-        }
-        lerp(t, e) {
-          return (this.x += (t.x - this.x) * e), (this.y += (t.y - this.y) * e), this
-        }
-        lerpVectors(t, e, n) {
-          return (this.x = t.x + (e.x - t.x) * n), (this.y = t.y + (e.y - t.y) * n), this
-        }
-        equals(t) {
-          return t.x === this.x && t.y === this.y
-        }
-        fromArray(t, e = 0) {
-          return (this.x = t[e]), (this.y = t[e + 1]), this
-        }
-        toArray(t = [], e = 0) {
-          return (t[e] = this.x), (t[e + 1] = this.y), t
-        }
-        fromBufferAttribute(t, e, n) {
-          return (
-            void 0 !== n &&
-              console.warn('THREE.Vector2: offset has been removed from .fromBufferAttribute().'),
-            (this.x = t.getX(e)),
-            (this.y = t.getY(e)),
-            this
-          )
-        }
-        rotateAround(t, e) {
-          const n = Math.cos(e),
-            i = Math.sin(e),
-            r = this.x - t.x,
-            s = this.y - t.y
-          return (this.x = r * n - s * i + t.x), (this.y = r * i + s * n + t.y), this
-        }
-        random() {
-          return (this.x = Math.random()), (this.y = Math.random()), this
-        }
-      }
-      tt.prototype.isVector2 = !0
-      class et {
-        constructor() {
-          ;(this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1]),
-            arguments.length > 0 &&
-              console.error(
-                'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.',
-              )
-        }
-        set(t, e, n, i, r, s, a, o, l) {
-          const c = this.elements
-          return (
-            (c[0] = t),
-            (c[1] = i),
-            (c[2] = a),
-            (c[3] = e),
-            (c[4] = r),
-            (c[5] = o),
-            (c[6] = n),
-            (c[7] = s),
-            (c[8] = l),
-            this
-          )
-        }
-        identity() {
-          return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this
-        }
-        copy(t) {
-          const e = this.elements,
-            n = t.elements
-          return (
-            (e[0] = n[0]),
-            (e[1] = n[1]),
-            (e[2] = n[2]),
-            (e[3] = n[3]),
-            (e[4] = n[4]),
-            (e[5] = n[5]),
-            (e[6] = n[6]),
-            (e[7] = n[7]),
-            (e[8] = n[8]),
-            this
-          )
-        }
-        extractBasis(t, e, n) {
-          return (
-            t.setFromMatrix3Column(this, 0),
-            e.setFromMatrix3Column(this, 1),
-            n.setFromMatrix3Column(this, 2),
-            this
-          )
-        }
-        setFromMatrix4(t) {
-          const e = t.elements
-          return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this
-        }
-        multiply(t) {
-          return this.multiplyMatrices(this, t)
-        }
-        premultiply(t) {
-          return this.multiplyMatrices(t, this)
-        }
-        multiplyMatrices(t, e) {
-          const n = t.elements,
-            i = e.elements,
-            r = this.elements,
-            s = n[0],
-            a = n[3],
-            o = n[6],
-            l = n[1],
-            c = n[4],
-            h = n[7],
-            u = n[2],
-            d = n[5],
-            p = n[8],
-            m = i[0],
-            f = i[3],
-            g = i[6],
-            v = i[1],
-            y = i[4],
-            x = i[7],
-            _ = i[2],
-            b = i[5],
-            M = i[8]
-          return (
-            (r[0] = s * m + a * v + o * _),
-            (r[3] = s * f + a * y + o * b),
-            (r[6] = s * g + a * x + o * M),
-            (r[1] = l * m + c * v + h * _),
-            (r[4] = l * f + c * y + h * b),
-            (r[7] = l * g + c * x + h * M),
-            (r[2] = u * m + d * v + p * _),
-            (r[5] = u * f + d * y + p * b),
-            (r[8] = u * g + d * x + p * M),
-            this
-          )
-        }
-        multiplyScalar(t) {
-          const e = this.elements
-          return (
-            (e[0] *= t),
-            (e[3] *= t),
-            (e[6] *= t),
-            (e[1] *= t),
-            (e[4] *= t),
-            (e[7] *= t),
-            (e[2] *= t),
-            (e[5] *= t),
-            (e[8] *= t),
-            this
-          )
-        }
-        determinant() {
-          const t = this.elements,
-            e = t[0],
-            n = t[1],
-            i = t[2],
-            r = t[3],
-            s = t[4],
-            a = t[5],
-            o = t[6],
-            l = t[7],
-            c = t[8]
-          return e * s * c - e * a * l - n * r * c + n * a * o + i * r * l - i * s * o
-        }
-        invert() {
-          const t = this.elements,
-            e = t[0],
-            n = t[1],
-            i = t[2],
-            r = t[3],
-            s = t[4],
-            a = t[5],
-            o = t[6],
-            l = t[7],
-            c = t[8],
-            h = c * s - a * l,
-            u = a * o - c * r,
-            d = l * r - s * o,
-            p = e * h + n * u + i * d
-          if (0 === p) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0)
-          const m = 1 / p
-          return (
-            (t[0] = h * m),
-            (t[1] = (i * l - c * n) * m),
-            (t[2] = (a * n - i * s) * m),
-            (t[3] = u * m),
-            (t[4] = (c * e - i * o) * m),
-            (t[5] = (i * r - a * e) * m),
-            (t[6] = d * m),
-            (t[7] = (n * o - l * e) * m),
-            (t[8] = (s * e - n * r) * m),
-            this
-          )
-        }
-        transpose() {
-          let t
-          const e = this.elements
-          return (
-            (t = e[1]),
-            (e[1] = e[3]),
-            (e[3] = t),
-            (t = e[2]),
-            (e[2] = e[6]),
-            (e[6] = t),
-            (t = e[5]),
-            (e[5] = e[7]),
-            (e[7] = t),
-            this
-          )
-        }
-        getNormalMatrix(t) {
-          return this.setFromMatrix4(t).invert().transpose()
-        }
-        transposeIntoArray(t) {
-          const e = this.elements
-          return (
-            (t[0] = e[0]),
-            (t[1] = e[3]),
-            (t[2] = e[6]),
-            (t[3] = e[1]),
-            (t[4] = e[4]),
-            (t[5] = e[7]),
-            (t[6] = e[2]),
-            (t[7] = e[5]),
-            (t[8] = e[8]),
-            this
-          )
-        }
-        setUvTransform(t, e, n, i, r, s, a) {
-          const o = Math.cos(r),
-            l = Math.sin(r)
-          return (
-            this.set(
-              n * o,
-              n * l,
-              -n * (o * s + l * a) + s + t,
-              -i * l,
-              i * o,
-              -i * (-l * s + o * a) + a + e,
-              0,
-              0,
-              1,
-            ),
-            this
-          )
-        }
-        scale(t, e) {
-          const n = this.elements
-          return (n[0] *= t), (n[3] *= t), (n[6] *= t), (n[1] *= e), (n[4] *= e), (n[7] *= e), this
-        }
-        rotate(t) {
-          const e = Math.cos(t),
-            n = Math.sin(t),
-            i = this.elements,
-            r = i[0],
-            s = i[3],
-            a = i[6],
-            o = i[1],
-            l = i[4],
-            c = i[7]
-          return (
-            (i[0] = e * r + n * o),
-            (i[3] = e * s + n * l),
-            (i[6] = e * a + n * c),
-            (i[1] = -n * r + e * o),
-            (i[4] = -n * s + e * l),
-            (i[7] = -n * a + e * c),
-            this
-          )
-        }
-        translate(t, e) {
-          const n = this.elements
-          return (
-            (n[0] += t * n[2]),
-            (n[3] += t * n[5]),
-            (n[6] += t * n[8]),
-            (n[1] += e * n[2]),
-            (n[4] += e * n[5]),
-            (n[7] += e * n[8]),
-            this
-          )
-        }
-        equals(t) {
-          const e = this.elements,
-            n = t.elements
-          for (let i = 0; i < 9; i++) if (e[i] !== n[i]) return !1
-          return !0
-        }
-        fromArray(t, e = 0) {
-          for (let n = 0; n < 9; n++) this.elements[n] = t[n + e]
-          return this
-        }
-        toArray(t = [], e = 0) {
-          const n = this.elements
-          return (
-            (t[e] = n[0]),
-            (t[e + 1] = n[1]),
-            (t[e + 2] = n[2]),
-            (t[e + 3] = n[3]),
-            (t[e + 4] = n[4]),
-            (t[e + 5] = n[5]),
-            (t[e + 6] = n[6]),
-            (t[e + 7] = n[7]),
-            (t[e + 8] = n[8]),
-            t
-          )
-        }
-        clone() {
-          return new this.constructor().fromArray(this.elements)
-        }
-      }
-      let nt
-      et.prototype.isMatrix3 = !0
-      class it {
-        static getDataURL(t) {
-          if (/^data:/i.test(t.src)) return t.src
-          if ('undefined' == typeof HTMLCanvasElement) return t.src
-          let e
-          if (t instanceof HTMLCanvasElement) e = t
-          else {
-            void 0 === nt &&
-              (nt = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')),
-              (nt.width = t.width),
-              (nt.height = t.height)
-            const n = nt.getContext('2d')
-            t instanceof ImageData
-              ? n.putImageData(t, 0, 0)
-              : n.drawImage(t, 0, 0, t.width, t.height),
-              (e = nt)
-          }
-          return e.width > 2048 || e.height > 2048
-            ? (console.warn(
-                'THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons',
-                t,
-              ),
-              e.toDataURL('image/jpeg', 0.6))
-            : e.toDataURL('image/png')
-        }
-      }
-      let rt = 0
-      class st extends W {
-        constructor(
-          t = st.DEFAULT_IMAGE,
-          e = st.DEFAULT_MAPPING,
-          n = 1001,
-          i = 1001,
-          r = v,
-          s = 1008,
-          a = E,
-          o = 1009,
-          l = 1,
-          c = 3e3,
-        ) {
-          super(),
-            Object.defineProperty(this, 'id', { value: rt++ }),
-            (this.uuid = Y()),
-            (this.name = ''),
-            (this.image = t),
-            (this.mipmaps = []),
-            (this.mapping = e),
-            (this.wrapS = n),
-            (this.wrapT = i),
-            (this.magFilter = r),
-            (this.minFilter = s),
-            (this.anisotropy = l),
-            (this.format = a),
-            (this.internalFormat = null),
-            (this.type = o),
-            (this.offset = new tt(0, 0)),
-            (this.repeat = new tt(1, 1)),
-            (this.center = new tt(0, 0)),
-            (this.rotation = 0),
-            (this.matrixAutoUpdate = !0),
-            (this.matrix = new et()),
-            (this.generateMipmaps = !0),
-            (this.premultiplyAlpha = !1),
-            (this.flipY = !0),
-            (this.unpackAlignment = 4),
-            (this.encoding = c),
-            (this.version = 0),
-            (this.onUpdate = null)
-        }
-        updateMatrix() {
-          this.matrix.setUvTransform(
-            this.offset.x,
-            this.offset.y,
-            this.repeat.x,
-            this.repeat.y,
-            this.rotation,
-            this.center.x,
-            this.center.y,
-          )
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return (
-            (this.name = t.name),
-            (this.image = t.image),
-            (this.mipmaps = t.mipmaps.slice(0)),
-            (this.mapping = t.mapping),
-            (this.wrapS = t.wrapS),
-            (this.wrapT = t.wrapT),
-            (this.magFilter = t.magFilter),
-            (this.minFilter = t.minFilter),
-            (this.anisotropy = t.anisotropy),
-            (this.format = t.format),
-            (this.internalFormat = t.internalFormat),
-            (this.type = t.type),
-            this.offset.copy(t.offset),
-            this.repeat.copy(t.repeat),
-            this.center.copy(t.center),
-            (this.rotation = t.rotation),
-            (this.matrixAutoUpdate = t.matrixAutoUpdate),
-            this.matrix.copy(t.matrix),
-            (this.generateMipmaps = t.generateMipmaps),
-            (this.premultiplyAlpha = t.premultiplyAlpha),
-            (this.flipY = t.flipY),
-            (this.unpackAlignment = t.unpackAlignment),
-            (this.encoding = t.encoding),
-            this
-          )
-        }
-        toJSON(t) {
-          const e = void 0 === t || 'string' === typeof t
-          if (!e && void 0 !== t.textures[this.uuid]) return t.textures[this.uuid]
-          const n = {
-            metadata: { version: 4.5, type: 'Texture', generator: 'Texture.toJSON' },
-            uuid: this.uuid,
-            name: this.name,
-            mapping: this.mapping,
-            repeat: [this.repeat.x, this.repeat.y],
-            offset: [this.offset.x, this.offset.y],
-            center: [this.center.x, this.center.y],
-            rotation: this.rotation,
-            wrap: [this.wrapS, this.wrapT],
-            format: this.format,
-            type: this.type,
-            encoding: this.encoding,
-            minFilter: this.minFilter,
-            magFilter: this.magFilter,
-            anisotropy: this.anisotropy,
-            flipY: this.flipY,
-            premultiplyAlpha: this.premultiplyAlpha,
-            unpackAlignment: this.unpackAlignment,
-          }
-          if (void 0 !== this.image) {
-            const i = this.image
-            if ((void 0 === i.uuid && (i.uuid = Y()), !e && void 0 === t.images[i.uuid])) {
-              let e
-              if (Array.isArray(i)) {
-                e = []
-                for (let t = 0, n = i.length; t < n; t++)
-                  i[t].isDataTexture ? e.push(at(i[t].image)) : e.push(at(i[t]))
-              } else e = at(i)
-              t.images[i.uuid] = { uuid: i.uuid, url: e }
-            }
-            n.image = i.uuid
-          }
-          return e || (t.textures[this.uuid] = n), n
-        }
-        dispose() {
-          this.dispatchEvent({ type: 'dispose' })
-        }
-        transformUv(t) {
-          if (300 !== this.mapping) return t
-          if ((t.applyMatrix3(this.matrix), t.x < 0 || t.x > 1))
-            switch (this.wrapS) {
-              case u:
-                t.x = t.x - Math.floor(t.x)
-                break
-              case d:
-                t.x = t.x < 0 ? 0 : 1
-                break
-              case p:
-                1 === Math.abs(Math.floor(t.x) % 2)
-                  ? (t.x = Math.ceil(t.x) - t.x)
-                  : (t.x = t.x - Math.floor(t.x))
-            }
-          if (t.y < 0 || t.y > 1)
-            switch (this.wrapT) {
-              case u:
-                t.y = t.y - Math.floor(t.y)
-                break
-              case d:
-                t.y = t.y < 0 ? 0 : 1
-                break
-              case p:
-                1 === Math.abs(Math.floor(t.y) % 2)
-                  ? (t.y = Math.ceil(t.y) - t.y)
-                  : (t.y = t.y - Math.floor(t.y))
-            }
-          return this.flipY && (t.y = 1 - t.y), t
-        }
-        set needsUpdate(t) {
-          !0 === t && this.version++
-        }
-      }
-      function at(t) {
-        return ('undefined' !== typeof HTMLImageElement && t instanceof HTMLImageElement) ||
-          ('undefined' !== typeof HTMLCanvasElement && t instanceof HTMLCanvasElement) ||
-          ('undefined' !== typeof ImageBitmap && t instanceof ImageBitmap)
-          ? it.getDataURL(t)
-          : t.data
-          ? {
-              data: Array.prototype.slice.call(t.data),
-              width: t.width,
-              height: t.height,
-              type: t.data.constructor.name,
-            }
-          : (console.warn('THREE.Texture: Unable to serialize Texture.'), {})
-      }
-      ;(st.DEFAULT_IMAGE = void 0), (st.DEFAULT_MAPPING = 300), (st.prototype.isTexture = !0)
-      class ot {
-        constructor(t = 0, e = 0, n = 0, i = 1) {
-          ;(this.x = t), (this.y = e), (this.z = n), (this.w = i)
-        }
-        get width() {
-          return this.z
-        }
-        set width(t) {
-          this.z = t
-        }
-        get height() {
-          return this.w
-        }
-        set height(t) {
-          this.w = t
-        }
-        set(t, e, n, i) {
-          return (this.x = t), (this.y = e), (this.z = n), (this.w = i), this
-        }
-        setScalar(t) {
-          return (this.x = t), (this.y = t), (this.z = t), (this.w = t), this
-        }
-        setX(t) {
-          return (this.x = t), this
-        }
-        setY(t) {
-          return (this.y = t), this
-        }
-        setZ(t) {
-          return (this.z = t), this
-        }
-        setW(t) {
-          return (this.w = t), this
-        }
-        setComponent(t, e) {
-          switch (t) {
-            case 0:
-              this.x = e
-              break
-            case 1:
-              this.y = e
-              break
-            case 2:
-              this.z = e
-              break
-            case 3:
-              this.w = e
-              break
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-          return this
-        }
-        getComponent(t) {
-          switch (t) {
-            case 0:
-              return this.x
-            case 1:
-              return this.y
-            case 2:
-              return this.z
-            case 3:
-              return this.w
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-        }
-        clone() {
-          return new this.constructor(this.x, this.y, this.z, this.w)
-        }
-        copy(t) {
-          return (
-            (this.x = t.x),
-            (this.y = t.y),
-            (this.z = t.z),
-            (this.w = void 0 !== t.w ? t.w : 1),
-            this
-          )
-        }
-        add(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-              ),
-              this.addVectors(t, e))
-            : ((this.x += t.x), (this.y += t.y), (this.z += t.z), (this.w += t.w), this)
-        }
-        addScalar(t) {
-          return (this.x += t), (this.y += t), (this.z += t), (this.w += t), this
-        }
-        addVectors(t, e) {
-          return (
-            (this.x = t.x + e.x),
-            (this.y = t.y + e.y),
-            (this.z = t.z + e.z),
-            (this.w = t.w + e.w),
-            this
-          )
-        }
-        addScaledVector(t, e) {
-          return (
-            (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), (this.w += t.w * e), this
-          )
-        }
-        sub(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-              ),
-              this.subVectors(t, e))
-            : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), (this.w -= t.w), this)
-        }
-        subScalar(t) {
-          return (this.x -= t), (this.y -= t), (this.z -= t), (this.w -= t), this
-        }
-        subVectors(t, e) {
-          return (
-            (this.x = t.x - e.x),
-            (this.y = t.y - e.y),
-            (this.z = t.z - e.z),
-            (this.w = t.w - e.w),
-            this
-          )
-        }
-        multiply(t) {
-          return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), (this.w *= t.w), this
-        }
-        multiplyScalar(t) {
-          return (this.x *= t), (this.y *= t), (this.z *= t), (this.w *= t), this
-        }
-        applyMatrix4(t) {
-          const e = this.x,
-            n = this.y,
-            i = this.z,
-            r = this.w,
-            s = t.elements
-          return (
-            (this.x = s[0] * e + s[4] * n + s[8] * i + s[12] * r),
-            (this.y = s[1] * e + s[5] * n + s[9] * i + s[13] * r),
-            (this.z = s[2] * e + s[6] * n + s[10] * i + s[14] * r),
-            (this.w = s[3] * e + s[7] * n + s[11] * i + s[15] * r),
-            this
-          )
-        }
-        divideScalar(t) {
-          return this.multiplyScalar(1 / t)
-        }
-        setAxisAngleFromQuaternion(t) {
-          this.w = 2 * Math.acos(t.w)
-          const e = Math.sqrt(1 - t.w * t.w)
-          return (
-            e < 1e-4
-              ? ((this.x = 1), (this.y = 0), (this.z = 0))
-              : ((this.x = t.x / e), (this.y = t.y / e), (this.z = t.z / e)),
-            this
-          )
-        }
-        setAxisAngleFromRotationMatrix(t) {
-          let e, n, i, r
-          const s = 0.01,
-            a = 0.1,
-            o = t.elements,
-            l = o[0],
-            c = o[4],
-            h = o[8],
-            u = o[1],
-            d = o[5],
-            p = o[9],
-            m = o[2],
-            f = o[6],
-            g = o[10]
-          if (Math.abs(c - u) < s && Math.abs(h - m) < s && Math.abs(p - f) < s) {
-            if (
-              Math.abs(c + u) < a &&
-              Math.abs(h + m) < a &&
-              Math.abs(p + f) < a &&
-              Math.abs(l + d + g - 3) < a
-            )
-              return this.set(1, 0, 0, 0), this
-            e = Math.PI
-            const t = (l + 1) / 2,
-              o = (d + 1) / 2,
-              v = (g + 1) / 2,
-              y = (c + u) / 4,
-              x = (h + m) / 4,
-              _ = (p + f) / 4
-            return (
-              t > o && t > v
-                ? t < s
-                  ? ((n = 0), (i = 0.707106781), (r = 0.707106781))
-                  : ((n = Math.sqrt(t)), (i = y / n), (r = x / n))
-                : o > v
-                ? o < s
-                  ? ((n = 0.707106781), (i = 0), (r = 0.707106781))
-                  : ((i = Math.sqrt(o)), (n = y / i), (r = _ / i))
-                : v < s
-                ? ((n = 0.707106781), (i = 0.707106781), (r = 0))
-                : ((r = Math.sqrt(v)), (n = x / r), (i = _ / r)),
-              this.set(n, i, r, e),
-              this
-            )
-          }
-          let v = Math.sqrt((f - p) * (f - p) + (h - m) * (h - m) + (u - c) * (u - c))
-          return (
-            Math.abs(v) < 0.001 && (v = 1),
-            (this.x = (f - p) / v),
-            (this.y = (h - m) / v),
-            (this.z = (u - c) / v),
-            (this.w = Math.acos((l + d + g - 1) / 2)),
-            this
-          )
-        }
-        min(t) {
-          return (
-            (this.x = Math.min(this.x, t.x)),
-            (this.y = Math.min(this.y, t.y)),
-            (this.z = Math.min(this.z, t.z)),
-            (this.w = Math.min(this.w, t.w)),
-            this
-          )
-        }
-        max(t) {
-          return (
-            (this.x = Math.max(this.x, t.x)),
-            (this.y = Math.max(this.y, t.y)),
-            (this.z = Math.max(this.z, t.z)),
-            (this.w = Math.max(this.w, t.w)),
-            this
-          )
-        }
-        clamp(t, e) {
-          return (
-            (this.x = Math.max(t.x, Math.min(e.x, this.x))),
-            (this.y = Math.max(t.y, Math.min(e.y, this.y))),
-            (this.z = Math.max(t.z, Math.min(e.z, this.z))),
-            (this.w = Math.max(t.w, Math.min(e.w, this.w))),
-            this
-          )
-        }
-        clampScalar(t, e) {
-          return (
-            (this.x = Math.max(t, Math.min(e, this.x))),
-            (this.y = Math.max(t, Math.min(e, this.y))),
-            (this.z = Math.max(t, Math.min(e, this.z))),
-            (this.w = Math.max(t, Math.min(e, this.w))),
-            this
-          )
-        }
-        clampLength(t, e) {
-          const n = this.length()
-          return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n)))
-        }
-        floor() {
-          return (
-            (this.x = Math.floor(this.x)),
-            (this.y = Math.floor(this.y)),
-            (this.z = Math.floor(this.z)),
-            (this.w = Math.floor(this.w)),
-            this
-          )
-        }
-        ceil() {
-          return (
-            (this.x = Math.ceil(this.x)),
-            (this.y = Math.ceil(this.y)),
-            (this.z = Math.ceil(this.z)),
-            (this.w = Math.ceil(this.w)),
-            this
-          )
-        }
-        round() {
-          return (
-            (this.x = Math.round(this.x)),
-            (this.y = Math.round(this.y)),
-            (this.z = Math.round(this.z)),
-            (this.w = Math.round(this.w)),
-            this
-          )
-        }
-        roundToZero() {
-          return (
-            (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-            (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-            (this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z)),
-            (this.w = this.w < 0 ? Math.ceil(this.w) : Math.floor(this.w)),
-            this
-          )
-        }
-        negate() {
-          return (
-            (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), (this.w = -this.w), this
-          )
-        }
-        dot(t) {
-          return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w
-        }
-        lengthSq() {
-          return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w
-        }
-        length() {
-          return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w)
-        }
-        manhattanLength() {
-          return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w)
-        }
-        normalize() {
-          return this.divideScalar(this.length() || 1)
-        }
-        setLength(t) {
-          return this.normalize().multiplyScalar(t)
-        }
-        lerp(t, e) {
-          return (
-            (this.x += (t.x - this.x) * e),
-            (this.y += (t.y - this.y) * e),
-            (this.z += (t.z - this.z) * e),
-            (this.w += (t.w - this.w) * e),
-            this
-          )
-        }
-        lerpVectors(t, e, n) {
-          return (
-            (this.x = t.x + (e.x - t.x) * n),
-            (this.y = t.y + (e.y - t.y) * n),
-            (this.z = t.z + (e.z - t.z) * n),
-            (this.w = t.w + (e.w - t.w) * n),
-            this
-          )
-        }
-        equals(t) {
-          return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w
-        }
-        fromArray(t, e = 0) {
-          return (
-            (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), (this.w = t[e + 3]), this
-          )
-        }
-        toArray(t = [], e = 0) {
-          return (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), (t[e + 3] = this.w), t
-        }
-        fromBufferAttribute(t, e, n) {
-          return (
-            void 0 !== n &&
-              console.warn('THREE.Vector4: offset has been removed from .fromBufferAttribute().'),
-            (this.x = t.getX(e)),
-            (this.y = t.getY(e)),
-            (this.z = t.getZ(e)),
-            (this.w = t.getW(e)),
-            this
-          )
-        }
-        random() {
-          return (
-            (this.x = Math.random()),
-            (this.y = Math.random()),
-            (this.z = Math.random()),
-            (this.w = Math.random()),
-            this
-          )
-        }
-      }
-      ot.prototype.isVector4 = !0
-      class lt extends W {
-        constructor(t, e, n = {}) {
-          super(),
-            (this.width = t),
-            (this.height = e),
-            (this.depth = 1),
-            (this.scissor = new ot(0, 0, t, e)),
-            (this.scissorTest = !1),
-            (this.viewport = new ot(0, 0, t, e)),
-            (this.texture = new st(
-              void 0,
-              n.mapping,
-              n.wrapS,
-              n.wrapT,
-              n.magFilter,
-              n.minFilter,
-              n.format,
-              n.type,
-              n.anisotropy,
-              n.encoding,
-            )),
-            (this.texture.image = { width: t, height: e, depth: 1 }),
-            (this.texture.generateMipmaps = void 0 !== n.generateMipmaps && n.generateMipmaps),
-            (this.texture.minFilter = void 0 !== n.minFilter ? n.minFilter : v),
-            (this.depthBuffer = void 0 === n.depthBuffer || n.depthBuffer),
-            (this.stencilBuffer = void 0 !== n.stencilBuffer && n.stencilBuffer),
-            (this.depthTexture = void 0 !== n.depthTexture ? n.depthTexture : null)
-        }
-        setTexture(t) {
-          ;(t.image = { width: this.width, height: this.height, depth: this.depth }),
-            (this.texture = t)
-        }
-        setSize(t, e, n = 1) {
-          ;(this.width === t && this.height === e && this.depth === n) ||
-            ((this.width = t),
-            (this.height = e),
-            (this.depth = n),
-            (this.texture.image.width = t),
-            (this.texture.image.height = e),
-            (this.texture.image.depth = n),
-            this.dispose()),
-            this.viewport.set(0, 0, t, e),
-            this.scissor.set(0, 0, t, e)
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return (
-            (this.width = t.width),
-            (this.height = t.height),
-            (this.depth = t.depth),
-            this.viewport.copy(t.viewport),
-            (this.texture = t.texture.clone()),
-            (this.texture.image = { ...this.texture.image }),
-            (this.depthBuffer = t.depthBuffer),
-            (this.stencilBuffer = t.stencilBuffer),
-            (this.depthTexture = t.depthTexture),
-            this
-          )
-        }
-        dispose() {
-          this.dispatchEvent({ type: 'dispose' })
-        }
-      }
-      lt.prototype.isWebGLRenderTarget = !0
-      ;(class extends lt {
-        constructor(t, e, n) {
-          super(t, e)
-          const i = this.texture
-          this.texture = []
-          for (let r = 0; r < n; r++) this.texture[r] = i.clone()
-        }
-        setSize(t, e, n = 1) {
-          if (this.width !== t || this.height !== e || this.depth !== n) {
-            ;(this.width = t), (this.height = e), (this.depth = n)
-            for (let i = 0, r = this.texture.length; i < r; i++)
-              (this.texture[i].image.width = t),
-                (this.texture[i].image.height = e),
-                (this.texture[i].image.depth = n)
-            this.dispose()
-          }
-          return this.viewport.set(0, 0, t, e), this.scissor.set(0, 0, t, e), this
-        }
-        copy(t) {
-          this.dispose(),
-            (this.width = t.width),
-            (this.height = t.height),
-            (this.depth = t.depth),
-            this.viewport.set(0, 0, this.width, this.height),
-            this.scissor.set(0, 0, this.width, this.height),
-            (this.depthBuffer = t.depthBuffer),
-            (this.stencilBuffer = t.stencilBuffer),
-            (this.depthTexture = t.depthTexture),
-            (this.texture.length = 0)
-          for (let e = 0, n = t.texture.length; e < n; e++) this.texture[e] = t.texture[e].clone()
-          return this
-        }
-      }.prototype.isWebGLMultipleRenderTargets = !0)
-      class ct extends lt {
-        constructor(t, e, n) {
-          super(t, e, n), (this.samples = 4)
-        }
-        copy(t) {
-          return super.copy.call(this, t), (this.samples = t.samples), this
-        }
-      }
-      ct.prototype.isWebGLMultisampleRenderTarget = !0
-      class ht {
-        constructor(t = 0, e = 0, n = 0, i = 1) {
-          ;(this._x = t), (this._y = e), (this._z = n), (this._w = i)
-        }
-        static slerp(t, e, n, i) {
-          return (
-            console.warn(
-              'THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.',
-            ),
-            n.slerpQuaternions(t, e, i)
-          )
-        }
-        static slerpFlat(t, e, n, i, r, s, a) {
-          let o = n[i + 0],
-            l = n[i + 1],
-            c = n[i + 2],
-            h = n[i + 3]
-          const u = r[s + 0],
-            d = r[s + 1],
-            p = r[s + 2],
-            m = r[s + 3]
-          if (0 === a) return (t[e + 0] = o), (t[e + 1] = l), (t[e + 2] = c), void (t[e + 3] = h)
-          if (1 === a) return (t[e + 0] = u), (t[e + 1] = d), (t[e + 2] = p), void (t[e + 3] = m)
-          if (h !== m || o !== u || l !== d || c !== p) {
-            let t = 1 - a
-            const e = o * u + l * d + c * p + h * m,
-              n = e >= 0 ? 1 : -1,
-              i = 1 - e * e
-            if (i > Number.EPSILON) {
-              const r = Math.sqrt(i),
-                s = Math.atan2(r, e * n)
-              ;(t = Math.sin(t * s) / r), (a = Math.sin(a * s) / r)
-            }
-            const r = a * n
-            if (
-              ((o = o * t + u * r),
-              (l = l * t + d * r),
-              (c = c * t + p * r),
-              (h = h * t + m * r),
-              t === 1 - a)
-            ) {
-              const t = 1 / Math.sqrt(o * o + l * l + c * c + h * h)
-              ;(o *= t), (l *= t), (c *= t), (h *= t)
-            }
-          }
-          ;(t[e] = o), (t[e + 1] = l), (t[e + 2] = c), (t[e + 3] = h)
-        }
-        static multiplyQuaternionsFlat(t, e, n, i, r, s) {
-          const a = n[i],
-            o = n[i + 1],
-            l = n[i + 2],
-            c = n[i + 3],
-            h = r[s],
-            u = r[s + 1],
-            d = r[s + 2],
-            p = r[s + 3]
-          return (
-            (t[e] = a * p + c * h + o * d - l * u),
-            (t[e + 1] = o * p + c * u + l * h - a * d),
-            (t[e + 2] = l * p + c * d + a * u - o * h),
-            (t[e + 3] = c * p - a * h - o * u - l * d),
-            t
-          )
-        }
-        get x() {
-          return this._x
-        }
-        set x(t) {
-          ;(this._x = t), this._onChangeCallback()
-        }
-        get y() {
-          return this._y
-        }
-        set y(t) {
-          ;(this._y = t), this._onChangeCallback()
-        }
-        get z() {
-          return this._z
-        }
-        set z(t) {
-          ;(this._z = t), this._onChangeCallback()
-        }
-        get w() {
-          return this._w
-        }
-        set w(t) {
-          ;(this._w = t), this._onChangeCallback()
-        }
-        set(t, e, n, i) {
-          return (
-            (this._x = t),
-            (this._y = e),
-            (this._z = n),
-            (this._w = i),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        clone() {
-          return new this.constructor(this._x, this._y, this._z, this._w)
-        }
-        copy(t) {
-          return (
-            (this._x = t.x),
-            (this._y = t.y),
-            (this._z = t.z),
-            (this._w = t.w),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        setFromEuler(t, e) {
-          if (!t || !t.isEuler)
-            throw new Error(
-              'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.',
-            )
-          const n = t._x,
-            i = t._y,
-            r = t._z,
-            s = t._order,
-            a = Math.cos,
-            o = Math.sin,
-            l = a(n / 2),
-            c = a(i / 2),
-            h = a(r / 2),
-            u = o(n / 2),
-            d = o(i / 2),
-            p = o(r / 2)
-          switch (s) {
-            case 'XYZ':
-              ;(this._x = u * c * h + l * d * p),
-                (this._y = l * d * h - u * c * p),
-                (this._z = l * c * p + u * d * h),
-                (this._w = l * c * h - u * d * p)
-              break
-            case 'YXZ':
-              ;(this._x = u * c * h + l * d * p),
-                (this._y = l * d * h - u * c * p),
-                (this._z = l * c * p - u * d * h),
-                (this._w = l * c * h + u * d * p)
-              break
-            case 'ZXY':
-              ;(this._x = u * c * h - l * d * p),
-                (this._y = l * d * h + u * c * p),
-                (this._z = l * c * p + u * d * h),
-                (this._w = l * c * h - u * d * p)
-              break
-            case 'ZYX':
-              ;(this._x = u * c * h - l * d * p),
-                (this._y = l * d * h + u * c * p),
-                (this._z = l * c * p - u * d * h),
-                (this._w = l * c * h + u * d * p)
-              break
-            case 'YZX':
-              ;(this._x = u * c * h + l * d * p),
-                (this._y = l * d * h + u * c * p),
-                (this._z = l * c * p - u * d * h),
-                (this._w = l * c * h - u * d * p)
-              break
-            case 'XZY':
-              ;(this._x = u * c * h - l * d * p),
-                (this._y = l * d * h - u * c * p),
-                (this._z = l * c * p + u * d * h),
-                (this._w = l * c * h + u * d * p)
-              break
-            default:
-              console.warn('THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + s)
-          }
-          return !1 !== e && this._onChangeCallback(), this
-        }
-        setFromAxisAngle(t, e) {
-          const n = e / 2,
-            i = Math.sin(n)
-          return (
-            (this._x = t.x * i),
-            (this._y = t.y * i),
-            (this._z = t.z * i),
-            (this._w = Math.cos(n)),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        setFromRotationMatrix(t) {
-          const e = t.elements,
-            n = e[0],
-            i = e[4],
-            r = e[8],
-            s = e[1],
-            a = e[5],
-            o = e[9],
-            l = e[2],
-            c = e[6],
-            h = e[10],
-            u = n + a + h
-          if (u > 0) {
-            const t = 0.5 / Math.sqrt(u + 1)
-            ;(this._w = 0.25 / t),
-              (this._x = (c - o) * t),
-              (this._y = (r - l) * t),
-              (this._z = (s - i) * t)
-          } else if (n > a && n > h) {
-            const t = 2 * Math.sqrt(1 + n - a - h)
-            ;(this._w = (c - o) / t),
-              (this._x = 0.25 * t),
-              (this._y = (i + s) / t),
-              (this._z = (r + l) / t)
-          } else if (a > h) {
-            const t = 2 * Math.sqrt(1 + a - n - h)
-            ;(this._w = (r - l) / t),
-              (this._x = (i + s) / t),
-              (this._y = 0.25 * t),
-              (this._z = (o + c) / t)
-          } else {
-            const t = 2 * Math.sqrt(1 + h - n - a)
-            ;(this._w = (s - i) / t),
-              (this._x = (r + l) / t),
-              (this._y = (o + c) / t),
-              (this._z = 0.25 * t)
-          }
-          return this._onChangeCallback(), this
-        }
-        setFromUnitVectors(t, e) {
-          let n = t.dot(e) + 1
-          return (
-            n < Number.EPSILON
-              ? ((n = 0),
-                Math.abs(t.x) > Math.abs(t.z)
-                  ? ((this._x = -t.y), (this._y = t.x), (this._z = 0), (this._w = n))
-                  : ((this._x = 0), (this._y = -t.z), (this._z = t.y), (this._w = n)))
-              : ((this._x = t.y * e.z - t.z * e.y),
-                (this._y = t.z * e.x - t.x * e.z),
-                (this._z = t.x * e.y - t.y * e.x),
-                (this._w = n)),
-            this.normalize()
-          )
-        }
-        angleTo(t) {
-          return 2 * Math.acos(Math.abs(J(this.dot(t), -1, 1)))
-        }
-        rotateTowards(t, e) {
-          const n = this.angleTo(t)
-          if (0 === n) return this
-          const i = Math.min(1, e / n)
-          return this.slerp(t, i), this
-        }
-        identity() {
-          return this.set(0, 0, 0, 1)
-        }
-        invert() {
-          return this.conjugate()
-        }
-        conjugate() {
-          return (this._x *= -1), (this._y *= -1), (this._z *= -1), this._onChangeCallback(), this
-        }
-        dot(t) {
-          return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w
-        }
-        lengthSq() {
-          return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w
-        }
-        length() {
-          return Math.sqrt(
-            this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w,
-          )
-        }
-        normalize() {
-          let t = this.length()
-          return (
-            0 === t
-              ? ((this._x = 0), (this._y = 0), (this._z = 0), (this._w = 1))
-              : ((t = 1 / t),
-                (this._x = this._x * t),
-                (this._y = this._y * t),
-                (this._z = this._z * t),
-                (this._w = this._w * t)),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        multiply(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.',
-              ),
-              this.multiplyQuaternions(t, e))
-            : this.multiplyQuaternions(this, t)
-        }
-        premultiply(t) {
-          return this.multiplyQuaternions(t, this)
-        }
-        multiplyQuaternions(t, e) {
-          const n = t._x,
-            i = t._y,
-            r = t._z,
-            s = t._w,
-            a = e._x,
-            o = e._y,
-            l = e._z,
-            c = e._w
-          return (
-            (this._x = n * c + s * a + i * l - r * o),
-            (this._y = i * c + s * o + r * a - n * l),
-            (this._z = r * c + s * l + n * o - i * a),
-            (this._w = s * c - n * a - i * o - r * l),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        slerp(t, e) {
-          if (0 === e) return this
-          if (1 === e) return this.copy(t)
-          const n = this._x,
-            i = this._y,
-            r = this._z,
-            s = this._w
-          let a = s * t._w + n * t._x + i * t._y + r * t._z
-          if (
-            (a < 0
-              ? ((this._w = -t._w),
-                (this._x = -t._x),
-                (this._y = -t._y),
-                (this._z = -t._z),
-                (a = -a))
-              : this.copy(t),
-            a >= 1)
-          )
-            return (this._w = s), (this._x = n), (this._y = i), (this._z = r), this
-          const o = 1 - a * a
-          if (o <= Number.EPSILON) {
-            const t = 1 - e
-            return (
-              (this._w = t * s + e * this._w),
-              (this._x = t * n + e * this._x),
-              (this._y = t * i + e * this._y),
-              (this._z = t * r + e * this._z),
-              this.normalize(),
-              this._onChangeCallback(),
-              this
-            )
-          }
-          const l = Math.sqrt(o),
-            c = Math.atan2(l, a),
-            h = Math.sin((1 - e) * c) / l,
-            u = Math.sin(e * c) / l
-          return (
-            (this._w = s * h + this._w * u),
-            (this._x = n * h + this._x * u),
-            (this._y = i * h + this._y * u),
-            (this._z = r * h + this._z * u),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        slerpQuaternions(t, e, n) {
-          this.copy(t).slerp(e, n)
-        }
-        equals(t) {
-          return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w
-        }
-        fromArray(t, e = 0) {
-          return (
-            (this._x = t[e]),
-            (this._y = t[e + 1]),
-            (this._z = t[e + 2]),
-            (this._w = t[e + 3]),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        toArray(t = [], e = 0) {
-          return (
-            (t[e] = this._x), (t[e + 1] = this._y), (t[e + 2] = this._z), (t[e + 3] = this._w), t
-          )
-        }
-        fromBufferAttribute(t, e) {
-          return (
-            (this._x = t.getX(e)),
-            (this._y = t.getY(e)),
-            (this._z = t.getZ(e)),
-            (this._w = t.getW(e)),
-            this
-          )
-        }
-        _onChange(t) {
-          return (this._onChangeCallback = t), this
-        }
-        _onChangeCallback() {}
-      }
-      ht.prototype.isQuaternion = !0
-      class ut {
-        constructor(t = 0, e = 0, n = 0) {
-          ;(this.x = t), (this.y = e), (this.z = n)
-        }
-        set(t, e, n) {
-          return void 0 === n && (n = this.z), (this.x = t), (this.y = e), (this.z = n), this
-        }
-        setScalar(t) {
-          return (this.x = t), (this.y = t), (this.z = t), this
-        }
-        setX(t) {
-          return (this.x = t), this
-        }
-        setY(t) {
-          return (this.y = t), this
-        }
-        setZ(t) {
-          return (this.z = t), this
-        }
-        setComponent(t, e) {
-          switch (t) {
-            case 0:
-              this.x = e
-              break
-            case 1:
-              this.y = e
-              break
-            case 2:
-              this.z = e
-              break
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-          return this
-        }
-        getComponent(t) {
-          switch (t) {
-            case 0:
-              return this.x
-            case 1:
-              return this.y
-            case 2:
-              return this.z
-            default:
-              throw new Error('index is out of range: ' + t)
-          }
-        }
-        clone() {
-          return new this.constructor(this.x, this.y, this.z)
-        }
-        copy(t) {
-          return (this.x = t.x), (this.y = t.y), (this.z = t.z), this
-        }
-        add(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.',
-              ),
-              this.addVectors(t, e))
-            : ((this.x += t.x), (this.y += t.y), (this.z += t.z), this)
-        }
-        addScalar(t) {
-          return (this.x += t), (this.y += t), (this.z += t), this
-        }
-        addVectors(t, e) {
-          return (this.x = t.x + e.x), (this.y = t.y + e.y), (this.z = t.z + e.z), this
-        }
-        addScaledVector(t, e) {
-          return (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), this
-        }
-        sub(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.',
-              ),
-              this.subVectors(t, e))
-            : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), this)
-        }
-        subScalar(t) {
-          return (this.x -= t), (this.y -= t), (this.z -= t), this
-        }
-        subVectors(t, e) {
-          return (this.x = t.x - e.x), (this.y = t.y - e.y), (this.z = t.z - e.z), this
-        }
-        multiply(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.',
-              ),
-              this.multiplyVectors(t, e))
-            : ((this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this)
-        }
-        multiplyScalar(t) {
-          return (this.x *= t), (this.y *= t), (this.z *= t), this
-        }
-        multiplyVectors(t, e) {
-          return (this.x = t.x * e.x), (this.y = t.y * e.y), (this.z = t.z * e.z), this
-        }
-        applyEuler(t) {
-          return (
-            (t && t.isEuler) ||
-              console.error(
-                'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.',
-              ),
-            this.applyQuaternion(pt.setFromEuler(t))
-          )
-        }
-        applyAxisAngle(t, e) {
-          return this.applyQuaternion(pt.setFromAxisAngle(t, e))
-        }
-        applyMatrix3(t) {
-          const e = this.x,
-            n = this.y,
-            i = this.z,
-            r = t.elements
-          return (
-            (this.x = r[0] * e + r[3] * n + r[6] * i),
-            (this.y = r[1] * e + r[4] * n + r[7] * i),
-            (this.z = r[2] * e + r[5] * n + r[8] * i),
-            this
-          )
-        }
-        applyNormalMatrix(t) {
-          return this.applyMatrix3(t).normalize()
-        }
-        applyMatrix4(t) {
-          const e = this.x,
-            n = this.y,
-            i = this.z,
-            r = t.elements,
-            s = 1 / (r[3] * e + r[7] * n + r[11] * i + r[15])
-          return (
-            (this.x = (r[0] * e + r[4] * n + r[8] * i + r[12]) * s),
-            (this.y = (r[1] * e + r[5] * n + r[9] * i + r[13]) * s),
-            (this.z = (r[2] * e + r[6] * n + r[10] * i + r[14]) * s),
-            this
-          )
-        }
-        applyQuaternion(t) {
-          const e = this.x,
-            n = this.y,
-            i = this.z,
-            r = t.x,
-            s = t.y,
-            a = t.z,
-            o = t.w,
-            l = o * e + s * i - a * n,
-            c = o * n + a * e - r * i,
-            h = o * i + r * n - s * e,
-            u = -r * e - s * n - a * i
-          return (
-            (this.x = l * o + u * -r + c * -a - h * -s),
-            (this.y = c * o + u * -s + h * -r - l * -a),
-            (this.z = h * o + u * -a + l * -s - c * -r),
-            this
-          )
-        }
-        project(t) {
-          return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)
-        }
-        unproject(t) {
-          return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)
-        }
-        transformDirection(t) {
-          const e = this.x,
-            n = this.y,
-            i = this.z,
-            r = t.elements
-          return (
-            (this.x = r[0] * e + r[4] * n + r[8] * i),
-            (this.y = r[1] * e + r[5] * n + r[9] * i),
-            (this.z = r[2] * e + r[6] * n + r[10] * i),
-            this.normalize()
-          )
-        }
-        divide(t) {
-          return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this
-        }
-        divideScalar(t) {
-          return this.multiplyScalar(1 / t)
-        }
-        min(t) {
-          return (
-            (this.x = Math.min(this.x, t.x)),
-            (this.y = Math.min(this.y, t.y)),
-            (this.z = Math.min(this.z, t.z)),
-            this
-          )
-        }
-        max(t) {
-          return (
-            (this.x = Math.max(this.x, t.x)),
-            (this.y = Math.max(this.y, t.y)),
-            (this.z = Math.max(this.z, t.z)),
-            this
-          )
-        }
-        clamp(t, e) {
-          return (
-            (this.x = Math.max(t.x, Math.min(e.x, this.x))),
-            (this.y = Math.max(t.y, Math.min(e.y, this.y))),
-            (this.z = Math.max(t.z, Math.min(e.z, this.z))),
-            this
-          )
-        }
-        clampScalar(t, e) {
-          return (
-            (this.x = Math.max(t, Math.min(e, this.x))),
-            (this.y = Math.max(t, Math.min(e, this.y))),
-            (this.z = Math.max(t, Math.min(e, this.z))),
-            this
-          )
-        }
-        clampLength(t, e) {
-          const n = this.length()
-          return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n)))
-        }
-        floor() {
-          return (
-            (this.x = Math.floor(this.x)),
-            (this.y = Math.floor(this.y)),
-            (this.z = Math.floor(this.z)),
-            this
-          )
-        }
-        ceil() {
-          return (
-            (this.x = Math.ceil(this.x)),
-            (this.y = Math.ceil(this.y)),
-            (this.z = Math.ceil(this.z)),
-            this
-          )
-        }
-        round() {
-          return (
-            (this.x = Math.round(this.x)),
-            (this.y = Math.round(this.y)),
-            (this.z = Math.round(this.z)),
-            this
-          )
-        }
-        roundToZero() {
-          return (
-            (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)),
-            (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)),
-            (this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z)),
-            this
-          )
-        }
-        negate() {
-          return (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), this
-        }
-        dot(t) {
-          return this.x * t.x + this.y * t.y + this.z * t.z
-        }
-        lengthSq() {
-          return this.x * this.x + this.y * this.y + this.z * this.z
-        }
-        length() {
-          return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z)
-        }
-        manhattanLength() {
-          return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z)
-        }
-        normalize() {
-          return this.divideScalar(this.length() || 1)
-        }
-        setLength(t) {
-          return this.normalize().multiplyScalar(t)
-        }
-        lerp(t, e) {
-          return (
-            (this.x += (t.x - this.x) * e),
-            (this.y += (t.y - this.y) * e),
-            (this.z += (t.z - this.z) * e),
-            this
-          )
-        }
-        lerpVectors(t, e, n) {
-          return (
-            (this.x = t.x + (e.x - t.x) * n),
-            (this.y = t.y + (e.y - t.y) * n),
-            (this.z = t.z + (e.z - t.z) * n),
-            this
-          )
-        }
-        cross(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.',
-              ),
-              this.crossVectors(t, e))
-            : this.crossVectors(this, t)
-        }
-        crossVectors(t, e) {
-          const n = t.x,
-            i = t.y,
-            r = t.z,
-            s = e.x,
-            a = e.y,
-            o = e.z
-          return (this.x = i * o - r * a), (this.y = r * s - n * o), (this.z = n * a - i * s), this
-        }
-        projectOnVector(t) {
-          const e = t.lengthSq()
-          if (0 === e) return this.set(0, 0, 0)
-          const n = t.dot(this) / e
-          return this.copy(t).multiplyScalar(n)
-        }
-        projectOnPlane(t) {
-          return dt.copy(this).projectOnVector(t), this.sub(dt)
-        }
-        reflect(t) {
-          return this.sub(dt.copy(t).multiplyScalar(2 * this.dot(t)))
-        }
-        angleTo(t) {
-          const e = Math.sqrt(this.lengthSq() * t.lengthSq())
-          if (0 === e) return Math.PI / 2
-          const n = this.dot(t) / e
-          return Math.acos(J(n, -1, 1))
-        }
-        distanceTo(t) {
-          return Math.sqrt(this.distanceToSquared(t))
-        }
-        distanceToSquared(t) {
-          const e = this.x - t.x,
-            n = this.y - t.y,
-            i = this.z - t.z
-          return e * e + n * n + i * i
-        }
-        manhattanDistanceTo(t) {
-          return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z)
-        }
-        setFromSpherical(t) {
-          return this.setFromSphericalCoords(t.radius, t.phi, t.theta)
-        }
-        setFromSphericalCoords(t, e, n) {
-          const i = Math.sin(e) * t
-          return (
-            (this.x = i * Math.sin(n)), (this.y = Math.cos(e) * t), (this.z = i * Math.cos(n)), this
-          )
-        }
-        setFromCylindrical(t) {
-          return this.setFromCylindricalCoords(t.radius, t.theta, t.y)
-        }
-        setFromCylindricalCoords(t, e, n) {
-          return (this.x = t * Math.sin(e)), (this.y = n), (this.z = t * Math.cos(e)), this
-        }
-        setFromMatrixPosition(t) {
-          const e = t.elements
-          return (this.x = e[12]), (this.y = e[13]), (this.z = e[14]), this
-        }
-        setFromMatrixScale(t) {
-          const e = this.setFromMatrixColumn(t, 0).length(),
-            n = this.setFromMatrixColumn(t, 1).length(),
-            i = this.setFromMatrixColumn(t, 2).length()
-          return (this.x = e), (this.y = n), (this.z = i), this
-        }
-        setFromMatrixColumn(t, e) {
-          return this.fromArray(t.elements, 4 * e)
-        }
-        setFromMatrix3Column(t, e) {
-          return this.fromArray(t.elements, 3 * e)
-        }
-        equals(t) {
-          return t.x === this.x && t.y === this.y && t.z === this.z
-        }
-        fromArray(t, e = 0) {
-          return (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), this
-        }
-        toArray(t = [], e = 0) {
-          return (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), t
-        }
-        fromBufferAttribute(t, e, n) {
-          return (
-            void 0 !== n &&
-              console.warn('THREE.Vector3: offset has been removed from .fromBufferAttribute().'),
-            (this.x = t.getX(e)),
-            (this.y = t.getY(e)),
-            (this.z = t.getZ(e)),
-            this
-          )
-        }
-        random() {
-          return (this.x = Math.random()), (this.y = Math.random()), (this.z = Math.random()), this
-        }
-      }
-      ut.prototype.isVector3 = !0
-      const dt = new ut(),
-        pt = new ht()
-      class mt {
-        constructor(t = new ut(1 / 0, 1 / 0, 1 / 0), e = new ut(-1 / 0, -1 / 0, -1 / 0)) {
-          ;(this.min = t), (this.max = e)
-        }
-        set(t, e) {
-          return this.min.copy(t), this.max.copy(e), this
-        }
-        setFromArray(t) {
-          let e = 1 / 0,
-            n = 1 / 0,
-            i = 1 / 0,
-            r = -1 / 0,
-            s = -1 / 0,
-            a = -1 / 0
-          for (let o = 0, l = t.length; o < l; o += 3) {
-            const l = t[o],
-              c = t[o + 1],
-              h = t[o + 2]
-            l < e && (e = l),
-              c < n && (n = c),
-              h < i && (i = h),
-              l > r && (r = l),
-              c > s && (s = c),
-              h > a && (a = h)
-          }
-          return this.min.set(e, n, i), this.max.set(r, s, a), this
-        }
-        setFromBufferAttribute(t) {
-          let e = 1 / 0,
-            n = 1 / 0,
-            i = 1 / 0,
-            r = -1 / 0,
-            s = -1 / 0,
-            a = -1 / 0
-          for (let o = 0, l = t.count; o < l; o++) {
-            const l = t.getX(o),
-              c = t.getY(o),
-              h = t.getZ(o)
-            l < e && (e = l),
-              c < n && (n = c),
-              h < i && (i = h),
-              l > r && (r = l),
-              c > s && (s = c),
-              h > a && (a = h)
-          }
-          return this.min.set(e, n, i), this.max.set(r, s, a), this
-        }
-        setFromPoints(t) {
-          this.makeEmpty()
-          for (let e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e])
-          return this
-        }
-        setFromCenterAndSize(t, e) {
-          const n = gt.copy(e).multiplyScalar(0.5)
-          return this.min.copy(t).sub(n), this.max.copy(t).add(n), this
-        }
-        setFromObject(t) {
-          return this.makeEmpty(), this.expandByObject(t)
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return this.min.copy(t.min), this.max.copy(t.max), this
-        }
-        makeEmpty() {
-          return (
-            (this.min.x = this.min.y = this.min.z = 1 / 0),
-            (this.max.x = this.max.y = this.max.z = -1 / 0),
-            this
-          )
-        }
-        isEmpty() {
-          return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z
-        }
-        getCenter(t) {
-          return this.isEmpty()
-            ? t.set(0, 0, 0)
-            : t.addVectors(this.min, this.max).multiplyScalar(0.5)
-        }
-        getSize(t) {
-          return this.isEmpty() ? t.set(0, 0, 0) : t.subVectors(this.max, this.min)
-        }
-        expandByPoint(t) {
-          return this.min.min(t), this.max.max(t), this
-        }
-        expandByVector(t) {
-          return this.min.sub(t), this.max.add(t), this
-        }
-        expandByScalar(t) {
-          return this.min.addScalar(-t), this.max.addScalar(t), this
-        }
-        expandByObject(t) {
-          t.updateWorldMatrix(!1, !1)
-          const e = t.geometry
-          void 0 !== e &&
-            (null === e.boundingBox && e.computeBoundingBox(),
-            vt.copy(e.boundingBox),
-            vt.applyMatrix4(t.matrixWorld),
-            this.union(vt))
-          const n = t.children
-          for (let i = 0, r = n.length; i < r; i++) this.expandByObject(n[i])
-          return this
-        }
-        containsPoint(t) {
-          return !(
-            t.x < this.min.x ||
-            t.x > this.max.x ||
-            t.y < this.min.y ||
-            t.y > this.max.y ||
-            t.z < this.min.z ||
-            t.z > this.max.z
-          )
-        }
-        containsBox(t) {
-          return (
-            this.min.x <= t.min.x &&
-            t.max.x <= this.max.x &&
-            this.min.y <= t.min.y &&
-            t.max.y <= this.max.y &&
-            this.min.z <= t.min.z &&
-            t.max.z <= this.max.z
-          )
-        }
-        getParameter(t, e) {
-          return e.set(
-            (t.x - this.min.x) / (this.max.x - this.min.x),
-            (t.y - this.min.y) / (this.max.y - this.min.y),
-            (t.z - this.min.z) / (this.max.z - this.min.z),
-          )
-        }
-        intersectsBox(t) {
-          return !(
-            t.max.x < this.min.x ||
-            t.min.x > this.max.x ||
-            t.max.y < this.min.y ||
-            t.min.y > this.max.y ||
-            t.max.z < this.min.z ||
-            t.min.z > this.max.z
-          )
-        }
-        intersectsSphere(t) {
-          return (
-            this.clampPoint(t.center, gt), gt.distanceToSquared(t.center) <= t.radius * t.radius
-          )
-        }
-        intersectsPlane(t) {
-          let e, n
-          return (
-            t.normal.x > 0
-              ? ((e = t.normal.x * this.min.x), (n = t.normal.x * this.max.x))
-              : ((e = t.normal.x * this.max.x), (n = t.normal.x * this.min.x)),
-            t.normal.y > 0
-              ? ((e += t.normal.y * this.min.y), (n += t.normal.y * this.max.y))
-              : ((e += t.normal.y * this.max.y), (n += t.normal.y * this.min.y)),
-            t.normal.z > 0
-              ? ((e += t.normal.z * this.min.z), (n += t.normal.z * this.max.z))
-              : ((e += t.normal.z * this.max.z), (n += t.normal.z * this.min.z)),
-            e <= -t.constant && n >= -t.constant
-          )
-        }
-        intersectsTriangle(t) {
-          if (this.isEmpty()) return !1
-          this.getCenter(St),
-            Tt.subVectors(this.max, St),
-            yt.subVectors(t.a, St),
-            xt.subVectors(t.b, St),
-            _t.subVectors(t.c, St),
-            bt.subVectors(xt, yt),
-            Mt.subVectors(_t, xt),
-            wt.subVectors(yt, _t)
-          let e = [
-            0,
-            -bt.z,
-            bt.y,
-            0,
-            -Mt.z,
-            Mt.y,
-            0,
-            -wt.z,
-            wt.y,
-            bt.z,
-            0,
-            -bt.x,
-            Mt.z,
-            0,
-            -Mt.x,
-            wt.z,
-            0,
-            -wt.x,
-            -bt.y,
-            bt.x,
-            0,
-            -Mt.y,
-            Mt.x,
-            0,
-            -wt.y,
-            wt.x,
-            0,
-          ]
-          return (
-            !!At(e, yt, xt, _t, Tt) &&
-            ((e = [1, 0, 0, 0, 1, 0, 0, 0, 1]),
-            !!At(e, yt, xt, _t, Tt) &&
-              (Et.crossVectors(bt, Mt), (e = [Et.x, Et.y, Et.z]), At(e, yt, xt, _t, Tt)))
-          )
-        }
-        clampPoint(t, e) {
-          return e.copy(t).clamp(this.min, this.max)
-        }
-        distanceToPoint(t) {
-          return gt.copy(t).clamp(this.min, this.max).sub(t).length()
-        }
-        getBoundingSphere(t) {
-          return this.getCenter(t.center), (t.radius = 0.5 * this.getSize(gt).length()), t
-        }
-        intersect(t) {
-          return this.min.max(t.min), this.max.min(t.max), this.isEmpty() && this.makeEmpty(), this
-        }
-        union(t) {
-          return this.min.min(t.min), this.max.max(t.max), this
-        }
-        applyMatrix4(t) {
-          return (
-            this.isEmpty() ||
-              (ft[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(t),
-              ft[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(t),
-              ft[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(t),
-              ft[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(t),
-              ft[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(t),
-              ft[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(t),
-              ft[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(t),
-              ft[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(t),
-              this.setFromPoints(ft)),
-            this
-          )
-        }
-        translate(t) {
-          return this.min.add(t), this.max.add(t), this
-        }
-        equals(t) {
-          return t.min.equals(this.min) && t.max.equals(this.max)
-        }
-      }
-      mt.prototype.isBox3 = !0
-      const ft = [new ut(), new ut(), new ut(), new ut(), new ut(), new ut(), new ut(), new ut()],
-        gt = new ut(),
-        vt = new mt(),
-        yt = new ut(),
-        xt = new ut(),
-        _t = new ut(),
-        bt = new ut(),
-        Mt = new ut(),
-        wt = new ut(),
-        St = new ut(),
-        Tt = new ut(),
-        Et = new ut(),
-        Lt = new ut()
-      function At(t, e, n, i, r) {
-        for (let s = 0, a = t.length - 3; s <= a; s += 3) {
-          Lt.fromArray(t, s)
-          const a = r.x * Math.abs(Lt.x) + r.y * Math.abs(Lt.y) + r.z * Math.abs(Lt.z),
-            o = e.dot(Lt),
-            l = n.dot(Lt),
-            c = i.dot(Lt)
-          if (Math.max(-Math.max(o, l, c), Math.min(o, l, c)) > a) return !1
-        }
-        return !0
-      }
-      const Rt = new mt(),
-        Ct = new ut(),
-        Pt = new ut(),
-        Dt = new ut()
-      class It {
-        constructor(t = new ut(), e = -1) {
-          ;(this.center = t), (this.radius = e)
-        }
-        set(t, e) {
-          return this.center.copy(t), (this.radius = e), this
-        }
-        setFromPoints(t, e) {
-          const n = this.center
-          void 0 !== e ? n.copy(e) : Rt.setFromPoints(t).getCenter(n)
-          let i = 0
-          for (let r = 0, s = t.length; r < s; r++) i = Math.max(i, n.distanceToSquared(t[r]))
-          return (this.radius = Math.sqrt(i)), this
-        }
-        copy(t) {
-          return this.center.copy(t.center), (this.radius = t.radius), this
-        }
-        isEmpty() {
-          return this.radius < 0
-        }
-        makeEmpty() {
-          return this.center.set(0, 0, 0), (this.radius = -1), this
-        }
-        containsPoint(t) {
-          return t.distanceToSquared(this.center) <= this.radius * this.radius
-        }
-        distanceToPoint(t) {
-          return t.distanceTo(this.center) - this.radius
-        }
-        intersectsSphere(t) {
-          const e = this.radius + t.radius
-          return t.center.distanceToSquared(this.center) <= e * e
-        }
-        intersectsBox(t) {
-          return t.intersectsSphere(this)
-        }
-        intersectsPlane(t) {
-          return Math.abs(t.distanceToPoint(this.center)) <= this.radius
-        }
-        clampPoint(t, e) {
-          const n = this.center.distanceToSquared(t)
-          return (
-            e.copy(t),
-            n > this.radius * this.radius &&
-              (e.sub(this.center).normalize(), e.multiplyScalar(this.radius).add(this.center)),
-            e
-          )
-        }
-        getBoundingBox(t) {
-          return this.isEmpty()
-            ? (t.makeEmpty(), t)
-            : (t.set(this.center, this.center), t.expandByScalar(this.radius), t)
-        }
-        applyMatrix4(t) {
-          return (
-            this.center.applyMatrix4(t), (this.radius = this.radius * t.getMaxScaleOnAxis()), this
-          )
-        }
-        translate(t) {
-          return this.center.add(t), this
-        }
-        expandByPoint(t) {
-          Dt.subVectors(t, this.center)
-          const e = Dt.lengthSq()
-          if (e > this.radius * this.radius) {
-            const t = Math.sqrt(e),
-              n = 0.5 * (t - this.radius)
-            this.center.add(Dt.multiplyScalar(n / t)), (this.radius += n)
-          }
-          return this
-        }
-        union(t) {
-          return (
-            Pt.subVectors(t.center, this.center).normalize().multiplyScalar(t.radius),
-            this.expandByPoint(Ct.copy(t.center).add(Pt)),
-            this.expandByPoint(Ct.copy(t.center).sub(Pt)),
-            this
-          )
-        }
-        equals(t) {
-          return t.center.equals(this.center) && t.radius === this.radius
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      const Nt = new ut(),
-        zt = new ut(),
-        Ot = new ut(),
-        Bt = new ut(),
-        Ft = new ut(),
-        Ut = new ut(),
-        Ht = new ut()
-      class Gt {
-        constructor(t = new ut(), e = new ut(0, 0, -1)) {
-          ;(this.origin = t), (this.direction = e)
-        }
-        set(t, e) {
-          return this.origin.copy(t), this.direction.copy(e), this
-        }
-        copy(t) {
-          return this.origin.copy(t.origin), this.direction.copy(t.direction), this
-        }
-        at(t, e) {
-          return e.copy(this.direction).multiplyScalar(t).add(this.origin)
-        }
-        lookAt(t) {
-          return this.direction.copy(t).sub(this.origin).normalize(), this
-        }
-        recast(t) {
-          return this.origin.copy(this.at(t, Nt)), this
-        }
-        closestPointToPoint(t, e) {
-          e.subVectors(t, this.origin)
-          const n = e.dot(this.direction)
-          return n < 0
-            ? e.copy(this.origin)
-            : e.copy(this.direction).multiplyScalar(n).add(this.origin)
-        }
-        distanceToPoint(t) {
-          return Math.sqrt(this.distanceSqToPoint(t))
-        }
-        distanceSqToPoint(t) {
-          const e = Nt.subVectors(t, this.origin).dot(this.direction)
-          return e < 0
-            ? this.origin.distanceToSquared(t)
-            : (Nt.copy(this.direction).multiplyScalar(e).add(this.origin), Nt.distanceToSquared(t))
-        }
-        distanceSqToSegment(t, e, n, i) {
-          zt.copy(t).add(e).multiplyScalar(0.5),
-            Ot.copy(e).sub(t).normalize(),
-            Bt.copy(this.origin).sub(zt)
-          const r = 0.5 * t.distanceTo(e),
-            s = -this.direction.dot(Ot),
-            a = Bt.dot(this.direction),
-            o = -Bt.dot(Ot),
-            l = Bt.lengthSq(),
-            c = Math.abs(1 - s * s)
-          let h, u, d, p
-          if (c > 0)
-            if (((h = s * o - a), (u = s * a - o), (p = r * c), h >= 0))
-              if (u >= -p)
-                if (u <= p) {
-                  const t = 1 / c
-                  ;(h *= t), (u *= t), (d = h * (h + s * u + 2 * a) + u * (s * h + u + 2 * o) + l)
-                } else (u = r), (h = Math.max(0, -(s * u + a))), (d = -h * h + u * (u + 2 * o) + l)
-              else (u = -r), (h = Math.max(0, -(s * u + a))), (d = -h * h + u * (u + 2 * o) + l)
-            else
-              u <= -p
-                ? ((h = Math.max(0, -(-s * r + a))),
-                  (u = h > 0 ? -r : Math.min(Math.max(-r, -o), r)),
-                  (d = -h * h + u * (u + 2 * o) + l))
-                : u <= p
-                ? ((h = 0), (u = Math.min(Math.max(-r, -o), r)), (d = u * (u + 2 * o) + l))
-                : ((h = Math.max(0, -(s * r + a))),
-                  (u = h > 0 ? r : Math.min(Math.max(-r, -o), r)),
-                  (d = -h * h + u * (u + 2 * o) + l))
-          else
-            (u = s > 0 ? -r : r),
-              (h = Math.max(0, -(s * u + a))),
-              (d = -h * h + u * (u + 2 * o) + l)
-          return (
-            n && n.copy(this.direction).multiplyScalar(h).add(this.origin),
-            i && i.copy(Ot).multiplyScalar(u).add(zt),
-            d
-          )
-        }
-        intersectSphere(t, e) {
-          Nt.subVectors(t.center, this.origin)
-          const n = Nt.dot(this.direction),
-            i = Nt.dot(Nt) - n * n,
-            r = t.radius * t.radius
-          if (i > r) return null
-          const s = Math.sqrt(r - i),
-            a = n - s,
-            o = n + s
-          return a < 0 && o < 0 ? null : a < 0 ? this.at(o, e) : this.at(a, e)
-        }
-        intersectsSphere(t) {
-          return this.distanceSqToPoint(t.center) <= t.radius * t.radius
-        }
-        distanceToPlane(t) {
-          const e = t.normal.dot(this.direction)
-          if (0 === e) return 0 === t.distanceToPoint(this.origin) ? 0 : null
-          const n = -(this.origin.dot(t.normal) + t.constant) / e
-          return n >= 0 ? n : null
-        }
-        intersectPlane(t, e) {
-          const n = this.distanceToPlane(t)
-          return null === n ? null : this.at(n, e)
-        }
-        intersectsPlane(t) {
-          const e = t.distanceToPoint(this.origin)
-          if (0 === e) return !0
-          return t.normal.dot(this.direction) * e < 0
-        }
-        intersectBox(t, e) {
-          let n, i, r, s, a, o
-          const l = 1 / this.direction.x,
-            c = 1 / this.direction.y,
-            h = 1 / this.direction.z,
-            u = this.origin
-          return (
-            l >= 0
-              ? ((n = (t.min.x - u.x) * l), (i = (t.max.x - u.x) * l))
-              : ((n = (t.max.x - u.x) * l), (i = (t.min.x - u.x) * l)),
-            c >= 0
-              ? ((r = (t.min.y - u.y) * c), (s = (t.max.y - u.y) * c))
-              : ((r = (t.max.y - u.y) * c), (s = (t.min.y - u.y) * c)),
-            n > s || r > i
-              ? null
-              : ((r > n || n !== n) && (n = r),
-                (s < i || i !== i) && (i = s),
-                h >= 0
-                  ? ((a = (t.min.z - u.z) * h), (o = (t.max.z - u.z) * h))
-                  : ((a = (t.max.z - u.z) * h), (o = (t.min.z - u.z) * h)),
-                n > o || a > i
-                  ? null
-                  : ((a > n || n !== n) && (n = a),
-                    (o < i || i !== i) && (i = o),
-                    i < 0 ? null : this.at(n >= 0 ? n : i, e)))
-          )
-        }
-        intersectsBox(t) {
-          return null !== this.intersectBox(t, Nt)
-        }
-        intersectTriangle(t, e, n, i, r) {
-          Ft.subVectors(e, t), Ut.subVectors(n, t), Ht.crossVectors(Ft, Ut)
-          let s,
-            a = this.direction.dot(Ht)
-          if (a > 0) {
-            if (i) return null
-            s = 1
-          } else {
-            if (!(a < 0)) return null
-            ;(s = -1), (a = -a)
-          }
-          Bt.subVectors(this.origin, t)
-          const o = s * this.direction.dot(Ut.crossVectors(Bt, Ut))
-          if (o < 0) return null
-          const l = s * this.direction.dot(Ft.cross(Bt))
-          if (l < 0) return null
-          if (o + l > a) return null
-          const c = -s * Bt.dot(Ht)
-          return c < 0 ? null : this.at(c / a, r)
-        }
-        applyMatrix4(t) {
-          return this.origin.applyMatrix4(t), this.direction.transformDirection(t), this
-        }
-        equals(t) {
-          return t.origin.equals(this.origin) && t.direction.equals(this.direction)
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      class Vt {
-        constructor() {
-          ;(this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
-            arguments.length > 0 &&
-              console.error(
-                'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.',
-              )
-        }
-        set(t, e, n, i, r, s, a, o, l, c, h, u, d, p, m, f) {
-          const g = this.elements
-          return (
-            (g[0] = t),
-            (g[4] = e),
-            (g[8] = n),
-            (g[12] = i),
-            (g[1] = r),
-            (g[5] = s),
-            (g[9] = a),
-            (g[13] = o),
-            (g[2] = l),
-            (g[6] = c),
-            (g[10] = h),
-            (g[14] = u),
-            (g[3] = d),
-            (g[7] = p),
-            (g[11] = m),
-            (g[15] = f),
-            this
-          )
-        }
-        identity() {
-          return this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this
-        }
-        clone() {
-          return new Vt().fromArray(this.elements)
-        }
-        copy(t) {
-          const e = this.elements,
-            n = t.elements
-          return (
-            (e[0] = n[0]),
-            (e[1] = n[1]),
-            (e[2] = n[2]),
-            (e[3] = n[3]),
-            (e[4] = n[4]),
-            (e[5] = n[5]),
-            (e[6] = n[6]),
-            (e[7] = n[7]),
-            (e[8] = n[8]),
-            (e[9] = n[9]),
-            (e[10] = n[10]),
-            (e[11] = n[11]),
-            (e[12] = n[12]),
-            (e[13] = n[13]),
-            (e[14] = n[14]),
-            (e[15] = n[15]),
-            this
-          )
-        }
-        copyPosition(t) {
-          const e = this.elements,
-            n = t.elements
-          return (e[12] = n[12]), (e[13] = n[13]), (e[14] = n[14]), this
-        }
-        setFromMatrix3(t) {
-          const e = t.elements
-          return (
-            this.set(e[0], e[3], e[6], 0, e[1], e[4], e[7], 0, e[2], e[5], e[8], 0, 0, 0, 0, 1),
-            this
-          )
-        }
-        extractBasis(t, e, n) {
-          return (
-            t.setFromMatrixColumn(this, 0),
-            e.setFromMatrixColumn(this, 1),
-            n.setFromMatrixColumn(this, 2),
-            this
-          )
-        }
-        makeBasis(t, e, n) {
-          return this.set(t.x, e.x, n.x, 0, t.y, e.y, n.y, 0, t.z, e.z, n.z, 0, 0, 0, 0, 1), this
-        }
-        extractRotation(t) {
-          const e = this.elements,
-            n = t.elements,
-            i = 1 / kt.setFromMatrixColumn(t, 0).length(),
-            r = 1 / kt.setFromMatrixColumn(t, 1).length(),
-            s = 1 / kt.setFromMatrixColumn(t, 2).length()
-          return (
-            (e[0] = n[0] * i),
-            (e[1] = n[1] * i),
-            (e[2] = n[2] * i),
-            (e[3] = 0),
-            (e[4] = n[4] * r),
-            (e[5] = n[5] * r),
-            (e[6] = n[6] * r),
-            (e[7] = 0),
-            (e[8] = n[8] * s),
-            (e[9] = n[9] * s),
-            (e[10] = n[10] * s),
-            (e[11] = 0),
-            (e[12] = 0),
-            (e[13] = 0),
-            (e[14] = 0),
-            (e[15] = 1),
-            this
-          )
-        }
-        makeRotationFromEuler(t) {
-          ;(t && t.isEuler) ||
-            console.error(
-              'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.',
-            )
-          const e = this.elements,
-            n = t.x,
-            i = t.y,
-            r = t.z,
-            s = Math.cos(n),
-            a = Math.sin(n),
-            o = Math.cos(i),
-            l = Math.sin(i),
-            c = Math.cos(r),
-            h = Math.sin(r)
-          if ('XYZ' === t.order) {
-            const t = s * c,
-              n = s * h,
-              i = a * c,
-              r = a * h
-            ;(e[0] = o * c),
-              (e[4] = -o * h),
-              (e[8] = l),
-              (e[1] = n + i * l),
-              (e[5] = t - r * l),
-              (e[9] = -a * o),
-              (e[2] = r - t * l),
-              (e[6] = i + n * l),
-              (e[10] = s * o)
-          } else if ('YXZ' === t.order) {
-            const t = o * c,
-              n = o * h,
-              i = l * c,
-              r = l * h
-            ;(e[0] = t + r * a),
-              (e[4] = i * a - n),
-              (e[8] = s * l),
-              (e[1] = s * h),
-              (e[5] = s * c),
-              (e[9] = -a),
-              (e[2] = n * a - i),
-              (e[6] = r + t * a),
-              (e[10] = s * o)
-          } else if ('ZXY' === t.order) {
-            const t = o * c,
-              n = o * h,
-              i = l * c,
-              r = l * h
-            ;(e[0] = t - r * a),
-              (e[4] = -s * h),
-              (e[8] = i + n * a),
-              (e[1] = n + i * a),
-              (e[5] = s * c),
-              (e[9] = r - t * a),
-              (e[2] = -s * l),
-              (e[6] = a),
-              (e[10] = s * o)
-          } else if ('ZYX' === t.order) {
-            const t = s * c,
-              n = s * h,
-              i = a * c,
-              r = a * h
-            ;(e[0] = o * c),
-              (e[4] = i * l - n),
-              (e[8] = t * l + r),
-              (e[1] = o * h),
-              (e[5] = r * l + t),
-              (e[9] = n * l - i),
-              (e[2] = -l),
-              (e[6] = a * o),
-              (e[10] = s * o)
-          } else if ('YZX' === t.order) {
-            const t = s * o,
-              n = s * l,
-              i = a * o,
-              r = a * l
-            ;(e[0] = o * c),
-              (e[4] = r - t * h),
-              (e[8] = i * h + n),
-              (e[1] = h),
-              (e[5] = s * c),
-              (e[9] = -a * c),
-              (e[2] = -l * c),
-              (e[6] = n * h + i),
-              (e[10] = t - r * h)
-          } else if ('XZY' === t.order) {
-            const t = s * o,
-              n = s * l,
-              i = a * o,
-              r = a * l
-            ;(e[0] = o * c),
-              (e[4] = -h),
-              (e[8] = l * c),
-              (e[1] = t * h + r),
-              (e[5] = s * c),
-              (e[9] = n * h - i),
-              (e[2] = i * h - n),
-              (e[6] = a * c),
-              (e[10] = r * h + t)
-          }
-          return (
-            (e[3] = 0),
-            (e[7] = 0),
-            (e[11] = 0),
-            (e[12] = 0),
-            (e[13] = 0),
-            (e[14] = 0),
-            (e[15] = 1),
-            this
-          )
-        }
-        makeRotationFromQuaternion(t) {
-          return this.compose(jt, t, qt)
-        }
-        lookAt(t, e, n) {
-          const i = this.elements
-          return (
-            Jt.subVectors(t, e),
-            0 === Jt.lengthSq() && (Jt.z = 1),
-            Jt.normalize(),
-            Xt.crossVectors(n, Jt),
-            0 === Xt.lengthSq() &&
-              (1 === Math.abs(n.z) ? (Jt.x += 1e-4) : (Jt.z += 1e-4),
-              Jt.normalize(),
-              Xt.crossVectors(n, Jt)),
-            Xt.normalize(),
-            Yt.crossVectors(Jt, Xt),
-            (i[0] = Xt.x),
-            (i[4] = Yt.x),
-            (i[8] = Jt.x),
-            (i[1] = Xt.y),
-            (i[5] = Yt.y),
-            (i[9] = Jt.y),
-            (i[2] = Xt.z),
-            (i[6] = Yt.z),
-            (i[10] = Jt.z),
-            this
-          )
-        }
-        multiply(t, e) {
-          return void 0 !== e
-            ? (console.warn(
-                'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.',
-              ),
-              this.multiplyMatrices(t, e))
-            : this.multiplyMatrices(this, t)
-        }
-        premultiply(t) {
-          return this.multiplyMatrices(t, this)
-        }
-        multiplyMatrices(t, e) {
-          const n = t.elements,
-            i = e.elements,
-            r = this.elements,
-            s = n[0],
-            a = n[4],
-            o = n[8],
-            l = n[12],
-            c = n[1],
-            h = n[5],
-            u = n[9],
-            d = n[13],
-            p = n[2],
-            m = n[6],
-            f = n[10],
-            g = n[14],
-            v = n[3],
-            y = n[7],
-            x = n[11],
-            _ = n[15],
-            b = i[0],
-            M = i[4],
-            w = i[8],
-            S = i[12],
-            T = i[1],
-            E = i[5],
-            L = i[9],
-            A = i[13],
-            R = i[2],
-            C = i[6],
-            P = i[10],
-            D = i[14],
-            I = i[3],
-            N = i[7],
-            z = i[11],
-            O = i[15]
-          return (
-            (r[0] = s * b + a * T + o * R + l * I),
-            (r[4] = s * M + a * E + o * C + l * N),
-            (r[8] = s * w + a * L + o * P + l * z),
-            (r[12] = s * S + a * A + o * D + l * O),
-            (r[1] = c * b + h * T + u * R + d * I),
-            (r[5] = c * M + h * E + u * C + d * N),
-            (r[9] = c * w + h * L + u * P + d * z),
-            (r[13] = c * S + h * A + u * D + d * O),
-            (r[2] = p * b + m * T + f * R + g * I),
-            (r[6] = p * M + m * E + f * C + g * N),
-            (r[10] = p * w + m * L + f * P + g * z),
-            (r[14] = p * S + m * A + f * D + g * O),
-            (r[3] = v * b + y * T + x * R + _ * I),
-            (r[7] = v * M + y * E + x * C + _ * N),
-            (r[11] = v * w + y * L + x * P + _ * z),
-            (r[15] = v * S + y * A + x * D + _ * O),
-            this
-          )
-        }
-        multiplyScalar(t) {
-          const e = this.elements
-          return (
-            (e[0] *= t),
-            (e[4] *= t),
-            (e[8] *= t),
-            (e[12] *= t),
-            (e[1] *= t),
-            (e[5] *= t),
-            (e[9] *= t),
-            (e[13] *= t),
-            (e[2] *= t),
-            (e[6] *= t),
-            (e[10] *= t),
-            (e[14] *= t),
-            (e[3] *= t),
-            (e[7] *= t),
-            (e[11] *= t),
-            (e[15] *= t),
-            this
-          )
-        }
-        determinant() {
-          const t = this.elements,
-            e = t[0],
-            n = t[4],
-            i = t[8],
-            r = t[12],
-            s = t[1],
-            a = t[5],
-            o = t[9],
-            l = t[13],
-            c = t[2],
-            h = t[6],
-            u = t[10],
-            d = t[14]
-          return (
-            t[3] * (+r * o * h - i * l * h - r * a * u + n * l * u + i * a * d - n * o * d) +
-            t[7] * (+e * o * d - e * l * u + r * s * u - i * s * d + i * l * c - r * o * c) +
-            t[11] * (+e * l * h - e * a * d - r * s * h + n * s * d + r * a * c - n * l * c) +
-            t[15] * (-i * a * c - e * o * h + e * a * u + i * s * h - n * s * u + n * o * c)
-          )
-        }
-        transpose() {
-          const t = this.elements
-          let e
-          return (
-            (e = t[1]),
-            (t[1] = t[4]),
-            (t[4] = e),
-            (e = t[2]),
-            (t[2] = t[8]),
-            (t[8] = e),
-            (e = t[6]),
-            (t[6] = t[9]),
-            (t[9] = e),
-            (e = t[3]),
-            (t[3] = t[12]),
-            (t[12] = e),
-            (e = t[7]),
-            (t[7] = t[13]),
-            (t[13] = e),
-            (e = t[11]),
-            (t[11] = t[14]),
-            (t[14] = e),
-            this
-          )
-        }
-        setPosition(t, e, n) {
-          const i = this.elements
-          return (
-            t.isVector3
-              ? ((i[12] = t.x), (i[13] = t.y), (i[14] = t.z))
-              : ((i[12] = t), (i[13] = e), (i[14] = n)),
-            this
-          )
-        }
-        invert() {
-          const t = this.elements,
-            e = t[0],
-            n = t[1],
-            i = t[2],
-            r = t[3],
-            s = t[4],
-            a = t[5],
-            o = t[6],
-            l = t[7],
-            c = t[8],
-            h = t[9],
-            u = t[10],
-            d = t[11],
-            p = t[12],
-            m = t[13],
-            f = t[14],
-            g = t[15],
-            v = h * f * l - m * u * l + m * o * d - a * f * d - h * o * g + a * u * g,
-            y = p * u * l - c * f * l - p * o * d + s * f * d + c * o * g - s * u * g,
-            x = c * m * l - p * h * l + p * a * d - s * m * d - c * a * g + s * h * g,
-            _ = p * h * o - c * m * o - p * a * u + s * m * u + c * a * f - s * h * f,
-            b = e * v + n * y + i * x + r * _
-          if (0 === b) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
-          const M = 1 / b
-          return (
-            (t[0] = v * M),
-            (t[1] = (m * u * r - h * f * r - m * i * d + n * f * d + h * i * g - n * u * g) * M),
-            (t[2] = (a * f * r - m * o * r + m * i * l - n * f * l - a * i * g + n * o * g) * M),
-            (t[3] = (h * o * r - a * u * r - h * i * l + n * u * l + a * i * d - n * o * d) * M),
-            (t[4] = y * M),
-            (t[5] = (c * f * r - p * u * r + p * i * d - e * f * d - c * i * g + e * u * g) * M),
-            (t[6] = (p * o * r - s * f * r - p * i * l + e * f * l + s * i * g - e * o * g) * M),
-            (t[7] = (s * u * r - c * o * r + c * i * l - e * u * l - s * i * d + e * o * d) * M),
-            (t[8] = x * M),
-            (t[9] = (p * h * r - c * m * r - p * n * d + e * m * d + c * n * g - e * h * g) * M),
-            (t[10] = (s * m * r - p * a * r + p * n * l - e * m * l - s * n * g + e * a * g) * M),
-            (t[11] = (c * a * r - s * h * r - c * n * l + e * h * l + s * n * d - e * a * d) * M),
-            (t[12] = _ * M),
-            (t[13] = (c * m * i - p * h * i + p * n * u - e * m * u - c * n * f + e * h * f) * M),
-            (t[14] = (p * a * i - s * m * i - p * n * o + e * m * o + s * n * f - e * a * f) * M),
-            (t[15] = (s * h * i - c * a * i + c * n * o - e * h * o - s * n * u + e * a * u) * M),
-            this
-          )
-        }
-        scale(t) {
-          const e = this.elements,
-            n = t.x,
-            i = t.y,
-            r = t.z
-          return (
-            (e[0] *= n),
-            (e[4] *= i),
-            (e[8] *= r),
-            (e[1] *= n),
-            (e[5] *= i),
-            (e[9] *= r),
-            (e[2] *= n),
-            (e[6] *= i),
-            (e[10] *= r),
-            (e[3] *= n),
-            (e[7] *= i),
-            (e[11] *= r),
-            this
-          )
-        }
-        getMaxScaleOnAxis() {
-          const t = this.elements,
-            e = t[0] * t[0] + t[1] * t[1] + t[2] * t[2],
-            n = t[4] * t[4] + t[5] * t[5] + t[6] * t[6],
-            i = t[8] * t[8] + t[9] * t[9] + t[10] * t[10]
-          return Math.sqrt(Math.max(e, n, i))
-        }
-        makeTranslation(t, e, n) {
-          return this.set(1, 0, 0, t, 0, 1, 0, e, 0, 0, 1, n, 0, 0, 0, 1), this
-        }
-        makeRotationX(t) {
-          const e = Math.cos(t),
-            n = Math.sin(t)
-          return this.set(1, 0, 0, 0, 0, e, -n, 0, 0, n, e, 0, 0, 0, 0, 1), this
-        }
-        makeRotationY(t) {
-          const e = Math.cos(t),
-            n = Math.sin(t)
-          return this.set(e, 0, n, 0, 0, 1, 0, 0, -n, 0, e, 0, 0, 0, 0, 1), this
-        }
-        makeRotationZ(t) {
-          const e = Math.cos(t),
-            n = Math.sin(t)
-          return this.set(e, -n, 0, 0, n, e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this
-        }
-        makeRotationAxis(t, e) {
-          const n = Math.cos(e),
-            i = Math.sin(e),
-            r = 1 - n,
-            s = t.x,
-            a = t.y,
-            o = t.z,
-            l = r * s,
-            c = r * a
-          return (
-            this.set(
-              l * s + n,
-              l * a - i * o,
-              l * o + i * a,
-              0,
-              l * a + i * o,
-              c * a + n,
-              c * o - i * s,
-              0,
-              l * o - i * a,
-              c * o + i * s,
-              r * o * o + n,
-              0,
-              0,
-              0,
-              0,
-              1,
-            ),
-            this
-          )
-        }
-        makeScale(t, e, n) {
-          return this.set(t, 0, 0, 0, 0, e, 0, 0, 0, 0, n, 0, 0, 0, 0, 1), this
-        }
-        makeShear(t, e, n, i, r, s) {
-          return this.set(1, n, r, 0, t, 1, s, 0, e, i, 1, 0, 0, 0, 0, 1), this
-        }
-        compose(t, e, n) {
-          const i = this.elements,
-            r = e._x,
-            s = e._y,
-            a = e._z,
-            o = e._w,
-            l = r + r,
-            c = s + s,
-            h = a + a,
-            u = r * l,
-            d = r * c,
-            p = r * h,
-            m = s * c,
-            f = s * h,
-            g = a * h,
-            v = o * l,
-            y = o * c,
-            x = o * h,
-            _ = n.x,
-            b = n.y,
-            M = n.z
-          return (
-            (i[0] = (1 - (m + g)) * _),
-            (i[1] = (d + x) * _),
-            (i[2] = (p - y) * _),
-            (i[3] = 0),
-            (i[4] = (d - x) * b),
-            (i[5] = (1 - (u + g)) * b),
-            (i[6] = (f + v) * b),
-            (i[7] = 0),
-            (i[8] = (p + y) * M),
-            (i[9] = (f - v) * M),
-            (i[10] = (1 - (u + m)) * M),
-            (i[11] = 0),
-            (i[12] = t.x),
-            (i[13] = t.y),
-            (i[14] = t.z),
-            (i[15] = 1),
-            this
-          )
-        }
-        decompose(t, e, n) {
-          const i = this.elements
-          let r = kt.set(i[0], i[1], i[2]).length()
-          const s = kt.set(i[4], i[5], i[6]).length(),
-            a = kt.set(i[8], i[9], i[10]).length()
-          this.determinant() < 0 && (r = -r),
-            (t.x = i[12]),
-            (t.y = i[13]),
-            (t.z = i[14]),
-            Wt.copy(this)
-          const o = 1 / r,
-            l = 1 / s,
-            c = 1 / a
-          return (
-            (Wt.elements[0] *= o),
-            (Wt.elements[1] *= o),
-            (Wt.elements[2] *= o),
-            (Wt.elements[4] *= l),
-            (Wt.elements[5] *= l),
-            (Wt.elements[6] *= l),
-            (Wt.elements[8] *= c),
-            (Wt.elements[9] *= c),
-            (Wt.elements[10] *= c),
-            e.setFromRotationMatrix(Wt),
-            (n.x = r),
-            (n.y = s),
-            (n.z = a),
-            this
-          )
-        }
-        makePerspective(t, e, n, i, r, s) {
-          void 0 === s &&
-            console.warn(
-              'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.',
-            )
-          const a = this.elements,
-            o = (2 * r) / (e - t),
-            l = (2 * r) / (n - i),
-            c = (e + t) / (e - t),
-            h = (n + i) / (n - i),
-            u = -(s + r) / (s - r),
-            d = (-2 * s * r) / (s - r)
-          return (
-            (a[0] = o),
-            (a[4] = 0),
-            (a[8] = c),
-            (a[12] = 0),
-            (a[1] = 0),
-            (a[5] = l),
-            (a[9] = h),
-            (a[13] = 0),
-            (a[2] = 0),
-            (a[6] = 0),
-            (a[10] = u),
-            (a[14] = d),
-            (a[3] = 0),
-            (a[7] = 0),
-            (a[11] = -1),
-            (a[15] = 0),
-            this
-          )
-        }
-        makeOrthographic(t, e, n, i, r, s) {
-          const a = this.elements,
-            o = 1 / (e - t),
-            l = 1 / (n - i),
-            c = 1 / (s - r),
-            h = (e + t) * o,
-            u = (n + i) * l,
-            d = (s + r) * c
-          return (
-            (a[0] = 2 * o),
-            (a[4] = 0),
-            (a[8] = 0),
-            (a[12] = -h),
-            (a[1] = 0),
-            (a[5] = 2 * l),
-            (a[9] = 0),
-            (a[13] = -u),
-            (a[2] = 0),
-            (a[6] = 0),
-            (a[10] = -2 * c),
-            (a[14] = -d),
-            (a[3] = 0),
-            (a[7] = 0),
-            (a[11] = 0),
-            (a[15] = 1),
-            this
-          )
-        }
-        equals(t) {
-          const e = this.elements,
-            n = t.elements
-          for (let i = 0; i < 16; i++) if (e[i] !== n[i]) return !1
-          return !0
-        }
-        fromArray(t, e = 0) {
-          for (let n = 0; n < 16; n++) this.elements[n] = t[n + e]
-          return this
-        }
-        toArray(t = [], e = 0) {
-          const n = this.elements
-          return (
-            (t[e] = n[0]),
-            (t[e + 1] = n[1]),
-            (t[e + 2] = n[2]),
-            (t[e + 3] = n[3]),
-            (t[e + 4] = n[4]),
-            (t[e + 5] = n[5]),
-            (t[e + 6] = n[6]),
-            (t[e + 7] = n[7]),
-            (t[e + 8] = n[8]),
-            (t[e + 9] = n[9]),
-            (t[e + 10] = n[10]),
-            (t[e + 11] = n[11]),
-            (t[e + 12] = n[12]),
-            (t[e + 13] = n[13]),
-            (t[e + 14] = n[14]),
-            (t[e + 15] = n[15]),
-            t
-          )
-        }
-      }
-      Vt.prototype.isMatrix4 = !0
-      const kt = new ut(),
-        Wt = new Vt(),
-        jt = new ut(0, 0, 0),
-        qt = new ut(1, 1, 1),
-        Xt = new ut(),
-        Yt = new ut(),
-        Jt = new ut(),
-        Zt = new Vt(),
-        Qt = new ht()
-      class Kt {
-        constructor(t = 0, e = 0, n = 0, i = Kt.DefaultOrder) {
-          ;(this._x = t), (this._y = e), (this._z = n), (this._order = i)
-        }
-        get x() {
-          return this._x
-        }
-        set x(t) {
-          ;(this._x = t), this._onChangeCallback()
-        }
-        get y() {
-          return this._y
-        }
-        set y(t) {
-          ;(this._y = t), this._onChangeCallback()
-        }
-        get z() {
-          return this._z
-        }
-        set z(t) {
-          ;(this._z = t), this._onChangeCallback()
-        }
-        get order() {
-          return this._order
-        }
-        set order(t) {
-          ;(this._order = t), this._onChangeCallback()
-        }
-        set(t, e, n, i = this._order) {
-          return (
-            (this._x = t),
-            (this._y = e),
-            (this._z = n),
-            (this._order = i),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        clone() {
-          return new this.constructor(this._x, this._y, this._z, this._order)
-        }
-        copy(t) {
-          return (
-            (this._x = t._x),
-            (this._y = t._y),
-            (this._z = t._z),
-            (this._order = t._order),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        setFromRotationMatrix(t, e = this._order, n = !0) {
-          const i = t.elements,
-            r = i[0],
-            s = i[4],
-            a = i[8],
-            o = i[1],
-            l = i[5],
-            c = i[9],
-            h = i[2],
-            u = i[6],
-            d = i[10]
-          switch (e) {
-            case 'XYZ':
-              ;(this._y = Math.asin(J(a, -1, 1))),
-                Math.abs(a) < 0.9999999
-                  ? ((this._x = Math.atan2(-c, d)), (this._z = Math.atan2(-s, r)))
-                  : ((this._x = Math.atan2(u, l)), (this._z = 0))
-              break
-            case 'YXZ':
-              ;(this._x = Math.asin(-J(c, -1, 1))),
-                Math.abs(c) < 0.9999999
-                  ? ((this._y = Math.atan2(a, d)), (this._z = Math.atan2(o, l)))
-                  : ((this._y = Math.atan2(-h, r)), (this._z = 0))
-              break
-            case 'ZXY':
-              ;(this._x = Math.asin(J(u, -1, 1))),
-                Math.abs(u) < 0.9999999
-                  ? ((this._y = Math.atan2(-h, d)), (this._z = Math.atan2(-s, l)))
-                  : ((this._y = 0), (this._z = Math.atan2(o, r)))
-              break
-            case 'ZYX':
-              ;(this._y = Math.asin(-J(h, -1, 1))),
-                Math.abs(h) < 0.9999999
-                  ? ((this._x = Math.atan2(u, d)), (this._z = Math.atan2(o, r)))
-                  : ((this._x = 0), (this._z = Math.atan2(-s, l)))
-              break
-            case 'YZX':
-              ;(this._z = Math.asin(J(o, -1, 1))),
-                Math.abs(o) < 0.9999999
-                  ? ((this._x = Math.atan2(-c, l)), (this._y = Math.atan2(-h, r)))
-                  : ((this._x = 0), (this._y = Math.atan2(a, d)))
-              break
-            case 'XZY':
-              ;(this._z = Math.asin(-J(s, -1, 1))),
-                Math.abs(s) < 0.9999999
-                  ? ((this._x = Math.atan2(u, l)), (this._y = Math.atan2(a, r)))
-                  : ((this._x = Math.atan2(-c, d)), (this._y = 0))
-              break
-            default:
-              console.warn(
-                'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + e,
-              )
-          }
-          return (this._order = e), !0 === n && this._onChangeCallback(), this
-        }
-        setFromQuaternion(t, e, n) {
-          return Zt.makeRotationFromQuaternion(t), this.setFromRotationMatrix(Zt, e, n)
-        }
-        setFromVector3(t, e = this._order) {
-          return this.set(t.x, t.y, t.z, e)
-        }
-        reorder(t) {
-          return Qt.setFromEuler(this), this.setFromQuaternion(Qt, t)
-        }
-        equals(t) {
-          return (
-            t._x === this._x && t._y === this._y && t._z === this._z && t._order === this._order
-          )
-        }
-        fromArray(t) {
-          return (
-            (this._x = t[0]),
-            (this._y = t[1]),
-            (this._z = t[2]),
-            void 0 !== t[3] && (this._order = t[3]),
-            this._onChangeCallback(),
-            this
-          )
-        }
-        toArray(t = [], e = 0) {
-          return (
-            (t[e] = this._x),
-            (t[e + 1] = this._y),
-            (t[e + 2] = this._z),
-            (t[e + 3] = this._order),
-            t
-          )
-        }
-        toVector3(t) {
-          return t ? t.set(this._x, this._y, this._z) : new ut(this._x, this._y, this._z)
-        }
-        _onChange(t) {
-          return (this._onChangeCallback = t), this
-        }
-        _onChangeCallback() {}
-      }
-      ;(Kt.prototype.isEuler = !0),
-        (Kt.DefaultOrder = 'XYZ'),
-        (Kt.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX'])
-      class $t {
-        constructor() {
-          this.mask = 1
-        }
-        set(t) {
-          this.mask = (1 << t) | 0
-        }
-        enable(t) {
-          this.mask |= (1 << t) | 0
-        }
-        enableAll() {
-          this.mask = -1
-        }
-        toggle(t) {
-          this.mask ^= (1 << t) | 0
-        }
-        disable(t) {
-          this.mask &= ~((1 << t) | 0)
-        }
-        disableAll() {
-          this.mask = 0
-        }
-        test(t) {
-          return 0 !== (this.mask & t.mask)
-        }
-      }
-      let te = 0
-      const ee = new ut(),
-        ne = new ht(),
-        ie = new Vt(),
-        re = new ut(),
-        se = new ut(),
-        ae = new ut(),
-        oe = new ht(),
-        le = new ut(1, 0, 0),
-        ce = new ut(0, 1, 0),
-        he = new ut(0, 0, 1),
-        ue = { type: 'added' },
-        de = { type: 'removed' }
-      class pe extends W {
-        constructor() {
-          super(),
-            Object.defineProperty(this, 'id', { value: te++ }),
-            (this.uuid = Y()),
-            (this.name = ''),
-            (this.type = 'Object3D'),
-            (this.parent = null),
-            (this.children = []),
-            (this.up = pe.DefaultUp.clone())
-          const t = new ut(),
-            e = new Kt(),
-            n = new ht(),
-            i = new ut(1, 1, 1)
-          e._onChange(function () {
-            n.setFromEuler(e, !1)
-          }),
-            n._onChange(function () {
-              e.setFromQuaternion(n, void 0, !1)
-            }),
-            Object.defineProperties(this, {
-              position: { configurable: !0, enumerable: !0, value: t },
-              rotation: { configurable: !0, enumerable: !0, value: e },
-              quaternion: { configurable: !0, enumerable: !0, value: n },
-              scale: { configurable: !0, enumerable: !0, value: i },
-              modelViewMatrix: { value: new Vt() },
-              normalMatrix: { value: new et() },
-            }),
-            (this.matrix = new Vt()),
-            (this.matrixWorld = new Vt()),
-            (this.matrixAutoUpdate = pe.DefaultMatrixAutoUpdate),
-            (this.matrixWorldNeedsUpdate = !1),
-            (this.layers = new $t()),
-            (this.visible = !0),
-            (this.castShadow = !1),
-            (this.receiveShadow = !1),
-            (this.frustumCulled = !0),
-            (this.renderOrder = 0),
-            (this.animations = []),
-            (this.userData = {})
-        }
-        onBeforeRender() {}
-        onAfterRender() {}
-        applyMatrix4(t) {
-          this.matrixAutoUpdate && this.updateMatrix(),
-            this.matrix.premultiply(t),
-            this.matrix.decompose(this.position, this.quaternion, this.scale)
-        }
-        applyQuaternion(t) {
-          return this.quaternion.premultiply(t), this
-        }
-        setRotationFromAxisAngle(t, e) {
-          this.quaternion.setFromAxisAngle(t, e)
-        }
-        setRotationFromEuler(t) {
-          this.quaternion.setFromEuler(t, !0)
-        }
-        setRotationFromMatrix(t) {
-          this.quaternion.setFromRotationMatrix(t)
-        }
-        setRotationFromQuaternion(t) {
-          this.quaternion.copy(t)
-        }
-        rotateOnAxis(t, e) {
-          return ne.setFromAxisAngle(t, e), this.quaternion.multiply(ne), this
-        }
-        rotateOnWorldAxis(t, e) {
-          return ne.setFromAxisAngle(t, e), this.quaternion.premultiply(ne), this
-        }
-        rotateX(t) {
-          return this.rotateOnAxis(le, t)
-        }
-        rotateY(t) {
-          return this.rotateOnAxis(ce, t)
-        }
-        rotateZ(t) {
-          return this.rotateOnAxis(he, t)
-        }
-        translateOnAxis(t, e) {
-          return (
-            ee.copy(t).applyQuaternion(this.quaternion),
-            this.position.add(ee.multiplyScalar(e)),
-            this
-          )
-        }
-        translateX(t) {
-          return this.translateOnAxis(le, t)
-        }
-        translateY(t) {
-          return this.translateOnAxis(ce, t)
-        }
-        translateZ(t) {
-          return this.translateOnAxis(he, t)
-        }
-        localToWorld(t) {
-          return t.applyMatrix4(this.matrixWorld)
-        }
-        worldToLocal(t) {
-          return t.applyMatrix4(ie.copy(this.matrixWorld).invert())
-        }
-        lookAt(t, e, n) {
-          t.isVector3 ? re.copy(t) : re.set(t, e, n)
-          const i = this.parent
-          this.updateWorldMatrix(!0, !1),
-            se.setFromMatrixPosition(this.matrixWorld),
-            this.isCamera || this.isLight ? ie.lookAt(se, re, this.up) : ie.lookAt(re, se, this.up),
-            this.quaternion.setFromRotationMatrix(ie),
-            i &&
-              (ie.extractRotation(i.matrixWorld),
-              ne.setFromRotationMatrix(ie),
-              this.quaternion.premultiply(ne.invert()))
-        }
-        add(t) {
-          if (arguments.length > 1) {
-            for (let t = 0; t < arguments.length; t++) this.add(arguments[t])
-            return this
-          }
-          return t === this
-            ? (console.error("THREE.Object3D.add: object can't be added as a child of itself.", t),
-              this)
-            : (t && t.isObject3D
-                ? (null !== t.parent && t.parent.remove(t),
-                  (t.parent = this),
-                  this.children.push(t),
-                  t.dispatchEvent(ue))
-                : console.error('THREE.Object3D.add: object not an instance of THREE.Object3D.', t),
-              this)
-        }
-        remove(t) {
-          if (arguments.length > 1) {
-            for (let t = 0; t < arguments.length; t++) this.remove(arguments[t])
-            return this
-          }
-          const e = this.children.indexOf(t)
-          return (
-            -1 !== e && ((t.parent = null), this.children.splice(e, 1), t.dispatchEvent(de)), this
-          )
-        }
-        removeFromParent() {
-          const t = this.parent
-          return null !== t && t.remove(this), this
-        }
-        clear() {
-          for (let t = 0; t < this.children.length; t++) {
-            const e = this.children[t]
-            ;(e.parent = null), e.dispatchEvent(de)
-          }
-          return (this.children.length = 0), this
-        }
-        attach(t) {
-          return (
-            this.updateWorldMatrix(!0, !1),
-            ie.copy(this.matrixWorld).invert(),
-            null !== t.parent &&
-              (t.parent.updateWorldMatrix(!0, !1), ie.multiply(t.parent.matrixWorld)),
-            t.applyMatrix4(ie),
-            this.add(t),
-            t.updateWorldMatrix(!1, !0),
-            this
-          )
-        }
-        getObjectById(t) {
-          return this.getObjectByProperty('id', t)
-        }
-        getObjectByName(t) {
-          return this.getObjectByProperty('name', t)
-        }
-        getObjectByProperty(t, e) {
-          if (this[t] === e) return this
-          for (let n = 0, i = this.children.length; n < i; n++) {
-            const i = this.children[n].getObjectByProperty(t, e)
-            if (void 0 !== i) return i
-          }
-        }
-        getWorldPosition(t) {
-          return this.updateWorldMatrix(!0, !1), t.setFromMatrixPosition(this.matrixWorld)
-        }
-        getWorldQuaternion(t) {
-          return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(se, t, ae), t
-        }
-        getWorldScale(t) {
-          return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(se, oe, t), t
-        }
-        getWorldDirection(t) {
-          this.updateWorldMatrix(!0, !1)
-          const e = this.matrixWorld.elements
-          return t.set(e[8], e[9], e[10]).normalize()
-        }
-        raycast() {}
-        traverse(t) {
-          t(this)
-          const e = this.children
-          for (let n = 0, i = e.length; n < i; n++) e[n].traverse(t)
-        }
-        traverseVisible(t) {
-          if (!1 === this.visible) return
-          t(this)
-          const e = this.children
-          for (let n = 0, i = e.length; n < i; n++) e[n].traverseVisible(t)
-        }
-        traverseAncestors(t) {
-          const e = this.parent
-          null !== e && (t(e), e.traverseAncestors(t))
-        }
-        updateMatrix() {
-          this.matrix.compose(this.position, this.quaternion, this.scale),
-            (this.matrixWorldNeedsUpdate = !0)
-        }
-        updateMatrixWorld(t) {
-          this.matrixAutoUpdate && this.updateMatrix(),
-            (this.matrixWorldNeedsUpdate || t) &&
-              (null === this.parent
-                ? this.matrixWorld.copy(this.matrix)
-                : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix),
-              (this.matrixWorldNeedsUpdate = !1),
-              (t = !0))
-          const e = this.children
-          for (let n = 0, i = e.length; n < i; n++) e[n].updateMatrixWorld(t)
-        }
-        updateWorldMatrix(t, e) {
-          const n = this.parent
-          if (
-            (!0 === t && null !== n && n.updateWorldMatrix(!0, !1),
-            this.matrixAutoUpdate && this.updateMatrix(),
-            null === this.parent
-              ? this.matrixWorld.copy(this.matrix)
-              : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix),
-            !0 === e)
-          ) {
-            const t = this.children
-            for (let e = 0, n = t.length; e < n; e++) t[e].updateWorldMatrix(!1, !0)
-          }
-        }
-        toJSON(t) {
-          const e = void 0 === t || 'string' === typeof t,
-            n = {}
-          e &&
-            ((t = {
-              geometries: {},
-              materials: {},
-              textures: {},
-              images: {},
-              shapes: {},
-              skeletons: {},
-              animations: {},
-            }),
-            (n.metadata = { version: 4.5, type: 'Object', generator: 'Object3D.toJSON' }))
-          const i = {}
-          function r(e, n) {
-            return void 0 === e[n.uuid] && (e[n.uuid] = n.toJSON(t)), n.uuid
-          }
-          if (
-            ((i.uuid = this.uuid),
-            (i.type = this.type),
-            '' !== this.name && (i.name = this.name),
-            !0 === this.castShadow && (i.castShadow = !0),
-            !0 === this.receiveShadow && (i.receiveShadow = !0),
-            !1 === this.visible && (i.visible = !1),
-            !1 === this.frustumCulled && (i.frustumCulled = !1),
-            0 !== this.renderOrder && (i.renderOrder = this.renderOrder),
-            '{}' !== JSON.stringify(this.userData) && (i.userData = this.userData),
-            (i.layers = this.layers.mask),
-            (i.matrix = this.matrix.toArray()),
-            !1 === this.matrixAutoUpdate && (i.matrixAutoUpdate = !1),
-            this.isInstancedMesh &&
-              ((i.type = 'InstancedMesh'),
-              (i.count = this.count),
-              (i.instanceMatrix = this.instanceMatrix.toJSON()),
-              null !== this.instanceColor && (i.instanceColor = this.instanceColor.toJSON())),
-            this.isScene)
-          )
-            this.background &&
-              (this.background.isColor
-                ? (i.background = this.background.toJSON())
-                : this.background.isTexture && (i.background = this.background.toJSON(t).uuid)),
-              this.environment &&
-                this.environment.isTexture &&
-                (i.environment = this.environment.toJSON(t).uuid)
-          else if (this.isMesh || this.isLine || this.isPoints) {
-            i.geometry = r(t.geometries, this.geometry)
-            const e = this.geometry.parameters
-            if (void 0 !== e && void 0 !== e.shapes) {
-              const n = e.shapes
-              if (Array.isArray(n))
-                for (let e = 0, i = n.length; e < i; e++) {
-                  const i = n[e]
-                  r(t.shapes, i)
-                }
-              else r(t.shapes, n)
-            }
-          }
-          if (
-            (this.isSkinnedMesh &&
-              ((i.bindMode = this.bindMode),
-              (i.bindMatrix = this.bindMatrix.toArray()),
-              void 0 !== this.skeleton &&
-                (r(t.skeletons, this.skeleton), (i.skeleton = this.skeleton.uuid))),
-            void 0 !== this.material)
-          )
-            if (Array.isArray(this.material)) {
-              const e = []
-              for (let n = 0, i = this.material.length; n < i; n++)
-                e.push(r(t.materials, this.material[n]))
-              i.material = e
-            } else i.material = r(t.materials, this.material)
-          if (this.children.length > 0) {
-            i.children = []
-            for (let e = 0; e < this.children.length; e++)
-              i.children.push(this.children[e].toJSON(t).object)
-          }
-          if (this.animations.length > 0) {
-            i.animations = []
-            for (let e = 0; e < this.animations.length; e++) {
-              const n = this.animations[e]
-              i.animations.push(r(t.animations, n))
-            }
-          }
-          if (e) {
-            const e = s(t.geometries),
-              i = s(t.materials),
-              r = s(t.textures),
-              a = s(t.images),
-              o = s(t.shapes),
-              l = s(t.skeletons),
-              c = s(t.animations)
-            e.length > 0 && (n.geometries = e),
-              i.length > 0 && (n.materials = i),
-              r.length > 0 && (n.textures = r),
-              a.length > 0 && (n.images = a),
-              o.length > 0 && (n.shapes = o),
-              l.length > 0 && (n.skeletons = l),
-              c.length > 0 && (n.animations = c)
-          }
-          return (n.object = i), n
-          function s(t) {
-            const e = []
-            for (const n in t) {
-              const i = t[n]
-              delete i.metadata, e.push(i)
-            }
-            return e
-          }
-        }
-        clone(t) {
-          return new this.constructor().copy(this, t)
-        }
-        copy(t, e = !0) {
-          if (
-            ((this.name = t.name),
-            this.up.copy(t.up),
-            this.position.copy(t.position),
-            (this.rotation.order = t.rotation.order),
-            this.quaternion.copy(t.quaternion),
-            this.scale.copy(t.scale),
-            this.matrix.copy(t.matrix),
-            this.matrixWorld.copy(t.matrixWorld),
-            (this.matrixAutoUpdate = t.matrixAutoUpdate),
-            (this.matrixWorldNeedsUpdate = t.matrixWorldNeedsUpdate),
-            (this.layers.mask = t.layers.mask),
-            (this.visible = t.visible),
-            (this.castShadow = t.castShadow),
-            (this.receiveShadow = t.receiveShadow),
-            (this.frustumCulled = t.frustumCulled),
-            (this.renderOrder = t.renderOrder),
-            (this.userData = JSON.parse(JSON.stringify(t.userData))),
-            !0 === e)
-          )
-            for (let n = 0; n < t.children.length; n++) {
-              const e = t.children[n]
-              this.add(e.clone())
-            }
-          return this
-        }
-      }
-      ;(pe.DefaultUp = new ut(0, 1, 0)),
-        (pe.DefaultMatrixAutoUpdate = !0),
-        (pe.prototype.isObject3D = !0)
-      const me = new ut(),
-        fe = new ut(),
-        ge = new ut(),
-        ve = new ut(),
-        ye = new ut(),
-        xe = new ut(),
-        _e = new ut(),
-        be = new ut(),
-        Me = new ut(),
-        we = new ut()
-      class Se {
-        constructor(t = new ut(), e = new ut(), n = new ut()) {
-          ;(this.a = t), (this.b = e), (this.c = n)
-        }
-        static getNormal(t, e, n, i) {
-          i.subVectors(n, e), me.subVectors(t, e), i.cross(me)
-          const r = i.lengthSq()
-          return r > 0 ? i.multiplyScalar(1 / Math.sqrt(r)) : i.set(0, 0, 0)
-        }
-        static getBarycoord(t, e, n, i, r) {
-          me.subVectors(i, e), fe.subVectors(n, e), ge.subVectors(t, e)
-          const s = me.dot(me),
-            a = me.dot(fe),
-            o = me.dot(ge),
-            l = fe.dot(fe),
-            c = fe.dot(ge),
-            h = s * l - a * a
-          if (0 === h) return r.set(-2, -1, -1)
-          const u = 1 / h,
-            d = (l * o - a * c) * u,
-            p = (s * c - a * o) * u
-          return r.set(1 - d - p, p, d)
-        }
-        static containsPoint(t, e, n, i) {
-          return this.getBarycoord(t, e, n, i, ve), ve.x >= 0 && ve.y >= 0 && ve.x + ve.y <= 1
-        }
-        static getUV(t, e, n, i, r, s, a, o) {
-          return (
-            this.getBarycoord(t, e, n, i, ve),
-            o.set(0, 0),
-            o.addScaledVector(r, ve.x),
-            o.addScaledVector(s, ve.y),
-            o.addScaledVector(a, ve.z),
-            o
-          )
-        }
-        static isFrontFacing(t, e, n, i) {
-          return me.subVectors(n, e), fe.subVectors(t, e), me.cross(fe).dot(i) < 0
-        }
-        set(t, e, n) {
-          return this.a.copy(t), this.b.copy(e), this.c.copy(n), this
-        }
-        setFromPointsAndIndices(t, e, n, i) {
-          return this.a.copy(t[e]), this.b.copy(t[n]), this.c.copy(t[i]), this
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return this.a.copy(t.a), this.b.copy(t.b), this.c.copy(t.c), this
-        }
-        getArea() {
-          return (
-            me.subVectors(this.c, this.b),
-            fe.subVectors(this.a, this.b),
-            0.5 * me.cross(fe).length()
-          )
-        }
-        getMidpoint(t) {
-          return t
-            .addVectors(this.a, this.b)
-            .add(this.c)
-            .multiplyScalar(1 / 3)
-        }
-        getNormal(t) {
-          return Se.getNormal(this.a, this.b, this.c, t)
-        }
-        getPlane(t) {
-          return t.setFromCoplanarPoints(this.a, this.b, this.c)
-        }
-        getBarycoord(t, e) {
-          return Se.getBarycoord(t, this.a, this.b, this.c, e)
-        }
-        getUV(t, e, n, i, r) {
-          return Se.getUV(t, this.a, this.b, this.c, e, n, i, r)
-        }
-        containsPoint(t) {
-          return Se.containsPoint(t, this.a, this.b, this.c)
-        }
-        isFrontFacing(t) {
-          return Se.isFrontFacing(this.a, this.b, this.c, t)
-        }
-        intersectsBox(t) {
-          return t.intersectsTriangle(this)
-        }
-        closestPointToPoint(t, e) {
-          const n = this.a,
-            i = this.b,
-            r = this.c
-          let s, a
-          ye.subVectors(i, n), xe.subVectors(r, n), be.subVectors(t, n)
-          const o = ye.dot(be),
-            l = xe.dot(be)
-          if (o <= 0 && l <= 0) return e.copy(n)
-          Me.subVectors(t, i)
-          const c = ye.dot(Me),
-            h = xe.dot(Me)
-          if (c >= 0 && h <= c) return e.copy(i)
-          const u = o * h - c * l
-          if (u <= 0 && o >= 0 && c <= 0) return (s = o / (o - c)), e.copy(n).addScaledVector(ye, s)
-          we.subVectors(t, r)
-          const d = ye.dot(we),
-            p = xe.dot(we)
-          if (p >= 0 && d <= p) return e.copy(r)
-          const m = d * l - o * p
-          if (m <= 0 && l >= 0 && p <= 0) return (a = l / (l - p)), e.copy(n).addScaledVector(xe, a)
-          const f = c * p - d * h
-          if (f <= 0 && h - c >= 0 && d - p >= 0)
-            return (
-              _e.subVectors(r, i),
-              (a = (h - c) / (h - c + (d - p))),
-              e.copy(i).addScaledVector(_e, a)
-            )
-          const g = 1 / (f + m + u)
-          return (s = m * g), (a = u * g), e.copy(n).addScaledVector(ye, s).addScaledVector(xe, a)
-        }
-        equals(t) {
-          return t.a.equals(this.a) && t.b.equals(this.b) && t.c.equals(this.c)
-        }
-      }
-      let Te = 0
-      class Ee extends W {
-        constructor() {
-          super(),
-            Object.defineProperty(this, 'id', { value: Te++ }),
-            (this.uuid = Y()),
-            (this.name = ''),
-            (this.type = 'Material'),
-            (this.fog = !0),
-            (this.blending = 1),
-            (this.side = 0),
-            (this.vertexColors = !1),
-            (this.opacity = 1),
-            (this.transparent = !1),
-            (this.blendSrc = 204),
-            (this.blendDst = 205),
-            (this.blendEquation = a),
-            (this.blendSrcAlpha = null),
-            (this.blendDstAlpha = null),
-            (this.blendEquationAlpha = null),
-            (this.depthFunc = 3),
-            (this.depthTest = !0),
-            (this.depthWrite = !0),
-            (this.stencilWriteMask = 255),
-            (this.stencilFunc = 519),
-            (this.stencilRef = 0),
-            (this.stencilFuncMask = 255),
-            (this.stencilFail = H),
-            (this.stencilZFail = H),
-            (this.stencilZPass = H),
-            (this.stencilWrite = !1),
-            (this.clippingPlanes = null),
-            (this.clipIntersection = !1),
-            (this.clipShadows = !1),
-            (this.shadowSide = null),
-            (this.colorWrite = !0),
-            (this.precision = null),
-            (this.polygonOffset = !1),
-            (this.polygonOffsetFactor = 0),
-            (this.polygonOffsetUnits = 0),
-            (this.dithering = !1),
-            (this.alphaTest = 0),
-            (this.alphaToCoverage = !1),
-            (this.premultipliedAlpha = !1),
-            (this.visible = !0),
-            (this.toneMapped = !0),
-            (this.userData = {}),
-            (this.version = 0)
-        }
-        onBuild() {}
-        onBeforeCompile() {}
-        customProgramCacheKey() {
-          return this.onBeforeCompile.toString()
-        }
-        setValues(t) {
-          if (void 0 !== t)
-            for (const e in t) {
-              const n = t[e]
-              if (void 0 === n) {
-                console.warn("THREE.Material: '" + e + "' parameter is undefined.")
-                continue
-              }
-              if ('shading' === e) {
-                console.warn(
-                  'THREE.' +
-                    this.type +
-                    ': .shading has been removed. Use the boolean .flatShading instead.',
-                ),
-                  (this.flatShading = 1 === n)
-                continue
-              }
-              const i = this[e]
-              void 0 !== i
-                ? i && i.isColor
-                  ? i.set(n)
-                  : i && i.isVector3 && n && n.isVector3
-                  ? i.copy(n)
-                  : (this[e] = n)
-                : console.warn(
-                    'THREE.' + this.type + ": '" + e + "' is not a property of this material.",
-                  )
-            }
-        }
-        toJSON(t) {
-          const e = void 0 === t || 'string' === typeof t
-          e && (t = { textures: {}, images: {} })
-          const n = { metadata: { version: 4.5, type: 'Material', generator: 'Material.toJSON' } }
-          function i(t) {
-            const e = []
-            for (const n in t) {
-              const i = t[n]
-              delete i.metadata, e.push(i)
-            }
-            return e
-          }
-          if (
-            ((n.uuid = this.uuid),
-            (n.type = this.type),
-            '' !== this.name && (n.name = this.name),
-            this.color && this.color.isColor && (n.color = this.color.getHex()),
-            void 0 !== this.roughness && (n.roughness = this.roughness),
-            void 0 !== this.metalness && (n.metalness = this.metalness),
-            this.sheen && this.sheen.isColor && (n.sheen = this.sheen.getHex()),
-            this.emissive && this.emissive.isColor && (n.emissive = this.emissive.getHex()),
-            this.emissiveIntensity &&
-              1 !== this.emissiveIntensity &&
-              (n.emissiveIntensity = this.emissiveIntensity),
-            this.specular && this.specular.isColor && (n.specular = this.specular.getHex()),
-            void 0 !== this.shininess && (n.shininess = this.shininess),
-            void 0 !== this.clearcoat && (n.clearcoat = this.clearcoat),
-            void 0 !== this.clearcoatRoughness && (n.clearcoatRoughness = this.clearcoatRoughness),
-            this.clearcoatMap &&
-              this.clearcoatMap.isTexture &&
-              (n.clearcoatMap = this.clearcoatMap.toJSON(t).uuid),
-            this.clearcoatRoughnessMap &&
-              this.clearcoatRoughnessMap.isTexture &&
-              (n.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(t).uuid),
-            this.clearcoatNormalMap &&
-              this.clearcoatNormalMap.isTexture &&
-              ((n.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(t).uuid),
-              (n.clearcoatNormalScale = this.clearcoatNormalScale.toArray())),
-            this.map && this.map.isTexture && (n.map = this.map.toJSON(t).uuid),
-            this.matcap && this.matcap.isTexture && (n.matcap = this.matcap.toJSON(t).uuid),
-            this.alphaMap && this.alphaMap.isTexture && (n.alphaMap = this.alphaMap.toJSON(t).uuid),
-            this.lightMap &&
-              this.lightMap.isTexture &&
-              ((n.lightMap = this.lightMap.toJSON(t).uuid),
-              (n.lightMapIntensity = this.lightMapIntensity)),
-            this.aoMap &&
-              this.aoMap.isTexture &&
-              ((n.aoMap = this.aoMap.toJSON(t).uuid), (n.aoMapIntensity = this.aoMapIntensity)),
-            this.bumpMap &&
-              this.bumpMap.isTexture &&
-              ((n.bumpMap = this.bumpMap.toJSON(t).uuid), (n.bumpScale = this.bumpScale)),
-            this.normalMap &&
-              this.normalMap.isTexture &&
-              ((n.normalMap = this.normalMap.toJSON(t).uuid),
-              (n.normalMapType = this.normalMapType),
-              (n.normalScale = this.normalScale.toArray())),
-            this.displacementMap &&
-              this.displacementMap.isTexture &&
-              ((n.displacementMap = this.displacementMap.toJSON(t).uuid),
-              (n.displacementScale = this.displacementScale),
-              (n.displacementBias = this.displacementBias)),
-            this.roughnessMap &&
-              this.roughnessMap.isTexture &&
-              (n.roughnessMap = this.roughnessMap.toJSON(t).uuid),
-            this.metalnessMap &&
-              this.metalnessMap.isTexture &&
-              (n.metalnessMap = this.metalnessMap.toJSON(t).uuid),
-            this.emissiveMap &&
-              this.emissiveMap.isTexture &&
-              (n.emissiveMap = this.emissiveMap.toJSON(t).uuid),
-            this.specularMap &&
-              this.specularMap.isTexture &&
-              (n.specularMap = this.specularMap.toJSON(t).uuid),
-            this.envMap &&
-              this.envMap.isTexture &&
-              ((n.envMap = this.envMap.toJSON(t).uuid),
-              void 0 !== this.combine && (n.combine = this.combine)),
-            void 0 !== this.envMapIntensity && (n.envMapIntensity = this.envMapIntensity),
-            void 0 !== this.reflectivity && (n.reflectivity = this.reflectivity),
-            void 0 !== this.refractionRatio && (n.refractionRatio = this.refractionRatio),
-            this.gradientMap &&
-              this.gradientMap.isTexture &&
-              (n.gradientMap = this.gradientMap.toJSON(t).uuid),
-            void 0 !== this.transmission && (n.transmission = this.transmission),
-            this.transmissionMap &&
-              this.transmissionMap.isTexture &&
-              (n.transmissionMap = this.transmissionMap.toJSON(t).uuid),
-            void 0 !== this.thickness && (n.thickness = this.thickness),
-            this.thicknessMap &&
-              this.thicknessMap.isTexture &&
-              (n.thicknessMap = this.thicknessMap.toJSON(t).uuid),
-            void 0 !== this.attenuationDistance &&
-              (n.attenuationDistance = this.attenuationDistance),
-            void 0 !== this.attenuationColor &&
-              (n.attenuationColor = this.attenuationColor.getHex()),
-            void 0 !== this.size && (n.size = this.size),
-            null !== this.shadowSide && (n.shadowSide = this.shadowSide),
-            void 0 !== this.sizeAttenuation && (n.sizeAttenuation = this.sizeAttenuation),
-            1 !== this.blending && (n.blending = this.blending),
-            0 !== this.side && (n.side = this.side),
-            this.vertexColors && (n.vertexColors = !0),
-            this.opacity < 1 && (n.opacity = this.opacity),
-            !0 === this.transparent && (n.transparent = this.transparent),
-            (n.depthFunc = this.depthFunc),
-            (n.depthTest = this.depthTest),
-            (n.depthWrite = this.depthWrite),
-            (n.colorWrite = this.colorWrite),
-            (n.stencilWrite = this.stencilWrite),
-            (n.stencilWriteMask = this.stencilWriteMask),
-            (n.stencilFunc = this.stencilFunc),
-            (n.stencilRef = this.stencilRef),
-            (n.stencilFuncMask = this.stencilFuncMask),
-            (n.stencilFail = this.stencilFail),
-            (n.stencilZFail = this.stencilZFail),
-            (n.stencilZPass = this.stencilZPass),
-            this.rotation && 0 !== this.rotation && (n.rotation = this.rotation),
-            !0 === this.polygonOffset && (n.polygonOffset = !0),
-            0 !== this.polygonOffsetFactor && (n.polygonOffsetFactor = this.polygonOffsetFactor),
-            0 !== this.polygonOffsetUnits && (n.polygonOffsetUnits = this.polygonOffsetUnits),
-            this.linewidth && 1 !== this.linewidth && (n.linewidth = this.linewidth),
-            void 0 !== this.dashSize && (n.dashSize = this.dashSize),
-            void 0 !== this.gapSize && (n.gapSize = this.gapSize),
-            void 0 !== this.scale && (n.scale = this.scale),
-            !0 === this.dithering && (n.dithering = !0),
-            this.alphaTest > 0 && (n.alphaTest = this.alphaTest),
-            !0 === this.alphaToCoverage && (n.alphaToCoverage = this.alphaToCoverage),
-            !0 === this.premultipliedAlpha && (n.premultipliedAlpha = this.premultipliedAlpha),
-            !0 === this.wireframe && (n.wireframe = this.wireframe),
-            this.wireframeLinewidth > 1 && (n.wireframeLinewidth = this.wireframeLinewidth),
-            'round' !== this.wireframeLinecap && (n.wireframeLinecap = this.wireframeLinecap),
-            'round' !== this.wireframeLinejoin && (n.wireframeLinejoin = this.wireframeLinejoin),
-            !0 === this.morphTargets && (n.morphTargets = !0),
-            !0 === this.morphNormals && (n.morphNormals = !0),
-            !0 === this.flatShading && (n.flatShading = this.flatShading),
-            !1 === this.visible && (n.visible = !1),
-            !1 === this.toneMapped && (n.toneMapped = !1),
-            '{}' !== JSON.stringify(this.userData) && (n.userData = this.userData),
-            e)
-          ) {
-            const e = i(t.textures),
-              r = i(t.images)
-            e.length > 0 && (n.textures = e), r.length > 0 && (n.images = r)
-          }
-          return n
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          ;(this.name = t.name),
-            (this.fog = t.fog),
-            (this.blending = t.blending),
-            (this.side = t.side),
-            (this.vertexColors = t.vertexColors),
-            (this.opacity = t.opacity),
-            (this.transparent = t.transparent),
-            (this.blendSrc = t.blendSrc),
-            (this.blendDst = t.blendDst),
-            (this.blendEquation = t.blendEquation),
-            (this.blendSrcAlpha = t.blendSrcAlpha),
-            (this.blendDstAlpha = t.blendDstAlpha),
-            (this.blendEquationAlpha = t.blendEquationAlpha),
-            (this.depthFunc = t.depthFunc),
-            (this.depthTest = t.depthTest),
-            (this.depthWrite = t.depthWrite),
-            (this.stencilWriteMask = t.stencilWriteMask),
-            (this.stencilFunc = t.stencilFunc),
-            (this.stencilRef = t.stencilRef),
-            (this.stencilFuncMask = t.stencilFuncMask),
-            (this.stencilFail = t.stencilFail),
-            (this.stencilZFail = t.stencilZFail),
-            (this.stencilZPass = t.stencilZPass),
-            (this.stencilWrite = t.stencilWrite)
-          const e = t.clippingPlanes
-          let n = null
-          if (null !== e) {
-            const t = e.length
-            n = new Array(t)
-            for (let i = 0; i !== t; ++i) n[i] = e[i].clone()
-          }
-          return (
-            (this.clippingPlanes = n),
-            (this.clipIntersection = t.clipIntersection),
-            (this.clipShadows = t.clipShadows),
-            (this.shadowSide = t.shadowSide),
-            (this.colorWrite = t.colorWrite),
-            (this.precision = t.precision),
-            (this.polygonOffset = t.polygonOffset),
-            (this.polygonOffsetFactor = t.polygonOffsetFactor),
-            (this.polygonOffsetUnits = t.polygonOffsetUnits),
-            (this.dithering = t.dithering),
-            (this.alphaTest = t.alphaTest),
-            (this.alphaToCoverage = t.alphaToCoverage),
-            (this.premultipliedAlpha = t.premultipliedAlpha),
-            (this.visible = t.visible),
-            (this.toneMapped = t.toneMapped),
-            (this.userData = JSON.parse(JSON.stringify(t.userData))),
-            this
-          )
-        }
-        dispose() {
-          this.dispatchEvent({ type: 'dispose' })
-        }
-        set needsUpdate(t) {
-          !0 === t && this.version++
-        }
-      }
-      Ee.prototype.isMaterial = !0
-      const Le = {
-          aliceblue: 15792383,
-          antiquewhite: 16444375,
-          aqua: 65535,
-          aquamarine: 8388564,
-          azure: 15794175,
-          beige: 16119260,
-          bisque: 16770244,
-          black: 0,
-          blanchedalmond: 16772045,
-          blue: 255,
-          blueviolet: 9055202,
-          brown: 10824234,
-          burlywood: 14596231,
-          cadetblue: 6266528,
-          chartreuse: 8388352,
-          chocolate: 13789470,
-          coral: 16744272,
-          cornflowerblue: 6591981,
-          cornsilk: 16775388,
-          crimson: 14423100,
-          cyan: 65535,
-          darkblue: 139,
-          darkcyan: 35723,
-          darkgoldenrod: 12092939,
-          darkgray: 11119017,
-          darkgreen: 25600,
-          darkgrey: 11119017,
-          darkkhaki: 12433259,
-          darkmagenta: 9109643,
-          darkolivegreen: 5597999,
-          darkorange: 16747520,
-          darkorchid: 10040012,
-          darkred: 9109504,
-          darksalmon: 15308410,
-          darkseagreen: 9419919,
-          darkslateblue: 4734347,
-          darkslategray: 3100495,
-          darkslategrey: 3100495,
-          darkturquoise: 52945,
-          darkviolet: 9699539,
-          deeppink: 16716947,
-          deepskyblue: 49151,
-          dimgray: 6908265,
-          dimgrey: 6908265,
-          dodgerblue: 2003199,
-          firebrick: 11674146,
-          floralwhite: 16775920,
-          forestgreen: 2263842,
-          fuchsia: 16711935,
-          gainsboro: 14474460,
-          ghostwhite: 16316671,
-          gold: 16766720,
-          goldenrod: 14329120,
-          gray: 8421504,
-          green: 32768,
-          greenyellow: 11403055,
-          grey: 8421504,
-          honeydew: 15794160,
-          hotpink: 16738740,
-          indianred: 13458524,
-          indigo: 4915330,
-          ivory: 16777200,
-          khaki: 15787660,
-          lavender: 15132410,
-          lavenderblush: 16773365,
-          lawngreen: 8190976,
-          lemonchiffon: 16775885,
-          lightblue: 11393254,
-          lightcoral: 15761536,
-          lightcyan: 14745599,
-          lightgoldenrodyellow: 16448210,
-          lightgray: 13882323,
-          lightgreen: 9498256,
-          lightgrey: 13882323,
-          lightpink: 16758465,
-          lightsalmon: 16752762,
-          lightseagreen: 2142890,
-          lightskyblue: 8900346,
-          lightslategray: 7833753,
-          lightslategrey: 7833753,
-          lightsteelblue: 11584734,
-          lightyellow: 16777184,
-          lime: 65280,
-          limegreen: 3329330,
-          linen: 16445670,
-          magenta: 16711935,
-          maroon: 8388608,
-          mediumaquamarine: 6737322,
-          mediumblue: 205,
-          mediumorchid: 12211667,
-          mediumpurple: 9662683,
-          mediumseagreen: 3978097,
-          mediumslateblue: 8087790,
-          mediumspringgreen: 64154,
-          mediumturquoise: 4772300,
-          mediumvioletred: 13047173,
-          midnightblue: 1644912,
-          mintcream: 16121850,
-          mistyrose: 16770273,
-          moccasin: 16770229,
-          navajowhite: 16768685,
-          navy: 128,
-          oldlace: 16643558,
-          olive: 8421376,
-          olivedrab: 7048739,
-          orange: 16753920,
-          orangered: 16729344,
-          orchid: 14315734,
-          palegoldenrod: 15657130,
-          palegreen: 10025880,
-          paleturquoise: 11529966,
-          palevioletred: 14381203,
-          papayawhip: 16773077,
-          peachpuff: 16767673,
-          peru: 13468991,
-          pink: 16761035,
-          plum: 14524637,
-          powderblue: 11591910,
-          purple: 8388736,
-          rebeccapurple: 6697881,
-          red: 16711680,
-          rosybrown: 12357519,
-          royalblue: 4286945,
-          saddlebrown: 9127187,
-          salmon: 16416882,
-          sandybrown: 16032864,
-          seagreen: 3050327,
-          seashell: 16774638,
-          sienna: 10506797,
-          silver: 12632256,
-          skyblue: 8900331,
-          slateblue: 6970061,
-          slategray: 7372944,
-          slategrey: 7372944,
-          snow: 16775930,
-          springgreen: 65407,
-          steelblue: 4620980,
-          tan: 13808780,
-          teal: 32896,
-          thistle: 14204888,
-          tomato: 16737095,
-          turquoise: 4251856,
-          violet: 15631086,
-          wheat: 16113331,
-          white: 16777215,
-          whitesmoke: 16119285,
-          yellow: 16776960,
-          yellowgreen: 10145074,
-        },
-        Ae = { h: 0, s: 0, l: 0 },
-        Re = { h: 0, s: 0, l: 0 }
-      function Ce(t, e, n) {
-        return (
-          n < 0 && (n += 1),
-          n > 1 && (n -= 1),
-          n < 1 / 6
-            ? t + 6 * (e - t) * n
-            : n < 0.5
-            ? e
-            : n < 2 / 3
-            ? t + 6 * (e - t) * (2 / 3 - n)
-            : t
-        )
-      }
-      function Pe(t) {
-        return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4)
-      }
-      function De(t) {
-        return t < 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055
-      }
-      class Ie {
-        constructor(t, e, n) {
-          return void 0 === e && void 0 === n ? this.set(t) : this.setRGB(t, e, n)
-        }
-        set(t) {
-          return (
-            t && t.isColor
-              ? this.copy(t)
-              : 'number' === typeof t
-              ? this.setHex(t)
-              : 'string' === typeof t && this.setStyle(t),
-            this
-          )
-        }
-        setScalar(t) {
-          return (this.r = t), (this.g = t), (this.b = t), this
-        }
-        setHex(t) {
-          return (
-            (t = Math.floor(t)),
-            (this.r = ((t >> 16) & 255) / 255),
-            (this.g = ((t >> 8) & 255) / 255),
-            (this.b = (255 & t) / 255),
-            this
-          )
-        }
-        setRGB(t, e, n) {
-          return (this.r = t), (this.g = e), (this.b = n), this
-        }
-        setHSL(t, e, n) {
-          if (((t = Z(t, 1)), (e = J(e, 0, 1)), (n = J(n, 0, 1)), 0 === e))
-            this.r = this.g = this.b = n
-          else {
-            const i = n <= 0.5 ? n * (1 + e) : n + e - n * e,
-              r = 2 * n - i
-            ;(this.r = Ce(r, i, t + 1 / 3)), (this.g = Ce(r, i, t)), (this.b = Ce(r, i, t - 1 / 3))
-          }
-          return this
-        }
-        setStyle(t) {
-          function e(e) {
-            void 0 !== e &&
-              parseFloat(e) < 1 &&
-              console.warn('THREE.Color: Alpha component of ' + t + ' will be ignored.')
-          }
-          let n
-          if ((n = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t))) {
-            let t
-            const i = n[1],
-              r = n[2]
-            switch (i) {
-              case 'rgb':
-              case 'rgba':
-                if ((t = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)))
-                  return (
-                    (this.r = Math.min(255, parseInt(t[1], 10)) / 255),
-                    (this.g = Math.min(255, parseInt(t[2], 10)) / 255),
-                    (this.b = Math.min(255, parseInt(t[3], 10)) / 255),
-                    e(t[4]),
-                    this
-                  )
-                if (
-                  (t = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))
-                )
-                  return (
-                    (this.r = Math.min(100, parseInt(t[1], 10)) / 100),
-                    (this.g = Math.min(100, parseInt(t[2], 10)) / 100),
-                    (this.b = Math.min(100, parseInt(t[3], 10)) / 100),
-                    e(t[4]),
-                    this
-                  )
-                break
-              case 'hsl':
-              case 'hsla':
-                if (
-                  (t =
-                    /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(
-                      r,
-                    ))
-                ) {
-                  const n = parseFloat(t[1]) / 360,
-                    i = parseInt(t[2], 10) / 100,
-                    r = parseInt(t[3], 10) / 100
-                  return e(t[4]), this.setHSL(n, i, r)
-                }
-            }
-          } else if ((n = /^\#([A-Fa-f\d]+)$/.exec(t))) {
-            const t = n[1],
-              e = t.length
-            if (3 === e)
-              return (
-                (this.r = parseInt(t.charAt(0) + t.charAt(0), 16) / 255),
-                (this.g = parseInt(t.charAt(1) + t.charAt(1), 16) / 255),
-                (this.b = parseInt(t.charAt(2) + t.charAt(2), 16) / 255),
-                this
-              )
-            if (6 === e)
-              return (
-                (this.r = parseInt(t.charAt(0) + t.charAt(1), 16) / 255),
-                (this.g = parseInt(t.charAt(2) + t.charAt(3), 16) / 255),
-                (this.b = parseInt(t.charAt(4) + t.charAt(5), 16) / 255),
-                this
-              )
-          }
-          return t && t.length > 0 ? this.setColorName(t) : this
-        }
-        setColorName(t) {
-          const e = Le[t.toLowerCase()]
-          return (
-            void 0 !== e ? this.setHex(e) : console.warn('THREE.Color: Unknown color ' + t), this
-          )
-        }
-        clone() {
-          return new this.constructor(this.r, this.g, this.b)
-        }
-        copy(t) {
-          return (this.r = t.r), (this.g = t.g), (this.b = t.b), this
-        }
-        copyGammaToLinear(t, e = 2) {
-          return (
-            (this.r = Math.pow(t.r, e)),
-            (this.g = Math.pow(t.g, e)),
-            (this.b = Math.pow(t.b, e)),
-            this
-          )
-        }
-        copyLinearToGamma(t, e = 2) {
-          const n = e > 0 ? 1 / e : 1
-          return (
-            (this.r = Math.pow(t.r, n)),
-            (this.g = Math.pow(t.g, n)),
-            (this.b = Math.pow(t.b, n)),
-            this
-          )
-        }
-        convertGammaToLinear(t) {
-          return this.copyGammaToLinear(this, t), this
-        }
-        convertLinearToGamma(t) {
-          return this.copyLinearToGamma(this, t), this
-        }
-        copySRGBToLinear(t) {
-          return (this.r = Pe(t.r)), (this.g = Pe(t.g)), (this.b = Pe(t.b)), this
-        }
-        copyLinearToSRGB(t) {
-          return (this.r = De(t.r)), (this.g = De(t.g)), (this.b = De(t.b)), this
-        }
-        convertSRGBToLinear() {
-          return this.copySRGBToLinear(this), this
-        }
-        convertLinearToSRGB() {
-          return this.copyLinearToSRGB(this), this
-        }
-        getHex() {
-          return ((255 * this.r) << 16) ^ ((255 * this.g) << 8) ^ ((255 * this.b) << 0)
-        }
-        getHexString() {
-          return ('000000' + this.getHex().toString(16)).slice(-6)
-        }
-        getHSL(t) {
-          const e = this.r,
-            n = this.g,
-            i = this.b,
-            r = Math.max(e, n, i),
-            s = Math.min(e, n, i)
-          let a, o
-          const l = (s + r) / 2
-          if (s === r) (a = 0), (o = 0)
-          else {
-            const t = r - s
-            switch (((o = l <= 0.5 ? t / (r + s) : t / (2 - r - s)), r)) {
-              case e:
-                a = (n - i) / t + (n < i ? 6 : 0)
-                break
-              case n:
-                a = (i - e) / t + 2
-                break
-              case i:
-                a = (e - n) / t + 4
-            }
-            a /= 6
-          }
-          return (t.h = a), (t.s = o), (t.l = l), t
-        }
-        getStyle() {
-          return (
-            'rgb(' +
-            ((255 * this.r) | 0) +
-            ',' +
-            ((255 * this.g) | 0) +
-            ',' +
-            ((255 * this.b) | 0) +
-            ')'
-          )
-        }
-        offsetHSL(t, e, n) {
-          return (
-            this.getHSL(Ae),
-            (Ae.h += t),
-            (Ae.s += e),
-            (Ae.l += n),
-            this.setHSL(Ae.h, Ae.s, Ae.l),
-            this
-          )
-        }
-        add(t) {
-          return (this.r += t.r), (this.g += t.g), (this.b += t.b), this
-        }
-        addColors(t, e) {
-          return (this.r = t.r + e.r), (this.g = t.g + e.g), (this.b = t.b + e.b), this
-        }
-        addScalar(t) {
-          return (this.r += t), (this.g += t), (this.b += t), this
-        }
-        sub(t) {
-          return (
-            (this.r = Math.max(0, this.r - t.r)),
-            (this.g = Math.max(0, this.g - t.g)),
-            (this.b = Math.max(0, this.b - t.b)),
-            this
-          )
-        }
-        multiply(t) {
-          return (this.r *= t.r), (this.g *= t.g), (this.b *= t.b), this
-        }
-        multiplyScalar(t) {
-          return (this.r *= t), (this.g *= t), (this.b *= t), this
-        }
-        lerp(t, e) {
-          return (
-            (this.r += (t.r - this.r) * e),
-            (this.g += (t.g - this.g) * e),
-            (this.b += (t.b - this.b) * e),
-            this
-          )
-        }
-        lerpColors(t, e, n) {
-          return (
-            (this.r = t.r + (e.r - t.r) * n),
-            (this.g = t.g + (e.g - t.g) * n),
-            (this.b = t.b + (e.b - t.b) * n),
-            this
-          )
-        }
-        lerpHSL(t, e) {
-          this.getHSL(Ae), t.getHSL(Re)
-          const n = Q(Ae.h, Re.h, e),
-            i = Q(Ae.s, Re.s, e),
-            r = Q(Ae.l, Re.l, e)
-          return this.setHSL(n, i, r), this
-        }
-        equals(t) {
-          return t.r === this.r && t.g === this.g && t.b === this.b
-        }
-        fromArray(t, e = 0) {
-          return (this.r = t[e]), (this.g = t[e + 1]), (this.b = t[e + 2]), this
-        }
-        toArray(t = [], e = 0) {
-          return (t[e] = this.r), (t[e + 1] = this.g), (t[e + 2] = this.b), t
-        }
-        fromBufferAttribute(t, e) {
-          return (
-            (this.r = t.getX(e)),
-            (this.g = t.getY(e)),
-            (this.b = t.getZ(e)),
-            !0 === t.normalized && ((this.r /= 255), (this.g /= 255), (this.b /= 255)),
-            this
-          )
-        }
-        toJSON() {
-          return this.getHex()
-        }
-      }
-      ;(Ie.NAMES = Le),
-        (Ie.prototype.isColor = !0),
-        (Ie.prototype.r = 1),
-        (Ie.prototype.g = 1),
-        (Ie.prototype.b = 1)
-      class Ne extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshBasicMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.map = null),
-            (this.lightMap = null),
-            (this.lightMapIntensity = 1),
-            (this.aoMap = null),
-            (this.aoMapIntensity = 1),
-            (this.specularMap = null),
-            (this.alphaMap = null),
-            (this.envMap = null),
-            (this.combine = 0),
-            (this.reflectivity = 1),
-            (this.refractionRatio = 0.98),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.wireframeLinecap = 'round'),
-            (this.wireframeLinejoin = 'round'),
-            (this.morphTargets = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.map = t.map),
-            (this.lightMap = t.lightMap),
-            (this.lightMapIntensity = t.lightMapIntensity),
-            (this.aoMap = t.aoMap),
-            (this.aoMapIntensity = t.aoMapIntensity),
-            (this.specularMap = t.specularMap),
-            (this.alphaMap = t.alphaMap),
-            (this.envMap = t.envMap),
-            (this.combine = t.combine),
-            (this.reflectivity = t.reflectivity),
-            (this.refractionRatio = t.refractionRatio),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.wireframeLinecap = t.wireframeLinecap),
-            (this.wireframeLinejoin = t.wireframeLinejoin),
-            (this.morphTargets = t.morphTargets),
-            this
-          )
-        }
-      }
-      Ne.prototype.isMeshBasicMaterial = !0
-      const ze = new ut(),
-        Oe = new tt()
-      class Be {
-        constructor(t, e, n) {
-          if (Array.isArray(t))
-            throw new TypeError('THREE.BufferAttribute: array should be a Typed Array.')
-          ;(this.name = ''),
-            (this.array = t),
-            (this.itemSize = e),
-            (this.count = void 0 !== t ? t.length / e : 0),
-            (this.normalized = !0 === n),
-            (this.usage = G),
-            (this.updateRange = { offset: 0, count: -1 }),
-            (this.version = 0)
-        }
-        onUploadCallback() {}
-        set needsUpdate(t) {
-          !0 === t && this.version++
-        }
-        setUsage(t) {
-          return (this.usage = t), this
-        }
-        copy(t) {
-          return (
-            (this.name = t.name),
-            (this.array = new t.array.constructor(t.array)),
-            (this.itemSize = t.itemSize),
-            (this.count = t.count),
-            (this.normalized = t.normalized),
-            (this.usage = t.usage),
-            this
-          )
-        }
-        copyAt(t, e, n) {
-          ;(t *= this.itemSize), (n *= e.itemSize)
-          for (let i = 0, r = this.itemSize; i < r; i++) this.array[t + i] = e.array[n + i]
-          return this
-        }
-        copyArray(t) {
-          return this.array.set(t), this
-        }
-        copyColorsArray(t) {
-          const e = this.array
-          let n = 0
-          for (let i = 0, r = t.length; i < r; i++) {
-            let r = t[i]
-            void 0 === r &&
-              (console.warn('THREE.BufferAttribute.copyColorsArray(): color is undefined', i),
-              (r = new Ie())),
-              (e[n++] = r.r),
-              (e[n++] = r.g),
-              (e[n++] = r.b)
-          }
-          return this
-        }
-        copyVector2sArray(t) {
-          const e = this.array
-          let n = 0
-          for (let i = 0, r = t.length; i < r; i++) {
-            let r = t[i]
-            void 0 === r &&
-              (console.warn('THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i),
-              (r = new tt())),
-              (e[n++] = r.x),
-              (e[n++] = r.y)
-          }
-          return this
-        }
-        copyVector3sArray(t) {
-          const e = this.array
-          let n = 0
-          for (let i = 0, r = t.length; i < r; i++) {
-            let r = t[i]
-            void 0 === r &&
-              (console.warn('THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i),
-              (r = new ut())),
-              (e[n++] = r.x),
-              (e[n++] = r.y),
-              (e[n++] = r.z)
-          }
-          return this
-        }
-        copyVector4sArray(t) {
-          const e = this.array
-          let n = 0
-          for (let i = 0, r = t.length; i < r; i++) {
-            let r = t[i]
-            void 0 === r &&
-              (console.warn('THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i),
-              (r = new ot())),
-              (e[n++] = r.x),
-              (e[n++] = r.y),
-              (e[n++] = r.z),
-              (e[n++] = r.w)
-          }
-          return this
-        }
-        applyMatrix3(t) {
-          if (2 === this.itemSize)
-            for (let e = 0, n = this.count; e < n; e++)
-              Oe.fromBufferAttribute(this, e), Oe.applyMatrix3(t), this.setXY(e, Oe.x, Oe.y)
-          else if (3 === this.itemSize)
-            for (let e = 0, n = this.count; e < n; e++)
-              ze.fromBufferAttribute(this, e), ze.applyMatrix3(t), this.setXYZ(e, ze.x, ze.y, ze.z)
-          return this
-        }
-        applyMatrix4(t) {
-          for (let e = 0, n = this.count; e < n; e++)
-            (ze.x = this.getX(e)),
-              (ze.y = this.getY(e)),
-              (ze.z = this.getZ(e)),
-              ze.applyMatrix4(t),
-              this.setXYZ(e, ze.x, ze.y, ze.z)
-          return this
-        }
-        applyNormalMatrix(t) {
-          for (let e = 0, n = this.count; e < n; e++)
-            (ze.x = this.getX(e)),
-              (ze.y = this.getY(e)),
-              (ze.z = this.getZ(e)),
-              ze.applyNormalMatrix(t),
-              this.setXYZ(e, ze.x, ze.y, ze.z)
-          return this
-        }
-        transformDirection(t) {
-          for (let e = 0, n = this.count; e < n; e++)
-            (ze.x = this.getX(e)),
-              (ze.y = this.getY(e)),
-              (ze.z = this.getZ(e)),
-              ze.transformDirection(t),
-              this.setXYZ(e, ze.x, ze.y, ze.z)
-          return this
-        }
-        set(t, e = 0) {
-          return this.array.set(t, e), this
-        }
-        getX(t) {
-          return this.array[t * this.itemSize]
-        }
-        setX(t, e) {
-          return (this.array[t * this.itemSize] = e), this
-        }
-        getY(t) {
-          return this.array[t * this.itemSize + 1]
-        }
-        setY(t, e) {
-          return (this.array[t * this.itemSize + 1] = e), this
-        }
-        getZ(t) {
-          return this.array[t * this.itemSize + 2]
-        }
-        setZ(t, e) {
-          return (this.array[t * this.itemSize + 2] = e), this
-        }
-        getW(t) {
-          return this.array[t * this.itemSize + 3]
-        }
-        setW(t, e) {
-          return (this.array[t * this.itemSize + 3] = e), this
-        }
-        setXY(t, e, n) {
-          return (t *= this.itemSize), (this.array[t + 0] = e), (this.array[t + 1] = n), this
-        }
-        setXYZ(t, e, n, i) {
-          return (
-            (t *= this.itemSize),
-            (this.array[t + 0] = e),
-            (this.array[t + 1] = n),
-            (this.array[t + 2] = i),
-            this
-          )
-        }
-        setXYZW(t, e, n, i, r) {
-          return (
-            (t *= this.itemSize),
-            (this.array[t + 0] = e),
-            (this.array[t + 1] = n),
-            (this.array[t + 2] = i),
-            (this.array[t + 3] = r),
-            this
-          )
-        }
-        onUpload(t) {
-          return (this.onUploadCallback = t), this
-        }
-        clone() {
-          return new this.constructor(this.array, this.itemSize).copy(this)
-        }
-        toJSON() {
-          const t = {
-            itemSize: this.itemSize,
-            type: this.array.constructor.name,
-            array: Array.prototype.slice.call(this.array),
-            normalized: this.normalized,
-          }
-          return (
-            '' !== this.name && (t.name = this.name),
-            this.usage !== G && (t.usage = this.usage),
-            (0 === this.updateRange.offset && -1 === this.updateRange.count) ||
-              (t.updateRange = this.updateRange),
-            t
-          )
-        }
-      }
-      Be.prototype.isBufferAttribute = !0
-      class Fe extends Be {
-        constructor(t, e, n) {
-          super(new Uint16Array(t), e, n)
-        }
-      }
-      class Ue extends Be {
-        constructor(t, e, n) {
-          super(new Uint32Array(t), e, n)
-        }
-      }
-      ;(class extends Be {
-        constructor(t, e, n) {
-          super(new Uint16Array(t), e, n)
-        }
-      }.prototype.isFloat16BufferAttribute = !0)
-      class He extends Be {
-        constructor(t, e, n) {
-          super(new Float32Array(t), e, n)
-        }
-      }
-      function Ge(t) {
-        if (0 === t.length) return -1 / 0
-        let e = t[0]
-        for (let n = 1, i = t.length; n < i; ++n) t[n] > e && (e = t[n])
-        return e
-      }
-      Int8Array,
-        Uint8Array,
-        Uint8ClampedArray,
-        Int16Array,
-        Uint16Array,
-        Int32Array,
-        Uint32Array,
-        Float32Array,
-        Float64Array
-      let Ve = 0
-      const ke = new Vt(),
-        We = new pe(),
-        je = new ut(),
-        qe = new mt(),
-        Xe = new mt(),
-        Ye = new ut()
-      class Je extends W {
-        constructor() {
-          super(),
-            Object.defineProperty(this, 'id', { value: Ve++ }),
-            (this.uuid = Y()),
-            (this.name = ''),
-            (this.type = 'BufferGeometry'),
-            (this.index = null),
-            (this.attributes = {}),
-            (this.morphAttributes = {}),
-            (this.morphTargetsRelative = !1),
-            (this.groups = []),
-            (this.boundingBox = null),
-            (this.boundingSphere = null),
-            (this.drawRange = { start: 0, count: 1 / 0 }),
-            (this.userData = {})
-        }
-        getIndex() {
-          return this.index
-        }
-        setIndex(t) {
-          return (
-            Array.isArray(t)
-              ? (this.index = new (Ge(t) > 65535 ? Ue : Fe)(t, 1))
-              : (this.index = t),
-            this
-          )
-        }
-        getAttribute(t) {
-          return this.attributes[t]
-        }
-        setAttribute(t, e) {
-          return (this.attributes[t] = e), this
-        }
-        deleteAttribute(t) {
-          return delete this.attributes[t], this
-        }
-        hasAttribute(t) {
-          return void 0 !== this.attributes[t]
-        }
-        addGroup(t, e, n = 0) {
-          this.groups.push({ start: t, count: e, materialIndex: n })
-        }
-        clearGroups() {
-          this.groups = []
-        }
-        setDrawRange(t, e) {
-          ;(this.drawRange.start = t), (this.drawRange.count = e)
-        }
-        applyMatrix4(t) {
-          const e = this.attributes.position
-          void 0 !== e && (e.applyMatrix4(t), (e.needsUpdate = !0))
-          const n = this.attributes.normal
-          if (void 0 !== n) {
-            const e = new et().getNormalMatrix(t)
-            n.applyNormalMatrix(e), (n.needsUpdate = !0)
-          }
-          const i = this.attributes.tangent
-          return (
-            void 0 !== i && (i.transformDirection(t), (i.needsUpdate = !0)),
-            null !== this.boundingBox && this.computeBoundingBox(),
-            null !== this.boundingSphere && this.computeBoundingSphere(),
-            this
-          )
-        }
-        applyQuaternion(t) {
-          return ke.makeRotationFromQuaternion(t), this.applyMatrix4(ke), this
-        }
-        rotateX(t) {
-          return ke.makeRotationX(t), this.applyMatrix4(ke), this
-        }
-        rotateY(t) {
-          return ke.makeRotationY(t), this.applyMatrix4(ke), this
-        }
-        rotateZ(t) {
-          return ke.makeRotationZ(t), this.applyMatrix4(ke), this
-        }
-        translate(t, e, n) {
-          return ke.makeTranslation(t, e, n), this.applyMatrix4(ke), this
-        }
-        scale(t, e, n) {
-          return ke.makeScale(t, e, n), this.applyMatrix4(ke), this
-        }
-        lookAt(t) {
-          return We.lookAt(t), We.updateMatrix(), this.applyMatrix4(We.matrix), this
-        }
-        center() {
-          return (
-            this.computeBoundingBox(),
-            this.boundingBox.getCenter(je).negate(),
-            this.translate(je.x, je.y, je.z),
-            this
-          )
-        }
-        setFromPoints(t) {
-          const e = []
-          for (let n = 0, i = t.length; n < i; n++) {
-            const i = t[n]
-            e.push(i.x, i.y, i.z || 0)
-          }
-          return this.setAttribute('position', new He(e, 3)), this
-        }
-        computeBoundingBox() {
-          null === this.boundingBox && (this.boundingBox = new mt())
-          const t = this.attributes.position,
-            e = this.morphAttributes.position
-          if (t && t.isGLBufferAttribute)
-            return (
-              console.error(
-                'THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',
-                this,
-              ),
-              void this.boundingBox.set(new ut(-1 / 0, -1 / 0, -1 / 0), new ut(1 / 0, 1 / 0, 1 / 0))
-            )
-          if (void 0 !== t) {
-            if ((this.boundingBox.setFromBufferAttribute(t), e))
-              for (let n = 0, i = e.length; n < i; n++) {
-                const t = e[n]
-                qe.setFromBufferAttribute(t),
-                  this.morphTargetsRelative
-                    ? (Ye.addVectors(this.boundingBox.min, qe.min),
-                      this.boundingBox.expandByPoint(Ye),
-                      Ye.addVectors(this.boundingBox.max, qe.max),
-                      this.boundingBox.expandByPoint(Ye))
-                    : (this.boundingBox.expandByPoint(qe.min),
-                      this.boundingBox.expandByPoint(qe.max))
-              }
-          } else this.boundingBox.makeEmpty()
-          ;(isNaN(this.boundingBox.min.x) ||
-            isNaN(this.boundingBox.min.y) ||
-            isNaN(this.boundingBox.min.z)) &&
-            console.error(
-              'THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',
-              this,
-            )
-        }
-        computeBoundingSphere() {
-          null === this.boundingSphere && (this.boundingSphere = new It())
-          const t = this.attributes.position,
-            e = this.morphAttributes.position
-          if (t && t.isGLBufferAttribute)
-            return (
-              console.error(
-                'THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',
-                this,
-              ),
-              void this.boundingSphere.set(new ut(), 1 / 0)
-            )
-          if (t) {
-            const n = this.boundingSphere.center
-            if ((qe.setFromBufferAttribute(t), e))
-              for (let t = 0, r = e.length; t < r; t++) {
-                const n = e[t]
-                Xe.setFromBufferAttribute(n),
-                  this.morphTargetsRelative
-                    ? (Ye.addVectors(qe.min, Xe.min),
-                      qe.expandByPoint(Ye),
-                      Ye.addVectors(qe.max, Xe.max),
-                      qe.expandByPoint(Ye))
-                    : (qe.expandByPoint(Xe.min), qe.expandByPoint(Xe.max))
-              }
-            qe.getCenter(n)
-            let i = 0
-            for (let e = 0, r = t.count; e < r; e++)
-              Ye.fromBufferAttribute(t, e), (i = Math.max(i, n.distanceToSquared(Ye)))
-            if (e)
-              for (let r = 0, s = e.length; r < s; r++) {
-                const s = e[r],
-                  a = this.morphTargetsRelative
-                for (let e = 0, r = s.count; e < r; e++)
-                  Ye.fromBufferAttribute(s, e),
-                    a && (je.fromBufferAttribute(t, e), Ye.add(je)),
-                    (i = Math.max(i, n.distanceToSquared(Ye)))
-              }
-            ;(this.boundingSphere.radius = Math.sqrt(i)),
-              isNaN(this.boundingSphere.radius) &&
-                console.error(
-                  'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',
-                  this,
-                )
-          }
-        }
-        computeFaceNormals() {}
-        computeTangents() {
-          const t = this.index,
-            e = this.attributes
-          if (null === t || void 0 === e.position || void 0 === e.normal || void 0 === e.uv)
-            return void console.error(
-              'THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)',
-            )
-          const n = t.array,
-            i = e.position.array,
-            r = e.normal.array,
-            s = e.uv.array,
-            a = i.length / 3
-          void 0 === e.tangent && this.setAttribute('tangent', new Be(new Float32Array(4 * a), 4))
-          const o = e.tangent.array,
-            l = [],
-            c = []
-          for (let T = 0; T < a; T++) (l[T] = new ut()), (c[T] = new ut())
-          const h = new ut(),
-            u = new ut(),
-            d = new ut(),
-            p = new tt(),
-            m = new tt(),
-            f = new tt(),
-            g = new ut(),
-            v = new ut()
-          function y(t, e, n) {
-            h.fromArray(i, 3 * t),
-              u.fromArray(i, 3 * e),
-              d.fromArray(i, 3 * n),
-              p.fromArray(s, 2 * t),
-              m.fromArray(s, 2 * e),
-              f.fromArray(s, 2 * n),
-              u.sub(h),
-              d.sub(h),
-              m.sub(p),
-              f.sub(p)
-            const r = 1 / (m.x * f.y - f.x * m.y)
-            isFinite(r) &&
-              (g.copy(u).multiplyScalar(f.y).addScaledVector(d, -m.y).multiplyScalar(r),
-              v.copy(d).multiplyScalar(m.x).addScaledVector(u, -f.x).multiplyScalar(r),
-              l[t].add(g),
-              l[e].add(g),
-              l[n].add(g),
-              c[t].add(v),
-              c[e].add(v),
-              c[n].add(v))
-          }
-          let x = this.groups
-          0 === x.length && (x = [{ start: 0, count: n.length }])
-          for (let T = 0, E = x.length; T < E; ++T) {
-            const t = x[T],
-              e = t.start
-            for (let i = e, r = e + t.count; i < r; i += 3) y(n[i + 0], n[i + 1], n[i + 2])
-          }
-          const _ = new ut(),
-            b = new ut(),
-            M = new ut(),
-            w = new ut()
-          function S(t) {
-            M.fromArray(r, 3 * t), w.copy(M)
-            const e = l[t]
-            _.copy(e), _.sub(M.multiplyScalar(M.dot(e))).normalize(), b.crossVectors(w, e)
-            const n = b.dot(c[t]) < 0 ? -1 : 1
-            ;(o[4 * t] = _.x), (o[4 * t + 1] = _.y), (o[4 * t + 2] = _.z), (o[4 * t + 3] = n)
-          }
-          for (let T = 0, E = x.length; T < E; ++T) {
-            const t = x[T],
-              e = t.start
-            for (let i = e, r = e + t.count; i < r; i += 3) S(n[i + 0]), S(n[i + 1]), S(n[i + 2])
-          }
-        }
-        computeVertexNormals() {
-          const t = this.index,
-            e = this.getAttribute('position')
-          if (void 0 !== e) {
-            let n = this.getAttribute('normal')
-            if (void 0 === n)
-              (n = new Be(new Float32Array(3 * e.count), 3)), this.setAttribute('normal', n)
-            else for (let t = 0, e = n.count; t < e; t++) n.setXYZ(t, 0, 0, 0)
-            const i = new ut(),
-              r = new ut(),
-              s = new ut(),
-              a = new ut(),
-              o = new ut(),
-              l = new ut(),
-              c = new ut(),
-              h = new ut()
-            if (t)
-              for (let u = 0, d = t.count; u < d; u += 3) {
-                const d = t.getX(u + 0),
-                  p = t.getX(u + 1),
-                  m = t.getX(u + 2)
-                i.fromBufferAttribute(e, d),
-                  r.fromBufferAttribute(e, p),
-                  s.fromBufferAttribute(e, m),
-                  c.subVectors(s, r),
-                  h.subVectors(i, r),
-                  c.cross(h),
-                  a.fromBufferAttribute(n, d),
-                  o.fromBufferAttribute(n, p),
-                  l.fromBufferAttribute(n, m),
-                  a.add(c),
-                  o.add(c),
-                  l.add(c),
-                  n.setXYZ(d, a.x, a.y, a.z),
-                  n.setXYZ(p, o.x, o.y, o.z),
-                  n.setXYZ(m, l.x, l.y, l.z)
-              }
-            else
-              for (let t = 0, u = e.count; t < u; t += 3)
-                i.fromBufferAttribute(e, t + 0),
-                  r.fromBufferAttribute(e, t + 1),
-                  s.fromBufferAttribute(e, t + 2),
-                  c.subVectors(s, r),
-                  h.subVectors(i, r),
-                  c.cross(h),
-                  n.setXYZ(t + 0, c.x, c.y, c.z),
-                  n.setXYZ(t + 1, c.x, c.y, c.z),
-                  n.setXYZ(t + 2, c.x, c.y, c.z)
-            this.normalizeNormals(), (n.needsUpdate = !0)
-          }
-        }
-        merge(t, e) {
-          if (!t || !t.isBufferGeometry)
-            return void console.error(
-              'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.',
-              t,
-            )
-          void 0 === e &&
-            ((e = 0),
-            console.warn(
-              'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.',
-            ))
-          const n = this.attributes
-          for (const i in n) {
-            if (void 0 === t.attributes[i]) continue
-            const r = n[i].array,
-              s = t.attributes[i],
-              a = s.array,
-              o = s.itemSize * e,
-              l = Math.min(a.length, r.length - o)
-            for (let t = 0, e = o; t < l; t++, e++) r[e] = a[t]
-          }
-          return this
-        }
-        normalizeNormals() {
-          const t = this.attributes.normal
-          for (let e = 0, n = t.count; e < n; e++)
-            Ye.fromBufferAttribute(t, e), Ye.normalize(), t.setXYZ(e, Ye.x, Ye.y, Ye.z)
-        }
-        toNonIndexed() {
-          function t(t, e) {
-            const n = t.array,
-              i = t.itemSize,
-              r = t.normalized,
-              s = new n.constructor(e.length * i)
-            let a = 0,
-              o = 0
-            for (let l = 0, c = e.length; l < c; l++) {
-              a = t.isInterleavedBufferAttribute ? e[l] * t.data.stride + t.offset : e[l] * i
-              for (let t = 0; t < i; t++) s[o++] = n[a++]
-            }
-            return new Be(s, i, r)
-          }
-          if (null === this.index)
-            return (
-              console.warn(
-                'THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.',
-              ),
-              this
-            )
-          const e = new Je(),
-            n = this.index.array,
-            i = this.attributes
-          for (const a in i) {
-            const r = t(i[a], n)
-            e.setAttribute(a, r)
-          }
-          const r = this.morphAttributes
-          for (const a in r) {
-            const i = [],
-              s = r[a]
-            for (let e = 0, r = s.length; e < r; e++) {
-              const r = t(s[e], n)
-              i.push(r)
-            }
-            e.morphAttributes[a] = i
-          }
-          e.morphTargetsRelative = this.morphTargetsRelative
-          const s = this.groups
-          for (let a = 0, o = s.length; a < o; a++) {
-            const t = s[a]
-            e.addGroup(t.start, t.count, t.materialIndex)
-          }
-          return e
-        }
-        toJSON() {
-          const t = {
-            metadata: { version: 4.5, type: 'BufferGeometry', generator: 'BufferGeometry.toJSON' },
-          }
-          if (
-            ((t.uuid = this.uuid),
-            (t.type = this.type),
-            '' !== this.name && (t.name = this.name),
-            Object.keys(this.userData).length > 0 && (t.userData = this.userData),
-            void 0 !== this.parameters)
-          ) {
-            const e = this.parameters
-            for (const n in e) void 0 !== e[n] && (t[n] = e[n])
-            return t
-          }
-          t.data = { attributes: {} }
-          const e = this.index
-          null !== e &&
-            (t.data.index = {
-              type: e.array.constructor.name,
-              array: Array.prototype.slice.call(e.array),
-            })
-          const n = this.attributes
-          for (const o in n) {
-            const e = n[o]
-            t.data.attributes[o] = e.toJSON(t.data)
-          }
-          const i = {}
-          let r = !1
-          for (const o in this.morphAttributes) {
-            const e = this.morphAttributes[o],
-              n = []
-            for (let i = 0, r = e.length; i < r; i++) {
-              const r = e[i]
-              n.push(r.toJSON(t.data))
-            }
-            n.length > 0 && ((i[o] = n), (r = !0))
-          }
-          r &&
-            ((t.data.morphAttributes = i),
-            (t.data.morphTargetsRelative = this.morphTargetsRelative))
-          const s = this.groups
-          s.length > 0 && (t.data.groups = JSON.parse(JSON.stringify(s)))
-          const a = this.boundingSphere
-          return (
-            null !== a &&
-              (t.data.boundingSphere = { center: a.center.toArray(), radius: a.radius }),
-            t
-          )
-        }
-        clone() {
-          return new Je().copy(this)
-        }
-        copy(t) {
-          ;(this.index = null),
-            (this.attributes = {}),
-            (this.morphAttributes = {}),
-            (this.groups = []),
-            (this.boundingBox = null),
-            (this.boundingSphere = null)
-          const e = {}
-          this.name = t.name
-          const n = t.index
-          null !== n && this.setIndex(n.clone(e))
-          const i = t.attributes
-          for (const l in i) {
-            const t = i[l]
-            this.setAttribute(l, t.clone(e))
-          }
-          const r = t.morphAttributes
-          for (const l in r) {
-            const t = [],
-              n = r[l]
-            for (let i = 0, r = n.length; i < r; i++) t.push(n[i].clone(e))
-            this.morphAttributes[l] = t
-          }
-          this.morphTargetsRelative = t.morphTargetsRelative
-          const s = t.groups
-          for (let l = 0, c = s.length; l < c; l++) {
-            const t = s[l]
-            this.addGroup(t.start, t.count, t.materialIndex)
-          }
-          const a = t.boundingBox
-          null !== a && (this.boundingBox = a.clone())
-          const o = t.boundingSphere
-          return (
-            null !== o && (this.boundingSphere = o.clone()),
-            (this.drawRange.start = t.drawRange.start),
-            (this.drawRange.count = t.drawRange.count),
-            (this.userData = t.userData),
-            this
-          )
-        }
-        dispose() {
-          this.dispatchEvent({ type: 'dispose' })
-        }
-      }
-      Je.prototype.isBufferGeometry = !0
-      const Ze = new Vt(),
-        Qe = new Gt(),
-        Ke = new It(),
-        $e = new ut(),
-        tn = new ut(),
-        en = new ut(),
-        nn = new ut(),
-        rn = new ut(),
-        sn = new ut(),
-        an = new ut(),
-        on = new ut(),
-        ln = new ut(),
-        cn = new tt(),
-        hn = new tt(),
-        un = new tt(),
-        dn = new ut(),
-        pn = new ut()
-      class mn extends pe {
-        constructor(t = new Je(), e = new Ne()) {
-          super(),
-            (this.type = 'Mesh'),
-            (this.geometry = t),
-            (this.material = e),
-            this.updateMorphTargets()
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            void 0 !== t.morphTargetInfluences &&
-              (this.morphTargetInfluences = t.morphTargetInfluences.slice()),
-            void 0 !== t.morphTargetDictionary &&
-              (this.morphTargetDictionary = Object.assign({}, t.morphTargetDictionary)),
-            (this.material = t.material),
-            (this.geometry = t.geometry),
-            this
-          )
-        }
-        updateMorphTargets() {
-          const t = this.geometry
-          if (t.isBufferGeometry) {
-            const e = t.morphAttributes,
-              n = Object.keys(e)
-            if (n.length > 0) {
-              const t = e[n[0]]
-              if (void 0 !== t) {
-                ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                for (let e = 0, n = t.length; e < n; e++) {
-                  const n = t[e].name || String(e)
-                  this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e)
-                }
-              }
-            }
-          } else {
-            const e = t.morphTargets
-            void 0 !== e &&
-              e.length > 0 &&
-              console.error(
-                'THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-          }
-        }
-        raycast(t, e) {
-          const n = this.geometry,
-            i = this.material,
-            r = this.matrixWorld
-          if (void 0 === i) return
-          if (
-            (null === n.boundingSphere && n.computeBoundingSphere(),
-            Ke.copy(n.boundingSphere),
-            Ke.applyMatrix4(r),
-            !1 === t.ray.intersectsSphere(Ke))
-          )
-            return
-          if (
-            (Ze.copy(r).invert(),
-            Qe.copy(t.ray).applyMatrix4(Ze),
-            null !== n.boundingBox && !1 === Qe.intersectsBox(n.boundingBox))
-          )
-            return
-          let s
-          if (n.isBufferGeometry) {
-            const r = n.index,
-              a = n.attributes.position,
-              o = n.morphAttributes.position,
-              l = n.morphTargetsRelative,
-              c = n.attributes.uv,
-              h = n.attributes.uv2,
-              u = n.groups,
-              d = n.drawRange
-            if (null !== r)
-              if (Array.isArray(i))
-                for (let n = 0, p = u.length; n < p; n++) {
-                  const p = u[n],
-                    m = i[p.materialIndex]
-                  for (
-                    let n = Math.max(p.start, d.start),
-                      i = Math.min(p.start + p.count, d.start + d.count);
-                    n < i;
-                    n += 3
-                  ) {
-                    const i = r.getX(n),
-                      u = r.getX(n + 1),
-                      d = r.getX(n + 2)
-                    ;(s = fn(this, m, t, Qe, a, o, l, c, h, i, u, d)),
-                      s &&
-                        ((s.faceIndex = Math.floor(n / 3)),
-                        (s.face.materialIndex = p.materialIndex),
-                        e.push(s))
-                  }
-                }
-              else {
-                for (
-                  let n = Math.max(0, d.start), u = Math.min(r.count, d.start + d.count);
-                  n < u;
-                  n += 3
-                ) {
-                  const u = r.getX(n),
-                    d = r.getX(n + 1),
-                    p = r.getX(n + 2)
-                  ;(s = fn(this, i, t, Qe, a, o, l, c, h, u, d, p)),
-                    s && ((s.faceIndex = Math.floor(n / 3)), e.push(s))
-                }
-              }
-            else if (void 0 !== a)
-              if (Array.isArray(i))
-                for (let n = 0, p = u.length; n < p; n++) {
-                  const r = u[n],
-                    p = i[r.materialIndex]
-                  for (
-                    let n = Math.max(r.start, d.start),
-                      i = Math.min(r.start + r.count, d.start + d.count);
-                    n < i;
-                    n += 3
-                  ) {
-                    ;(s = fn(this, p, t, Qe, a, o, l, c, h, n, n + 1, n + 2)),
-                      s &&
-                        ((s.faceIndex = Math.floor(n / 3)),
-                        (s.face.materialIndex = r.materialIndex),
-                        e.push(s))
-                  }
-                }
-              else {
-                for (
-                  let n = Math.max(0, d.start), r = Math.min(a.count, d.start + d.count);
-                  n < r;
-                  n += 3
-                ) {
-                  ;(s = fn(this, i, t, Qe, a, o, l, c, h, n, n + 1, n + 2)),
-                    s && ((s.faceIndex = Math.floor(n / 3)), e.push(s))
-                }
-              }
-          } else
-            n.isGeometry &&
-              console.error(
-                'THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-        }
-      }
-      function fn(t, e, n, i, r, a, o, l, c, h, u, d) {
-        $e.fromBufferAttribute(r, h), tn.fromBufferAttribute(r, u), en.fromBufferAttribute(r, d)
-        const p = t.morphTargetInfluences
-        if (e.morphTargets && a && p) {
-          an.set(0, 0, 0), on.set(0, 0, 0), ln.set(0, 0, 0)
-          for (let t = 0, e = a.length; t < e; t++) {
-            const e = p[t],
-              n = a[t]
-            0 !== e &&
-              (nn.fromBufferAttribute(n, h),
-              rn.fromBufferAttribute(n, u),
-              sn.fromBufferAttribute(n, d),
-              o
-                ? (an.addScaledVector(nn, e), on.addScaledVector(rn, e), ln.addScaledVector(sn, e))
-                : (an.addScaledVector(nn.sub($e), e),
-                  on.addScaledVector(rn.sub(tn), e),
-                  ln.addScaledVector(sn.sub(en), e)))
-          }
-          $e.add(an), tn.add(on), en.add(ln)
-        }
-        t.isSkinnedMesh && (t.boneTransform(h, $e), t.boneTransform(u, tn), t.boneTransform(d, en))
-        const m = (function (t, e, n, i, r, a, o, l) {
-          let c
-          if (
-            ((c =
-              e.side === s
-                ? i.intersectTriangle(o, a, r, !0, l)
-                : i.intersectTriangle(r, a, o, 2 !== e.side, l)),
-            null === c)
-          )
-            return null
-          pn.copy(l), pn.applyMatrix4(t.matrixWorld)
-          const h = n.ray.origin.distanceTo(pn)
-          return h < n.near || h > n.far ? null : { distance: h, point: pn.clone(), object: t }
-        })(t, e, n, i, $e, tn, en, dn)
-        if (m) {
-          l &&
-            (cn.fromBufferAttribute(l, h),
-            hn.fromBufferAttribute(l, u),
-            un.fromBufferAttribute(l, d),
-            (m.uv = Se.getUV(dn, $e, tn, en, cn, hn, un, new tt()))),
-            c &&
-              (cn.fromBufferAttribute(c, h),
-              hn.fromBufferAttribute(c, u),
-              un.fromBufferAttribute(c, d),
-              (m.uv2 = Se.getUV(dn, $e, tn, en, cn, hn, un, new tt())))
-          const t = { a: h, b: u, c: d, normal: new ut(), materialIndex: 0 }
-          Se.getNormal($e, tn, en, t.normal), (m.face = t)
-        }
-        return m
-      }
-      mn.prototype.isMesh = !0
-      class gn extends Je {
-        constructor(t = 1, e = 1, n = 1, i = 1, r = 1, s = 1) {
-          super(),
-            (this.type = 'BoxGeometry'),
-            (this.parameters = {
-              width: t,
-              height: e,
-              depth: n,
-              widthSegments: i,
-              heightSegments: r,
-              depthSegments: s,
-            })
-          const a = this
-          ;(i = Math.floor(i)), (r = Math.floor(r)), (s = Math.floor(s))
-          const o = [],
-            l = [],
-            c = [],
-            h = []
-          let u = 0,
-            d = 0
-          function p(t, e, n, i, r, s, p, m, f, g, v) {
-            const y = s / f,
-              x = p / g,
-              _ = s / 2,
-              b = p / 2,
-              M = m / 2,
-              w = f + 1,
-              S = g + 1
-            let T = 0,
-              E = 0
-            const L = new ut()
-            for (let a = 0; a < S; a++) {
-              const s = a * x - b
-              for (let o = 0; o < w; o++) {
-                const u = o * y - _
-                ;(L[t] = u * i),
-                  (L[e] = s * r),
-                  (L[n] = M),
-                  l.push(L.x, L.y, L.z),
-                  (L[t] = 0),
-                  (L[e] = 0),
-                  (L[n] = m > 0 ? 1 : -1),
-                  c.push(L.x, L.y, L.z),
-                  h.push(o / f),
-                  h.push(1 - a / g),
-                  (T += 1)
-              }
-            }
-            for (let a = 0; a < g; a++)
-              for (let t = 0; t < f; t++) {
-                const e = u + t + w * a,
-                  n = u + t + w * (a + 1),
-                  i = u + (t + 1) + w * (a + 1),
-                  r = u + (t + 1) + w * a
-                o.push(e, n, r), o.push(n, i, r), (E += 6)
-              }
-            a.addGroup(d, E, v), (d += E), (u += T)
-          }
-          p('z', 'y', 'x', -1, -1, n, e, t, s, r, 0),
-            p('z', 'y', 'x', 1, -1, n, e, -t, s, r, 1),
-            p('x', 'z', 'y', 1, 1, t, n, e, i, s, 2),
-            p('x', 'z', 'y', 1, -1, t, n, -e, i, s, 3),
-            p('x', 'y', 'z', 1, -1, t, e, n, i, r, 4),
-            p('x', 'y', 'z', -1, -1, t, e, -n, i, r, 5),
-            this.setIndex(o),
-            this.setAttribute('position', new He(l, 3)),
-            this.setAttribute('normal', new He(c, 3)),
-            this.setAttribute('uv', new He(h, 2))
-        }
-        static fromJSON(t) {
-          return new gn(
-            t.width,
-            t.height,
-            t.depth,
-            t.widthSegments,
-            t.heightSegments,
-            t.depthSegments,
-          )
-        }
-      }
-      function vn(t) {
-        const e = {}
-        for (const n in t) {
-          e[n] = {}
-          for (const i in t[n]) {
-            const r = t[n][i]
-            r &&
-            (r.isColor ||
-              r.isMatrix3 ||
-              r.isMatrix4 ||
-              r.isVector2 ||
-              r.isVector3 ||
-              r.isVector4 ||
-              r.isTexture ||
-              r.isQuaternion)
-              ? (e[n][i] = r.clone())
-              : Array.isArray(r)
-              ? (e[n][i] = r.slice())
-              : (e[n][i] = r)
-          }
-        }
-        return e
-      }
-      function yn(t) {
-        const e = {}
-        for (let n = 0; n < t.length; n++) {
-          const i = vn(t[n])
-          for (const t in i) e[t] = i[t]
-        }
-        return e
-      }
-      const xn = { clone: vn, merge: yn }
-      class _n extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'ShaderMaterial'),
-            (this.defines = {}),
-            (this.uniforms = {}),
-            (this.vertexShader =
-              'void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}'),
-            (this.fragmentShader =
-              'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}'),
-            (this.linewidth = 1),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.fog = !1),
-            (this.lights = !1),
-            (this.clipping = !1),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            (this.extensions = {
-              derivatives: !1,
-              fragDepth: !1,
-              drawBuffers: !1,
-              shaderTextureLOD: !1,
-            }),
-            (this.defaultAttributeValues = { color: [1, 1, 1], uv: [0, 0], uv2: [0, 0] }),
-            (this.index0AttributeName = void 0),
-            (this.uniformsNeedUpdate = !1),
-            (this.glslVersion = null),
-            void 0 !== t &&
-              (void 0 !== t.attributes &&
-                console.error(
-                  'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.',
-                ),
-              this.setValues(t))
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.fragmentShader = t.fragmentShader),
-            (this.vertexShader = t.vertexShader),
-            (this.uniforms = vn(t.uniforms)),
-            (this.defines = Object.assign({}, t.defines)),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.lights = t.lights),
-            (this.clipping = t.clipping),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            (this.extensions = Object.assign({}, t.extensions)),
-            (this.glslVersion = t.glslVersion),
-            this
-          )
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          ;(e.glslVersion = this.glslVersion), (e.uniforms = {})
-          for (const i in this.uniforms) {
-            const n = this.uniforms[i].value
-            n && n.isTexture
-              ? (e.uniforms[i] = { type: 't', value: n.toJSON(t).uuid })
-              : n && n.isColor
-              ? (e.uniforms[i] = { type: 'c', value: n.getHex() })
-              : n && n.isVector2
-              ? (e.uniforms[i] = { type: 'v2', value: n.toArray() })
-              : n && n.isVector3
-              ? (e.uniforms[i] = { type: 'v3', value: n.toArray() })
-              : n && n.isVector4
-              ? (e.uniforms[i] = { type: 'v4', value: n.toArray() })
-              : n && n.isMatrix3
-              ? (e.uniforms[i] = { type: 'm3', value: n.toArray() })
-              : n && n.isMatrix4
-              ? (e.uniforms[i] = { type: 'm4', value: n.toArray() })
-              : (e.uniforms[i] = { value: n })
-          }
-          Object.keys(this.defines).length > 0 && (e.defines = this.defines),
-            (e.vertexShader = this.vertexShader),
-            (e.fragmentShader = this.fragmentShader)
-          const n = {}
-          for (const i in this.extensions) !0 === this.extensions[i] && (n[i] = !0)
-          return Object.keys(n).length > 0 && (e.extensions = n), e
-        }
-      }
-      _n.prototype.isShaderMaterial = !0
-      class bn extends pe {
-        constructor() {
-          super(),
-            (this.type = 'Camera'),
-            (this.matrixWorldInverse = new Vt()),
-            (this.projectionMatrix = new Vt()),
-            (this.projectionMatrixInverse = new Vt())
-        }
-        copy(t, e) {
-          return (
-            super.copy(t, e),
-            this.matrixWorldInverse.copy(t.matrixWorldInverse),
-            this.projectionMatrix.copy(t.projectionMatrix),
-            this.projectionMatrixInverse.copy(t.projectionMatrixInverse),
-            this
-          )
-        }
-        getWorldDirection(t) {
-          this.updateWorldMatrix(!0, !1)
-          const e = this.matrixWorld.elements
-          return t.set(-e[8], -e[9], -e[10]).normalize()
-        }
-        updateMatrixWorld(t) {
-          super.updateMatrixWorld(t), this.matrixWorldInverse.copy(this.matrixWorld).invert()
-        }
-        updateWorldMatrix(t, e) {
-          super.updateWorldMatrix(t, e), this.matrixWorldInverse.copy(this.matrixWorld).invert()
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      bn.prototype.isCamera = !0
-      class Mn extends bn {
-        constructor(t = 50, e = 1, n = 0.1, i = 2e3) {
-          super(),
-            (this.type = 'PerspectiveCamera'),
-            (this.fov = t),
-            (this.zoom = 1),
-            (this.near = n),
-            (this.far = i),
-            (this.focus = 10),
-            (this.aspect = e),
-            (this.view = null),
-            (this.filmGauge = 35),
-            (this.filmOffset = 0),
-            this.updateProjectionMatrix()
-        }
-        copy(t, e) {
-          return (
-            super.copy(t, e),
-            (this.fov = t.fov),
-            (this.zoom = t.zoom),
-            (this.near = t.near),
-            (this.far = t.far),
-            (this.focus = t.focus),
-            (this.aspect = t.aspect),
-            (this.view = null === t.view ? null : Object.assign({}, t.view)),
-            (this.filmGauge = t.filmGauge),
-            (this.filmOffset = t.filmOffset),
-            this
-          )
-        }
-        setFocalLength(t) {
-          const e = (0.5 * this.getFilmHeight()) / t
-          ;(this.fov = 2 * X * Math.atan(e)), this.updateProjectionMatrix()
-        }
-        getFocalLength() {
-          const t = Math.tan(0.5 * q * this.fov)
-          return (0.5 * this.getFilmHeight()) / t
-        }
-        getEffectiveFOV() {
-          return 2 * X * Math.atan(Math.tan(0.5 * q * this.fov) / this.zoom)
-        }
-        getFilmWidth() {
-          return this.filmGauge * Math.min(this.aspect, 1)
-        }
-        getFilmHeight() {
-          return this.filmGauge / Math.max(this.aspect, 1)
-        }
-        setViewOffset(t, e, n, i, r, s) {
-          ;(this.aspect = t / e),
-            null === this.view &&
-              (this.view = {
-                enabled: !0,
-                fullWidth: 1,
-                fullHeight: 1,
-                offsetX: 0,
-                offsetY: 0,
-                width: 1,
-                height: 1,
-              }),
-            (this.view.enabled = !0),
-            (this.view.fullWidth = t),
-            (this.view.fullHeight = e),
-            (this.view.offsetX = n),
-            (this.view.offsetY = i),
-            (this.view.width = r),
-            (this.view.height = s),
-            this.updateProjectionMatrix()
-        }
-        clearViewOffset() {
-          null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix()
-        }
-        updateProjectionMatrix() {
-          const t = this.near
-          let e = (t * Math.tan(0.5 * q * this.fov)) / this.zoom,
-            n = 2 * e,
-            i = this.aspect * n,
-            r = -0.5 * i
-          const s = this.view
-          if (null !== this.view && this.view.enabled) {
-            const t = s.fullWidth,
-              a = s.fullHeight
-            ;(r += (s.offsetX * i) / t),
-              (e -= (s.offsetY * n) / a),
-              (i *= s.width / t),
-              (n *= s.height / a)
-          }
-          const a = this.filmOffset
-          0 !== a && (r += (t * a) / this.getFilmWidth()),
-            this.projectionMatrix.makePerspective(r, r + i, e, e - n, t, this.far),
-            this.projectionMatrixInverse.copy(this.projectionMatrix).invert()
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (
-            (e.object.fov = this.fov),
-            (e.object.zoom = this.zoom),
-            (e.object.near = this.near),
-            (e.object.far = this.far),
-            (e.object.focus = this.focus),
-            (e.object.aspect = this.aspect),
-            null !== this.view && (e.object.view = Object.assign({}, this.view)),
-            (e.object.filmGauge = this.filmGauge),
-            (e.object.filmOffset = this.filmOffset),
-            e
-          )
-        }
-      }
-      Mn.prototype.isPerspectiveCamera = !0
-      const wn = 90
-      class Sn extends pe {
-        constructor(t, e, n) {
-          if ((super(), (this.type = 'CubeCamera'), !0 !== n.isWebGLCubeRenderTarget))
-            return void console.error(
-              'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.',
-            )
-          this.renderTarget = n
-          const i = new Mn(wn, 1, t, e)
-          ;(i.layers = this.layers), i.up.set(0, -1, 0), i.lookAt(new ut(1, 0, 0)), this.add(i)
-          const r = new Mn(wn, 1, t, e)
-          ;(r.layers = this.layers), r.up.set(0, -1, 0), r.lookAt(new ut(-1, 0, 0)), this.add(r)
-          const s = new Mn(wn, 1, t, e)
-          ;(s.layers = this.layers), s.up.set(0, 0, 1), s.lookAt(new ut(0, 1, 0)), this.add(s)
-          const a = new Mn(wn, 1, t, e)
-          ;(a.layers = this.layers), a.up.set(0, 0, -1), a.lookAt(new ut(0, -1, 0)), this.add(a)
-          const o = new Mn(wn, 1, t, e)
-          ;(o.layers = this.layers), o.up.set(0, -1, 0), o.lookAt(new ut(0, 0, 1)), this.add(o)
-          const l = new Mn(wn, 1, t, e)
-          ;(l.layers = this.layers), l.up.set(0, -1, 0), l.lookAt(new ut(0, 0, -1)), this.add(l)
-        }
-        update(t, e) {
-          null === this.parent && this.updateMatrixWorld()
-          const n = this.renderTarget,
-            [i, r, s, a, o, l] = this.children,
-            c = t.xr.enabled,
-            h = t.getRenderTarget()
-          t.xr.enabled = !1
-          const u = n.texture.generateMipmaps
-          ;(n.texture.generateMipmaps = !1),
-            t.setRenderTarget(n, 0),
-            t.render(e, i),
-            t.setRenderTarget(n, 1),
-            t.render(e, r),
-            t.setRenderTarget(n, 2),
-            t.render(e, s),
-            t.setRenderTarget(n, 3),
-            t.render(e, a),
-            t.setRenderTarget(n, 4),
-            t.render(e, o),
-            (n.texture.generateMipmaps = u),
-            t.setRenderTarget(n, 5),
-            t.render(e, l),
-            t.setRenderTarget(h),
-            (t.xr.enabled = c)
-        }
-      }
-      class Tn extends st {
-        constructor(t, e, n, i, r, s, a, l, c, h) {
-          super(
-            (t = void 0 !== t ? t : []),
-            (e = void 0 !== e ? e : o),
-            n,
-            i,
-            r,
-            s,
-            (a = void 0 !== a ? a : T),
-            l,
-            c,
-            h,
-          ),
-            (this._needsFlipEnvMap = !0),
-            (this.flipY = !1)
-        }
-        get images() {
-          return this.image
-        }
-        set images(t) {
-          this.image = t
-        }
-      }
-      Tn.prototype.isCubeTexture = !0
-      class En extends lt {
-        constructor(t, e, n) {
-          Number.isInteger(e) &&
-            (console.warn(
-              'THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )',
-            ),
-            (e = n)),
-            super(t, t, e),
-            (e = e || {}),
-            (this.texture = new Tn(
-              void 0,
-              e.mapping,
-              e.wrapS,
-              e.wrapT,
-              e.magFilter,
-              e.minFilter,
-              e.format,
-              e.type,
-              e.anisotropy,
-              e.encoding,
-            )),
-            (this.texture.generateMipmaps = void 0 !== e.generateMipmaps && e.generateMipmaps),
-            (this.texture.minFilter = void 0 !== e.minFilter ? e.minFilter : v),
-            (this.texture._needsFlipEnvMap = !1)
-        }
-        fromEquirectangularTexture(t, e) {
-          ;(this.texture.type = e.type),
-            (this.texture.format = E),
-            (this.texture.encoding = e.encoding),
-            (this.texture.generateMipmaps = e.generateMipmaps),
-            (this.texture.minFilter = e.minFilter),
-            (this.texture.magFilter = e.magFilter)
-          const n = {
-              uniforms: { tEquirect: { value: null } },
-              vertexShader:
-                '\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t',
-              fragmentShader:
-                '\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t',
-            },
-            i = new gn(5, 5, 5),
-            r = new _n({
-              name: 'CubemapFromEquirect',
-              uniforms: vn(n.uniforms),
-              vertexShader: n.vertexShader,
-              fragmentShader: n.fragmentShader,
-              side: s,
-              blending: 0,
-            })
-          r.uniforms.tEquirect.value = e
-          const a = new mn(i, r),
-            o = e.minFilter
-          e.minFilter === y && (e.minFilter = v)
-          return (
-            new Sn(1, 10, this).update(t, a),
-            (e.minFilter = o),
-            a.geometry.dispose(),
-            a.material.dispose(),
-            this
-          )
-        }
-        clear(t, e, n, i) {
-          const r = t.getRenderTarget()
-          for (let s = 0; s < 6; s++) t.setRenderTarget(this, s), t.clear(e, n, i)
-          t.setRenderTarget(r)
-        }
-      }
-      En.prototype.isWebGLCubeRenderTarget = !0
-      const Ln = new ut(),
-        An = new ut(),
-        Rn = new et()
-      class Cn {
-        constructor(t = new ut(1, 0, 0), e = 0) {
-          ;(this.normal = t), (this.constant = e)
-        }
-        set(t, e) {
-          return this.normal.copy(t), (this.constant = e), this
-        }
-        setComponents(t, e, n, i) {
-          return this.normal.set(t, e, n), (this.constant = i), this
-        }
-        setFromNormalAndCoplanarPoint(t, e) {
-          return this.normal.copy(t), (this.constant = -e.dot(this.normal)), this
-        }
-        setFromCoplanarPoints(t, e, n) {
-          const i = Ln.subVectors(n, e).cross(An.subVectors(t, e)).normalize()
-          return this.setFromNormalAndCoplanarPoint(i, t), this
-        }
-        copy(t) {
-          return this.normal.copy(t.normal), (this.constant = t.constant), this
-        }
-        normalize() {
-          const t = 1 / this.normal.length()
-          return this.normal.multiplyScalar(t), (this.constant *= t), this
-        }
-        negate() {
-          return (this.constant *= -1), this.normal.negate(), this
-        }
-        distanceToPoint(t) {
-          return this.normal.dot(t) + this.constant
-        }
-        distanceToSphere(t) {
-          return this.distanceToPoint(t.center) - t.radius
-        }
-        projectPoint(t, e) {
-          return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)
-        }
-        intersectLine(t, e) {
-          const n = t.delta(Ln),
-            i = this.normal.dot(n)
-          if (0 === i) return 0 === this.distanceToPoint(t.start) ? e.copy(t.start) : null
-          const r = -(t.start.dot(this.normal) + this.constant) / i
-          return r < 0 || r > 1 ? null : e.copy(n).multiplyScalar(r).add(t.start)
-        }
-        intersectsLine(t) {
-          const e = this.distanceToPoint(t.start),
-            n = this.distanceToPoint(t.end)
-          return (e < 0 && n > 0) || (n < 0 && e > 0)
-        }
-        intersectsBox(t) {
-          return t.intersectsPlane(this)
-        }
-        intersectsSphere(t) {
-          return t.intersectsPlane(this)
-        }
-        coplanarPoint(t) {
-          return t.copy(this.normal).multiplyScalar(-this.constant)
-        }
-        applyMatrix4(t, e) {
-          const n = e || Rn.getNormalMatrix(t),
-            i = this.coplanarPoint(Ln).applyMatrix4(t),
-            r = this.normal.applyMatrix3(n).normalize()
-          return (this.constant = -i.dot(r)), this
-        }
-        translate(t) {
-          return (this.constant -= t.dot(this.normal)), this
-        }
-        equals(t) {
-          return t.normal.equals(this.normal) && t.constant === this.constant
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      Cn.prototype.isPlane = !0
-      const Pn = new It(),
-        Dn = new ut()
-      class In {
-        constructor(
-          t = new Cn(),
-          e = new Cn(),
-          n = new Cn(),
-          i = new Cn(),
-          r = new Cn(),
-          s = new Cn(),
-        ) {
-          this.planes = [t, e, n, i, r, s]
-        }
-        set(t, e, n, i, r, s) {
-          const a = this.planes
-          return (
-            a[0].copy(t), a[1].copy(e), a[2].copy(n), a[3].copy(i), a[4].copy(r), a[5].copy(s), this
-          )
-        }
-        copy(t) {
-          const e = this.planes
-          for (let n = 0; n < 6; n++) e[n].copy(t.planes[n])
-          return this
-        }
-        setFromProjectionMatrix(t) {
-          const e = this.planes,
-            n = t.elements,
-            i = n[0],
-            r = n[1],
-            s = n[2],
-            a = n[3],
-            o = n[4],
-            l = n[5],
-            c = n[6],
-            h = n[7],
-            u = n[8],
-            d = n[9],
-            p = n[10],
-            m = n[11],
-            f = n[12],
-            g = n[13],
-            v = n[14],
-            y = n[15]
-          return (
-            e[0].setComponents(a - i, h - o, m - u, y - f).normalize(),
-            e[1].setComponents(a + i, h + o, m + u, y + f).normalize(),
-            e[2].setComponents(a + r, h + l, m + d, y + g).normalize(),
-            e[3].setComponents(a - r, h - l, m - d, y - g).normalize(),
-            e[4].setComponents(a - s, h - c, m - p, y - v).normalize(),
-            e[5].setComponents(a + s, h + c, m + p, y + v).normalize(),
-            this
-          )
-        }
-        intersectsObject(t) {
-          const e = t.geometry
-          return (
-            null === e.boundingSphere && e.computeBoundingSphere(),
-            Pn.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),
-            this.intersectsSphere(Pn)
-          )
-        }
-        intersectsSprite(t) {
-          return (
-            Pn.center.set(0, 0, 0),
-            (Pn.radius = 0.7071067811865476),
-            Pn.applyMatrix4(t.matrixWorld),
-            this.intersectsSphere(Pn)
-          )
-        }
-        intersectsSphere(t) {
-          const e = this.planes,
-            n = t.center,
-            i = -t.radius
-          for (let r = 0; r < 6; r++) {
-            if (e[r].distanceToPoint(n) < i) return !1
-          }
-          return !0
-        }
-        intersectsBox(t) {
-          const e = this.planes
-          for (let n = 0; n < 6; n++) {
-            const i = e[n]
-            if (
-              ((Dn.x = i.normal.x > 0 ? t.max.x : t.min.x),
-              (Dn.y = i.normal.y > 0 ? t.max.y : t.min.y),
-              (Dn.z = i.normal.z > 0 ? t.max.z : t.min.z),
-              i.distanceToPoint(Dn) < 0)
-            )
-              return !1
-          }
-          return !0
-        }
-        containsPoint(t) {
-          const e = this.planes
-          for (let n = 0; n < 6; n++) if (e[n].distanceToPoint(t) < 0) return !1
-          return !0
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      function Nn() {
-        let t = null,
-          e = !1,
-          n = null,
-          i = null
-        function r(e, s) {
-          n(e, s), (i = t.requestAnimationFrame(r))
-        }
-        return {
-          start: function () {
-            !0 !== e && null !== n && ((i = t.requestAnimationFrame(r)), (e = !0))
-          },
-          stop: function () {
-            t.cancelAnimationFrame(i), (e = !1)
-          },
-          setAnimationLoop: function (t) {
-            n = t
-          },
-          setContext: function (e) {
-            t = e
-          },
-        }
-      }
-      function zn(t, e) {
-        const n = e.isWebGL2,
-          i = new WeakMap()
-        return {
-          get: function (t) {
-            return t.isInterleavedBufferAttribute && (t = t.data), i.get(t)
-          },
-          remove: function (e) {
-            e.isInterleavedBufferAttribute && (e = e.data)
-            const n = i.get(e)
-            n && (t.deleteBuffer(n.buffer), i.delete(e))
-          },
-          update: function (e, r) {
-            if (e.isGLBufferAttribute) {
-              const t = i.get(e)
-              return void (
-                (!t || t.version < e.version) &&
-                i.set(e, {
-                  buffer: e.buffer,
-                  type: e.type,
-                  bytesPerElement: e.elementSize,
-                  version: e.version,
-                })
-              )
-            }
-            e.isInterleavedBufferAttribute && (e = e.data)
-            const s = i.get(e)
-            void 0 === s
-              ? i.set(
-                  e,
-                  (function (e, i) {
-                    const r = e.array,
-                      s = e.usage,
-                      a = t.createBuffer()
-                    t.bindBuffer(i, a), t.bufferData(i, r, s), e.onUploadCallback()
-                    let o = 5126
-                    return (
-                      r instanceof Float32Array
-                        ? (o = 5126)
-                        : r instanceof Float64Array
-                        ? console.warn(
-                            'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.',
-                          )
-                        : r instanceof Uint16Array
-                        ? e.isFloat16BufferAttribute
-                          ? n
-                            ? (o = 5131)
-                            : console.warn(
-                                'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.',
-                              )
-                          : (o = 5123)
-                        : r instanceof Int16Array
-                        ? (o = 5122)
-                        : r instanceof Uint32Array
-                        ? (o = 5125)
-                        : r instanceof Int32Array
-                        ? (o = 5124)
-                        : r instanceof Int8Array
-                        ? (o = 5120)
-                        : (r instanceof Uint8Array || r instanceof Uint8ClampedArray) && (o = 5121),
-                      {
-                        buffer: a,
-                        type: o,
-                        bytesPerElement: r.BYTES_PER_ELEMENT,
-                        version: e.version,
-                      }
-                    )
-                  })(e, r),
-                )
-              : s.version < e.version &&
-                (!(function (e, i, r) {
-                  const s = i.array,
-                    a = i.updateRange
-                  t.bindBuffer(r, e),
-                    -1 === a.count
-                      ? t.bufferSubData(r, 0, s)
-                      : (n
-                          ? t.bufferSubData(r, a.offset * s.BYTES_PER_ELEMENT, s, a.offset, a.count)
-                          : t.bufferSubData(
-                              r,
-                              a.offset * s.BYTES_PER_ELEMENT,
-                              s.subarray(a.offset, a.offset + a.count),
-                            ),
-                        (a.count = -1))
-                })(s.buffer, e, r),
-                (s.version = e.version))
-          },
-        }
-      }
-      class On extends Je {
-        constructor(t = 1, e = 1, n = 1, i = 1) {
-          super(),
-            (this.type = 'PlaneGeometry'),
-            (this.parameters = { width: t, height: e, widthSegments: n, heightSegments: i })
-          const r = t / 2,
-            s = e / 2,
-            a = Math.floor(n),
-            o = Math.floor(i),
-            l = a + 1,
-            c = o + 1,
-            h = t / a,
-            u = e / o,
-            d = [],
-            p = [],
-            m = [],
-            f = []
-          for (let g = 0; g < c; g++) {
-            const t = g * u - s
-            for (let e = 0; e < l; e++) {
-              const n = e * h - r
-              p.push(n, -t, 0), m.push(0, 0, 1), f.push(e / a), f.push(1 - g / o)
-            }
-          }
-          for (let g = 0; g < o; g++)
-            for (let t = 0; t < a; t++) {
-              const e = t + l * g,
-                n = t + l * (g + 1),
-                i = t + 1 + l * (g + 1),
-                r = t + 1 + l * g
-              d.push(e, n, r), d.push(n, i, r)
-            }
-          this.setIndex(d),
-            this.setAttribute('position', new He(p, 3)),
-            this.setAttribute('normal', new He(m, 3)),
-            this.setAttribute('uv', new He(f, 2))
-        }
-        static fromJSON(t) {
-          return new On(t.width, t.height, t.widthSegments, t.heightSegments)
-        }
-      }
-      const Bn = {
-          alphamap_fragment:
-            '#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif',
-          alphamap_pars_fragment: '#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif',
-          alphatest_fragment:
-            '#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif',
-          aomap_fragment:
-            '#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif',
-          aomap_pars_fragment:
-            '#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif',
-          begin_vertex: 'vec3 transformed = vec3( position );',
-          beginnormal_vertex:
-            'vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif',
-          bsdfs:
-            'vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotVH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif',
-          bumpmap_pars_fragment:
-            '#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif',
-          clipping_planes_fragment:
-            '#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif',
-          clipping_planes_pars_fragment:
-            '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif',
-          clipping_planes_pars_vertex:
-            '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif',
-          clipping_planes_vertex:
-            '#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif',
-          color_fragment:
-            '#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif',
-          color_pars_fragment:
-            '#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif',
-          color_pars_vertex:
-            '#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif',
-          color_vertex:
-            '#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif',
-          common:
-            '#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}',
-          cube_uv_reflection_fragment:
-            '#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif',
-          defaultnormal_vertex:
-            'vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif',
-          displacementmap_pars_vertex:
-            '#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif',
-          displacementmap_vertex:
-            '#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif',
-          emissivemap_fragment:
-            '#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif',
-          emissivemap_pars_fragment:
-            '#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif',
-          encodings_fragment: 'gl_FragColor = linearToOutputTexel( gl_FragColor );',
-          encodings_pars_fragment:
-            '\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}',
-          envmap_fragment:
-            '#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif',
-          envmap_common_pars_fragment:
-            '#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif',
-          envmap_pars_fragment:
-            '#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif',
-          envmap_pars_vertex:
-            '#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif',
-          envmap_physical_pars_fragment:
-            '#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif',
-          envmap_vertex:
-            '#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif',
-          fog_vertex: '#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif',
-          fog_pars_vertex: '#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif',
-          fog_fragment:
-            '#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif',
-          fog_pars_fragment:
-            '#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif',
-          gradientmap_pars_fragment:
-            '#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}',
-          lightmap_fragment:
-            '#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif',
-          lightmap_pars_fragment:
-            '#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif',
-          lights_lambert_vertex:
-            'vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif',
-          lights_pars_begin:
-            'uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif',
-          lights_toon_fragment: 'ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;',
-          lights_toon_pars_fragment:
-            'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)',
-          lights_phong_fragment:
-            'BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;',
-          lights_phong_pars_fragment:
-            'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)',
-          lights_physical_fragment:
-            'PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif',
-          lights_physical_pars_fragment:
-            'struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}',
-          lights_fragment_begin:
-            '\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif',
-          lights_fragment_maps:
-            '#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif',
-          lights_fragment_end:
-            '#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif',
-          logdepthbuf_fragment:
-            '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif',
-          logdepthbuf_pars_fragment:
-            '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif',
-          logdepthbuf_pars_vertex:
-            '#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif',
-          logdepthbuf_vertex:
-            '#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif',
-          map_fragment:
-            '#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif',
-          map_pars_fragment: '#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif',
-          map_particle_fragment:
-            '#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif',
-          map_particle_pars_fragment:
-            '#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif',
-          metalnessmap_fragment:
-            'float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif',
-          metalnessmap_pars_fragment:
-            '#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif',
-          morphnormal_vertex:
-            '#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif',
-          morphtarget_pars_vertex:
-            '#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif',
-          morphtarget_vertex:
-            '#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif',
-          normal_fragment_begin:
-            'float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;',
-          normal_fragment_maps:
-            '#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif',
-          normalmap_pars_fragment:
-            '#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif',
-          clearcoat_normal_fragment_begin:
-            '#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif',
-          clearcoat_normal_fragment_maps:
-            '#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif',
-          clearcoat_pars_fragment:
-            '#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif',
-          packing:
-            'vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}',
-          premultiplied_alpha_fragment:
-            '#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif',
-          project_vertex:
-            'vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;',
-          dithering_fragment:
-            '#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif',
-          dithering_pars_fragment:
-            '#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif',
-          roughnessmap_fragment:
-            'float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif',
-          roughnessmap_pars_fragment:
-            '#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif',
-          shadowmap_pars_fragment:
-            '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif',
-          shadowmap_pars_vertex:
-            '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif',
-          shadowmap_vertex:
-            '#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif',
-          shadowmask_pars_fragment:
-            'float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}',
-          skinbase_vertex:
-            '#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif',
-          skinning_pars_vertex:
-            '#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif',
-          skinning_vertex:
-            '#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif',
-          skinnormal_vertex:
-            '#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif',
-          specularmap_fragment:
-            'float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif',
-          specularmap_pars_fragment:
-            '#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif',
-          tonemapping_fragment:
-            '#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif',
-          tonemapping_pars_fragment:
-            '#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }',
-          transmission_fragment:
-            '#ifdef USE_TRANSMISSION\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSNMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition.xyz / vWorldPosition.w;\n\tvec3 v = normalize( cameraPosition - pos );\n\tfloat ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );\n\tvec3 transmission = transmissionFactor * getIBLVolumeRefraction(\n\t\tnormal, v, roughnessFactor, material.diffuseColor, totalSpecular,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission, transmissionFactor );\n#endif',
-          transmission_pars_fragment:
-            '#ifdef USE_TRANSMISSION\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec4 vWorldPosition;\n\tvec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {\n\t\tvec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length(vec3(modelMatrix[0].xyz));\n\t\tmodelScale.y = length(vec3(modelMatrix[1].xyz));\n\t\tmodelScale.z = length(vec3(modelMatrix[2].xyz));\n\t\treturn normalize(refractionVector) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness(float roughness, float ior) {\n\t\treturn roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);\n\t}\n\tvec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {\n\t\tfloat framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);\n\t\treturn texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;\n\t}\n\tvec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {\n\t\tif (attenuationDistance == 0.0) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;\n\t\t\tvec3 transmittance = exp(-attenuationCoefficient * transmissionDistance);\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec3 getIBLVolumeRefraction(vec3 n, vec3 v, float perceptualRoughness, vec3 baseColor, vec3 specularColor,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);\n\t\tvec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);\n\t\treturn (1.0 - specularColor) * attenuatedColor * baseColor;\n\t}\n#endif',
-          uv_pars_fragment:
-            '#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif',
-          uv_pars_vertex:
-            '#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif',
-          uv_vertex: '#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif',
-          uv2_pars_fragment:
-            '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif',
-          uv2_pars_vertex:
-            '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif',
-          uv2_vertex:
-            '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif',
-          worldpos_vertex:
-            '#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif',
-          background_frag:
-            'uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-          background_vert:
-            'varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}',
-          cube_frag:
-            '#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-          cube_vert:
-            'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}',
-          depth_frag:
-            '#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}',
-          depth_vert:
-            '#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}',
-          distanceRGBA_frag:
-            '#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}',
-          distanceRGBA_vert:
-            '#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}',
-          equirect_frag:
-            'uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}',
-          equirect_vert:
-            'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}',
-          linedashed_frag:
-            'uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}',
-          linedashed_vert:
-            'uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}',
-          meshbasic_frag:
-            'uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshbasic_vert:
-            '#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}',
-          meshlambert_frag:
-            'uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshlambert_vert:
-            '#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-          meshmatcap_frag:
-            '#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshmatcap_vert:
-            '#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}',
-          meshtoon_frag:
-            '#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshtoon_vert:
-            '#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-          meshphong_frag:
-            '#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshphong_vert:
-            '#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-          meshphysical_frag:
-            '#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform vec3 attenuationColor;\n\tuniform float attenuationDistance;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <transmission_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}',
-          meshphysical_vert:
-            '#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#ifdef USE_TRANSMISSION\n\tvarying vec4 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition;\n#endif\n}',
-          normal_frag:
-            '#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}',
-          normal_vert:
-            '#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}',
-          points_frag:
-            'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}',
-          points_vert:
-            'uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}',
-          shadow_frag:
-            'uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}',
-          shadow_vert:
-            '#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}',
-          sprite_frag:
-            'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}',
-          sprite_vert:
-            'uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}',
-        },
-        Fn = {
-          common: {
-            diffuse: { value: new Ie(16777215) },
-            opacity: { value: 1 },
-            map: { value: null },
-            uvTransform: { value: new et() },
-            uv2Transform: { value: new et() },
-            alphaMap: { value: null },
-          },
-          specularmap: { specularMap: { value: null } },
-          envmap: {
-            envMap: { value: null },
-            flipEnvMap: { value: -1 },
-            reflectivity: { value: 1 },
-            refractionRatio: { value: 0.98 },
-            maxMipLevel: { value: 0 },
-          },
-          aomap: { aoMap: { value: null }, aoMapIntensity: { value: 1 } },
-          lightmap: { lightMap: { value: null }, lightMapIntensity: { value: 1 } },
-          emissivemap: { emissiveMap: { value: null } },
-          bumpmap: { bumpMap: { value: null }, bumpScale: { value: 1 } },
-          normalmap: { normalMap: { value: null }, normalScale: { value: new tt(1, 1) } },
-          displacementmap: {
-            displacementMap: { value: null },
-            displacementScale: { value: 1 },
-            displacementBias: { value: 0 },
-          },
-          roughnessmap: { roughnessMap: { value: null } },
-          metalnessmap: { metalnessMap: { value: null } },
-          gradientmap: { gradientMap: { value: null } },
-          fog: {
-            fogDensity: { value: 25e-5 },
-            fogNear: { value: 1 },
-            fogFar: { value: 2e3 },
-            fogColor: { value: new Ie(16777215) },
-          },
-          lights: {
-            ambientLightColor: { value: [] },
-            lightProbe: { value: [] },
-            directionalLights: { value: [], properties: { direction: {}, color: {} } },
-            directionalLightShadows: {
-              value: [],
-              properties: {
-                shadowBias: {},
-                shadowNormalBias: {},
-                shadowRadius: {},
-                shadowMapSize: {},
-              },
-            },
-            directionalShadowMap: { value: [] },
-            directionalShadowMatrix: { value: [] },
-            spotLights: {
-              value: [],
-              properties: {
-                color: {},
-                position: {},
-                direction: {},
-                distance: {},
-                coneCos: {},
-                penumbraCos: {},
-                decay: {},
-              },
-            },
-            spotLightShadows: {
-              value: [],
-              properties: {
-                shadowBias: {},
-                shadowNormalBias: {},
-                shadowRadius: {},
-                shadowMapSize: {},
-              },
-            },
-            spotShadowMap: { value: [] },
-            spotShadowMatrix: { value: [] },
-            pointLights: {
-              value: [],
-              properties: { color: {}, position: {}, decay: {}, distance: {} },
-            },
-            pointLightShadows: {
-              value: [],
-              properties: {
-                shadowBias: {},
-                shadowNormalBias: {},
-                shadowRadius: {},
-                shadowMapSize: {},
-                shadowCameraNear: {},
-                shadowCameraFar: {},
-              },
-            },
-            pointShadowMap: { value: [] },
-            pointShadowMatrix: { value: [] },
-            hemisphereLights: {
-              value: [],
-              properties: { direction: {}, skyColor: {}, groundColor: {} },
-            },
-            rectAreaLights: {
-              value: [],
-              properties: { color: {}, position: {}, width: {}, height: {} },
-            },
-            ltc_1: { value: null },
-            ltc_2: { value: null },
-          },
-          points: {
-            diffuse: { value: new Ie(16777215) },
-            opacity: { value: 1 },
-            size: { value: 1 },
-            scale: { value: 1 },
-            map: { value: null },
-            alphaMap: { value: null },
-            uvTransform: { value: new et() },
-          },
-          sprite: {
-            diffuse: { value: new Ie(16777215) },
-            opacity: { value: 1 },
-            center: { value: new tt(0.5, 0.5) },
-            rotation: { value: 0 },
-            map: { value: null },
-            alphaMap: { value: null },
-            uvTransform: { value: new et() },
-          },
-        },
-        Un = {
-          basic: {
-            uniforms: yn([Fn.common, Fn.specularmap, Fn.envmap, Fn.aomap, Fn.lightmap, Fn.fog]),
-            vertexShader: Bn.meshbasic_vert,
-            fragmentShader: Bn.meshbasic_frag,
-          },
-          lambert: {
-            uniforms: yn([
-              Fn.common,
-              Fn.specularmap,
-              Fn.envmap,
-              Fn.aomap,
-              Fn.lightmap,
-              Fn.emissivemap,
-              Fn.fog,
-              Fn.lights,
-              { emissive: { value: new Ie(0) } },
-            ]),
-            vertexShader: Bn.meshlambert_vert,
-            fragmentShader: Bn.meshlambert_frag,
-          },
-          phong: {
-            uniforms: yn([
-              Fn.common,
-              Fn.specularmap,
-              Fn.envmap,
-              Fn.aomap,
-              Fn.lightmap,
-              Fn.emissivemap,
-              Fn.bumpmap,
-              Fn.normalmap,
-              Fn.displacementmap,
-              Fn.fog,
-              Fn.lights,
-              {
-                emissive: { value: new Ie(0) },
-                specular: { value: new Ie(1118481) },
-                shininess: { value: 30 },
-              },
-            ]),
-            vertexShader: Bn.meshphong_vert,
-            fragmentShader: Bn.meshphong_frag,
-          },
-          standard: {
-            uniforms: yn([
-              Fn.common,
-              Fn.envmap,
-              Fn.aomap,
-              Fn.lightmap,
-              Fn.emissivemap,
-              Fn.bumpmap,
-              Fn.normalmap,
-              Fn.displacementmap,
-              Fn.roughnessmap,
-              Fn.metalnessmap,
-              Fn.fog,
-              Fn.lights,
-              {
-                emissive: { value: new Ie(0) },
-                roughness: { value: 1 },
-                metalness: { value: 0 },
-                envMapIntensity: { value: 1 },
-              },
-            ]),
-            vertexShader: Bn.meshphysical_vert,
-            fragmentShader: Bn.meshphysical_frag,
-          },
-          toon: {
-            uniforms: yn([
-              Fn.common,
-              Fn.aomap,
-              Fn.lightmap,
-              Fn.emissivemap,
-              Fn.bumpmap,
-              Fn.normalmap,
-              Fn.displacementmap,
-              Fn.gradientmap,
-              Fn.fog,
-              Fn.lights,
-              { emissive: { value: new Ie(0) } },
-            ]),
-            vertexShader: Bn.meshtoon_vert,
-            fragmentShader: Bn.meshtoon_frag,
-          },
-          matcap: {
-            uniforms: yn([
-              Fn.common,
-              Fn.bumpmap,
-              Fn.normalmap,
-              Fn.displacementmap,
-              Fn.fog,
-              { matcap: { value: null } },
-            ]),
-            vertexShader: Bn.meshmatcap_vert,
-            fragmentShader: Bn.meshmatcap_frag,
-          },
-          points: {
-            uniforms: yn([Fn.points, Fn.fog]),
-            vertexShader: Bn.points_vert,
-            fragmentShader: Bn.points_frag,
-          },
-          dashed: {
-            uniforms: yn([
-              Fn.common,
-              Fn.fog,
-              { scale: { value: 1 }, dashSize: { value: 1 }, totalSize: { value: 2 } },
-            ]),
-            vertexShader: Bn.linedashed_vert,
-            fragmentShader: Bn.linedashed_frag,
-          },
-          depth: {
-            uniforms: yn([Fn.common, Fn.displacementmap]),
-            vertexShader: Bn.depth_vert,
-            fragmentShader: Bn.depth_frag,
-          },
-          normal: {
-            uniforms: yn([
-              Fn.common,
-              Fn.bumpmap,
-              Fn.normalmap,
-              Fn.displacementmap,
-              { opacity: { value: 1 } },
-            ]),
-            vertexShader: Bn.normal_vert,
-            fragmentShader: Bn.normal_frag,
-          },
-          sprite: {
-            uniforms: yn([Fn.sprite, Fn.fog]),
-            vertexShader: Bn.sprite_vert,
-            fragmentShader: Bn.sprite_frag,
-          },
-          background: {
-            uniforms: { uvTransform: { value: new et() }, t2D: { value: null } },
-            vertexShader: Bn.background_vert,
-            fragmentShader: Bn.background_frag,
-          },
-          cube: {
-            uniforms: yn([Fn.envmap, { opacity: { value: 1 } }]),
-            vertexShader: Bn.cube_vert,
-            fragmentShader: Bn.cube_frag,
-          },
-          equirect: {
-            uniforms: { tEquirect: { value: null } },
-            vertexShader: Bn.equirect_vert,
-            fragmentShader: Bn.equirect_frag,
-          },
-          distanceRGBA: {
-            uniforms: yn([
-              Fn.common,
-              Fn.displacementmap,
-              {
-                referencePosition: { value: new ut() },
-                nearDistance: { value: 1 },
-                farDistance: { value: 1e3 },
-              },
-            ]),
-            vertexShader: Bn.distanceRGBA_vert,
-            fragmentShader: Bn.distanceRGBA_frag,
-          },
-          shadow: {
-            uniforms: yn([
-              Fn.lights,
-              Fn.fog,
-              { color: { value: new Ie(0) }, opacity: { value: 1 } },
-            ]),
-            vertexShader: Bn.shadow_vert,
-            fragmentShader: Bn.shadow_frag,
-          },
-        }
-      function Hn(t, e, n, i, r) {
-        const a = new Ie(0)
-        let o,
-          l,
-          h = 0,
-          u = null,
-          d = 0,
-          p = null
-        function m(t, e) {
-          n.buffers.color.setClear(t.r, t.g, t.b, e, r)
-        }
-        return {
-          getClearColor: function () {
-            return a
-          },
-          setClearColor: function (t, e = 1) {
-            a.set(t), (h = e), m(a, h)
-          },
-          getClearAlpha: function () {
-            return h
-          },
-          setClearAlpha: function (t) {
-            ;(h = t), m(a, h)
-          },
-          render: function (n, r) {
-            let f = !1,
-              g = !0 === r.isScene ? r.background : null
-            g && g.isTexture && (g = e.get(g))
-            const v = t.xr,
-              y = v.getSession && v.getSession()
-            y && 'additive' === y.environmentBlendMode && (g = null),
-              null === g ? m(a, h) : g && g.isColor && (m(g, 1), (f = !0)),
-              (t.autoClear || f) && t.clear(t.autoClearColor, t.autoClearDepth, t.autoClearStencil),
-              g && (g.isCubeTexture || g.mapping === c)
-                ? (void 0 === l &&
-                    ((l = new mn(
-                      new gn(1, 1, 1),
-                      new _n({
-                        name: 'BackgroundCubeMaterial',
-                        uniforms: vn(Un.cube.uniforms),
-                        vertexShader: Un.cube.vertexShader,
-                        fragmentShader: Un.cube.fragmentShader,
-                        side: s,
-                        depthTest: !1,
-                        depthWrite: !1,
-                        fog: !1,
-                      }),
-                    )),
-                    l.geometry.deleteAttribute('normal'),
-                    l.geometry.deleteAttribute('uv'),
-                    (l.onBeforeRender = function (t, e, n) {
-                      this.matrixWorld.copyPosition(n.matrixWorld)
-                    }),
-                    Object.defineProperty(l.material, 'envMap', {
-                      get: function () {
-                        return this.uniforms.envMap.value
-                      },
-                    }),
-                    i.update(l)),
-                  (l.material.uniforms.envMap.value = g),
-                  (l.material.uniforms.flipEnvMap.value =
-                    g.isCubeTexture && g._needsFlipEnvMap ? -1 : 1),
-                  (u === g && d === g.version && p === t.toneMapping) ||
-                    ((l.material.needsUpdate = !0), (u = g), (d = g.version), (p = t.toneMapping)),
-                  n.unshift(l, l.geometry, l.material, 0, 0, null))
-                : g &&
-                  g.isTexture &&
-                  (void 0 === o &&
-                    ((o = new mn(
-                      new On(2, 2),
-                      new _n({
-                        name: 'BackgroundMaterial',
-                        uniforms: vn(Un.background.uniforms),
-                        vertexShader: Un.background.vertexShader,
-                        fragmentShader: Un.background.fragmentShader,
-                        side: 0,
-                        depthTest: !1,
-                        depthWrite: !1,
-                        fog: !1,
-                      }),
-                    )),
-                    o.geometry.deleteAttribute('normal'),
-                    Object.defineProperty(o.material, 'map', {
-                      get: function () {
-                        return this.uniforms.t2D.value
-                      },
-                    }),
-                    i.update(o)),
-                  (o.material.uniforms.t2D.value = g),
-                  !0 === g.matrixAutoUpdate && g.updateMatrix(),
-                  o.material.uniforms.uvTransform.value.copy(g.matrix),
-                  (u === g && d === g.version && p === t.toneMapping) ||
-                    ((o.material.needsUpdate = !0), (u = g), (d = g.version), (p = t.toneMapping)),
-                  n.unshift(o, o.geometry, o.material, 0, 0, null))
-          },
-        }
-      }
-      function Gn(t, e, n, i) {
-        const r = t.getParameter(34921),
-          s = i.isWebGL2 ? null : e.get('OES_vertex_array_object'),
-          a = i.isWebGL2 || null !== s,
-          o = {},
-          l = d(null)
-        let c = l
-        function h(e) {
-          return i.isWebGL2 ? t.bindVertexArray(e) : s.bindVertexArrayOES(e)
-        }
-        function u(e) {
-          return i.isWebGL2 ? t.deleteVertexArray(e) : s.deleteVertexArrayOES(e)
-        }
-        function d(t) {
-          const e = [],
-            n = [],
-            i = []
-          for (let s = 0; s < r; s++) (e[s] = 0), (n[s] = 0), (i[s] = 0)
-          return {
-            geometry: null,
-            program: null,
-            wireframe: !1,
-            newAttributes: e,
-            enabledAttributes: n,
-            attributeDivisors: i,
-            object: t,
-            attributes: {},
-            index: null,
-          }
-        }
-        function p() {
-          const t = c.newAttributes
-          for (let e = 0, n = t.length; e < n; e++) t[e] = 0
-        }
-        function m(t) {
-          f(t, 0)
-        }
-        function f(n, r) {
-          const s = c.newAttributes,
-            a = c.enabledAttributes,
-            o = c.attributeDivisors
-          if (((s[n] = 1), 0 === a[n] && (t.enableVertexAttribArray(n), (a[n] = 1)), o[n] !== r)) {
-            ;(i.isWebGL2 ? t : e.get('ANGLE_instanced_arrays'))[
-              i.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE'
-            ](n, r),
-              (o[n] = r)
-          }
-        }
-        function g() {
-          const e = c.newAttributes,
-            n = c.enabledAttributes
-          for (let i = 0, r = n.length; i < r; i++)
-            n[i] !== e[i] && (t.disableVertexAttribArray(i), (n[i] = 0))
-        }
-        function v(e, n, r, s, a, o) {
-          !0 !== i.isWebGL2 || (5124 !== r && 5125 !== r)
-            ? t.vertexAttribPointer(e, n, r, s, a, o)
-            : t.vertexAttribIPointer(e, n, r, a, o)
-        }
-        function y() {
-          x(), c !== l && ((c = l), h(c.object))
-        }
-        function x() {
-          ;(l.geometry = null), (l.program = null), (l.wireframe = !1)
-        }
-        return {
-          setup: function (r, l, u, y, x) {
-            let _ = !1
-            if (a) {
-              const e = (function (e, n, r) {
-                const a = !0 === r.wireframe
-                let l = o[e.id]
-                void 0 === l && ((l = {}), (o[e.id] = l))
-                let c = l[n.id]
-                void 0 === c && ((c = {}), (l[n.id] = c))
-                let h = c[a]
-                void 0 === h &&
-                  ((h = d(i.isWebGL2 ? t.createVertexArray() : s.createVertexArrayOES())),
-                  (c[a] = h))
-                return h
-              })(y, u, l)
-              c !== e && ((c = e), h(c.object)),
-                (_ = (function (t, e) {
-                  const n = c.attributes,
-                    i = t.attributes
-                  let r = 0
-                  for (const s in i) {
-                    const t = n[s],
-                      e = i[s]
-                    if (void 0 === t) return !0
-                    if (t.attribute !== e) return !0
-                    if (t.data !== e.data) return !0
-                    r++
-                  }
-                  return c.attributesNum !== r || c.index !== e
-                })(y, x)),
-                _ &&
-                  (function (t, e) {
-                    const n = {},
-                      i = t.attributes
-                    let r = 0
-                    for (const s in i) {
-                      const t = i[s],
-                        e = {}
-                      ;(e.attribute = t), t.data && (e.data = t.data), (n[s] = e), r++
-                    }
-                    ;(c.attributes = n), (c.attributesNum = r), (c.index = e)
-                  })(y, x)
-            } else {
-              const t = !0 === l.wireframe
-              ;(c.geometry === y.id && c.program === u.id && c.wireframe === t) ||
-                ((c.geometry = y.id), (c.program = u.id), (c.wireframe = t), (_ = !0))
-            }
-            !0 === r.isInstancedMesh && (_ = !0),
-              null !== x && n.update(x, 34963),
-              _ &&
-                (!(function (r, s, a, o) {
-                  if (
-                    !1 === i.isWebGL2 &&
-                    (r.isInstancedMesh || o.isInstancedBufferGeometry) &&
-                    null === e.get('ANGLE_instanced_arrays')
-                  )
-                    return
-                  p()
-                  const l = o.attributes,
-                    c = a.getAttributes(),
-                    h = s.defaultAttributeValues
-                  for (const e in c) {
-                    const i = c[e]
-                    if (i >= 0) {
-                      const s = l[e]
-                      if (void 0 !== s) {
-                        const e = s.normalized,
-                          r = s.itemSize,
-                          a = n.get(s)
-                        if (void 0 === a) continue
-                        const l = a.buffer,
-                          c = a.type,
-                          h = a.bytesPerElement
-                        if (s.isInterleavedBufferAttribute) {
-                          const n = s.data,
-                            a = n.stride,
-                            u = s.offset
-                          n && n.isInstancedInterleavedBuffer
-                            ? (f(i, n.meshPerAttribute),
-                              void 0 === o._maxInstanceCount &&
-                                (o._maxInstanceCount = n.meshPerAttribute * n.count))
-                            : m(i),
-                            t.bindBuffer(34962, l),
-                            v(i, r, c, e, a * h, u * h)
-                        } else
-                          s.isInstancedBufferAttribute
-                            ? (f(i, s.meshPerAttribute),
-                              void 0 === o._maxInstanceCount &&
-                                (o._maxInstanceCount = s.meshPerAttribute * s.count))
-                            : m(i),
-                            t.bindBuffer(34962, l),
-                            v(i, r, c, e, 0, 0)
-                      } else if ('instanceMatrix' === e) {
-                        const e = n.get(r.instanceMatrix)
-                        if (void 0 === e) continue
-                        const s = e.buffer,
-                          a = e.type
-                        f(i + 0, 1),
-                          f(i + 1, 1),
-                          f(i + 2, 1),
-                          f(i + 3, 1),
-                          t.bindBuffer(34962, s),
-                          t.vertexAttribPointer(i + 0, 4, a, !1, 64, 0),
-                          t.vertexAttribPointer(i + 1, 4, a, !1, 64, 16),
-                          t.vertexAttribPointer(i + 2, 4, a, !1, 64, 32),
-                          t.vertexAttribPointer(i + 3, 4, a, !1, 64, 48)
-                      } else if ('instanceColor' === e) {
-                        const e = n.get(r.instanceColor)
-                        if (void 0 === e) continue
-                        const s = e.buffer,
-                          a = e.type
-                        f(i, 1), t.bindBuffer(34962, s), t.vertexAttribPointer(i, 3, a, !1, 12, 0)
-                      } else if (void 0 !== h) {
-                        const n = h[e]
-                        if (void 0 !== n)
-                          switch (n.length) {
-                            case 2:
-                              t.vertexAttrib2fv(i, n)
-                              break
-                            case 3:
-                              t.vertexAttrib3fv(i, n)
-                              break
-                            case 4:
-                              t.vertexAttrib4fv(i, n)
-                              break
-                            default:
-                              t.vertexAttrib1fv(i, n)
-                          }
-                      }
-                    }
-                  }
-                  g()
-                })(r, l, u, y),
-                null !== x && t.bindBuffer(34963, n.get(x).buffer))
-          },
-          reset: y,
-          resetDefaultState: x,
-          dispose: function () {
-            y()
-            for (const t in o) {
-              const e = o[t]
-              for (const t in e) {
-                const n = e[t]
-                for (const t in n) u(n[t].object), delete n[t]
-                delete e[t]
-              }
-              delete o[t]
-            }
-          },
-          releaseStatesOfGeometry: function (t) {
-            if (void 0 === o[t.id]) return
-            const e = o[t.id]
-            for (const n in e) {
-              const t = e[n]
-              for (const e in t) u(t[e].object), delete t[e]
-              delete e[n]
-            }
-            delete o[t.id]
-          },
-          releaseStatesOfProgram: function (t) {
-            for (const e in o) {
-              const n = o[e]
-              if (void 0 === n[t.id]) continue
-              const i = n[t.id]
-              for (const t in i) u(i[t].object), delete i[t]
-              delete n[t.id]
-            }
-          },
-          initAttributes: p,
-          enableAttribute: m,
-          disableUnusedAttributes: g,
-        }
-      }
-      function Vn(t, e, n, i) {
-        const r = i.isWebGL2
-        let s
-        ;(this.setMode = function (t) {
-          s = t
-        }),
-          (this.render = function (e, i) {
-            t.drawArrays(s, e, i), n.update(i, s, 1)
-          }),
-          (this.renderInstances = function (i, a, o) {
-            if (0 === o) return
-            let l, c
-            if (r) (l = t), (c = 'drawArraysInstanced')
-            else if (
-              ((l = e.get('ANGLE_instanced_arrays')), (c = 'drawArraysInstancedANGLE'), null === l)
-            )
-              return void console.error(
-                'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.',
-              )
-            l[c](s, i, a, o), n.update(a, s, o)
-          })
-      }
-      function kn(t, e, n) {
-        let i
-        function r(e) {
-          if ('highp' === e) {
-            if (
-              t.getShaderPrecisionFormat(35633, 36338).precision > 0 &&
-              t.getShaderPrecisionFormat(35632, 36338).precision > 0
-            )
-              return 'highp'
-            e = 'mediump'
-          }
-          return 'mediump' === e &&
-            t.getShaderPrecisionFormat(35633, 36337).precision > 0 &&
-            t.getShaderPrecisionFormat(35632, 36337).precision > 0
-            ? 'mediump'
-            : 'lowp'
-        }
-        const s =
-          ('undefined' !== typeof WebGL2RenderingContext && t instanceof WebGL2RenderingContext) ||
-          ('undefined' !== typeof WebGL2ComputeRenderingContext &&
-            t instanceof WebGL2ComputeRenderingContext)
-        let a = void 0 !== n.precision ? n.precision : 'highp'
-        const o = r(a)
-        o !== a &&
-          (console.warn('THREE.WebGLRenderer:', a, 'not supported, using', o, 'instead.'), (a = o))
-        const l = s || e.has('WEBGL_draw_buffers'),
-          c = !0 === n.logarithmicDepthBuffer,
-          h = t.getParameter(34930),
-          u = t.getParameter(35660),
-          d = t.getParameter(3379),
-          p = t.getParameter(34076),
-          m = t.getParameter(34921),
-          f = t.getParameter(36347),
-          g = t.getParameter(36348),
-          v = t.getParameter(36349),
-          y = u > 0,
-          x = s || e.has('OES_texture_float')
-        return {
-          isWebGL2: s,
-          drawBuffers: l,
-          getMaxAnisotropy: function () {
-            if (void 0 !== i) return i
-            if (!0 === e.has('EXT_texture_filter_anisotropic')) {
-              const n = e.get('EXT_texture_filter_anisotropic')
-              i = t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)
-            } else i = 0
-            return i
-          },
-          getMaxPrecision: r,
-          precision: a,
-          logarithmicDepthBuffer: c,
-          maxTextures: h,
-          maxVertexTextures: u,
-          maxTextureSize: d,
-          maxCubemapSize: p,
-          maxAttributes: m,
-          maxVertexUniforms: f,
-          maxVaryings: g,
-          maxFragmentUniforms: v,
-          vertexTextures: y,
-          floatFragmentTextures: x,
-          floatVertexTextures: y && x,
-          maxSamples: s ? t.getParameter(36183) : 0,
-        }
-      }
-      function Wn(t) {
-        const e = this
-        let n = null,
-          i = 0,
-          r = !1,
-          s = !1
-        const a = new Cn(),
-          o = new et(),
-          l = { value: null, needsUpdate: !1 }
-        function c() {
-          l.value !== n && ((l.value = n), (l.needsUpdate = i > 0)),
-            (e.numPlanes = i),
-            (e.numIntersection = 0)
-        }
-        function h(t, n, i, r) {
-          const s = null !== t ? t.length : 0
-          let c = null
-          if (0 !== s) {
-            if (((c = l.value), !0 !== r || null === c)) {
-              const e = i + 4 * s,
-                r = n.matrixWorldInverse
-              o.getNormalMatrix(r), (null === c || c.length < e) && (c = new Float32Array(e))
-              for (let n = 0, l = i; n !== s; ++n, l += 4)
-                a.copy(t[n]).applyMatrix4(r, o), a.normal.toArray(c, l), (c[l + 3] = a.constant)
-            }
-            ;(l.value = c), (l.needsUpdate = !0)
-          }
-          return (e.numPlanes = s), (e.numIntersection = 0), c
-        }
-        ;(this.uniform = l),
-          (this.numPlanes = 0),
-          (this.numIntersection = 0),
-          (this.init = function (t, e, s) {
-            const a = 0 !== t.length || e || 0 !== i || r
-            return (r = e), (n = h(t, s, 0)), (i = t.length), a
-          }),
-          (this.beginShadows = function () {
-            ;(s = !0), h(null)
-          }),
-          (this.endShadows = function () {
-            ;(s = !1), c()
-          }),
-          (this.setState = function (e, a, o) {
-            const u = e.clippingPlanes,
-              d = e.clipIntersection,
-              p = e.clipShadows,
-              m = t.get(e)
-            if (!r || null === u || 0 === u.length || (s && !p)) s ? h(null) : c()
-            else {
-              const t = s ? 0 : i,
-                e = 4 * t
-              let r = m.clippingState || null
-              ;(l.value = r), (r = h(u, a, e, o))
-              for (let i = 0; i !== e; ++i) r[i] = n[i]
-              ;(m.clippingState = r),
-                (this.numIntersection = d ? this.numPlanes : 0),
-                (this.numPlanes += t)
-            }
-          })
-      }
-      function jn(t) {
-        let e = new WeakMap()
-        function n(t, e) {
-          return 303 === e ? (t.mapping = o) : 304 === e && (t.mapping = l), t
-        }
-        function i(t) {
-          const n = t.target
-          n.removeEventListener('dispose', i)
-          const r = e.get(n)
-          void 0 !== r && (e.delete(n), r.dispose())
-        }
-        return {
-          get: function (r) {
-            if (r && r.isTexture) {
-              const s = r.mapping
-              if (303 === s || 304 === s) {
-                if (e.has(r)) {
-                  return n(e.get(r).texture, r.mapping)
-                }
-                {
-                  const s = r.image
-                  if (s && s.height > 0) {
-                    const a = t.getRenderTarget(),
-                      o = new En(s.height / 2)
-                    return (
-                      o.fromEquirectangularTexture(t, r),
-                      e.set(r, o),
-                      t.setRenderTarget(a),
-                      r.addEventListener('dispose', i),
-                      n(o.texture, r.mapping)
-                    )
-                  }
-                  return null
-                }
-              }
-            }
-            return r
-          },
-          dispose: function () {
-            e = new WeakMap()
-          },
-        }
-      }
-      function qn(t) {
-        const e = {}
-        function n(n) {
-          if (void 0 !== e[n]) return e[n]
-          let i
-          switch (n) {
-            case 'WEBGL_depth_texture':
-              i =
-                t.getExtension('WEBGL_depth_texture') ||
-                t.getExtension('MOZ_WEBGL_depth_texture') ||
-                t.getExtension('WEBKIT_WEBGL_depth_texture')
-              break
-            case 'EXT_texture_filter_anisotropic':
-              i =
-                t.getExtension('EXT_texture_filter_anisotropic') ||
-                t.getExtension('MOZ_EXT_texture_filter_anisotropic') ||
-                t.getExtension('WEBKIT_EXT_texture_filter_anisotropic')
-              break
-            case 'WEBGL_compressed_texture_s3tc':
-              i =
-                t.getExtension('WEBGL_compressed_texture_s3tc') ||
-                t.getExtension('MOZ_WEBGL_compressed_texture_s3tc') ||
-                t.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc')
-              break
-            case 'WEBGL_compressed_texture_pvrtc':
-              i =
-                t.getExtension('WEBGL_compressed_texture_pvrtc') ||
-                t.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc')
-              break
-            default:
-              i = t.getExtension(n)
-          }
-          return (e[n] = i), i
-        }
-        return {
-          has: function (t) {
-            return null !== n(t)
-          },
-          init: function (t) {
-            t.isWebGL2
-              ? n('EXT_color_buffer_float')
-              : (n('WEBGL_depth_texture'),
-                n('OES_texture_float'),
-                n('OES_texture_half_float'),
-                n('OES_texture_half_float_linear'),
-                n('OES_standard_derivatives'),
-                n('OES_element_index_uint'),
-                n('OES_vertex_array_object'),
-                n('ANGLE_instanced_arrays')),
-              n('OES_texture_float_linear'),
-              n('EXT_color_buffer_half_float')
-          },
-          get: function (t) {
-            const e = n(t)
-            return (
-              null === e && console.warn('THREE.WebGLRenderer: ' + t + ' extension not supported.'),
-              e
-            )
-          },
-        }
-      }
-      function Xn(t, e, n, i) {
-        const r = {},
-          s = new WeakMap()
-        function a(t) {
-          const o = t.target
-          null !== o.index && e.remove(o.index)
-          for (const n in o.attributes) e.remove(o.attributes[n])
-          o.removeEventListener('dispose', a), delete r[o.id]
-          const l = s.get(o)
-          l && (e.remove(l), s.delete(o)),
-            i.releaseStatesOfGeometry(o),
-            !0 === o.isInstancedBufferGeometry && delete o._maxInstanceCount,
-            n.memory.geometries--
-        }
-        function o(t) {
-          const n = [],
-            i = t.index,
-            r = t.attributes.position
-          let a = 0
-          if (null !== i) {
-            const t = i.array
-            a = i.version
-            for (let e = 0, i = t.length; e < i; e += 3) {
-              const i = t[e + 0],
-                r = t[e + 1],
-                s = t[e + 2]
-              n.push(i, r, r, s, s, i)
-            }
-          } else {
-            const t = r.array
-            a = r.version
-            for (let e = 0, i = t.length / 3 - 1; e < i; e += 3) {
-              const t = e + 0,
-                i = e + 1,
-                r = e + 2
-              n.push(t, i, i, r, r, t)
-            }
-          }
-          const o = new (Ge(n) > 65535 ? Ue : Fe)(n, 1)
-          o.version = a
-          const l = s.get(t)
-          l && e.remove(l), s.set(t, o)
-        }
-        return {
-          get: function (t, e) {
-            return (
-              !0 === r[e.id] ||
-                (e.addEventListener('dispose', a), (r[e.id] = !0), n.memory.geometries++),
-              e
-            )
-          },
-          update: function (t) {
-            const n = t.attributes
-            for (const r in n) e.update(n[r], 34962)
-            const i = t.morphAttributes
-            for (const r in i) {
-              const t = i[r]
-              for (let n = 0, i = t.length; n < i; n++) e.update(t[n], 34962)
-            }
-          },
-          getWireframeAttribute: function (t) {
-            const e = s.get(t)
-            if (e) {
-              const n = t.index
-              null !== n && e.version < n.version && o(t)
-            } else o(t)
-            return s.get(t)
-          },
-        }
-      }
-      function Yn(t, e, n, i) {
-        const r = i.isWebGL2
-        let s, a, o
-        ;(this.setMode = function (t) {
-          s = t
-        }),
-          (this.setIndex = function (t) {
-            ;(a = t.type), (o = t.bytesPerElement)
-          }),
-          (this.render = function (e, i) {
-            t.drawElements(s, i, a, e * o), n.update(i, s, 1)
-          }),
-          (this.renderInstances = function (i, l, c) {
-            if (0 === c) return
-            let h, u
-            if (r) (h = t), (u = 'drawElementsInstanced')
-            else if (
-              ((h = e.get('ANGLE_instanced_arrays')),
-              (u = 'drawElementsInstancedANGLE'),
-              null === h)
-            )
-              return void console.error(
-                'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.',
-              )
-            h[u](s, l, a, i * o, c), n.update(l, s, c)
-          })
-      }
-      function Jn(t) {
-        const e = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0 }
-        return {
-          memory: { geometries: 0, textures: 0 },
-          render: e,
-          programs: null,
-          autoReset: !0,
-          reset: function () {
-            e.frame++, (e.calls = 0), (e.triangles = 0), (e.points = 0), (e.lines = 0)
-          },
-          update: function (t, n, i) {
-            switch ((e.calls++, n)) {
-              case 4:
-                e.triangles += i * (t / 3)
-                break
-              case 1:
-                e.lines += i * (t / 2)
-                break
-              case 3:
-                e.lines += i * (t - 1)
-                break
-              case 2:
-                e.lines += i * t
-                break
-              case 0:
-                e.points += i * t
-                break
-              default:
-                console.error('THREE.WebGLInfo: Unknown draw mode:', n)
-            }
-          },
-        }
-      }
-      function Zn(t, e) {
-        return t[0] - e[0]
-      }
-      function Qn(t, e) {
-        return Math.abs(e[1]) - Math.abs(t[1])
-      }
-      function Kn(t) {
-        const e = {},
-          n = new Float32Array(8),
-          i = []
-        for (let r = 0; r < 8; r++) i[r] = [r, 0]
-        return {
-          update: function (r, s, a, o) {
-            const l = r.morphTargetInfluences,
-              c = void 0 === l ? 0 : l.length
-            let h = e[s.id]
-            if (void 0 === h || h.length !== c) {
-              h = []
-              for (let t = 0; t < c; t++) h[t] = [t, 0]
-              e[s.id] = h
-            }
-            for (let t = 0; t < c; t++) {
-              const e = h[t]
-              ;(e[0] = t), (e[1] = l[t])
-            }
-            h.sort(Qn)
-            for (let t = 0; t < 8; t++)
-              t < c && h[t][1]
-                ? ((i[t][0] = h[t][0]), (i[t][1] = h[t][1]))
-                : ((i[t][0] = Number.MAX_SAFE_INTEGER), (i[t][1] = 0))
-            i.sort(Zn)
-            const u = a.morphTargets && s.morphAttributes.position,
-              d = a.morphNormals && s.morphAttributes.normal
-            let p = 0
-            for (let t = 0; t < 8; t++) {
-              const e = i[t],
-                r = e[0],
-                a = e[1]
-              r !== Number.MAX_SAFE_INTEGER && a
-                ? (u &&
-                    s.getAttribute('morphTarget' + t) !== u[r] &&
-                    s.setAttribute('morphTarget' + t, u[r]),
-                  d &&
-                    s.getAttribute('morphNormal' + t) !== d[r] &&
-                    s.setAttribute('morphNormal' + t, d[r]),
-                  (n[t] = a),
-                  (p += a))
-                : (u &&
-                    !0 === s.hasAttribute('morphTarget' + t) &&
-                    s.deleteAttribute('morphTarget' + t),
-                  d &&
-                    !0 === s.hasAttribute('morphNormal' + t) &&
-                    s.deleteAttribute('morphNormal' + t),
-                  (n[t] = 0))
-            }
-            const m = s.morphTargetsRelative ? 1 : 1 - p
-            o.getUniforms().setValue(t, 'morphTargetBaseInfluence', m),
-              o.getUniforms().setValue(t, 'morphTargetInfluences', n)
-          },
-        }
-      }
-      function $n(t, e, n, i) {
-        let r = new WeakMap()
-        function s(t) {
-          const e = t.target
-          e.removeEventListener('dispose', s),
-            n.remove(e.instanceMatrix),
-            null !== e.instanceColor && n.remove(e.instanceColor)
-        }
-        return {
-          update: function (t) {
-            const a = i.render.frame,
-              o = t.geometry,
-              l = e.get(t, o)
-            return (
-              r.get(l) !== a && (e.update(l), r.set(l, a)),
-              t.isInstancedMesh &&
-                (!1 === t.hasEventListener('dispose', s) && t.addEventListener('dispose', s),
-                n.update(t.instanceMatrix, 34962),
-                null !== t.instanceColor && n.update(t.instanceColor, 34962)),
-              l
-            )
-          },
-          dispose: function () {
-            r = new WeakMap()
-          },
-        }
-      }
-      Un.physical = {
-        uniforms: yn([
-          Un.standard.uniforms,
-          {
-            clearcoat: { value: 0 },
-            clearcoatMap: { value: null },
-            clearcoatRoughness: { value: 0 },
-            clearcoatRoughnessMap: { value: null },
-            clearcoatNormalScale: { value: new tt(1, 1) },
-            clearcoatNormalMap: { value: null },
-            sheen: { value: new Ie(0) },
-            transmission: { value: 0 },
-            transmissionMap: { value: null },
-            transmissionSamplerSize: { value: new tt() },
-            transmissionSamplerMap: { value: null },
-            thickness: { value: 0 },
-            thicknessMap: { value: null },
-            attenuationDistance: { value: 0 },
-            attenuationColor: { value: new Ie(0) },
-          },
-        ]),
-        vertexShader: Bn.meshphysical_vert,
-        fragmentShader: Bn.meshphysical_frag,
-      }
-      class ti extends st {
-        constructor(t = null, e = 1, n = 1, i = 1) {
-          super(null),
-            (this.image = { data: t, width: e, height: n, depth: i }),
-            (this.magFilter = m),
-            (this.minFilter = m),
-            (this.wrapR = d),
-            (this.generateMipmaps = !1),
-            (this.flipY = !1),
-            (this.unpackAlignment = 1),
-            (this.needsUpdate = !0)
-        }
-      }
-      ti.prototype.isDataTexture2DArray = !0
-      class ei extends st {
-        constructor(t = null, e = 1, n = 1, i = 1) {
-          super(null),
-            (this.image = { data: t, width: e, height: n, depth: i }),
-            (this.magFilter = m),
-            (this.minFilter = m),
-            (this.wrapR = d),
-            (this.generateMipmaps = !1),
-            (this.flipY = !1),
-            (this.unpackAlignment = 1),
-            (this.needsUpdate = !0)
-        }
-      }
-      ei.prototype.isDataTexture3D = !0
-      const ni = new st(),
-        ii = new ti(),
-        ri = new ei(),
-        si = new Tn(),
-        ai = [],
-        oi = [],
-        li = new Float32Array(16),
-        ci = new Float32Array(9),
-        hi = new Float32Array(4)
-      function ui(t, e, n) {
-        const i = t[0]
-        if (i <= 0 || i > 0) return t
-        const r = e * n
-        let s = ai[r]
-        if ((void 0 === s && ((s = new Float32Array(r)), (ai[r] = s)), 0 !== e)) {
-          i.toArray(s, 0)
-          for (let i = 1, r = 0; i !== e; ++i) (r += n), t[i].toArray(s, r)
-        }
-        return s
-      }
-      function di(t, e) {
-        if (t.length !== e.length) return !1
-        for (let n = 0, i = t.length; n < i; n++) if (t[n] !== e[n]) return !1
-        return !0
-      }
-      function pi(t, e) {
-        for (let n = 0, i = e.length; n < i; n++) t[n] = e[n]
-      }
-      function mi(t, e) {
-        let n = oi[e]
-        void 0 === n && ((n = new Int32Array(e)), (oi[e] = n))
-        for (let i = 0; i !== e; ++i) n[i] = t.allocateTextureUnit()
-        return n
-      }
-      function fi(t, e) {
-        const n = this.cache
-        n[0] !== e && (t.uniform1f(this.addr, e), (n[0] = e))
-      }
-      function gi(t, e) {
-        const n = this.cache
-        if (void 0 !== e.x)
-          (n[0] === e.x && n[1] === e.y) ||
-            (t.uniform2f(this.addr, e.x, e.y), (n[0] = e.x), (n[1] = e.y))
-        else {
-          if (di(n, e)) return
-          t.uniform2fv(this.addr, e), pi(n, e)
-        }
-      }
-      function vi(t, e) {
-        const n = this.cache
-        if (void 0 !== e.x)
-          (n[0] === e.x && n[1] === e.y && n[2] === e.z) ||
-            (t.uniform3f(this.addr, e.x, e.y, e.z), (n[0] = e.x), (n[1] = e.y), (n[2] = e.z))
-        else if (void 0 !== e.r)
-          (n[0] === e.r && n[1] === e.g && n[2] === e.b) ||
-            (t.uniform3f(this.addr, e.r, e.g, e.b), (n[0] = e.r), (n[1] = e.g), (n[2] = e.b))
-        else {
-          if (di(n, e)) return
-          t.uniform3fv(this.addr, e), pi(n, e)
-        }
-      }
-      function yi(t, e) {
-        const n = this.cache
-        if (void 0 !== e.x)
-          (n[0] === e.x && n[1] === e.y && n[2] === e.z && n[3] === e.w) ||
-            (t.uniform4f(this.addr, e.x, e.y, e.z, e.w),
-            (n[0] = e.x),
-            (n[1] = e.y),
-            (n[2] = e.z),
-            (n[3] = e.w))
-        else {
-          if (di(n, e)) return
-          t.uniform4fv(this.addr, e), pi(n, e)
-        }
-      }
-      function xi(t, e) {
-        const n = this.cache,
-          i = e.elements
-        if (void 0 === i) {
-          if (di(n, e)) return
-          t.uniformMatrix2fv(this.addr, !1, e), pi(n, e)
-        } else {
-          if (di(n, i)) return
-          hi.set(i), t.uniformMatrix2fv(this.addr, !1, hi), pi(n, i)
-        }
-      }
-      function _i(t, e) {
-        const n = this.cache,
-          i = e.elements
-        if (void 0 === i) {
-          if (di(n, e)) return
-          t.uniformMatrix3fv(this.addr, !1, e), pi(n, e)
-        } else {
-          if (di(n, i)) return
-          ci.set(i), t.uniformMatrix3fv(this.addr, !1, ci), pi(n, i)
-        }
-      }
-      function bi(t, e) {
-        const n = this.cache,
-          i = e.elements
-        if (void 0 === i) {
-          if (di(n, e)) return
-          t.uniformMatrix4fv(this.addr, !1, e), pi(n, e)
-        } else {
-          if (di(n, i)) return
-          li.set(i), t.uniformMatrix4fv(this.addr, !1, li), pi(n, i)
-        }
-      }
-      function Mi(t, e) {
-        const n = this.cache
-        n[0] !== e && (t.uniform1i(this.addr, e), (n[0] = e))
-      }
-      function wi(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform2iv(this.addr, e), pi(n, e))
-      }
-      function Si(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform3iv(this.addr, e), pi(n, e))
-      }
-      function Ti(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform4iv(this.addr, e), pi(n, e))
-      }
-      function Ei(t, e) {
-        const n = this.cache
-        n[0] !== e && (t.uniform1ui(this.addr, e), (n[0] = e))
-      }
-      function Li(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform2uiv(this.addr, e), pi(n, e))
-      }
-      function Ai(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform3uiv(this.addr, e), pi(n, e))
-      }
-      function Ri(t, e) {
-        const n = this.cache
-        di(n, e) || (t.uniform4uiv(this.addr, e), pi(n, e))
-      }
-      function Ci(t, e, n) {
-        const i = this.cache,
-          r = n.allocateTextureUnit()
-        i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTexture2D(e || ni, r)
-      }
-      function Pi(t, e, n) {
-        const i = this.cache,
-          r = n.allocateTextureUnit()
-        i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture3D(e || ri, r)
-      }
-      function Di(t, e, n) {
-        const i = this.cache,
-          r = n.allocateTextureUnit()
-        i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTextureCube(e || si, r)
-      }
-      function Ii(t, e, n) {
-        const i = this.cache,
-          r = n.allocateTextureUnit()
-        i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture2DArray(e || ii, r)
-      }
-      function Ni(t, e) {
-        t.uniform1fv(this.addr, e)
-      }
-      function zi(t, e) {
-        const n = ui(e, this.size, 2)
-        t.uniform2fv(this.addr, n)
-      }
-      function Oi(t, e) {
-        const n = ui(e, this.size, 3)
-        t.uniform3fv(this.addr, n)
-      }
-      function Bi(t, e) {
-        const n = ui(e, this.size, 4)
-        t.uniform4fv(this.addr, n)
-      }
-      function Fi(t, e) {
-        const n = ui(e, this.size, 4)
-        t.uniformMatrix2fv(this.addr, !1, n)
-      }
-      function Ui(t, e) {
-        const n = ui(e, this.size, 9)
-        t.uniformMatrix3fv(this.addr, !1, n)
-      }
-      function Hi(t, e) {
-        const n = ui(e, this.size, 16)
-        t.uniformMatrix4fv(this.addr, !1, n)
-      }
-      function Gi(t, e) {
-        t.uniform1iv(this.addr, e)
-      }
-      function Vi(t, e) {
-        t.uniform2iv(this.addr, e)
-      }
-      function ki(t, e) {
-        t.uniform3iv(this.addr, e)
-      }
-      function Wi(t, e) {
-        t.uniform4iv(this.addr, e)
-      }
-      function ji(t, e) {
-        t.uniform1uiv(this.addr, e)
-      }
-      function qi(t, e) {
-        t.uniform2uiv(this.addr, e)
-      }
-      function Xi(t, e) {
-        t.uniform3uiv(this.addr, e)
-      }
-      function Yi(t, e) {
-        t.uniform4uiv(this.addr, e)
-      }
-      function Ji(t, e, n) {
-        const i = e.length,
-          r = mi(n, i)
-        t.uniform1iv(this.addr, r)
-        for (let s = 0; s !== i; ++s) n.safeSetTexture2D(e[s] || ni, r[s])
-      }
-      function Zi(t, e, n) {
-        const i = e.length,
-          r = mi(n, i)
-        t.uniform1iv(this.addr, r)
-        for (let s = 0; s !== i; ++s) n.safeSetTextureCube(e[s] || si, r[s])
-      }
-      function Qi(t, e, n) {
-        ;(this.id = t),
-          (this.addr = n),
-          (this.cache = []),
-          (this.setValue = (function (t) {
-            switch (t) {
-              case 5126:
-                return fi
-              case 35664:
-                return gi
-              case 35665:
-                return vi
-              case 35666:
-                return yi
-              case 35674:
-                return xi
-              case 35675:
-                return _i
-              case 35676:
-                return bi
-              case 5124:
-              case 35670:
-                return Mi
-              case 35667:
-              case 35671:
-                return wi
-              case 35668:
-              case 35672:
-                return Si
-              case 35669:
-              case 35673:
-                return Ti
-              case 5125:
-                return Ei
-              case 36294:
-                return Li
-              case 36295:
-                return Ai
-              case 36296:
-                return Ri
-              case 35678:
-              case 36198:
-              case 36298:
-              case 36306:
-              case 35682:
-                return Ci
-              case 35679:
-              case 36299:
-              case 36307:
-                return Pi
-              case 35680:
-              case 36300:
-              case 36308:
-              case 36293:
-                return Di
-              case 36289:
-              case 36303:
-              case 36311:
-              case 36292:
-                return Ii
-            }
-          })(e.type))
-      }
-      function Ki(t, e, n) {
-        ;(this.id = t),
-          (this.addr = n),
-          (this.cache = []),
-          (this.size = e.size),
-          (this.setValue = (function (t) {
-            switch (t) {
-              case 5126:
-                return Ni
-              case 35664:
-                return zi
-              case 35665:
-                return Oi
-              case 35666:
-                return Bi
-              case 35674:
-                return Fi
-              case 35675:
-                return Ui
-              case 35676:
-                return Hi
-              case 5124:
-              case 35670:
-                return Gi
-              case 35667:
-              case 35671:
-                return Vi
-              case 35668:
-              case 35672:
-                return ki
-              case 35669:
-              case 35673:
-                return Wi
-              case 5125:
-                return ji
-              case 36294:
-                return qi
-              case 36295:
-                return Xi
-              case 36296:
-                return Yi
-              case 35678:
-              case 36198:
-              case 36298:
-              case 36306:
-              case 35682:
-                return Ji
-              case 35680:
-              case 36300:
-              case 36308:
-              case 36293:
-                return Zi
-            }
-          })(e.type))
-      }
-      function $i(t) {
-        ;(this.id = t), (this.seq = []), (this.map = {})
-      }
-      ;(Ki.prototype.updateCache = function (t) {
-        const e = this.cache
-        t instanceof Float32Array &&
-          e.length !== t.length &&
-          (this.cache = new Float32Array(t.length)),
-          pi(e, t)
-      }),
-        ($i.prototype.setValue = function (t, e, n) {
-          const i = this.seq
-          for (let r = 0, s = i.length; r !== s; ++r) {
-            const s = i[r]
-            s.setValue(t, e[s.id], n)
-          }
-        })
-      const tr = /(\w+)(\])?(\[|\.)?/g
-      function er(t, e) {
-        t.seq.push(e), (t.map[e.id] = e)
-      }
-      function nr(t, e, n) {
-        const i = t.name,
-          r = i.length
-        for (tr.lastIndex = 0; ; ) {
-          const s = tr.exec(i),
-            a = tr.lastIndex
-          let o = s[1]
-          const l = ']' === s[2],
-            c = s[3]
-          if ((l && (o |= 0), void 0 === c || ('[' === c && a + 2 === r))) {
-            er(n, void 0 === c ? new Qi(o, t, e) : new Ki(o, t, e))
-            break
-          }
-          {
-            let t = n.map[o]
-            void 0 === t && ((t = new $i(o)), er(n, t)), (n = t)
-          }
-        }
-      }
-      function ir(t, e) {
-        ;(this.seq = []), (this.map = {})
-        const n = t.getProgramParameter(e, 35718)
-        for (let i = 0; i < n; ++i) {
-          const n = t.getActiveUniform(e, i)
-          nr(n, t.getUniformLocation(e, n.name), this)
-        }
-      }
-      function rr(t, e, n) {
-        const i = t.createShader(e)
-        return t.shaderSource(i, n), t.compileShader(i), i
-      }
-      ;(ir.prototype.setValue = function (t, e, n, i) {
-        const r = this.map[e]
-        void 0 !== r && r.setValue(t, n, i)
-      }),
-        (ir.prototype.setOptional = function (t, e, n) {
-          const i = e[n]
-          void 0 !== i && this.setValue(t, n, i)
-        }),
-        (ir.upload = function (t, e, n, i) {
-          for (let r = 0, s = e.length; r !== s; ++r) {
-            const s = e[r],
-              a = n[s.id]
-            !1 !== a.needsUpdate && s.setValue(t, a.value, i)
-          }
-        }),
-        (ir.seqWithValue = function (t, e) {
-          const n = []
-          for (let i = 0, r = t.length; i !== r; ++i) {
-            const r = t[i]
-            r.id in e && n.push(r)
-          }
-          return n
-        })
-      let sr = 0
-      function ar(t) {
-        switch (t) {
-          case O:
-            return ['Linear', '( value )']
-          case B:
-            return ['sRGB', '( value )']
-          case U:
-            return ['RGBE', '( value )']
-          case 3004:
-            return ['RGBM', '( value, 7.0 )']
-          case 3005:
-            return ['RGBM', '( value, 16.0 )']
-          case 3006:
-            return ['RGBD', '( value, 256.0 )']
-          case F:
-            return ['Gamma', '( value, float( GAMMA_FACTOR ) )']
-          case 3003:
-            return ['LogLuv', '( value )']
-          default:
-            return (
-              console.warn('THREE.WebGLProgram: Unsupported encoding:', t), ['Linear', '( value )']
-            )
-        }
-      }
-      function or(t, e, n) {
-        const i = t.getShaderParameter(e, 35713),
-          r = t.getShaderInfoLog(e).trim()
-        if (i && '' === r) return ''
-        return (
-          'THREE.WebGLShader: gl.getShaderInfoLog() ' +
-          n +
-          '\n' +
-          r +
-          (function (t) {
-            const e = t.split('\n')
-            for (let n = 0; n < e.length; n++) e[n] = n + 1 + ': ' + e[n]
-            return e.join('\n')
-          })(t.getShaderSource(e))
-        )
-      }
-      function lr(t, e) {
-        const n = ar(e)
-        return 'vec4 ' + t + '( vec4 value ) { return ' + n[0] + 'ToLinear' + n[1] + '; }'
-      }
-      function cr(t, e) {
-        const n = ar(e)
-        return 'vec4 ' + t + '( vec4 value ) { return LinearTo' + n[0] + n[1] + '; }'
-      }
-      function hr(t, e) {
-        let n
-        switch (e) {
-          case 1:
-            n = 'Linear'
-            break
-          case 2:
-            n = 'Reinhard'
-            break
-          case 3:
-            n = 'OptimizedCineon'
-            break
-          case 4:
-            n = 'ACESFilmic'
-            break
-          case 5:
-            n = 'Custom'
-            break
-          default:
-            console.warn('THREE.WebGLProgram: Unsupported toneMapping:', e), (n = 'Linear')
-        }
-        return 'vec3 ' + t + '( vec3 color ) { return ' + n + 'ToneMapping( color ); }'
-      }
-      function ur(t) {
-        return '' !== t
-      }
-      function dr(t, e) {
-        return t
-          .replace(/NUM_DIR_LIGHTS/g, e.numDirLights)
-          .replace(/NUM_SPOT_LIGHTS/g, e.numSpotLights)
-          .replace(/NUM_RECT_AREA_LIGHTS/g, e.numRectAreaLights)
-          .replace(/NUM_POINT_LIGHTS/g, e.numPointLights)
-          .replace(/NUM_HEMI_LIGHTS/g, e.numHemiLights)
-          .replace(/NUM_DIR_LIGHT_SHADOWS/g, e.numDirLightShadows)
-          .replace(/NUM_SPOT_LIGHT_SHADOWS/g, e.numSpotLightShadows)
-          .replace(/NUM_POINT_LIGHT_SHADOWS/g, e.numPointLightShadows)
-      }
-      function pr(t, e) {
-        return t
-          .replace(/NUM_CLIPPING_PLANES/g, e.numClippingPlanes)
-          .replace(/UNION_CLIPPING_PLANES/g, e.numClippingPlanes - e.numClipIntersection)
-      }
-      const mr = /^[ \t]*#include +<([\w\d./]+)>/gm
-      function fr(t) {
-        return t.replace(mr, gr)
-      }
-      function gr(t, e) {
-        const n = Bn[e]
-        if (void 0 === n) throw new Error('Can not resolve #include <' + e + '>')
-        return fr(n)
-      }
-      const vr =
-          /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,
-        yr =
-          /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g
-      function xr(t) {
-        return t.replace(yr, br).replace(vr, _r)
-      }
-      function _r(t, e, n, i) {
-        return (
-          console.warn(
-            'WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.',
-          ),
-          br(t, e, n, i)
-        )
-      }
-      function br(t, e, n, i) {
-        let r = ''
-        for (let s = parseInt(e); s < parseInt(n); s++)
-          r += i.replace(/\[\s*i\s*\]/g, '[ ' + s + ' ]').replace(/UNROLLED_LOOP_INDEX/g, s)
-        return r
-      }
-      function Mr(t) {
-        let e = 'precision ' + t.precision + ' float;\nprecision ' + t.precision + ' int;'
-        return (
-          'highp' === t.precision
-            ? (e += '\n#define HIGH_PRECISION')
-            : 'mediump' === t.precision
-            ? (e += '\n#define MEDIUM_PRECISION')
-            : 'lowp' === t.precision && (e += '\n#define LOW_PRECISION'),
-          e
-        )
-      }
-      function wr(t, e, n, i) {
-        const r = t.getContext(),
-          s = n.defines
-        let a = n.vertexShader,
-          u = n.fragmentShader
-        const d = (function (t) {
-            let e = 'SHADOWMAP_TYPE_BASIC'
-            return (
-              1 === t.shadowMapType
-                ? (e = 'SHADOWMAP_TYPE_PCF')
-                : 2 === t.shadowMapType
-                ? (e = 'SHADOWMAP_TYPE_PCF_SOFT')
-                : 3 === t.shadowMapType && (e = 'SHADOWMAP_TYPE_VSM'),
-              e
-            )
-          })(n),
-          p = (function (t) {
-            let e = 'ENVMAP_TYPE_CUBE'
-            if (t.envMap)
-              switch (t.envMapMode) {
-                case o:
-                case l:
-                  e = 'ENVMAP_TYPE_CUBE'
-                  break
-                case c:
-                case h:
-                  e = 'ENVMAP_TYPE_CUBE_UV'
-              }
-            return e
-          })(n),
-          m = (function (t) {
-            let e = 'ENVMAP_MODE_REFLECTION'
-            if (t.envMap)
-              switch (t.envMapMode) {
-                case l:
-                case h:
-                  e = 'ENVMAP_MODE_REFRACTION'
-              }
-            return e
-          })(n),
-          f = (function (t) {
-            let e = 'ENVMAP_BLENDING_NONE'
-            if (t.envMap)
-              switch (t.combine) {
-                case 0:
-                  e = 'ENVMAP_BLENDING_MULTIPLY'
-                  break
-                case 1:
-                  e = 'ENVMAP_BLENDING_MIX'
-                  break
-                case 2:
-                  e = 'ENVMAP_BLENDING_ADD'
-              }
-            return e
-          })(n),
-          g = t.gammaFactor > 0 ? t.gammaFactor : 1,
-          v = n.isWebGL2
-            ? ''
-            : (function (t) {
-                return [
-                  t.extensionDerivatives ||
-                  t.envMapCubeUV ||
-                  t.bumpMap ||
-                  t.tangentSpaceNormalMap ||
-                  t.clearcoatNormalMap ||
-                  t.flatShading ||
-                  'physical' === t.shaderID
-                    ? '#extension GL_OES_standard_derivatives : enable'
-                    : '',
-                  (t.extensionFragDepth || t.logarithmicDepthBuffer) && t.rendererExtensionFragDepth
-                    ? '#extension GL_EXT_frag_depth : enable'
-                    : '',
-                  t.extensionDrawBuffers && t.rendererExtensionDrawBuffers
-                    ? '#extension GL_EXT_draw_buffers : require'
-                    : '',
-                  (t.extensionShaderTextureLOD || t.envMap || t.transmission > 0) &&
-                  t.rendererExtensionShaderTextureLod
-                    ? '#extension GL_EXT_shader_texture_lod : enable'
-                    : '',
-                ]
-                  .filter(ur)
-                  .join('\n')
-              })(n),
-          y = (function (t) {
-            const e = []
-            for (const n in t) {
-              const i = t[n]
-              !1 !== i && e.push('#define ' + n + ' ' + i)
-            }
-            return e.join('\n')
-          })(s),
-          x = r.createProgram()
-        let _,
-          b,
-          M = n.glslVersion ? '#version ' + n.glslVersion + '\n' : ''
-        n.isRawShaderMaterial
-          ? ((_ = [y].filter(ur).join('\n')),
-            _.length > 0 && (_ += '\n'),
-            (b = [v, y].filter(ur).join('\n')),
-            b.length > 0 && (b += '\n'))
-          : ((_ = [
-              Mr(n),
-              '#define SHADER_NAME ' + n.shaderName,
-              y,
-              n.instancing ? '#define USE_INSTANCING' : '',
-              n.instancingColor ? '#define USE_INSTANCING_COLOR' : '',
-              n.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '',
-              '#define GAMMA_FACTOR ' + g,
-              '#define MAX_BONES ' + n.maxBones,
-              n.useFog && n.fog ? '#define USE_FOG' : '',
-              n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '',
-              n.map ? '#define USE_MAP' : '',
-              n.envMap ? '#define USE_ENVMAP' : '',
-              n.envMap ? '#define ' + m : '',
-              n.lightMap ? '#define USE_LIGHTMAP' : '',
-              n.aoMap ? '#define USE_AOMAP' : '',
-              n.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
-              n.bumpMap ? '#define USE_BUMPMAP' : '',
-              n.normalMap ? '#define USE_NORMALMAP' : '',
-              n.normalMap && n.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '',
-              n.normalMap && n.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '',
-              n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
-              n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
-              n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
-              n.displacementMap && n.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '',
-              n.specularMap ? '#define USE_SPECULARMAP' : '',
-              n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
-              n.metalnessMap ? '#define USE_METALNESSMAP' : '',
-              n.alphaMap ? '#define USE_ALPHAMAP' : '',
-              n.transmission ? '#define USE_TRANSMISSION' : '',
-              n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
-              n.thicknessMap ? '#define USE_THICKNESSMAP' : '',
-              n.vertexTangents ? '#define USE_TANGENT' : '',
-              n.vertexColors ? '#define USE_COLOR' : '',
-              n.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',
-              n.vertexUvs ? '#define USE_UV' : '',
-              n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',
-              n.flatShading ? '#define FLAT_SHADED' : '',
-              n.skinning ? '#define USE_SKINNING' : '',
-              n.useVertexTexture ? '#define BONE_TEXTURE' : '',
-              n.morphTargets ? '#define USE_MORPHTARGETS' : '',
-              n.morphNormals && !1 === n.flatShading ? '#define USE_MORPHNORMALS' : '',
-              n.doubleSided ? '#define DOUBLE_SIDED' : '',
-              n.flipSided ? '#define FLIP_SIDED' : '',
-              n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',
-              n.shadowMapEnabled ? '#define ' + d : '',
-              n.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '',
-              n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
-              n.logarithmicDepthBuffer && n.rendererExtensionFragDepth
-                ? '#define USE_LOGDEPTHBUF_EXT'
-                : '',
-              'uniform mat4 modelMatrix;',
-              'uniform mat4 modelViewMatrix;',
-              'uniform mat4 projectionMatrix;',
-              'uniform mat4 viewMatrix;',
-              'uniform mat3 normalMatrix;',
-              'uniform vec3 cameraPosition;',
-              'uniform bool isOrthographic;',
-              '#ifdef USE_INSTANCING',
-              '\tattribute mat4 instanceMatrix;',
-              '#endif',
-              '#ifdef USE_INSTANCING_COLOR',
-              '\tattribute vec3 instanceColor;',
-              '#endif',
-              'attribute vec3 position;',
-              'attribute vec3 normal;',
-              'attribute vec2 uv;',
-              '#ifdef USE_TANGENT',
-              '\tattribute vec4 tangent;',
-              '#endif',
-              '#if defined( USE_COLOR_ALPHA )',
-              '\tattribute vec4 color;',
-              '#elif defined( USE_COLOR )',
-              '\tattribute vec3 color;',
-              '#endif',
-              '#ifdef USE_MORPHTARGETS',
-              '\tattribute vec3 morphTarget0;',
-              '\tattribute vec3 morphTarget1;',
-              '\tattribute vec3 morphTarget2;',
-              '\tattribute vec3 morphTarget3;',
-              '\t#ifdef USE_MORPHNORMALS',
-              '\t\tattribute vec3 morphNormal0;',
-              '\t\tattribute vec3 morphNormal1;',
-              '\t\tattribute vec3 morphNormal2;',
-              '\t\tattribute vec3 morphNormal3;',
-              '\t#else',
-              '\t\tattribute vec3 morphTarget4;',
-              '\t\tattribute vec3 morphTarget5;',
-              '\t\tattribute vec3 morphTarget6;',
-              '\t\tattribute vec3 morphTarget7;',
-              '\t#endif',
-              '#endif',
-              '#ifdef USE_SKINNING',
-              '\tattribute vec4 skinIndex;',
-              '\tattribute vec4 skinWeight;',
-              '#endif',
-              '\n',
-            ]
-              .filter(ur)
-              .join('\n')),
-            (b = [
-              v,
-              Mr(n),
-              '#define SHADER_NAME ' + n.shaderName,
-              y,
-              n.alphaTest ? '#define ALPHATEST ' + n.alphaTest + (n.alphaTest % 1 ? '' : '.0') : '',
-              '#define GAMMA_FACTOR ' + g,
-              n.useFog && n.fog ? '#define USE_FOG' : '',
-              n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '',
-              n.map ? '#define USE_MAP' : '',
-              n.matcap ? '#define USE_MATCAP' : '',
-              n.envMap ? '#define USE_ENVMAP' : '',
-              n.envMap ? '#define ' + p : '',
-              n.envMap ? '#define ' + m : '',
-              n.envMap ? '#define ' + f : '',
-              n.lightMap ? '#define USE_LIGHTMAP' : '',
-              n.aoMap ? '#define USE_AOMAP' : '',
-              n.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
-              n.bumpMap ? '#define USE_BUMPMAP' : '',
-              n.normalMap ? '#define USE_NORMALMAP' : '',
-              n.normalMap && n.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '',
-              n.normalMap && n.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '',
-              n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
-              n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
-              n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
-              n.specularMap ? '#define USE_SPECULARMAP' : '',
-              n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
-              n.metalnessMap ? '#define USE_METALNESSMAP' : '',
-              n.alphaMap ? '#define USE_ALPHAMAP' : '',
-              n.sheen ? '#define USE_SHEEN' : '',
-              n.transmission ? '#define USE_TRANSMISSION' : '',
-              n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
-              n.thicknessMap ? '#define USE_THICKNESSMAP' : '',
-              n.vertexTangents ? '#define USE_TANGENT' : '',
-              n.vertexColors || n.instancingColor ? '#define USE_COLOR' : '',
-              n.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',
-              n.vertexUvs ? '#define USE_UV' : '',
-              n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '',
-              n.gradientMap ? '#define USE_GRADIENTMAP' : '',
-              n.flatShading ? '#define FLAT_SHADED' : '',
-              n.doubleSided ? '#define DOUBLE_SIDED' : '',
-              n.flipSided ? '#define FLIP_SIDED' : '',
-              n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '',
-              n.shadowMapEnabled ? '#define ' + d : '',
-              n.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '',
-              n.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '',
-              n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
-              n.logarithmicDepthBuffer && n.rendererExtensionFragDepth
-                ? '#define USE_LOGDEPTHBUF_EXT'
-                : '',
-              (n.extensionShaderTextureLOD || n.envMap) && n.rendererExtensionShaderTextureLod
-                ? '#define TEXTURE_LOD_EXT'
-                : '',
-              'uniform mat4 viewMatrix;',
-              'uniform vec3 cameraPosition;',
-              'uniform bool isOrthographic;',
-              0 !== n.toneMapping ? '#define TONE_MAPPING' : '',
-              0 !== n.toneMapping ? Bn.tonemapping_pars_fragment : '',
-              0 !== n.toneMapping ? hr('toneMapping', n.toneMapping) : '',
-              n.dithering ? '#define DITHERING' : '',
-              Bn.encodings_pars_fragment,
-              n.map ? lr('mapTexelToLinear', n.mapEncoding) : '',
-              n.matcap ? lr('matcapTexelToLinear', n.matcapEncoding) : '',
-              n.envMap ? lr('envMapTexelToLinear', n.envMapEncoding) : '',
-              n.emissiveMap ? lr('emissiveMapTexelToLinear', n.emissiveMapEncoding) : '',
-              n.lightMap ? lr('lightMapTexelToLinear', n.lightMapEncoding) : '',
-              cr('linearToOutputTexel', n.outputEncoding),
-              n.depthPacking ? '#define DEPTH_PACKING ' + n.depthPacking : '',
-              '\n',
-            ]
-              .filter(ur)
-              .join('\n'))),
-          (a = fr(a)),
-          (a = dr(a, n)),
-          (a = pr(a, n)),
-          (u = fr(u)),
-          (u = dr(u, n)),
-          (u = pr(u, n)),
-          (a = xr(a)),
-          (u = xr(u)),
-          n.isWebGL2 &&
-            !0 !== n.isRawShaderMaterial &&
-            ((M = '#version 300 es\n'),
-            (_ =
-              ['#define attribute in', '#define varying out', '#define texture2D texture'].join(
-                '\n',
-              ) +
-              '\n' +
-              _),
-            (b =
-              [
-                '#define varying in',
-                n.glslVersion === k ? '' : 'out highp vec4 pc_fragColor;',
-                n.glslVersion === k ? '' : '#define gl_FragColor pc_fragColor',
-                '#define gl_FragDepthEXT gl_FragDepth',
-                '#define texture2D texture',
-                '#define textureCube texture',
-                '#define texture2DProj textureProj',
-                '#define texture2DLodEXT textureLod',
-                '#define texture2DProjLodEXT textureProjLod',
-                '#define textureCubeLodEXT textureLod',
-                '#define texture2DGradEXT textureGrad',
-                '#define texture2DProjGradEXT textureProjGrad',
-                '#define textureCubeGradEXT textureGrad',
-              ].join('\n') +
-              '\n' +
-              b))
-        const w = M + b + u,
-          S = rr(r, 35633, M + _ + a),
-          T = rr(r, 35632, w)
-        if (
-          (r.attachShader(x, S),
-          r.attachShader(x, T),
-          void 0 !== n.index0AttributeName
-            ? r.bindAttribLocation(x, 0, n.index0AttributeName)
-            : !0 === n.morphTargets && r.bindAttribLocation(x, 0, 'position'),
-          r.linkProgram(x),
-          t.debug.checkShaderErrors)
-        ) {
-          const t = r.getProgramInfoLog(x).trim(),
-            e = r.getShaderInfoLog(S).trim(),
-            n = r.getShaderInfoLog(T).trim()
-          let i = !0,
-            s = !0
-          if (!1 === r.getProgramParameter(x, 35714)) {
-            i = !1
-            const e = or(r, S, 'vertex'),
-              n = or(r, T, 'fragment')
-            console.error(
-              'THREE.WebGLProgram: shader error: ',
-              r.getError(),
-              '35715',
-              r.getProgramParameter(x, 35715),
-              'gl.getProgramInfoLog',
-              t,
-              e,
-              n,
-            )
-          } else
-            '' !== t
-              ? console.warn('THREE.WebGLProgram: gl.getProgramInfoLog()', t)
-              : ('' !== e && '' !== n) || (s = !1)
-          s &&
-            (this.diagnostics = {
-              runnable: i,
-              programLog: t,
-              vertexShader: { log: e, prefix: _ },
-              fragmentShader: { log: n, prefix: b },
-            })
-        }
-        let E, L
-        return (
-          r.deleteShader(S),
-          r.deleteShader(T),
-          (this.getUniforms = function () {
-            return void 0 === E && (E = new ir(r, x)), E
-          }),
-          (this.getAttributes = function () {
-            return (
-              void 0 === L &&
-                (L = (function (t, e) {
-                  const n = {},
-                    i = t.getProgramParameter(e, 35721)
-                  for (let r = 0; r < i; r++) {
-                    const i = t.getActiveAttrib(e, r).name
-                    n[i] = t.getAttribLocation(e, i)
-                  }
-                  return n
-                })(r, x)),
-              L
-            )
-          }),
-          (this.destroy = function () {
-            i.releaseStatesOfProgram(this), r.deleteProgram(x), (this.program = void 0)
-          }),
-          (this.name = n.shaderName),
-          (this.id = sr++),
-          (this.cacheKey = e),
-          (this.usedTimes = 1),
-          (this.program = x),
-          (this.vertexShader = S),
-          (this.fragmentShader = T),
-          this
-        )
-      }
-      function Sr(t, e, n, i, r, a) {
-        const o = [],
-          l = i.isWebGL2,
-          u = i.logarithmicDepthBuffer,
-          d = i.floatVertexTextures,
-          p = i.maxVertexUniforms,
-          m = i.vertexTextures
-        let f = i.precision
-        const g = {
-            MeshDepthMaterial: 'depth',
-            MeshDistanceMaterial: 'distanceRGBA',
-            MeshNormalMaterial: 'normal',
-            MeshBasicMaterial: 'basic',
-            MeshLambertMaterial: 'lambert',
-            MeshPhongMaterial: 'phong',
-            MeshToonMaterial: 'toon',
-            MeshStandardMaterial: 'physical',
-            MeshPhysicalMaterial: 'physical',
-            MeshMatcapMaterial: 'matcap',
-            LineBasicMaterial: 'basic',
-            LineDashedMaterial: 'dashed',
-            PointsMaterial: 'points',
-            ShadowMaterial: 'shadow',
-            SpriteMaterial: 'sprite',
-          },
-          v = [
-            'precision',
-            'isWebGL2',
-            'supportsVertexTextures',
-            'outputEncoding',
-            'instancing',
-            'instancingColor',
-            'map',
-            'mapEncoding',
-            'matcap',
-            'matcapEncoding',
-            'envMap',
-            'envMapMode',
-            'envMapEncoding',
-            'envMapCubeUV',
-            'lightMap',
-            'lightMapEncoding',
-            'aoMap',
-            'emissiveMap',
-            'emissiveMapEncoding',
-            'bumpMap',
-            'normalMap',
-            'objectSpaceNormalMap',
-            'tangentSpaceNormalMap',
-            'clearcoatMap',
-            'clearcoatRoughnessMap',
-            'clearcoatNormalMap',
-            'displacementMap',
-            'specularMap',
-            'roughnessMap',
-            'metalnessMap',
-            'gradientMap',
-            'alphaMap',
-            'combine',
-            'vertexColors',
-            'vertexAlphas',
-            'vertexTangents',
-            'vertexUvs',
-            'uvsVertexOnly',
-            'fog',
-            'useFog',
-            'fogExp2',
-            'flatShading',
-            'sizeAttenuation',
-            'logarithmicDepthBuffer',
-            'skinning',
-            'maxBones',
-            'useVertexTexture',
-            'morphTargets',
-            'morphNormals',
-            'premultipliedAlpha',
-            'numDirLights',
-            'numPointLights',
-            'numSpotLights',
-            'numHemiLights',
-            'numRectAreaLights',
-            'numDirLightShadows',
-            'numPointLightShadows',
-            'numSpotLightShadows',
-            'shadowMapEnabled',
-            'shadowMapType',
-            'toneMapping',
-            'physicallyCorrectLights',
-            'alphaTest',
-            'doubleSided',
-            'flipSided',
-            'numClippingPlanes',
-            'numClipIntersection',
-            'depthPacking',
-            'dithering',
-            'sheen',
-            'transmission',
-            'transmissionMap',
-            'thicknessMap',
-          ]
-        function y(t) {
-          let e
-          return (
-            t && t.isTexture
-              ? (e = t.encoding)
-              : t && t.isWebGLRenderTarget
-              ? (console.warn(
-                  "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.",
-                ),
-                (e = t.texture.encoding))
-              : (e = O),
-            e
-          )
-        }
-        return {
-          getParameters: function (r, o, v, x, _) {
-            const b = x.fog,
-              M = r.isMeshStandardMaterial ? x.environment : null,
-              w = e.get(r.envMap || M),
-              S = g[r.type],
-              T = _.isSkinnedMesh
-                ? (function (t) {
-                    const e = t.skeleton.bones
-                    if (d) return 1024
-                    {
-                      const t = p,
-                        n = Math.floor((t - 20) / 4),
-                        i = Math.min(n, e.length)
-                      return i < e.length
-                        ? (console.warn(
-                            'THREE.WebGLRenderer: Skeleton has ' +
-                              e.length +
-                              ' bones. This GPU supports ' +
-                              i +
-                              '.',
-                          ),
-                          0)
-                        : i
-                    }
-                  })(_)
-                : 0
-            let E, L
-            if (
-              (null !== r.precision &&
-                ((f = i.getMaxPrecision(r.precision)),
-                f !== r.precision &&
-                  console.warn(
-                    'THREE.WebGLProgram.getParameters:',
-                    r.precision,
-                    'not supported, using',
-                    f,
-                    'instead.',
-                  )),
-              S)
-            ) {
-              const t = Un[S]
-              ;(E = t.vertexShader), (L = t.fragmentShader)
-            } else (E = r.vertexShader), (L = r.fragmentShader)
-            const A = t.getRenderTarget()
-            return {
-              isWebGL2: l,
-              shaderID: S,
-              shaderName: r.type,
-              vertexShader: E,
-              fragmentShader: L,
-              defines: r.defines,
-              isRawShaderMaterial: !0 === r.isRawShaderMaterial,
-              glslVersion: r.glslVersion,
-              precision: f,
-              instancing: !0 === _.isInstancedMesh,
-              instancingColor: !0 === _.isInstancedMesh && null !== _.instanceColor,
-              supportsVertexTextures: m,
-              outputEncoding: null !== A ? y(A.texture) : t.outputEncoding,
-              map: !!r.map,
-              mapEncoding: y(r.map),
-              matcap: !!r.matcap,
-              matcapEncoding: y(r.matcap),
-              envMap: !!w,
-              envMapMode: w && w.mapping,
-              envMapEncoding: y(w),
-              envMapCubeUV: !!w && (w.mapping === c || w.mapping === h),
-              lightMap: !!r.lightMap,
-              lightMapEncoding: y(r.lightMap),
-              aoMap: !!r.aoMap,
-              emissiveMap: !!r.emissiveMap,
-              emissiveMapEncoding: y(r.emissiveMap),
-              bumpMap: !!r.bumpMap,
-              normalMap: !!r.normalMap,
-              objectSpaceNormalMap: 1 === r.normalMapType,
-              tangentSpaceNormalMap: 0 === r.normalMapType,
-              clearcoatMap: !!r.clearcoatMap,
-              clearcoatRoughnessMap: !!r.clearcoatRoughnessMap,
-              clearcoatNormalMap: !!r.clearcoatNormalMap,
-              displacementMap: !!r.displacementMap,
-              roughnessMap: !!r.roughnessMap,
-              metalnessMap: !!r.metalnessMap,
-              specularMap: !!r.specularMap,
-              alphaMap: !!r.alphaMap,
-              gradientMap: !!r.gradientMap,
-              sheen: !!r.sheen,
-              transmission: !!r.transmission,
-              transmissionMap: !!r.transmissionMap,
-              thicknessMap: !!r.thicknessMap,
-              combine: r.combine,
-              vertexTangents: r.normalMap && r.vertexTangents,
-              vertexColors: r.vertexColors,
-              vertexAlphas:
-                !0 === r.vertexColors &&
-                _.geometry &&
-                _.geometry.attributes.color &&
-                4 === _.geometry.attributes.color.itemSize,
-              vertexUvs:
-                !!r.map ||
-                !!r.bumpMap ||
-                !!r.normalMap ||
-                !!r.specularMap ||
-                !!r.alphaMap ||
-                !!r.emissiveMap ||
-                !!r.roughnessMap ||
-                !!r.metalnessMap ||
-                !!r.clearcoatMap ||
-                !!r.clearcoatRoughnessMap ||
-                !!r.clearcoatNormalMap ||
-                !!r.displacementMap ||
-                !!r.transmissionMap ||
-                !!r.thicknessMap,
-              uvsVertexOnly:
-                !(
-                  r.map ||
-                  r.bumpMap ||
-                  r.normalMap ||
-                  r.specularMap ||
-                  r.alphaMap ||
-                  r.emissiveMap ||
-                  r.roughnessMap ||
-                  r.metalnessMap ||
-                  r.clearcoatNormalMap ||
-                  r.transmission ||
-                  r.transmissionMap ||
-                  r.thicknessMap
-                ) && !!r.displacementMap,
-              fog: !!b,
-              useFog: r.fog,
-              fogExp2: b && b.isFogExp2,
-              flatShading: !!r.flatShading,
-              sizeAttenuation: r.sizeAttenuation,
-              logarithmicDepthBuffer: u,
-              skinning: !0 === _.isSkinnedMesh && T > 0,
-              maxBones: T,
-              useVertexTexture: d,
-              morphTargets: r.morphTargets,
-              morphNormals: r.morphNormals,
-              numDirLights: o.directional.length,
-              numPointLights: o.point.length,
-              numSpotLights: o.spot.length,
-              numRectAreaLights: o.rectArea.length,
-              numHemiLights: o.hemi.length,
-              numDirLightShadows: o.directionalShadowMap.length,
-              numPointLightShadows: o.pointShadowMap.length,
-              numSpotLightShadows: o.spotShadowMap.length,
-              numClippingPlanes: a.numPlanes,
-              numClipIntersection: a.numIntersection,
-              dithering: r.dithering,
-              shadowMapEnabled: t.shadowMap.enabled && v.length > 0,
-              shadowMapType: t.shadowMap.type,
-              toneMapping: r.toneMapped ? t.toneMapping : 0,
-              physicallyCorrectLights: t.physicallyCorrectLights,
-              premultipliedAlpha: r.premultipliedAlpha,
-              alphaTest: r.alphaTest,
-              doubleSided: 2 === r.side,
-              flipSided: r.side === s,
-              depthPacking: void 0 !== r.depthPacking && r.depthPacking,
-              index0AttributeName: r.index0AttributeName,
-              extensionDerivatives: r.extensions && r.extensions.derivatives,
-              extensionFragDepth: r.extensions && r.extensions.fragDepth,
-              extensionDrawBuffers: r.extensions && r.extensions.drawBuffers,
-              extensionShaderTextureLOD: r.extensions && r.extensions.shaderTextureLOD,
-              rendererExtensionFragDepth: l || n.has('EXT_frag_depth'),
-              rendererExtensionDrawBuffers: l || n.has('WEBGL_draw_buffers'),
-              rendererExtensionShaderTextureLod: l || n.has('EXT_shader_texture_lod'),
-              customProgramCacheKey: r.customProgramCacheKey(),
-            }
-          },
-          getProgramCacheKey: function (e) {
-            const n = []
-            if (
-              (e.shaderID ? n.push(e.shaderID) : (n.push(e.fragmentShader), n.push(e.vertexShader)),
-              void 0 !== e.defines)
-            )
-              for (const t in e.defines) n.push(t), n.push(e.defines[t])
-            if (!1 === e.isRawShaderMaterial) {
-              for (let t = 0; t < v.length; t++) n.push(e[v[t]])
-              n.push(t.outputEncoding), n.push(t.gammaFactor)
-            }
-            return n.push(e.customProgramCacheKey), n.join()
-          },
-          getUniforms: function (t) {
-            const e = g[t.type]
-            let n
-            if (e) {
-              const t = Un[e]
-              n = xn.clone(t.uniforms)
-            } else n = t.uniforms
-            return n
-          },
-          acquireProgram: function (e, n) {
-            let i
-            for (let t = 0, r = o.length; t < r; t++) {
-              const e = o[t]
-              if (e.cacheKey === n) {
-                ;(i = e), ++i.usedTimes
-                break
-              }
-            }
-            return void 0 === i && ((i = new wr(t, n, e, r)), o.push(i)), i
-          },
-          releaseProgram: function (t) {
-            if (0 === --t.usedTimes) {
-              const e = o.indexOf(t)
-              ;(o[e] = o[o.length - 1]), o.pop(), t.destroy()
-            }
-          },
-          programs: o,
-        }
-      }
-      function Tr() {
-        let t = new WeakMap()
-        return {
-          get: function (e) {
-            let n = t.get(e)
-            return void 0 === n && ((n = {}), t.set(e, n)), n
-          },
-          remove: function (e) {
-            t.delete(e)
-          },
-          update: function (e, n, i) {
-            t.get(e)[n] = i
-          },
-          dispose: function () {
-            t = new WeakMap()
-          },
-        }
-      }
-      function Er(t, e) {
-        return t.groupOrder !== e.groupOrder
-          ? t.groupOrder - e.groupOrder
-          : t.renderOrder !== e.renderOrder
-          ? t.renderOrder - e.renderOrder
-          : t.program !== e.program
-          ? t.program.id - e.program.id
-          : t.material.id !== e.material.id
-          ? t.material.id - e.material.id
-          : t.z !== e.z
-          ? t.z - e.z
-          : t.id - e.id
-      }
-      function Lr(t, e) {
-        return t.groupOrder !== e.groupOrder
-          ? t.groupOrder - e.groupOrder
-          : t.renderOrder !== e.renderOrder
-          ? t.renderOrder - e.renderOrder
-          : t.z !== e.z
-          ? e.z - t.z
-          : t.id - e.id
-      }
-      function Ar(t) {
-        const e = []
-        let n = 0
-        const i = [],
-          r = [],
-          s = [],
-          a = { id: -1 }
-        function o(i, r, s, o, l, c) {
-          let h = e[n]
-          const u = t.get(s)
-          return (
-            void 0 === h
-              ? ((h = {
-                  id: i.id,
-                  object: i,
-                  geometry: r,
-                  material: s,
-                  program: u.program || a,
-                  groupOrder: o,
-                  renderOrder: i.renderOrder,
-                  z: l,
-                  group: c,
-                }),
-                (e[n] = h))
-              : ((h.id = i.id),
-                (h.object = i),
-                (h.geometry = r),
-                (h.material = s),
-                (h.program = u.program || a),
-                (h.groupOrder = o),
-                (h.renderOrder = i.renderOrder),
-                (h.z = l),
-                (h.group = c)),
-            n++,
-            h
-          )
-        }
-        return {
-          opaque: i,
-          transmissive: r,
-          transparent: s,
-          init: function () {
-            ;(n = 0), (i.length = 0), (r.length = 0), (s.length = 0)
-          },
-          push: function (t, e, n, a, l, c) {
-            const h = o(t, e, n, a, l, c)
-            n.transmission > 0 ? r.push(h) : !0 === n.transparent ? s.push(h) : i.push(h)
-          },
-          unshift: function (t, e, n, a, l, c) {
-            const h = o(t, e, n, a, l, c)
-            n.transmission > 0 ? r.unshift(h) : !0 === n.transparent ? s.unshift(h) : i.unshift(h)
-          },
-          finish: function () {
-            for (let t = n, i = e.length; t < i; t++) {
-              const n = e[t]
-              if (null === n.id) break
-              ;(n.id = null),
-                (n.object = null),
-                (n.geometry = null),
-                (n.material = null),
-                (n.program = null),
-                (n.group = null)
-            }
-          },
-          sort: function (t, e) {
-            i.length > 1 && i.sort(t || Er),
-              r.length > 1 && r.sort(e || Lr),
-              s.length > 1 && s.sort(e || Lr)
-          },
-        }
-      }
-      function Rr(t) {
-        let e = new WeakMap()
-        return {
-          get: function (n, i) {
-            let r
-            return (
-              !1 === e.has(n)
-                ? ((r = new Ar(t)), e.set(n, [r]))
-                : i >= e.get(n).length
-                ? ((r = new Ar(t)), e.get(n).push(r))
-                : (r = e.get(n)[i]),
-              r
-            )
-          },
-          dispose: function () {
-            e = new WeakMap()
-          },
-        }
-      }
-      function Cr() {
-        const t = {}
-        return {
-          get: function (e) {
-            if (void 0 !== t[e.id]) return t[e.id]
-            let n
-            switch (e.type) {
-              case 'DirectionalLight':
-                n = { direction: new ut(), color: new Ie() }
-                break
-              case 'SpotLight':
-                n = {
-                  position: new ut(),
-                  direction: new ut(),
-                  color: new Ie(),
-                  distance: 0,
-                  coneCos: 0,
-                  penumbraCos: 0,
-                  decay: 0,
-                }
-                break
-              case 'PointLight':
-                n = { position: new ut(), color: new Ie(), distance: 0, decay: 0 }
-                break
-              case 'HemisphereLight':
-                n = { direction: new ut(), skyColor: new Ie(), groundColor: new Ie() }
-                break
-              case 'RectAreaLight':
-                n = {
-                  color: new Ie(),
-                  position: new ut(),
-                  halfWidth: new ut(),
-                  halfHeight: new ut(),
-                }
-            }
-            return (t[e.id] = n), n
-          },
-        }
-      }
-      let Pr = 0
-      function Dr(t, e) {
-        return (e.castShadow ? 1 : 0) - (t.castShadow ? 1 : 0)
-      }
-      function Ir(t, e) {
-        const n = new Cr(),
-          i = (function () {
-            const t = {}
-            return {
-              get: function (e) {
-                if (void 0 !== t[e.id]) return t[e.id]
-                let n
-                switch (e.type) {
-                  case 'DirectionalLight':
-                  case 'SpotLight':
-                    n = {
-                      shadowBias: 0,
-                      shadowNormalBias: 0,
-                      shadowRadius: 1,
-                      shadowMapSize: new tt(),
-                    }
-                    break
-                  case 'PointLight':
-                    n = {
-                      shadowBias: 0,
-                      shadowNormalBias: 0,
-                      shadowRadius: 1,
-                      shadowMapSize: new tt(),
-                      shadowCameraNear: 1,
-                      shadowCameraFar: 1e3,
-                    }
-                }
-                return (t[e.id] = n), n
-              },
-            }
-          })(),
-          r = {
-            version: 0,
-            hash: {
-              directionalLength: -1,
-              pointLength: -1,
-              spotLength: -1,
-              rectAreaLength: -1,
-              hemiLength: -1,
-              numDirectionalShadows: -1,
-              numPointShadows: -1,
-              numSpotShadows: -1,
-            },
-            ambient: [0, 0, 0],
-            probe: [],
-            directional: [],
-            directionalShadow: [],
-            directionalShadowMap: [],
-            directionalShadowMatrix: [],
-            spot: [],
-            spotShadow: [],
-            spotShadowMap: [],
-            spotShadowMatrix: [],
-            rectArea: [],
-            rectAreaLTC1: null,
-            rectAreaLTC2: null,
-            point: [],
-            pointShadow: [],
-            pointShadowMap: [],
-            pointShadowMatrix: [],
-            hemi: [],
-          }
-        for (let l = 0; l < 9; l++) r.probe.push(new ut())
-        const s = new ut(),
-          a = new Vt(),
-          o = new Vt()
-        return {
-          setup: function (s) {
-            let a = 0,
-              o = 0,
-              l = 0
-            for (let t = 0; t < 9; t++) r.probe[t].set(0, 0, 0)
-            let c = 0,
-              h = 0,
-              u = 0,
-              d = 0,
-              p = 0,
-              m = 0,
-              f = 0,
-              g = 0
-            s.sort(Dr)
-            for (let t = 0, e = s.length; t < e; t++) {
-              const e = s[t],
-                v = e.color,
-                y = e.intensity,
-                x = e.distance,
-                _ = e.shadow && e.shadow.map ? e.shadow.map.texture : null
-              if (e.isAmbientLight) (a += v.r * y), (o += v.g * y), (l += v.b * y)
-              else if (e.isLightProbe)
-                for (let t = 0; t < 9; t++) r.probe[t].addScaledVector(e.sh.coefficients[t], y)
-              else if (e.isDirectionalLight) {
-                const t = n.get(e)
-                if ((t.color.copy(e.color).multiplyScalar(e.intensity), e.castShadow)) {
-                  const t = e.shadow,
-                    n = i.get(e)
-                  ;(n.shadowBias = t.bias),
-                    (n.shadowNormalBias = t.normalBias),
-                    (n.shadowRadius = t.radius),
-                    (n.shadowMapSize = t.mapSize),
-                    (r.directionalShadow[c] = n),
-                    (r.directionalShadowMap[c] = _),
-                    (r.directionalShadowMatrix[c] = e.shadow.matrix),
-                    m++
-                }
-                ;(r.directional[c] = t), c++
-              } else if (e.isSpotLight) {
-                const t = n.get(e)
-                if (
-                  (t.position.setFromMatrixPosition(e.matrixWorld),
-                  t.color.copy(v).multiplyScalar(y),
-                  (t.distance = x),
-                  (t.coneCos = Math.cos(e.angle)),
-                  (t.penumbraCos = Math.cos(e.angle * (1 - e.penumbra))),
-                  (t.decay = e.decay),
-                  e.castShadow)
-                ) {
-                  const t = e.shadow,
-                    n = i.get(e)
-                  ;(n.shadowBias = t.bias),
-                    (n.shadowNormalBias = t.normalBias),
-                    (n.shadowRadius = t.radius),
-                    (n.shadowMapSize = t.mapSize),
-                    (r.spotShadow[u] = n),
-                    (r.spotShadowMap[u] = _),
-                    (r.spotShadowMatrix[u] = e.shadow.matrix),
-                    g++
-                }
-                ;(r.spot[u] = t), u++
-              } else if (e.isRectAreaLight) {
-                const t = n.get(e)
-                t.color.copy(v).multiplyScalar(y),
-                  t.halfWidth.set(0.5 * e.width, 0, 0),
-                  t.halfHeight.set(0, 0.5 * e.height, 0),
-                  (r.rectArea[d] = t),
-                  d++
-              } else if (e.isPointLight) {
-                const t = n.get(e)
-                if (
-                  (t.color.copy(e.color).multiplyScalar(e.intensity),
-                  (t.distance = e.distance),
-                  (t.decay = e.decay),
-                  e.castShadow)
-                ) {
-                  const t = e.shadow,
-                    n = i.get(e)
-                  ;(n.shadowBias = t.bias),
-                    (n.shadowNormalBias = t.normalBias),
-                    (n.shadowRadius = t.radius),
-                    (n.shadowMapSize = t.mapSize),
-                    (n.shadowCameraNear = t.camera.near),
-                    (n.shadowCameraFar = t.camera.far),
-                    (r.pointShadow[h] = n),
-                    (r.pointShadowMap[h] = _),
-                    (r.pointShadowMatrix[h] = e.shadow.matrix),
-                    f++
-                }
-                ;(r.point[h] = t), h++
-              } else if (e.isHemisphereLight) {
-                const t = n.get(e)
-                t.skyColor.copy(e.color).multiplyScalar(y),
-                  t.groundColor.copy(e.groundColor).multiplyScalar(y),
-                  (r.hemi[p] = t),
-                  p++
-              }
-            }
-            d > 0 &&
-              (e.isWebGL2 || !0 === t.has('OES_texture_float_linear')
-                ? ((r.rectAreaLTC1 = Fn.LTC_FLOAT_1), (r.rectAreaLTC2 = Fn.LTC_FLOAT_2))
-                : !0 === t.has('OES_texture_half_float_linear')
-                ? ((r.rectAreaLTC1 = Fn.LTC_HALF_1), (r.rectAreaLTC2 = Fn.LTC_HALF_2))
-                : console.error(
-                    'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.',
-                  )),
-              (r.ambient[0] = a),
-              (r.ambient[1] = o),
-              (r.ambient[2] = l)
-            const v = r.hash
-            ;(v.directionalLength === c &&
-              v.pointLength === h &&
-              v.spotLength === u &&
-              v.rectAreaLength === d &&
-              v.hemiLength === p &&
-              v.numDirectionalShadows === m &&
-              v.numPointShadows === f &&
-              v.numSpotShadows === g) ||
-              ((r.directional.length = c),
-              (r.spot.length = u),
-              (r.rectArea.length = d),
-              (r.point.length = h),
-              (r.hemi.length = p),
-              (r.directionalShadow.length = m),
-              (r.directionalShadowMap.length = m),
-              (r.pointShadow.length = f),
-              (r.pointShadowMap.length = f),
-              (r.spotShadow.length = g),
-              (r.spotShadowMap.length = g),
-              (r.directionalShadowMatrix.length = m),
-              (r.pointShadowMatrix.length = f),
-              (r.spotShadowMatrix.length = g),
-              (v.directionalLength = c),
-              (v.pointLength = h),
-              (v.spotLength = u),
-              (v.rectAreaLength = d),
-              (v.hemiLength = p),
-              (v.numDirectionalShadows = m),
-              (v.numPointShadows = f),
-              (v.numSpotShadows = g),
-              (r.version = Pr++))
-          },
-          setupView: function (t, e) {
-            let n = 0,
-              i = 0,
-              l = 0,
-              c = 0,
-              h = 0
-            const u = e.matrixWorldInverse
-            for (let d = 0, p = t.length; d < p; d++) {
-              const e = t[d]
-              if (e.isDirectionalLight) {
-                const t = r.directional[n]
-                t.direction.setFromMatrixPosition(e.matrixWorld),
-                  s.setFromMatrixPosition(e.target.matrixWorld),
-                  t.direction.sub(s),
-                  t.direction.transformDirection(u),
-                  n++
-              } else if (e.isSpotLight) {
-                const t = r.spot[l]
-                t.position.setFromMatrixPosition(e.matrixWorld),
-                  t.position.applyMatrix4(u),
-                  t.direction.setFromMatrixPosition(e.matrixWorld),
-                  s.setFromMatrixPosition(e.target.matrixWorld),
-                  t.direction.sub(s),
-                  t.direction.transformDirection(u),
-                  l++
-              } else if (e.isRectAreaLight) {
-                const t = r.rectArea[c]
-                t.position.setFromMatrixPosition(e.matrixWorld),
-                  t.position.applyMatrix4(u),
-                  o.identity(),
-                  a.copy(e.matrixWorld),
-                  a.premultiply(u),
-                  o.extractRotation(a),
-                  t.halfWidth.set(0.5 * e.width, 0, 0),
-                  t.halfHeight.set(0, 0.5 * e.height, 0),
-                  t.halfWidth.applyMatrix4(o),
-                  t.halfHeight.applyMatrix4(o),
-                  c++
-              } else if (e.isPointLight) {
-                const t = r.point[i]
-                t.position.setFromMatrixPosition(e.matrixWorld), t.position.applyMatrix4(u), i++
-              } else if (e.isHemisphereLight) {
-                const t = r.hemi[h]
-                t.direction.setFromMatrixPosition(e.matrixWorld),
-                  t.direction.transformDirection(u),
-                  t.direction.normalize(),
-                  h++
-              }
-            }
-          },
-          state: r,
-        }
-      }
-      function Nr(t, e) {
-        const n = new Ir(t, e),
-          i = [],
-          r = []
-        return {
-          init: function () {
-            ;(i.length = 0), (r.length = 0)
-          },
-          state: { lightsArray: i, shadowsArray: r, lights: n },
-          setupLights: function () {
-            n.setup(i)
-          },
-          setupLightsView: function (t) {
-            n.setupView(i, t)
-          },
-          pushLight: function (t) {
-            i.push(t)
-          },
-          pushShadow: function (t) {
-            r.push(t)
-          },
-        }
-      }
-      function zr(t, e) {
-        let n = new WeakMap()
-        return {
-          get: function (i, r = 0) {
-            let s
-            return (
-              !1 === n.has(i)
-                ? ((s = new Nr(t, e)), n.set(i, [s]))
-                : r >= n.get(i).length
-                ? ((s = new Nr(t, e)), n.get(i).push(s))
-                : (s = n.get(i)[r]),
-              s
-            )
-          },
-          dispose: function () {
-            n = new WeakMap()
-          },
-        }
-      }
-      class Or extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshDepthMaterial'),
-            (this.depthPacking = 3200),
-            (this.morphTargets = !1),
-            (this.map = null),
-            (this.alphaMap = null),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.fog = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.depthPacking = t.depthPacking),
-            (this.morphTargets = t.morphTargets),
-            (this.map = t.map),
-            (this.alphaMap = t.alphaMap),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            this
-          )
-        }
-      }
-      Or.prototype.isMeshDepthMaterial = !0
-      class Br extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshDistanceMaterial'),
-            (this.referencePosition = new ut()),
-            (this.nearDistance = 1),
-            (this.farDistance = 1e3),
-            (this.morphTargets = !1),
-            (this.map = null),
-            (this.alphaMap = null),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.fog = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.referencePosition.copy(t.referencePosition),
-            (this.nearDistance = t.nearDistance),
-            (this.farDistance = t.farDistance),
-            (this.morphTargets = t.morphTargets),
-            (this.map = t.map),
-            (this.alphaMap = t.alphaMap),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            this
-          )
-        }
-      }
-      Br.prototype.isMeshDistanceMaterial = !0
-      function Fr(t, e, n) {
-        let i = new In()
-        const r = new tt(),
-          a = new tt(),
-          o = new ot(),
-          l = [],
-          c = [],
-          h = {},
-          u = n.maxTextureSize,
-          d = { 0: s, 1: 0, 2: 2 },
-          p = new _n({
-            defines: { SAMPLE_RATE: 2 / 8, HALF_SAMPLE_RATE: 1 / 8 },
-            uniforms: {
-              shadow_pass: { value: null },
-              resolution: { value: new tt() },
-              radius: { value: 4 },
-            },
-            vertexShader: 'void main() {\n\tgl_Position = vec4( position, 1.0 );\n}',
-            fragmentShader:
-              'uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}',
-          }),
-          f = p.clone()
-        f.defines.HORIZONTAL_PASS = 1
-        const g = new Je()
-        g.setAttribute(
-          'position',
-          new Be(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3),
-        )
-        const y = new mn(g, p),
-          x = this
-        function _(n, i) {
-          const r = e.update(y)
-          ;(p.uniforms.shadow_pass.value = n.map.texture),
-            (p.uniforms.resolution.value = n.mapSize),
-            (p.uniforms.radius.value = n.radius),
-            t.setRenderTarget(n.mapPass),
-            t.clear(),
-            t.renderBufferDirect(i, null, r, p, y, null),
-            (f.uniforms.shadow_pass.value = n.mapPass.texture),
-            (f.uniforms.resolution.value = n.mapSize),
-            (f.uniforms.radius.value = n.radius),
-            t.setRenderTarget(n.map),
-            t.clear(),
-            t.renderBufferDirect(i, null, r, f, y, null)
-        }
-        function b(t) {
-          const e = t << 0
-          let n = l[e]
-          return (
-            void 0 === n && ((n = new Or({ depthPacking: 3201, morphTargets: t })), (l[e] = n)), n
-          )
-        }
-        function M(t) {
-          const e = t << 0
-          let n = c[e]
-          return void 0 === n && ((n = new Br({ morphTargets: t })), (c[e] = n)), n
-        }
-        function w(e, n, i, r, s, a, o) {
-          let l = null,
-            c = b,
-            u = e.customDepthMaterial
-          if ((!0 === r.isPointLight && ((c = M), (u = e.customDistanceMaterial)), void 0 === u)) {
-            let t = !1
-            !0 === i.morphTargets &&
-              (t =
-                n.morphAttributes &&
-                n.morphAttributes.position &&
-                n.morphAttributes.position.length > 0),
-              (l = c(t))
-          } else l = u
-          if (t.localClippingEnabled && !0 === i.clipShadows && 0 !== i.clippingPlanes.length) {
-            const t = l.uuid,
-              e = i.uuid
-            let n = h[t]
-            void 0 === n && ((n = {}), (h[t] = n))
-            let r = n[e]
-            void 0 === r && ((r = l.clone()), (n[e] = r)), (l = r)
-          }
-          return (
-            (l.visible = i.visible),
-            (l.wireframe = i.wireframe),
-            (l.side =
-              3 === o
-                ? null !== i.shadowSide
-                  ? i.shadowSide
-                  : i.side
-                : null !== i.shadowSide
-                ? i.shadowSide
-                : d[i.side]),
-            (l.clipShadows = i.clipShadows),
-            (l.clippingPlanes = i.clippingPlanes),
-            (l.clipIntersection = i.clipIntersection),
-            (l.wireframeLinewidth = i.wireframeLinewidth),
-            (l.linewidth = i.linewidth),
-            !0 === r.isPointLight &&
-              !0 === l.isMeshDistanceMaterial &&
-              (l.referencePosition.setFromMatrixPosition(r.matrixWorld),
-              (l.nearDistance = s),
-              (l.farDistance = a)),
-            l
-          )
-        }
-        function S(n, r, s, a, o) {
-          if (!1 === n.visible) return
-          if (
-            n.layers.test(r.layers) &&
-            (n.isMesh || n.isLine || n.isPoints) &&
-            (n.castShadow || (n.receiveShadow && 3 === o)) &&
-            (!n.frustumCulled || i.intersectsObject(n))
-          ) {
-            n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse, n.matrixWorld)
-            const i = e.update(n),
-              r = n.material
-            if (Array.isArray(r)) {
-              const e = i.groups
-              for (let l = 0, c = e.length; l < c; l++) {
-                const c = e[l],
-                  h = r[c.materialIndex]
-                if (h && h.visible) {
-                  const e = w(n, i, h, a, s.near, s.far, o)
-                  t.renderBufferDirect(s, null, i, e, n, c)
-                }
-              }
-            } else if (r.visible) {
-              const e = w(n, i, r, a, s.near, s.far, o)
-              t.renderBufferDirect(s, null, i, e, n, null)
-            }
-          }
-          const l = n.children
-          for (let t = 0, e = l.length; t < e; t++) S(l[t], r, s, a, o)
-        }
-        ;(this.enabled = !1),
-          (this.autoUpdate = !0),
-          (this.needsUpdate = !1),
-          (this.type = 1),
-          (this.render = function (e, n, s) {
-            if (!1 === x.enabled) return
-            if (!1 === x.autoUpdate && !1 === x.needsUpdate) return
-            if (0 === e.length) return
-            const l = t.getRenderTarget(),
-              c = t.getActiveCubeFace(),
-              h = t.getActiveMipmapLevel(),
-              d = t.state
-            d.setBlending(0),
-              d.buffers.color.setClear(1, 1, 1, 1),
-              d.buffers.depth.setTest(!0),
-              d.setScissorTest(!1)
-            for (let p = 0, f = e.length; p < f; p++) {
-              const l = e[p],
-                c = l.shadow
-              if (void 0 === c) {
-                console.warn('THREE.WebGLShadowMap:', l, 'has no shadow.')
-                continue
-              }
-              if (!1 === c.autoUpdate && !1 === c.needsUpdate) continue
-              r.copy(c.mapSize)
-              const h = c.getFrameExtents()
-              if (
-                (r.multiply(h),
-                a.copy(c.mapSize),
-                (r.x > u || r.y > u) &&
-                  (r.x > u && ((a.x = Math.floor(u / h.x)), (r.x = a.x * h.x), (c.mapSize.x = a.x)),
-                  r.y > u && ((a.y = Math.floor(u / h.y)), (r.y = a.y * h.y), (c.mapSize.y = a.y))),
-                null === c.map && !c.isPointLightShadow && 3 === this.type)
-              ) {
-                const t = { minFilter: v, magFilter: v, format: E }
-                ;(c.map = new lt(r.x, r.y, t)),
-                  (c.map.texture.name = l.name + '.shadowMap'),
-                  (c.mapPass = new lt(r.x, r.y, t)),
-                  c.camera.updateProjectionMatrix()
-              }
-              if (null === c.map) {
-                const t = { minFilter: m, magFilter: m, format: E }
-                ;(c.map = new lt(r.x, r.y, t)),
-                  (c.map.texture.name = l.name + '.shadowMap'),
-                  c.camera.updateProjectionMatrix()
-              }
-              t.setRenderTarget(c.map), t.clear()
-              const f = c.getViewportCount()
-              for (let t = 0; t < f; t++) {
-                const e = c.getViewport(t)
-                o.set(a.x * e.x, a.y * e.y, a.x * e.z, a.y * e.w),
-                  d.viewport(o),
-                  c.updateMatrices(l, t),
-                  (i = c.getFrustum()),
-                  S(n, s, c.camera, l, this.type)
-              }
-              c.isPointLightShadow || 3 !== this.type || _(c, s), (c.needsUpdate = !1)
-            }
-            ;(x.needsUpdate = !1), t.setRenderTarget(l, c, h)
-          })
-      }
-      function Ur(t, e, n) {
-        const i = n.isWebGL2
-        const r = new (function () {
-            let e = !1
-            const n = new ot()
-            let i = null
-            const r = new ot(0, 0, 0, 0)
-            return {
-              setMask: function (n) {
-                i === n || e || (t.colorMask(n, n, n, n), (i = n))
-              },
-              setLocked: function (t) {
-                e = t
-              },
-              setClear: function (e, i, s, a, o) {
-                !0 === o && ((e *= a), (i *= a), (s *= a)),
-                  n.set(e, i, s, a),
-                  !1 === r.equals(n) && (t.clearColor(e, i, s, a), r.copy(n))
-              },
-              reset: function () {
-                ;(e = !1), (i = null), r.set(-1, 0, 0, 0)
-              },
-            }
-          })(),
-          o = new (function () {
-            let e = !1,
-              n = null,
-              i = null,
-              r = null
-            return {
-              setTest: function (t) {
-                t ? U(2929) : H(2929)
-              },
-              setMask: function (i) {
-                n === i || e || (t.depthMask(i), (n = i))
-              },
-              setFunc: function (e) {
-                if (i !== e) {
-                  if (e)
-                    switch (e) {
-                      case 0:
-                        t.depthFunc(512)
-                        break
-                      case 1:
-                        t.depthFunc(519)
-                        break
-                      case 2:
-                        t.depthFunc(513)
-                        break
-                      case 3:
-                        t.depthFunc(515)
-                        break
-                      case 4:
-                        t.depthFunc(514)
-                        break
-                      case 5:
-                        t.depthFunc(518)
-                        break
-                      case 6:
-                        t.depthFunc(516)
-                        break
-                      case 7:
-                        t.depthFunc(517)
-                        break
-                      default:
-                        t.depthFunc(515)
-                    }
-                  else t.depthFunc(515)
-                  i = e
-                }
-              },
-              setLocked: function (t) {
-                e = t
-              },
-              setClear: function (e) {
-                r !== e && (t.clearDepth(e), (r = e))
-              },
-              reset: function () {
-                ;(e = !1), (n = null), (i = null), (r = null)
-              },
-            }
-          })(),
-          l = new (function () {
-            let e = !1,
-              n = null,
-              i = null,
-              r = null,
-              s = null,
-              a = null,
-              o = null,
-              l = null,
-              c = null
-            return {
-              setTest: function (t) {
-                e || (t ? U(2960) : H(2960))
-              },
-              setMask: function (i) {
-                n === i || e || (t.stencilMask(i), (n = i))
-              },
-              setFunc: function (e, n, a) {
-                ;(i === e && r === n && s === a) ||
-                  (t.stencilFunc(e, n, a), (i = e), (r = n), (s = a))
-              },
-              setOp: function (e, n, i) {
-                ;(a === e && o === n && l === i) ||
-                  (t.stencilOp(e, n, i), (a = e), (o = n), (l = i))
-              },
-              setLocked: function (t) {
-                e = t
-              },
-              setClear: function (e) {
-                c !== e && (t.clearStencil(e), (c = e))
-              },
-              reset: function () {
-                ;(e = !1),
-                  (n = null),
-                  (i = null),
-                  (r = null),
-                  (s = null),
-                  (a = null),
-                  (o = null),
-                  (l = null),
-                  (c = null)
-              },
-            }
-          })()
-        let c = {},
-          h = null,
-          u = {},
-          d = null,
-          p = !1,
-          m = null,
-          f = null,
-          g = null,
-          v = null,
-          y = null,
-          x = null,
-          _ = null,
-          b = !1,
-          M = null,
-          w = null,
-          S = null,
-          T = null,
-          E = null
-        const L = t.getParameter(35661)
-        let A = !1,
-          R = 0
-        const C = t.getParameter(7938)
-        ;-1 !== C.indexOf('WebGL')
-          ? ((R = parseFloat(/^WebGL (\d)/.exec(C)[1])), (A = R >= 1))
-          : -1 !== C.indexOf('OpenGL ES') &&
-            ((R = parseFloat(/^OpenGL ES (\d)/.exec(C)[1])), (A = R >= 2))
-        let P = null,
-          D = {}
-        const I = t.getParameter(3088),
-          N = t.getParameter(2978),
-          z = new ot().fromArray(I),
-          O = new ot().fromArray(N)
-        function B(e, n, i) {
-          const r = new Uint8Array(4),
-            s = t.createTexture()
-          t.bindTexture(e, s), t.texParameteri(e, 10241, 9728), t.texParameteri(e, 10240, 9728)
-          for (let a = 0; a < i; a++) t.texImage2D(n + a, 0, 6408, 1, 1, 0, 6408, 5121, r)
-          return s
-        }
-        const F = {}
-        function U(e) {
-          !0 !== c[e] && (t.enable(e), (c[e] = !0))
-        }
-        function H(e) {
-          !1 !== c[e] && (t.disable(e), (c[e] = !1))
-        }
-        ;(F[3553] = B(3553, 3553, 1)),
-          (F[34067] = B(34067, 34069, 6)),
-          r.setClear(0, 0, 0, 1),
-          o.setClear(1),
-          l.setClear(0),
-          U(2929),
-          o.setFunc(3),
-          W(!1),
-          j(1),
-          U(2884),
-          k(0)
-        const G = { [a]: 32774, 101: 32778, 102: 32779 }
-        if (i) (G[103] = 32775), (G[104] = 32776)
-        else {
-          const t = e.get('EXT_blend_minmax')
-          null !== t && ((G[103] = t.MIN_EXT), (G[104] = t.MAX_EXT))
-        }
-        const V = {
-          200: 0,
-          201: 1,
-          202: 768,
-          204: 770,
-          210: 776,
-          208: 774,
-          206: 772,
-          203: 769,
-          205: 771,
-          209: 775,
-          207: 773,
-        }
-        function k(e, n, i, r, s, o, l, c) {
-          if (0 !== e) {
-            if ((!1 === p && (U(3042), (p = !0)), 5 === e))
-              (s = s || n),
-                (o = o || i),
-                (l = l || r),
-                (n === f && s === y) || (t.blendEquationSeparate(G[n], G[s]), (f = n), (y = s)),
-                (i === g && r === v && o === x && l === _) ||
-                  (t.blendFuncSeparate(V[i], V[r], V[o], V[l]), (g = i), (v = r), (x = o), (_ = l)),
-                (m = e),
-                (b = null)
-            else if (e !== m || c !== b) {
-              if (((f === a && y === a) || (t.blendEquation(32774), (f = a), (y = a)), c))
-                switch (e) {
-                  case 1:
-                    t.blendFuncSeparate(1, 771, 1, 771)
-                    break
-                  case 2:
-                    t.blendFunc(1, 1)
-                    break
-                  case 3:
-                    t.blendFuncSeparate(0, 0, 769, 771)
-                    break
-                  case 4:
-                    t.blendFuncSeparate(0, 768, 0, 770)
-                    break
-                  default:
-                    console.error('THREE.WebGLState: Invalid blending: ', e)
-                }
-              else
-                switch (e) {
-                  case 1:
-                    t.blendFuncSeparate(770, 771, 1, 771)
-                    break
-                  case 2:
-                    t.blendFunc(770, 1)
-                    break
-                  case 3:
-                    t.blendFunc(0, 769)
-                    break
-                  case 4:
-                    t.blendFunc(0, 768)
-                    break
-                  default:
-                    console.error('THREE.WebGLState: Invalid blending: ', e)
-                }
-              ;(g = null), (v = null), (x = null), (_ = null), (m = e), (b = c)
-            }
-          } else !0 === p && (H(3042), (p = !1))
-        }
-        function W(e) {
-          M !== e && (e ? t.frontFace(2304) : t.frontFace(2305), (M = e))
-        }
-        function j(e) {
-          0 !== e
-            ? (U(2884),
-              e !== w &&
-                (1 === e ? t.cullFace(1029) : 2 === e ? t.cullFace(1028) : t.cullFace(1032)))
-            : H(2884),
-            (w = e)
-        }
-        function q(e, n, i) {
-          e
-            ? (U(32823), (T === n && E === i) || (t.polygonOffset(n, i), (T = n), (E = i)))
-            : H(32823)
-        }
-        function X(e) {
-          void 0 === e && (e = 33984 + L - 1), P !== e && (t.activeTexture(e), (P = e))
-        }
-        return {
-          buffers: { color: r, depth: o, stencil: l },
-          enable: U,
-          disable: H,
-          bindFramebuffer: function (e, n) {
-            return (
-              null === n && null !== h && (n = h),
-              u[e] !== n &&
-                (t.bindFramebuffer(e, n),
-                (u[e] = n),
-                i && (36009 === e && (u[36160] = n), 36160 === e && (u[36009] = n)),
-                !0)
-            )
-          },
-          bindXRFramebuffer: function (e) {
-            e !== h && (t.bindFramebuffer(36160, e), (h = e))
-          },
-          useProgram: function (e) {
-            return d !== e && (t.useProgram(e), (d = e), !0)
-          },
-          setBlending: k,
-          setMaterial: function (t, e) {
-            2 === t.side ? H(2884) : U(2884)
-            let n = t.side === s
-            e && (n = !n),
-              W(n),
-              1 === t.blending && !1 === t.transparent
-                ? k(0)
-                : k(
-                    t.blending,
-                    t.blendEquation,
-                    t.blendSrc,
-                    t.blendDst,
-                    t.blendEquationAlpha,
-                    t.blendSrcAlpha,
-                    t.blendDstAlpha,
-                    t.premultipliedAlpha,
-                  ),
-              o.setFunc(t.depthFunc),
-              o.setTest(t.depthTest),
-              o.setMask(t.depthWrite),
-              r.setMask(t.colorWrite)
-            const i = t.stencilWrite
-            l.setTest(i),
-              i &&
-                (l.setMask(t.stencilWriteMask),
-                l.setFunc(t.stencilFunc, t.stencilRef, t.stencilFuncMask),
-                l.setOp(t.stencilFail, t.stencilZFail, t.stencilZPass)),
-              q(t.polygonOffset, t.polygonOffsetFactor, t.polygonOffsetUnits),
-              !0 === t.alphaToCoverage ? U(32926) : H(32926)
-          },
-          setFlipSided: W,
-          setCullFace: j,
-          setLineWidth: function (e) {
-            e !== S && (A && t.lineWidth(e), (S = e))
-          },
-          setPolygonOffset: q,
-          setScissorTest: function (t) {
-            t ? U(3089) : H(3089)
-          },
-          activeTexture: X,
-          bindTexture: function (e, n) {
-            null === P && X()
-            let i = D[P]
-            void 0 === i && ((i = { type: void 0, texture: void 0 }), (D[P] = i)),
-              (i.type === e && i.texture === n) ||
-                (t.bindTexture(e, n || F[e]), (i.type = e), (i.texture = n))
-          },
-          unbindTexture: function () {
-            const e = D[P]
-            void 0 !== e &&
-              void 0 !== e.type &&
-              (t.bindTexture(e.type, null), (e.type = void 0), (e.texture = void 0))
-          },
-          compressedTexImage2D: function () {
-            try {
-              t.compressedTexImage2D.apply(t, arguments)
-            } catch (e) {
-              console.error('THREE.WebGLState:', e)
-            }
-          },
-          texImage2D: function () {
-            try {
-              t.texImage2D.apply(t, arguments)
-            } catch (e) {
-              console.error('THREE.WebGLState:', e)
-            }
-          },
-          texImage3D: function () {
-            try {
-              t.texImage3D.apply(t, arguments)
-            } catch (e) {
-              console.error('THREE.WebGLState:', e)
-            }
-          },
-          scissor: function (e) {
-            !1 === z.equals(e) && (t.scissor(e.x, e.y, e.z, e.w), z.copy(e))
-          },
-          viewport: function (e) {
-            !1 === O.equals(e) && (t.viewport(e.x, e.y, e.z, e.w), O.copy(e))
-          },
-          reset: function () {
-            t.disable(3042),
-              t.disable(2884),
-              t.disable(2929),
-              t.disable(32823),
-              t.disable(3089),
-              t.disable(2960),
-              t.disable(32926),
-              t.blendEquation(32774),
-              t.blendFunc(1, 0),
-              t.blendFuncSeparate(1, 0, 1, 0),
-              t.colorMask(!0, !0, !0, !0),
-              t.clearColor(0, 0, 0, 0),
-              t.depthMask(!0),
-              t.depthFunc(513),
-              t.clearDepth(1),
-              t.stencilMask(4294967295),
-              t.stencilFunc(519, 0, 4294967295),
-              t.stencilOp(7680, 7680, 7680),
-              t.clearStencil(0),
-              t.cullFace(1029),
-              t.frontFace(2305),
-              t.polygonOffset(0, 0),
-              t.activeTexture(33984),
-              t.bindFramebuffer(36160, null),
-              !0 === i && (t.bindFramebuffer(36009, null), t.bindFramebuffer(36008, null)),
-              t.useProgram(null),
-              t.lineWidth(1),
-              t.scissor(0, 0, t.canvas.width, t.canvas.height),
-              t.viewport(0, 0, t.canvas.width, t.canvas.height),
-              (c = {}),
-              (P = null),
-              (D = {}),
-              (h = null),
-              (u = {}),
-              (d = null),
-              (p = !1),
-              (m = null),
-              (f = null),
-              (g = null),
-              (v = null),
-              (y = null),
-              (x = null),
-              (_ = null),
-              (b = !1),
-              (M = null),
-              (w = null),
-              (S = null),
-              (T = null),
-              (E = null),
-              z.set(0, 0, t.canvas.width, t.canvas.height),
-              O.set(0, 0, t.canvas.width, t.canvas.height),
-              r.reset(),
-              o.reset(),
-              l.reset()
-          },
-        }
-      }
-      function Hr(t, e, n, i, r, s, a) {
-        const o = r.isWebGL2,
-          l = r.maxTextures,
-          c = r.maxCubemapSize,
-          h = r.maxTextureSize,
-          x = r.maxSamples,
-          R = new WeakMap()
-        let C,
-          P = !1
-        try {
-          P =
-            'undefined' !== typeof OffscreenCanvas &&
-            null !== new OffscreenCanvas(1, 1).getContext('2d')
-        } catch (it) {}
-        function D(t, e) {
-          return P
-            ? new OffscreenCanvas(t, e)
-            : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')
-        }
-        function I(t, e, n, i) {
-          let r = 1
-          if (
-            ((t.width > i || t.height > i) && (r = i / Math.max(t.width, t.height)),
-            r < 1 || !0 === e)
-          ) {
-            if (
-              ('undefined' !== typeof HTMLImageElement && t instanceof HTMLImageElement) ||
-              ('undefined' !== typeof HTMLCanvasElement && t instanceof HTMLCanvasElement) ||
-              ('undefined' !== typeof ImageBitmap && t instanceof ImageBitmap)
-            ) {
-              const i = e ? $ : Math.floor,
-                s = i(r * t.width),
-                a = i(r * t.height)
-              void 0 === C && (C = D(s, a))
-              const o = n ? D(s, a) : C
-              ;(o.width = s), (o.height = a)
-              return (
-                o.getContext('2d').drawImage(t, 0, 0, s, a),
-                console.warn(
-                  'THREE.WebGLRenderer: Texture has been resized from (' +
-                    t.width +
-                    'x' +
-                    t.height +
-                    ') to (' +
-                    s +
-                    'x' +
-                    a +
-                    ').',
-                ),
-                o
-              )
-            }
-            return (
-              'data' in t &&
-                console.warn(
-                  'THREE.WebGLRenderer: Image in DataTexture is too big (' +
-                    t.width +
-                    'x' +
-                    t.height +
-                    ').',
-                ),
-              t
-            )
-          }
-          return t
-        }
-        function N(t) {
-          return K(t.width) && K(t.height)
-        }
-        function z(t, e) {
-          return t.generateMipmaps && e && t.minFilter !== m && t.minFilter !== v
-        }
-        function O(e, n, r, s, a = 1) {
-          t.generateMipmap(e)
-          i.get(n).__maxMipLevel = Math.log2(Math.max(r, s, a))
-        }
-        function B(n, i, r) {
-          if (!1 === o) return i
-          if (null !== n) {
-            if (void 0 !== t[n]) return t[n]
-            console.warn(
-              "THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" + n + "'",
-            )
-          }
-          let s = i
-          return (
-            6403 === i &&
-              (5126 === r && (s = 33326), 5131 === r && (s = 33325), 5121 === r && (s = 33321)),
-            6407 === i &&
-              (5126 === r && (s = 34837), 5131 === r && (s = 34843), 5121 === r && (s = 32849)),
-            6408 === i &&
-              (5126 === r && (s = 34836), 5131 === r && (s = 34842), 5121 === r && (s = 32856)),
-            (33325 !== s && 33326 !== s && 34842 !== s && 34836 !== s) ||
-              e.get('EXT_color_buffer_float'),
-            s
-          )
-        }
-        function F(t) {
-          return t === m || t === f || t === g ? 9728 : 9729
-        }
-        function U(e) {
-          const n = e.target
-          n.removeEventListener('dispose', U),
-            (function (e) {
-              const n = i.get(e)
-              if (void 0 === n.__webglInit) return
-              t.deleteTexture(n.__webglTexture), i.remove(e)
-            })(n),
-            n.isVideoTexture && R.delete(n),
-            a.memory.textures--
-        }
-        function H(e) {
-          const n = e.target
-          n.removeEventListener('dispose', H),
-            (function (e) {
-              const n = e.texture,
-                r = i.get(e),
-                s = i.get(n)
-              if (!e) return
-              void 0 !== s.__webglTexture &&
-                (t.deleteTexture(s.__webglTexture), a.memory.textures--)
-              e.depthTexture && e.depthTexture.dispose()
-              if (e.isWebGLCubeRenderTarget)
-                for (let i = 0; i < 6; i++)
-                  t.deleteFramebuffer(r.__webglFramebuffer[i]),
-                    r.__webglDepthbuffer && t.deleteRenderbuffer(r.__webglDepthbuffer[i])
-              else
-                t.deleteFramebuffer(r.__webglFramebuffer),
-                  r.__webglDepthbuffer && t.deleteRenderbuffer(r.__webglDepthbuffer),
-                  r.__webglMultisampledFramebuffer &&
-                    t.deleteFramebuffer(r.__webglMultisampledFramebuffer),
-                  r.__webglColorRenderbuffer && t.deleteRenderbuffer(r.__webglColorRenderbuffer),
-                  r.__webglDepthRenderbuffer && t.deleteRenderbuffer(r.__webglDepthRenderbuffer)
-              if (e.isWebGLMultipleRenderTargets)
-                for (let o = 0, l = n.length; o < l; o++) {
-                  const e = i.get(n[o])
-                  e.__webglTexture && (t.deleteTexture(e.__webglTexture), a.memory.textures--),
-                    i.remove(n[o])
-                }
-              i.remove(n), i.remove(e)
-            })(n)
-        }
-        let G = 0
-        function V(t, e) {
-          const r = i.get(t)
-          if (
-            (t.isVideoTexture &&
-              (function (t) {
-                const e = a.render.frame
-                R.get(t) !== e && (R.set(t, e), t.update())
-              })(t),
-            t.version > 0 && r.__version !== t.version)
-          ) {
-            const n = t.image
-            if (void 0 === n)
-              console.warn('THREE.WebGLRenderer: Texture marked for update but image is undefined')
-            else {
-              if (!1 !== n.complete) return void Y(r, t, e)
-              console.warn('THREE.WebGLRenderer: Texture marked for update but image is incomplete')
-            }
-          }
-          n.activeTexture(33984 + e), n.bindTexture(3553, r.__webglTexture)
-        }
-        function k(e, r) {
-          const a = i.get(e)
-          e.version > 0 && a.__version !== e.version
-            ? (function (e, i, r) {
-                if (6 !== i.image.length) return
-                X(e, i),
-                  n.activeTexture(33984 + r),
-                  n.bindTexture(34067, e.__webglTexture),
-                  t.pixelStorei(37440, i.flipY),
-                  t.pixelStorei(37441, i.premultiplyAlpha),
-                  t.pixelStorei(3317, i.unpackAlignment),
-                  t.pixelStorei(37443, 0)
-                const a = i && (i.isCompressedTexture || i.image[0].isCompressedTexture),
-                  l = i.image[0] && i.image[0].isDataTexture,
-                  h = []
-                for (let t = 0; t < 6; t++)
-                  h[t] = a || l ? (l ? i.image[t].image : i.image[t]) : I(i.image[t], !1, !0, c)
-                const u = h[0],
-                  d = N(u) || o,
-                  p = s.convert(i.format),
-                  m = s.convert(i.type),
-                  f = B(i.internalFormat, p, m)
-                let g
-                if ((q(34067, i, d), a)) {
-                  for (let t = 0; t < 6; t++) {
-                    g = h[t].mipmaps
-                    for (let e = 0; e < g.length; e++) {
-                      const r = g[e]
-                      i.format !== E && i.format !== T
-                        ? null !== p
-                          ? n.compressedTexImage2D(34069 + t, e, f, r.width, r.height, 0, r.data)
-                          : console.warn(
-                              'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()',
-                            )
-                        : n.texImage2D(34069 + t, e, f, r.width, r.height, 0, p, m, r.data)
-                    }
-                  }
-                  e.__maxMipLevel = g.length - 1
-                } else {
-                  g = i.mipmaps
-                  for (let t = 0; t < 6; t++)
-                    if (l) {
-                      n.texImage2D(34069 + t, 0, f, h[t].width, h[t].height, 0, p, m, h[t].data)
-                      for (let e = 0; e < g.length; e++) {
-                        const i = g[e].image[t].image
-                        n.texImage2D(34069 + t, e + 1, f, i.width, i.height, 0, p, m, i.data)
-                      }
-                    } else {
-                      n.texImage2D(34069 + t, 0, f, p, m, h[t])
-                      for (let e = 0; e < g.length; e++) {
-                        const i = g[e]
-                        n.texImage2D(34069 + t, e + 1, f, p, m, i.image[t])
-                      }
-                    }
-                  e.__maxMipLevel = g.length
-                }
-                z(i, d) && O(34067, i, u.width, u.height)
-                ;(e.__version = i.version), i.onUpdate && i.onUpdate(i)
-              })(a, e, r)
-            : (n.activeTexture(33984 + r), n.bindTexture(34067, a.__webglTexture))
-        }
-        const W = { [u]: 10497, [d]: 33071, [p]: 33648 },
-          j = { [m]: 9728, [f]: 9984, [g]: 9986, [v]: 9729, 1007: 9985, [y]: 9987 }
-        function q(n, s, a) {
-          if (
-            (a
-              ? (t.texParameteri(n, 10242, W[s.wrapS]),
-                t.texParameteri(n, 10243, W[s.wrapT]),
-                (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, W[s.wrapR]),
-                t.texParameteri(n, 10240, j[s.magFilter]),
-                t.texParameteri(n, 10241, j[s.minFilter]))
-              : (t.texParameteri(n, 10242, 33071),
-                t.texParameteri(n, 10243, 33071),
-                (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, 33071),
-                (s.wrapS === d && s.wrapT === d) ||
-                  console.warn(
-                    'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.',
-                  ),
-                t.texParameteri(n, 10240, F(s.magFilter)),
-                t.texParameteri(n, 10241, F(s.minFilter)),
-                s.minFilter !== m &&
-                  s.minFilter !== v &&
-                  console.warn(
-                    'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.',
-                  )),
-            !0 === e.has('EXT_texture_filter_anisotropic'))
-          ) {
-            const a = e.get('EXT_texture_filter_anisotropic')
-            if (s.type === M && !1 === e.has('OES_texture_float_linear')) return
-            if (!1 === o && s.type === w && !1 === e.has('OES_texture_half_float_linear')) return
-            ;(s.anisotropy > 1 || i.get(s).__currentAnisotropy) &&
-              (t.texParameterf(
-                n,
-                a.TEXTURE_MAX_ANISOTROPY_EXT,
-                Math.min(s.anisotropy, r.getMaxAnisotropy()),
-              ),
-              (i.get(s).__currentAnisotropy = s.anisotropy))
-          }
-        }
-        function X(e, n) {
-          void 0 === e.__webglInit &&
-            ((e.__webglInit = !0),
-            n.addEventListener('dispose', U),
-            (e.__webglTexture = t.createTexture()),
-            a.memory.textures++)
-        }
-        function Y(e, i, r) {
-          let a = 3553
-          i.isDataTexture2DArray && (a = 35866),
-            i.isDataTexture3D && (a = 32879),
-            X(e, i),
-            n.activeTexture(33984 + r),
-            n.bindTexture(a, e.__webglTexture),
-            t.pixelStorei(37440, i.flipY),
-            t.pixelStorei(37441, i.premultiplyAlpha),
-            t.pixelStorei(3317, i.unpackAlignment),
-            t.pixelStorei(37443, 0)
-          const l =
-              (function (t) {
-                return (
-                  !o && (t.wrapS !== d || t.wrapT !== d || (t.minFilter !== m && t.minFilter !== v))
-                )
-              })(i) && !1 === N(i.image),
-            c = I(i.image, l, !1, h),
-            u = N(c) || o,
-            p = s.convert(i.format)
-          let f,
-            g = s.convert(i.type),
-            y = B(i.internalFormat, p, g)
-          q(a, i, u)
-          const x = i.mipmaps
-          if (i.isDepthTexture)
-            (y = 6402),
-              o
-                ? (y = i.type === M ? 36012 : i.type === b ? 33190 : i.type === S ? 35056 : 33189)
-                : i.type === M &&
-                  console.error('WebGLRenderer: Floating point depth texture requires WebGL2.'),
-              i.format === L &&
-                6402 === y &&
-                i.type !== _ &&
-                i.type !== b &&
-                (console.warn(
-                  'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.',
-                ),
-                (i.type = _),
-                (g = s.convert(i.type))),
-              i.format === A &&
-                6402 === y &&
-                ((y = 34041),
-                i.type !== S &&
-                  (console.warn(
-                    'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.',
-                  ),
-                  (i.type = S),
-                  (g = s.convert(i.type)))),
-              n.texImage2D(3553, 0, y, c.width, c.height, 0, p, g, null)
-          else if (i.isDataTexture)
-            if (x.length > 0 && u) {
-              for (let t = 0, e = x.length; t < e; t++)
-                (f = x[t]), n.texImage2D(3553, t, y, f.width, f.height, 0, p, g, f.data)
-              ;(i.generateMipmaps = !1), (e.__maxMipLevel = x.length - 1)
-            } else
-              n.texImage2D(3553, 0, y, c.width, c.height, 0, p, g, c.data), (e.__maxMipLevel = 0)
-          else if (i.isCompressedTexture) {
-            for (let t = 0, e = x.length; t < e; t++)
-              (f = x[t]),
-                i.format !== E && i.format !== T
-                  ? null !== p
-                    ? n.compressedTexImage2D(3553, t, y, f.width, f.height, 0, f.data)
-                    : console.warn(
-                        'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()',
-                      )
-                  : n.texImage2D(3553, t, y, f.width, f.height, 0, p, g, f.data)
-            e.__maxMipLevel = x.length - 1
-          } else if (i.isDataTexture2DArray)
-            n.texImage3D(35866, 0, y, c.width, c.height, c.depth, 0, p, g, c.data),
-              (e.__maxMipLevel = 0)
-          else if (i.isDataTexture3D)
-            n.texImage3D(32879, 0, y, c.width, c.height, c.depth, 0, p, g, c.data),
-              (e.__maxMipLevel = 0)
-          else if (x.length > 0 && u) {
-            for (let t = 0, e = x.length; t < e; t++) (f = x[t]), n.texImage2D(3553, t, y, p, g, f)
-            ;(i.generateMipmaps = !1), (e.__maxMipLevel = x.length - 1)
-          } else n.texImage2D(3553, 0, y, p, g, c), (e.__maxMipLevel = 0)
-          z(i, u) && O(a, i, c.width, c.height),
-            (e.__version = i.version),
-            i.onUpdate && i.onUpdate(i)
-        }
-        function J(e, r, a, o, l) {
-          const c = s.convert(a.format),
-            h = s.convert(a.type),
-            u = B(a.internalFormat, c, h)
-          32879 === l || 35866 === l
-            ? n.texImage3D(l, 0, u, r.width, r.height, r.depth, 0, c, h, null)
-            : n.texImage2D(l, 0, u, r.width, r.height, 0, c, h, null),
-            n.bindFramebuffer(36160, e),
-            t.framebufferTexture2D(36160, o, l, i.get(a).__webglTexture, 0),
-            n.bindFramebuffer(36160, null)
-        }
-        function Z(e, n, i) {
-          if ((t.bindRenderbuffer(36161, e), n.depthBuffer && !n.stencilBuffer)) {
-            let r = 33189
-            if (i) {
-              const e = n.depthTexture
-              e && e.isDepthTexture && (e.type === M ? (r = 36012) : e.type === b && (r = 33190))
-              const i = tt(n)
-              t.renderbufferStorageMultisample(36161, i, r, n.width, n.height)
-            } else t.renderbufferStorage(36161, r, n.width, n.height)
-            t.framebufferRenderbuffer(36160, 36096, 36161, e)
-          } else if (n.depthBuffer && n.stencilBuffer) {
-            if (i) {
-              const e = tt(n)
-              t.renderbufferStorageMultisample(36161, e, 35056, n.width, n.height)
-            } else t.renderbufferStorage(36161, 34041, n.width, n.height)
-            t.framebufferRenderbuffer(36160, 33306, 36161, e)
-          } else {
-            const e = !0 === n.isWebGLMultipleRenderTargets ? n.texture[0] : n.texture,
-              r = s.convert(e.format),
-              a = s.convert(e.type),
-              o = B(e.internalFormat, r, a)
-            if (i) {
-              const e = tt(n)
-              t.renderbufferStorageMultisample(36161, e, o, n.width, n.height)
-            } else t.renderbufferStorage(36161, o, n.width, n.height)
-          }
-          t.bindRenderbuffer(36161, null)
-        }
-        function Q(e) {
-          const r = i.get(e),
-            s = !0 === e.isWebGLCubeRenderTarget
-          if (e.depthTexture) {
-            if (s) throw new Error('target.depthTexture not supported in Cube render targets')
-            !(function (e, r) {
-              if (r && r.isWebGLCubeRenderTarget)
-                throw new Error('Depth Texture with cube render targets is not supported')
-              if ((n.bindFramebuffer(36160, e), !r.depthTexture || !r.depthTexture.isDepthTexture))
-                throw new Error(
-                  'renderTarget.depthTexture must be an instance of THREE.DepthTexture',
-                )
-              ;(i.get(r.depthTexture).__webglTexture &&
-                r.depthTexture.image.width === r.width &&
-                r.depthTexture.image.height === r.height) ||
-                ((r.depthTexture.image.width = r.width),
-                (r.depthTexture.image.height = r.height),
-                (r.depthTexture.needsUpdate = !0)),
-                V(r.depthTexture, 0)
-              const s = i.get(r.depthTexture).__webglTexture
-              if (r.depthTexture.format === L) t.framebufferTexture2D(36160, 36096, 3553, s, 0)
-              else {
-                if (r.depthTexture.format !== A) throw new Error('Unknown depthTexture format')
-                t.framebufferTexture2D(36160, 33306, 3553, s, 0)
-              }
-            })(r.__webglFramebuffer, e)
-          } else if (s) {
-            r.__webglDepthbuffer = []
-            for (let i = 0; i < 6; i++)
-              n.bindFramebuffer(36160, r.__webglFramebuffer[i]),
-                (r.__webglDepthbuffer[i] = t.createRenderbuffer()),
-                Z(r.__webglDepthbuffer[i], e, !1)
-          } else
-            n.bindFramebuffer(36160, r.__webglFramebuffer),
-              (r.__webglDepthbuffer = t.createRenderbuffer()),
-              Z(r.__webglDepthbuffer, e, !1)
-          n.bindFramebuffer(36160, null)
-        }
-        function tt(t) {
-          return o && t.isWebGLMultisampleRenderTarget ? Math.min(x, t.samples) : 0
-        }
-        let et = !1,
-          nt = !1
-        ;(this.allocateTextureUnit = function () {
-          const t = G
-          return (
-            t >= l &&
-              console.warn(
-                'THREE.WebGLTextures: Trying to use ' +
-                  t +
-                  ' texture units while this GPU supports only ' +
-                  l,
-              ),
-            (G += 1),
-            t
-          )
-        }),
-          (this.resetTextureUnits = function () {
-            G = 0
-          }),
-          (this.setTexture2D = V),
-          (this.setTexture2DArray = function (t, e) {
-            const r = i.get(t)
-            t.version > 0 && r.__version !== t.version
-              ? Y(r, t, e)
-              : (n.activeTexture(33984 + e), n.bindTexture(35866, r.__webglTexture))
-          }),
-          (this.setTexture3D = function (t, e) {
-            const r = i.get(t)
-            t.version > 0 && r.__version !== t.version
-              ? Y(r, t, e)
-              : (n.activeTexture(33984 + e), n.bindTexture(32879, r.__webglTexture))
-          }),
-          (this.setTextureCube = k),
-          (this.setupRenderTarget = function (e) {
-            const l = e.texture,
-              c = i.get(e),
-              h = i.get(l)
-            e.addEventListener('dispose', H),
-              !0 !== e.isWebGLMultipleRenderTargets &&
-                ((h.__webglTexture = t.createTexture()),
-                (h.__version = l.version),
-                a.memory.textures++)
-            const u = !0 === e.isWebGLCubeRenderTarget,
-              d = !0 === e.isWebGLMultipleRenderTargets,
-              p = !0 === e.isWebGLMultisampleRenderTarget,
-              m = l.isDataTexture3D || l.isDataTexture2DArray,
-              f = N(e) || o
-            if (
-              (!o ||
-                l.format !== T ||
-                (l.type !== M && l.type !== w) ||
-                ((l.format = E),
-                console.warn(
-                  'THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.',
-                )),
-              u)
-            ) {
-              c.__webglFramebuffer = []
-              for (let e = 0; e < 6; e++) c.__webglFramebuffer[e] = t.createFramebuffer()
-            } else if (((c.__webglFramebuffer = t.createFramebuffer()), d))
-              if (r.drawBuffers) {
-                const n = e.texture
-                for (let e = 0, r = n.length; e < r; e++) {
-                  const r = i.get(n[e])
-                  void 0 === r.__webglTexture &&
-                    ((r.__webglTexture = t.createTexture()), a.memory.textures++)
-                }
-              } else
-                console.warn(
-                  'THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.',
-                )
-            else if (p)
-              if (o) {
-                ;(c.__webglMultisampledFramebuffer = t.createFramebuffer()),
-                  (c.__webglColorRenderbuffer = t.createRenderbuffer()),
-                  t.bindRenderbuffer(36161, c.__webglColorRenderbuffer)
-                const i = s.convert(l.format),
-                  r = s.convert(l.type),
-                  a = B(l.internalFormat, i, r),
-                  o = tt(e)
-                t.renderbufferStorageMultisample(36161, o, a, e.width, e.height),
-                  n.bindFramebuffer(36160, c.__webglMultisampledFramebuffer),
-                  t.framebufferRenderbuffer(36160, 36064, 36161, c.__webglColorRenderbuffer),
-                  t.bindRenderbuffer(36161, null),
-                  e.depthBuffer &&
-                    ((c.__webglDepthRenderbuffer = t.createRenderbuffer()),
-                    Z(c.__webglDepthRenderbuffer, e, !0)),
-                  n.bindFramebuffer(36160, null)
-              } else
-                console.warn(
-                  'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.',
-                )
-            if (u) {
-              n.bindTexture(34067, h.__webglTexture), q(34067, l, f)
-              for (let t = 0; t < 6; t++) J(c.__webglFramebuffer[t], e, l, 36064, 34069 + t)
-              z(l, f) && O(34067, l, e.width, e.height), n.bindTexture(34067, null)
-            } else if (d) {
-              const t = e.texture
-              for (let r = 0, s = t.length; r < s; r++) {
-                const s = t[r],
-                  a = i.get(s)
-                n.bindTexture(3553, a.__webglTexture),
-                  q(3553, s, f),
-                  J(c.__webglFramebuffer, e, s, 36064 + r, 3553),
-                  z(s, f) && O(3553, s, e.width, e.height)
-              }
-              n.bindTexture(3553, null)
-            } else {
-              let t = 3553
-              if (m)
-                if (o) {
-                  t = l.isDataTexture3D ? 32879 : 35866
-                } else
-                  console.warn(
-                    'THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.',
-                  )
-              n.bindTexture(t, h.__webglTexture),
-                q(t, l, f),
-                J(c.__webglFramebuffer, e, l, 36064, t),
-                z(l, f) && O(t, l, e.width, e.height, e.depth),
-                n.bindTexture(t, null)
-            }
-            e.depthBuffer && Q(e)
-          }),
-          (this.updateRenderTargetMipmap = function (t) {
-            const e = N(t) || o,
-              r = !0 === t.isWebGLMultipleRenderTargets ? t.texture : [t.texture]
-            for (let s = 0, a = r.length; s < a; s++) {
-              const a = r[s]
-              if (z(a, e)) {
-                const e = t.isWebGLCubeRenderTarget ? 34067 : 3553,
-                  r = i.get(a).__webglTexture
-                n.bindTexture(e, r), O(e, a, t.width, t.height), n.bindTexture(e, null)
-              }
-            }
-          }),
-          (this.updateMultisampleRenderTarget = function (e) {
-            if (e.isWebGLMultisampleRenderTarget)
-              if (o) {
-                const r = e.width,
-                  s = e.height
-                let a = 16384
-                e.depthBuffer && (a |= 256), e.stencilBuffer && (a |= 1024)
-                const o = i.get(e)
-                n.bindFramebuffer(36008, o.__webglMultisampledFramebuffer),
-                  n.bindFramebuffer(36009, o.__webglFramebuffer),
-                  t.blitFramebuffer(0, 0, r, s, 0, 0, r, s, a, 9728),
-                  n.bindFramebuffer(36008, null),
-                  n.bindFramebuffer(36009, o.__webglMultisampledFramebuffer)
-              } else
-                console.warn(
-                  'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.',
-                )
-          }),
-          (this.safeSetTexture2D = function (t, e) {
-            t &&
-              t.isWebGLRenderTarget &&
-              (!1 === et &&
-                (console.warn(
-                  "THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.",
-                ),
-                (et = !0)),
-              (t = t.texture)),
-              V(t, e)
-          }),
-          (this.safeSetTextureCube = function (t, e) {
-            t &&
-              t.isWebGLCubeRenderTarget &&
-              (!1 === nt &&
-                (console.warn(
-                  "THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.",
-                ),
-                (nt = !0)),
-              (t = t.texture)),
-              k(t, e)
-          })
-      }
-      function Gr(t, e, n) {
-        const i = n.isWebGL2
-        return {
-          convert: function (t) {
-            let n
-            if (t === x) return 5121
-            if (1017 === t) return 32819
-            if (1018 === t) return 32820
-            if (1019 === t) return 33635
-            if (1010 === t) return 5120
-            if (1011 === t) return 5122
-            if (t === _) return 5123
-            if (1013 === t) return 5124
-            if (t === b) return 5125
-            if (t === M) return 5126
-            if (t === w)
-              return i
-                ? 5131
-                : ((n = e.get('OES_texture_half_float')), null !== n ? n.HALF_FLOAT_OES : null)
-            if (1021 === t) return 6406
-            if (t === T) return 6407
-            if (t === E) return 6408
-            if (1024 === t) return 6409
-            if (1025 === t) return 6410
-            if (t === L) return 6402
-            if (t === A) return 34041
-            if (1028 === t) return 6403
-            if (1029 === t) return 36244
-            if (1030 === t) return 33319
-            if (1031 === t) return 33320
-            if (1032 === t) return 36248
-            if (1033 === t) return 36249
-            if (33776 === t || 33777 === t || 33778 === t || 33779 === t) {
-              if (((n = e.get('WEBGL_compressed_texture_s3tc')), null === n)) return null
-              if (33776 === t) return n.COMPRESSED_RGB_S3TC_DXT1_EXT
-              if (33777 === t) return n.COMPRESSED_RGBA_S3TC_DXT1_EXT
-              if (33778 === t) return n.COMPRESSED_RGBA_S3TC_DXT3_EXT
-              if (33779 === t) return n.COMPRESSED_RGBA_S3TC_DXT5_EXT
-            }
-            if (35840 === t || 35841 === t || 35842 === t || 35843 === t) {
-              if (((n = e.get('WEBGL_compressed_texture_pvrtc')), null === n)) return null
-              if (35840 === t) return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
-              if (35841 === t) return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
-              if (35842 === t) return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
-              if (35843 === t) return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
-            }
-            if (36196 === t)
-              return (
-                (n = e.get('WEBGL_compressed_texture_etc1')),
-                null !== n ? n.COMPRESSED_RGB_ETC1_WEBGL : null
-              )
-            if (
-              (37492 === t || 37496 === t) &&
-              ((n = e.get('WEBGL_compressed_texture_etc')), null !== n)
-            ) {
-              if (37492 === t) return n.COMPRESSED_RGB8_ETC2
-              if (37496 === t) return n.COMPRESSED_RGBA8_ETC2_EAC
-            }
-            return 37808 === t ||
-              37809 === t ||
-              37810 === t ||
-              37811 === t ||
-              37812 === t ||
-              37813 === t ||
-              37814 === t ||
-              37815 === t ||
-              37816 === t ||
-              37817 === t ||
-              37818 === t ||
-              37819 === t ||
-              37820 === t ||
-              37821 === t ||
-              37840 === t ||
-              37841 === t ||
-              37842 === t ||
-              37843 === t ||
-              37844 === t ||
-              37845 === t ||
-              37846 === t ||
-              37847 === t ||
-              37848 === t ||
-              37849 === t ||
-              37850 === t ||
-              37851 === t ||
-              37852 === t ||
-              37853 === t
-              ? ((n = e.get('WEBGL_compressed_texture_astc')), null !== n ? t : null)
-              : 36492 === t
-              ? ((n = e.get('EXT_texture_compression_bptc')), null !== n ? t : null)
-              : t === S
-              ? i
-                ? 34042
-                : ((n = e.get('WEBGL_depth_texture')),
-                  null !== n ? n.UNSIGNED_INT_24_8_WEBGL : null)
-              : void 0
-          },
-        }
-      }
-      class Vr extends Mn {
-        constructor(t = []) {
-          super(), (this.cameras = t)
-        }
-      }
-      Vr.prototype.isArrayCamera = !0
-      class kr extends pe {
-        constructor() {
-          super(), (this.type = 'Group')
-        }
-      }
-      kr.prototype.isGroup = !0
-      const Wr = { type: 'move' }
-      class jr {
-        constructor() {
-          ;(this._targetRay = null), (this._grip = null), (this._hand = null)
-        }
-        getHandSpace() {
-          return (
-            null === this._hand &&
-              ((this._hand = new kr()),
-              (this._hand.matrixAutoUpdate = !1),
-              (this._hand.visible = !1),
-              (this._hand.joints = {}),
-              (this._hand.inputState = { pinching: !1 })),
-            this._hand
-          )
-        }
-        getTargetRaySpace() {
-          return (
-            null === this._targetRay &&
-              ((this._targetRay = new kr()),
-              (this._targetRay.matrixAutoUpdate = !1),
-              (this._targetRay.visible = !1),
-              (this._targetRay.hasLinearVelocity = !1),
-              (this._targetRay.linearVelocity = new ut()),
-              (this._targetRay.hasAngularVelocity = !1),
-              (this._targetRay.angularVelocity = new ut())),
-            this._targetRay
-          )
-        }
-        getGripSpace() {
-          return (
-            null === this._grip &&
-              ((this._grip = new kr()),
-              (this._grip.matrixAutoUpdate = !1),
-              (this._grip.visible = !1),
-              (this._grip.hasLinearVelocity = !1),
-              (this._grip.linearVelocity = new ut()),
-              (this._grip.hasAngularVelocity = !1),
-              (this._grip.angularVelocity = new ut())),
-            this._grip
-          )
-        }
-        dispatchEvent(t) {
-          return (
-            null !== this._targetRay && this._targetRay.dispatchEvent(t),
-            null !== this._grip && this._grip.dispatchEvent(t),
-            null !== this._hand && this._hand.dispatchEvent(t),
-            this
-          )
-        }
-        disconnect(t) {
-          return (
-            this.dispatchEvent({ type: 'disconnected', data: t }),
-            null !== this._targetRay && (this._targetRay.visible = !1),
-            null !== this._grip && (this._grip.visible = !1),
-            null !== this._hand && (this._hand.visible = !1),
-            this
-          )
-        }
-        update(t, e, n) {
-          let i = null,
-            r = null,
-            s = null
-          const a = this._targetRay,
-            o = this._grip,
-            l = this._hand
-          if (t && 'visible-blurred' !== e.session.visibilityState)
-            if (
-              (null !== a &&
-                ((i = e.getPose(t.targetRaySpace, n)),
-                null !== i &&
-                  (a.matrix.fromArray(i.transform.matrix),
-                  a.matrix.decompose(a.position, a.rotation, a.scale),
-                  i.linearVelocity
-                    ? ((a.hasLinearVelocity = !0), a.linearVelocity.copy(i.linearVelocity))
-                    : (a.hasLinearVelocity = !1),
-                  i.angularVelocity
-                    ? ((a.hasAngularVelocity = !0), a.angularVelocity.copy(i.angularVelocity))
-                    : (a.hasAngularVelocity = !1),
-                  this.dispatchEvent(Wr))),
-              l && t.hand)
-            ) {
-              s = !0
-              for (const s of t.hand.values()) {
-                const t = e.getJointPose(s, n)
-                if (void 0 === l.joints[s.jointName]) {
-                  const t = new kr()
-                  ;(t.matrixAutoUpdate = !1),
-                    (t.visible = !1),
-                    (l.joints[s.jointName] = t),
-                    l.add(t)
-                }
-                const i = l.joints[s.jointName]
-                null !== t &&
-                  (i.matrix.fromArray(t.transform.matrix),
-                  i.matrix.decompose(i.position, i.rotation, i.scale),
-                  (i.jointRadius = t.radius)),
-                  (i.visible = null !== t)
-              }
-              const i = l.joints['index-finger-tip'],
-                r = l.joints['thumb-tip'],
-                a = i.position.distanceTo(r.position),
-                o = 0.02,
-                c = 0.005
-              l.inputState.pinching && a > o + c
-                ? ((l.inputState.pinching = !1),
-                  this.dispatchEvent({ type: 'pinchend', handedness: t.handedness, target: this }))
-                : !l.inputState.pinching &&
-                  a <= o - c &&
-                  ((l.inputState.pinching = !0),
-                  this.dispatchEvent({
-                    type: 'pinchstart',
-                    handedness: t.handedness,
-                    target: this,
-                  }))
-            } else
-              null !== o &&
-                t.gripSpace &&
-                ((r = e.getPose(t.gripSpace, n)),
-                null !== r &&
-                  (o.matrix.fromArray(r.transform.matrix),
-                  o.matrix.decompose(o.position, o.rotation, o.scale),
-                  r.linearVelocity
-                    ? ((o.hasLinearVelocity = !0), o.linearVelocity.copy(r.linearVelocity))
-                    : (o.hasLinearVelocity = !1),
-                  r.angularVelocity
-                    ? ((o.hasAngularVelocity = !0), o.angularVelocity.copy(r.angularVelocity))
-                    : (o.hasAngularVelocity = !1)))
-          return (
-            null !== a && (a.visible = null !== i),
-            null !== o && (o.visible = null !== r),
-            null !== l && (l.visible = null !== s),
-            this
-          )
-        }
-      }
-      class qr extends W {
-        constructor(t, e) {
-          super()
-          const n = this,
-            i = t.state
-          let r = null,
-            s = 1,
-            a = null,
-            o = 'local-floor',
-            l = null,
-            c = null,
-            h = null,
-            u = null
-          const d = [],
-            p = new Map(),
-            m = new Mn()
-          m.layers.enable(1), (m.viewport = new ot())
-          const f = new Mn()
-          f.layers.enable(2), (f.viewport = new ot())
-          const g = [m, f],
-            v = new Vr()
-          v.layers.enable(1), v.layers.enable(2)
-          let y = null,
-            x = null
-          function _(t) {
-            const e = p.get(t.inputSource)
-            e && e.dispatchEvent({ type: t.type, data: t.inputSource })
-          }
-          function b() {
-            p.forEach(function (t, e) {
-              t.disconnect(e)
-            }),
-              p.clear(),
-              (y = null),
-              (x = null),
-              i.bindXRFramebuffer(null),
-              t.setRenderTarget(t.getRenderTarget()),
-              L.stop(),
-              (n.isPresenting = !1),
-              n.dispatchEvent({ type: 'sessionend' })
-          }
-          function M(t) {
-            const e = r.inputSources
-            for (let n = 0; n < d.length; n++) p.set(e[n], d[n])
-            for (let n = 0; n < t.removed.length; n++) {
-              const e = t.removed[n],
-                i = p.get(e)
-              i && (i.dispatchEvent({ type: 'disconnected', data: e }), p.delete(e))
-            }
-            for (let n = 0; n < t.added.length; n++) {
-              const e = t.added[n],
-                i = p.get(e)
-              i && i.dispatchEvent({ type: 'connected', data: e })
-            }
-          }
-          ;(this.cameraAutoUpdate = !0),
-            (this.enabled = !1),
-            (this.isPresenting = !1),
-            (this.getController = function (t) {
-              let e = d[t]
-              return void 0 === e && ((e = new jr()), (d[t] = e)), e.getTargetRaySpace()
-            }),
-            (this.getControllerGrip = function (t) {
-              let e = d[t]
-              return void 0 === e && ((e = new jr()), (d[t] = e)), e.getGripSpace()
-            }),
-            (this.getHand = function (t) {
-              let e = d[t]
-              return void 0 === e && ((e = new jr()), (d[t] = e)), e.getHandSpace()
-            }),
-            (this.setFramebufferScaleFactor = function (t) {
-              ;(s = t),
-                !0 === n.isPresenting &&
-                  console.warn(
-                    'THREE.WebXRManager: Cannot change framebuffer scale while presenting.',
-                  )
-            }),
-            (this.setReferenceSpaceType = function (t) {
-              ;(o = t),
-                !0 === n.isPresenting &&
-                  console.warn(
-                    'THREE.WebXRManager: Cannot change reference space type while presenting.',
-                  )
-            }),
-            (this.getReferenceSpace = function () {
-              return a
-            }),
-            (this.getSession = function () {
-              return r
-            }),
-            (this.setSession = async function (t) {
-              if (((r = t), null !== r)) {
-                r.addEventListener('select', _),
-                  r.addEventListener('selectstart', _),
-                  r.addEventListener('selectend', _),
-                  r.addEventListener('squeeze', _),
-                  r.addEventListener('squeezestart', _),
-                  r.addEventListener('squeezeend', _),
-                  r.addEventListener('end', b),
-                  r.addEventListener('inputsourceschange', M)
-                const t = e.getContextAttributes()
-                if (
-                  (!0 !== t.xrCompatible && (await e.makeXRCompatible()),
-                  void 0 === r.renderState.layers)
-                ) {
-                  const n = {
-                      antialias: t.antialias,
-                      alpha: t.alpha,
-                      depth: t.depth,
-                      stencil: t.stencil,
-                      framebufferScaleFactor: s,
-                    },
-                    i = new XRWebGLLayer(r, e, n)
-                  r.updateRenderState({ baseLayer: i })
-                } else {
-                  let n = 0
-                  t.depth && (n = t.stencil ? 34041 : 6402)
-                  const i = { colorFormat: t.alpha ? 6408 : 6407, depthFormat: n, scaleFactor: s }
-                  ;(c = new XRWebGLBinding(r, e)),
-                    (u = c.createProjectionLayer(i)),
-                    (h = e.createFramebuffer()),
-                    r.updateRenderState({ layers: [u] })
-                }
-                ;(a = await r.requestReferenceSpace(o)),
-                  L.setContext(r),
-                  L.start(),
-                  (n.isPresenting = !0),
-                  n.dispatchEvent({ type: 'sessionstart' })
-              }
-            })
-          const w = new ut(),
-            S = new ut()
-          function T(t, e) {
-            null === e
-              ? t.matrixWorld.copy(t.matrix)
-              : t.matrixWorld.multiplyMatrices(e.matrixWorld, t.matrix),
-              t.matrixWorldInverse.copy(t.matrixWorld).invert()
-          }
-          ;(this.updateCamera = function (t) {
-            if (null === r) return
-            ;(v.near = f.near = m.near = t.near),
-              (v.far = f.far = m.far = t.far),
-              (y === v.near && x === v.far) ||
-                (r.updateRenderState({ depthNear: v.near, depthFar: v.far }),
-                (y = v.near),
-                (x = v.far))
-            const e = t.parent,
-              n = v.cameras
-            T(v, e)
-            for (let r = 0; r < n.length; r++) T(n[r], e)
-            v.matrixWorld.decompose(v.position, v.quaternion, v.scale),
-              t.position.copy(v.position),
-              t.quaternion.copy(v.quaternion),
-              t.scale.copy(v.scale),
-              t.matrix.copy(v.matrix),
-              t.matrixWorld.copy(v.matrixWorld)
-            const i = t.children
-            for (let r = 0, s = i.length; r < s; r++) i[r].updateMatrixWorld(!0)
-            2 === n.length
-              ? (function (t, e, n) {
-                  w.setFromMatrixPosition(e.matrixWorld), S.setFromMatrixPosition(n.matrixWorld)
-                  const i = w.distanceTo(S),
-                    r = e.projectionMatrix.elements,
-                    s = n.projectionMatrix.elements,
-                    a = r[14] / (r[10] - 1),
-                    o = r[14] / (r[10] + 1),
-                    l = (r[9] + 1) / r[5],
-                    c = (r[9] - 1) / r[5],
-                    h = (r[8] - 1) / r[0],
-                    u = (s[8] + 1) / s[0],
-                    d = a * h,
-                    p = a * u,
-                    m = i / (-h + u),
-                    f = m * -h
-                  e.matrixWorld.decompose(t.position, t.quaternion, t.scale),
-                    t.translateX(f),
-                    t.translateZ(m),
-                    t.matrixWorld.compose(t.position, t.quaternion, t.scale),
-                    t.matrixWorldInverse.copy(t.matrixWorld).invert()
-                  const g = a + m,
-                    v = o + m,
-                    y = d - f,
-                    x = p + (i - f),
-                    _ = ((l * o) / v) * g,
-                    b = ((c * o) / v) * g
-                  t.projectionMatrix.makePerspective(y, x, _, b, g, v)
-                })(v, m, f)
-              : v.projectionMatrix.copy(m.projectionMatrix)
-          }),
-            (this.getCamera = function () {
-              return v
-            })
-          let E = null
-          const L = new Nn()
-          L.setAnimationLoop(function (t, n) {
-            if (((l = n.getViewerPose(a)), null !== l)) {
-              const t = l.views,
-                n = r.renderState.baseLayer
-              void 0 === r.renderState.layers && i.bindXRFramebuffer(n.framebuffer)
-              let s = !1
-              t.length !== v.cameras.length && ((v.cameras.length = 0), (s = !0))
-              for (let a = 0; a < t.length; a++) {
-                const o = t[a]
-                let l = null
-                if (void 0 === r.renderState.layers) l = n.getViewport(o)
-                else {
-                  const t = c.getViewSubImage(u, o)
-                  i.bindXRFramebuffer(h),
-                    e.framebufferTexture2D(36160, 36064, 3553, t.colorTexture, 0),
-                    void 0 !== t.depthStencilTexture &&
-                      e.framebufferTexture2D(36160, 36096, 3553, t.depthStencilTexture, 0),
-                    (l = t.viewport)
-                }
-                const d = g[a]
-                d.matrix.fromArray(o.transform.matrix),
-                  d.projectionMatrix.fromArray(o.projectionMatrix),
-                  d.viewport.set(l.x, l.y, l.width, l.height),
-                  0 === a && v.matrix.copy(d.matrix),
-                  !0 === s && v.cameras.push(d)
-              }
-            }
-            const s = r.inputSources
-            for (let e = 0; e < d.length; e++) {
-              const t = d[e],
-                i = s[e]
-              t.update(i, n, a)
-            }
-            E && E(t, n)
-          }),
-            (this.setAnimationLoop = function (t) {
-              E = t
-            }),
-            (this.dispose = function () {})
-        }
-      }
-      function Xr(t) {
-        function e(e, n) {
-          ;(e.opacity.value = n.opacity),
-            n.color && e.diffuse.value.copy(n.color),
-            n.emissive && e.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity),
-            n.map && (e.map.value = n.map),
-            n.alphaMap && (e.alphaMap.value = n.alphaMap),
-            n.specularMap && (e.specularMap.value = n.specularMap)
-          const i = t.get(n).envMap
-          if (i) {
-            ;(e.envMap.value = i),
-              (e.flipEnvMap.value = i.isCubeTexture && i._needsFlipEnvMap ? -1 : 1),
-              (e.reflectivity.value = n.reflectivity),
-              (e.refractionRatio.value = n.refractionRatio)
-            const r = t.get(i).__maxMipLevel
-            void 0 !== r && (e.maxMipLevel.value = r)
-          }
-          let r, s
-          n.lightMap &&
-            ((e.lightMap.value = n.lightMap), (e.lightMapIntensity.value = n.lightMapIntensity)),
-            n.aoMap && ((e.aoMap.value = n.aoMap), (e.aoMapIntensity.value = n.aoMapIntensity)),
-            n.map
-              ? (r = n.map)
-              : n.specularMap
-              ? (r = n.specularMap)
-              : n.displacementMap
-              ? (r = n.displacementMap)
-              : n.normalMap
-              ? (r = n.normalMap)
-              : n.bumpMap
-              ? (r = n.bumpMap)
-              : n.roughnessMap
-              ? (r = n.roughnessMap)
-              : n.metalnessMap
-              ? (r = n.metalnessMap)
-              : n.alphaMap
-              ? (r = n.alphaMap)
-              : n.emissiveMap
-              ? (r = n.emissiveMap)
-              : n.clearcoatMap
-              ? (r = n.clearcoatMap)
-              : n.clearcoatNormalMap
-              ? (r = n.clearcoatNormalMap)
-              : n.clearcoatRoughnessMap && (r = n.clearcoatRoughnessMap),
-            void 0 !== r &&
-              (r.isWebGLRenderTarget && (r = r.texture),
-              !0 === r.matrixAutoUpdate && r.updateMatrix(),
-              e.uvTransform.value.copy(r.matrix)),
-            n.aoMap ? (s = n.aoMap) : n.lightMap && (s = n.lightMap),
-            void 0 !== s &&
-              (s.isWebGLRenderTarget && (s = s.texture),
-              !0 === s.matrixAutoUpdate && s.updateMatrix(),
-              e.uv2Transform.value.copy(s.matrix))
-        }
-        function n(e, n) {
-          ;(e.roughness.value = n.roughness),
-            (e.metalness.value = n.metalness),
-            n.roughnessMap && (e.roughnessMap.value = n.roughnessMap),
-            n.metalnessMap && (e.metalnessMap.value = n.metalnessMap),
-            n.emissiveMap && (e.emissiveMap.value = n.emissiveMap),
-            n.bumpMap &&
-              ((e.bumpMap.value = n.bumpMap),
-              (e.bumpScale.value = n.bumpScale),
-              n.side === s && (e.bumpScale.value *= -1)),
-            n.normalMap &&
-              ((e.normalMap.value = n.normalMap),
-              e.normalScale.value.copy(n.normalScale),
-              n.side === s && e.normalScale.value.negate()),
-            n.displacementMap &&
-              ((e.displacementMap.value = n.displacementMap),
-              (e.displacementScale.value = n.displacementScale),
-              (e.displacementBias.value = n.displacementBias))
-          t.get(n).envMap && (e.envMapIntensity.value = n.envMapIntensity)
-        }
-        return {
-          refreshFogUniforms: function (t, e) {
-            t.fogColor.value.copy(e.color),
-              e.isFog
-                ? ((t.fogNear.value = e.near), (t.fogFar.value = e.far))
-                : e.isFogExp2 && (t.fogDensity.value = e.density)
-          },
-          refreshMaterialUniforms: function (t, i, r, a, o) {
-            i.isMeshBasicMaterial
-              ? e(t, i)
-              : i.isMeshLambertMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.emissiveMap && (t.emissiveMap.value = e.emissiveMap)
-                })(t, i))
-              : i.isMeshToonMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.gradientMap && (t.gradientMap.value = e.gradientMap)
-                  e.emissiveMap && (t.emissiveMap.value = e.emissiveMap)
-                  e.bumpMap &&
-                    ((t.bumpMap.value = e.bumpMap),
-                    (t.bumpScale.value = e.bumpScale),
-                    e.side === s && (t.bumpScale.value *= -1))
-                  e.normalMap &&
-                    ((t.normalMap.value = e.normalMap),
-                    t.normalScale.value.copy(e.normalScale),
-                    e.side === s && t.normalScale.value.negate())
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                })(t, i))
-              : i.isMeshPhongMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  t.specular.value.copy(e.specular),
-                    (t.shininess.value = Math.max(e.shininess, 1e-4)),
-                    e.emissiveMap && (t.emissiveMap.value = e.emissiveMap)
-                  e.bumpMap &&
-                    ((t.bumpMap.value = e.bumpMap),
-                    (t.bumpScale.value = e.bumpScale),
-                    e.side === s && (t.bumpScale.value *= -1))
-                  e.normalMap &&
-                    ((t.normalMap.value = e.normalMap),
-                    t.normalScale.value.copy(e.normalScale),
-                    e.side === s && t.normalScale.value.negate())
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                })(t, i))
-              : i.isMeshStandardMaterial
-              ? (e(t, i),
-                i.isMeshPhysicalMaterial
-                  ? (function (t, e, i) {
-                      n(t, e),
-                        (t.reflectivity.value = e.reflectivity),
-                        (t.clearcoat.value = e.clearcoat),
-                        (t.clearcoatRoughness.value = e.clearcoatRoughness),
-                        e.sheen && t.sheen.value.copy(e.sheen)
-                      e.clearcoatMap && (t.clearcoatMap.value = e.clearcoatMap)
-                      e.clearcoatRoughnessMap &&
-                        (t.clearcoatRoughnessMap.value = e.clearcoatRoughnessMap)
-                      e.clearcoatNormalMap &&
-                        (t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),
-                        (t.clearcoatNormalMap.value = e.clearcoatNormalMap),
-                        e.side === s && t.clearcoatNormalScale.value.negate())
-                      ;(t.transmission.value = e.transmission),
-                        e.transmissionMap && (t.transmissionMap.value = e.transmissionMap)
-                      e.transmission > 0 &&
-                        ((t.transmissionSamplerMap.value = i.texture),
-                        t.transmissionSamplerSize.value.set(i.width, i.height))
-                      ;(t.thickness.value = e.thickness),
-                        e.thicknessMap && (t.thicknessMap.value = e.thicknessMap)
-                      ;(t.attenuationDistance.value = e.attenuationDistance),
-                        t.attenuationColor.value.copy(e.attenuationColor)
-                    })(t, i, o)
-                  : n(t, i))
-              : i.isMeshMatcapMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.matcap && (t.matcap.value = e.matcap)
-                  e.bumpMap &&
-                    ((t.bumpMap.value = e.bumpMap),
-                    (t.bumpScale.value = e.bumpScale),
-                    e.side === s && (t.bumpScale.value *= -1))
-                  e.normalMap &&
-                    ((t.normalMap.value = e.normalMap),
-                    t.normalScale.value.copy(e.normalScale),
-                    e.side === s && t.normalScale.value.negate())
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                })(t, i))
-              : i.isMeshDepthMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                })(t, i))
-              : i.isMeshDistanceMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                  t.referencePosition.value.copy(e.referencePosition),
-                    (t.nearDistance.value = e.nearDistance),
-                    (t.farDistance.value = e.farDistance)
-                })(t, i))
-              : i.isMeshNormalMaterial
-              ? (e(t, i),
-                (function (t, e) {
-                  e.bumpMap &&
-                    ((t.bumpMap.value = e.bumpMap),
-                    (t.bumpScale.value = e.bumpScale),
-                    e.side === s && (t.bumpScale.value *= -1))
-                  e.normalMap &&
-                    ((t.normalMap.value = e.normalMap),
-                    t.normalScale.value.copy(e.normalScale),
-                    e.side === s && t.normalScale.value.negate())
-                  e.displacementMap &&
-                    ((t.displacementMap.value = e.displacementMap),
-                    (t.displacementScale.value = e.displacementScale),
-                    (t.displacementBias.value = e.displacementBias))
-                })(t, i))
-              : i.isLineBasicMaterial
-              ? ((function (t, e) {
-                  t.diffuse.value.copy(e.color), (t.opacity.value = e.opacity)
-                })(t, i),
-                i.isLineDashedMaterial &&
-                  (function (t, e) {
-                    ;(t.dashSize.value = e.dashSize),
-                      (t.totalSize.value = e.dashSize + e.gapSize),
-                      (t.scale.value = e.scale)
-                  })(t, i))
-              : i.isPointsMaterial
-              ? (function (t, e, n, i) {
-                  t.diffuse.value.copy(e.color),
-                    (t.opacity.value = e.opacity),
-                    (t.size.value = e.size * n),
-                    (t.scale.value = 0.5 * i),
-                    e.map && (t.map.value = e.map)
-                  e.alphaMap && (t.alphaMap.value = e.alphaMap)
-                  let r
-                  e.map ? (r = e.map) : e.alphaMap && (r = e.alphaMap)
-                  void 0 !== r &&
-                    (!0 === r.matrixAutoUpdate && r.updateMatrix(),
-                    t.uvTransform.value.copy(r.matrix))
-                })(t, i, r, a)
-              : i.isSpriteMaterial
-              ? (function (t, e) {
-                  t.diffuse.value.copy(e.color),
-                    (t.opacity.value = e.opacity),
-                    (t.rotation.value = e.rotation),
-                    e.map && (t.map.value = e.map)
-                  e.alphaMap && (t.alphaMap.value = e.alphaMap)
-                  let n
-                  e.map ? (n = e.map) : e.alphaMap && (n = e.alphaMap)
-                  void 0 !== n &&
-                    (!0 === n.matrixAutoUpdate && n.updateMatrix(),
-                    t.uvTransform.value.copy(n.matrix))
-                })(t, i)
-              : i.isShadowMaterial
-              ? (t.color.value.copy(i.color), (t.opacity.value = i.opacity))
-              : i.isShaderMaterial && (i.uniformsNeedUpdate = !1)
-          },
-        }
-      }
-      function Yr(t = {}) {
-        const e =
-            void 0 !== t.canvas
-              ? t.canvas
-              : (function () {
-                  const t = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')
-                  return (t.style.display = 'block'), t
-                })(),
-          n = void 0 !== t.context ? t.context : null,
-          i = void 0 !== t.alpha && t.alpha,
-          r = void 0 === t.depth || t.depth,
-          a = void 0 === t.stencil || t.stencil,
-          o = void 0 !== t.antialias && t.antialias,
-          l = void 0 === t.premultipliedAlpha || t.premultipliedAlpha,
-          c = void 0 !== t.preserveDrawingBuffer && t.preserveDrawingBuffer,
-          h = void 0 !== t.powerPreference ? t.powerPreference : 'default',
-          u = void 0 !== t.failIfMajorPerformanceCaveat && t.failIfMajorPerformanceCaveat
-        let p = null,
-          f = null
-        const g = [],
-          v = []
-        ;(this.domElement = e),
-          (this.debug = { checkShaderErrors: !0 }),
-          (this.autoClear = !0),
-          (this.autoClearColor = !0),
-          (this.autoClearDepth = !0),
-          (this.autoClearStencil = !0),
-          (this.sortObjects = !0),
-          (this.clippingPlanes = []),
-          (this.localClippingEnabled = !1),
-          (this.gammaFactor = 2),
-          (this.outputEncoding = O),
-          (this.physicallyCorrectLights = !1),
-          (this.toneMapping = 0),
-          (this.toneMappingExposure = 1)
-        const _ = this
-        let b = !1,
-          S = 0,
-          T = 0,
-          L = null,
-          A = -1,
-          R = null
-        const C = new ot(),
-          P = new ot()
-        let D = null,
-          I = e.width,
-          N = e.height,
-          z = 1,
-          B = null,
-          F = null
-        const U = new ot(0, 0, I, N),
-          H = new ot(0, 0, I, N)
-        let G = !1
-        const V = [],
-          k = new In()
-        let W = !1,
-          j = !1,
-          q = null
-        const X = new Vt(),
-          Y = new ut(),
-          J = {
-            background: null,
-            fog: null,
-            environment: null,
-            overrideMaterial: null,
-            isScene: !0,
-          }
-        function Z() {
-          return null === L ? z : 1
-        }
-        let Q,
-          K,
-          $,
-          tt,
-          et,
-          nt,
-          it,
-          rt,
-          st,
-          at,
-          ht,
-          dt,
-          pt,
-          mt,
-          ft,
-          gt,
-          vt,
-          yt,
-          xt,
-          _t,
-          bt,
-          Mt,
-          wt = n
-        function St(t, n) {
-          for (let i = 0; i < t.length; i++) {
-            const r = t[i],
-              s = e.getContext(r, n)
-            if (null !== s) return s
-          }
-          return null
-        }
-        try {
-          const t = {
-            alpha: i,
-            depth: r,
-            stencil: a,
-            antialias: o,
-            premultipliedAlpha: l,
-            preserveDrawingBuffer: c,
-            powerPreference: h,
-            failIfMajorPerformanceCaveat: u,
-          }
-          if (
-            (e.addEventListener('webglcontextlost', Lt, !1),
-            e.addEventListener('webglcontextrestored', At, !1),
-            null === wt)
-          ) {
-            const e = ['webgl2', 'webgl', 'experimental-webgl']
-            if ((!0 === _.isWebGL1Renderer && e.shift(), (wt = St(e, t)), null === wt))
-              throw St(e)
-                ? new Error('Error creating WebGL context with your selected attributes.')
-                : new Error('Error creating WebGL context.')
-          }
-          void 0 === wt.getShaderPrecisionFormat &&
-            (wt.getShaderPrecisionFormat = function () {
-              return { rangeMin: 1, rangeMax: 1, precision: 1 }
-            })
-        } catch (Ht) {
-          throw (console.error('THREE.WebGLRenderer: ' + Ht.message), Ht)
-        }
-        function Tt() {
-          ;(Q = new qn(wt)),
-            (K = new kn(wt, Q, t)),
-            Q.init(K),
-            (bt = new Gr(wt, Q, K)),
-            ($ = new Ur(wt, Q, K)),
-            (V[0] = 1029),
-            (tt = new Jn(wt)),
-            (et = new Tr()),
-            (nt = new Hr(wt, Q, $, et, K, bt, tt)),
-            (it = new jn(_)),
-            (rt = new zn(wt, K)),
-            (Mt = new Gn(wt, Q, rt, K)),
-            (st = new Xn(wt, rt, tt, Mt)),
-            (at = new $n(wt, st, rt, tt)),
-            (yt = new Kn(wt)),
-            (ft = new Wn(et)),
-            (ht = new Sr(_, it, Q, K, Mt, ft)),
-            (dt = new Xr(et)),
-            (pt = new Rr(et)),
-            (mt = new zr(Q, K)),
-            (vt = new Hn(_, it, $, at, l)),
-            (gt = new Fr(_, at, K)),
-            (xt = new Vn(wt, Q, tt, K)),
-            (_t = new Yn(wt, Q, tt, K)),
-            (tt.programs = ht.programs),
-            (_.capabilities = K),
-            (_.extensions = Q),
-            (_.properties = et),
-            (_.renderLists = pt),
-            (_.shadowMap = gt),
-            (_.state = $),
-            (_.info = tt)
-        }
-        Tt()
-        const Et = new qr(_, wt)
-        function Lt(t) {
-          t.preventDefault(), console.log('THREE.WebGLRenderer: Context Lost.'), (b = !0)
-        }
-        function At() {
-          console.log('THREE.WebGLRenderer: Context Restored.'), (b = !1)
-          const t = tt.autoReset,
-            e = gt.enabled,
-            n = gt.autoUpdate,
-            i = gt.needsUpdate,
-            r = gt.type
-          Tt(),
-            (tt.autoReset = t),
-            (gt.enabled = e),
-            (gt.autoUpdate = n),
-            (gt.needsUpdate = i),
-            (gt.type = r)
-        }
-        function Rt(t) {
-          const e = t.target
-          e.removeEventListener('dispose', Rt),
-            (function (t) {
-              ;(function (t) {
-                const e = et.get(t).programs
-                void 0 !== e &&
-                  e.forEach(function (t) {
-                    ht.releaseProgram(t)
-                  })
-              })(t),
-                et.remove(t)
-            })(e)
-        }
-        ;(this.xr = Et),
-          (this.getContext = function () {
-            return wt
-          }),
-          (this.getContextAttributes = function () {
-            return wt.getContextAttributes()
-          }),
-          (this.forceContextLoss = function () {
-            const t = Q.get('WEBGL_lose_context')
-            t && t.loseContext()
-          }),
-          (this.forceContextRestore = function () {
-            const t = Q.get('WEBGL_lose_context')
-            t && t.restoreContext()
-          }),
-          (this.getPixelRatio = function () {
-            return z
-          }),
-          (this.setPixelRatio = function (t) {
-            void 0 !== t && ((z = t), this.setSize(I, N, !1))
-          }),
-          (this.getSize = function (t) {
-            return t.set(I, N)
-          }),
-          (this.setSize = function (t, n, i) {
-            Et.isPresenting
-              ? console.warn(
-                  "THREE.WebGLRenderer: Can't change size while VR device is presenting.",
-                )
-              : ((I = t),
-                (N = n),
-                (e.width = Math.floor(t * z)),
-                (e.height = Math.floor(n * z)),
-                !1 !== i && ((e.style.width = t + 'px'), (e.style.height = n + 'px')),
-                this.setViewport(0, 0, t, n))
-          }),
-          (this.getDrawingBufferSize = function (t) {
-            return t.set(I * z, N * z).floor()
-          }),
-          (this.setDrawingBufferSize = function (t, n, i) {
-            ;(I = t),
-              (N = n),
-              (z = i),
-              (e.width = Math.floor(t * i)),
-              (e.height = Math.floor(n * i)),
-              this.setViewport(0, 0, t, n)
-          }),
-          (this.getCurrentViewport = function (t) {
-            return t.copy(C)
-          }),
-          (this.getViewport = function (t) {
-            return t.copy(U)
-          }),
-          (this.setViewport = function (t, e, n, i) {
-            t.isVector4 ? U.set(t.x, t.y, t.z, t.w) : U.set(t, e, n, i),
-              $.viewport(C.copy(U).multiplyScalar(z).floor())
-          }),
-          (this.getScissor = function (t) {
-            return t.copy(H)
-          }),
-          (this.setScissor = function (t, e, n, i) {
-            t.isVector4 ? H.set(t.x, t.y, t.z, t.w) : H.set(t, e, n, i),
-              $.scissor(P.copy(H).multiplyScalar(z).floor())
-          }),
-          (this.getScissorTest = function () {
-            return G
-          }),
-          (this.setScissorTest = function (t) {
-            $.setScissorTest((G = t))
-          }),
-          (this.setOpaqueSort = function (t) {
-            B = t
-          }),
-          (this.setTransparentSort = function (t) {
-            F = t
-          }),
-          (this.getClearColor = function (t) {
-            return t.copy(vt.getClearColor())
-          }),
-          (this.setClearColor = function () {
-            vt.setClearColor.apply(vt, arguments)
-          }),
-          (this.getClearAlpha = function () {
-            return vt.getClearAlpha()
-          }),
-          (this.setClearAlpha = function () {
-            vt.setClearAlpha.apply(vt, arguments)
-          }),
-          (this.clear = function (t, e, n) {
-            let i = 0
-            ;(void 0 === t || t) && (i |= 16384),
-              (void 0 === e || e) && (i |= 256),
-              (void 0 === n || n) && (i |= 1024),
-              wt.clear(i)
-          }),
-          (this.clearColor = function () {
-            this.clear(!0, !1, !1)
-          }),
-          (this.clearDepth = function () {
-            this.clear(!1, !0, !1)
-          }),
-          (this.clearStencil = function () {
-            this.clear(!1, !1, !0)
-          }),
-          (this.dispose = function () {
-            e.removeEventListener('webglcontextlost', Lt, !1),
-              e.removeEventListener('webglcontextrestored', At, !1),
-              pt.dispose(),
-              mt.dispose(),
-              et.dispose(),
-              it.dispose(),
-              at.dispose(),
-              Mt.dispose(),
-              Et.dispose(),
-              Et.removeEventListener('sessionstart', Pt),
-              Et.removeEventListener('sessionend', Dt),
-              q && (q.dispose(), (q = null)),
-              It.stop()
-          }),
-          (this.renderBufferImmediate = function (t, e) {
-            Mt.initAttributes()
-            const n = et.get(t)
-            t.hasPositions && !n.position && (n.position = wt.createBuffer()),
-              t.hasNormals && !n.normal && (n.normal = wt.createBuffer()),
-              t.hasUvs && !n.uv && (n.uv = wt.createBuffer()),
-              t.hasColors && !n.color && (n.color = wt.createBuffer())
-            const i = e.getAttributes()
-            t.hasPositions &&
-              (wt.bindBuffer(34962, n.position),
-              wt.bufferData(34962, t.positionArray, 35048),
-              Mt.enableAttribute(i.position),
-              wt.vertexAttribPointer(i.position, 3, 5126, !1, 0, 0)),
-              t.hasNormals &&
-                (wt.bindBuffer(34962, n.normal),
-                wt.bufferData(34962, t.normalArray, 35048),
-                Mt.enableAttribute(i.normal),
-                wt.vertexAttribPointer(i.normal, 3, 5126, !1, 0, 0)),
-              t.hasUvs &&
-                (wt.bindBuffer(34962, n.uv),
-                wt.bufferData(34962, t.uvArray, 35048),
-                Mt.enableAttribute(i.uv),
-                wt.vertexAttribPointer(i.uv, 2, 5126, !1, 0, 0)),
-              t.hasColors &&
-                (wt.bindBuffer(34962, n.color),
-                wt.bufferData(34962, t.colorArray, 35048),
-                Mt.enableAttribute(i.color),
-                wt.vertexAttribPointer(i.color, 3, 5126, !1, 0, 0)),
-              Mt.disableUnusedAttributes(),
-              wt.drawArrays(4, 0, t.count),
-              (t.count = 0)
-          }),
-          (this.renderBufferDirect = function (t, e, n, i, r, s) {
-            null === e && (e = J)
-            const a = r.isMesh && r.matrixWorld.determinant() < 0,
-              o = Ut(t, e, i, r)
-            $.setMaterial(i, a)
-            let l = n.index
-            const c = n.attributes.position
-            if (null === l) {
-              if (void 0 === c || 0 === c.count) return
-            } else if (0 === l.count) return
-            let h,
-              u = 1
-            !0 === i.wireframe && ((l = st.getWireframeAttribute(n)), (u = 2)),
-              (i.morphTargets || i.morphNormals) && yt.update(r, n, i, o),
-              Mt.setup(r, i, o, n, l)
-            let d = xt
-            null !== l && ((h = rt.get(l)), (d = _t), d.setIndex(h))
-            const p = null !== l ? l.count : c.count,
-              m = n.drawRange.start * u,
-              f = n.drawRange.count * u,
-              g = null !== s ? s.start * u : 0,
-              v = null !== s ? s.count * u : 1 / 0,
-              y = Math.max(m, g),
-              x = Math.min(p, m + f, g + v) - 1,
-              _ = Math.max(0, x - y + 1)
-            if (0 !== _) {
-              if (r.isMesh)
-                !0 === i.wireframe
-                  ? ($.setLineWidth(i.wireframeLinewidth * Z()), d.setMode(1))
-                  : d.setMode(4)
-              else if (r.isLine) {
-                let t = i.linewidth
-                void 0 === t && (t = 1),
-                  $.setLineWidth(t * Z()),
-                  r.isLineSegments ? d.setMode(1) : r.isLineLoop ? d.setMode(2) : d.setMode(3)
-              } else r.isPoints ? d.setMode(0) : r.isSprite && d.setMode(4)
-              if (r.isInstancedMesh) d.renderInstances(y, _, r.count)
-              else if (n.isInstancedBufferGeometry) {
-                const t = Math.min(n.instanceCount, n._maxInstanceCount)
-                d.renderInstances(y, _, t)
-              } else d.render(y, _)
-            }
-          }),
-          (this.compile = function (t, e) {
-            ;(f = mt.get(t)),
-              f.init(),
-              t.traverseVisible(function (t) {
-                t.isLight &&
-                  t.layers.test(e.layers) &&
-                  (f.pushLight(t), t.castShadow && f.pushShadow(t))
-              }),
-              f.setupLights(),
-              t.traverse(function (e) {
-                const n = e.material
-                if (n)
-                  if (Array.isArray(n))
-                    for (let i = 0; i < n.length; i++) {
-                      Bt(n[i], t, e)
-                    }
-                  else Bt(n, t, e)
-              })
-          })
-        let Ct = null
-        function Pt() {
-          It.stop()
-        }
-        function Dt() {
-          It.start()
-        }
-        const It = new Nn()
-        function Nt(t, e, n, i) {
-          if (!1 === t.visible) return
-          if (t.layers.test(e.layers))
-            if (t.isGroup) n = t.renderOrder
-            else if (t.isLOD) !0 === t.autoUpdate && t.update(e)
-            else if (t.isLight) f.pushLight(t), t.castShadow && f.pushShadow(t)
-            else if (t.isSprite) {
-              if (!t.frustumCulled || k.intersectsSprite(t)) {
-                i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X)
-                const e = at.update(t),
-                  r = t.material
-                r.visible && p.push(t, e, r, n, Y.z, null)
-              }
-            } else if (t.isImmediateRenderObject)
-              i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X),
-                p.push(t, null, t.material, n, Y.z, null)
-            else if (
-              (t.isMesh || t.isLine || t.isPoints) &&
-              (t.isSkinnedMesh &&
-                t.skeleton.frame !== tt.render.frame &&
-                (t.skeleton.update(), (t.skeleton.frame = tt.render.frame)),
-              !t.frustumCulled || k.intersectsObject(t))
-            ) {
-              i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X)
-              const e = at.update(t),
-                r = t.material
-              if (Array.isArray(r)) {
-                const i = e.groups
-                for (let s = 0, a = i.length; s < a; s++) {
-                  const a = i[s],
-                    o = r[a.materialIndex]
-                  o && o.visible && p.push(t, e, o, n, Y.z, a)
-                }
-              } else r.visible && p.push(t, e, r, n, Y.z, null)
-            }
-          const r = t.children
-          for (let s = 0, a = r.length; s < a; s++) Nt(r[s], e, n, i)
-        }
-        function zt(t, e, n) {
-          const i = !0 === e.isScene ? e.overrideMaterial : null
-          for (let r = 0, s = t.length; r < s; r++) {
-            const s = t[r],
-              a = s.object,
-              o = s.geometry,
-              l = null === i ? s.material : i,
-              c = s.group
-            if (n.isArrayCamera) {
-              const t = n.cameras
-              for (let n = 0, i = t.length; n < i; n++) {
-                const i = t[n]
-                a.layers.test(i.layers) &&
-                  ($.viewport(C.copy(i.viewport)), f.setupLightsView(i), Ot(a, e, i, o, l, c))
-              }
-            } else Ot(a, e, n, o, l, c)
-          }
-        }
-        function Ot(t, e, n, i, r, a) {
-          if (
-            (t.onBeforeRender(_, e, n, i, r, a),
-            t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse, t.matrixWorld),
-            t.normalMatrix.getNormalMatrix(t.modelViewMatrix),
-            t.isImmediateRenderObject)
-          ) {
-            const i = Ut(n, e, r, t)
-            $.setMaterial(r),
-              Mt.reset(),
-              (function (t, e) {
-                t.render(function (t) {
-                  _.renderBufferImmediate(t, e)
-                })
-              })(t, i)
-          } else
-            !0 === r.transparent && 2 === r.side
-              ? ((r.side = s),
-                (r.needsUpdate = !0),
-                _.renderBufferDirect(n, e, i, r, t, a),
-                (r.side = 0),
-                (r.needsUpdate = !0),
-                _.renderBufferDirect(n, e, i, r, t, a),
-                (r.side = 2))
-              : _.renderBufferDirect(n, e, i, r, t, a)
-          t.onAfterRender(_, e, n, i, r, a)
-        }
-        function Bt(t, e, n) {
-          !0 !== e.isScene && (e = J)
-          const i = et.get(t),
-            r = f.state.lights,
-            s = f.state.shadowsArray,
-            a = r.state.version,
-            o = ht.getParameters(t, r.state, s, e, n),
-            l = ht.getProgramCacheKey(o)
-          let c = i.programs
-          ;(i.environment = t.isMeshStandardMaterial ? e.environment : null),
-            (i.fog = e.fog),
-            (i.envMap = it.get(t.envMap || i.environment)),
-            void 0 === c && (t.addEventListener('dispose', Rt), (c = new Map()), (i.programs = c))
-          let h = c.get(l)
-          if (void 0 !== h) {
-            if (i.currentProgram === h && i.lightsStateVersion === a) return Ft(t, o), h
-          } else
-            (o.uniforms = ht.getUniforms(t)),
-              t.onBuild(o, _),
-              t.onBeforeCompile(o, _),
-              (h = ht.acquireProgram(o, l)),
-              c.set(l, h),
-              (i.uniforms = o.uniforms)
-          const u = i.uniforms
-          ;((t.isShaderMaterial || t.isRawShaderMaterial) && !0 !== t.clipping) ||
-            (u.clippingPlanes = ft.uniform),
-            Ft(t, o),
-            (i.needsLights = (function (t) {
-              return (
-                t.isMeshLambertMaterial ||
-                t.isMeshToonMaterial ||
-                t.isMeshPhongMaterial ||
-                t.isMeshStandardMaterial ||
-                t.isShadowMaterial ||
-                (t.isShaderMaterial && !0 === t.lights)
-              )
-            })(t)),
-            (i.lightsStateVersion = a),
-            i.needsLights &&
-              ((u.ambientLightColor.value = r.state.ambient),
-              (u.lightProbe.value = r.state.probe),
-              (u.directionalLights.value = r.state.directional),
-              (u.directionalLightShadows.value = r.state.directionalShadow),
-              (u.spotLights.value = r.state.spot),
-              (u.spotLightShadows.value = r.state.spotShadow),
-              (u.rectAreaLights.value = r.state.rectArea),
-              (u.ltc_1.value = r.state.rectAreaLTC1),
-              (u.ltc_2.value = r.state.rectAreaLTC2),
-              (u.pointLights.value = r.state.point),
-              (u.pointLightShadows.value = r.state.pointShadow),
-              (u.hemisphereLights.value = r.state.hemi),
-              (u.directionalShadowMap.value = r.state.directionalShadowMap),
-              (u.directionalShadowMatrix.value = r.state.directionalShadowMatrix),
-              (u.spotShadowMap.value = r.state.spotShadowMap),
-              (u.spotShadowMatrix.value = r.state.spotShadowMatrix),
-              (u.pointShadowMap.value = r.state.pointShadowMap),
-              (u.pointShadowMatrix.value = r.state.pointShadowMatrix))
-          const d = h.getUniforms(),
-            p = ir.seqWithValue(d.seq, u)
-          return (i.currentProgram = h), (i.uniformsList = p), h
-        }
-        function Ft(t, e) {
-          const n = et.get(t)
-          ;(n.outputEncoding = e.outputEncoding),
-            (n.instancing = e.instancing),
-            (n.skinning = e.skinning),
-            (n.numClippingPlanes = e.numClippingPlanes),
-            (n.numIntersection = e.numClipIntersection),
-            (n.vertexAlphas = e.vertexAlphas)
-        }
-        function Ut(t, e, n, i) {
-          !0 !== e.isScene && (e = J), nt.resetTextureUnits()
-          const r = e.fog,
-            s = n.isMeshStandardMaterial ? e.environment : null,
-            a = null === L ? _.outputEncoding : L.texture.encoding,
-            o = it.get(n.envMap || s),
-            l =
-              !0 === n.vertexColors &&
-              i.geometry &&
-              i.geometry.attributes.color &&
-              4 === i.geometry.attributes.color.itemSize,
-            c = et.get(n),
-            h = f.state.lights
-          if (!0 === W && (!0 === j || t !== R)) {
-            const e = t === R && n.id === A
-            ft.setState(n, t, e)
-          }
-          let u = !1
-          n.version === c.__version
-            ? (c.needsLights && c.lightsStateVersion !== h.state.version) ||
-              c.outputEncoding !== a ||
-              (i.isInstancedMesh && !1 === c.instancing)
-              ? (u = !0)
-              : i.isInstancedMesh || !0 !== c.instancing
-              ? i.isSkinnedMesh && !1 === c.skinning
-                ? (u = !0)
-                : i.isSkinnedMesh || !0 !== c.skinning
-                ? c.envMap !== o || (n.fog && c.fog !== r)
-                  ? (u = !0)
-                  : void 0 === c.numClippingPlanes ||
-                    (c.numClippingPlanes === ft.numPlanes &&
-                      c.numIntersection === ft.numIntersection)
-                  ? c.vertexAlphas !== l && (u = !0)
-                  : (u = !0)
-                : (u = !0)
-              : (u = !0)
-            : ((u = !0), (c.__version = n.version))
-          let d = c.currentProgram
-          !0 === u && (d = Bt(n, e, i))
-          let p = !1,
-            m = !1,
-            g = !1
-          const v = d.getUniforms(),
-            y = c.uniforms
-          if (
-            ($.useProgram(d.program) && ((p = !0), (m = !0), (g = !0)),
-            n.id !== A && ((A = n.id), (m = !0)),
-            p || R !== t)
-          ) {
-            if (
-              (v.setValue(wt, 'projectionMatrix', t.projectionMatrix),
-              K.logarithmicDepthBuffer &&
-                v.setValue(wt, 'logDepthBufFC', 2 / (Math.log(t.far + 1) / Math.LN2)),
-              R !== t && ((R = t), (m = !0), (g = !0)),
-              n.isShaderMaterial ||
-                n.isMeshPhongMaterial ||
-                n.isMeshToonMaterial ||
-                n.isMeshStandardMaterial ||
-                n.envMap)
-            ) {
-              const e = v.map.cameraPosition
-              void 0 !== e && e.setValue(wt, Y.setFromMatrixPosition(t.matrixWorld))
-            }
-            ;(n.isMeshPhongMaterial ||
-              n.isMeshToonMaterial ||
-              n.isMeshLambertMaterial ||
-              n.isMeshBasicMaterial ||
-              n.isMeshStandardMaterial ||
-              n.isShaderMaterial) &&
-              v.setValue(wt, 'isOrthographic', !0 === t.isOrthographicCamera),
-              (n.isMeshPhongMaterial ||
-                n.isMeshToonMaterial ||
-                n.isMeshLambertMaterial ||
-                n.isMeshBasicMaterial ||
-                n.isMeshStandardMaterial ||
-                n.isShaderMaterial ||
-                n.isShadowMaterial ||
-                i.isSkinnedMesh) &&
-                v.setValue(wt, 'viewMatrix', t.matrixWorldInverse)
-          }
-          if (i.isSkinnedMesh) {
-            v.setOptional(wt, i, 'bindMatrix'), v.setOptional(wt, i, 'bindMatrixInverse')
-            const t = i.skeleton
-            t &&
-              (K.floatVertexTextures
-                ? (null === t.boneTexture && t.computeBoneTexture(),
-                  v.setValue(wt, 'boneTexture', t.boneTexture, nt),
-                  v.setValue(wt, 'boneTextureSize', t.boneTextureSize))
-                : v.setOptional(wt, t, 'boneMatrices'))
-          }
-          var x, b
-          return (
-            (m || c.receiveShadow !== i.receiveShadow) &&
-              ((c.receiveShadow = i.receiveShadow),
-              v.setValue(wt, 'receiveShadow', i.receiveShadow)),
-            m &&
-              (v.setValue(wt, 'toneMappingExposure', _.toneMappingExposure),
-              c.needsLights &&
-                ((b = g),
-                ((x = y).ambientLightColor.needsUpdate = b),
-                (x.lightProbe.needsUpdate = b),
-                (x.directionalLights.needsUpdate = b),
-                (x.directionalLightShadows.needsUpdate = b),
-                (x.pointLights.needsUpdate = b),
-                (x.pointLightShadows.needsUpdate = b),
-                (x.spotLights.needsUpdate = b),
-                (x.spotLightShadows.needsUpdate = b),
-                (x.rectAreaLights.needsUpdate = b),
-                (x.hemisphereLights.needsUpdate = b)),
-              r && n.fog && dt.refreshFogUniforms(y, r),
-              dt.refreshMaterialUniforms(y, n, z, N, q),
-              ir.upload(wt, c.uniformsList, y, nt)),
-            n.isShaderMaterial &&
-              !0 === n.uniformsNeedUpdate &&
-              (ir.upload(wt, c.uniformsList, y, nt), (n.uniformsNeedUpdate = !1)),
-            n.isSpriteMaterial && v.setValue(wt, 'center', i.center),
-            v.setValue(wt, 'modelViewMatrix', i.modelViewMatrix),
-            v.setValue(wt, 'normalMatrix', i.normalMatrix),
-            v.setValue(wt, 'modelMatrix', i.matrixWorld),
-            d
-          )
-        }
-        It.setAnimationLoop(function (t) {
-          Ct && Ct(t)
-        }),
-          'undefined' !== typeof window && It.setContext(window),
-          (this.setAnimationLoop = function (t) {
-            ;(Ct = t), Et.setAnimationLoop(t), null === t ? It.stop() : It.start()
-          }),
-          Et.addEventListener('sessionstart', Pt),
-          Et.addEventListener('sessionend', Dt),
-          (this.render = function (t, e) {
-            if (void 0 !== e && !0 !== e.isCamera)
-              return void console.error(
-                'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.',
-              )
-            if (!0 === b) return
-            !0 === t.autoUpdate && t.updateMatrixWorld(),
-              null === e.parent && e.updateMatrixWorld(),
-              !0 === Et.enabled &&
-                !0 === Et.isPresenting &&
-                (!0 === Et.cameraAutoUpdate && Et.updateCamera(e), (e = Et.getCamera())),
-              !0 === t.isScene && t.onBeforeRender(_, t, e, L),
-              (f = mt.get(t, v.length)),
-              f.init(),
-              v.push(f),
-              X.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse),
-              k.setFromProjectionMatrix(X),
-              (j = this.localClippingEnabled),
-              (W = ft.init(this.clippingPlanes, j, e)),
-              (p = pt.get(t, g.length)),
-              p.init(),
-              g.push(p),
-              Nt(t, e, 0, _.sortObjects),
-              p.finish(),
-              !0 === _.sortObjects && p.sort(B, F),
-              !0 === W && ft.beginShadows()
-            const n = f.state.shadowsArray
-            gt.render(n, t, e),
-              f.setupLights(),
-              f.setupLightsView(e),
-              !0 === W && ft.endShadows(),
-              !0 === this.info.autoReset && this.info.reset(),
-              vt.render(p, t)
-            const i = p.opaque,
-              r = p.transmissive,
-              s = p.transparent
-            i.length > 0 && zt(i, t, e),
-              r.length > 0 &&
-                (function (t, e, n, i) {
-                  if (null === q) {
-                    const t = !0 === o && !0 === K.isWebGL2
-                    q = new (t ? ct : lt)(1024, 1024, {
-                      generateMipmaps: !0,
-                      type: null !== bt.convert(w) ? w : x,
-                      minFilter: y,
-                      magFilter: m,
-                      wrapS: d,
-                      wrapT: d,
-                    })
-                  }
-                  const r = _.getRenderTarget()
-                  _.setRenderTarget(q), _.clear()
-                  const s = _.toneMapping
-                  ;(_.toneMapping = 0),
-                    zt(t, n, i),
-                    (_.toneMapping = s),
-                    nt.updateMultisampleRenderTarget(q),
-                    nt.updateRenderTargetMipmap(q),
-                    _.setRenderTarget(r),
-                    zt(e, n, i)
-                })(i, r, t, e),
-              s.length > 0 && zt(s, t, e),
-              null !== L && (nt.updateMultisampleRenderTarget(L), nt.updateRenderTargetMipmap(L)),
-              !0 === t.isScene && t.onAfterRender(_, t, e),
-              $.buffers.depth.setTest(!0),
-              $.buffers.depth.setMask(!0),
-              $.buffers.color.setMask(!0),
-              $.setPolygonOffset(!1),
-              Mt.resetDefaultState(),
-              (A = -1),
-              (R = null),
-              v.pop(),
-              (f = v.length > 0 ? v[v.length - 1] : null),
-              g.pop(),
-              (p = g.length > 0 ? g[g.length - 1] : null)
-          }),
-          (this.getActiveCubeFace = function () {
-            return S
-          }),
-          (this.getActiveMipmapLevel = function () {
-            return T
-          }),
-          (this.getRenderTarget = function () {
-            return L
-          }),
-          (this.setRenderTarget = function (t, e = 0, n = 0) {
-            ;(L = t),
-              (S = e),
-              (T = n),
-              t && void 0 === et.get(t).__webglFramebuffer && nt.setupRenderTarget(t)
-            let i = null,
-              r = !1,
-              s = !1
-            if (t) {
-              const n = t.texture
-              ;(n.isDataTexture3D || n.isDataTexture2DArray) && (s = !0)
-              const a = et.get(t).__webglFramebuffer
-              t.isWebGLCubeRenderTarget
-                ? ((i = a[e]), (r = !0))
-                : (i = t.isWebGLMultisampleRenderTarget
-                    ? et.get(t).__webglMultisampledFramebuffer
-                    : a),
-                C.copy(t.viewport),
-                P.copy(t.scissor),
-                (D = t.scissorTest)
-            } else C.copy(U).multiplyScalar(z).floor(), P.copy(H).multiplyScalar(z).floor(), (D = G)
-            if ($.bindFramebuffer(36160, i) && K.drawBuffers) {
-              let e = !1
-              if (t)
-                if (t.isWebGLMultipleRenderTargets) {
-                  const n = t.texture
-                  if (V.length !== n.length || 36064 !== V[0]) {
-                    for (let t = 0, e = n.length; t < e; t++) V[t] = 36064 + t
-                    ;(V.length = n.length), (e = !0)
-                  }
-                } else
-                  (1 === V.length && 36064 === V[0]) || ((V[0] = 36064), (V.length = 1), (e = !0))
-              else (1 === V.length && 1029 === V[0]) || ((V[0] = 1029), (V.length = 1), (e = !0))
-              e &&
-                (K.isWebGL2 ? wt.drawBuffers(V) : Q.get('WEBGL_draw_buffers').drawBuffersWEBGL(V))
-            }
-            if (($.viewport(C), $.scissor(P), $.setScissorTest(D), r)) {
-              const i = et.get(t.texture)
-              wt.framebufferTexture2D(36160, 36064, 34069 + e, i.__webglTexture, n)
-            } else if (s) {
-              const i = et.get(t.texture),
-                r = e || 0
-              wt.framebufferTextureLayer(36160, 36064, i.__webglTexture, n || 0, r)
-            }
-          }),
-          (this.readRenderTargetPixels = function (t, e, n, i, r, s, a) {
-            if (!t || !t.isWebGLRenderTarget)
-              return void console.error(
-                'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.',
-              )
-            let o = et.get(t).__webglFramebuffer
-            if ((t.isWebGLCubeRenderTarget && void 0 !== a && (o = o[a]), o)) {
-              $.bindFramebuffer(36160, o)
-              try {
-                const a = t.texture,
-                  o = a.format,
-                  l = a.type
-                if (o !== E && bt.convert(o) !== wt.getParameter(35739))
-                  return void console.error(
-                    'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.',
-                  )
-                const c =
-                  l === w &&
-                  (Q.has('EXT_color_buffer_half_float') ||
-                    (K.isWebGL2 && Q.has('EXT_color_buffer_float')))
-                if (
-                  l !== x &&
-                  bt.convert(l) !== wt.getParameter(35738) &&
-                  (l !== M ||
-                    !(
-                      K.isWebGL2 ||
-                      Q.has('OES_texture_float') ||
-                      Q.has('WEBGL_color_buffer_float')
-                    )) &&
-                  !c
-                )
-                  return void console.error(
-                    'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.',
-                  )
-                36053 === wt.checkFramebufferStatus(36160)
-                  ? e >= 0 &&
-                    e <= t.width - i &&
-                    n >= 0 &&
-                    n <= t.height - r &&
-                    wt.readPixels(e, n, i, r, bt.convert(o), bt.convert(l), s)
-                  : console.error(
-                      'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.',
-                    )
-              } finally {
-                const t = null !== L ? et.get(L).__webglFramebuffer : null
-                $.bindFramebuffer(36160, t)
-              }
-            }
-          }),
-          (this.copyFramebufferToTexture = function (t, e, n = 0) {
-            const i = Math.pow(2, -n),
-              r = Math.floor(e.image.width * i),
-              s = Math.floor(e.image.height * i)
-            let a = bt.convert(e.format)
-            K.isWebGL2 && (6407 === a && (a = 32849), 6408 === a && (a = 32856)),
-              nt.setTexture2D(e, 0),
-              wt.copyTexImage2D(3553, n, a, t.x, t.y, r, s, 0),
-              $.unbindTexture()
-          }),
-          (this.copyTextureToTexture = function (t, e, n, i = 0) {
-            const r = e.image.width,
-              s = e.image.height,
-              a = bt.convert(n.format),
-              o = bt.convert(n.type)
-            nt.setTexture2D(n, 0),
-              wt.pixelStorei(37440, n.flipY),
-              wt.pixelStorei(37441, n.premultiplyAlpha),
-              wt.pixelStorei(3317, n.unpackAlignment),
-              e.isDataTexture
-                ? wt.texSubImage2D(3553, i, t.x, t.y, r, s, a, o, e.image.data)
-                : e.isCompressedTexture
-                ? wt.compressedTexSubImage2D(
-                    3553,
-                    i,
-                    t.x,
-                    t.y,
-                    e.mipmaps[0].width,
-                    e.mipmaps[0].height,
-                    a,
-                    e.mipmaps[0].data,
-                  )
-                : wt.texSubImage2D(3553, i, t.x, t.y, a, o, e.image),
-              0 === i && n.generateMipmaps && wt.generateMipmap(3553),
-              $.unbindTexture()
-          }),
-          (this.copyTextureToTexture3D = function (t, e, n, i, r = 0) {
-            if (_.isWebGL1Renderer)
-              return void console.warn(
-                'THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.',
-              )
-            const s = t.max.x - t.min.x + 1,
-              a = t.max.y - t.min.y + 1,
-              o = t.max.z - t.min.z + 1,
-              l = bt.convert(i.format),
-              c = bt.convert(i.type)
-            let h
-            if (i.isDataTexture3D) nt.setTexture3D(i, 0), (h = 32879)
-            else {
-              if (!i.isDataTexture2DArray)
-                return void console.warn(
-                  'THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.',
-                )
-              nt.setTexture2DArray(i, 0), (h = 35866)
-            }
-            wt.pixelStorei(37440, i.flipY),
-              wt.pixelStorei(37441, i.premultiplyAlpha),
-              wt.pixelStorei(3317, i.unpackAlignment)
-            const u = wt.getParameter(3314),
-              d = wt.getParameter(32878),
-              p = wt.getParameter(3316),
-              m = wt.getParameter(3315),
-              f = wt.getParameter(32877),
-              g = n.isCompressedTexture ? n.mipmaps[0] : n.image
-            wt.pixelStorei(3314, g.width),
-              wt.pixelStorei(32878, g.height),
-              wt.pixelStorei(3316, t.min.x),
-              wt.pixelStorei(3315, t.min.y),
-              wt.pixelStorei(32877, t.min.z),
-              n.isDataTexture || n.isDataTexture3D
-                ? wt.texSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, c, g.data)
-                : n.isCompressedTexture
-                ? (console.warn(
-                    'THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.',
-                  ),
-                  wt.compressedTexSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, g.data))
-                : wt.texSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, c, g),
-              wt.pixelStorei(3314, u),
-              wt.pixelStorei(32878, d),
-              wt.pixelStorei(3316, p),
-              wt.pixelStorei(3315, m),
-              wt.pixelStorei(32877, f),
-              0 === r && i.generateMipmaps && wt.generateMipmap(h),
-              $.unbindTexture()
-          }),
-          (this.initTexture = function (t) {
-            nt.setTexture2D(t, 0), $.unbindTexture()
-          }),
-          (this.resetState = function () {
-            ;(S = 0), (T = 0), (L = null), $.reset(), Mt.reset()
-          }),
-          'undefined' !== typeof __THREE_DEVTOOLS__ &&
-            __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { detail: this }))
-      }
-      ;(class extends Yr {}.prototype.isWebGL1Renderer = !0)
-      class Jr {
-        constructor(t, e = 25e-5) {
-          ;(this.name = ''), (this.color = new Ie(t)), (this.density = e)
-        }
-        clone() {
-          return new Jr(this.color, this.density)
-        }
-        toJSON() {
-          return { type: 'FogExp2', color: this.color.getHex(), density: this.density }
-        }
-      }
-      Jr.prototype.isFogExp2 = !0
-      class Zr {
-        constructor(t, e = 1, n = 1e3) {
-          ;(this.name = ''), (this.color = new Ie(t)), (this.near = e), (this.far = n)
-        }
-        clone() {
-          return new Zr(this.color, this.near, this.far)
-        }
-        toJSON() {
-          return { type: 'Fog', color: this.color.getHex(), near: this.near, far: this.far }
-        }
-      }
-      Zr.prototype.isFog = !0
-      class Qr extends pe {
-        constructor() {
-          super(),
-            (this.type = 'Scene'),
-            (this.background = null),
-            (this.environment = null),
-            (this.fog = null),
-            (this.overrideMaterial = null),
-            (this.autoUpdate = !0),
-            'undefined' !== typeof __THREE_DEVTOOLS__ &&
-              __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { detail: this }))
-        }
-        copy(t, e) {
-          return (
-            super.copy(t, e),
-            null !== t.background && (this.background = t.background.clone()),
-            null !== t.environment && (this.environment = t.environment.clone()),
-            null !== t.fog && (this.fog = t.fog.clone()),
-            null !== t.overrideMaterial && (this.overrideMaterial = t.overrideMaterial.clone()),
-            (this.autoUpdate = t.autoUpdate),
-            (this.matrixAutoUpdate = t.matrixAutoUpdate),
-            this
-          )
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return null !== this.fog && (e.object.fog = this.fog.toJSON()), e
-        }
-      }
-      Qr.prototype.isScene = !0
-      class Kr {
-        constructor(t, e) {
-          ;(this.array = t),
-            (this.stride = e),
-            (this.count = void 0 !== t ? t.length / e : 0),
-            (this.usage = G),
-            (this.updateRange = { offset: 0, count: -1 }),
-            (this.version = 0),
-            (this.uuid = Y())
-        }
-        onUploadCallback() {}
-        set needsUpdate(t) {
-          !0 === t && this.version++
-        }
-        setUsage(t) {
-          return (this.usage = t), this
-        }
-        copy(t) {
-          return (
-            (this.array = new t.array.constructor(t.array)),
-            (this.count = t.count),
-            (this.stride = t.stride),
-            (this.usage = t.usage),
-            this
-          )
-        }
-        copyAt(t, e, n) {
-          ;(t *= this.stride), (n *= e.stride)
-          for (let i = 0, r = this.stride; i < r; i++) this.array[t + i] = e.array[n + i]
-          return this
-        }
-        set(t, e = 0) {
-          return this.array.set(t, e), this
-        }
-        clone(t) {
-          void 0 === t.arrayBuffers && (t.arrayBuffers = {}),
-            void 0 === this.array.buffer._uuid && (this.array.buffer._uuid = Y()),
-            void 0 === t.arrayBuffers[this.array.buffer._uuid] &&
-              (t.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer)
-          const e = new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),
-            n = new this.constructor(e, this.stride)
-          return n.setUsage(this.usage), n
-        }
-        onUpload(t) {
-          return (this.onUploadCallback = t), this
-        }
-        toJSON(t) {
-          return (
-            void 0 === t.arrayBuffers && (t.arrayBuffers = {}),
-            void 0 === this.array.buffer._uuid && (this.array.buffer._uuid = Y()),
-            void 0 === t.arrayBuffers[this.array.buffer._uuid] &&
-              (t.arrayBuffers[this.array.buffer._uuid] = Array.prototype.slice.call(
-                new Uint32Array(this.array.buffer),
-              )),
-            {
-              uuid: this.uuid,
-              buffer: this.array.buffer._uuid,
-              type: this.array.constructor.name,
-              stride: this.stride,
-            }
-          )
-        }
-      }
-      Kr.prototype.isInterleavedBuffer = !0
-      const $r = new ut()
-      class ts {
-        constructor(t, e, n, i = !1) {
-          ;(this.name = ''),
-            (this.data = t),
-            (this.itemSize = e),
-            (this.offset = n),
-            (this.normalized = !0 === i)
-        }
-        get count() {
-          return this.data.count
-        }
-        get array() {
-          return this.data.array
-        }
-        set needsUpdate(t) {
-          this.data.needsUpdate = t
-        }
-        applyMatrix4(t) {
-          for (let e = 0, n = this.data.count; e < n; e++)
-            ($r.x = this.getX(e)),
-              ($r.y = this.getY(e)),
-              ($r.z = this.getZ(e)),
-              $r.applyMatrix4(t),
-              this.setXYZ(e, $r.x, $r.y, $r.z)
-          return this
-        }
-        applyNormalMatrix(t) {
-          for (let e = 0, n = this.count; e < n; e++)
-            ($r.x = this.getX(e)),
-              ($r.y = this.getY(e)),
-              ($r.z = this.getZ(e)),
-              $r.applyNormalMatrix(t),
-              this.setXYZ(e, $r.x, $r.y, $r.z)
-          return this
-        }
-        transformDirection(t) {
-          for (let e = 0, n = this.count; e < n; e++)
-            ($r.x = this.getX(e)),
-              ($r.y = this.getY(e)),
-              ($r.z = this.getZ(e)),
-              $r.transformDirection(t),
-              this.setXYZ(e, $r.x, $r.y, $r.z)
-          return this
-        }
-        setX(t, e) {
-          return (this.data.array[t * this.data.stride + this.offset] = e), this
-        }
-        setY(t, e) {
-          return (this.data.array[t * this.data.stride + this.offset + 1] = e), this
-        }
-        setZ(t, e) {
-          return (this.data.array[t * this.data.stride + this.offset + 2] = e), this
-        }
-        setW(t, e) {
-          return (this.data.array[t * this.data.stride + this.offset + 3] = e), this
-        }
-        getX(t) {
-          return this.data.array[t * this.data.stride + this.offset]
-        }
-        getY(t) {
-          return this.data.array[t * this.data.stride + this.offset + 1]
-        }
-        getZ(t) {
-          return this.data.array[t * this.data.stride + this.offset + 2]
-        }
-        getW(t) {
-          return this.data.array[t * this.data.stride + this.offset + 3]
-        }
-        setXY(t, e, n) {
-          return (
-            (t = t * this.data.stride + this.offset),
-            (this.data.array[t + 0] = e),
-            (this.data.array[t + 1] = n),
-            this
-          )
-        }
-        setXYZ(t, e, n, i) {
-          return (
-            (t = t * this.data.stride + this.offset),
-            (this.data.array[t + 0] = e),
-            (this.data.array[t + 1] = n),
-            (this.data.array[t + 2] = i),
-            this
-          )
-        }
-        setXYZW(t, e, n, i, r) {
-          return (
-            (t = t * this.data.stride + this.offset),
-            (this.data.array[t + 0] = e),
-            (this.data.array[t + 1] = n),
-            (this.data.array[t + 2] = i),
-            (this.data.array[t + 3] = r),
-            this
-          )
-        }
-        clone(t) {
-          if (void 0 === t) {
-            console.log(
-              'THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.',
-            )
-            const t = []
-            for (let e = 0; e < this.count; e++) {
-              const n = e * this.data.stride + this.offset
-              for (let e = 0; e < this.itemSize; e++) t.push(this.data.array[n + e])
-            }
-            return new Be(new this.array.constructor(t), this.itemSize, this.normalized)
-          }
-          return (
-            void 0 === t.interleavedBuffers && (t.interleavedBuffers = {}),
-            void 0 === t.interleavedBuffers[this.data.uuid] &&
-              (t.interleavedBuffers[this.data.uuid] = this.data.clone(t)),
-            new ts(
-              t.interleavedBuffers[this.data.uuid],
-              this.itemSize,
-              this.offset,
-              this.normalized,
-            )
-          )
-        }
-        toJSON(t) {
-          if (void 0 === t) {
-            console.log(
-              'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.',
-            )
-            const t = []
-            for (let e = 0; e < this.count; e++) {
-              const n = e * this.data.stride + this.offset
-              for (let e = 0; e < this.itemSize; e++) t.push(this.data.array[n + e])
-            }
-            return {
-              itemSize: this.itemSize,
-              type: this.array.constructor.name,
-              array: t,
-              normalized: this.normalized,
-            }
-          }
-          return (
-            void 0 === t.interleavedBuffers && (t.interleavedBuffers = {}),
-            void 0 === t.interleavedBuffers[this.data.uuid] &&
-              (t.interleavedBuffers[this.data.uuid] = this.data.toJSON(t)),
-            {
-              isInterleavedBufferAttribute: !0,
-              itemSize: this.itemSize,
-              data: this.data.uuid,
-              offset: this.offset,
-              normalized: this.normalized,
-            }
-          )
-        }
-      }
-      ts.prototype.isInterleavedBufferAttribute = !0
-      class es extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'SpriteMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.map = null),
-            (this.alphaMap = null),
-            (this.rotation = 0),
-            (this.sizeAttenuation = !0),
-            (this.transparent = !0),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.map = t.map),
-            (this.alphaMap = t.alphaMap),
-            (this.rotation = t.rotation),
-            (this.sizeAttenuation = t.sizeAttenuation),
-            this
-          )
-        }
-      }
-      let ns
-      es.prototype.isSpriteMaterial = !0
-      const is = new ut(),
-        rs = new ut(),
-        ss = new ut(),
-        as = new tt(),
-        os = new tt(),
-        ls = new Vt(),
-        cs = new ut(),
-        hs = new ut(),
-        us = new ut(),
-        ds = new tt(),
-        ps = new tt(),
-        ms = new tt()
-      class fs extends pe {
-        constructor(t) {
-          if ((super(), (this.type = 'Sprite'), void 0 === ns)) {
-            ns = new Je()
-            const t = new Float32Array([
-                -0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, 0.5, 0, 0, 1,
-              ]),
-              e = new Kr(t, 5)
-            ns.setIndex([0, 1, 2, 0, 2, 3]),
-              ns.setAttribute('position', new ts(e, 3, 0, !1)),
-              ns.setAttribute('uv', new ts(e, 2, 3, !1))
-          }
-          ;(this.geometry = ns),
-            (this.material = void 0 !== t ? t : new es()),
-            (this.center = new tt(0.5, 0.5))
-        }
-        raycast(t, e) {
-          null === t.camera &&
-            console.error(
-              'THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.',
-            ),
-            rs.setFromMatrixScale(this.matrixWorld),
-            ls.copy(t.camera.matrixWorld),
-            this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse, this.matrixWorld),
-            ss.setFromMatrixPosition(this.modelViewMatrix),
-            t.camera.isPerspectiveCamera &&
-              !1 === this.material.sizeAttenuation &&
-              rs.multiplyScalar(-ss.z)
-          const n = this.material.rotation
-          let i, r
-          0 !== n && ((r = Math.cos(n)), (i = Math.sin(n)))
-          const s = this.center
-          gs(cs.set(-0.5, -0.5, 0), ss, s, rs, i, r),
-            gs(hs.set(0.5, -0.5, 0), ss, s, rs, i, r),
-            gs(us.set(0.5, 0.5, 0), ss, s, rs, i, r),
-            ds.set(0, 0),
-            ps.set(1, 0),
-            ms.set(1, 1)
-          let a = t.ray.intersectTriangle(cs, hs, us, !1, is)
-          if (
-            null === a &&
-            (gs(hs.set(-0.5, 0.5, 0), ss, s, rs, i, r),
-            ps.set(0, 1),
-            (a = t.ray.intersectTriangle(cs, us, hs, !1, is)),
-            null === a)
-          )
-            return
-          const o = t.ray.origin.distanceTo(is)
-          o < t.near ||
-            o > t.far ||
-            e.push({
-              distance: o,
-              point: is.clone(),
-              uv: Se.getUV(is, cs, hs, us, ds, ps, ms, new tt()),
-              face: null,
-              object: this,
-            })
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            void 0 !== t.center && this.center.copy(t.center),
-            (this.material = t.material),
-            this
-          )
-        }
-      }
-      function gs(t, e, n, i, r, s) {
-        as.subVectors(t, n).addScalar(0.5).multiply(i),
-          void 0 !== r ? ((os.x = s * as.x - r * as.y), (os.y = r * as.x + s * as.y)) : os.copy(as),
-          t.copy(e),
-          (t.x += os.x),
-          (t.y += os.y),
-          t.applyMatrix4(ls)
-      }
-      fs.prototype.isSprite = !0
-      const vs = new ut(),
-        ys = new ot(),
-        xs = new ot(),
-        _s = new ut(),
-        bs = new Vt()
-      class Ms extends mn {
-        constructor(t, e) {
-          super(t, e),
-            (this.type = 'SkinnedMesh'),
-            (this.bindMode = 'attached'),
-            (this.bindMatrix = new Vt()),
-            (this.bindMatrixInverse = new Vt())
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.bindMode = t.bindMode),
-            this.bindMatrix.copy(t.bindMatrix),
-            this.bindMatrixInverse.copy(t.bindMatrixInverse),
-            (this.skeleton = t.skeleton),
-            this
-          )
-        }
-        bind(t, e) {
-          ;(this.skeleton = t),
-            void 0 === e &&
-              (this.updateMatrixWorld(!0),
-              this.skeleton.calculateInverses(),
-              (e = this.matrixWorld)),
-            this.bindMatrix.copy(e),
-            this.bindMatrixInverse.copy(e).invert()
-        }
-        pose() {
-          this.skeleton.pose()
-        }
-        normalizeSkinWeights() {
-          const t = new ot(),
-            e = this.geometry.attributes.skinWeight
-          for (let n = 0, i = e.count; n < i; n++) {
-            ;(t.x = e.getX(n)), (t.y = e.getY(n)), (t.z = e.getZ(n)), (t.w = e.getW(n))
-            const i = 1 / t.manhattanLength()
-            i !== 1 / 0 ? t.multiplyScalar(i) : t.set(1, 0, 0, 0), e.setXYZW(n, t.x, t.y, t.z, t.w)
-          }
-        }
-        updateMatrixWorld(t) {
-          super.updateMatrixWorld(t),
-            'attached' === this.bindMode
-              ? this.bindMatrixInverse.copy(this.matrixWorld).invert()
-              : 'detached' === this.bindMode
-              ? this.bindMatrixInverse.copy(this.bindMatrix).invert()
-              : console.warn('THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode)
-        }
-        boneTransform(t, e) {
-          const n = this.skeleton,
-            i = this.geometry
-          ys.fromBufferAttribute(i.attributes.skinIndex, t),
-            xs.fromBufferAttribute(i.attributes.skinWeight, t),
-            vs.fromBufferAttribute(i.attributes.position, t).applyMatrix4(this.bindMatrix),
-            e.set(0, 0, 0)
-          for (let r = 0; r < 4; r++) {
-            const t = xs.getComponent(r)
-            if (0 !== t) {
-              const i = ys.getComponent(r)
-              bs.multiplyMatrices(n.bones[i].matrixWorld, n.boneInverses[i]),
-                e.addScaledVector(_s.copy(vs).applyMatrix4(bs), t)
-            }
-          }
-          return e.applyMatrix4(this.bindMatrixInverse)
-        }
-      }
-      Ms.prototype.isSkinnedMesh = !0
-      class ws extends pe {
-        constructor() {
-          super(), (this.type = 'Bone')
-        }
-      }
-      ws.prototype.isBone = !0
-      class Ss extends st {
-        constructor(t = null, e = 1, n = 1, i, r, s, a, o, l = 1003, c = 1003, h, u) {
-          super(null, s, a, o, l, c, i, r, h, u),
-            (this.image = { data: t, width: e, height: n }),
-            (this.magFilter = l),
-            (this.minFilter = c),
-            (this.generateMipmaps = !1),
-            (this.flipY = !1),
-            (this.unpackAlignment = 1),
-            (this.needsUpdate = !0)
-        }
-      }
-      Ss.prototype.isDataTexture = !0
-      const Ts = new Vt(),
-        Es = new Vt(),
-        Ls = [],
-        As = new mn()
-      class Rs extends mn {
-        constructor(t, e, n) {
-          super(t, e),
-            (this.instanceMatrix = new Be(new Float32Array(16 * n), 16)),
-            (this.instanceColor = null),
-            (this.count = n),
-            (this.frustumCulled = !1)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.instanceMatrix.copy(t.instanceMatrix),
-            null !== t.instanceColor && (this.instanceColor = t.instanceColor.clone()),
-            (this.count = t.count),
-            this
-          )
-        }
-        getColorAt(t, e) {
-          e.fromArray(this.instanceColor.array, 3 * t)
-        }
-        getMatrixAt(t, e) {
-          e.fromArray(this.instanceMatrix.array, 16 * t)
-        }
-        raycast(t, e) {
-          const n = this.matrixWorld,
-            i = this.count
-          if (
-            ((As.geometry = this.geometry), (As.material = this.material), void 0 !== As.material)
-          )
-            for (let r = 0; r < i; r++) {
-              this.getMatrixAt(r, Ts),
-                Es.multiplyMatrices(n, Ts),
-                (As.matrixWorld = Es),
-                As.raycast(t, Ls)
-              for (let t = 0, n = Ls.length; t < n; t++) {
-                const n = Ls[t]
-                ;(n.instanceId = r), (n.object = this), e.push(n)
-              }
-              Ls.length = 0
-            }
-        }
-        setColorAt(t, e) {
-          null === this.instanceColor &&
-            (this.instanceColor = new Be(new Float32Array(3 * this.count), 3)),
-            e.toArray(this.instanceColor.array, 3 * t)
-        }
-        setMatrixAt(t, e) {
-          e.toArray(this.instanceMatrix.array, 16 * t)
-        }
-        updateMorphTargets() {}
-        dispose() {
-          this.dispatchEvent({ type: 'dispose' })
-        }
-      }
-      Rs.prototype.isInstancedMesh = !0
-      class Cs extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'LineBasicMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.linewidth = 1),
-            (this.linecap = 'round'),
-            (this.linejoin = 'round'),
-            (this.morphTargets = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.linewidth = t.linewidth),
-            (this.linecap = t.linecap),
-            (this.linejoin = t.linejoin),
-            (this.morphTargets = t.morphTargets),
-            this
-          )
-        }
-      }
-      Cs.prototype.isLineBasicMaterial = !0
-      const Ps = new ut(),
-        Ds = new ut(),
-        Is = new Vt(),
-        Ns = new Gt(),
-        zs = new It()
-      class Os extends pe {
-        constructor(t = new Je(), e = new Cs()) {
-          super(),
-            (this.type = 'Line'),
-            (this.geometry = t),
-            (this.material = e),
-            this.updateMorphTargets()
-        }
-        copy(t) {
-          return super.copy(t), (this.material = t.material), (this.geometry = t.geometry), this
-        }
-        computeLineDistances() {
-          const t = this.geometry
-          if (t.isBufferGeometry)
-            if (null === t.index) {
-              const e = t.attributes.position,
-                n = [0]
-              for (let t = 1, i = e.count; t < i; t++)
-                Ps.fromBufferAttribute(e, t - 1),
-                  Ds.fromBufferAttribute(e, t),
-                  (n[t] = n[t - 1]),
-                  (n[t] += Ps.distanceTo(Ds))
-              t.setAttribute('lineDistance', new He(n, 1))
-            } else
-              console.warn(
-                'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.',
-              )
-          else
-            t.isGeometry &&
-              console.error(
-                'THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-          return this
-        }
-        raycast(t, e) {
-          const n = this.geometry,
-            i = this.matrixWorld,
-            r = t.params.Line.threshold,
-            s = n.drawRange
-          if (
-            (null === n.boundingSphere && n.computeBoundingSphere(),
-            zs.copy(n.boundingSphere),
-            zs.applyMatrix4(i),
-            (zs.radius += r),
-            !1 === t.ray.intersectsSphere(zs))
-          )
-            return
-          Is.copy(i).invert(), Ns.copy(t.ray).applyMatrix4(Is)
-          const a = r / ((this.scale.x + this.scale.y + this.scale.z) / 3),
-            o = a * a,
-            l = new ut(),
-            c = new ut(),
-            h = new ut(),
-            u = new ut(),
-            d = this.isLineSegments ? 2 : 1
-          if (n.isBufferGeometry) {
-            const i = n.index,
-              r = n.attributes.position
-            if (null !== i) {
-              for (
-                let n = Math.max(0, s.start), a = Math.min(i.count, s.start + s.count) - 1;
-                n < a;
-                n += d
-              ) {
-                const s = i.getX(n),
-                  a = i.getX(n + 1)
-                l.fromBufferAttribute(r, s), c.fromBufferAttribute(r, a)
-                if (Ns.distanceSqToSegment(l, c, u, h) > o) continue
-                u.applyMatrix4(this.matrixWorld)
-                const d = t.ray.origin.distanceTo(u)
-                d < t.near ||
-                  d > t.far ||
-                  e.push({
-                    distance: d,
-                    point: h.clone().applyMatrix4(this.matrixWorld),
-                    index: n,
-                    face: null,
-                    faceIndex: null,
-                    object: this,
-                  })
-              }
-            } else {
-              for (
-                let n = Math.max(0, s.start), i = Math.min(r.count, s.start + s.count) - 1;
-                n < i;
-                n += d
-              ) {
-                l.fromBufferAttribute(r, n), c.fromBufferAttribute(r, n + 1)
-                if (Ns.distanceSqToSegment(l, c, u, h) > o) continue
-                u.applyMatrix4(this.matrixWorld)
-                const i = t.ray.origin.distanceTo(u)
-                i < t.near ||
-                  i > t.far ||
-                  e.push({
-                    distance: i,
-                    point: h.clone().applyMatrix4(this.matrixWorld),
-                    index: n,
-                    face: null,
-                    faceIndex: null,
-                    object: this,
-                  })
-              }
-            }
-          } else
-            n.isGeometry &&
-              console.error(
-                'THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-        }
-        updateMorphTargets() {
-          const t = this.geometry
-          if (t.isBufferGeometry) {
-            const e = t.morphAttributes,
-              n = Object.keys(e)
-            if (n.length > 0) {
-              const t = e[n[0]]
-              if (void 0 !== t) {
-                ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                for (let e = 0, n = t.length; e < n; e++) {
-                  const n = t[e].name || String(e)
-                  this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e)
-                }
-              }
-            }
-          } else {
-            const e = t.morphTargets
-            void 0 !== e &&
-              e.length > 0 &&
-              console.error(
-                'THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-          }
-        }
-      }
-      Os.prototype.isLine = !0
-      const Bs = new ut(),
-        Fs = new ut()
-      class Us extends Os {
-        constructor(t, e) {
-          super(t, e), (this.type = 'LineSegments')
-        }
-        computeLineDistances() {
-          const t = this.geometry
-          if (t.isBufferGeometry)
-            if (null === t.index) {
-              const e = t.attributes.position,
-                n = []
-              for (let t = 0, i = e.count; t < i; t += 2)
-                Bs.fromBufferAttribute(e, t),
-                  Fs.fromBufferAttribute(e, t + 1),
-                  (n[t] = 0 === t ? 0 : n[t - 1]),
-                  (n[t + 1] = n[t] + Bs.distanceTo(Fs))
-              t.setAttribute('lineDistance', new He(n, 1))
-            } else
-              console.warn(
-                'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.',
-              )
-          else
-            t.isGeometry &&
-              console.error(
-                'THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-          return this
-        }
-      }
-      Us.prototype.isLineSegments = !0
-      class Hs extends Os {
-        constructor(t, e) {
-          super(t, e), (this.type = 'LineLoop')
-        }
-      }
-      Hs.prototype.isLineLoop = !0
-      class Gs extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'PointsMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.map = null),
-            (this.alphaMap = null),
-            (this.size = 1),
-            (this.sizeAttenuation = !0),
-            (this.morphTargets = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.map = t.map),
-            (this.alphaMap = t.alphaMap),
-            (this.size = t.size),
-            (this.sizeAttenuation = t.sizeAttenuation),
-            (this.morphTargets = t.morphTargets),
-            this
-          )
-        }
-      }
-      Gs.prototype.isPointsMaterial = !0
-      const Vs = new Vt(),
-        ks = new Gt(),
-        Ws = new It(),
-        js = new ut()
-      class qs extends pe {
-        constructor(t = new Je(), e = new Gs()) {
-          super(),
-            (this.type = 'Points'),
-            (this.geometry = t),
-            (this.material = e),
-            this.updateMorphTargets()
-        }
-        copy(t) {
-          return super.copy(t), (this.material = t.material), (this.geometry = t.geometry), this
-        }
-        raycast(t, e) {
-          const n = this.geometry,
-            i = this.matrixWorld,
-            r = t.params.Points.threshold,
-            s = n.drawRange
-          if (
-            (null === n.boundingSphere && n.computeBoundingSphere(),
-            Ws.copy(n.boundingSphere),
-            Ws.applyMatrix4(i),
-            (Ws.radius += r),
-            !1 === t.ray.intersectsSphere(Ws))
-          )
-            return
-          Vs.copy(i).invert(), ks.copy(t.ray).applyMatrix4(Vs)
-          const a = r / ((this.scale.x + this.scale.y + this.scale.z) / 3),
-            o = a * a
-          if (n.isBufferGeometry) {
-            const r = n.index,
-              a = n.attributes.position
-            if (null !== r) {
-              for (
-                let n = Math.max(0, s.start), l = Math.min(r.count, s.start + s.count);
-                n < l;
-                n++
-              ) {
-                const s = r.getX(n)
-                js.fromBufferAttribute(a, s), Xs(js, s, o, i, t, e, this)
-              }
-            } else {
-              for (
-                let n = Math.max(0, s.start), r = Math.min(a.count, s.start + s.count);
-                n < r;
-                n++
-              )
-                js.fromBufferAttribute(a, n), Xs(js, n, o, i, t, e, this)
-            }
-          } else
-            console.error(
-              'THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.',
-            )
-        }
-        updateMorphTargets() {
-          const t = this.geometry
-          if (t.isBufferGeometry) {
-            const e = t.morphAttributes,
-              n = Object.keys(e)
-            if (n.length > 0) {
-              const t = e[n[0]]
-              if (void 0 !== t) {
-                ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {})
-                for (let e = 0, n = t.length; e < n; e++) {
-                  const n = t[e].name || String(e)
-                  this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e)
-                }
-              }
-            }
-          } else {
-            const e = t.morphTargets
-            void 0 !== e &&
-              e.length > 0 &&
-              console.error(
-                'THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.',
-              )
-          }
-        }
-      }
-      function Xs(t, e, n, i, r, s, a) {
-        const o = ks.distanceSqToPoint(t)
-        if (o < n) {
-          const n = new ut()
-          ks.closestPointToPoint(t, n), n.applyMatrix4(i)
-          const l = r.ray.origin.distanceTo(n)
-          if (l < r.near || l > r.far) return
-          s.push({
-            distance: l,
-            distanceToRay: Math.sqrt(o),
-            point: n,
-            index: e,
-            face: null,
-            object: a,
-          })
-        }
-      }
-      qs.prototype.isPoints = !0
-      ;(class extends st {
-        constructor(t, e, n, i, r, s, a, o, l) {
-          super(t, e, n, i, r, s, a, o, l),
-            (this.format = void 0 !== a ? a : T),
-            (this.minFilter = void 0 !== s ? s : v),
-            (this.magFilter = void 0 !== r ? r : v),
-            (this.generateMipmaps = !1)
-          const c = this
-          'requestVideoFrameCallback' in t &&
-            t.requestVideoFrameCallback(function e() {
-              ;(c.needsUpdate = !0), t.requestVideoFrameCallback(e)
-            })
-        }
-        clone() {
-          return new this.constructor(this.image).copy(this)
-        }
-        update() {
-          const t = this.image
-          !1 === 'requestVideoFrameCallback' in t &&
-            t.readyState >= t.HAVE_CURRENT_DATA &&
-            (this.needsUpdate = !0)
-        }
-      }.prototype.isVideoTexture = !0)
-      class Ys extends st {
-        constructor(t, e, n, i, r, s, a, o, l, c, h, u) {
-          super(null, s, a, o, l, c, i, r, h, u),
-            (this.image = { width: e, height: n }),
-            (this.mipmaps = t),
-            (this.flipY = !1),
-            (this.generateMipmaps = !1)
-        }
-      }
-      Ys.prototype.isCompressedTexture = !0
-      ;(class extends st {
-        constructor(t, e, n, i, r, s, a, o, l) {
-          super(t, e, n, i, r, s, a, o, l), (this.needsUpdate = !0)
-        }
-      }.prototype.isCanvasTexture = !0)
-      ;(class extends st {
-        constructor(t, e, n, i, r, s, a, o, l, c) {
-          if ((c = void 0 !== c ? c : L) !== L && c !== A)
-            throw new Error(
-              'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat',
-            )
-          void 0 === n && c === L && (n = _),
-            void 0 === n && c === A && (n = S),
-            super(null, i, r, s, a, o, c, n, l),
-            (this.image = { width: t, height: e }),
-            (this.magFilter = void 0 !== a ? a : m),
-            (this.minFilter = void 0 !== o ? o : m),
-            (this.flipY = !1),
-            (this.generateMipmaps = !1)
-        }
-      }.prototype.isDepthTexture = !0)
-      class Js extends Je {
-        constructor(t = 1, e = 1, n = 1, i = 8, r = 1, s = !1, a = 0, o = 2 * Math.PI) {
-          super(),
-            (this.type = 'CylinderGeometry'),
-            (this.parameters = {
-              radiusTop: t,
-              radiusBottom: e,
-              height: n,
-              radialSegments: i,
-              heightSegments: r,
-              openEnded: s,
-              thetaStart: a,
-              thetaLength: o,
-            })
-          const l = this
-          ;(i = Math.floor(i)), (r = Math.floor(r))
-          const c = [],
-            h = [],
-            u = [],
-            d = []
-          let p = 0
-          const m = [],
-            f = n / 2
-          let g = 0
-          function v(n) {
-            const r = p,
-              s = new tt(),
-              m = new ut()
-            let v = 0
-            const y = !0 === n ? t : e,
-              x = !0 === n ? 1 : -1
-            for (let t = 1; t <= i; t++) h.push(0, f * x, 0), u.push(0, x, 0), d.push(0.5, 0.5), p++
-            const _ = p
-            for (let t = 0; t <= i; t++) {
-              const e = (t / i) * o + a,
-                n = Math.cos(e),
-                r = Math.sin(e)
-              ;(m.x = y * r),
-                (m.y = f * x),
-                (m.z = y * n),
-                h.push(m.x, m.y, m.z),
-                u.push(0, x, 0),
-                (s.x = 0.5 * n + 0.5),
-                (s.y = 0.5 * r * x + 0.5),
-                d.push(s.x, s.y),
-                p++
-            }
-            for (let t = 0; t < i; t++) {
-              const e = r + t,
-                i = _ + t
-              !0 === n ? c.push(i, i + 1, e) : c.push(i + 1, i, e), (v += 3)
-            }
-            l.addGroup(g, v, !0 === n ? 1 : 2), (g += v)
-          }
-          !(function () {
-            const s = new ut(),
-              v = new ut()
-            let y = 0
-            const x = (e - t) / n
-            for (let l = 0; l <= r; l++) {
-              const c = [],
-                g = l / r,
-                y = g * (e - t) + t
-              for (let t = 0; t <= i; t++) {
-                const e = t / i,
-                  r = e * o + a,
-                  l = Math.sin(r),
-                  m = Math.cos(r)
-                ;(v.x = y * l),
-                  (v.y = -g * n + f),
-                  (v.z = y * m),
-                  h.push(v.x, v.y, v.z),
-                  s.set(l, x, m).normalize(),
-                  u.push(s.x, s.y, s.z),
-                  d.push(e, 1 - g),
-                  c.push(p++)
-              }
-              m.push(c)
-            }
-            for (let t = 0; t < i; t++)
-              for (let e = 0; e < r; e++) {
-                const n = m[e][t],
-                  i = m[e + 1][t],
-                  r = m[e + 1][t + 1],
-                  s = m[e][t + 1]
-                c.push(n, i, s), c.push(i, r, s), (y += 6)
-              }
-            l.addGroup(g, y, 0), (g += y)
-          })(),
-            !1 === s && (t > 0 && v(!0), e > 0 && v(!1)),
-            this.setIndex(c),
-            this.setAttribute('position', new He(h, 3)),
-            this.setAttribute('normal', new He(u, 3)),
-            this.setAttribute('uv', new He(d, 2))
-        }
-        static fromJSON(t) {
-          return new Js(
-            t.radiusTop,
-            t.radiusBottom,
-            t.height,
-            t.radialSegments,
-            t.heightSegments,
-            t.openEnded,
-            t.thetaStart,
-            t.thetaLength,
-          )
-        }
-      }
-      class Zs extends Js {
-        constructor(t = 1, e = 1, n = 8, i = 1, r = !1, s = 0, a = 2 * Math.PI) {
-          super(0, t, e, n, i, r, s, a),
-            (this.type = 'ConeGeometry'),
-            (this.parameters = {
-              radius: t,
-              height: e,
-              radialSegments: n,
-              heightSegments: i,
-              openEnded: r,
-              thetaStart: s,
-              thetaLength: a,
-            })
-        }
-        static fromJSON(t) {
-          return new Zs(
-            t.radius,
-            t.height,
-            t.radialSegments,
-            t.heightSegments,
-            t.openEnded,
-            t.thetaStart,
-            t.thetaLength,
-          )
-        }
-      }
-      new ut(), new ut(), new ut(), new Se()
-      class Qs {
-        constructor() {
-          ;(this.type = 'Curve'), (this.arcLengthDivisions = 200)
-        }
-        getPoint() {
-          return console.warn('THREE.Curve: .getPoint() not implemented.'), null
-        }
-        getPointAt(t, e) {
-          const n = this.getUtoTmapping(t)
-          return this.getPoint(n, e)
-        }
-        getPoints(t = 5) {
-          const e = []
-          for (let n = 0; n <= t; n++) e.push(this.getPoint(n / t))
-          return e
-        }
-        getSpacedPoints(t = 5) {
-          const e = []
-          for (let n = 0; n <= t; n++) e.push(this.getPointAt(n / t))
-          return e
-        }
-        getLength() {
-          const t = this.getLengths()
-          return t[t.length - 1]
-        }
-        getLengths(t = this.arcLengthDivisions) {
-          if (this.cacheArcLengths && this.cacheArcLengths.length === t + 1 && !this.needsUpdate)
-            return this.cacheArcLengths
-          this.needsUpdate = !1
-          const e = []
-          let n,
-            i = this.getPoint(0),
-            r = 0
-          e.push(0)
-          for (let s = 1; s <= t; s++)
-            (n = this.getPoint(s / t)), (r += n.distanceTo(i)), e.push(r), (i = n)
-          return (this.cacheArcLengths = e), e
-        }
-        updateArcLengths() {
-          ;(this.needsUpdate = !0), this.getLengths()
-        }
-        getUtoTmapping(t, e) {
-          const n = this.getLengths()
-          let i = 0
-          const r = n.length
-          let s
-          s = e || t * n[r - 1]
-          let a,
-            o = 0,
-            l = r - 1
-          for (; o <= l; )
-            if (((i = Math.floor(o + (l - o) / 2)), (a = n[i] - s), a < 0)) o = i + 1
-            else {
-              if (!(a > 0)) {
-                l = i
-                break
-              }
-              l = i - 1
-            }
-          if (((i = l), n[i] === s)) return i / (r - 1)
-          const c = n[i]
-          return (i + (s - c) / (n[i + 1] - c)) / (r - 1)
-        }
-        getTangent(t, e) {
-          const n = 1e-4
-          let i = t - n,
-            r = t + n
-          i < 0 && (i = 0), r > 1 && (r = 1)
-          const s = this.getPoint(i),
-            a = this.getPoint(r),
-            o = e || (s.isVector2 ? new tt() : new ut())
-          return o.copy(a).sub(s).normalize(), o
-        }
-        getTangentAt(t, e) {
-          const n = this.getUtoTmapping(t)
-          return this.getTangent(n, e)
-        }
-        computeFrenetFrames(t, e) {
-          const n = new ut(),
-            i = [],
-            r = [],
-            s = [],
-            a = new ut(),
-            o = new Vt()
-          for (let d = 0; d <= t; d++) {
-            const e = d / t
-            ;(i[d] = this.getTangentAt(e, new ut())), i[d].normalize()
-          }
-          ;(r[0] = new ut()), (s[0] = new ut())
-          let l = Number.MAX_VALUE
-          const c = Math.abs(i[0].x),
-            h = Math.abs(i[0].y),
-            u = Math.abs(i[0].z)
-          c <= l && ((l = c), n.set(1, 0, 0)),
-            h <= l && ((l = h), n.set(0, 1, 0)),
-            u <= l && n.set(0, 0, 1),
-            a.crossVectors(i[0], n).normalize(),
-            r[0].crossVectors(i[0], a),
-            s[0].crossVectors(i[0], r[0])
-          for (let d = 1; d <= t; d++) {
-            if (
-              ((r[d] = r[d - 1].clone()),
-              (s[d] = s[d - 1].clone()),
-              a.crossVectors(i[d - 1], i[d]),
-              a.length() > Number.EPSILON)
-            ) {
-              a.normalize()
-              const t = Math.acos(J(i[d - 1].dot(i[d]), -1, 1))
-              r[d].applyMatrix4(o.makeRotationAxis(a, t))
-            }
-            s[d].crossVectors(i[d], r[d])
-          }
-          if (!0 === e) {
-            let e = Math.acos(J(r[0].dot(r[t]), -1, 1))
-            ;(e /= t), i[0].dot(a.crossVectors(r[0], r[t])) > 0 && (e = -e)
-            for (let n = 1; n <= t; n++)
-              r[n].applyMatrix4(o.makeRotationAxis(i[n], e * n)), s[n].crossVectors(i[n], r[n])
-          }
-          return { tangents: i, normals: r, binormals: s }
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return (this.arcLengthDivisions = t.arcLengthDivisions), this
-        }
-        toJSON() {
-          const t = { metadata: { version: 4.5, type: 'Curve', generator: 'Curve.toJSON' } }
-          return (t.arcLengthDivisions = this.arcLengthDivisions), (t.type = this.type), t
-        }
-        fromJSON(t) {
-          return (this.arcLengthDivisions = t.arcLengthDivisions), this
-        }
-      }
-      class Ks extends Qs {
-        constructor(t = 0, e = 0, n = 1, i = 1, r = 0, s = 2 * Math.PI, a = !1, o = 0) {
-          super(),
-            (this.type = 'EllipseCurve'),
-            (this.aX = t),
-            (this.aY = e),
-            (this.xRadius = n),
-            (this.yRadius = i),
-            (this.aStartAngle = r),
-            (this.aEndAngle = s),
-            (this.aClockwise = a),
-            (this.aRotation = o)
-        }
-        getPoint(t, e) {
-          const n = e || new tt(),
-            i = 2 * Math.PI
-          let r = this.aEndAngle - this.aStartAngle
-          const s = Math.abs(r) < Number.EPSILON
-          for (; r < 0; ) r += i
-          for (; r > i; ) r -= i
-          r < Number.EPSILON && (r = s ? 0 : i),
-            !0 !== this.aClockwise || s || (r === i ? (r = -i) : (r -= i))
-          const a = this.aStartAngle + t * r
-          let o = this.aX + this.xRadius * Math.cos(a),
-            l = this.aY + this.yRadius * Math.sin(a)
-          if (0 !== this.aRotation) {
-            const t = Math.cos(this.aRotation),
-              e = Math.sin(this.aRotation),
-              n = o - this.aX,
-              i = l - this.aY
-            ;(o = n * t - i * e + this.aX), (l = n * e + i * t + this.aY)
-          }
-          return n.set(o, l)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.aX = t.aX),
-            (this.aY = t.aY),
-            (this.xRadius = t.xRadius),
-            (this.yRadius = t.yRadius),
-            (this.aStartAngle = t.aStartAngle),
-            (this.aEndAngle = t.aEndAngle),
-            (this.aClockwise = t.aClockwise),
-            (this.aRotation = t.aRotation),
-            this
-          )
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.aX = this.aX),
-            (t.aY = this.aY),
-            (t.xRadius = this.xRadius),
-            (t.yRadius = this.yRadius),
-            (t.aStartAngle = this.aStartAngle),
-            (t.aEndAngle = this.aEndAngle),
-            (t.aClockwise = this.aClockwise),
-            (t.aRotation = this.aRotation),
-            t
-          )
-        }
-        fromJSON(t) {
-          return (
-            super.fromJSON(t),
-            (this.aX = t.aX),
-            (this.aY = t.aY),
-            (this.xRadius = t.xRadius),
-            (this.yRadius = t.yRadius),
-            (this.aStartAngle = t.aStartAngle),
-            (this.aEndAngle = t.aEndAngle),
-            (this.aClockwise = t.aClockwise),
-            (this.aRotation = t.aRotation),
-            this
-          )
-        }
-      }
-      Ks.prototype.isEllipseCurve = !0
-      class $s extends Ks {
-        constructor(t, e, n, i, r, s) {
-          super(t, e, n, n, i, r, s), (this.type = 'ArcCurve')
-        }
-      }
-      function ta() {
-        let t = 0,
-          e = 0,
-          n = 0,
-          i = 0
-        function r(r, s, a, o) {
-          ;(t = r), (e = a), (n = -3 * r + 3 * s - 2 * a - o), (i = 2 * r - 2 * s + a + o)
-        }
-        return {
-          initCatmullRom: function (t, e, n, i, s) {
-            r(e, n, s * (n - t), s * (i - e))
-          },
-          initNonuniformCatmullRom: function (t, e, n, i, s, a, o) {
-            let l = (e - t) / s - (n - t) / (s + a) + (n - e) / a,
-              c = (n - e) / a - (i - e) / (a + o) + (i - n) / o
-            ;(l *= a), (c *= a), r(e, n, l, c)
-          },
-          calc: function (r) {
-            const s = r * r
-            return t + e * r + n * s + i * (s * r)
-          },
-        }
-      }
-      $s.prototype.isArcCurve = !0
-      const ea = new ut(),
-        na = new ta(),
-        ia = new ta(),
-        ra = new ta()
-      class sa extends Qs {
-        constructor(t = [], e = !1, n = 'centripetal', i = 0.5) {
-          super(),
-            (this.type = 'CatmullRomCurve3'),
-            (this.points = t),
-            (this.closed = e),
-            (this.curveType = n),
-            (this.tension = i)
-        }
-        getPoint(t, e = new ut()) {
-          const n = e,
-            i = this.points,
-            r = i.length,
-            s = (r - (this.closed ? 0 : 1)) * t
-          let a,
-            o,
-            l = Math.floor(s),
-            c = s - l
-          this.closed
-            ? (l += l > 0 ? 0 : (Math.floor(Math.abs(l) / r) + 1) * r)
-            : 0 === c && l === r - 1 && ((l = r - 2), (c = 1)),
-            this.closed || l > 0
-              ? (a = i[(l - 1) % r])
-              : (ea.subVectors(i[0], i[1]).add(i[0]), (a = ea))
-          const h = i[l % r],
-            u = i[(l + 1) % r]
-          if (
-            (this.closed || l + 2 < r
-              ? (o = i[(l + 2) % r])
-              : (ea.subVectors(i[r - 1], i[r - 2]).add(i[r - 1]), (o = ea)),
-            'centripetal' === this.curveType || 'chordal' === this.curveType)
-          ) {
-            const t = 'chordal' === this.curveType ? 0.5 : 0.25
-            let e = Math.pow(a.distanceToSquared(h), t),
-              n = Math.pow(h.distanceToSquared(u), t),
-              i = Math.pow(u.distanceToSquared(o), t)
-            n < 1e-4 && (n = 1),
-              e < 1e-4 && (e = n),
-              i < 1e-4 && (i = n),
-              na.initNonuniformCatmullRom(a.x, h.x, u.x, o.x, e, n, i),
-              ia.initNonuniformCatmullRom(a.y, h.y, u.y, o.y, e, n, i),
-              ra.initNonuniformCatmullRom(a.z, h.z, u.z, o.z, e, n, i)
-          } else
-            'catmullrom' === this.curveType &&
-              (na.initCatmullRom(a.x, h.x, u.x, o.x, this.tension),
-              ia.initCatmullRom(a.y, h.y, u.y, o.y, this.tension),
-              ra.initCatmullRom(a.z, h.z, u.z, o.z, this.tension))
-          return n.set(na.calc(c), ia.calc(c), ra.calc(c)), n
-        }
-        copy(t) {
-          super.copy(t), (this.points = [])
-          for (let e = 0, n = t.points.length; e < n; e++) {
-            const n = t.points[e]
-            this.points.push(n.clone())
-          }
-          return (
-            (this.closed = t.closed),
-            (this.curveType = t.curveType),
-            (this.tension = t.tension),
-            this
-          )
-        }
-        toJSON() {
-          const t = super.toJSON()
-          t.points = []
-          for (let e = 0, n = this.points.length; e < n; e++) {
-            const n = this.points[e]
-            t.points.push(n.toArray())
-          }
-          return (
-            (t.closed = this.closed), (t.curveType = this.curveType), (t.tension = this.tension), t
-          )
-        }
-        fromJSON(t) {
-          super.fromJSON(t), (this.points = [])
-          for (let e = 0, n = t.points.length; e < n; e++) {
-            const n = t.points[e]
-            this.points.push(new ut().fromArray(n))
-          }
-          return (
-            (this.closed = t.closed),
-            (this.curveType = t.curveType),
-            (this.tension = t.tension),
-            this
-          )
-        }
-      }
-      function aa(t, e, n, i, r) {
-        const s = 0.5 * (i - e),
-          a = 0.5 * (r - n),
-          o = t * t
-        return (2 * n - 2 * i + s + a) * (t * o) + (-3 * n + 3 * i - 2 * s - a) * o + s * t + n
-      }
-      function oa(t, e, n, i) {
-        return (
-          (function (t, e) {
-            const n = 1 - t
-            return n * n * e
-          })(t, e) +
-          (function (t, e) {
-            return 2 * (1 - t) * t * e
-          })(t, n) +
-          (function (t, e) {
-            return t * t * e
-          })(t, i)
-        )
-      }
-      function la(t, e, n, i, r) {
-        return (
-          (function (t, e) {
-            const n = 1 - t
-            return n * n * n * e
-          })(t, e) +
-          (function (t, e) {
-            const n = 1 - t
-            return 3 * n * n * t * e
-          })(t, n) +
-          (function (t, e) {
-            return 3 * (1 - t) * t * t * e
-          })(t, i) +
-          (function (t, e) {
-            return t * t * t * e
-          })(t, r)
-        )
-      }
-      sa.prototype.isCatmullRomCurve3 = !0
-      class ca extends Qs {
-        constructor(t = new tt(), e = new tt(), n = new tt(), i = new tt()) {
-          super(),
-            (this.type = 'CubicBezierCurve'),
-            (this.v0 = t),
-            (this.v1 = e),
-            (this.v2 = n),
-            (this.v3 = i)
-        }
-        getPoint(t, e = new tt()) {
-          const n = e,
-            i = this.v0,
-            r = this.v1,
-            s = this.v2,
-            a = this.v3
-          return n.set(la(t, i.x, r.x, s.x, a.x), la(t, i.y, r.y, s.y, a.y)), n
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.v0.copy(t.v0),
-            this.v1.copy(t.v1),
-            this.v2.copy(t.v2),
-            this.v3.copy(t.v3),
-            this
-          )
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.v0 = this.v0.toArray()),
-            (t.v1 = this.v1.toArray()),
-            (t.v2 = this.v2.toArray()),
-            (t.v3 = this.v3.toArray()),
-            t
-          )
-        }
-        fromJSON(t) {
-          return (
-            super.fromJSON(t),
-            this.v0.fromArray(t.v0),
-            this.v1.fromArray(t.v1),
-            this.v2.fromArray(t.v2),
-            this.v3.fromArray(t.v3),
-            this
-          )
-        }
-      }
-      ca.prototype.isCubicBezierCurve = !0
-      class ha extends Qs {
-        constructor(t = new ut(), e = new ut(), n = new ut(), i = new ut()) {
-          super(),
-            (this.type = 'CubicBezierCurve3'),
-            (this.v0 = t),
-            (this.v1 = e),
-            (this.v2 = n),
-            (this.v3 = i)
-        }
-        getPoint(t, e = new ut()) {
-          const n = e,
-            i = this.v0,
-            r = this.v1,
-            s = this.v2,
-            a = this.v3
-          return (
-            n.set(la(t, i.x, r.x, s.x, a.x), la(t, i.y, r.y, s.y, a.y), la(t, i.z, r.z, s.z, a.z)),
-            n
-          )
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.v0.copy(t.v0),
-            this.v1.copy(t.v1),
-            this.v2.copy(t.v2),
-            this.v3.copy(t.v3),
-            this
-          )
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.v0 = this.v0.toArray()),
-            (t.v1 = this.v1.toArray()),
-            (t.v2 = this.v2.toArray()),
-            (t.v3 = this.v3.toArray()),
-            t
-          )
-        }
-        fromJSON(t) {
-          return (
-            super.fromJSON(t),
-            this.v0.fromArray(t.v0),
-            this.v1.fromArray(t.v1),
-            this.v2.fromArray(t.v2),
-            this.v3.fromArray(t.v3),
-            this
-          )
-        }
-      }
-      ha.prototype.isCubicBezierCurve3 = !0
-      class ua extends Qs {
-        constructor(t = new tt(), e = new tt()) {
-          super(), (this.type = 'LineCurve'), (this.v1 = t), (this.v2 = e)
-        }
-        getPoint(t, e = new tt()) {
-          const n = e
-          return (
-            1 === t
-              ? n.copy(this.v2)
-              : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)),
-            n
-          )
-        }
-        getPointAt(t, e) {
-          return this.getPoint(t, e)
-        }
-        getTangent(t, e) {
-          const n = e || new tt()
-          return n.copy(this.v2).sub(this.v1).normalize(), n
-        }
-        copy(t) {
-          return super.copy(t), this.v1.copy(t.v1), this.v2.copy(t.v2), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t
-        }
-        fromJSON(t) {
-          return super.fromJSON(t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this
-        }
-      }
-      ua.prototype.isLineCurve = !0
-      class da extends Qs {
-        constructor(t = new tt(), e = new tt(), n = new tt()) {
-          super(), (this.type = 'QuadraticBezierCurve'), (this.v0 = t), (this.v1 = e), (this.v2 = n)
-        }
-        getPoint(t, e = new tt()) {
-          const n = e,
-            i = this.v0,
-            r = this.v1,
-            s = this.v2
-          return n.set(oa(t, i.x, r.x, s.x), oa(t, i.y, r.y, s.y)), n
-        }
-        copy(t) {
-          return super.copy(t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t
-          )
-        }
-        fromJSON(t) {
-          return (
-            super.fromJSON(t),
-            this.v0.fromArray(t.v0),
-            this.v1.fromArray(t.v1),
-            this.v2.fromArray(t.v2),
-            this
-          )
-        }
-      }
-      da.prototype.isQuadraticBezierCurve = !0
-      class pa extends Qs {
-        constructor(t = new ut(), e = new ut(), n = new ut()) {
-          super(),
-            (this.type = 'QuadraticBezierCurve3'),
-            (this.v0 = t),
-            (this.v1 = e),
-            (this.v2 = n)
-        }
-        getPoint(t, e = new ut()) {
-          const n = e,
-            i = this.v0,
-            r = this.v1,
-            s = this.v2
-          return n.set(oa(t, i.x, r.x, s.x), oa(t, i.y, r.y, s.y), oa(t, i.z, r.z, s.z)), n
-        }
-        copy(t) {
-          return super.copy(t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t
-          )
-        }
-        fromJSON(t) {
-          return (
-            super.fromJSON(t),
-            this.v0.fromArray(t.v0),
-            this.v1.fromArray(t.v1),
-            this.v2.fromArray(t.v2),
-            this
-          )
-        }
-      }
-      pa.prototype.isQuadraticBezierCurve3 = !0
-      class ma extends Qs {
-        constructor(t = []) {
-          super(), (this.type = 'SplineCurve'), (this.points = t)
-        }
-        getPoint(t, e = new tt()) {
-          const n = e,
-            i = this.points,
-            r = (i.length - 1) * t,
-            s = Math.floor(r),
-            a = r - s,
-            o = i[0 === s ? s : s - 1],
-            l = i[s],
-            c = i[s > i.length - 2 ? i.length - 1 : s + 1],
-            h = i[s > i.length - 3 ? i.length - 1 : s + 2]
-          return n.set(aa(a, o.x, l.x, c.x, h.x), aa(a, o.y, l.y, c.y, h.y)), n
-        }
-        copy(t) {
-          super.copy(t), (this.points = [])
-          for (let e = 0, n = t.points.length; e < n; e++) {
-            const n = t.points[e]
-            this.points.push(n.clone())
-          }
-          return this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          t.points = []
-          for (let e = 0, n = this.points.length; e < n; e++) {
-            const n = this.points[e]
-            t.points.push(n.toArray())
-          }
-          return t
-        }
-        fromJSON(t) {
-          super.fromJSON(t), (this.points = [])
-          for (let e = 0, n = t.points.length; e < n; e++) {
-            const n = t.points[e]
-            this.points.push(new tt().fromArray(n))
-          }
-          return this
-        }
-      }
-      ma.prototype.isSplineCurve = !0
-      var fa = Object.freeze({
-        __proto__: null,
-        ArcCurve: $s,
-        CatmullRomCurve3: sa,
-        CubicBezierCurve: ca,
-        CubicBezierCurve3: ha,
-        EllipseCurve: Ks,
-        LineCurve: ua,
-        LineCurve3: class extends Qs {
-          constructor(t = new ut(), e = new ut()) {
-            super(),
-              (this.type = 'LineCurve3'),
-              (this.isLineCurve3 = !0),
-              (this.v1 = t),
-              (this.v2 = e)
-          }
-          getPoint(t, e = new ut()) {
-            const n = e
-            return (
-              1 === t
-                ? n.copy(this.v2)
-                : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)),
-              n
-            )
-          }
-          getPointAt(t, e) {
-            return this.getPoint(t, e)
-          }
-          copy(t) {
-            return super.copy(t), this.v1.copy(t.v1), this.v2.copy(t.v2), this
-          }
-          toJSON() {
-            const t = super.toJSON()
-            return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t
-          }
-          fromJSON(t) {
-            return super.fromJSON(t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this
-          }
-        },
-        QuadraticBezierCurve: da,
-        QuadraticBezierCurve3: pa,
-        SplineCurve: ma,
-      })
-      const ga = function (t, e, n = 2) {
-        const i = e && e.length,
-          r = i ? e[0] * n : t.length
-        let s = va(t, 0, r, n, !0)
-        const a = []
-        if (!s || s.next === s.prev) return a
-        let o, l, c, h, u, d, p
-        if (
-          (i &&
-            (s = (function (t, e, n, i) {
-              const r = []
-              let s, a, o, l, c
-              for (s = 0, a = e.length; s < a; s++)
-                (o = e[s] * i),
-                  (l = s < a - 1 ? e[s + 1] * i : t.length),
-                  (c = va(t, o, l, i, !1)),
-                  c === c.next && (c.steiner = !0),
-                  r.push(Aa(c))
-              for (r.sort(Sa), s = 0; s < r.length; s++) Ta(r[s], n), (n = ya(n, n.next))
-              return n
-            })(t, e, s, n)),
-          t.length > 80 * n)
-        ) {
-          ;(o = c = t[0]), (l = h = t[1])
-          for (let e = n; e < r; e += n)
-            (u = t[e]),
-              (d = t[e + 1]),
-              u < o && (o = u),
-              d < l && (l = d),
-              u > c && (c = u),
-              d > h && (h = d)
-          ;(p = Math.max(c - o, h - l)), (p = 0 !== p ? 1 / p : 0)
-        }
-        return xa(s, a, n, o, l, p), a
-      }
-      function va(t, e, n, i, r) {
-        let s, a
-        if (
-          r ===
-          (function (t, e, n, i) {
-            let r = 0
-            for (let s = e, a = n - i; s < n; s += i)
-              (r += (t[a] - t[s]) * (t[s + 1] + t[a + 1])), (a = s)
-            return r
-          })(t, e, n, i) >
-            0
-        )
-          for (s = e; s < n; s += i) a = Fa(s, t[s], t[s + 1], a)
-        else for (s = n - i; s >= e; s -= i) a = Fa(s, t[s], t[s + 1], a)
-        return a && Da(a, a.next) && (Ua(a), (a = a.next)), a
-      }
-      function ya(t, e) {
-        if (!t) return t
-        e || (e = t)
-        let n,
-          i = t
-        do {
-          if (((n = !1), i.steiner || (!Da(i, i.next) && 0 !== Pa(i.prev, i, i.next)))) i = i.next
-          else {
-            if ((Ua(i), (i = e = i.prev), i === i.next)) break
-            n = !0
-          }
-        } while (n || i !== e)
-        return e
-      }
-      function xa(t, e, n, i, r, s, a) {
-        if (!t) return
-        !a &&
-          s &&
-          (function (t, e, n, i) {
-            let r = t
-            do {
-              null === r.z && (r.z = La(r.x, r.y, e, n, i)),
-                (r.prevZ = r.prev),
-                (r.nextZ = r.next),
-                (r = r.next)
-            } while (r !== t)
-            ;(r.prevZ.nextZ = null),
-              (r.prevZ = null),
-              (function (t) {
-                let e,
-                  n,
-                  i,
-                  r,
-                  s,
-                  a,
-                  o,
-                  l,
-                  c = 1
-                do {
-                  for (n = t, t = null, s = null, a = 0; n; ) {
-                    for (a++, i = n, o = 0, e = 0; e < c && (o++, (i = i.nextZ), i); e++);
-                    for (l = c; o > 0 || (l > 0 && i); )
-                      0 !== o && (0 === l || !i || n.z <= i.z)
-                        ? ((r = n), (n = n.nextZ), o--)
-                        : ((r = i), (i = i.nextZ), l--),
-                        s ? (s.nextZ = r) : (t = r),
-                        (r.prevZ = s),
-                        (s = r)
-                    n = i
-                  }
-                  ;(s.nextZ = null), (c *= 2)
-                } while (a > 1)
-              })(r)
-          })(t, i, r, s)
-        let o,
-          l,
-          c = t
-        for (; t.prev !== t.next; )
-          if (((o = t.prev), (l = t.next), s ? ba(t, i, r, s) : _a(t)))
-            e.push(o.i / n), e.push(t.i / n), e.push(l.i / n), Ua(t), (t = l.next), (c = l.next)
-          else if ((t = l) === c) {
-            a
-              ? 1 === a
-                ? xa((t = Ma(ya(t), e, n)), e, n, i, r, s, 2)
-                : 2 === a && wa(t, e, n, i, r, s)
-              : xa(ya(t), e, n, i, r, s, 1)
-            break
-          }
-      }
-      function _a(t) {
-        const e = t.prev,
-          n = t,
-          i = t.next
-        if (Pa(e, n, i) >= 0) return !1
-        let r = t.next.next
-        for (; r !== t.prev; ) {
-          if (Ra(e.x, e.y, n.x, n.y, i.x, i.y, r.x, r.y) && Pa(r.prev, r, r.next) >= 0) return !1
-          r = r.next
-        }
-        return !0
-      }
-      function ba(t, e, n, i) {
-        const r = t.prev,
-          s = t,
-          a = t.next
-        if (Pa(r, s, a) >= 0) return !1
-        const o = r.x < s.x ? (r.x < a.x ? r.x : a.x) : s.x < a.x ? s.x : a.x,
-          l = r.y < s.y ? (r.y < a.y ? r.y : a.y) : s.y < a.y ? s.y : a.y,
-          c = r.x > s.x ? (r.x > a.x ? r.x : a.x) : s.x > a.x ? s.x : a.x,
-          h = r.y > s.y ? (r.y > a.y ? r.y : a.y) : s.y > a.y ? s.y : a.y,
-          u = La(o, l, e, n, i),
-          d = La(c, h, e, n, i)
-        let p = t.prevZ,
-          m = t.nextZ
-        for (; p && p.z >= u && m && m.z <= d; ) {
-          if (
-            p !== t.prev &&
-            p !== t.next &&
-            Ra(r.x, r.y, s.x, s.y, a.x, a.y, p.x, p.y) &&
-            Pa(p.prev, p, p.next) >= 0
-          )
-            return !1
-          if (
-            ((p = p.prevZ),
-            m !== t.prev &&
-              m !== t.next &&
-              Ra(r.x, r.y, s.x, s.y, a.x, a.y, m.x, m.y) &&
-              Pa(m.prev, m, m.next) >= 0)
-          )
-            return !1
-          m = m.nextZ
-        }
-        for (; p && p.z >= u; ) {
-          if (
-            p !== t.prev &&
-            p !== t.next &&
-            Ra(r.x, r.y, s.x, s.y, a.x, a.y, p.x, p.y) &&
-            Pa(p.prev, p, p.next) >= 0
-          )
-            return !1
-          p = p.prevZ
-        }
-        for (; m && m.z <= d; ) {
-          if (
-            m !== t.prev &&
-            m !== t.next &&
-            Ra(r.x, r.y, s.x, s.y, a.x, a.y, m.x, m.y) &&
-            Pa(m.prev, m, m.next) >= 0
-          )
-            return !1
-          m = m.nextZ
-        }
-        return !0
-      }
-      function Ma(t, e, n) {
-        let i = t
-        do {
-          const r = i.prev,
-            s = i.next.next
-          !Da(r, s) &&
-            Ia(r, i, i.next, s) &&
-            Oa(r, s) &&
-            Oa(s, r) &&
-            (e.push(r.i / n), e.push(i.i / n), e.push(s.i / n), Ua(i), Ua(i.next), (i = t = s)),
-            (i = i.next)
-        } while (i !== t)
-        return ya(i)
-      }
-      function wa(t, e, n, i, r, s) {
-        let a = t
-        do {
-          let t = a.next.next
-          for (; t !== a.prev; ) {
-            if (a.i !== t.i && Ca(a, t)) {
-              let o = Ba(a, t)
-              return (
-                (a = ya(a, a.next)),
-                (o = ya(o, o.next)),
-                xa(a, e, n, i, r, s),
-                void xa(o, e, n, i, r, s)
-              )
-            }
-            t = t.next
-          }
-          a = a.next
-        } while (a !== t)
-      }
-      function Sa(t, e) {
-        return t.x - e.x
-      }
-      function Ta(t, e) {
-        if (
-          (e = (function (t, e) {
-            let n = e
-            const i = t.x,
-              r = t.y
-            let s,
-              a = -1 / 0
-            do {
-              if (r <= n.y && r >= n.next.y && n.next.y !== n.y) {
-                const t = n.x + ((r - n.y) * (n.next.x - n.x)) / (n.next.y - n.y)
-                if (t <= i && t > a) {
-                  if (((a = t), t === i)) {
-                    if (r === n.y) return n
-                    if (r === n.next.y) return n.next
-                  }
-                  s = n.x < n.next.x ? n : n.next
-                }
-              }
-              n = n.next
-            } while (n !== e)
-            if (!s) return null
-            if (i === a) return s
-            const o = s,
-              l = s.x,
-              c = s.y
-            let h,
-              u = 1 / 0
-            n = s
-            do {
-              i >= n.x &&
-                n.x >= l &&
-                i !== n.x &&
-                Ra(r < c ? i : a, r, l, c, r < c ? a : i, r, n.x, n.y) &&
-                ((h = Math.abs(r - n.y) / (i - n.x)),
-                Oa(n, t) &&
-                  (h < u || (h === u && (n.x > s.x || (n.x === s.x && Ea(s, n))))) &&
-                  ((s = n), (u = h))),
-                (n = n.next)
-            } while (n !== o)
-            return s
-          })(t, e))
-        ) {
-          const n = Ba(e, t)
-          ya(e, e.next), ya(n, n.next)
-        }
-      }
-      function Ea(t, e) {
-        return Pa(t.prev, t, e.prev) < 0 && Pa(e.next, t, t.next) < 0
-      }
-      function La(t, e, n, i, r) {
-        return (
-          (t =
-            1431655765 &
-            ((t =
-              858993459 &
-              ((t =
-                252645135 & ((t = 16711935 & ((t = 32767 * (t - n) * r) | (t << 8))) | (t << 4))) |
-                (t << 2))) |
-              (t << 1))) |
-          ((e =
-            1431655765 &
-            ((e =
-              858993459 &
-              ((e =
-                252645135 & ((e = 16711935 & ((e = 32767 * (e - i) * r) | (e << 8))) | (e << 4))) |
-                (e << 2))) |
-              (e << 1))) <<
-            1)
-        )
-      }
-      function Aa(t) {
-        let e = t,
-          n = t
-        do {
-          ;(e.x < n.x || (e.x === n.x && e.y < n.y)) && (n = e), (e = e.next)
-        } while (e !== t)
-        return n
-      }
-      function Ra(t, e, n, i, r, s, a, o) {
-        return (
-          (r - a) * (e - o) - (t - a) * (s - o) >= 0 &&
-          (t - a) * (i - o) - (n - a) * (e - o) >= 0 &&
-          (n - a) * (s - o) - (r - a) * (i - o) >= 0
-        )
-      }
-      function Ca(t, e) {
-        return (
-          t.next.i !== e.i &&
-          t.prev.i !== e.i &&
-          !(function (t, e) {
-            let n = t
-            do {
-              if (
-                n.i !== t.i &&
-                n.next.i !== t.i &&
-                n.i !== e.i &&
-                n.next.i !== e.i &&
-                Ia(n, n.next, t, e)
-              )
-                return !0
-              n = n.next
-            } while (n !== t)
-            return !1
-          })(t, e) &&
-          ((Oa(t, e) &&
-            Oa(e, t) &&
-            (function (t, e) {
-              let n = t,
-                i = !1
-              const r = (t.x + e.x) / 2,
-                s = (t.y + e.y) / 2
-              do {
-                n.y > s !== n.next.y > s &&
-                  n.next.y !== n.y &&
-                  r < ((n.next.x - n.x) * (s - n.y)) / (n.next.y - n.y) + n.x &&
-                  (i = !i),
-                  (n = n.next)
-              } while (n !== t)
-              return i
-            })(t, e) &&
-            (Pa(t.prev, t, e.prev) || Pa(t, e.prev, e))) ||
-            (Da(t, e) && Pa(t.prev, t, t.next) > 0 && Pa(e.prev, e, e.next) > 0))
-        )
-      }
-      function Pa(t, e, n) {
-        return (e.y - t.y) * (n.x - e.x) - (e.x - t.x) * (n.y - e.y)
-      }
-      function Da(t, e) {
-        return t.x === e.x && t.y === e.y
-      }
-      function Ia(t, e, n, i) {
-        const r = za(Pa(t, e, n)),
-          s = za(Pa(t, e, i)),
-          a = za(Pa(n, i, t)),
-          o = za(Pa(n, i, e))
-        return (
-          (r !== s && a !== o) ||
-          !(0 !== r || !Na(t, n, e)) ||
-          !(0 !== s || !Na(t, i, e)) ||
-          !(0 !== a || !Na(n, t, i)) ||
-          !(0 !== o || !Na(n, e, i))
-        )
-      }
-      function Na(t, e, n) {
-        return (
-          e.x <= Math.max(t.x, n.x) &&
-          e.x >= Math.min(t.x, n.x) &&
-          e.y <= Math.max(t.y, n.y) &&
-          e.y >= Math.min(t.y, n.y)
-        )
-      }
-      function za(t) {
-        return t > 0 ? 1 : t < 0 ? -1 : 0
-      }
-      function Oa(t, e) {
-        return Pa(t.prev, t, t.next) < 0
-          ? Pa(t, e, t.next) >= 0 && Pa(t, t.prev, e) >= 0
-          : Pa(t, e, t.prev) < 0 || Pa(t, t.next, e) < 0
-      }
-      function Ba(t, e) {
-        const n = new Ha(t.i, t.x, t.y),
-          i = new Ha(e.i, e.x, e.y),
-          r = t.next,
-          s = e.prev
-        return (
-          (t.next = e),
-          (e.prev = t),
-          (n.next = r),
-          (r.prev = n),
-          (i.next = n),
-          (n.prev = i),
-          (s.next = i),
-          (i.prev = s),
-          i
-        )
-      }
-      function Fa(t, e, n, i) {
-        const r = new Ha(t, e, n)
-        return (
-          i
-            ? ((r.next = i.next), (r.prev = i), (i.next.prev = r), (i.next = r))
-            : ((r.prev = r), (r.next = r)),
-          r
-        )
-      }
-      function Ua(t) {
-        ;(t.next.prev = t.prev),
-          (t.prev.next = t.next),
-          t.prevZ && (t.prevZ.nextZ = t.nextZ),
-          t.nextZ && (t.nextZ.prevZ = t.prevZ)
-      }
-      function Ha(t, e, n) {
-        ;(this.i = t),
-          (this.x = e),
-          (this.y = n),
-          (this.prev = null),
-          (this.next = null),
-          (this.z = null),
-          (this.prevZ = null),
-          (this.nextZ = null),
-          (this.steiner = !1)
-      }
-      class Ga {
-        static area(t) {
-          const e = t.length
-          let n = 0
-          for (let i = e - 1, r = 0; r < e; i = r++) n += t[i].x * t[r].y - t[r].x * t[i].y
-          return 0.5 * n
-        }
-        static isClockWise(t) {
-          return Ga.area(t) < 0
-        }
-        static triangulateShape(t, e) {
-          const n = [],
-            i = [],
-            r = []
-          Va(t), ka(n, t)
-          let s = t.length
-          e.forEach(Va)
-          for (let o = 0; o < e.length; o++) i.push(s), (s += e[o].length), ka(n, e[o])
-          const a = ga(n, i)
-          for (let o = 0; o < a.length; o += 3) r.push(a.slice(o, o + 3))
-          return r
-        }
-      }
-      function Va(t) {
-        const e = t.length
-        e > 2 && t[e - 1].equals(t[0]) && t.pop()
-      }
-      function ka(t, e) {
-        for (let n = 0; n < e.length; n++) t.push(e[n].x), t.push(e[n].y)
-      }
-      class Wa extends Je {
-        constructor(t, e) {
-          super(),
-            (this.type = 'ExtrudeGeometry'),
-            (this.parameters = { shapes: t, options: e }),
-            (t = Array.isArray(t) ? t : [t])
-          const n = this,
-            i = [],
-            r = []
-          for (let a = 0, o = t.length; a < o; a++) {
-            s(t[a])
-          }
-          function s(t) {
-            const s = [],
-              a = void 0 !== e.curveSegments ? e.curveSegments : 12,
-              o = void 0 !== e.steps ? e.steps : 1
-            let l = void 0 !== e.depth ? e.depth : 100,
-              c = void 0 === e.bevelEnabled || e.bevelEnabled,
-              h = void 0 !== e.bevelThickness ? e.bevelThickness : 6,
-              u = void 0 !== e.bevelSize ? e.bevelSize : h - 2,
-              d = void 0 !== e.bevelOffset ? e.bevelOffset : 0,
-              p = void 0 !== e.bevelSegments ? e.bevelSegments : 3
-            const m = e.extrudePath,
-              f = void 0 !== e.UVGenerator ? e.UVGenerator : ja
-            void 0 !== e.amount &&
-              (console.warn('THREE.ExtrudeBufferGeometry: amount has been renamed to depth.'),
-              (l = e.amount))
-            let g,
-              v,
-              y,
-              x,
-              _,
-              b = !1
-            m &&
-              ((g = m.getSpacedPoints(o)),
-              (b = !0),
-              (c = !1),
-              (v = m.computeFrenetFrames(o, !1)),
-              (y = new ut()),
-              (x = new ut()),
-              (_ = new ut())),
-              c || ((p = 0), (h = 0), (u = 0), (d = 0))
-            const M = t.extractPoints(a)
-            let w = M.shape
-            const S = M.holes
-            if (!Ga.isClockWise(w)) {
-              w = w.reverse()
-              for (let t = 0, e = S.length; t < e; t++) {
-                const e = S[t]
-                Ga.isClockWise(e) && (S[t] = e.reverse())
-              }
-            }
-            const T = Ga.triangulateShape(w, S),
-              E = w
-            for (let e = 0, n = S.length; e < n; e++) {
-              const t = S[e]
-              w = w.concat(t)
-            }
-            function L(t, e, n) {
-              return (
-                e || console.error('THREE.ExtrudeGeometry: vec does not exist'),
-                e.clone().multiplyScalar(n).add(t)
-              )
-            }
-            const A = w.length,
-              R = T.length
-            function C(t, e, n) {
-              let i, r, s
-              const a = t.x - e.x,
-                o = t.y - e.y,
-                l = n.x - t.x,
-                c = n.y - t.y,
-                h = a * a + o * o,
-                u = a * c - o * l
-              if (Math.abs(u) > Number.EPSILON) {
-                const u = Math.sqrt(h),
-                  d = Math.sqrt(l * l + c * c),
-                  p = e.x - o / u,
-                  m = e.y + a / u,
-                  f = ((n.x - c / d - p) * c - (n.y + l / d - m) * l) / (a * c - o * l)
-                ;(i = p + a * f - t.x), (r = m + o * f - t.y)
-                const g = i * i + r * r
-                if (g <= 2) return new tt(i, r)
-                s = Math.sqrt(g / 2)
-              } else {
-                let t = !1
-                a > Number.EPSILON
-                  ? l > Number.EPSILON && (t = !0)
-                  : a < -Number.EPSILON
-                  ? l < -Number.EPSILON && (t = !0)
-                  : Math.sign(o) === Math.sign(c) && (t = !0),
-                  t
-                    ? ((i = -o), (r = a), (s = Math.sqrt(h)))
-                    : ((i = a), (r = o), (s = Math.sqrt(h / 2)))
-              }
-              return new tt(i / s, r / s)
-            }
-            const P = []
-            for (let e = 0, n = E.length, i = n - 1, r = e + 1; e < n; e++, i++, r++)
-              i === n && (i = 0), r === n && (r = 0), (P[e] = C(E[e], E[i], E[r]))
-            const D = []
-            let I,
-              N = P.concat()
-            for (let e = 0, n = S.length; e < n; e++) {
-              const t = S[e]
-              I = []
-              for (let e = 0, n = t.length, i = n - 1, r = e + 1; e < n; e++, i++, r++)
-                i === n && (i = 0), r === n && (r = 0), (I[e] = C(t[e], t[i], t[r]))
-              D.push(I), (N = N.concat(I))
-            }
-            for (let e = 0; e < p; e++) {
-              const t = e / p,
-                n = h * Math.cos((t * Math.PI) / 2),
-                i = u * Math.sin((t * Math.PI) / 2) + d
-              for (let e = 0, r = E.length; e < r; e++) {
-                const t = L(E[e], P[e], i)
-                B(t.x, t.y, -n)
-              }
-              for (let e = 0, r = S.length; e < r; e++) {
-                const t = S[e]
-                I = D[e]
-                for (let e = 0, r = t.length; e < r; e++) {
-                  const r = L(t[e], I[e], i)
-                  B(r.x, r.y, -n)
-                }
-              }
-            }
-            const z = u + d
-            for (let e = 0; e < A; e++) {
-              const t = c ? L(w[e], N[e], z) : w[e]
-              b
-                ? (x.copy(v.normals[0]).multiplyScalar(t.x),
-                  y.copy(v.binormals[0]).multiplyScalar(t.y),
-                  _.copy(g[0]).add(x).add(y),
-                  B(_.x, _.y, _.z))
-                : B(t.x, t.y, 0)
-            }
-            for (let e = 1; e <= o; e++)
-              for (let t = 0; t < A; t++) {
-                const n = c ? L(w[t], N[t], z) : w[t]
-                b
-                  ? (x.copy(v.normals[e]).multiplyScalar(n.x),
-                    y.copy(v.binormals[e]).multiplyScalar(n.y),
-                    _.copy(g[e]).add(x).add(y),
-                    B(_.x, _.y, _.z))
-                  : B(n.x, n.y, (l / o) * e)
-              }
-            for (let e = p - 1; e >= 0; e--) {
-              const t = e / p,
-                n = h * Math.cos((t * Math.PI) / 2),
-                i = u * Math.sin((t * Math.PI) / 2) + d
-              for (let e = 0, r = E.length; e < r; e++) {
-                const t = L(E[e], P[e], i)
-                B(t.x, t.y, l + n)
-              }
-              for (let e = 0, r = S.length; e < r; e++) {
-                const t = S[e]
-                I = D[e]
-                for (let e = 0, r = t.length; e < r; e++) {
-                  const r = L(t[e], I[e], i)
-                  b ? B(r.x, r.y + g[o - 1].y, g[o - 1].x + n) : B(r.x, r.y, l + n)
-                }
-              }
-            }
-            function O(t, e) {
-              let n = t.length
-              for (; --n >= 0; ) {
-                const i = n
-                let r = n - 1
-                r < 0 && (r = t.length - 1)
-                for (let t = 0, n = o + 2 * p; t < n; t++) {
-                  const n = A * t,
-                    s = A * (t + 1)
-                  U(e + i + n, e + r + n, e + r + s, e + i + s)
-                }
-              }
-            }
-            function B(t, e, n) {
-              s.push(t), s.push(e), s.push(n)
-            }
-            function F(t, e, r) {
-              H(t), H(e), H(r)
-              const s = i.length / 3,
-                a = f.generateTopUV(n, i, s - 3, s - 2, s - 1)
-              G(a[0]), G(a[1]), G(a[2])
-            }
-            function U(t, e, r, s) {
-              H(t), H(e), H(s), H(e), H(r), H(s)
-              const a = i.length / 3,
-                o = f.generateSideWallUV(n, i, a - 6, a - 3, a - 2, a - 1)
-              G(o[0]), G(o[1]), G(o[3]), G(o[1]), G(o[2]), G(o[3])
-            }
-            function H(t) {
-              i.push(s[3 * t + 0]), i.push(s[3 * t + 1]), i.push(s[3 * t + 2])
-            }
-            function G(t) {
-              r.push(t.x), r.push(t.y)
-            }
-            !(function () {
-              const t = i.length / 3
-              if (c) {
-                let t = 0,
-                  e = A * t
-                for (let n = 0; n < R; n++) {
-                  const t = T[n]
-                  F(t[2] + e, t[1] + e, t[0] + e)
-                }
-                ;(t = o + 2 * p), (e = A * t)
-                for (let n = 0; n < R; n++) {
-                  const t = T[n]
-                  F(t[0] + e, t[1] + e, t[2] + e)
-                }
-              } else {
-                for (let t = 0; t < R; t++) {
-                  const e = T[t]
-                  F(e[2], e[1], e[0])
-                }
-                for (let t = 0; t < R; t++) {
-                  const e = T[t]
-                  F(e[0] + A * o, e[1] + A * o, e[2] + A * o)
-                }
-              }
-              n.addGroup(t, i.length / 3 - t, 0)
-            })(),
-              (function () {
-                const t = i.length / 3
-                let e = 0
-                O(E, e), (e += E.length)
-                for (let n = 0, i = S.length; n < i; n++) {
-                  const t = S[n]
-                  O(t, e), (e += t.length)
-                }
-                n.addGroup(t, i.length / 3 - t, 1)
-              })()
-          }
-          this.setAttribute('position', new He(i, 3)),
-            this.setAttribute('uv', new He(r, 2)),
-            this.computeVertexNormals()
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (function (t, e, n) {
-            if (((n.shapes = []), Array.isArray(t)))
-              for (let i = 0, r = t.length; i < r; i++) {
-                const e = t[i]
-                n.shapes.push(e.uuid)
-              }
-            else n.shapes.push(t.uuid)
-            void 0 !== e.extrudePath && (n.options.extrudePath = e.extrudePath.toJSON())
-            return n
-          })(this.parameters.shapes, this.parameters.options, t)
-        }
-        static fromJSON(t, e) {
-          const n = []
-          for (let r = 0, s = t.shapes.length; r < s; r++) {
-            const i = e[t.shapes[r]]
-            n.push(i)
-          }
-          const i = t.options.extrudePath
-          return (
-            void 0 !== i && (t.options.extrudePath = new fa[i.type]().fromJSON(i)),
-            new Wa(n, t.options)
-          )
-        }
-      }
-      const ja = {
-        generateTopUV: function (t, e, n, i, r) {
-          const s = e[3 * n],
-            a = e[3 * n + 1],
-            o = e[3 * i],
-            l = e[3 * i + 1],
-            c = e[3 * r],
-            h = e[3 * r + 1]
-          return [new tt(s, a), new tt(o, l), new tt(c, h)]
-        },
-        generateSideWallUV: function (t, e, n, i, r, s) {
-          const a = e[3 * n],
-            o = e[3 * n + 1],
-            l = e[3 * n + 2],
-            c = e[3 * i],
-            h = e[3 * i + 1],
-            u = e[3 * i + 2],
-            d = e[3 * r],
-            p = e[3 * r + 1],
-            m = e[3 * r + 2],
-            f = e[3 * s],
-            g = e[3 * s + 1],
-            v = e[3 * s + 2]
-          return Math.abs(o - h) < Math.abs(a - c)
-            ? [new tt(a, 1 - l), new tt(c, 1 - u), new tt(d, 1 - m), new tt(f, 1 - v)]
-            : [new tt(o, 1 - l), new tt(h, 1 - u), new tt(p, 1 - m), new tt(g, 1 - v)]
-        },
-      }
-      class qa extends Je {
-        constructor(t, e = 12) {
-          super(),
-            (this.type = 'ShapeGeometry'),
-            (this.parameters = { shapes: t, curveSegments: e })
-          const n = [],
-            i = [],
-            r = [],
-            s = []
-          let a = 0,
-            o = 0
-          if (!1 === Array.isArray(t)) l(t)
-          else for (let c = 0; c < t.length; c++) l(t[c]), this.addGroup(a, o, c), (a += o), (o = 0)
-          function l(t) {
-            const a = i.length / 3,
-              l = t.extractPoints(e)
-            let c = l.shape
-            const h = l.holes
-            !1 === Ga.isClockWise(c) && (c = c.reverse())
-            for (let e = 0, n = h.length; e < n; e++) {
-              const t = h[e]
-              !0 === Ga.isClockWise(t) && (h[e] = t.reverse())
-            }
-            const u = Ga.triangulateShape(c, h)
-            for (let e = 0, n = h.length; e < n; e++) {
-              const t = h[e]
-              c = c.concat(t)
-            }
-            for (let e = 0, n = c.length; e < n; e++) {
-              const t = c[e]
-              i.push(t.x, t.y, 0), r.push(0, 0, 1), s.push(t.x, t.y)
-            }
-            for (let e = 0, i = u.length; e < i; e++) {
-              const t = u[e],
-                i = t[0] + a,
-                r = t[1] + a,
-                s = t[2] + a
-              n.push(i, r, s), (o += 3)
-            }
-          }
-          this.setIndex(n),
-            this.setAttribute('position', new He(i, 3)),
-            this.setAttribute('normal', new He(r, 3)),
-            this.setAttribute('uv', new He(s, 2))
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (function (t, e) {
-            if (((e.shapes = []), Array.isArray(t)))
-              for (let n = 0, i = t.length; n < i; n++) {
-                const i = t[n]
-                e.shapes.push(i.uuid)
-              }
-            else e.shapes.push(t.uuid)
-            return e
-          })(this.parameters.shapes, t)
-        }
-        static fromJSON(t, e) {
-          const n = []
-          for (let i = 0, r = t.shapes.length; i < r; i++) {
-            const r = e[t.shapes[i]]
-            n.push(r)
-          }
-          return new qa(n, t.curveSegments)
-        }
-      }
-      class Xa extends Je {
-        constructor(t = 1, e = 8, n = 6, i = 0, r = 2 * Math.PI, s = 0, a = Math.PI) {
-          super(),
-            (this.type = 'SphereGeometry'),
-            (this.parameters = {
-              radius: t,
-              widthSegments: e,
-              heightSegments: n,
-              phiStart: i,
-              phiLength: r,
-              thetaStart: s,
-              thetaLength: a,
-            }),
-            (e = Math.max(3, Math.floor(e))),
-            (n = Math.max(2, Math.floor(n)))
-          const o = Math.min(s + a, Math.PI)
-          let l = 0
-          const c = [],
-            h = new ut(),
-            u = new ut(),
-            d = [],
-            p = [],
-            m = [],
-            f = []
-          for (let g = 0; g <= n; g++) {
-            const d = [],
-              v = g / n
-            let y = 0
-            0 == g && 0 == s ? (y = 0.5 / e) : g == n && o == Math.PI && (y = -0.5 / e)
-            for (let n = 0; n <= e; n++) {
-              const o = n / e
-              ;(h.x = -t * Math.cos(i + o * r) * Math.sin(s + v * a)),
-                (h.y = t * Math.cos(s + v * a)),
-                (h.z = t * Math.sin(i + o * r) * Math.sin(s + v * a)),
-                p.push(h.x, h.y, h.z),
-                u.copy(h).normalize(),
-                m.push(u.x, u.y, u.z),
-                f.push(o + y, 1 - v),
-                d.push(l++)
-            }
-            c.push(d)
-          }
-          for (let g = 0; g < n; g++)
-            for (let t = 0; t < e; t++) {
-              const e = c[g][t + 1],
-                i = c[g][t],
-                r = c[g + 1][t],
-                a = c[g + 1][t + 1]
-              ;(0 !== g || s > 0) && d.push(e, i, a),
-                (g !== n - 1 || o < Math.PI) && d.push(i, r, a)
-            }
-          this.setIndex(d),
-            this.setAttribute('position', new He(p, 3)),
-            this.setAttribute('normal', new He(m, 3)),
-            this.setAttribute('uv', new He(f, 2))
-        }
-        static fromJSON(t) {
-          return new Xa(
-            t.radius,
-            t.widthSegments,
-            t.heightSegments,
-            t.phiStart,
-            t.phiLength,
-            t.thetaStart,
-            t.thetaLength,
-          )
-        }
-      }
-      class Ya extends Je {
-        constructor(t, e = 64, n = 1, i = 8, r = !1) {
-          super(),
-            (this.type = 'TubeGeometry'),
-            (this.parameters = {
-              path: t,
-              tubularSegments: e,
-              radius: n,
-              radialSegments: i,
-              closed: r,
-            })
-          const s = t.computeFrenetFrames(e, r)
-          ;(this.tangents = s.tangents), (this.normals = s.normals), (this.binormals = s.binormals)
-          const a = new ut(),
-            o = new ut(),
-            l = new tt()
-          let c = new ut()
-          const h = [],
-            u = [],
-            d = [],
-            p = []
-          function m(r) {
-            c = t.getPointAt(r / e, c)
-            const l = s.normals[r],
-              d = s.binormals[r]
-            for (let t = 0; t <= i; t++) {
-              const e = (t / i) * Math.PI * 2,
-                r = Math.sin(e),
-                s = -Math.cos(e)
-              ;(o.x = s * l.x + r * d.x),
-                (o.y = s * l.y + r * d.y),
-                (o.z = s * l.z + r * d.z),
-                o.normalize(),
-                u.push(o.x, o.y, o.z),
-                (a.x = c.x + n * o.x),
-                (a.y = c.y + n * o.y),
-                (a.z = c.z + n * o.z),
-                h.push(a.x, a.y, a.z)
-            }
-          }
-          !(function () {
-            for (let t = 0; t < e; t++) m(t)
-            m(!1 === r ? e : 0),
-              (function () {
-                for (let t = 0; t <= e; t++)
-                  for (let n = 0; n <= i; n++) (l.x = t / e), (l.y = n / i), d.push(l.x, l.y)
-              })(),
-              (function () {
-                for (let t = 1; t <= e; t++)
-                  for (let e = 1; e <= i; e++) {
-                    const n = (i + 1) * (t - 1) + (e - 1),
-                      r = (i + 1) * t + (e - 1),
-                      s = (i + 1) * t + e,
-                      a = (i + 1) * (t - 1) + e
-                    p.push(n, r, a), p.push(r, s, a)
-                  }
-              })()
-          })(),
-            this.setIndex(p),
-            this.setAttribute('position', new He(h, 3)),
-            this.setAttribute('normal', new He(u, 3)),
-            this.setAttribute('uv', new He(d, 2))
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (t.path = this.parameters.path.toJSON()), t
-        }
-        static fromJSON(t) {
-          return new Ya(
-            new fa[t.path.type]().fromJSON(t.path),
-            t.tubularSegments,
-            t.radius,
-            t.radialSegments,
-            t.closed,
-          )
-        }
-      }
-      class Ja extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'ShadowMaterial'),
-            (this.color = new Ie(0)),
-            (this.transparent = !0),
-            this.setValues(t)
-        }
-        copy(t) {
-          return super.copy(t), this.color.copy(t.color), this
-        }
-      }
-      Ja.prototype.isShadowMaterial = !0
-      class Za extends _n {
-        constructor(t) {
-          super(t), (this.type = 'RawShaderMaterial')
-        }
-      }
-      Za.prototype.isRawShaderMaterial = !0
-      class Qa extends Ee {
-        constructor(t) {
-          super(),
-            (this.defines = { STANDARD: '' }),
-            (this.type = 'MeshStandardMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.roughness = 1),
-            (this.metalness = 0),
-            (this.map = null),
-            (this.lightMap = null),
-            (this.lightMapIntensity = 1),
-            (this.aoMap = null),
-            (this.aoMapIntensity = 1),
-            (this.emissive = new Ie(0)),
-            (this.emissiveIntensity = 1),
-            (this.emissiveMap = null),
-            (this.bumpMap = null),
-            (this.bumpScale = 1),
-            (this.normalMap = null),
-            (this.normalMapType = 0),
-            (this.normalScale = new tt(1, 1)),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.roughnessMap = null),
-            (this.metalnessMap = null),
-            (this.alphaMap = null),
-            (this.envMap = null),
-            (this.envMapIntensity = 1),
-            (this.refractionRatio = 0.98),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.wireframeLinecap = 'round'),
-            (this.wireframeLinejoin = 'round'),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            (this.flatShading = !1),
-            (this.vertexTangents = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.defines = { STANDARD: '' }),
-            this.color.copy(t.color),
-            (this.roughness = t.roughness),
-            (this.metalness = t.metalness),
-            (this.map = t.map),
-            (this.lightMap = t.lightMap),
-            (this.lightMapIntensity = t.lightMapIntensity),
-            (this.aoMap = t.aoMap),
-            (this.aoMapIntensity = t.aoMapIntensity),
-            this.emissive.copy(t.emissive),
-            (this.emissiveMap = t.emissiveMap),
-            (this.emissiveIntensity = t.emissiveIntensity),
-            (this.bumpMap = t.bumpMap),
-            (this.bumpScale = t.bumpScale),
-            (this.normalMap = t.normalMap),
-            (this.normalMapType = t.normalMapType),
-            this.normalScale.copy(t.normalScale),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.roughnessMap = t.roughnessMap),
-            (this.metalnessMap = t.metalnessMap),
-            (this.alphaMap = t.alphaMap),
-            (this.envMap = t.envMap),
-            (this.envMapIntensity = t.envMapIntensity),
-            (this.refractionRatio = t.refractionRatio),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.wireframeLinecap = t.wireframeLinecap),
-            (this.wireframeLinejoin = t.wireframeLinejoin),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            (this.flatShading = t.flatShading),
-            (this.vertexTangents = t.vertexTangents),
-            this
-          )
-        }
-      }
-      Qa.prototype.isMeshStandardMaterial = !0
-      class Ka extends Qa {
-        constructor(t) {
-          super(),
-            (this.defines = { STANDARD: '', PHYSICAL: '' }),
-            (this.type = 'MeshPhysicalMaterial'),
-            (this.clearcoat = 0),
-            (this.clearcoatMap = null),
-            (this.clearcoatRoughness = 0),
-            (this.clearcoatRoughnessMap = null),
-            (this.clearcoatNormalScale = new tt(1, 1)),
-            (this.clearcoatNormalMap = null),
-            (this.reflectivity = 0.5),
-            Object.defineProperty(this, 'ior', {
-              get: function () {
-                return (1 + 0.4 * this.reflectivity) / (1 - 0.4 * this.reflectivity)
-              },
-              set: function (t) {
-                this.reflectivity = J((2.5 * (t - 1)) / (t + 1), 0, 1)
-              },
-            }),
-            (this.sheen = null),
-            (this.transmission = 0),
-            (this.transmissionMap = null),
-            (this.thickness = 0.01),
-            (this.thicknessMap = null),
-            (this.attenuationDistance = 0),
-            (this.attenuationColor = new Ie(1, 1, 1)),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.defines = { STANDARD: '', PHYSICAL: '' }),
-            (this.clearcoat = t.clearcoat),
-            (this.clearcoatMap = t.clearcoatMap),
-            (this.clearcoatRoughness = t.clearcoatRoughness),
-            (this.clearcoatRoughnessMap = t.clearcoatRoughnessMap),
-            (this.clearcoatNormalMap = t.clearcoatNormalMap),
-            this.clearcoatNormalScale.copy(t.clearcoatNormalScale),
-            (this.reflectivity = t.reflectivity),
-            t.sheen ? (this.sheen = (this.sheen || new Ie()).copy(t.sheen)) : (this.sheen = null),
-            (this.transmission = t.transmission),
-            (this.transmissionMap = t.transmissionMap),
-            (this.thickness = t.thickness),
-            (this.thicknessMap = t.thicknessMap),
-            (this.attenuationDistance = t.attenuationDistance),
-            this.attenuationColor.copy(t.attenuationColor),
-            this
-          )
-        }
-      }
-      Ka.prototype.isMeshPhysicalMaterial = !0
-      class $a extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshPhongMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.specular = new Ie(1118481)),
-            (this.shininess = 30),
-            (this.map = null),
-            (this.lightMap = null),
-            (this.lightMapIntensity = 1),
-            (this.aoMap = null),
-            (this.aoMapIntensity = 1),
-            (this.emissive = new Ie(0)),
-            (this.emissiveIntensity = 1),
-            (this.emissiveMap = null),
-            (this.bumpMap = null),
-            (this.bumpScale = 1),
-            (this.normalMap = null),
-            (this.normalMapType = 0),
-            (this.normalScale = new tt(1, 1)),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.specularMap = null),
-            (this.alphaMap = null),
-            (this.envMap = null),
-            (this.combine = 0),
-            (this.reflectivity = 1),
-            (this.refractionRatio = 0.98),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.wireframeLinecap = 'round'),
-            (this.wireframeLinejoin = 'round'),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            (this.flatShading = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            this.specular.copy(t.specular),
-            (this.shininess = t.shininess),
-            (this.map = t.map),
-            (this.lightMap = t.lightMap),
-            (this.lightMapIntensity = t.lightMapIntensity),
-            (this.aoMap = t.aoMap),
-            (this.aoMapIntensity = t.aoMapIntensity),
-            this.emissive.copy(t.emissive),
-            (this.emissiveMap = t.emissiveMap),
-            (this.emissiveIntensity = t.emissiveIntensity),
-            (this.bumpMap = t.bumpMap),
-            (this.bumpScale = t.bumpScale),
-            (this.normalMap = t.normalMap),
-            (this.normalMapType = t.normalMapType),
-            this.normalScale.copy(t.normalScale),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.specularMap = t.specularMap),
-            (this.alphaMap = t.alphaMap),
-            (this.envMap = t.envMap),
-            (this.combine = t.combine),
-            (this.reflectivity = t.reflectivity),
-            (this.refractionRatio = t.refractionRatio),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.wireframeLinecap = t.wireframeLinecap),
-            (this.wireframeLinejoin = t.wireframeLinejoin),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            (this.flatShading = t.flatShading),
-            this
-          )
-        }
-      }
-      $a.prototype.isMeshPhongMaterial = !0
-      class to extends Ee {
-        constructor(t) {
-          super(),
-            (this.defines = { TOON: '' }),
-            (this.type = 'MeshToonMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.map = null),
-            (this.gradientMap = null),
-            (this.lightMap = null),
-            (this.lightMapIntensity = 1),
-            (this.aoMap = null),
-            (this.aoMapIntensity = 1),
-            (this.emissive = new Ie(0)),
-            (this.emissiveIntensity = 1),
-            (this.emissiveMap = null),
-            (this.bumpMap = null),
-            (this.bumpScale = 1),
-            (this.normalMap = null),
-            (this.normalMapType = 0),
-            (this.normalScale = new tt(1, 1)),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.alphaMap = null),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.wireframeLinecap = 'round'),
-            (this.wireframeLinejoin = 'round'),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.map = t.map),
-            (this.gradientMap = t.gradientMap),
-            (this.lightMap = t.lightMap),
-            (this.lightMapIntensity = t.lightMapIntensity),
-            (this.aoMap = t.aoMap),
-            (this.aoMapIntensity = t.aoMapIntensity),
-            this.emissive.copy(t.emissive),
-            (this.emissiveMap = t.emissiveMap),
-            (this.emissiveIntensity = t.emissiveIntensity),
-            (this.bumpMap = t.bumpMap),
-            (this.bumpScale = t.bumpScale),
-            (this.normalMap = t.normalMap),
-            (this.normalMapType = t.normalMapType),
-            this.normalScale.copy(t.normalScale),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.alphaMap = t.alphaMap),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.wireframeLinecap = t.wireframeLinecap),
-            (this.wireframeLinejoin = t.wireframeLinejoin),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            this
-          )
-        }
-      }
-      to.prototype.isMeshToonMaterial = !0
-      class eo extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshNormalMaterial'),
-            (this.bumpMap = null),
-            (this.bumpScale = 1),
-            (this.normalMap = null),
-            (this.normalMapType = 0),
-            (this.normalScale = new tt(1, 1)),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.fog = !1),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            (this.flatShading = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.bumpMap = t.bumpMap),
-            (this.bumpScale = t.bumpScale),
-            (this.normalMap = t.normalMap),
-            (this.normalMapType = t.normalMapType),
-            this.normalScale.copy(t.normalScale),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            (this.flatShading = t.flatShading),
-            this
-          )
-        }
-      }
-      eo.prototype.isMeshNormalMaterial = !0
-      class no extends Ee {
-        constructor(t) {
-          super(),
-            (this.type = 'MeshLambertMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.map = null),
-            (this.lightMap = null),
-            (this.lightMapIntensity = 1),
-            (this.aoMap = null),
-            (this.aoMapIntensity = 1),
-            (this.emissive = new Ie(0)),
-            (this.emissiveIntensity = 1),
-            (this.emissiveMap = null),
-            (this.specularMap = null),
-            (this.alphaMap = null),
-            (this.envMap = null),
-            (this.combine = 0),
-            (this.reflectivity = 1),
-            (this.refractionRatio = 0.98),
-            (this.wireframe = !1),
-            (this.wireframeLinewidth = 1),
-            (this.wireframeLinecap = 'round'),
-            (this.wireframeLinejoin = 'round'),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            this.color.copy(t.color),
-            (this.map = t.map),
-            (this.lightMap = t.lightMap),
-            (this.lightMapIntensity = t.lightMapIntensity),
-            (this.aoMap = t.aoMap),
-            (this.aoMapIntensity = t.aoMapIntensity),
-            this.emissive.copy(t.emissive),
-            (this.emissiveMap = t.emissiveMap),
-            (this.emissiveIntensity = t.emissiveIntensity),
-            (this.specularMap = t.specularMap),
-            (this.alphaMap = t.alphaMap),
-            (this.envMap = t.envMap),
-            (this.combine = t.combine),
-            (this.reflectivity = t.reflectivity),
-            (this.refractionRatio = t.refractionRatio),
-            (this.wireframe = t.wireframe),
-            (this.wireframeLinewidth = t.wireframeLinewidth),
-            (this.wireframeLinecap = t.wireframeLinecap),
-            (this.wireframeLinejoin = t.wireframeLinejoin),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            this
-          )
-        }
-      }
-      no.prototype.isMeshLambertMaterial = !0
-      class io extends Ee {
-        constructor(t) {
-          super(),
-            (this.defines = { MATCAP: '' }),
-            (this.type = 'MeshMatcapMaterial'),
-            (this.color = new Ie(16777215)),
-            (this.matcap = null),
-            (this.map = null),
-            (this.bumpMap = null),
-            (this.bumpScale = 1),
-            (this.normalMap = null),
-            (this.normalMapType = 0),
-            (this.normalScale = new tt(1, 1)),
-            (this.displacementMap = null),
-            (this.displacementScale = 1),
-            (this.displacementBias = 0),
-            (this.alphaMap = null),
-            (this.morphTargets = !1),
-            (this.morphNormals = !1),
-            (this.flatShading = !1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.defines = { MATCAP: '' }),
-            this.color.copy(t.color),
-            (this.matcap = t.matcap),
-            (this.map = t.map),
-            (this.bumpMap = t.bumpMap),
-            (this.bumpScale = t.bumpScale),
-            (this.normalMap = t.normalMap),
-            (this.normalMapType = t.normalMapType),
-            this.normalScale.copy(t.normalScale),
-            (this.displacementMap = t.displacementMap),
-            (this.displacementScale = t.displacementScale),
-            (this.displacementBias = t.displacementBias),
-            (this.alphaMap = t.alphaMap),
-            (this.morphTargets = t.morphTargets),
-            (this.morphNormals = t.morphNormals),
-            (this.flatShading = t.flatShading),
-            this
-          )
-        }
-      }
-      io.prototype.isMeshMatcapMaterial = !0
-      class ro extends Cs {
-        constructor(t) {
-          super(),
-            (this.type = 'LineDashedMaterial'),
-            (this.scale = 1),
-            (this.dashSize = 3),
-            (this.gapSize = 1),
-            this.setValues(t)
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.scale = t.scale),
-            (this.dashSize = t.dashSize),
-            (this.gapSize = t.gapSize),
-            this
-          )
-        }
-      }
-      ro.prototype.isLineDashedMaterial = !0
-      const so = {
-        arraySlice: function (t, e, n) {
-          return so.isTypedArray(t)
-            ? new t.constructor(t.subarray(e, void 0 !== n ? n : t.length))
-            : t.slice(e, n)
-        },
-        convertArray: function (t, e, n) {
-          return !t || (!n && t.constructor === e)
-            ? t
-            : 'number' === typeof e.BYTES_PER_ELEMENT
-            ? new e(t)
-            : Array.prototype.slice.call(t)
-        },
-        isTypedArray: function (t) {
-          return ArrayBuffer.isView(t) && !(t instanceof DataView)
-        },
-        getKeyframeOrder: function (t) {
-          const e = t.length,
-            n = new Array(e)
-          for (let i = 0; i !== e; ++i) n[i] = i
-          return (
-            n.sort(function (e, n) {
-              return t[e] - t[n]
-            }),
-            n
-          )
-        },
-        sortedArray: function (t, e, n) {
-          const i = t.length,
-            r = new t.constructor(i)
-          for (let s = 0, a = 0; a !== i; ++s) {
-            const i = n[s] * e
-            for (let n = 0; n !== e; ++n) r[a++] = t[i + n]
-          }
-          return r
-        },
-        flattenJSON: function (t, e, n, i) {
-          let r = 1,
-            s = t[0]
-          for (; void 0 !== s && void 0 === s[i]; ) s = t[r++]
-          if (void 0 === s) return
-          let a = s[i]
-          if (void 0 !== a)
-            if (Array.isArray(a))
-              do {
-                ;(a = s[i]), void 0 !== a && (e.push(s.time), n.push.apply(n, a)), (s = t[r++])
-              } while (void 0 !== s)
-            else if (void 0 !== a.toArray)
-              do {
-                ;(a = s[i]), void 0 !== a && (e.push(s.time), a.toArray(n, n.length)), (s = t[r++])
-              } while (void 0 !== s)
-            else
-              do {
-                ;(a = s[i]), void 0 !== a && (e.push(s.time), n.push(a)), (s = t[r++])
-              } while (void 0 !== s)
-        },
-        subclip: function (t, e, n, i, r = 30) {
-          const s = t.clone()
-          s.name = e
-          const a = []
-          for (let l = 0; l < s.tracks.length; ++l) {
-            const t = s.tracks[l],
-              e = t.getValueSize(),
-              o = [],
-              c = []
-            for (let s = 0; s < t.times.length; ++s) {
-              const a = t.times[s] * r
-              if (!(a < n || a >= i)) {
-                o.push(t.times[s])
-                for (let n = 0; n < e; ++n) c.push(t.values[s * e + n])
-              }
-            }
-            0 !== o.length &&
-              ((t.times = so.convertArray(o, t.times.constructor)),
-              (t.values = so.convertArray(c, t.values.constructor)),
-              a.push(t))
-          }
-          s.tracks = a
-          let o = 1 / 0
-          for (let l = 0; l < s.tracks.length; ++l)
-            o > s.tracks[l].times[0] && (o = s.tracks[l].times[0])
-          for (let l = 0; l < s.tracks.length; ++l) s.tracks[l].shift(-1 * o)
-          return s.resetDuration(), s
-        },
-        makeClipAdditive: function (t, e = 0, n = t, i = 30) {
-          i <= 0 && (i = 30)
-          const r = n.tracks.length,
-            s = e / i
-          for (let a = 0; a < r; ++a) {
-            const e = n.tracks[a],
-              i = e.ValueTypeName
-            if ('bool' === i || 'string' === i) continue
-            const r = t.tracks.find(function (t) {
-              return t.name === e.name && t.ValueTypeName === i
-            })
-            if (void 0 === r) continue
-            let o = 0
-            const l = e.getValueSize()
-            e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline && (o = l / 3)
-            let c = 0
-            const h = r.getValueSize()
-            r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline && (c = h / 3)
-            const u = e.times.length - 1
-            let d
-            if (s <= e.times[0]) {
-              const t = o,
-                n = l - o
-              d = so.arraySlice(e.values, t, n)
-            } else if (s >= e.times[u]) {
-              const t = u * l + o,
-                n = t + l - o
-              d = so.arraySlice(e.values, t, n)
-            } else {
-              const t = e.createInterpolant(),
-                n = o,
-                i = l - o
-              t.evaluate(s), (d = so.arraySlice(t.resultBuffer, n, i))
-            }
-            if ('quaternion' === i) {
-              new ht().fromArray(d).normalize().conjugate().toArray(d)
-            }
-            const p = r.times.length
-            for (let t = 0; t < p; ++t) {
-              const e = t * h + c
-              if ('quaternion' === i) ht.multiplyQuaternionsFlat(r.values, e, d, 0, r.values, e)
-              else {
-                const t = h - 2 * c
-                for (let n = 0; n < t; ++n) r.values[e + n] -= d[n]
-              }
-            }
-          }
-          return (t.blendMode = 2501), t
-        },
-      }
-      class ao {
-        constructor(t, e, n, i) {
-          ;(this.parameterPositions = t),
-            (this._cachedIndex = 0),
-            (this.resultBuffer = void 0 !== i ? i : new e.constructor(n)),
-            (this.sampleValues = e),
-            (this.valueSize = n),
-            (this.settings = null),
-            (this.DefaultSettings_ = {})
-        }
-        evaluate(t) {
-          const e = this.parameterPositions
-          let n = this._cachedIndex,
-            i = e[n],
-            r = e[n - 1]
-          t: {
-            e: {
-              let s
-              n: {
-                i: if (!(t < i)) {
-                  for (let s = n + 2; ; ) {
-                    if (void 0 === i) {
-                      if (t < r) break i
-                      return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, t, r)
-                    }
-                    if (n === s) break
-                    if (((r = i), (i = e[++n]), t < i)) break e
-                  }
-                  s = e.length
-                  break n
-                }
-                if (t >= r) break t
-                {
-                  const a = e[1]
-                  t < a && ((n = 2), (r = a))
-                  for (let s = n - 2; ; ) {
-                    if (void 0 === r) return (this._cachedIndex = 0), this.beforeStart_(0, t, i)
-                    if (n === s) break
-                    if (((i = r), (r = e[--n - 1]), t >= r)) break e
-                  }
-                  ;(s = n), (n = 0)
-                }
-              }
-              for (; n < s; ) {
-                const i = (n + s) >>> 1
-                t < e[i] ? (s = i) : (n = i + 1)
-              }
-              if (((i = e[n]), (r = e[n - 1]), void 0 === r))
-                return (this._cachedIndex = 0), this.beforeStart_(0, t, i)
-              if (void 0 === i)
-                return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, r, t)
-            }
-            ;(this._cachedIndex = n), this.intervalChanged_(n, r, i)
-          }
-          return this.interpolate_(n, r, t, i)
-        }
-        getSettings_() {
-          return this.settings || this.DefaultSettings_
-        }
-        copySampleValue_(t) {
-          const e = this.resultBuffer,
-            n = this.sampleValues,
-            i = this.valueSize,
-            r = t * i
-          for (let s = 0; s !== i; ++s) e[s] = n[r + s]
-          return e
-        }
-        interpolate_() {
-          throw new Error('call to abstract method')
-        }
-        intervalChanged_() {}
-      }
-      ;(ao.prototype.beforeStart_ = ao.prototype.copySampleValue_),
-        (ao.prototype.afterEnd_ = ao.prototype.copySampleValue_)
-      class oo extends ao {
-        constructor(t, e, n, i) {
-          super(t, e, n, i),
-            (this._weightPrev = -0),
-            (this._offsetPrev = -0),
-            (this._weightNext = -0),
-            (this._offsetNext = -0),
-            (this.DefaultSettings_ = { endingStart: D, endingEnd: D })
-        }
-        intervalChanged_(t, e, n) {
-          const i = this.parameterPositions
-          let r = t - 2,
-            s = t + 1,
-            a = i[r],
-            o = i[s]
-          if (void 0 === a)
-            switch (this.getSettings_().endingStart) {
-              case I:
-                ;(r = t), (a = 2 * e - n)
-                break
-              case N:
-                ;(r = i.length - 2), (a = e + i[r] - i[r + 1])
-                break
-              default:
-                ;(r = t), (a = n)
-            }
-          if (void 0 === o)
-            switch (this.getSettings_().endingEnd) {
-              case I:
-                ;(s = t), (o = 2 * n - e)
-                break
-              case N:
-                ;(s = 1), (o = n + i[1] - i[0])
-                break
-              default:
-                ;(s = t - 1), (o = e)
-            }
-          const l = 0.5 * (n - e),
-            c = this.valueSize
-          ;(this._weightPrev = l / (e - a)),
-            (this._weightNext = l / (o - n)),
-            (this._offsetPrev = r * c),
-            (this._offsetNext = s * c)
-        }
-        interpolate_(t, e, n, i) {
-          const r = this.resultBuffer,
-            s = this.sampleValues,
-            a = this.valueSize,
-            o = t * a,
-            l = o - a,
-            c = this._offsetPrev,
-            h = this._offsetNext,
-            u = this._weightPrev,
-            d = this._weightNext,
-            p = (n - e) / (i - e),
-            m = p * p,
-            f = m * p,
-            g = -u * f + 2 * u * m - u * p,
-            v = (1 + u) * f + (-1.5 - 2 * u) * m + (-0.5 + u) * p + 1,
-            y = (-1 - d) * f + (1.5 + d) * m + 0.5 * p,
-            x = d * f - d * m
-          for (let _ = 0; _ !== a; ++_)
-            r[_] = g * s[c + _] + v * s[l + _] + y * s[o + _] + x * s[h + _]
-          return r
-        }
-      }
-      class lo extends ao {
-        constructor(t, e, n, i) {
-          super(t, e, n, i)
-        }
-        interpolate_(t, e, n, i) {
-          const r = this.resultBuffer,
-            s = this.sampleValues,
-            a = this.valueSize,
-            o = t * a,
-            l = o - a,
-            c = (n - e) / (i - e),
-            h = 1 - c
-          for (let u = 0; u !== a; ++u) r[u] = s[l + u] * h + s[o + u] * c
-          return r
-        }
-      }
-      class co extends ao {
-        constructor(t, e, n, i) {
-          super(t, e, n, i)
-        }
-        interpolate_(t) {
-          return this.copySampleValue_(t - 1)
-        }
-      }
-      class ho {
-        constructor(t, e, n, i) {
-          if (void 0 === t) throw new Error('THREE.KeyframeTrack: track name is undefined')
-          if (void 0 === e || 0 === e.length)
-            throw new Error('THREE.KeyframeTrack: no keyframes in track named ' + t)
-          ;(this.name = t),
-            (this.times = so.convertArray(e, this.TimeBufferType)),
-            (this.values = so.convertArray(n, this.ValueBufferType)),
-            this.setInterpolation(i || this.DefaultInterpolation)
-        }
-        static toJSON(t) {
-          const e = t.constructor
-          let n
-          if (e.toJSON !== this.toJSON) n = e.toJSON(t)
-          else {
-            n = {
-              name: t.name,
-              times: so.convertArray(t.times, Array),
-              values: so.convertArray(t.values, Array),
-            }
-            const e = t.getInterpolation()
-            e !== t.DefaultInterpolation && (n.interpolation = e)
-          }
-          return (n.type = t.ValueTypeName), n
-        }
-        InterpolantFactoryMethodDiscrete(t) {
-          return new co(this.times, this.values, this.getValueSize(), t)
-        }
-        InterpolantFactoryMethodLinear(t) {
-          return new lo(this.times, this.values, this.getValueSize(), t)
-        }
-        InterpolantFactoryMethodSmooth(t) {
-          return new oo(this.times, this.values, this.getValueSize(), t)
-        }
-        setInterpolation(t) {
-          let e
-          switch (t) {
-            case R:
-              e = this.InterpolantFactoryMethodDiscrete
-              break
-            case C:
-              e = this.InterpolantFactoryMethodLinear
-              break
-            case P:
-              e = this.InterpolantFactoryMethodSmooth
-          }
-          if (void 0 === e) {
-            const e =
-              'unsupported interpolation for ' +
-              this.ValueTypeName +
-              ' keyframe track named ' +
-              this.name
-            if (void 0 === this.createInterpolant) {
-              if (t === this.DefaultInterpolation) throw new Error(e)
-              this.setInterpolation(this.DefaultInterpolation)
-            }
-            return console.warn('THREE.KeyframeTrack:', e), this
-          }
-          return (this.createInterpolant = e), this
-        }
-        getInterpolation() {
-          switch (this.createInterpolant) {
-            case this.InterpolantFactoryMethodDiscrete:
-              return R
-            case this.InterpolantFactoryMethodLinear:
-              return C
-            case this.InterpolantFactoryMethodSmooth:
-              return P
-          }
-        }
-        getValueSize() {
-          return this.values.length / this.times.length
-        }
-        shift(t) {
-          if (0 !== t) {
-            const e = this.times
-            for (let n = 0, i = e.length; n !== i; ++n) e[n] += t
-          }
-          return this
-        }
-        scale(t) {
-          if (1 !== t) {
-            const e = this.times
-            for (let n = 0, i = e.length; n !== i; ++n) e[n] *= t
-          }
-          return this
-        }
-        trim(t, e) {
-          const n = this.times,
-            i = n.length
-          let r = 0,
-            s = i - 1
-          for (; r !== i && n[r] < t; ) ++r
-          for (; -1 !== s && n[s] > e; ) --s
-          if ((++s, 0 !== r || s !== i)) {
-            r >= s && ((s = Math.max(s, 1)), (r = s - 1))
-            const t = this.getValueSize()
-            ;(this.times = so.arraySlice(n, r, s)),
-              (this.values = so.arraySlice(this.values, r * t, s * t))
-          }
-          return this
-        }
-        validate() {
-          let t = !0
-          const e = this.getValueSize()
-          e - Math.floor(e) !== 0 &&
-            (console.error('THREE.KeyframeTrack: Invalid value size in track.', this), (t = !1))
-          const n = this.times,
-            i = this.values,
-            r = n.length
-          0 === r && (console.error('THREE.KeyframeTrack: Track is empty.', this), (t = !1))
-          let s = null
-          for (let a = 0; a !== r; a++) {
-            const e = n[a]
-            if ('number' === typeof e && isNaN(e)) {
-              console.error('THREE.KeyframeTrack: Time is not a valid number.', this, a, e),
-                (t = !1)
-              break
-            }
-            if (null !== s && s > e) {
-              console.error('THREE.KeyframeTrack: Out of order keys.', this, a, e, s), (t = !1)
-              break
-            }
-            s = e
-          }
-          if (void 0 !== i && so.isTypedArray(i))
-            for (let a = 0, o = i.length; a !== o; ++a) {
-              const e = i[a]
-              if (isNaN(e)) {
-                console.error('THREE.KeyframeTrack: Value is not a valid number.', this, a, e),
-                  (t = !1)
-                break
-              }
-            }
-          return t
-        }
-        optimize() {
-          const t = so.arraySlice(this.times),
-            e = so.arraySlice(this.values),
-            n = this.getValueSize(),
-            i = this.getInterpolation() === P,
-            r = t.length - 1
-          let s = 1
-          for (let a = 1; a < r; ++a) {
-            let r = !1
-            const o = t[a]
-            if (o !== t[a + 1] && (1 !== a || o !== t[0]))
-              if (i) r = !0
-              else {
-                const t = a * n,
-                  i = t - n,
-                  s = t + n
-                for (let a = 0; a !== n; ++a) {
-                  const n = e[t + a]
-                  if (n !== e[i + a] || n !== e[s + a]) {
-                    r = !0
-                    break
-                  }
-                }
-              }
-            if (r) {
-              if (a !== s) {
-                t[s] = t[a]
-                const i = a * n,
-                  r = s * n
-                for (let t = 0; t !== n; ++t) e[r + t] = e[i + t]
-              }
-              ++s
-            }
-          }
-          if (r > 0) {
-            t[s] = t[r]
-            for (let t = r * n, i = s * n, a = 0; a !== n; ++a) e[i + a] = e[t + a]
-            ++s
-          }
-          return (
-            s !== t.length
-              ? ((this.times = so.arraySlice(t, 0, s)), (this.values = so.arraySlice(e, 0, s * n)))
-              : ((this.times = t), (this.values = e)),
-            this
-          )
-        }
-        clone() {
-          const t = so.arraySlice(this.times, 0),
-            e = so.arraySlice(this.values, 0),
-            n = new (0, this.constructor)(this.name, t, e)
-          return (n.createInterpolant = this.createInterpolant), n
-        }
-      }
-      ;(ho.prototype.TimeBufferType = Float32Array),
-        (ho.prototype.ValueBufferType = Float32Array),
-        (ho.prototype.DefaultInterpolation = C)
-      class uo extends ho {}
-      ;(uo.prototype.ValueTypeName = 'bool'),
-        (uo.prototype.ValueBufferType = Array),
-        (uo.prototype.DefaultInterpolation = R),
-        (uo.prototype.InterpolantFactoryMethodLinear = void 0),
-        (uo.prototype.InterpolantFactoryMethodSmooth = void 0)
-      class po extends ho {}
-      po.prototype.ValueTypeName = 'color'
-      class mo extends ho {}
-      mo.prototype.ValueTypeName = 'number'
-      class fo extends ao {
-        constructor(t, e, n, i) {
-          super(t, e, n, i)
-        }
-        interpolate_(t, e, n, i) {
-          const r = this.resultBuffer,
-            s = this.sampleValues,
-            a = this.valueSize,
-            o = (n - e) / (i - e)
-          let l = t * a
-          for (let c = l + a; l !== c; l += 4) ht.slerpFlat(r, 0, s, l - a, s, l, o)
-          return r
-        }
-      }
-      class go extends ho {
-        InterpolantFactoryMethodLinear(t) {
-          return new fo(this.times, this.values, this.getValueSize(), t)
-        }
-      }
-      ;(go.prototype.ValueTypeName = 'quaternion'),
-        (go.prototype.DefaultInterpolation = C),
-        (go.prototype.InterpolantFactoryMethodSmooth = void 0)
-      class vo extends ho {}
-      ;(vo.prototype.ValueTypeName = 'string'),
-        (vo.prototype.ValueBufferType = Array),
-        (vo.prototype.DefaultInterpolation = R),
-        (vo.prototype.InterpolantFactoryMethodLinear = void 0),
-        (vo.prototype.InterpolantFactoryMethodSmooth = void 0)
-      class yo extends ho {}
-      yo.prototype.ValueTypeName = 'vector'
-      class xo {
-        constructor(t, e = -1, n, i = 2500) {
-          ;(this.name = t),
-            (this.tracks = n),
-            (this.duration = e),
-            (this.blendMode = i),
-            (this.uuid = Y()),
-            this.duration < 0 && this.resetDuration()
-        }
-        static parse(t) {
-          const e = [],
-            n = t.tracks,
-            i = 1 / (t.fps || 1)
-          for (let s = 0, a = n.length; s !== a; ++s) e.push(_o(n[s]).scale(i))
-          const r = new this(t.name, t.duration, e, t.blendMode)
-          return (r.uuid = t.uuid), r
-        }
-        static toJSON(t) {
-          const e = [],
-            n = t.tracks,
-            i = {
-              name: t.name,
-              duration: t.duration,
-              tracks: e,
-              uuid: t.uuid,
-              blendMode: t.blendMode,
-            }
-          for (let r = 0, s = n.length; r !== s; ++r) e.push(ho.toJSON(n[r]))
-          return i
-        }
-        static CreateFromMorphTargetSequence(t, e, n, i) {
-          const r = e.length,
-            s = []
-          for (let a = 0; a < r; a++) {
-            let t = [],
-              o = []
-            t.push((a + r - 1) % r, a, (a + 1) % r), o.push(0, 1, 0)
-            const l = so.getKeyframeOrder(t)
-            ;(t = so.sortedArray(t, 1, l)),
-              (o = so.sortedArray(o, 1, l)),
-              i || 0 !== t[0] || (t.push(r), o.push(o[0])),
-              s.push(new mo('.morphTargetInfluences[' + e[a].name + ']', t, o).scale(1 / n))
-          }
-          return new this(t, -1, s)
-        }
-        static findByName(t, e) {
-          let n = t
-          if (!Array.isArray(t)) {
-            const e = t
-            n = (e.geometry && e.geometry.animations) || e.animations
-          }
-          for (let i = 0; i < n.length; i++) if (n[i].name === e) return n[i]
-          return null
-        }
-        static CreateClipsFromMorphTargetSequences(t, e, n) {
-          const i = {},
-            r = /^([\w-]*?)([\d]+)$/
-          for (let a = 0, o = t.length; a < o; a++) {
-            const e = t[a],
-              n = e.name.match(r)
-            if (n && n.length > 1) {
-              const t = n[1]
-              let r = i[t]
-              r || (i[t] = r = []), r.push(e)
-            }
-          }
-          const s = []
-          for (const a in i) s.push(this.CreateFromMorphTargetSequence(a, i[a], e, n))
-          return s
-        }
-        static parseAnimation(t, e) {
-          if (!t)
-            return console.error('THREE.AnimationClip: No animation in JSONLoader data.'), null
-          const n = function (t, e, n, i, r) {
-              if (0 !== n.length) {
-                const s = [],
-                  a = []
-                so.flattenJSON(n, s, a, i), 0 !== s.length && r.push(new t(e, s, a))
-              }
-            },
-            i = [],
-            r = t.name || 'default',
-            s = t.fps || 30,
-            a = t.blendMode
-          let o = t.length || -1
-          const l = t.hierarchy || []
-          for (let c = 0; c < l.length; c++) {
-            const t = l[c].keys
-            if (t && 0 !== t.length)
-              if (t[0].morphTargets) {
-                const e = {}
-                let n
-                for (n = 0; n < t.length; n++)
-                  if (t[n].morphTargets)
-                    for (let i = 0; i < t[n].morphTargets.length; i++) e[t[n].morphTargets[i]] = -1
-                for (const r in e) {
-                  const e = [],
-                    s = []
-                  for (let i = 0; i !== t[n].morphTargets.length; ++i) {
-                    const i = t[n]
-                    e.push(i.time), s.push(i.morphTarget === r ? 1 : 0)
-                  }
-                  i.push(new mo('.morphTargetInfluence[' + r + ']', e, s))
-                }
-                o = e.length * (s || 1)
-              } else {
-                const r = '.bones[' + e[c].name + ']'
-                n(yo, r + '.position', t, 'pos', i),
-                  n(go, r + '.quaternion', t, 'rot', i),
-                  n(yo, r + '.scale', t, 'scl', i)
-              }
-          }
-          if (0 === i.length) return null
-          return new this(r, o, i, a)
-        }
-        resetDuration() {
-          let t = 0
-          for (let e = 0, n = this.tracks.length; e !== n; ++e) {
-            const n = this.tracks[e]
-            t = Math.max(t, n.times[n.times.length - 1])
-          }
-          return (this.duration = t), this
-        }
-        trim() {
-          for (let t = 0; t < this.tracks.length; t++) this.tracks[t].trim(0, this.duration)
-          return this
-        }
-        validate() {
-          let t = !0
-          for (let e = 0; e < this.tracks.length; e++) t = t && this.tracks[e].validate()
-          return t
-        }
-        optimize() {
-          for (let t = 0; t < this.tracks.length; t++) this.tracks[t].optimize()
-          return this
-        }
-        clone() {
-          const t = []
-          for (let e = 0; e < this.tracks.length; e++) t.push(this.tracks[e].clone())
-          return new this.constructor(this.name, this.duration, t, this.blendMode)
-        }
-        toJSON() {
-          return this.constructor.toJSON(this)
-        }
-      }
-      function _o(t) {
-        if (void 0 === t.type)
-          throw new Error('THREE.KeyframeTrack: track type undefined, can not parse')
-        const e = (function (t) {
-          switch (t.toLowerCase()) {
-            case 'scalar':
-            case 'double':
-            case 'float':
-            case 'number':
-            case 'integer':
-              return mo
-            case 'vector':
-            case 'vector2':
-            case 'vector3':
-            case 'vector4':
-              return yo
-            case 'color':
-              return po
-            case 'quaternion':
-              return go
-            case 'bool':
-            case 'boolean':
-              return uo
-            case 'string':
-              return vo
-          }
-          throw new Error('THREE.KeyframeTrack: Unsupported typeName: ' + t)
-        })(t.type)
-        if (void 0 === t.times) {
-          const e = [],
-            n = []
-          so.flattenJSON(t.keys, e, n, 'value'), (t.times = e), (t.values = n)
-        }
-        return void 0 !== e.parse ? e.parse(t) : new e(t.name, t.times, t.values, t.interpolation)
-      }
-      const bo = {
-        enabled: !1,
-        files: {},
-        add: function (t, e) {
-          !1 !== this.enabled && (this.files[t] = e)
-        },
-        get: function (t) {
-          if (!1 !== this.enabled) return this.files[t]
-        },
-        remove: function (t) {
-          delete this.files[t]
-        },
-        clear: function () {
-          this.files = {}
-        },
-      }
-      class Mo {
-        constructor(t, e, n) {
-          const i = this
-          let r,
-            s = !1,
-            a = 0,
-            o = 0
-          const l = []
-          ;(this.onStart = void 0),
-            (this.onLoad = t),
-            (this.onProgress = e),
-            (this.onError = n),
-            (this.itemStart = function (t) {
-              o++, !1 === s && void 0 !== i.onStart && i.onStart(t, a, o), (s = !0)
-            }),
-            (this.itemEnd = function (t) {
-              a++,
-                void 0 !== i.onProgress && i.onProgress(t, a, o),
-                a === o && ((s = !1), void 0 !== i.onLoad && i.onLoad())
-            }),
-            (this.itemError = function (t) {
-              void 0 !== i.onError && i.onError(t)
-            }),
-            (this.resolveURL = function (t) {
-              return r ? r(t) : t
-            }),
-            (this.setURLModifier = function (t) {
-              return (r = t), this
-            }),
-            (this.addHandler = function (t, e) {
-              return l.push(t, e), this
-            }),
-            (this.removeHandler = function (t) {
-              const e = l.indexOf(t)
-              return -1 !== e && l.splice(e, 2), this
-            }),
-            (this.getHandler = function (t) {
-              for (let e = 0, n = l.length; e < n; e += 2) {
-                const n = l[e],
-                  i = l[e + 1]
-                if ((n.global && (n.lastIndex = 0), n.test(t))) return i
-              }
-              return null
-            })
-        }
-      }
-      const wo = new Mo()
-      class So {
-        constructor(t) {
-          ;(this.manager = void 0 !== t ? t : wo),
-            (this.crossOrigin = 'anonymous'),
-            (this.withCredentials = !1),
-            (this.path = ''),
-            (this.resourcePath = ''),
-            (this.requestHeader = {})
-        }
-        load() {}
-        loadAsync(t, e) {
-          const n = this
-          return new Promise(function (i, r) {
-            n.load(t, i, e, r)
-          })
-        }
-        parse() {}
-        setCrossOrigin(t) {
-          return (this.crossOrigin = t), this
-        }
-        setWithCredentials(t) {
-          return (this.withCredentials = t), this
-        }
-        setPath(t) {
-          return (this.path = t), this
-        }
-        setResourcePath(t) {
-          return (this.resourcePath = t), this
-        }
-        setRequestHeader(t) {
-          return (this.requestHeader = t), this
-        }
-      }
-      const To = {}
-      class Eo extends So {
-        constructor(t) {
-          super(t)
-        }
-        load(t, e, n, i) {
-          void 0 === t && (t = ''),
-            void 0 !== this.path && (t = this.path + t),
-            (t = this.manager.resolveURL(t))
-          const r = this,
-            s = bo.get(t)
-          if (void 0 !== s)
-            return (
-              r.manager.itemStart(t),
-              setTimeout(function () {
-                e && e(s), r.manager.itemEnd(t)
-              }, 0),
-              s
-            )
-          if (void 0 !== To[t]) return void To[t].push({ onLoad: e, onProgress: n, onError: i })
-          const a = t.match(/^data:(.*?)(;base64)?,(.*)$/)
-          let o
-          if (a) {
-            const n = a[1],
-              s = !!a[2]
-            let o = a[3]
-            ;(o = decodeURIComponent(o)), s && (o = atob(o))
-            try {
-              let i
-              const s = (this.responseType || '').toLowerCase()
-              switch (s) {
-                case 'arraybuffer':
-                case 'blob':
-                  const t = new Uint8Array(o.length)
-                  for (let n = 0; n < o.length; n++) t[n] = o.charCodeAt(n)
-                  i = 'blob' === s ? new Blob([t.buffer], { type: n }) : t.buffer
-                  break
-                case 'document':
-                  const e = new DOMParser()
-                  i = e.parseFromString(o, n)
-                  break
-                case 'json':
-                  i = JSON.parse(o)
-                  break
-                default:
-                  i = o
-              }
-              setTimeout(function () {
-                e && e(i), r.manager.itemEnd(t)
-              }, 0)
-            } catch (l) {
-              setTimeout(function () {
-                i && i(l), r.manager.itemError(t), r.manager.itemEnd(t)
-              }, 0)
-            }
-          } else {
-            ;(To[t] = []),
-              To[t].push({ onLoad: e, onProgress: n, onError: i }),
-              (o = new XMLHttpRequest()),
-              o.open('GET', t, !0),
-              o.addEventListener(
-                'load',
-                function (e) {
-                  const n = this.response,
-                    i = To[t]
-                  if ((delete To[t], 200 === this.status || 0 === this.status)) {
-                    0 === this.status && console.warn('THREE.FileLoader: HTTP Status 0 received.'),
-                      bo.add(t, n)
-                    for (let t = 0, e = i.length; t < e; t++) {
-                      const e = i[t]
-                      e.onLoad && e.onLoad(n)
-                    }
-                    r.manager.itemEnd(t)
-                  } else {
-                    for (let t = 0, n = i.length; t < n; t++) {
-                      const n = i[t]
-                      n.onError && n.onError(e)
-                    }
-                    r.manager.itemError(t), r.manager.itemEnd(t)
-                  }
-                },
-                !1,
-              ),
-              o.addEventListener(
-                'progress',
-                function (e) {
-                  const n = To[t]
-                  for (let t = 0, i = n.length; t < i; t++) {
-                    const i = n[t]
-                    i.onProgress && i.onProgress(e)
-                  }
-                },
-                !1,
-              ),
-              o.addEventListener(
-                'error',
-                function (e) {
-                  const n = To[t]
-                  delete To[t]
-                  for (let t = 0, i = n.length; t < i; t++) {
-                    const i = n[t]
-                    i.onError && i.onError(e)
-                  }
-                  r.manager.itemError(t), r.manager.itemEnd(t)
-                },
-                !1,
-              ),
-              o.addEventListener(
-                'abort',
-                function (e) {
-                  const n = To[t]
-                  delete To[t]
-                  for (let t = 0, i = n.length; t < i; t++) {
-                    const i = n[t]
-                    i.onError && i.onError(e)
-                  }
-                  r.manager.itemError(t), r.manager.itemEnd(t)
-                },
-                !1,
-              ),
-              void 0 !== this.responseType && (o.responseType = this.responseType),
-              void 0 !== this.withCredentials && (o.withCredentials = this.withCredentials),
-              o.overrideMimeType &&
-                o.overrideMimeType(void 0 !== this.mimeType ? this.mimeType : 'text/plain')
-            for (const t in this.requestHeader) o.setRequestHeader(t, this.requestHeader[t])
-            o.send(null)
-          }
-          return r.manager.itemStart(t), o
-        }
-        setResponseType(t) {
-          return (this.responseType = t), this
-        }
-        setMimeType(t) {
-          return (this.mimeType = t), this
-        }
-      }
-      class Lo extends So {
-        constructor(t) {
-          super(t)
-        }
-        load(t, e, n, i) {
-          void 0 !== this.path && (t = this.path + t), (t = this.manager.resolveURL(t))
-          const r = this,
-            s = bo.get(t)
-          if (void 0 !== s)
-            return (
-              r.manager.itemStart(t),
-              setTimeout(function () {
-                e && e(s), r.manager.itemEnd(t)
-              }, 0),
-              s
-            )
-          const a = document.createElementNS('http://www.w3.org/1999/xhtml', 'img')
-          function o() {
-            a.removeEventListener('load', o, !1),
-              a.removeEventListener('error', l, !1),
-              bo.add(t, this),
-              e && e(this),
-              r.manager.itemEnd(t)
-          }
-          function l(e) {
-            a.removeEventListener('load', o, !1),
-              a.removeEventListener('error', l, !1),
-              i && i(e),
-              r.manager.itemError(t),
-              r.manager.itemEnd(t)
-          }
-          return (
-            a.addEventListener('load', o, !1),
-            a.addEventListener('error', l, !1),
-            'data:' !== t.substr(0, 5) &&
-              void 0 !== this.crossOrigin &&
-              (a.crossOrigin = this.crossOrigin),
-            r.manager.itemStart(t),
-            (a.src = t),
-            a
-          )
-        }
-      }
-      class Ao extends So {
-        constructor(t) {
-          super(t)
-        }
-        load(t, e, n, i) {
-          const r = new Tn(),
-            s = new Lo(this.manager)
-          s.setCrossOrigin(this.crossOrigin), s.setPath(this.path)
-          let a = 0
-          function o(n) {
-            s.load(
-              t[n],
-              function (t) {
-                ;(r.images[n] = t), a++, 6 === a && ((r.needsUpdate = !0), e && e(r))
-              },
-              void 0,
-              i,
-            )
-          }
-          for (let l = 0; l < t.length; ++l) o(l)
-          return r
-        }
-      }
-      class Ro extends So {
-        constructor(t) {
-          super(t)
-        }
-        load(t, e, n, i) {
-          const r = new st(),
-            s = new Lo(this.manager)
-          return (
-            s.setCrossOrigin(this.crossOrigin),
-            s.setPath(this.path),
-            s.load(
-              t,
-              function (n) {
-                r.image = n
-                const i = t.search(/\.jpe?g($|\?)/i) > 0 || 0 === t.search(/^data\:image\/jpeg/)
-                ;(r.format = i ? T : E), (r.needsUpdate = !0), void 0 !== e && e(r)
-              },
-              n,
-              i,
-            ),
-            r
-          )
-        }
-      }
-      class Co extends Qs {
-        constructor() {
-          super(), (this.type = 'CurvePath'), (this.curves = []), (this.autoClose = !1)
-        }
-        add(t) {
-          this.curves.push(t)
-        }
-        closePath() {
-          const t = this.curves[0].getPoint(0),
-            e = this.curves[this.curves.length - 1].getPoint(1)
-          t.equals(e) || this.curves.push(new ua(e, t))
-        }
-        getPoint(t) {
-          const e = t * this.getLength(),
-            n = this.getCurveLengths()
-          let i = 0
-          for (; i < n.length; ) {
-            if (n[i] >= e) {
-              const t = n[i] - e,
-                r = this.curves[i],
-                s = r.getLength(),
-                a = 0 === s ? 0 : 1 - t / s
-              return r.getPointAt(a)
-            }
-            i++
-          }
-          return null
-        }
-        getLength() {
-          const t = this.getCurveLengths()
-          return t[t.length - 1]
-        }
-        updateArcLengths() {
-          ;(this.needsUpdate = !0), (this.cacheLengths = null), this.getCurveLengths()
-        }
-        getCurveLengths() {
-          if (this.cacheLengths && this.cacheLengths.length === this.curves.length)
-            return this.cacheLengths
-          const t = []
-          let e = 0
-          for (let n = 0, i = this.curves.length; n < i; n++)
-            (e += this.curves[n].getLength()), t.push(e)
-          return (this.cacheLengths = t), t
-        }
-        getSpacedPoints(t = 40) {
-          const e = []
-          for (let n = 0; n <= t; n++) e.push(this.getPoint(n / t))
-          return this.autoClose && e.push(e[0]), e
-        }
-        getPoints(t = 12) {
-          const e = []
-          let n
-          for (let i = 0, r = this.curves; i < r.length; i++) {
-            const s = r[i],
-              a =
-                s && s.isEllipseCurve
-                  ? 2 * t
-                  : s && (s.isLineCurve || s.isLineCurve3)
-                  ? 1
-                  : s && s.isSplineCurve
-                  ? t * s.points.length
-                  : t,
-              o = s.getPoints(a)
-            for (let t = 0; t < o.length; t++) {
-              const i = o[t]
-              ;(n && n.equals(i)) || (e.push(i), (n = i))
-            }
-          }
-          return this.autoClose && e.length > 1 && !e[e.length - 1].equals(e[0]) && e.push(e[0]), e
-        }
-        copy(t) {
-          super.copy(t), (this.curves = [])
-          for (let e = 0, n = t.curves.length; e < n; e++) {
-            const n = t.curves[e]
-            this.curves.push(n.clone())
-          }
-          return (this.autoClose = t.autoClose), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          ;(t.autoClose = this.autoClose), (t.curves = [])
-          for (let e = 0, n = this.curves.length; e < n; e++) {
-            const n = this.curves[e]
-            t.curves.push(n.toJSON())
-          }
-          return t
-        }
-        fromJSON(t) {
-          super.fromJSON(t), (this.autoClose = t.autoClose), (this.curves = [])
-          for (let e = 0, n = t.curves.length; e < n; e++) {
-            const n = t.curves[e]
-            this.curves.push(new fa[n.type]().fromJSON(n))
-          }
-          return this
-        }
-      }
-      class Po extends Co {
-        constructor(t) {
-          super(), (this.type = 'Path'), (this.currentPoint = new tt()), t && this.setFromPoints(t)
-        }
-        setFromPoints(t) {
-          this.moveTo(t[0].x, t[0].y)
-          for (let e = 1, n = t.length; e < n; e++) this.lineTo(t[e].x, t[e].y)
-          return this
-        }
-        moveTo(t, e) {
-          return this.currentPoint.set(t, e), this
-        }
-        lineTo(t, e) {
-          const n = new ua(this.currentPoint.clone(), new tt(t, e))
-          return this.curves.push(n), this.currentPoint.set(t, e), this
-        }
-        quadraticCurveTo(t, e, n, i) {
-          const r = new da(this.currentPoint.clone(), new tt(t, e), new tt(n, i))
-          return this.curves.push(r), this.currentPoint.set(n, i), this
-        }
-        bezierCurveTo(t, e, n, i, r, s) {
-          const a = new ca(this.currentPoint.clone(), new tt(t, e), new tt(n, i), new tt(r, s))
-          return this.curves.push(a), this.currentPoint.set(r, s), this
-        }
-        splineThru(t) {
-          const e = [this.currentPoint.clone()].concat(t),
-            n = new ma(e)
-          return this.curves.push(n), this.currentPoint.copy(t[t.length - 1]), this
-        }
-        arc(t, e, n, i, r, s) {
-          const a = this.currentPoint.x,
-            o = this.currentPoint.y
-          return this.absarc(t + a, e + o, n, i, r, s), this
-        }
-        absarc(t, e, n, i, r, s) {
-          return this.absellipse(t, e, n, n, i, r, s), this
-        }
-        ellipse(t, e, n, i, r, s, a, o) {
-          const l = this.currentPoint.x,
-            c = this.currentPoint.y
-          return this.absellipse(t + l, e + c, n, i, r, s, a, o), this
-        }
-        absellipse(t, e, n, i, r, s, a, o) {
-          const l = new Ks(t, e, n, i, r, s, a, o)
-          if (this.curves.length > 0) {
-            const t = l.getPoint(0)
-            t.equals(this.currentPoint) || this.lineTo(t.x, t.y)
-          }
-          this.curves.push(l)
-          const c = l.getPoint(1)
-          return this.currentPoint.copy(c), this
-        }
-        copy(t) {
-          return super.copy(t), this.currentPoint.copy(t.currentPoint), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (t.currentPoint = this.currentPoint.toArray()), t
-        }
-        fromJSON(t) {
-          return super.fromJSON(t), this.currentPoint.fromArray(t.currentPoint), this
-        }
-      }
-      class Do extends Po {
-        constructor(t) {
-          super(t), (this.uuid = Y()), (this.type = 'Shape'), (this.holes = [])
-        }
-        getPointsHoles(t) {
-          const e = []
-          for (let n = 0, i = this.holes.length; n < i; n++) e[n] = this.holes[n].getPoints(t)
-          return e
-        }
-        extractPoints(t) {
-          return { shape: this.getPoints(t), holes: this.getPointsHoles(t) }
-        }
-        copy(t) {
-          super.copy(t), (this.holes = [])
-          for (let e = 0, n = t.holes.length; e < n; e++) {
-            const n = t.holes[e]
-            this.holes.push(n.clone())
-          }
-          return this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          ;(t.uuid = this.uuid), (t.holes = [])
-          for (let e = 0, n = this.holes.length; e < n; e++) {
-            const n = this.holes[e]
-            t.holes.push(n.toJSON())
-          }
-          return t
-        }
-        fromJSON(t) {
-          super.fromJSON(t), (this.uuid = t.uuid), (this.holes = [])
-          for (let e = 0, n = t.holes.length; e < n; e++) {
-            const n = t.holes[e]
-            this.holes.push(new Po().fromJSON(n))
-          }
-          return this
-        }
-      }
-      class Io extends pe {
-        constructor(t, e = 1) {
-          super(), (this.type = 'Light'), (this.color = new Ie(t)), (this.intensity = e)
-        }
-        dispose() {}
-        copy(t) {
-          return super.copy(t), this.color.copy(t.color), (this.intensity = t.intensity), this
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (
-            (e.object.color = this.color.getHex()),
-            (e.object.intensity = this.intensity),
-            void 0 !== this.groundColor && (e.object.groundColor = this.groundColor.getHex()),
-            void 0 !== this.distance && (e.object.distance = this.distance),
-            void 0 !== this.angle && (e.object.angle = this.angle),
-            void 0 !== this.decay && (e.object.decay = this.decay),
-            void 0 !== this.penumbra && (e.object.penumbra = this.penumbra),
-            void 0 !== this.shadow && (e.object.shadow = this.shadow.toJSON()),
-            e
-          )
-        }
-      }
-      Io.prototype.isLight = !0
-      class No extends Io {
-        constructor(t, e, n) {
-          super(t, n),
-            (this.type = 'HemisphereLight'),
-            this.position.copy(pe.DefaultUp),
-            this.updateMatrix(),
-            (this.groundColor = new Ie(e))
-        }
-        copy(t) {
-          return Io.prototype.copy.call(this, t), this.groundColor.copy(t.groundColor), this
-        }
-      }
-      No.prototype.isHemisphereLight = !0
-      const zo = new Vt(),
-        Oo = new ut(),
-        Bo = new ut()
-      class Fo {
-        constructor(t) {
-          ;(this.camera = t),
-            (this.bias = 0),
-            (this.normalBias = 0),
-            (this.radius = 1),
-            (this.mapSize = new tt(512, 512)),
-            (this.map = null),
-            (this.mapPass = null),
-            (this.matrix = new Vt()),
-            (this.autoUpdate = !0),
-            (this.needsUpdate = !1),
-            (this._frustum = new In()),
-            (this._frameExtents = new tt(1, 1)),
-            (this._viewportCount = 1),
-            (this._viewports = [new ot(0, 0, 1, 1)])
-        }
-        getViewportCount() {
-          return this._viewportCount
-        }
-        getFrustum() {
-          return this._frustum
-        }
-        updateMatrices(t) {
-          const e = this.camera,
-            n = this.matrix
-          Oo.setFromMatrixPosition(t.matrixWorld),
-            e.position.copy(Oo),
-            Bo.setFromMatrixPosition(t.target.matrixWorld),
-            e.lookAt(Bo),
-            e.updateMatrixWorld(),
-            zo.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse),
-            this._frustum.setFromProjectionMatrix(zo),
-            n.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1),
-            n.multiply(e.projectionMatrix),
-            n.multiply(e.matrixWorldInverse)
-        }
-        getViewport(t) {
-          return this._viewports[t]
-        }
-        getFrameExtents() {
-          return this._frameExtents
-        }
-        dispose() {
-          this.map && this.map.dispose(), this.mapPass && this.mapPass.dispose()
-        }
-        copy(t) {
-          return (
-            (this.camera = t.camera.clone()),
-            (this.bias = t.bias),
-            (this.radius = t.radius),
-            this.mapSize.copy(t.mapSize),
-            this
-          )
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        toJSON() {
-          const t = {}
-          return (
-            0 !== this.bias && (t.bias = this.bias),
-            0 !== this.normalBias && (t.normalBias = this.normalBias),
-            1 !== this.radius && (t.radius = this.radius),
-            (512 === this.mapSize.x && 512 === this.mapSize.y) ||
-              (t.mapSize = this.mapSize.toArray()),
-            (t.camera = this.camera.toJSON(!1).object),
-            delete t.camera.matrix,
-            t
-          )
-        }
-      }
-      class Uo extends Fo {
-        constructor() {
-          super(new Mn(50, 1, 0.5, 500)), (this.focus = 1)
-        }
-        updateMatrices(t) {
-          const e = this.camera,
-            n = 2 * X * t.angle * this.focus,
-            i = this.mapSize.width / this.mapSize.height,
-            r = t.distance || e.far
-          ;(n === e.fov && i === e.aspect && r === e.far) ||
-            ((e.fov = n), (e.aspect = i), (e.far = r), e.updateProjectionMatrix()),
-            super.updateMatrices(t)
-        }
-        copy(t) {
-          return super.copy(t), (this.focus = t.focus), this
-        }
-      }
-      Uo.prototype.isSpotLightShadow = !0
-      class Ho extends Io {
-        constructor(t, e, n = 0, i = Math.PI / 3, r = 0, s = 1) {
-          super(t, e),
-            (this.type = 'SpotLight'),
-            this.position.copy(pe.DefaultUp),
-            this.updateMatrix(),
-            (this.target = new pe()),
-            (this.distance = n),
-            (this.angle = i),
-            (this.penumbra = r),
-            (this.decay = s),
-            (this.shadow = new Uo())
-        }
-        get power() {
-          return this.intensity * Math.PI
-        }
-        set power(t) {
-          this.intensity = t / Math.PI
-        }
-        dispose() {
-          this.shadow.dispose()
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.distance = t.distance),
-            (this.angle = t.angle),
-            (this.penumbra = t.penumbra),
-            (this.decay = t.decay),
-            (this.target = t.target.clone()),
-            (this.shadow = t.shadow.clone()),
-            this
-          )
-        }
-      }
-      Ho.prototype.isSpotLight = !0
-      const Go = new Vt(),
-        Vo = new ut(),
-        ko = new ut()
-      class Wo extends Fo {
-        constructor() {
-          super(new Mn(90, 1, 0.5, 500)),
-            (this._frameExtents = new tt(4, 2)),
-            (this._viewportCount = 6),
-            (this._viewports = [
-              new ot(2, 1, 1, 1),
-              new ot(0, 1, 1, 1),
-              new ot(3, 1, 1, 1),
-              new ot(1, 1, 1, 1),
-              new ot(3, 0, 1, 1),
-              new ot(1, 0, 1, 1),
-            ]),
-            (this._cubeDirections = [
-              new ut(1, 0, 0),
-              new ut(-1, 0, 0),
-              new ut(0, 0, 1),
-              new ut(0, 0, -1),
-              new ut(0, 1, 0),
-              new ut(0, -1, 0),
-            ]),
-            (this._cubeUps = [
-              new ut(0, 1, 0),
-              new ut(0, 1, 0),
-              new ut(0, 1, 0),
-              new ut(0, 1, 0),
-              new ut(0, 0, 1),
-              new ut(0, 0, -1),
-            ])
-        }
-        updateMatrices(t, e = 0) {
-          const n = this.camera,
-            i = this.matrix,
-            r = t.distance || n.far
-          r !== n.far && ((n.far = r), n.updateProjectionMatrix()),
-            Vo.setFromMatrixPosition(t.matrixWorld),
-            n.position.copy(Vo),
-            ko.copy(n.position),
-            ko.add(this._cubeDirections[e]),
-            n.up.copy(this._cubeUps[e]),
-            n.lookAt(ko),
-            n.updateMatrixWorld(),
-            i.makeTranslation(-Vo.x, -Vo.y, -Vo.z),
-            Go.multiplyMatrices(n.projectionMatrix, n.matrixWorldInverse),
-            this._frustum.setFromProjectionMatrix(Go)
-        }
-      }
-      Wo.prototype.isPointLightShadow = !0
-      class jo extends Io {
-        constructor(t, e, n = 0, i = 1) {
-          super(t, e),
-            (this.type = 'PointLight'),
-            (this.distance = n),
-            (this.decay = i),
-            (this.shadow = new Wo())
-        }
-        get power() {
-          return 4 * this.intensity * Math.PI
-        }
-        set power(t) {
-          this.intensity = t / (4 * Math.PI)
-        }
-        dispose() {
-          this.shadow.dispose()
-        }
-        copy(t) {
-          return (
-            super.copy(t),
-            (this.distance = t.distance),
-            (this.decay = t.decay),
-            (this.shadow = t.shadow.clone()),
-            this
-          )
-        }
-      }
-      jo.prototype.isPointLight = !0
-      class qo extends bn {
-        constructor(t = -1, e = 1, n = 1, i = -1, r = 0.1, s = 2e3) {
-          super(),
-            (this.type = 'OrthographicCamera'),
-            (this.zoom = 1),
-            (this.view = null),
-            (this.left = t),
-            (this.right = e),
-            (this.top = n),
-            (this.bottom = i),
-            (this.near = r),
-            (this.far = s),
-            this.updateProjectionMatrix()
-        }
-        copy(t, e) {
-          return (
-            super.copy(t, e),
-            (this.left = t.left),
-            (this.right = t.right),
-            (this.top = t.top),
-            (this.bottom = t.bottom),
-            (this.near = t.near),
-            (this.far = t.far),
-            (this.zoom = t.zoom),
-            (this.view = null === t.view ? null : Object.assign({}, t.view)),
-            this
-          )
-        }
-        setViewOffset(t, e, n, i, r, s) {
-          null === this.view &&
-            (this.view = {
-              enabled: !0,
-              fullWidth: 1,
-              fullHeight: 1,
-              offsetX: 0,
-              offsetY: 0,
-              width: 1,
-              height: 1,
-            }),
-            (this.view.enabled = !0),
-            (this.view.fullWidth = t),
-            (this.view.fullHeight = e),
-            (this.view.offsetX = n),
-            (this.view.offsetY = i),
-            (this.view.width = r),
-            (this.view.height = s),
-            this.updateProjectionMatrix()
-        }
-        clearViewOffset() {
-          null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix()
-        }
-        updateProjectionMatrix() {
-          const t = (this.right - this.left) / (2 * this.zoom),
-            e = (this.top - this.bottom) / (2 * this.zoom),
-            n = (this.right + this.left) / 2,
-            i = (this.top + this.bottom) / 2
-          let r = n - t,
-            s = n + t,
-            a = i + e,
-            o = i - e
-          if (null !== this.view && this.view.enabled) {
-            const t = (this.right - this.left) / this.view.fullWidth / this.zoom,
-              e = (this.top - this.bottom) / this.view.fullHeight / this.zoom
-            ;(r += t * this.view.offsetX),
-              (s = r + t * this.view.width),
-              (a -= e * this.view.offsetY),
-              (o = a - e * this.view.height)
-          }
-          this.projectionMatrix.makeOrthographic(r, s, a, o, this.near, this.far),
-            this.projectionMatrixInverse.copy(this.projectionMatrix).invert()
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (
-            (e.object.zoom = this.zoom),
-            (e.object.left = this.left),
-            (e.object.right = this.right),
-            (e.object.top = this.top),
-            (e.object.bottom = this.bottom),
-            (e.object.near = this.near),
-            (e.object.far = this.far),
-            null !== this.view && (e.object.view = Object.assign({}, this.view)),
-            e
-          )
-        }
-      }
-      qo.prototype.isOrthographicCamera = !0
-      class Xo extends Fo {
-        constructor() {
-          super(new qo(-5, 5, 5, -5, 0.5, 500))
-        }
-      }
-      Xo.prototype.isDirectionalLightShadow = !0
-      class Yo extends Io {
-        constructor(t, e) {
-          super(t, e),
-            (this.type = 'DirectionalLight'),
-            this.position.copy(pe.DefaultUp),
-            this.updateMatrix(),
-            (this.target = new pe()),
-            (this.shadow = new Xo())
-        }
-        dispose() {
-          this.shadow.dispose()
-        }
-        copy(t) {
-          return (
-            super.copy(t), (this.target = t.target.clone()), (this.shadow = t.shadow.clone()), this
-          )
-        }
-      }
-      Yo.prototype.isDirectionalLight = !0
-      class Jo extends Io {
-        constructor(t, e) {
-          super(t, e), (this.type = 'AmbientLight')
-        }
-      }
-      Jo.prototype.isAmbientLight = !0
-      class Zo extends Io {
-        constructor(t, e, n = 10, i = 10) {
-          super(t, e), (this.type = 'RectAreaLight'), (this.width = n), (this.height = i)
-        }
-        copy(t) {
-          return super.copy(t), (this.width = t.width), (this.height = t.height), this
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (e.object.width = this.width), (e.object.height = this.height), e
-        }
-      }
-      Zo.prototype.isRectAreaLight = !0
-      class Qo {
-        constructor() {
-          this.coefficients = []
-          for (let t = 0; t < 9; t++) this.coefficients.push(new ut())
-        }
-        set(t) {
-          for (let e = 0; e < 9; e++) this.coefficients[e].copy(t[e])
-          return this
-        }
-        zero() {
-          for (let t = 0; t < 9; t++) this.coefficients[t].set(0, 0, 0)
-          return this
-        }
-        getAt(t, e) {
-          const n = t.x,
-            i = t.y,
-            r = t.z,
-            s = this.coefficients
-          return (
-            e.copy(s[0]).multiplyScalar(0.282095),
-            e.addScaledVector(s[1], 0.488603 * i),
-            e.addScaledVector(s[2], 0.488603 * r),
-            e.addScaledVector(s[3], 0.488603 * n),
-            e.addScaledVector(s[4], n * i * 1.092548),
-            e.addScaledVector(s[5], i * r * 1.092548),
-            e.addScaledVector(s[6], 0.315392 * (3 * r * r - 1)),
-            e.addScaledVector(s[7], n * r * 1.092548),
-            e.addScaledVector(s[8], 0.546274 * (n * n - i * i)),
-            e
-          )
-        }
-        getIrradianceAt(t, e) {
-          const n = t.x,
-            i = t.y,
-            r = t.z,
-            s = this.coefficients
-          return (
-            e.copy(s[0]).multiplyScalar(0.886227),
-            e.addScaledVector(s[1], 1.023328 * i),
-            e.addScaledVector(s[2], 1.023328 * r),
-            e.addScaledVector(s[3], 1.023328 * n),
-            e.addScaledVector(s[4], 0.858086 * n * i),
-            e.addScaledVector(s[5], 0.858086 * i * r),
-            e.addScaledVector(s[6], 0.743125 * r * r - 0.247708),
-            e.addScaledVector(s[7], 0.858086 * n * r),
-            e.addScaledVector(s[8], 0.429043 * (n * n - i * i)),
-            e
-          )
-        }
-        add(t) {
-          for (let e = 0; e < 9; e++) this.coefficients[e].add(t.coefficients[e])
-          return this
-        }
-        addScaledSH(t, e) {
-          for (let n = 0; n < 9; n++) this.coefficients[n].addScaledVector(t.coefficients[n], e)
-          return this
-        }
-        scale(t) {
-          for (let e = 0; e < 9; e++) this.coefficients[e].multiplyScalar(t)
-          return this
-        }
-        lerp(t, e) {
-          for (let n = 0; n < 9; n++) this.coefficients[n].lerp(t.coefficients[n], e)
-          return this
-        }
-        equals(t) {
-          for (let e = 0; e < 9; e++) if (!this.coefficients[e].equals(t.coefficients[e])) return !1
-          return !0
-        }
-        copy(t) {
-          return this.set(t.coefficients)
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        fromArray(t, e = 0) {
-          const n = this.coefficients
-          for (let i = 0; i < 9; i++) n[i].fromArray(t, e + 3 * i)
-          return this
-        }
-        toArray(t = [], e = 0) {
-          const n = this.coefficients
-          for (let i = 0; i < 9; i++) n[i].toArray(t, e + 3 * i)
-          return t
-        }
-        static getBasisAt(t, e) {
-          const n = t.x,
-            i = t.y,
-            r = t.z
-          ;(e[0] = 0.282095),
-            (e[1] = 0.488603 * i),
-            (e[2] = 0.488603 * r),
-            (e[3] = 0.488603 * n),
-            (e[4] = 1.092548 * n * i),
-            (e[5] = 1.092548 * i * r),
-            (e[6] = 0.315392 * (3 * r * r - 1)),
-            (e[7] = 1.092548 * n * r),
-            (e[8] = 0.546274 * (n * n - i * i))
-        }
-      }
-      Qo.prototype.isSphericalHarmonics3 = !0
-      class Ko extends Io {
-        constructor(t = new Qo(), e = 1) {
-          super(void 0, e), (this.sh = t)
-        }
-        copy(t) {
-          return super.copy(t), this.sh.copy(t.sh), this
-        }
-        fromJSON(t) {
-          return (this.intensity = t.intensity), this.sh.fromArray(t.sh), this
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (e.object.sh = this.sh.toArray()), e
-        }
-      }
-      Ko.prototype.isLightProbe = !0
-      class $o {
-        static decodeText(t) {
-          if ('undefined' !== typeof TextDecoder) return new TextDecoder().decode(t)
-          let e = ''
-          for (let i = 0, r = t.length; i < r; i++) e += String.fromCharCode(t[i])
-          try {
-            return decodeURIComponent(escape(e))
-          } catch (n) {
-            return e
-          }
-        }
-        static extractUrlBase(t) {
-          const e = t.lastIndexOf('/')
-          return -1 === e ? './' : t.substr(0, e + 1)
-        }
-      }
-      class tl extends Je {
-        constructor() {
-          super(), (this.type = 'InstancedBufferGeometry'), (this.instanceCount = 1 / 0)
-        }
-        copy(t) {
-          return super.copy(t), (this.instanceCount = t.instanceCount), this
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        toJSON() {
-          const t = super.toJSON(this)
-          return (t.instanceCount = this.instanceCount), (t.isInstancedBufferGeometry = !0), t
-        }
-      }
-      tl.prototype.isInstancedBufferGeometry = !0
-      class el extends Be {
-        constructor(t, e, n, i = 1) {
-          'number' === typeof n &&
-            ((i = n),
-            (n = !1),
-            console.error(
-              'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.',
-            )),
-            super(t, e, n),
-            (this.meshPerAttribute = i)
-        }
-        copy(t) {
-          return super.copy(t), (this.meshPerAttribute = t.meshPerAttribute), this
-        }
-        toJSON() {
-          const t = super.toJSON()
-          return (
-            (t.meshPerAttribute = this.meshPerAttribute), (t.isInstancedBufferAttribute = !0), t
-          )
-        }
-      }
-      el.prototype.isInstancedBufferAttribute = !0
-      ;(class extends So {
-        constructor(t) {
-          super(t),
-            'undefined' === typeof createImageBitmap &&
-              console.warn('THREE.ImageBitmapLoader: createImageBitmap() not supported.'),
-            'undefined' === typeof fetch &&
-              console.warn('THREE.ImageBitmapLoader: fetch() not supported.'),
-            (this.options = { premultiplyAlpha: 'none' })
-        }
-        setOptions(t) {
-          return (this.options = t), this
-        }
-        load(t, e, n, i) {
-          void 0 === t && (t = ''),
-            void 0 !== this.path && (t = this.path + t),
-            (t = this.manager.resolveURL(t))
-          const r = this,
-            s = bo.get(t)
-          if (void 0 !== s)
-            return (
-              r.manager.itemStart(t),
-              setTimeout(function () {
-                e && e(s), r.manager.itemEnd(t)
-              }, 0),
-              s
-            )
-          const a = {}
-          ;(a.credentials = 'anonymous' === this.crossOrigin ? 'same-origin' : 'include'),
-            (a.headers = this.requestHeader),
-            fetch(t, a)
-              .then(function (t) {
-                return t.blob()
-              })
-              .then(function (t) {
-                return createImageBitmap(
-                  t,
-                  Object.assign(r.options, { colorSpaceConversion: 'none' }),
-                )
-              })
-              .then(function (n) {
-                bo.add(t, n), e && e(n), r.manager.itemEnd(t)
-              })
-              .catch(function (e) {
-                i && i(e), r.manager.itemError(t), r.manager.itemEnd(t)
-              }),
-            r.manager.itemStart(t)
-        }
-      }.prototype.isImageBitmapLoader = !0)
-      class nl {
-        constructor() {
-          ;(this.type = 'ShapePath'),
-            (this.color = new Ie()),
-            (this.subPaths = []),
-            (this.currentPath = null)
-        }
-        moveTo(t, e) {
-          return (
-            (this.currentPath = new Po()),
-            this.subPaths.push(this.currentPath),
-            this.currentPath.moveTo(t, e),
-            this
-          )
-        }
-        lineTo(t, e) {
-          return this.currentPath.lineTo(t, e), this
-        }
-        quadraticCurveTo(t, e, n, i) {
-          return this.currentPath.quadraticCurveTo(t, e, n, i), this
-        }
-        bezierCurveTo(t, e, n, i, r, s) {
-          return this.currentPath.bezierCurveTo(t, e, n, i, r, s), this
-        }
-        splineThru(t) {
-          return this.currentPath.splineThru(t), this
-        }
-        toShapes(t, e) {
-          function n(t) {
-            const e = []
-            for (let n = 0, i = t.length; n < i; n++) {
-              const i = t[n],
-                r = new Do()
-              ;(r.curves = i.curves), e.push(r)
-            }
-            return e
-          }
-          function i(t, e) {
-            const n = e.length
-            let i = !1
-            for (let r = n - 1, s = 0; s < n; r = s++) {
-              let n = e[r],
-                a = e[s],
-                o = a.x - n.x,
-                l = a.y - n.y
-              if (Math.abs(l) > Number.EPSILON) {
-                if ((l < 0 && ((n = e[s]), (o = -o), (a = e[r]), (l = -l)), t.y < n.y || t.y > a.y))
-                  continue
-                if (t.y === n.y) {
-                  if (t.x === n.x) return !0
-                } else {
-                  const e = l * (t.x - n.x) - o * (t.y - n.y)
-                  if (0 === e) return !0
-                  if (e < 0) continue
-                  i = !i
-                }
-              } else {
-                if (t.y !== n.y) continue
-                if ((a.x <= t.x && t.x <= n.x) || (n.x <= t.x && t.x <= a.x)) return !0
-              }
-            }
-            return i
-          }
-          const r = Ga.isClockWise,
-            s = this.subPaths
-          if (0 === s.length) return []
-          if (!0 === e) return n(s)
-          let a, o, l
-          const c = []
-          if (1 === s.length) return (o = s[0]), (l = new Do()), (l.curves = o.curves), c.push(l), c
-          let h = !r(s[0].getPoints())
-          h = t ? !h : h
-          const u = [],
-            d = []
-          let p,
-            m,
-            f = [],
-            g = 0
-          ;(d[g] = void 0), (f[g] = [])
-          for (let v = 0, y = s.length; v < y; v++)
-            (o = s[v]),
-              (p = o.getPoints()),
-              (a = r(p)),
-              (a = t ? !a : a),
-              a
-                ? (!h && d[g] && g++,
-                  (d[g] = { s: new Do(), p: p }),
-                  (d[g].s.curves = o.curves),
-                  h && g++,
-                  (f[g] = []))
-                : f[g].push({ h: o, p: p[0] })
-          if (!d[0]) return n(s)
-          if (d.length > 1) {
-            let t = !1
-            const e = []
-            for (let n = 0, i = d.length; n < i; n++) u[n] = []
-            for (let n = 0, r = d.length; n < r; n++) {
-              const r = f[n]
-              for (let s = 0; s < r.length; s++) {
-                const a = r[s]
-                let o = !0
-                for (let r = 0; r < d.length; r++)
-                  i(a.p, d[r].p) &&
-                    (n !== r && e.push({ froms: n, tos: r, hole: s }),
-                    o ? ((o = !1), u[r].push(a)) : (t = !0))
-                o && u[n].push(a)
-              }
-            }
-            e.length > 0 && (t || (f = u))
-          }
-          for (let v = 0, y = d.length; v < y; v++) {
-            ;(l = d[v].s), c.push(l), (m = f[v])
-            for (let t = 0, e = m.length; t < e; t++) l.holes.push(m[t].h)
-          }
-          return c
-        }
-      }
-      class il {
-        constructor(t) {
-          ;(this.type = 'Font'), (this.data = t)
-        }
-        generateShapes(t, e = 100) {
-          const n = [],
-            i = (function (t, e, n) {
-              const i = Array.from(t),
-                r = e / n.resolution,
-                s = (n.boundingBox.yMax - n.boundingBox.yMin + n.underlineThickness) * r,
-                a = []
-              let o = 0,
-                l = 0
-              for (let c = 0; c < i.length; c++) {
-                const t = i[c]
-                if ('\n' === t) (o = 0), (l -= s)
-                else {
-                  const e = rl(t, r, o, l, n)
-                  ;(o += e.offsetX), a.push(e.path)
-                }
-              }
-              return a
-            })(t, e, this.data)
-          for (let r = 0, s = i.length; r < s; r++) Array.prototype.push.apply(n, i[r].toShapes())
-          return n
-        }
-      }
-      function rl(t, e, n, i, r) {
-        const s = r.glyphs[t] || r.glyphs['?']
-        if (!s)
-          return void console.error(
-            'THREE.Font: character "' +
-              t +
-              '" does not exists in font family ' +
-              r.familyName +
-              '.',
-          )
-        const a = new nl()
-        let o, l, c, h, u, d, p, m
-        if (s.o) {
-          const t = s._cachedOutline || (s._cachedOutline = s.o.split(' '))
-          for (let r = 0, s = t.length; r < s; ) {
-            switch (t[r++]) {
-              case 'm':
-                ;(o = t[r++] * e + n), (l = t[r++] * e + i), a.moveTo(o, l)
-                break
-              case 'l':
-                ;(o = t[r++] * e + n), (l = t[r++] * e + i), a.lineTo(o, l)
-                break
-              case 'q':
-                ;(c = t[r++] * e + n),
-                  (h = t[r++] * e + i),
-                  (u = t[r++] * e + n),
-                  (d = t[r++] * e + i),
-                  a.quadraticCurveTo(u, d, c, h)
-                break
-              case 'b':
-                ;(c = t[r++] * e + n),
-                  (h = t[r++] * e + i),
-                  (u = t[r++] * e + n),
-                  (d = t[r++] * e + i),
-                  (p = t[r++] * e + n),
-                  (m = t[r++] * e + i),
-                  a.bezierCurveTo(u, d, p, m, c, h)
-            }
-          }
-        }
-        return { offsetX: s.ha * e, path: a }
-      }
-      il.prototype.isFont = !0
-      let sl
-      const al = function () {
-        return void 0 === sl && (sl = new (window.AudioContext || window.webkitAudioContext)()), sl
-      }
-      class ol extends So {
-        constructor(t) {
-          super(t)
-        }
-        load(t, e, n, i) {
-          const r = this,
-            s = new Eo(this.manager)
-          s.setResponseType('arraybuffer'),
-            s.setPath(this.path),
-            s.setRequestHeader(this.requestHeader),
-            s.setWithCredentials(this.withCredentials),
-            s.load(
-              t,
-              function (n) {
-                try {
-                  const t = n.slice(0)
-                  al().decodeAudioData(t, function (t) {
-                    e(t)
-                  })
-                } catch (s) {
-                  i ? i(s) : console.error(s), r.manager.itemError(t)
-                }
-              },
-              n,
-              i,
-            )
-        }
-      }
-      ;(class extends Ko {
-        constructor(t, e, n = 1) {
-          super(void 0, n)
-          const i = new Ie().set(t),
-            r = new Ie().set(e),
-            s = new ut(i.r, i.g, i.b),
-            a = new ut(r.r, r.g, r.b),
-            o = Math.sqrt(Math.PI),
-            l = o * Math.sqrt(0.75)
-          this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o),
-            this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)
-        }
-      }.prototype.isHemisphereLightProbe = !0)
-      ;(class extends Ko {
-        constructor(t, e = 1) {
-          super(void 0, e)
-          const n = new Ie().set(t)
-          this.sh.coefficients[0].set(n.r, n.g, n.b).multiplyScalar(2 * Math.sqrt(Math.PI))
-        }
-      }.prototype.isAmbientLightProbe = !0)
-      class ll {
-        constructor(t = !0) {
-          ;(this.autoStart = t),
-            (this.startTime = 0),
-            (this.oldTime = 0),
-            (this.elapsedTime = 0),
-            (this.running = !1)
-        }
-        start() {
-          ;(this.startTime = cl()),
-            (this.oldTime = this.startTime),
-            (this.elapsedTime = 0),
-            (this.running = !0)
-        }
-        stop() {
-          this.getElapsedTime(), (this.running = !1), (this.autoStart = !1)
-        }
-        getElapsedTime() {
-          return this.getDelta(), this.elapsedTime
-        }
-        getDelta() {
-          let t = 0
-          if (this.autoStart && !this.running) return this.start(), 0
-          if (this.running) {
-            const e = cl()
-            ;(t = (e - this.oldTime) / 1e3), (this.oldTime = e), (this.elapsedTime += t)
-          }
-          return t
-        }
-      }
-      function cl() {
-        return ('undefined' === typeof performance ? Date : performance).now()
-      }
-      class hl extends pe {
-        constructor(t) {
-          super(),
-            (this.type = 'Audio'),
-            (this.listener = t),
-            (this.context = t.context),
-            (this.gain = this.context.createGain()),
-            this.gain.connect(t.getInput()),
-            (this.autoplay = !1),
-            (this.buffer = null),
-            (this.detune = 0),
-            (this.loop = !1),
-            (this.loopStart = 0),
-            (this.loopEnd = 0),
-            (this.offset = 0),
-            (this.duration = void 0),
-            (this.playbackRate = 1),
-            (this.isPlaying = !1),
-            (this.hasPlaybackControl = !0),
-            (this.source = null),
-            (this.sourceType = 'empty'),
-            (this._startedAt = 0),
-            (this._progress = 0),
-            (this._connected = !1),
-            (this.filters = [])
-        }
-        getOutput() {
-          return this.gain
-        }
-        setNodeSource(t) {
-          return (
-            (this.hasPlaybackControl = !1),
-            (this.sourceType = 'audioNode'),
-            (this.source = t),
-            this.connect(),
-            this
-          )
-        }
-        setMediaElementSource(t) {
-          return (
-            (this.hasPlaybackControl = !1),
-            (this.sourceType = 'mediaNode'),
-            (this.source = this.context.createMediaElementSource(t)),
-            this.connect(),
-            this
-          )
-        }
-        setMediaStreamSource(t) {
-          return (
-            (this.hasPlaybackControl = !1),
-            (this.sourceType = 'mediaStreamNode'),
-            (this.source = this.context.createMediaStreamSource(t)),
-            this.connect(),
-            this
-          )
-        }
-        setBuffer(t) {
-          return (this.buffer = t), (this.sourceType = 'buffer'), this.autoplay && this.play(), this
-        }
-        play(t = 0) {
-          if (!0 === this.isPlaying)
-            return void console.warn('THREE.Audio: Audio is already playing.')
-          if (!1 === this.hasPlaybackControl)
-            return void console.warn('THREE.Audio: this Audio has no playback control.')
-          this._startedAt = this.context.currentTime + t
-          const e = this.context.createBufferSource()
-          return (
-            (e.buffer = this.buffer),
-            (e.loop = this.loop),
-            (e.loopStart = this.loopStart),
-            (e.loopEnd = this.loopEnd),
-            (e.onended = this.onEnded.bind(this)),
-            e.start(this._startedAt, this._progress + this.offset, this.duration),
-            (this.isPlaying = !0),
-            (this.source = e),
-            this.setDetune(this.detune),
-            this.setPlaybackRate(this.playbackRate),
-            this.connect()
-          )
-        }
-        pause() {
-          if (!1 !== this.hasPlaybackControl)
-            return (
-              !0 === this.isPlaying &&
-                ((this._progress +=
-                  Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate),
-                !0 === this.loop &&
-                  (this._progress = this._progress % (this.duration || this.buffer.duration)),
-                this.source.stop(),
-                (this.source.onended = null),
-                (this.isPlaying = !1)),
-              this
-            )
-          console.warn('THREE.Audio: this Audio has no playback control.')
-        }
-        stop() {
-          if (!1 !== this.hasPlaybackControl)
-            return (
-              (this._progress = 0),
-              this.source.stop(),
-              (this.source.onended = null),
-              (this.isPlaying = !1),
-              this
-            )
-          console.warn('THREE.Audio: this Audio has no playback control.')
-        }
-        connect() {
-          if (this.filters.length > 0) {
-            this.source.connect(this.filters[0])
-            for (let t = 1, e = this.filters.length; t < e; t++)
-              this.filters[t - 1].connect(this.filters[t])
-            this.filters[this.filters.length - 1].connect(this.getOutput())
-          } else this.source.connect(this.getOutput())
-          return (this._connected = !0), this
-        }
-        disconnect() {
-          if (this.filters.length > 0) {
-            this.source.disconnect(this.filters[0])
-            for (let t = 1, e = this.filters.length; t < e; t++)
-              this.filters[t - 1].disconnect(this.filters[t])
-            this.filters[this.filters.length - 1].disconnect(this.getOutput())
-          } else this.source.disconnect(this.getOutput())
-          return (this._connected = !1), this
-        }
-        getFilters() {
-          return this.filters
-        }
-        setFilters(t) {
-          return (
-            t || (t = []),
-            !0 === this._connected
-              ? (this.disconnect(), (this.filters = t.slice()), this.connect())
-              : (this.filters = t.slice()),
-            this
-          )
-        }
-        setDetune(t) {
-          if (((this.detune = t), void 0 !== this.source.detune))
-            return (
-              !0 === this.isPlaying &&
-                this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01),
-              this
-            )
-        }
-        getDetune() {
-          return this.detune
-        }
-        getFilter() {
-          return this.getFilters()[0]
-        }
-        setFilter(t) {
-          return this.setFilters(t ? [t] : [])
-        }
-        setPlaybackRate(t) {
-          if (!1 !== this.hasPlaybackControl)
-            return (
-              (this.playbackRate = t),
-              !0 === this.isPlaying &&
-                this.source.playbackRate.setTargetAtTime(
-                  this.playbackRate,
-                  this.context.currentTime,
-                  0.01,
-                ),
-              this
-            )
-          console.warn('THREE.Audio: this Audio has no playback control.')
-        }
-        getPlaybackRate() {
-          return this.playbackRate
-        }
-        onEnded() {
-          this.isPlaying = !1
-        }
-        getLoop() {
-          return !1 === this.hasPlaybackControl
-            ? (console.warn('THREE.Audio: this Audio has no playback control.'), !1)
-            : this.loop
-        }
-        setLoop(t) {
-          if (!1 !== this.hasPlaybackControl)
-            return (this.loop = t), !0 === this.isPlaying && (this.source.loop = this.loop), this
-          console.warn('THREE.Audio: this Audio has no playback control.')
-        }
-        setLoopStart(t) {
-          return (this.loopStart = t), this
-        }
-        setLoopEnd(t) {
-          return (this.loopEnd = t), this
-        }
-        getVolume() {
-          return this.gain.gain.value
-        }
-        setVolume(t) {
-          return this.gain.gain.setTargetAtTime(t, this.context.currentTime, 0.01), this
-        }
-      }
-      class ul {
-        constructor(t, e, n) {
-          let i, r, s
-          switch (((this.binding = t), (this.valueSize = n), e)) {
-            case 'quaternion':
-              ;(i = this._slerp),
-                (r = this._slerpAdditive),
-                (s = this._setAdditiveIdentityQuaternion),
-                (this.buffer = new Float64Array(6 * n)),
-                (this._workIndex = 5)
-              break
-            case 'string':
-            case 'bool':
-              ;(i = this._select),
-                (r = this._select),
-                (s = this._setAdditiveIdentityOther),
-                (this.buffer = new Array(5 * n))
-              break
-            default:
-              ;(i = this._lerp),
-                (r = this._lerpAdditive),
-                (s = this._setAdditiveIdentityNumeric),
-                (this.buffer = new Float64Array(5 * n))
-          }
-          ;(this._mixBufferRegion = i),
-            (this._mixBufferRegionAdditive = r),
-            (this._setIdentity = s),
-            (this._origIndex = 3),
-            (this._addIndex = 4),
-            (this.cumulativeWeight = 0),
-            (this.cumulativeWeightAdditive = 0),
-            (this.useCount = 0),
-            (this.referenceCount = 0)
-        }
-        accumulate(t, e) {
-          const n = this.buffer,
-            i = this.valueSize,
-            r = t * i + i
-          let s = this.cumulativeWeight
-          if (0 === s) {
-            for (let t = 0; t !== i; ++t) n[r + t] = n[t]
-            s = e
-          } else {
-            s += e
-            const t = e / s
-            this._mixBufferRegion(n, r, 0, t, i)
-          }
-          this.cumulativeWeight = s
-        }
-        accumulateAdditive(t) {
-          const e = this.buffer,
-            n = this.valueSize,
-            i = n * this._addIndex
-          0 === this.cumulativeWeightAdditive && this._setIdentity(),
-            this._mixBufferRegionAdditive(e, i, 0, t, n),
-            (this.cumulativeWeightAdditive += t)
-        }
-        apply(t) {
-          const e = this.valueSize,
-            n = this.buffer,
-            i = t * e + e,
-            r = this.cumulativeWeight,
-            s = this.cumulativeWeightAdditive,
-            a = this.binding
-          if (((this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0), r < 1)) {
-            const t = e * this._origIndex
-            this._mixBufferRegion(n, i, t, 1 - r, e)
-          }
-          s > 0 && this._mixBufferRegionAdditive(n, i, this._addIndex * e, 1, e)
-          for (let o = e, l = e + e; o !== l; ++o)
-            if (n[o] !== n[o + e]) {
-              a.setValue(n, i)
-              break
-            }
-        }
-        saveOriginalState() {
-          const t = this.binding,
-            e = this.buffer,
-            n = this.valueSize,
-            i = n * this._origIndex
-          t.getValue(e, i)
-          for (let r = n, s = i; r !== s; ++r) e[r] = e[i + (r % n)]
-          this._setIdentity(), (this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0)
-        }
-        restoreOriginalState() {
-          const t = 3 * this.valueSize
-          this.binding.setValue(this.buffer, t)
-        }
-        _setAdditiveIdentityNumeric() {
-          const t = this._addIndex * this.valueSize,
-            e = t + this.valueSize
-          for (let n = t; n < e; n++) this.buffer[n] = 0
-        }
-        _setAdditiveIdentityQuaternion() {
-          this._setAdditiveIdentityNumeric(), (this.buffer[this._addIndex * this.valueSize + 3] = 1)
-        }
-        _setAdditiveIdentityOther() {
-          const t = this._origIndex * this.valueSize,
-            e = this._addIndex * this.valueSize
-          for (let n = 0; n < this.valueSize; n++) this.buffer[e + n] = this.buffer[t + n]
-        }
-        _select(t, e, n, i, r) {
-          if (i >= 0.5) for (let s = 0; s !== r; ++s) t[e + s] = t[n + s]
-        }
-        _slerp(t, e, n, i) {
-          ht.slerpFlat(t, e, t, e, t, n, i)
-        }
-        _slerpAdditive(t, e, n, i, r) {
-          const s = this._workIndex * r
-          ht.multiplyQuaternionsFlat(t, s, t, e, t, n), ht.slerpFlat(t, e, t, e, t, s, i)
-        }
-        _lerp(t, e, n, i, r) {
-          const s = 1 - i
-          for (let a = 0; a !== r; ++a) {
-            const r = e + a
-            t[r] = t[r] * s + t[n + a] * i
-          }
-        }
-        _lerpAdditive(t, e, n, i, r) {
-          for (let s = 0; s !== r; ++s) {
-            const r = e + s
-            t[r] = t[r] + t[n + s] * i
-          }
-        }
-      }
-      const dl = '\\[\\]\\.:\\/',
-        pl = new RegExp('[\\[\\]\\.:\\/]', 'g'),
-        ml = '[^\\[\\]\\.:\\/]',
-        fl = '[^' + dl.replace('\\.', '') + ']',
-        gl = /((?:WC+[\/:])*)/.source.replace('WC', ml),
-        vl = /(WCOD+)?/.source.replace('WCOD', fl),
-        yl = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', ml),
-        xl = /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', ml),
-        _l = new RegExp('^' + gl + vl + yl + xl + '$'),
-        bl = ['material', 'materials', 'bones']
-      class Ml {
-        constructor(t, e, n) {
-          ;(this.path = e),
-            (this.parsedPath = n || Ml.parseTrackName(e)),
-            (this.node = Ml.findNode(t, this.parsedPath.nodeName) || t),
-            (this.rootNode = t),
-            (this.getValue = this._getValue_unbound),
-            (this.setValue = this._setValue_unbound)
-        }
-        static create(t, e, n) {
-          return t && t.isAnimationObjectGroup ? new Ml.Composite(t, e, n) : new Ml(t, e, n)
-        }
-        static sanitizeNodeName(t) {
-          return t.replace(/\s/g, '_').replace(pl, '')
-        }
-        static parseTrackName(t) {
-          const e = _l.exec(t)
-          if (!e) throw new Error('PropertyBinding: Cannot parse trackName: ' + t)
-          const n = {
-              nodeName: e[2],
-              objectName: e[3],
-              objectIndex: e[4],
-              propertyName: e[5],
-              propertyIndex: e[6],
-            },
-            i = n.nodeName && n.nodeName.lastIndexOf('.')
-          if (void 0 !== i && -1 !== i) {
-            const t = n.nodeName.substring(i + 1)
-            ;-1 !== bl.indexOf(t) && ((n.nodeName = n.nodeName.substring(0, i)), (n.objectName = t))
-          }
-          if (null === n.propertyName || 0 === n.propertyName.length)
-            throw new Error('PropertyBinding: can not parse propertyName from trackName: ' + t)
-          return n
-        }
-        static findNode(t, e) {
-          if (!e || '' === e || '.' === e || -1 === e || e === t.name || e === t.uuid) return t
-          if (t.skeleton) {
-            const n = t.skeleton.getBoneByName(e)
-            if (void 0 !== n) return n
-          }
-          if (t.children) {
-            const n = function (t) {
-                for (let i = 0; i < t.length; i++) {
-                  const r = t[i]
-                  if (r.name === e || r.uuid === e) return r
-                  const s = n(r.children)
-                  if (s) return s
-                }
-                return null
-              },
-              i = n(t.children)
-            if (i) return i
-          }
-          return null
-        }
-        _getValue_unavailable() {}
-        _setValue_unavailable() {}
-        _getValue_direct(t, e) {
-          t[e] = this.node[this.propertyName]
-        }
-        _getValue_array(t, e) {
-          const n = this.resolvedProperty
-          for (let i = 0, r = n.length; i !== r; ++i) t[e++] = n[i]
-        }
-        _getValue_arrayElement(t, e) {
-          t[e] = this.resolvedProperty[this.propertyIndex]
-        }
-        _getValue_toArray(t, e) {
-          this.resolvedProperty.toArray(t, e)
-        }
-        _setValue_direct(t, e) {
-          this.targetObject[this.propertyName] = t[e]
-        }
-        _setValue_direct_setNeedsUpdate(t, e) {
-          ;(this.targetObject[this.propertyName] = t[e]), (this.targetObject.needsUpdate = !0)
-        }
-        _setValue_direct_setMatrixWorldNeedsUpdate(t, e) {
-          ;(this.targetObject[this.propertyName] = t[e]),
-            (this.targetObject.matrixWorldNeedsUpdate = !0)
-        }
-        _setValue_array(t, e) {
-          const n = this.resolvedProperty
-          for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]
-        }
-        _setValue_array_setNeedsUpdate(t, e) {
-          const n = this.resolvedProperty
-          for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]
-          this.targetObject.needsUpdate = !0
-        }
-        _setValue_array_setMatrixWorldNeedsUpdate(t, e) {
-          const n = this.resolvedProperty
-          for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]
-          this.targetObject.matrixWorldNeedsUpdate = !0
-        }
-        _setValue_arrayElement(t, e) {
-          this.resolvedProperty[this.propertyIndex] = t[e]
-        }
-        _setValue_arrayElement_setNeedsUpdate(t, e) {
-          ;(this.resolvedProperty[this.propertyIndex] = t[e]), (this.targetObject.needsUpdate = !0)
-        }
-        _setValue_arrayElement_setMatrixWorldNeedsUpdate(t, e) {
-          ;(this.resolvedProperty[this.propertyIndex] = t[e]),
-            (this.targetObject.matrixWorldNeedsUpdate = !0)
-        }
-        _setValue_fromArray(t, e) {
-          this.resolvedProperty.fromArray(t, e)
-        }
-        _setValue_fromArray_setNeedsUpdate(t, e) {
-          this.resolvedProperty.fromArray(t, e), (this.targetObject.needsUpdate = !0)
-        }
-        _setValue_fromArray_setMatrixWorldNeedsUpdate(t, e) {
-          this.resolvedProperty.fromArray(t, e), (this.targetObject.matrixWorldNeedsUpdate = !0)
-        }
-        _getValue_unbound(t, e) {
-          this.bind(), this.getValue(t, e)
-        }
-        _setValue_unbound(t, e) {
-          this.bind(), this.setValue(t, e)
-        }
-        bind() {
-          let t = this.node
-          const e = this.parsedPath,
-            n = e.objectName,
-            i = e.propertyName
-          let r = e.propertyIndex
-          if (
-            (t || ((t = Ml.findNode(this.rootNode, e.nodeName) || this.rootNode), (this.node = t)),
-            (this.getValue = this._getValue_unavailable),
-            (this.setValue = this._setValue_unavailable),
-            !t)
-          )
-            return void console.error(
-              'THREE.PropertyBinding: Trying to update node for track: ' +
-                this.path +
-                " but it wasn't found.",
-            )
-          if (n) {
-            let i = e.objectIndex
-            switch (n) {
-              case 'materials':
-                if (!t.material)
-                  return void console.error(
-                    'THREE.PropertyBinding: Can not bind to material as node does not have a material.',
-                    this,
-                  )
-                if (!t.material.materials)
-                  return void console.error(
-                    'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.',
-                    this,
-                  )
-                t = t.material.materials
-                break
-              case 'bones':
-                if (!t.skeleton)
-                  return void console.error(
-                    'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.',
-                    this,
-                  )
-                t = t.skeleton.bones
-                for (let e = 0; e < t.length; e++)
-                  if (t[e].name === i) {
-                    i = e
-                    break
-                  }
-                break
-              default:
-                if (void 0 === t[n])
-                  return void console.error(
-                    'THREE.PropertyBinding: Can not bind to objectName of node undefined.',
-                    this,
-                  )
-                t = t[n]
-            }
-            if (void 0 !== i) {
-              if (void 0 === t[i])
-                return void console.error(
-                  'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.',
-                  this,
-                  t,
-                )
-              t = t[i]
-            }
-          }
-          const s = t[i]
-          if (void 0 === s) {
-            const n = e.nodeName
-            return void console.error(
-              'THREE.PropertyBinding: Trying to update property for track: ' +
-                n +
-                '.' +
-                i +
-                " but it wasn't found.",
-              t,
-            )
-          }
-          let a = this.Versioning.None
-          ;(this.targetObject = t),
-            void 0 !== t.needsUpdate
-              ? (a = this.Versioning.NeedsUpdate)
-              : void 0 !== t.matrixWorldNeedsUpdate && (a = this.Versioning.MatrixWorldNeedsUpdate)
-          let o = this.BindingType.Direct
-          if (void 0 !== r) {
-            if ('morphTargetInfluences' === i) {
-              if (!t.geometry)
-                return void console.error(
-                  'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.',
-                  this,
-                )
-              if (!t.geometry.isBufferGeometry)
-                return void console.error(
-                  'THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.',
-                  this,
-                )
-              if (!t.geometry.morphAttributes)
-                return void console.error(
-                  'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.',
-                  this,
-                )
-              void 0 !== t.morphTargetDictionary[r] && (r = t.morphTargetDictionary[r])
-            }
-            ;(o = this.BindingType.ArrayElement),
-              (this.resolvedProperty = s),
-              (this.propertyIndex = r)
-          } else
-            void 0 !== s.fromArray && void 0 !== s.toArray
-              ? ((o = this.BindingType.HasFromToArray), (this.resolvedProperty = s))
-              : Array.isArray(s)
-              ? ((o = this.BindingType.EntireArray), (this.resolvedProperty = s))
-              : (this.propertyName = i)
-          ;(this.getValue = this.GetterByBindingType[o]),
-            (this.setValue = this.SetterByBindingTypeAndVersioning[o][a])
-        }
-        unbind() {
-          ;(this.node = null),
-            (this.getValue = this._getValue_unbound),
-            (this.setValue = this._setValue_unbound)
-        }
-      }
-      ;(Ml.Composite = class {
-        constructor(t, e, n) {
-          const i = n || Ml.parseTrackName(e)
-          ;(this._targetGroup = t), (this._bindings = t.subscribe_(e, i))
-        }
-        getValue(t, e) {
-          this.bind()
-          const n = this._targetGroup.nCachedObjects_,
-            i = this._bindings[n]
-          void 0 !== i && i.getValue(t, e)
-        }
-        setValue(t, e) {
-          const n = this._bindings
-          for (let i = this._targetGroup.nCachedObjects_, r = n.length; i !== r; ++i)
-            n[i].setValue(t, e)
-        }
-        bind() {
-          const t = this._bindings
-          for (let e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].bind()
-        }
-        unbind() {
-          const t = this._bindings
-          for (let e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].unbind()
-        }
-      }),
-        (Ml.prototype.BindingType = {
-          Direct: 0,
-          EntireArray: 1,
-          ArrayElement: 2,
-          HasFromToArray: 3,
-        }),
-        (Ml.prototype.Versioning = { None: 0, NeedsUpdate: 1, MatrixWorldNeedsUpdate: 2 }),
-        (Ml.prototype.GetterByBindingType = [
-          Ml.prototype._getValue_direct,
-          Ml.prototype._getValue_array,
-          Ml.prototype._getValue_arrayElement,
-          Ml.prototype._getValue_toArray,
-        ]),
-        (Ml.prototype.SetterByBindingTypeAndVersioning = [
-          [
-            Ml.prototype._setValue_direct,
-            Ml.prototype._setValue_direct_setNeedsUpdate,
-            Ml.prototype._setValue_direct_setMatrixWorldNeedsUpdate,
-          ],
-          [
-            Ml.prototype._setValue_array,
-            Ml.prototype._setValue_array_setNeedsUpdate,
-            Ml.prototype._setValue_array_setMatrixWorldNeedsUpdate,
-          ],
-          [
-            Ml.prototype._setValue_arrayElement,
-            Ml.prototype._setValue_arrayElement_setNeedsUpdate,
-            Ml.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate,
-          ],
-          [
-            Ml.prototype._setValue_fromArray,
-            Ml.prototype._setValue_fromArray_setNeedsUpdate,
-            Ml.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate,
-          ],
-        ])
-      ;(class {
-        constructor() {
-          ;(this.uuid = Y()),
-            (this._objects = Array.prototype.slice.call(arguments)),
-            (this.nCachedObjects_ = 0)
-          const t = {}
-          this._indicesByUUID = t
-          for (let n = 0, i = arguments.length; n !== i; ++n) t[arguments[n].uuid] = n
-          ;(this._paths = []),
-            (this._parsedPaths = []),
-            (this._bindings = []),
-            (this._bindingsIndicesByPath = {})
-          const e = this
-          this.stats = {
-            objects: {
-              get total() {
-                return e._objects.length
-              },
-              get inUse() {
-                return this.total - e.nCachedObjects_
-              },
-            },
-            get bindingsPerObject() {
-              return e._bindings.length
-            },
-          }
-        }
-        add() {
-          const t = this._objects,
-            e = this._indicesByUUID,
-            n = this._paths,
-            i = this._parsedPaths,
-            r = this._bindings,
-            s = r.length
-          let a,
-            o = t.length,
-            l = this.nCachedObjects_
-          for (let c = 0, h = arguments.length; c !== h; ++c) {
-            const h = arguments[c],
-              u = h.uuid
-            let d = e[u]
-            if (void 0 === d) {
-              ;(d = o++), (e[u] = d), t.push(h)
-              for (let t = 0, e = s; t !== e; ++t) r[t].push(new Ml(h, n[t], i[t]))
-            } else if (d < l) {
-              a = t[d]
-              const o = --l,
-                c = t[o]
-              ;(e[c.uuid] = d), (t[d] = c), (e[u] = o), (t[o] = h)
-              for (let t = 0, e = s; t !== e; ++t) {
-                const e = r[t],
-                  s = e[o]
-                let a = e[d]
-                ;(e[d] = s), void 0 === a && (a = new Ml(h, n[t], i[t])), (e[o] = a)
-              }
-            } else
-              t[d] !== a &&
-                console.error(
-                  'THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.',
-                )
-          }
-          this.nCachedObjects_ = l
-        }
-        remove() {
-          const t = this._objects,
-            e = this._indicesByUUID,
-            n = this._bindings,
-            i = n.length
-          let r = this.nCachedObjects_
-          for (let s = 0, a = arguments.length; s !== a; ++s) {
-            const a = arguments[s],
-              o = a.uuid,
-              l = e[o]
-            if (void 0 !== l && l >= r) {
-              const s = r++,
-                c = t[s]
-              ;(e[c.uuid] = l), (t[l] = c), (e[o] = s), (t[s] = a)
-              for (let t = 0, e = i; t !== e; ++t) {
-                const e = n[t],
-                  i = e[s],
-                  r = e[l]
-                ;(e[l] = i), (e[s] = r)
-              }
-            }
-          }
-          this.nCachedObjects_ = r
-        }
-        uncache() {
-          const t = this._objects,
-            e = this._indicesByUUID,
-            n = this._bindings,
-            i = n.length
-          let r = this.nCachedObjects_,
-            s = t.length
-          for (let a = 0, o = arguments.length; a !== o; ++a) {
-            const o = arguments[a].uuid,
-              l = e[o]
-            if (void 0 !== l)
-              if ((delete e[o], l < r)) {
-                const a = --r,
-                  o = t[a],
-                  c = --s,
-                  h = t[c]
-                ;(e[o.uuid] = l), (t[l] = o), (e[h.uuid] = a), (t[a] = h), t.pop()
-                for (let t = 0, e = i; t !== e; ++t) {
-                  const e = n[t],
-                    i = e[a],
-                    r = e[c]
-                  ;(e[l] = i), (e[a] = r), e.pop()
-                }
-              } else {
-                const r = --s,
-                  a = t[r]
-                r > 0 && (e[a.uuid] = l), (t[l] = a), t.pop()
-                for (let t = 0, e = i; t !== e; ++t) {
-                  const e = n[t]
-                  ;(e[l] = e[r]), e.pop()
-                }
-              }
-          }
-          this.nCachedObjects_ = r
-        }
-        subscribe_(t, e) {
-          const n = this._bindingsIndicesByPath
-          let i = n[t]
-          const r = this._bindings
-          if (void 0 !== i) return r[i]
-          const s = this._paths,
-            a = this._parsedPaths,
-            o = this._objects,
-            l = o.length,
-            c = this.nCachedObjects_,
-            h = new Array(l)
-          ;(i = r.length), (n[t] = i), s.push(t), a.push(e), r.push(h)
-          for (let u = c, d = o.length; u !== d; ++u) {
-            const n = o[u]
-            h[u] = new Ml(n, t, e)
-          }
-          return h
-        }
-        unsubscribe_(t) {
-          const e = this._bindingsIndicesByPath,
-            n = e[t]
-          if (void 0 !== n) {
-            const i = this._paths,
-              r = this._parsedPaths,
-              s = this._bindings,
-              a = s.length - 1,
-              o = s[a]
-            ;(e[t[a]] = n), (s[n] = o), s.pop(), (r[n] = r[a]), r.pop(), (i[n] = i[a]), i.pop()
-          }
-        }
-      }.prototype.isAnimationObjectGroup = !0)
-      class wl {
-        constructor(t, e, n = null, i = e.blendMode) {
-          ;(this._mixer = t), (this._clip = e), (this._localRoot = n), (this.blendMode = i)
-          const r = e.tracks,
-            s = r.length,
-            a = new Array(s),
-            o = { endingStart: D, endingEnd: D }
-          for (let l = 0; l !== s; ++l) {
-            const t = r[l].createInterpolant(null)
-            ;(a[l] = t), (t.settings = o)
-          }
-          ;(this._interpolantSettings = o),
-            (this._interpolants = a),
-            (this._propertyBindings = new Array(s)),
-            (this._cacheIndex = null),
-            (this._byClipCacheIndex = null),
-            (this._timeScaleInterpolant = null),
-            (this._weightInterpolant = null),
-            (this.loop = 2201),
-            (this._loopCount = -1),
-            (this._startTime = null),
-            (this.time = 0),
-            (this.timeScale = 1),
-            (this._effectiveTimeScale = 1),
-            (this.weight = 1),
-            (this._effectiveWeight = 1),
-            (this.repetitions = 1 / 0),
-            (this.paused = !1),
-            (this.enabled = !0),
-            (this.clampWhenFinished = !1),
-            (this.zeroSlopeAtStart = !0),
-            (this.zeroSlopeAtEnd = !0)
-        }
-        play() {
-          return this._mixer._activateAction(this), this
-        }
-        stop() {
-          return this._mixer._deactivateAction(this), this.reset()
-        }
-        reset() {
-          return (
-            (this.paused = !1),
-            (this.enabled = !0),
-            (this.time = 0),
-            (this._loopCount = -1),
-            (this._startTime = null),
-            this.stopFading().stopWarping()
-          )
-        }
-        isRunning() {
-          return (
-            this.enabled &&
-            !this.paused &&
-            0 !== this.timeScale &&
-            null === this._startTime &&
-            this._mixer._isActiveAction(this)
-          )
-        }
-        isScheduled() {
-          return this._mixer._isActiveAction(this)
-        }
-        startAt(t) {
-          return (this._startTime = t), this
-        }
-        setLoop(t, e) {
-          return (this.loop = t), (this.repetitions = e), this
-        }
-        setEffectiveWeight(t) {
-          return (
-            (this.weight = t), (this._effectiveWeight = this.enabled ? t : 0), this.stopFading()
-          )
-        }
-        getEffectiveWeight() {
-          return this._effectiveWeight
-        }
-        fadeIn(t) {
-          return this._scheduleFading(t, 0, 1)
-        }
-        fadeOut(t) {
-          return this._scheduleFading(t, 1, 0)
-        }
-        crossFadeFrom(t, e, n) {
-          if ((t.fadeOut(e), this.fadeIn(e), n)) {
-            const n = this._clip.duration,
-              i = t._clip.duration,
-              r = i / n,
-              s = n / i
-            t.warp(1, r, e), this.warp(s, 1, e)
-          }
-          return this
-        }
-        crossFadeTo(t, e, n) {
-          return t.crossFadeFrom(this, e, n)
-        }
-        stopFading() {
-          const t = this._weightInterpolant
-          return (
-            null !== t &&
-              ((this._weightInterpolant = null), this._mixer._takeBackControlInterpolant(t)),
-            this
-          )
-        }
-        setEffectiveTimeScale(t) {
-          return (
-            (this.timeScale = t),
-            (this._effectiveTimeScale = this.paused ? 0 : t),
-            this.stopWarping()
-          )
-        }
-        getEffectiveTimeScale() {
-          return this._effectiveTimeScale
-        }
-        setDuration(t) {
-          return (this.timeScale = this._clip.duration / t), this.stopWarping()
-        }
-        syncWith(t) {
-          return (this.time = t.time), (this.timeScale = t.timeScale), this.stopWarping()
-        }
-        halt(t) {
-          return this.warp(this._effectiveTimeScale, 0, t)
-        }
-        warp(t, e, n) {
-          const i = this._mixer,
-            r = i.time,
-            s = this.timeScale
-          let a = this._timeScaleInterpolant
-          null === a && ((a = i._lendControlInterpolant()), (this._timeScaleInterpolant = a))
-          const o = a.parameterPositions,
-            l = a.sampleValues
-          return (o[0] = r), (o[1] = r + n), (l[0] = t / s), (l[1] = e / s), this
-        }
-        stopWarping() {
-          const t = this._timeScaleInterpolant
-          return (
-            null !== t &&
-              ((this._timeScaleInterpolant = null), this._mixer._takeBackControlInterpolant(t)),
-            this
-          )
-        }
-        getMixer() {
-          return this._mixer
-        }
-        getClip() {
-          return this._clip
-        }
-        getRoot() {
-          return this._localRoot || this._mixer._root
-        }
-        _update(t, e, n, i) {
-          if (!this.enabled) return void this._updateWeight(t)
-          const r = this._startTime
-          if (null !== r) {
-            const i = (t - r) * n
-            if (i < 0 || 0 === n) return
-            ;(this._startTime = null), (e = n * i)
-          }
-          e *= this._updateTimeScale(t)
-          const s = this._updateTime(e),
-            a = this._updateWeight(t)
-          if (a > 0) {
-            const t = this._interpolants,
-              e = this._propertyBindings
-            switch (this.blendMode) {
-              case 2501:
-                for (let n = 0, i = t.length; n !== i; ++n)
-                  t[n].evaluate(s), e[n].accumulateAdditive(a)
-                break
-              case z:
-              default:
-                for (let n = 0, r = t.length; n !== r; ++n) t[n].evaluate(s), e[n].accumulate(i, a)
-            }
-          }
-        }
-        _updateWeight(t) {
-          let e = 0
-          if (this.enabled) {
-            e = this.weight
-            const n = this._weightInterpolant
-            if (null !== n) {
-              const i = n.evaluate(t)[0]
-              ;(e *= i),
-                t > n.parameterPositions[1] && (this.stopFading(), 0 === i && (this.enabled = !1))
-            }
-          }
-          return (this._effectiveWeight = e), e
-        }
-        _updateTimeScale(t) {
-          let e = 0
-          if (!this.paused) {
-            e = this.timeScale
-            const n = this._timeScaleInterpolant
-            if (null !== n) {
-              ;(e *= n.evaluate(t)[0]),
-                t > n.parameterPositions[1] &&
-                  (this.stopWarping(), 0 === e ? (this.paused = !0) : (this.timeScale = e))
-            }
-          }
-          return (this._effectiveTimeScale = e), e
-        }
-        _updateTime(t) {
-          const e = this._clip.duration,
-            n = this.loop
-          let i = this.time + t,
-            r = this._loopCount
-          const s = 2202 === n
-          if (0 === t) return -1 === r ? i : s && 1 === (1 & r) ? e - i : i
-          if (2200 === n) {
-            ;-1 === r && ((this._loopCount = 0), this._setEndings(!0, !0, !1))
-            t: {
-              if (i >= e) i = e
-              else {
-                if (!(i < 0)) {
-                  this.time = i
-                  break t
-                }
-                i = 0
-              }
-              this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1),
-                (this.time = i),
-                this._mixer.dispatchEvent({
-                  type: 'finished',
-                  action: this,
-                  direction: t < 0 ? -1 : 1,
-                })
-            }
-          } else {
-            if (
-              (-1 === r &&
-                (t >= 0
-                  ? ((r = 0), this._setEndings(!0, 0 === this.repetitions, s))
-                  : this._setEndings(0 === this.repetitions, !0, s)),
-              i >= e || i < 0)
-            ) {
-              const n = Math.floor(i / e)
-              ;(i -= e * n), (r += Math.abs(n))
-              const a = this.repetitions - r
-              if (a <= 0)
-                this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1),
-                  (i = t > 0 ? e : 0),
-                  (this.time = i),
-                  this._mixer.dispatchEvent({
-                    type: 'finished',
-                    action: this,
-                    direction: t > 0 ? 1 : -1,
-                  })
-              else {
-                if (1 === a) {
-                  const e = t < 0
-                  this._setEndings(e, !e, s)
-                } else this._setEndings(!1, !1, s)
-                ;(this._loopCount = r),
-                  (this.time = i),
-                  this._mixer.dispatchEvent({ type: 'loop', action: this, loopDelta: n })
-              }
-            } else this.time = i
-            if (s && 1 === (1 & r)) return e - i
-          }
-          return i
-        }
-        _setEndings(t, e, n) {
-          const i = this._interpolantSettings
-          n
-            ? ((i.endingStart = I), (i.endingEnd = I))
-            : ((i.endingStart = t ? (this.zeroSlopeAtStart ? I : D) : N),
-              (i.endingEnd = e ? (this.zeroSlopeAtEnd ? I : D) : N))
-        }
-        _scheduleFading(t, e, n) {
-          const i = this._mixer,
-            r = i.time
-          let s = this._weightInterpolant
-          null === s && ((s = i._lendControlInterpolant()), (this._weightInterpolant = s))
-          const a = s.parameterPositions,
-            o = s.sampleValues
-          return (a[0] = r), (o[0] = e), (a[1] = r + t), (o[1] = n), this
-        }
-      }
-      ;(class extends W {
-        constructor(t) {
-          super(),
-            (this._root = t),
-            this._initMemoryManager(),
-            (this._accuIndex = 0),
-            (this.time = 0),
-            (this.timeScale = 1)
-        }
-        _bindAction(t, e) {
-          const n = t._localRoot || this._root,
-            i = t._clip.tracks,
-            r = i.length,
-            s = t._propertyBindings,
-            a = t._interpolants,
-            o = n.uuid,
-            l = this._bindingsByRootAndName
-          let c = l[o]
-          void 0 === c && ((c = {}), (l[o] = c))
-          for (let h = 0; h !== r; ++h) {
-            const t = i[h],
-              r = t.name
-            let l = c[r]
-            if (void 0 !== l) s[h] = l
-            else {
-              if (((l = s[h]), void 0 !== l)) {
-                null === l._cacheIndex && (++l.referenceCount, this._addInactiveBinding(l, o, r))
-                continue
-              }
-              const i = e && e._propertyBindings[h].binding.parsedPath
-              ;(l = new ul(Ml.create(n, r, i), t.ValueTypeName, t.getValueSize())),
-                ++l.referenceCount,
-                this._addInactiveBinding(l, o, r),
-                (s[h] = l)
-            }
-            a[h].resultBuffer = l.buffer
-          }
-        }
-        _activateAction(t) {
-          if (!this._isActiveAction(t)) {
-            if (null === t._cacheIndex) {
-              const e = (t._localRoot || this._root).uuid,
-                n = t._clip.uuid,
-                i = this._actionsByClip[n]
-              this._bindAction(t, i && i.knownActions[0]), this._addInactiveAction(t, n, e)
-            }
-            const e = t._propertyBindings
-            for (let t = 0, n = e.length; t !== n; ++t) {
-              const n = e[t]
-              0 === n.useCount++ && (this._lendBinding(n), n.saveOriginalState())
-            }
-            this._lendAction(t)
-          }
-        }
-        _deactivateAction(t) {
-          if (this._isActiveAction(t)) {
-            const e = t._propertyBindings
-            for (let t = 0, n = e.length; t !== n; ++t) {
-              const n = e[t]
-              0 === --n.useCount && (n.restoreOriginalState(), this._takeBackBinding(n))
-            }
-            this._takeBackAction(t)
-          }
-        }
-        _initMemoryManager() {
-          ;(this._actions = []),
-            (this._nActiveActions = 0),
-            (this._actionsByClip = {}),
-            (this._bindings = []),
-            (this._nActiveBindings = 0),
-            (this._bindingsByRootAndName = {}),
-            (this._controlInterpolants = []),
-            (this._nActiveControlInterpolants = 0)
-          const t = this
-          this.stats = {
-            actions: {
-              get total() {
-                return t._actions.length
-              },
-              get inUse() {
-                return t._nActiveActions
-              },
-            },
-            bindings: {
-              get total() {
-                return t._bindings.length
-              },
-              get inUse() {
-                return t._nActiveBindings
-              },
-            },
-            controlInterpolants: {
-              get total() {
-                return t._controlInterpolants.length
-              },
-              get inUse() {
-                return t._nActiveControlInterpolants
-              },
-            },
-          }
-        }
-        _isActiveAction(t) {
-          const e = t._cacheIndex
-          return null !== e && e < this._nActiveActions
-        }
-        _addInactiveAction(t, e, n) {
-          const i = this._actions,
-            r = this._actionsByClip
-          let s = r[e]
-          if (void 0 === s)
-            (s = { knownActions: [t], actionByRoot: {} }), (t._byClipCacheIndex = 0), (r[e] = s)
-          else {
-            const e = s.knownActions
-            ;(t._byClipCacheIndex = e.length), e.push(t)
-          }
-          ;(t._cacheIndex = i.length), i.push(t), (s.actionByRoot[n] = t)
-        }
-        _removeInactiveAction(t) {
-          const e = this._actions,
-            n = e[e.length - 1],
-            i = t._cacheIndex
-          ;(n._cacheIndex = i), (e[i] = n), e.pop(), (t._cacheIndex = null)
-          const r = t._clip.uuid,
-            s = this._actionsByClip,
-            a = s[r],
-            o = a.knownActions,
-            l = o[o.length - 1],
-            c = t._byClipCacheIndex
-          ;(l._byClipCacheIndex = c), (o[c] = l), o.pop(), (t._byClipCacheIndex = null)
-          delete a.actionByRoot[(t._localRoot || this._root).uuid],
-            0 === o.length && delete s[r],
-            this._removeInactiveBindingsForAction(t)
-        }
-        _removeInactiveBindingsForAction(t) {
-          const e = t._propertyBindings
-          for (let n = 0, i = e.length; n !== i; ++n) {
-            const t = e[n]
-            0 === --t.referenceCount && this._removeInactiveBinding(t)
-          }
-        }
-        _lendAction(t) {
-          const e = this._actions,
-            n = t._cacheIndex,
-            i = this._nActiveActions++,
-            r = e[i]
-          ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r)
-        }
-        _takeBackAction(t) {
-          const e = this._actions,
-            n = t._cacheIndex,
-            i = --this._nActiveActions,
-            r = e[i]
-          ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r)
-        }
-        _addInactiveBinding(t, e, n) {
-          const i = this._bindingsByRootAndName,
-            r = this._bindings
-          let s = i[e]
-          void 0 === s && ((s = {}), (i[e] = s)), (s[n] = t), (t._cacheIndex = r.length), r.push(t)
-        }
-        _removeInactiveBinding(t) {
-          const e = this._bindings,
-            n = t.binding,
-            i = n.rootNode.uuid,
-            r = n.path,
-            s = this._bindingsByRootAndName,
-            a = s[i],
-            o = e[e.length - 1],
-            l = t._cacheIndex
-          ;(o._cacheIndex = l),
-            (e[l] = o),
-            e.pop(),
-            delete a[r],
-            0 === Object.keys(a).length && delete s[i]
-        }
-        _lendBinding(t) {
-          const e = this._bindings,
-            n = t._cacheIndex,
-            i = this._nActiveBindings++,
-            r = e[i]
-          ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r)
-        }
-        _takeBackBinding(t) {
-          const e = this._bindings,
-            n = t._cacheIndex,
-            i = --this._nActiveBindings,
-            r = e[i]
-          ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r)
-        }
-        _lendControlInterpolant() {
-          const t = this._controlInterpolants,
-            e = this._nActiveControlInterpolants++
-          let n = t[e]
-          return (
-            void 0 === n &&
-              ((n = new lo(
-                new Float32Array(2),
-                new Float32Array(2),
-                1,
-                this._controlInterpolantsResultBuffer,
-              )),
-              (n.__cacheIndex = e),
-              (t[e] = n)),
-            n
-          )
-        }
-        _takeBackControlInterpolant(t) {
-          const e = this._controlInterpolants,
-            n = t.__cacheIndex,
-            i = --this._nActiveControlInterpolants,
-            r = e[i]
-          ;(t.__cacheIndex = i), (e[i] = t), (r.__cacheIndex = n), (e[n] = r)
-        }
-        clipAction(t, e, n) {
-          const i = e || this._root,
-            r = i.uuid
-          let s = 'string' === typeof t ? xo.findByName(i, t) : t
-          const a = null !== s ? s.uuid : t,
-            o = this._actionsByClip[a]
-          let l = null
-          if ((void 0 === n && (n = null !== s ? s.blendMode : z), void 0 !== o)) {
-            const t = o.actionByRoot[r]
-            if (void 0 !== t && t.blendMode === n) return t
-            ;(l = o.knownActions[0]), null === s && (s = l._clip)
-          }
-          if (null === s) return null
-          const c = new wl(this, s, e, n)
-          return this._bindAction(c, l), this._addInactiveAction(c, a, r), c
-        }
-        existingAction(t, e) {
-          const n = e || this._root,
-            i = n.uuid,
-            r = 'string' === typeof t ? xo.findByName(n, t) : t,
-            s = r ? r.uuid : t,
-            a = this._actionsByClip[s]
-          return (void 0 !== a && a.actionByRoot[i]) || null
-        }
-        stopAllAction() {
-          const t = this._actions
-          for (let e = this._nActiveActions - 1; e >= 0; --e) t[e].stop()
-          return this
-        }
-        update(t) {
-          t *= this.timeScale
-          const e = this._actions,
-            n = this._nActiveActions,
-            i = (this.time += t),
-            r = Math.sign(t),
-            s = (this._accuIndex ^= 1)
-          for (let l = 0; l !== n; ++l) {
-            e[l]._update(i, t, r, s)
-          }
-          const a = this._bindings,
-            o = this._nActiveBindings
-          for (let l = 0; l !== o; ++l) a[l].apply(s)
-          return this
-        }
-        setTime(t) {
-          this.time = 0
-          for (let e = 0; e < this._actions.length; e++) this._actions[e].time = 0
-          return this.update(t)
-        }
-        getRoot() {
-          return this._root
-        }
-        uncacheClip(t) {
-          const e = this._actions,
-            n = t.uuid,
-            i = this._actionsByClip,
-            r = i[n]
-          if (void 0 !== r) {
-            const t = r.knownActions
-            for (let n = 0, i = t.length; n !== i; ++n) {
-              const i = t[n]
-              this._deactivateAction(i)
-              const r = i._cacheIndex,
-                s = e[e.length - 1]
-              ;(i._cacheIndex = null),
-                (i._byClipCacheIndex = null),
-                (s._cacheIndex = r),
-                (e[r] = s),
-                e.pop(),
-                this._removeInactiveBindingsForAction(i)
-            }
-            delete i[n]
-          }
-        }
-        uncacheRoot(t) {
-          const e = t.uuid,
-            n = this._actionsByClip
-          for (const r in n) {
-            const t = n[r].actionByRoot[e]
-            void 0 !== t && (this._deactivateAction(t), this._removeInactiveAction(t))
-          }
-          const i = this._bindingsByRootAndName[e]
-          if (void 0 !== i)
-            for (const r in i) {
-              const t = i[r]
-              t.restoreOriginalState(), this._removeInactiveBinding(t)
-            }
-        }
-        uncacheAction(t, e) {
-          const n = this.existingAction(t, e)
-          null !== n && (this._deactivateAction(n), this._removeInactiveAction(n))
-        }
-      }.prototype._controlInterpolantsResultBuffer = new Float32Array(1))
-      class Sl {
-        constructor(t) {
-          'string' === typeof t &&
-            (console.warn('THREE.Uniform: Type parameter is no longer needed.'),
-            (t = arguments[1])),
-            (this.value = t)
-        }
-        clone() {
-          return new Sl(void 0 === this.value.clone ? this.value : this.value.clone())
-        }
-      }
-      ;(class extends Kr {
-        constructor(t, e, n = 1) {
-          super(t, e), (this.meshPerAttribute = n)
-        }
-        copy(t) {
-          return super.copy(t), (this.meshPerAttribute = t.meshPerAttribute), this
-        }
-        clone(t) {
-          const e = super.clone(t)
-          return (e.meshPerAttribute = this.meshPerAttribute), e
-        }
-        toJSON(t) {
-          const e = super.toJSON(t)
-          return (
-            (e.isInstancedInterleavedBuffer = !0), (e.meshPerAttribute = this.meshPerAttribute), e
-          )
-        }
-      }.prototype.isInstancedInterleavedBuffer = !0)
-      ;(class {
-        constructor(t, e, n, i, r) {
-          ;(this.buffer = t),
-            (this.type = e),
-            (this.itemSize = n),
-            (this.elementSize = i),
-            (this.count = r),
-            (this.version = 0)
-        }
-        set needsUpdate(t) {
-          !0 === t && this.version++
-        }
-        setBuffer(t) {
-          return (this.buffer = t), this
-        }
-        setType(t, e) {
-          return (this.type = t), (this.elementSize = e), this
-        }
-        setItemSize(t) {
-          return (this.itemSize = t), this
-        }
-        setCount(t) {
-          return (this.count = t), this
-        }
-      }.prototype.isGLBufferAttribute = !0)
-      class Tl {
-        constructor(t, e, n = 0, i = 1 / 0) {
-          ;(this.ray = new Gt(t, e)),
-            (this.near = n),
-            (this.far = i),
-            (this.camera = null),
-            (this.layers = new $t()),
-            (this.params = {
-              Mesh: {},
-              Line: { threshold: 1 },
-              LOD: {},
-              Points: { threshold: 1 },
-              Sprite: {},
-            })
-        }
-        set(t, e) {
-          this.ray.set(t, e)
-        }
-        setFromCamera(t, e) {
-          e && e.isPerspectiveCamera
-            ? (this.ray.origin.setFromMatrixPosition(e.matrixWorld),
-              this.ray.direction.set(t.x, t.y, 0.5).unproject(e).sub(this.ray.origin).normalize(),
-              (this.camera = e))
-            : e && e.isOrthographicCamera
-            ? (this.ray.origin.set(t.x, t.y, (e.near + e.far) / (e.near - e.far)).unproject(e),
-              this.ray.direction.set(0, 0, -1).transformDirection(e.matrixWorld),
-              (this.camera = e))
-            : console.error('THREE.Raycaster: Unsupported camera type: ' + e.type)
-        }
-        intersectObject(t, e = !1, n = []) {
-          return Ll(t, this, n, e), n.sort(El), n
-        }
-        intersectObjects(t, e = !1, n = []) {
-          for (let i = 0, r = t.length; i < r; i++) Ll(t[i], this, n, e)
-          return n.sort(El), n
-        }
-      }
-      function El(t, e) {
-        return t.distance - e.distance
-      }
-      function Ll(t, e, n, i) {
-        if ((t.layers.test(e.layers) && t.raycast(e, n), !0 === i)) {
-          const i = t.children
-          for (let t = 0, r = i.length; t < r; t++) Ll(i[t], e, n, !0)
-        }
-      }
-      class Al {
-        constructor(t = 1, e = 0, n = 0) {
-          return (this.radius = t), (this.phi = e), (this.theta = n), this
-        }
-        set(t, e, n) {
-          return (this.radius = t), (this.phi = e), (this.theta = n), this
-        }
-        copy(t) {
-          return (this.radius = t.radius), (this.phi = t.phi), (this.theta = t.theta), this
-        }
-        makeSafe() {
-          const t = 1e-6
-          return (this.phi = Math.max(t, Math.min(Math.PI - t, this.phi))), this
-        }
-        setFromVector3(t) {
-          return this.setFromCartesianCoords(t.x, t.y, t.z)
-        }
-        setFromCartesianCoords(t, e, n) {
-          return (
-            (this.radius = Math.sqrt(t * t + e * e + n * n)),
-            0 === this.radius
-              ? ((this.theta = 0), (this.phi = 0))
-              : ((this.theta = Math.atan2(t, n)),
-                (this.phi = Math.acos(J(e / this.radius, -1, 1)))),
-            this
-          )
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-      }
-      const Rl = new tt()
-      class Cl {
-        constructor(t = new tt(1 / 0, 1 / 0), e = new tt(-1 / 0, -1 / 0)) {
-          ;(this.min = t), (this.max = e)
-        }
-        set(t, e) {
-          return this.min.copy(t), this.max.copy(e), this
-        }
-        setFromPoints(t) {
-          this.makeEmpty()
-          for (let e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e])
-          return this
-        }
-        setFromCenterAndSize(t, e) {
-          const n = Rl.copy(e).multiplyScalar(0.5)
-          return this.min.copy(t).sub(n), this.max.copy(t).add(n), this
-        }
-        clone() {
-          return new this.constructor().copy(this)
-        }
-        copy(t) {
-          return this.min.copy(t.min), this.max.copy(t.max), this
-        }
-        makeEmpty() {
-          return (this.min.x = this.min.y = 1 / 0), (this.max.x = this.max.y = -1 / 0), this
-        }
-        isEmpty() {
-          return this.max.x < this.min.x || this.max.y < this.min.y
-        }
-        getCenter(t) {
-          return this.isEmpty() ? t.set(0, 0) : t.addVectors(this.min, this.max).multiplyScalar(0.5)
-        }
-        getSize(t) {
-          return this.isEmpty() ? t.set(0, 0) : t.subVectors(this.max, this.min)
-        }
-        expandByPoint(t) {
-          return this.min.min(t), this.max.max(t), this
-        }
-        expandByVector(t) {
-          return this.min.sub(t), this.max.add(t), this
-        }
-        expandByScalar(t) {
-          return this.min.addScalar(-t), this.max.addScalar(t), this
-        }
-        containsPoint(t) {
-          return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y)
-        }
-        containsBox(t) {
-          return (
-            this.min.x <= t.min.x &&
-            t.max.x <= this.max.x &&
-            this.min.y <= t.min.y &&
-            t.max.y <= this.max.y
-          )
-        }
-        getParameter(t, e) {
-          return e.set(
-            (t.x - this.min.x) / (this.max.x - this.min.x),
-            (t.y - this.min.y) / (this.max.y - this.min.y),
-          )
-        }
-        intersectsBox(t) {
-          return !(
-            t.max.x < this.min.x ||
-            t.min.x > this.max.x ||
-            t.max.y < this.min.y ||
-            t.min.y > this.max.y
-          )
-        }
-        clampPoint(t, e) {
-          return e.copy(t).clamp(this.min, this.max)
-        }
-        distanceToPoint(t) {
-          return Rl.copy(t).clamp(this.min, this.max).sub(t).length()
-        }
-        intersect(t) {
-          return this.min.max(t.min), this.max.min(t.max), this
-        }
-        union(t) {
-          return this.min.min(t.min), this.max.max(t.max), this
-        }
-        translate(t) {
-          return this.min.add(t), this.max.add(t), this
-        }
-        equals(t) {
-          return t.min.equals(this.min) && t.max.equals(this.max)
-        }
-      }
-      Cl.prototype.isBox2 = !0
-      const Pl = new ut(),
-        Dl = new ut()
-      ;(class extends pe {
-        constructor(t) {
-          super(),
-            (this.material = t),
-            (this.render = function () {}),
-            (this.hasPositions = !1),
-            (this.hasNormals = !1),
-            (this.hasColors = !1),
-            (this.hasUvs = !1),
-            (this.positionArray = null),
-            (this.normalArray = null),
-            (this.colorArray = null),
-            (this.uvArray = null),
-            (this.count = 0)
-        }
-      }.prototype.isImmediateRenderObject = !0)
-      const Il = new ut(),
-        Nl = new Vt(),
-        zl = new Vt()
-      function Ol(t) {
-        const e = []
-        t && t.isBone && e.push(t)
-        for (let n = 0; n < t.children.length; n++) e.push.apply(e, Ol(t.children[n]))
-        return e
-      }
-      const Bl = new Float32Array(1)
-      new Int32Array(Bl.buffer)
-      Math.pow(2, 8)
-      const Fl = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582],
-        Ul = 5 + Fl.length,
-        Hl = new Ne({ side: s, depthWrite: !1, depthTest: !1 }),
-        { _lodPlanes: Gl, _sizeLods: Vl, _sigmas: kl } = (new mn(new gn(), Hl), Wl())
-      Math.sqrt(5)
-      function Wl() {
-        const t = [],
-          e = [],
-          n = []
-        let i = 8
-        for (let r = 0; r < Ul; r++) {
-          const s = Math.pow(2, i)
-          e.push(s)
-          let a = 1 / s
-          r > 4 ? (a = Fl[r - 8 + 4 - 1]) : 0 == r && (a = 0), n.push(a)
-          const o = 1 / (s - 1),
-            l = -o / 2,
-            c = 1 + o / 2,
-            h = [l, l, c, l, c, c, l, l, c, c, l, c],
-            u = 6,
-            d = 6,
-            p = 3,
-            m = 2,
-            f = 1,
-            g = new Float32Array(p * d * u),
-            v = new Float32Array(m * d * u),
-            y = new Float32Array(f * d * u)
-          for (let t = 0; t < u; t++) {
-            const e = ((t % 3) * 2) / 3 - 1,
-              n = t > 2 ? 0 : -1,
-              i = [
-                e,
-                n,
-                0,
-                e + 2 / 3,
-                n,
-                0,
-                e + 2 / 3,
-                n + 1,
-                0,
-                e,
-                n,
-                0,
-                e + 2 / 3,
-                n + 1,
-                0,
-                e,
-                n + 1,
-                0,
-              ]
-            g.set(i, p * d * t), v.set(h, m * d * t)
-            const r = [t, t, t, t, t, t]
-            y.set(r, f * d * t)
-          }
-          const x = new Je()
-          x.setAttribute('position', new Be(g, p)),
-            x.setAttribute('uv', new Be(v, m)),
-            x.setAttribute('faceIndex', new Be(y, f)),
-            t.push(x),
-            i > 4 && i--
-        }
-        return { _lodPlanes: t, _sizeLods: e, _sigmas: n }
-      }
-      ;(Qs.create = function (t, e) {
-        return (
-          console.log('THREE.Curve.create() has been deprecated'),
-          (t.prototype = Object.create(Qs.prototype)),
-          (t.prototype.constructor = t),
-          (t.prototype.getPoint = e),
-          t
-        )
-      }),
-        (Po.prototype.fromPoints = function (t) {
-          return (
-            console.warn('THREE.Path: .fromPoints() has been renamed to .setFromPoints().'),
-            this.setFromPoints(t)
-          )
-        }),
-        (class extends Us {
-          constructor(t = 10, e = 10, n = 4473924, i = 8947848) {
-            ;(n = new Ie(n)), (i = new Ie(i))
-            const r = e / 2,
-              s = t / e,
-              a = t / 2,
-              o = [],
-              l = []
-            for (let h = 0, u = 0, d = -a; h <= e; h++, d += s) {
-              o.push(-a, 0, d, a, 0, d), o.push(d, 0, -a, d, 0, a)
-              const t = h === r ? n : i
-              t.toArray(l, u),
-                (u += 3),
-                t.toArray(l, u),
-                (u += 3),
-                t.toArray(l, u),
-                (u += 3),
-                t.toArray(l, u),
-                (u += 3)
-            }
-            const c = new Je()
-            c.setAttribute('position', new He(o, 3)), c.setAttribute('color', new He(l, 3))
-            super(c, new Cs({ vertexColors: !0, toneMapped: !1 })), (this.type = 'GridHelper')
-          }
-        }.prototype.setColors = function () {
-          console.error(
-            'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.',
-          )
-        }),
-        (class extends Us {
-          constructor(t) {
-            const e = Ol(t),
-              n = new Je(),
-              i = [],
-              r = [],
-              s = new Ie(0, 0, 1),
-              a = new Ie(0, 1, 0)
-            for (let o = 0; o < e.length; o++) {
-              const t = e[o]
-              t.parent &&
-                t.parent.isBone &&
-                (i.push(0, 0, 0), i.push(0, 0, 0), r.push(s.r, s.g, s.b), r.push(a.r, a.g, a.b))
-            }
-            n.setAttribute('position', new He(i, 3)), n.setAttribute('color', new He(r, 3))
-            super(
-              n,
-              new Cs({
-                vertexColors: !0,
-                depthTest: !1,
-                depthWrite: !1,
-                toneMapped: !1,
-                transparent: !0,
-              }),
-            ),
-              (this.type = 'SkeletonHelper'),
-              (this.isSkeletonHelper = !0),
-              (this.root = t),
-              (this.bones = e),
-              (this.matrix = t.matrixWorld),
-              (this.matrixAutoUpdate = !1)
-          }
-          updateMatrixWorld(t) {
-            const e = this.bones,
-              n = this.geometry,
-              i = n.getAttribute('position')
-            zl.copy(this.root.matrixWorld).invert()
-            for (let r = 0, s = 0; r < e.length; r++) {
-              const t = e[r]
-              t.parent &&
-                t.parent.isBone &&
-                (Nl.multiplyMatrices(zl, t.matrixWorld),
-                Il.setFromMatrixPosition(Nl),
-                i.setXYZ(s, Il.x, Il.y, Il.z),
-                Nl.multiplyMatrices(zl, t.parent.matrixWorld),
-                Il.setFromMatrixPosition(Nl),
-                i.setXYZ(s + 1, Il.x, Il.y, Il.z),
-                (s += 2))
-            }
-            ;(n.getAttribute('position').needsUpdate = !0), super.updateMatrixWorld(t)
-          }
-        }.prototype.update = function () {
-          console.error('THREE.SkeletonHelper: update() no longer needs to be called.')
-        }),
-        (So.prototype.extractUrlBase = function (t) {
-          return (
-            console.warn(
-              'THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.',
-            ),
-            $o.extractUrlBase(t)
-          )
-        }),
-        (So.Handlers = {
-          add: function () {
-            console.error(
-              'THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.',
-            )
-          },
-          get: function () {
-            console.error(
-              'THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.',
-            )
-          },
-        }),
-        (Cl.prototype.center = function (t) {
-          return (
-            console.warn('THREE.Box2: .center() has been renamed to .getCenter().'),
-            this.getCenter(t)
-          )
-        }),
-        (Cl.prototype.empty = function () {
-          return (
-            console.warn('THREE.Box2: .empty() has been renamed to .isEmpty().'), this.isEmpty()
-          )
-        }),
-        (Cl.prototype.isIntersectionBox = function (t) {
-          return (
-            console.warn('THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().'),
-            this.intersectsBox(t)
-          )
-        }),
-        (Cl.prototype.size = function (t) {
-          return (
-            console.warn('THREE.Box2: .size() has been renamed to .getSize().'), this.getSize(t)
-          )
-        }),
-        (mt.prototype.center = function (t) {
-          return (
-            console.warn('THREE.Box3: .center() has been renamed to .getCenter().'),
-            this.getCenter(t)
-          )
-        }),
-        (mt.prototype.empty = function () {
-          return (
-            console.warn('THREE.Box3: .empty() has been renamed to .isEmpty().'), this.isEmpty()
-          )
-        }),
-        (mt.prototype.isIntersectionBox = function (t) {
-          return (
-            console.warn('THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().'),
-            this.intersectsBox(t)
-          )
-        }),
-        (mt.prototype.isIntersectionSphere = function (t) {
-          return (
-            console.warn(
-              'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().',
-            ),
-            this.intersectsSphere(t)
-          )
-        }),
-        (mt.prototype.size = function (t) {
-          return (
-            console.warn('THREE.Box3: .size() has been renamed to .getSize().'), this.getSize(t)
-          )
-        }),
-        (It.prototype.empty = function () {
-          return (
-            console.warn('THREE.Sphere: .empty() has been renamed to .isEmpty().'), this.isEmpty()
-          )
-        }),
-        (In.prototype.setFromMatrix = function (t) {
-          return (
-            console.warn(
-              'THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().',
-            ),
-            this.setFromProjectionMatrix(t)
-          )
-        }),
-        (class {
-          constructor(t = new ut(), e = new ut()) {
-            ;(this.start = t), (this.end = e)
-          }
-          set(t, e) {
-            return this.start.copy(t), this.end.copy(e), this
-          }
-          copy(t) {
-            return this.start.copy(t.start), this.end.copy(t.end), this
-          }
-          getCenter(t) {
-            return t.addVectors(this.start, this.end).multiplyScalar(0.5)
-          }
-          delta(t) {
-            return t.subVectors(this.end, this.start)
-          }
-          distanceSq() {
-            return this.start.distanceToSquared(this.end)
-          }
-          distance() {
-            return this.start.distanceTo(this.end)
-          }
-          at(t, e) {
-            return this.delta(e).multiplyScalar(t).add(this.start)
-          }
-          closestPointToPointParameter(t, e) {
-            Pl.subVectors(t, this.start), Dl.subVectors(this.end, this.start)
-            const n = Dl.dot(Dl)
-            let i = Dl.dot(Pl) / n
-            return e && (i = J(i, 0, 1)), i
-          }
-          closestPointToPoint(t, e, n) {
-            const i = this.closestPointToPointParameter(t, e)
-            return this.delta(n).multiplyScalar(i).add(this.start)
-          }
-          applyMatrix4(t) {
-            return this.start.applyMatrix4(t), this.end.applyMatrix4(t), this
-          }
-          equals(t) {
-            return t.start.equals(this.start) && t.end.equals(this.end)
-          }
-          clone() {
-            return new this.constructor().copy(this)
-          }
-        }.prototype.center = function (t) {
-          return (
-            console.warn('THREE.Line3: .center() has been renamed to .getCenter().'),
-            this.getCenter(t)
-          )
-        }),
-        (et.prototype.flattenToArrayOffset = function (t, e) {
-          return (
-            console.warn(
-              'THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.',
-            ),
-            this.toArray(t, e)
-          )
-        }),
-        (et.prototype.multiplyVector3 = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.',
-            ),
-            t.applyMatrix3(this)
-          )
-        }),
-        (et.prototype.multiplyVector3Array = function () {
-          console.error('THREE.Matrix3: .multiplyVector3Array() has been removed.')
-        }),
-        (et.prototype.applyToBufferAttribute = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.',
-            ),
-            t.applyMatrix3(this)
-          )
-        }),
-        (et.prototype.applyToVector3Array = function () {
-          console.error('THREE.Matrix3: .applyToVector3Array() has been removed.')
-        }),
-        (et.prototype.getInverse = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.',
-            ),
-            this.copy(t).invert()
-          )
-        }),
-        (Vt.prototype.extractPosition = function (t) {
-          return (
-            console.warn('THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().'),
-            this.copyPosition(t)
-          )
-        }),
-        (Vt.prototype.flattenToArrayOffset = function (t, e) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.',
-            ),
-            this.toArray(t, e)
-          )
-        }),
-        (Vt.prototype.getPosition = function () {
-          return (
-            console.warn(
-              'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.',
-            ),
-            new ut().setFromMatrixColumn(this, 3)
-          )
-        }),
-        (Vt.prototype.setRotationFromQuaternion = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().',
-            ),
-            this.makeRotationFromQuaternion(t)
-          )
-        }),
-        (Vt.prototype.multiplyToArray = function () {
-          console.warn('THREE.Matrix4: .multiplyToArray() has been removed.')
-        }),
-        (Vt.prototype.multiplyVector3 = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-            ),
-            t.applyMatrix4(this)
-          )
-        }),
-        (Vt.prototype.multiplyVector4 = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-            ),
-            t.applyMatrix4(this)
-          )
-        }),
-        (Vt.prototype.multiplyVector3Array = function () {
-          console.error('THREE.Matrix4: .multiplyVector3Array() has been removed.')
-        }),
-        (Vt.prototype.rotateAxis = function (t) {
-          console.warn(
-            'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.',
-          ),
-            t.transformDirection(this)
-        }),
-        (Vt.prototype.crossVector = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.',
-            ),
-            t.applyMatrix4(this)
-          )
-        }),
-        (Vt.prototype.translate = function () {
-          console.error('THREE.Matrix4: .translate() has been removed.')
-        }),
-        (Vt.prototype.rotateX = function () {
-          console.error('THREE.Matrix4: .rotateX() has been removed.')
-        }),
-        (Vt.prototype.rotateY = function () {
-          console.error('THREE.Matrix4: .rotateY() has been removed.')
-        }),
-        (Vt.prototype.rotateZ = function () {
-          console.error('THREE.Matrix4: .rotateZ() has been removed.')
-        }),
-        (Vt.prototype.rotateByAxis = function () {
-          console.error('THREE.Matrix4: .rotateByAxis() has been removed.')
-        }),
-        (Vt.prototype.applyToBufferAttribute = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.',
-            ),
-            t.applyMatrix4(this)
-          )
-        }),
-        (Vt.prototype.applyToVector3Array = function () {
-          console.error('THREE.Matrix4: .applyToVector3Array() has been removed.')
-        }),
-        (Vt.prototype.makeFrustum = function (t, e, n, i, r, s) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.',
-            ),
-            this.makePerspective(t, e, i, n, r, s)
-          )
-        }),
-        (Vt.prototype.getInverse = function (t) {
-          return (
-            console.warn(
-              'THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.',
-            ),
-            this.copy(t).invert()
-          )
-        }),
-        (Cn.prototype.isIntersectionLine = function (t) {
-          return (
-            console.warn(
-              'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().',
-            ),
-            this.intersectsLine(t)
-          )
-        }),
-        (ht.prototype.multiplyVector3 = function (t) {
-          return (
-            console.warn(
-              'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.',
-            ),
-            t.applyQuaternion(this)
-          )
-        }),
-        (ht.prototype.inverse = function () {
-          return (
-            console.warn('THREE.Quaternion: .inverse() has been renamed to invert().'),
-            this.invert()
-          )
-        }),
-        (Gt.prototype.isIntersectionBox = function (t) {
-          return (
-            console.warn('THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().'),
-            this.intersectsBox(t)
-          )
-        }),
-        (Gt.prototype.isIntersectionPlane = function (t) {
-          return (
-            console.warn(
-              'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().',
-            ),
-            this.intersectsPlane(t)
-          )
-        }),
-        (Gt.prototype.isIntersectionSphere = function (t) {
-          return (
-            console.warn(
-              'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().',
-            ),
-            this.intersectsSphere(t)
-          )
-        }),
-        (Se.prototype.area = function () {
-          return (
-            console.warn('THREE.Triangle: .area() has been renamed to .getArea().'), this.getArea()
-          )
-        }),
-        (Se.prototype.barycoordFromPoint = function (t, e) {
-          return (
-            console.warn(
-              'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().',
-            ),
-            this.getBarycoord(t, e)
-          )
-        }),
-        (Se.prototype.midpoint = function (t) {
-          return (
-            console.warn('THREE.Triangle: .midpoint() has been renamed to .getMidpoint().'),
-            this.getMidpoint(t)
-          )
-        }),
-        (Se.prototypenormal = function (t) {
-          return (
-            console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'),
-            this.getNormal(t)
-          )
-        }),
-        (Se.prototype.plane = function (t) {
-          return (
-            console.warn('THREE.Triangle: .plane() has been renamed to .getPlane().'),
-            this.getPlane(t)
-          )
-        }),
-        (Se.barycoordFromPoint = function (t, e, n, i, r) {
-          return (
-            console.warn(
-              'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().',
-            ),
-            Se.getBarycoord(t, e, n, i, r)
-          )
-        }),
-        (Se.normal = function (t, e, n, i) {
-          return (
-            console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'),
-            Se.getNormal(t, e, n, i)
-          )
-        }),
-        (Do.prototype.extractAllPoints = function (t) {
-          return (
-            console.warn(
-              'THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.',
-            ),
-            this.extractPoints(t)
-          )
-        }),
-        (Do.prototype.extrude = function (t) {
-          return (
-            console.warn(
-              'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.',
-            ),
-            new Wa(this, t)
-          )
-        }),
-        (Do.prototype.makeGeometry = function (t) {
-          return (
-            console.warn(
-              'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.',
-            ),
-            new qa(this, t)
-          )
-        }),
-        (tt.prototype.fromAttribute = function (t, e, n) {
-          return (
-            console.warn(
-              'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().',
-            ),
-            this.fromBufferAttribute(t, e, n)
-          )
-        }),
-        (tt.prototype.distanceToManhattan = function (t) {
-          return (
-            console.warn(
-              'THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().',
-            ),
-            this.manhattanDistanceTo(t)
-          )
-        }),
-        (tt.prototype.lengthManhattan = function () {
-          return (
-            console.warn(
-              'THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().',
-            ),
-            this.manhattanLength()
-          )
-        }),
-        (ut.prototype.setEulerFromRotationMatrix = function () {
-          console.error(
-            'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.',
-          )
-        }),
-        (ut.prototype.setEulerFromQuaternion = function () {
-          console.error(
-            'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.',
-          )
-        }),
-        (ut.prototype.getPositionFromMatrix = function (t) {
-          return (
-            console.warn(
-              'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().',
-            ),
-            this.setFromMatrixPosition(t)
-          )
-        }),
-        (ut.prototype.getScaleFromMatrix = function (t) {
-          return (
-            console.warn(
-              'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().',
-            ),
-            this.setFromMatrixScale(t)
-          )
-        }),
-        (ut.prototype.getColumnFromMatrix = function (t, e) {
-          return (
-            console.warn(
-              'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().',
-            ),
-            this.setFromMatrixColumn(e, t)
-          )
-        }),
-        (ut.prototype.applyProjection = function (t) {
-          return (
-            console.warn(
-              'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.',
-            ),
-            this.applyMatrix4(t)
-          )
-        }),
-        (ut.prototype.fromAttribute = function (t, e, n) {
-          return (
-            console.warn(
-              'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().',
-            ),
-            this.fromBufferAttribute(t, e, n)
-          )
-        }),
-        (ut.prototype.distanceToManhattan = function (t) {
-          return (
-            console.warn(
-              'THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().',
-            ),
-            this.manhattanDistanceTo(t)
-          )
-        }),
-        (ut.prototype.lengthManhattan = function () {
-          return (
-            console.warn(
-              'THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().',
-            ),
-            this.manhattanLength()
-          )
-        }),
-        (ot.prototype.fromAttribute = function (t, e, n) {
-          return (
-            console.warn(
-              'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().',
-            ),
-            this.fromBufferAttribute(t, e, n)
-          )
-        }),
-        (ot.prototype.lengthManhattan = function () {
-          return (
-            console.warn(
-              'THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().',
-            ),
-            this.manhattanLength()
-          )
-        }),
-        (pe.prototype.getChildByName = function (t) {
-          return (
-            console.warn(
-              'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().',
-            ),
-            this.getObjectByName(t)
-          )
-        }),
-        (pe.prototype.renderDepth = function () {
-          console.warn('THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.')
-        }),
-        (pe.prototype.translate = function (t, e) {
-          return (
-            console.warn(
-              'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.',
-            ),
-            this.translateOnAxis(e, t)
-          )
-        }),
-        (pe.prototype.getWorldRotation = function () {
-          console.error(
-            'THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.',
-          )
-        }),
-        (pe.prototype.applyMatrix = function (t) {
-          return (
-            console.warn('THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().'),
-            this.applyMatrix4(t)
-          )
-        }),
-        Object.defineProperties(pe.prototype, {
-          eulerOrder: {
-            get: function () {
-              return (
-                console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'),
-                this.rotation.order
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'),
-                (this.rotation.order = t)
-            },
-          },
-          useQuaternion: {
-            get: function () {
-              console.warn(
-                'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.',
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.',
-              )
-            },
-          },
-        }),
-        (mn.prototype.setDrawMode = function () {
-          console.error(
-            'THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.',
-          )
-        }),
-        Object.defineProperties(mn.prototype, {
-          drawMode: {
-            get: function () {
-              return (
-                console.error(
-                  'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.',
-                ),
-                0
-              )
-            },
-            set: function () {
-              console.error(
-                'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.',
-              )
-            },
-          },
-        }),
-        (Ms.prototype.initBones = function () {
-          console.error('THREE.SkinnedMesh: initBones() has been removed.')
-        }),
-        (Mn.prototype.setLens = function (t, e) {
-          console.warn(
-            'THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.',
-          ),
-            void 0 !== e && (this.filmGauge = e),
-            this.setFocalLength(t)
-        }),
-        Object.defineProperties(Io.prototype, {
-          onlyShadow: {
-            set: function () {
-              console.warn('THREE.Light: .onlyShadow has been removed.')
-            },
-          },
-          shadowCameraFov: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraFov is now .shadow.camera.fov.'),
-                (this.shadow.camera.fov = t)
-            },
-          },
-          shadowCameraLeft: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraLeft is now .shadow.camera.left.'),
-                (this.shadow.camera.left = t)
-            },
-          },
-          shadowCameraRight: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraRight is now .shadow.camera.right.'),
-                (this.shadow.camera.right = t)
-            },
-          },
-          shadowCameraTop: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraTop is now .shadow.camera.top.'),
-                (this.shadow.camera.top = t)
-            },
-          },
-          shadowCameraBottom: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.'),
-                (this.shadow.camera.bottom = t)
-            },
-          },
-          shadowCameraNear: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraNear is now .shadow.camera.near.'),
-                (this.shadow.camera.near = t)
-            },
-          },
-          shadowCameraFar: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowCameraFar is now .shadow.camera.far.'),
-                (this.shadow.camera.far = t)
-            },
-          },
-          shadowCameraVisible: {
-            set: function () {
-              console.warn(
-                'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.',
-              )
-            },
-          },
-          shadowBias: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowBias is now .shadow.bias.'), (this.shadow.bias = t)
-            },
-          },
-          shadowDarkness: {
-            set: function () {
-              console.warn('THREE.Light: .shadowDarkness has been removed.')
-            },
-          },
-          shadowMapWidth: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.'),
-                (this.shadow.mapSize.width = t)
-            },
-          },
-          shadowMapHeight: {
-            set: function (t) {
-              console.warn('THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.'),
-                (this.shadow.mapSize.height = t)
-            },
-          },
-        }),
-        Object.defineProperties(Be.prototype, {
-          length: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.BufferAttribute: .length has been deprecated. Use .count instead.',
-                ),
-                this.array.length
-              )
-            },
-          },
-          dynamic: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.',
-                ),
-                this.usage === V
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.',
-              ),
-                this.setUsage(V)
-            },
-          },
-        }),
-        (Be.prototype.setDynamic = function (t) {
-          return (
-            console.warn(
-              'THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.',
-            ),
-            this.setUsage(!0 === t ? V : G),
-            this
-          )
-        }),
-        (Be.prototype.copyIndicesArray = function () {
-          console.error('THREE.BufferAttribute: .copyIndicesArray() has been removed.')
-        }),
-        (Be.prototype.setArray = function () {
-          console.error(
-            'THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers',
-          )
-        }),
-        (Je.prototype.addIndex = function (t) {
-          console.warn('THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().'),
-            this.setIndex(t)
-        }),
-        (Je.prototype.addAttribute = function (t, e) {
-          return (
-            console.warn(
-              'THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().',
-            ),
-            (e && e.isBufferAttribute) || (e && e.isInterleavedBufferAttribute)
-              ? 'index' === t
-                ? (console.warn(
-                    'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.',
-                  ),
-                  this.setIndex(e),
-                  this)
-                : this.setAttribute(t, e)
-              : (console.warn(
-                  'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).',
-                ),
-                this.setAttribute(t, new Be(arguments[1], arguments[2])))
-          )
-        }),
-        (Je.prototype.addDrawCall = function (t, e, n) {
-          void 0 !== n &&
-            console.warn('THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.'),
-            console.warn('THREE.BufferGeometry: .addDrawCall() is now .addGroup().'),
-            this.addGroup(t, e)
-        }),
-        (Je.prototype.clearDrawCalls = function () {
-          console.warn('THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().'),
-            this.clearGroups()
-        }),
-        (Je.prototype.computeOffsets = function () {
-          console.warn('THREE.BufferGeometry: .computeOffsets() has been removed.')
-        }),
-        (Je.prototype.removeAttribute = function (t) {
-          return (
-            console.warn(
-              'THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().',
-            ),
-            this.deleteAttribute(t)
-          )
-        }),
-        (Je.prototype.applyMatrix = function (t) {
-          return (
-            console.warn(
-              'THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().',
-            ),
-            this.applyMatrix4(t)
-          )
-        }),
-        Object.defineProperties(Je.prototype, {
-          drawcalls: {
-            get: function () {
-              return (
-                console.error('THREE.BufferGeometry: .drawcalls has been renamed to .groups.'),
-                this.groups
-              )
-            },
-          },
-          offsets: {
-            get: function () {
-              return (
-                console.warn('THREE.BufferGeometry: .offsets has been renamed to .groups.'),
-                this.groups
-              )
-            },
-          },
-        }),
-        (Kr.prototype.setDynamic = function (t) {
-          return (
-            console.warn(
-              'THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.',
-            ),
-            this.setUsage(!0 === t ? V : G),
-            this
-          )
-        }),
-        (Kr.prototype.setArray = function () {
-          console.error(
-            'THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers',
-          )
-        }),
-        (Wa.prototype.getArrays = function () {
-          console.error('THREE.ExtrudeGeometry: .getArrays() has been removed.')
-        }),
-        (Wa.prototype.addShapeList = function () {
-          console.error('THREE.ExtrudeGeometry: .addShapeList() has been removed.')
-        }),
-        (Wa.prototype.addShape = function () {
-          console.error('THREE.ExtrudeGeometry: .addShape() has been removed.')
-        }),
-        (Qr.prototype.dispose = function () {
-          console.error('THREE.Scene: .dispose() has been removed.')
-        }),
-        (Sl.prototype.onUpdate = function () {
-          return (
-            console.warn(
-              'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.',
-            ),
-            this
-          )
-        }),
-        Object.defineProperties(Ee.prototype, {
-          wrapAround: {
-            get: function () {
-              console.warn('THREE.Material: .wrapAround has been removed.')
-            },
-            set: function () {
-              console.warn('THREE.Material: .wrapAround has been removed.')
-            },
-          },
-          overdraw: {
-            get: function () {
-              console.warn('THREE.Material: .overdraw has been removed.')
-            },
-            set: function () {
-              console.warn('THREE.Material: .overdraw has been removed.')
-            },
-          },
-          wrapRGB: {
-            get: function () {
-              return console.warn('THREE.Material: .wrapRGB has been removed.'), new Ie()
-            },
-          },
-          shading: {
-            get: function () {
-              console.error(
-                'THREE.' +
-                  this.type +
-                  ': .shading has been removed. Use the boolean .flatShading instead.',
-              )
-            },
-            set: function (t) {
-              console.warn(
-                'THREE.' +
-                  this.type +
-                  ': .shading has been removed. Use the boolean .flatShading instead.',
-              ),
-                (this.flatShading = 1 === t)
-            },
-          },
-          stencilMask: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.' +
-                    this.type +
-                    ': .stencilMask has been removed. Use .stencilFuncMask instead.',
-                ),
-                this.stencilFuncMask
-              )
-            },
-            set: function (t) {
-              console.warn(
-                'THREE.' +
-                  this.type +
-                  ': .stencilMask has been removed. Use .stencilFuncMask instead.',
-              ),
-                (this.stencilFuncMask = t)
-            },
-          },
-        }),
-        Object.defineProperties(_n.prototype, {
-          derivatives: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.',
-                ),
-                this.extensions.derivatives
-              )
-            },
-            set: function (t) {
-              console.warn(
-                'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.',
-              ),
-                (this.extensions.derivatives = t)
-            },
-          },
-        }),
-        (Yr.prototype.clearTarget = function (t, e, n, i) {
-          console.warn(
-            'THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.',
-          ),
-            this.setRenderTarget(t),
-            this.clear(e, n, i)
-        }),
-        (Yr.prototype.animate = function (t) {
-          console.warn('THREE.WebGLRenderer: .animate() is now .setAnimationLoop().'),
-            this.setAnimationLoop(t)
-        }),
-        (Yr.prototype.getCurrentRenderTarget = function () {
-          return (
-            console.warn(
-              'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().',
-            ),
-            this.getRenderTarget()
-          )
-        }),
-        (Yr.prototype.getMaxAnisotropy = function () {
-          return (
-            console.warn(
-              'THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().',
-            ),
-            this.capabilities.getMaxAnisotropy()
-          )
-        }),
-        (Yr.prototype.getPrecision = function () {
-          return (
-            console.warn('THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.'),
-            this.capabilities.precision
-          )
-        }),
-        (Yr.prototype.resetGLState = function () {
-          return (
-            console.warn('THREE.WebGLRenderer: .resetGLState() is now .state.reset().'),
-            this.state.reset()
-          )
-        }),
-        (Yr.prototype.supportsFloatTextures = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).",
-            ),
-            this.extensions.get('OES_texture_float')
-          )
-        }),
-        (Yr.prototype.supportsHalfFloatTextures = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).",
-            ),
-            this.extensions.get('OES_texture_half_float')
-          )
-        }),
-        (Yr.prototype.supportsStandardDerivatives = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).",
-            ),
-            this.extensions.get('OES_standard_derivatives')
-          )
-        }),
-        (Yr.prototype.supportsCompressedTextureS3TC = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).",
-            ),
-            this.extensions.get('WEBGL_compressed_texture_s3tc')
-          )
-        }),
-        (Yr.prototype.supportsCompressedTexturePVRTC = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).",
-            ),
-            this.extensions.get('WEBGL_compressed_texture_pvrtc')
-          )
-        }),
-        (Yr.prototype.supportsBlendMinMax = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).",
-            ),
-            this.extensions.get('EXT_blend_minmax')
-          )
-        }),
-        (Yr.prototype.supportsVertexTextures = function () {
-          return (
-            console.warn(
-              'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.',
-            ),
-            this.capabilities.vertexTextures
-          )
-        }),
-        (Yr.prototype.supportsInstancedArrays = function () {
-          return (
-            console.warn(
-              "THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).",
-            ),
-            this.extensions.get('ANGLE_instanced_arrays')
-          )
-        }),
-        (Yr.prototype.enableScissorTest = function (t) {
-          console.warn('THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().'),
-            this.setScissorTest(t)
-        }),
-        (Yr.prototype.initMaterial = function () {
-          console.warn('THREE.WebGLRenderer: .initMaterial() has been removed.')
-        }),
-        (Yr.prototype.addPrePlugin = function () {
-          console.warn('THREE.WebGLRenderer: .addPrePlugin() has been removed.')
-        }),
-        (Yr.prototype.addPostPlugin = function () {
-          console.warn('THREE.WebGLRenderer: .addPostPlugin() has been removed.')
-        }),
-        (Yr.prototype.updateShadowMap = function () {
-          console.warn('THREE.WebGLRenderer: .updateShadowMap() has been removed.')
-        }),
-        (Yr.prototype.setFaceCulling = function () {
-          console.warn('THREE.WebGLRenderer: .setFaceCulling() has been removed.')
-        }),
-        (Yr.prototype.allocTextureUnit = function () {
-          console.warn('THREE.WebGLRenderer: .allocTextureUnit() has been removed.')
-        }),
-        (Yr.prototype.setTexture = function () {
-          console.warn('THREE.WebGLRenderer: .setTexture() has been removed.')
-        }),
-        (Yr.prototype.setTexture2D = function () {
-          console.warn('THREE.WebGLRenderer: .setTexture2D() has been removed.')
-        }),
-        (Yr.prototype.setTextureCube = function () {
-          console.warn('THREE.WebGLRenderer: .setTextureCube() has been removed.')
-        }),
-        (Yr.prototype.getActiveMipMapLevel = function () {
-          return (
-            console.warn(
-              'THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().',
-            ),
-            this.getActiveMipmapLevel()
-          )
-        }),
-        Object.defineProperties(Yr.prototype, {
-          shadowMapEnabled: {
-            get: function () {
-              return this.shadowMap.enabled
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.'),
-                (this.shadowMap.enabled = t)
-            },
-          },
-          shadowMapType: {
-            get: function () {
-              return this.shadowMap.type
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.'),
-                (this.shadowMap.type = t)
-            },
-          },
-          shadowMapCullFace: {
-            get: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.',
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.',
-              )
-            },
-          },
-          context: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.',
-                ),
-                this.getContext()
-              )
-            },
-          },
-          vr: {
-            get: function () {
-              return console.warn('THREE.WebGLRenderer: .vr has been renamed to .xr'), this.xr
-            },
-          },
-          gammaInput: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.',
-                ),
-                !1
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.',
-              )
-            },
-          },
-          gammaOutput: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.',
-                ),
-                !1
-              )
-            },
-            set: function (t) {
-              console.warn(
-                'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.',
-              ),
-                (this.outputEncoding = !0 === t ? B : O)
-            },
-          },
-          toneMappingWhitePoint: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.'), 1
-              )
-            },
-            set: function () {
-              console.warn('THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.')
-            },
-          },
-        }),
-        Object.defineProperties(Fr.prototype, {
-          cullFace: {
-            get: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.',
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.',
-              )
-            },
-          },
-          renderReverseSided: {
-            get: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.',
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.',
-              )
-            },
-          },
-          renderSingleSided: {
-            get: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.',
-              )
-            },
-            set: function () {
-              console.warn(
-                'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.',
-              )
-            },
-          },
-        }),
-        Object.defineProperties(lt.prototype, {
-          wrapS: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'),
-                this.texture.wrapS
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'),
-                (this.texture.wrapS = t)
-            },
-          },
-          wrapT: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'),
-                this.texture.wrapT
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'),
-                (this.texture.wrapT = t)
-            },
-          },
-          magFilter: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'),
-                this.texture.magFilter
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'),
-                (this.texture.magFilter = t)
-            },
-          },
-          minFilter: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'),
-                this.texture.minFilter
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'),
-                (this.texture.minFilter = t)
-            },
-          },
-          anisotropy: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'),
-                this.texture.anisotropy
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'),
-                (this.texture.anisotropy = t)
-            },
-          },
-          offset: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'),
-                this.texture.offset
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'),
-                (this.texture.offset = t)
-            },
-          },
-          repeat: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'),
-                this.texture.repeat
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'),
-                (this.texture.repeat = t)
-            },
-          },
-          format: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'),
-                this.texture.format
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'),
-                (this.texture.format = t)
-            },
-          },
-          type: {
-            get: function () {
-              return (
-                console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'),
-                this.texture.type
-              )
-            },
-            set: function (t) {
-              console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'),
-                (this.texture.type = t)
-            },
-          },
-          generateMipmaps: {
-            get: function () {
-              return (
-                console.warn(
-                  'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.',
-                ),
-                this.texture.generateMipmaps
-              )
-            },
-            set: function (t) {
-              console.warn(
-                'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.',
-              ),
-                (this.texture.generateMipmaps = t)
-            },
-          },
-        }),
-        (hl.prototype.load = function (t) {
-          console.warn('THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.')
-          const e = this
-          return (
-            new ol().load(t, function (t) {
-              e.setBuffer(t)
-            }),
-            this
-          )
-        }),
-        (class {
-          constructor(t, e = 2048) {
-            ;(this.analyser = t.context.createAnalyser()),
-              (this.analyser.fftSize = e),
-              (this.data = new Uint8Array(this.analyser.frequencyBinCount)),
-              t.getOutput().connect(this.analyser)
-          }
-          getFrequencyData() {
-            return this.analyser.getByteFrequencyData(this.data), this.data
-          }
-          getAverageFrequency() {
-            let t = 0
-            const e = this.getFrequencyData()
-            for (let n = 0; n < e.length; n++) t += e[n]
-            return t / e.length
-          }
-        }.prototype.getData = function () {
-          return (
-            console.warn('THREE.AudioAnalyser: .getData() is now .getFrequencyData().'),
-            this.getFrequencyData()
-          )
-        }),
-        (Sn.prototype.updateCubeMap = function (t, e) {
-          return (
-            console.warn('THREE.CubeCamera: .updateCubeMap() is now .update().'), this.update(t, e)
-          )
-        }),
-        (Sn.prototype.clear = function (t, e, n, i) {
-          return (
-            console.warn('THREE.CubeCamera: .clear() is now .renderTarget.clear().'),
-            this.renderTarget.clear(t, e, n, i)
-          )
-        }),
-        (it.crossOrigin = void 0),
-        (it.loadTexture = function (t, e, n, i) {
-          console.warn(
-            'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.',
-          )
-          const r = new Ro()
-          r.setCrossOrigin(this.crossOrigin)
-          const s = r.load(t, n, void 0, i)
-          return e && (s.mapping = e), s
-        }),
-        (it.loadTextureCube = function (t, e, n, i) {
-          console.warn(
-            'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.',
-          )
-          const r = new Ao()
-          r.setCrossOrigin(this.crossOrigin)
-          const s = r.load(t, n, void 0, i)
-          return e && (s.mapping = e), s
-        }),
-        (it.loadCompressedTexture = function () {
-          console.error(
-            'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.',
-          )
-        }),
-        (it.loadCompressedTextureCube = function () {
-          console.error(
-            'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.',
-          )
-        })
-      'undefined' !== typeof __THREE_DEVTOOLS__ &&
-        __THREE_DEVTOOLS__.dispatchEvent(
-          new CustomEvent('register', { detail: { revision: '130' } }),
-        ),
-        'undefined' !== typeof window &&
-          (window.__THREE__
-            ? console.warn('WARNING: Multiple instances of Three.js being imported.')
-            : (window.__THREE__ = '130'))
-    },
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[737],{2212:function(t,e,n){"use strict";n.d(e,{Mig:function(){return Jo},_Li:function(){return s},ZzF:function(){return mt},TlE:function(){return Be},u9r:function(){return Je},SUY:function(){return ll},Ilk:function(){return Ie},_3:function(){return Zs},yj7:function(){return ha},m_w:function(){return Js},Ox3:function(){return Yo},pBf:function(){return W},a$l:function(){return He},ZAu:function(){return kr},x12:function(){return Os},nls:function(){return Cs},wem:function(){return v},RsA:function(){return i},yGw:function(){return Vt},Kj0:function(){return mn},vBJ:function(){return Ne},YBo:function(){return no},iKG:function(){return qo},cPb:function(){return Mn},JOQ:function(){return Cn},mXe:function(){return pa},_fP:function(){return ht},wk1:function(){return E},iMs:function(){return Tl},xsS:function(){return Qr},jyz:function(){return _n},Aip:function(){return Xa},xo$:function(){return Xa},$V:function(){return Al},jyi:function(){return fs},xeV:function(){return es},QmN:function(){return r},xEZ:function(){return st},dpR:function(){return Ro},Lcc:function(){return Ya},rDY:function(){return xn},FM8:function(){return tt},Pa4:function(){return ut},dd2:function(){return lt},CP7:function(){return Yr}});const i={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},r={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=1,a=100,o=301,l=302,c=306,h=307,u=1e3,d=1001,p=1002,m=1003,f=1004,g=1005,v=1006,y=1008,x=1009,_=1012,b=1014,M=1015,w=1016,S=1020,T=1022,E=1023,L=1026,A=1027,R=2300,C=2301,P=2302,D=2400,I=2401,N=2402,z=2500,O=3e3,B=3001,F=3007,U=3002,H=7680,G=35044,V=35048,k="300 es";class W{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e<i;e++)n[e].call(this,t);t.target=null}}}const j=[];for(let jl=0;jl<256;jl++)j[jl]=(jl<16?"0":"")+jl.toString(16);const q=Math.PI/180,X=180/Math.PI;function Y(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(j[255&t]+j[t>>8&255]+j[t>>16&255]+j[t>>24&255]+"-"+j[255&e]+j[e>>8&255]+"-"+j[e>>16&15|64]+j[e>>24&255]+"-"+j[63&n|128]+j[n>>8&255]+"-"+j[n>>16&255]+j[n>>24&255]+j[255&i]+j[i>>8&255]+j[i>>16&255]+j[i>>24&255]).toUpperCase()}function J(t,e,n){return Math.max(e,Math.min(n,t))}function Z(t,e){return(t%e+e)%e}function Q(t,e,n){return(1-n)*t+n*e}function K(t){return 0===(t&t-1)&&0!==t}function $(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}class tt{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}tt.prototype.isVector2=!0;class et{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],v=i[1],y=i[4],x=i[7],_=i[2],b=i[5],M=i[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*y+o*b,r[6]=s*g+a*x+o*M,r[1]=l*m+c*v+h*_,r[4]=l*f+c*y+h*b,r[7]=l*g+c*x+h*M,r[2]=u*m+d*v+p*_,r[5]=u*f+d*y+p*b,r[8]=u*g+d*x+p*M,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],s=i[3],a=i[6],o=i[1],l=i[4],c=i[7];return i[0]=e*r+n*o,i[3]=e*s+n*l,i[6]=e*a+n*c,i[1]=-n*r+e*o,i[4]=-n*s+e*l,i[7]=-n*a+e*c,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<9;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}let nt;et.prototype.isMatrix3=!0;class it{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===nt&&(nt=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),nt.width=t.width,nt.height=t.height;const n=nt.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=nt}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}}let rt=0;class st extends W{constructor(t=st.DEFAULT_IMAGE,e=st.DEFAULT_MAPPING,n=1001,i=1001,r=v,s=1008,a=E,o=1009,l=1,c=3e3){super(),Object.defineProperty(this,"id",{value:rt++}),this.uuid=Y(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new tt(0,0),this.repeat=new tt(1,1),this.center=new tt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new et,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.version=0,this.onUpdate=null}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this}toJSON(t){const e=void 0===t||"string"===typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const i=this.image;if(void 0===i.uuid&&(i.uuid=Y()),!e&&void 0===t.images[i.uuid]){let e;if(Array.isArray(i)){e=[];for(let t=0,n=i.length;t<n;t++)i[t].isDataTexture?e.push(at(i[t].image)):e.push(at(i[t]))}else e=at(i);t.images[i.uuid]={uuid:i.uuid,url:e}}n.image=i.uuid}return e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(300!==this.mapping)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case u:t.x=t.x-Math.floor(t.x);break;case d:t.x=t.x<0?0:1;break;case p:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case u:t.y=t.y-Math.floor(t.y);break;case d:t.y=t.y<0?0:1;break;case p:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&this.version++}}function at(t){return"undefined"!==typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&t instanceof ImageBitmap?it.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}st.DEFAULT_IMAGE=void 0,st.DEFAULT_MAPPING=300,st.prototype.isTexture=!0;class ot{constructor(t=0,e=0,n=0,i=1){this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)<s&&Math.abs(h-m)<s&&Math.abs(p-f)<s){if(Math.abs(c+u)<a&&Math.abs(h+m)<a&&Math.abs(p+f)<a&&Math.abs(l+d+g-3)<a)return this.set(1,0,0,0),this;e=Math.PI;const t=(l+1)/2,o=(d+1)/2,v=(g+1)/2,y=(c+u)/4,x=(h+m)/4,_=(p+f)/4;return t>o&&t>v?t<s?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(t),i=y/n,r=x/n):o>v?o<s?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(o),n=y/i,r=_/i):v<s?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(v),n=x/r,i=_/r),this.set(n,i,r,e),this}let v=Math.sqrt((f-p)*(f-p)+(h-m)*(h-m)+(u-c)*(u-c));return Math.abs(v)<.001&&(v=1),this.x=(f-p)/v,this.y=(h-m)/v,this.z=(u-c)/v,this.w=Math.acos((l+d+g-1)/2),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this.w=Math.max(t,Math.min(e,this.w)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}}ot.prototype.isVector4=!0;class lt extends W{constructor(t,e,n={}){super(),this.width=t,this.height=e,this.depth=1,this.scissor=new ot(0,0,t,e),this.scissorTest=!1,this.viewport=new ot(0,0,t,e),this.texture=new st(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.image={width:t,height:e,depth:1},this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:v,this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}setTexture(t){t.image={width:this.width,height:this.height,depth:this.depth},this.texture=t}setSize(t,e,n=1){this.width===t&&this.height===e&&this.depth===n||(this.width=t,this.height=e,this.depth=n,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return(new this.constructor).copy(this)}copy(t){return this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.image={...this.texture.image},this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}}lt.prototype.isWebGLRenderTarget=!0;(class extends lt{constructor(t,e,n){super(t,e);const i=this.texture;this.texture=[];for(let r=0;r<n;r++)this.texture[r]=i.clone()}setSize(t,e,n=1){if(this.width!==t||this.height!==e||this.depth!==n){this.width=t,this.height=e,this.depth=n;for(let i=0,r=this.texture.length;i<r;i++)this.texture[i].image.width=t,this.texture[i].image.height=e,this.texture[i].image.depth=n;this.dispose()}return this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e),this}copy(t){this.dispose(),this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this.texture.length=0;for(let e=0,n=t.texture.length;e<n;e++)this.texture[e]=t.texture[e].clone();return this}}).prototype.isWebGLMultipleRenderTargets=!0;class ct extends lt{constructor(t,e,n){super(t,e,n),this.samples=4}copy(t){return super.copy.call(this,t),this.samples=t.samples,this}}ct.prototype.isWebGLMultisampleRenderTarget=!0;class ht{constructor(t=0,e=0,n=0,i=1){this._x=t,this._y=e,this._z=n,this._w=i}static slerp(t,e,n,i){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),n.slerpQuaternions(t,e,i)}static slerpFlat(t,e,n,i,r,s,a){let o=n[i+0],l=n[i+1],c=n[i+2],h=n[i+3];const u=r[s+0],d=r[s+1],p=r[s+2],m=r[s+3];if(0===a)return t[e+0]=o,t[e+1]=l,t[e+2]=c,void(t[e+3]=h);if(1===a)return t[e+0]=u,t[e+1]=d,t[e+2]=p,void(t[e+3]=m);if(h!==m||o!==u||l!==d||c!==p){let t=1-a;const e=o*u+l*d+c*p+h*m,n=e>=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<Number.EPSILON?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(J(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){this.copy(t).slerp(e,n)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}ht.prototype.isQuaternion=!0;class ut{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(pt.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(pt.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*i-a*n,c=o*n+a*e-r*i,h=o*i+r*n-s*e,u=-r*e-s*n-a*i;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return dt.copy(this).projectOnVector(t),this.sub(dt)}reflect(t){return this.sub(dt.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(J(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}ut.prototype.isVector3=!0;const dt=new ut,pt=new ht;class mt{constructor(t=new ut(1/0,1/0,1/0),e=new ut(-1/0,-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.length;o<l;o+=3){const l=t[o],c=t[o+1],h=t[o+2];l<e&&(e=l),c<n&&(n=c),h<i&&(i=h),l>r&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromBufferAttribute(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.count;o<l;o++){const l=t.getX(o),c=t.getY(o),h=t.getZ(o);l<e&&(e=l),c<n&&(n=c),h<i&&(i=h),l>r&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=gt.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}setFromObject(t){return this.makeEmpty(),this.expandByObject(t)}clone(){return(new this.constructor).copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t){t.updateWorldMatrix(!1,!1);const e=t.geometry;void 0!==e&&(null===e.boundingBox&&e.computeBoundingBox(),vt.copy(e.boundingBox),vt.applyMatrix4(t.matrixWorld),this.union(vt));const n=t.children;for(let i=0,r=n.length;i<r;i++)this.expandByObject(n[i]);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)}intersectsSphere(t){return this.clampPoint(t.center,gt),gt.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(St),Tt.subVectors(this.max,St),yt.subVectors(t.a,St),xt.subVectors(t.b,St),_t.subVectors(t.c,St),bt.subVectors(xt,yt),Mt.subVectors(_t,xt),wt.subVectors(yt,_t);let e=[0,-bt.z,bt.y,0,-Mt.z,Mt.y,0,-wt.z,wt.y,bt.z,0,-bt.x,Mt.z,0,-Mt.x,wt.z,0,-wt.x,-bt.y,bt.x,0,-Mt.y,Mt.x,0,-wt.y,wt.x,0];return!!At(e,yt,xt,_t,Tt)&&(e=[1,0,0,0,1,0,0,0,1],!!At(e,yt,xt,_t,Tt)&&(Et.crossVectors(bt,Mt),e=[Et.x,Et.y,Et.z],At(e,yt,xt,_t,Tt)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return gt.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(gt).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(ft[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ft[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ft[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ft[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ft[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ft[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ft[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ft[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ft)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}mt.prototype.isBox3=!0;const ft=[new ut,new ut,new ut,new ut,new ut,new ut,new ut,new ut],gt=new ut,vt=new mt,yt=new ut,xt=new ut,_t=new ut,bt=new ut,Mt=new ut,wt=new ut,St=new ut,Tt=new ut,Et=new ut,Lt=new ut;function At(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){Lt.fromArray(t,s);const a=r.x*Math.abs(Lt.x)+r.y*Math.abs(Lt.y)+r.z*Math.abs(Lt.z),o=e.dot(Lt),l=n.dot(Lt),c=i.dot(Lt);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Rt=new mt,Ct=new ut,Pt=new ut,Dt=new ut;class It{constructor(t=new ut,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Rt.setFromPoints(t).getCenter(n);let i=0;for(let r=0,s=t.length;r<s;r++)i=Math.max(i,n.distanceToSquared(t[r]));return this.radius=Math.sqrt(i),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const n=this.center.distanceToSquared(t);return e.copy(t),n>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){Dt.subVectors(t,this.center);const e=Dt.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.add(Dt.multiplyScalar(n/t)),this.radius+=n}return this}union(t){return Pt.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(Ct.copy(t.center).add(Pt)),this.expandByPoint(Ct.copy(t.center).sub(Pt)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Nt=new ut,zt=new ut,Ot=new ut,Bt=new ut,Ft=new ut,Ut=new ut,Ht=new ut;class Gt{constructor(t=new ut,e=new ut(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Nt)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Nt.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Nt.copy(this.direction).multiplyScalar(e).add(this.origin),Nt.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){zt.copy(t).add(e).multiplyScalar(.5),Ot.copy(e).sub(t).normalize(),Bt.copy(this.origin).sub(zt);const r=.5*t.distanceTo(e),s=-this.direction.dot(Ot),a=Bt.dot(this.direction),o=-Bt.dot(Ot),l=Bt.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0)if(h=s*o-a,u=s*a-o,p=r*c,h>=0)if(u>=-p)if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(Ot).multiplyScalar(u).add(zt),d}intersectSphere(t,e){Nt.subVectors(t.center,this.origin);const n=Nt.dot(this.direction),i=Nt.dot(Nt)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||n!==n)&&(n=r),(s<i||i!==i)&&(i=s),h>=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!==n)&&(n=a),(o<i||i!==i)&&(i=o),i<0?null:this.at(n>=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,Nt)}intersectTriangle(t,e,n,i,r){Ft.subVectors(e,t),Ut.subVectors(n,t),Ht.crossVectors(Ft,Ut);let s,a=this.direction.dot(Ht);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Bt.subVectors(this.origin,t);const o=s*this.direction.dot(Ut.crossVectors(Bt,Ut));if(o<0)return null;const l=s*this.direction.dot(Ft.cross(Bt));if(l<0)return null;if(o+l>a)return null;const c=-s*Bt.dot(Ht);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Vt{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Vt).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/kt.setFromMatrixColumn(t,0).length(),r=1/kt.setFromMatrixColumn(t,1).length(),s=1/kt.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(jt,t,qt)}lookAt(t,e,n){const i=this.elements;return Jt.subVectors(t,e),0===Jt.lengthSq()&&(Jt.z=1),Jt.normalize(),Xt.crossVectors(n,Jt),0===Xt.lengthSq()&&(1===Math.abs(n.z)?Jt.x+=1e-4:Jt.z+=1e-4,Jt.normalize(),Xt.crossVectors(n,Jt)),Xt.normalize(),Yt.crossVectors(Jt,Xt),i[0]=Xt.x,i[4]=Yt.x,i[8]=Jt.x,i[1]=Xt.y,i[5]=Yt.y,i[9]=Jt.y,i[2]=Xt.z,i[6]=Yt.z,i[10]=Jt.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],v=n[3],y=n[7],x=n[11],_=n[15],b=i[0],M=i[4],w=i[8],S=i[12],T=i[1],E=i[5],L=i[9],A=i[13],R=i[2],C=i[6],P=i[10],D=i[14],I=i[3],N=i[7],z=i[11],O=i[15];return r[0]=s*b+a*T+o*R+l*I,r[4]=s*M+a*E+o*C+l*N,r[8]=s*w+a*L+o*P+l*z,r[12]=s*S+a*A+o*D+l*O,r[1]=c*b+h*T+u*R+d*I,r[5]=c*M+h*E+u*C+d*N,r[9]=c*w+h*L+u*P+d*z,r[13]=c*S+h*A+u*D+d*O,r[2]=p*b+m*T+f*R+g*I,r[6]=p*M+m*E+f*C+g*N,r[10]=p*w+m*L+f*P+g*z,r[14]=p*S+m*A+f*D+g*O,r[3]=v*b+y*T+x*R+_*I,r[7]=v*M+y*E+x*C+_*N,r[11]=v*w+y*L+x*P+_*z,r[15]=v*S+y*A+x*D+_*O,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,y=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,_=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,b=e*v+n*y+i*x+r*_;if(0===b)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const M=1/b;return t[0]=v*M,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*M,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*M,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*M,t[4]=y*M,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*M,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*M,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*M,t[8]=x*M,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*M,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*M,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*M,t[12]=_*M,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*M,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*M,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*M,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,y=o*c,x=o*h,_=n.x,b=n.y,M=n.z;return i[0]=(1-(m+g))*_,i[1]=(d+x)*_,i[2]=(p-y)*_,i[3]=0,i[4]=(d-x)*b,i[5]=(1-(u+g))*b,i[6]=(f+v)*b,i[7]=0,i[8]=(p+y)*M,i[9]=(f-v)*M,i[10]=(1-(u+m))*M,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=kt.set(i[0],i[1],i[2]).length();const s=kt.set(i[4],i[5],i[6]).length(),a=kt.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],Wt.copy(this);const o=1/r,l=1/s,c=1/a;return Wt.elements[0]*=o,Wt.elements[1]*=o,Wt.elements[2]*=o,Wt.elements[4]*=l,Wt.elements[5]*=l,Wt.elements[6]*=l,Wt.elements[8]*=c,Wt.elements[9]*=c,Wt.elements[10]*=c,e.setFromRotationMatrix(Wt),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s){void 0===s&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*r/(e-t),l=2*r/(n-i),c=(e+t)/(e-t),h=(n+i)/(n-i),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,i,r,s){const a=this.elements,o=1/(e-t),l=1/(n-i),c=1/(s-r),h=(e+t)*o,u=(n+i)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<16;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}Vt.prototype.isMatrix4=!0;const kt=new ut,Wt=new Vt,jt=new ut(0,0,0),qt=new ut(1,1,1),Xt=new ut,Yt=new ut,Jt=new ut,Zt=new Vt,Qt=new ht;class Kt{constructor(t=0,e=0,n=0,i=Kt.DefaultOrder){this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(J(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-J(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(J(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-J(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(J(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-J(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Zt.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Zt,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Qt.setFromEuler(this),this.setFromQuaternion(Qt,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new ut(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Kt.prototype.isEuler=!0,Kt.DefaultOrder="XYZ",Kt.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class $t{constructor(){this.mask=1}set(t){this.mask=1<<t|0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return 0!==(this.mask&t.mask)}}let te=0;const ee=new ut,ne=new ht,ie=new Vt,re=new ut,se=new ut,ae=new ut,oe=new ht,le=new ut(1,0,0),ce=new ut(0,1,0),he=new ut(0,0,1),ue={type:"added"},de={type:"removed"};class pe extends W{constructor(){super(),Object.defineProperty(this,"id",{value:te++}),this.uuid=Y(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=pe.DefaultUp.clone();const t=new ut,e=new Kt,n=new ht,i=new ut(1,1,1);e._onChange((function(){n.setFromEuler(e,!1)})),n._onChange((function(){e.setFromQuaternion(n,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new Vt},normalMatrix:{value:new et}}),this.matrix=new Vt,this.matrixWorld=new Vt,this.matrixAutoUpdate=pe.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new $t,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return ne.setFromAxisAngle(t,e),this.quaternion.multiply(ne),this}rotateOnWorldAxis(t,e){return ne.setFromAxisAngle(t,e),this.quaternion.premultiply(ne),this}rotateX(t){return this.rotateOnAxis(le,t)}rotateY(t){return this.rotateOnAxis(ce,t)}rotateZ(t){return this.rotateOnAxis(he,t)}translateOnAxis(t,e){return ee.copy(t).applyQuaternion(this.quaternion),this.position.add(ee.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(le,t)}translateY(t){return this.translateOnAxis(ce,t)}translateZ(t){return this.translateOnAxis(he,t)}localToWorld(t){return t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return t.applyMatrix4(ie.copy(this.matrixWorld).invert())}lookAt(t,e,n){t.isVector3?re.copy(t):re.set(t,e,n);const i=this.parent;this.updateWorldMatrix(!0,!1),se.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?ie.lookAt(se,re,this.up):ie.lookAt(re,se,this.up),this.quaternion.setFromRotationMatrix(ie),i&&(ie.extractRotation(i.matrixWorld),ne.setFromRotationMatrix(ie),this.quaternion.premultiply(ne.invert()))}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.dispatchEvent(ue)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(de)),this}removeFromParent(){const t=this.parent;return null!==t&&t.remove(this),this}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=null,e.dispatchEvent(de)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),ie.copy(this.matrixWorld).invert(),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),ie.multiply(t.parent.matrixWorld)),t.applyMatrix4(ie),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n].getObjectByProperty(t,e);if(void 0!==i)return i}}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(se,t,ae),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(se,oe,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverse(t)}traverseVisible(t){if(!1===this.visible)return;t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}traverseAncestors(t){const e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].updateMatrixWorld(t)}updateWorldMatrix(t,e){const n=this.parent;if(!0===t&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e){const t=this.children;for(let e=0,n=t.length;e<n;e++)t[e].updateWorldMatrix(!1,!0)}}toJSON(t){const e=void 0===t||"string"===typeof t,n={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const i={};function r(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e<i;e++){const i=n[e];r(t.shapes,i)}else r(t.shapes,n)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(t.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let n=0,i=this.material.length;n<i;n++)e.push(r(t.materials,this.material[n]));i.material=e}else i.material=r(t.materials,this.material);if(this.children.length>0){i.children=[];for(let e=0;e<this.children.length;e++)i.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){i.animations=[];for(let e=0;e<this.animations.length;e++){const n=this.animations[e];i.animations.push(r(t.animations,n))}}if(e){const e=s(t.geometries),i=s(t.materials),r=s(t.textures),a=s(t.images),o=s(t.shapes),l=s(t.skeletons),c=s(t.animations);e.length>0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let n=0;n<t.children.length;n++){const e=t.children[n];this.add(e.clone())}return this}}pe.DefaultUp=new ut(0,1,0),pe.DefaultMatrixAutoUpdate=!0,pe.prototype.isObject3D=!0;const me=new ut,fe=new ut,ge=new ut,ve=new ut,ye=new ut,xe=new ut,_e=new ut,be=new ut,Me=new ut,we=new ut;class Se{constructor(t=new ut,e=new ut,n=new ut){this.a=t,this.b=e,this.c=n}static getNormal(t,e,n,i){i.subVectors(n,e),me.subVectors(t,e),i.cross(me);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){me.subVectors(i,e),fe.subVectors(n,e),ge.subVectors(t,e);const s=me.dot(me),a=me.dot(fe),o=me.dot(ge),l=fe.dot(fe),c=fe.dot(ge),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,ve),ve.x>=0&&ve.y>=0&&ve.x+ve.y<=1}static getUV(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,ve),o.set(0,0),o.addScaledVector(r,ve.x),o.addScaledVector(s,ve.y),o.addScaledVector(a,ve.z),o}static isFrontFacing(t,e,n,i){return me.subVectors(n,e),fe.subVectors(t,e),me.cross(fe).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return me.subVectors(this.c,this.b),fe.subVectors(this.a,this.b),.5*me.cross(fe).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Se.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Se.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return Se.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return Se.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Se.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;ye.subVectors(i,n),xe.subVectors(r,n),be.subVectors(t,n);const o=ye.dot(be),l=xe.dot(be);if(o<=0&&l<=0)return e.copy(n);Me.subVectors(t,i);const c=ye.dot(Me),h=xe.dot(Me);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(ye,s);we.subVectors(t,r);const d=ye.dot(we),p=xe.dot(we);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(xe,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return _e.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(_e,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(ye,s).addScaledVector(xe,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let Te=0;class Ee extends W{constructor(){super(),Object.defineProperty(this,"id",{value:Te++}),this.uuid=Y(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=a,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=H,this.stencilZFail=H,this.stencilZPass=H,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===n;continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"===typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(n.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),0!==this.side&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(n.morphTargets=!0),!0===this.morphNormals&&(n.morphNormals=!0),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}Ee.prototype.isMaterial=!0;const Le={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ae={h:0,s:0,l:0},Re={h:0,s:0,l:0};function Ce(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function Pe(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function De(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class Ie{constructor(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"===typeof t?this.setHex(t):"string"===typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=Z(t,1),e=J(e,0,1),n=J(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=Ce(r,i,t+1/3),this.g=Ce(r,i,t),this.b=Ce(r,i,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const i=n[1],r=n[2];switch(i){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)){const n=parseFloat(t[1])/360,i=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,i,r)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Le[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,e=2){return this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this}copyLinearToGamma(t,e=2){const n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=Pe(t.r),this.g=Pe(t.g),this.b=Pe(t.b),this}copyLinearToSRGB(t){return this.r=De(t.r),this.g=De(t.g),this.b=De(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){const e=this.r,n=this.g,i=this.b,r=Math.max(e,n,i),s=Math.min(e,n,i);let a,o;const l=(s+r)/2;if(s===r)a=0,o=0;else{const t=r-s;switch(o=l<=.5?t/(r+s):t/(2-r-s),r){case e:a=(n-i)/t+(n<i?6:0);break;case n:a=(i-e)/t+2;break;case i:a=(e-n)/t+4}a/=6}return t.h=a,t.s=o,t.l=l,t}getStyle(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"}offsetHSL(t,e,n){return this.getHSL(Ae),Ae.h+=t,Ae.s+=e,Ae.l+=n,this.setHSL(Ae.h,Ae.s,Ae.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,n){return this.r=t.r+(e.r-t.r)*n,this.g=t.g+(e.g-t.g)*n,this.b=t.b+(e.b-t.b)*n,this}lerpHSL(t,e){this.getHSL(Ae),t.getHSL(Re);const n=Q(Ae.h,Re.h,e),i=Q(Ae.s,Re.s,e),r=Q(Ae.l,Re.l,e);return this.setHSL(n,i,r),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),!0===t.normalized&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}}Ie.NAMES=Le,Ie.prototype.isColor=!0,Ie.prototype.r=1,Ie.prototype.g=1,Ie.prototype.b=1;class Ne extends Ee{constructor(t){super(),this.type="MeshBasicMaterial",this.color=new Ie(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.morphTargets=t.morphTargets,this}}Ne.prototype.isMeshBasicMaterial=!0;const ze=new ut,Oe=new tt;class Be{constructor(t,e,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===n,this.usage=G,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this}copyArray(t){return this.array.set(t),this}copyColorsArray(t){const e=this.array;let n=0;for(let i=0,r=t.length;i<r;i++){let r=t[i];void 0===r&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i),r=new Ie),e[n++]=r.r,e[n++]=r.g,e[n++]=r.b}return this}copyVector2sArray(t){const e=this.array;let n=0;for(let i=0,r=t.length;i<r;i++){let r=t[i];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i),r=new tt),e[n++]=r.x,e[n++]=r.y}return this}copyVector3sArray(t){const e=this.array;let n=0;for(let i=0,r=t.length;i<r;i++){let r=t[i];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i),r=new ut),e[n++]=r.x,e[n++]=r.y,e[n++]=r.z}return this}copyVector4sArray(t){const e=this.array;let n=0;for(let i=0,r=t.length;i<r;i++){let r=t[i];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i),r=new ot),e[n++]=r.x,e[n++]=r.y,e[n++]=r.z,e[n++]=r.w}return this}applyMatrix3(t){if(2===this.itemSize)for(let e=0,n=this.count;e<n;e++)Oe.fromBufferAttribute(this,e),Oe.applyMatrix3(t),this.setXY(e,Oe.x,Oe.y);else if(3===this.itemSize)for(let e=0,n=this.count;e<n;e++)ze.fromBufferAttribute(this,e),ze.applyMatrix3(t),this.setXYZ(e,ze.x,ze.y,ze.z);return this}applyMatrix4(t){for(let e=0,n=this.count;e<n;e++)ze.x=this.getX(e),ze.y=this.getY(e),ze.z=this.getZ(e),ze.applyMatrix4(t),this.setXYZ(e,ze.x,ze.y,ze.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)ze.x=this.getX(e),ze.y=this.getY(e),ze.z=this.getZ(e),ze.applyNormalMatrix(t),this.setXYZ(e,ze.x,ze.y,ze.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)ze.x=this.getX(e),ze.y=this.getY(e),ze.z=this.getZ(e),ze.transformDirection(t),this.setXYZ(e,ze.x,ze.y,ze.z);return this}set(t,e=0){return this.array.set(t,e),this}getX(t){return this.array[t*this.itemSize]}setX(t,e){return this.array[t*this.itemSize]=e,this}getY(t){return this.array[t*this.itemSize+1]}setY(t,e){return this.array[t*this.itemSize+1]=e,this}getZ(t){return this.array[t*this.itemSize+2]}setZ(t,e){return this.array[t*this.itemSize+2]=e,this}getW(t){return this.array[t*this.itemSize+3]}setW(t,e){return this.array[t*this.itemSize+3]=e,this}setXY(t,e,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this}setXYZ(t,e,n,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};return""!==this.name&&(t.name=this.name),this.usage!==G&&(t.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(t.updateRange=this.updateRange),t}}Be.prototype.isBufferAttribute=!0;class Fe extends Be{constructor(t,e,n){super(new Uint16Array(t),e,n)}}class Ue extends Be{constructor(t,e,n){super(new Uint32Array(t),e,n)}}(class extends Be{constructor(t,e,n){super(new Uint16Array(t),e,n)}}).prototype.isFloat16BufferAttribute=!0;class He extends Be{constructor(t,e,n){super(new Float32Array(t),e,n)}}function Ge(t){if(0===t.length)return-1/0;let e=t[0];for(let n=1,i=t.length;n<i;++n)t[n]>e&&(e=t[n]);return e}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;let Ve=0;const ke=new Vt,We=new pe,je=new ut,qe=new mt,Xe=new mt,Ye=new ut;class Je extends W{constructor(){super(),Object.defineProperty(this,"id",{value:Ve++}),this.uuid=Y(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(Ge(t)>65535?Ue:Fe)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new et).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return ke.makeRotationFromQuaternion(t),this.applyMatrix4(ke),this}rotateX(t){return ke.makeRotationX(t),this.applyMatrix4(ke),this}rotateY(t){return ke.makeRotationY(t),this.applyMatrix4(ke),this}rotateZ(t){return ke.makeRotationZ(t),this.applyMatrix4(ke),this}translate(t,e,n){return ke.makeTranslation(t,e,n),this.applyMatrix4(ke),this}scale(t,e,n){return ke.makeScale(t,e,n),this.applyMatrix4(ke),this}lookAt(t){return We.lookAt(t),We.updateMatrix(),this.applyMatrix4(We.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(je).negate(),this.translate(je.x,je.y,je.z),this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(i.x,i.y,i.z||0)}return this.setAttribute("position",new He(e,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new mt);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new ut(-1/0,-1/0,-1/0),new ut(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let n=0,i=e.length;n<i;n++){const t=e[n];qe.setFromBufferAttribute(t),this.morphTargetsRelative?(Ye.addVectors(this.boundingBox.min,qe.min),this.boundingBox.expandByPoint(Ye),Ye.addVectors(this.boundingBox.max,qe.max),this.boundingBox.expandByPoint(Ye)):(this.boundingBox.expandByPoint(qe.min),this.boundingBox.expandByPoint(qe.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new It);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingSphere.set(new ut,1/0);if(t){const n=this.boundingSphere.center;if(qe.setFromBufferAttribute(t),e)for(let t=0,r=e.length;t<r;t++){const n=e[t];Xe.setFromBufferAttribute(n),this.morphTargetsRelative?(Ye.addVectors(qe.min,Xe.min),qe.expandByPoint(Ye),Ye.addVectors(qe.max,Xe.max),qe.expandByPoint(Ye)):(qe.expandByPoint(Xe.min),qe.expandByPoint(Xe.max))}qe.getCenter(n);let i=0;for(let e=0,r=t.count;e<r;e++)Ye.fromBufferAttribute(t,e),i=Math.max(i,n.distanceToSquared(Ye));if(e)for(let r=0,s=e.length;r<s;r++){const s=e[r],a=this.morphTargetsRelative;for(let e=0,r=s.count;e<r;e++)Ye.fromBufferAttribute(s,e),a&&(je.fromBufferAttribute(t,e),Ye.add(je)),i=Math.max(i,n.distanceToSquared(Ye))}this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeFaceNormals(){}computeTangents(){const t=this.index,e=this.attributes;if(null===t||void 0===e.position||void 0===e.normal||void 0===e.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const n=t.array,i=e.position.array,r=e.normal.array,s=e.uv.array,a=i.length/3;void 0===e.tangent&&this.setAttribute("tangent",new Be(new Float32Array(4*a),4));const o=e.tangent.array,l=[],c=[];for(let T=0;T<a;T++)l[T]=new ut,c[T]=new ut;const h=new ut,u=new ut,d=new ut,p=new tt,m=new tt,f=new tt,g=new ut,v=new ut;function y(t,e,n){h.fromArray(i,3*t),u.fromArray(i,3*e),d.fromArray(i,3*n),p.fromArray(s,2*t),m.fromArray(s,2*e),f.fromArray(s,2*n),u.sub(h),d.sub(h),m.sub(p),f.sub(p);const r=1/(m.x*f.y-f.x*m.y);isFinite(r)&&(g.copy(u).multiplyScalar(f.y).addScaledVector(d,-m.y).multiplyScalar(r),v.copy(d).multiplyScalar(m.x).addScaledVector(u,-f.x).multiplyScalar(r),l[t].add(g),l[e].add(g),l[n].add(g),c[t].add(v),c[e].add(v),c[n].add(v))}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let T=0,E=x.length;T<E;++T){const t=x[T],e=t.start;for(let i=e,r=e+t.count;i<r;i+=3)y(n[i+0],n[i+1],n[i+2])}const _=new ut,b=new ut,M=new ut,w=new ut;function S(t){M.fromArray(r,3*t),w.copy(M);const e=l[t];_.copy(e),_.sub(M.multiplyScalar(M.dot(e))).normalize(),b.crossVectors(w,e);const n=b.dot(c[t])<0?-1:1;o[4*t]=_.x,o[4*t+1]=_.y,o[4*t+2]=_.z,o[4*t+3]=n}for(let T=0,E=x.length;T<E;++T){const t=x[T],e=t.start;for(let i=e,r=e+t.count;i<r;i+=3)S(n[i+0]),S(n[i+1]),S(n[i+2])}}computeVertexNormals(){const t=this.index,e=this.getAttribute("position");if(void 0!==e){let n=this.getAttribute("normal");if(void 0===n)n=new Be(new Float32Array(3*e.count),3),this.setAttribute("normal",n);else for(let t=0,e=n.count;t<e;t++)n.setXYZ(t,0,0,0);const i=new ut,r=new ut,s=new ut,a=new ut,o=new ut,l=new ut,c=new ut,h=new ut;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0),p=t.getX(u+1),m=t.getX(u+2);i.fromBufferAttribute(e,d),r.fromBufferAttribute(e,p),s.fromBufferAttribute(e,m),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),a.fromBufferAttribute(n,d),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,m),a.add(c),o.add(c),l.add(c),n.setXYZ(d,a.x,a.y,a.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(m,l.x,l.y,l.z)}else for(let t=0,u=e.count;t<u;t+=3)i.fromBufferAttribute(e,t+0),r.fromBufferAttribute(e,t+1),s.fromBufferAttribute(e,t+2),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),n.setXYZ(t+0,c.x,c.y,c.z),n.setXYZ(t+1,c.x,c.y,c.z),n.setXYZ(t+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(t,e){if(!t||!t.isBufferGeometry)return void console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t);void 0===e&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));const n=this.attributes;for(const i in n){if(void 0===t.attributes[i])continue;const r=n[i].array,s=t.attributes[i],a=s.array,o=s.itemSize*e,l=Math.min(a.length,r.length-o);for(let t=0,e=o;t<l;t++,e++)r[e]=a[t]}return this}normalizeNormals(){const t=this.attributes.normal;for(let e=0,n=t.count;e<n;e++)Ye.fromBufferAttribute(t,e),Ye.normalize(),t.setXYZ(e,Ye.x,Ye.y,Ye.z)}toNonIndexed(){function t(t,e){const n=t.array,i=t.itemSize,r=t.normalized,s=new n.constructor(e.length*i);let a=0,o=0;for(let l=0,c=e.length;l<c;l++){a=t.isInterleavedBufferAttribute?e[l]*t.data.stride+t.offset:e[l]*i;for(let t=0;t<i;t++)s[o++]=n[a++]}return new Be(s,i,r)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const e=new Je,n=this.index.array,i=this.attributes;for(const a in i){const r=t(i[a],n);e.setAttribute(a,r)}const r=this.morphAttributes;for(const a in r){const i=[],s=r[a];for(let e=0,r=s.length;e<r;e++){const r=t(s[e],n);i.push(r)}e.morphAttributes[a]=i}e.morphTargetsRelative=this.morphTargetsRelative;const s=this.groups;for(let a=0,o=s.length;a<o;a++){const t=s[a];e.addGroup(t.start,t.count,t.materialIndex)}return e}toJSON(){const t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const o in n){const e=n[o];t.data.attributes[o]=e.toJSON(t.data)}const i={};let r=!1;for(const o in this.morphAttributes){const e=this.morphAttributes[o],n=[];for(let i=0,r=e.length;i<r;i++){const r=e[i];n.push(r.toJSON(t.data))}n.length>0&&(i[o]=n,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new Je).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const l in i){const t=i[l];this.setAttribute(l,t.clone(e))}const r=t.morphAttributes;for(const l in r){const t=[],n=r[l];for(let i=0,r=n.length;i<r;i++)t.push(n[i].clone(e));this.morphAttributes[l]=t}this.morphTargetsRelative=t.morphTargetsRelative;const s=t.groups;for(let l=0,c=s.length;l<c;l++){const t=s[l];this.addGroup(t.start,t.count,t.materialIndex)}const a=t.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=t.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}Je.prototype.isBufferGeometry=!0;const Ze=new Vt,Qe=new Gt,Ke=new It,$e=new ut,tn=new ut,en=new ut,nn=new ut,rn=new ut,sn=new ut,an=new ut,on=new ut,ln=new ut,cn=new tt,hn=new tt,un=new tt,dn=new ut,pn=new ut;class mn extends pe{constructor(t=new Je,e=new Ne){super(),this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t){return super.copy(t),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=t.material,this.geometry=t.geometry,this}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}}}}else{const e=t.morphTargets;void 0!==e&&e.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Ke.copy(n.boundingSphere),Ke.applyMatrix4(r),!1===t.ray.intersectsSphere(Ke))return;if(Ze.copy(r).invert(),Qe.copy(t.ray).applyMatrix4(Ze),null!==n.boundingBox&&!1===Qe.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const r=n.index,a=n.attributes.position,o=n.morphAttributes.position,l=n.morphTargetsRelative,c=n.attributes.uv,h=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==r)if(Array.isArray(i))for(let n=0,p=u.length;n<p;n++){const p=u[n],m=i[p.materialIndex];for(let n=Math.max(p.start,d.start),i=Math.min(p.start+p.count,d.start+d.count);n<i;n+=3){const i=r.getX(n),u=r.getX(n+1),d=r.getX(n+2);s=fn(this,m,t,Qe,a,o,l,c,h,i,u,d),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=p.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),u=Math.min(r.count,d.start+d.count);n<u;n+=3){const u=r.getX(n),d=r.getX(n+1),p=r.getX(n+2);s=fn(this,i,t,Qe,a,o,l,c,h,u,d,p),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}else if(void 0!==a)if(Array.isArray(i))for(let n=0,p=u.length;n<p;n++){const r=u[n],p=i[r.materialIndex];for(let n=Math.max(r.start,d.start),i=Math.min(r.start+r.count,d.start+d.count);n<i;n+=3){s=fn(this,p,t,Qe,a,o,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),r=Math.min(a.count,d.start+d.count);n<r;n+=3){s=fn(this,i,t,Qe,a,o,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}}else n.isGeometry&&console.error("THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}function fn(t,e,n,i,r,a,o,l,c,h,u,d){$e.fromBufferAttribute(r,h),tn.fromBufferAttribute(r,u),en.fromBufferAttribute(r,d);const p=t.morphTargetInfluences;if(e.morphTargets&&a&&p){an.set(0,0,0),on.set(0,0,0),ln.set(0,0,0);for(let t=0,e=a.length;t<e;t++){const e=p[t],n=a[t];0!==e&&(nn.fromBufferAttribute(n,h),rn.fromBufferAttribute(n,u),sn.fromBufferAttribute(n,d),o?(an.addScaledVector(nn,e),on.addScaledVector(rn,e),ln.addScaledVector(sn,e)):(an.addScaledVector(nn.sub($e),e),on.addScaledVector(rn.sub(tn),e),ln.addScaledVector(sn.sub(en),e)))}$e.add(an),tn.add(on),en.add(ln)}t.isSkinnedMesh&&(t.boneTransform(h,$e),t.boneTransform(u,tn),t.boneTransform(d,en));const m=function(t,e,n,i,r,a,o,l){let c;if(c=e.side===s?i.intersectTriangle(o,a,r,!0,l):i.intersectTriangle(r,a,o,2!==e.side,l),null===c)return null;pn.copy(l),pn.applyMatrix4(t.matrixWorld);const h=n.ray.origin.distanceTo(pn);return h<n.near||h>n.far?null:{distance:h,point:pn.clone(),object:t}}(t,e,n,i,$e,tn,en,dn);if(m){l&&(cn.fromBufferAttribute(l,h),hn.fromBufferAttribute(l,u),un.fromBufferAttribute(l,d),m.uv=Se.getUV(dn,$e,tn,en,cn,hn,un,new tt)),c&&(cn.fromBufferAttribute(c,h),hn.fromBufferAttribute(c,u),un.fromBufferAttribute(c,d),m.uv2=Se.getUV(dn,$e,tn,en,cn,hn,un,new tt));const t={a:h,b:u,c:d,normal:new ut,materialIndex:0};Se.getNormal($e,tn,en,t.normal),m.face=t}return m}mn.prototype.isMesh=!0;class gn extends Je{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,v){const y=s/f,x=p/g,_=s/2,b=p/2,M=m/2,w=f+1,S=g+1;let T=0,E=0;const L=new ut;for(let a=0;a<S;a++){const s=a*x-b;for(let o=0;o<w;o++){const u=o*y-_;L[t]=u*i,L[e]=s*r,L[n]=M,l.push(L.x,L.y,L.z),L[t]=0,L[e]=0,L[n]=m>0?1:-1,c.push(L.x,L.y,L.z),h.push(o/f),h.push(1-a/g),T+=1}}for(let a=0;a<g;a++)for(let t=0;t<f;t++){const e=u+t+w*a,n=u+t+w*(a+1),i=u+(t+1)+w*(a+1),r=u+(t+1)+w*a;o.push(e,n,r),o.push(n,i,r),E+=6}a.addGroup(d,E,v),d+=E,u+=T}p("z","y","x",-1,-1,n,e,t,s,r,0),p("z","y","x",1,-1,n,e,-t,s,r,1),p("x","z","y",1,1,t,n,e,i,s,2),p("x","z","y",1,-1,t,n,-e,i,s,3),p("x","y","z",1,-1,t,e,n,i,r,4),p("x","y","z",-1,-1,t,e,-n,i,r,5),this.setIndex(o),this.setAttribute("position",new He(l,3)),this.setAttribute("normal",new He(c,3)),this.setAttribute("uv",new He(h,2))}static fromJSON(t){return new gn(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function vn(t){const e={};for(const n in t){e[n]={};for(const i in t[n]){const r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}function yn(t){const e={};for(let n=0;n<t.length;n++){const i=vn(t[n]);for(const t in i)e[t]=i[t]}return e}const xn={clone:vn,merge:yn};class _n extends Ee{constructor(t){super(),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==t&&(void 0!==t.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(t))}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=vn(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const i in this.uniforms){const n=this.uniforms[i].value;n&&n.isTexture?e.uniforms[i]={type:"t",value:n.toJSON(t).uuid}:n&&n.isColor?e.uniforms[i]={type:"c",value:n.getHex()}:n&&n.isVector2?e.uniforms[i]={type:"v2",value:n.toArray()}:n&&n.isVector3?e.uniforms[i]={type:"v3",value:n.toArray()}:n&&n.isVector4?e.uniforms[i]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?e.uniforms[i]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?e.uniforms[i]={type:"m4",value:n.toArray()}:e.uniforms[i]={value:n}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const i in this.extensions)!0===this.extensions[i]&&(n[i]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}_n.prototype.isShaderMaterial=!0;class bn extends pe{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new Vt,this.projectionMatrix=new Vt,this.projectionMatrixInverse=new Vt}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}bn.prototype.isCamera=!0;class Mn extends bn{constructor(t=50,e=1,n=.1,i=2e3){super(),this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*X*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*q*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*X*Math.atan(Math.tan(.5*q*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*q*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}Mn.prototype.isPerspectiveCamera=!0;const wn=90;class Sn extends pe{constructor(t,e,n){if(super(),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const i=new Mn(wn,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new ut(1,0,0)),this.add(i);const r=new Mn(wn,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new ut(-1,0,0)),this.add(r);const s=new Mn(wn,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new ut(0,1,0)),this.add(s);const a=new Mn(wn,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new ut(0,-1,0)),this.add(a);const o=new Mn(wn,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new ut(0,0,1)),this.add(o);const l=new Mn(wn,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new ut(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,s,a,o,l]=this.children,c=t.xr.enabled,h=t.getRenderTarget();t.xr.enabled=!1;const u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,s),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=u,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(h),t.xr.enabled=c}}class Tn extends st{constructor(t,e,n,i,r,s,a,l,c,h){super(t=void 0!==t?t:[],e=void 0!==e?e:o,n,i,r,s,a=void 0!==a?a:T,l,c,h),this._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}Tn.prototype.isCubeTexture=!0;class En extends lt{constructor(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),super(t,t,e),e=e||{},this.texture=new Tn(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:v,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.format=E,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new gn(5,5,5),r=new _n({name:"CubemapFromEquirect",uniforms:vn(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:s,blending:0});r.uniforms.tEquirect.value=e;const a=new mn(i,r),o=e.minFilter;e.minFilter===y&&(e.minFilter=v);return new Sn(1,10,this).update(t,a),e.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let s=0;s<6;s++)t.setRenderTarget(this,s),t.clear(e,n,i);t.setRenderTarget(r)}}En.prototype.isWebGLCubeRenderTarget=!0;const Ln=new ut,An=new ut,Rn=new et;class Cn{constructor(t=new ut(1,0,0),e=0){this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=Ln.subVectors(n,e).cross(An.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const n=t.delta(Ln),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(n).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||Rn.getNormalMatrix(t),i=this.coplanarPoint(Ln).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Cn.prototype.isPlane=!0;const Pn=new It,Dn=new ut;class In{constructor(t=new Cn,e=new Cn,n=new Cn,i=new Cn,r=new Cn,s=new Cn){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],s=n[2],a=n[3],o=n[4],l=n[5],c=n[6],h=n[7],u=n[8],d=n[9],p=n[10],m=n[11],f=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(a-i,h-o,m-u,y-f).normalize(),e[1].setComponents(a+i,h+o,m+u,y+f).normalize(),e[2].setComponents(a+r,h+l,m+d,y+g).normalize(),e[3].setComponents(a-r,h-l,m-d,y-g).normalize(),e[4].setComponents(a-s,h-c,m-p,y-v).normalize(),e[5].setComponents(a+s,h+c,m+p,y+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Pn.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(Pn)}intersectsSprite(t){return Pn.center.set(0,0,0),Pn.radius=.7071067811865476,Pn.applyMatrix4(t.matrixWorld),this.intersectsSphere(Pn)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let r=0;r<6;r++){if(e[r].distanceToPoint(n)<i)return!1}return!0}intersectsBox(t){const e=this.planes;for(let n=0;n<6;n++){const i=e[n];if(Dn.x=i.normal.x>0?t.max.x:t.min.x,Dn.y=i.normal.y>0?t.max.y:t.min.y,Dn.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(Dn)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Nn(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function zn(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version<e.version)&&i.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version}))}e.isInterleavedBufferAttribute&&(e=e.data);const s=i.get(e);void 0===s?i.set(e,function(e,i){const r=e.array,s=e.usage,a=t.createBuffer();t.bindBuffer(i,a),t.bufferData(i,r,s),e.onUploadCallback();let o=5126;return r instanceof Float32Array?o=5126:r instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):r instanceof Uint16Array?e.isFloat16BufferAttribute?n?o=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):o=5123:r instanceof Int16Array?o=5122:r instanceof Uint32Array?o=5125:r instanceof Int32Array?o=5124:r instanceof Int8Array?o=5120:(r instanceof Uint8Array||r instanceof Uint8ClampedArray)&&(o=5121),{buffer:a,type:o,bytesPerElement:r.BYTES_PER_ELEMENT,version:e.version}}(e,r)):s.version<e.version&&(!function(e,i,r){const s=i.array,a=i.updateRange;t.bindBuffer(r,e),-1===a.count?t.bufferSubData(r,0,s):(n?t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count)),a.count=-1)}(s.buffer,e,r),s.version=e.version)}}}class On extends Je{constructor(t=1,e=1,n=1,i=1){super(),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};const r=t/2,s=e/2,a=Math.floor(n),o=Math.floor(i),l=a+1,c=o+1,h=t/a,u=e/o,d=[],p=[],m=[],f=[];for(let g=0;g<c;g++){const t=g*u-s;for(let e=0;e<l;e++){const n=e*h-r;p.push(n,-t,0),m.push(0,0,1),f.push(e/a),f.push(1-g/o)}}for(let g=0;g<o;g++)for(let t=0;t<a;t++){const e=t+l*g,n=t+l*(g+1),i=t+1+l*(g+1),r=t+1+l*g;d.push(e,n,r),d.push(n,i,r)}this.setIndex(d),this.setAttribute("position",new He(p,3)),this.setAttribute("normal",new He(m,3)),this.setAttribute("uv",new He(f,2))}static fromJSON(t){return new On(t.width,t.height,t.widthSegments,t.heightSegments)}}const Bn={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotVH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSNMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition.xyz / vWorldPosition.w;\n\tvec3 v = normalize( cameraPosition - pos );\n\tfloat ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );\n\tvec3 transmission = transmissionFactor * getIBLVolumeRefraction(\n\t\tnormal, v, roughnessFactor, material.diffuseColor, totalSpecular,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec4 vWorldPosition;\n\tvec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {\n\t\tvec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length(vec3(modelMatrix[0].xyz));\n\t\tmodelScale.y = length(vec3(modelMatrix[1].xyz));\n\t\tmodelScale.z = length(vec3(modelMatrix[2].xyz));\n\t\treturn normalize(refractionVector) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness(float roughness, float ior) {\n\t\treturn roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);\n\t}\n\tvec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {\n\t\tfloat framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);\n\t\treturn texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;\n\t}\n\tvec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {\n\t\tif (attenuationDistance == 0.0) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;\n\t\t\tvec3 transmittance = exp(-attenuationCoefficient * transmissionDistance);\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec3 getIBLVolumeRefraction(vec3 n, vec3 v, float perceptualRoughness, vec3 baseColor, vec3 specularColor,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);\n\t\tvec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);\n\t\treturn (1.0 - specularColor) * attenuatedColor * baseColor;\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform vec3 attenuationColor;\n\tuniform float attenuationDistance;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <transmission_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#ifdef USE_TRANSMISSION\n\tvarying vec4 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition;\n#endif\n}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}"},Fn={common:{diffuse:{value:new Ie(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new et},uv2Transform:{value:new et},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new tt(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ie(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Ie(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new et}},sprite:{diffuse:{value:new Ie(16777215)},opacity:{value:1},center:{value:new tt(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new et}}},Un={basic:{uniforms:yn([Fn.common,Fn.specularmap,Fn.envmap,Fn.aomap,Fn.lightmap,Fn.fog]),vertexShader:Bn.meshbasic_vert,fragmentShader:Bn.meshbasic_frag},lambert:{uniforms:yn([Fn.common,Fn.specularmap,Fn.envmap,Fn.aomap,Fn.lightmap,Fn.emissivemap,Fn.fog,Fn.lights,{emissive:{value:new Ie(0)}}]),vertexShader:Bn.meshlambert_vert,fragmentShader:Bn.meshlambert_frag},phong:{uniforms:yn([Fn.common,Fn.specularmap,Fn.envmap,Fn.aomap,Fn.lightmap,Fn.emissivemap,Fn.bumpmap,Fn.normalmap,Fn.displacementmap,Fn.fog,Fn.lights,{emissive:{value:new Ie(0)},specular:{value:new Ie(1118481)},shininess:{value:30}}]),vertexShader:Bn.meshphong_vert,fragmentShader:Bn.meshphong_frag},standard:{uniforms:yn([Fn.common,Fn.envmap,Fn.aomap,Fn.lightmap,Fn.emissivemap,Fn.bumpmap,Fn.normalmap,Fn.displacementmap,Fn.roughnessmap,Fn.metalnessmap,Fn.fog,Fn.lights,{emissive:{value:new Ie(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Bn.meshphysical_vert,fragmentShader:Bn.meshphysical_frag},toon:{uniforms:yn([Fn.common,Fn.aomap,Fn.lightmap,Fn.emissivemap,Fn.bumpmap,Fn.normalmap,Fn.displacementmap,Fn.gradientmap,Fn.fog,Fn.lights,{emissive:{value:new Ie(0)}}]),vertexShader:Bn.meshtoon_vert,fragmentShader:Bn.meshtoon_frag},matcap:{uniforms:yn([Fn.common,Fn.bumpmap,Fn.normalmap,Fn.displacementmap,Fn.fog,{matcap:{value:null}}]),vertexShader:Bn.meshmatcap_vert,fragmentShader:Bn.meshmatcap_frag},points:{uniforms:yn([Fn.points,Fn.fog]),vertexShader:Bn.points_vert,fragmentShader:Bn.points_frag},dashed:{uniforms:yn([Fn.common,Fn.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Bn.linedashed_vert,fragmentShader:Bn.linedashed_frag},depth:{uniforms:yn([Fn.common,Fn.displacementmap]),vertexShader:Bn.depth_vert,fragmentShader:Bn.depth_frag},normal:{uniforms:yn([Fn.common,Fn.bumpmap,Fn.normalmap,Fn.displacementmap,{opacity:{value:1}}]),vertexShader:Bn.normal_vert,fragmentShader:Bn.normal_frag},sprite:{uniforms:yn([Fn.sprite,Fn.fog]),vertexShader:Bn.sprite_vert,fragmentShader:Bn.sprite_frag},background:{uniforms:{uvTransform:{value:new et},t2D:{value:null}},vertexShader:Bn.background_vert,fragmentShader:Bn.background_frag},cube:{uniforms:yn([Fn.envmap,{opacity:{value:1}}]),vertexShader:Bn.cube_vert,fragmentShader:Bn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Bn.equirect_vert,fragmentShader:Bn.equirect_frag},distanceRGBA:{uniforms:yn([Fn.common,Fn.displacementmap,{referencePosition:{value:new ut},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Bn.distanceRGBA_vert,fragmentShader:Bn.distanceRGBA_frag},shadow:{uniforms:yn([Fn.lights,Fn.fog,{color:{value:new Ie(0)},opacity:{value:1}}]),vertexShader:Bn.shadow_vert,fragmentShader:Bn.shadow_frag}};function Hn(t,e,n,i,r){const a=new Ie(0);let o,l,h=0,u=null,d=0,p=null;function m(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,r)}return{getClearColor:function(){return a},setClearColor:function(t,e=1){a.set(t),h=e,m(a,h)},getClearAlpha:function(){return h},setClearAlpha:function(t){h=t,m(a,h)},render:function(n,r){let f=!1,g=!0===r.isScene?r.background:null;g&&g.isTexture&&(g=e.get(g));const v=t.xr,y=v.getSession&&v.getSession();y&&"additive"===y.environmentBlendMode&&(g=null),null===g?m(a,h):g&&g.isColor&&(m(g,1),f=!0),(t.autoClear||f)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),g&&(g.isCubeTexture||g.mapping===c)?(void 0===l&&(l=new mn(new gn(1,1,1),new _n({name:"BackgroundCubeMaterial",uniforms:vn(Un.cube.uniforms),vertexShader:Un.cube.vertexShader,fragmentShader:Un.cube.fragmentShader,side:s,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),l.geometry.deleteAttribute("uv"),l.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(l.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(l)),l.material.uniforms.envMap.value=g,l.material.uniforms.flipEnvMap.value=g.isCubeTexture&&g._needsFlipEnvMap?-1:1,u===g&&d===g.version&&p===t.toneMapping||(l.material.needsUpdate=!0,u=g,d=g.version,p=t.toneMapping),n.unshift(l,l.geometry,l.material,0,0,null)):g&&g.isTexture&&(void 0===o&&(o=new mn(new On(2,2),new _n({name:"BackgroundMaterial",uniforms:vn(Un.background.uniforms),vertexShader:Un.background.vertexShader,fragmentShader:Un.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(o)),o.material.uniforms.t2D.value=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),o.material.uniforms.uvTransform.value.copy(g.matrix),u===g&&d===g.version&&p===t.toneMapping||(o.material.needsUpdate=!0,u=g,d=g.version,p=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null))}}}function Gn(t,e,n,i){const r=t.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=d(null);let c=l;function h(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function u(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],i=[];for(let s=0;s<r;s++)e[s]=0,n[s]=0,i[s]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:n,attributeDivisors:i,object:t,attributes:{},index:null}}function p(){const t=c.newAttributes;for(let e=0,n=t.length;e<n;e++)t[e]=0}function m(t){f(t,0)}function f(n,r){const s=c.newAttributes,a=c.enabledAttributes,o=c.attributeDivisors;if(s[n]=1,0===a[n]&&(t.enableVertexAttribArray(n),a[n]=1),o[n]!==r){(i.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,r),o[n]=r}}function g(){const e=c.newAttributes,n=c.enabledAttributes;for(let i=0,r=n.length;i<r;i++)n[i]!==e[i]&&(t.disableVertexAttribArray(i),n[i]=0)}function v(e,n,r,s,a,o){!0!==i.isWebGL2||5124!==r&&5125!==r?t.vertexAttribPointer(e,n,r,s,a,o):t.vertexAttribIPointer(e,n,r,a,o)}function y(){x(),c!==l&&(c=l,h(c.object))}function x(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,u,y,x){let _=!1;if(a){const e=function(e,n,r){const a=!0===r.wireframe;let l=o[e.id];void 0===l&&(l={},o[e.id]=l);let c=l[n.id];void 0===c&&(c={},l[n.id]=c);let h=c[a];void 0===h&&(h=d(i.isWebGL2?t.createVertexArray():s.createVertexArrayOES()),c[a]=h);return h}(y,u,l);c!==e&&(c=e,h(c.object)),_=function(t,e){const n=c.attributes,i=t.attributes;let r=0;for(const s in i){const t=n[s],e=i[s];if(void 0===t)return!0;if(t.attribute!==e)return!0;if(t.data!==e.data)return!0;r++}return c.attributesNum!==r||c.index!==e}(y,x),_&&function(t,e){const n={},i=t.attributes;let r=0;for(const s in i){const t=i[s],e={};e.attribute=t,t.data&&(e.data=t.data),n[s]=e,r++}c.attributes=n,c.attributesNum=r,c.index=e}(y,x)}else{const t=!0===l.wireframe;c.geometry===y.id&&c.program===u.id&&c.wireframe===t||(c.geometry=y.id,c.program=u.id,c.wireframe=t,_=!0)}!0===r.isInstancedMesh&&(_=!0),null!==x&&n.update(x,34963),_&&(!function(r,s,a,o){if(!1===i.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;p();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const i=c[e];if(i>=0){const s=l[e];if(void 0!==s){const e=s.normalized,r=s.itemSize,a=n.get(s);if(void 0===a)continue;const l=a.buffer,c=a.type,h=a.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,a=n.stride,u=s.offset;n&&n.isInstancedInterleavedBuffer?(f(i,n.meshPerAttribute),void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)):m(i),t.bindBuffer(34962,l),v(i,r,c,e,a*h,u*h)}else s.isInstancedBufferAttribute?(f(i,s.meshPerAttribute),void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)):m(i),t.bindBuffer(34962,l),v(i,r,c,e,0,0)}else if("instanceMatrix"===e){const e=n.get(r.instanceMatrix);if(void 0===e)continue;const s=e.buffer,a=e.type;f(i+0,1),f(i+1,1),f(i+2,1),f(i+3,1),t.bindBuffer(34962,s),t.vertexAttribPointer(i+0,4,a,!1,64,0),t.vertexAttribPointer(i+1,4,a,!1,64,16),t.vertexAttribPointer(i+2,4,a,!1,64,32),t.vertexAttribPointer(i+3,4,a,!1,64,48)}else if("instanceColor"===e){const e=n.get(r.instanceColor);if(void 0===e)continue;const s=e.buffer,a=e.type;f(i,1),t.bindBuffer(34962,s),t.vertexAttribPointer(i,3,a,!1,12,0)}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i,n);break;case 3:t.vertexAttrib3fv(i,n);break;case 4:t.vertexAttrib4fv(i,n);break;default:t.vertexAttrib1fv(i,n)}}}}g()}(r,l,u,y),null!==x&&t.bindBuffer(34963,n.get(x).buffer))},reset:y,resetDefaultState:x,dispose:function(){y();for(const t in o){const e=o[t];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete o[t]}},releaseStatesOfGeometry:function(t){if(void 0===o[t.id])return;const e=o[t.id];for(const n in e){const t=e[n];for(const e in t)u(t[e].object),delete t[e];delete e[n]}delete o[t.id]},releaseStatesOfProgram:function(t){for(const e in o){const n=o[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)u(i[t].object),delete i[t];delete n[t.id]}},initAttributes:p,enableAttribute:m,disableUnusedAttributes:g}}function Vn(t,e,n,i){const r=i.isWebGL2;let s;this.setMode=function(t){s=t},this.render=function(e,i){t.drawArrays(s,e,i),n.update(i,s,1)},this.renderInstances=function(i,a,o){if(0===o)return;let l,c;if(r)l=t,c="drawArraysInstanced";else if(l=e.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](s,i,a,o),n.update(a,s,o)}}function kn(t,e,n){let i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!==typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!==typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),y=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:y&&x,maxSamples:s?t.getParameter(36183):0}}function Wn(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new Cn,o=new et,l={value:null,needsUpdate:!1};function c(){l.value!==n&&(l.value=n,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length<e)&&(c=new Float32Array(e));for(let n=0,l=i;n!==s;++n,l+=4)a.copy(t[n]).applyMatrix4(r,o),a.normal.toArray(c,l),c[l+3]=a.constant}l.value=c,l.needsUpdate=!0}return e.numPlanes=s,e.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(t,e,s){const a=0!==t.length||e||0!==i||r;return r=e,n=h(t,s,0),i=t.length,a},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1,c()},this.setState=function(e,a,o){const u=e.clippingPlanes,d=e.clipIntersection,p=e.clipShadows,m=t.get(e);if(!r||null===u||0===u.length||s&&!p)s?h(null):c();else{const t=s?0:i,e=4*t;let r=m.clippingState||null;l.value=r,r=h(u,a,e,o);for(let i=0;i!==e;++i)r[i]=n[i];m.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function jn(t){let e=new WeakMap;function n(t,e){return 303===e?t.mapping=o:304===e&&(t.mapping=l),t}function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const s=r.mapping;if(303===s||304===s){if(e.has(r)){return n(e.get(r).texture,r.mapping)}{const s=r.image;if(s&&s.height>0){const a=t.getRenderTarget(),o=new En(s.height/2);return o.fromEquirectangularTexture(t,r),e.set(r,o),t.setRenderTarget(a),r.addEventListener("dispose",i),n(o.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}function qn(t){const e={};function n(n){if(void 0!==e[n])return e[n];let i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n)}return e[n]=i,i}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function Xn(t,e,n,i){const r={},s=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const n in o.attributes)e.remove(o.attributes[n]);o.removeEventListener("dispose",a),delete r[o.id];const l=s.get(o);l&&(e.remove(l),s.delete(o)),i.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],i=t.index,r=t.attributes.position;let a=0;if(null!==i){const t=i.array;a=i.version;for(let e=0,i=t.length;e<i;e+=3){const i=t[e+0],r=t[e+1],s=t[e+2];n.push(i,r,r,s,s,i)}}else{const t=r.array;a=r.version;for(let e=0,i=t.length/3-1;e<i;e+=3){const t=e+0,i=e+1,r=e+2;n.push(t,i,i,r,r,t)}}const o=new(Ge(n)>65535?Ue:Fe)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const r in n)e.update(n[r],34962);const i=t.morphAttributes;for(const r in i){const t=i[r];for(let n=0,i=t.length;n<i;n++)e.update(t[n],34962)}},getWireframeAttribute:function(t){const e=s.get(t);if(e){const n=t.index;null!==n&&e.version<n.version&&o(t)}else o(t);return s.get(t)}}}function Yn(t,e,n,i){const r=i.isWebGL2;let s,a,o;this.setMode=function(t){s=t},this.setIndex=function(t){a=t.type,o=t.bytesPerElement},this.render=function(e,i){t.drawElements(s,i,a,e*o),n.update(i,s,1)},this.renderInstances=function(i,l,c){if(0===c)return;let h,u;if(r)h=t,u="drawElementsInstanced";else if(h=e.get("ANGLE_instanced_arrays"),u="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[u](s,l,a,i*o,c),n.update(l,s,c)}}function Jn(t){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,n,i){switch(e.calls++,n){case 4:e.triangles+=i*(t/3);break;case 1:e.lines+=i*(t/2);break;case 3:e.lines+=i*(t-1);break;case 2:e.lines+=i*t;break;case 0:e.points+=i*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function Zn(t,e){return t[0]-e[0]}function Qn(t,e){return Math.abs(e[1])-Math.abs(t[1])}function Kn(t){const e={},n=new Float32Array(8),i=[];for(let r=0;r<8;r++)i[r]=[r,0];return{update:function(r,s,a,o){const l=r.morphTargetInfluences,c=void 0===l?0:l.length;let h=e[s.id];if(void 0===h||h.length!==c){h=[];for(let t=0;t<c;t++)h[t]=[t,0];e[s.id]=h}for(let t=0;t<c;t++){const e=h[t];e[0]=t,e[1]=l[t]}h.sort(Qn);for(let t=0;t<8;t++)t<c&&h[t][1]?(i[t][0]=h[t][0],i[t][1]=h[t][1]):(i[t][0]=Number.MAX_SAFE_INTEGER,i[t][1]=0);i.sort(Zn);const u=a.morphTargets&&s.morphAttributes.position,d=a.morphNormals&&s.morphAttributes.normal;let p=0;for(let t=0;t<8;t++){const e=i[t],r=e[0],a=e[1];r!==Number.MAX_SAFE_INTEGER&&a?(u&&s.getAttribute("morphTarget"+t)!==u[r]&&s.setAttribute("morphTarget"+t,u[r]),d&&s.getAttribute("morphNormal"+t)!==d[r]&&s.setAttribute("morphNormal"+t,d[r]),n[t]=a,p+=a):(u&&!0===s.hasAttribute("morphTarget"+t)&&s.deleteAttribute("morphTarget"+t),d&&!0===s.hasAttribute("morphNormal"+t)&&s.deleteAttribute("morphNormal"+t),n[t]=0)}const m=s.morphTargetsRelative?1:1-p;o.getUniforms().setValue(t,"morphTargetBaseInfluence",m),o.getUniforms().setValue(t,"morphTargetInfluences",n)}}}function $n(t,e,n,i){let r=new WeakMap;function s(t){const e=t.target;e.removeEventListener("dispose",s),n.remove(e.instanceMatrix),null!==e.instanceColor&&n.remove(e.instanceColor)}return{update:function(t){const a=i.render.frame,o=t.geometry,l=e.get(t,o);return r.get(l)!==a&&(e.update(l),r.set(l,a)),t.isInstancedMesh&&(!1===t.hasEventListener("dispose",s)&&t.addEventListener("dispose",s),n.update(t.instanceMatrix,34962),null!==t.instanceColor&&n.update(t.instanceColor,34962)),l},dispose:function(){r=new WeakMap}}}Un.physical={uniforms:yn([Un.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new tt(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new Ie(0)},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new tt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Ie(0)}}]),vertexShader:Bn.meshphysical_vert,fragmentShader:Bn.meshphysical_frag};class ti extends st{constructor(t=null,e=1,n=1,i=1){super(null),this.image={data:t,width:e,height:n,depth:i},this.magFilter=m,this.minFilter=m,this.wrapR=d,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}ti.prototype.isDataTexture2DArray=!0;class ei extends st{constructor(t=null,e=1,n=1,i=1){super(null),this.image={data:t,width:e,height:n,depth:i},this.magFilter=m,this.minFilter=m,this.wrapR=d,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}ei.prototype.isDataTexture3D=!0;const ni=new st,ii=new ti,ri=new ei,si=new Tn,ai=[],oi=[],li=new Float32Array(16),ci=new Float32Array(9),hi=new Float32Array(4);function ui(t,e,n){const i=t[0];if(i<=0||i>0)return t;const r=e*n;let s=ai[r];if(void 0===s&&(s=new Float32Array(r),ai[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function di(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function pi(t,e){for(let n=0,i=e.length;n<i;n++)t[n]=e[n]}function mi(t,e){let n=oi[e];void 0===n&&(n=new Int32Array(e),oi[e]=n);for(let i=0;i!==e;++i)n[i]=t.allocateTextureUnit();return n}function fi(t,e){const n=this.cache;n[0]!==e&&(t.uniform1f(this.addr,e),n[0]=e)}function gi(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(di(n,e))return;t.uniform2fv(this.addr,e),pi(n,e)}}function vi(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else if(void 0!==e.r)n[0]===e.r&&n[1]===e.g&&n[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),n[0]=e.r,n[1]=e.g,n[2]=e.b);else{if(di(n,e))return;t.uniform3fv(this.addr,e),pi(n,e)}}function yi(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(di(n,e))return;t.uniform4fv(this.addr,e),pi(n,e)}}function xi(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(di(n,e))return;t.uniformMatrix2fv(this.addr,!1,e),pi(n,e)}else{if(di(n,i))return;hi.set(i),t.uniformMatrix2fv(this.addr,!1,hi),pi(n,i)}}function _i(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(di(n,e))return;t.uniformMatrix3fv(this.addr,!1,e),pi(n,e)}else{if(di(n,i))return;ci.set(i),t.uniformMatrix3fv(this.addr,!1,ci),pi(n,i)}}function bi(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(di(n,e))return;t.uniformMatrix4fv(this.addr,!1,e),pi(n,e)}else{if(di(n,i))return;li.set(i),t.uniformMatrix4fv(this.addr,!1,li),pi(n,i)}}function Mi(t,e){const n=this.cache;n[0]!==e&&(t.uniform1i(this.addr,e),n[0]=e)}function wi(t,e){const n=this.cache;di(n,e)||(t.uniform2iv(this.addr,e),pi(n,e))}function Si(t,e){const n=this.cache;di(n,e)||(t.uniform3iv(this.addr,e),pi(n,e))}function Ti(t,e){const n=this.cache;di(n,e)||(t.uniform4iv(this.addr,e),pi(n,e))}function Ei(t,e){const n=this.cache;n[0]!==e&&(t.uniform1ui(this.addr,e),n[0]=e)}function Li(t,e){const n=this.cache;di(n,e)||(t.uniform2uiv(this.addr,e),pi(n,e))}function Ai(t,e){const n=this.cache;di(n,e)||(t.uniform3uiv(this.addr,e),pi(n,e))}function Ri(t,e){const n=this.cache;di(n,e)||(t.uniform4uiv(this.addr,e),pi(n,e))}function Ci(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.safeSetTexture2D(e||ni,r)}function Pi(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(e||ri,r)}function Di(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.safeSetTextureCube(e||si,r)}function Ii(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2DArray(e||ii,r)}function Ni(t,e){t.uniform1fv(this.addr,e)}function zi(t,e){const n=ui(e,this.size,2);t.uniform2fv(this.addr,n)}function Oi(t,e){const n=ui(e,this.size,3);t.uniform3fv(this.addr,n)}function Bi(t,e){const n=ui(e,this.size,4);t.uniform4fv(this.addr,n)}function Fi(t,e){const n=ui(e,this.size,4);t.uniformMatrix2fv(this.addr,!1,n)}function Ui(t,e){const n=ui(e,this.size,9);t.uniformMatrix3fv(this.addr,!1,n)}function Hi(t,e){const n=ui(e,this.size,16);t.uniformMatrix4fv(this.addr,!1,n)}function Gi(t,e){t.uniform1iv(this.addr,e)}function Vi(t,e){t.uniform2iv(this.addr,e)}function ki(t,e){t.uniform3iv(this.addr,e)}function Wi(t,e){t.uniform4iv(this.addr,e)}function ji(t,e){t.uniform1uiv(this.addr,e)}function qi(t,e){t.uniform2uiv(this.addr,e)}function Xi(t,e){t.uniform3uiv(this.addr,e)}function Yi(t,e){t.uniform4uiv(this.addr,e)}function Ji(t,e,n){const i=e.length,r=mi(n,i);t.uniform1iv(this.addr,r);for(let s=0;s!==i;++s)n.safeSetTexture2D(e[s]||ni,r[s])}function Zi(t,e,n){const i=e.length,r=mi(n,i);t.uniform1iv(this.addr,r);for(let s=0;s!==i;++s)n.safeSetTextureCube(e[s]||si,r[s])}function Qi(t,e,n){this.id=t,this.addr=n,this.cache=[],this.setValue=function(t){switch(t){case 5126:return fi;case 35664:return gi;case 35665:return vi;case 35666:return yi;case 35674:return xi;case 35675:return _i;case 35676:return bi;case 5124:case 35670:return Mi;case 35667:case 35671:return wi;case 35668:case 35672:return Si;case 35669:case 35673:return Ti;case 5125:return Ei;case 36294:return Li;case 36295:return Ai;case 36296:return Ri;case 35678:case 36198:case 36298:case 36306:case 35682:return Ci;case 35679:case 36299:case 36307:return Pi;case 35680:case 36300:case 36308:case 36293:return Di;case 36289:case 36303:case 36311:case 36292:return Ii}}(e.type)}function Ki(t,e,n){this.id=t,this.addr=n,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return Ni;case 35664:return zi;case 35665:return Oi;case 35666:return Bi;case 35674:return Fi;case 35675:return Ui;case 35676:return Hi;case 5124:case 35670:return Gi;case 35667:case 35671:return Vi;case 35668:case 35672:return ki;case 35669:case 35673:return Wi;case 5125:return ji;case 36294:return qi;case 36295:return Xi;case 36296:return Yi;case 35678:case 36198:case 36298:case 36306:case 35682:return Ji;case 35680:case 36300:case 36308:case 36293:return Zi}}(e.type)}function $i(t){this.id=t,this.seq=[],this.map={}}Ki.prototype.updateCache=function(t){const e=this.cache;t instanceof Float32Array&&e.length!==t.length&&(this.cache=new Float32Array(t.length)),pi(e,t)},$i.prototype.setValue=function(t,e,n){const i=this.seq;for(let r=0,s=i.length;r!==s;++r){const s=i[r];s.setValue(t,e[s.id],n)}};const tr=/(\w+)(\])?(\[|\.)?/g;function er(t,e){t.seq.push(e),t.map[e.id]=e}function nr(t,e,n){const i=t.name,r=i.length;for(tr.lastIndex=0;;){const s=tr.exec(i),a=tr.lastIndex;let o=s[1];const l="]"===s[2],c=s[3];if(l&&(o|=0),void 0===c||"["===c&&a+2===r){er(n,void 0===c?new Qi(o,t,e):new Ki(o,t,e));break}{let t=n.map[o];void 0===t&&(t=new $i(o),er(n,t)),n=t}}}function ir(t,e){this.seq=[],this.map={};const n=t.getProgramParameter(e,35718);for(let i=0;i<n;++i){const n=t.getActiveUniform(e,i);nr(n,t.getUniformLocation(e,n.name),this)}}function rr(t,e,n){const i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),i}ir.prototype.setValue=function(t,e,n,i){const r=this.map[e];void 0!==r&&r.setValue(t,n,i)},ir.prototype.setOptional=function(t,e,n){const i=e[n];void 0!==i&&this.setValue(t,n,i)},ir.upload=function(t,e,n,i){for(let r=0,s=e.length;r!==s;++r){const s=e[r],a=n[s.id];!1!==a.needsUpdate&&s.setValue(t,a.value,i)}},ir.seqWithValue=function(t,e){const n=[];for(let i=0,r=t.length;i!==r;++i){const r=t[i];r.id in e&&n.push(r)}return n};let sr=0;function ar(t){switch(t){case O:return["Linear","( value )"];case B:return["sRGB","( value )"];case U:return["RGBE","( value )"];case 3004:return["RGBM","( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case F:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case 3003:return["LogLuv","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",t),["Linear","( value )"]}}function or(t,e,n){const i=t.getShaderParameter(e,35713),r=t.getShaderInfoLog(e).trim();if(i&&""===r)return"";return"THREE.WebGLShader: gl.getShaderInfoLog() "+n+"\n"+r+function(t){const e=t.split("\n");for(let n=0;n<e.length;n++)e[n]=n+1+": "+e[n];return e.join("\n")}(t.getShaderSource(e))}function lr(t,e){const n=ar(e);return"vec4 "+t+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function cr(t,e){const n=ar(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function hr(t,e){let n;switch(e){case 1:n="Linear";break;case 2:n="Reinhard";break;case 3:n="OptimizedCineon";break;case 4:n="ACESFilmic";break;case 5:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function ur(t){return""!==t}function dr(t,e){return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function pr(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const mr=/^[ \t]*#include +<([\w\d./]+)>/gm;function fr(t){return t.replace(mr,gr)}function gr(t,e){const n=Bn[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return fr(n)}const vr=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,yr=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function xr(t){return t.replace(yr,br).replace(vr,_r)}function _r(t,e,n,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),br(t,e,n,i)}function br(t,e,n,i){let r="";for(let s=parseInt(e);s<parseInt(n);s++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return r}function Mr(t){let e="precision "+t.precision+" float;\nprecision "+t.precision+" int;";return"highp"===t.precision?e+="\n#define HIGH_PRECISION":"mediump"===t.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===t.precision&&(e+="\n#define LOW_PRECISION"),e}function wr(t,e,n,i){const r=t.getContext(),s=n.defines;let a=n.vertexShader,u=n.fragmentShader;const d=function(t){let e="SHADOWMAP_TYPE_BASIC";return 1===t.shadowMapType?e="SHADOWMAP_TYPE_PCF":2===t.shadowMapType?e="SHADOWMAP_TYPE_PCF_SOFT":3===t.shadowMapType&&(e="SHADOWMAP_TYPE_VSM"),e}(n),p=function(t){let e="ENVMAP_TYPE_CUBE";if(t.envMap)switch(t.envMapMode){case o:case l:e="ENVMAP_TYPE_CUBE";break;case c:case h:e="ENVMAP_TYPE_CUBE_UV"}return e}(n),m=function(t){let e="ENVMAP_MODE_REFLECTION";if(t.envMap)switch(t.envMapMode){case l:case h:e="ENVMAP_MODE_REFRACTION"}return e}(n),f=function(t){let e="ENVMAP_BLENDING_NONE";if(t.envMap)switch(t.combine){case 0:e="ENVMAP_BLENDING_MULTIPLY";break;case 1:e="ENVMAP_BLENDING_MIX";break;case 2:e="ENVMAP_BLENDING_ADD"}return e}(n),g=t.gammaFactor>0?t.gammaFactor:1,v=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission>0)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ur).join("\n")}(n),y=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(s),x=r.createProgram();let _,b,M=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(_=[y].filter(ur).join("\n"),_.length>0&&(_+="\n"),b=[v,y].filter(ur).join("\n"),b.length>0&&(b+="\n")):(_=[Mr(n),"#define SHADER_NAME "+n.shaderName,y,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+g,"#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+m:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ur).join("\n"),b=[v,Mr(n),"#define SHADER_NAME "+n.shaderName,y,n.alphaTest?"#define ALPHATEST "+n.alphaTest+(n.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",n.envMap?"#define "+f:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.sheen?"#define USE_SHEEN":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==n.toneMapping?"#define TONE_MAPPING":"",0!==n.toneMapping?Bn.tonemapping_pars_fragment:"",0!==n.toneMapping?hr("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",Bn.encodings_pars_fragment,n.map?lr("mapTexelToLinear",n.mapEncoding):"",n.matcap?lr("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?lr("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?lr("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.lightMap?lr("lightMapTexelToLinear",n.lightMapEncoding):"",cr("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(ur).join("\n")),a=fr(a),a=dr(a,n),a=pr(a,n),u=fr(u),u=dr(u,n),u=pr(u,n),a=xr(a),u=xr(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(M="#version 300 es\n",_=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+_,b=["#define varying in",n.glslVersion===k?"":"out highp vec4 pc_fragColor;",n.glslVersion===k?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+b);const w=M+b+u,S=rr(r,35633,M+_+a),T=rr(r,35632,w);if(r.attachShader(x,S),r.attachShader(x,T),void 0!==n.index0AttributeName?r.bindAttribLocation(x,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(x,0,"position"),r.linkProgram(x),t.debug.checkShaderErrors){const t=r.getProgramInfoLog(x).trim(),e=r.getShaderInfoLog(S).trim(),n=r.getShaderInfoLog(T).trim();let i=!0,s=!0;if(!1===r.getProgramParameter(x,35714)){i=!1;const e=or(r,S,"vertex"),n=or(r,T,"fragment");console.error("THREE.WebGLProgram: shader error: ",r.getError(),"35715",r.getProgramParameter(x,35715),"gl.getProgramInfoLog",t,e,n)}else""!==t?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",t):""!==e&&""!==n||(s=!1);s&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:_},fragmentShader:{log:n,prefix:b}})}let E,L;return r.deleteShader(S),r.deleteShader(T),this.getUniforms=function(){return void 0===E&&(E=new ir(r,x)),E},this.getAttributes=function(){return void 0===L&&(L=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r<i;r++){const i=t.getActiveAttrib(e,r).name;n[i]=t.getAttribLocation(e,i)}return n}(r,x)),L},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(x),this.program=void 0},this.name=n.shaderName,this.id=sr++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=S,this.fragmentShader=T,this}function Sr(t,e,n,i,r,a){const o=[],l=i.isWebGL2,u=i.logarithmicDepthBuffer,d=i.floatVertexTextures,p=i.maxVertexUniforms,m=i.vertexTextures;let f=i.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},v=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","vertexAlphas","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","sheen","transmission","transmissionMap","thicknessMap"];function y(t){let e;return t&&t.isTexture?e=t.encoding:t&&t.isWebGLRenderTarget?(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),e=t.texture.encoding):e=O,e}return{getParameters:function(r,o,v,x,_){const b=x.fog,M=r.isMeshStandardMaterial?x.environment:null,w=e.get(r.envMap||M),S=g[r.type],T=_.isSkinnedMesh?function(t){const e=t.skeleton.bones;if(d)return 1024;{const t=p,n=Math.floor((t-20)/4),i=Math.min(n,e.length);return i<e.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+e.length+" bones. This GPU supports "+i+"."),0):i}}(_):0;let E,L;if(null!==r.precision&&(f=i.getMaxPrecision(r.precision),f!==r.precision&&console.warn("THREE.WebGLProgram.getParameters:",r.precision,"not supported, using",f,"instead.")),S){const t=Un[S];E=t.vertexShader,L=t.fragmentShader}else E=r.vertexShader,L=r.fragmentShader;const A=t.getRenderTarget();return{isWebGL2:l,shaderID:S,shaderName:r.type,vertexShader:E,fragmentShader:L,defines:r.defines,isRawShaderMaterial:!0===r.isRawShaderMaterial,glslVersion:r.glslVersion,precision:f,instancing:!0===_.isInstancedMesh,instancingColor:!0===_.isInstancedMesh&&null!==_.instanceColor,supportsVertexTextures:m,outputEncoding:null!==A?y(A.texture):t.outputEncoding,map:!!r.map,mapEncoding:y(r.map),matcap:!!r.matcap,matcapEncoding:y(r.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:y(w),envMapCubeUV:!!w&&(w.mapping===c||w.mapping===h),lightMap:!!r.lightMap,lightMapEncoding:y(r.lightMap),aoMap:!!r.aoMap,emissiveMap:!!r.emissiveMap,emissiveMapEncoding:y(r.emissiveMap),bumpMap:!!r.bumpMap,normalMap:!!r.normalMap,objectSpaceNormalMap:1===r.normalMapType,tangentSpaceNormalMap:0===r.normalMapType,clearcoatMap:!!r.clearcoatMap,clearcoatRoughnessMap:!!r.clearcoatRoughnessMap,clearcoatNormalMap:!!r.clearcoatNormalMap,displacementMap:!!r.displacementMap,roughnessMap:!!r.roughnessMap,metalnessMap:!!r.metalnessMap,specularMap:!!r.specularMap,alphaMap:!!r.alphaMap,gradientMap:!!r.gradientMap,sheen:!!r.sheen,transmission:!!r.transmission,transmissionMap:!!r.transmissionMap,thicknessMap:!!r.thicknessMap,combine:r.combine,vertexTangents:r.normalMap&&r.vertexTangents,vertexColors:r.vertexColors,vertexAlphas:!0===r.vertexColors&&_.geometry&&_.geometry.attributes.color&&4===_.geometry.attributes.color.itemSize,vertexUvs:!!r.map||!!r.bumpMap||!!r.normalMap||!!r.specularMap||!!r.alphaMap||!!r.emissiveMap||!!r.roughnessMap||!!r.metalnessMap||!!r.clearcoatMap||!!r.clearcoatRoughnessMap||!!r.clearcoatNormalMap||!!r.displacementMap||!!r.transmissionMap||!!r.thicknessMap,uvsVertexOnly:!(r.map||r.bumpMap||r.normalMap||r.specularMap||r.alphaMap||r.emissiveMap||r.roughnessMap||r.metalnessMap||r.clearcoatNormalMap||r.transmission||r.transmissionMap||r.thicknessMap)&&!!r.displacementMap,fog:!!b,useFog:r.fog,fogExp2:b&&b.isFogExp2,flatShading:!!r.flatShading,sizeAttenuation:r.sizeAttenuation,logarithmicDepthBuffer:u,skinning:!0===_.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:d,morphTargets:r.morphTargets,morphNormals:r.morphNormals,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:r.dithering,shadowMapEnabled:t.shadowMap.enabled&&v.length>0,shadowMapType:t.shadowMap.type,toneMapping:r.toneMapped?t.toneMapping:0,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:2===r.side,flipSided:r.side===s,depthPacking:void 0!==r.depthPacking&&r.depthPacking,index0AttributeName:r.index0AttributeName,extensionDerivatives:r.extensions&&r.extensions.derivatives,extensionFragDepth:r.extensions&&r.extensions.fragDepth,extensionDrawBuffers:r.extensions&&r.extensions.drawBuffers,extensionShaderTextureLOD:r.extensions&&r.extensions.shaderTextureLOD,rendererExtensionFragDepth:l||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:l||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:l||n.has("EXT_shader_texture_lod"),customProgramCacheKey:r.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);if(!1===e.isRawShaderMaterial){for(let t=0;t<v.length;t++)n.push(e[v[t]]);n.push(t.outputEncoding),n.push(t.gammaFactor)}return n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=g[t.type];let n;if(e){const t=Un[e];n=xn.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let i;for(let t=0,r=o.length;t<r;t++){const e=o[t];if(e.cacheKey===n){i=e,++i.usedTimes;break}}return void 0===i&&(i=new wr(t,n,e,r),o.push(i)),i},releaseProgram:function(t){if(0===--t.usedTimes){const e=o.indexOf(t);o[e]=o[o.length-1],o.pop(),t.destroy()}},programs:o}}function Tr(){let t=new WeakMap;return{get:function(e){let n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n},remove:function(e){t.delete(e)},update:function(e,n,i){t.get(e)[n]=i},dispose:function(){t=new WeakMap}}}function Er(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program!==e.program?t.program.id-e.program.id:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function Lr(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Ar(t){const e=[];let n=0;const i=[],r=[],s=[],a={id:-1};function o(i,r,s,o,l,c){let h=e[n];const u=t.get(s);return void 0===h?(h={id:i.id,object:i,geometry:r,material:s,program:u.program||a,groupOrder:o,renderOrder:i.renderOrder,z:l,group:c},e[n]=h):(h.id=i.id,h.object=i,h.geometry=r,h.material=s,h.program=u.program||a,h.groupOrder=o,h.renderOrder=i.renderOrder,h.z=l,h.group=c),n++,h}return{opaque:i,transmissive:r,transparent:s,init:function(){n=0,i.length=0,r.length=0,s.length=0},push:function(t,e,n,a,l,c){const h=o(t,e,n,a,l,c);n.transmission>0?r.push(h):!0===n.transparent?s.push(h):i.push(h)},unshift:function(t,e,n,a,l,c){const h=o(t,e,n,a,l,c);n.transmission>0?r.unshift(h):!0===n.transparent?s.unshift(h):i.unshift(h)},finish:function(){for(let t=n,i=e.length;t<i;t++){const n=e[t];if(null===n.id)break;n.id=null,n.object=null,n.geometry=null,n.material=null,n.program=null,n.group=null}},sort:function(t,e){i.length>1&&i.sort(t||Er),r.length>1&&r.sort(e||Lr),s.length>1&&s.sort(e||Lr)}}}function Rr(t){let e=new WeakMap;return{get:function(n,i){let r;return!1===e.has(n)?(r=new Ar(t),e.set(n,[r])):i>=e.get(n).length?(r=new Ar(t),e.get(n).push(r)):r=e.get(n)[i],r},dispose:function(){e=new WeakMap}}}function Cr(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new ut,color:new Ie};break;case"SpotLight":n={position:new ut,direction:new ut,color:new Ie,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new ut,color:new Ie,distance:0,decay:0};break;case"HemisphereLight":n={direction:new ut,skyColor:new Ie,groundColor:new Ie};break;case"RectAreaLight":n={color:new Ie,position:new ut,halfWidth:new ut,halfHeight:new ut}}return t[e.id]=n,n}}}let Pr=0;function Dr(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Ir(t,e){const n=new Cr,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new tt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new tt,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let l=0;l<9;l++)r.probe.push(new ut);const s=new ut,a=new Vt,o=new Vt;return{setup:function(s){let a=0,o=0,l=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let c=0,h=0,u=0,d=0,p=0,m=0,f=0,g=0;s.sort(Dr);for(let t=0,e=s.length;t<e;t++){const e=s[t],v=e.color,y=e.intensity,x=e.distance,_=e.shadow&&e.shadow.map?e.shadow.map.texture:null;if(e.isAmbientLight)a+=v.r*y,o+=v.g*y,l+=v.b*y;else if(e.isLightProbe)for(let t=0;t<9;t++)r.probe[t].addScaledVector(e.sh.coefficients[t],y);else if(e.isDirectionalLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity),e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,r.directionalShadow[c]=n,r.directionalShadowMap[c]=_,r.directionalShadowMatrix[c]=e.shadow.matrix,m++}r.directional[c]=t,c++}else if(e.isSpotLight){const t=n.get(e);if(t.position.setFromMatrixPosition(e.matrixWorld),t.color.copy(v).multiplyScalar(y),t.distance=x,t.coneCos=Math.cos(e.angle),t.penumbraCos=Math.cos(e.angle*(1-e.penumbra)),t.decay=e.decay,e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,r.spotShadow[u]=n,r.spotShadowMap[u]=_,r.spotShadowMatrix[u]=e.shadow.matrix,g++}r.spot[u]=t,u++}else if(e.isRectAreaLight){const t=n.get(e);t.color.copy(v).multiplyScalar(y),t.halfWidth.set(.5*e.width,0,0),t.halfHeight.set(0,.5*e.height,0),r.rectArea[d]=t,d++}else if(e.isPointLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity),t.distance=e.distance,t.decay=e.decay,e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,n.shadowCameraNear=t.camera.near,n.shadowCameraFar=t.camera.far,r.pointShadow[h]=n,r.pointShadowMap[h]=_,r.pointShadowMatrix[h]=e.shadow.matrix,f++}r.point[h]=t,h++}else if(e.isHemisphereLight){const t=n.get(e);t.skyColor.copy(e.color).multiplyScalar(y),t.groundColor.copy(e.groundColor).multiplyScalar(y),r.hemi[p]=t,p++}}d>0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=Fn.LTC_FLOAT_1,r.rectAreaLTC2=Fn.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=Fn.LTC_HALF_1,r.rectAreaLTC2=Fn.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=a,r.ambient[1]=o,r.ambient[2]=l;const v=r.hash;v.directionalLength===c&&v.pointLength===h&&v.spotLength===u&&v.rectAreaLength===d&&v.hemiLength===p&&v.numDirectionalShadows===m&&v.numPointShadows===f&&v.numSpotShadows===g||(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=h,r.hemi.length=p,r.directionalShadow.length=m,r.directionalShadowMap.length=m,r.pointShadow.length=f,r.pointShadowMap.length=f,r.spotShadow.length=g,r.spotShadowMap.length=g,r.directionalShadowMatrix.length=m,r.pointShadowMatrix.length=f,r.spotShadowMatrix.length=g,v.directionalLength=c,v.pointLength=h,v.spotLength=u,v.rectAreaLength=d,v.hemiLength=p,v.numDirectionalShadows=m,v.numPointShadows=f,v.numSpotShadows=g,r.version=Pr++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let d=0,p=t.length;d<p;d++){const e=t[d];if(e.isDirectionalLight){const t=r.directional[n];t.direction.setFromMatrixPosition(e.matrixWorld),s.setFromMatrixPosition(e.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),n++}else if(e.isSpotLight){const t=r.spot[l];t.position.setFromMatrixPosition(e.matrixWorld),t.position.applyMatrix4(u),t.direction.setFromMatrixPosition(e.matrixWorld),s.setFromMatrixPosition(e.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),l++}else if(e.isRectAreaLight){const t=r.rectArea[c];t.position.setFromMatrixPosition(e.matrixWorld),t.position.applyMatrix4(u),o.identity(),a.copy(e.matrixWorld),a.premultiply(u),o.extractRotation(a),t.halfWidth.set(.5*e.width,0,0),t.halfHeight.set(0,.5*e.height,0),t.halfWidth.applyMatrix4(o),t.halfHeight.applyMatrix4(o),c++}else if(e.isPointLight){const t=r.point[i];t.position.setFromMatrixPosition(e.matrixWorld),t.position.applyMatrix4(u),i++}else if(e.isHemisphereLight){const t=r.hemi[h];t.direction.setFromMatrixPosition(e.matrixWorld),t.direction.transformDirection(u),t.direction.normalize(),h++}}},state:r}}function Nr(t,e){const n=new Ir(t,e),i=[],r=[];return{init:function(){i.length=0,r.length=0},state:{lightsArray:i,shadowsArray:r,lights:n},setupLights:function(){n.setup(i)},setupLightsView:function(t){n.setupView(i,t)},pushLight:function(t){i.push(t)},pushShadow:function(t){r.push(t)}}}function zr(t,e){let n=new WeakMap;return{get:function(i,r=0){let s;return!1===n.has(i)?(s=new Nr(t,e),n.set(i,[s])):r>=n.get(i).length?(s=new Nr(t,e),n.get(i).push(s)):s=n.get(i)[r],s},dispose:function(){n=new WeakMap}}}class Or extends Ee{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=3200,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}Or.prototype.isMeshDepthMaterial=!0;class Br extends Ee{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new ut,this.nearDistance=1,this.farDistance=1e3,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}Br.prototype.isMeshDistanceMaterial=!0;function Fr(t,e,n){let i=new In;const r=new tt,a=new tt,o=new ot,l=[],c=[],h={},u=n.maxTextureSize,d={0:s,1:0,2:2},p=new _n({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new tt},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),f=p.clone();f.defines.HORIZONTAL_PASS=1;const g=new Je;g.setAttribute("position",new Be(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const y=new mn(g,p),x=this;function _(n,i){const r=e.update(y);p.uniforms.shadow_pass.value=n.map.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,r,p,y,null),f.uniforms.shadow_pass.value=n.mapPass.texture,f.uniforms.resolution.value=n.mapSize,f.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,f,y,null)}function b(t){const e=t<<0;let n=l[e];return void 0===n&&(n=new Or({depthPacking:3201,morphTargets:t}),l[e]=n),n}function M(t){const e=t<<0;let n=c[e];return void 0===n&&(n=new Br({morphTargets:t}),c[e]=n),n}function w(e,n,i,r,s,a,o){let l=null,c=b,u=e.customDepthMaterial;if(!0===r.isPointLight&&(c=M,u=e.customDistanceMaterial),void 0===u){let t=!1;!0===i.morphTargets&&(t=n.morphAttributes&&n.morphAttributes.position&&n.morphAttributes.position.length>0),l=c(t)}else l=u;if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){const t=l.uuid,e=i.uuid;let n=h[t];void 0===n&&(n={},h[t]=n);let r=n[e];void 0===r&&(r=l.clone(),n[e]=r),l=r}return l.visible=i.visible,l.wireframe=i.wireframe,l.side=3===o?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:d[i.side],l.clipShadows=i.clipShadows,l.clippingPlanes=i.clippingPlanes,l.clipIntersection=i.clipIntersection,l.wireframeLinewidth=i.wireframeLinewidth,l.linewidth=i.linewidth,!0===r.isPointLight&&!0===l.isMeshDistanceMaterial&&(l.referencePosition.setFromMatrixPosition(r.matrixWorld),l.nearDistance=s,l.farDistance=a),l}function S(n,r,s,a,o){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&3===o)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let l=0,c=e.length;l<c;l++){const c=e[l],h=r[c.materialIndex];if(h&&h.visible){const e=w(n,i,h,a,s.near,s.far,o);t.renderBufferDirect(s,null,i,e,n,c)}}}else if(r.visible){const e=w(n,i,r,a,s.near,s.far,o);t.renderBufferDirect(s,null,i,e,n,null)}}const l=n.children;for(let t=0,e=l.length;t<e;t++)S(l[t],r,s,a,o)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1,this.render=function(e,n,s){if(!1===x.enabled)return;if(!1===x.autoUpdate&&!1===x.needsUpdate)return;if(0===e.length)return;const l=t.getRenderTarget(),c=t.getActiveCubeFace(),h=t.getActiveMipmapLevel(),d=t.state;d.setBlending(0),d.buffers.color.setClear(1,1,1,1),d.buffers.depth.setTest(!0),d.setScissorTest(!1);for(let p=0,f=e.length;p<f;p++){const l=e[p],c=l.shadow;if(void 0===c){console.warn("THREE.WebGLShadowMap:",l,"has no shadow.");continue}if(!1===c.autoUpdate&&!1===c.needsUpdate)continue;r.copy(c.mapSize);const h=c.getFrameExtents();if(r.multiply(h),a.copy(c.mapSize),(r.x>u||r.y>u)&&(r.x>u&&(a.x=Math.floor(u/h.x),r.x=a.x*h.x,c.mapSize.x=a.x),r.y>u&&(a.y=Math.floor(u/h.y),r.y=a.y*h.y,c.mapSize.y=a.y)),null===c.map&&!c.isPointLightShadow&&3===this.type){const t={minFilter:v,magFilter:v,format:E};c.map=new lt(r.x,r.y,t),c.map.texture.name=l.name+".shadowMap",c.mapPass=new lt(r.x,r.y,t),c.camera.updateProjectionMatrix()}if(null===c.map){const t={minFilter:m,magFilter:m,format:E};c.map=new lt(r.x,r.y,t),c.map.texture.name=l.name+".shadowMap",c.camera.updateProjectionMatrix()}t.setRenderTarget(c.map),t.clear();const f=c.getViewportCount();for(let t=0;t<f;t++){const e=c.getViewport(t);o.set(a.x*e.x,a.y*e.y,a.x*e.z,a.y*e.w),d.viewport(o),c.updateMatrices(l,t),i=c.getFrustum(),S(n,s,c.camera,l,this.type)}c.isPointLightShadow||3!==this.type||_(c,s),c.needsUpdate=!1}x.needsUpdate=!1,t.setRenderTarget(l,c,h)}}function Ur(t,e,n){const i=n.isWebGL2;const r=new function(){let e=!1;const n=new ot;let i=null;const r=new ot(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,s,a,o){!0===o&&(e*=a,i*=a,s*=a),n.set(e,i,s,a),!1===r.equals(n)&&(t.clearColor(e,i,s,a),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},o=new function(){let e=!1,n=null,i=null,r=null;return{setTest:function(t){t?U(2929):H(2929)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){if(e)switch(e){case 0:t.depthFunc(512);break;case 1:t.depthFunc(519);break;case 2:t.depthFunc(513);break;case 3:t.depthFunc(515);break;case 4:t.depthFunc(514);break;case 5:t.depthFunc(518);break;case 6:t.depthFunc(516);break;case 7:t.depthFunc(517);break;default:t.depthFunc(515)}else t.depthFunc(515);i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}},l=new function(){let e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null;return{setTest:function(t){e||(t?U(2960):H(2960))},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&s===a||(t.stencilFunc(e,n,a),i=e,r=n,s=a)},setOp:function(e,n,i){a===e&&o===n&&l===i||(t.stencilOp(e,n,i),a=e,o=n,l=i)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null}}};let c={},h=null,u={},d=null,p=!1,m=null,f=null,g=null,v=null,y=null,x=null,_=null,b=!1,M=null,w=null,S=null,T=null,E=null;const L=t.getParameter(35661);let A=!1,R=0;const C=t.getParameter(7938);-1!==C.indexOf("WebGL")?(R=parseFloat(/^WebGL (\d)/.exec(C)[1]),A=R>=1):-1!==C.indexOf("OpenGL ES")&&(R=parseFloat(/^OpenGL ES (\d)/.exec(C)[1]),A=R>=2);let P=null,D={};const I=t.getParameter(3088),N=t.getParameter(2978),z=(new ot).fromArray(I),O=(new ot).fromArray(N);function B(e,n,i){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let a=0;a<i;a++)t.texImage2D(n+a,0,6408,1,1,0,6408,5121,r);return s}const F={};function U(e){!0!==c[e]&&(t.enable(e),c[e]=!0)}function H(e){!1!==c[e]&&(t.disable(e),c[e]=!1)}F[3553]=B(3553,3553,1),F[34067]=B(34067,34069,6),r.setClear(0,0,0,1),o.setClear(1),l.setClear(0),U(2929),o.setFunc(3),W(!1),j(1),U(2884),k(0);const G={[a]:32774,101:32778,102:32779};if(i)G[103]=32775,G[104]=32776;else{const t=e.get("EXT_blend_minmax");null!==t&&(G[103]=t.MIN_EXT,G[104]=t.MAX_EXT)}const V={200:0,201:1,202:768,204:770,210:776,208:774,206:772,203:769,205:771,209:775,207:773};function k(e,n,i,r,s,o,l,c){if(0!==e){if(!1===p&&(U(3042),p=!0),5===e)s=s||n,o=o||i,l=l||r,n===f&&s===y||(t.blendEquationSeparate(G[n],G[s]),f=n,y=s),i===g&&r===v&&o===x&&l===_||(t.blendFuncSeparate(V[i],V[r],V[o],V[l]),g=i,v=r,x=o,_=l),m=e,b=null;else if(e!==m||c!==b){if(f===a&&y===a||(t.blendEquation(32774),f=a,y=a),c)switch(e){case 1:t.blendFuncSeparate(1,771,1,771);break;case 2:t.blendFunc(1,1);break;case 3:t.blendFuncSeparate(0,0,769,771);break;case 4:t.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}else switch(e){case 1:t.blendFuncSeparate(770,771,1,771);break;case 2:t.blendFunc(770,1);break;case 3:t.blendFunc(0,769);break;case 4:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}g=null,v=null,x=null,_=null,m=e,b=c}}else!0===p&&(H(3042),p=!1)}function W(e){M!==e&&(e?t.frontFace(2304):t.frontFace(2305),M=e)}function j(e){0!==e?(U(2884),e!==w&&(1===e?t.cullFace(1029):2===e?t.cullFace(1028):t.cullFace(1032))):H(2884),w=e}function q(e,n,i){e?(U(32823),T===n&&E===i||(t.polygonOffset(n,i),T=n,E=i)):H(32823)}function X(e){void 0===e&&(e=33984+L-1),P!==e&&(t.activeTexture(e),P=e)}return{buffers:{color:r,depth:o,stencil:l},enable:U,disable:H,bindFramebuffer:function(e,n){return null===n&&null!==h&&(n=h),u[e]!==n&&(t.bindFramebuffer(e,n),u[e]=n,i&&(36009===e&&(u[36160]=n),36160===e&&(u[36009]=n)),!0)},bindXRFramebuffer:function(e){e!==h&&(t.bindFramebuffer(36160,e),h=e)},useProgram:function(e){return d!==e&&(t.useProgram(e),d=e,!0)},setBlending:k,setMaterial:function(t,e){2===t.side?H(2884):U(2884);let n=t.side===s;e&&(n=!n),W(n),1===t.blending&&!1===t.transparent?k(0):k(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),o.setFunc(t.depthFunc),o.setTest(t.depthTest),o.setMask(t.depthWrite),r.setMask(t.colorWrite);const i=t.stencilWrite;l.setTest(i),i&&(l.setMask(t.stencilWriteMask),l.setFunc(t.stencilFunc,t.stencilRef,t.stencilFuncMask),l.setOp(t.stencilFail,t.stencilZFail,t.stencilZPass)),q(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits),!0===t.alphaToCoverage?U(32926):H(32926)},setFlipSided:W,setCullFace:j,setLineWidth:function(e){e!==S&&(A&&t.lineWidth(e),S=e)},setPolygonOffset:q,setScissorTest:function(t){t?U(3089):H(3089)},activeTexture:X,bindTexture:function(e,n){null===P&&X();let i=D[P];void 0===i&&(i={type:void 0,texture:void 0},D[P]=i),i.type===e&&i.texture===n||(t.bindTexture(e,n||F[e]),i.type=e,i.texture=n)},unbindTexture:function(){const e=D[P];void 0!==e&&void 0!==e.type&&(t.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{t.compressedTexImage2D.apply(t,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage2D:function(){try{t.texImage2D.apply(t,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage3D:function(){try{t.texImage3D.apply(t,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},scissor:function(e){!1===z.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),z.copy(e))},viewport:function(e){!1===O.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),O.copy(e))},reset:function(){t.disable(3042),t.disable(2884),t.disable(2929),t.disable(32823),t.disable(3089),t.disable(2960),t.disable(32926),t.blendEquation(32774),t.blendFunc(1,0),t.blendFuncSeparate(1,0,1,0),t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.depthMask(!0),t.depthFunc(513),t.clearDepth(1),t.stencilMask(4294967295),t.stencilFunc(519,0,4294967295),t.stencilOp(7680,7680,7680),t.clearStencil(0),t.cullFace(1029),t.frontFace(2305),t.polygonOffset(0,0),t.activeTexture(33984),t.bindFramebuffer(36160,null),!0===i&&(t.bindFramebuffer(36009,null),t.bindFramebuffer(36008,null)),t.useProgram(null),t.lineWidth(1),t.scissor(0,0,t.canvas.width,t.canvas.height),t.viewport(0,0,t.canvas.width,t.canvas.height),c={},P=null,D={},h=null,u={},d=null,p=!1,m=null,f=null,g=null,v=null,y=null,x=null,_=null,b=!1,M=null,w=null,S=null,T=null,E=null,z.set(0,0,t.canvas.width,t.canvas.height),O.set(0,0,t.canvas.width,t.canvas.height),r.reset(),o.reset(),l.reset()}}}function Hr(t,e,n,i,r,s,a){const o=r.isWebGL2,l=r.maxTextures,c=r.maxCubemapSize,h=r.maxTextureSize,x=r.maxSamples,R=new WeakMap;let C,P=!1;try{P="undefined"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(it){}function D(t,e){return P?new OffscreenCanvas(t,e):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function I(t,e,n,i){let r=1;if((t.width>i||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!==typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?$:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===C&&(C=D(s,a));const o=n?D(s,a):C;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function N(t){return K(t.width)&&K(t.height)}function z(t,e){return t.generateMipmaps&&e&&t.minFilter!==m&&t.minFilter!==v}function O(e,n,r,s,a=1){t.generateMipmap(e);i.get(n).__maxMipLevel=Math.log2(Math.max(r,s,a))}function B(n,i,r){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let s=i;return 6403===i&&(5126===r&&(s=33326),5131===r&&(s=33325),5121===r&&(s=33321)),6407===i&&(5126===r&&(s=34837),5131===r&&(s=34843),5121===r&&(s=32849)),6408===i&&(5126===r&&(s=34836),5131===r&&(s=34842),5121===r&&(s=32856)),33325!==s&&33326!==s&&34842!==s&&34836!==s||e.get("EXT_color_buffer_float"),s}function F(t){return t===m||t===f||t===g?9728:9729}function U(e){const n=e.target;n.removeEventListener("dispose",U),function(e){const n=i.get(e);if(void 0===n.__webglInit)return;t.deleteTexture(n.__webglTexture),i.remove(e)}(n),n.isVideoTexture&&R.delete(n),a.memory.textures--}function H(e){const n=e.target;n.removeEventListener("dispose",H),function(e){const n=e.texture,r=i.get(e),s=i.get(n);if(!e)return;void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let i=0;i<6;i++)t.deleteFramebuffer(r.__webglFramebuffer[i]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[i]);else t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer&&t.deleteRenderbuffer(r.__webglColorRenderbuffer),r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer);if(e.isWebGLMultipleRenderTargets)for(let o=0,l=n.length;o<l;o++){const e=i.get(n[o]);e.__webglTexture&&(t.deleteTexture(e.__webglTexture),a.memory.textures--),i.remove(n[o])}i.remove(n),i.remove(e)}(n)}let G=0;function V(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=a.render.frame;R.get(t)!==e&&(R.set(t,e),t.update())}(t),t.version>0&&r.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void Y(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function k(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?function(e,i,r){if(6!==i.image.length)return;X(e,i),n.activeTexture(33984+r),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const a=i&&(i.isCompressedTexture||i.image[0].isCompressedTexture),l=i.image[0]&&i.image[0].isDataTexture,h=[];for(let t=0;t<6;t++)h[t]=a||l?l?i.image[t].image:i.image[t]:I(i.image[t],!1,!0,c);const u=h[0],d=N(u)||o,p=s.convert(i.format),m=s.convert(i.type),f=B(i.internalFormat,p,m);let g;if(q(34067,i,d),a){for(let t=0;t<6;t++){g=h[t].mipmaps;for(let e=0;e<g.length;e++){const r=g[e];i.format!==E&&i.format!==T?null!==p?n.compressedTexImage2D(34069+t,e,f,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(34069+t,e,f,r.width,r.height,0,p,m,r.data)}}e.__maxMipLevel=g.length-1}else{g=i.mipmaps;for(let t=0;t<6;t++)if(l){n.texImage2D(34069+t,0,f,h[t].width,h[t].height,0,p,m,h[t].data);for(let e=0;e<g.length;e++){const i=g[e].image[t].image;n.texImage2D(34069+t,e+1,f,i.width,i.height,0,p,m,i.data)}}else{n.texImage2D(34069+t,0,f,p,m,h[t]);for(let e=0;e<g.length;e++){const i=g[e];n.texImage2D(34069+t,e+1,f,p,m,i.image[t])}}e.__maxMipLevel=g.length}z(i,d)&&O(34067,i,u.width,u.height);e.__version=i.version,i.onUpdate&&i.onUpdate(i)}(a,e,r):(n.activeTexture(33984+r),n.bindTexture(34067,a.__webglTexture))}const W={[u]:10497,[d]:33071,[p]:33648},j={[m]:9728,[f]:9984,[g]:9986,[v]:9729,1007:9985,[y]:9987};function q(n,s,a){if(a?(t.texParameteri(n,10242,W[s.wrapS]),t.texParameteri(n,10243,W[s.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,W[s.wrapR]),t.texParameteri(n,10240,j[s.magFilter]),t.texParameteri(n,10241,j[s.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),s.wrapS===d&&s.wrapT===d||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,F(s.magFilter)),t.texParameteri(n,10241,F(s.minFilter)),s.minFilter!==m&&s.minFilter!==v&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.type===M&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===w&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function X(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",U),e.__webglTexture=t.createTexture(),a.memory.textures++)}function Y(e,i,r){let a=3553;i.isDataTexture2DArray&&(a=35866),i.isDataTexture3D&&(a=32879),X(e,i),n.activeTexture(33984+r),n.bindTexture(a,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const l=function(t){return!o&&(t.wrapS!==d||t.wrapT!==d||t.minFilter!==m&&t.minFilter!==v)}(i)&&!1===N(i.image),c=I(i.image,l,!1,h),u=N(c)||o,p=s.convert(i.format);let f,g=s.convert(i.type),y=B(i.internalFormat,p,g);q(a,i,u);const x=i.mipmaps;if(i.isDepthTexture)y=6402,o?y=i.type===M?36012:i.type===b?33190:i.type===S?35056:33189:i.type===M&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===L&&6402===y&&i.type!==_&&i.type!==b&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=_,g=s.convert(i.type)),i.format===A&&6402===y&&(y=34041,i.type!==S&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=S,g=s.convert(i.type))),n.texImage2D(3553,0,y,c.width,c.height,0,p,g,null);else if(i.isDataTexture)if(x.length>0&&u){for(let t=0,e=x.length;t<e;t++)f=x[t],n.texImage2D(3553,t,y,f.width,f.height,0,p,g,f.data);i.generateMipmaps=!1,e.__maxMipLevel=x.length-1}else n.texImage2D(3553,0,y,c.width,c.height,0,p,g,c.data),e.__maxMipLevel=0;else if(i.isCompressedTexture){for(let t=0,e=x.length;t<e;t++)f=x[t],i.format!==E&&i.format!==T?null!==p?n.compressedTexImage2D(3553,t,y,f.width,f.height,0,f.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(3553,t,y,f.width,f.height,0,p,g,f.data);e.__maxMipLevel=x.length-1}else if(i.isDataTexture2DArray)n.texImage3D(35866,0,y,c.width,c.height,c.depth,0,p,g,c.data),e.__maxMipLevel=0;else if(i.isDataTexture3D)n.texImage3D(32879,0,y,c.width,c.height,c.depth,0,p,g,c.data),e.__maxMipLevel=0;else if(x.length>0&&u){for(let t=0,e=x.length;t<e;t++)f=x[t],n.texImage2D(3553,t,y,p,g,f);i.generateMipmaps=!1,e.__maxMipLevel=x.length-1}else n.texImage2D(3553,0,y,p,g,c),e.__maxMipLevel=0;z(i,u)&&O(a,i,c.width,c.height),e.__version=i.version,i.onUpdate&&i.onUpdate(i)}function J(e,r,a,o,l){const c=s.convert(a.format),h=s.convert(a.type),u=B(a.internalFormat,c,h);32879===l||35866===l?n.texImage3D(l,0,u,r.width,r.height,r.depth,0,c,h,null):n.texImage2D(l,0,u,r.width,r.height,0,c,h,null),n.bindFramebuffer(36160,e),t.framebufferTexture2D(36160,o,l,i.get(a).__webglTexture,0),n.bindFramebuffer(36160,null)}function Z(e,n,i){if(t.bindRenderbuffer(36161,e),n.depthBuffer&&!n.stencilBuffer){let r=33189;if(i){const e=n.depthTexture;e&&e.isDepthTexture&&(e.type===M?r=36012:e.type===b&&(r=33190));const i=tt(n);t.renderbufferStorageMultisample(36161,i,r,n.width,n.height)}else t.renderbufferStorage(36161,r,n.width,n.height);t.framebufferRenderbuffer(36160,36096,36161,e)}else if(n.depthBuffer&&n.stencilBuffer){if(i){const e=tt(n);t.renderbufferStorageMultisample(36161,e,35056,n.width,n.height)}else t.renderbufferStorage(36161,34041,n.width,n.height);t.framebufferRenderbuffer(36160,33306,36161,e)}else{const e=!0===n.isWebGLMultipleRenderTargets?n.texture[0]:n.texture,r=s.convert(e.format),a=s.convert(e.type),o=B(e.internalFormat,r,a);if(i){const e=tt(n);t.renderbufferStorageMultisample(36161,e,o,n.width,n.height)}else t.renderbufferStorage(36161,o,n.width,n.height)}t.bindRenderbuffer(36161,null)}function Q(e){const r=i.get(e),s=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture){if(s)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(n.bindFramebuffer(36160,e),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(r.depthTexture).__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),V(r.depthTexture,0);const s=i.get(r.depthTexture).__webglTexture;if(r.depthTexture.format===L)t.framebufferTexture2D(36160,36096,3553,s,0);else{if(r.depthTexture.format!==A)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(36160,33306,3553,s,0)}}(r.__webglFramebuffer,e)}else if(s){r.__webglDepthbuffer=[];for(let i=0;i<6;i++)n.bindFramebuffer(36160,r.__webglFramebuffer[i]),r.__webglDepthbuffer[i]=t.createRenderbuffer(),Z(r.__webglDepthbuffer[i],e,!1)}else n.bindFramebuffer(36160,r.__webglFramebuffer),r.__webglDepthbuffer=t.createRenderbuffer(),Z(r.__webglDepthbuffer,e,!1);n.bindFramebuffer(36160,null)}function tt(t){return o&&t.isWebGLMultisampleRenderTarget?Math.min(x,t.samples):0}let et=!1,nt=!1;this.allocateTextureUnit=function(){const t=G;return t>=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),G+=1,t},this.resetTextureUnits=function(){G=0},this.setTexture2D=V,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?Y(r,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?Y(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=k,this.setupRenderTarget=function(e){const l=e.texture,c=i.get(e),h=i.get(l);e.addEventListener("dispose",H),!0!==e.isWebGLMultipleRenderTargets&&(h.__webglTexture=t.createTexture(),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=!0===e.isWebGLMultisampleRenderTarget,m=l.isDataTexture3D||l.isDataTexture2DArray,f=N(e)||o;if(!o||l.format!==T||l.type!==M&&l.type!==w||(l.format=E,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else if(c.__webglFramebuffer=t.createFramebuffer(),d)if(r.drawBuffers){const n=e.texture;for(let e=0,r=n.length;e<r;e++){const r=i.get(n[e]);void 0===r.__webglTexture&&(r.__webglTexture=t.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");else if(p)if(o){c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,c.__webglColorRenderbuffer);const i=s.convert(l.format),r=s.convert(l.type),a=B(l.internalFormat,i,r),o=tt(e);t.renderbufferStorageMultisample(36161,o,a,e.width,e.height),n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064,36161,c.__webglColorRenderbuffer),t.bindRenderbuffer(36161,null),e.depthBuffer&&(c.__webglDepthRenderbuffer=t.createRenderbuffer(),Z(c.__webglDepthRenderbuffer,e,!0)),n.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(u){n.bindTexture(34067,h.__webglTexture),q(34067,l,f);for(let t=0;t<6;t++)J(c.__webglFramebuffer[t],e,l,36064,34069+t);z(l,f)&&O(34067,l,e.width,e.height),n.bindTexture(34067,null)}else if(d){const t=e.texture;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=i.get(s);n.bindTexture(3553,a.__webglTexture),q(3553,s,f),J(c.__webglFramebuffer,e,s,36064+r,3553),z(s,f)&&O(3553,s,e.width,e.height)}n.bindTexture(3553,null)}else{let t=3553;if(m)if(o){t=l.isDataTexture3D?32879:35866}else console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.");n.bindTexture(t,h.__webglTexture),q(t,l,f),J(c.__webglFramebuffer,e,l,36064,t),z(l,f)&&O(t,l,e.width,e.height,e.depth),n.bindTexture(t,null)}e.depthBuffer&&Q(e)},this.updateRenderTargetMipmap=function(t){const e=N(t)||o,r=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let s=0,a=r.length;s<a;s++){const a=r[s];if(z(a,e)){const e=t.isWebGLCubeRenderTarget?34067:3553,r=i.get(a).__webglTexture;n.bindTexture(e,r),O(e,a,t.width,t.height),n.bindTexture(e,null)}}},this.updateMultisampleRenderTarget=function(e){if(e.isWebGLMultisampleRenderTarget)if(o){const r=e.width,s=e.height;let a=16384;e.depthBuffer&&(a|=256),e.stencilBuffer&&(a|=1024);const o=i.get(e);n.bindFramebuffer(36008,o.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,o.__webglFramebuffer),t.blitFramebuffer(0,0,r,s,0,0,r,s,a,9728),n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,o.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(t,e){t&&t.isWebGLRenderTarget&&(!1===et&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),et=!0),t=t.texture),V(t,e)},this.safeSetTextureCube=function(t,e){t&&t.isWebGLCubeRenderTarget&&(!1===nt&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),nt=!0),t=t.texture),k(t,e)}}function Gr(t,e,n){const i=n.isWebGL2;return{convert:function(t){let n;if(t===x)return 5121;if(1017===t)return 32819;if(1018===t)return 32820;if(1019===t)return 33635;if(1010===t)return 5120;if(1011===t)return 5122;if(t===_)return 5123;if(1013===t)return 5124;if(t===b)return 5125;if(t===M)return 5126;if(t===w)return i?5131:(n=e.get("OES_texture_half_float"),null!==n?n.HALF_FLOAT_OES:null);if(1021===t)return 6406;if(t===T)return 6407;if(t===E)return 6408;if(1024===t)return 6409;if(1025===t)return 6410;if(t===L)return 6402;if(t===A)return 34041;if(1028===t)return 6403;if(1029===t)return 36244;if(1030===t)return 33319;if(1031===t)return 33320;if(1032===t)return 36248;if(1033===t)return 36249;if(33776===t||33777===t||33778===t||33779===t){if(n=e.get("WEBGL_compressed_texture_s3tc"),null===n)return null;if(33776===t)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===t)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===t)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===t)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===t||35841===t||35842===t||35843===t){if(n=e.get("WEBGL_compressed_texture_pvrtc"),null===n)return null;if(35840===t)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===t)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===t)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===t)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===t)return n=e.get("WEBGL_compressed_texture_etc1"),null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null;if((37492===t||37496===t)&&(n=e.get("WEBGL_compressed_texture_etc"),null!==n)){if(37492===t)return n.COMPRESSED_RGB8_ETC2;if(37496===t)return n.COMPRESSED_RGBA8_ETC2_EAC}return 37808===t||37809===t||37810===t||37811===t||37812===t||37813===t||37814===t||37815===t||37816===t||37817===t||37818===t||37819===t||37820===t||37821===t||37840===t||37841===t||37842===t||37843===t||37844===t||37845===t||37846===t||37847===t||37848===t||37849===t||37850===t||37851===t||37852===t||37853===t?(n=e.get("WEBGL_compressed_texture_astc"),null!==n?t:null):36492===t?(n=e.get("EXT_texture_compression_bptc"),null!==n?t:null):t===S?i?34042:(n=e.get("WEBGL_depth_texture"),null!==n?n.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}class Vr extends Mn{constructor(t=[]){super(),this.cameras=t}}Vr.prototype.isArrayCamera=!0;class kr extends pe{constructor(){super(),this.type="Group"}}kr.prototype.isGroup=!0;const Wr={type:"move"};class jr{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new kr,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new kr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ut,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ut),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new kr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ut,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ut),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,n){let i=null,r=null,s=null;const a=this._targetRay,o=this._grip,l=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState)if(null!==a&&(i=e.getPose(t.targetRaySpace,n),null!==i&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Wr))),l&&t.hand){s=!0;for(const s of t.hand.values()){const t=e.getJointPose(s,n);if(void 0===l.joints[s.jointName]){const t=new kr;t.matrixAutoUpdate=!1,t.visible=!1,l.joints[s.jointName]=t,l.add(t)}const i=l.joints[s.jointName];null!==t&&(i.matrix.fromArray(t.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),i.jointRadius=t.radius),i.visible=null!==t}const i=l.joints["index-finger-tip"],r=l.joints["thumb-tip"],a=i.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&a>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}}class qr extends W{constructor(t,e){super();const n=this,i=t.state;let r=null,s=1,a=null,o="local-floor",l=null,c=null,h=null,u=null;const d=[],p=new Map,m=new Mn;m.layers.enable(1),m.viewport=new ot;const f=new Mn;f.layers.enable(2),f.viewport=new ot;const g=[m,f],v=new Vr;v.layers.enable(1),v.layers.enable(2);let y=null,x=null;function _(t){const e=p.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function b(){p.forEach((function(t,e){t.disconnect(e)})),p.clear(),y=null,x=null,i.bindXRFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),L.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function M(t){const e=r.inputSources;for(let n=0;n<d.length;n++)p.set(e[n],d[n]);for(let n=0;n<t.removed.length;n++){const e=t.removed[n],i=p.get(e);i&&(i.dispatchEvent({type:"disconnected",data:e}),p.delete(e))}for(let n=0;n<t.added.length;n++){const e=t.added[n],i=p.get(e);i&&i.dispatchEvent({type:"connected",data:e})}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=d[t];return void 0===e&&(e=new jr,d[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=d[t];return void 0===e&&(e=new jr,d[t]=e),e.getGripSpace()},this.getHand=function(t){let e=d[t];return void 0===e&&(e=new jr,d[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){s=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){o=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a},this.getSession=function(){return r},this.setSession=async function(t){if(r=t,null!==r){r.addEventListener("select",_),r.addEventListener("selectstart",_),r.addEventListener("selectend",_),r.addEventListener("squeeze",_),r.addEventListener("squeezestart",_),r.addEventListener("squeezeend",_),r.addEventListener("end",b),r.addEventListener("inputsourceschange",M);const t=e.getContextAttributes();if(!0!==t.xrCompatible&&await e.makeXRCompatible(),void 0===r.renderState.layers){const n={antialias:t.antialias,alpha:t.alpha,depth:t.depth,stencil:t.stencil,framebufferScaleFactor:s},i=new XRWebGLLayer(r,e,n);r.updateRenderState({baseLayer:i})}else{let n=0;t.depth&&(n=t.stencil?34041:6402);const i={colorFormat:t.alpha?6408:6407,depthFormat:n,scaleFactor:s};c=new XRWebGLBinding(r,e),u=c.createProjectionLayer(i),h=e.createFramebuffer(),r.updateRenderState({layers:[u]})}a=await r.requestReferenceSpace(o),L.setContext(r),L.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};const w=new ut,S=new ut;function T(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===r)return;v.near=f.near=m.near=t.near,v.far=f.far=m.far=t.far,y===v.near&&x===v.far||(r.updateRenderState({depthNear:v.near,depthFar:v.far}),y=v.near,x=v.far);const e=t.parent,n=v.cameras;T(v,e);for(let r=0;r<n.length;r++)T(n[r],e);v.matrixWorld.decompose(v.position,v.quaternion,v.scale),t.position.copy(v.position),t.quaternion.copy(v.quaternion),t.scale.copy(v.scale),t.matrix.copy(v.matrix),t.matrixWorld.copy(v.matrixWorld);const i=t.children;for(let r=0,s=i.length;r<s;r++)i[r].updateMatrixWorld(!0);2===n.length?function(t,e,n){w.setFromMatrixPosition(e.matrixWorld),S.setFromMatrixPosition(n.matrixWorld);const i=w.distanceTo(S),r=e.projectionMatrix.elements,s=n.projectionMatrix.elements,a=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],u=(s[8]+1)/s[0],d=a*h,p=a*u,m=i/(-h+u),f=m*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(f),t.translateZ(m),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.copy(t.matrixWorld).invert();const g=a+m,v=o+m,y=d-f,x=p+(i-f),_=l*o/v*g,b=c*o/v*g;t.projectionMatrix.makePerspective(y,x,_,b,g,v)}(v,m,f):v.projectionMatrix.copy(m.projectionMatrix)},this.getCamera=function(){return v};let E=null;const L=new Nn;L.setAnimationLoop((function(t,n){if(l=n.getViewerPose(a),null!==l){const t=l.views,n=r.renderState.baseLayer;void 0===r.renderState.layers&&i.bindXRFramebuffer(n.framebuffer);let s=!1;t.length!==v.cameras.length&&(v.cameras.length=0,s=!0);for(let a=0;a<t.length;a++){const o=t[a];let l=null;if(void 0===r.renderState.layers)l=n.getViewport(o);else{const t=c.getViewSubImage(u,o);i.bindXRFramebuffer(h),e.framebufferTexture2D(36160,36064,3553,t.colorTexture,0),void 0!==t.depthStencilTexture&&e.framebufferTexture2D(36160,36096,3553,t.depthStencilTexture,0),l=t.viewport}const d=g[a];d.matrix.fromArray(o.transform.matrix),d.projectionMatrix.fromArray(o.projectionMatrix),d.viewport.set(l.x,l.y,l.width,l.height),0===a&&v.matrix.copy(d.matrix),!0===s&&v.cameras.push(d)}}const s=r.inputSources;for(let e=0;e<d.length;e++){const t=d[e],i=s[e];t.update(i,n,a)}E&&E(t,n)})),this.setAnimationLoop=function(t){E=t},this.dispose=function(){}}}function Xr(t){function e(e,n){e.opacity.value=n.opacity,n.color&&e.diffuse.value.copy(n.color),n.emissive&&e.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity),n.map&&(e.map.value=n.map),n.alphaMap&&(e.alphaMap.value=n.alphaMap),n.specularMap&&(e.specularMap.value=n.specularMap);const i=t.get(n).envMap;if(i){e.envMap.value=i,e.flipEnvMap.value=i.isCubeTexture&&i._needsFlipEnvMap?-1:1,e.reflectivity.value=n.reflectivity,e.refractionRatio.value=n.refractionRatio;const r=t.get(i).__maxMipLevel;void 0!==r&&(e.maxMipLevel.value=r)}let r,s;n.lightMap&&(e.lightMap.value=n.lightMap,e.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(e.aoMap.value=n.aoMap,e.aoMapIntensity.value=n.aoMapIntensity),n.map?r=n.map:n.specularMap?r=n.specularMap:n.displacementMap?r=n.displacementMap:n.normalMap?r=n.normalMap:n.bumpMap?r=n.bumpMap:n.roughnessMap?r=n.roughnessMap:n.metalnessMap?r=n.metalnessMap:n.alphaMap?r=n.alphaMap:n.emissiveMap?r=n.emissiveMap:n.clearcoatMap?r=n.clearcoatMap:n.clearcoatNormalMap?r=n.clearcoatNormalMap:n.clearcoatRoughnessMap&&(r=n.clearcoatRoughnessMap),void 0!==r&&(r.isWebGLRenderTarget&&(r=r.texture),!0===r.matrixAutoUpdate&&r.updateMatrix(),e.uvTransform.value.copy(r.matrix)),n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),e.uv2Transform.value.copy(s.matrix))}function n(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(e.emissiveMap.value=n.emissiveMap),n.bumpMap&&(e.bumpMap.value=n.bumpMap,e.bumpScale.value=n.bumpScale,n.side===s&&(e.bumpScale.value*=-1)),n.normalMap&&(e.normalMap.value=n.normalMap,e.normalScale.value.copy(n.normalScale),n.side===s&&e.normalScale.value.negate()),n.displacementMap&&(e.displacementMap.value=n.displacementMap,e.displacementScale.value=n.displacementScale,e.displacementBias.value=n.displacementBias);t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,i,r,a,o){i.isMeshBasicMaterial?e(t,i):i.isMeshLambertMaterial?(e(t,i),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(t,i)):i.isMeshToonMaterial?(e(t,i),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap);e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===s&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===s&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshPhongMaterial?(e(t,i),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===s&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===s&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshStandardMaterial?(e(t,i),i.isMeshPhysicalMaterial?function(t,e,i){n(t,e),t.reflectivity.value=e.reflectivity,t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.sheen&&t.sheen.value.copy(e.sheen);e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap);e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap);e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,e.side===s&&t.clearcoatNormalScale.value.negate());t.transmission.value=e.transmission,e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap);e.transmission>0&&(t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height));t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap);t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor)}(t,i,o):n(t,i)):i.isMeshMatcapMaterial?(e(t,i),function(t,e){e.matcap&&(t.matcap.value=e.matcap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===s&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===s&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDepthMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDistanceMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias);t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,i)):i.isMeshNormalMaterial?(e(t,i),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===s&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===s&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,i),i.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,i)):i.isPointsMaterial?function(t,e,n,i){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*n,t.scale.value=.5*i,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);let r;e.map?r=e.map:e.alphaMap&&(r=e.alphaMap);void 0!==r&&(!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix))}(t,i,r,a):i.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);let n;e.map?n=e.map:e.alphaMap&&(n=e.alphaMap);void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}(t,i):i.isShadowMaterial?(t.color.value.copy(i.color),t.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Yr(t={}){const e=void 0!==t.canvas?t.canvas:function(){const t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return t.style.display="block",t}(),n=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,r=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,c=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,h=void 0!==t.powerPreference?t.powerPreference:"default",u=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let p=null,f=null;const g=[],v=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=O,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1;const _=this;let b=!1,S=0,T=0,L=null,A=-1,R=null;const C=new ot,P=new ot;let D=null,I=e.width,N=e.height,z=1,B=null,F=null;const U=new ot(0,0,I,N),H=new ot(0,0,I,N);let G=!1;const V=[],k=new In;let W=!1,j=!1,q=null;const X=new Vt,Y=new ut,J={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Z(){return null===L?z:1}let Q,K,$,tt,et,nt,it,rt,st,at,ht,dt,pt,mt,ft,gt,vt,yt,xt,_t,bt,Mt,wt=n;function St(t,n){for(let i=0;i<t.length;i++){const r=t[i],s=e.getContext(r,n);if(null!==s)return s}return null}try{const t={alpha:i,depth:r,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:u};if(e.addEventListener("webglcontextlost",Lt,!1),e.addEventListener("webglcontextrestored",At,!1),null===wt){const e=["webgl2","webgl","experimental-webgl"];if(!0===_.isWebGL1Renderer&&e.shift(),wt=St(e,t),null===wt)throw St(e)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===wt.getShaderPrecisionFormat&&(wt.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(Ht){throw console.error("THREE.WebGLRenderer: "+Ht.message),Ht}function Tt(){Q=new qn(wt),K=new kn(wt,Q,t),Q.init(K),bt=new Gr(wt,Q,K),$=new Ur(wt,Q,K),V[0]=1029,tt=new Jn(wt),et=new Tr,nt=new Hr(wt,Q,$,et,K,bt,tt),it=new jn(_),rt=new zn(wt,K),Mt=new Gn(wt,Q,rt,K),st=new Xn(wt,rt,tt,Mt),at=new $n(wt,st,rt,tt),yt=new Kn(wt),ft=new Wn(et),ht=new Sr(_,it,Q,K,Mt,ft),dt=new Xr(et),pt=new Rr(et),mt=new zr(Q,K),vt=new Hn(_,it,$,at,l),gt=new Fr(_,at,K),xt=new Vn(wt,Q,tt,K),_t=new Yn(wt,Q,tt,K),tt.programs=ht.programs,_.capabilities=K,_.extensions=Q,_.properties=et,_.renderLists=pt,_.shadowMap=gt,_.state=$,_.info=tt}Tt();const Et=new qr(_,wt);function Lt(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),b=!0}function At(){console.log("THREE.WebGLRenderer: Context Restored."),b=!1;const t=tt.autoReset,e=gt.enabled,n=gt.autoUpdate,i=gt.needsUpdate,r=gt.type;Tt(),tt.autoReset=t,gt.enabled=e,gt.autoUpdate=n,gt.needsUpdate=i,gt.type=r}function Rt(t){const e=t.target;e.removeEventListener("dispose",Rt),function(t){(function(t){const e=et.get(t).programs;void 0!==e&&e.forEach((function(t){ht.releaseProgram(t)}))})(t),et.remove(t)}(e)}this.xr=Et,this.getContext=function(){return wt},this.getContextAttributes=function(){return wt.getContextAttributes()},this.forceContextLoss=function(){const t=Q.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){const t=Q.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return z},this.setPixelRatio=function(t){void 0!==t&&(z=t,this.setSize(I,N,!1))},this.getSize=function(t){return t.set(I,N)},this.setSize=function(t,n,i){Et.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(I=t,N=n,e.width=Math.floor(t*z),e.height=Math.floor(n*z),!1!==i&&(e.style.width=t+"px",e.style.height=n+"px"),this.setViewport(0,0,t,n))},this.getDrawingBufferSize=function(t){return t.set(I*z,N*z).floor()},this.setDrawingBufferSize=function(t,n,i){I=t,N=n,z=i,e.width=Math.floor(t*i),e.height=Math.floor(n*i),this.setViewport(0,0,t,n)},this.getCurrentViewport=function(t){return t.copy(C)},this.getViewport=function(t){return t.copy(U)},this.setViewport=function(t,e,n,i){t.isVector4?U.set(t.x,t.y,t.z,t.w):U.set(t,e,n,i),$.viewport(C.copy(U).multiplyScalar(z).floor())},this.getScissor=function(t){return t.copy(H)},this.setScissor=function(t,e,n,i){t.isVector4?H.set(t.x,t.y,t.z,t.w):H.set(t,e,n,i),$.scissor(P.copy(H).multiplyScalar(z).floor())},this.getScissorTest=function(){return G},this.setScissorTest=function(t){$.setScissorTest(G=t)},this.setOpaqueSort=function(t){B=t},this.setTransparentSort=function(t){F=t},this.getClearColor=function(t){return t.copy(vt.getClearColor())},this.setClearColor=function(){vt.setClearColor.apply(vt,arguments)},this.getClearAlpha=function(){return vt.getClearAlpha()},this.setClearAlpha=function(){vt.setClearAlpha.apply(vt,arguments)},this.clear=function(t,e,n){let i=0;(void 0===t||t)&&(i|=16384),(void 0===e||e)&&(i|=256),(void 0===n||n)&&(i|=1024),wt.clear(i)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",Lt,!1),e.removeEventListener("webglcontextrestored",At,!1),pt.dispose(),mt.dispose(),et.dispose(),it.dispose(),at.dispose(),Mt.dispose(),Et.dispose(),Et.removeEventListener("sessionstart",Pt),Et.removeEventListener("sessionend",Dt),q&&(q.dispose(),q=null),It.stop()},this.renderBufferImmediate=function(t,e){Mt.initAttributes();const n=et.get(t);t.hasPositions&&!n.position&&(n.position=wt.createBuffer()),t.hasNormals&&!n.normal&&(n.normal=wt.createBuffer()),t.hasUvs&&!n.uv&&(n.uv=wt.createBuffer()),t.hasColors&&!n.color&&(n.color=wt.createBuffer());const i=e.getAttributes();t.hasPositions&&(wt.bindBuffer(34962,n.position),wt.bufferData(34962,t.positionArray,35048),Mt.enableAttribute(i.position),wt.vertexAttribPointer(i.position,3,5126,!1,0,0)),t.hasNormals&&(wt.bindBuffer(34962,n.normal),wt.bufferData(34962,t.normalArray,35048),Mt.enableAttribute(i.normal),wt.vertexAttribPointer(i.normal,3,5126,!1,0,0)),t.hasUvs&&(wt.bindBuffer(34962,n.uv),wt.bufferData(34962,t.uvArray,35048),Mt.enableAttribute(i.uv),wt.vertexAttribPointer(i.uv,2,5126,!1,0,0)),t.hasColors&&(wt.bindBuffer(34962,n.color),wt.bufferData(34962,t.colorArray,35048),Mt.enableAttribute(i.color),wt.vertexAttribPointer(i.color,3,5126,!1,0,0)),Mt.disableUnusedAttributes(),wt.drawArrays(4,0,t.count),t.count=0},this.renderBufferDirect=function(t,e,n,i,r,s){null===e&&(e=J);const a=r.isMesh&&r.matrixWorld.determinant()<0,o=Ut(t,e,i,r);$.setMaterial(i,a);let l=n.index;const c=n.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let h,u=1;!0===i.wireframe&&(l=st.getWireframeAttribute(n),u=2),(i.morphTargets||i.morphNormals)&&yt.update(r,n,i,o),Mt.setup(r,i,o,n,l);let d=xt;null!==l&&(h=rt.get(l),d=_t,d.setIndex(h));const p=null!==l?l.count:c.count,m=n.drawRange.start*u,f=n.drawRange.count*u,g=null!==s?s.start*u:0,v=null!==s?s.count*u:1/0,y=Math.max(m,g),x=Math.min(p,m+f,g+v)-1,_=Math.max(0,x-y+1);if(0!==_){if(r.isMesh)!0===i.wireframe?($.setLineWidth(i.wireframeLinewidth*Z()),d.setMode(1)):d.setMode(4);else if(r.isLine){let t=i.linewidth;void 0===t&&(t=1),$.setLineWidth(t*Z()),r.isLineSegments?d.setMode(1):r.isLineLoop?d.setMode(2):d.setMode(3)}else r.isPoints?d.setMode(0):r.isSprite&&d.setMode(4);if(r.isInstancedMesh)d.renderInstances(y,_,r.count);else if(n.isInstancedBufferGeometry){const t=Math.min(n.instanceCount,n._maxInstanceCount);d.renderInstances(y,_,t)}else d.render(y,_)}},this.compile=function(t,e){f=mt.get(t),f.init(),t.traverseVisible((function(t){t.isLight&&t.layers.test(e.layers)&&(f.pushLight(t),t.castShadow&&f.pushShadow(t))})),f.setupLights(),t.traverse((function(e){const n=e.material;if(n)if(Array.isArray(n))for(let i=0;i<n.length;i++){Bt(n[i],t,e)}else Bt(n,t,e)}))};let Ct=null;function Pt(){It.stop()}function Dt(){It.start()}const It=new Nn;function Nt(t,e,n,i){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)f.pushLight(t),t.castShadow&&f.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||k.intersectsSprite(t)){i&&Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X);const e=at.update(t),r=t.material;r.visible&&p.push(t,e,r,n,Y.z,null)}}else if(t.isImmediateRenderObject)i&&Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X),p.push(t,null,t.material,n,Y.z,null);else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.frame!==tt.render.frame&&(t.skeleton.update(),t.skeleton.frame=tt.render.frame),!t.frustumCulled||k.intersectsObject(t))){i&&Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X);const e=at.update(t),r=t.material;if(Array.isArray(r)){const i=e.groups;for(let s=0,a=i.length;s<a;s++){const a=i[s],o=r[a.materialIndex];o&&o.visible&&p.push(t,e,o,n,Y.z,a)}}else r.visible&&p.push(t,e,r,n,Y.z,null)}const r=t.children;for(let s=0,a=r.length;s<a;s++)Nt(r[s],e,n,i)}function zt(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=s.object,o=s.geometry,l=null===i?s.material:i,c=s.group;if(n.isArrayCamera){const t=n.cameras;for(let n=0,i=t.length;n<i;n++){const i=t[n];a.layers.test(i.layers)&&($.viewport(C.copy(i.viewport)),f.setupLightsView(i),Ot(a,e,i,o,l,c))}}else Ot(a,e,n,o,l,c)}}function Ot(t,e,n,i,r,a){if(t.onBeforeRender(_,e,n,i,r,a),t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),t.isImmediateRenderObject){const i=Ut(n,e,r,t);$.setMaterial(r),Mt.reset(),function(t,e){t.render((function(t){_.renderBufferImmediate(t,e)}))}(t,i)}else!0===r.transparent&&2===r.side?(r.side=s,r.needsUpdate=!0,_.renderBufferDirect(n,e,i,r,t,a),r.side=0,r.needsUpdate=!0,_.renderBufferDirect(n,e,i,r,t,a),r.side=2):_.renderBufferDirect(n,e,i,r,t,a);t.onAfterRender(_,e,n,i,r,a)}function Bt(t,e,n){!0!==e.isScene&&(e=J);const i=et.get(t),r=f.state.lights,s=f.state.shadowsArray,a=r.state.version,o=ht.getParameters(t,r.state,s,e,n),l=ht.getProgramCacheKey(o);let c=i.programs;i.environment=t.isMeshStandardMaterial?e.environment:null,i.fog=e.fog,i.envMap=it.get(t.envMap||i.environment),void 0===c&&(t.addEventListener("dispose",Rt),c=new Map,i.programs=c);let h=c.get(l);if(void 0!==h){if(i.currentProgram===h&&i.lightsStateVersion===a)return Ft(t,o),h}else o.uniforms=ht.getUniforms(t),t.onBuild(o,_),t.onBeforeCompile(o,_),h=ht.acquireProgram(o,l),c.set(l,h),i.uniforms=o.uniforms;const u=i.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(u.clippingPlanes=ft.uniform),Ft(t,o),i.needsLights=function(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&!0===t.lights}(t),i.lightsStateVersion=a,i.needsLights&&(u.ambientLightColor.value=r.state.ambient,u.lightProbe.value=r.state.probe,u.directionalLights.value=r.state.directional,u.directionalLightShadows.value=r.state.directionalShadow,u.spotLights.value=r.state.spot,u.spotLightShadows.value=r.state.spotShadow,u.rectAreaLights.value=r.state.rectArea,u.ltc_1.value=r.state.rectAreaLTC1,u.ltc_2.value=r.state.rectAreaLTC2,u.pointLights.value=r.state.point,u.pointLightShadows.value=r.state.pointShadow,u.hemisphereLights.value=r.state.hemi,u.directionalShadowMap.value=r.state.directionalShadowMap,u.directionalShadowMatrix.value=r.state.directionalShadowMatrix,u.spotShadowMap.value=r.state.spotShadowMap,u.spotShadowMatrix.value=r.state.spotShadowMatrix,u.pointShadowMap.value=r.state.pointShadowMap,u.pointShadowMatrix.value=r.state.pointShadowMatrix);const d=h.getUniforms(),p=ir.seqWithValue(d.seq,u);return i.currentProgram=h,i.uniformsList=p,h}function Ft(t,e){const n=et.get(t);n.outputEncoding=e.outputEncoding,n.instancing=e.instancing,n.skinning=e.skinning,n.numClippingPlanes=e.numClippingPlanes,n.numIntersection=e.numClipIntersection,n.vertexAlphas=e.vertexAlphas}function Ut(t,e,n,i){!0!==e.isScene&&(e=J),nt.resetTextureUnits();const r=e.fog,s=n.isMeshStandardMaterial?e.environment:null,a=null===L?_.outputEncoding:L.texture.encoding,o=it.get(n.envMap||s),l=!0===n.vertexColors&&i.geometry&&i.geometry.attributes.color&&4===i.geometry.attributes.color.itemSize,c=et.get(n),h=f.state.lights;if(!0===W&&(!0===j||t!==R)){const e=t===R&&n.id===A;ft.setState(n,t,e)}let u=!1;n.version===c.__version?c.needsLights&&c.lightsStateVersion!==h.state.version||c.outputEncoding!==a||i.isInstancedMesh&&!1===c.instancing?u=!0:i.isInstancedMesh||!0!==c.instancing?i.isSkinnedMesh&&!1===c.skinning?u=!0:i.isSkinnedMesh||!0!==c.skinning?c.envMap!==o||n.fog&&c.fog!==r?u=!0:void 0===c.numClippingPlanes||c.numClippingPlanes===ft.numPlanes&&c.numIntersection===ft.numIntersection?c.vertexAlphas!==l&&(u=!0):u=!0:u=!0:u=!0:(u=!0,c.__version=n.version);let d=c.currentProgram;!0===u&&(d=Bt(n,e,i));let p=!1,m=!1,g=!1;const v=d.getUniforms(),y=c.uniforms;if($.useProgram(d.program)&&(p=!0,m=!0,g=!0),n.id!==A&&(A=n.id,m=!0),p||R!==t){if(v.setValue(wt,"projectionMatrix",t.projectionMatrix),K.logarithmicDepthBuffer&&v.setValue(wt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),R!==t&&(R=t,m=!0,g=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshStandardMaterial||n.envMap){const e=v.map.cameraPosition;void 0!==e&&e.setValue(wt,Y.setFromMatrixPosition(t.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial)&&v.setValue(wt,"isOrthographic",!0===t.isOrthographicCamera),(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.isShadowMaterial||i.isSkinnedMesh)&&v.setValue(wt,"viewMatrix",t.matrixWorldInverse)}if(i.isSkinnedMesh){v.setOptional(wt,i,"bindMatrix"),v.setOptional(wt,i,"bindMatrixInverse");const t=i.skeleton;t&&(K.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),v.setValue(wt,"boneTexture",t.boneTexture,nt),v.setValue(wt,"boneTextureSize",t.boneTextureSize)):v.setOptional(wt,t,"boneMatrices"))}var x,b;return(m||c.receiveShadow!==i.receiveShadow)&&(c.receiveShadow=i.receiveShadow,v.setValue(wt,"receiveShadow",i.receiveShadow)),m&&(v.setValue(wt,"toneMappingExposure",_.toneMappingExposure),c.needsLights&&(b=g,(x=y).ambientLightColor.needsUpdate=b,x.lightProbe.needsUpdate=b,x.directionalLights.needsUpdate=b,x.directionalLightShadows.needsUpdate=b,x.pointLights.needsUpdate=b,x.pointLightShadows.needsUpdate=b,x.spotLights.needsUpdate=b,x.spotLightShadows.needsUpdate=b,x.rectAreaLights.needsUpdate=b,x.hemisphereLights.needsUpdate=b),r&&n.fog&&dt.refreshFogUniforms(y,r),dt.refreshMaterialUniforms(y,n,z,N,q),ir.upload(wt,c.uniformsList,y,nt)),n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(ir.upload(wt,c.uniformsList,y,nt),n.uniformsNeedUpdate=!1),n.isSpriteMaterial&&v.setValue(wt,"center",i.center),v.setValue(wt,"modelViewMatrix",i.modelViewMatrix),v.setValue(wt,"normalMatrix",i.normalMatrix),v.setValue(wt,"modelMatrix",i.matrixWorld),d}It.setAnimationLoop((function(t){Ct&&Ct(t)})),"undefined"!==typeof window&&It.setContext(window),this.setAnimationLoop=function(t){Ct=t,Et.setAnimationLoop(t),null===t?It.stop():It.start()},Et.addEventListener("sessionstart",Pt),Et.addEventListener("sessionend",Dt),this.render=function(t,e){if(void 0!==e&&!0!==e.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===b)return;!0===t.autoUpdate&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),!0===Et.enabled&&!0===Et.isPresenting&&(!0===Et.cameraAutoUpdate&&Et.updateCamera(e),e=Et.getCamera()),!0===t.isScene&&t.onBeforeRender(_,t,e,L),f=mt.get(t,v.length),f.init(),v.push(f),X.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),k.setFromProjectionMatrix(X),j=this.localClippingEnabled,W=ft.init(this.clippingPlanes,j,e),p=pt.get(t,g.length),p.init(),g.push(p),Nt(t,e,0,_.sortObjects),p.finish(),!0===_.sortObjects&&p.sort(B,F),!0===W&&ft.beginShadows();const n=f.state.shadowsArray;gt.render(n,t,e),f.setupLights(),f.setupLightsView(e),!0===W&&ft.endShadows(),!0===this.info.autoReset&&this.info.reset(),vt.render(p,t);const i=p.opaque,r=p.transmissive,s=p.transparent;i.length>0&&zt(i,t,e),r.length>0&&function(t,e,n,i){if(null===q){const t=!0===o&&!0===K.isWebGL2;q=new(t?ct:lt)(1024,1024,{generateMipmaps:!0,type:null!==bt.convert(w)?w:x,minFilter:y,magFilter:m,wrapS:d,wrapT:d})}const r=_.getRenderTarget();_.setRenderTarget(q),_.clear();const s=_.toneMapping;_.toneMapping=0,zt(t,n,i),_.toneMapping=s,nt.updateMultisampleRenderTarget(q),nt.updateRenderTargetMipmap(q),_.setRenderTarget(r),zt(e,n,i)}(i,r,t,e),s.length>0&&zt(s,t,e),null!==L&&(nt.updateMultisampleRenderTarget(L),nt.updateRenderTargetMipmap(L)),!0===t.isScene&&t.onAfterRender(_,t,e),$.buffers.depth.setTest(!0),$.buffers.depth.setMask(!0),$.buffers.color.setMask(!0),$.setPolygonOffset(!1),Mt.resetDefaultState(),A=-1,R=null,v.pop(),f=v.length>0?v[v.length-1]:null,g.pop(),p=g.length>0?g[g.length-1]:null},this.getActiveCubeFace=function(){return S},this.getActiveMipmapLevel=function(){return T},this.getRenderTarget=function(){return L},this.setRenderTarget=function(t,e=0,n=0){L=t,S=e,T=n,t&&void 0===et.get(t).__webglFramebuffer&&nt.setupRenderTarget(t);let i=null,r=!1,s=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(s=!0);const a=et.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=a[e],r=!0):i=t.isWebGLMultisampleRenderTarget?et.get(t).__webglMultisampledFramebuffer:a,C.copy(t.viewport),P.copy(t.scissor),D=t.scissorTest}else C.copy(U).multiplyScalar(z).floor(),P.copy(H).multiplyScalar(z).floor(),D=G;if($.bindFramebuffer(36160,i)&&K.drawBuffers){let e=!1;if(t)if(t.isWebGLMultipleRenderTargets){const n=t.texture;if(V.length!==n.length||36064!==V[0]){for(let t=0,e=n.length;t<e;t++)V[t]=36064+t;V.length=n.length,e=!0}}else 1===V.length&&36064===V[0]||(V[0]=36064,V.length=1,e=!0);else 1===V.length&&1029===V[0]||(V[0]=1029,V.length=1,e=!0);e&&(K.isWebGL2?wt.drawBuffers(V):Q.get("WEBGL_draw_buffers").drawBuffersWEBGL(V))}if($.viewport(C),$.scissor(P),$.setScissorTest(D),r){const i=et.get(t.texture);wt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}else if(s){const i=et.get(t.texture),r=e||0;wt.framebufferTextureLayer(36160,36064,i.__webglTexture,n||0,r)}},this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=et.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){$.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==E&&bt.convert(o)!==wt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===w&&(Q.has("EXT_color_buffer_half_float")||K.isWebGL2&&Q.has("EXT_color_buffer_float"));if(l!==x&&bt.convert(l)!==wt.getParameter(35738)&&(l!==M||!(K.isWebGL2||Q.has("OES_texture_float")||Q.has("WEBGL_color_buffer_float")))&&!c)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===wt.checkFramebufferStatus(36160)?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&wt.readPixels(e,n,i,r,bt.convert(o),bt.convert(l),s):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==L?et.get(L).__webglFramebuffer:null;$.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);let a=bt.convert(e.format);K.isWebGL2&&(6407===a&&(a=32849),6408===a&&(a=32856)),nt.setTexture2D(e,0),wt.copyTexImage2D(3553,n,a,t.x,t.y,r,s,0),$.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=bt.convert(n.format),o=bt.convert(n.type);nt.setTexture2D(n,0),wt.pixelStorei(37440,n.flipY),wt.pixelStorei(37441,n.premultiplyAlpha),wt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?wt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?wt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):wt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&wt.generateMipmap(3553),$.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(_.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=bt.convert(i.format),c=bt.convert(i.type);let h;if(i.isDataTexture3D)nt.setTexture3D(i,0),h=32879;else{if(!i.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");nt.setTexture2DArray(i,0),h=35866}wt.pixelStorei(37440,i.flipY),wt.pixelStorei(37441,i.premultiplyAlpha),wt.pixelStorei(3317,i.unpackAlignment);const u=wt.getParameter(3314),d=wt.getParameter(32878),p=wt.getParameter(3316),m=wt.getParameter(3315),f=wt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;wt.pixelStorei(3314,g.width),wt.pixelStorei(32878,g.height),wt.pixelStorei(3316,t.min.x),wt.pixelStorei(3315,t.min.y),wt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isDataTexture3D?wt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),wt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):wt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),wt.pixelStorei(3314,u),wt.pixelStorei(32878,d),wt.pixelStorei(3316,p),wt.pixelStorei(3315,m),wt.pixelStorei(32877,f),0===r&&i.generateMipmaps&&wt.generateMipmap(h),$.unbindTexture()},this.initTexture=function(t){nt.setTexture2D(t,0),$.unbindTexture()},this.resetState=function(){S=0,T=0,L=null,$.reset(),Mt.reset()},"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}(class extends Yr{}).prototype.isWebGL1Renderer=!0;class Jr{constructor(t,e=25e-5){this.name="",this.color=new Ie(t),this.density=e}clone(){return new Jr(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Jr.prototype.isFogExp2=!0;class Zr{constructor(t,e=1,n=1e3){this.name="",this.color=new Ie(t),this.near=e,this.far=n}clone(){return new Zr(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Zr.prototype.isFog=!0;class Qr extends pe{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}Qr.prototype.isScene=!0;class Kr{constructor(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=G,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Y()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Y()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(e,this.stride);return n.setUsage(this.usage),n}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Y()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}Kr.prototype.isInterleavedBuffer=!0;const $r=new ut;class ts{constructor(t,e,n,i=!1){this.name="",this.data=t,this.itemSize=e,this.offset=n,this.normalized=!0===i}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,n=this.data.count;e<n;e++)$r.x=this.getX(e),$r.y=this.getY(e),$r.z=this.getZ(e),$r.applyMatrix4(t),this.setXYZ(e,$r.x,$r.y,$r.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)$r.x=this.getX(e),$r.y=this.getY(e),$r.z=this.getZ(e),$r.applyNormalMatrix(t),this.setXYZ(e,$r.x,$r.y,$r.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)$r.x=this.getX(e),$r.y=this.getY(e),$r.z=this.getZ(e),$r.transformDirection(t),this.setXYZ(e,$r.x,$r.y,$r.z);return this}setX(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){return this.data.array[t*this.data.stride+this.offset]}getY(t){return this.data.array[t*this.data.stride+this.offset+1]}getZ(t){return this.data.array[t*this.data.stride+this.offset+2]}getW(t){return this.data.array[t*this.data.stride+this.offset+3]}setXY(t,e,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this}setXYZ(t,e,n,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this.data.array[t+3]=r,this}clone(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return new Be(new this.array.constructor(t),this.itemSize,this.normalized)}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new ts(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}ts.prototype.isInterleavedBufferAttribute=!0;class es extends Ee{constructor(t){super(),this.type="SpriteMaterial",this.color=new Ie(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this}}let ns;es.prototype.isSpriteMaterial=!0;const is=new ut,rs=new ut,ss=new ut,as=new tt,os=new tt,ls=new Vt,cs=new ut,hs=new ut,us=new ut,ds=new tt,ps=new tt,ms=new tt;class fs extends pe{constructor(t){if(super(),this.type="Sprite",void 0===ns){ns=new Je;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),e=new Kr(t,5);ns.setIndex([0,1,2,0,2,3]),ns.setAttribute("position",new ts(e,3,0,!1)),ns.setAttribute("uv",new ts(e,2,3,!1))}this.geometry=ns,this.material=void 0!==t?t:new es,this.center=new tt(.5,.5)}raycast(t,e){null===t.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),rs.setFromMatrixScale(this.matrixWorld),ls.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),ss.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&rs.multiplyScalar(-ss.z);const n=this.material.rotation;let i,r;0!==n&&(r=Math.cos(n),i=Math.sin(n));const s=this.center;gs(cs.set(-.5,-.5,0),ss,s,rs,i,r),gs(hs.set(.5,-.5,0),ss,s,rs,i,r),gs(us.set(.5,.5,0),ss,s,rs,i,r),ds.set(0,0),ps.set(1,0),ms.set(1,1);let a=t.ray.intersectTriangle(cs,hs,us,!1,is);if(null===a&&(gs(hs.set(-.5,.5,0),ss,s,rs,i,r),ps.set(0,1),a=t.ray.intersectTriangle(cs,us,hs,!1,is),null===a))return;const o=t.ray.origin.distanceTo(is);o<t.near||o>t.far||e.push({distance:o,point:is.clone(),uv:Se.getUV(is,cs,hs,us,ds,ps,ms,new tt),face:null,object:this})}copy(t){return super.copy(t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function gs(t,e,n,i,r,s){as.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(os.x=s*as.x-r*as.y,os.y=r*as.x+s*as.y):os.copy(as),t.copy(e),t.x+=os.x,t.y+=os.y,t.applyMatrix4(ls)}fs.prototype.isSprite=!0;const vs=new ut,ys=new ot,xs=new ot,_s=new ut,bs=new Vt;class Ms extends mn{constructor(t,e){super(t,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Vt,this.bindMatrixInverse=new Vt}copy(t){return super.copy(t),this.bindMode=t.bindMode,this.bindMatrix.copy(t.bindMatrix),this.bindMatrixInverse.copy(t.bindMatrixInverse),this.skeleton=t.skeleton,this}bind(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const t=new ot,e=this.geometry.attributes.skinWeight;for(let n=0,i=e.count;n<i;n++){t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.w=e.getW(n);const i=1/t.manhattanLength();i!==1/0?t.multiplyScalar(i):t.set(1,0,0,0),e.setXYZW(n,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}boneTransform(t,e){const n=this.skeleton,i=this.geometry;ys.fromBufferAttribute(i.attributes.skinIndex,t),xs.fromBufferAttribute(i.attributes.skinWeight,t),vs.fromBufferAttribute(i.attributes.position,t).applyMatrix4(this.bindMatrix),e.set(0,0,0);for(let r=0;r<4;r++){const t=xs.getComponent(r);if(0!==t){const i=ys.getComponent(r);bs.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]),e.addScaledVector(_s.copy(vs).applyMatrix4(bs),t)}}return e.applyMatrix4(this.bindMatrixInverse)}}Ms.prototype.isSkinnedMesh=!0;class ws extends pe{constructor(){super(),this.type="Bone"}}ws.prototype.isBone=!0;class Ss extends st{constructor(t=null,e=1,n=1,i,r,s,a,o,l=1003,c=1003,h,u){super(null,s,a,o,l,c,i,r,h,u),this.image={data:t,width:e,height:n},this.magFilter=l,this.minFilter=c,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}Ss.prototype.isDataTexture=!0;const Ts=new Vt,Es=new Vt,Ls=[],As=new mn;class Rs extends mn{constructor(t,e,n){super(t,e),this.instanceMatrix=new Be(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.frustumCulled=!1}copy(t){return super.copy(t),this.instanceMatrix.copy(t.instanceMatrix),null!==t.instanceColor&&(this.instanceColor=t.instanceColor.clone()),this.count=t.count,this}getColorAt(t,e){e.fromArray(this.instanceColor.array,3*t)}getMatrixAt(t,e){e.fromArray(this.instanceMatrix.array,16*t)}raycast(t,e){const n=this.matrixWorld,i=this.count;if(As.geometry=this.geometry,As.material=this.material,void 0!==As.material)for(let r=0;r<i;r++){this.getMatrixAt(r,Ts),Es.multiplyMatrices(n,Ts),As.matrixWorld=Es,As.raycast(t,Ls);for(let t=0,n=Ls.length;t<n;t++){const n=Ls[t];n.instanceId=r,n.object=this,e.push(n)}Ls.length=0}}setColorAt(t,e){null===this.instanceColor&&(this.instanceColor=new Be(new Float32Array(3*this.count),3)),e.toArray(this.instanceColor.array,3*t)}setMatrixAt(t,e){e.toArray(this.instanceMatrix.array,16*t)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}Rs.prototype.isInstancedMesh=!0;class Cs extends Ee{constructor(t){super(),this.type="LineBasicMaterial",this.color=new Ie(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.morphTargets=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this.morphTargets=t.morphTargets,this}}Cs.prototype.isLineBasicMaterial=!0;const Ps=new ut,Ds=new ut,Is=new Vt,Ns=new Gt,zs=new It;class Os extends pe{constructor(t=new Je,e=new Cs){super(),this.type="Line",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t){return super.copy(t),this.material=t.material,this.geometry=t.geometry,this}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[0];for(let t=1,i=e.count;t<i;t++)Ps.fromBufferAttribute(e,t-1),Ds.fromBufferAttribute(e,t),n[t]=n[t-1],n[t]+=Ps.distanceTo(Ds);t.setAttribute("lineDistance",new He(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else t.isGeometry&&console.error("THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Line.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),zs.copy(n.boundingSphere),zs.applyMatrix4(i),zs.radius+=r,!1===t.ray.intersectsSphere(zs))return;Is.copy(i).invert(),Ns.copy(t.ray).applyMatrix4(Is);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=new ut,c=new ut,h=new ut,u=new ut,d=this.isLineSegments?2:1;if(n.isBufferGeometry){const i=n.index,r=n.attributes.position;if(null!==i){for(let n=Math.max(0,s.start),a=Math.min(i.count,s.start+s.count)-1;n<a;n+=d){const s=i.getX(n),a=i.getX(n+1);l.fromBufferAttribute(r,s),c.fromBufferAttribute(r,a);if(Ns.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(u);d<t.near||d>t.far||e.push({distance:d,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(r.count,s.start+s.count)-1;n<i;n+=d){l.fromBufferAttribute(r,n),c.fromBufferAttribute(r,n+1);if(Ns.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);i<t.near||i>t.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}}}}else{const e=t.morphTargets;void 0!==e&&e.length>0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}Os.prototype.isLine=!0;const Bs=new ut,Fs=new ut;class Us extends Os{constructor(t,e){super(t,e),this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;t<i;t+=2)Bs.fromBufferAttribute(e,t),Fs.fromBufferAttribute(e,t+1),n[t]=0===t?0:n[t-1],n[t+1]=n[t]+Bs.distanceTo(Fs);t.setAttribute("lineDistance",new He(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else t.isGeometry&&console.error("THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}}Us.prototype.isLineSegments=!0;class Hs extends Os{constructor(t,e){super(t,e),this.type="LineLoop"}}Hs.prototype.isLineLoop=!0;class Gs extends Ee{constructor(t){super(),this.type="PointsMaterial",this.color=new Ie(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.morphTargets=t.morphTargets,this}}Gs.prototype.isPointsMaterial=!0;const Vs=new Vt,ks=new Gt,Ws=new It,js=new ut;class qs extends pe{constructor(t=new Je,e=new Gs){super(),this.type="Points",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t){return super.copy(t),this.material=t.material,this.geometry=t.geometry,this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),Ws.copy(n.boundingSphere),Ws.applyMatrix4(i),Ws.radius+=r,!1===t.ray.intersectsSphere(Ws))return;Vs.copy(i).invert(),ks.copy(t.ray).applyMatrix4(Vs);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a;if(n.isBufferGeometry){const r=n.index,a=n.attributes.position;if(null!==r){for(let n=Math.max(0,s.start),l=Math.min(r.count,s.start+s.count);n<l;n++){const s=r.getX(n);js.fromBufferAttribute(a,s),Xs(js,s,o,i,t,e,this)}}else{for(let n=Math.max(0,s.start),r=Math.min(a.count,s.start+s.count);n<r;n++)js.fromBufferAttribute(a,n),Xs(js,n,o,i,t,e,this)}}else console.error("THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}}}}else{const e=t.morphTargets;void 0!==e&&e.length>0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function Xs(t,e,n,i,r,s,a){const o=ks.distanceSqToPoint(t);if(o<n){const n=new ut;ks.closestPointToPoint(t,n),n.applyMatrix4(i);const l=r.ray.origin.distanceTo(n);if(l<r.near||l>r.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}qs.prototype.isPoints=!0;(class extends st{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.format=void 0!==a?a:T,this.minFilter=void 0!==s?s:v,this.magFilter=void 0!==r?r:v,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}).prototype.isVideoTexture=!0;class Ys extends st{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}Ys.prototype.isCompressedTexture=!0;(class extends st{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.needsUpdate=!0}}).prototype.isCanvasTexture=!0;(class extends st{constructor(t,e,n,i,r,s,a,o,l,c){if((c=void 0!==c?c:L)!==L&&c!==A)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===L&&(n=_),void 0===n&&c===A&&(n=S),super(null,i,r,s,a,o,c,n,l),this.image={width:t,height:e},this.magFilter=void 0!==a?a:m,this.minFilter=void 0!==o?o:m,this.flipY=!1,this.generateMipmaps=!1}}).prototype.isDepthTexture=!0;class Js extends Je{constructor(t=1,e=1,n=1,i=8,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=n/2;let g=0;function v(n){const r=p,s=new tt,m=new ut;let v=0;const y=!0===n?t:e,x=!0===n?1:-1;for(let t=1;t<=i;t++)h.push(0,f*x,0),u.push(0,x,0),d.push(.5,.5),p++;const _=p;for(let t=0;t<=i;t++){const e=t/i*o+a,n=Math.cos(e),r=Math.sin(e);m.x=y*r,m.y=f*x,m.z=y*n,h.push(m.x,m.y,m.z),u.push(0,x,0),s.x=.5*n+.5,s.y=.5*r*x+.5,d.push(s.x,s.y),p++}for(let t=0;t<i;t++){const e=r+t,i=_+t;!0===n?c.push(i,i+1,e):c.push(i+1,i,e),v+=3}l.addGroup(g,v,!0===n?1:2),g+=v}!function(){const s=new ut,v=new ut;let y=0;const x=(e-t)/n;for(let l=0;l<=r;l++){const c=[],g=l/r,y=g*(e-t)+t;for(let t=0;t<=i;t++){const e=t/i,r=e*o+a,l=Math.sin(r),m=Math.cos(r);v.x=y*l,v.y=-g*n+f,v.z=y*m,h.push(v.x,v.y,v.z),s.set(l,x,m).normalize(),u.push(s.x,s.y,s.z),d.push(e,1-g),c.push(p++)}m.push(c)}for(let t=0;t<i;t++)for(let e=0;e<r;e++){const n=m[e][t],i=m[e+1][t],r=m[e+1][t+1],s=m[e][t+1];c.push(n,i,s),c.push(i,r,s),y+=6}l.addGroup(g,y,0),g+=y}(),!1===s&&(t>0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new He(h,3)),this.setAttribute("normal",new He(u,3)),this.setAttribute("uv",new He(d,2))}static fromJSON(t){return new Js(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Zs extends Js{constructor(t=1,e=1,n=8,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new Zs(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}new ut,new ut,new ut,new Se;class Qs{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)n=this.getPoint(s/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),a=n[i]-s,a<0)o=i+1;else{if(!(a>0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new tt:new ut);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new ut,i=[],r=[],s=[],a=new ut,o=new Vt;for(let d=0;d<=t;d++){const e=d/t;i[d]=this.getTangentAt(e,new ut),i[d].normalize()}r[0]=new ut,s[0]=new ut;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let d=1;d<=t;d++){if(r[d]=r[d-1].clone(),s[d]=s[d-1].clone(),a.crossVectors(i[d-1],i[d]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(J(i[d-1].dot(i[d]),-1,1));r[d].applyMatrix4(o.makeRotationAxis(a,t))}s[d].crossVectors(i[d],r[d])}if(!0===e){let e=Math.acos(J(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Ks extends Qs{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new tt,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)<Number.EPSILON;for(;r<0;)r+=i;for(;r>i;)r-=i;r<Number.EPSILON&&(r=s?0:i),!0!==this.aClockwise||s||(r===i?r=-i:r-=i);const a=this.aStartAngle+t*r;let o=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const t=Math.cos(this.aRotation),e=Math.sin(this.aRotation),n=o-this.aX,i=l-this.aY;o=n*t-i*e+this.aX,l=n*e+i*t+this.aY}return n.set(o,l)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){const t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}}Ks.prototype.isEllipseCurve=!0;class $s extends Ks{constructor(t,e,n,i,r,s){super(t,e,n,n,i,r,s),this.type="ArcCurve"}}function ta(){let t=0,e=0,n=0,i=0;function r(r,s,a,o){t=r,e=a,n=-3*r+3*s-2*a-o,i=2*r-2*s+a+o}return{initCatmullRom:function(t,e,n,i,s){r(e,n,s*(n-t),s*(i-e))},initNonuniformCatmullRom:function(t,e,n,i,s,a,o){let l=(e-t)/s-(n-t)/(s+a)+(n-e)/a,c=(n-e)/a-(i-e)/(a+o)+(i-n)/o;l*=a,c*=a,r(e,n,l,c)},calc:function(r){const s=r*r;return t+e*r+n*s+i*(s*r)}}}$s.prototype.isArcCurve=!0;const ea=new ut,na=new ta,ia=new ta,ra=new ta;class sa extends Qs{constructor(t=[],e=!1,n="centripetal",i=.5){super(),this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=n,this.tension=i}getPoint(t,e=new ut){const n=e,i=this.points,r=i.length,s=(r-(this.closed?0:1))*t;let a,o,l=Math.floor(s),c=s-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(ea.subVectors(i[0],i[1]).add(i[0]),a=ea);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2<r?o=i[(l+2)%r]:(ea.subVectors(i[r-1],i[r-2]).add(i[r-1]),o=ea),"centripetal"===this.curveType||"chordal"===this.curveType){const t="chordal"===this.curveType?.5:.25;let e=Math.pow(a.distanceToSquared(h),t),n=Math.pow(h.distanceToSquared(u),t),i=Math.pow(u.distanceToSquared(o),t);n<1e-4&&(n=1),e<1e-4&&(e=n),i<1e-4&&(i=n),na.initNonuniformCatmullRom(a.x,h.x,u.x,o.x,e,n,i),ia.initNonuniformCatmullRom(a.y,h.y,u.y,o.y,e,n,i),ra.initNonuniformCatmullRom(a.z,h.z,u.z,o.z,e,n,i)}else"catmullrom"===this.curveType&&(na.initCatmullRom(a.x,h.x,u.x,o.x,this.tension),ia.initCatmullRom(a.y,h.y,u.y,o.y,this.tension),ra.initCatmullRom(a.z,h.z,u.z,o.z,this.tension));return n.set(na.calc(c),ia.calc(c),ra.calc(c)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push((new ut).fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}}function aa(t,e,n,i,r){const s=.5*(i-e),a=.5*(r-n),o=t*t;return(2*n-2*i+s+a)*(t*o)+(-3*n+3*i-2*s-a)*o+s*t+n}function oa(t,e,n,i){return function(t,e){const n=1-t;return n*n*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,n)+function(t,e){return t*t*e}(t,i)}function la(t,e,n,i,r){return function(t,e){const n=1-t;return n*n*n*e}(t,e)+function(t,e){const n=1-t;return 3*n*n*t*e}(t,n)+function(t,e){return 3*(1-t)*t*t*e}(t,i)+function(t,e){return t*t*t*e}(t,r)}sa.prototype.isCatmullRomCurve3=!0;class ca extends Qs{constructor(t=new tt,e=new tt,n=new tt,i=new tt){super(),this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new tt){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(la(t,i.x,r.x,s.x,a.x),la(t,i.y,r.y,s.y,a.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}ca.prototype.isCubicBezierCurve=!0;class ha extends Qs{constructor(t=new ut,e=new ut,n=new ut,i=new ut){super(),this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new ut){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(la(t,i.x,r.x,s.x,a.x),la(t,i.y,r.y,s.y,a.y),la(t,i.z,r.z,s.z,a.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}ha.prototype.isCubicBezierCurve3=!0;class ua extends Qs{constructor(t=new tt,e=new tt){super(),this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new tt){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e){const n=e||new tt;return n.copy(this.v2).sub(this.v1).normalize(),n}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}ua.prototype.isLineCurve=!0;class da extends Qs{constructor(t=new tt,e=new tt,n=new tt){super(),this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new tt){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(oa(t,i.x,r.x,s.x),oa(t,i.y,r.y,s.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}da.prototype.isQuadraticBezierCurve=!0;class pa extends Qs{constructor(t=new ut,e=new ut,n=new ut){super(),this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new ut){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(oa(t,i.x,r.x,s.x),oa(t,i.y,r.y,s.y),oa(t,i.z,r.z,s.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}pa.prototype.isQuadraticBezierCurve3=!0;class ma extends Qs{constructor(t=[]){super(),this.type="SplineCurve",this.points=t}getPoint(t,e=new tt){const n=e,i=this.points,r=(i.length-1)*t,s=Math.floor(r),a=r-s,o=i[0===s?s:s-1],l=i[s],c=i[s>i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(aa(a,o.x,l.x,c.x,h.x),aa(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push((new tt).fromArray(n))}return this}}ma.prototype.isSplineCurve=!0;var fa=Object.freeze({__proto__:null,ArcCurve:$s,CatmullRomCurve3:sa,CubicBezierCurve:ca,CubicBezierCurve3:ha,EllipseCurve:Ks,LineCurve:ua,LineCurve3:class extends Qs{constructor(t=new ut,e=new ut){super(),this.type="LineCurve3",this.isLineCurve3=!0,this.v1=t,this.v2=e}getPoint(t,e=new ut){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},QuadraticBezierCurve:da,QuadraticBezierCurve3:pa,SplineCurve:ma});const ga=function(t,e,n=2){const i=e&&e.length,r=i?e[0]*n:t.length;let s=va(t,0,r,n,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,h,u,d,p;if(i&&(s=function(t,e,n,i){const r=[];let s,a,o,l,c;for(s=0,a=e.length;s<a;s++)o=e[s]*i,l=s<a-1?e[s+1]*i:t.length,c=va(t,o,l,i,!1),c===c.next&&(c.steiner=!0),r.push(Aa(c));for(r.sort(Sa),s=0;s<r.length;s++)Ta(r[s],n),n=ya(n,n.next);return n}(t,e,s,n)),t.length>80*n){o=c=t[0],l=h=t[1];for(let e=n;e<r;e+=n)u=t[e],d=t[e+1],u<o&&(o=u),d<l&&(l=d),u>c&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?1/p:0}return xa(s,a,n,o,l,p),a};function va(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s<n;s+=i)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}(t,e,n,i)>0)for(s=e;s<n;s+=i)a=Fa(s,t[s],t[s+1],a);else for(s=n-i;s>=e;s-=i)a=Fa(s,t[s],t[s+1],a);return a&&Da(a,a.next)&&(Ua(a),a=a.next),a}function ya(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Da(i,i.next)&&0!==Pa(i.prev,i,i.next))i=i.next;else{if(Ua(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function xa(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{null===r.z&&(r.z=La(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e<c&&(o++,i=i.nextZ,i);e++);for(l=c;o>0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?ba(t,i,r,s):_a(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),Ua(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?xa(t=Ma(ya(t),e,n),e,n,i,r,s,2):2===a&&wa(t,e,n,i,r,s):xa(ya(t),e,n,i,r,s,1);break}}function _a(t){const e=t.prev,n=t,i=t.next;if(Pa(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(Ra(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&Pa(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function ba(t,e,n,i){const r=t.prev,s=t,a=t.next;if(Pa(r,s,a)>=0)return!1;const o=r.x<s.x?r.x<a.x?r.x:a.x:s.x<a.x?s.x:a.x,l=r.y<s.y?r.y<a.y?r.y:a.y:s.y<a.y?s.y:a.y,c=r.x>s.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=La(o,l,e,n,i),d=La(c,h,e,n,i);let p=t.prevZ,m=t.nextZ;for(;p&&p.z>=u&&m&&m.z<=d;){if(p!==t.prev&&p!==t.next&&Ra(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&Pa(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&Ra(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&Pa(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&Ra(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&Pa(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&Ra(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&Pa(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function Ma(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!Da(r,s)&&Ia(r,i,i.next,s)&&Oa(r,s)&&Oa(s,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(s.i/n),Ua(i),Ua(i.next),i=t=s),i=i.next}while(i!==t);return ya(i)}function wa(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Ca(a,t)){let o=Ba(a,t);return a=ya(a,a.next),o=ya(o,o.next),xa(a,e,n,i,r,s),void xa(o,e,n,i,r,s)}t=t.next}a=a.next}while(a!==t)}function Sa(t,e){return t.x-e.x}function Ta(t,e){if(e=function(t,e){let n=e;const i=t.x,r=t.y;let s,a=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){const t=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=i&&t>a){if(a=t,t===i){if(r===n.y)return n;if(r===n.next.y)return n.next}s=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!s)return null;if(i===a)return s;const o=s,l=s.x,c=s.y;let h,u=1/0;n=s;do{i>=n.x&&n.x>=l&&i!==n.x&&Ra(r<c?i:a,r,l,c,r<c?a:i,r,n.x,n.y)&&(h=Math.abs(r-n.y)/(i-n.x),Oa(n,t)&&(h<u||h===u&&(n.x>s.x||n.x===s.x&&Ea(s,n)))&&(s=n,u=h)),n=n.next}while(n!==o);return s}(t,e)){const n=Ba(e,t);ya(e,e.next),ya(n,n.next)}}function Ea(t,e){return Pa(t.prev,t,e.prev)<0&&Pa(e.next,t,t.next)<0}function La(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Aa(t){let e=t,n=t;do{(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e),e=e.next}while(e!==t);return n}function Ra(t,e,n,i,r,s,a,o){return(r-a)*(e-o)-(t-a)*(s-o)>=0&&(t-a)*(i-o)-(n-a)*(e-o)>=0&&(n-a)*(s-o)-(r-a)*(i-o)>=0}function Ca(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Ia(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Oa(t,e)&&Oa(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!==n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Pa(t.prev,t,e.prev)||Pa(t,e.prev,e))||Da(t,e)&&Pa(t.prev,t,t.next)>0&&Pa(e.prev,e,e.next)>0)}function Pa(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Da(t,e){return t.x===e.x&&t.y===e.y}function Ia(t,e,n,i){const r=za(Pa(t,e,n)),s=za(Pa(t,e,i)),a=za(Pa(n,i,t)),o=za(Pa(n,i,e));return r!==s&&a!==o||(!(0!==r||!Na(t,n,e))||(!(0!==s||!Na(t,i,e))||(!(0!==a||!Na(n,t,i))||!(0!==o||!Na(n,e,i)))))}function Na(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function za(t){return t>0?1:t<0?-1:0}function Oa(t,e){return Pa(t.prev,t,t.next)<0?Pa(t,e,t.next)>=0&&Pa(t,t.prev,e)>=0:Pa(t,e,t.prev)<0||Pa(t,t.next,e)<0}function Ba(t,e){const n=new Ha(t.i,t.x,t.y),i=new Ha(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function Fa(t,e,n,i){const r=new Ha(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Ua(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ha(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Ga{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return.5*n}static isClockWise(t){return Ga.area(t)<0}static triangulateShape(t,e){const n=[],i=[],r=[];Va(t),ka(n,t);let s=t.length;e.forEach(Va);for(let o=0;o<e.length;o++)i.push(s),s+=e[o].length,ka(n,e[o]);const a=ga(n,i);for(let o=0;o<a.length;o+=3)r.push(a.slice(o,o+3));return r}}function Va(t){const e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function ka(t,e){for(let n=0;n<e.length;n++)t.push(e[n].x),t.push(e[n].y)}class Wa extends Je{constructor(t,e){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];const n=this,i=[],r=[];for(let a=0,o=t.length;a<o;a++){s(t[a])}function s(t){const s=[],a=void 0!==e.curveSegments?e.curveSegments:12,o=void 0!==e.steps?e.steps:1;let l=void 0!==e.depth?e.depth:100,c=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:6,u=void 0!==e.bevelSize?e.bevelSize:h-2,d=void 0!==e.bevelOffset?e.bevelOffset:0,p=void 0!==e.bevelSegments?e.bevelSegments:3;const m=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:ja;void 0!==e.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=e.amount);let g,v,y,x,_,b=!1;m&&(g=m.getSpacedPoints(o),b=!0,c=!1,v=m.computeFrenetFrames(o,!1),y=new ut,x=new ut,_=new ut),c||(p=0,h=0,u=0,d=0);const M=t.extractPoints(a);let w=M.shape;const S=M.holes;if(!Ga.isClockWise(w)){w=w.reverse();for(let t=0,e=S.length;t<e;t++){const e=S[t];Ga.isClockWise(e)&&(S[t]=e.reverse())}}const T=Ga.triangulateShape(w,S),E=w;for(let e=0,n=S.length;e<n;e++){const t=S[e];w=w.concat(t)}function L(t,e,n){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(n).add(t)}const A=w.length,R=T.length;function C(t,e,n){let i,r,s;const a=t.x-e.x,o=t.y-e.y,l=n.x-t.x,c=n.y-t.y,h=a*a+o*o,u=a*c-o*l;if(Math.abs(u)>Number.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new tt(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new tt(i/s,r/s)}const P=[];for(let e=0,n=E.length,i=n-1,r=e+1;e<n;e++,i++,r++)i===n&&(i=0),r===n&&(r=0),P[e]=C(E[e],E[i],E[r]);const D=[];let I,N=P.concat();for(let e=0,n=S.length;e<n;e++){const t=S[e];I=[];for(let e=0,n=t.length,i=n-1,r=e+1;e<n;e++,i++,r++)i===n&&(i=0),r===n&&(r=0),I[e]=C(t[e],t[i],t[r]);D.push(I),N=N.concat(I)}for(let e=0;e<p;e++){const t=e/p,n=h*Math.cos(t*Math.PI/2),i=u*Math.sin(t*Math.PI/2)+d;for(let e=0,r=E.length;e<r;e++){const t=L(E[e],P[e],i);B(t.x,t.y,-n)}for(let e=0,r=S.length;e<r;e++){const t=S[e];I=D[e];for(let e=0,r=t.length;e<r;e++){const r=L(t[e],I[e],i);B(r.x,r.y,-n)}}}const z=u+d;for(let e=0;e<A;e++){const t=c?L(w[e],N[e],z):w[e];b?(x.copy(v.normals[0]).multiplyScalar(t.x),y.copy(v.binormals[0]).multiplyScalar(t.y),_.copy(g[0]).add(x).add(y),B(_.x,_.y,_.z)):B(t.x,t.y,0)}for(let e=1;e<=o;e++)for(let t=0;t<A;t++){const n=c?L(w[t],N[t],z):w[t];b?(x.copy(v.normals[e]).multiplyScalar(n.x),y.copy(v.binormals[e]).multiplyScalar(n.y),_.copy(g[e]).add(x).add(y),B(_.x,_.y,_.z)):B(n.x,n.y,l/o*e)}for(let e=p-1;e>=0;e--){const t=e/p,n=h*Math.cos(t*Math.PI/2),i=u*Math.sin(t*Math.PI/2)+d;for(let e=0,r=E.length;e<r;e++){const t=L(E[e],P[e],i);B(t.x,t.y,l+n)}for(let e=0,r=S.length;e<r;e++){const t=S[e];I=D[e];for(let e=0,r=t.length;e<r;e++){const r=L(t[e],I[e],i);b?B(r.x,r.y+g[o-1].y,g[o-1].x+n):B(r.x,r.y,l+n)}}}function O(t,e){let n=t.length;for(;--n>=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t<n;t++){const n=A*t,s=A*(t+1);U(e+i+n,e+r+n,e+r+s,e+i+s)}}}function B(t,e,n){s.push(t),s.push(e),s.push(n)}function F(t,e,r){H(t),H(e),H(r);const s=i.length/3,a=f.generateTopUV(n,i,s-3,s-2,s-1);G(a[0]),G(a[1]),G(a[2])}function U(t,e,r,s){H(t),H(e),H(s),H(e),H(r),H(s);const a=i.length/3,o=f.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);G(o[0]),G(o[1]),G(o[3]),G(o[1]),G(o[2]),G(o[3])}function H(t){i.push(s[3*t+0]),i.push(s[3*t+1]),i.push(s[3*t+2])}function G(t){r.push(t.x),r.push(t.y)}!function(){const t=i.length/3;if(c){let t=0,e=A*t;for(let n=0;n<R;n++){const t=T[n];F(t[2]+e,t[1]+e,t[0]+e)}t=o+2*p,e=A*t;for(let n=0;n<R;n++){const t=T[n];F(t[0]+e,t[1]+e,t[2]+e)}}else{for(let t=0;t<R;t++){const e=T[t];F(e[2],e[1],e[0])}for(let t=0;t<R;t++){const e=T[t];F(e[0]+A*o,e[1]+A*o,e[2]+A*o)}}n.addGroup(t,i.length/3-t,0)}(),function(){const t=i.length/3;let e=0;O(E,e),e+=E.length;for(let n=0,i=S.length;n<i;n++){const t=S[n];O(t,e),e+=t.length}n.addGroup(t,i.length/3-t,1)}()}this.setAttribute("position",new He(i,3)),this.setAttribute("uv",new He(r,2)),this.computeVertexNormals()}toJSON(){const t=super.toJSON();return function(t,e,n){if(n.shapes=[],Array.isArray(t))for(let i=0,r=t.length;i<r;i++){const e=t[i];n.shapes.push(e.uuid)}else n.shapes.push(t.uuid);void 0!==e.extrudePath&&(n.options.extrudePath=e.extrudePath.toJSON());return n}(this.parameters.shapes,this.parameters.options,t)}static fromJSON(t,e){const n=[];for(let r=0,s=t.shapes.length;r<s;r++){const i=e[t.shapes[r]];n.push(i)}const i=t.options.extrudePath;return void 0!==i&&(t.options.extrudePath=(new fa[i.type]).fromJSON(i)),new Wa(n,t.options)}}const ja={generateTopUV:function(t,e,n,i,r){const s=e[3*n],a=e[3*n+1],o=e[3*i],l=e[3*i+1],c=e[3*r],h=e[3*r+1];return[new tt(s,a),new tt(o,l),new tt(c,h)]},generateSideWallUV:function(t,e,n,i,r,s){const a=e[3*n],o=e[3*n+1],l=e[3*n+2],c=e[3*i],h=e[3*i+1],u=e[3*i+2],d=e[3*r],p=e[3*r+1],m=e[3*r+2],f=e[3*s],g=e[3*s+1],v=e[3*s+2];return Math.abs(o-h)<Math.abs(a-c)?[new tt(a,1-l),new tt(c,1-u),new tt(d,1-m),new tt(f,1-v)]:[new tt(o,1-l),new tt(h,1-u),new tt(p,1-m),new tt(g,1-v)]}};class qa extends Je{constructor(t,e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};const n=[],i=[],r=[],s=[];let a=0,o=0;if(!1===Array.isArray(t))l(t);else for(let c=0;c<t.length;c++)l(t[c]),this.addGroup(a,o,c),a+=o,o=0;function l(t){const a=i.length/3,l=t.extractPoints(e);let c=l.shape;const h=l.holes;!1===Ga.isClockWise(c)&&(c=c.reverse());for(let e=0,n=h.length;e<n;e++){const t=h[e];!0===Ga.isClockWise(t)&&(h[e]=t.reverse())}const u=Ga.triangulateShape(c,h);for(let e=0,n=h.length;e<n;e++){const t=h[e];c=c.concat(t)}for(let e=0,n=c.length;e<n;e++){const t=c[e];i.push(t.x,t.y,0),r.push(0,0,1),s.push(t.x,t.y)}for(let e=0,i=u.length;e<i;e++){const t=u[e],i=t[0]+a,r=t[1]+a,s=t[2]+a;n.push(i,r,s),o+=3}}this.setIndex(n),this.setAttribute("position",new He(i,3)),this.setAttribute("normal",new He(r,3)),this.setAttribute("uv",new He(s,2))}toJSON(){const t=super.toJSON();return function(t,e){if(e.shapes=[],Array.isArray(t))for(let n=0,i=t.length;n<i;n++){const i=t[n];e.shapes.push(i.uuid)}else e.shapes.push(t.uuid);return e}(this.parameters.shapes,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}return new qa(n,t.curveSegments)}}class Xa extends Je{constructor(t=1,e=8,n=6,i=0,r=2*Math.PI,s=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:s,thetaLength:a},e=Math.max(3,Math.floor(e)),n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[],h=new ut,u=new ut,d=[],p=[],m=[],f=[];for(let g=0;g<=n;g++){const d=[],v=g/n;let y=0;0==g&&0==s?y=.5/e:g==n&&o==Math.PI&&(y=-.5/e);for(let n=0;n<=e;n++){const o=n/e;h.x=-t*Math.cos(i+o*r)*Math.sin(s+v*a),h.y=t*Math.cos(s+v*a),h.z=t*Math.sin(i+o*r)*Math.sin(s+v*a),p.push(h.x,h.y,h.z),u.copy(h).normalize(),m.push(u.x,u.y,u.z),f.push(o+y,1-v),d.push(l++)}c.push(d)}for(let g=0;g<n;g++)for(let t=0;t<e;t++){const e=c[g][t+1],i=c[g][t],r=c[g+1][t],a=c[g+1][t+1];(0!==g||s>0)&&d.push(e,i,a),(g!==n-1||o<Math.PI)&&d.push(i,r,a)}this.setIndex(d),this.setAttribute("position",new He(p,3)),this.setAttribute("normal",new He(m,3)),this.setAttribute("uv",new He(f,2))}static fromJSON(t){return new Xa(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class Ya extends Je{constructor(t,e=64,n=1,i=8,r=!1){super(),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r};const s=t.computeFrenetFrames(e,r);this.tangents=s.tangents,this.normals=s.normals,this.binormals=s.binormals;const a=new ut,o=new ut,l=new tt;let c=new ut;const h=[],u=[],d=[],p=[];function m(r){c=t.getPointAt(r/e,c);const l=s.normals[r],d=s.binormals[r];for(let t=0;t<=i;t++){const e=t/i*Math.PI*2,r=Math.sin(e),s=-Math.cos(e);o.x=s*l.x+r*d.x,o.y=s*l.y+r*d.y,o.z=s*l.z+r*d.z,o.normalize(),u.push(o.x,o.y,o.z),a.x=c.x+n*o.x,a.y=c.y+n*o.y,a.z=c.z+n*o.z,h.push(a.x,a.y,a.z)}}!function(){for(let t=0;t<e;t++)m(t);m(!1===r?e:0),function(){for(let t=0;t<=e;t++)for(let n=0;n<=i;n++)l.x=t/e,l.y=n/i,d.push(l.x,l.y)}(),function(){for(let t=1;t<=e;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1),r=(i+1)*t+(e-1),s=(i+1)*t+e,a=(i+1)*(t-1)+e;p.push(n,r,a),p.push(r,s,a)}}()}(),this.setIndex(p),this.setAttribute("position",new He(h,3)),this.setAttribute("normal",new He(u,3)),this.setAttribute("uv",new He(d,2))}toJSON(){const t=super.toJSON();return t.path=this.parameters.path.toJSON(),t}static fromJSON(t){return new Ya((new fa[t.path.type]).fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}}class Ja extends Ee{constructor(t){super(),this.type="ShadowMaterial",this.color=new Ie(0),this.transparent=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this}}Ja.prototype.isShadowMaterial=!0;class Za extends _n{constructor(t){super(t),this.type="RawShaderMaterial"}}Za.prototype.isRawShaderMaterial=!0;class Qa extends Ee{constructor(t){super(),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Ie(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ie(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new tt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.vertexTangents=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.flatShading=t.flatShading,this.vertexTangents=t.vertexTangents,this}}Qa.prototype.isMeshStandardMaterial=!0;class Ka extends Qa{constructor(t){super(),this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoat=0,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new tt(1,1),this.clearcoatNormalMap=null,this.reflectivity=.5,Object.defineProperty(this,"ior",{get:function(){return(1+.4*this.reflectivity)/(1-.4*this.reflectivity)},set:function(t){this.reflectivity=J(2.5*(t-1)/(t+1),0,1)}}),this.sheen=null,this.transmission=0,this.transmissionMap=null,this.thickness=.01,this.thicknessMap=null,this.attenuationDistance=0,this.attenuationColor=new Ie(1,1,1),this.setValues(t)}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.reflectivity=t.reflectivity,t.sheen?this.sheen=(this.sheen||new Ie).copy(t.sheen):this.sheen=null,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this}}Ka.prototype.isMeshPhysicalMaterial=!0;class $a extends Ee{constructor(t){super(),this.type="MeshPhongMaterial",this.color=new Ie(16777215),this.specular=new Ie(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ie(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new tt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.flatShading=t.flatShading,this}}$a.prototype.isMeshPhongMaterial=!0;class to extends Ee{constructor(t){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ie(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ie(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new tt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this}}to.prototype.isMeshToonMaterial=!0;class eo extends Ee{constructor(t){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new tt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.flatShading=t.flatShading,this}}eo.prototype.isMeshNormalMaterial=!0;class no extends Ee{constructor(t){super(),this.type="MeshLambertMaterial",this.color=new Ie(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ie(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this}}no.prototype.isMeshLambertMaterial=!0;class io extends Ee{constructor(t){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ie(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new tt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.flatShading=t.flatShading,this}}io.prototype.isMeshMatcapMaterial=!0;class ro extends Cs{constructor(t){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}ro.prototype.isLineDashedMaterial=!0;const so={arraySlice:function(t,e,n){return so.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"===typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){const e=t.length,n=new Array(e);for(let i=0;i!==e;++i)n[i]=i;return n.sort((function(e,n){return t[e]-t[n]})),n},sortedArray:function(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r},flattenJSON:function(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)},subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let l=0;l<s.tracks.length;++l){const t=s.tracks[l],e=t.getValueSize(),o=[],c=[];for(let s=0;s<t.times.length;++s){const a=t.times[s]*r;if(!(a<n||a>=i)){o.push(t.times[s]);for(let n=0;n<e;++n)c.push(t.values[s*e+n])}}0!==o.length&&(t.times=so.convertArray(o,t.times.constructor),t.values=so.convertArray(c,t.values.constructor),a.push(t))}s.tracks=a;let o=1/0;for(let l=0;l<s.tracks.length;++l)o>s.tracks[l].times[0]&&(o=s.tracks[l].times[0]);for(let l=0;l<s.tracks.length;++l)s.tracks[l].shift(-1*o);return s.resetDuration(),s},makeClipAdditive:function(t,e=0,n=t,i=30){i<=0&&(i=30);const r=n.tracks.length,s=e/i;for(let a=0;a<r;++a){const e=n.tracks[a],i=e.ValueTypeName;if("bool"===i||"string"===i)continue;const r=t.tracks.find((function(t){return t.name===e.name&&t.ValueTypeName===i}));if(void 0===r)continue;let o=0;const l=e.getValueSize();e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const h=r.getValueSize();r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const u=e.times.length-1;let d;if(s<=e.times[0]){const t=o,n=l-o;d=so.arraySlice(e.values,t,n)}else if(s>=e.times[u]){const t=u*l+o,n=t+l-o;d=so.arraySlice(e.values,t,n)}else{const t=e.createInterpolant(),n=o,i=l-o;t.evaluate(s),d=so.arraySlice(t.resultBuffer,n,i)}if("quaternion"===i){(new ht).fromArray(d).normalize().conjugate().toArray(d)}const p=r.times.length;for(let t=0;t<p;++t){const e=t*h+c;if("quaternion"===i)ht.multiplyQuaternionsFlat(r.values,e,d,0,r.values,e);else{const t=h-2*c;for(let n=0;n<t;++n)r.values[e+n]-=d[n]}}}return t.blendMode=2501,t}};class ao{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{let s;n:{i:if(!(t<i)){for(let s=n+2;;){if(void 0===i){if(t<r)break i;return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,t,r)}if(n===s)break;if(r=i,i=e[++n],t<i)break e}s=e.length;break n}if(t>=r)break t;{const a=e[1];t<a&&(n=2,r=a);for(let s=n-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,i);if(n===s)break;if(i=r,r=e[--n-1],t>=r)break e}s=n,n=0}}for(;n<s;){const i=n+s>>>1;t<e[i]?s=i:n=i+1}if(i=e[n],r=e[n-1],void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,i);if(void 0===i)return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,r,t)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){const e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i;for(let s=0;s!==i;++s)e[s]=n[r+s];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}ao.prototype.beforeStart_=ao.prototype.copySampleValue_,ao.prototype.afterEnd_=ao.prototype.copySampleValue_;class oo extends ao{constructor(t,e,n,i){super(t,e,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:D,endingEnd:D}}intervalChanged_(t,e,n){const i=this.parameterPositions;let r=t-2,s=t+1,a=i[r],o=i[s];if(void 0===a)switch(this.getSettings_().endingStart){case I:r=t,a=2*e-n;break;case N:r=i.length-2,a=e+i[r]-i[r+1];break;default:r=t,a=n}if(void 0===o)switch(this.getSettings_().endingEnd){case I:s=t,o=2*n-e;break;case N:s=1,o=n+i[1]-i[0];break;default:s=t-1,o=e}const l=.5*(n-e),c=this.valueSize;this._weightPrev=l/(e-a),this._weightNext=l/(o-n),this._offsetPrev=r*c,this._offsetNext=s*c}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=this._offsetPrev,h=this._offsetNext,u=this._weightPrev,d=this._weightNext,p=(n-e)/(i-e),m=p*p,f=m*p,g=-u*f+2*u*m-u*p,v=(1+u)*f+(-1.5-2*u)*m+(-.5+u)*p+1,y=(-1-d)*f+(1.5+d)*m+.5*p,x=d*f-d*m;for(let _=0;_!==a;++_)r[_]=g*s[c+_]+v*s[l+_]+y*s[o+_]+x*s[h+_];return r}}class lo extends ao{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=(n-e)/(i-e),h=1-c;for(let u=0;u!==a;++u)r[u]=s[l+u]*h+s[o+u]*c;return r}}class co extends ao{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t){return this.copySampleValue_(t-1)}}class ho{constructor(t,e,n,i){if(void 0===t)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=so.convertArray(e,this.TimeBufferType),this.values=so.convertArray(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}static toJSON(t){const e=t.constructor;let n;if(e.toJSON!==this.toJSON)n=e.toJSON(t);else{n={name:t.name,times:so.convertArray(t.times,Array),values:so.convertArray(t.values,Array)};const e=t.getInterpolation();e!==t.DefaultInterpolation&&(n.interpolation=e)}return n.type=t.ValueTypeName,n}InterpolantFactoryMethodDiscrete(t){return new co(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new lo(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new oo(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case R:e=this.InterpolantFactoryMethodDiscrete;break;case C:e=this.InterpolantFactoryMethodLinear;break;case P:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){const e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return R;case this.InterpolantFactoryMethodLinear:return C;case this.InterpolantFactoryMethodSmooth:return P}}getValueSize(){return this.values.length/this.times.length}shift(t){if(0!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]+=t}return this}scale(t){if(1!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]*=t}return this}trim(t,e){const n=this.times,i=n.length;let r=0,s=i-1;for(;r!==i&&n[r]<t;)++r;for(;-1!==s&&n[s]>e;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=so.arraySlice(n,r,s),this.values=so.arraySlice(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let a=0;a!==r;a++){const e=n[a];if("number"===typeof e&&isNaN(e)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,e),t=!1;break}if(null!==s&&s>e){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,e,s),t=!1;break}s=e}if(void 0!==i&&so.isTypedArray(i))for(let a=0,o=i.length;a!==o;++a){const e=i[a];if(isNaN(e)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,e),t=!1;break}}return t}optimize(){const t=so.arraySlice(this.times),e=so.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===P,r=t.length-1;let s=1;for(let a=1;a<r;++a){let r=!1;const o=t[a];if(o!==t[a+1]&&(1!==a||o!==t[0]))if(i)r=!0;else{const t=a*n,i=t-n,s=t+n;for(let a=0;a!==n;++a){const n=e[t+a];if(n!==e[i+a]||n!==e[s+a]){r=!0;break}}}if(r){if(a!==s){t[s]=t[a];const i=a*n,r=s*n;for(let t=0;t!==n;++t)e[r+t]=e[i+t]}++s}}if(r>0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=so.arraySlice(t,0,s),this.values=so.arraySlice(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=so.arraySlice(this.times,0),e=so.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}ho.prototype.TimeBufferType=Float32Array,ho.prototype.ValueBufferType=Float32Array,ho.prototype.DefaultInterpolation=C;class uo extends ho{}uo.prototype.ValueTypeName="bool",uo.prototype.ValueBufferType=Array,uo.prototype.DefaultInterpolation=R,uo.prototype.InterpolantFactoryMethodLinear=void 0,uo.prototype.InterpolantFactoryMethodSmooth=void 0;class po extends ho{}po.prototype.ValueTypeName="color";class mo extends ho{}mo.prototype.ValueTypeName="number";class fo extends ao{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let c=l+a;l!==c;l+=4)ht.slerpFlat(r,0,s,l-a,s,l,o);return r}}class go extends ho{InterpolantFactoryMethodLinear(t){return new fo(this.times,this.values,this.getValueSize(),t)}}go.prototype.ValueTypeName="quaternion",go.prototype.DefaultInterpolation=C,go.prototype.InterpolantFactoryMethodSmooth=void 0;class vo extends ho{}vo.prototype.ValueTypeName="string",vo.prototype.ValueBufferType=Array,vo.prototype.DefaultInterpolation=R,vo.prototype.InterpolantFactoryMethodLinear=void 0,vo.prototype.InterpolantFactoryMethodSmooth=void 0;class yo extends ho{}yo.prototype.ValueTypeName="vector";class xo{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=Y(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let s=0,a=n.length;s!==a;++s)e.push(_o(n[s]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let r=0,s=n.length;r!==s;++r)e.push(ho.toJSON(n[r]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let a=0;a<r;a++){let t=[],o=[];t.push((a+r-1)%r,a,(a+1)%r),o.push(0,1,0);const l=so.getKeyframeOrder(t);t=so.sortedArray(t,1,l),o=so.sortedArray(o,1,l),i||0!==t[0]||(t.push(r),o.push(o[0])),s.push(new mo(".morphTargetInfluences["+e[a].name+"]",t,o).scale(1/n))}return new this(t,-1,s)}static findByName(t,e){let n=t;if(!Array.isArray(t)){const e=t;n=e.geometry&&e.geometry.animations||e.animations}for(let i=0;i<n.length;i++)if(n[i].name===e)return n[i];return null}static CreateClipsFromMorphTargetSequences(t,e,n){const i={},r=/^([\w-]*?)([\d]+)$/;for(let a=0,o=t.length;a<o;a++){const e=t[a],n=e.name.match(r);if(n&&n.length>1){const t=n[1];let r=i[t];r||(i[t]=r=[]),r.push(e)}}const s=[];for(const a in i)s.push(this.CreateFromMorphTargetSequence(a,i[a],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];so.flattenJSON(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let c=0;c<l.length;c++){const t=l[c].keys;if(t&&0!==t.length)if(t[0].morphTargets){const e={};let n;for(n=0;n<t.length;n++)if(t[n].morphTargets)for(let i=0;i<t[n].morphTargets.length;i++)e[t[n].morphTargets[i]]=-1;for(const r in e){const e=[],s=[];for(let i=0;i!==t[n].morphTargets.length;++i){const i=t[n];e.push(i.time),s.push(i.morphTarget===r?1:0)}i.push(new mo(".morphTargetInfluence["+r+"]",e,s))}o=e.length*(s||1)}else{const r=".bones["+e[c].name+"]";n(yo,r+".position",t,"pos",i),n(go,r+".quaternion",t,"rot",i),n(yo,r+".scale",t,"scl",i)}}if(0===i.length)return null;return new this(r,o,i,a)}resetDuration(){let t=0;for(let e=0,n=this.tracks.length;e!==n;++e){const n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=!0;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){const t=[];for(let e=0;e<this.tracks.length;e++)t.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,t,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function _o(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return mo;case"vector":case"vector2":case"vector3":case"vector4":return yo;case"color":return po;case"quaternion":return go;case"bool":case"boolean":return uo;case"string":return vo}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){const e=[],n=[];so.flattenJSON(t.keys,e,n,"value"),t.times=e,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}const bo={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class Mo{constructor(t,e,n){const i=this;let r,s=!1,a=0,o=0;const l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){o++,!1===s&&void 0!==i.onStart&&i.onStart(t,a,o),s=!0},this.itemEnd=function(t){a++,void 0!==i.onProgress&&i.onProgress(t,a,o),a===o&&(s=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)},this.resolveURL=function(t){return r?r(t):t},this.setURLModifier=function(t){return r=t,this},this.addHandler=function(t,e){return l.push(t,e),this},this.removeHandler=function(t){const e=l.indexOf(t);return-1!==e&&l.splice(e,2),this},this.getHandler=function(t){for(let e=0,n=l.length;e<n;e+=2){const n=l[e],i=l[e+1];if(n.global&&(n.lastIndex=0),n.test(t))return i}return null}}}const wo=new Mo;class So{constructor(t){this.manager=void 0!==t?t:wo,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){const n=this;return new Promise((function(i,r){n.load(t,i,e,r)}))}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const To={};class Eo extends So{constructor(t){super(t)}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=bo.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout((function(){e&&e(s),r.manager.itemEnd(t)}),0),s;if(void 0!==To[t])return void To[t].push({onLoad:e,onProgress:n,onError:i});const a=t.match(/^data:(.*?)(;base64)?,(.*)$/);let o;if(a){const n=a[1],s=!!a[2];let o=a[3];o=decodeURIComponent(o),s&&(o=atob(o));try{let i;const s=(this.responseType||"").toLowerCase();switch(s){case"arraybuffer":case"blob":const t=new Uint8Array(o.length);for(let n=0;n<o.length;n++)t[n]=o.charCodeAt(n);i="blob"===s?new Blob([t.buffer],{type:n}):t.buffer;break;case"document":const e=new DOMParser;i=e.parseFromString(o,n);break;case"json":i=JSON.parse(o);break;default:i=o}setTimeout((function(){e&&e(i),r.manager.itemEnd(t)}),0)}catch(l){setTimeout((function(){i&&i(l),r.manager.itemError(t),r.manager.itemEnd(t)}),0)}}else{To[t]=[],To[t].push({onLoad:e,onProgress:n,onError:i}),o=new XMLHttpRequest,o.open("GET",t,!0),o.addEventListener("load",(function(e){const n=this.response,i=To[t];if(delete To[t],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),bo.add(t,n);for(let t=0,e=i.length;t<e;t++){const e=i[t];e.onLoad&&e.onLoad(n)}r.manager.itemEnd(t)}else{for(let t=0,n=i.length;t<n;t++){const n=i[t];n.onError&&n.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)}}),!1),o.addEventListener("progress",(function(e){const n=To[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onProgress&&i.onProgress(e)}}),!1),o.addEventListener("error",(function(e){const n=To[t];delete To[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onError&&i.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)}),!1),o.addEventListener("abort",(function(e){const n=To[t];delete To[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onError&&i.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)}),!1),void 0!==this.responseType&&(o.responseType=this.responseType),void 0!==this.withCredentials&&(o.withCredentials=this.withCredentials),o.overrideMimeType&&o.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(const t in this.requestHeader)o.setRequestHeader(t,this.requestHeader[t]);o.send(null)}return r.manager.itemStart(t),o}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class Lo extends So{constructor(t){super(t)}load(t,e,n,i){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=bo.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout((function(){e&&e(s),r.manager.itemEnd(t)}),0),s;const a=document.createElementNS("http://www.w3.org/1999/xhtml","img");function o(){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1),bo.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1),i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}return a.addEventListener("load",o,!1),a.addEventListener("error",l,!1),"data:"!==t.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a}}class Ao extends So{constructor(t){super(t)}load(t,e,n,i){const r=new Tn,s=new Lo(this.manager);s.setCrossOrigin(this.crossOrigin),s.setPath(this.path);let a=0;function o(n){s.load(t[n],(function(t){r.images[n]=t,a++,6===a&&(r.needsUpdate=!0,e&&e(r))}),void 0,i)}for(let l=0;l<t.length;++l)o(l);return r}}class Ro extends So{constructor(t){super(t)}load(t,e,n,i){const r=new st,s=new Lo(this.manager);return s.setCrossOrigin(this.crossOrigin),s.setPath(this.path),s.load(t,(function(n){r.image=n;const i=t.search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/);r.format=i?T:E,r.needsUpdate=!0,void 0!==e&&e(r)}),n,i),r}}class Co extends Qs{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new ua(e,t))}getPoint(t){const e=t*this.getLength(),n=this.getCurveLengths();let i=0;for(;i<n.length;){if(n[i]>=e){const t=n[i]-e,r=this.curves[i],s=r.getLength(),a=0===s?0:1-t/s;return r.getPointAt(a)}i++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n<i;n++)e+=this.curves[n].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){const e=[];let n;for(let i=0,r=this.curves;i<r.length;i++){const s=r[i],a=s&&s.isEllipseCurve?2*t:s&&(s.isLineCurve||s.isLineCurve3)?1:s&&s.isSplineCurve?t*s.points.length:t,o=s.getPoints(a);for(let t=0;t<o.length;t++){const i=o[t];n&&n.equals(i)||(e.push(i),n=i)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(n.clone())}return this.autoClose=t.autoClose,this}toJSON(){const t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,n=this.curves.length;e<n;e++){const n=this.curves[e];t.curves.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push((new fa[n.type]).fromJSON(n))}return this}}class Po extends Co{constructor(t){super(),this.type="Path",this.currentPoint=new tt,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){const n=new ua(this.currentPoint.clone(),new tt(t,e));return this.curves.push(n),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,n,i){const r=new da(this.currentPoint.clone(),new tt(t,e),new tt(n,i));return this.curves.push(r),this.currentPoint.set(n,i),this}bezierCurveTo(t,e,n,i,r,s){const a=new ca(this.currentPoint.clone(),new tt(t,e),new tt(n,i),new tt(r,s));return this.curves.push(a),this.currentPoint.set(r,s),this}splineThru(t){const e=[this.currentPoint.clone()].concat(t),n=new ma(e);return this.curves.push(n),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,n,i,r,s){const a=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(t+a,e+o,n,i,r,s),this}absarc(t,e,n,i,r,s){return this.absellipse(t,e,n,n,i,r,s),this}ellipse(t,e,n,i,r,s,a,o){const l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(t+l,e+c,n,i,r,s,a,o),this}absellipse(t,e,n,i,r,s,a,o){const l=new Ks(t,e,n,i,r,s,a,o);if(this.curves.length>0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class Do extends Po{constructor(t){super(t),this.uuid=Y(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,n=this.holes.length;e<n;e++){const n=this.holes[e];t.holes.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push((new Po).fromJSON(n))}return this}}class Io extends pe{constructor(t,e=1){super(),this.type="Light",this.color=new Ie(t),this.intensity=e}dispose(){}copy(t){return super.copy(t),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}Io.prototype.isLight=!0;class No extends Io{constructor(t,e,n){super(t,n),this.type="HemisphereLight",this.position.copy(pe.DefaultUp),this.updateMatrix(),this.groundColor=new Ie(e)}copy(t){return Io.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}No.prototype.isHemisphereLight=!0;const zo=new Vt,Oo=new ut,Bo=new ut;class Fo{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.mapSize=new tt(512,512),this.map=null,this.mapPass=null,this.matrix=new Vt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new In,this._frameExtents=new tt(1,1),this._viewportCount=1,this._viewports=[new ot(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,n=this.matrix;Oo.setFromMatrixPosition(t.matrixWorld),e.position.copy(Oo),Bo.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Bo),e.updateMatrixWorld(),zo.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(zo),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(e.projectionMatrix),n.multiply(e.matrixWorldInverse)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const t={};return 0!==this.bias&&(t.bias=this.bias),0!==this.normalBias&&(t.normalBias=this.normalBias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class Uo extends Fo{constructor(){super(new Mn(50,1,.5,500)),this.focus=1}updateMatrices(t){const e=this.camera,n=2*X*t.angle*this.focus,i=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;n===e.fov&&i===e.aspect&&r===e.far||(e.fov=n,e.aspect=i,e.far=r,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}Uo.prototype.isSpotLightShadow=!0;class Ho extends Io{constructor(t,e,n=0,i=Math.PI/3,r=0,s=1){super(t,e),this.type="SpotLight",this.position.copy(pe.DefaultUp),this.updateMatrix(),this.target=new pe,this.distance=n,this.angle=i,this.penumbra=r,this.decay=s,this.shadow=new Uo}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}Ho.prototype.isSpotLight=!0;const Go=new Vt,Vo=new ut,ko=new ut;class Wo extends Fo{constructor(){super(new Mn(90,1,.5,500)),this._frameExtents=new tt(4,2),this._viewportCount=6,this._viewports=[new ot(2,1,1,1),new ot(0,1,1,1),new ot(3,1,1,1),new ot(1,1,1,1),new ot(3,0,1,1),new ot(1,0,1,1)],this._cubeDirections=[new ut(1,0,0),new ut(-1,0,0),new ut(0,0,1),new ut(0,0,-1),new ut(0,1,0),new ut(0,-1,0)],this._cubeUps=[new ut(0,1,0),new ut(0,1,0),new ut(0,1,0),new ut(0,1,0),new ut(0,0,1),new ut(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera,i=this.matrix,r=t.distance||n.far;r!==n.far&&(n.far=r,n.updateProjectionMatrix()),Vo.setFromMatrixPosition(t.matrixWorld),n.position.copy(Vo),ko.copy(n.position),ko.add(this._cubeDirections[e]),n.up.copy(this._cubeUps[e]),n.lookAt(ko),n.updateMatrixWorld(),i.makeTranslation(-Vo.x,-Vo.y,-Vo.z),Go.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Go)}}Wo.prototype.isPointLightShadow=!0;class jo extends Io{constructor(t,e,n=0,i=1){super(t,e),this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new Wo}get power(){return 4*this.intensity*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}jo.prototype.isPointLight=!0;class qo extends bn{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}qo.prototype.isOrthographicCamera=!0;class Xo extends Fo{constructor(){super(new qo(-5,5,5,-5,.5,500))}}Xo.prototype.isDirectionalLightShadow=!0;class Yo extends Io{constructor(t,e){super(t,e),this.type="DirectionalLight",this.position.copy(pe.DefaultUp),this.updateMatrix(),this.target=new pe,this.shadow=new Xo}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}Yo.prototype.isDirectionalLight=!0;class Jo extends Io{constructor(t,e){super(t,e),this.type="AmbientLight"}}Jo.prototype.isAmbientLight=!0;class Zo extends Io{constructor(t,e,n=10,i=10){super(t,e),this.type="RectAreaLight",this.width=n,this.height=i}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){const e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}}Zo.prototype.isRectAreaLight=!0;class Qo{constructor(){this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new ut)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.282095),e.addScaledVector(s[1],.488603*i),e.addScaledVector(s[2],.488603*r),e.addScaledVector(s[3],.488603*n),e.addScaledVector(s[4],n*i*1.092548),e.addScaledVector(s[5],i*r*1.092548),e.addScaledVector(s[6],.315392*(3*r*r-1)),e.addScaledVector(s[7],n*r*1.092548),e.addScaledVector(s[8],.546274*(n*n-i*i)),e}getIrradianceAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.886227),e.addScaledVector(s[1],1.023328*i),e.addScaledVector(s[2],1.023328*r),e.addScaledVector(s[3],1.023328*n),e.addScaledVector(s[4],.858086*n*i),e.addScaledVector(s[5],.858086*i*r),e.addScaledVector(s[6],.743125*r*r-.247708),e.addScaledVector(s[7],.858086*n*r),e.addScaledVector(s[8],.429043*(n*n-i*i)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(t.coefficients[n],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let n=0;n<9;n++)this.coefficients[n].lerp(t.coefficients[n],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(t,e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(t,e+3*i);return this}toArray(t=[],e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(t,e+3*i);return t}static getBasisAt(t,e){const n=t.x,i=t.y,r=t.z;e[0]=.282095,e[1]=.488603*i,e[2]=.488603*r,e[3]=.488603*n,e[4]=1.092548*n*i,e[5]=1.092548*i*r,e[6]=.315392*(3*r*r-1),e[7]=1.092548*n*r,e[8]=.546274*(n*n-i*i)}}Qo.prototype.isSphericalHarmonics3=!0;class Ko extends Io{constructor(t=new Qo,e=1){super(void 0,e),this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}fromJSON(t){return this.intensity=t.intensity,this.sh.fromArray(t.sh),this}toJSON(t){const e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}}Ko.prototype.isLightProbe=!0;class $o{static decodeText(t){if("undefined"!==typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let i=0,r=t.length;i<r;i++)e+=String.fromCharCode(t[i]);try{return decodeURIComponent(escape(e))}catch(n){return e}}static extractUrlBase(t){const e=t.lastIndexOf("/");return-1===e?"./":t.substr(0,e+1)}}class tl extends Je{constructor(){super(),this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}clone(){return(new this.constructor).copy(this)}toJSON(){const t=super.toJSON(this);return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}}tl.prototype.isInstancedBufferGeometry=!0;class el extends Be{constructor(t,e,n,i=1){"number"===typeof n&&(i=n,n=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),super(t,e,n),this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){const t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}}el.prototype.isInstancedBufferAttribute=!0;(class extends So{constructor(t){super(t),"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(t){return this.options=t,this}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=bo.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout((function(){e&&e(s),r.manager.itemEnd(t)}),0),s;const a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader,fetch(t,a).then((function(t){return t.blob()})).then((function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:"none"}))})).then((function(n){bo.add(t,n),e&&e(n),r.manager.itemEnd(t)})).catch((function(e){i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)})),r.manager.itemStart(t)}}).prototype.isImageBitmapLoader=!0;class nl{constructor(){this.type="ShapePath",this.color=new Ie,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new Po,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,i){return this.currentPath.quadraticCurveTo(t,e,n,i),this}bezierCurveTo(t,e,n,i,r,s){return this.currentPath.bezierCurveTo(t,e,n,i,r,s),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t,e){function n(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n],r=new Do;r.curves=i.curves,e.push(r)}return e}function i(t,e){const n=e.length;let i=!1;for(let r=n-1,s=0;s<n;r=s++){let n=e[r],a=e[s],o=a.x-n.x,l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.y<n.y||t.y>a.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const r=Ga.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return n(s);let a,o,l;const c=[];if(1===s.length)return o=s[0],l=new Do,l.curves=o.curves,c.push(l),c;let h=!r(s[0].getPoints());h=t?!h:h;const u=[],d=[];let p,m,f=[],g=0;d[g]=void 0,f[g]=[];for(let v=0,y=s.length;v<y;v++)o=s[v],p=o.getPoints(),a=r(p),a=t?!a:a,a?(!h&&d[g]&&g++,d[g]={s:new Do,p:p},d[g].s.curves=o.curves,h&&g++,f[g]=[]):f[g].push({h:o,p:p[0]});if(!d[0])return n(s);if(d.length>1){let t=!1;const e=[];for(let n=0,i=d.length;n<i;n++)u[n]=[];for(let n=0,r=d.length;n<r;n++){const r=f[n];for(let s=0;s<r.length;s++){const a=r[s];let o=!0;for(let r=0;r<d.length;r++)i(a.p,d[r].p)&&(n!==r&&e.push({froms:n,tos:r,hole:s}),o?(o=!1,u[r].push(a)):t=!0);o&&u[n].push(a)}}e.length>0&&(t||(f=u))}for(let v=0,y=d.length;v<y;v++){l=d[v].s,c.push(l),m=f[v];for(let t=0,e=m.length;t<e;t++)l.holes.push(m[t].h)}return c}}class il{constructor(t){this.type="Font",this.data=t}generateShapes(t,e=100){const n=[],i=function(t,e,n){const i=Array.from(t),r=e/n.resolution,s=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*r,a=[];let o=0,l=0;for(let c=0;c<i.length;c++){const t=i[c];if("\n"===t)o=0,l-=s;else{const e=rl(t,r,o,l,n);o+=e.offsetX,a.push(e.path)}}return a}(t,e,this.data);for(let r=0,s=i.length;r<s;r++)Array.prototype.push.apply(n,i[r].toShapes());return n}}function rl(t,e,n,i,r){const s=r.glyphs[t]||r.glyphs["?"];if(!s)return void console.error('THREE.Font: character "'+t+'" does not exists in font family '+r.familyName+".");const a=new nl;let o,l,c,h,u,d,p,m;if(s.o){const t=s._cachedOutline||(s._cachedOutline=s.o.split(" "));for(let r=0,s=t.length;r<s;){switch(t[r++]){case"m":o=t[r++]*e+n,l=t[r++]*e+i,a.moveTo(o,l);break;case"l":o=t[r++]*e+n,l=t[r++]*e+i,a.lineTo(o,l);break;case"q":c=t[r++]*e+n,h=t[r++]*e+i,u=t[r++]*e+n,d=t[r++]*e+i,a.quadraticCurveTo(u,d,c,h);break;case"b":c=t[r++]*e+n,h=t[r++]*e+i,u=t[r++]*e+n,d=t[r++]*e+i,p=t[r++]*e+n,m=t[r++]*e+i,a.bezierCurveTo(u,d,p,m,c,h)}}}return{offsetX:s.ha*e,path:a}}il.prototype.isFont=!0;let sl;const al=function(){return void 0===sl&&(sl=new(window.AudioContext||window.webkitAudioContext)),sl};class ol extends So{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Eo(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,(function(n){try{const t=n.slice(0);al().decodeAudioData(t,(function(t){e(t)}))}catch(s){i?i(s):console.error(s),r.manager.itemError(t)}}),n,i)}}(class extends Ko{constructor(t,e,n=1){super(void 0,n);const i=(new Ie).set(t),r=(new Ie).set(e),s=new ut(i.r,i.g,i.b),a=new ut(r.r,r.g,r.b),o=Math.sqrt(Math.PI),l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}}).prototype.isHemisphereLightProbe=!0;(class extends Ko{constructor(t,e=1){super(void 0,e);const n=(new Ie).set(t);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}}).prototype.isAmbientLightProbe=!0;class ll{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=cl(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=cl();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function cl(){return("undefined"===typeof performance?Date:performance).now()}class hl extends pe{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(t){return t||(t=[]),!0===this._connected?(this.disconnect(),this.filters=t.slice(),this.connect()):this.filters=t.slice(),this}setDetune(t){if(this.detune=t,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(t){if(!1!==this.hasPlaybackControl)return this.loop=t,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(t){return this.loopStart=t,this}setLoopEnd(t){return this.loopEnd=t,this}getVolume(){return this.gain.gain.value}setVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}class ul{constructor(t,e,n){let i,r,s;switch(this.binding=t,this.valueSize=n,e){case"quaternion":i=this._slerp,r=this._slerpAdditive,s=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":i=this._select,r=this._select,s=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:i=this._lerp,r=this._lerpAdditive,s=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n)}this._mixBufferRegion=i,this._mixBufferRegionAdditive=r,this._setIdentity=s,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(t,e){const n=this.buffer,i=this.valueSize,r=t*i+i;let s=this.cumulativeWeight;if(0===s){for(let t=0;t!==i;++t)n[r+t]=n[t];s=e}else{s+=e;const t=e/s;this._mixBufferRegion(n,r,0,t,i)}this.cumulativeWeight=s}accumulateAdditive(t){const e=this.buffer,n=this.valueSize,i=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(e,i,0,t,n),this.cumulativeWeightAdditive+=t}apply(t){const e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,r<1){const t=e*this._origIndex;this._mixBufferRegion(n,i,t,1-r,e)}s>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let o=e,l=e+e;o!==l;++o)if(n[o]!==n[o+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let r=n,s=i;r!==s;++r)e[r]=e[i+r%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n<e;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const t=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[e+n]=this.buffer[t+n]}_select(t,e,n,i,r){if(i>=.5)for(let s=0;s!==r;++s)t[e+s]=t[n+s]}_slerp(t,e,n,i){ht.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;ht.multiplyQuaternionsFlat(t,s,t,e,t,n),ht.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const dl="\\[\\]\\.:\\/",pl=new RegExp("[\\[\\]\\.:\\/]","g"),ml="[^\\[\\]\\.:\\/]",fl="[^"+dl.replace("\\.","")+"]",gl=/((?:WC+[\/:])*)/.source.replace("WC",ml),vl=/(WCOD+)?/.source.replace("WCOD",fl),yl=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ml),xl=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ml),_l=new RegExp("^"+gl+vl+yl+xl+"$"),bl=["material","materials","bones"];class Ml{constructor(t,e,n){this.path=e,this.parsedPath=n||Ml.parseTrackName(e),this.node=Ml.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Ml.Composite(t,e,n):new Ml(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(pl,"")}static parseTrackName(t){const e=_l.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==bl.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i<t.length;i++){const r=t[i];if(r.name===e||r.uuid===e)return r;const s=n(r.children);if(s)return s}return null},i=n(t.children);if(i)return i}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.node[this.propertyName]}_getValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)t[e++]=n[i]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++]}_setValue_array_setNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node;const e=this.parsedPath,n=e.objectName,i=e.propertyName;let r=e.propertyIndex;if(t||(t=Ml.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let i=e.objectIndex;switch(n){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(let e=0;e<t.length;e++)if(t[e].name===i){i=e;break}break;default:if(void 0===t[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[n]}if(void 0!==i){if(void 0===t[i])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[i]}}const s=t[i];if(void 0===s){const n=e.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+n+"."+i+" but it wasn't found.",t)}let a=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!t.geometry.isBufferGeometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.",this);if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==t.morphTargetDictionary[r]&&(r=t.morphTargetDictionary[r])}o=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(o=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}Ml.Composite=class{constructor(t,e,n){const i=n||Ml.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}},Ml.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Ml.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},Ml.prototype.GetterByBindingType=[Ml.prototype._getValue_direct,Ml.prototype._getValue_array,Ml.prototype._getValue_arrayElement,Ml.prototype._getValue_toArray],Ml.prototype.SetterByBindingTypeAndVersioning=[[Ml.prototype._setValue_direct,Ml.prototype._setValue_direct_setNeedsUpdate,Ml.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Ml.prototype._setValue_array,Ml.prototype._setValue_array_setNeedsUpdate,Ml.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Ml.prototype._setValue_arrayElement,Ml.prototype._setValue_arrayElement_setNeedsUpdate,Ml.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Ml.prototype._setValue_fromArray,Ml.prototype._setValue_fromArray_setNeedsUpdate,Ml.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];(class{constructor(){this.uuid=Y(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let n=0,i=arguments.length;n!==i;++n)t[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const t=this._objects,e=this._indicesByUUID,n=this._paths,i=this._parsedPaths,r=this._bindings,s=r.length;let a,o=t.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],u=h.uuid;let d=e[u];if(void 0===d){d=o++,e[u]=d,t.push(h);for(let t=0,e=s;t!==e;++t)r[t].push(new Ml(h,n[t],i[t]))}else if(d<l){a=t[d];const o=--l,c=t[o];e[c.uuid]=d,t[d]=c,e[u]=o,t[o]=h;for(let t=0,e=s;t!==e;++t){const e=r[t],s=e[o];let a=e[d];e[d]=s,void 0===a&&(a=new Ml(h,n[t],i[t])),e[o]=a}}else t[d]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l}remove(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=e[o];if(void 0!==l&&l>=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l<r){const a=--r,o=t[a],c=--s,h=t[c];e[o.uuid]=l,t[l]=o,e[h.uuid]=a,t[a]=h,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[a],r=e[c];e[l]=i,e[a]=r,e.pop()}}else{const r=--s,a=t[r];r>0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let u=c,d=o.length;u!==d;++u){const n=o[u];h[u]=new Ml(n,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}).prototype.isAnimationObjectGroup=!0;class wl{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:D,endingEnd:D};for(let l=0;l!==s;++l){const t=r[l].createInterpolant(null);a[l]=t,t.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;if(i<0||0===n)return;this._startTime=null,e=n*i}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case 2501:for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);break;case z:default:for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1===(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1===(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=I,i.endingEnd=I):(i.endingStart=t?this.zeroSlopeAtStart?I:D:N,i.endingEnd=e?this.zeroSlopeAtEnd?I:D:N)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}(class extends W{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let h=0;h!==r;++h){const t=i[h],r=t.name;let l=c[r];if(void 0!==l)s[h]=l;else{if(l=s[h],void 0!==l){null===l._cacheIndex&&(++l.referenceCount,this._addInactiveBinding(l,o,r));continue}const i=e&&e._propertyBindings[h].binding.parsedPath;l=new ul(Ml.create(n,r,i),t.ValueTypeName,t.getValueSize()),++l.referenceCount,this._addInactiveBinding(l,o,r),s[h]=l}a[h].resultBuffer=l.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0===n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0===--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e<this._nActiveActions}_addInactiveAction(t,e,n){const i=this._actions,r=this._actionsByClip;let s=r[e];if(void 0===s)s={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=s;else{const e=s.knownActions;t._byClipCacheIndex=e.length,e.push(t)}t._cacheIndex=i.length,i.push(t),s.actionByRoot[n]=t}_removeInactiveAction(t){const e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i,e[i]=n,e.pop(),t._cacheIndex=null;const r=t._clip.uuid,s=this._actionsByClip,a=s[r],o=a.knownActions,l=o[o.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),t._byClipCacheIndex=null;delete a.actionByRoot[(t._localRoot||this._root).uuid],0===o.length&&delete s[r],this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){const e=t._propertyBindings;for(let n=0,i=e.length;n!==i;++n){const t=e[n];0===--t.referenceCount&&this._removeInactiveBinding(t)}}_lendAction(t){const e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackAction(t){const e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_addInactiveBinding(t,e,n){const i=this._bindingsByRootAndName,r=this._bindings;let s=i[e];void 0===s&&(s={},i[e]=s),s[n]=t,t._cacheIndex=r.length,r.push(t)}_removeInactiveBinding(t){const e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,s=this._bindingsByRootAndName,a=s[i],o=e[e.length-1],l=t._cacheIndex;o._cacheIndex=l,e[l]=o,e.pop(),delete a[r],0===Object.keys(a).length&&delete s[i]}_lendBinding(t){const e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackBinding(t){const e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_lendControlInterpolant(){const t=this._controlInterpolants,e=this._nActiveControlInterpolants++;let n=t[e];return void 0===n&&(n=new lo(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),n.__cacheIndex=e,t[e]=n),n}_takeBackControlInterpolant(t){const e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i,e[i]=t,r.__cacheIndex=n,e[n]=r}clipAction(t,e,n){const i=e||this._root,r=i.uuid;let s="string"===typeof t?xo.findByName(i,t):t;const a=null!==s?s.uuid:t,o=this._actionsByClip[a];let l=null;if(void 0===n&&(n=null!==s?s.blendMode:z),void 0!==o){const t=o.actionByRoot[r];if(void 0!==t&&t.blendMode===n)return t;l=o.knownActions[0],null===s&&(s=l._clip)}if(null===s)return null;const c=new wl(this,s,e,n);return this._bindAction(c,l),this._addInactiveAction(c,a,r),c}existingAction(t,e){const n=e||this._root,i=n.uuid,r="string"===typeof t?xo.findByName(n,t):t,s=r?r.uuid:t,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[i]||null}stopAllAction(){const t=this._actions;for(let e=this._nActiveActions-1;e>=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let l=0;l!==n;++l){e[l]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let l=0;l!==o;++l)a[l].apply(s);return this}setTime(t){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){const e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){const t=r.knownActions;for(let n=0,i=t.length;n!==i;++n){const i=t[n];this._deactivateAction(i);const r=i._cacheIndex,s=e[e.length-1];i._cacheIndex=null,i._byClipCacheIndex=null,s._cacheIndex=r,e[r]=s,e.pop(),this._removeInactiveBindingsForAction(i)}delete i[n]}}uncacheRoot(t){const e=t.uuid,n=this._actionsByClip;for(const r in n){const t=n[r].actionByRoot[e];void 0!==t&&(this._deactivateAction(t),this._removeInactiveAction(t))}const i=this._bindingsByRootAndName[e];if(void 0!==i)for(const r in i){const t=i[r];t.restoreOriginalState(),this._removeInactiveBinding(t)}}uncacheAction(t,e){const n=this.existingAction(t,e);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}).prototype._controlInterpolantsResultBuffer=new Float32Array(1);class Sl{constructor(t){"string"===typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}clone(){return new Sl(void 0===this.value.clone?this.value:this.value.clone())}}(class extends Kr{constructor(t,e,n=1){super(t,e),this.meshPerAttribute=n}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){const e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){const e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}}).prototype.isInstancedInterleavedBuffer=!0;(class{constructor(t,e,n,i,r){this.buffer=t,this.type=e,this.itemSize=n,this.elementSize=i,this.count=r,this.version=0}set needsUpdate(t){!0===t&&this.version++}setBuffer(t){return this.buffer=t,this}setType(t,e){return this.type=t,this.elementSize=e,this}setItemSize(t){return this.itemSize=t,this}setCount(t){return this.count=t,this}}).prototype.isGLBufferAttribute=!0;class Tl{constructor(t,e,n=0,i=1/0){this.ray=new Gt(t,e),this.near=n,this.far=i,this.camera=null,this.layers=new $t,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e&&e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(t,e=!1,n=[]){return Ll(t,this,n,e),n.sort(El),n}intersectObjects(t,e=!1,n=[]){for(let i=0,r=t.length;i<r;i++)Ll(t[i],this,n,e);return n.sort(El),n}}function El(t,e){return t.distance-e.distance}function Ll(t,e,n,i){if(t.layers.test(e.layers)&&t.raycast(e,n),!0===i){const i=t.children;for(let t=0,r=i.length;t<r;t++)Ll(i[t],e,n,!0)}}class Al{constructor(t=1,e=0,n=0){return this.radius=t,this.phi=e,this.theta=n,this}set(t,e,n){return this.radius=t,this.phi=e,this.theta=n,this}copy(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this}makeSafe(){const t=1e-6;return this.phi=Math.max(t,Math.min(Math.PI-t,this.phi)),this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){return this.radius=Math.sqrt(t*t+e*e+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,n),this.phi=Math.acos(J(e/this.radius,-1,1))),this}clone(){return(new this.constructor).copy(this)}}const Rl=new tt;class Cl{constructor(t=new tt(1/0,1/0),e=new tt(-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Rl.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return Rl.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}Cl.prototype.isBox2=!0;const Pl=new ut,Dl=new ut;(class extends pe{constructor(t){super(),this.material=t,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}}).prototype.isImmediateRenderObject=!0;const Il=new ut,Nl=new Vt,zl=new Vt;function Ol(t){const e=[];t&&t.isBone&&e.push(t);for(let n=0;n<t.children.length;n++)e.push.apply(e,Ol(t.children[n]));return e}const Bl=new Float32Array(1);new Int32Array(Bl.buffer);Math.pow(2,8);const Fl=[.125,.215,.35,.446,.526,.582],Ul=5+Fl.length,Hl=new Ne({side:s,depthWrite:!1,depthTest:!1}),{_lodPlanes:Gl,_sizeLods:Vl,_sigmas:kl}=(new mn(new gn,Hl),Wl());Math.sqrt(5);function Wl(){const t=[],e=[],n=[];let i=8;for(let r=0;r<Ul;r++){const s=Math.pow(2,i);e.push(s);let a=1/s;r>4?a=Fl[r-8+4-1]:0==r&&(a=0),n.push(a);const o=1/(s-1),l=-o/2,c=1+o/2,h=[l,l,c,l,c,c,l,l,c,c,l,c],u=6,d=6,p=3,m=2,f=1,g=new Float32Array(p*d*u),v=new Float32Array(m*d*u),y=new Float32Array(f*d*u);for(let t=0;t<u;t++){const e=t%3*2/3-1,n=t>2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(i,p*d*t),v.set(h,m*d*t);const r=[t,t,t,t,t,t];y.set(r,f*d*t)}const x=new Je;x.setAttribute("position",new Be(g,p)),x.setAttribute("uv",new Be(v,m)),x.setAttribute("faceIndex",new Be(y,f)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}Qs.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Qs.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Po.prototype.fromPoints=function(t){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)},class extends Us{constructor(t=10,e=10,n=4473924,i=8947848){n=new Ie(n),i=new Ie(i);const r=e/2,s=t/e,a=t/2,o=[],l=[];for(let h=0,u=0,d=-a;h<=e;h++,d+=s){o.push(-a,0,d,a,0,d),o.push(d,0,-a,d,0,a);const t=h===r?n:i;t.toArray(l,u),u+=3,t.toArray(l,u),u+=3,t.toArray(l,u),u+=3,t.toArray(l,u),u+=3}const c=new Je;c.setAttribute("position",new He(o,3)),c.setAttribute("color",new He(l,3));super(c,new Cs({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}}.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},class extends Us{constructor(t){const e=Ol(t),n=new Je,i=[],r=[],s=new Ie(0,0,1),a=new Ie(0,1,0);for(let o=0;o<e.length;o++){const t=e[o];t.parent&&t.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),r.push(s.r,s.g,s.b),r.push(a.r,a.g,a.b))}n.setAttribute("position",new He(i,3)),n.setAttribute("color",new He(r,3));super(n,new Cs({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.type="SkeletonHelper",this.isSkeletonHelper=!0,this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(t){const e=this.bones,n=this.geometry,i=n.getAttribute("position");zl.copy(this.root.matrixWorld).invert();for(let r=0,s=0;r<e.length;r++){const t=e[r];t.parent&&t.parent.isBone&&(Nl.multiplyMatrices(zl,t.matrixWorld),Il.setFromMatrixPosition(Nl),i.setXYZ(s,Il.x,Il.y,Il.z),Nl.multiplyMatrices(zl,t.parent.matrixWorld),Il.setFromMatrixPosition(Nl),i.setXYZ(s+1,Il.x,Il.y,Il.z),s+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(t)}}.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},So.prototype.extractUrlBase=function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),$o.extractUrlBase(t)},So.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},Cl.prototype.center=function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},Cl.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Cl.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Cl.prototype.size=function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)},mt.prototype.center=function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},mt.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},mt.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},mt.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},mt.prototype.size=function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)},It.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},In.prototype.setFromMatrix=function(t){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(t)},class{constructor(t=new ut,e=new ut){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Pl.subVectors(t,this.start),Dl.subVectors(this.end,this.start);const n=Dl.dot(Dl);let i=Dl.dot(Pl)/n;return e&&(i=J(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},et.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},et.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},et.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},et.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},et.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},et.prototype.getInverse=function(t){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Vt.prototype.extractPosition=function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},Vt.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},Vt.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new ut).setFromMatrixColumn(this,3)},Vt.prototype.setRotationFromQuaternion=function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},Vt.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},Vt.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Vt.prototype.multiplyVector4=function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Vt.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},Vt.prototype.rotateAxis=function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},Vt.prototype.crossVector=function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Vt.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},Vt.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},Vt.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},Vt.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},Vt.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},Vt.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Vt.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},Vt.prototype.makeFrustum=function(t,e,n,i,r,s){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,i,n,r,s)},Vt.prototype.getInverse=function(t){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Cn.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},ht.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},ht.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},Gt.prototype.isIntersectionBox=function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Gt.prototype.isIntersectionPlane=function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},Gt.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},Se.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},Se.prototype.barycoordFromPoint=function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},Se.prototype.midpoint=function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},Se.prototypenormal=function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},Se.prototype.plane=function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)},Se.barycoordFromPoint=function(t,e,n,i,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Se.getBarycoord(t,e,n,i,r)},Se.normal=function(t,e,n,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Se.getNormal(t,e,n,i)},Do.prototype.extractAllPoints=function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},Do.prototype.extrude=function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Wa(this,t)},Do.prototype.makeGeometry=function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new qa(this,t)},tt.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},tt.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},tt.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},ut.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},ut.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},ut.prototype.getPositionFromMatrix=function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},ut.prototype.getScaleFromMatrix=function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},ut.prototype.getColumnFromMatrix=function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},ut.prototype.applyProjection=function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},ut.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},ut.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},ut.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},ot.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},ot.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},pe.prototype.getChildByName=function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},pe.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},pe.prototype.translate=function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},pe.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},pe.prototype.applyMatrix=function(t){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(pe.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),mn.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(mn.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),0},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),Ms.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Mn.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(Io.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(Be.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===V},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(V)}}}),Be.prototype.setDynamic=function(t){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?V:G),this},Be.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},Be.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Je.prototype.addIndex=function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},Je.prototype.addAttribute=function(t,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(t,e):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(t,new Be(arguments[1],arguments[2])))},Je.prototype.addDrawCall=function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},Je.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},Je.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},Je.prototype.removeAttribute=function(t){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(t)},Je.prototype.applyMatrix=function(t){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(Je.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Kr.prototype.setDynamic=function(t){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?V:G),this},Kr.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Wa.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},Wa.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},Wa.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},Qr.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Sl.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(Ee.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Ie}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===t}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(t){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=t}}}),Object.defineProperties(_n.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Yr.prototype.clearTarget=function(t,e,n,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,n,i)},Yr.prototype.animate=function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},Yr.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},Yr.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},Yr.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},Yr.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},Yr.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},Yr.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},Yr.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},Yr.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},Yr.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},Yr.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},Yr.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},Yr.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},Yr.prototype.enableScissorTest=function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},Yr.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},Yr.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},Yr.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},Yr.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},Yr.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},Yr.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},Yr.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},Yr.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},Yr.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},Yr.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(Yr.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(t){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===t?B:O}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties(Fr.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(lt.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),hl.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const e=this;return(new ol).load(t,(function(t){e.setBuffer(t)})),this},class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let n=0;n<e.length;n++)t+=e[n];return t/e.length}}.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Sn.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)},Sn.prototype.clear=function(t,e,n,i){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(t,e,n,i)},it.crossOrigin=void 0,it.loadTexture=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const r=new Ro;r.setCrossOrigin(this.crossOrigin);const s=r.load(t,n,void 0,i);return e&&(s.mapping=e),s},it.loadTextureCube=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const r=new Ao;r.setCrossOrigin(this.crossOrigin);const s=r.load(t,n,void 0,i);return e&&(s.mapping=e),s},it.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},it.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"130"}})),"undefined"!==typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="130")}}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/framework-2f612445bd50b211f15a.js b/out/_next/static/chunks/framework-2f612445bd50b211f15a.js
index c81bb9d..dced741 100644
--- a/out/_next/static/chunks/framework-2f612445bd50b211f15a.js
+++ b/out/_next/static/chunks/framework-2f612445bd50b211f15a.js
@@ -1,7733 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [774],
-  {
-    92703: function (e, t, n) {
-      'use strict'
-      var r = n(50414)
-      function l() {}
-      function a() {}
-      ;(a.resetWarningCache = l),
-        (e.exports = function () {
-          function e(e, t, n, l, a, o) {
-            if (o !== r) {
-              var u = new Error(
-                'Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types',
-              )
-              throw ((u.name = 'Invariant Violation'), u)
-            }
-          }
-          function t() {
-            return e
-          }
-          e.isRequired = e
-          var n = {
-            array: e,
-            bool: e,
-            func: e,
-            number: e,
-            object: e,
-            string: e,
-            symbol: e,
-            any: e,
-            arrayOf: t,
-            element: e,
-            elementType: e,
-            instanceOf: t,
-            node: e,
-            objectOf: t,
-            oneOf: t,
-            oneOfType: t,
-            shape: t,
-            exact: t,
-            checkPropTypes: a,
-            resetWarningCache: l,
-          }
-          return (n.PropTypes = n), n
-        })
-    },
-    45697: function (e, t, n) {
-      e.exports = n(92703)()
-    },
-    50414: function (e) {
-      'use strict'
-      e.exports = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'
-    },
-    64448: function (e, t, n) {
-      'use strict'
-      var r = n(67294),
-        l = n(96086),
-        a = n(63840)
-      function o(e) {
-        for (
-          var t = 'https://reactjs.org/docs/error-decoder.html?invariant=' + e, n = 1;
-          n < arguments.length;
-          n++
-        )
-          t += '&args[]=' + encodeURIComponent(arguments[n])
-        return (
-          'Minified React error #' +
-          e +
-          '; visit ' +
-          t +
-          ' for the full message or use the non-minified dev environment for full errors and additional helpful warnings.'
-        )
-      }
-      if (!r) throw Error(o(227))
-      var u = new Set(),
-        i = {}
-      function s(e, t) {
-        c(e, t), c(e + 'Capture', t)
-      }
-      function c(e, t) {
-        for (i[e] = t, e = 0; e < t.length; e++) u.add(t[e])
-      }
-      var f = !(
-          'undefined' === typeof window ||
-          'undefined' === typeof window.document ||
-          'undefined' === typeof window.document.createElement
-        ),
-        d =
-          /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
-        p = Object.prototype.hasOwnProperty,
-        h = {},
-        m = {}
-      function v(e, t, n, r, l, a, o) {
-        ;(this.acceptsBooleans = 2 === t || 3 === t || 4 === t),
-          (this.attributeName = r),
-          (this.attributeNamespace = l),
-          (this.mustUseProperty = n),
-          (this.propertyName = e),
-          (this.type = t),
-          (this.sanitizeURL = a),
-          (this.removeEmptyString = o)
-      }
-      var y = {}
-      'children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style'
-        .split(' ')
-        .forEach(function (e) {
-          y[e] = new v(e, 0, !1, e, null, !1, !1)
-        }),
-        [
-          ['acceptCharset', 'accept-charset'],
-          ['className', 'class'],
-          ['htmlFor', 'for'],
-          ['httpEquiv', 'http-equiv'],
-        ].forEach(function (e) {
-          var t = e[0]
-          y[t] = new v(t, 1, !1, e[1], null, !1, !1)
-        }),
-        ['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (e) {
-          y[e] = new v(e, 2, !1, e.toLowerCase(), null, !1, !1)
-        }),
-        ['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(
-          function (e) {
-            y[e] = new v(e, 2, !1, e, null, !1, !1)
-          },
-        ),
-        'allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope'
-          .split(' ')
-          .forEach(function (e) {
-            y[e] = new v(e, 3, !1, e.toLowerCase(), null, !1, !1)
-          }),
-        ['checked', 'multiple', 'muted', 'selected'].forEach(function (e) {
-          y[e] = new v(e, 3, !0, e, null, !1, !1)
-        }),
-        ['capture', 'download'].forEach(function (e) {
-          y[e] = new v(e, 4, !1, e, null, !1, !1)
-        }),
-        ['cols', 'rows', 'size', 'span'].forEach(function (e) {
-          y[e] = new v(e, 6, !1, e, null, !1, !1)
-        }),
-        ['rowSpan', 'start'].forEach(function (e) {
-          y[e] = new v(e, 5, !1, e.toLowerCase(), null, !1, !1)
-        })
-      var g = /[\-:]([a-z])/g
-      function b(e) {
-        return e[1].toUpperCase()
-      }
-      function w(e, t, n, r) {
-        var l = y.hasOwnProperty(t) ? y[t] : null
-        ;(null !== l
-          ? 0 === l.type
-          : !r &&
-            2 < t.length &&
-            ('o' === t[0] || 'O' === t[0]) &&
-            ('n' === t[1] || 'N' === t[1])) ||
-          ((function (e, t, n, r) {
-            if (
-              null === t ||
-              'undefined' === typeof t ||
-              (function (e, t, n, r) {
-                if (null !== n && 0 === n.type) return !1
-                switch (typeof t) {
-                  case 'function':
-                  case 'symbol':
-                    return !0
-                  case 'boolean':
-                    return (
-                      !r &&
-                      (null !== n
-                        ? !n.acceptsBooleans
-                        : 'data-' !== (e = e.toLowerCase().slice(0, 5)) && 'aria-' !== e)
-                    )
-                  default:
-                    return !1
-                }
-              })(e, t, n, r)
-            )
-              return !0
-            if (r) return !1
-            if (null !== n)
-              switch (n.type) {
-                case 3:
-                  return !t
-                case 4:
-                  return !1 === t
-                case 5:
-                  return isNaN(t)
-                case 6:
-                  return isNaN(t) || 1 > t
-              }
-            return !1
-          })(t, n, l, r) && (n = null),
-          r || null === l
-            ? (function (e) {
-                return (
-                  !!p.call(m, e) || (!p.call(h, e) && (d.test(e) ? (m[e] = !0) : ((h[e] = !0), !1)))
-                )
-              })(t) && (null === n ? e.removeAttribute(t) : e.setAttribute(t, '' + n))
-            : l.mustUseProperty
-            ? (e[l.propertyName] = null === n ? 3 !== l.type && '' : n)
-            : ((t = l.attributeName),
-              (r = l.attributeNamespace),
-              null === n
-                ? e.removeAttribute(t)
-                : ((n = 3 === (l = l.type) || (4 === l && !0 === n) ? '' : '' + n),
-                  r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))))
-      }
-      'accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height'
-        .split(' ')
-        .forEach(function (e) {
-          var t = e.replace(g, b)
-          y[t] = new v(t, 1, !1, e, null, !1, !1)
-        }),
-        'xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type'
-          .split(' ')
-          .forEach(function (e) {
-            var t = e.replace(g, b)
-            y[t] = new v(t, 1, !1, e, 'http://www.w3.org/1999/xlink', !1, !1)
-          }),
-        ['xml:base', 'xml:lang', 'xml:space'].forEach(function (e) {
-          var t = e.replace(g, b)
-          y[t] = new v(t, 1, !1, e, 'http://www.w3.org/XML/1998/namespace', !1, !1)
-        }),
-        ['tabIndex', 'crossOrigin'].forEach(function (e) {
-          y[e] = new v(e, 1, !1, e.toLowerCase(), null, !1, !1)
-        }),
-        (y.xlinkHref = new v(
-          'xlinkHref',
-          1,
-          !1,
-          'xlink:href',
-          'http://www.w3.org/1999/xlink',
-          !0,
-          !1,
-        )),
-        ['src', 'href', 'action', 'formAction'].forEach(function (e) {
-          y[e] = new v(e, 1, !1, e.toLowerCase(), null, !0, !0)
-        })
-      var k = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,
-        E = 60103,
-        S = 60106,
-        _ = 60107,
-        x = 60108,
-        C = 60114,
-        P = 60109,
-        N = 60110,
-        T = 60112,
-        L = 60113,
-        z = 60120,
-        O = 60115,
-        R = 60116,
-        M = 60121,
-        I = 60128,
-        D = 60129,
-        F = 60130,
-        U = 60131
-      if ('function' === typeof Symbol && Symbol.for) {
-        var A = Symbol.for
-        ;(E = A('react.element')),
-          (S = A('react.portal')),
-          (_ = A('react.fragment')),
-          (x = A('react.strict_mode')),
-          (C = A('react.profiler')),
-          (P = A('react.provider')),
-          (N = A('react.context')),
-          (T = A('react.forward_ref')),
-          (L = A('react.suspense')),
-          (z = A('react.suspense_list')),
-          (O = A('react.memo')),
-          (R = A('react.lazy')),
-          (M = A('react.block')),
-          A('react.scope'),
-          (I = A('react.opaque.id')),
-          (D = A('react.debug_trace_mode')),
-          (F = A('react.offscreen')),
-          (U = A('react.legacy_hidden'))
-      }
-      var V,
-        j = 'function' === typeof Symbol && Symbol.iterator
-      function B(e) {
-        return null === e || 'object' !== typeof e
-          ? null
-          : 'function' === typeof (e = (j && e[j]) || e['@@iterator'])
-          ? e
-          : null
-      }
-      function W(e) {
-        if (void 0 === V)
-          try {
-            throw Error()
-          } catch (n) {
-            var t = n.stack.trim().match(/\n( *(at )?)/)
-            V = (t && t[1]) || ''
-          }
-        return '\n' + V + e
-      }
-      var $ = !1
-      function H(e, t) {
-        if (!e || $) return ''
-        $ = !0
-        var n = Error.prepareStackTrace
-        Error.prepareStackTrace = void 0
-        try {
-          if (t)
-            if (
-              ((t = function () {
-                throw Error()
-              }),
-              Object.defineProperty(t.prototype, 'props', {
-                set: function () {
-                  throw Error()
-                },
-              }),
-              'object' === typeof Reflect && Reflect.construct)
-            ) {
-              try {
-                Reflect.construct(t, [])
-              } catch (i) {
-                var r = i
-              }
-              Reflect.construct(e, [], t)
-            } else {
-              try {
-                t.call()
-              } catch (i) {
-                r = i
-              }
-              e.call(t.prototype)
-            }
-          else {
-            try {
-              throw Error()
-            } catch (i) {
-              r = i
-            }
-            e()
-          }
-        } catch (i) {
-          if (i && r && 'string' === typeof i.stack) {
-            for (
-              var l = i.stack.split('\n'),
-                a = r.stack.split('\n'),
-                o = l.length - 1,
-                u = a.length - 1;
-              1 <= o && 0 <= u && l[o] !== a[u];
-
-            )
-              u--
-            for (; 1 <= o && 0 <= u; o--, u--)
-              if (l[o] !== a[u]) {
-                if (1 !== o || 1 !== u)
-                  do {
-                    if ((o--, 0 > --u || l[o] !== a[u]))
-                      return '\n' + l[o].replace(' at new ', ' at ')
-                  } while (1 <= o && 0 <= u)
-                break
-              }
-          }
-        } finally {
-          ;($ = !1), (Error.prepareStackTrace = n)
-        }
-        return (e = e ? e.displayName || e.name : '') ? W(e) : ''
-      }
-      function Q(e) {
-        switch (e.tag) {
-          case 5:
-            return W(e.type)
-          case 16:
-            return W('Lazy')
-          case 13:
-            return W('Suspense')
-          case 19:
-            return W('SuspenseList')
-          case 0:
-          case 2:
-          case 15:
-            return (e = H(e.type, !1))
-          case 11:
-            return (e = H(e.type.render, !1))
-          case 22:
-            return (e = H(e.type._render, !1))
-          case 1:
-            return (e = H(e.type, !0))
-          default:
-            return ''
-        }
-      }
-      function q(e) {
-        if (null == e) return null
-        if ('function' === typeof e) return e.displayName || e.name || null
-        if ('string' === typeof e) return e
-        switch (e) {
-          case _:
-            return 'Fragment'
-          case S:
-            return 'Portal'
-          case C:
-            return 'Profiler'
-          case x:
-            return 'StrictMode'
-          case L:
-            return 'Suspense'
-          case z:
-            return 'SuspenseList'
-        }
-        if ('object' === typeof e)
-          switch (e.$$typeof) {
-            case N:
-              return (e.displayName || 'Context') + '.Consumer'
-            case P:
-              return (e._context.displayName || 'Context') + '.Provider'
-            case T:
-              var t = e.render
-              return (
-                (t = t.displayName || t.name || ''),
-                e.displayName || ('' !== t ? 'ForwardRef(' + t + ')' : 'ForwardRef')
-              )
-            case O:
-              return q(e.type)
-            case M:
-              return q(e._render)
-            case R:
-              ;(t = e._payload), (e = e._init)
-              try {
-                return q(e(t))
-              } catch (n) {}
-          }
-        return null
-      }
-      function K(e) {
-        switch (typeof e) {
-          case 'boolean':
-          case 'number':
-          case 'object':
-          case 'string':
-          case 'undefined':
-            return e
-          default:
-            return ''
-        }
-      }
-      function Y(e) {
-        var t = e.type
-        return (
-          (e = e.nodeName) && 'input' === e.toLowerCase() && ('checkbox' === t || 'radio' === t)
-        )
-      }
-      function X(e) {
-        e._valueTracker ||
-          (e._valueTracker = (function (e) {
-            var t = Y(e) ? 'checked' : 'value',
-              n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t),
-              r = '' + e[t]
-            if (
-              !e.hasOwnProperty(t) &&
-              'undefined' !== typeof n &&
-              'function' === typeof n.get &&
-              'function' === typeof n.set
-            ) {
-              var l = n.get,
-                a = n.set
-              return (
-                Object.defineProperty(e, t, {
-                  configurable: !0,
-                  get: function () {
-                    return l.call(this)
-                  },
-                  set: function (e) {
-                    ;(r = '' + e), a.call(this, e)
-                  },
-                }),
-                Object.defineProperty(e, t, { enumerable: n.enumerable }),
-                {
-                  getValue: function () {
-                    return r
-                  },
-                  setValue: function (e) {
-                    r = '' + e
-                  },
-                  stopTracking: function () {
-                    ;(e._valueTracker = null), delete e[t]
-                  },
-                }
-              )
-            }
-          })(e))
-      }
-      function G(e) {
-        if (!e) return !1
-        var t = e._valueTracker
-        if (!t) return !0
-        var n = t.getValue(),
-          r = ''
-        return (
-          e && (r = Y(e) ? (e.checked ? 'true' : 'false') : e.value),
-          (e = r) !== n && (t.setValue(e), !0)
-        )
-      }
-      function Z(e) {
-        if ('undefined' === typeof (e = e || ('undefined' !== typeof document ? document : void 0)))
-          return null
-        try {
-          return e.activeElement || e.body
-        } catch (t) {
-          return e.body
-        }
-      }
-      function J(e, t) {
-        var n = t.checked
-        return l({}, t, {
-          defaultChecked: void 0,
-          defaultValue: void 0,
-          value: void 0,
-          checked: null != n ? n : e._wrapperState.initialChecked,
-        })
-      }
-      function ee(e, t) {
-        var n = null == t.defaultValue ? '' : t.defaultValue,
-          r = null != t.checked ? t.checked : t.defaultChecked
-        ;(n = K(null != t.value ? t.value : n)),
-          (e._wrapperState = {
-            initialChecked: r,
-            initialValue: n,
-            controlled:
-              'checkbox' === t.type || 'radio' === t.type ? null != t.checked : null != t.value,
-          })
-      }
-      function te(e, t) {
-        null != (t = t.checked) && w(e, 'checked', t, !1)
-      }
-      function ne(e, t) {
-        te(e, t)
-        var n = K(t.value),
-          r = t.type
-        if (null != n)
-          'number' === r
-            ? ((0 === n && '' === e.value) || e.value != n) && (e.value = '' + n)
-            : e.value !== '' + n && (e.value = '' + n)
-        else if ('submit' === r || 'reset' === r) return void e.removeAttribute('value')
-        t.hasOwnProperty('value')
-          ? le(e, t.type, n)
-          : t.hasOwnProperty('defaultValue') && le(e, t.type, K(t.defaultValue)),
-          null == t.checked && null != t.defaultChecked && (e.defaultChecked = !!t.defaultChecked)
-      }
-      function re(e, t, n) {
-        if (t.hasOwnProperty('value') || t.hasOwnProperty('defaultValue')) {
-          var r = t.type
-          if (!(('submit' !== r && 'reset' !== r) || (void 0 !== t.value && null !== t.value)))
-            return
-          ;(t = '' + e._wrapperState.initialValue),
-            n || t === e.value || (e.value = t),
-            (e.defaultValue = t)
-        }
-        '' !== (n = e.name) && (e.name = ''),
-          (e.defaultChecked = !!e._wrapperState.initialChecked),
-          '' !== n && (e.name = n)
-      }
-      function le(e, t, n) {
-        ;('number' === t && Z(e.ownerDocument) === e) ||
-          (null == n
-            ? (e.defaultValue = '' + e._wrapperState.initialValue)
-            : e.defaultValue !== '' + n && (e.defaultValue = '' + n))
-      }
-      function ae(e, t) {
-        return (
-          (e = l({ children: void 0 }, t)),
-          (t = (function (e) {
-            var t = ''
-            return (
-              r.Children.forEach(e, function (e) {
-                null != e && (t += e)
-              }),
-              t
-            )
-          })(t.children)) && (e.children = t),
-          e
-        )
-      }
-      function oe(e, t, n, r) {
-        if (((e = e.options), t)) {
-          t = {}
-          for (var l = 0; l < n.length; l++) t['$' + n[l]] = !0
-          for (n = 0; n < e.length; n++)
-            (l = t.hasOwnProperty('$' + e[n].value)),
-              e[n].selected !== l && (e[n].selected = l),
-              l && r && (e[n].defaultSelected = !0)
-        } else {
-          for (n = '' + K(n), t = null, l = 0; l < e.length; l++) {
-            if (e[l].value === n)
-              return (e[l].selected = !0), void (r && (e[l].defaultSelected = !0))
-            null !== t || e[l].disabled || (t = e[l])
-          }
-          null !== t && (t.selected = !0)
-        }
-      }
-      function ue(e, t) {
-        if (null != t.dangerouslySetInnerHTML) throw Error(o(91))
-        return l({}, t, {
-          value: void 0,
-          defaultValue: void 0,
-          children: '' + e._wrapperState.initialValue,
-        })
-      }
-      function ie(e, t) {
-        var n = t.value
-        if (null == n) {
-          if (((n = t.children), (t = t.defaultValue), null != n)) {
-            if (null != t) throw Error(o(92))
-            if (Array.isArray(n)) {
-              if (!(1 >= n.length)) throw Error(o(93))
-              n = n[0]
-            }
-            t = n
-          }
-          null == t && (t = ''), (n = t)
-        }
-        e._wrapperState = { initialValue: K(n) }
-      }
-      function se(e, t) {
-        var n = K(t.value),
-          r = K(t.defaultValue)
-        null != n &&
-          ((n = '' + n) !== e.value && (e.value = n),
-          null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)),
-          null != r && (e.defaultValue = '' + r)
-      }
-      function ce(e) {
-        var t = e.textContent
-        t === e._wrapperState.initialValue && '' !== t && null !== t && (e.value = t)
-      }
-      var fe = 'http://www.w3.org/1999/xhtml',
-        de = 'http://www.w3.org/2000/svg'
-      function pe(e) {
-        switch (e) {
-          case 'svg':
-            return 'http://www.w3.org/2000/svg'
-          case 'math':
-            return 'http://www.w3.org/1998/Math/MathML'
-          default:
-            return 'http://www.w3.org/1999/xhtml'
-        }
-      }
-      function he(e, t) {
-        return null == e || 'http://www.w3.org/1999/xhtml' === e
-          ? pe(t)
-          : 'http://www.w3.org/2000/svg' === e && 'foreignObject' === t
-          ? 'http://www.w3.org/1999/xhtml'
-          : e
-      }
-      var me,
-        ve,
-        ye =
-          ((ve = function (e, t) {
-            if (e.namespaceURI !== de || 'innerHTML' in e) e.innerHTML = t
-            else {
-              for (
-                (me = me || document.createElement('div')).innerHTML =
-                  '<svg>' + t.valueOf().toString() + '</svg>',
-                  t = me.firstChild;
-                e.firstChild;
-
-              )
-                e.removeChild(e.firstChild)
-              for (; t.firstChild; ) e.appendChild(t.firstChild)
-            }
-          }),
-          'undefined' !== typeof MSApp && MSApp.execUnsafeLocalFunction
-            ? function (e, t, n, r) {
-                MSApp.execUnsafeLocalFunction(function () {
-                  return ve(e, t)
-                })
-              }
-            : ve)
-      function ge(e, t) {
-        if (t) {
-          var n = e.firstChild
-          if (n && n === e.lastChild && 3 === n.nodeType) return void (n.nodeValue = t)
-        }
-        e.textContent = t
-      }
-      var be = {
-          animationIterationCount: !0,
-          borderImageOutset: !0,
-          borderImageSlice: !0,
-          borderImageWidth: !0,
-          boxFlex: !0,
-          boxFlexGroup: !0,
-          boxOrdinalGroup: !0,
-          columnCount: !0,
-          columns: !0,
-          flex: !0,
-          flexGrow: !0,
-          flexPositive: !0,
-          flexShrink: !0,
-          flexNegative: !0,
-          flexOrder: !0,
-          gridArea: !0,
-          gridRow: !0,
-          gridRowEnd: !0,
-          gridRowSpan: !0,
-          gridRowStart: !0,
-          gridColumn: !0,
-          gridColumnEnd: !0,
-          gridColumnSpan: !0,
-          gridColumnStart: !0,
-          fontWeight: !0,
-          lineClamp: !0,
-          lineHeight: !0,
-          opacity: !0,
-          order: !0,
-          orphans: !0,
-          tabSize: !0,
-          widows: !0,
-          zIndex: !0,
-          zoom: !0,
-          fillOpacity: !0,
-          floodOpacity: !0,
-          stopOpacity: !0,
-          strokeDasharray: !0,
-          strokeDashoffset: !0,
-          strokeMiterlimit: !0,
-          strokeOpacity: !0,
-          strokeWidth: !0,
-        },
-        we = ['Webkit', 'ms', 'Moz', 'O']
-      function ke(e, t, n) {
-        return null == t || 'boolean' === typeof t || '' === t
-          ? ''
-          : n || 'number' !== typeof t || 0 === t || (be.hasOwnProperty(e) && be[e])
-          ? ('' + t).trim()
-          : t + 'px'
-      }
-      function Ee(e, t) {
-        for (var n in ((e = e.style), t))
-          if (t.hasOwnProperty(n)) {
-            var r = 0 === n.indexOf('--'),
-              l = ke(n, t[n], r)
-            'float' === n && (n = 'cssFloat'), r ? e.setProperty(n, l) : (e[n] = l)
-          }
-      }
-      Object.keys(be).forEach(function (e) {
-        we.forEach(function (t) {
-          ;(t = t + e.charAt(0).toUpperCase() + e.substring(1)), (be[t] = be[e])
-        })
-      })
-      var Se = l(
-        { menuitem: !0 },
-        {
-          area: !0,
-          base: !0,
-          br: !0,
-          col: !0,
-          embed: !0,
-          hr: !0,
-          img: !0,
-          input: !0,
-          keygen: !0,
-          link: !0,
-          meta: !0,
-          param: !0,
-          source: !0,
-          track: !0,
-          wbr: !0,
-        },
-      )
-      function _e(e, t) {
-        if (t) {
-          if (Se[e] && (null != t.children || null != t.dangerouslySetInnerHTML))
-            throw Error(o(137, e))
-          if (null != t.dangerouslySetInnerHTML) {
-            if (null != t.children) throw Error(o(60))
-            if (
-              'object' !== typeof t.dangerouslySetInnerHTML ||
-              !('__html' in t.dangerouslySetInnerHTML)
-            )
-              throw Error(o(61))
-          }
-          if (null != t.style && 'object' !== typeof t.style) throw Error(o(62))
-        }
-      }
-      function xe(e, t) {
-        if (-1 === e.indexOf('-')) return 'string' === typeof t.is
-        switch (e) {
-          case 'annotation-xml':
-          case 'color-profile':
-          case 'font-face':
-          case 'font-face-src':
-          case 'font-face-uri':
-          case 'font-face-format':
-          case 'font-face-name':
-          case 'missing-glyph':
-            return !1
-          default:
-            return !0
-        }
-      }
-      function Ce(e) {
-        return (
-          (e = e.target || e.srcElement || window).correspondingUseElement &&
-            (e = e.correspondingUseElement),
-          3 === e.nodeType ? e.parentNode : e
-        )
-      }
-      var Pe = null,
-        Ne = null,
-        Te = null
-      function Le(e) {
-        if ((e = el(e))) {
-          if ('function' !== typeof Pe) throw Error(o(280))
-          var t = e.stateNode
-          t && ((t = nl(t)), Pe(e.stateNode, e.type, t))
-        }
-      }
-      function ze(e) {
-        Ne ? (Te ? Te.push(e) : (Te = [e])) : (Ne = e)
-      }
-      function Oe() {
-        if (Ne) {
-          var e = Ne,
-            t = Te
-          if (((Te = Ne = null), Le(e), t)) for (e = 0; e < t.length; e++) Le(t[e])
-        }
-      }
-      function Re(e, t) {
-        return e(t)
-      }
-      function Me(e, t, n, r, l) {
-        return e(t, n, r, l)
-      }
-      function Ie() {}
-      var De = Re,
-        Fe = !1,
-        Ue = !1
-      function Ae() {
-        ;(null === Ne && null === Te) || (Ie(), Oe())
-      }
-      function Ve(e, t) {
-        var n = e.stateNode
-        if (null === n) return null
-        var r = nl(n)
-        if (null === r) return null
-        n = r[t]
-        e: switch (t) {
-          case 'onClick':
-          case 'onClickCapture':
-          case 'onDoubleClick':
-          case 'onDoubleClickCapture':
-          case 'onMouseDown':
-          case 'onMouseDownCapture':
-          case 'onMouseMove':
-          case 'onMouseMoveCapture':
-          case 'onMouseUp':
-          case 'onMouseUpCapture':
-          case 'onMouseEnter':
-            ;(r = !r.disabled) ||
-              (r = !(
-                'button' === (e = e.type) ||
-                'input' === e ||
-                'select' === e ||
-                'textarea' === e
-              )),
-              (e = !r)
-            break e
-          default:
-            e = !1
-        }
-        if (e) return null
-        if (n && 'function' !== typeof n) throw Error(o(231, t, typeof n))
-        return n
-      }
-      var je = !1
-      if (f)
-        try {
-          var Be = {}
-          Object.defineProperty(Be, 'passive', {
-            get: function () {
-              je = !0
-            },
-          }),
-            window.addEventListener('test', Be, Be),
-            window.removeEventListener('test', Be, Be)
-        } catch (ve) {
-          je = !1
-        }
-      function We(e, t, n, r, l, a, o, u, i) {
-        var s = Array.prototype.slice.call(arguments, 3)
-        try {
-          t.apply(n, s)
-        } catch (c) {
-          this.onError(c)
-        }
-      }
-      var $e = !1,
-        He = null,
-        Qe = !1,
-        qe = null,
-        Ke = {
-          onError: function (e) {
-            ;($e = !0), (He = e)
-          },
-        }
-      function Ye(e, t, n, r, l, a, o, u, i) {
-        ;($e = !1), (He = null), We.apply(Ke, arguments)
-      }
-      function Xe(e) {
-        var t = e,
-          n = e
-        if (e.alternate) for (; t.return; ) t = t.return
-        else {
-          e = t
-          do {
-            0 !== (1026 & (t = e).flags) && (n = t.return), (e = t.return)
-          } while (e)
-        }
-        return 3 === t.tag ? n : null
-      }
-      function Ge(e) {
-        if (13 === e.tag) {
-          var t = e.memoizedState
-          if ((null === t && null !== (e = e.alternate) && (t = e.memoizedState), null !== t))
-            return t.dehydrated
-        }
-        return null
-      }
-      function Ze(e) {
-        if (Xe(e) !== e) throw Error(o(188))
-      }
-      function Je(e) {
-        if (
-          !(e = (function (e) {
-            var t = e.alternate
-            if (!t) {
-              if (null === (t = Xe(e))) throw Error(o(188))
-              return t !== e ? null : e
-            }
-            for (var n = e, r = t; ; ) {
-              var l = n.return
-              if (null === l) break
-              var a = l.alternate
-              if (null === a) {
-                if (null !== (r = l.return)) {
-                  n = r
-                  continue
-                }
-                break
-              }
-              if (l.child === a.child) {
-                for (a = l.child; a; ) {
-                  if (a === n) return Ze(l), e
-                  if (a === r) return Ze(l), t
-                  a = a.sibling
-                }
-                throw Error(o(188))
-              }
-              if (n.return !== r.return) (n = l), (r = a)
-              else {
-                for (var u = !1, i = l.child; i; ) {
-                  if (i === n) {
-                    ;(u = !0), (n = l), (r = a)
-                    break
-                  }
-                  if (i === r) {
-                    ;(u = !0), (r = l), (n = a)
-                    break
-                  }
-                  i = i.sibling
-                }
-                if (!u) {
-                  for (i = a.child; i; ) {
-                    if (i === n) {
-                      ;(u = !0), (n = a), (r = l)
-                      break
-                    }
-                    if (i === r) {
-                      ;(u = !0), (r = a), (n = l)
-                      break
-                    }
-                    i = i.sibling
-                  }
-                  if (!u) throw Error(o(189))
-                }
-              }
-              if (n.alternate !== r) throw Error(o(190))
-            }
-            if (3 !== n.tag) throw Error(o(188))
-            return n.stateNode.current === n ? e : t
-          })(e))
-        )
-          return null
-        for (var t = e; ; ) {
-          if (5 === t.tag || 6 === t.tag) return t
-          if (t.child) (t.child.return = t), (t = t.child)
-          else {
-            if (t === e) break
-            for (; !t.sibling; ) {
-              if (!t.return || t.return === e) return null
-              t = t.return
-            }
-            ;(t.sibling.return = t.return), (t = t.sibling)
-          }
-        }
-        return null
-      }
-      function et(e, t) {
-        for (var n = e.alternate; null !== t; ) {
-          if (t === e || t === n) return !0
-          t = t.return
-        }
-        return !1
-      }
-      var tt,
-        nt,
-        rt,
-        lt,
-        at = !1,
-        ot = [],
-        ut = null,
-        it = null,
-        st = null,
-        ct = new Map(),
-        ft = new Map(),
-        dt = [],
-        pt =
-          'mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit'.split(
-            ' ',
-          )
-      function ht(e, t, n, r, l) {
-        return {
-          blockedOn: e,
-          domEventName: t,
-          eventSystemFlags: 16 | n,
-          nativeEvent: l,
-          targetContainers: [r],
-        }
-      }
-      function mt(e, t) {
-        switch (e) {
-          case 'focusin':
-          case 'focusout':
-            ut = null
-            break
-          case 'dragenter':
-          case 'dragleave':
-            it = null
-            break
-          case 'mouseover':
-          case 'mouseout':
-            st = null
-            break
-          case 'pointerover':
-          case 'pointerout':
-            ct.delete(t.pointerId)
-            break
-          case 'gotpointercapture':
-          case 'lostpointercapture':
-            ft.delete(t.pointerId)
-        }
-      }
-      function vt(e, t, n, r, l, a) {
-        return null === e || e.nativeEvent !== a
-          ? ((e = ht(t, n, r, l, a)), null !== t && null !== (t = el(t)) && nt(t), e)
-          : ((e.eventSystemFlags |= r),
-            (t = e.targetContainers),
-            null !== l && -1 === t.indexOf(l) && t.push(l),
-            e)
-      }
-      function yt(e) {
-        var t = Jr(e.target)
-        if (null !== t) {
-          var n = Xe(t)
-          if (null !== n)
-            if (13 === (t = n.tag)) {
-              if (null !== (t = Ge(n)))
-                return (
-                  (e.blockedOn = t),
-                  void lt(e.lanePriority, function () {
-                    a.unstable_runWithPriority(e.priority, function () {
-                      rt(n)
-                    })
-                  })
-                )
-            } else if (3 === t && n.stateNode.hydrate)
-              return void (e.blockedOn = 3 === n.tag ? n.stateNode.containerInfo : null)
-        }
-        e.blockedOn = null
-      }
-      function gt(e) {
-        if (null !== e.blockedOn) return !1
-        for (var t = e.targetContainers; 0 < t.length; ) {
-          var n = Jt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent)
-          if (null !== n) return null !== (t = el(n)) && nt(t), (e.blockedOn = n), !1
-          t.shift()
-        }
-        return !0
-      }
-      function bt(e, t, n) {
-        gt(e) && n.delete(t)
-      }
-      function wt() {
-        for (at = !1; 0 < ot.length; ) {
-          var e = ot[0]
-          if (null !== e.blockedOn) {
-            null !== (e = el(e.blockedOn)) && tt(e)
-            break
-          }
-          for (var t = e.targetContainers; 0 < t.length; ) {
-            var n = Jt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent)
-            if (null !== n) {
-              e.blockedOn = n
-              break
-            }
-            t.shift()
-          }
-          null === e.blockedOn && ot.shift()
-        }
-        null !== ut && gt(ut) && (ut = null),
-          null !== it && gt(it) && (it = null),
-          null !== st && gt(st) && (st = null),
-          ct.forEach(bt),
-          ft.forEach(bt)
-      }
-      function kt(e, t) {
-        e.blockedOn === t &&
-          ((e.blockedOn = null),
-          at || ((at = !0), a.unstable_scheduleCallback(a.unstable_NormalPriority, wt)))
-      }
-      function Et(e) {
-        function t(t) {
-          return kt(t, e)
-        }
-        if (0 < ot.length) {
-          kt(ot[0], e)
-          for (var n = 1; n < ot.length; n++) {
-            var r = ot[n]
-            r.blockedOn === e && (r.blockedOn = null)
-          }
-        }
-        for (
-          null !== ut && kt(ut, e),
-            null !== it && kt(it, e),
-            null !== st && kt(st, e),
-            ct.forEach(t),
-            ft.forEach(t),
-            n = 0;
-          n < dt.length;
-          n++
-        )
-          (r = dt[n]).blockedOn === e && (r.blockedOn = null)
-        for (; 0 < dt.length && null === (n = dt[0]).blockedOn; )
-          yt(n), null === n.blockedOn && dt.shift()
-      }
-      function St(e, t) {
-        var n = {}
-        return (
-          (n[e.toLowerCase()] = t.toLowerCase()),
-          (n['Webkit' + e] = 'webkit' + t),
-          (n['Moz' + e] = 'moz' + t),
-          n
-        )
-      }
-      var _t = {
-          animationend: St('Animation', 'AnimationEnd'),
-          animationiteration: St('Animation', 'AnimationIteration'),
-          animationstart: St('Animation', 'AnimationStart'),
-          transitionend: St('Transition', 'TransitionEnd'),
-        },
-        xt = {},
-        Ct = {}
-      function Pt(e) {
-        if (xt[e]) return xt[e]
-        if (!_t[e]) return e
-        var t,
-          n = _t[e]
-        for (t in n) if (n.hasOwnProperty(t) && t in Ct) return (xt[e] = n[t])
-        return e
-      }
-      f &&
-        ((Ct = document.createElement('div').style),
-        'AnimationEvent' in window ||
-          (delete _t.animationend.animation,
-          delete _t.animationiteration.animation,
-          delete _t.animationstart.animation),
-        'TransitionEvent' in window || delete _t.transitionend.transition)
-      var Nt = Pt('animationend'),
-        Tt = Pt('animationiteration'),
-        Lt = Pt('animationstart'),
-        zt = Pt('transitionend'),
-        Ot = new Map(),
-        Rt = new Map(),
-        Mt = [
-          'abort',
-          'abort',
-          Nt,
-          'animationEnd',
-          Tt,
-          'animationIteration',
-          Lt,
-          'animationStart',
-          'canplay',
-          'canPlay',
-          'canplaythrough',
-          'canPlayThrough',
-          'durationchange',
-          'durationChange',
-          'emptied',
-          'emptied',
-          'encrypted',
-          'encrypted',
-          'ended',
-          'ended',
-          'error',
-          'error',
-          'gotpointercapture',
-          'gotPointerCapture',
-          'load',
-          'load',
-          'loadeddata',
-          'loadedData',
-          'loadedmetadata',
-          'loadedMetadata',
-          'loadstart',
-          'loadStart',
-          'lostpointercapture',
-          'lostPointerCapture',
-          'playing',
-          'playing',
-          'progress',
-          'progress',
-          'seeking',
-          'seeking',
-          'stalled',
-          'stalled',
-          'suspend',
-          'suspend',
-          'timeupdate',
-          'timeUpdate',
-          zt,
-          'transitionEnd',
-          'waiting',
-          'waiting',
-        ]
-      function It(e, t) {
-        for (var n = 0; n < e.length; n += 2) {
-          var r = e[n],
-            l = e[n + 1]
-          ;(l = 'on' + (l[0].toUpperCase() + l.slice(1))), Rt.set(r, t), Ot.set(r, l), s(l, [r])
-        }
-      }
-      ;(0, a.unstable_now)()
-      var Dt = 8
-      function Ft(e) {
-        if (0 !== (1 & e)) return (Dt = 15), 1
-        if (0 !== (2 & e)) return (Dt = 14), 2
-        if (0 !== (4 & e)) return (Dt = 13), 4
-        var t = 24 & e
-        return 0 !== t
-          ? ((Dt = 12), t)
-          : 0 !== (32 & e)
-          ? ((Dt = 11), 32)
-          : 0 !== (t = 192 & e)
-          ? ((Dt = 10), t)
-          : 0 !== (256 & e)
-          ? ((Dt = 9), 256)
-          : 0 !== (t = 3584 & e)
-          ? ((Dt = 8), t)
-          : 0 !== (4096 & e)
-          ? ((Dt = 7), 4096)
-          : 0 !== (t = 4186112 & e)
-          ? ((Dt = 6), t)
-          : 0 !== (t = 62914560 & e)
-          ? ((Dt = 5), t)
-          : 67108864 & e
-          ? ((Dt = 4), 67108864)
-          : 0 !== (134217728 & e)
-          ? ((Dt = 3), 134217728)
-          : 0 !== (t = 805306368 & e)
-          ? ((Dt = 2), t)
-          : 0 !== (1073741824 & e)
-          ? ((Dt = 1), 1073741824)
-          : ((Dt = 8), e)
-      }
-      function Ut(e, t) {
-        var n = e.pendingLanes
-        if (0 === n) return (Dt = 0)
-        var r = 0,
-          l = 0,
-          a = e.expiredLanes,
-          o = e.suspendedLanes,
-          u = e.pingedLanes
-        if (0 !== a) (r = a), (l = Dt = 15)
-        else if (0 !== (a = 134217727 & n)) {
-          var i = a & ~o
-          0 !== i ? ((r = Ft(i)), (l = Dt)) : 0 !== (u &= a) && ((r = Ft(u)), (l = Dt))
-        } else 0 !== (a = n & ~o) ? ((r = Ft(a)), (l = Dt)) : 0 !== u && ((r = Ft(u)), (l = Dt))
-        if (0 === r) return 0
-        if (
-          ((r = n & (((0 > (r = 31 - $t(r)) ? 0 : 1 << r) << 1) - 1)),
-          0 !== t && t !== r && 0 === (t & o))
-        ) {
-          if ((Ft(t), l <= Dt)) return t
-          Dt = l
-        }
-        if (0 !== (t = e.entangledLanes))
-          for (e = e.entanglements, t &= r; 0 < t; )
-            (l = 1 << (n = 31 - $t(t))), (r |= e[n]), (t &= ~l)
-        return r
-      }
-      function At(e) {
-        return 0 !== (e = -1073741825 & e.pendingLanes) ? e : 1073741824 & e ? 1073741824 : 0
-      }
-      function Vt(e, t) {
-        switch (e) {
-          case 15:
-            return 1
-          case 14:
-            return 2
-          case 12:
-            return 0 === (e = jt(24 & ~t)) ? Vt(10, t) : e
-          case 10:
-            return 0 === (e = jt(192 & ~t)) ? Vt(8, t) : e
-          case 8:
-            return 0 === (e = jt(3584 & ~t)) && 0 === (e = jt(4186112 & ~t)) && (e = 512), e
-          case 2:
-            return 0 === (t = jt(805306368 & ~t)) && (t = 268435456), t
-        }
-        throw Error(o(358, e))
-      }
-      function jt(e) {
-        return e & -e
-      }
-      function Bt(e) {
-        for (var t = [], n = 0; 31 > n; n++) t.push(e)
-        return t
-      }
-      function Wt(e, t, n) {
-        e.pendingLanes |= t
-        var r = t - 1
-        ;(e.suspendedLanes &= r), (e.pingedLanes &= r), ((e = e.eventTimes)[(t = 31 - $t(t))] = n)
-      }
-      var $t = Math.clz32
-          ? Math.clz32
-          : function (e) {
-              return 0 === e ? 32 : (31 - ((Ht(e) / Qt) | 0)) | 0
-            },
-        Ht = Math.log,
-        Qt = Math.LN2
-      var qt = a.unstable_UserBlockingPriority,
-        Kt = a.unstable_runWithPriority,
-        Yt = !0
-      function Xt(e, t, n, r) {
-        Fe || Ie()
-        var l = Zt,
-          a = Fe
-        Fe = !0
-        try {
-          Me(l, e, t, n, r)
-        } finally {
-          ;(Fe = a) || Ae()
-        }
-      }
-      function Gt(e, t, n, r) {
-        Kt(qt, Zt.bind(null, e, t, n, r))
-      }
-      function Zt(e, t, n, r) {
-        var l
-        if (Yt)
-          if ((l = 0 === (4 & t)) && 0 < ot.length && -1 < pt.indexOf(e))
-            (e = ht(null, e, t, n, r)), ot.push(e)
-          else {
-            var a = Jt(e, t, n, r)
-            if (null === a) l && mt(e, r)
-            else {
-              if (l) {
-                if (-1 < pt.indexOf(e)) return (e = ht(a, e, t, n, r)), void ot.push(e)
-                if (
-                  (function (e, t, n, r, l) {
-                    switch (t) {
-                      case 'focusin':
-                        return (ut = vt(ut, e, t, n, r, l)), !0
-                      case 'dragenter':
-                        return (it = vt(it, e, t, n, r, l)), !0
-                      case 'mouseover':
-                        return (st = vt(st, e, t, n, r, l)), !0
-                      case 'pointerover':
-                        var a = l.pointerId
-                        return ct.set(a, vt(ct.get(a) || null, e, t, n, r, l)), !0
-                      case 'gotpointercapture':
-                        return (
-                          (a = l.pointerId), ft.set(a, vt(ft.get(a) || null, e, t, n, r, l)), !0
-                        )
-                    }
-                    return !1
-                  })(a, e, t, n, r)
-                )
-                  return
-                mt(e, r)
-              }
-              Or(e, t, r, null, n)
-            }
-          }
-      }
-      function Jt(e, t, n, r) {
-        var l = Ce(r)
-        if (null !== (l = Jr(l))) {
-          var a = Xe(l)
-          if (null === a) l = null
-          else {
-            var o = a.tag
-            if (13 === o) {
-              if (null !== (l = Ge(a))) return l
-              l = null
-            } else if (3 === o) {
-              if (a.stateNode.hydrate) return 3 === a.tag ? a.stateNode.containerInfo : null
-              l = null
-            } else a !== l && (l = null)
-          }
-        }
-        return Or(e, t, r, l, n), null
-      }
-      var en = null,
-        tn = null,
-        nn = null
-      function rn() {
-        if (nn) return nn
-        var e,
-          t,
-          n = tn,
-          r = n.length,
-          l = 'value' in en ? en.value : en.textContent,
-          a = l.length
-        for (e = 0; e < r && n[e] === l[e]; e++);
-        var o = r - e
-        for (t = 1; t <= o && n[r - t] === l[a - t]; t++);
-        return (nn = l.slice(e, 1 < t ? 1 - t : void 0))
-      }
-      function ln(e) {
-        var t = e.keyCode
-        return (
-          'charCode' in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : (e = t),
-          10 === e && (e = 13),
-          32 <= e || 13 === e ? e : 0
-        )
-      }
-      function an() {
-        return !0
-      }
-      function on() {
-        return !1
-      }
-      function un(e) {
-        function t(t, n, r, l, a) {
-          for (var o in ((this._reactName = t),
-          (this._targetInst = r),
-          (this.type = n),
-          (this.nativeEvent = l),
-          (this.target = a),
-          (this.currentTarget = null),
-          e))
-            e.hasOwnProperty(o) && ((t = e[o]), (this[o] = t ? t(l) : l[o]))
-          return (
-            (this.isDefaultPrevented = (
-              null != l.defaultPrevented ? l.defaultPrevented : !1 === l.returnValue
-            )
-              ? an
-              : on),
-            (this.isPropagationStopped = on),
-            this
-          )
-        }
-        return (
-          l(t.prototype, {
-            preventDefault: function () {
-              this.defaultPrevented = !0
-              var e = this.nativeEvent
-              e &&
-                (e.preventDefault
-                  ? e.preventDefault()
-                  : 'unknown' !== typeof e.returnValue && (e.returnValue = !1),
-                (this.isDefaultPrevented = an))
-            },
-            stopPropagation: function () {
-              var e = this.nativeEvent
-              e &&
-                (e.stopPropagation
-                  ? e.stopPropagation()
-                  : 'unknown' !== typeof e.cancelBubble && (e.cancelBubble = !0),
-                (this.isPropagationStopped = an))
-            },
-            persist: function () {},
-            isPersistent: an,
-          }),
-          t
-        )
-      }
-      var sn,
-        cn,
-        fn,
-        dn = {
-          eventPhase: 0,
-          bubbles: 0,
-          cancelable: 0,
-          timeStamp: function (e) {
-            return e.timeStamp || Date.now()
-          },
-          defaultPrevented: 0,
-          isTrusted: 0,
-        },
-        pn = un(dn),
-        hn = l({}, dn, { view: 0, detail: 0 }),
-        mn = un(hn),
-        vn = l({}, hn, {
-          screenX: 0,
-          screenY: 0,
-          clientX: 0,
-          clientY: 0,
-          pageX: 0,
-          pageY: 0,
-          ctrlKey: 0,
-          shiftKey: 0,
-          altKey: 0,
-          metaKey: 0,
-          getModifierState: Pn,
-          button: 0,
-          buttons: 0,
-          relatedTarget: function (e) {
-            return void 0 === e.relatedTarget
-              ? e.fromElement === e.srcElement
-                ? e.toElement
-                : e.fromElement
-              : e.relatedTarget
-          },
-          movementX: function (e) {
-            return 'movementX' in e
-              ? e.movementX
-              : (e !== fn &&
-                  (fn && 'mousemove' === e.type
-                    ? ((sn = e.screenX - fn.screenX), (cn = e.screenY - fn.screenY))
-                    : (cn = sn = 0),
-                  (fn = e)),
-                sn)
-          },
-          movementY: function (e) {
-            return 'movementY' in e ? e.movementY : cn
-          },
-        }),
-        yn = un(vn),
-        gn = un(l({}, vn, { dataTransfer: 0 })),
-        bn = un(l({}, hn, { relatedTarget: 0 })),
-        wn = un(l({}, dn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 })),
-        kn = un(
-          l({}, dn, {
-            clipboardData: function (e) {
-              return 'clipboardData' in e ? e.clipboardData : window.clipboardData
-            },
-          }),
-        ),
-        En = un(l({}, dn, { data: 0 })),
-        Sn = {
-          Esc: 'Escape',
-          Spacebar: ' ',
-          Left: 'ArrowLeft',
-          Up: 'ArrowUp',
-          Right: 'ArrowRight',
-          Down: 'ArrowDown',
-          Del: 'Delete',
-          Win: 'OS',
-          Menu: 'ContextMenu',
-          Apps: 'ContextMenu',
-          Scroll: 'ScrollLock',
-          MozPrintableKey: 'Unidentified',
-        },
-        _n = {
-          8: 'Backspace',
-          9: 'Tab',
-          12: 'Clear',
-          13: 'Enter',
-          16: 'Shift',
-          17: 'Control',
-          18: 'Alt',
-          19: 'Pause',
-          20: 'CapsLock',
-          27: 'Escape',
-          32: ' ',
-          33: 'PageUp',
-          34: 'PageDown',
-          35: 'End',
-          36: 'Home',
-          37: 'ArrowLeft',
-          38: 'ArrowUp',
-          39: 'ArrowRight',
-          40: 'ArrowDown',
-          45: 'Insert',
-          46: 'Delete',
-          112: 'F1',
-          113: 'F2',
-          114: 'F3',
-          115: 'F4',
-          116: 'F5',
-          117: 'F6',
-          118: 'F7',
-          119: 'F8',
-          120: 'F9',
-          121: 'F10',
-          122: 'F11',
-          123: 'F12',
-          144: 'NumLock',
-          145: 'ScrollLock',
-          224: 'Meta',
-        },
-        xn = { Alt: 'altKey', Control: 'ctrlKey', Meta: 'metaKey', Shift: 'shiftKey' }
-      function Cn(e) {
-        var t = this.nativeEvent
-        return t.getModifierState ? t.getModifierState(e) : !!(e = xn[e]) && !!t[e]
-      }
-      function Pn() {
-        return Cn
-      }
-      var Nn = un(
-          l({}, hn, {
-            key: function (e) {
-              if (e.key) {
-                var t = Sn[e.key] || e.key
-                if ('Unidentified' !== t) return t
-              }
-              return 'keypress' === e.type
-                ? 13 === (e = ln(e))
-                  ? 'Enter'
-                  : String.fromCharCode(e)
-                : 'keydown' === e.type || 'keyup' === e.type
-                ? _n[e.keyCode] || 'Unidentified'
-                : ''
-            },
-            code: 0,
-            location: 0,
-            ctrlKey: 0,
-            shiftKey: 0,
-            altKey: 0,
-            metaKey: 0,
-            repeat: 0,
-            locale: 0,
-            getModifierState: Pn,
-            charCode: function (e) {
-              return 'keypress' === e.type ? ln(e) : 0
-            },
-            keyCode: function (e) {
-              return 'keydown' === e.type || 'keyup' === e.type ? e.keyCode : 0
-            },
-            which: function (e) {
-              return 'keypress' === e.type
-                ? ln(e)
-                : 'keydown' === e.type || 'keyup' === e.type
-                ? e.keyCode
-                : 0
-            },
-          }),
-        ),
-        Tn = un(
-          l({}, vn, {
-            pointerId: 0,
-            width: 0,
-            height: 0,
-            pressure: 0,
-            tangentialPressure: 0,
-            tiltX: 0,
-            tiltY: 0,
-            twist: 0,
-            pointerType: 0,
-            isPrimary: 0,
-          }),
-        ),
-        Ln = un(
-          l({}, hn, {
-            touches: 0,
-            targetTouches: 0,
-            changedTouches: 0,
-            altKey: 0,
-            metaKey: 0,
-            ctrlKey: 0,
-            shiftKey: 0,
-            getModifierState: Pn,
-          }),
-        ),
-        zn = un(l({}, dn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 })),
-        On = un(
-          l({}, vn, {
-            deltaX: function (e) {
-              return 'deltaX' in e ? e.deltaX : 'wheelDeltaX' in e ? -e.wheelDeltaX : 0
-            },
-            deltaY: function (e) {
-              return 'deltaY' in e
-                ? e.deltaY
-                : 'wheelDeltaY' in e
-                ? -e.wheelDeltaY
-                : 'wheelDelta' in e
-                ? -e.wheelDelta
-                : 0
-            },
-            deltaZ: 0,
-            deltaMode: 0,
-          }),
-        ),
-        Rn = [9, 13, 27, 32],
-        Mn = f && 'CompositionEvent' in window,
-        In = null
-      f && 'documentMode' in document && (In = document.documentMode)
-      var Dn = f && 'TextEvent' in window && !In,
-        Fn = f && (!Mn || (In && 8 < In && 11 >= In)),
-        Un = String.fromCharCode(32),
-        An = !1
-      function Vn(e, t) {
-        switch (e) {
-          case 'keyup':
-            return -1 !== Rn.indexOf(t.keyCode)
-          case 'keydown':
-            return 229 !== t.keyCode
-          case 'keypress':
-          case 'mousedown':
-          case 'focusout':
-            return !0
-          default:
-            return !1
-        }
-      }
-      function jn(e) {
-        return 'object' === typeof (e = e.detail) && 'data' in e ? e.data : null
-      }
-      var Bn = !1
-      var Wn = {
-        color: !0,
-        date: !0,
-        datetime: !0,
-        'datetime-local': !0,
-        email: !0,
-        month: !0,
-        number: !0,
-        password: !0,
-        range: !0,
-        search: !0,
-        tel: !0,
-        text: !0,
-        time: !0,
-        url: !0,
-        week: !0,
-      }
-      function $n(e) {
-        var t = e && e.nodeName && e.nodeName.toLowerCase()
-        return 'input' === t ? !!Wn[e.type] : 'textarea' === t
-      }
-      function Hn(e, t, n, r) {
-        ze(r),
-          0 < (t = Mr(t, 'onChange')).length &&
-            ((n = new pn('onChange', 'change', null, n, r)), e.push({ event: n, listeners: t }))
-      }
-      var Qn = null,
-        qn = null
-      function Kn(e) {
-        Cr(e, 0)
-      }
-      function Yn(e) {
-        if (G(tl(e))) return e
-      }
-      function Xn(e, t) {
-        if ('change' === e) return t
-      }
-      var Gn = !1
-      if (f) {
-        var Zn
-        if (f) {
-          var Jn = 'oninput' in document
-          if (!Jn) {
-            var er = document.createElement('div')
-            er.setAttribute('oninput', 'return;'), (Jn = 'function' === typeof er.oninput)
-          }
-          Zn = Jn
-        } else Zn = !1
-        Gn = Zn && (!document.documentMode || 9 < document.documentMode)
-      }
-      function tr() {
-        Qn && (Qn.detachEvent('onpropertychange', nr), (qn = Qn = null))
-      }
-      function nr(e) {
-        if ('value' === e.propertyName && Yn(qn)) {
-          var t = []
-          if ((Hn(t, qn, e, Ce(e)), (e = Kn), Fe)) e(t)
-          else {
-            Fe = !0
-            try {
-              Re(e, t)
-            } finally {
-              ;(Fe = !1), Ae()
-            }
-          }
-        }
-      }
-      function rr(e, t, n) {
-        'focusin' === e
-          ? (tr(), (qn = n), (Qn = t).attachEvent('onpropertychange', nr))
-          : 'focusout' === e && tr()
-      }
-      function lr(e) {
-        if ('selectionchange' === e || 'keyup' === e || 'keydown' === e) return Yn(qn)
-      }
-      function ar(e, t) {
-        if ('click' === e) return Yn(t)
-      }
-      function or(e, t) {
-        if ('input' === e || 'change' === e) return Yn(t)
-      }
-      var ur =
-          'function' === typeof Object.is
-            ? Object.is
-            : function (e, t) {
-                return (e === t && (0 !== e || 1 / e === 1 / t)) || (e !== e && t !== t)
-              },
-        ir = Object.prototype.hasOwnProperty
-      function sr(e, t) {
-        if (ur(e, t)) return !0
-        if ('object' !== typeof e || null === e || 'object' !== typeof t || null === t) return !1
-        var n = Object.keys(e),
-          r = Object.keys(t)
-        if (n.length !== r.length) return !1
-        for (r = 0; r < n.length; r++) if (!ir.call(t, n[r]) || !ur(e[n[r]], t[n[r]])) return !1
-        return !0
-      }
-      function cr(e) {
-        for (; e && e.firstChild; ) e = e.firstChild
-        return e
-      }
-      function fr(e, t) {
-        var n,
-          r = cr(e)
-        for (e = 0; r; ) {
-          if (3 === r.nodeType) {
-            if (((n = e + r.textContent.length), e <= t && n >= t))
-              return { node: r, offset: t - e }
-            e = n
-          }
-          e: {
-            for (; r; ) {
-              if (r.nextSibling) {
-                r = r.nextSibling
-                break e
-              }
-              r = r.parentNode
-            }
-            r = void 0
-          }
-          r = cr(r)
-        }
-      }
-      function dr(e, t) {
-        return (
-          !(!e || !t) &&
-          (e === t ||
-            ((!e || 3 !== e.nodeType) &&
-              (t && 3 === t.nodeType
-                ? dr(e, t.parentNode)
-                : 'contains' in e
-                ? e.contains(t)
-                : !!e.compareDocumentPosition && !!(16 & e.compareDocumentPosition(t)))))
-        )
-      }
-      function pr() {
-        for (var e = window, t = Z(); t instanceof e.HTMLIFrameElement; ) {
-          try {
-            var n = 'string' === typeof t.contentWindow.location.href
-          } catch (r) {
-            n = !1
-          }
-          if (!n) break
-          t = Z((e = t.contentWindow).document)
-        }
-        return t
-      }
-      function hr(e) {
-        var t = e && e.nodeName && e.nodeName.toLowerCase()
-        return (
-          t &&
-          (('input' === t &&
-            ('text' === e.type ||
-              'search' === e.type ||
-              'tel' === e.type ||
-              'url' === e.type ||
-              'password' === e.type)) ||
-            'textarea' === t ||
-            'true' === e.contentEditable)
-        )
-      }
-      var mr = f && 'documentMode' in document && 11 >= document.documentMode,
-        vr = null,
-        yr = null,
-        gr = null,
-        br = !1
-      function wr(e, t, n) {
-        var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument
-        br ||
-          null == vr ||
-          vr !== Z(r) ||
-          ('selectionStart' in (r = vr) && hr(r)
-            ? (r = { start: r.selectionStart, end: r.selectionEnd })
-            : (r = {
-                anchorNode: (r = (
-                  (r.ownerDocument && r.ownerDocument.defaultView) ||
-                  window
-                ).getSelection()).anchorNode,
-                anchorOffset: r.anchorOffset,
-                focusNode: r.focusNode,
-                focusOffset: r.focusOffset,
-              }),
-          (gr && sr(gr, r)) ||
-            ((gr = r),
-            0 < (r = Mr(yr, 'onSelect')).length &&
-              ((t = new pn('onSelect', 'select', null, t, n)),
-              e.push({ event: t, listeners: r }),
-              (t.target = vr))))
-      }
-      It(
-        'cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange'.split(
-          ' ',
-        ),
-        0,
-      ),
-        It(
-          'drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel'.split(
-            ' ',
-          ),
-          1,
-        ),
-        It(Mt, 2)
-      for (
-        var kr =
-            'change selectionchange textInput compositionstart compositionend compositionupdate'.split(
-              ' ',
-            ),
-          Er = 0;
-        Er < kr.length;
-        Er++
-      )
-        Rt.set(kr[Er], 0)
-      c('onMouseEnter', ['mouseout', 'mouseover']),
-        c('onMouseLeave', ['mouseout', 'mouseover']),
-        c('onPointerEnter', ['pointerout', 'pointerover']),
-        c('onPointerLeave', ['pointerout', 'pointerover']),
-        s(
-          'onChange',
-          'change click focusin focusout input keydown keyup selectionchange'.split(' '),
-        ),
-        s(
-          'onSelect',
-          'focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange'.split(
-            ' ',
-          ),
-        ),
-        s('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']),
-        s(
-          'onCompositionEnd',
-          'compositionend focusout keydown keypress keyup mousedown'.split(' '),
-        ),
-        s(
-          'onCompositionStart',
-          'compositionstart focusout keydown keypress keyup mousedown'.split(' '),
-        ),
-        s(
-          'onCompositionUpdate',
-          'compositionupdate focusout keydown keypress keyup mousedown'.split(' '),
-        )
-      var Sr =
-          'abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting'.split(
-            ' ',
-          ),
-        _r = new Set('cancel close invalid load scroll toggle'.split(' ').concat(Sr))
-      function xr(e, t, n) {
-        var r = e.type || 'unknown-event'
-        ;(e.currentTarget = n),
-          (function (e, t, n, r, l, a, u, i, s) {
-            if ((Ye.apply(this, arguments), $e)) {
-              if (!$e) throw Error(o(198))
-              var c = He
-              ;($e = !1), (He = null), Qe || ((Qe = !0), (qe = c))
-            }
-          })(r, t, void 0, e),
-          (e.currentTarget = null)
-      }
-      function Cr(e, t) {
-        t = 0 !== (4 & t)
-        for (var n = 0; n < e.length; n++) {
-          var r = e[n],
-            l = r.event
-          r = r.listeners
-          e: {
-            var a = void 0
-            if (t)
-              for (var o = r.length - 1; 0 <= o; o--) {
-                var u = r[o],
-                  i = u.instance,
-                  s = u.currentTarget
-                if (((u = u.listener), i !== a && l.isPropagationStopped())) break e
-                xr(l, u, s), (a = i)
-              }
-            else
-              for (o = 0; o < r.length; o++) {
-                if (
-                  ((i = (u = r[o]).instance),
-                  (s = u.currentTarget),
-                  (u = u.listener),
-                  i !== a && l.isPropagationStopped())
-                )
-                  break e
-                xr(l, u, s), (a = i)
-              }
-          }
-        }
-        if (Qe) throw ((e = qe), (Qe = !1), (qe = null), e)
-      }
-      function Pr(e, t) {
-        var n = rl(t),
-          r = e + '__bubble'
-        n.has(r) || (zr(t, e, 2, !1), n.add(r))
-      }
-      var Nr = '_reactListening' + Math.random().toString(36).slice(2)
-      function Tr(e) {
-        e[Nr] ||
-          ((e[Nr] = !0),
-          u.forEach(function (t) {
-            _r.has(t) || Lr(t, !1, e, null), Lr(t, !0, e, null)
-          }))
-      }
-      function Lr(e, t, n, r) {
-        var l = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0,
-          a = n
-        if (
-          ('selectionchange' === e && 9 !== n.nodeType && (a = n.ownerDocument),
-          null !== r && !t && _r.has(e))
-        ) {
-          if ('scroll' !== e) return
-          ;(l |= 2), (a = r)
-        }
-        var o = rl(a),
-          u = e + '__' + (t ? 'capture' : 'bubble')
-        o.has(u) || (t && (l |= 4), zr(a, e, l, t), o.add(u))
-      }
-      function zr(e, t, n, r) {
-        var l = Rt.get(t)
-        switch (void 0 === l ? 2 : l) {
-          case 0:
-            l = Xt
-            break
-          case 1:
-            l = Gt
-            break
-          default:
-            l = Zt
-        }
-        ;(n = l.bind(null, t, n, e)),
-          (l = void 0),
-          !je || ('touchstart' !== t && 'touchmove' !== t && 'wheel' !== t) || (l = !0),
-          r
-            ? void 0 !== l
-              ? e.addEventListener(t, n, { capture: !0, passive: l })
-              : e.addEventListener(t, n, !0)
-            : void 0 !== l
-            ? e.addEventListener(t, n, { passive: l })
-            : e.addEventListener(t, n, !1)
-      }
-      function Or(e, t, n, r, l) {
-        var a = r
-        if (0 === (1 & t) && 0 === (2 & t) && null !== r)
-          e: for (;;) {
-            if (null === r) return
-            var o = r.tag
-            if (3 === o || 4 === o) {
-              var u = r.stateNode.containerInfo
-              if (u === l || (8 === u.nodeType && u.parentNode === l)) break
-              if (4 === o)
-                for (o = r.return; null !== o; ) {
-                  var i = o.tag
-                  if (
-                    (3 === i || 4 === i) &&
-                    ((i = o.stateNode.containerInfo) === l ||
-                      (8 === i.nodeType && i.parentNode === l))
-                  )
-                    return
-                  o = o.return
-                }
-              for (; null !== u; ) {
-                if (null === (o = Jr(u))) return
-                if (5 === (i = o.tag) || 6 === i) {
-                  r = a = o
-                  continue e
-                }
-                u = u.parentNode
-              }
-            }
-            r = r.return
-          }
-        !(function (e, t, n) {
-          if (Ue) return e(t, n)
-          Ue = !0
-          try {
-            De(e, t, n)
-          } finally {
-            ;(Ue = !1), Ae()
-          }
-        })(function () {
-          var r = a,
-            l = Ce(n),
-            o = []
-          e: {
-            var u = Ot.get(e)
-            if (void 0 !== u) {
-              var i = pn,
-                s = e
-              switch (e) {
-                case 'keypress':
-                  if (0 === ln(n)) break e
-                case 'keydown':
-                case 'keyup':
-                  i = Nn
-                  break
-                case 'focusin':
-                  ;(s = 'focus'), (i = bn)
-                  break
-                case 'focusout':
-                  ;(s = 'blur'), (i = bn)
-                  break
-                case 'beforeblur':
-                case 'afterblur':
-                  i = bn
-                  break
-                case 'click':
-                  if (2 === n.button) break e
-                case 'auxclick':
-                case 'dblclick':
-                case 'mousedown':
-                case 'mousemove':
-                case 'mouseup':
-                case 'mouseout':
-                case 'mouseover':
-                case 'contextmenu':
-                  i = yn
-                  break
-                case 'drag':
-                case 'dragend':
-                case 'dragenter':
-                case 'dragexit':
-                case 'dragleave':
-                case 'dragover':
-                case 'dragstart':
-                case 'drop':
-                  i = gn
-                  break
-                case 'touchcancel':
-                case 'touchend':
-                case 'touchmove':
-                case 'touchstart':
-                  i = Ln
-                  break
-                case Nt:
-                case Tt:
-                case Lt:
-                  i = wn
-                  break
-                case zt:
-                  i = zn
-                  break
-                case 'scroll':
-                  i = mn
-                  break
-                case 'wheel':
-                  i = On
-                  break
-                case 'copy':
-                case 'cut':
-                case 'paste':
-                  i = kn
-                  break
-                case 'gotpointercapture':
-                case 'lostpointercapture':
-                case 'pointercancel':
-                case 'pointerdown':
-                case 'pointermove':
-                case 'pointerout':
-                case 'pointerover':
-                case 'pointerup':
-                  i = Tn
-              }
-              var c = 0 !== (4 & t),
-                f = !c && 'scroll' === e,
-                d = c ? (null !== u ? u + 'Capture' : null) : u
-              c = []
-              for (var p, h = r; null !== h; ) {
-                var m = (p = h).stateNode
-                if (
-                  (5 === p.tag &&
-                    null !== m &&
-                    ((p = m), null !== d && null != (m = Ve(h, d)) && c.push(Rr(h, m, p))),
-                  f)
-                )
-                  break
-                h = h.return
-              }
-              0 < c.length && ((u = new i(u, s, null, n, l)), o.push({ event: u, listeners: c }))
-            }
-          }
-          if (0 === (7 & t)) {
-            if (
-              ((i = 'mouseout' === e || 'pointerout' === e),
-              (!(u = 'mouseover' === e || 'pointerover' === e) ||
-                0 !== (16 & t) ||
-                !(s = n.relatedTarget || n.fromElement) ||
-                (!Jr(s) && !s[Gr])) &&
-                (i || u) &&
-                ((u =
-                  l.window === l
-                    ? l
-                    : (u = l.ownerDocument)
-                    ? u.defaultView || u.parentWindow
-                    : window),
-                i
-                  ? ((i = r),
-                    null !== (s = (s = n.relatedTarget || n.toElement) ? Jr(s) : null) &&
-                      (s !== (f = Xe(s)) || (5 !== s.tag && 6 !== s.tag)) &&
-                      (s = null))
-                  : ((i = null), (s = r)),
-                i !== s))
-            ) {
-              if (
-                ((c = yn),
-                (m = 'onMouseLeave'),
-                (d = 'onMouseEnter'),
-                (h = 'mouse'),
-                ('pointerout' !== e && 'pointerover' !== e) ||
-                  ((c = Tn), (m = 'onPointerLeave'), (d = 'onPointerEnter'), (h = 'pointer')),
-                (f = null == i ? u : tl(i)),
-                (p = null == s ? u : tl(s)),
-                ((u = new c(m, h + 'leave', i, n, l)).target = f),
-                (u.relatedTarget = p),
-                (m = null),
-                Jr(l) === r &&
-                  (((c = new c(d, h + 'enter', s, n, l)).target = p),
-                  (c.relatedTarget = f),
-                  (m = c)),
-                (f = m),
-                i && s)
-              )
-                e: {
-                  for (d = s, h = 0, p = c = i; p; p = Ir(p)) h++
-                  for (p = 0, m = d; m; m = Ir(m)) p++
-                  for (; 0 < h - p; ) (c = Ir(c)), h--
-                  for (; 0 < p - h; ) (d = Ir(d)), p--
-                  for (; h--; ) {
-                    if (c === d || (null !== d && c === d.alternate)) break e
-                    ;(c = Ir(c)), (d = Ir(d))
-                  }
-                  c = null
-                }
-              else c = null
-              null !== i && Dr(o, u, i, c, !1), null !== s && null !== f && Dr(o, f, s, c, !0)
-            }
-            if (
-              'select' === (i = (u = r ? tl(r) : window).nodeName && u.nodeName.toLowerCase()) ||
-              ('input' === i && 'file' === u.type)
-            )
-              var v = Xn
-            else if ($n(u))
-              if (Gn) v = or
-              else {
-                v = lr
-                var y = rr
-              }
-            else
-              (i = u.nodeName) &&
-                'input' === i.toLowerCase() &&
-                ('checkbox' === u.type || 'radio' === u.type) &&
-                (v = ar)
-            switch (
-              (v && (v = v(e, r))
-                ? Hn(o, v, n, l)
-                : (y && y(e, u, r),
-                  'focusout' === e &&
-                    (y = u._wrapperState) &&
-                    y.controlled &&
-                    'number' === u.type &&
-                    le(u, 'number', u.value)),
-              (y = r ? tl(r) : window),
-              e)
-            ) {
-              case 'focusin':
-                ;($n(y) || 'true' === y.contentEditable) && ((vr = y), (yr = r), (gr = null))
-                break
-              case 'focusout':
-                gr = yr = vr = null
-                break
-              case 'mousedown':
-                br = !0
-                break
-              case 'contextmenu':
-              case 'mouseup':
-              case 'dragend':
-                ;(br = !1), wr(o, n, l)
-                break
-              case 'selectionchange':
-                if (mr) break
-              case 'keydown':
-              case 'keyup':
-                wr(o, n, l)
-            }
-            var g
-            if (Mn)
-              e: {
-                switch (e) {
-                  case 'compositionstart':
-                    var b = 'onCompositionStart'
-                    break e
-                  case 'compositionend':
-                    b = 'onCompositionEnd'
-                    break e
-                  case 'compositionupdate':
-                    b = 'onCompositionUpdate'
-                    break e
-                }
-                b = void 0
-              }
-            else
-              Bn
-                ? Vn(e, n) && (b = 'onCompositionEnd')
-                : 'keydown' === e && 229 === n.keyCode && (b = 'onCompositionStart')
-            b &&
-              (Fn &&
-                'ko' !== n.locale &&
-                (Bn || 'onCompositionStart' !== b
-                  ? 'onCompositionEnd' === b && Bn && (g = rn())
-                  : ((tn = 'value' in (en = l) ? en.value : en.textContent), (Bn = !0))),
-              0 < (y = Mr(r, b)).length &&
-                ((b = new En(b, e, null, n, l)),
-                o.push({ event: b, listeners: y }),
-                g ? (b.data = g) : null !== (g = jn(n)) && (b.data = g))),
-              (g = Dn
-                ? (function (e, t) {
-                    switch (e) {
-                      case 'compositionend':
-                        return jn(t)
-                      case 'keypress':
-                        return 32 !== t.which ? null : ((An = !0), Un)
-                      case 'textInput':
-                        return (e = t.data) === Un && An ? null : e
-                      default:
-                        return null
-                    }
-                  })(e, n)
-                : (function (e, t) {
-                    if (Bn)
-                      return 'compositionend' === e || (!Mn && Vn(e, t))
-                        ? ((e = rn()), (nn = tn = en = null), (Bn = !1), e)
-                        : null
-                    switch (e) {
-                      case 'paste':
-                        return null
-                      case 'keypress':
-                        if (!(t.ctrlKey || t.altKey || t.metaKey) || (t.ctrlKey && t.altKey)) {
-                          if (t.char && 1 < t.char.length) return t.char
-                          if (t.which) return String.fromCharCode(t.which)
-                        }
-                        return null
-                      case 'compositionend':
-                        return Fn && 'ko' !== t.locale ? null : t.data
-                      default:
-                        return null
-                    }
-                  })(e, n)) &&
-                0 < (r = Mr(r, 'onBeforeInput')).length &&
-                ((l = new En('onBeforeInput', 'beforeinput', null, n, l)),
-                o.push({ event: l, listeners: r }),
-                (l.data = g))
-          }
-          Cr(o, t)
-        })
-      }
-      function Rr(e, t, n) {
-        return { instance: e, listener: t, currentTarget: n }
-      }
-      function Mr(e, t) {
-        for (var n = t + 'Capture', r = []; null !== e; ) {
-          var l = e,
-            a = l.stateNode
-          5 === l.tag &&
-            null !== a &&
-            ((l = a),
-            null != (a = Ve(e, n)) && r.unshift(Rr(e, a, l)),
-            null != (a = Ve(e, t)) && r.push(Rr(e, a, l))),
-            (e = e.return)
-        }
-        return r
-      }
-      function Ir(e) {
-        if (null === e) return null
-        do {
-          e = e.return
-        } while (e && 5 !== e.tag)
-        return e || null
-      }
-      function Dr(e, t, n, r, l) {
-        for (var a = t._reactName, o = []; null !== n && n !== r; ) {
-          var u = n,
-            i = u.alternate,
-            s = u.stateNode
-          if (null !== i && i === r) break
-          5 === u.tag &&
-            null !== s &&
-            ((u = s),
-            l
-              ? null != (i = Ve(n, a)) && o.unshift(Rr(n, i, u))
-              : l || (null != (i = Ve(n, a)) && o.push(Rr(n, i, u)))),
-            (n = n.return)
-        }
-        0 !== o.length && e.push({ event: t, listeners: o })
-      }
-      function Fr() {}
-      var Ur = null,
-        Ar = null
-      function Vr(e, t) {
-        switch (e) {
-          case 'button':
-          case 'input':
-          case 'select':
-          case 'textarea':
-            return !!t.autoFocus
-        }
-        return !1
-      }
-      function jr(e, t) {
-        return (
-          'textarea' === e ||
-          'option' === e ||
-          'noscript' === e ||
-          'string' === typeof t.children ||
-          'number' === typeof t.children ||
-          ('object' === typeof t.dangerouslySetInnerHTML &&
-            null !== t.dangerouslySetInnerHTML &&
-            null != t.dangerouslySetInnerHTML.__html)
-        )
-      }
-      var Br = 'function' === typeof setTimeout ? setTimeout : void 0,
-        Wr = 'function' === typeof clearTimeout ? clearTimeout : void 0
-      function $r(e) {
-        1 === e.nodeType
-          ? (e.textContent = '')
-          : 9 === e.nodeType && null != (e = e.body) && (e.textContent = '')
-      }
-      function Hr(e) {
-        for (; null != e; e = e.nextSibling) {
-          var t = e.nodeType
-          if (1 === t || 3 === t) break
-        }
-        return e
-      }
-      function Qr(e) {
-        e = e.previousSibling
-        for (var t = 0; e; ) {
-          if (8 === e.nodeType) {
-            var n = e.data
-            if ('$' === n || '$!' === n || '$?' === n) {
-              if (0 === t) return e
-              t--
-            } else '/$' === n && t++
-          }
-          e = e.previousSibling
-        }
-        return null
-      }
-      var qr = 0
-      var Kr = Math.random().toString(36).slice(2),
-        Yr = '__reactFiber$' + Kr,
-        Xr = '__reactProps$' + Kr,
-        Gr = '__reactContainer$' + Kr,
-        Zr = '__reactEvents$' + Kr
-      function Jr(e) {
-        var t = e[Yr]
-        if (t) return t
-        for (var n = e.parentNode; n; ) {
-          if ((t = n[Gr] || n[Yr])) {
-            if (((n = t.alternate), null !== t.child || (null !== n && null !== n.child)))
-              for (e = Qr(e); null !== e; ) {
-                if ((n = e[Yr])) return n
-                e = Qr(e)
-              }
-            return t
-          }
-          n = (e = n).parentNode
-        }
-        return null
-      }
-      function el(e) {
-        return !(e = e[Yr] || e[Gr]) || (5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag)
-          ? null
-          : e
-      }
-      function tl(e) {
-        if (5 === e.tag || 6 === e.tag) return e.stateNode
-        throw Error(o(33))
-      }
-      function nl(e) {
-        return e[Xr] || null
-      }
-      function rl(e) {
-        var t = e[Zr]
-        return void 0 === t && (t = e[Zr] = new Set()), t
-      }
-      var ll = [],
-        al = -1
-      function ol(e) {
-        return { current: e }
-      }
-      function ul(e) {
-        0 > al || ((e.current = ll[al]), (ll[al] = null), al--)
-      }
-      function il(e, t) {
-        al++, (ll[al] = e.current), (e.current = t)
-      }
-      var sl = {},
-        cl = ol(sl),
-        fl = ol(!1),
-        dl = sl
-      function pl(e, t) {
-        var n = e.type.contextTypes
-        if (!n) return sl
-        var r = e.stateNode
-        if (r && r.__reactInternalMemoizedUnmaskedChildContext === t)
-          return r.__reactInternalMemoizedMaskedChildContext
-        var l,
-          a = {}
-        for (l in n) a[l] = t[l]
-        return (
-          r &&
-            (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t),
-            (e.__reactInternalMemoizedMaskedChildContext = a)),
-          a
-        )
-      }
-      function hl(e) {
-        return null !== (e = e.childContextTypes) && void 0 !== e
-      }
-      function ml() {
-        ul(fl), ul(cl)
-      }
-      function vl(e, t, n) {
-        if (cl.current !== sl) throw Error(o(168))
-        il(cl, t), il(fl, n)
-      }
-      function yl(e, t, n) {
-        var r = e.stateNode
-        if (((e = t.childContextTypes), 'function' !== typeof r.getChildContext)) return n
-        for (var a in (r = r.getChildContext()))
-          if (!(a in e)) throw Error(o(108, q(t) || 'Unknown', a))
-        return l({}, n, r)
-      }
-      function gl(e) {
-        return (
-          (e = ((e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext) || sl),
-          (dl = cl.current),
-          il(cl, e),
-          il(fl, fl.current),
-          !0
-        )
-      }
-      function bl(e, t, n) {
-        var r = e.stateNode
-        if (!r) throw Error(o(169))
-        n
-          ? ((e = yl(e, t, dl)),
-            (r.__reactInternalMemoizedMergedChildContext = e),
-            ul(fl),
-            ul(cl),
-            il(cl, e))
-          : ul(fl),
-          il(fl, n)
-      }
-      var wl = null,
-        kl = null,
-        El = a.unstable_runWithPriority,
-        Sl = a.unstable_scheduleCallback,
-        _l = a.unstable_cancelCallback,
-        xl = a.unstable_shouldYield,
-        Cl = a.unstable_requestPaint,
-        Pl = a.unstable_now,
-        Nl = a.unstable_getCurrentPriorityLevel,
-        Tl = a.unstable_ImmediatePriority,
-        Ll = a.unstable_UserBlockingPriority,
-        zl = a.unstable_NormalPriority,
-        Ol = a.unstable_LowPriority,
-        Rl = a.unstable_IdlePriority,
-        Ml = {},
-        Il = void 0 !== Cl ? Cl : function () {},
-        Dl = null,
-        Fl = null,
-        Ul = !1,
-        Al = Pl(),
-        Vl =
-          1e4 > Al
-            ? Pl
-            : function () {
-                return Pl() - Al
-              }
-      function jl() {
-        switch (Nl()) {
-          case Tl:
-            return 99
-          case Ll:
-            return 98
-          case zl:
-            return 97
-          case Ol:
-            return 96
-          case Rl:
-            return 95
-          default:
-            throw Error(o(332))
-        }
-      }
-      function Bl(e) {
-        switch (e) {
-          case 99:
-            return Tl
-          case 98:
-            return Ll
-          case 97:
-            return zl
-          case 96:
-            return Ol
-          case 95:
-            return Rl
-          default:
-            throw Error(o(332))
-        }
-      }
-      function Wl(e, t) {
-        return (e = Bl(e)), El(e, t)
-      }
-      function $l(e, t, n) {
-        return (e = Bl(e)), Sl(e, t, n)
-      }
-      function Hl() {
-        if (null !== Fl) {
-          var e = Fl
-          ;(Fl = null), _l(e)
-        }
-        Ql()
-      }
-      function Ql() {
-        if (!Ul && null !== Dl) {
-          Ul = !0
-          var e = 0
-          try {
-            var t = Dl
-            Wl(99, function () {
-              for (; e < t.length; e++) {
-                var n = t[e]
-                do {
-                  n = n(!0)
-                } while (null !== n)
-              }
-            }),
-              (Dl = null)
-          } catch (n) {
-            throw (null !== Dl && (Dl = Dl.slice(e + 1)), Sl(Tl, Hl), n)
-          } finally {
-            Ul = !1
-          }
-        }
-      }
-      var ql = k.ReactCurrentBatchConfig
-      function Kl(e, t) {
-        if (e && e.defaultProps) {
-          for (var n in ((t = l({}, t)), (e = e.defaultProps))) void 0 === t[n] && (t[n] = e[n])
-          return t
-        }
-        return t
-      }
-      var Yl = ol(null),
-        Xl = null,
-        Gl = null,
-        Zl = null
-      function Jl() {
-        Zl = Gl = Xl = null
-      }
-      function ea(e) {
-        var t = Yl.current
-        ul(Yl), (e.type._context._currentValue = t)
-      }
-      function ta(e, t) {
-        for (; null !== e; ) {
-          var n = e.alternate
-          if ((e.childLanes & t) === t) {
-            if (null === n || (n.childLanes & t) === t) break
-            n.childLanes |= t
-          } else (e.childLanes |= t), null !== n && (n.childLanes |= t)
-          e = e.return
-        }
-      }
-      function na(e, t) {
-        ;(Xl = e),
-          (Zl = Gl = null),
-          null !== (e = e.dependencies) &&
-            null !== e.firstContext &&
-            (0 !== (e.lanes & t) && (Mo = !0), (e.firstContext = null))
-      }
-      function ra(e, t) {
-        if (Zl !== e && !1 !== t && 0 !== t)
-          if (
-            (('number' === typeof t && 1073741823 !== t) || ((Zl = e), (t = 1073741823)),
-            (t = { context: e, observedBits: t, next: null }),
-            null === Gl)
-          ) {
-            if (null === Xl) throw Error(o(308))
-            ;(Gl = t), (Xl.dependencies = { lanes: 0, firstContext: t, responders: null })
-          } else Gl = Gl.next = t
-        return e._currentValue
-      }
-      var la = !1
-      function aa(e) {
-        e.updateQueue = {
-          baseState: e.memoizedState,
-          firstBaseUpdate: null,
-          lastBaseUpdate: null,
-          shared: { pending: null },
-          effects: null,
-        }
-      }
-      function oa(e, t) {
-        ;(e = e.updateQueue),
-          t.updateQueue === e &&
-            (t.updateQueue = {
-              baseState: e.baseState,
-              firstBaseUpdate: e.firstBaseUpdate,
-              lastBaseUpdate: e.lastBaseUpdate,
-              shared: e.shared,
-              effects: e.effects,
-            })
-      }
-      function ua(e, t) {
-        return { eventTime: e, lane: t, tag: 0, payload: null, callback: null, next: null }
-      }
-      function ia(e, t) {
-        if (null !== (e = e.updateQueue)) {
-          var n = (e = e.shared).pending
-          null === n ? (t.next = t) : ((t.next = n.next), (n.next = t)), (e.pending = t)
-        }
-      }
-      function sa(e, t) {
-        var n = e.updateQueue,
-          r = e.alternate
-        if (null !== r && n === (r = r.updateQueue)) {
-          var l = null,
-            a = null
-          if (null !== (n = n.firstBaseUpdate)) {
-            do {
-              var o = {
-                eventTime: n.eventTime,
-                lane: n.lane,
-                tag: n.tag,
-                payload: n.payload,
-                callback: n.callback,
-                next: null,
-              }
-              null === a ? (l = a = o) : (a = a.next = o), (n = n.next)
-            } while (null !== n)
-            null === a ? (l = a = t) : (a = a.next = t)
-          } else l = a = t
-          return (
-            (n = {
-              baseState: r.baseState,
-              firstBaseUpdate: l,
-              lastBaseUpdate: a,
-              shared: r.shared,
-              effects: r.effects,
-            }),
-            void (e.updateQueue = n)
-          )
-        }
-        null === (e = n.lastBaseUpdate) ? (n.firstBaseUpdate = t) : (e.next = t),
-          (n.lastBaseUpdate = t)
-      }
-      function ca(e, t, n, r) {
-        var a = e.updateQueue
-        la = !1
-        var o = a.firstBaseUpdate,
-          u = a.lastBaseUpdate,
-          i = a.shared.pending
-        if (null !== i) {
-          a.shared.pending = null
-          var s = i,
-            c = s.next
-          ;(s.next = null), null === u ? (o = c) : (u.next = c), (u = s)
-          var f = e.alternate
-          if (null !== f) {
-            var d = (f = f.updateQueue).lastBaseUpdate
-            d !== u && (null === d ? (f.firstBaseUpdate = c) : (d.next = c), (f.lastBaseUpdate = s))
-          }
-        }
-        if (null !== o) {
-          for (d = a.baseState, u = 0, f = c = s = null; ; ) {
-            i = o.lane
-            var p = o.eventTime
-            if ((r & i) === i) {
-              null !== f &&
-                (f = f.next =
-                  {
-                    eventTime: p,
-                    lane: 0,
-                    tag: o.tag,
-                    payload: o.payload,
-                    callback: o.callback,
-                    next: null,
-                  })
-              e: {
-                var h = e,
-                  m = o
-                switch (((i = t), (p = n), m.tag)) {
-                  case 1:
-                    if ('function' === typeof (h = m.payload)) {
-                      d = h.call(p, d, i)
-                      break e
-                    }
-                    d = h
-                    break e
-                  case 3:
-                    h.flags = (-4097 & h.flags) | 64
-                  case 0:
-                    if (
-                      null === (i = 'function' === typeof (h = m.payload) ? h.call(p, d, i) : h) ||
-                      void 0 === i
-                    )
-                      break e
-                    d = l({}, d, i)
-                    break e
-                  case 2:
-                    la = !0
-                }
-              }
-              null !== o.callback &&
-                ((e.flags |= 32), null === (i = a.effects) ? (a.effects = [o]) : i.push(o))
-            } else
-              (p = {
-                eventTime: p,
-                lane: i,
-                tag: o.tag,
-                payload: o.payload,
-                callback: o.callback,
-                next: null,
-              }),
-                null === f ? ((c = f = p), (s = d)) : (f = f.next = p),
-                (u |= i)
-            if (null === (o = o.next)) {
-              if (null === (i = a.shared.pending)) break
-              ;(o = i.next), (i.next = null), (a.lastBaseUpdate = i), (a.shared.pending = null)
-            }
-          }
-          null === f && (s = d),
-            (a.baseState = s),
-            (a.firstBaseUpdate = c),
-            (a.lastBaseUpdate = f),
-            (Uu |= u),
-            (e.lanes = u),
-            (e.memoizedState = d)
-        }
-      }
-      function fa(e, t, n) {
-        if (((e = t.effects), (t.effects = null), null !== e))
-          for (t = 0; t < e.length; t++) {
-            var r = e[t],
-              l = r.callback
-            if (null !== l) {
-              if (((r.callback = null), (r = n), 'function' !== typeof l)) throw Error(o(191, l))
-              l.call(r)
-            }
-          }
-      }
-      var da = new r.Component().refs
-      function pa(e, t, n, r) {
-        ;(n = null === (n = n(r, (t = e.memoizedState))) || void 0 === n ? t : l({}, t, n)),
-          (e.memoizedState = n),
-          0 === e.lanes && (e.updateQueue.baseState = n)
-      }
-      var ha = {
-        isMounted: function (e) {
-          return !!(e = e._reactInternals) && Xe(e) === e
-        },
-        enqueueSetState: function (e, t, n) {
-          e = e._reactInternals
-          var r = si(),
-            l = ci(e),
-            a = ua(r, l)
-          ;(a.payload = t), void 0 !== n && null !== n && (a.callback = n), ia(e, a), fi(e, l, r)
-        },
-        enqueueReplaceState: function (e, t, n) {
-          e = e._reactInternals
-          var r = si(),
-            l = ci(e),
-            a = ua(r, l)
-          ;(a.tag = 1),
-            (a.payload = t),
-            void 0 !== n && null !== n && (a.callback = n),
-            ia(e, a),
-            fi(e, l, r)
-        },
-        enqueueForceUpdate: function (e, t) {
-          e = e._reactInternals
-          var n = si(),
-            r = ci(e),
-            l = ua(n, r)
-          ;(l.tag = 2), void 0 !== t && null !== t && (l.callback = t), ia(e, l), fi(e, r, n)
-        },
-      }
-      function ma(e, t, n, r, l, a, o) {
-        return 'function' === typeof (e = e.stateNode).shouldComponentUpdate
-          ? e.shouldComponentUpdate(r, a, o)
-          : !t.prototype || !t.prototype.isPureReactComponent || !sr(n, r) || !sr(l, a)
-      }
-      function va(e, t, n) {
-        var r = !1,
-          l = sl,
-          a = t.contextType
-        return (
-          'object' === typeof a && null !== a
-            ? (a = ra(a))
-            : ((l = hl(t) ? dl : cl.current),
-              (a = (r = null !== (r = t.contextTypes) && void 0 !== r) ? pl(e, l) : sl)),
-          (t = new t(n, a)),
-          (e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null),
-          (t.updater = ha),
-          (e.stateNode = t),
-          (t._reactInternals = e),
-          r &&
-            (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = l),
-            (e.__reactInternalMemoizedMaskedChildContext = a)),
-          t
-        )
-      }
-      function ya(e, t, n, r) {
-        ;(e = t.state),
-          'function' === typeof t.componentWillReceiveProps && t.componentWillReceiveProps(n, r),
-          'function' === typeof t.UNSAFE_componentWillReceiveProps &&
-            t.UNSAFE_componentWillReceiveProps(n, r),
-          t.state !== e && ha.enqueueReplaceState(t, t.state, null)
-      }
-      function ga(e, t, n, r) {
-        var l = e.stateNode
-        ;(l.props = n), (l.state = e.memoizedState), (l.refs = da), aa(e)
-        var a = t.contextType
-        'object' === typeof a && null !== a
-          ? (l.context = ra(a))
-          : ((a = hl(t) ? dl : cl.current), (l.context = pl(e, a))),
-          ca(e, n, l, r),
-          (l.state = e.memoizedState),
-          'function' === typeof (a = t.getDerivedStateFromProps) &&
-            (pa(e, t, a, n), (l.state = e.memoizedState)),
-          'function' === typeof t.getDerivedStateFromProps ||
-            'function' === typeof l.getSnapshotBeforeUpdate ||
-            ('function' !== typeof l.UNSAFE_componentWillMount &&
-              'function' !== typeof l.componentWillMount) ||
-            ((t = l.state),
-            'function' === typeof l.componentWillMount && l.componentWillMount(),
-            'function' === typeof l.UNSAFE_componentWillMount && l.UNSAFE_componentWillMount(),
-            t !== l.state && ha.enqueueReplaceState(l, l.state, null),
-            ca(e, n, l, r),
-            (l.state = e.memoizedState)),
-          'function' === typeof l.componentDidMount && (e.flags |= 4)
-      }
-      var ba = Array.isArray
-      function wa(e, t, n) {
-        if (null !== (e = n.ref) && 'function' !== typeof e && 'object' !== typeof e) {
-          if (n._owner) {
-            if ((n = n._owner)) {
-              if (1 !== n.tag) throw Error(o(309))
-              var r = n.stateNode
-            }
-            if (!r) throw Error(o(147, e))
-            var l = '' + e
-            return null !== t &&
-              null !== t.ref &&
-              'function' === typeof t.ref &&
-              t.ref._stringRef === l
-              ? t.ref
-              : (((t = function (e) {
-                  var t = r.refs
-                  t === da && (t = r.refs = {}), null === e ? delete t[l] : (t[l] = e)
-                })._stringRef = l),
-                t)
-          }
-          if ('string' !== typeof e) throw Error(o(284))
-          if (!n._owner) throw Error(o(290, e))
-        }
-        return e
-      }
-      function ka(e, t) {
-        if ('textarea' !== e.type)
-          throw Error(
-            o(
-              31,
-              '[object Object]' === Object.prototype.toString.call(t)
-                ? 'object with keys {' + Object.keys(t).join(', ') + '}'
-                : t,
-            ),
-          )
-      }
-      function Ea(e) {
-        function t(t, n) {
-          if (e) {
-            var r = t.lastEffect
-            null !== r
-              ? ((r.nextEffect = n), (t.lastEffect = n))
-              : (t.firstEffect = t.lastEffect = n),
-              (n.nextEffect = null),
-              (n.flags = 8)
-          }
-        }
-        function n(n, r) {
-          if (!e) return null
-          for (; null !== r; ) t(n, r), (r = r.sibling)
-          return null
-        }
-        function r(e, t) {
-          for (e = new Map(); null !== t; )
-            null !== t.key ? e.set(t.key, t) : e.set(t.index, t), (t = t.sibling)
-          return e
-        }
-        function l(e, t) {
-          return ((e = Wi(e, t)).index = 0), (e.sibling = null), e
-        }
-        function a(t, n, r) {
-          return (
-            (t.index = r),
-            e
-              ? null !== (r = t.alternate)
-                ? (r = r.index) < n
-                  ? ((t.flags = 2), n)
-                  : r
-                : ((t.flags = 2), n)
-              : n
-          )
-        }
-        function u(t) {
-          return e && null === t.alternate && (t.flags = 2), t
-        }
-        function i(e, t, n, r) {
-          return null === t || 6 !== t.tag
-            ? (((t = qi(n, e.mode, r)).return = e), t)
-            : (((t = l(t, n)).return = e), t)
-        }
-        function s(e, t, n, r) {
-          return null !== t && t.elementType === n.type
-            ? (((r = l(t, n.props)).ref = wa(e, t, n)), (r.return = e), r)
-            : (((r = $i(n.type, n.key, n.props, null, e.mode, r)).ref = wa(e, t, n)),
-              (r.return = e),
-              r)
-        }
-        function c(e, t, n, r) {
-          return null === t ||
-            4 !== t.tag ||
-            t.stateNode.containerInfo !== n.containerInfo ||
-            t.stateNode.implementation !== n.implementation
-            ? (((t = Ki(n, e.mode, r)).return = e), t)
-            : (((t = l(t, n.children || [])).return = e), t)
-        }
-        function f(e, t, n, r, a) {
-          return null === t || 7 !== t.tag
-            ? (((t = Hi(n, e.mode, r, a)).return = e), t)
-            : (((t = l(t, n)).return = e), t)
-        }
-        function d(e, t, n) {
-          if ('string' === typeof t || 'number' === typeof t)
-            return ((t = qi('' + t, e.mode, n)).return = e), t
-          if ('object' === typeof t && null !== t) {
-            switch (t.$$typeof) {
-              case E:
-                return (
-                  ((n = $i(t.type, t.key, t.props, null, e.mode, n)).ref = wa(e, null, t)),
-                  (n.return = e),
-                  n
-                )
-              case S:
-                return ((t = Ki(t, e.mode, n)).return = e), t
-            }
-            if (ba(t) || B(t)) return ((t = Hi(t, e.mode, n, null)).return = e), t
-            ka(e, t)
-          }
-          return null
-        }
-        function p(e, t, n, r) {
-          var l = null !== t ? t.key : null
-          if ('string' === typeof n || 'number' === typeof n)
-            return null !== l ? null : i(e, t, '' + n, r)
-          if ('object' === typeof n && null !== n) {
-            switch (n.$$typeof) {
-              case E:
-                return n.key === l
-                  ? n.type === _
-                    ? f(e, t, n.props.children, r, l)
-                    : s(e, t, n, r)
-                  : null
-              case S:
-                return n.key === l ? c(e, t, n, r) : null
-            }
-            if (ba(n) || B(n)) return null !== l ? null : f(e, t, n, r, null)
-            ka(e, n)
-          }
-          return null
-        }
-        function h(e, t, n, r, l) {
-          if ('string' === typeof r || 'number' === typeof r)
-            return i(t, (e = e.get(n) || null), '' + r, l)
-          if ('object' === typeof r && null !== r) {
-            switch (r.$$typeof) {
-              case E:
-                return (
-                  (e = e.get(null === r.key ? n : r.key) || null),
-                  r.type === _ ? f(t, e, r.props.children, l, r.key) : s(t, e, r, l)
-                )
-              case S:
-                return c(t, (e = e.get(null === r.key ? n : r.key) || null), r, l)
-            }
-            if (ba(r) || B(r)) return f(t, (e = e.get(n) || null), r, l, null)
-            ka(t, r)
-          }
-          return null
-        }
-        function m(l, o, u, i) {
-          for (
-            var s = null, c = null, f = o, m = (o = 0), v = null;
-            null !== f && m < u.length;
-            m++
-          ) {
-            f.index > m ? ((v = f), (f = null)) : (v = f.sibling)
-            var y = p(l, f, u[m], i)
-            if (null === y) {
-              null === f && (f = v)
-              break
-            }
-            e && f && null === y.alternate && t(l, f),
-              (o = a(y, o, m)),
-              null === c ? (s = y) : (c.sibling = y),
-              (c = y),
-              (f = v)
-          }
-          if (m === u.length) return n(l, f), s
-          if (null === f) {
-            for (; m < u.length; m++)
-              null !== (f = d(l, u[m], i)) &&
-                ((o = a(f, o, m)), null === c ? (s = f) : (c.sibling = f), (c = f))
-            return s
-          }
-          for (f = r(l, f); m < u.length; m++)
-            null !== (v = h(f, l, m, u[m], i)) &&
-              (e && null !== v.alternate && f.delete(null === v.key ? m : v.key),
-              (o = a(v, o, m)),
-              null === c ? (s = v) : (c.sibling = v),
-              (c = v))
-          return (
-            e &&
-              f.forEach(function (e) {
-                return t(l, e)
-              }),
-            s
-          )
-        }
-        function v(l, u, i, s) {
-          var c = B(i)
-          if ('function' !== typeof c) throw Error(o(150))
-          if (null == (i = c.call(i))) throw Error(o(151))
-          for (
-            var f = (c = null), m = u, v = (u = 0), y = null, g = i.next();
-            null !== m && !g.done;
-            v++, g = i.next()
-          ) {
-            m.index > v ? ((y = m), (m = null)) : (y = m.sibling)
-            var b = p(l, m, g.value, s)
-            if (null === b) {
-              null === m && (m = y)
-              break
-            }
-            e && m && null === b.alternate && t(l, m),
-              (u = a(b, u, v)),
-              null === f ? (c = b) : (f.sibling = b),
-              (f = b),
-              (m = y)
-          }
-          if (g.done) return n(l, m), c
-          if (null === m) {
-            for (; !g.done; v++, g = i.next())
-              null !== (g = d(l, g.value, s)) &&
-                ((u = a(g, u, v)), null === f ? (c = g) : (f.sibling = g), (f = g))
-            return c
-          }
-          for (m = r(l, m); !g.done; v++, g = i.next())
-            null !== (g = h(m, l, v, g.value, s)) &&
-              (e && null !== g.alternate && m.delete(null === g.key ? v : g.key),
-              (u = a(g, u, v)),
-              null === f ? (c = g) : (f.sibling = g),
-              (f = g))
-          return (
-            e &&
-              m.forEach(function (e) {
-                return t(l, e)
-              }),
-            c
-          )
-        }
-        return function (e, r, a, i) {
-          var s = 'object' === typeof a && null !== a && a.type === _ && null === a.key
-          s && (a = a.props.children)
-          var c = 'object' === typeof a && null !== a
-          if (c)
-            switch (a.$$typeof) {
-              case E:
-                e: {
-                  for (c = a.key, s = r; null !== s; ) {
-                    if (s.key === c) {
-                      switch (s.tag) {
-                        case 7:
-                          if (a.type === _) {
-                            n(e, s.sibling), ((r = l(s, a.props.children)).return = e), (e = r)
-                            break e
-                          }
-                          break
-                        default:
-                          if (s.elementType === a.type) {
-                            n(e, s.sibling),
-                              ((r = l(s, a.props)).ref = wa(e, s, a)),
-                              (r.return = e),
-                              (e = r)
-                            break e
-                          }
-                      }
-                      n(e, s)
-                      break
-                    }
-                    t(e, s), (s = s.sibling)
-                  }
-                  a.type === _
-                    ? (((r = Hi(a.props.children, e.mode, i, a.key)).return = e), (e = r))
-                    : (((i = $i(a.type, a.key, a.props, null, e.mode, i)).ref = wa(e, r, a)),
-                      (i.return = e),
-                      (e = i))
-                }
-                return u(e)
-              case S:
-                e: {
-                  for (s = a.key; null !== r; ) {
-                    if (r.key === s) {
-                      if (
-                        4 === r.tag &&
-                        r.stateNode.containerInfo === a.containerInfo &&
-                        r.stateNode.implementation === a.implementation
-                      ) {
-                        n(e, r.sibling), ((r = l(r, a.children || [])).return = e), (e = r)
-                        break e
-                      }
-                      n(e, r)
-                      break
-                    }
-                    t(e, r), (r = r.sibling)
-                  }
-                  ;((r = Ki(a, e.mode, i)).return = e), (e = r)
-                }
-                return u(e)
-            }
-          if ('string' === typeof a || 'number' === typeof a)
-            return (
-              (a = '' + a),
-              null !== r && 6 === r.tag
-                ? (n(e, r.sibling), ((r = l(r, a)).return = e), (e = r))
-                : (n(e, r), ((r = qi(a, e.mode, i)).return = e), (e = r)),
-              u(e)
-            )
-          if (ba(a)) return m(e, r, a, i)
-          if (B(a)) return v(e, r, a, i)
-          if ((c && ka(e, a), 'undefined' === typeof a && !s))
-            switch (e.tag) {
-              case 1:
-              case 22:
-              case 0:
-              case 11:
-              case 15:
-                throw Error(o(152, q(e.type) || 'Component'))
-            }
-          return n(e, r)
-        }
-      }
-      var Sa = Ea(!0),
-        _a = Ea(!1),
-        xa = {},
-        Ca = ol(xa),
-        Pa = ol(xa),
-        Na = ol(xa)
-      function Ta(e) {
-        if (e === xa) throw Error(o(174))
-        return e
-      }
-      function La(e, t) {
-        switch ((il(Na, t), il(Pa, e), il(Ca, xa), (e = t.nodeType))) {
-          case 9:
-          case 11:
-            t = (t = t.documentElement) ? t.namespaceURI : he(null, '')
-            break
-          default:
-            t = he((t = (e = 8 === e ? t.parentNode : t).namespaceURI || null), (e = e.tagName))
-        }
-        ul(Ca), il(Ca, t)
-      }
-      function za() {
-        ul(Ca), ul(Pa), ul(Na)
-      }
-      function Oa(e) {
-        Ta(Na.current)
-        var t = Ta(Ca.current),
-          n = he(t, e.type)
-        t !== n && (il(Pa, e), il(Ca, n))
-      }
-      function Ra(e) {
-        Pa.current === e && (ul(Ca), ul(Pa))
-      }
-      var Ma = ol(0)
-      function Ia(e) {
-        for (var t = e; null !== t; ) {
-          if (13 === t.tag) {
-            var n = t.memoizedState
-            if (null !== n && (null === (n = n.dehydrated) || '$?' === n.data || '$!' === n.data))
-              return t
-          } else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) {
-            if (0 !== (64 & t.flags)) return t
-          } else if (null !== t.child) {
-            ;(t.child.return = t), (t = t.child)
-            continue
-          }
-          if (t === e) break
-          for (; null === t.sibling; ) {
-            if (null === t.return || t.return === e) return null
-            t = t.return
-          }
-          ;(t.sibling.return = t.return), (t = t.sibling)
-        }
-        return null
-      }
-      var Da = null,
-        Fa = null,
-        Ua = !1
-      function Aa(e, t) {
-        var n = ji(5, null, null, 0)
-        ;(n.elementType = 'DELETED'),
-          (n.type = 'DELETED'),
-          (n.stateNode = t),
-          (n.return = e),
-          (n.flags = 8),
-          null !== e.lastEffect
-            ? ((e.lastEffect.nextEffect = n), (e.lastEffect = n))
-            : (e.firstEffect = e.lastEffect = n)
-      }
-      function Va(e, t) {
-        switch (e.tag) {
-          case 5:
-            var n = e.type
-            return (
-              null !==
-                (t = 1 !== t.nodeType || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t) &&
-              ((e.stateNode = t), !0)
-            )
-          case 6:
-            return (
-              null !== (t = '' === e.pendingProps || 3 !== t.nodeType ? null : t) &&
-              ((e.stateNode = t), !0)
-            )
-          case 13:
-          default:
-            return !1
-        }
-      }
-      function ja(e) {
-        if (Ua) {
-          var t = Fa
-          if (t) {
-            var n = t
-            if (!Va(e, t)) {
-              if (!(t = Hr(n.nextSibling)) || !Va(e, t))
-                return (e.flags = (-1025 & e.flags) | 2), (Ua = !1), void (Da = e)
-              Aa(Da, n)
-            }
-            ;(Da = e), (Fa = Hr(t.firstChild))
-          } else (e.flags = (-1025 & e.flags) | 2), (Ua = !1), (Da = e)
-        }
-      }
-      function Ba(e) {
-        for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag; ) e = e.return
-        Da = e
-      }
-      function Wa(e) {
-        if (e !== Da) return !1
-        if (!Ua) return Ba(e), (Ua = !0), !1
-        var t = e.type
-        if (5 !== e.tag || ('head' !== t && 'body' !== t && !jr(t, e.memoizedProps)))
-          for (t = Fa; t; ) Aa(e, t), (t = Hr(t.nextSibling))
-        if ((Ba(e), 13 === e.tag)) {
-          if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(o(317))
-          e: {
-            for (e = e.nextSibling, t = 0; e; ) {
-              if (8 === e.nodeType) {
-                var n = e.data
-                if ('/$' === n) {
-                  if (0 === t) {
-                    Fa = Hr(e.nextSibling)
-                    break e
-                  }
-                  t--
-                } else ('$' !== n && '$!' !== n && '$?' !== n) || t++
-              }
-              e = e.nextSibling
-            }
-            Fa = null
-          }
-        } else Fa = Da ? Hr(e.stateNode.nextSibling) : null
-        return !0
-      }
-      function $a() {
-        ;(Fa = Da = null), (Ua = !1)
-      }
-      var Ha = []
-      function Qa() {
-        for (var e = 0; e < Ha.length; e++) Ha[e]._workInProgressVersionPrimary = null
-        Ha.length = 0
-      }
-      var qa = k.ReactCurrentDispatcher,
-        Ka = k.ReactCurrentBatchConfig,
-        Ya = 0,
-        Xa = null,
-        Ga = null,
-        Za = null,
-        Ja = !1,
-        eo = !1
-      function to() {
-        throw Error(o(321))
-      }
-      function no(e, t) {
-        if (null === t) return !1
-        for (var n = 0; n < t.length && n < e.length; n++) if (!ur(e[n], t[n])) return !1
-        return !0
-      }
-      function ro(e, t, n, r, l, a) {
-        if (
-          ((Ya = a),
-          (Xa = t),
-          (t.memoizedState = null),
-          (t.updateQueue = null),
-          (t.lanes = 0),
-          (qa.current = null === e || null === e.memoizedState ? Lo : zo),
-          (e = n(r, l)),
-          eo)
-        ) {
-          a = 0
-          do {
-            if (((eo = !1), !(25 > a))) throw Error(o(301))
-            ;(a += 1), (Za = Ga = null), (t.updateQueue = null), (qa.current = Oo), (e = n(r, l))
-          } while (eo)
-        }
-        if (
-          ((qa.current = To),
-          (t = null !== Ga && null !== Ga.next),
-          (Ya = 0),
-          (Za = Ga = Xa = null),
-          (Ja = !1),
-          t)
-        )
-          throw Error(o(300))
-        return e
-      }
-      function lo() {
-        var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }
-        return null === Za ? (Xa.memoizedState = Za = e) : (Za = Za.next = e), Za
-      }
-      function ao() {
-        if (null === Ga) {
-          var e = Xa.alternate
-          e = null !== e ? e.memoizedState : null
-        } else e = Ga.next
-        var t = null === Za ? Xa.memoizedState : Za.next
-        if (null !== t) (Za = t), (Ga = e)
-        else {
-          if (null === e) throw Error(o(310))
-          ;(e = {
-            memoizedState: (Ga = e).memoizedState,
-            baseState: Ga.baseState,
-            baseQueue: Ga.baseQueue,
-            queue: Ga.queue,
-            next: null,
-          }),
-            null === Za ? (Xa.memoizedState = Za = e) : (Za = Za.next = e)
-        }
-        return Za
-      }
-      function oo(e, t) {
-        return 'function' === typeof t ? t(e) : t
-      }
-      function uo(e) {
-        var t = ao(),
-          n = t.queue
-        if (null === n) throw Error(o(311))
-        n.lastRenderedReducer = e
-        var r = Ga,
-          l = r.baseQueue,
-          a = n.pending
-        if (null !== a) {
-          if (null !== l) {
-            var u = l.next
-            ;(l.next = a.next), (a.next = u)
-          }
-          ;(r.baseQueue = l = a), (n.pending = null)
-        }
-        if (null !== l) {
-          ;(l = l.next), (r = r.baseState)
-          var i = (u = a = null),
-            s = l
-          do {
-            var c = s.lane
-            if ((Ya & c) === c)
-              null !== i &&
-                (i = i.next =
-                  {
-                    lane: 0,
-                    action: s.action,
-                    eagerReducer: s.eagerReducer,
-                    eagerState: s.eagerState,
-                    next: null,
-                  }),
-                (r = s.eagerReducer === e ? s.eagerState : e(r, s.action))
-            else {
-              var f = {
-                lane: c,
-                action: s.action,
-                eagerReducer: s.eagerReducer,
-                eagerState: s.eagerState,
-                next: null,
-              }
-              null === i ? ((u = i = f), (a = r)) : (i = i.next = f), (Xa.lanes |= c), (Uu |= c)
-            }
-            s = s.next
-          } while (null !== s && s !== l)
-          null === i ? (a = r) : (i.next = u),
-            ur(r, t.memoizedState) || (Mo = !0),
-            (t.memoizedState = r),
-            (t.baseState = a),
-            (t.baseQueue = i),
-            (n.lastRenderedState = r)
-        }
-        return [t.memoizedState, n.dispatch]
-      }
-      function io(e) {
-        var t = ao(),
-          n = t.queue
-        if (null === n) throw Error(o(311))
-        n.lastRenderedReducer = e
-        var r = n.dispatch,
-          l = n.pending,
-          a = t.memoizedState
-        if (null !== l) {
-          n.pending = null
-          var u = (l = l.next)
-          do {
-            ;(a = e(a, u.action)), (u = u.next)
-          } while (u !== l)
-          ur(a, t.memoizedState) || (Mo = !0),
-            (t.memoizedState = a),
-            null === t.baseQueue && (t.baseState = a),
-            (n.lastRenderedState = a)
-        }
-        return [a, r]
-      }
-      function so(e, t, n) {
-        var r = t._getVersion
-        r = r(t._source)
-        var l = t._workInProgressVersionPrimary
-        if (
-          (null !== l
-            ? (e = l === r)
-            : ((e = e.mutableReadLanes),
-              (e = (Ya & e) === e) && ((t._workInProgressVersionPrimary = r), Ha.push(t))),
-          e)
-        )
-          return n(t._source)
-        throw (Ha.push(t), Error(o(350)))
-      }
-      function co(e, t, n, r) {
-        var l = Lu
-        if (null === l) throw Error(o(349))
-        var a = t._getVersion,
-          u = a(t._source),
-          i = qa.current,
-          s = i.useState(function () {
-            return so(l, t, n)
-          }),
-          c = s[1],
-          f = s[0]
-        s = Za
-        var d = e.memoizedState,
-          p = d.refs,
-          h = p.getSnapshot,
-          m = d.source
-        d = d.subscribe
-        var v = Xa
-        return (
-          (e.memoizedState = { refs: p, source: t, subscribe: r }),
-          i.useEffect(
-            function () {
-              ;(p.getSnapshot = n), (p.setSnapshot = c)
-              var e = a(t._source)
-              if (!ur(u, e)) {
-                ;(e = n(t._source)),
-                  ur(f, e) || (c(e), (e = ci(v)), (l.mutableReadLanes |= e & l.pendingLanes)),
-                  (e = l.mutableReadLanes),
-                  (l.entangledLanes |= e)
-                for (var r = l.entanglements, o = e; 0 < o; ) {
-                  var i = 31 - $t(o),
-                    s = 1 << i
-                  ;(r[i] |= e), (o &= ~s)
-                }
-              }
-            },
-            [n, t, r],
-          ),
-          i.useEffect(
-            function () {
-              return r(t._source, function () {
-                var e = p.getSnapshot,
-                  n = p.setSnapshot
-                try {
-                  n(e(t._source))
-                  var r = ci(v)
-                  l.mutableReadLanes |= r & l.pendingLanes
-                } catch (a) {
-                  n(function () {
-                    throw a
-                  })
-                }
-              })
-            },
-            [t, r],
-          ),
-          (ur(h, n) && ur(m, t) && ur(d, r)) ||
-            (((e = {
-              pending: null,
-              dispatch: null,
-              lastRenderedReducer: oo,
-              lastRenderedState: f,
-            }).dispatch = c =
-              No.bind(null, Xa, e)),
-            (s.queue = e),
-            (s.baseQueue = null),
-            (f = so(l, t, n)),
-            (s.memoizedState = s.baseState = f)),
-          f
-        )
-      }
-      function fo(e, t, n) {
-        return co(ao(), e, t, n)
-      }
-      function po(e) {
-        var t = lo()
-        return (
-          'function' === typeof e && (e = e()),
-          (t.memoizedState = t.baseState = e),
-          (e = (e = t.queue =
-            {
-              pending: null,
-              dispatch: null,
-              lastRenderedReducer: oo,
-              lastRenderedState: e,
-            }).dispatch =
-            No.bind(null, Xa, e)),
-          [t.memoizedState, e]
-        )
-      }
-      function ho(e, t, n, r) {
-        return (
-          (e = { tag: e, create: t, destroy: n, deps: r, next: null }),
-          null === (t = Xa.updateQueue)
-            ? ((t = { lastEffect: null }), (Xa.updateQueue = t), (t.lastEffect = e.next = e))
-            : null === (n = t.lastEffect)
-            ? (t.lastEffect = e.next = e)
-            : ((r = n.next), (n.next = e), (e.next = r), (t.lastEffect = e)),
-          e
-        )
-      }
-      function mo(e) {
-        return (e = { current: e }), (lo().memoizedState = e)
-      }
-      function vo() {
-        return ao().memoizedState
-      }
-      function yo(e, t, n, r) {
-        var l = lo()
-        ;(Xa.flags |= e), (l.memoizedState = ho(1 | t, n, void 0, void 0 === r ? null : r))
-      }
-      function go(e, t, n, r) {
-        var l = ao()
-        r = void 0 === r ? null : r
-        var a = void 0
-        if (null !== Ga) {
-          var o = Ga.memoizedState
-          if (((a = o.destroy), null !== r && no(r, o.deps))) return void ho(t, n, a, r)
-        }
-        ;(Xa.flags |= e), (l.memoizedState = ho(1 | t, n, a, r))
-      }
-      function bo(e, t) {
-        return yo(516, 4, e, t)
-      }
-      function wo(e, t) {
-        return go(516, 4, e, t)
-      }
-      function ko(e, t) {
-        return go(4, 2, e, t)
-      }
-      function Eo(e, t) {
-        return 'function' === typeof t
-          ? ((e = e()),
-            t(e),
-            function () {
-              t(null)
-            })
-          : null !== t && void 0 !== t
-          ? ((e = e()),
-            (t.current = e),
-            function () {
-              t.current = null
-            })
-          : void 0
-      }
-      function So(e, t, n) {
-        return (
-          (n = null !== n && void 0 !== n ? n.concat([e]) : null), go(4, 2, Eo.bind(null, t, e), n)
-        )
-      }
-      function _o() {}
-      function xo(e, t) {
-        var n = ao()
-        t = void 0 === t ? null : t
-        var r = n.memoizedState
-        return null !== r && null !== t && no(t, r[1]) ? r[0] : ((n.memoizedState = [e, t]), e)
-      }
-      function Co(e, t) {
-        var n = ao()
-        t = void 0 === t ? null : t
-        var r = n.memoizedState
-        return null !== r && null !== t && no(t, r[1])
-          ? r[0]
-          : ((e = e()), (n.memoizedState = [e, t]), e)
-      }
-      function Po(e, t) {
-        var n = jl()
-        Wl(98 > n ? 98 : n, function () {
-          e(!0)
-        }),
-          Wl(97 < n ? 97 : n, function () {
-            var n = Ka.transition
-            Ka.transition = 1
-            try {
-              e(!1), t()
-            } finally {
-              Ka.transition = n
-            }
-          })
-      }
-      function No(e, t, n) {
-        var r = si(),
-          l = ci(e),
-          a = { lane: l, action: n, eagerReducer: null, eagerState: null, next: null },
-          o = t.pending
-        if (
-          (null === o ? (a.next = a) : ((a.next = o.next), (o.next = a)),
-          (t.pending = a),
-          (o = e.alternate),
-          e === Xa || (null !== o && o === Xa))
-        )
-          eo = Ja = !0
-        else {
-          if (
-            0 === e.lanes &&
-            (null === o || 0 === o.lanes) &&
-            null !== (o = t.lastRenderedReducer)
-          )
-            try {
-              var u = t.lastRenderedState,
-                i = o(u, n)
-              if (((a.eagerReducer = o), (a.eagerState = i), ur(i, u))) return
-            } catch (s) {}
-          fi(e, l, r)
-        }
-      }
-      var To = {
-          readContext: ra,
-          useCallback: to,
-          useContext: to,
-          useEffect: to,
-          useImperativeHandle: to,
-          useLayoutEffect: to,
-          useMemo: to,
-          useReducer: to,
-          useRef: to,
-          useState: to,
-          useDebugValue: to,
-          useDeferredValue: to,
-          useTransition: to,
-          useMutableSource: to,
-          useOpaqueIdentifier: to,
-          unstable_isNewReconciler: !1,
-        },
-        Lo = {
-          readContext: ra,
-          useCallback: function (e, t) {
-            return (lo().memoizedState = [e, void 0 === t ? null : t]), e
-          },
-          useContext: ra,
-          useEffect: bo,
-          useImperativeHandle: function (e, t, n) {
-            return (
-              (n = null !== n && void 0 !== n ? n.concat([e]) : null),
-              yo(4, 2, Eo.bind(null, t, e), n)
-            )
-          },
-          useLayoutEffect: function (e, t) {
-            return yo(4, 2, e, t)
-          },
-          useMemo: function (e, t) {
-            var n = lo()
-            return (t = void 0 === t ? null : t), (e = e()), (n.memoizedState = [e, t]), e
-          },
-          useReducer: function (e, t, n) {
-            var r = lo()
-            return (
-              (t = void 0 !== n ? n(t) : t),
-              (r.memoizedState = r.baseState = t),
-              (e = (e = r.queue =
-                {
-                  pending: null,
-                  dispatch: null,
-                  lastRenderedReducer: e,
-                  lastRenderedState: t,
-                }).dispatch =
-                No.bind(null, Xa, e)),
-              [r.memoizedState, e]
-            )
-          },
-          useRef: mo,
-          useState: po,
-          useDebugValue: _o,
-          useDeferredValue: function (e) {
-            var t = po(e),
-              n = t[0],
-              r = t[1]
-            return (
-              bo(
-                function () {
-                  var t = Ka.transition
-                  Ka.transition = 1
-                  try {
-                    r(e)
-                  } finally {
-                    Ka.transition = t
-                  }
-                },
-                [e],
-              ),
-              n
-            )
-          },
-          useTransition: function () {
-            var e = po(!1),
-              t = e[0]
-            return mo((e = Po.bind(null, e[1]))), [e, t]
-          },
-          useMutableSource: function (e, t, n) {
-            var r = lo()
-            return (
-              (r.memoizedState = {
-                refs: { getSnapshot: t, setSnapshot: null },
-                source: e,
-                subscribe: n,
-              }),
-              co(r, e, t, n)
-            )
-          },
-          useOpaqueIdentifier: function () {
-            if (Ua) {
-              var e = !1,
-                t = (function (e) {
-                  return { $$typeof: I, toString: e, valueOf: e }
-                })(function () {
-                  throw (e || ((e = !0), n('r:' + (qr++).toString(36))), Error(o(355)))
-                }),
-                n = po(t)[1]
-              return (
-                0 === (2 & Xa.mode) &&
-                  ((Xa.flags |= 516),
-                  ho(
-                    5,
-                    function () {
-                      n('r:' + (qr++).toString(36))
-                    },
-                    void 0,
-                    null,
-                  )),
-                t
-              )
-            }
-            return po((t = 'r:' + (qr++).toString(36))), t
-          },
-          unstable_isNewReconciler: !1,
-        },
-        zo = {
-          readContext: ra,
-          useCallback: xo,
-          useContext: ra,
-          useEffect: wo,
-          useImperativeHandle: So,
-          useLayoutEffect: ko,
-          useMemo: Co,
-          useReducer: uo,
-          useRef: vo,
-          useState: function () {
-            return uo(oo)
-          },
-          useDebugValue: _o,
-          useDeferredValue: function (e) {
-            var t = uo(oo),
-              n = t[0],
-              r = t[1]
-            return (
-              wo(
-                function () {
-                  var t = Ka.transition
-                  Ka.transition = 1
-                  try {
-                    r(e)
-                  } finally {
-                    Ka.transition = t
-                  }
-                },
-                [e],
-              ),
-              n
-            )
-          },
-          useTransition: function () {
-            var e = uo(oo)[0]
-            return [vo().current, e]
-          },
-          useMutableSource: fo,
-          useOpaqueIdentifier: function () {
-            return uo(oo)[0]
-          },
-          unstable_isNewReconciler: !1,
-        },
-        Oo = {
-          readContext: ra,
-          useCallback: xo,
-          useContext: ra,
-          useEffect: wo,
-          useImperativeHandle: So,
-          useLayoutEffect: ko,
-          useMemo: Co,
-          useReducer: io,
-          useRef: vo,
-          useState: function () {
-            return io(oo)
-          },
-          useDebugValue: _o,
-          useDeferredValue: function (e) {
-            var t = io(oo),
-              n = t[0],
-              r = t[1]
-            return (
-              wo(
-                function () {
-                  var t = Ka.transition
-                  Ka.transition = 1
-                  try {
-                    r(e)
-                  } finally {
-                    Ka.transition = t
-                  }
-                },
-                [e],
-              ),
-              n
-            )
-          },
-          useTransition: function () {
-            var e = io(oo)[0]
-            return [vo().current, e]
-          },
-          useMutableSource: fo,
-          useOpaqueIdentifier: function () {
-            return io(oo)[0]
-          },
-          unstable_isNewReconciler: !1,
-        },
-        Ro = k.ReactCurrentOwner,
-        Mo = !1
-      function Io(e, t, n, r) {
-        t.child = null === e ? _a(t, null, n, r) : Sa(t, e.child, n, r)
-      }
-      function Do(e, t, n, r, l) {
-        n = n.render
-        var a = t.ref
-        return (
-          na(t, l),
-          (r = ro(e, t, n, r, a, l)),
-          null === e || Mo
-            ? ((t.flags |= 1), Io(e, t, r, l), t.child)
-            : ((t.updateQueue = e.updateQueue), (t.flags &= -517), (e.lanes &= ~l), nu(e, t, l))
-        )
-      }
-      function Fo(e, t, n, r, l, a) {
-        if (null === e) {
-          var o = n.type
-          return 'function' !== typeof o ||
-            Bi(o) ||
-            void 0 !== o.defaultProps ||
-            null !== n.compare ||
-            void 0 !== n.defaultProps
-            ? (((e = $i(n.type, null, r, t, t.mode, a)).ref = t.ref), (e.return = t), (t.child = e))
-            : ((t.tag = 15), (t.type = o), Uo(e, t, o, r, l, a))
-        }
-        return (
-          (o = e.child),
-          0 === (l & a) &&
-          ((l = o.memoizedProps), (n = null !== (n = n.compare) ? n : sr)(l, r) && e.ref === t.ref)
-            ? nu(e, t, a)
-            : ((t.flags |= 1), ((e = Wi(o, r)).ref = t.ref), (e.return = t), (t.child = e))
-        )
-      }
-      function Uo(e, t, n, r, l, a) {
-        if (null !== e && sr(e.memoizedProps, r) && e.ref === t.ref) {
-          if (((Mo = !1), 0 === (a & l))) return (t.lanes = e.lanes), nu(e, t, a)
-          0 !== (16384 & e.flags) && (Mo = !0)
-        }
-        return jo(e, t, n, r, a)
-      }
-      function Ao(e, t, n) {
-        var r = t.pendingProps,
-          l = r.children,
-          a = null !== e ? e.memoizedState : null
-        if ('hidden' === r.mode || 'unstable-defer-without-hiding' === r.mode)
-          if (0 === (4 & t.mode)) (t.memoizedState = { baseLanes: 0 }), bi(t, n)
-          else {
-            if (0 === (1073741824 & n))
-              return (
-                (e = null !== a ? a.baseLanes | n : n),
-                (t.lanes = t.childLanes = 1073741824),
-                (t.memoizedState = { baseLanes: e }),
-                bi(t, e),
-                null
-              )
-            ;(t.memoizedState = { baseLanes: 0 }), bi(t, null !== a ? a.baseLanes : n)
-          }
-        else null !== a ? ((r = a.baseLanes | n), (t.memoizedState = null)) : (r = n), bi(t, r)
-        return Io(e, t, l, n), t.child
-      }
-      function Vo(e, t) {
-        var n = t.ref
-        ;((null === e && null !== n) || (null !== e && e.ref !== n)) && (t.flags |= 128)
-      }
-      function jo(e, t, n, r, l) {
-        var a = hl(n) ? dl : cl.current
-        return (
-          (a = pl(t, a)),
-          na(t, l),
-          (n = ro(e, t, n, r, a, l)),
-          null === e || Mo
-            ? ((t.flags |= 1), Io(e, t, n, l), t.child)
-            : ((t.updateQueue = e.updateQueue), (t.flags &= -517), (e.lanes &= ~l), nu(e, t, l))
-        )
-      }
-      function Bo(e, t, n, r, l) {
-        if (hl(n)) {
-          var a = !0
-          gl(t)
-        } else a = !1
-        if ((na(t, l), null === t.stateNode))
-          null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)),
-            va(t, n, r),
-            ga(t, n, r, l),
-            (r = !0)
-        else if (null === e) {
-          var o = t.stateNode,
-            u = t.memoizedProps
-          o.props = u
-          var i = o.context,
-            s = n.contextType
-          'object' === typeof s && null !== s
-            ? (s = ra(s))
-            : (s = pl(t, (s = hl(n) ? dl : cl.current)))
-          var c = n.getDerivedStateFromProps,
-            f = 'function' === typeof c || 'function' === typeof o.getSnapshotBeforeUpdate
-          f ||
-            ('function' !== typeof o.UNSAFE_componentWillReceiveProps &&
-              'function' !== typeof o.componentWillReceiveProps) ||
-            ((u !== r || i !== s) && ya(t, o, r, s)),
-            (la = !1)
-          var d = t.memoizedState
-          ;(o.state = d),
-            ca(t, r, o, l),
-            (i = t.memoizedState),
-            u !== r || d !== i || fl.current || la
-              ? ('function' === typeof c && (pa(t, n, c, r), (i = t.memoizedState)),
-                (u = la || ma(t, n, u, r, d, i, s))
-                  ? (f ||
-                      ('function' !== typeof o.UNSAFE_componentWillMount &&
-                        'function' !== typeof o.componentWillMount) ||
-                      ('function' === typeof o.componentWillMount && o.componentWillMount(),
-                      'function' === typeof o.UNSAFE_componentWillMount &&
-                        o.UNSAFE_componentWillMount()),
-                    'function' === typeof o.componentDidMount && (t.flags |= 4))
-                  : ('function' === typeof o.componentDidMount && (t.flags |= 4),
-                    (t.memoizedProps = r),
-                    (t.memoizedState = i)),
-                (o.props = r),
-                (o.state = i),
-                (o.context = s),
-                (r = u))
-              : ('function' === typeof o.componentDidMount && (t.flags |= 4), (r = !1))
-        } else {
-          ;(o = t.stateNode),
-            oa(e, t),
-            (u = t.memoizedProps),
-            (s = t.type === t.elementType ? u : Kl(t.type, u)),
-            (o.props = s),
-            (f = t.pendingProps),
-            (d = o.context),
-            'object' === typeof (i = n.contextType) && null !== i
-              ? (i = ra(i))
-              : (i = pl(t, (i = hl(n) ? dl : cl.current)))
-          var p = n.getDerivedStateFromProps
-          ;(c = 'function' === typeof p || 'function' === typeof o.getSnapshotBeforeUpdate) ||
-            ('function' !== typeof o.UNSAFE_componentWillReceiveProps &&
-              'function' !== typeof o.componentWillReceiveProps) ||
-            ((u !== f || d !== i) && ya(t, o, r, i)),
-            (la = !1),
-            (d = t.memoizedState),
-            (o.state = d),
-            ca(t, r, o, l)
-          var h = t.memoizedState
-          u !== f || d !== h || fl.current || la
-            ? ('function' === typeof p && (pa(t, n, p, r), (h = t.memoizedState)),
-              (s = la || ma(t, n, s, r, d, h, i))
-                ? (c ||
-                    ('function' !== typeof o.UNSAFE_componentWillUpdate &&
-                      'function' !== typeof o.componentWillUpdate) ||
-                    ('function' === typeof o.componentWillUpdate && o.componentWillUpdate(r, h, i),
-                    'function' === typeof o.UNSAFE_componentWillUpdate &&
-                      o.UNSAFE_componentWillUpdate(r, h, i)),
-                  'function' === typeof o.componentDidUpdate && (t.flags |= 4),
-                  'function' === typeof o.getSnapshotBeforeUpdate && (t.flags |= 256))
-                : ('function' !== typeof o.componentDidUpdate ||
-                    (u === e.memoizedProps && d === e.memoizedState) ||
-                    (t.flags |= 4),
-                  'function' !== typeof o.getSnapshotBeforeUpdate ||
-                    (u === e.memoizedProps && d === e.memoizedState) ||
-                    (t.flags |= 256),
-                  (t.memoizedProps = r),
-                  (t.memoizedState = h)),
-              (o.props = r),
-              (o.state = h),
-              (o.context = i),
-              (r = s))
-            : ('function' !== typeof o.componentDidUpdate ||
-                (u === e.memoizedProps && d === e.memoizedState) ||
-                (t.flags |= 4),
-              'function' !== typeof o.getSnapshotBeforeUpdate ||
-                (u === e.memoizedProps && d === e.memoizedState) ||
-                (t.flags |= 256),
-              (r = !1))
-        }
-        return Wo(e, t, n, r, a, l)
-      }
-      function Wo(e, t, n, r, l, a) {
-        Vo(e, t)
-        var o = 0 !== (64 & t.flags)
-        if (!r && !o) return l && bl(t, n, !1), nu(e, t, a)
-        ;(r = t.stateNode), (Ro.current = t)
-        var u = o && 'function' !== typeof n.getDerivedStateFromError ? null : r.render()
-        return (
-          (t.flags |= 1),
-          null !== e && o
-            ? ((t.child = Sa(t, e.child, null, a)), (t.child = Sa(t, null, u, a)))
-            : Io(e, t, u, a),
-          (t.memoizedState = r.state),
-          l && bl(t, n, !0),
-          t.child
-        )
-      }
-      function $o(e) {
-        var t = e.stateNode
-        t.pendingContext
-          ? vl(0, t.pendingContext, t.pendingContext !== t.context)
-          : t.context && vl(0, t.context, !1),
-          La(e, t.containerInfo)
-      }
-      var Ho,
-        Qo,
-        qo,
-        Ko = { dehydrated: null, retryLane: 0 }
-      function Yo(e, t, n) {
-        var r,
-          l = t.pendingProps,
-          a = Ma.current,
-          o = !1
-        return (
-          (r = 0 !== (64 & t.flags)) ||
-            (r = (null === e || null !== e.memoizedState) && 0 !== (2 & a)),
-          r
-            ? ((o = !0), (t.flags &= -65))
-            : (null !== e && null === e.memoizedState) ||
-              void 0 === l.fallback ||
-              !0 === l.unstable_avoidThisFallback ||
-              (a |= 1),
-          il(Ma, 1 & a),
-          null === e
-            ? (void 0 !== l.fallback && ja(t),
-              (e = l.children),
-              (a = l.fallback),
-              o
-                ? ((e = Xo(t, e, a, n)),
-                  (t.child.memoizedState = { baseLanes: n }),
-                  (t.memoizedState = Ko),
-                  e)
-                : 'number' === typeof l.unstable_expectedLoadTime
-                ? ((e = Xo(t, e, a, n)),
-                  (t.child.memoizedState = { baseLanes: n }),
-                  (t.memoizedState = Ko),
-                  (t.lanes = 33554432),
-                  e)
-                : (((n = Qi({ mode: 'visible', children: e }, t.mode, n, null)).return = t),
-                  (t.child = n)))
-            : (e.memoizedState,
-              o
-                ? ((l = Zo(e, t, l.children, l.fallback, n)),
-                  (o = t.child),
-                  (a = e.child.memoizedState),
-                  (o.memoizedState =
-                    null === a ? { baseLanes: n } : { baseLanes: a.baseLanes | n }),
-                  (o.childLanes = e.childLanes & ~n),
-                  (t.memoizedState = Ko),
-                  l)
-                : ((n = Go(e, t, l.children, n)), (t.memoizedState = null), n))
-        )
-      }
-      function Xo(e, t, n, r) {
-        var l = e.mode,
-          a = e.child
-        return (
-          (t = { mode: 'hidden', children: t }),
-          0 === (2 & l) && null !== a
-            ? ((a.childLanes = 0), (a.pendingProps = t))
-            : (a = Qi(t, l, 0, null)),
-          (n = Hi(n, l, r, null)),
-          (a.return = e),
-          (n.return = e),
-          (a.sibling = n),
-          (e.child = a),
-          n
-        )
-      }
-      function Go(e, t, n, r) {
-        var l = e.child
-        return (
-          (e = l.sibling),
-          (n = Wi(l, { mode: 'visible', children: n })),
-          0 === (2 & t.mode) && (n.lanes = r),
-          (n.return = t),
-          (n.sibling = null),
-          null !== e && ((e.nextEffect = null), (e.flags = 8), (t.firstEffect = t.lastEffect = e)),
-          (t.child = n)
-        )
-      }
-      function Zo(e, t, n, r, l) {
-        var a = t.mode,
-          o = e.child
-        e = o.sibling
-        var u = { mode: 'hidden', children: n }
-        return (
-          0 === (2 & a) && t.child !== o
-            ? (((n = t.child).childLanes = 0),
-              (n.pendingProps = u),
-              null !== (o = n.lastEffect)
-                ? ((t.firstEffect = n.firstEffect), (t.lastEffect = o), (o.nextEffect = null))
-                : (t.firstEffect = t.lastEffect = null))
-            : (n = Wi(o, u)),
-          null !== e ? (r = Wi(e, r)) : ((r = Hi(r, a, l, null)).flags |= 2),
-          (r.return = t),
-          (n.return = t),
-          (n.sibling = r),
-          (t.child = n),
-          r
-        )
-      }
-      function Jo(e, t) {
-        e.lanes |= t
-        var n = e.alternate
-        null !== n && (n.lanes |= t), ta(e.return, t)
-      }
-      function eu(e, t, n, r, l, a) {
-        var o = e.memoizedState
-        null === o
-          ? (e.memoizedState = {
-              isBackwards: t,
-              rendering: null,
-              renderingStartTime: 0,
-              last: r,
-              tail: n,
-              tailMode: l,
-              lastEffect: a,
-            })
-          : ((o.isBackwards = t),
-            (o.rendering = null),
-            (o.renderingStartTime = 0),
-            (o.last = r),
-            (o.tail = n),
-            (o.tailMode = l),
-            (o.lastEffect = a))
-      }
-      function tu(e, t, n) {
-        var r = t.pendingProps,
-          l = r.revealOrder,
-          a = r.tail
-        if ((Io(e, t, r.children, n), 0 !== (2 & (r = Ma.current))))
-          (r = (1 & r) | 2), (t.flags |= 64)
-        else {
-          if (null !== e && 0 !== (64 & e.flags))
-            e: for (e = t.child; null !== e; ) {
-              if (13 === e.tag) null !== e.memoizedState && Jo(e, n)
-              else if (19 === e.tag) Jo(e, n)
-              else if (null !== e.child) {
-                ;(e.child.return = e), (e = e.child)
-                continue
-              }
-              if (e === t) break e
-              for (; null === e.sibling; ) {
-                if (null === e.return || e.return === t) break e
-                e = e.return
-              }
-              ;(e.sibling.return = e.return), (e = e.sibling)
-            }
-          r &= 1
-        }
-        if ((il(Ma, r), 0 === (2 & t.mode))) t.memoizedState = null
-        else
-          switch (l) {
-            case 'forwards':
-              for (n = t.child, l = null; null !== n; )
-                null !== (e = n.alternate) && null === Ia(e) && (l = n), (n = n.sibling)
-              null === (n = l)
-                ? ((l = t.child), (t.child = null))
-                : ((l = n.sibling), (n.sibling = null)),
-                eu(t, !1, l, n, a, t.lastEffect)
-              break
-            case 'backwards':
-              for (n = null, l = t.child, t.child = null; null !== l; ) {
-                if (null !== (e = l.alternate) && null === Ia(e)) {
-                  t.child = l
-                  break
-                }
-                ;(e = l.sibling), (l.sibling = n), (n = l), (l = e)
-              }
-              eu(t, !0, n, null, a, t.lastEffect)
-              break
-            case 'together':
-              eu(t, !1, null, null, void 0, t.lastEffect)
-              break
-            default:
-              t.memoizedState = null
-          }
-        return t.child
-      }
-      function nu(e, t, n) {
-        if (
-          (null !== e && (t.dependencies = e.dependencies),
-          (Uu |= t.lanes),
-          0 !== (n & t.childLanes))
-        ) {
-          if (null !== e && t.child !== e.child) throw Error(o(153))
-          if (null !== t.child) {
-            for (
-              n = Wi((e = t.child), e.pendingProps), t.child = n, n.return = t;
-              null !== e.sibling;
-
-            )
-              (e = e.sibling), ((n = n.sibling = Wi(e, e.pendingProps)).return = t)
-            n.sibling = null
-          }
-          return t.child
-        }
-        return null
-      }
-      function ru(e, t) {
-        if (!Ua)
-          switch (e.tailMode) {
-            case 'hidden':
-              t = e.tail
-              for (var n = null; null !== t; ) null !== t.alternate && (n = t), (t = t.sibling)
-              null === n ? (e.tail = null) : (n.sibling = null)
-              break
-            case 'collapsed':
-              n = e.tail
-              for (var r = null; null !== n; ) null !== n.alternate && (r = n), (n = n.sibling)
-              null === r
-                ? t || null === e.tail
-                  ? (e.tail = null)
-                  : (e.tail.sibling = null)
-                : (r.sibling = null)
-          }
-      }
-      function lu(e, t, n) {
-        var r = t.pendingProps
-        switch (t.tag) {
-          case 2:
-          case 16:
-          case 15:
-          case 0:
-          case 11:
-          case 7:
-          case 8:
-          case 12:
-          case 9:
-          case 14:
-            return null
-          case 1:
-            return hl(t.type) && ml(), null
-          case 3:
-            return (
-              za(),
-              ul(fl),
-              ul(cl),
-              Qa(),
-              (r = t.stateNode).pendingContext &&
-                ((r.context = r.pendingContext), (r.pendingContext = null)),
-              (null !== e && null !== e.child) ||
-                (Wa(t) ? (t.flags |= 4) : r.hydrate || (t.flags |= 256)),
-              null
-            )
-          case 5:
-            Ra(t)
-            var a = Ta(Na.current)
-            if (((n = t.type), null !== e && null != t.stateNode))
-              Qo(e, t, n, r), e.ref !== t.ref && (t.flags |= 128)
-            else {
-              if (!r) {
-                if (null === t.stateNode) throw Error(o(166))
-                return null
-              }
-              if (((e = Ta(Ca.current)), Wa(t))) {
-                ;(r = t.stateNode), (n = t.type)
-                var u = t.memoizedProps
-                switch (((r[Yr] = t), (r[Xr] = u), n)) {
-                  case 'dialog':
-                    Pr('cancel', r), Pr('close', r)
-                    break
-                  case 'iframe':
-                  case 'object':
-                  case 'embed':
-                    Pr('load', r)
-                    break
-                  case 'video':
-                  case 'audio':
-                    for (e = 0; e < Sr.length; e++) Pr(Sr[e], r)
-                    break
-                  case 'source':
-                    Pr('error', r)
-                    break
-                  case 'img':
-                  case 'image':
-                  case 'link':
-                    Pr('error', r), Pr('load', r)
-                    break
-                  case 'details':
-                    Pr('toggle', r)
-                    break
-                  case 'input':
-                    ee(r, u), Pr('invalid', r)
-                    break
-                  case 'select':
-                    ;(r._wrapperState = { wasMultiple: !!u.multiple }), Pr('invalid', r)
-                    break
-                  case 'textarea':
-                    ie(r, u), Pr('invalid', r)
-                }
-                for (var s in (_e(n, u), (e = null), u))
-                  u.hasOwnProperty(s) &&
-                    ((a = u[s]),
-                    'children' === s
-                      ? 'string' === typeof a
-                        ? r.textContent !== a && (e = ['children', a])
-                        : 'number' === typeof a &&
-                          r.textContent !== '' + a &&
-                          (e = ['children', '' + a])
-                      : i.hasOwnProperty(s) && null != a && 'onScroll' === s && Pr('scroll', r))
-                switch (n) {
-                  case 'input':
-                    X(r), re(r, u, !0)
-                    break
-                  case 'textarea':
-                    X(r), ce(r)
-                    break
-                  case 'select':
-                  case 'option':
-                    break
-                  default:
-                    'function' === typeof u.onClick && (r.onclick = Fr)
-                }
-                ;(r = e), (t.updateQueue = r), null !== r && (t.flags |= 4)
-              } else {
-                switch (
-                  ((s = 9 === a.nodeType ? a : a.ownerDocument),
-                  e === fe && (e = pe(n)),
-                  e === fe
-                    ? 'script' === n
-                      ? (((e = s.createElement('div')).innerHTML = '<script></script>'),
-                        (e = e.removeChild(e.firstChild)))
-                      : 'string' === typeof r.is
-                      ? (e = s.createElement(n, { is: r.is }))
-                      : ((e = s.createElement(n)),
-                        'select' === n &&
-                          ((s = e), r.multiple ? (s.multiple = !0) : r.size && (s.size = r.size)))
-                    : (e = s.createElementNS(e, n)),
-                  (e[Yr] = t),
-                  (e[Xr] = r),
-                  Ho(e, t),
-                  (t.stateNode = e),
-                  (s = xe(n, r)),
-                  n)
-                ) {
-                  case 'dialog':
-                    Pr('cancel', e), Pr('close', e), (a = r)
-                    break
-                  case 'iframe':
-                  case 'object':
-                  case 'embed':
-                    Pr('load', e), (a = r)
-                    break
-                  case 'video':
-                  case 'audio':
-                    for (a = 0; a < Sr.length; a++) Pr(Sr[a], e)
-                    a = r
-                    break
-                  case 'source':
-                    Pr('error', e), (a = r)
-                    break
-                  case 'img':
-                  case 'image':
-                  case 'link':
-                    Pr('error', e), Pr('load', e), (a = r)
-                    break
-                  case 'details':
-                    Pr('toggle', e), (a = r)
-                    break
-                  case 'input':
-                    ee(e, r), (a = J(e, r)), Pr('invalid', e)
-                    break
-                  case 'option':
-                    a = ae(e, r)
-                    break
-                  case 'select':
-                    ;(e._wrapperState = { wasMultiple: !!r.multiple }),
-                      (a = l({}, r, { value: void 0 })),
-                      Pr('invalid', e)
-                    break
-                  case 'textarea':
-                    ie(e, r), (a = ue(e, r)), Pr('invalid', e)
-                    break
-                  default:
-                    a = r
-                }
-                _e(n, a)
-                var c = a
-                for (u in c)
-                  if (c.hasOwnProperty(u)) {
-                    var f = c[u]
-                    'style' === u
-                      ? Ee(e, f)
-                      : 'dangerouslySetInnerHTML' === u
-                      ? null != (f = f ? f.__html : void 0) && ye(e, f)
-                      : 'children' === u
-                      ? 'string' === typeof f
-                        ? ('textarea' !== n || '' !== f) && ge(e, f)
-                        : 'number' === typeof f && ge(e, '' + f)
-                      : 'suppressContentEditableWarning' !== u &&
-                        'suppressHydrationWarning' !== u &&
-                        'autoFocus' !== u &&
-                        (i.hasOwnProperty(u)
-                          ? null != f && 'onScroll' === u && Pr('scroll', e)
-                          : null != f && w(e, u, f, s))
-                  }
-                switch (n) {
-                  case 'input':
-                    X(e), re(e, r, !1)
-                    break
-                  case 'textarea':
-                    X(e), ce(e)
-                    break
-                  case 'option':
-                    null != r.value && e.setAttribute('value', '' + K(r.value))
-                    break
-                  case 'select':
-                    ;(e.multiple = !!r.multiple),
-                      null != (u = r.value)
-                        ? oe(e, !!r.multiple, u, !1)
-                        : null != r.defaultValue && oe(e, !!r.multiple, r.defaultValue, !0)
-                    break
-                  default:
-                    'function' === typeof a.onClick && (e.onclick = Fr)
-                }
-                Vr(n, r) && (t.flags |= 4)
-              }
-              null !== t.ref && (t.flags |= 128)
-            }
-            return null
-          case 6:
-            if (e && null != t.stateNode) qo(0, t, e.memoizedProps, r)
-            else {
-              if ('string' !== typeof r && null === t.stateNode) throw Error(o(166))
-              ;(n = Ta(Na.current)),
-                Ta(Ca.current),
-                Wa(t)
-                  ? ((r = t.stateNode),
-                    (n = t.memoizedProps),
-                    (r[Yr] = t),
-                    r.nodeValue !== n && (t.flags |= 4))
-                  : (((r = (9 === n.nodeType ? n : n.ownerDocument).createTextNode(r))[Yr] = t),
-                    (t.stateNode = r))
-            }
-            return null
-          case 13:
-            return (
-              ul(Ma),
-              (r = t.memoizedState),
-              0 !== (64 & t.flags)
-                ? ((t.lanes = n), t)
-                : ((r = null !== r),
-                  (n = !1),
-                  null === e
-                    ? void 0 !== t.memoizedProps.fallback && Wa(t)
-                    : (n = null !== e.memoizedState),
-                  r &&
-                    !n &&
-                    0 !== (2 & t.mode) &&
-                    ((null === e && !0 !== t.memoizedProps.unstable_avoidThisFallback) ||
-                    0 !== (1 & Ma.current)
-                      ? 0 === Iu && (Iu = 3)
-                      : ((0 !== Iu && 3 !== Iu) || (Iu = 4),
-                        null === Lu ||
-                          (0 === (134217727 & Uu) && 0 === (134217727 & Au)) ||
-                          mi(Lu, Ou))),
-                  (r || n) && (t.flags |= 4),
-                  null)
-            )
-          case 4:
-            return za(), null === e && Tr(t.stateNode.containerInfo), null
-          case 10:
-            return ea(t), null
-          case 17:
-            return hl(t.type) && ml(), null
-          case 19:
-            if ((ul(Ma), null === (r = t.memoizedState))) return null
-            if (((u = 0 !== (64 & t.flags)), null === (s = r.rendering)))
-              if (u) ru(r, !1)
-              else {
-                if (0 !== Iu || (null !== e && 0 !== (64 & e.flags)))
-                  for (e = t.child; null !== e; ) {
-                    if (null !== (s = Ia(e))) {
-                      for (
-                        t.flags |= 64,
-                          ru(r, !1),
-                          null !== (u = s.updateQueue) && ((t.updateQueue = u), (t.flags |= 4)),
-                          null === r.lastEffect && (t.firstEffect = null),
-                          t.lastEffect = r.lastEffect,
-                          r = n,
-                          n = t.child;
-                        null !== n;
-
-                      )
-                        (e = r),
-                          ((u = n).flags &= 2),
-                          (u.nextEffect = null),
-                          (u.firstEffect = null),
-                          (u.lastEffect = null),
-                          null === (s = u.alternate)
-                            ? ((u.childLanes = 0),
-                              (u.lanes = e),
-                              (u.child = null),
-                              (u.memoizedProps = null),
-                              (u.memoizedState = null),
-                              (u.updateQueue = null),
-                              (u.dependencies = null),
-                              (u.stateNode = null))
-                            : ((u.childLanes = s.childLanes),
-                              (u.lanes = s.lanes),
-                              (u.child = s.child),
-                              (u.memoizedProps = s.memoizedProps),
-                              (u.memoizedState = s.memoizedState),
-                              (u.updateQueue = s.updateQueue),
-                              (u.type = s.type),
-                              (e = s.dependencies),
-                              (u.dependencies =
-                                null === e
-                                  ? null
-                                  : { lanes: e.lanes, firstContext: e.firstContext })),
-                          (n = n.sibling)
-                      return il(Ma, (1 & Ma.current) | 2), t.child
-                    }
-                    e = e.sibling
-                  }
-                null !== r.tail &&
-                  Vl() > Wu &&
-                  ((t.flags |= 64), (u = !0), ru(r, !1), (t.lanes = 33554432))
-              }
-            else {
-              if (!u)
-                if (null !== (e = Ia(s))) {
-                  if (
-                    ((t.flags |= 64),
-                    (u = !0),
-                    null !== (n = e.updateQueue) && ((t.updateQueue = n), (t.flags |= 4)),
-                    ru(r, !0),
-                    null === r.tail && 'hidden' === r.tailMode && !s.alternate && !Ua)
-                  )
-                    return null !== (t = t.lastEffect = r.lastEffect) && (t.nextEffect = null), null
-                } else
-                  2 * Vl() - r.renderingStartTime > Wu &&
-                    1073741824 !== n &&
-                    ((t.flags |= 64), (u = !0), ru(r, !1), (t.lanes = 33554432))
-              r.isBackwards
-                ? ((s.sibling = t.child), (t.child = s))
-                : (null !== (n = r.last) ? (n.sibling = s) : (t.child = s), (r.last = s))
-            }
-            return null !== r.tail
-              ? ((n = r.tail),
-                (r.rendering = n),
-                (r.tail = n.sibling),
-                (r.lastEffect = t.lastEffect),
-                (r.renderingStartTime = Vl()),
-                (n.sibling = null),
-                (t = Ma.current),
-                il(Ma, u ? (1 & t) | 2 : 1 & t),
-                n)
-              : null
-          case 23:
-          case 24:
-            return (
-              wi(),
-              null !== e &&
-                (null !== e.memoizedState) !== (null !== t.memoizedState) &&
-                'unstable-defer-without-hiding' !== r.mode &&
-                (t.flags |= 4),
-              null
-            )
-        }
-        throw Error(o(156, t.tag))
-      }
-      function au(e) {
-        switch (e.tag) {
-          case 1:
-            hl(e.type) && ml()
-            var t = e.flags
-            return 4096 & t ? ((e.flags = (-4097 & t) | 64), e) : null
-          case 3:
-            if ((za(), ul(fl), ul(cl), Qa(), 0 !== (64 & (t = e.flags)))) throw Error(o(285))
-            return (e.flags = (-4097 & t) | 64), e
-          case 5:
-            return Ra(e), null
-          case 13:
-            return ul(Ma), 4096 & (t = e.flags) ? ((e.flags = (-4097 & t) | 64), e) : null
-          case 19:
-            return ul(Ma), null
-          case 4:
-            return za(), null
-          case 10:
-            return ea(e), null
-          case 23:
-          case 24:
-            return wi(), null
-          default:
-            return null
-        }
-      }
-      function ou(e, t) {
-        try {
-          var n = '',
-            r = t
-          do {
-            ;(n += Q(r)), (r = r.return)
-          } while (r)
-          var l = n
-        } catch (a) {
-          l = '\nError generating stack: ' + a.message + '\n' + a.stack
-        }
-        return { value: e, source: t, stack: l }
-      }
-      function uu(e, t) {
-        try {
-          console.error(t.value)
-        } catch (n) {
-          setTimeout(function () {
-            throw n
-          })
-        }
-      }
-      ;(Ho = function (e, t) {
-        for (var n = t.child; null !== n; ) {
-          if (5 === n.tag || 6 === n.tag) e.appendChild(n.stateNode)
-          else if (4 !== n.tag && null !== n.child) {
-            ;(n.child.return = n), (n = n.child)
-            continue
-          }
-          if (n === t) break
-          for (; null === n.sibling; ) {
-            if (null === n.return || n.return === t) return
-            n = n.return
-          }
-          ;(n.sibling.return = n.return), (n = n.sibling)
-        }
-      }),
-        (Qo = function (e, t, n, r) {
-          var a = e.memoizedProps
-          if (a !== r) {
-            ;(e = t.stateNode), Ta(Ca.current)
-            var o,
-              u = null
-            switch (n) {
-              case 'input':
-                ;(a = J(e, a)), (r = J(e, r)), (u = [])
-                break
-              case 'option':
-                ;(a = ae(e, a)), (r = ae(e, r)), (u = [])
-                break
-              case 'select':
-                ;(a = l({}, a, { value: void 0 })), (r = l({}, r, { value: void 0 })), (u = [])
-                break
-              case 'textarea':
-                ;(a = ue(e, a)), (r = ue(e, r)), (u = [])
-                break
-              default:
-                'function' !== typeof a.onClick &&
-                  'function' === typeof r.onClick &&
-                  (e.onclick = Fr)
-            }
-            for (f in (_e(n, r), (n = null), a))
-              if (!r.hasOwnProperty(f) && a.hasOwnProperty(f) && null != a[f])
-                if ('style' === f) {
-                  var s = a[f]
-                  for (o in s) s.hasOwnProperty(o) && (n || (n = {}), (n[o] = ''))
-                } else
-                  'dangerouslySetInnerHTML' !== f &&
-                    'children' !== f &&
-                    'suppressContentEditableWarning' !== f &&
-                    'suppressHydrationWarning' !== f &&
-                    'autoFocus' !== f &&
-                    (i.hasOwnProperty(f) ? u || (u = []) : (u = u || []).push(f, null))
-            for (f in r) {
-              var c = r[f]
-              if (
-                ((s = null != a ? a[f] : void 0),
-                r.hasOwnProperty(f) && c !== s && (null != c || null != s))
-              )
-                if ('style' === f)
-                  if (s) {
-                    for (o in s)
-                      !s.hasOwnProperty(o) ||
-                        (c && c.hasOwnProperty(o)) ||
-                        (n || (n = {}), (n[o] = ''))
-                    for (o in c)
-                      c.hasOwnProperty(o) && s[o] !== c[o] && (n || (n = {}), (n[o] = c[o]))
-                  } else n || (u || (u = []), u.push(f, n)), (n = c)
-                else
-                  'dangerouslySetInnerHTML' === f
-                    ? ((c = c ? c.__html : void 0),
-                      (s = s ? s.__html : void 0),
-                      null != c && s !== c && (u = u || []).push(f, c))
-                    : 'children' === f
-                    ? ('string' !== typeof c && 'number' !== typeof c) ||
-                      (u = u || []).push(f, '' + c)
-                    : 'suppressContentEditableWarning' !== f &&
-                      'suppressHydrationWarning' !== f &&
-                      (i.hasOwnProperty(f)
-                        ? (null != c && 'onScroll' === f && Pr('scroll', e),
-                          u || s === c || (u = []))
-                        : 'object' === typeof c && null !== c && c.$$typeof === I
-                        ? c.toString()
-                        : (u = u || []).push(f, c))
-            }
-            n && (u = u || []).push('style', n)
-            var f = u
-            ;(t.updateQueue = f) && (t.flags |= 4)
-          }
-        }),
-        (qo = function (e, t, n, r) {
-          n !== r && (t.flags |= 4)
-        })
-      var iu = 'function' === typeof WeakMap ? WeakMap : Map
-      function su(e, t, n) {
-        ;((n = ua(-1, n)).tag = 3), (n.payload = { element: null })
-        var r = t.value
-        return (
-          (n.callback = function () {
-            qu || ((qu = !0), (Ku = r)), uu(0, t)
-          }),
-          n
-        )
-      }
-      function cu(e, t, n) {
-        ;(n = ua(-1, n)).tag = 3
-        var r = e.type.getDerivedStateFromError
-        if ('function' === typeof r) {
-          var l = t.value
-          n.payload = function () {
-            return uu(0, t), r(l)
-          }
-        }
-        var a = e.stateNode
-        return (
-          null !== a &&
-            'function' === typeof a.componentDidCatch &&
-            (n.callback = function () {
-              'function' !== typeof r &&
-                (null === Yu ? (Yu = new Set([this])) : Yu.add(this), uu(0, t))
-              var e = t.stack
-              this.componentDidCatch(t.value, { componentStack: null !== e ? e : '' })
-            }),
-          n
-        )
-      }
-      var fu = 'function' === typeof WeakSet ? WeakSet : Set
-      function du(e) {
-        var t = e.ref
-        if (null !== t)
-          if ('function' === typeof t)
-            try {
-              t(null)
-            } catch (n) {
-              Fi(e, n)
-            }
-          else t.current = null
-      }
-      function pu(e, t) {
-        switch (t.tag) {
-          case 0:
-          case 11:
-          case 15:
-          case 22:
-            return
-          case 1:
-            if (256 & t.flags && null !== e) {
-              var n = e.memoizedProps,
-                r = e.memoizedState
-              ;(t = (e = t.stateNode).getSnapshotBeforeUpdate(
-                t.elementType === t.type ? n : Kl(t.type, n),
-                r,
-              )),
-                (e.__reactInternalSnapshotBeforeUpdate = t)
-            }
-            return
-          case 3:
-            return void (256 & t.flags && $r(t.stateNode.containerInfo))
-          case 5:
-          case 6:
-          case 4:
-          case 17:
-            return
-        }
-        throw Error(o(163))
-      }
-      function hu(e, t, n) {
-        switch (n.tag) {
-          case 0:
-          case 11:
-          case 15:
-          case 22:
-            if (null !== (t = null !== (t = n.updateQueue) ? t.lastEffect : null)) {
-              e = t = t.next
-              do {
-                if (3 === (3 & e.tag)) {
-                  var r = e.create
-                  e.destroy = r()
-                }
-                e = e.next
-              } while (e !== t)
-            }
-            if (null !== (t = null !== (t = n.updateQueue) ? t.lastEffect : null)) {
-              e = t = t.next
-              do {
-                var l = e
-                ;(r = l.next),
-                  0 !== (4 & (l = l.tag)) && 0 !== (1 & l) && (Mi(n, e), Ri(n, e)),
-                  (e = r)
-              } while (e !== t)
-            }
-            return
-          case 1:
-            return (
-              (e = n.stateNode),
-              4 & n.flags &&
-                (null === t
-                  ? e.componentDidMount()
-                  : ((r = n.elementType === n.type ? t.memoizedProps : Kl(n.type, t.memoizedProps)),
-                    e.componentDidUpdate(
-                      r,
-                      t.memoizedState,
-                      e.__reactInternalSnapshotBeforeUpdate,
-                    ))),
-              void (null !== (t = n.updateQueue) && fa(n, t, e))
-            )
-          case 3:
-            if (null !== (t = n.updateQueue)) {
-              if (((e = null), null !== n.child))
-                switch (n.child.tag) {
-                  case 5:
-                    e = n.child.stateNode
-                    break
-                  case 1:
-                    e = n.child.stateNode
-                }
-              fa(n, t, e)
-            }
-            return
-          case 5:
-            return (
-              (e = n.stateNode),
-              void (null === t && 4 & n.flags && Vr(n.type, n.memoizedProps) && e.focus())
-            )
-          case 6:
-          case 4:
-          case 12:
-            return
-          case 13:
-            return void (
-              null === n.memoizedState &&
-              ((n = n.alternate),
-              null !== n &&
-                ((n = n.memoizedState), null !== n && ((n = n.dehydrated), null !== n && Et(n))))
-            )
-          case 19:
-          case 17:
-          case 20:
-          case 21:
-          case 23:
-          case 24:
-            return
-        }
-        throw Error(o(163))
-      }
-      function mu(e, t) {
-        for (var n = e; ; ) {
-          if (5 === n.tag) {
-            var r = n.stateNode
-            if (t)
-              'function' === typeof (r = r.style).setProperty
-                ? r.setProperty('display', 'none', 'important')
-                : (r.display = 'none')
-            else {
-              r = n.stateNode
-              var l = n.memoizedProps.style
-              ;(l = void 0 !== l && null !== l && l.hasOwnProperty('display') ? l.display : null),
-                (r.style.display = ke('display', l))
-            }
-          } else if (6 === n.tag) n.stateNode.nodeValue = t ? '' : n.memoizedProps
-          else if (
-            ((23 !== n.tag && 24 !== n.tag) || null === n.memoizedState || n === e) &&
-            null !== n.child
-          ) {
-            ;(n.child.return = n), (n = n.child)
-            continue
-          }
-          if (n === e) break
-          for (; null === n.sibling; ) {
-            if (null === n.return || n.return === e) return
-            n = n.return
-          }
-          ;(n.sibling.return = n.return), (n = n.sibling)
-        }
-      }
-      function vu(e, t) {
-        if (kl && 'function' === typeof kl.onCommitFiberUnmount)
-          try {
-            kl.onCommitFiberUnmount(wl, t)
-          } catch (a) {}
-        switch (t.tag) {
-          case 0:
-          case 11:
-          case 14:
-          case 15:
-          case 22:
-            if (null !== (e = t.updateQueue) && null !== (e = e.lastEffect)) {
-              var n = (e = e.next)
-              do {
-                var r = n,
-                  l = r.destroy
-                if (((r = r.tag), void 0 !== l))
-                  if (0 !== (4 & r)) Mi(t, n)
-                  else {
-                    r = t
-                    try {
-                      l()
-                    } catch (a) {
-                      Fi(r, a)
-                    }
-                  }
-                n = n.next
-              } while (n !== e)
-            }
-            break
-          case 1:
-            if ((du(t), 'function' === typeof (e = t.stateNode).componentWillUnmount))
-              try {
-                ;(e.props = t.memoizedProps), (e.state = t.memoizedState), e.componentWillUnmount()
-              } catch (a) {
-                Fi(t, a)
-              }
-            break
-          case 5:
-            du(t)
-            break
-          case 4:
-            Eu(e, t)
-        }
-      }
-      function yu(e) {
-        ;(e.alternate = null),
-          (e.child = null),
-          (e.dependencies = null),
-          (e.firstEffect = null),
-          (e.lastEffect = null),
-          (e.memoizedProps = null),
-          (e.memoizedState = null),
-          (e.pendingProps = null),
-          (e.return = null),
-          (e.updateQueue = null)
-      }
-      function gu(e) {
-        return 5 === e.tag || 3 === e.tag || 4 === e.tag
-      }
-      function bu(e) {
-        e: {
-          for (var t = e.return; null !== t; ) {
-            if (gu(t)) break e
-            t = t.return
-          }
-          throw Error(o(160))
-        }
-        var n = t
-        switch (((t = n.stateNode), n.tag)) {
-          case 5:
-            var r = !1
-            break
-          case 3:
-          case 4:
-            ;(t = t.containerInfo), (r = !0)
-            break
-          default:
-            throw Error(o(161))
-        }
-        16 & n.flags && (ge(t, ''), (n.flags &= -17))
-        e: t: for (n = e; ; ) {
-          for (; null === n.sibling; ) {
-            if (null === n.return || gu(n.return)) {
-              n = null
-              break e
-            }
-            n = n.return
-          }
-          for (
-            n.sibling.return = n.return, n = n.sibling;
-            5 !== n.tag && 6 !== n.tag && 18 !== n.tag;
-
-          ) {
-            if (2 & n.flags) continue t
-            if (null === n.child || 4 === n.tag) continue t
-            ;(n.child.return = n), (n = n.child)
-          }
-          if (!(2 & n.flags)) {
-            n = n.stateNode
-            break e
-          }
-        }
-        r ? wu(e, n, t) : ku(e, n, t)
-      }
-      function wu(e, t, n) {
-        var r = e.tag,
-          l = 5 === r || 6 === r
-        if (l)
-          (e = l ? e.stateNode : e.stateNode.instance),
-            t
-              ? 8 === n.nodeType
-                ? n.parentNode.insertBefore(e, t)
-                : n.insertBefore(e, t)
-              : (8 === n.nodeType ? (t = n.parentNode).insertBefore(e, n) : (t = n).appendChild(e),
-                (null !== (n = n._reactRootContainer) && void 0 !== n) ||
-                  null !== t.onclick ||
-                  (t.onclick = Fr))
-        else if (4 !== r && null !== (e = e.child))
-          for (wu(e, t, n), e = e.sibling; null !== e; ) wu(e, t, n), (e = e.sibling)
-      }
-      function ku(e, t, n) {
-        var r = e.tag,
-          l = 5 === r || 6 === r
-        if (l)
-          (e = l ? e.stateNode : e.stateNode.instance), t ? n.insertBefore(e, t) : n.appendChild(e)
-        else if (4 !== r && null !== (e = e.child))
-          for (ku(e, t, n), e = e.sibling; null !== e; ) ku(e, t, n), (e = e.sibling)
-      }
-      function Eu(e, t) {
-        for (var n, r, l = t, a = !1; ; ) {
-          if (!a) {
-            a = l.return
-            e: for (;;) {
-              if (null === a) throw Error(o(160))
-              switch (((n = a.stateNode), a.tag)) {
-                case 5:
-                  r = !1
-                  break e
-                case 3:
-                case 4:
-                  ;(n = n.containerInfo), (r = !0)
-                  break e
-              }
-              a = a.return
-            }
-            a = !0
-          }
-          if (5 === l.tag || 6 === l.tag) {
-            e: for (var u = e, i = l, s = i; ; )
-              if ((vu(u, s), null !== s.child && 4 !== s.tag)) (s.child.return = s), (s = s.child)
-              else {
-                if (s === i) break e
-                for (; null === s.sibling; ) {
-                  if (null === s.return || s.return === i) break e
-                  s = s.return
-                }
-                ;(s.sibling.return = s.return), (s = s.sibling)
-              }
-            r
-              ? ((u = n),
-                (i = l.stateNode),
-                8 === u.nodeType ? u.parentNode.removeChild(i) : u.removeChild(i))
-              : n.removeChild(l.stateNode)
-          } else if (4 === l.tag) {
-            if (null !== l.child) {
-              ;(n = l.stateNode.containerInfo), (r = !0), (l.child.return = l), (l = l.child)
-              continue
-            }
-          } else if ((vu(e, l), null !== l.child)) {
-            ;(l.child.return = l), (l = l.child)
-            continue
-          }
-          if (l === t) break
-          for (; null === l.sibling; ) {
-            if (null === l.return || l.return === t) return
-            4 === (l = l.return).tag && (a = !1)
-          }
-          ;(l.sibling.return = l.return), (l = l.sibling)
-        }
-      }
-      function Su(e, t) {
-        switch (t.tag) {
-          case 0:
-          case 11:
-          case 14:
-          case 15:
-          case 22:
-            var n = t.updateQueue
-            if (null !== (n = null !== n ? n.lastEffect : null)) {
-              var r = (n = n.next)
-              do {
-                3 === (3 & r.tag) && ((e = r.destroy), (r.destroy = void 0), void 0 !== e && e()),
-                  (r = r.next)
-              } while (r !== n)
-            }
-            return
-          case 1:
-            return
-          case 5:
-            if (null != (n = t.stateNode)) {
-              r = t.memoizedProps
-              var l = null !== e ? e.memoizedProps : r
-              e = t.type
-              var a = t.updateQueue
-              if (((t.updateQueue = null), null !== a)) {
-                for (
-                  n[Xr] = r,
-                    'input' === e && 'radio' === r.type && null != r.name && te(n, r),
-                    xe(e, l),
-                    t = xe(e, r),
-                    l = 0;
-                  l < a.length;
-                  l += 2
-                ) {
-                  var u = a[l],
-                    i = a[l + 1]
-                  'style' === u
-                    ? Ee(n, i)
-                    : 'dangerouslySetInnerHTML' === u
-                    ? ye(n, i)
-                    : 'children' === u
-                    ? ge(n, i)
-                    : w(n, u, i, t)
-                }
-                switch (e) {
-                  case 'input':
-                    ne(n, r)
-                    break
-                  case 'textarea':
-                    se(n, r)
-                    break
-                  case 'select':
-                    ;(e = n._wrapperState.wasMultiple),
-                      (n._wrapperState.wasMultiple = !!r.multiple),
-                      null != (a = r.value)
-                        ? oe(n, !!r.multiple, a, !1)
-                        : e !== !!r.multiple &&
-                          (null != r.defaultValue
-                            ? oe(n, !!r.multiple, r.defaultValue, !0)
-                            : oe(n, !!r.multiple, r.multiple ? [] : '', !1))
-                }
-              }
-            }
-            return
-          case 6:
-            if (null === t.stateNode) throw Error(o(162))
-            return void (t.stateNode.nodeValue = t.memoizedProps)
-          case 3:
-            return void ((n = t.stateNode).hydrate && ((n.hydrate = !1), Et(n.containerInfo)))
-          case 12:
-            return
-          case 13:
-            return null !== t.memoizedState && ((Bu = Vl()), mu(t.child, !0)), void _u(t)
-          case 19:
-            return void _u(t)
-          case 17:
-            return
-          case 23:
-          case 24:
-            return void mu(t, null !== t.memoizedState)
-        }
-        throw Error(o(163))
-      }
-      function _u(e) {
-        var t = e.updateQueue
-        if (null !== t) {
-          e.updateQueue = null
-          var n = e.stateNode
-          null === n && (n = e.stateNode = new fu()),
-            t.forEach(function (t) {
-              var r = Ai.bind(null, e, t)
-              n.has(t) || (n.add(t), t.then(r, r))
-            })
-        }
-      }
-      function xu(e, t) {
-        return (
-          null !== e &&
-          (null === (e = e.memoizedState) || null !== e.dehydrated) &&
-          null !== (t = t.memoizedState) &&
-          null === t.dehydrated
-        )
-      }
-      var Cu = Math.ceil,
-        Pu = k.ReactCurrentDispatcher,
-        Nu = k.ReactCurrentOwner,
-        Tu = 0,
-        Lu = null,
-        zu = null,
-        Ou = 0,
-        Ru = 0,
-        Mu = ol(0),
-        Iu = 0,
-        Du = null,
-        Fu = 0,
-        Uu = 0,
-        Au = 0,
-        Vu = 0,
-        ju = null,
-        Bu = 0,
-        Wu = 1 / 0
-      function $u() {
-        Wu = Vl() + 500
-      }
-      var Hu,
-        Qu = null,
-        qu = !1,
-        Ku = null,
-        Yu = null,
-        Xu = !1,
-        Gu = null,
-        Zu = 90,
-        Ju = [],
-        ei = [],
-        ti = null,
-        ni = 0,
-        ri = null,
-        li = -1,
-        ai = 0,
-        oi = 0,
-        ui = null,
-        ii = !1
-      function si() {
-        return 0 !== (48 & Tu) ? Vl() : -1 !== li ? li : (li = Vl())
-      }
-      function ci(e) {
-        if (0 === (2 & (e = e.mode))) return 1
-        if (0 === (4 & e)) return 99 === jl() ? 1 : 2
-        if ((0 === ai && (ai = Fu), 0 !== ql.transition)) {
-          0 !== oi && (oi = null !== ju ? ju.pendingLanes : 0), (e = ai)
-          var t = 4186112 & ~oi
-          return 0 === (t &= -t) && 0 === (t = (e = 4186112 & ~e) & -e) && (t = 8192), t
-        }
-        return (
-          (e = jl()),
-          0 !== (4 & Tu) && 98 === e
-            ? (e = Vt(12, ai))
-            : (e = Vt(
-                (e = (function (e) {
-                  switch (e) {
-                    case 99:
-                      return 15
-                    case 98:
-                      return 10
-                    case 97:
-                    case 96:
-                      return 8
-                    case 95:
-                      return 2
-                    default:
-                      return 0
-                  }
-                })(e)),
-                ai,
-              )),
-          e
-        )
-      }
-      function fi(e, t, n) {
-        if (50 < ni) throw ((ni = 0), (ri = null), Error(o(185)))
-        if (null === (e = di(e, t))) return null
-        Wt(e, t, n), e === Lu && ((Au |= t), 4 === Iu && mi(e, Ou))
-        var r = jl()
-        1 === t
-          ? 0 !== (8 & Tu) && 0 === (48 & Tu)
-            ? vi(e)
-            : (pi(e, n), 0 === Tu && ($u(), Hl()))
-          : (0 === (4 & Tu) ||
-              (98 !== r && 99 !== r) ||
-              (null === ti ? (ti = new Set([e])) : ti.add(e)),
-            pi(e, n)),
-          (ju = e)
-      }
-      function di(e, t) {
-        e.lanes |= t
-        var n = e.alternate
-        for (null !== n && (n.lanes |= t), n = e, e = e.return; null !== e; )
-          (e.childLanes |= t),
-            null !== (n = e.alternate) && (n.childLanes |= t),
-            (n = e),
-            (e = e.return)
-        return 3 === n.tag ? n.stateNode : null
-      }
-      function pi(e, t) {
-        for (
-          var n = e.callbackNode,
-            r = e.suspendedLanes,
-            l = e.pingedLanes,
-            a = e.expirationTimes,
-            u = e.pendingLanes;
-          0 < u;
-
-        ) {
-          var i = 31 - $t(u),
-            s = 1 << i,
-            c = a[i]
-          if (-1 === c) {
-            if (0 === (s & r) || 0 !== (s & l)) {
-              ;(c = t), Ft(s)
-              var f = Dt
-              a[i] = 10 <= f ? c + 250 : 6 <= f ? c + 5e3 : -1
-            }
-          } else c <= t && (e.expiredLanes |= s)
-          u &= ~s
-        }
-        if (((r = Ut(e, e === Lu ? Ou : 0)), (t = Dt), 0 === r))
-          null !== n && (n !== Ml && _l(n), (e.callbackNode = null), (e.callbackPriority = 0))
-        else {
-          if (null !== n) {
-            if (e.callbackPriority === t) return
-            n !== Ml && _l(n)
-          }
-          15 === t
-            ? ((n = vi.bind(null, e)),
-              null === Dl ? ((Dl = [n]), (Fl = Sl(Tl, Ql))) : Dl.push(n),
-              (n = Ml))
-            : 14 === t
-            ? (n = $l(99, vi.bind(null, e)))
-            : (n = $l(
-                (n = (function (e) {
-                  switch (e) {
-                    case 15:
-                    case 14:
-                      return 99
-                    case 13:
-                    case 12:
-                    case 11:
-                    case 10:
-                      return 98
-                    case 9:
-                    case 8:
-                    case 7:
-                    case 6:
-                    case 4:
-                    case 5:
-                      return 97
-                    case 3:
-                    case 2:
-                    case 1:
-                      return 95
-                    case 0:
-                      return 90
-                    default:
-                      throw Error(o(358, e))
-                  }
-                })(t)),
-                hi.bind(null, e),
-              )),
-            (e.callbackPriority = t),
-            (e.callbackNode = n)
-        }
-      }
-      function hi(e) {
-        if (((li = -1), (oi = ai = 0), 0 !== (48 & Tu))) throw Error(o(327))
-        var t = e.callbackNode
-        if (Oi() && e.callbackNode !== t) return null
-        var n = Ut(e, e === Lu ? Ou : 0)
-        if (0 === n) return null
-        var r = n,
-          l = Tu
-        Tu |= 16
-        var a = Si()
-        for ((Lu === e && Ou === r) || ($u(), ki(e, r)); ; )
-          try {
-            Ci()
-            break
-          } catch (i) {
-            Ei(e, i)
-          }
-        if (
-          (Jl(),
-          (Pu.current = a),
-          (Tu = l),
-          null !== zu ? (r = 0) : ((Lu = null), (Ou = 0), (r = Iu)),
-          0 !== (Fu & Au))
-        )
-          ki(e, 0)
-        else if (0 !== r) {
-          if (
-            (2 === r &&
-              ((Tu |= 64),
-              e.hydrate && ((e.hydrate = !1), $r(e.containerInfo)),
-              0 !== (n = At(e)) && (r = _i(e, n))),
-            1 === r)
-          )
-            throw ((t = Du), ki(e, 0), mi(e, n), pi(e, Vl()), t)
-          switch (((e.finishedWork = e.current.alternate), (e.finishedLanes = n), r)) {
-            case 0:
-            case 1:
-              throw Error(o(345))
-            case 2:
-              Ti(e)
-              break
-            case 3:
-              if ((mi(e, n), (62914560 & n) === n && 10 < (r = Bu + 500 - Vl()))) {
-                if (0 !== Ut(e, 0)) break
-                if (((l = e.suspendedLanes) & n) !== n) {
-                  si(), (e.pingedLanes |= e.suspendedLanes & l)
-                  break
-                }
-                e.timeoutHandle = Br(Ti.bind(null, e), r)
-                break
-              }
-              Ti(e)
-              break
-            case 4:
-              if ((mi(e, n), (4186112 & n) === n)) break
-              for (r = e.eventTimes, l = -1; 0 < n; ) {
-                var u = 31 - $t(n)
-                ;(a = 1 << u), (u = r[u]) > l && (l = u), (n &= ~a)
-              }
-              if (
-                ((n = l),
-                10 <
-                  (n =
-                    (120 > (n = Vl() - n)
-                      ? 120
-                      : 480 > n
-                      ? 480
-                      : 1080 > n
-                      ? 1080
-                      : 1920 > n
-                      ? 1920
-                      : 3e3 > n
-                      ? 3e3
-                      : 4320 > n
-                      ? 4320
-                      : 1960 * Cu(n / 1960)) - n))
-              ) {
-                e.timeoutHandle = Br(Ti.bind(null, e), n)
-                break
-              }
-              Ti(e)
-              break
-            case 5:
-              Ti(e)
-              break
-            default:
-              throw Error(o(329))
-          }
-        }
-        return pi(e, Vl()), e.callbackNode === t ? hi.bind(null, e) : null
-      }
-      function mi(e, t) {
-        for (
-          t &= ~Vu, t &= ~Au, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes;
-          0 < t;
-
-        ) {
-          var n = 31 - $t(t),
-            r = 1 << n
-          ;(e[n] = -1), (t &= ~r)
-        }
-      }
-      function vi(e) {
-        if (0 !== (48 & Tu)) throw Error(o(327))
-        if ((Oi(), e === Lu && 0 !== (e.expiredLanes & Ou))) {
-          var t = Ou,
-            n = _i(e, t)
-          0 !== (Fu & Au) && (n = _i(e, (t = Ut(e, t))))
-        } else n = _i(e, (t = Ut(e, 0)))
-        if (
-          (0 !== e.tag &&
-            2 === n &&
-            ((Tu |= 64),
-            e.hydrate && ((e.hydrate = !1), $r(e.containerInfo)),
-            0 !== (t = At(e)) && (n = _i(e, t))),
-          1 === n)
-        )
-          throw ((n = Du), ki(e, 0), mi(e, t), pi(e, Vl()), n)
-        return (
-          (e.finishedWork = e.current.alternate), (e.finishedLanes = t), Ti(e), pi(e, Vl()), null
-        )
-      }
-      function yi(e, t) {
-        var n = Tu
-        Tu |= 1
-        try {
-          return e(t)
-        } finally {
-          0 === (Tu = n) && ($u(), Hl())
-        }
-      }
-      function gi(e, t) {
-        var n = Tu
-        ;(Tu &= -2), (Tu |= 8)
-        try {
-          return e(t)
-        } finally {
-          0 === (Tu = n) && ($u(), Hl())
-        }
-      }
-      function bi(e, t) {
-        il(Mu, Ru), (Ru |= t), (Fu |= t)
-      }
-      function wi() {
-        ;(Ru = Mu.current), ul(Mu)
-      }
-      function ki(e, t) {
-        ;(e.finishedWork = null), (e.finishedLanes = 0)
-        var n = e.timeoutHandle
-        if ((-1 !== n && ((e.timeoutHandle = -1), Wr(n)), null !== zu))
-          for (n = zu.return; null !== n; ) {
-            var r = n
-            switch (r.tag) {
-              case 1:
-                null !== (r = r.type.childContextTypes) && void 0 !== r && ml()
-                break
-              case 3:
-                za(), ul(fl), ul(cl), Qa()
-                break
-              case 5:
-                Ra(r)
-                break
-              case 4:
-                za()
-                break
-              case 13:
-              case 19:
-                ul(Ma)
-                break
-              case 10:
-                ea(r)
-                break
-              case 23:
-              case 24:
-                wi()
-            }
-            n = n.return
-          }
-        ;(Lu = e),
-          (zu = Wi(e.current, null)),
-          (Ou = Ru = Fu = t),
-          (Iu = 0),
-          (Du = null),
-          (Vu = Au = Uu = 0)
-      }
-      function Ei(e, t) {
-        for (;;) {
-          var n = zu
-          try {
-            if ((Jl(), (qa.current = To), Ja)) {
-              for (var r = Xa.memoizedState; null !== r; ) {
-                var l = r.queue
-                null !== l && (l.pending = null), (r = r.next)
-              }
-              Ja = !1
-            }
-            if (
-              ((Ya = 0),
-              (Za = Ga = Xa = null),
-              (eo = !1),
-              (Nu.current = null),
-              null === n || null === n.return)
-            ) {
-              ;(Iu = 1), (Du = t), (zu = null)
-              break
-            }
-            e: {
-              var a = e,
-                o = n.return,
-                u = n,
-                i = t
-              if (
-                ((t = Ou),
-                (u.flags |= 2048),
-                (u.firstEffect = u.lastEffect = null),
-                null !== i && 'object' === typeof i && 'function' === typeof i.then)
-              ) {
-                var s = i
-                if (0 === (2 & u.mode)) {
-                  var c = u.alternate
-                  c
-                    ? ((u.updateQueue = c.updateQueue),
-                      (u.memoizedState = c.memoizedState),
-                      (u.lanes = c.lanes))
-                    : ((u.updateQueue = null), (u.memoizedState = null))
-                }
-                var f = 0 !== (1 & Ma.current),
-                  d = o
-                do {
-                  var p
-                  if ((p = 13 === d.tag)) {
-                    var h = d.memoizedState
-                    if (null !== h) p = null !== h.dehydrated
-                    else {
-                      var m = d.memoizedProps
-                      p = void 0 !== m.fallback && (!0 !== m.unstable_avoidThisFallback || !f)
-                    }
-                  }
-                  if (p) {
-                    var v = d.updateQueue
-                    if (null === v) {
-                      var y = new Set()
-                      y.add(s), (d.updateQueue = y)
-                    } else v.add(s)
-                    if (0 === (2 & d.mode)) {
-                      if (((d.flags |= 64), (u.flags |= 16384), (u.flags &= -2981), 1 === u.tag))
-                        if (null === u.alternate) u.tag = 17
-                        else {
-                          var g = ua(-1, 1)
-                          ;(g.tag = 2), ia(u, g)
-                        }
-                      u.lanes |= 1
-                      break e
-                    }
-                    ;(i = void 0), (u = t)
-                    var b = a.pingCache
-                    if (
-                      (null === b
-                        ? ((b = a.pingCache = new iu()), (i = new Set()), b.set(s, i))
-                        : void 0 === (i = b.get(s)) && ((i = new Set()), b.set(s, i)),
-                      !i.has(u))
-                    ) {
-                      i.add(u)
-                      var w = Ui.bind(null, a, s, u)
-                      s.then(w, w)
-                    }
-                    ;(d.flags |= 4096), (d.lanes = t)
-                    break e
-                  }
-                  d = d.return
-                } while (null !== d)
-                i = Error(
-                  (q(u.type) || 'A React component') +
-                    ' suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.',
-                )
-              }
-              5 !== Iu && (Iu = 2), (i = ou(i, u)), (d = o)
-              do {
-                switch (d.tag) {
-                  case 3:
-                    ;(a = i), (d.flags |= 4096), (t &= -t), (d.lanes |= t), sa(d, su(0, a, t))
-                    break e
-                  case 1:
-                    a = i
-                    var k = d.type,
-                      E = d.stateNode
-                    if (
-                      0 === (64 & d.flags) &&
-                      ('function' === typeof k.getDerivedStateFromError ||
-                        (null !== E &&
-                          'function' === typeof E.componentDidCatch &&
-                          (null === Yu || !Yu.has(E))))
-                    ) {
-                      ;(d.flags |= 4096), (t &= -t), (d.lanes |= t), sa(d, cu(d, a, t))
-                      break e
-                    }
-                }
-                d = d.return
-              } while (null !== d)
-            }
-            Ni(n)
-          } catch (S) {
-            ;(t = S), zu === n && null !== n && (zu = n = n.return)
-            continue
-          }
-          break
-        }
-      }
-      function Si() {
-        var e = Pu.current
-        return (Pu.current = To), null === e ? To : e
-      }
-      function _i(e, t) {
-        var n = Tu
-        Tu |= 16
-        var r = Si()
-        for ((Lu === e && Ou === t) || ki(e, t); ; )
-          try {
-            xi()
-            break
-          } catch (l) {
-            Ei(e, l)
-          }
-        if ((Jl(), (Tu = n), (Pu.current = r), null !== zu)) throw Error(o(261))
-        return (Lu = null), (Ou = 0), Iu
-      }
-      function xi() {
-        for (; null !== zu; ) Pi(zu)
-      }
-      function Ci() {
-        for (; null !== zu && !xl(); ) Pi(zu)
-      }
-      function Pi(e) {
-        var t = Hu(e.alternate, e, Ru)
-        ;(e.memoizedProps = e.pendingProps), null === t ? Ni(e) : (zu = t), (Nu.current = null)
-      }
-      function Ni(e) {
-        var t = e
-        do {
-          var n = t.alternate
-          if (((e = t.return), 0 === (2048 & t.flags))) {
-            if (null !== (n = lu(n, t, Ru))) return void (zu = n)
-            if (
-              (24 !== (n = t).tag && 23 !== n.tag) ||
-              null === n.memoizedState ||
-              0 !== (1073741824 & Ru) ||
-              0 === (4 & n.mode)
-            ) {
-              for (var r = 0, l = n.child; null !== l; )
-                (r |= l.lanes | l.childLanes), (l = l.sibling)
-              n.childLanes = r
-            }
-            null !== e &&
-              0 === (2048 & e.flags) &&
-              (null === e.firstEffect && (e.firstEffect = t.firstEffect),
-              null !== t.lastEffect &&
-                (null !== e.lastEffect && (e.lastEffect.nextEffect = t.firstEffect),
-                (e.lastEffect = t.lastEffect)),
-              1 < t.flags &&
-                (null !== e.lastEffect ? (e.lastEffect.nextEffect = t) : (e.firstEffect = t),
-                (e.lastEffect = t)))
-          } else {
-            if (null !== (n = au(t))) return (n.flags &= 2047), void (zu = n)
-            null !== e && ((e.firstEffect = e.lastEffect = null), (e.flags |= 2048))
-          }
-          if (null !== (t = t.sibling)) return void (zu = t)
-          zu = t = e
-        } while (null !== t)
-        0 === Iu && (Iu = 5)
-      }
-      function Ti(e) {
-        var t = jl()
-        return Wl(99, Li.bind(null, e, t)), null
-      }
-      function Li(e, t) {
-        do {
-          Oi()
-        } while (null !== Gu)
-        if (0 !== (48 & Tu)) throw Error(o(327))
-        var n = e.finishedWork
-        if (null === n) return null
-        if (((e.finishedWork = null), (e.finishedLanes = 0), n === e.current)) throw Error(o(177))
-        e.callbackNode = null
-        var r = n.lanes | n.childLanes,
-          l = r,
-          a = e.pendingLanes & ~l
-        ;(e.pendingLanes = l),
-          (e.suspendedLanes = 0),
-          (e.pingedLanes = 0),
-          (e.expiredLanes &= l),
-          (e.mutableReadLanes &= l),
-          (e.entangledLanes &= l),
-          (l = e.entanglements)
-        for (var u = e.eventTimes, i = e.expirationTimes; 0 < a; ) {
-          var s = 31 - $t(a),
-            c = 1 << s
-          ;(l[s] = 0), (u[s] = -1), (i[s] = -1), (a &= ~c)
-        }
-        if (
-          (null !== ti && 0 === (24 & r) && ti.has(e) && ti.delete(e),
-          e === Lu && ((zu = Lu = null), (Ou = 0)),
-          1 < n.flags
-            ? null !== n.lastEffect
-              ? ((n.lastEffect.nextEffect = n), (r = n.firstEffect))
-              : (r = n)
-            : (r = n.firstEffect),
-          null !== r)
-        ) {
-          if (((l = Tu), (Tu |= 32), (Nu.current = null), (Ur = Yt), hr((u = pr())))) {
-            if ('selectionStart' in u) i = { start: u.selectionStart, end: u.selectionEnd }
-            else
-              e: if (
-                ((i = ((i = u.ownerDocument) && i.defaultView) || window),
-                (c = i.getSelection && i.getSelection()) && 0 !== c.rangeCount)
-              ) {
-                ;(i = c.anchorNode), (a = c.anchorOffset), (s = c.focusNode), (c = c.focusOffset)
-                try {
-                  i.nodeType, s.nodeType
-                } catch (C) {
-                  i = null
-                  break e
-                }
-                var f = 0,
-                  d = -1,
-                  p = -1,
-                  h = 0,
-                  m = 0,
-                  v = u,
-                  y = null
-                t: for (;;) {
-                  for (
-                    var g;
-                    v !== i || (0 !== a && 3 !== v.nodeType) || (d = f + a),
-                      v !== s || (0 !== c && 3 !== v.nodeType) || (p = f + c),
-                      3 === v.nodeType && (f += v.nodeValue.length),
-                      null !== (g = v.firstChild);
-
-                  )
-                    (y = v), (v = g)
-                  for (;;) {
-                    if (v === u) break t
-                    if (
-                      (y === i && ++h === a && (d = f),
-                      y === s && ++m === c && (p = f),
-                      null !== (g = v.nextSibling))
-                    )
-                      break
-                    y = (v = y).parentNode
-                  }
-                  v = g
-                }
-                i = -1 === d || -1 === p ? null : { start: d, end: p }
-              } else i = null
-            i = i || { start: 0, end: 0 }
-          } else i = null
-          ;(Ar = { focusedElem: u, selectionRange: i }), (Yt = !1), (ui = null), (ii = !1), (Qu = r)
-          do {
-            try {
-              zi()
-            } catch (C) {
-              if (null === Qu) throw Error(o(330))
-              Fi(Qu, C), (Qu = Qu.nextEffect)
-            }
-          } while (null !== Qu)
-          ;(ui = null), (Qu = r)
-          do {
-            try {
-              for (u = e; null !== Qu; ) {
-                var b = Qu.flags
-                if ((16 & b && ge(Qu.stateNode, ''), 128 & b)) {
-                  var w = Qu.alternate
-                  if (null !== w) {
-                    var k = w.ref
-                    null !== k && ('function' === typeof k ? k(null) : (k.current = null))
-                  }
-                }
-                switch (1038 & b) {
-                  case 2:
-                    bu(Qu), (Qu.flags &= -3)
-                    break
-                  case 6:
-                    bu(Qu), (Qu.flags &= -3), Su(Qu.alternate, Qu)
-                    break
-                  case 1024:
-                    Qu.flags &= -1025
-                    break
-                  case 1028:
-                    ;(Qu.flags &= -1025), Su(Qu.alternate, Qu)
-                    break
-                  case 4:
-                    Su(Qu.alternate, Qu)
-                    break
-                  case 8:
-                    Eu(u, (i = Qu))
-                    var E = i.alternate
-                    yu(i), null !== E && yu(E)
-                }
-                Qu = Qu.nextEffect
-              }
-            } catch (C) {
-              if (null === Qu) throw Error(o(330))
-              Fi(Qu, C), (Qu = Qu.nextEffect)
-            }
-          } while (null !== Qu)
-          if (
-            ((k = Ar),
-            (w = pr()),
-            (b = k.focusedElem),
-            (u = k.selectionRange),
-            w !== b && b && b.ownerDocument && dr(b.ownerDocument.documentElement, b))
-          ) {
-            null !== u &&
-              hr(b) &&
-              ((w = u.start),
-              void 0 === (k = u.end) && (k = w),
-              'selectionStart' in b
-                ? ((b.selectionStart = w), (b.selectionEnd = Math.min(k, b.value.length)))
-                : (k = ((w = b.ownerDocument || document) && w.defaultView) || window)
-                    .getSelection &&
-                  ((k = k.getSelection()),
-                  (i = b.textContent.length),
-                  (E = Math.min(u.start, i)),
-                  (u = void 0 === u.end ? E : Math.min(u.end, i)),
-                  !k.extend && E > u && ((i = u), (u = E), (E = i)),
-                  (i = fr(b, E)),
-                  (a = fr(b, u)),
-                  i &&
-                    a &&
-                    (1 !== k.rangeCount ||
-                      k.anchorNode !== i.node ||
-                      k.anchorOffset !== i.offset ||
-                      k.focusNode !== a.node ||
-                      k.focusOffset !== a.offset) &&
-                    ((w = w.createRange()).setStart(i.node, i.offset),
-                    k.removeAllRanges(),
-                    E > u
-                      ? (k.addRange(w), k.extend(a.node, a.offset))
-                      : (w.setEnd(a.node, a.offset), k.addRange(w))))),
-              (w = [])
-            for (k = b; (k = k.parentNode); )
-              1 === k.nodeType && w.push({ element: k, left: k.scrollLeft, top: k.scrollTop })
-            for ('function' === typeof b.focus && b.focus(), b = 0; b < w.length; b++)
-              ((k = w[b]).element.scrollLeft = k.left), (k.element.scrollTop = k.top)
-          }
-          ;(Yt = !!Ur), (Ar = Ur = null), (e.current = n), (Qu = r)
-          do {
-            try {
-              for (b = e; null !== Qu; ) {
-                var S = Qu.flags
-                if ((36 & S && hu(b, Qu.alternate, Qu), 128 & S)) {
-                  w = void 0
-                  var _ = Qu.ref
-                  if (null !== _) {
-                    var x = Qu.stateNode
-                    switch (Qu.tag) {
-                      case 5:
-                        w = x
-                        break
-                      default:
-                        w = x
-                    }
-                    'function' === typeof _ ? _(w) : (_.current = w)
-                  }
-                }
-                Qu = Qu.nextEffect
-              }
-            } catch (C) {
-              if (null === Qu) throw Error(o(330))
-              Fi(Qu, C), (Qu = Qu.nextEffect)
-            }
-          } while (null !== Qu)
-          ;(Qu = null), Il(), (Tu = l)
-        } else e.current = n
-        if (Xu) (Xu = !1), (Gu = e), (Zu = t)
-        else
-          for (Qu = r; null !== Qu; )
-            (t = Qu.nextEffect),
-              (Qu.nextEffect = null),
-              8 & Qu.flags && (((S = Qu).sibling = null), (S.stateNode = null)),
-              (Qu = t)
-        if (
-          (0 === (r = e.pendingLanes) && (Yu = null),
-          1 === r ? (e === ri ? ni++ : ((ni = 0), (ri = e))) : (ni = 0),
-          (n = n.stateNode),
-          kl && 'function' === typeof kl.onCommitFiberRoot)
-        )
-          try {
-            kl.onCommitFiberRoot(wl, n, void 0, 64 === (64 & n.current.flags))
-          } catch (C) {}
-        if ((pi(e, Vl()), qu)) throw ((qu = !1), (e = Ku), (Ku = null), e)
-        return 0 !== (8 & Tu) || Hl(), null
-      }
-      function zi() {
-        for (; null !== Qu; ) {
-          var e = Qu.alternate
-          ii ||
-            null === ui ||
-            (0 !== (8 & Qu.flags)
-              ? et(Qu, ui) && (ii = !0)
-              : 13 === Qu.tag && xu(e, Qu) && et(Qu, ui) && (ii = !0))
-          var t = Qu.flags
-          0 !== (256 & t) && pu(e, Qu),
-            0 === (512 & t) ||
-              Xu ||
-              ((Xu = !0),
-              $l(97, function () {
-                return Oi(), null
-              })),
-            (Qu = Qu.nextEffect)
-        }
-      }
-      function Oi() {
-        if (90 !== Zu) {
-          var e = 97 < Zu ? 97 : Zu
-          return (Zu = 90), Wl(e, Ii)
-        }
-        return !1
-      }
-      function Ri(e, t) {
-        Ju.push(t, e),
-          Xu ||
-            ((Xu = !0),
-            $l(97, function () {
-              return Oi(), null
-            }))
-      }
-      function Mi(e, t) {
-        ei.push(t, e),
-          Xu ||
-            ((Xu = !0),
-            $l(97, function () {
-              return Oi(), null
-            }))
-      }
-      function Ii() {
-        if (null === Gu) return !1
-        var e = Gu
-        if (((Gu = null), 0 !== (48 & Tu))) throw Error(o(331))
-        var t = Tu
-        Tu |= 32
-        var n = ei
-        ei = []
-        for (var r = 0; r < n.length; r += 2) {
-          var l = n[r],
-            a = n[r + 1],
-            u = l.destroy
-          if (((l.destroy = void 0), 'function' === typeof u))
-            try {
-              u()
-            } catch (s) {
-              if (null === a) throw Error(o(330))
-              Fi(a, s)
-            }
-        }
-        for (n = Ju, Ju = [], r = 0; r < n.length; r += 2) {
-          ;(l = n[r]), (a = n[r + 1])
-          try {
-            var i = l.create
-            l.destroy = i()
-          } catch (s) {
-            if (null === a) throw Error(o(330))
-            Fi(a, s)
-          }
-        }
-        for (i = e.current.firstEffect; null !== i; )
-          (e = i.nextEffect),
-            (i.nextEffect = null),
-            8 & i.flags && ((i.sibling = null), (i.stateNode = null)),
-            (i = e)
-        return (Tu = t), Hl(), !0
-      }
-      function Di(e, t, n) {
-        ia(e, (t = su(0, (t = ou(n, t)), 1))),
-          (t = si()),
-          null !== (e = di(e, 1)) && (Wt(e, 1, t), pi(e, t))
-      }
-      function Fi(e, t) {
-        if (3 === e.tag) Di(e, e, t)
-        else
-          for (var n = e.return; null !== n; ) {
-            if (3 === n.tag) {
-              Di(n, e, t)
-              break
-            }
-            if (1 === n.tag) {
-              var r = n.stateNode
-              if (
-                'function' === typeof n.type.getDerivedStateFromError ||
-                ('function' === typeof r.componentDidCatch && (null === Yu || !Yu.has(r)))
-              ) {
-                var l = cu(n, (e = ou(t, e)), 1)
-                if ((ia(n, l), (l = si()), null !== (n = di(n, 1)))) Wt(n, 1, l), pi(n, l)
-                else if ('function' === typeof r.componentDidCatch && (null === Yu || !Yu.has(r)))
-                  try {
-                    r.componentDidCatch(t, e)
-                  } catch (a) {}
-                break
-              }
-            }
-            n = n.return
-          }
-      }
-      function Ui(e, t, n) {
-        var r = e.pingCache
-        null !== r && r.delete(t),
-          (t = si()),
-          (e.pingedLanes |= e.suspendedLanes & n),
-          Lu === e &&
-            (Ou & n) === n &&
-            (4 === Iu || (3 === Iu && (62914560 & Ou) === Ou && 500 > Vl() - Bu)
-              ? ki(e, 0)
-              : (Vu |= n)),
-          pi(e, t)
-      }
-      function Ai(e, t) {
-        var n = e.stateNode
-        null !== n && n.delete(t),
-          0 === (t = 0) &&
-            (0 === (2 & (t = e.mode))
-              ? (t = 1)
-              : 0 === (4 & t)
-              ? (t = 99 === jl() ? 1 : 2)
-              : (0 === ai && (ai = Fu), 0 === (t = jt(62914560 & ~ai)) && (t = 4194304))),
-          (n = si()),
-          null !== (e = di(e, t)) && (Wt(e, t, n), pi(e, n))
-      }
-      function Vi(e, t, n, r) {
-        ;(this.tag = e),
-          (this.key = n),
-          (this.sibling =
-            this.child =
-            this.return =
-            this.stateNode =
-            this.type =
-            this.elementType =
-              null),
-          (this.index = 0),
-          (this.ref = null),
-          (this.pendingProps = t),
-          (this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null),
-          (this.mode = r),
-          (this.flags = 0),
-          (this.lastEffect = this.firstEffect = this.nextEffect = null),
-          (this.childLanes = this.lanes = 0),
-          (this.alternate = null)
-      }
-      function ji(e, t, n, r) {
-        return new Vi(e, t, n, r)
-      }
-      function Bi(e) {
-        return !(!(e = e.prototype) || !e.isReactComponent)
-      }
-      function Wi(e, t) {
-        var n = e.alternate
-        return (
-          null === n
-            ? (((n = ji(e.tag, t, e.key, e.mode)).elementType = e.elementType),
-              (n.type = e.type),
-              (n.stateNode = e.stateNode),
-              (n.alternate = e),
-              (e.alternate = n))
-            : ((n.pendingProps = t),
-              (n.type = e.type),
-              (n.flags = 0),
-              (n.nextEffect = null),
-              (n.firstEffect = null),
-              (n.lastEffect = null)),
-          (n.childLanes = e.childLanes),
-          (n.lanes = e.lanes),
-          (n.child = e.child),
-          (n.memoizedProps = e.memoizedProps),
-          (n.memoizedState = e.memoizedState),
-          (n.updateQueue = e.updateQueue),
-          (t = e.dependencies),
-          (n.dependencies = null === t ? null : { lanes: t.lanes, firstContext: t.firstContext }),
-          (n.sibling = e.sibling),
-          (n.index = e.index),
-          (n.ref = e.ref),
-          n
-        )
-      }
-      function $i(e, t, n, r, l, a) {
-        var u = 2
-        if (((r = e), 'function' === typeof e)) Bi(e) && (u = 1)
-        else if ('string' === typeof e) u = 5
-        else
-          e: switch (e) {
-            case _:
-              return Hi(n.children, l, a, t)
-            case D:
-              ;(u = 8), (l |= 16)
-              break
-            case x:
-              ;(u = 8), (l |= 1)
-              break
-            case C:
-              return ((e = ji(12, n, t, 8 | l)).elementType = C), (e.type = C), (e.lanes = a), e
-            case L:
-              return ((e = ji(13, n, t, l)).type = L), (e.elementType = L), (e.lanes = a), e
-            case z:
-              return ((e = ji(19, n, t, l)).elementType = z), (e.lanes = a), e
-            case F:
-              return Qi(n, l, a, t)
-            case U:
-              return ((e = ji(24, n, t, l)).elementType = U), (e.lanes = a), e
-            default:
-              if ('object' === typeof e && null !== e)
-                switch (e.$$typeof) {
-                  case P:
-                    u = 10
-                    break e
-                  case N:
-                    u = 9
-                    break e
-                  case T:
-                    u = 11
-                    break e
-                  case O:
-                    u = 14
-                    break e
-                  case R:
-                    ;(u = 16), (r = null)
-                    break e
-                  case M:
-                    u = 22
-                    break e
-                }
-              throw Error(o(130, null == e ? e : typeof e, ''))
-          }
-        return ((t = ji(u, n, t, l)).elementType = e), (t.type = r), (t.lanes = a), t
-      }
-      function Hi(e, t, n, r) {
-        return ((e = ji(7, e, r, t)).lanes = n), e
-      }
-      function Qi(e, t, n, r) {
-        return ((e = ji(23, e, r, t)).elementType = F), (e.lanes = n), e
-      }
-      function qi(e, t, n) {
-        return ((e = ji(6, e, null, t)).lanes = n), e
-      }
-      function Ki(e, t, n) {
-        return (
-          ((t = ji(4, null !== e.children ? e.children : [], e.key, t)).lanes = n),
-          (t.stateNode = {
-            containerInfo: e.containerInfo,
-            pendingChildren: null,
-            implementation: e.implementation,
-          }),
-          t
-        )
-      }
-      function Yi(e, t, n) {
-        ;(this.tag = t),
-          (this.containerInfo = e),
-          (this.finishedWork = this.pingCache = this.current = this.pendingChildren = null),
-          (this.timeoutHandle = -1),
-          (this.pendingContext = this.context = null),
-          (this.hydrate = n),
-          (this.callbackNode = null),
-          (this.callbackPriority = 0),
-          (this.eventTimes = Bt(0)),
-          (this.expirationTimes = Bt(-1)),
-          (this.entangledLanes =
-            this.finishedLanes =
-            this.mutableReadLanes =
-            this.expiredLanes =
-            this.pingedLanes =
-            this.suspendedLanes =
-            this.pendingLanes =
-              0),
-          (this.entanglements = Bt(0)),
-          (this.mutableSourceEagerHydrationData = null)
-      }
-      function Xi(e, t, n) {
-        var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null
-        return {
-          $$typeof: S,
-          key: null == r ? null : '' + r,
-          children: e,
-          containerInfo: t,
-          implementation: n,
-        }
-      }
-      function Gi(e, t, n, r) {
-        var l = t.current,
-          a = si(),
-          u = ci(l)
-        e: if (n) {
-          t: {
-            if (Xe((n = n._reactInternals)) !== n || 1 !== n.tag) throw Error(o(170))
-            var i = n
-            do {
-              switch (i.tag) {
-                case 3:
-                  i = i.stateNode.context
-                  break t
-                case 1:
-                  if (hl(i.type)) {
-                    i = i.stateNode.__reactInternalMemoizedMergedChildContext
-                    break t
-                  }
-              }
-              i = i.return
-            } while (null !== i)
-            throw Error(o(171))
-          }
-          if (1 === n.tag) {
-            var s = n.type
-            if (hl(s)) {
-              n = yl(n, s, i)
-              break e
-            }
-          }
-          n = i
-        } else n = sl
-        return (
-          null === t.context ? (t.context = n) : (t.pendingContext = n),
-          ((t = ua(a, u)).payload = { element: e }),
-          null !== (r = void 0 === r ? null : r) && (t.callback = r),
-          ia(l, t),
-          fi(l, u, a),
-          u
-        )
-      }
-      function Zi(e) {
-        if (!(e = e.current).child) return null
-        switch (e.child.tag) {
-          case 5:
-          default:
-            return e.child.stateNode
-        }
-      }
-      function Ji(e, t) {
-        if (null !== (e = e.memoizedState) && null !== e.dehydrated) {
-          var n = e.retryLane
-          e.retryLane = 0 !== n && n < t ? n : t
-        }
-      }
-      function es(e, t) {
-        Ji(e, t), (e = e.alternate) && Ji(e, t)
-      }
-      function ts(e, t, n) {
-        var r =
-          (null != n && null != n.hydrationOptions && n.hydrationOptions.mutableSources) || null
-        if (
-          ((n = new Yi(e, t, null != n && !0 === n.hydrate)),
-          (t = ji(3, null, null, 2 === t ? 7 : 1 === t ? 3 : 0)),
-          (n.current = t),
-          (t.stateNode = n),
-          aa(t),
-          (e[Gr] = n.current),
-          Tr(8 === e.nodeType ? e.parentNode : e),
-          r)
-        )
-          for (e = 0; e < r.length; e++) {
-            var l = (t = r[e])._getVersion
-            ;(l = l(t._source)),
-              null == n.mutableSourceEagerHydrationData
-                ? (n.mutableSourceEagerHydrationData = [t, l])
-                : n.mutableSourceEagerHydrationData.push(t, l)
-          }
-        this._internalRoot = n
-      }
-      function ns(e) {
-        return !(
-          !e ||
-          (1 !== e.nodeType &&
-            9 !== e.nodeType &&
-            11 !== e.nodeType &&
-            (8 !== e.nodeType || ' react-mount-point-unstable ' !== e.nodeValue))
-        )
-      }
-      function rs(e, t, n, r, l) {
-        var a = n._reactRootContainer
-        if (a) {
-          var o = a._internalRoot
-          if ('function' === typeof l) {
-            var u = l
-            l = function () {
-              var e = Zi(o)
-              u.call(e)
-            }
-          }
-          Gi(t, o, e, l)
-        } else {
-          if (
-            ((a = n._reactRootContainer =
-              (function (e, t) {
-                if (
-                  (t ||
-                    (t = !(
-                      !(t = e ? (9 === e.nodeType ? e.documentElement : e.firstChild) : null) ||
-                      1 !== t.nodeType ||
-                      !t.hasAttribute('data-reactroot')
-                    )),
-                  !t)
-                )
-                  for (var n; (n = e.lastChild); ) e.removeChild(n)
-                return new ts(e, 0, t ? { hydrate: !0 } : void 0)
-              })(n, r)),
-            (o = a._internalRoot),
-            'function' === typeof l)
-          ) {
-            var i = l
-            l = function () {
-              var e = Zi(o)
-              i.call(e)
-            }
-          }
-          gi(function () {
-            Gi(t, o, e, l)
-          })
-        }
-        return Zi(o)
-      }
-      function ls(e, t) {
-        var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null
-        if (!ns(t)) throw Error(o(200))
-        return Xi(e, t, null, n)
-      }
-      ;(Hu = function (e, t, n) {
-        var r = t.lanes
-        if (null !== e)
-          if (e.memoizedProps !== t.pendingProps || fl.current) Mo = !0
-          else {
-            if (0 === (n & r)) {
-              switch (((Mo = !1), t.tag)) {
-                case 3:
-                  $o(t), $a()
-                  break
-                case 5:
-                  Oa(t)
-                  break
-                case 1:
-                  hl(t.type) && gl(t)
-                  break
-                case 4:
-                  La(t, t.stateNode.containerInfo)
-                  break
-                case 10:
-                  r = t.memoizedProps.value
-                  var l = t.type._context
-                  il(Yl, l._currentValue), (l._currentValue = r)
-                  break
-                case 13:
-                  if (null !== t.memoizedState)
-                    return 0 !== (n & t.child.childLanes)
-                      ? Yo(e, t, n)
-                      : (il(Ma, 1 & Ma.current), null !== (t = nu(e, t, n)) ? t.sibling : null)
-                  il(Ma, 1 & Ma.current)
-                  break
-                case 19:
-                  if (((r = 0 !== (n & t.childLanes)), 0 !== (64 & e.flags))) {
-                    if (r) return tu(e, t, n)
-                    t.flags |= 64
-                  }
-                  if (
-                    (null !== (l = t.memoizedState) &&
-                      ((l.rendering = null), (l.tail = null), (l.lastEffect = null)),
-                    il(Ma, Ma.current),
-                    r)
-                  )
-                    break
-                  return null
-                case 23:
-                case 24:
-                  return (t.lanes = 0), Ao(e, t, n)
-              }
-              return nu(e, t, n)
-            }
-            Mo = 0 !== (16384 & e.flags)
-          }
-        else Mo = !1
-        switch (((t.lanes = 0), t.tag)) {
-          case 2:
-            if (
-              ((r = t.type),
-              null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)),
-              (e = t.pendingProps),
-              (l = pl(t, cl.current)),
-              na(t, n),
-              (l = ro(null, t, r, e, l, n)),
-              (t.flags |= 1),
-              'object' === typeof l &&
-                null !== l &&
-                'function' === typeof l.render &&
-                void 0 === l.$$typeof)
-            ) {
-              if (((t.tag = 1), (t.memoizedState = null), (t.updateQueue = null), hl(r))) {
-                var a = !0
-                gl(t)
-              } else a = !1
-              ;(t.memoizedState = null !== l.state && void 0 !== l.state ? l.state : null), aa(t)
-              var u = r.getDerivedStateFromProps
-              'function' === typeof u && pa(t, r, u, e),
-                (l.updater = ha),
-                (t.stateNode = l),
-                (l._reactInternals = t),
-                ga(t, r, e, n),
-                (t = Wo(null, t, r, !0, a, n))
-            } else (t.tag = 0), Io(null, t, l, n), (t = t.child)
-            return t
-          case 16:
-            l = t.elementType
-            e: {
-              switch (
-                (null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)),
-                (e = t.pendingProps),
-                (l = (a = l._init)(l._payload)),
-                (t.type = l),
-                (a = t.tag =
-                  (function (e) {
-                    if ('function' === typeof e) return Bi(e) ? 1 : 0
-                    if (void 0 !== e && null !== e) {
-                      if ((e = e.$$typeof) === T) return 11
-                      if (e === O) return 14
-                    }
-                    return 2
-                  })(l)),
-                (e = Kl(l, e)),
-                a)
-              ) {
-                case 0:
-                  t = jo(null, t, l, e, n)
-                  break e
-                case 1:
-                  t = Bo(null, t, l, e, n)
-                  break e
-                case 11:
-                  t = Do(null, t, l, e, n)
-                  break e
-                case 14:
-                  t = Fo(null, t, l, Kl(l.type, e), r, n)
-                  break e
-              }
-              throw Error(o(306, l, ''))
-            }
-            return t
-          case 0:
-            return (
-              (r = t.type),
-              (l = t.pendingProps),
-              jo(e, t, r, (l = t.elementType === r ? l : Kl(r, l)), n)
-            )
-          case 1:
-            return (
-              (r = t.type),
-              (l = t.pendingProps),
-              Bo(e, t, r, (l = t.elementType === r ? l : Kl(r, l)), n)
-            )
-          case 3:
-            if (($o(t), (r = t.updateQueue), null === e || null === r)) throw Error(o(282))
-            if (
-              ((r = t.pendingProps),
-              (l = null !== (l = t.memoizedState) ? l.element : null),
-              oa(e, t),
-              ca(t, r, null, n),
-              (r = t.memoizedState.element) === l)
-            )
-              $a(), (t = nu(e, t, n))
-            else {
-              if (
-                ((a = (l = t.stateNode).hydrate) &&
-                  ((Fa = Hr(t.stateNode.containerInfo.firstChild)), (Da = t), (a = Ua = !0)),
-                a)
-              ) {
-                if (null != (e = l.mutableSourceEagerHydrationData))
-                  for (l = 0; l < e.length; l += 2)
-                    ((a = e[l])._workInProgressVersionPrimary = e[l + 1]), Ha.push(a)
-                for (n = _a(t, null, r, n), t.child = n; n; )
-                  (n.flags = (-3 & n.flags) | 1024), (n = n.sibling)
-              } else Io(e, t, r, n), $a()
-              t = t.child
-            }
-            return t
-          case 5:
-            return (
-              Oa(t),
-              null === e && ja(t),
-              (r = t.type),
-              (l = t.pendingProps),
-              (a = null !== e ? e.memoizedProps : null),
-              (u = l.children),
-              jr(r, l) ? (u = null) : null !== a && jr(r, a) && (t.flags |= 16),
-              Vo(e, t),
-              Io(e, t, u, n),
-              t.child
-            )
-          case 6:
-            return null === e && ja(t), null
-          case 13:
-            return Yo(e, t, n)
-          case 4:
-            return (
-              La(t, t.stateNode.containerInfo),
-              (r = t.pendingProps),
-              null === e ? (t.child = Sa(t, null, r, n)) : Io(e, t, r, n),
-              t.child
-            )
-          case 11:
-            return (
-              (r = t.type),
-              (l = t.pendingProps),
-              Do(e, t, r, (l = t.elementType === r ? l : Kl(r, l)), n)
-            )
-          case 7:
-            return Io(e, t, t.pendingProps, n), t.child
-          case 8:
-          case 12:
-            return Io(e, t, t.pendingProps.children, n), t.child
-          case 10:
-            e: {
-              ;(r = t.type._context), (l = t.pendingProps), (u = t.memoizedProps), (a = l.value)
-              var i = t.type._context
-              if ((il(Yl, i._currentValue), (i._currentValue = a), null !== u))
-                if (
-                  ((i = u.value),
-                  0 ===
-                    (a = ur(i, a)
-                      ? 0
-                      : 0 |
-                        ('function' === typeof r._calculateChangedBits
-                          ? r._calculateChangedBits(i, a)
-                          : 1073741823)))
-                ) {
-                  if (u.children === l.children && !fl.current) {
-                    t = nu(e, t, n)
-                    break e
-                  }
-                } else
-                  for (null !== (i = t.child) && (i.return = t); null !== i; ) {
-                    var s = i.dependencies
-                    if (null !== s) {
-                      u = i.child
-                      for (var c = s.firstContext; null !== c; ) {
-                        if (c.context === r && 0 !== (c.observedBits & a)) {
-                          1 === i.tag && (((c = ua(-1, n & -n)).tag = 2), ia(i, c)),
-                            (i.lanes |= n),
-                            null !== (c = i.alternate) && (c.lanes |= n),
-                            ta(i.return, n),
-                            (s.lanes |= n)
-                          break
-                        }
-                        c = c.next
-                      }
-                    } else u = 10 === i.tag && i.type === t.type ? null : i.child
-                    if (null !== u) u.return = i
-                    else
-                      for (u = i; null !== u; ) {
-                        if (u === t) {
-                          u = null
-                          break
-                        }
-                        if (null !== (i = u.sibling)) {
-                          ;(i.return = u.return), (u = i)
-                          break
-                        }
-                        u = u.return
-                      }
-                    i = u
-                  }
-              Io(e, t, l.children, n), (t = t.child)
-            }
-            return t
-          case 9:
-            return (
-              (l = t.type),
-              (r = (a = t.pendingProps).children),
-              na(t, n),
-              (r = r((l = ra(l, a.unstable_observedBits)))),
-              (t.flags |= 1),
-              Io(e, t, r, n),
-              t.child
-            )
-          case 14:
-            return (a = Kl((l = t.type), t.pendingProps)), Fo(e, t, l, (a = Kl(l.type, a)), r, n)
-          case 15:
-            return Uo(e, t, t.type, t.pendingProps, r, n)
-          case 17:
-            return (
-              (r = t.type),
-              (l = t.pendingProps),
-              (l = t.elementType === r ? l : Kl(r, l)),
-              null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)),
-              (t.tag = 1),
-              hl(r) ? ((e = !0), gl(t)) : (e = !1),
-              na(t, n),
-              va(t, r, l),
-              ga(t, r, l, n),
-              Wo(null, t, r, !0, e, n)
-            )
-          case 19:
-            return tu(e, t, n)
-          case 23:
-          case 24:
-            return Ao(e, t, n)
-        }
-        throw Error(o(156, t.tag))
-      }),
-        (ts.prototype.render = function (e) {
-          Gi(e, this._internalRoot, null, null)
-        }),
-        (ts.prototype.unmount = function () {
-          var e = this._internalRoot,
-            t = e.containerInfo
-          Gi(null, e, null, function () {
-            t[Gr] = null
-          })
-        }),
-        (tt = function (e) {
-          13 === e.tag && (fi(e, 4, si()), es(e, 4))
-        }),
-        (nt = function (e) {
-          13 === e.tag && (fi(e, 67108864, si()), es(e, 67108864))
-        }),
-        (rt = function (e) {
-          if (13 === e.tag) {
-            var t = si(),
-              n = ci(e)
-            fi(e, n, t), es(e, n)
-          }
-        }),
-        (lt = function (e, t) {
-          return t()
-        }),
-        (Pe = function (e, t, n) {
-          switch (t) {
-            case 'input':
-              if ((ne(e, n), (t = n.name), 'radio' === n.type && null != t)) {
-                for (n = e; n.parentNode; ) n = n.parentNode
-                for (
-                  n = n.querySelectorAll(
-                    'input[name=' + JSON.stringify('' + t) + '][type="radio"]',
-                  ),
-                    t = 0;
-                  t < n.length;
-                  t++
-                ) {
-                  var r = n[t]
-                  if (r !== e && r.form === e.form) {
-                    var l = nl(r)
-                    if (!l) throw Error(o(90))
-                    G(r), ne(r, l)
-                  }
-                }
-              }
-              break
-            case 'textarea':
-              se(e, n)
-              break
-            case 'select':
-              null != (t = n.value) && oe(e, !!n.multiple, t, !1)
-          }
-        }),
-        (Re = yi),
-        (Me = function (e, t, n, r, l) {
-          var a = Tu
-          Tu |= 4
-          try {
-            return Wl(98, e.bind(null, t, n, r, l))
-          } finally {
-            0 === (Tu = a) && ($u(), Hl())
-          }
-        }),
-        (Ie = function () {
-          0 === (49 & Tu) &&
-            ((function () {
-              if (null !== ti) {
-                var e = ti
-                ;(ti = null),
-                  e.forEach(function (e) {
-                    ;(e.expiredLanes |= 24 & e.pendingLanes), pi(e, Vl())
-                  })
-              }
-              Hl()
-            })(),
-            Oi())
-        }),
-        (De = function (e, t) {
-          var n = Tu
-          Tu |= 2
-          try {
-            return e(t)
-          } finally {
-            0 === (Tu = n) && ($u(), Hl())
-          }
-        })
-      var as = { Events: [el, tl, nl, ze, Oe, Oi, { current: !1 }] },
-        os = {
-          findFiberByHostInstance: Jr,
-          bundleType: 0,
-          version: '17.0.2',
-          rendererPackageName: 'react-dom',
-        },
-        us = {
-          bundleType: os.bundleType,
-          version: os.version,
-          rendererPackageName: os.rendererPackageName,
-          rendererConfig: os.rendererConfig,
-          overrideHookState: null,
-          overrideHookStateDeletePath: null,
-          overrideHookStateRenamePath: null,
-          overrideProps: null,
-          overridePropsDeletePath: null,
-          overridePropsRenamePath: null,
-          setSuspenseHandler: null,
-          scheduleUpdate: null,
-          currentDispatcherRef: k.ReactCurrentDispatcher,
-          findHostInstanceByFiber: function (e) {
-            return null === (e = Je(e)) ? null : e.stateNode
-          },
-          findFiberByHostInstance:
-            os.findFiberByHostInstance ||
-            function () {
-              return null
-            },
-          findHostInstancesForRefresh: null,
-          scheduleRefresh: null,
-          scheduleRoot: null,
-          setRefreshHandler: null,
-          getCurrentFiber: null,
-        }
-      if ('undefined' !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
-        var is = __REACT_DEVTOOLS_GLOBAL_HOOK__
-        if (!is.isDisabled && is.supportsFiber)
-          try {
-            ;(wl = is.inject(us)), (kl = is)
-          } catch (ve) {}
-      }
-      ;(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = as),
-        (t.createPortal = ls),
-        (t.findDOMNode = function (e) {
-          if (null == e) return null
-          if (1 === e.nodeType) return e
-          var t = e._reactInternals
-          if (void 0 === t) {
-            if ('function' === typeof e.render) throw Error(o(188))
-            throw Error(o(268, Object.keys(e)))
-          }
-          return (e = null === (e = Je(t)) ? null : e.stateNode)
-        }),
-        (t.flushSync = function (e, t) {
-          var n = Tu
-          if (0 !== (48 & n)) return e(t)
-          Tu |= 1
-          try {
-            if (e) return Wl(99, e.bind(null, t))
-          } finally {
-            ;(Tu = n), Hl()
-          }
-        }),
-        (t.hydrate = function (e, t, n) {
-          if (!ns(t)) throw Error(o(200))
-          return rs(null, e, t, !0, n)
-        }),
-        (t.render = function (e, t, n) {
-          if (!ns(t)) throw Error(o(200))
-          return rs(null, e, t, !1, n)
-        }),
-        (t.unmountComponentAtNode = function (e) {
-          if (!ns(e)) throw Error(o(40))
-          return (
-            !!e._reactRootContainer &&
-            (gi(function () {
-              rs(null, null, e, !1, function () {
-                ;(e._reactRootContainer = null), (e[Gr] = null)
-              })
-            }),
-            !0)
-          )
-        }),
-        (t.unstable_batchedUpdates = yi),
-        (t.unstable_createPortal = function (e, t) {
-          return ls(e, t, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null)
-        }),
-        (t.unstable_renderSubtreeIntoContainer = function (e, t, n, r) {
-          if (!ns(n)) throw Error(o(200))
-          if (null == e || void 0 === e._reactInternals) throw Error(o(38))
-          return rs(e, t, n, !1, r)
-        }),
-        (t.version = '17.0.2')
-    },
-    73935: function (e, t, n) {
-      'use strict'
-      !(function e() {
-        if (
-          'undefined' !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
-          'function' === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE
-        )
-          try {
-            __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)
-          } catch (t) {
-            console.error(t)
-          }
-      })(),
-        (e.exports = n(64448))
-    },
-    75251: function (e, t, n) {
-      'use strict'
-      n(96086)
-      var r = n(67294),
-        l = 60103
-      if (((t.Fragment = 60107), 'function' === typeof Symbol && Symbol.for)) {
-        var a = Symbol.for
-        ;(l = a('react.element')), (t.Fragment = a('react.fragment'))
-      }
-      var o = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
-        u = Object.prototype.hasOwnProperty,
-        i = { key: !0, ref: !0, __self: !0, __source: !0 }
-      function s(e, t, n) {
-        var r,
-          a = {},
-          s = null,
-          c = null
-        for (r in (void 0 !== n && (s = '' + n),
-        void 0 !== t.key && (s = '' + t.key),
-        void 0 !== t.ref && (c = t.ref),
-        t))
-          u.call(t, r) && !i.hasOwnProperty(r) && (a[r] = t[r])
-        if (e && e.defaultProps) for (r in (t = e.defaultProps)) void 0 === a[r] && (a[r] = t[r])
-        return { $$typeof: l, type: e, key: s, ref: c, props: a, _owner: o.current }
-      }
-      ;(t.jsx = s), (t.jsxs = s)
-    },
-    72408: function (e, t, n) {
-      'use strict'
-      var r = n(96086),
-        l = 60103,
-        a = 60106
-      ;(t.Fragment = 60107), (t.StrictMode = 60108), (t.Profiler = 60114)
-      var o = 60109,
-        u = 60110,
-        i = 60112
-      t.Suspense = 60113
-      var s = 60115,
-        c = 60116
-      if ('function' === typeof Symbol && Symbol.for) {
-        var f = Symbol.for
-        ;(l = f('react.element')),
-          (a = f('react.portal')),
-          (t.Fragment = f('react.fragment')),
-          (t.StrictMode = f('react.strict_mode')),
-          (t.Profiler = f('react.profiler')),
-          (o = f('react.provider')),
-          (u = f('react.context')),
-          (i = f('react.forward_ref')),
-          (t.Suspense = f('react.suspense')),
-          (s = f('react.memo')),
-          (c = f('react.lazy'))
-      }
-      var d = 'function' === typeof Symbol && Symbol.iterator
-      function p(e) {
-        for (
-          var t = 'https://reactjs.org/docs/error-decoder.html?invariant=' + e, n = 1;
-          n < arguments.length;
-          n++
-        )
-          t += '&args[]=' + encodeURIComponent(arguments[n])
-        return (
-          'Minified React error #' +
-          e +
-          '; visit ' +
-          t +
-          ' for the full message or use the non-minified dev environment for full errors and additional helpful warnings.'
-        )
-      }
-      var h = {
-          isMounted: function () {
-            return !1
-          },
-          enqueueForceUpdate: function () {},
-          enqueueReplaceState: function () {},
-          enqueueSetState: function () {},
-        },
-        m = {}
-      function v(e, t, n) {
-        ;(this.props = e), (this.context = t), (this.refs = m), (this.updater = n || h)
-      }
-      function y() {}
-      function g(e, t, n) {
-        ;(this.props = e), (this.context = t), (this.refs = m), (this.updater = n || h)
-      }
-      ;(v.prototype.isReactComponent = {}),
-        (v.prototype.setState = function (e, t) {
-          if ('object' !== typeof e && 'function' !== typeof e && null != e) throw Error(p(85))
-          this.updater.enqueueSetState(this, e, t, 'setState')
-        }),
-        (v.prototype.forceUpdate = function (e) {
-          this.updater.enqueueForceUpdate(this, e, 'forceUpdate')
-        }),
-        (y.prototype = v.prototype)
-      var b = (g.prototype = new y())
-      ;(b.constructor = g), r(b, v.prototype), (b.isPureReactComponent = !0)
-      var w = { current: null },
-        k = Object.prototype.hasOwnProperty,
-        E = { key: !0, ref: !0, __self: !0, __source: !0 }
-      function S(e, t, n) {
-        var r,
-          a = {},
-          o = null,
-          u = null
-        if (null != t)
-          for (r in (void 0 !== t.ref && (u = t.ref), void 0 !== t.key && (o = '' + t.key), t))
-            k.call(t, r) && !E.hasOwnProperty(r) && (a[r] = t[r])
-        var i = arguments.length - 2
-        if (1 === i) a.children = n
-        else if (1 < i) {
-          for (var s = Array(i), c = 0; c < i; c++) s[c] = arguments[c + 2]
-          a.children = s
-        }
-        if (e && e.defaultProps) for (r in (i = e.defaultProps)) void 0 === a[r] && (a[r] = i[r])
-        return { $$typeof: l, type: e, key: o, ref: u, props: a, _owner: w.current }
-      }
-      function _(e) {
-        return 'object' === typeof e && null !== e && e.$$typeof === l
-      }
-      var x = /\/+/g
-      function C(e, t) {
-        return 'object' === typeof e && null !== e && null != e.key
-          ? (function (e) {
-              var t = { '=': '=0', ':': '=2' }
-              return (
-                '$' +
-                e.replace(/[=:]/g, function (e) {
-                  return t[e]
-                })
-              )
-            })('' + e.key)
-          : t.toString(36)
-      }
-      function P(e, t, n, r, o) {
-        var u = typeof e
-        ;('undefined' !== u && 'boolean' !== u) || (e = null)
-        var i = !1
-        if (null === e) i = !0
-        else
-          switch (u) {
-            case 'string':
-            case 'number':
-              i = !0
-              break
-            case 'object':
-              switch (e.$$typeof) {
-                case l:
-                case a:
-                  i = !0
-              }
-          }
-        if (i)
-          return (
-            (o = o((i = e))),
-            (e = '' === r ? '.' + C(i, 0) : r),
-            Array.isArray(o)
-              ? ((n = ''),
-                null != e && (n = e.replace(x, '$&/') + '/'),
-                P(o, t, n, '', function (e) {
-                  return e
-                }))
-              : null != o &&
-                (_(o) &&
-                  (o = (function (e, t) {
-                    return {
-                      $$typeof: l,
-                      type: e.type,
-                      key: t,
-                      ref: e.ref,
-                      props: e.props,
-                      _owner: e._owner,
-                    }
-                  })(
-                    o,
-                    n +
-                      (!o.key || (i && i.key === o.key)
-                        ? ''
-                        : ('' + o.key).replace(x, '$&/') + '/') +
-                      e,
-                  )),
-                t.push(o)),
-            1
-          )
-        if (((i = 0), (r = '' === r ? '.' : r + ':'), Array.isArray(e)))
-          for (var s = 0; s < e.length; s++) {
-            var c = r + C((u = e[s]), s)
-            i += P(u, t, n, c, o)
-          }
-        else if (
-          'function' ===
-          typeof (c = (function (e) {
-            return null === e || 'object' !== typeof e
-              ? null
-              : 'function' === typeof (e = (d && e[d]) || e['@@iterator'])
-              ? e
-              : null
-          })(e))
-        )
-          for (e = c.call(e), s = 0; !(u = e.next()).done; )
-            i += P((u = u.value), t, n, (c = r + C(u, s++)), o)
-        else if ('object' === u)
-          throw (
-            ((t = '' + e),
-            Error(
-              p(
-                31,
-                '[object Object]' === t
-                  ? 'object with keys {' + Object.keys(e).join(', ') + '}'
-                  : t,
-              ),
-            ))
-          )
-        return i
-      }
-      function N(e, t, n) {
-        if (null == e) return e
-        var r = [],
-          l = 0
-        return (
-          P(e, r, '', '', function (e) {
-            return t.call(n, e, l++)
-          }),
-          r
-        )
-      }
-      function T(e) {
-        if (-1 === e._status) {
-          var t = e._result
-          ;(t = t()),
-            (e._status = 0),
-            (e._result = t),
-            t.then(
-              function (t) {
-                0 === e._status && ((t = t.default), (e._status = 1), (e._result = t))
-              },
-              function (t) {
-                0 === e._status && ((e._status = 2), (e._result = t))
-              },
-            )
-        }
-        if (1 === e._status) return e._result
-        throw e._result
-      }
-      var L = { current: null }
-      function z() {
-        var e = L.current
-        if (null === e) throw Error(p(321))
-        return e
-      }
-      var O = {
-        ReactCurrentDispatcher: L,
-        ReactCurrentBatchConfig: { transition: 0 },
-        ReactCurrentOwner: w,
-        IsSomeRendererActing: { current: !1 },
-        assign: r,
-      }
-      ;(t.Children = {
-        map: N,
-        forEach: function (e, t, n) {
-          N(
-            e,
-            function () {
-              t.apply(this, arguments)
-            },
-            n,
-          )
-        },
-        count: function (e) {
-          var t = 0
-          return (
-            N(e, function () {
-              t++
-            }),
-            t
-          )
-        },
-        toArray: function (e) {
-          return (
-            N(e, function (e) {
-              return e
-            }) || []
-          )
-        },
-        only: function (e) {
-          if (!_(e)) throw Error(p(143))
-          return e
-        },
-      }),
-        (t.Component = v),
-        (t.PureComponent = g),
-        (t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = O),
-        (t.cloneElement = function (e, t, n) {
-          if (null === e || void 0 === e) throw Error(p(267, e))
-          var a = r({}, e.props),
-            o = e.key,
-            u = e.ref,
-            i = e._owner
-          if (null != t) {
-            if (
-              (void 0 !== t.ref && ((u = t.ref), (i = w.current)),
-              void 0 !== t.key && (o = '' + t.key),
-              e.type && e.type.defaultProps)
-            )
-              var s = e.type.defaultProps
-            for (c in t)
-              k.call(t, c) &&
-                !E.hasOwnProperty(c) &&
-                (a[c] = void 0 === t[c] && void 0 !== s ? s[c] : t[c])
-          }
-          var c = arguments.length - 2
-          if (1 === c) a.children = n
-          else if (1 < c) {
-            s = Array(c)
-            for (var f = 0; f < c; f++) s[f] = arguments[f + 2]
-            a.children = s
-          }
-          return { $$typeof: l, type: e.type, key: o, ref: u, props: a, _owner: i }
-        }),
-        (t.createContext = function (e, t) {
-          return (
-            void 0 === t && (t = null),
-            ((e = {
-              $$typeof: u,
-              _calculateChangedBits: t,
-              _currentValue: e,
-              _currentValue2: e,
-              _threadCount: 0,
-              Provider: null,
-              Consumer: null,
-            }).Provider = { $$typeof: o, _context: e }),
-            (e.Consumer = e)
-          )
-        }),
-        (t.createElement = S),
-        (t.createFactory = function (e) {
-          var t = S.bind(null, e)
-          return (t.type = e), t
-        }),
-        (t.createRef = function () {
-          return { current: null }
-        }),
-        (t.forwardRef = function (e) {
-          return { $$typeof: i, render: e }
-        }),
-        (t.isValidElement = _),
-        (t.lazy = function (e) {
-          return { $$typeof: c, _payload: { _status: -1, _result: e }, _init: T }
-        }),
-        (t.memo = function (e, t) {
-          return { $$typeof: s, type: e, compare: void 0 === t ? null : t }
-        }),
-        (t.useCallback = function (e, t) {
-          return z().useCallback(e, t)
-        }),
-        (t.useContext = function (e, t) {
-          return z().useContext(e, t)
-        }),
-        (t.useDebugValue = function () {}),
-        (t.useEffect = function (e, t) {
-          return z().useEffect(e, t)
-        }),
-        (t.useImperativeHandle = function (e, t, n) {
-          return z().useImperativeHandle(e, t, n)
-        }),
-        (t.useLayoutEffect = function (e, t) {
-          return z().useLayoutEffect(e, t)
-        }),
-        (t.useMemo = function (e, t) {
-          return z().useMemo(e, t)
-        }),
-        (t.useReducer = function (e, t, n) {
-          return z().useReducer(e, t, n)
-        }),
-        (t.useRef = function (e) {
-          return z().useRef(e)
-        }),
-        (t.useState = function (e) {
-          return z().useState(e)
-        }),
-        (t.version = '17.0.2')
-    },
-    67294: function (e, t, n) {
-      'use strict'
-      e.exports = n(72408)
-    },
-    85893: function (e, t, n) {
-      'use strict'
-      e.exports = n(75251)
-    },
-    60053: function (e, t) {
-      'use strict'
-      var n, r, l, a
-      if ('object' === typeof performance && 'function' === typeof performance.now) {
-        var o = performance
-        t.unstable_now = function () {
-          return o.now()
-        }
-      } else {
-        var u = Date,
-          i = u.now()
-        t.unstable_now = function () {
-          return u.now() - i
-        }
-      }
-      if ('undefined' === typeof window || 'function' !== typeof MessageChannel) {
-        var s = null,
-          c = null,
-          f = function () {
-            if (null !== s)
-              try {
-                var e = t.unstable_now()
-                s(!0, e), (s = null)
-              } catch (n) {
-                throw (setTimeout(f, 0), n)
-              }
-          }
-        ;(n = function (e) {
-          null !== s ? setTimeout(n, 0, e) : ((s = e), setTimeout(f, 0))
-        }),
-          (r = function (e, t) {
-            c = setTimeout(e, t)
-          }),
-          (l = function () {
-            clearTimeout(c)
-          }),
-          (t.unstable_shouldYield = function () {
-            return !1
-          }),
-          (a = t.unstable_forceFrameRate = function () {})
-      } else {
-        var d = window.setTimeout,
-          p = window.clearTimeout
-        if ('undefined' !== typeof console) {
-          var h = window.cancelAnimationFrame
-          'function' !== typeof window.requestAnimationFrame &&
-            console.error(
-              "This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills",
-            ),
-            'function' !== typeof h &&
-              console.error(
-                "This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills",
-              )
-        }
-        var m = !1,
-          v = null,
-          y = -1,
-          g = 5,
-          b = 0
-        ;(t.unstable_shouldYield = function () {
-          return t.unstable_now() >= b
-        }),
-          (a = function () {}),
-          (t.unstable_forceFrameRate = function (e) {
-            0 > e || 125 < e
-              ? console.error(
-                  'forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported',
-                )
-              : (g = 0 < e ? Math.floor(1e3 / e) : 5)
-          })
-        var w = new MessageChannel(),
-          k = w.port2
-        ;(w.port1.onmessage = function () {
-          if (null !== v) {
-            var e = t.unstable_now()
-            b = e + g
-            try {
-              v(!0, e) ? k.postMessage(null) : ((m = !1), (v = null))
-            } catch (n) {
-              throw (k.postMessage(null), n)
-            }
-          } else m = !1
-        }),
-          (n = function (e) {
-            ;(v = e), m || ((m = !0), k.postMessage(null))
-          }),
-          (r = function (e, n) {
-            y = d(function () {
-              e(t.unstable_now())
-            }, n)
-          }),
-          (l = function () {
-            p(y), (y = -1)
-          })
-      }
-      function E(e, t) {
-        var n = e.length
-        e.push(t)
-        e: for (;;) {
-          var r = (n - 1) >>> 1,
-            l = e[r]
-          if (!(void 0 !== l && 0 < x(l, t))) break e
-          ;(e[r] = t), (e[n] = l), (n = r)
-        }
-      }
-      function S(e) {
-        return void 0 === (e = e[0]) ? null : e
-      }
-      function _(e) {
-        var t = e[0]
-        if (void 0 !== t) {
-          var n = e.pop()
-          if (n !== t) {
-            e[0] = n
-            e: for (var r = 0, l = e.length; r < l; ) {
-              var a = 2 * (r + 1) - 1,
-                o = e[a],
-                u = a + 1,
-                i = e[u]
-              if (void 0 !== o && 0 > x(o, n))
-                void 0 !== i && 0 > x(i, o)
-                  ? ((e[r] = i), (e[u] = n), (r = u))
-                  : ((e[r] = o), (e[a] = n), (r = a))
-              else {
-                if (!(void 0 !== i && 0 > x(i, n))) break e
-                ;(e[r] = i), (e[u] = n), (r = u)
-              }
-            }
-          }
-          return t
-        }
-        return null
-      }
-      function x(e, t) {
-        var n = e.sortIndex - t.sortIndex
-        return 0 !== n ? n : e.id - t.id
-      }
-      var C = [],
-        P = [],
-        N = 1,
-        T = null,
-        L = 3,
-        z = !1,
-        O = !1,
-        R = !1
-      function M(e) {
-        for (var t = S(P); null !== t; ) {
-          if (null === t.callback) _(P)
-          else {
-            if (!(t.startTime <= e)) break
-            _(P), (t.sortIndex = t.expirationTime), E(C, t)
-          }
-          t = S(P)
-        }
-      }
-      function I(e) {
-        if (((R = !1), M(e), !O))
-          if (null !== S(C)) (O = !0), n(D)
-          else {
-            var t = S(P)
-            null !== t && r(I, t.startTime - e)
-          }
-      }
-      function D(e, n) {
-        ;(O = !1), R && ((R = !1), l()), (z = !0)
-        var a = L
-        try {
-          for (
-            M(n), T = S(C);
-            null !== T && (!(T.expirationTime > n) || (e && !t.unstable_shouldYield()));
-
-          ) {
-            var o = T.callback
-            if ('function' === typeof o) {
-              ;(T.callback = null), (L = T.priorityLevel)
-              var u = o(T.expirationTime <= n)
-              ;(n = t.unstable_now()),
-                'function' === typeof u ? (T.callback = u) : T === S(C) && _(C),
-                M(n)
-            } else _(C)
-            T = S(C)
-          }
-          if (null !== T) var i = !0
-          else {
-            var s = S(P)
-            null !== s && r(I, s.startTime - n), (i = !1)
-          }
-          return i
-        } finally {
-          ;(T = null), (L = a), (z = !1)
-        }
-      }
-      var F = a
-      ;(t.unstable_IdlePriority = 5),
-        (t.unstable_ImmediatePriority = 1),
-        (t.unstable_LowPriority = 4),
-        (t.unstable_NormalPriority = 3),
-        (t.unstable_Profiling = null),
-        (t.unstable_UserBlockingPriority = 2),
-        (t.unstable_cancelCallback = function (e) {
-          e.callback = null
-        }),
-        (t.unstable_continueExecution = function () {
-          O || z || ((O = !0), n(D))
-        }),
-        (t.unstable_getCurrentPriorityLevel = function () {
-          return L
-        }),
-        (t.unstable_getFirstCallbackNode = function () {
-          return S(C)
-        }),
-        (t.unstable_next = function (e) {
-          switch (L) {
-            case 1:
-            case 2:
-            case 3:
-              var t = 3
-              break
-            default:
-              t = L
-          }
-          var n = L
-          L = t
-          try {
-            return e()
-          } finally {
-            L = n
-          }
-        }),
-        (t.unstable_pauseExecution = function () {}),
-        (t.unstable_requestPaint = F),
-        (t.unstable_runWithPriority = function (e, t) {
-          switch (e) {
-            case 1:
-            case 2:
-            case 3:
-            case 4:
-            case 5:
-              break
-            default:
-              e = 3
-          }
-          var n = L
-          L = e
-          try {
-            return t()
-          } finally {
-            L = n
-          }
-        }),
-        (t.unstable_scheduleCallback = function (e, a, o) {
-          var u = t.unstable_now()
-          switch (
-            ('object' === typeof o && null !== o
-              ? (o = 'number' === typeof (o = o.delay) && 0 < o ? u + o : u)
-              : (o = u),
-            e)
-          ) {
-            case 1:
-              var i = -1
-              break
-            case 2:
-              i = 250
-              break
-            case 5:
-              i = 1073741823
-              break
-            case 4:
-              i = 1e4
-              break
-            default:
-              i = 5e3
-          }
-          return (
-            (e = {
-              id: N++,
-              callback: a,
-              priorityLevel: e,
-              startTime: o,
-              expirationTime: (i = o + i),
-              sortIndex: -1,
-            }),
-            o > u
-              ? ((e.sortIndex = o),
-                E(P, e),
-                null === S(C) && e === S(P) && (R ? l() : (R = !0), r(I, o - u)))
-              : ((e.sortIndex = i), E(C, e), O || z || ((O = !0), n(D))),
-            e
-          )
-        }),
-        (t.unstable_wrapCallback = function (e) {
-          var t = L
-          return function () {
-            var n = L
-            L = t
-            try {
-              return e.apply(this, arguments)
-            } finally {
-              L = n
-            }
-          }
-        })
-    },
-    63840: function (e, t, n) {
-      'use strict'
-      e.exports = n(60053)
-    },
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{92703:function(e,t,n){"use strict";var r=n(50414);function l(){}function a(){}a.resetWarningCache=l,e.exports=function(){function e(e,t,n,l,a,o){if(o!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:l};return n.PropTypes=n,n}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:function(e,t,n){"use strict";var r=n(67294),l=n(96086),a=n(63840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(o(227));var u=new Set,i={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(i[e]=t,e=0;e<t.length;e++)u.add(t[e])}var f=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},m={};function v(e,t,n,r,l,a,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){y[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){y[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){y[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){y[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){y[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var g=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function w(e,t,n,r){var l=y.hasOwnProperty(t)?y[t]:null;(null!==l?0===l.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,l,r)&&(n=null),r||null===l?function(e){return!!p.call(m,e)||!p.call(h,e)&&(d.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):l.mustUseProperty?e[l.propertyName]=null===n?3!==l.type&&"":n:(t=l.attributeName,r=l.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(l=l.type)||4===l&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(g,b);y[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(g,b);y[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(g,b);y[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),y.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,E=60103,S=60106,_=60107,x=60108,C=60114,P=60109,N=60110,T=60112,L=60113,z=60120,O=60115,R=60116,M=60121,I=60128,D=60129,F=60130,U=60131;if("function"===typeof Symbol&&Symbol.for){var A=Symbol.for;E=A("react.element"),S=A("react.portal"),_=A("react.fragment"),x=A("react.strict_mode"),C=A("react.profiler"),P=A("react.provider"),N=A("react.context"),T=A("react.forward_ref"),L=A("react.suspense"),z=A("react.suspense_list"),O=A("react.memo"),R=A("react.lazy"),M=A("react.block"),A("react.scope"),I=A("react.opaque.id"),D=A("react.debug_trace_mode"),F=A("react.offscreen"),U=A("react.legacy_hidden")}var V,j="function"===typeof Symbol&&Symbol.iterator;function B(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=j&&e[j]||e["@@iterator"])?e:null}function W(e){if(void 0===V)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);V=t&&t[1]||""}return"\n"+V+e}var $=!1;function H(e,t){if(!e||$)return"";$=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(i){var r=i}Reflect.construct(e,[],t)}else{try{t.call()}catch(i){r=i}e.call(t.prototype)}else{try{throw Error()}catch(i){r=i}e()}}catch(i){if(i&&r&&"string"===typeof i.stack){for(var l=i.stack.split("\n"),a=r.stack.split("\n"),o=l.length-1,u=a.length-1;1<=o&&0<=u&&l[o]!==a[u];)u--;for(;1<=o&&0<=u;o--,u--)if(l[o]!==a[u]){if(1!==o||1!==u)do{if(o--,0>--u||l[o]!==a[u])return"\n"+l[o].replace(" at new "," at ")}while(1<=o&&0<=u);break}}}finally{$=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?W(e):""}function Q(e){switch(e.tag){case 5:return W(e.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return e=H(e.type,!1);case 11:return e=H(e.type.render,!1);case 22:return e=H(e.type._render,!1);case 1:return e=H(e.type,!0);default:return""}}function q(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case _:return"Fragment";case S:return"Portal";case C:return"Profiler";case x:return"StrictMode";case L:return"Suspense";case z:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case N:return(e.displayName||"Context")+".Consumer";case P:return(e._context.displayName||"Context")+".Provider";case T:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case O:return q(e.type);case M:return q(e._render);case R:t=e._payload,e=e._init;try{return q(e(t))}catch(n){}}return null}function K(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Y(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Y(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Z(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return l({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=K(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=K(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?le(e,t.type,n):t.hasOwnProperty("defaultValue")&&le(e,t.type,K(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function le(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t){return e=l({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function oe(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+K(n),t=null,l=0;l<e.length;l++){if(e[l].value===n)return e[l].selected=!0,void(r&&(e[l].defaultSelected=!0));null!==t||e[l].disabled||(t=e[l])}null!==t&&(t.selected=!0)}}function ue(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return l({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:K(n)}}function se(e,t){var n=K(t.value),r=K(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var fe="http://www.w3.org/1999/xhtml",de="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,ve,ye=(ve=function(e,t){if(e.namespaceURI!==de||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ve(e,t)}))}:ve);function ge(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},we=["Webkit","ms","Moz","O"];function ke(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function Ee(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),l=ke(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}Object.keys(be).forEach((function(e){we.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Se=l({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _e(e,t){if(t){if(Se[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(o(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Pe=null,Ne=null,Te=null;function Le(e){if(e=el(e)){if("function"!==typeof Pe)throw Error(o(280));var t=e.stateNode;t&&(t=nl(t),Pe(e.stateNode,e.type,t))}}function ze(e){Ne?Te?Te.push(e):Te=[e]:Ne=e}function Oe(){if(Ne){var e=Ne,t=Te;if(Te=Ne=null,Le(e),t)for(e=0;e<t.length;e++)Le(t[e])}}function Re(e,t){return e(t)}function Me(e,t,n,r,l){return e(t,n,r,l)}function Ie(){}var De=Re,Fe=!1,Ue=!1;function Ae(){null===Ne&&null===Te||(Ie(),Oe())}function Ve(e,t){var n=e.stateNode;if(null===n)return null;var r=nl(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(o(231,t,typeof n));return n}var je=!1;if(f)try{var Be={};Object.defineProperty(Be,"passive",{get:function(){je=!0}}),window.addEventListener("test",Be,Be),window.removeEventListener("test",Be,Be)}catch(ve){je=!1}function We(e,t,n,r,l,a,o,u,i){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(c){this.onError(c)}}var $e=!1,He=null,Qe=!1,qe=null,Ke={onError:function(e){$e=!0,He=e}};function Ye(e,t,n,r,l,a,o,u,i){$e=!1,He=null,We.apply(Ke,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ge(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ze(e){if(Xe(e)!==e)throw Error(o(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){n=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===n)return Ze(l),e;if(a===r)return Ze(l),t;a=a.sibling}throw Error(o(188))}if(n.return!==r.return)n=l,r=a;else{for(var u=!1,i=l.child;i;){if(i===n){u=!0,n=l,r=a;break}if(i===r){u=!0,r=l,n=a;break}i=i.sibling}if(!u){for(i=a.child;i;){if(i===n){u=!0,n=a,r=l;break}if(i===r){u=!0,r=a,n=l;break}i=i.sibling}if(!u)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,rt,lt,at=!1,ot=[],ut=null,it=null,st=null,ct=new Map,ft=new Map,dt=[],pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ht(e,t,n,r,l){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:l,targetContainers:[r]}}function mt(e,t){switch(e){case"focusin":case"focusout":ut=null;break;case"dragenter":case"dragleave":it=null;break;case"mouseover":case"mouseout":st=null;break;case"pointerover":case"pointerout":ct.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ft.delete(t.pointerId)}}function vt(e,t,n,r,l,a){return null===e||e.nativeEvent!==a?(e=ht(t,n,r,l,a),null!==t&&(null!==(t=el(t))&&nt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==l&&-1===t.indexOf(l)&&t.push(l),e)}function yt(e){var t=Jr(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ge(n)))return e.blockedOn=t,void lt(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){rt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function gt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=el(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){gt(e)&&n.delete(t)}function wt(){for(at=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=el(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==ut&&gt(ut)&&(ut=null),null!==it&&gt(it)&&(it=null),null!==st&&gt(st)&&(st=null),ct.forEach(bt),ft.forEach(bt)}function kt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,wt)))}function Et(e){function t(t){return kt(t,e)}if(0<ot.length){kt(ot[0],e);for(var n=1;n<ot.length;n++){var r=ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==ut&&kt(ut,e),null!==it&&kt(it,e),null!==st&&kt(st,e),ct.forEach(t),ft.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)yt(n),null===n.blockedOn&&dt.shift()}function St(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var _t={animationend:St("Animation","AnimationEnd"),animationiteration:St("Animation","AnimationIteration"),animationstart:St("Animation","AnimationStart"),transitionend:St("Transition","TransitionEnd")},xt={},Ct={};function Pt(e){if(xt[e])return xt[e];if(!_t[e])return e;var t,n=_t[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ct)return xt[e]=n[t];return e}f&&(Ct=document.createElement("div").style,"AnimationEvent"in window||(delete _t.animationend.animation,delete _t.animationiteration.animation,delete _t.animationstart.animation),"TransitionEvent"in window||delete _t.transitionend.transition);var Nt=Pt("animationend"),Tt=Pt("animationiteration"),Lt=Pt("animationstart"),zt=Pt("transitionend"),Ot=new Map,Rt=new Map,Mt=["abort","abort",Nt,"animationEnd",Tt,"animationIteration",Lt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",zt,"transitionEnd","waiting","waiting"];function It(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],l=e[n+1];l="on"+(l[0].toUpperCase()+l.slice(1)),Rt.set(r,t),Ot.set(r,l),s(l,[r])}}(0,a.unstable_now)();var Dt=8;function Ft(e){if(0!==(1&e))return Dt=15,1;if(0!==(2&e))return Dt=14,2;if(0!==(4&e))return Dt=13,4;var t=24&e;return 0!==t?(Dt=12,t):0!==(32&e)?(Dt=11,32):0!==(t=192&e)?(Dt=10,t):0!==(256&e)?(Dt=9,256):0!==(t=3584&e)?(Dt=8,t):0!==(4096&e)?(Dt=7,4096):0!==(t=4186112&e)?(Dt=6,t):0!==(t=62914560&e)?(Dt=5,t):67108864&e?(Dt=4,67108864):0!==(134217728&e)?(Dt=3,134217728):0!==(t=805306368&e)?(Dt=2,t):0!==(1073741824&e)?(Dt=1,1073741824):(Dt=8,e)}function Ut(e,t){var n=e.pendingLanes;if(0===n)return Dt=0;var r=0,l=0,a=e.expiredLanes,o=e.suspendedLanes,u=e.pingedLanes;if(0!==a)r=a,l=Dt=15;else if(0!==(a=134217727&n)){var i=a&~o;0!==i?(r=Ft(i),l=Dt):0!==(u&=a)&&(r=Ft(u),l=Dt)}else 0!==(a=n&~o)?(r=Ft(a),l=Dt):0!==u&&(r=Ft(u),l=Dt);if(0===r)return 0;if(r=n&((0>(r=31-$t(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0===(t&o)){if(Ft(t),l<=Dt)return t;Dt=l}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)l=1<<(n=31-$t(t)),r|=e[n],t&=~l;return r}function At(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Vt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=jt(24&~t))?Vt(10,t):e;case 10:return 0===(e=jt(192&~t))?Vt(8,t):e;case 8:return 0===(e=jt(3584&~t))&&(0===(e=jt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=jt(805306368&~t))&&(t=268435456),t}throw Error(o(358,e))}function jt(e){return e&-e}function Bt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Wt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-$t(t)]=n}var $t=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Ht(e)/Qt|0)|0},Ht=Math.log,Qt=Math.LN2;var qt=a.unstable_UserBlockingPriority,Kt=a.unstable_runWithPriority,Yt=!0;function Xt(e,t,n,r){Fe||Ie();var l=Zt,a=Fe;Fe=!0;try{Me(l,e,t,n,r)}finally{(Fe=a)||Ae()}}function Gt(e,t,n,r){Kt(qt,Zt.bind(null,e,t,n,r))}function Zt(e,t,n,r){var l;if(Yt)if((l=0===(4&t))&&0<ot.length&&-1<pt.indexOf(e))e=ht(null,e,t,n,r),ot.push(e);else{var a=Jt(e,t,n,r);if(null===a)l&&mt(e,r);else{if(l){if(-1<pt.indexOf(e))return e=ht(a,e,t,n,r),void ot.push(e);if(function(e,t,n,r,l){switch(t){case"focusin":return ut=vt(ut,e,t,n,r,l),!0;case"dragenter":return it=vt(it,e,t,n,r,l),!0;case"mouseover":return st=vt(st,e,t,n,r,l),!0;case"pointerover":var a=l.pointerId;return ct.set(a,vt(ct.get(a)||null,e,t,n,r,l)),!0;case"gotpointercapture":return a=l.pointerId,ft.set(a,vt(ft.get(a)||null,e,t,n,r,l)),!0}return!1}(a,e,t,n,r))return;mt(e,r)}Or(e,t,r,null,n)}}}function Jt(e,t,n,r){var l=Ce(r);if(null!==(l=Jr(l))){var a=Xe(l);if(null===a)l=null;else{var o=a.tag;if(13===o){if(null!==(l=Ge(a)))return l;l=null}else if(3===o){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;l=null}else a!==l&&(l=null)}}return Or(e,t,r,l,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,r=n.length,l="value"in en?en.value:en.textContent,a=l.length;for(e=0;e<r&&n[e]===l[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===l[a-t];t++);return nn=l.slice(e,1<t?1-t:void 0)}function ln(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function an(){return!0}function on(){return!1}function un(e){function t(t,n,r,l,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=l,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(l):l[o]);return this.isDefaultPrevented=(null!=l.defaultPrevented?l.defaultPrevented:!1===l.returnValue)?an:on,this.isPropagationStopped=on,this}return l(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=an)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=an)},persist:function(){},isPersistent:an}),t}var sn,cn,fn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pn=un(dn),hn=l({},dn,{view:0,detail:0}),mn=un(hn),vn=l({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Pn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==fn&&(fn&&"mousemove"===e.type?(sn=e.screenX-fn.screenX,cn=e.screenY-fn.screenY):cn=sn=0,fn=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:cn}}),yn=un(vn),gn=un(l({},vn,{dataTransfer:0})),bn=un(l({},hn,{relatedTarget:0})),wn=un(l({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=un(l({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),En=un(l({},dn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},_n={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},xn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=xn[e])&&!!t[e]}function Pn(){return Cn}var Nn=un(l({},hn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ln(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?_n[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Pn,charCode:function(e){return"keypress"===e.type?ln(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ln(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),Tn=un(l({},vn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ln=un(l({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Pn})),zn=un(l({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),On=un(l({},vn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Rn=[9,13,27,32],Mn=f&&"CompositionEvent"in window,In=null;f&&"documentMode"in document&&(In=document.documentMode);var Dn=f&&"TextEvent"in window&&!In,Fn=f&&(!Mn||In&&8<In&&11>=In),Un=String.fromCharCode(32),An=!1;function Vn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function jn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Bn=!1;var Wn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Wn[e.type]:"textarea"===t}function Hn(e,t,n,r){ze(r),0<(t=Mr(t,"onChange")).length&&(n=new pn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Qn=null,qn=null;function Kn(e){Cr(e,0)}function Yn(e){if(G(tl(e)))return e}function Xn(e,t){if("change"===e)return t}var Gn=!1;if(f){var Zn;if(f){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"===typeof er.oninput}Zn=Jn}else Zn=!1;Gn=Zn&&(!document.documentMode||9<document.documentMode)}function tr(){Qn&&(Qn.detachEvent("onpropertychange",nr),qn=Qn=null)}function nr(e){if("value"===e.propertyName&&Yn(qn)){var t=[];if(Hn(t,qn,e,Ce(e)),e=Kn,Fe)e(t);else{Fe=!0;try{Re(e,t)}finally{Fe=!1,Ae()}}}}function rr(e,t,n){"focusin"===e?(tr(),qn=n,(Qn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function lr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function ar(e,t){if("click"===e)return Yn(t)}function or(e,t){if("input"===e||"change"===e)return Yn(t)}var ur="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},ir=Object.prototype.hasOwnProperty;function sr(e,t){if(ur(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!ir.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mr=f&&"documentMode"in document&&11>=document.documentMode,vr=null,yr=null,gr=null,br=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==vr||vr!==Z(r)||("selectionStart"in(r=vr)&&hr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},gr&&sr(gr,r)||(gr=r,0<(r=Mr(yr,"onSelect")).length&&(t=new pn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}It("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),It("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),It(Mt,2);for(var kr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Er=0;Er<kr.length;Er++)Rt.set(kr[Er],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Sr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_r=new Set("cancel close invalid load scroll toggle".split(" ").concat(Sr));function xr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,l,a,u,i,s){if(Ye.apply(this,arguments),$e){if(!$e)throw Error(o(198));var c=He;$e=!1,He=null,Qe||(Qe=!0,qe=c)}}(r,t,void 0,e),e.currentTarget=null}function Cr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],l=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var u=r[o],i=u.instance,s=u.currentTarget;if(u=u.listener,i!==a&&l.isPropagationStopped())break e;xr(l,u,s),a=i}else for(o=0;o<r.length;o++){if(i=(u=r[o]).instance,s=u.currentTarget,u=u.listener,i!==a&&l.isPropagationStopped())break e;xr(l,u,s),a=i}}}if(Qe)throw e=qe,Qe=!1,qe=null,e}function Pr(e,t){var n=rl(t),r=e+"__bubble";n.has(r)||(zr(t,e,2,!1),n.add(r))}var Nr="_reactListening"+Math.random().toString(36).slice(2);function Tr(e){e[Nr]||(e[Nr]=!0,u.forEach((function(t){_r.has(t)||Lr(t,!1,e,null),Lr(t,!0,e,null)})))}function Lr(e,t,n,r){var l=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=n;if("selectionchange"===e&&9!==n.nodeType&&(a=n.ownerDocument),null!==r&&!t&&_r.has(e)){if("scroll"!==e)return;l|=2,a=r}var o=rl(a),u=e+"__"+(t?"capture":"bubble");o.has(u)||(t&&(l|=4),zr(a,e,l,t),o.add(u))}function zr(e,t,n,r){var l=Rt.get(t);switch(void 0===l?2:l){case 0:l=Xt;break;case 1:l=Gt;break;default:l=Zt}n=l.bind(null,t,n,e),l=void 0,!je||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(l=!0),r?void 0!==l?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):void 0!==l?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function Or(e,t,n,r,l){var a=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var u=r.stateNode.containerInfo;if(u===l||8===u.nodeType&&u.parentNode===l)break;if(4===o)for(o=r.return;null!==o;){var i=o.tag;if((3===i||4===i)&&((i=o.stateNode.containerInfo)===l||8===i.nodeType&&i.parentNode===l))return;o=o.return}for(;null!==u;){if(null===(o=Jr(u)))return;if(5===(i=o.tag)||6===i){r=a=o;continue e}u=u.parentNode}}r=r.return}!function(e,t,n){if(Ue)return e(t,n);Ue=!0;try{De(e,t,n)}finally{Ue=!1,Ae()}}((function(){var r=a,l=Ce(n),o=[];e:{var u=Ot.get(e);if(void 0!==u){var i=pn,s=e;switch(e){case"keypress":if(0===ln(n))break e;case"keydown":case"keyup":i=Nn;break;case"focusin":s="focus",i=bn;break;case"focusout":s="blur",i=bn;break;case"beforeblur":case"afterblur":i=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":i=yn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":i=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":i=Ln;break;case Nt:case Tt:case Lt:i=wn;break;case zt:i=zn;break;case"scroll":i=mn;break;case"wheel":i=On;break;case"copy":case"cut":case"paste":i=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":i=Tn}var c=0!==(4&t),f=!c&&"scroll"===e,d=c?null!==u?u+"Capture":null:u;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==d&&(null!=(m=Ve(h,d))&&c.push(Rr(h,m,p)))),f)break;h=h.return}0<c.length&&(u=new i(u,s,null,n,l),o.push({event:u,listeners:c}))}}if(0===(7&t)){if(i="mouseout"===e||"pointerout"===e,(!(u="mouseover"===e||"pointerover"===e)||0!==(16&t)||!(s=n.relatedTarget||n.fromElement)||!Jr(s)&&!s[Gr])&&(i||u)&&(u=l.window===l?l:(u=l.ownerDocument)?u.defaultView||u.parentWindow:window,i?(i=r,null!==(s=(s=n.relatedTarget||n.toElement)?Jr(s):null)&&(s!==(f=Xe(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(i=null,s=r),i!==s)){if(c=yn,m="onMouseLeave",d="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=Tn,m="onPointerLeave",d="onPointerEnter",h="pointer"),f=null==i?u:tl(i),p=null==s?u:tl(s),(u=new c(m,h+"leave",i,n,l)).target=f,u.relatedTarget=p,m=null,Jr(l)===r&&((c=new c(d,h+"enter",s,n,l)).target=p,c.relatedTarget=f,m=c),f=m,i&&s)e:{for(d=s,h=0,p=c=i;p;p=Ir(p))h++;for(p=0,m=d;m;m=Ir(m))p++;for(;0<h-p;)c=Ir(c),h--;for(;0<p-h;)d=Ir(d),p--;for(;h--;){if(c===d||null!==d&&c===d.alternate)break e;c=Ir(c),d=Ir(d)}c=null}else c=null;null!==i&&Dr(o,u,i,c,!1),null!==s&&null!==f&&Dr(o,f,s,c,!0)}if("select"===(i=(u=r?tl(r):window).nodeName&&u.nodeName.toLowerCase())||"input"===i&&"file"===u.type)var v=Xn;else if($n(u))if(Gn)v=or;else{v=lr;var y=rr}else(i=u.nodeName)&&"input"===i.toLowerCase()&&("checkbox"===u.type||"radio"===u.type)&&(v=ar);switch(v&&(v=v(e,r))?Hn(o,v,n,l):(y&&y(e,u,r),"focusout"===e&&(y=u._wrapperState)&&y.controlled&&"number"===u.type&&le(u,"number",u.value)),y=r?tl(r):window,e){case"focusin":($n(y)||"true"===y.contentEditable)&&(vr=y,yr=r,gr=null);break;case"focusout":gr=yr=vr=null;break;case"mousedown":br=!0;break;case"contextmenu":case"mouseup":case"dragend":br=!1,wr(o,n,l);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":wr(o,n,l)}var g;if(Mn)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Bn?Vn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Fn&&"ko"!==n.locale&&(Bn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Bn&&(g=rn()):(tn="value"in(en=l)?en.value:en.textContent,Bn=!0)),0<(y=Mr(r,b)).length&&(b=new En(b,e,null,n,l),o.push({event:b,listeners:y}),g?b.data=g:null!==(g=jn(n))&&(b.data=g))),(g=Dn?function(e,t){switch(e){case"compositionend":return jn(t);case"keypress":return 32!==t.which?null:(An=!0,Un);case"textInput":return(e=t.data)===Un&&An?null:e;default:return null}}(e,n):function(e,t){if(Bn)return"compositionend"===e||!Mn&&Vn(e,t)?(e=rn(),nn=tn=en=null,Bn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&(0<(r=Mr(r,"onBeforeInput")).length&&(l=new En("onBeforeInput","beforeinput",null,n,l),o.push({event:l,listeners:r}),l.data=g))}Cr(o,t)}))}function Rr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Mr(e,t){for(var n=t+"Capture",r=[];null!==e;){var l=e,a=l.stateNode;5===l.tag&&null!==a&&(l=a,null!=(a=Ve(e,n))&&r.unshift(Rr(e,a,l)),null!=(a=Ve(e,t))&&r.push(Rr(e,a,l))),e=e.return}return r}function Ir(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Dr(e,t,n,r,l){for(var a=t._reactName,o=[];null!==n&&n!==r;){var u=n,i=u.alternate,s=u.stateNode;if(null!==i&&i===r)break;5===u.tag&&null!==s&&(u=s,l?null!=(i=Ve(n,a))&&o.unshift(Rr(n,i,u)):l||null!=(i=Ve(n,a))&&o.push(Rr(n,i,u))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}function Fr(){}var Ur=null,Ar=null;function Vr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function jr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Br="function"===typeof setTimeout?setTimeout:void 0,Wr="function"===typeof clearTimeout?clearTimeout:void 0;function $r(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Hr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var qr=0;var Kr=Math.random().toString(36).slice(2),Yr="__reactFiber$"+Kr,Xr="__reactProps$"+Kr,Gr="__reactContainer$"+Kr,Zr="__reactEvents$"+Kr;function Jr(e){var t=e[Yr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Gr]||n[Yr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Qr(e);null!==e;){if(n=e[Yr])return n;e=Qr(e)}return t}n=(e=n).parentNode}return null}function el(e){return!(e=e[Yr]||e[Gr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function tl(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function nl(e){return e[Xr]||null}function rl(e){var t=e[Zr];return void 0===t&&(t=e[Zr]=new Set),t}var ll=[],al=-1;function ol(e){return{current:e}}function ul(e){0>al||(e.current=ll[al],ll[al]=null,al--)}function il(e,t){al++,ll[al]=e.current,e.current=t}var sl={},cl=ol(sl),fl=ol(!1),dl=sl;function pl(e,t){var n=e.type.contextTypes;if(!n)return sl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in n)a[l]=t[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function hl(e){return null!==(e=e.childContextTypes)&&void 0!==e}function ml(){ul(fl),ul(cl)}function vl(e,t,n){if(cl.current!==sl)throw Error(o(168));il(cl,t),il(fl,n)}function yl(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in e))throw Error(o(108,q(t)||"Unknown",a));return l({},n,r)}function gl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||sl,dl=cl.current,il(cl,e),il(fl,fl.current),!0}function bl(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=yl(e,t,dl),r.__reactInternalMemoizedMergedChildContext=e,ul(fl),ul(cl),il(cl,e)):ul(fl),il(fl,n)}var wl=null,kl=null,El=a.unstable_runWithPriority,Sl=a.unstable_scheduleCallback,_l=a.unstable_cancelCallback,xl=a.unstable_shouldYield,Cl=a.unstable_requestPaint,Pl=a.unstable_now,Nl=a.unstable_getCurrentPriorityLevel,Tl=a.unstable_ImmediatePriority,Ll=a.unstable_UserBlockingPriority,zl=a.unstable_NormalPriority,Ol=a.unstable_LowPriority,Rl=a.unstable_IdlePriority,Ml={},Il=void 0!==Cl?Cl:function(){},Dl=null,Fl=null,Ul=!1,Al=Pl(),Vl=1e4>Al?Pl:function(){return Pl()-Al};function jl(){switch(Nl()){case Tl:return 99;case Ll:return 98;case zl:return 97;case Ol:return 96;case Rl:return 95;default:throw Error(o(332))}}function Bl(e){switch(e){case 99:return Tl;case 98:return Ll;case 97:return zl;case 96:return Ol;case 95:return Rl;default:throw Error(o(332))}}function Wl(e,t){return e=Bl(e),El(e,t)}function $l(e,t,n){return e=Bl(e),Sl(e,t,n)}function Hl(){if(null!==Fl){var e=Fl;Fl=null,_l(e)}Ql()}function Ql(){if(!Ul&&null!==Dl){Ul=!0;var e=0;try{var t=Dl;Wl(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Dl=null}catch(n){throw null!==Dl&&(Dl=Dl.slice(e+1)),Sl(Tl,Hl),n}finally{Ul=!1}}}var ql=k.ReactCurrentBatchConfig;function Kl(e,t){if(e&&e.defaultProps){for(var n in t=l({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Yl=ol(null),Xl=null,Gl=null,Zl=null;function Jl(){Zl=Gl=Xl=null}function ea(e){var t=Yl.current;ul(Yl),e.type._context._currentValue=t}function ta(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function na(e,t){Xl=e,Zl=Gl=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Mo=!0),e.firstContext=null)}function ra(e,t){if(Zl!==e&&!1!==t&&0!==t)if("number"===typeof t&&1073741823!==t||(Zl=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Gl){if(null===Xl)throw Error(o(308));Gl=t,Xl.dependencies={lanes:0,firstContext:t,responders:null}}else Gl=Gl.next=t;return e._currentValue}var la=!1;function aa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function oa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ua(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ia(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function sa(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var l=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?l=a=o:a=a.next=o,n=n.next}while(null!==n);null===a?l=a=t:a=a.next=t}else l=a=t;return n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ca(e,t,n,r){var a=e.updateQueue;la=!1;var o=a.firstBaseUpdate,u=a.lastBaseUpdate,i=a.shared.pending;if(null!==i){a.shared.pending=null;var s=i,c=s.next;s.next=null,null===u?o=c:u.next=c,u=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==u&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==o){for(d=a.baseState,u=0,f=c=s=null;;){i=o.lane;var p=o.eventTime;if((r&i)===i){null!==f&&(f=f.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var h=e,m=o;switch(i=t,p=n,m.tag){case 1:if("function"===typeof(h=m.payload)){d=h.call(p,d,i);break e}d=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null===(i="function"===typeof(h=m.payload)?h.call(p,d,i):h)||void 0===i)break e;d=l({},d,i);break e;case 2:la=!0}}null!==o.callback&&(e.flags|=32,null===(i=a.effects)?a.effects=[o]:i.push(o))}else p={eventTime:p,lane:i,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,u|=i;if(null===(o=o.next)){if(null===(i=a.shared.pending))break;o=i.next,i.next=null,a.lastBaseUpdate=i,a.shared.pending=null}}null===f&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=f,Uu|=u,e.lanes=u,e.memoizedState=d}}function fa(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(null!==l){if(r.callback=null,r=n,"function"!==typeof l)throw Error(o(191,l));l.call(r)}}}var da=(new r.Component).refs;function pa(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:l({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ha={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=si(),l=ci(e),a=ua(r,l);a.payload=t,void 0!==n&&null!==n&&(a.callback=n),ia(e,a),fi(e,l,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=si(),l=ci(e),a=ua(r,l);a.tag=1,a.payload=t,void 0!==n&&null!==n&&(a.callback=n),ia(e,a),fi(e,l,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=si(),r=ci(e),l=ua(n,r);l.tag=2,void 0!==t&&null!==t&&(l.callback=t),ia(e,l),fi(e,r,n)}};function ma(e,t,n,r,l,a,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,o):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(l,a))}function va(e,t,n){var r=!1,l=sl,a=t.contextType;return"object"===typeof a&&null!==a?a=ra(a):(l=hl(t)?dl:cl.current,a=(r=null!==(r=t.contextTypes)&&void 0!==r)?pl(e,l):sl),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ha,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=a),t}function ya(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ha.enqueueReplaceState(t,t.state,null)}function ga(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs=da,aa(e);var a=t.contextType;"object"===typeof a&&null!==a?l.context=ra(a):(a=hl(t)?dl:cl.current,l.context=pl(e,a)),ca(e,n,l,r),l.state=e.memoizedState,"function"===typeof(a=t.getDerivedStateFromProps)&&(pa(e,t,a,n),l.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof l.getSnapshotBeforeUpdate||"function"!==typeof l.UNSAFE_componentWillMount&&"function"!==typeof l.componentWillMount||(t=l.state,"function"===typeof l.componentWillMount&&l.componentWillMount(),"function"===typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount(),t!==l.state&&ha.enqueueReplaceState(l,l.state,null),ca(e,n,l,r),l.state=e.memoizedState),"function"===typeof l.componentDidMount&&(e.flags|=4)}var ba=Array.isArray;function wa(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var l=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===l?t.ref:((t=function(e){var t=r.refs;t===da&&(t=r.refs={}),null===e?delete t[l]:t[l]=e})._stringRef=l,t)}if("string"!==typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function ka(e,t){if("textarea"!==e.type)throw Error(o(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Ea(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function l(e,t){return(e=Wi(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function u(t){return e&&null===t.alternate&&(t.flags=2),t}function i(e,t,n,r){return null===t||6!==t.tag?((t=qi(n,e.mode,r)).return=e,t):((t=l(t,n)).return=e,t)}function s(e,t,n,r){return null!==t&&t.elementType===n.type?((r=l(t,n.props)).ref=wa(e,t,n),r.return=e,r):((r=$i(n.type,n.key,n.props,null,e.mode,r)).ref=wa(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ki(n,e.mode,r)).return=e,t):((t=l(t,n.children||[])).return=e,t)}function f(e,t,n,r,a){return null===t||7!==t.tag?((t=Hi(n,e.mode,r,a)).return=e,t):((t=l(t,n)).return=e,t)}function d(e,t,n){if("string"===typeof t||"number"===typeof t)return(t=qi(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case E:return(n=$i(t.type,t.key,t.props,null,e.mode,n)).ref=wa(e,null,t),n.return=e,n;case S:return(t=Ki(t,e.mode,n)).return=e,t}if(ba(t)||B(t))return(t=Hi(t,e.mode,n,null)).return=e,t;ka(e,t)}return null}function p(e,t,n,r){var l=null!==t?t.key:null;if("string"===typeof n||"number"===typeof n)return null!==l?null:i(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case E:return n.key===l?n.type===_?f(e,t,n.props.children,r,l):s(e,t,n,r):null;case S:return n.key===l?c(e,t,n,r):null}if(ba(n)||B(n))return null!==l?null:f(e,t,n,r,null);ka(e,n)}return null}function h(e,t,n,r,l){if("string"===typeof r||"number"===typeof r)return i(t,e=e.get(n)||null,""+r,l);if("object"===typeof r&&null!==r){switch(r.$$typeof){case E:return e=e.get(null===r.key?n:r.key)||null,r.type===_?f(t,e,r.props.children,l,r.key):s(t,e,r,l);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,l)}if(ba(r)||B(r))return f(t,e=e.get(n)||null,r,l,null);ka(t,r)}return null}function m(l,o,u,i){for(var s=null,c=null,f=o,m=o=0,v=null;null!==f&&m<u.length;m++){f.index>m?(v=f,f=null):v=f.sibling;var y=p(l,f,u[m],i);if(null===y){null===f&&(f=v);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,m),null===c?s=y:c.sibling=y,c=y,f=v}if(m===u.length)return n(l,f),s;if(null===f){for(;m<u.length;m++)null!==(f=d(l,u[m],i))&&(o=a(f,o,m),null===c?s=f:c.sibling=f,c=f);return s}for(f=r(l,f);m<u.length;m++)null!==(v=h(f,l,m,u[m],i))&&(e&&null!==v.alternate&&f.delete(null===v.key?m:v.key),o=a(v,o,m),null===c?s=v:c.sibling=v,c=v);return e&&f.forEach((function(e){return t(l,e)})),s}function v(l,u,i,s){var c=B(i);if("function"!==typeof c)throw Error(o(150));if(null==(i=c.call(i)))throw Error(o(151));for(var f=c=null,m=u,v=u=0,y=null,g=i.next();null!==m&&!g.done;v++,g=i.next()){m.index>v?(y=m,m=null):y=m.sibling;var b=p(l,m,g.value,s);if(null===b){null===m&&(m=y);break}e&&m&&null===b.alternate&&t(l,m),u=a(b,u,v),null===f?c=b:f.sibling=b,f=b,m=y}if(g.done)return n(l,m),c;if(null===m){for(;!g.done;v++,g=i.next())null!==(g=d(l,g.value,s))&&(u=a(g,u,v),null===f?c=g:f.sibling=g,f=g);return c}for(m=r(l,m);!g.done;v++,g=i.next())null!==(g=h(m,l,v,g.value,s))&&(e&&null!==g.alternate&&m.delete(null===g.key?v:g.key),u=a(g,u,v),null===f?c=g:f.sibling=g,f=g);return e&&m.forEach((function(e){return t(l,e)})),c}return function(e,r,a,i){var s="object"===typeof a&&null!==a&&a.type===_&&null===a.key;s&&(a=a.props.children);var c="object"===typeof a&&null!==a;if(c)switch(a.$$typeof){case E:e:{for(c=a.key,s=r;null!==s;){if(s.key===c){switch(s.tag){case 7:if(a.type===_){n(e,s.sibling),(r=l(s,a.props.children)).return=e,e=r;break e}break;default:if(s.elementType===a.type){n(e,s.sibling),(r=l(s,a.props)).ref=wa(e,s,a),r.return=e,e=r;break e}}n(e,s);break}t(e,s),s=s.sibling}a.type===_?((r=Hi(a.props.children,e.mode,i,a.key)).return=e,e=r):((i=$i(a.type,a.key,a.props,null,e.mode,i)).ref=wa(e,r,a),i.return=e,e=i)}return u(e);case S:e:{for(s=a.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Ki(a,e.mode,i)).return=e,e=r}return u(e)}if("string"===typeof a||"number"===typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=l(r,a)).return=e,e=r):(n(e,r),(r=qi(a,e.mode,i)).return=e,e=r),u(e);if(ba(a))return m(e,r,a,i);if(B(a))return v(e,r,a,i);if(c&&ka(e,a),"undefined"===typeof a&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(o(152,q(e.type)||"Component"))}return n(e,r)}}var Sa=Ea(!0),_a=Ea(!1),xa={},Ca=ol(xa),Pa=ol(xa),Na=ol(xa);function Ta(e){if(e===xa)throw Error(o(174));return e}function La(e,t){switch(il(Na,t),il(Pa,e),il(Ca,xa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ul(Ca),il(Ca,t)}function za(){ul(Ca),ul(Pa),ul(Na)}function Oa(e){Ta(Na.current);var t=Ta(Ca.current),n=he(t,e.type);t!==n&&(il(Pa,e),il(Ca,n))}function Ra(e){Pa.current===e&&(ul(Ca),ul(Pa))}var Ma=ol(0);function Ia(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Da=null,Fa=null,Ua=!1;function Aa(e,t){var n=ji(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Va(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function ja(e){if(Ua){var t=Fa;if(t){var n=t;if(!Va(e,t)){if(!(t=Hr(n.nextSibling))||!Va(e,t))return e.flags=-1025&e.flags|2,Ua=!1,void(Da=e);Aa(Da,n)}Da=e,Fa=Hr(t.firstChild)}else e.flags=-1025&e.flags|2,Ua=!1,Da=e}}function Ba(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Da=e}function Wa(e){if(e!==Da)return!1;if(!Ua)return Ba(e),Ua=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!jr(t,e.memoizedProps))for(t=Fa;t;)Aa(e,t),t=Hr(t.nextSibling);if(Ba(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Fa=Hr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Fa=null}}else Fa=Da?Hr(e.stateNode.nextSibling):null;return!0}function $a(){Fa=Da=null,Ua=!1}var Ha=[];function Qa(){for(var e=0;e<Ha.length;e++)Ha[e]._workInProgressVersionPrimary=null;Ha.length=0}var qa=k.ReactCurrentDispatcher,Ka=k.ReactCurrentBatchConfig,Ya=0,Xa=null,Ga=null,Za=null,Ja=!1,eo=!1;function to(){throw Error(o(321))}function no(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ro(e,t,n,r,l,a){if(Ya=a,Xa=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,qa.current=null===e||null===e.memoizedState?Lo:zo,e=n(r,l),eo){a=0;do{if(eo=!1,!(25>a))throw Error(o(301));a+=1,Za=Ga=null,t.updateQueue=null,qa.current=Oo,e=n(r,l)}while(eo)}if(qa.current=To,t=null!==Ga&&null!==Ga.next,Ya=0,Za=Ga=Xa=null,Ja=!1,t)throw Error(o(300));return e}function lo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Za?Xa.memoizedState=Za=e:Za=Za.next=e,Za}function ao(){if(null===Ga){var e=Xa.alternate;e=null!==e?e.memoizedState:null}else e=Ga.next;var t=null===Za?Xa.memoizedState:Za.next;if(null!==t)Za=t,Ga=e;else{if(null===e)throw Error(o(310));e={memoizedState:(Ga=e).memoizedState,baseState:Ga.baseState,baseQueue:Ga.baseQueue,queue:Ga.queue,next:null},null===Za?Xa.memoizedState=Za=e:Za=Za.next=e}return Za}function oo(e,t){return"function"===typeof t?t(e):t}function uo(e){var t=ao(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=Ga,l=r.baseQueue,a=n.pending;if(null!==a){if(null!==l){var u=l.next;l.next=a.next,a.next=u}r.baseQueue=l=a,n.pending=null}if(null!==l){l=l.next,r=r.baseState;var i=u=a=null,s=l;do{var c=s.lane;if((Ya&c)===c)null!==i&&(i=i.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),r=s.eagerReducer===e?s.eagerState:e(r,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===i?(u=i=f,a=r):i=i.next=f,Xa.lanes|=c,Uu|=c}s=s.next}while(null!==s&&s!==l);null===i?a=r:i.next=u,ur(r,t.memoizedState)||(Mo=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=i,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function io(e){var t=ao(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,a=t.memoizedState;if(null!==l){n.pending=null;var u=l=l.next;do{a=e(a,u.action),u=u.next}while(u!==l);ur(a,t.memoizedState)||(Mo=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function so(e,t,n){var r=t._getVersion;r=r(t._source);var l=t._workInProgressVersionPrimary;if(null!==l?e=l===r:(e=e.mutableReadLanes,(e=(Ya&e)===e)&&(t._workInProgressVersionPrimary=r,Ha.push(t))),e)return n(t._source);throw Ha.push(t),Error(o(350))}function co(e,t,n,r){var l=Lu;if(null===l)throw Error(o(349));var a=t._getVersion,u=a(t._source),i=qa.current,s=i.useState((function(){return so(l,t,n)})),c=s[1],f=s[0];s=Za;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,m=d.source;d=d.subscribe;var v=Xa;return e.memoizedState={refs:p,source:t,subscribe:r},i.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=a(t._source);if(!ur(u,e)){e=n(t._source),ur(f,e)||(c(e),e=ci(v),l.mutableReadLanes|=e&l.pendingLanes),e=l.mutableReadLanes,l.entangledLanes|=e;for(var r=l.entanglements,o=e;0<o;){var i=31-$t(o),s=1<<i;r[i]|=e,o&=~s}}}),[n,t,r]),i.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=ci(v);l.mutableReadLanes|=r&l.pendingLanes}catch(a){n((function(){throw a}))}}))}),[t,r]),ur(h,n)&&ur(m,t)&&ur(d,r)||((e={pending:null,dispatch:null,lastRenderedReducer:oo,lastRenderedState:f}).dispatch=c=No.bind(null,Xa,e),s.queue=e,s.baseQueue=null,f=so(l,t,n),s.memoizedState=s.baseState=f),f}function fo(e,t,n){return co(ao(),e,t,n)}function po(e){var t=lo();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:oo,lastRenderedState:e}).dispatch=No.bind(null,Xa,e),[t.memoizedState,e]}function ho(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Xa.updateQueue)?(t={lastEffect:null},Xa.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function mo(e){return e={current:e},lo().memoizedState=e}function vo(){return ao().memoizedState}function yo(e,t,n,r){var l=lo();Xa.flags|=e,l.memoizedState=ho(1|t,n,void 0,void 0===r?null:r)}function go(e,t,n,r){var l=ao();r=void 0===r?null:r;var a=void 0;if(null!==Ga){var o=Ga.memoizedState;if(a=o.destroy,null!==r&&no(r,o.deps))return void ho(t,n,a,r)}Xa.flags|=e,l.memoizedState=ho(1|t,n,a,r)}function bo(e,t){return yo(516,4,e,t)}function wo(e,t){return go(516,4,e,t)}function ko(e,t){return go(4,2,e,t)}function Eo(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function So(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,go(4,2,Eo.bind(null,t,e),n)}function _o(){}function xo(e,t){var n=ao();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&no(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Co(e,t){var n=ao();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&no(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Po(e,t){var n=jl();Wl(98>n?98:n,(function(){e(!0)})),Wl(97<n?97:n,(function(){var n=Ka.transition;Ka.transition=1;try{e(!1),t()}finally{Ka.transition=n}}))}function No(e,t,n){var r=si(),l=ci(e),a={lane:l,action:n,eagerReducer:null,eagerState:null,next:null},o=t.pending;if(null===o?a.next=a:(a.next=o.next,o.next=a),t.pending=a,o=e.alternate,e===Xa||null!==o&&o===Xa)eo=Ja=!0;else{if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var u=t.lastRenderedState,i=o(u,n);if(a.eagerReducer=o,a.eagerState=i,ur(i,u))return}catch(s){}fi(e,l,r)}}var To={readContext:ra,useCallback:to,useContext:to,useEffect:to,useImperativeHandle:to,useLayoutEffect:to,useMemo:to,useReducer:to,useRef:to,useState:to,useDebugValue:to,useDeferredValue:to,useTransition:to,useMutableSource:to,useOpaqueIdentifier:to,unstable_isNewReconciler:!1},Lo={readContext:ra,useCallback:function(e,t){return lo().memoizedState=[e,void 0===t?null:t],e},useContext:ra,useEffect:bo,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,yo(4,2,Eo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yo(4,2,e,t)},useMemo:function(e,t){var n=lo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=lo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=No.bind(null,Xa,e),[r.memoizedState,e]},useRef:mo,useState:po,useDebugValue:_o,useDeferredValue:function(e){var t=po(e),n=t[0],r=t[1];return bo((function(){var t=Ka.transition;Ka.transition=1;try{r(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=po(!1),t=e[0];return mo(e=Po.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=lo();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},co(r,e,t,n)},useOpaqueIdentifier:function(){if(Ua){var e=!1,t=function(e){return{$$typeof:I,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(qr++).toString(36))),Error(o(355))})),n=po(t)[1];return 0===(2&Xa.mode)&&(Xa.flags|=516,ho(5,(function(){n("r:"+(qr++).toString(36))}),void 0,null)),t}return po(t="r:"+(qr++).toString(36)),t},unstable_isNewReconciler:!1},zo={readContext:ra,useCallback:xo,useContext:ra,useEffect:wo,useImperativeHandle:So,useLayoutEffect:ko,useMemo:Co,useReducer:uo,useRef:vo,useState:function(){return uo(oo)},useDebugValue:_o,useDeferredValue:function(e){var t=uo(oo),n=t[0],r=t[1];return wo((function(){var t=Ka.transition;Ka.transition=1;try{r(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=uo(oo)[0];return[vo().current,e]},useMutableSource:fo,useOpaqueIdentifier:function(){return uo(oo)[0]},unstable_isNewReconciler:!1},Oo={readContext:ra,useCallback:xo,useContext:ra,useEffect:wo,useImperativeHandle:So,useLayoutEffect:ko,useMemo:Co,useReducer:io,useRef:vo,useState:function(){return io(oo)},useDebugValue:_o,useDeferredValue:function(e){var t=io(oo),n=t[0],r=t[1];return wo((function(){var t=Ka.transition;Ka.transition=1;try{r(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=io(oo)[0];return[vo().current,e]},useMutableSource:fo,useOpaqueIdentifier:function(){return io(oo)[0]},unstable_isNewReconciler:!1},Ro=k.ReactCurrentOwner,Mo=!1;function Io(e,t,n,r){t.child=null===e?_a(t,null,n,r):Sa(t,e.child,n,r)}function Do(e,t,n,r,l){n=n.render;var a=t.ref;return na(t,l),r=ro(e,t,n,r,a,l),null===e||Mo?(t.flags|=1,Io(e,t,r,l),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~l,nu(e,t,l))}function Fo(e,t,n,r,l,a){if(null===e){var o=n.type;return"function"!==typeof o||Bi(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=$i(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Uo(e,t,o,r,l,a))}return o=e.child,0===(l&a)&&(l=o.memoizedProps,(n=null!==(n=n.compare)?n:sr)(l,r)&&e.ref===t.ref)?nu(e,t,a):(t.flags|=1,(e=Wi(o,r)).ref=t.ref,e.return=t,t.child=e)}function Uo(e,t,n,r,l,a){if(null!==e&&sr(e.memoizedProps,r)&&e.ref===t.ref){if(Mo=!1,0===(a&l))return t.lanes=e.lanes,nu(e,t,a);0!==(16384&e.flags)&&(Mo=!0)}return jo(e,t,n,r,a)}function Ao(e,t,n){var r=t.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},bi(t,n);else{if(0===(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},bi(t,e),null;t.memoizedState={baseLanes:0},bi(t,null!==a?a.baseLanes:n)}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,bi(t,r);return Io(e,t,l,n),t.child}function Vo(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function jo(e,t,n,r,l){var a=hl(n)?dl:cl.current;return a=pl(t,a),na(t,l),n=ro(e,t,n,r,a,l),null===e||Mo?(t.flags|=1,Io(e,t,n,l),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~l,nu(e,t,l))}function Bo(e,t,n,r,l){if(hl(n)){var a=!0;gl(t)}else a=!1;if(na(t,l),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),va(t,n,r),ga(t,n,r,l),r=!0;else if(null===e){var o=t.stateNode,u=t.memoizedProps;o.props=u;var i=o.context,s=n.contextType;"object"===typeof s&&null!==s?s=ra(s):s=pl(t,s=hl(n)?dl:cl.current);var c=n.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof o.getSnapshotBeforeUpdate;f||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(u!==r||i!==s)&&ya(t,o,r,s),la=!1;var d=t.memoizedState;o.state=d,ca(t,r,o,l),i=t.memoizedState,u!==r||d!==i||fl.current||la?("function"===typeof c&&(pa(t,n,c,r),i=t.memoizedState),(u=la||ma(t,n,u,r,d,i,s))?(f||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||("function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"===typeof o.componentDidMount&&(t.flags|=4)):("function"===typeof o.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=i),o.props=r,o.state=i,o.context=s,r=u):("function"===typeof o.componentDidMount&&(t.flags|=4),r=!1)}else{o=t.stateNode,oa(e,t),u=t.memoizedProps,s=t.type===t.elementType?u:Kl(t.type,u),o.props=s,f=t.pendingProps,d=o.context,"object"===typeof(i=n.contextType)&&null!==i?i=ra(i):i=pl(t,i=hl(n)?dl:cl.current);var p=n.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof o.getSnapshotBeforeUpdate)||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(u!==f||d!==i)&&ya(t,o,r,i),la=!1,d=t.memoizedState,o.state=d,ca(t,r,o,l);var h=t.memoizedState;u!==f||d!==h||fl.current||la?("function"===typeof p&&(pa(t,n,p,r),h=t.memoizedState),(s=la||ma(t,n,s,r,d,h,i))?(c||"function"!==typeof o.UNSAFE_componentWillUpdate&&"function"!==typeof o.componentWillUpdate||("function"===typeof o.componentWillUpdate&&o.componentWillUpdate(r,h,i),"function"===typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,h,i)),"function"===typeof o.componentDidUpdate&&(t.flags|=4),"function"===typeof o.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!==typeof o.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=h),o.props=r,o.state=h,o.context=i,r=s):("function"!==typeof o.componentDidUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||u===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),r=!1)}return Wo(e,t,n,r,a,l)}function Wo(e,t,n,r,l,a){Vo(e,t);var o=0!==(64&t.flags);if(!r&&!o)return l&&bl(t,n,!1),nu(e,t,a);r=t.stateNode,Ro.current=t;var u=o&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=Sa(t,e.child,null,a),t.child=Sa(t,null,u,a)):Io(e,t,u,a),t.memoizedState=r.state,l&&bl(t,n,!0),t.child}function $o(e){var t=e.stateNode;t.pendingContext?vl(0,t.pendingContext,t.pendingContext!==t.context):t.context&&vl(0,t.context,!1),La(e,t.containerInfo)}var Ho,Qo,qo,Ko={dehydrated:null,retryLane:0};function Yo(e,t,n){var r,l=t.pendingProps,a=Ma.current,o=!1;return(r=0!==(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(o=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===l.fallback||!0===l.unstable_avoidThisFallback||(a|=1),il(Ma,1&a),null===e?(void 0!==l.fallback&&ja(t),e=l.children,a=l.fallback,o?(e=Xo(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ko,e):"number"===typeof l.unstable_expectedLoadTime?(e=Xo(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ko,t.lanes=33554432,e):((n=Qi({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,o?(l=Zo(e,t,l.children,l.fallback,n),o=t.child,a=e.child.memoizedState,o.memoizedState=null===a?{baseLanes:n}:{baseLanes:a.baseLanes|n},o.childLanes=e.childLanes&~n,t.memoizedState=Ko,l):(n=Go(e,t,l.children,n),t.memoizedState=null,n))}function Xo(e,t,n,r){var l=e.mode,a=e.child;return t={mode:"hidden",children:t},0===(2&l)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Qi(t,l,0,null),n=Hi(n,l,r,null),a.return=e,n.return=e,a.sibling=n,e.child=a,n}function Go(e,t,n,r){var l=e.child;return e=l.sibling,n=Wi(l,{mode:"visible",children:n}),0===(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function Zo(e,t,n,r,l){var a=t.mode,o=e.child;e=o.sibling;var u={mode:"hidden",children:n};return 0===(2&a)&&t.child!==o?((n=t.child).childLanes=0,n.pendingProps=u,null!==(o=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=o,o.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Wi(o,u),null!==e?r=Wi(e,r):(r=Hi(r,a,l,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function Jo(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ta(e.return,t)}function eu(e,t,n,r,l,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l,lastEffect:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=l,o.lastEffect=a)}function tu(e,t,n){var r=t.pendingProps,l=r.revealOrder,a=r.tail;if(Io(e,t,r.children,n),0!==(2&(r=Ma.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Jo(e,n);else if(19===e.tag)Jo(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(il(Ma,r),0===(2&t.mode))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;null!==n;)null!==(e=n.alternate)&&null===Ia(e)&&(l=n),n=n.sibling;null===(n=l)?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),eu(t,!1,l,n,a,t.lastEffect);break;case"backwards":for(n=null,l=t.child,t.child=null;null!==l;){if(null!==(e=l.alternate)&&null===Ia(e)){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}eu(t,!0,n,null,a,t.lastEffect);break;case"together":eu(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function nu(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Uu|=t.lanes,0!==(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Wi(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Wi(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function ru(e,t){if(!Ua)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function lu(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return hl(t.type)&&ml(),null;case 3:return za(),ul(fl),ul(cl),Qa(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Wa(t)?t.flags|=4:r.hydrate||(t.flags|=256)),null;case 5:Ra(t);var a=Ta(Na.current);if(n=t.type,null!==e&&null!=t.stateNode)Qo(e,t,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(o(166));return null}if(e=Ta(Ca.current),Wa(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[Yr]=t,r[Xr]=u,n){case"dialog":Pr("cancel",r),Pr("close",r);break;case"iframe":case"object":case"embed":Pr("load",r);break;case"video":case"audio":for(e=0;e<Sr.length;e++)Pr(Sr[e],r);break;case"source":Pr("error",r);break;case"img":case"image":case"link":Pr("error",r),Pr("load",r);break;case"details":Pr("toggle",r);break;case"input":ee(r,u),Pr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!u.multiple},Pr("invalid",r);break;case"textarea":ie(r,u),Pr("invalid",r)}for(var s in _e(n,u),e=null,u)u.hasOwnProperty(s)&&(a=u[s],"children"===s?"string"===typeof a?r.textContent!==a&&(e=["children",a]):"number"===typeof a&&r.textContent!==""+a&&(e=["children",""+a]):i.hasOwnProperty(s)&&null!=a&&"onScroll"===s&&Pr("scroll",r));switch(n){case"input":X(r),re(r,u,!0);break;case"textarea":X(r),ce(r);break;case"select":case"option":break;default:"function"===typeof u.onClick&&(r.onclick=Fr)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(s=9===a.nodeType?a:a.ownerDocument,e===fe&&(e=pe(n)),e===fe?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Yr]=t,e[Xr]=r,Ho(e,t),t.stateNode=e,s=xe(n,r),n){case"dialog":Pr("cancel",e),Pr("close",e),a=r;break;case"iframe":case"object":case"embed":Pr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Sr.length;a++)Pr(Sr[a],e);a=r;break;case"source":Pr("error",e),a=r;break;case"img":case"image":case"link":Pr("error",e),Pr("load",e),a=r;break;case"details":Pr("toggle",e),a=r;break;case"input":ee(e,r),a=J(e,r),Pr("invalid",e);break;case"option":a=ae(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=l({},r,{value:void 0}),Pr("invalid",e);break;case"textarea":ie(e,r),a=ue(e,r),Pr("invalid",e);break;default:a=r}_e(n,a);var c=a;for(u in c)if(c.hasOwnProperty(u)){var f=c[u];"style"===u?Ee(e,f):"dangerouslySetInnerHTML"===u?null!=(f=f?f.__html:void 0)&&ye(e,f):"children"===u?"string"===typeof f?("textarea"!==n||""!==f)&&ge(e,f):"number"===typeof f&&ge(e,""+f):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(i.hasOwnProperty(u)?null!=f&&"onScroll"===u&&Pr("scroll",e):null!=f&&w(e,u,f,s))}switch(n){case"input":X(e),re(e,r,!1);break;case"textarea":X(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+K(r.value));break;case"select":e.multiple=!!r.multiple,null!=(u=r.value)?oe(e,!!r.multiple,u,!1):null!=r.defaultValue&&oe(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=Fr)}Vr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)qo(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(o(166));n=Ta(Na.current),Ta(Ca.current),Wa(t)?(r=t.stateNode,n=t.memoizedProps,r[Yr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Yr]=t,t.stateNode=r)}return null;case 13:return ul(Ma),r=t.memoizedState,0!==(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Wa(t):n=null!==e.memoizedState,r&&!n&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Ma.current)?0===Iu&&(Iu=3):(0!==Iu&&3!==Iu||(Iu=4),null===Lu||0===(134217727&Uu)&&0===(134217727&Au)||mi(Lu,Ou))),(r||n)&&(t.flags|=4),null);case 4:return za(),null===e&&Tr(t.stateNode.containerInfo),null;case 10:return ea(t),null;case 17:return hl(t.type)&&ml(),null;case 19:if(ul(Ma),null===(r=t.memoizedState))return null;if(u=0!==(64&t.flags),null===(s=r.rendering))if(u)ru(r,!1);else{if(0!==Iu||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=Ia(e))){for(t.flags|=64,ru(r,!1),null!==(u=s.updateQueue)&&(t.updateQueue=u,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(u=n).flags&=2,u.nextEffect=null,u.firstEffect=null,u.lastEffect=null,null===(s=u.alternate)?(u.childLanes=0,u.lanes=e,u.child=null,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=s.childLanes,u.lanes=s.lanes,u.child=s.child,u.memoizedProps=s.memoizedProps,u.memoizedState=s.memoizedState,u.updateQueue=s.updateQueue,u.type=s.type,e=s.dependencies,u.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return il(Ma,1&Ma.current|2),t.child}e=e.sibling}null!==r.tail&&Vl()>Wu&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432)}else{if(!u)if(null!==(e=Ia(s))){if(t.flags|=64,u=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),ru(r,!0),null===r.tail&&"hidden"===r.tailMode&&!s.alternate&&!Ua)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Vl()-r.renderingStartTime>Wu&&1073741824!==n&&(t.flags|=64,u=!0,ru(r,!1),t.lanes=33554432);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Vl(),n.sibling=null,t=Ma.current,il(Ma,u?1&t|2:1&t),n):null;case 23:case 24:return wi(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(o(156,t.tag))}function au(e){switch(e.tag){case 1:hl(e.type)&&ml();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(za(),ul(fl),ul(cl),Qa(),0!==(64&(t=e.flags)))throw Error(o(285));return e.flags=-4097&t|64,e;case 5:return Ra(e),null;case 13:return ul(Ma),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ul(Ma),null;case 4:return za(),null;case 10:return ea(e),null;case 23:case 24:return wi(),null;default:return null}}function ou(e,t){try{var n="",r=t;do{n+=Q(r),r=r.return}while(r);var l=n}catch(a){l="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:l}}function uu(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Ho=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Qo=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Ta(Ca.current);var o,u=null;switch(n){case"input":a=J(e,a),r=J(e,r),u=[];break;case"option":a=ae(e,a),r=ae(e,r),u=[];break;case"select":a=l({},a,{value:void 0}),r=l({},r,{value:void 0}),u=[];break;case"textarea":a=ue(e,a),r=ue(e,r),u=[];break;default:"function"!==typeof a.onClick&&"function"===typeof r.onClick&&(e.onclick=Fr)}for(f in _e(n,r),n=null,a)if(!r.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if("style"===f){var s=a[f];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==f&&"children"!==f&&"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&"autoFocus"!==f&&(i.hasOwnProperty(f)?u||(u=[]):(u=u||[]).push(f,null));for(f in r){var c=r[f];if(s=null!=a?a[f]:void 0,r.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if("style"===f)if(s){for(o in s)!s.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&s[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(u||(u=[]),u.push(f,n)),n=c;else"dangerouslySetInnerHTML"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(u=u||[]).push(f,c)):"children"===f?"string"!==typeof c&&"number"!==typeof c||(u=u||[]).push(f,""+c):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&(i.hasOwnProperty(f)?(null!=c&&"onScroll"===f&&Pr("scroll",e),u||s===c||(u=[])):"object"===typeof c&&null!==c&&c.$$typeof===I?c.toString():(u=u||[]).push(f,c))}n&&(u=u||[]).push("style",n);var f=u;(t.updateQueue=f)&&(t.flags|=4)}},qo=function(e,t,n,r){n!==r&&(t.flags|=4)};var iu="function"===typeof WeakMap?WeakMap:Map;function su(e,t,n){(n=ua(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){qu||(qu=!0,Ku=r),uu(0,t)},n}function cu(e,t,n){(n=ua(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var l=t.value;n.payload=function(){return uu(0,t),r(l)}}var a=e.stateNode;return null!==a&&"function"===typeof a.componentDidCatch&&(n.callback=function(){"function"!==typeof r&&(null===Yu?Yu=new Set([this]):Yu.add(this),uu(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var fu="function"===typeof WeakSet?WeakSet:Set;function du(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(n){Fi(e,n)}else t.current=null}function pu(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Kl(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&$r(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(o(163))}function hu(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var l=e;r=l.next,0!==(4&(l=l.tag))&&0!==(1&l)&&(Mi(n,e),Ri(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Kl(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&fa(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}fa(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Vr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Et(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(o(163))}function mu(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"===typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var l=n.memoizedProps.style;l=void 0!==l&&null!==l&&l.hasOwnProperty("display")?l.display:null,r.style.display=ke("display",l)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function vu(e,t){if(kl&&"function"===typeof kl.onCommitFiberUnmount)try{kl.onCommitFiberUnmount(wl,t)}catch(a){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,l=r.destroy;if(r=r.tag,void 0!==l)if(0!==(4&r))Mi(t,n);else{r=t;try{l()}catch(a){Fi(r,a)}}n=n.next}while(n!==e)}break;case 1:if(du(t),"function"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(a){Fi(t,a)}break;case 5:du(t);break;case 4:Eu(e,t)}}function yu(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function gu(e){return 5===e.tag||3===e.tag||4===e.tag}function bu(e){e:{for(var t=e.return;null!==t;){if(gu(t))break e;t=t.return}throw Error(o(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(o(161))}16&n.flags&&(ge(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||gu(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?wu(e,n,t):ku(e,n,t)}function wu(e,t,n){var r=e.tag,l=5===r||6===r;if(l)e=l?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Fr));else if(4!==r&&null!==(e=e.child))for(wu(e,t,n),e=e.sibling;null!==e;)wu(e,t,n),e=e.sibling}function ku(e,t,n){var r=e.tag,l=5===r||6===r;if(l)e=l?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(ku(e,t,n),e=e.sibling;null!==e;)ku(e,t,n),e=e.sibling}function Eu(e,t){for(var n,r,l=t,a=!1;;){if(!a){a=l.return;e:for(;;){if(null===a)throw Error(o(160));switch(n=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===l.tag||6===l.tag){e:for(var u=e,i=l,s=i;;)if(vu(u,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===i)break e;for(;null===s.sibling;){if(null===s.return||s.return===i)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(u=n,i=l.stateNode,8===u.nodeType?u.parentNode.removeChild(i):u.removeChild(i)):n.removeChild(l.stateNode)}else if(4===l.tag){if(null!==l.child){n=l.stateNode.containerInfo,r=!0,l.child.return=l,l=l.child;continue}}else if(vu(e,l),null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)return;4===(l=l.return).tag&&(a=!1)}l.sibling.return=l.return,l=l.sibling}}function Su(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3===(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var l=null!==e?e.memoizedProps:r;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,l),t=xe(e,r),l=0;l<a.length;l+=2){var u=a[l],i=a[l+1];"style"===u?Ee(n,i):"dangerouslySetInnerHTML"===u?ye(n,i):"children"===u?ge(n,i):w(n,u,i,t)}switch(e){case"input":ne(n,r);break;case"textarea":se(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(a=r.value)?oe(n,!!r.multiple,a,!1):e!==!!r.multiple&&(null!=r.defaultValue?oe(n,!!r.multiple,r.defaultValue,!0):oe(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(o(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,Et(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Bu=Vl(),mu(t.child,!0)),void _u(t);case 19:return void _u(t);case 17:return;case 23:case 24:return void mu(t,null!==t.memoizedState)}throw Error(o(163))}function _u(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new fu),t.forEach((function(t){var r=Ai.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function xu(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Cu=Math.ceil,Pu=k.ReactCurrentDispatcher,Nu=k.ReactCurrentOwner,Tu=0,Lu=null,zu=null,Ou=0,Ru=0,Mu=ol(0),Iu=0,Du=null,Fu=0,Uu=0,Au=0,Vu=0,ju=null,Bu=0,Wu=1/0;function $u(){Wu=Vl()+500}var Hu,Qu=null,qu=!1,Ku=null,Yu=null,Xu=!1,Gu=null,Zu=90,Ju=[],ei=[],ti=null,ni=0,ri=null,li=-1,ai=0,oi=0,ui=null,ii=!1;function si(){return 0!==(48&Tu)?Vl():-1!==li?li:li=Vl()}function ci(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===jl()?1:2;if(0===ai&&(ai=Fu),0!==ql.transition){0!==oi&&(oi=null!==ju?ju.pendingLanes:0),e=ai;var t=4186112&~oi;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=jl(),0!==(4&Tu)&&98===e?e=Vt(12,ai):e=Vt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ai),e}function fi(e,t,n){if(50<ni)throw ni=0,ri=null,Error(o(185));if(null===(e=di(e,t)))return null;Wt(e,t,n),e===Lu&&(Au|=t,4===Iu&&mi(e,Ou));var r=jl();1===t?0!==(8&Tu)&&0===(48&Tu)?vi(e):(pi(e,n),0===Tu&&($u(),Hl())):(0===(4&Tu)||98!==r&&99!==r||(null===ti?ti=new Set([e]):ti.add(e)),pi(e,n)),ju=e}function di(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function pi(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,l=e.pingedLanes,a=e.expirationTimes,u=e.pendingLanes;0<u;){var i=31-$t(u),s=1<<i,c=a[i];if(-1===c){if(0===(s&r)||0!==(s&l)){c=t,Ft(s);var f=Dt;a[i]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);u&=~s}if(r=Ut(e,e===Lu?Ou:0),t=Dt,0===r)null!==n&&(n!==Ml&&_l(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Ml&&_l(n)}15===t?(n=vi.bind(null,e),null===Dl?(Dl=[n],Fl=Sl(Tl,Ql)):Dl.push(n),n=Ml):14===t?n=$l(99,vi.bind(null,e)):n=$l(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(o(358,e))}}(t),hi.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function hi(e){if(li=-1,oi=ai=0,0!==(48&Tu))throw Error(o(327));var t=e.callbackNode;if(Oi()&&e.callbackNode!==t)return null;var n=Ut(e,e===Lu?Ou:0);if(0===n)return null;var r=n,l=Tu;Tu|=16;var a=Si();for(Lu===e&&Ou===r||($u(),ki(e,r));;)try{Ci();break}catch(i){Ei(e,i)}if(Jl(),Pu.current=a,Tu=l,null!==zu?r=0:(Lu=null,Ou=0,r=Iu),0!==(Fu&Au))ki(e,0);else if(0!==r){if(2===r&&(Tu|=64,e.hydrate&&(e.hydrate=!1,$r(e.containerInfo)),0!==(n=At(e))&&(r=_i(e,n))),1===r)throw t=Du,ki(e,0),mi(e,n),pi(e,Vl()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(o(345));case 2:Ti(e);break;case 3:if(mi(e,n),(62914560&n)===n&&10<(r=Bu+500-Vl())){if(0!==Ut(e,0))break;if(((l=e.suspendedLanes)&n)!==n){si(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=Br(Ti.bind(null,e),r);break}Ti(e);break;case 4:if(mi(e,n),(4186112&n)===n)break;for(r=e.eventTimes,l=-1;0<n;){var u=31-$t(n);a=1<<u,(u=r[u])>l&&(l=u),n&=~a}if(n=l,10<(n=(120>(n=Vl()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Cu(n/1960))-n)){e.timeoutHandle=Br(Ti.bind(null,e),n);break}Ti(e);break;case 5:Ti(e);break;default:throw Error(o(329))}}return pi(e,Vl()),e.callbackNode===t?hi.bind(null,e):null}function mi(e,t){for(t&=~Vu,t&=~Au,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-$t(t),r=1<<n;e[n]=-1,t&=~r}}function vi(e){if(0!==(48&Tu))throw Error(o(327));if(Oi(),e===Lu&&0!==(e.expiredLanes&Ou)){var t=Ou,n=_i(e,t);0!==(Fu&Au)&&(n=_i(e,t=Ut(e,t)))}else n=_i(e,t=Ut(e,0));if(0!==e.tag&&2===n&&(Tu|=64,e.hydrate&&(e.hydrate=!1,$r(e.containerInfo)),0!==(t=At(e))&&(n=_i(e,t))),1===n)throw n=Du,ki(e,0),mi(e,t),pi(e,Vl()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ti(e),pi(e,Vl()),null}function yi(e,t){var n=Tu;Tu|=1;try{return e(t)}finally{0===(Tu=n)&&($u(),Hl())}}function gi(e,t){var n=Tu;Tu&=-2,Tu|=8;try{return e(t)}finally{0===(Tu=n)&&($u(),Hl())}}function bi(e,t){il(Mu,Ru),Ru|=t,Fu|=t}function wi(){Ru=Mu.current,ul(Mu)}function ki(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Wr(n)),null!==zu)for(n=zu.return;null!==n;){var r=n;switch(r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&ml();break;case 3:za(),ul(fl),ul(cl),Qa();break;case 5:Ra(r);break;case 4:za();break;case 13:case 19:ul(Ma);break;case 10:ea(r);break;case 23:case 24:wi()}n=n.return}Lu=e,zu=Wi(e.current,null),Ou=Ru=Fu=t,Iu=0,Du=null,Vu=Au=Uu=0}function Ei(e,t){for(;;){var n=zu;try{if(Jl(),qa.current=To,Ja){for(var r=Xa.memoizedState;null!==r;){var l=r.queue;null!==l&&(l.pending=null),r=r.next}Ja=!1}if(Ya=0,Za=Ga=Xa=null,eo=!1,Nu.current=null,null===n||null===n.return){Iu=1,Du=t,zu=null;break}e:{var a=e,o=n.return,u=n,i=t;if(t=Ou,u.flags|=2048,u.firstEffect=u.lastEffect=null,null!==i&&"object"===typeof i&&"function"===typeof i.then){var s=i;if(0===(2&u.mode)){var c=u.alternate;c?(u.updateQueue=c.updateQueue,u.memoizedState=c.memoizedState,u.lanes=c.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=0!==(1&Ma.current),d=o;do{var p;if(p=13===d.tag){var h=d.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var m=d.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!f)}}if(p){var v=d.updateQueue;if(null===v){var y=new Set;y.add(s),d.updateQueue=y}else v.add(s);if(0===(2&d.mode)){if(d.flags|=64,u.flags|=16384,u.flags&=-2981,1===u.tag)if(null===u.alternate)u.tag=17;else{var g=ua(-1,1);g.tag=2,ia(u,g)}u.lanes|=1;break e}i=void 0,u=t;var b=a.pingCache;if(null===b?(b=a.pingCache=new iu,i=new Set,b.set(s,i)):void 0===(i=b.get(s))&&(i=new Set,b.set(s,i)),!i.has(u)){i.add(u);var w=Ui.bind(null,a,s,u);s.then(w,w)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);i=Error((q(u.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Iu&&(Iu=2),i=ou(i,u),d=o;do{switch(d.tag){case 3:a=i,d.flags|=4096,t&=-t,d.lanes|=t,sa(d,su(0,a,t));break e;case 1:a=i;var k=d.type,E=d.stateNode;if(0===(64&d.flags)&&("function"===typeof k.getDerivedStateFromError||null!==E&&"function"===typeof E.componentDidCatch&&(null===Yu||!Yu.has(E)))){d.flags|=4096,t&=-t,d.lanes|=t,sa(d,cu(d,a,t));break e}}d=d.return}while(null!==d)}Ni(n)}catch(S){t=S,zu===n&&null!==n&&(zu=n=n.return);continue}break}}function Si(){var e=Pu.current;return Pu.current=To,null===e?To:e}function _i(e,t){var n=Tu;Tu|=16;var r=Si();for(Lu===e&&Ou===t||ki(e,t);;)try{xi();break}catch(l){Ei(e,l)}if(Jl(),Tu=n,Pu.current=r,null!==zu)throw Error(o(261));return Lu=null,Ou=0,Iu}function xi(){for(;null!==zu;)Pi(zu)}function Ci(){for(;null!==zu&&!xl();)Pi(zu)}function Pi(e){var t=Hu(e.alternate,e,Ru);e.memoizedProps=e.pendingProps,null===t?Ni(e):zu=t,Nu.current=null}function Ni(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(n=lu(n,t,Ru)))return void(zu=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!==(1073741824&Ru)||0===(4&n.mode)){for(var r=0,l=n.child;null!==l;)r|=l.lanes|l.childLanes,l=l.sibling;n.childLanes=r}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=au(t)))return n.flags&=2047,void(zu=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(zu=t);zu=t=e}while(null!==t);0===Iu&&(Iu=5)}function Ti(e){var t=jl();return Wl(99,Li.bind(null,e,t)),null}function Li(e,t){do{Oi()}while(null!==Gu);if(0!==(48&Tu))throw Error(o(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null;var r=n.lanes|n.childLanes,l=r,a=e.pendingLanes&~l;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=l,e.mutableReadLanes&=l,e.entangledLanes&=l,l=e.entanglements;for(var u=e.eventTimes,i=e.expirationTimes;0<a;){var s=31-$t(a),c=1<<s;l[s]=0,u[s]=-1,i[s]=-1,a&=~c}if(null!==ti&&0===(24&r)&&ti.has(e)&&ti.delete(e),e===Lu&&(zu=Lu=null,Ou=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(l=Tu,Tu|=32,Nu.current=null,Ur=Yt,hr(u=pr())){if("selectionStart"in u)i={start:u.selectionStart,end:u.selectionEnd};else e:if(i=(i=u.ownerDocument)&&i.defaultView||window,(c=i.getSelection&&i.getSelection())&&0!==c.rangeCount){i=c.anchorNode,a=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{i.nodeType,s.nodeType}catch(C){i=null;break e}var f=0,d=-1,p=-1,h=0,m=0,v=u,y=null;t:for(;;){for(var g;v!==i||0!==a&&3!==v.nodeType||(d=f+a),v!==s||0!==c&&3!==v.nodeType||(p=f+c),3===v.nodeType&&(f+=v.nodeValue.length),null!==(g=v.firstChild);)y=v,v=g;for(;;){if(v===u)break t;if(y===i&&++h===a&&(d=f),y===s&&++m===c&&(p=f),null!==(g=v.nextSibling))break;y=(v=y).parentNode}v=g}i=-1===d||-1===p?null:{start:d,end:p}}else i=null;i=i||{start:0,end:0}}else i=null;Ar={focusedElem:u,selectionRange:i},Yt=!1,ui=null,ii=!1,Qu=r;do{try{zi()}catch(C){if(null===Qu)throw Error(o(330));Fi(Qu,C),Qu=Qu.nextEffect}}while(null!==Qu);ui=null,Qu=r;do{try{for(u=e;null!==Qu;){var b=Qu.flags;if(16&b&&ge(Qu.stateNode,""),128&b){var w=Qu.alternate;if(null!==w){var k=w.ref;null!==k&&("function"===typeof k?k(null):k.current=null)}}switch(1038&b){case 2:bu(Qu),Qu.flags&=-3;break;case 6:bu(Qu),Qu.flags&=-3,Su(Qu.alternate,Qu);break;case 1024:Qu.flags&=-1025;break;case 1028:Qu.flags&=-1025,Su(Qu.alternate,Qu);break;case 4:Su(Qu.alternate,Qu);break;case 8:Eu(u,i=Qu);var E=i.alternate;yu(i),null!==E&&yu(E)}Qu=Qu.nextEffect}}catch(C){if(null===Qu)throw Error(o(330));Fi(Qu,C),Qu=Qu.nextEffect}}while(null!==Qu);if(k=Ar,w=pr(),b=k.focusedElem,u=k.selectionRange,w!==b&&b&&b.ownerDocument&&dr(b.ownerDocument.documentElement,b)){null!==u&&hr(b)&&(w=u.start,void 0===(k=u.end)&&(k=w),"selectionStart"in b?(b.selectionStart=w,b.selectionEnd=Math.min(k,b.value.length)):(k=(w=b.ownerDocument||document)&&w.defaultView||window).getSelection&&(k=k.getSelection(),i=b.textContent.length,E=Math.min(u.start,i),u=void 0===u.end?E:Math.min(u.end,i),!k.extend&&E>u&&(i=u,u=E,E=i),i=fr(b,E),a=fr(b,u),i&&a&&(1!==k.rangeCount||k.anchorNode!==i.node||k.anchorOffset!==i.offset||k.focusNode!==a.node||k.focusOffset!==a.offset)&&((w=w.createRange()).setStart(i.node,i.offset),k.removeAllRanges(),E>u?(k.addRange(w),k.extend(a.node,a.offset)):(w.setEnd(a.node,a.offset),k.addRange(w))))),w=[];for(k=b;k=k.parentNode;)1===k.nodeType&&w.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"===typeof b.focus&&b.focus(),b=0;b<w.length;b++)(k=w[b]).element.scrollLeft=k.left,k.element.scrollTop=k.top}Yt=!!Ur,Ar=Ur=null,e.current=n,Qu=r;do{try{for(b=e;null!==Qu;){var S=Qu.flags;if(36&S&&hu(b,Qu.alternate,Qu),128&S){w=void 0;var _=Qu.ref;if(null!==_){var x=Qu.stateNode;switch(Qu.tag){case 5:w=x;break;default:w=x}"function"===typeof _?_(w):_.current=w}}Qu=Qu.nextEffect}}catch(C){if(null===Qu)throw Error(o(330));Fi(Qu,C),Qu=Qu.nextEffect}}while(null!==Qu);Qu=null,Il(),Tu=l}else e.current=n;if(Xu)Xu=!1,Gu=e,Zu=t;else for(Qu=r;null!==Qu;)t=Qu.nextEffect,Qu.nextEffect=null,8&Qu.flags&&((S=Qu).sibling=null,S.stateNode=null),Qu=t;if(0===(r=e.pendingLanes)&&(Yu=null),1===r?e===ri?ni++:(ni=0,ri=e):ni=0,n=n.stateNode,kl&&"function"===typeof kl.onCommitFiberRoot)try{kl.onCommitFiberRoot(wl,n,void 0,64===(64&n.current.flags))}catch(C){}if(pi(e,Vl()),qu)throw qu=!1,e=Ku,Ku=null,e;return 0!==(8&Tu)||Hl(),null}function zi(){for(;null!==Qu;){var e=Qu.alternate;ii||null===ui||(0!==(8&Qu.flags)?et(Qu,ui)&&(ii=!0):13===Qu.tag&&xu(e,Qu)&&et(Qu,ui)&&(ii=!0));var t=Qu.flags;0!==(256&t)&&pu(e,Qu),0===(512&t)||Xu||(Xu=!0,$l(97,(function(){return Oi(),null}))),Qu=Qu.nextEffect}}function Oi(){if(90!==Zu){var e=97<Zu?97:Zu;return Zu=90,Wl(e,Ii)}return!1}function Ri(e,t){Ju.push(t,e),Xu||(Xu=!0,$l(97,(function(){return Oi(),null})))}function Mi(e,t){ei.push(t,e),Xu||(Xu=!0,$l(97,(function(){return Oi(),null})))}function Ii(){if(null===Gu)return!1;var e=Gu;if(Gu=null,0!==(48&Tu))throw Error(o(331));var t=Tu;Tu|=32;var n=ei;ei=[];for(var r=0;r<n.length;r+=2){var l=n[r],a=n[r+1],u=l.destroy;if(l.destroy=void 0,"function"===typeof u)try{u()}catch(s){if(null===a)throw Error(o(330));Fi(a,s)}}for(n=Ju,Ju=[],r=0;r<n.length;r+=2){l=n[r],a=n[r+1];try{var i=l.create;l.destroy=i()}catch(s){if(null===a)throw Error(o(330));Fi(a,s)}}for(i=e.current.firstEffect;null!==i;)e=i.nextEffect,i.nextEffect=null,8&i.flags&&(i.sibling=null,i.stateNode=null),i=e;return Tu=t,Hl(),!0}function Di(e,t,n){ia(e,t=su(0,t=ou(n,t),1)),t=si(),null!==(e=di(e,1))&&(Wt(e,1,t),pi(e,t))}function Fi(e,t){if(3===e.tag)Di(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Di(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"===typeof n.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Yu||!Yu.has(r))){var l=cu(n,e=ou(t,e),1);if(ia(n,l),l=si(),null!==(n=di(n,1)))Wt(n,1,l),pi(n,l);else if("function"===typeof r.componentDidCatch&&(null===Yu||!Yu.has(r)))try{r.componentDidCatch(t,e)}catch(a){}break}}n=n.return}}function Ui(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=si(),e.pingedLanes|=e.suspendedLanes&n,Lu===e&&(Ou&n)===n&&(4===Iu||3===Iu&&(62914560&Ou)===Ou&&500>Vl()-Bu?ki(e,0):Vu|=n),pi(e,t)}function Ai(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===jl()?1:2:(0===ai&&(ai=Fu),0===(t=jt(62914560&~ai))&&(t=4194304))),n=si(),null!==(e=di(e,t))&&(Wt(e,t,n),pi(e,n))}function Vi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function ji(e,t,n,r){return new Vi(e,t,n,r)}function Bi(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Wi(e,t){var n=e.alternate;return null===n?((n=ji(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function $i(e,t,n,r,l,a){var u=2;if(r=e,"function"===typeof e)Bi(e)&&(u=1);else if("string"===typeof e)u=5;else e:switch(e){case _:return Hi(n.children,l,a,t);case D:u=8,l|=16;break;case x:u=8,l|=1;break;case C:return(e=ji(12,n,t,8|l)).elementType=C,e.type=C,e.lanes=a,e;case L:return(e=ji(13,n,t,l)).type=L,e.elementType=L,e.lanes=a,e;case z:return(e=ji(19,n,t,l)).elementType=z,e.lanes=a,e;case F:return Qi(n,l,a,t);case U:return(e=ji(24,n,t,l)).elementType=U,e.lanes=a,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case P:u=10;break e;case N:u=9;break e;case T:u=11;break e;case O:u=14;break e;case R:u=16,r=null;break e;case M:u=22;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=ji(u,n,t,l)).elementType=e,t.type=r,t.lanes=a,t}function Hi(e,t,n,r){return(e=ji(7,e,r,t)).lanes=n,e}function Qi(e,t,n,r){return(e=ji(23,e,r,t)).elementType=F,e.lanes=n,e}function qi(e,t,n){return(e=ji(6,e,null,t)).lanes=n,e}function Ki(e,t,n){return(t=ji(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Yi(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.mutableSourceEagerHydrationData=null}function Xi(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function Gi(e,t,n,r){var l=t.current,a=si(),u=ci(l);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(o(170));var i=n;do{switch(i.tag){case 3:i=i.stateNode.context;break t;case 1:if(hl(i.type)){i=i.stateNode.__reactInternalMemoizedMergedChildContext;break t}}i=i.return}while(null!==i);throw Error(o(171))}if(1===n.tag){var s=n.type;if(hl(s)){n=yl(n,s,i);break e}}n=i}else n=sl;return null===t.context?t.context=n:t.pendingContext=n,(t=ua(a,u)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),ia(l,t),fi(l,u,a),u}function Zi(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Ji(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function es(e,t){Ji(e,t),(e=e.alternate)&&Ji(e,t)}function ts(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Yi(e,t,null!=n&&!0===n.hydrate),t=ji(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,aa(t),e[Gr]=n.current,Tr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var l=(t=r[e])._getVersion;l=l(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,l]:n.mutableSourceEagerHydrationData.push(t,l)}this._internalRoot=n}function ns(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function rs(e,t,n,r,l){var a=n._reactRootContainer;if(a){var o=a._internalRoot;if("function"===typeof l){var u=l;l=function(){var e=Zi(o);u.call(e)}}Gi(t,o,e,l)}else{if(a=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ts(e,0,t?{hydrate:!0}:void 0)}(n,r),o=a._internalRoot,"function"===typeof l){var i=l;l=function(){var e=Zi(o);i.call(e)}}gi((function(){Gi(t,o,e,l)}))}return Zi(o)}function ls(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ns(t))throw Error(o(200));return Xi(e,t,null,n)}Hu=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||fl.current)Mo=!0;else{if(0===(n&r)){switch(Mo=!1,t.tag){case 3:$o(t),$a();break;case 5:Oa(t);break;case 1:hl(t.type)&&gl(t);break;case 4:La(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var l=t.type._context;il(Yl,l._currentValue),l._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(n&t.child.childLanes)?Yo(e,t,n):(il(Ma,1&Ma.current),null!==(t=nu(e,t,n))?t.sibling:null);il(Ma,1&Ma.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(64&e.flags)){if(r)return tu(e,t,n);t.flags|=64}if(null!==(l=t.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),il(Ma,Ma.current),r)break;return null;case 23:case 24:return t.lanes=0,Ao(e,t,n)}return nu(e,t,n)}Mo=0!==(16384&e.flags)}else Mo=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,l=pl(t,cl.current),na(t,n),l=ro(null,t,r,e,l,n),t.flags|=1,"object"===typeof l&&null!==l&&"function"===typeof l.render&&void 0===l.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,hl(r)){var a=!0;gl(t)}else a=!1;t.memoizedState=null!==l.state&&void 0!==l.state?l.state:null,aa(t);var u=r.getDerivedStateFromProps;"function"===typeof u&&pa(t,r,u,e),l.updater=ha,t.stateNode=l,l._reactInternals=t,ga(t,r,e,n),t=Wo(null,t,r,!0,a,n)}else t.tag=0,Io(null,t,l,n),t=t.child;return t;case 16:l=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,l=(a=l._init)(l._payload),t.type=l,a=t.tag=function(e){if("function"===typeof e)return Bi(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===T)return 11;if(e===O)return 14}return 2}(l),e=Kl(l,e),a){case 0:t=jo(null,t,l,e,n);break e;case 1:t=Bo(null,t,l,e,n);break e;case 11:t=Do(null,t,l,e,n);break e;case 14:t=Fo(null,t,l,Kl(l.type,e),r,n);break e}throw Error(o(306,l,""))}return t;case 0:return r=t.type,l=t.pendingProps,jo(e,t,r,l=t.elementType===r?l:Kl(r,l),n);case 1:return r=t.type,l=t.pendingProps,Bo(e,t,r,l=t.elementType===r?l:Kl(r,l),n);case 3:if($o(t),r=t.updateQueue,null===e||null===r)throw Error(o(282));if(r=t.pendingProps,l=null!==(l=t.memoizedState)?l.element:null,oa(e,t),ca(t,r,null,n),(r=t.memoizedState.element)===l)$a(),t=nu(e,t,n);else{if((a=(l=t.stateNode).hydrate)&&(Fa=Hr(t.stateNode.containerInfo.firstChild),Da=t,a=Ua=!0),a){if(null!=(e=l.mutableSourceEagerHydrationData))for(l=0;l<e.length;l+=2)(a=e[l])._workInProgressVersionPrimary=e[l+1],Ha.push(a);for(n=_a(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Io(e,t,r,n),$a();t=t.child}return t;case 5:return Oa(t),null===e&&ja(t),r=t.type,l=t.pendingProps,a=null!==e?e.memoizedProps:null,u=l.children,jr(r,l)?u=null:null!==a&&jr(r,a)&&(t.flags|=16),Vo(e,t),Io(e,t,u,n),t.child;case 6:return null===e&&ja(t),null;case 13:return Yo(e,t,n);case 4:return La(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Sa(t,null,r,n):Io(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,Do(e,t,r,l=t.elementType===r?l:Kl(r,l),n);case 7:return Io(e,t,t.pendingProps,n),t.child;case 8:case 12:return Io(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,l=t.pendingProps,u=t.memoizedProps,a=l.value;var i=t.type._context;if(il(Yl,i._currentValue),i._currentValue=a,null!==u)if(i=u.value,0===(a=ur(i,a)?0:0|("function"===typeof r._calculateChangedBits?r._calculateChangedBits(i,a):1073741823))){if(u.children===l.children&&!fl.current){t=nu(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){u=i.child;for(var c=s.firstContext;null!==c;){if(c.context===r&&0!==(c.observedBits&a)){1===i.tag&&((c=ua(-1,n&-n)).tag=2,ia(i,c)),i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),ta(i.return,n),s.lanes|=n;break}c=c.next}}else u=10===i.tag&&i.type===t.type?null:i.child;if(null!==u)u.return=i;else for(u=i;null!==u;){if(u===t){u=null;break}if(null!==(i=u.sibling)){i.return=u.return,u=i;break}u=u.return}i=u}Io(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=(a=t.pendingProps).children,na(t,n),r=r(l=ra(l,a.unstable_observedBits)),t.flags|=1,Io(e,t,r,n),t.child;case 14:return a=Kl(l=t.type,t.pendingProps),Fo(e,t,l,a=Kl(l.type,a),r,n);case 15:return Uo(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Kl(r,l),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,hl(r)?(e=!0,gl(t)):e=!1,na(t,n),va(t,r,l),ga(t,r,l,n),Wo(null,t,r,!0,e,n);case 19:return tu(e,t,n);case 23:case 24:return Ao(e,t,n)}throw Error(o(156,t.tag))},ts.prototype.render=function(e){Gi(e,this._internalRoot,null,null)},ts.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Gi(null,e,null,(function(){t[Gr]=null}))},tt=function(e){13===e.tag&&(fi(e,4,si()),es(e,4))},nt=function(e){13===e.tag&&(fi(e,67108864,si()),es(e,67108864))},rt=function(e){if(13===e.tag){var t=si(),n=ci(e);fi(e,n,t),es(e,n)}},lt=function(e,t){return t()},Pe=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=nl(r);if(!l)throw Error(o(90));G(r),ne(r,l)}}}break;case"textarea":se(e,n);break;case"select":null!=(t=n.value)&&oe(e,!!n.multiple,t,!1)}},Re=yi,Me=function(e,t,n,r,l){var a=Tu;Tu|=4;try{return Wl(98,e.bind(null,t,n,r,l))}finally{0===(Tu=a)&&($u(),Hl())}},Ie=function(){0===(49&Tu)&&(function(){if(null!==ti){var e=ti;ti=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,pi(e,Vl())}))}Hl()}(),Oi())},De=function(e,t){var n=Tu;Tu|=2;try{return e(t)}finally{0===(Tu=n)&&($u(),Hl())}};var as={Events:[el,tl,nl,ze,Oe,Oi,{current:!1}]},os={findFiberByHostInstance:Jr,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},us={bundleType:os.bundleType,version:os.version,rendererPackageName:os.rendererPackageName,rendererConfig:os.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:os.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var is=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!is.isDisabled&&is.supportsFiber)try{wl=is.inject(us),kl=is}catch(ve){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=as,t.createPortal=ls,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(o(188));throw Error(o(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var n=Tu;if(0!==(48&n))return e(t);Tu|=1;try{if(e)return Wl(99,e.bind(null,t))}finally{Tu=n,Hl()}},t.hydrate=function(e,t,n){if(!ns(t))throw Error(o(200));return rs(null,e,t,!0,n)},t.render=function(e,t,n){if(!ns(t))throw Error(o(200));return rs(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!ns(e))throw Error(o(40));return!!e._reactRootContainer&&(gi((function(){rs(null,null,e,!1,(function(){e._reactRootContainer=null,e[Gr]=null}))})),!0)},t.unstable_batchedUpdates=yi,t.unstable_createPortal=function(e,t){return ls(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ns(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return rs(e,t,n,!1,r)},t.version="17.0.2"},73935:function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(64448)},75251:function(e,t,n){"use strict";n(96086);var r=n(67294),l=60103;if(t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var a=Symbol.for;l=a("react.element"),t.Fragment=a("react.fragment")}var o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,i={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,a={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)u.call(t,r)&&!i.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:l,type:e,key:s,ref:c,props:a,_owner:o.current}}t.jsx=s,t.jsxs=s},72408:function(e,t,n){"use strict";var r=n(96086),l=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,u=60110,i=60112;t.Suspense=60113;var s=60115,c=60116;if("function"===typeof Symbol&&Symbol.for){var f=Symbol.for;l=f("react.element"),a=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),o=f("react.provider"),u=f("react.context"),i=f("react.forward_ref"),t.Suspense=f("react.suspense"),s=f("react.memo"),c=f("react.lazy")}var d="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function y(){}function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var b=g.prototype=new y;b.constructor=g,r(b,v.prototype),b.isPureReactComponent=!0;var w={current:null},k=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,a={},o=null,u=null;if(null!=t)for(r in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(o=""+t.key),t)k.call(t,r)&&!E.hasOwnProperty(r)&&(a[r]=t[r]);var i=arguments.length-2;if(1===i)a.children=n;else if(1<i){for(var s=Array(i),c=0;c<i;c++)s[c]=arguments[c+2];a.children=s}if(e&&e.defaultProps)for(r in i=e.defaultProps)void 0===a[r]&&(a[r]=i[r]);return{$$typeof:l,type:e,key:o,ref:u,props:a,_owner:w.current}}function _(e){return"object"===typeof e&&null!==e&&e.$$typeof===l}var x=/\/+/g;function C(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function P(e,t,n,r,o){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var i=!1;if(null===e)i=!0;else switch(u){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case l:case a:i=!0}}if(i)return o=o(i=e),e=""===r?"."+C(i,0):r,Array.isArray(o)?(n="",null!=e&&(n=e.replace(x,"$&/")+"/"),P(o,t,n,"",(function(e){return e}))):null!=o&&(_(o)&&(o=function(e,t){return{$$typeof:l,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,n+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(x,"$&/")+"/")+e)),t.push(o)),1;if(i=0,r=""===r?".":r+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=r+C(u=e[s],s);i+=P(u,t,n,c,o)}else if("function"===typeof(c=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e)))for(e=c.call(e),s=0;!(u=e.next()).done;)i+=P(u=u.value,t,n,c=r+C(u,s++),o);else if("object"===u)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return i}function N(e,t,n){if(null==e)return e;var r=[],l=0;return P(e,r,"","",(function(e){return t.call(n,e,l++)})),r}function T(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var L={current:null};function z(){var e=L.current;if(null===e)throw Error(p(321));return e}var O={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:N,forEach:function(e,t,n){N(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return N(e,(function(){t++})),t},toArray:function(e){return N(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error(p(143));return e}},t.Component=v,t.PureComponent=g,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error(p(267,e));var a=r({},e.props),o=e.key,u=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,i=w.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)k.call(t,c)&&!E.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:l,type:e.type,key:o,ref:u,props:a,_owner:i}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:u,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:i,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return z().useCallback(e,t)},t.useContext=function(e,t){return z().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return z().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return z().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return z().useLayoutEffect(e,t)},t.useMemo=function(e,t){return z().useMemo(e,t)},t.useReducer=function(e,t,n){return z().useReducer(e,t,n)},t.useRef=function(e){return z().useRef(e)},t.useState=function(e){return z().useState(e)},t.version="17.0.2"},67294:function(e,t,n){"use strict";e.exports=n(72408)},85893:function(e,t,n){"use strict";e.exports=n(75251)},60053:function(e,t){"use strict";var n,r,l,a;if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var u=Date,i=u.now();t.unstable_now=function(){return u.now()-i}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var s=null,c=null,f=function(){if(null!==s)try{var e=t.unstable_now();s(!0,e),s=null}catch(n){throw setTimeout(f,0),n}};n=function(e){null!==s?setTimeout(n,0,e):(s=e,setTimeout(f,0))},r=function(e,t){c=setTimeout(e,t)},l=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var d=window.setTimeout,p=window.clearTimeout;if("undefined"!==typeof console){var h=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof h&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var m=!1,v=null,y=-1,g=5,b=0;t.unstable_shouldYield=function(){return t.unstable_now()>=b},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):g=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,k=w.port2;w.port1.onmessage=function(){if(null!==v){var e=t.unstable_now();b=e+g;try{v(!0,e)?k.postMessage(null):(m=!1,v=null)}catch(n){throw k.postMessage(null),n}}else m=!1},n=function(e){v=e,m||(m=!0,k.postMessage(null))},r=function(e,n){y=d((function(){e(t.unstable_now())}),n)},l=function(){p(y),y=-1}}function E(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,l=e[r];if(!(void 0!==l&&0<x(l,t)))break e;e[r]=t,e[n]=l,n=r}}function S(e){return void 0===(e=e[0])?null:e}function _(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,l=e.length;r<l;){var a=2*(r+1)-1,o=e[a],u=a+1,i=e[u];if(void 0!==o&&0>x(o,n))void 0!==i&&0>x(i,o)?(e[r]=i,e[u]=n,r=u):(e[r]=o,e[a]=n,r=a);else{if(!(void 0!==i&&0>x(i,n)))break e;e[r]=i,e[u]=n,r=u}}}return t}return null}function x(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],P=[],N=1,T=null,L=3,z=!1,O=!1,R=!1;function M(e){for(var t=S(P);null!==t;){if(null===t.callback)_(P);else{if(!(t.startTime<=e))break;_(P),t.sortIndex=t.expirationTime,E(C,t)}t=S(P)}}function I(e){if(R=!1,M(e),!O)if(null!==S(C))O=!0,n(D);else{var t=S(P);null!==t&&r(I,t.startTime-e)}}function D(e,n){O=!1,R&&(R=!1,l()),z=!0;var a=L;try{for(M(n),T=S(C);null!==T&&(!(T.expirationTime>n)||e&&!t.unstable_shouldYield());){var o=T.callback;if("function"===typeof o){T.callback=null,L=T.priorityLevel;var u=o(T.expirationTime<=n);n=t.unstable_now(),"function"===typeof u?T.callback=u:T===S(C)&&_(C),M(n)}else _(C);T=S(C)}if(null!==T)var i=!0;else{var s=S(P);null!==s&&r(I,s.startTime-n),i=!1}return i}finally{T=null,L=a,z=!1}}var F=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){O||z||(O=!0,n(D))},t.unstable_getCurrentPriorityLevel=function(){return L},t.unstable_getFirstCallbackNode=function(){return S(C)},t.unstable_next=function(e){switch(L){case 1:case 2:case 3:var t=3;break;default:t=L}var n=L;L=t;try{return e()}finally{L=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=L;L=e;try{return t()}finally{L=n}},t.unstable_scheduleCallback=function(e,a,o){var u=t.unstable_now();switch("object"===typeof o&&null!==o?o="number"===typeof(o=o.delay)&&0<o?u+o:u:o=u,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return e={id:N++,callback:a,priorityLevel:e,startTime:o,expirationTime:i=o+i,sortIndex:-1},o>u?(e.sortIndex=o,E(P,e),null===S(C)&&e===S(P)&&(R?l():R=!0,r(I,o-u))):(e.sortIndex=i,E(C,e),O||z||(O=!0,n(D))),e},t.unstable_wrapCallback=function(e){var t=L;return function(){var n=L;L=t;try{return e.apply(this,arguments)}finally{L=n}}}},63840:function(e,t,n){"use strict";e.exports=n(60053)}}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/main-ae68c11529959c16c50f.js b/out/_next/static/chunks/main-ae68c11529959c16c50f.js
index dd7c4e9..eb5fa83 100644
--- a/out/_next/static/chunks/main-ae68c11529959c16c50f.js
+++ b/out/_next/static/chunks/main-ae68c11529959c16c50f.js
@@ -1,4319 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [179],
-  {
-    60400: function () {
-      'trimStart' in String.prototype || (String.prototype.trimStart = String.prototype.trimLeft),
-        'trimEnd' in String.prototype || (String.prototype.trimEnd = String.prototype.trimRight),
-        'description' in Symbol.prototype ||
-          Object.defineProperty(Symbol.prototype, 'description', {
-            configurable: !0,
-            get: function () {
-              var e = /\((.*)\)/.exec(this.toString())
-              return e ? e[1] : void 0
-            },
-          }),
-        Array.prototype.flat ||
-          ((Array.prototype.flat = function (e, t) {
-            return (
-              (t = this.concat.apply([], this)), e > 1 && t.some(Array.isArray) ? t.flat(e - 1) : t
-            )
-          }),
-          (Array.prototype.flatMap = function (e, t) {
-            return this.map(e, t).flat()
-          })),
-        Promise.prototype.finally ||
-          (Promise.prototype.finally = function (e) {
-            if ('function' != typeof e) return this.then(e, e)
-            var t = this.constructor || Promise
-            return this.then(
-              function (r) {
-                return t.resolve(e()).then(function () {
-                  return r
-                })
-              },
-              function (r) {
-                return t.resolve(e()).then(function () {
-                  throw r
-                })
-              },
-            )
-          })
-    },
-    59204: function () {
-      'use strict'
-      try {
-        self['workbox:window:6.1.5'] && _()
-      } catch (e) {}
-      function e(e, t) {
-        return new Promise(function (r) {
-          var n = new MessageChannel()
-          ;(n.port1.onmessage = function (e) {
-            r(e.data)
-          }),
-            e.postMessage(t, [n.port2])
-        })
-      }
-      function t(e, t) {
-        for (var r = 0; r < t.length; r++) {
-          var n = t[r]
-          ;(n.enumerable = n.enumerable || !1),
-            (n.configurable = !0),
-            'value' in n && (n.writable = !0),
-            Object.defineProperty(e, n.key, n)
-        }
-      }
-      function r(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]
-        return n
-      }
-      function n(e, t) {
-        var n
-        if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (n = (function (e, t) {
-              if (e) {
-                if ('string' == typeof e) return r(e, t)
-                var n = Object.prototype.toString.call(e).slice(8, -1)
-                return (
-                  'Object' === n && e.constructor && (n = e.constructor.name),
-                  'Map' === n || 'Set' === n
-                    ? Array.from(e)
-                    : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-                    ? r(e, t)
-                    : void 0
-                )
-              }
-            })(e)) ||
-            (t && e && 'number' == typeof e.length)
-          ) {
-            n && (e = n)
-            var o = 0
-            return function () {
-              return o >= e.length ? { done: !0 } : { done: !1, value: e[o++] }
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        return (n = e[Symbol.iterator]()).next.bind(n)
-      }
-      try {
-        self['workbox:core:6.1.5'] && _()
-      } catch (e) {}
-      var o = function () {
-        var e = this
-        this.promise = new Promise(function (t, r) {
-          ;(e.resolve = t), (e.reject = r)
-        })
-      }
-      function a(e, t) {
-        var r = location.href
-        return new URL(e, r).href === new URL(t, r).href
-      }
-      var i = function (e, t) {
-        ;(this.type = e), Object.assign(this, t)
-      }
-      function u(e, t, r) {
-        return r ? (t ? t(e) : e) : ((e && e.then) || (e = Promise.resolve(e)), t ? e.then(t) : e)
-      }
-      function c() {}
-      var s = { type: 'SKIP_WAITING' }
-      function l(e, t) {
-        if (!t) return e && e.then ? e.then(c) : Promise.resolve()
-      }
-      var f = (function (r) {
-        var n, c
-        function f(e, t) {
-          var n, c
-          return (
-            void 0 === t && (t = {}),
-            ((n = r.call(this) || this).nn = {}),
-            (n.tn = 0),
-            (n.rn = new o()),
-            (n.en = new o()),
-            (n.on = new o()),
-            (n.un = 0),
-            (n.an = new Set()),
-            (n.cn = function () {
-              var e = n.fn,
-                t = e.installing
-              n.tn > 0 || !a(t.scriptURL, n.sn) || performance.now() > n.un + 6e4
-                ? ((n.vn = t), e.removeEventListener('updatefound', n.cn))
-                : ((n.hn = t), n.an.add(t), n.rn.resolve(t)),
-                ++n.tn,
-                t.addEventListener('statechange', n.ln)
-            }),
-            (n.ln = function (e) {
-              var t = n.fn,
-                r = e.target,
-                o = r.state,
-                a = r === n.vn,
-                u = { sw: r, isExternal: a, originalEvent: e }
-              !a && n.mn && (u.isUpdate = !0),
-                n.dispatchEvent(new i(o, u)),
-                'installed' === o
-                  ? (n.wn = self.setTimeout(function () {
-                      'installed' === o && t.waiting === r && n.dispatchEvent(new i('waiting', u))
-                    }, 200))
-                  : 'activating' === o && (clearTimeout(n.wn), a || n.en.resolve(r))
-            }),
-            (n.dn = function (e) {
-              var t = n.hn,
-                r = t !== navigator.serviceWorker.controller
-              n.dispatchEvent(
-                new i('controlling', { isExternal: r, originalEvent: e, sw: t, isUpdate: n.mn }),
-              ),
-                r || n.on.resolve(t)
-            }),
-            (n.gn =
-              ((c = function (e) {
-                var t = e.data,
-                  r = e.source
-                return u(n.getSW(), function () {
-                  n.an.has(r) &&
-                    n.dispatchEvent(new i('message', { data: t, sw: r, originalEvent: e }))
-                })
-              }),
-              function () {
-                for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
-                try {
-                  return Promise.resolve(c.apply(this, e))
-                } catch (e) {
-                  return Promise.reject(e)
-                }
-              })),
-            (n.sn = e),
-            (n.nn = t),
-            navigator.serviceWorker.addEventListener('message', n.gn),
-            n
-          )
-        }
-        ;(c = r),
-          ((n = f).prototype = Object.create(c.prototype)),
-          (n.prototype.constructor = n),
-          (n.__proto__ = c)
-        var h,
-          p,
-          d = f.prototype
-        return (
-          (d.register = function (e) {
-            var t = (void 0 === e ? {} : e).immediate,
-              r = void 0 !== t && t
-            try {
-              var n = this
-              return (function (e, t) {
-                var r = e()
-                return r && r.then ? r.then(t) : t()
-              })(
-                function () {
-                  if (!r && 'complete' !== document.readyState)
-                    return l(
-                      new Promise(function (e) {
-                        return window.addEventListener('load', e)
-                      }),
-                    )
-                },
-                function () {
-                  return (
-                    (n.mn = Boolean(navigator.serviceWorker.controller)),
-                    (n.yn = n.pn()),
-                    u(n.bn(), function (e) {
-                      ;(n.fn = e),
-                        n.yn &&
-                          ((n.hn = n.yn),
-                          n.en.resolve(n.yn),
-                          n.on.resolve(n.yn),
-                          n.yn.addEventListener('statechange', n.ln, { once: !0 }))
-                      var t = n.fn.waiting
-                      return (
-                        t &&
-                          a(t.scriptURL, n.sn) &&
-                          ((n.hn = t),
-                          Promise.resolve()
-                            .then(function () {
-                              n.dispatchEvent(
-                                new i('waiting', { sw: t, wasWaitingBeforeRegister: !0 }),
-                              )
-                            })
-                            .then(function () {})),
-                        n.hn && (n.rn.resolve(n.hn), n.an.add(n.hn)),
-                        n.fn.addEventListener('updatefound', n.cn),
-                        navigator.serviceWorker.addEventListener('controllerchange', n.dn, {
-                          once: !0,
-                        }),
-                        n.fn
-                      )
-                    })
-                  )
-                },
-              )
-            } catch (e) {
-              return Promise.reject(e)
-            }
-          }),
-          (d.update = function () {
-            try {
-              return this.fn ? l(this.fn.update()) : void 0
-            } catch (e) {
-              return Promise.reject(e)
-            }
-          }),
-          (d.getSW = function () {
-            return void 0 !== this.hn ? Promise.resolve(this.hn) : this.rn.promise
-          }),
-          (d.messageSW = function (t) {
-            try {
-              return u(this.getSW(), function (r) {
-                return e(r, t)
-              })
-            } catch (e) {
-              return Promise.reject(e)
-            }
-          }),
-          (d.messageSkipWaiting = function () {
-            this.fn && this.fn.waiting && e(this.fn.waiting, s)
-          }),
-          (d.pn = function () {
-            var e = navigator.serviceWorker.controller
-            return e && a(e.scriptURL, this.sn) ? e : void 0
-          }),
-          (d.bn = function () {
-            try {
-              var e = this
-              return (function (e, t) {
-                try {
-                  var r = e()
-                } catch (e) {
-                  return t(e)
-                }
-                return r && r.then ? r.then(void 0, t) : r
-              })(
-                function () {
-                  return u(navigator.serviceWorker.register(e.sn, e.nn), function (t) {
-                    return (e.un = performance.now()), t
-                  })
-                },
-                function (e) {
-                  throw e
-                },
-              )
-            } catch (e) {
-              return Promise.reject(e)
-            }
-          }),
-          (h = f),
-          (p = [
-            {
-              key: 'active',
-              get: function () {
-                return this.en.promise
-              },
-            },
-            {
-              key: 'controlling',
-              get: function () {
-                return this.on.promise
-              },
-            },
-          ]) && t(h.prototype, p),
-          f
-        )
-      })(
-        (function () {
-          function e() {
-            this.Pn = new Map()
-          }
-          var t = e.prototype
-          return (
-            (t.addEventListener = function (e, t) {
-              this.Sn(e).add(t)
-            }),
-            (t.removeEventListener = function (e, t) {
-              this.Sn(e).delete(t)
-            }),
-            (t.dispatchEvent = function (e) {
-              e.target = this
-              for (var t, r = n(this.Sn(e.type)); !(t = r()).done; ) (0, t.value)(e)
-            }),
-            (t.Sn = function (e) {
-              return this.Pn.has(e) || this.Pn.set(e, new Set()), this.Pn.get(e)
-            }),
-            e
-          )
-        })(),
-      )
-      if (
-        'undefined' !== typeof window &&
-        'serviceWorker' in navigator &&
-        'undefined' !== typeof caches
-      ) {
-        caches.has('start-url').then(function (e) {
-          e || caches.open('start-url').then((e) => e.put('/', new Response('', { status: 200 })))
-        }),
-          (window.workbox = new f('/sw.js', { scope: '/' })),
-          window.workbox.addEventListener('installed', async ({ isUpdate: e }) => {
-            if (!e) {
-              const e = await caches.open('start-url'),
-                t = await fetch('/')
-              let r = t
-              t.redirected &&
-                (r = new Response(t.body, { status: 200, statusText: 'OK', headers: t.headers })),
-                await e.put('/', r)
-            }
-          }),
-          window.workbox.addEventListener('installed', async () => {
-            const e = window.performance
-                .getEntriesByType('resource')
-                .map((e) => e.name)
-                .filter(
-                  (e) =>
-                    e.startsWith(`${window.location.origin}/_next/data/`) && e.endsWith('.json'),
-                ),
-              t = await caches.open('next-data')
-            e.forEach((e) => t.add(e))
-          }),
-          window.workbox.register()
-        {
-          const e = function (e) {
-              if (window.navigator.onLine)
-                return '/' === e
-                  ? fetch('/').then(function (e) {
-                      return e.redirected
-                        ? Promise.resolve()
-                        : caches.open('start-url').then((t) => t.put('/', e))
-                    })
-                  : void 0
-            },
-            t = history.pushState
-          history.pushState = function () {
-            t.apply(history, arguments), e(arguments[2])
-          }
-          const r = history.replaceState
-          ;(history.replaceState = function () {
-            r.apply(history, arguments), e(arguments[2])
-          }),
-            window.addEventListener('online', () => {
-              e(window.location.pathname)
-            })
-        }
-        window.addEventListener('online', () => {
-          location.reload()
-        })
-      }
-    },
-    96792: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.default = function () {
-          var e = null
-          return {
-            mountedInstances: new Set(),
-            updateHead: function (t) {
-              var r = (e = Promise.resolve().then(function () {
-                if (r === e) {
-                  e = null
-                  var o = {}
-                  t.forEach(function (e) {
-                    'link' === e.type &&
-                      e.props['data-optimized-fonts'] &&
-                      !document.querySelector(
-                        'style[data-href="'.concat(e.props['data-href'], '"]'),
-                      ) &&
-                      ((e.props.href = e.props['data-href']), (e.props['data-href'] = void 0))
-                    var t = o[e.type] || []
-                    t.push(e), (o[e.type] = t)
-                  })
-                  var a = o.title ? o.title[0] : null,
-                    i = ''
-                  if (a) {
-                    var u = a.props.children
-                    i = 'string' === typeof u ? u : Array.isArray(u) ? u.join('') : ''
-                  }
-                  i !== document.title && (document.title = i),
-                    ['meta', 'base', 'link', 'style', 'script'].forEach(function (e) {
-                      !(function (e, t) {
-                        var r = document.getElementsByTagName('head')[0],
-                          o = r.querySelector('meta[name=next-head-count]')
-                        0
-                        for (
-                          var a = Number(o.content), i = [], u = 0, c = o.previousElementSibling;
-                          u < a;
-                          u++, c = c.previousElementSibling
-                        )
-                          c.tagName.toLowerCase() === e && i.push(c)
-                        var s = t.map(n).filter(function (e) {
-                          for (var t = 0, r = i.length; t < r; t++) {
-                            if (i[t].isEqualNode(e)) return i.splice(t, 1), !1
-                          }
-                          return !0
-                        })
-                        i.forEach(function (e) {
-                          return e.parentNode.removeChild(e)
-                        }),
-                          s.forEach(function (e) {
-                            return r.insertBefore(e, o)
-                          }),
-                          (o.content = (a - i.length + s.length).toString())
-                      })(e, o[e] || [])
-                    })
-                }
-              }))
-            },
-          }
-        }),
-        (t.DOMAttributeNames = void 0)
-      var r = {
-        acceptCharset: 'accept-charset',
-        className: 'class',
-        htmlFor: 'for',
-        httpEquiv: 'http-equiv',
-        noModule: 'noModule',
-      }
-      function n(e) {
-        var t = e.type,
-          n = e.props,
-          o = document.createElement(t)
-        for (var a in n)
-          if (
-            n.hasOwnProperty(a) &&
-            'children' !== a &&
-            'dangerouslySetInnerHTML' !== a &&
-            void 0 !== n[a]
-          ) {
-            var i = r[a] || a.toLowerCase()
-            'script' !== t || ('async' !== i && 'defer' !== i && 'noModule' !== i)
-              ? o.setAttribute(i, n[a])
-              : (o[i] = !!n[a])
-          }
-        var u = n.children,
-          c = n.dangerouslySetInnerHTML
-        return (
-          c
-            ? (o.innerHTML = c.__html || '')
-            : u && (o.textContent = 'string' === typeof u ? u : Array.isArray(u) ? u.join('') : ''),
-          o
-        )
-      }
-      t.DOMAttributeNames = r
-    },
-    20310: function (e, t, r) {
-      'use strict'
-      var n = r(809),
-        o = r(38561),
-        a = r(2553),
-        i = r(62012),
-        u = r(9807),
-        c = r(27690),
-        s = r(99828),
-        l = r(53848)
-      function f(e) {
-        var t = (function () {
-          if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-          if (Reflect.construct.sham) return !1
-          if ('function' === typeof Proxy) return !0
-          try {
-            return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-          } catch (e) {
-            return !1
-          }
-        })()
-        return function () {
-          var r,
-            n = s(e)
-          if (t) {
-            var o = s(this).constructor
-            r = Reflect.construct(n, arguments, o)
-          } else r = n.apply(this, arguments)
-          return c(this, r)
-        }
-      }
-      var h = r(69448),
-        p = r(62426)
-      ;(t.__esModule = !0),
-        (t.render = ue),
-        (t.renderError = se),
-        (t.default = t.emitter = t.router = t.version = void 0)
-      var d = p(r(9566))
-      r(60400)
-      var v = p(r(67294)),
-        m = p(r(73935)),
-        y = r(41165),
-        g = p(r(8119)),
-        w = r(36171),
-        b = r(29414),
-        _ = r(88073),
-        x = h(r(68187)),
-        S = h(r(53584)),
-        E = r(24755),
-        P = r(86579),
-        k = p(r(96792)),
-        L = p(r(47145)),
-        R = p(r(59934)),
-        C = r(48475),
-        T = r(34651),
-        A = JSON.parse(document.getElementById('__NEXT_DATA__').textContent)
-      window.__NEXT_DATA__ = A
-      t.version = '11.0.1'
-      var O = function (e) {
-          return [].slice.call(e)
-        },
-        I = A.props,
-        j = A.err,
-        M = A.page,
-        N = A.query,
-        D = A.buildId,
-        F = A.assetPrefix,
-        U = A.runtimeConfig,
-        W = A.dynamicIds,
-        q = A.isFallback,
-        B = A.locale,
-        H = A.locales,
-        G = A.domainLocales,
-        V = A.isPreview,
-        X = A.defaultLocale,
-        z = F || ''
-      ;(r.p = ''.concat(z, '/_next/')),
-        S.setConfig({ serverRuntimeConfig: {}, publicRuntimeConfig: U || {} })
-      var $ = (0, E.getURL)()
-      ;((0, b.hasBasePath)($) && ($ = (0, b.delBasePath)($)), A.scriptLoader) &&
-        (0, r(37926).initScriptLoader)(A.scriptLoader)
-      var Q = new L.default(D, z),
-        Y = function (e) {
-          var t = l(e, 2),
-            r = t[0],
-            n = t[1]
-          return Q.routeLoader.onEntrypoint(r, n)
-        }
-      window.__NEXT_P &&
-        window.__NEXT_P.map(function (e) {
-          return setTimeout(function () {
-            return Y(e)
-          }, 0)
-        }),
-        (window.__NEXT_P = []),
-        (window.__NEXT_P.push = Y)
-      var K,
-        J,
-        Z,
-        ee,
-        te = (0, k.default)(),
-        re = document.getElementById('__next')
-      t.router = J
-      var ne,
-        oe = (function (e) {
-          u(r, e)
-          var t = f(r)
-          function r() {
-            return a(this, r), t.apply(this, arguments)
-          }
-          return (
-            i(r, [
-              {
-                key: 'componentDidCatch',
-                value: function (e, t) {
-                  this.props.fn(e, t)
-                },
-              },
-              {
-                key: 'componentDidMount',
-                value: function () {
-                  this.scrollToHash(),
-                    !J.isSsr ||
-                      '/404' === M ||
-                      ('/_error' === M && I && I.pageProps && 404 === I.pageProps.statusCode) ||
-                      !(
-                        q ||
-                        (A.nextExport && ((0, _.isDynamicRoute)(J.pathname) || location.search)) ||
-                        (I && I.__N_SSG && location.search)
-                      ) ||
-                      J.replace(
-                        J.pathname +
-                          '?' +
-                          String(
-                            x.assign(
-                              x.urlQueryToSearchParams(J.query),
-                              new URLSearchParams(location.search),
-                            ),
-                          ),
-                        $,
-                        { _h: 1, shallow: !q },
-                      )
-                },
-              },
-              {
-                key: 'componentDidUpdate',
-                value: function () {
-                  this.scrollToHash()
-                },
-              },
-              {
-                key: 'scrollToHash',
-                value: function () {
-                  var e = location.hash
-                  if ((e = e && e.substring(1))) {
-                    var t = document.getElementById(e)
-                    t &&
-                      setTimeout(function () {
-                        return t.scrollIntoView()
-                      }, 0)
-                  }
-                },
-              },
-              {
-                key: 'render',
-                value: function () {
-                  return this.props.children
-                },
-              },
-            ]),
-            r
-          )
-        })(v.default.Component),
-        ae = (0, g.default)()
-      t.emitter = ae
-      var ie = (function () {
-        var e = o(
-          n.mark(function e() {
-            var r,
-              o,
-              a,
-              i,
-              u,
-              c,
-              s = arguments
-            return n.wrap(
-              function (e) {
-                for (;;)
-                  switch ((e.prev = e.next)) {
-                    case 0:
-                      return (
-                        s.length > 0 && void 0 !== s[0] ? s[0] : {},
-                        (r = j),
-                        (e.prev = 3),
-                        (e.next = 6),
-                        Q.routeLoader.whenEntrypoint('/_app')
-                      )
-                    case 6:
-                      if (!('error' in (o = e.sent))) {
-                        e.next = 9
-                        break
-                      }
-                      throw o.error
-                    case 9:
-                      ;(a = o.component),
-                        (i = o.exports),
-                        (Z = a),
-                        i &&
-                          i.reportWebVitals &&
-                          (ee = function (e) {
-                            var t,
-                              r = e.id,
-                              n = e.name,
-                              o = e.startTime,
-                              a = e.value,
-                              u = e.duration,
-                              c = e.entryType,
-                              s = e.entries,
-                              l = ''
-                                .concat(Date.now(), '-')
-                                .concat(Math.floor(8999999999999 * Math.random()) + 1e12)
-                            s && s.length && (t = s[0].startTime),
-                              i.reportWebVitals({
-                                id: r || l,
-                                name: n,
-                                startTime: o || t,
-                                value: null == a ? u : a,
-                                label: 'mark' === c || 'measure' === c ? 'custom' : 'web-vital',
-                              })
-                          }),
-                        (e.next = 16)
-                      break
-                    case 16:
-                      return (e.next = 18), Q.routeLoader.whenEntrypoint(M)
-                    case 18:
-                      e.t0 = e.sent
-                    case 19:
-                      if (!('error' in (u = e.t0))) {
-                        e.next = 22
-                        break
-                      }
-                      throw u.error
-                    case 22:
-                      ;(ne = u.component), (e.next = 27)
-                      break
-                    case 27:
-                      e.next = 32
-                      break
-                    case 29:
-                      ;(e.prev = 29), (e.t1 = e.catch(3)), (r = e.t1)
-                    case 32:
-                      if (!window.__NEXT_PRELOADREADY) {
-                        e.next = 36
-                        break
-                      }
-                      return (e.next = 36), window.__NEXT_PRELOADREADY(W)
-                    case 36:
-                      return (
-                        (t.router = J =
-                          (0, T.createRouter)(M, N, $, {
-                            initialProps: I,
-                            pageLoader: Q,
-                            App: Z,
-                            Component: ne,
-                            wrapApp: me,
-                            err: r,
-                            isFallback: Boolean(q),
-                            subscription: function (e, t, r) {
-                              return ue(Object.assign({}, e, { App: t, scroll: r }))
-                            },
-                            locale: B,
-                            locales: H,
-                            defaultLocale: X,
-                            domainLocales: G,
-                            isPreview: V,
-                          })),
-                        ue((c = { App: Z, initial: !0, Component: ne, props: I, err: r })),
-                        e.abrupt('return', ae)
-                      )
-                    case 43:
-                      return e.abrupt('return', { emitter: ae, render: ue, renderCtx: c })
-                    case 44:
-                    case 'end':
-                      return e.stop()
-                  }
-              },
-              e,
-              null,
-              [[3, 29]],
-            )
-          }),
-        )
-        return function () {
-          return e.apply(this, arguments)
-        }
-      })()
-      function ue(e) {
-        return ce.apply(this, arguments)
-      }
-      function ce() {
-        return (ce = o(
-          n.mark(function e(t) {
-            return n.wrap(
-              function (e) {
-                for (;;)
-                  switch ((e.prev = e.next)) {
-                    case 0:
-                      if (!t.err) {
-                        e.next = 4
-                        break
-                      }
-                      return (e.next = 3), se(t)
-                    case 3:
-                      return e.abrupt('return')
-                    case 4:
-                      return (e.prev = 4), (e.next = 7), ye(t)
-                    case 7:
-                      e.next = 16
-                      break
-                    case 9:
-                      if (((e.prev = 9), (e.t0 = e.catch(4)), !e.t0.cancelled)) {
-                        e.next = 13
-                        break
-                      }
-                      throw e.t0
-                    case 13:
-                      return (e.next = 16), se((0, d.default)({}, t, { err: e.t0 }))
-                    case 16:
-                    case 'end':
-                      return e.stop()
-                  }
-              },
-              e,
-              null,
-              [[4, 9]],
-            )
-          }),
-        )).apply(this, arguments)
-      }
-      function se(e) {
-        var t = e.App,
-          r = e.err
-        return (
-          console.error(r),
-          Q.loadPage('/_error').then(function (n) {
-            var o = n.page,
-              a = n.styleSheets,
-              i = me(t),
-              u = {
-                Component: o,
-                AppTree: i,
-                router: J,
-                ctx: { err: r, pathname: M, query: N, asPath: $, AppTree: i },
-              }
-            return Promise.resolve(e.props ? e.props : (0, E.loadGetInitialProps)(t, u)).then(
-              function (t) {
-                return ye((0, d.default)({}, e, { err: r, Component: o, styleSheets: a, props: t }))
-              },
-            )
-          })
-        )
-      }
-      t.default = ie
-      var le = 'function' === typeof m.default.hydrate
-      function fe() {
-        E.ST &&
-          (performance.mark('afterHydrate'),
-          performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender'),
-          performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate'),
-          ee && performance.getEntriesByName('Next.js-hydration').forEach(ee),
-          pe())
-      }
-      function he() {
-        if (E.ST) {
-          performance.mark('afterRender')
-          var e = performance.getEntriesByName('routeChange', 'mark')
-          e.length &&
-            (performance.measure('Next.js-route-change-to-render', e[0].name, 'beforeRender'),
-            performance.measure('Next.js-render', 'beforeRender', 'afterRender'),
-            ee &&
-              (performance.getEntriesByName('Next.js-render').forEach(ee),
-              performance.getEntriesByName('Next.js-route-change-to-render').forEach(ee)),
-            pe(),
-            ['Next.js-route-change-to-render', 'Next.js-render'].forEach(function (e) {
-              return performance.clearMeasures(e)
-            }))
-        }
-      }
-      function pe() {
-        ;['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (e) {
-          return performance.clearMarks(e)
-        })
-      }
-      function de(e) {
-        var t = e.children
-        return v.default.createElement(
-          oe,
-          {
-            fn: function (e) {
-              return se({ App: Z, err: e }).catch(function (e) {
-                return console.error('Error rendering page: ', e)
-              })
-            },
-          },
-          v.default.createElement(
-            w.RouterContext.Provider,
-            { value: (0, T.makePublicRouterInstance)(J) },
-            v.default.createElement(y.HeadManagerContext.Provider, { value: te }, t),
-          ),
-        )
-      }
-      var ve,
-        me = function (e) {
-          return function (t) {
-            var r = (0, d.default)({}, t, { Component: ne, err: j, router: J })
-            return v.default.createElement(de, null, v.default.createElement(e, r))
-          }
-        }
-      function ye(e) {
-        var t = e.App,
-          r = e.Component,
-          n = e.props,
-          o = e.err,
-          a = 'initial' in e ? void 0 : e.styleSheets
-        ;(r = r || ve.Component), (n = n || ve.props)
-        var i = (0, d.default)({}, n, { Component: r, err: o, router: J })
-        ve = i
-        var u,
-          c = !1,
-          s = new Promise(function (e, t) {
-            K && K(),
-              (u = function () {
-                ;(K = null), e()
-              }),
-              (K = function () {
-                ;(c = !0), (K = null)
-                var e = new Error('Cancel rendering route')
-                ;(e.cancelled = !0), t(e)
-              })
-          })
-        function l() {
-          u()
-        }
-        !(function () {
-          if (!a) return !1
-          var e = O(document.querySelectorAll('style[data-n-href]')),
-            t = new Set(
-              e.map(function (e) {
-                return e.getAttribute('data-n-href')
-              }),
-            ),
-            r = document.querySelector('noscript[data-n-css]'),
-            n = null == r ? void 0 : r.getAttribute('data-n-css')
-          a.forEach(function (e) {
-            var r = e.href,
-              o = e.text
-            if (!t.has(r)) {
-              var a = document.createElement('style')
-              a.setAttribute('data-n-href', r),
-                a.setAttribute('media', 'x'),
-                n && a.setAttribute('nonce', n),
-                document.head.appendChild(a),
-                a.appendChild(document.createTextNode(o))
-            }
-          })
-        })()
-        var f = v.default.createElement(
-          v.default.Fragment,
-          null,
-          v.default.createElement(we, {
-            callback: function () {
-              if (a && !c) {
-                for (
-                  var t = new Set(
-                      a.map(function (e) {
-                        return e.href
-                      }),
-                    ),
-                    r = O(document.querySelectorAll('style[data-n-href]')),
-                    n = r.map(function (e) {
-                      return e.getAttribute('data-n-href')
-                    }),
-                    o = 0;
-                  o < n.length;
-                  ++o
-                )
-                  t.has(n[o]) ? r[o].removeAttribute('media') : r[o].setAttribute('media', 'x')
-                var i = document.querySelector('noscript[data-n-css]')
-                i &&
-                  a.forEach(function (e) {
-                    var t = e.href,
-                      r = document.querySelector('style[data-n-href="'.concat(t, '"]'))
-                    r && (i.parentNode.insertBefore(r, i.nextSibling), (i = r))
-                  }),
-                  O(document.querySelectorAll('link[data-n-p]')).forEach(function (e) {
-                    e.parentNode.removeChild(e)
-                  }),
-                  getComputedStyle(document.body, 'height')
-              }
-              e.scroll && window.scrollTo(e.scroll.x, e.scroll.y)
-            },
-          }),
-          v.default.createElement(
-            de,
-            null,
-            v.default.createElement(t, i),
-            v.default.createElement(
-              P.Portal,
-              { type: 'next-route-announcer' },
-              v.default.createElement(C.RouteAnnouncer, null),
-            ),
-          ),
-        )
-        return (
-          (function (e, t) {
-            E.ST && performance.mark('beforeRender')
-            var r = t(le ? fe : he)
-            le ? (m.default.hydrate(r, e), (le = !1)) : m.default.render(r, e)
-          })(re, function (e) {
-            return v.default.createElement(ge, { callbacks: [e, l] }, f)
-          }),
-          s
-        )
-      }
-      function ge(e) {
-        var t = e.callbacks,
-          r = e.children
-        return (
-          v.default.useLayoutEffect(
-            function () {
-              return t.forEach(function (e) {
-                return e()
-              })
-            },
-            [t],
-          ),
-          v.default.useEffect(function () {
-            ;(0, R.default)(ee)
-          }, []),
-          r
-        )
-      }
-      function we(e) {
-        var t = e.callback
-        return (
-          v.default.useLayoutEffect(
-            function () {
-              return t()
-            },
-            [t],
-          ),
-          null
-        )
-      }
-    },
-    20457: function (e, t, r) {
-      'use strict'
-      var n = r(69448)(r(20310))
-      ;(window.next = n), (0, n.default)().catch(console.error)
-    },
-    15965: function (e, t) {
-      'use strict'
-      function r(e) {
-        return e.endsWith('/') && '/' !== e ? e.slice(0, -1) : e
-      }
-      ;(t.__esModule = !0), (t.removePathTrailingSlash = r), (t.normalizePathTrailingSlash = void 0)
-      var n = r
-      t.normalizePathTrailingSlash = n
-    },
-    47145: function (e, t, r) {
-      'use strict'
-      var n = r(2553),
-        o = r(62012),
-        a = r(69448),
-        i = r(62426)
-      ;(t.__esModule = !0), (t.default = void 0)
-      var u = r(29414),
-        c = i(r(75292)),
-        s = r(88073),
-        l = r(53900),
-        f = r(15965),
-        h = a(r(31392))
-      var p = (function () {
-        function e(t, r) {
-          n(this, e),
-            (this.buildId = void 0),
-            (this.assetPrefix = void 0),
-            (this.promisedSsgManifest = void 0),
-            (this.promisedDevPagesManifest = void 0),
-            (this.routeLoader = void 0),
-            (this.routeLoader = (0, h.default)(r)),
-            (this.buildId = t),
-            (this.assetPrefix = r),
-            (this.promisedSsgManifest = new Promise(function (e) {
-              window.__SSG_MANIFEST
-                ? e(window.__SSG_MANIFEST)
-                : (window.__SSG_MANIFEST_CB = function () {
-                    e(window.__SSG_MANIFEST)
-                  })
-            }))
-        }
-        return (
-          o(e, [
-            {
-              key: 'getPageList',
-              value: function () {
-                return (0, h.getClientBuildManifest)().then(function (e) {
-                  return e.sortedPages
-                })
-              },
-            },
-            {
-              key: 'getDataHref',
-              value: function (e, t, r, n) {
-                var o = this,
-                  a = (0, l.parseRelativeUrl)(e),
-                  i = a.pathname,
-                  h = a.query,
-                  p = a.search,
-                  d = (0, l.parseRelativeUrl)(t).pathname,
-                  v = (function (e) {
-                    if ('/' !== e[0])
-                      throw new Error('Route name should start with a "/", got "'.concat(e, '"'))
-                    return '/' === e ? e : e.replace(/\/$/, '')
-                  })(i),
-                  m = function (e) {
-                    var t = (0, c.default)(
-                      (0, f.removePathTrailingSlash)((0, u.addLocale)(e, n)),
-                      '.json',
-                    )
-                    return (0, u.addBasePath)(
-                      '/_next/data/'
-                        .concat(o.buildId)
-                        .concat(t)
-                        .concat(r ? '' : p),
-                    )
-                  },
-                  y = (0, s.isDynamicRoute)(v),
-                  g = y ? (0, u.interpolateAs)(i, d, h).result : ''
-                return y ? g && m(g) : m(v)
-              },
-            },
-            {
-              key: '_isSsg',
-              value: function (e) {
-                return this.promisedSsgManifest.then(function (t) {
-                  return t.has(e)
-                })
-              },
-            },
-            {
-              key: 'loadPage',
-              value: function (e) {
-                return this.routeLoader.loadRoute(e).then(function (e) {
-                  if ('component' in e)
-                    return {
-                      page: e.component,
-                      mod: e.exports,
-                      styleSheets: e.styles.map(function (e) {
-                        return { href: e.href, text: e.content }
-                      }),
-                    }
-                  throw e.error
-                })
-              },
-            },
-            {
-              key: 'prefetch',
-              value: function (e) {
-                return this.routeLoader.prefetch(e)
-              },
-            },
-          ]),
-          e
-        )
-      })()
-      t.default = p
-    },
-    59934: function (e, t, r) {
-      'use strict'
-      ;(t.__esModule = !0), (t.default = void 0)
-      var n,
-        o = r(5866),
-        a = (location.href, !1)
-      function i(e) {
-        n && n(e)
-      }
-      t.default = function (e) {
-        ;(n = e),
-          a ||
-            ((a = !0),
-            (0, o.getCLS)(i),
-            (0, o.getFID)(i),
-            (0, o.getFCP)(i),
-            (0, o.getLCP)(i),
-            (0, o.getTTFB)(i))
-      }
-    },
-    86579: function (e, t, r) {
-      'use strict'
-      var n = r(53848),
-        o = r(69448)
-      ;(t.__esModule = !0), (t.Portal = void 0)
-      var a = o(r(67294)),
-        i = r(73935)
-      t.Portal = function (e) {
-        var t = e.children,
-          r = e.type,
-          o = a.useRef(null),
-          u = a.useState(),
-          c = n(u, 2)[1]
-        return (
-          a.useEffect(
-            function () {
-              return (
-                (o.current = document.createElement(r)),
-                document.body.appendChild(o.current),
-                c({}),
-                function () {
-                  o.current && document.body.removeChild(o.current)
-                }
-              )
-            },
-            [r],
-          ),
-          o.current ? (0, i.createPortal)(t, o.current) : null
-        )
-      }
-    },
-    73447: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0), (t.cancelIdleCallback = t.requestIdleCallback = void 0)
-      var r =
-        ('undefined' !== typeof self && self.requestIdleCallback) ||
-        function (e) {
-          var t = Date.now()
-          return setTimeout(function () {
-            e({
-              didTimeout: !1,
-              timeRemaining: function () {
-                return Math.max(0, 50 - (Date.now() - t))
-              },
-            })
-          }, 1)
-        }
-      t.requestIdleCallback = r
-      var n =
-        ('undefined' !== typeof self && self.cancelIdleCallback) ||
-        function (e) {
-          return clearTimeout(e)
-        }
-      t.cancelIdleCallback = n
-    },
-    48475: function (e, t, r) {
-      'use strict'
-      var n = r(53848),
-        o = r(69448)
-      ;(t.__esModule = !0), (t.RouteAnnouncer = u), (t.default = void 0)
-      var a = o(r(67294)),
-        i = r(34651)
-      function u() {
-        var e = (0, i.useRouter)().asPath,
-          t = (0, a.useState)(''),
-          r = n(t, 2),
-          o = r[0],
-          u = r[1],
-          c = (0, a.useRef)(!1)
-        return (
-          (0, a.useEffect)(
-            function () {
-              if (c.current) {
-                var t,
-                  r = document.querySelector('h1')
-                r && (t = r.innerText || r.textContent),
-                  t || (t = document.title ? document.title : e),
-                  u(t)
-              } else c.current = !0
-            },
-            [e],
-          ),
-          a.default.createElement(
-            'p',
-            {
-              'aria-live': 'assertive',
-              id: '__next-route-announcer__',
-              role: 'alert',
-              style: {
-                border: 0,
-                clip: 'rect(0 0 0 0)',
-                height: '1px',
-                margin: '-1px',
-                overflow: 'hidden',
-                padding: 0,
-                position: 'absolute',
-                width: '1px',
-                whiteSpace: 'nowrap',
-                wordWrap: 'normal',
-              },
-            },
-            o,
-          )
-        )
-      }
-      var c = u
-      t.default = c
-    },
-    31392: function (e, t, r) {
-      'use strict'
-      var n = r(62426)
-      ;(t.__esModule = !0),
-        (t.markAssetError = c),
-        (t.isAssetError = function (e) {
-          return e && u in e
-        }),
-        (t.getClientBuildManifest = l),
-        (t.default = void 0)
-      n(r(75292))
-      var o = r(73447)
-      function a(e, t, r) {
-        var n,
-          o = t.get(e)
-        if (o) return 'future' in o ? o.future : Promise.resolve(o)
-        var a = new Promise(function (e) {
-          n = e
-        })
-        return (
-          t.set(e, (o = { resolve: n, future: a })),
-          r
-            ? r().then(function (e) {
-                return n(e), e
-              })
-            : a
-        )
-      }
-      var i = (function (e) {
-        try {
-          return (
-            (e = document.createElement('link')),
-            (!!window.MSInputMethodContext && !!document.documentMode) ||
-              e.relList.supports('prefetch')
-          )
-        } catch (t) {
-          return !1
-        }
-      })()
-      var u = Symbol('ASSET_LOAD_ERROR')
-      function c(e) {
-        return Object.defineProperty(e, u, {})
-      }
-      function s(e, t, r) {
-        return new Promise(function (n, a) {
-          var i = !1
-          e
-            .then(function (e) {
-              ;(i = !0), n(e)
-            })
-            .catch(a),
-            (0, o.requestIdleCallback)(function () {
-              return setTimeout(function () {
-                i || a(r)
-              }, t)
-            })
-        })
-      }
-      function l() {
-        return self.__BUILD_MANIFEST
-          ? Promise.resolve(self.__BUILD_MANIFEST)
-          : s(
-              new Promise(function (e) {
-                var t = self.__BUILD_MANIFEST_CB
-                self.__BUILD_MANIFEST_CB = function () {
-                  e(self.__BUILD_MANIFEST), t && t()
-                }
-              }),
-              3800,
-              c(new Error('Failed to load client build manifest')),
-            )
-      }
-      function f(e, t) {
-        return l().then(function (r) {
-          if (!(t in r)) throw c(new Error('Failed to lookup route: '.concat(t)))
-          var n = r[t].map(function (t) {
-            return e + '/_next/' + encodeURI(t)
-          })
-          return {
-            scripts: n.filter(function (e) {
-              return e.endsWith('.js')
-            }),
-            css: n.filter(function (e) {
-              return e.endsWith('.css')
-            }),
-          }
-        })
-      }
-      var h = function (e) {
-        var t = new Map(),
-          r = new Map(),
-          n = new Map(),
-          u = new Map()
-        function l(e) {
-          var t = r.get(e)
-          return (
-            t ||
-            (document.querySelector('script[src^="'.concat(e, '"]'))
-              ? Promise.resolve()
-              : (r.set(
-                  e,
-                  (t = (function (e, t) {
-                    return new Promise(function (r, n) {
-                      ;((t = document.createElement('script')).onload = r),
-                        (t.onerror = function () {
-                          return n(c(new Error('Failed to load script: '.concat(e))))
-                        }),
-                        (t.crossOrigin = void 0),
-                        (t.src = e),
-                        document.body.appendChild(t)
-                    })
-                  })(e)),
-                ),
-                t))
-          )
-        }
-        function h(e) {
-          var t = n.get(e)
-          return (
-            t ||
-            (n.set(
-              e,
-              (t = fetch(e)
-                .then(function (t) {
-                  if (!t.ok) throw new Error('Failed to load stylesheet: '.concat(e))
-                  return t.text().then(function (t) {
-                    return { href: e, content: t }
-                  })
-                })
-                .catch(function (e) {
-                  throw c(e)
-                })),
-            ),
-            t)
-          )
-        }
-        return {
-          whenEntrypoint: function (e) {
-            return a(e, t)
-          },
-          onEntrypoint: function (e, r) {
-            Promise.resolve(r)
-              .then(function (e) {
-                return e()
-              })
-              .then(
-                function (e) {
-                  return { component: (e && e.default) || e, exports: e }
-                },
-                function (e) {
-                  return { error: e }
-                },
-              )
-              .then(function (r) {
-                var n = t.get(e)
-                t.set(e, r), n && 'resolve' in n && n.resolve(r)
-              })
-          },
-          loadRoute: function (r, n) {
-            var o = this
-            return a(r, u, function () {
-              return s(
-                f(e, r)
-                  .then(function (e) {
-                    var n = e.scripts,
-                      o = e.css
-                    return Promise.all([
-                      t.has(r) ? [] : Promise.all(n.map(l)),
-                      Promise.all(o.map(h)),
-                    ])
-                  })
-                  .then(function (e) {
-                    return o.whenEntrypoint(r).then(function (t) {
-                      return { entrypoint: t, styles: e[1] }
-                    })
-                  }),
-                3800,
-                c(new Error('Route did not complete loading: '.concat(r))),
-              )
-                .then(function (e) {
-                  var t = e.entrypoint,
-                    r = e.styles,
-                    n = Object.assign({ styles: r }, t)
-                  return 'error' in t ? t : n
-                })
-                .catch(function (e) {
-                  if (n) throw e
-                  return { error: e }
-                })
-            })
-          },
-          prefetch: function (t) {
-            var r,
-              n = this
-            return (r = navigator.connection) && (r.saveData || /2g/.test(r.effectiveType))
-              ? Promise.resolve()
-              : f(e, t)
-                  .then(function (e) {
-                    return Promise.all(
-                      i
-                        ? e.scripts.map(function (e) {
-                            return (
-                              (t = e),
-                              (r = 'script'),
-                              new Promise(function (e, o) {
-                                if (
-                                  document.querySelector(
-                                    'link[rel="prefetch"][href^="'.concat(t, '"]'),
-                                  )
-                                )
-                                  return e()
-                                ;(n = document.createElement('link')),
-                                  r && (n.as = r),
-                                  (n.rel = 'prefetch'),
-                                  (n.crossOrigin = void 0),
-                                  (n.onload = e),
-                                  (n.onerror = o),
-                                  (n.href = t),
-                                  document.head.appendChild(n)
-                              })
-                            )
-                            var t, r, n
-                          })
-                        : [],
-                    )
-                  })
-                  .then(function () {
-                    ;(0, o.requestIdleCallback)(function () {
-                      return n.loadRoute(t, !0).catch(function () {})
-                    })
-                  })
-                  .catch(function () {})
-          },
-        }
-      }
-      t.default = h
-    },
-    34651: function (e, t, r) {
-      'use strict'
-      var n = r(41280)
-      function o(e, t) {
-        var r
-        if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
-          if (
-            Array.isArray(e) ||
-            (r = (function (e, t) {
-              if (!e) return
-              if ('string' === typeof e) return a(e, t)
-              var r = Object.prototype.toString.call(e).slice(8, -1)
-              'Object' === r && e.constructor && (r = e.constructor.name)
-              if ('Map' === r || 'Set' === r) return Array.from(e)
-              if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))
-                return a(e, t)
-            })(e)) ||
-            (t && e && 'number' === typeof e.length)
-          ) {
-            r && (e = r)
-            var n = 0,
-              o = function () {}
-            return {
-              s: o,
-              n: function () {
-                return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] }
-              },
-              e: function (e) {
-                throw e
-              },
-              f: o,
-            }
-          }
-          throw new TypeError(
-            'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-          )
-        }
-        var i,
-          u = !0,
-          c = !1
-        return {
-          s: function () {
-            r = e[Symbol.iterator]()
-          },
-          n: function () {
-            var e = r.next()
-            return (u = e.done), e
-          },
-          e: function (e) {
-            ;(c = !0), (i = e)
-          },
-          f: function () {
-            try {
-              u || null == r.return || r.return()
-            } finally {
-              if (c) throw i
-            }
-          },
-        }
-      }
-      function a(e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]
-        return n
-      }
-      var i = r(69448),
-        u = r(62426)
-      ;(t.__esModule = !0),
-        (t.useRouter = function () {
-          return c.default.useContext(l.RouterContext)
-        }),
-        (t.makePublicRouterInstance = function (e) {
-          var t,
-            r = e,
-            n = {},
-            a = o(p)
-          try {
-            for (a.s(); !(t = a.n()).done; ) {
-              var i = t.value
-              'object' !== typeof r[i]
-                ? (n[i] = r[i])
-                : (n[i] = Object.assign(Array.isArray(r[i]) ? [] : {}, r[i]))
-            }
-          } catch (u) {
-            a.e(u)
-          } finally {
-            a.f()
-          }
-          return (
-            (n.events = s.default.events),
-            d.forEach(function (e) {
-              n[e] = function () {
-                return r[e].apply(r, arguments)
-              }
-            }),
-            n
-          )
-        }),
-        (t.createRouter = t.withRouter = t.default = void 0)
-      var c = u(r(67294)),
-        s = i(r(29414))
-      ;(t.Router = s.default), (t.NextRouter = s.NextRouter)
-      var l = r(36171),
-        f = u(r(47413))
-      t.withRouter = f.default
-      var h = {
-          router: null,
-          readyCallbacks: [],
-          ready: function (e) {
-            if (this.router) return e()
-            this.readyCallbacks.push(e)
-          },
-        },
-        p = [
-          'pathname',
-          'route',
-          'query',
-          'asPath',
-          'components',
-          'isFallback',
-          'basePath',
-          'locale',
-          'locales',
-          'defaultLocale',
-          'isReady',
-          'isPreview',
-          'isLocaleDomain',
-          'domainLocales',
-        ],
-        d = ['push', 'replace', 'reload', 'back', 'prefetch', 'beforePopState']
-      function v() {
-        if (!h.router) {
-          throw new Error(
-            'No router instance found.\nYou should only use "next/router" on the client side of your app.\n',
-          )
-        }
-        return h.router
-      }
-      Object.defineProperty(h, 'events', {
-        get: function () {
-          return s.default.events
-        },
-      }),
-        p.forEach(function (e) {
-          Object.defineProperty(h, e, {
-            get: function () {
-              return v()[e]
-            },
-          })
-        }),
-        d.forEach(function (e) {
-          h[e] = function () {
-            var t = v()
-            return t[e].apply(t, arguments)
-          }
-        }),
-        [
-          'routeChangeStart',
-          'beforeHistoryChange',
-          'routeChangeComplete',
-          'routeChangeError',
-          'hashChangeStart',
-          'hashChangeComplete',
-        ].forEach(function (e) {
-          h.ready(function () {
-            s.default.events.on(e, function () {
-              var t = 'on'.concat(e.charAt(0).toUpperCase()).concat(e.substring(1)),
-                r = h
-              if (r[t])
-                try {
-                  r[t].apply(r, arguments)
-                } catch (n) {
-                  console.error('Error when running the Router event: '.concat(t)),
-                    console.error(''.concat(n.message, '\n').concat(n.stack))
-                }
-            })
-          })
-        })
-      var m = h
-      t.default = m
-      t.createRouter = function () {
-        for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]
-        return (
-          (h.router = n(s.default, t)),
-          h.readyCallbacks.forEach(function (e) {
-            return e()
-          }),
-          (h.readyCallbacks = []),
-          h.router
-        )
-      }
-    },
-    37926: function (e, t, r) {
-      'use strict'
-      var n = r(53848),
-        o = r(62426)
-      ;(t.__esModule = !0),
-        (t.initScriptLoader = function (e) {
-          e.forEach(v)
-        }),
-        (t.default = void 0)
-      var a = o(r(9566)),
-        i = o(r(26169)),
-        u = r(67294),
-        c = r(41165),
-        s = r(96792),
-        l = r(73447),
-        f = new Map(),
-        h = new Set(),
-        p = ['onLoad', 'dangerouslySetInnerHTML', 'children', 'onError', 'strategy'],
-        d = function (e) {
-          var t = e.src,
-            r = e.id,
-            o = e.onLoad,
-            a = void 0 === o ? function () {} : o,
-            i = e.dangerouslySetInnerHTML,
-            u = e.children,
-            c = void 0 === u ? '' : u,
-            l = e.onError,
-            d = r || t
-          if (f.has(t)) h.has(d) || (h.add(d), f.get(t).then(a, l))
-          else {
-            var v = document.createElement('script'),
-              m = new Promise(function (e, t) {
-                v.addEventListener('load', function () {
-                  e(), a && a.call(this)
-                }),
-                  v.addEventListener('error', function () {
-                    t(), l && l()
-                  })
-              })
-            t && (f.set(t, m), h.add(d)),
-              i
-                ? (v.innerHTML = i.__html || '')
-                : c
-                ? (v.textContent = 'string' === typeof c ? c : Array.isArray(c) ? c.join('') : '')
-                : t && (v.src = t)
-            for (var y = 0, g = Object.entries(e); y < g.length; y++) {
-              var w = n(g[y], 2),
-                b = w[0],
-                _ = w[1]
-              if (void 0 !== _ && !p.includes(b)) {
-                var x = s.DOMAttributeNames[b] || b.toLowerCase()
-                v.setAttribute(x, _)
-              }
-            }
-            document.body.appendChild(v)
-          }
-        }
-      function v(e) {
-        var t = e.strategy,
-          r = void 0 === t ? 'afterInteractive' : t
-        'afterInteractive' === r
-          ? d(e)
-          : 'lazyOnload' === r &&
-            window.addEventListener('load', function () {
-              ;(0, l.requestIdleCallback)(function () {
-                return d(e)
-              })
-            })
-      }
-      var m = function (e) {
-        var t = e.src,
-          r = void 0 === t ? '' : t,
-          n = e.onLoad,
-          o = void 0 === n ? function () {} : n,
-          s = e.strategy,
-          f = void 0 === s ? 'afterInteractive' : s,
-          h = e.onError,
-          p = (0, i.default)(e, [
-            'src',
-            'onLoad',
-            'dangerouslySetInnerHTML',
-            'strategy',
-            'onError',
-          ]),
-          v = (0, u.useContext)(c.HeadManagerContext),
-          m = v.updateScripts,
-          y = v.scripts
-        return (
-          (0, u.useEffect)(
-            function () {
-              'afterInteractive' === f
-                ? d(e)
-                : 'lazyOnload' === f &&
-                  (function (e) {
-                    'complete' === document.readyState
-                      ? (0, l.requestIdleCallback)(function () {
-                          return d(e)
-                        })
-                      : window.addEventListener('load', function () {
-                          ;(0, l.requestIdleCallback)(function () {
-                            return d(e)
-                          })
-                        })
-                  })(e)
-            },
-            [e, f],
-          ),
-          'beforeInteractive' === f &&
-            m &&
-            ((y.beforeInteractive = (y.beforeInteractive || []).concat([
-              (0, a.default)({ src: r, onLoad: o, onError: h }, p),
-            ])),
-            m(y)),
-          null
-        )
-      }
-      t.default = m
-    },
-    47413: function (e, t, r) {
-      'use strict'
-      var n = r(62426)
-      ;(t.__esModule = !0),
-        (t.default = function (e) {
-          function t(t) {
-            return o.default.createElement(e, Object.assign({ router: (0, a.useRouter)() }, t))
-          }
-          ;(t.getInitialProps = e.getInitialProps),
-            (t.origGetInitialProps = e.origGetInitialProps),
-            !1
-          return t
-        })
-      var o = n(r(67294)),
-        a = r(34651)
-    },
-    41165: function (e, t, r) {
-      'use strict'
-      var n
-      ;(t.__esModule = !0), (t.HeadManagerContext = void 0)
-      var o = ((n = r(67294)) && n.__esModule ? n : { default: n }).default.createContext({})
-      t.HeadManagerContext = o
-    },
-    66813: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.normalizeLocalePath = function (e, t) {
-          var r,
-            n = e.split('/')
-          return (
-            (t || []).some(function (t) {
-              return (
-                n[1].toLowerCase() === t.toLowerCase() &&
-                ((r = t), n.splice(1, 1), (e = n.join('/') || '/'), !0)
-              )
-            }),
-            { pathname: e, detectedLocale: r }
-          )
-        })
-    },
-    8119: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.default = function () {
-          var e = Object.create(null)
-          return {
-            on: function (t, r) {
-              ;(e[t] || (e[t] = [])).push(r)
-            },
-            off: function (t, r) {
-              e[t] && e[t].splice(e[t].indexOf(r) >>> 0, 1)
-            },
-            emit: function (t) {
-              for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
-                n[o - 1] = arguments[o]
-              ;(e[t] || []).slice().map(function (e) {
-                e.apply(void 0, n)
-              })
-            },
-          }
-        })
-    },
-    36171: function (e, t, r) {
-      'use strict'
-      var n
-      ;(t.__esModule = !0), (t.RouterContext = void 0)
-      var o = ((n = r(67294)) && n.__esModule ? n : { default: n }).default.createContext(null)
-      t.RouterContext = o
-    },
-    29414: function (e, t, r) {
-      'use strict'
-      var n = r(809),
-        o = r(38561),
-        a = r(2553),
-        i = r(62012),
-        u = r(53848)
-      ;(t.__esModule = !0),
-        (t.getDomainLocale = function (e, t, r, n) {
-          0
-          return !1
-        }),
-        (t.addLocale = x),
-        (t.delLocale = S),
-        (t.hasBasePath = P),
-        (t.addBasePath = k),
-        (t.delBasePath = L),
-        (t.isLocalURL = R),
-        (t.interpolateAs = C),
-        (t.resolveHref = A),
-        (t.default = void 0)
-      var c = r(15965),
-        s = r(31392),
-        l = r(89320),
-        f = (r(66813), w(r(8119))),
-        h = r(24755),
-        p = r(88073),
-        d = r(53900),
-        v = r(68187),
-        m = w(r(14453)),
-        y = r(98085),
-        g = r(44550)
-      function w(e) {
-        return e && e.__esModule ? e : { default: e }
-      }
-      function b() {
-        return Object.assign(new Error('Route Cancelled'), { cancelled: !0 })
-      }
-      function x(e, t, r) {
-        return e
-      }
-      function S(e, t) {
-        return e
-      }
-      function E(e) {
-        var t = e.indexOf('?'),
-          r = e.indexOf('#')
-        return (t > -1 || r > -1) && (e = e.substring(0, t > -1 ? t : r)), e
-      }
-      function P(e) {
-        return '' === (e = E(e)) || e.startsWith('/')
-      }
-      function k(e) {
-        return (function (e, t) {
-          return t && e.startsWith('/')
-            ? '/' === e
-              ? (0, c.normalizePathTrailingSlash)(t)
-              : ''.concat(t).concat('/' === E(e) ? e.substring(1) : e)
-            : e
-        })(e, '')
-      }
-      function L(e) {
-        return (e = e.slice(''.length)).startsWith('/') || (e = '/'.concat(e)), e
-      }
-      function R(e) {
-        if (e.startsWith('/') || e.startsWith('#') || e.startsWith('?')) return !0
-        try {
-          var t = (0, h.getLocationOrigin)(),
-            r = new URL(e, t)
-          return r.origin === t && P(r.pathname)
-        } catch (_) {
-          return !1
-        }
-      }
-      function C(e, t, r) {
-        var n = '',
-          o = (0, g.getRouteRegex)(e),
-          a = o.groups,
-          i = (t !== e ? (0, y.getRouteMatcher)(o)(t) : '') || r
-        n = e
-        var u = Object.keys(a)
-        return (
-          u.every(function (e) {
-            var t = i[e] || '',
-              r = a[e],
-              o = r.repeat,
-              u = r.optional,
-              c = '['.concat(o ? '...' : '').concat(e, ']')
-            return (
-              u && (c = ''.concat(t ? '' : '/', '[').concat(c, ']')),
-              o && !Array.isArray(t) && (t = [t]),
-              (u || e in i) &&
-                (n =
-                  n.replace(
-                    c,
-                    o
-                      ? t
-                          .map(function (e) {
-                            return encodeURIComponent(e)
-                          })
-                          .join('/')
-                      : encodeURIComponent(t),
-                  ) || '/')
-            )
-          }) || (n = ''),
-          { params: u, result: n }
-        )
-      }
-      function T(e, t) {
-        var r = {}
-        return (
-          Object.keys(e).forEach(function (n) {
-            t.includes(n) || (r[n] = e[n])
-          }),
-          r
-        )
-      }
-      function A(e, t, r) {
-        var n,
-          o = 'string' === typeof t ? t : (0, h.formatWithValidation)(t)
-        try {
-          n = new URL(o.startsWith('#') ? e.asPath : e.pathname, 'http://n')
-        } catch (_) {
-          n = new URL('/', 'http://n')
-        }
-        if (!R(o)) return r ? [o] : o
-        try {
-          var a = new URL(o, n)
-          a.pathname = (0, c.normalizePathTrailingSlash)(a.pathname)
-          var i = ''
-          if ((0, p.isDynamicRoute)(a.pathname) && a.searchParams && r) {
-            var u = (0, v.searchParamsToUrlQuery)(a.searchParams),
-              s = C(a.pathname, a.pathname, u),
-              l = s.result,
-              f = s.params
-            l && (i = (0, h.formatWithValidation)({ pathname: l, hash: a.hash, query: T(u, f) }))
-          }
-          var d = a.origin === n.origin ? a.href.slice(a.origin.length) : a.href
-          return r ? [d, i || d] : d
-        } catch (_) {
-          return r ? [o] : o
-        }
-      }
-      function O(e) {
-        var t = (0, h.getLocationOrigin)()
-        return e.startsWith(t) ? e.substring(t.length) : e
-      }
-      function I(e, t, r) {
-        var n = A(e, t, !0),
-          o = u(n, 2),
-          a = o[0],
-          i = o[1],
-          c = (0, h.getLocationOrigin)(),
-          s = a.startsWith(c),
-          l = i && i.startsWith(c)
-        ;(a = O(a)), (i = i ? O(i) : i)
-        var f = s ? a : k(a),
-          p = r ? O(A(e, r)) : i || a
-        return { url: f, as: l ? p : k(p) }
-      }
-      function j(e, t) {
-        var r = (0, c.removePathTrailingSlash)((0, l.denormalizePagePath)(e))
-        return '/404' === r || '/_error' === r
-          ? e
-          : (t.includes(r) ||
-              t.some(function (t) {
-                if ((0, p.isDynamicRoute)(t) && (0, g.getRouteRegex)(t).re.test(r))
-                  return (e = t), !0
-              }),
-            (0, c.removePathTrailingSlash)(e))
-      }
-      var M = Symbol('SSG_DATA_NOT_FOUND')
-      function N(e, t) {
-        return fetch(e, { credentials: 'same-origin' }).then(function (r) {
-          if (!r.ok) {
-            if (t > 1 && r.status >= 500) return N(e, t - 1)
-            if (404 === r.status)
-              return r.json().then(function (e) {
-                if (e.notFound) return { notFound: M }
-                throw new Error('Failed to load static props')
-              })
-            throw new Error('Failed to load static props')
-          }
-          return r.json()
-        })
-      }
-      function D(e, t) {
-        return N(e, t ? 3 : 1).catch(function (e) {
-          throw (t || (0, s.markAssetError)(e), e)
-        })
-      }
-      var F = (function () {
-        function e(t, r, n, o) {
-          var i = this,
-            u = o.initialProps,
-            s = o.pageLoader,
-            l = o.App,
-            f = o.wrapApp,
-            v = o.Component,
-            m = o.err,
-            y = o.subscription,
-            g = o.isFallback,
-            w = o.locale,
-            b = (o.locales, o.defaultLocale, o.domainLocales, o.isPreview)
-          a(this, e),
-            (this.route = void 0),
-            (this.pathname = void 0),
-            (this.query = void 0),
-            (this.asPath = void 0),
-            (this.basePath = void 0),
-            (this.components = void 0),
-            (this.sdc = {}),
-            (this.sdr = {}),
-            (this.sub = void 0),
-            (this.clc = void 0),
-            (this.pageLoader = void 0),
-            (this._bps = void 0),
-            (this.events = void 0),
-            (this._wrapApp = void 0),
-            (this.isSsr = void 0),
-            (this.isFallback = void 0),
-            (this._inFlightRoute = void 0),
-            (this._shallow = void 0),
-            (this.locale = void 0),
-            (this.locales = void 0),
-            (this.defaultLocale = void 0),
-            (this.domainLocales = void 0),
-            (this.isReady = void 0),
-            (this.isPreview = void 0),
-            (this.isLocaleDomain = void 0),
-            (this._idx = 0),
-            (this.onPopState = function (e) {
-              var t = e.state
-              if (t) {
-                if (t.__N) {
-                  var r = t.url,
-                    n = t.as,
-                    o = t.options,
-                    a = t.idx
-                  i._idx = a
-                  var u = (0, d.parseRelativeUrl)(r).pathname
-                  ;(i.isSsr && n === i.asPath && u === i.pathname) ||
-                    (i._bps && !i._bps(t)) ||
-                    i.change(
-                      'replaceState',
-                      r,
-                      n,
-                      Object.assign({}, o, {
-                        shallow: o.shallow && i._shallow,
-                        locale: o.locale || i.defaultLocale,
-                      }),
-                      undefined,
-                    )
-                }
-              } else {
-                var c = i.pathname,
-                  s = i.query
-                i.changeState(
-                  'replaceState',
-                  (0, h.formatWithValidation)({ pathname: k(c), query: s }),
-                  (0, h.getURL)(),
-                )
-              }
-            }),
-            (this.route = (0, c.removePathTrailingSlash)(t)),
-            (this.components = {}),
-            '/_error' !== t &&
-              (this.components[this.route] = {
-                Component: v,
-                initial: !0,
-                props: u,
-                err: m,
-                __N_SSG: u && u.__N_SSG,
-                __N_SSP: u && u.__N_SSP,
-              }),
-            (this.components['/_app'] = { Component: l, styleSheets: [] }),
-            (this.events = e.events),
-            (this.pageLoader = s),
-            (this.pathname = t),
-            (this.query = r)
-          var _ = (0, p.isDynamicRoute)(t) && self.__NEXT_DATA__.autoExport
-          if (
-            ((this.asPath = _ ? t : n),
-            (this.basePath = ''),
-            (this.sub = y),
-            (this.clc = null),
-            (this._wrapApp = f),
-            (this.isSsr = !0),
-            (this.isFallback = g),
-            (this.isReady = !(
-              !self.__NEXT_DATA__.gssp &&
-              !self.__NEXT_DATA__.gip &&
-              (_ || self.location.search)
-            )),
-            (this.isPreview = !!b),
-            (this.isLocaleDomain = !1),
-            '//' !== n.substr(0, 2))
-          ) {
-            var x = { locale: w }
-            ;(x._shouldResolveHref = n !== t),
-              this.changeState(
-                'replaceState',
-                (0, h.formatWithValidation)({ pathname: k(t), query: r }),
-                (0, h.getURL)(),
-                x,
-              )
-          }
-          window.addEventListener('popstate', this.onPopState)
-        }
-        return (
-          i(e, [
-            {
-              key: 'reload',
-              value: function () {
-                window.location.reload()
-              },
-            },
-            {
-              key: 'back',
-              value: function () {
-                window.history.back()
-              },
-            },
-            {
-              key: 'push',
-              value: function (e, t) {
-                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}
-                var n = I(this, e, t)
-                return (e = n.url), (t = n.as), this.change('pushState', e, t, r)
-              },
-            },
-            {
-              key: 'replace',
-              value: function (e, t) {
-                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
-                  n = I(this, e, t)
-                return (e = n.url), (t = n.as), this.change('replaceState', e, t, r)
-              },
-            },
-            {
-              key: 'change',
-              value: (function () {
-                var t = o(
-                  n.mark(function t(r, o, a, i, u) {
-                    var l,
-                      f,
-                      v,
-                      m,
-                      w,
-                      b,
-                      _,
-                      E,
-                      A,
-                      O,
-                      N,
-                      D,
-                      F,
-                      U,
-                      W,
-                      q,
-                      B,
-                      H,
-                      G,
-                      V,
-                      X,
-                      z,
-                      $,
-                      Q,
-                      Y,
-                      K,
-                      J,
-                      Z,
-                      ee,
-                      te,
-                      re,
-                      ne,
-                      oe,
-                      ae,
-                      ie,
-                      ue,
-                      ce
-                    return n.wrap(
-                      function (t) {
-                        for (;;)
-                          switch ((t.prev = t.next)) {
-                            case 0:
-                              if (R(o)) {
-                                t.next = 3
-                                break
-                              }
-                              return (window.location.href = o), t.abrupt('return', !1)
-                            case 3:
-                              ;(l = o === a || i._h || i._shouldResolveHref),
-                                i._h && (this.isReady = !0),
-                                (f = i.locale !== this.locale),
-                                (t.next = 18)
-                              break
-                            case 18:
-                              if (
-                                (i._h || (this.isSsr = !1),
-                                h.ST && performance.mark('routeChange'),
-                                (v = i.shallow),
-                                (m = { shallow: void 0 !== v && v }),
-                                this._inFlightRoute &&
-                                  this.abortComponentLoad(this._inFlightRoute, m),
-                                (a = k(x(P(a) ? L(a) : a, i.locale, this.defaultLocale))),
-                                (w = S(P(a) ? L(a) : a, this.locale)),
-                                (this._inFlightRoute = a),
-                                i._h || !this.onlyAHashChange(w))
-                              ) {
-                                t.next = 34
-                                break
-                              }
-                              return (
-                                (this.asPath = w),
-                                e.events.emit('hashChangeStart', a, m),
-                                this.changeState(r, o, a, i),
-                                this.scrollToHash(w),
-                                this.notify(this.components[this.route], null),
-                                e.events.emit('hashChangeComplete', a, m),
-                                t.abrupt('return', !0)
-                              )
-                            case 34:
-                              return (
-                                (b = (0, d.parseRelativeUrl)(o)),
-                                (_ = b.pathname),
-                                (E = b.query),
-                                (t.prev = 36),
-                                (t.next = 39),
-                                this.pageLoader.getPageList()
-                              )
-                            case 39:
-                              return (A = t.sent), (t.next = 42), (0, s.getClientBuildManifest)()
-                            case 42:
-                              ;(O = t.sent), O.__rewrites, (t.next = 50)
-                              break
-                            case 46:
-                              return (
-                                (t.prev = 46),
-                                (t.t0 = t.catch(36)),
-                                (window.location.href = a),
-                                t.abrupt('return', !1)
-                              )
-                            case 50:
-                              if (
-                                (this.urlIsNew(w) || f || (r = 'replaceState'),
-                                (N = a),
-                                (_ = _ ? (0, c.removePathTrailingSlash)(L(_)) : _),
-                                l &&
-                                  '/_error' !== _ &&
-                                  ((i._shouldResolveHref = !0),
-                                  (b.pathname = j(_, A)),
-                                  b.pathname !== _ &&
-                                    ((_ = b.pathname),
-                                    (b.pathname = k(_)),
-                                    (o = (0, h.formatWithValidation)(b)))),
-                                (D = (0, c.removePathTrailingSlash)(_)),
-                                R(a))
-                              ) {
-                                t.next = 60
-                                break
-                              }
-                              t.next = 58
-                              break
-                            case 58:
-                              return (window.location.href = a), t.abrupt('return', !1)
-                            case 60:
-                              if (((N = S(L(N), this.locale)), !(0, p.isDynamicRoute)(D))) {
-                                t.next = 76
-                                break
-                              }
-                              if (
-                                ((F = (0, d.parseRelativeUrl)(N)),
-                                (U = F.pathname),
-                                (W = (0, g.getRouteRegex)(D)),
-                                (q = (0, y.getRouteMatcher)(W)(U)),
-                                (H = (B = D === U) ? C(D, U, E) : {}),
-                                q && (!B || H.result))
-                              ) {
-                                t.next = 75
-                                break
-                              }
-                              if (
-                                !(
-                                  (G = Object.keys(W.groups).filter(function (e) {
-                                    return !E[e]
-                                  })).length > 0
-                                )
-                              ) {
-                                t.next = 73
-                                break
-                              }
-                              throw new Error(
-                                (B
-                                  ? 'The provided `href` ('
-                                      .concat(o, ') value is missing query values (')
-                                      .concat(G.join(', '), ') to be interpolated properly. ')
-                                  : 'The provided `as` value ('
-                                      .concat(U, ') is incompatible with the `href` value (')
-                                      .concat(D, '). ')) +
-                                  'Read more: https://nextjs.org/docs/messages/'.concat(
-                                    B ? 'href-interpolation-failed' : 'incompatible-href-as',
-                                  ),
-                              )
-                            case 73:
-                              t.next = 76
-                              break
-                            case 75:
-                              B
-                                ? (a = (0, h.formatWithValidation)(
-                                    Object.assign({}, F, {
-                                      pathname: H.result,
-                                      query: T(E, H.params),
-                                    }),
-                                  ))
-                                : Object.assign(E, q)
-                            case 76:
-                              return (
-                                e.events.emit('routeChangeStart', a, m),
-                                (t.prev = 77),
-                                (t.next = 80),
-                                this.getRouteInfo(D, _, E, a, N, m)
-                              )
-                            case 80:
-                              if (
-                                (($ = t.sent),
-                                (Y = (Q = $).error),
-                                (K = Q.props),
-                                (J = Q.__N_SSG),
-                                (Z = Q.__N_SSP),
-                                (!J && !Z) || !K)
-                              ) {
-                                t.next = 106
-                                break
-                              }
-                              if (!K.pageProps || !K.pageProps.__N_REDIRECT) {
-                                t.next = 92
-                                break
-                              }
-                              if (!(ee = K.pageProps.__N_REDIRECT).startsWith('/')) {
-                                t.next = 90
-                                break
-                              }
-                              return (
-                                ((te = (0, d.parseRelativeUrl)(ee)).pathname = j(te.pathname, A)),
-                                (re = I(this, ee, ee)),
-                                (ne = re.url),
-                                (oe = re.as),
-                                t.abrupt('return', this.change(r, ne, oe, i))
-                              )
-                            case 90:
-                              return (
-                                (window.location.href = ee),
-                                t.abrupt('return', new Promise(function () {}))
-                              )
-                            case 92:
-                              if (((this.isPreview = !!K.__N_PREVIEW), K.notFound !== M)) {
-                                t.next = 106
-                                break
-                              }
-                              return (t.prev = 94), (t.next = 97), this.fetchComponent('/404')
-                            case 97:
-                              ;(ae = '/404'), (t.next = 103)
-                              break
-                            case 100:
-                              ;(t.prev = 100), (t.t1 = t.catch(94)), (ae = '/_error')
-                            case 103:
-                              return (
-                                (t.next = 105), this.getRouteInfo(ae, ae, E, a, N, { shallow: !1 })
-                              )
-                            case 105:
-                              $ = t.sent
-                            case 106:
-                              return (
-                                e.events.emit('beforeHistoryChange', a, m),
-                                this.changeState(r, o, a, i),
-                                i._h &&
-                                  '/_error' === _ &&
-                                  500 ===
-                                    (null == (V = self.__NEXT_DATA__.props) ||
-                                    null == (X = V.pageProps)
-                                      ? void 0
-                                      : X.statusCode) &&
-                                  null != K &&
-                                  K.pageProps &&
-                                  (K.pageProps.statusCode = 500),
-                                (ie = i.shallow && this.route === D),
-                                (ue = null != (z = i.scroll) ? z : !ie),
-                                (ce = ue ? { x: 0, y: 0 } : null),
-                                (t.next = 115),
-                                this.set(D, _, E, w, $, null != u ? u : ce).catch(function (e) {
-                                  if (!e.cancelled) throw e
-                                  Y = Y || e
-                                })
-                              )
-                            case 115:
-                              if (!Y) {
-                                t.next = 118
-                                break
-                              }
-                              throw (e.events.emit('routeChangeError', Y, w, m), Y)
-                            case 118:
-                              return (
-                                e.events.emit('routeChangeComplete', a, m), t.abrupt('return', !0)
-                              )
-                            case 123:
-                              if (((t.prev = 123), (t.t2 = t.catch(77)), !t.t2.cancelled)) {
-                                t.next = 127
-                                break
-                              }
-                              return t.abrupt('return', !1)
-                            case 127:
-                              throw t.t2
-                            case 128:
-                            case 'end':
-                              return t.stop()
-                          }
-                      },
-                      t,
-                      this,
-                      [
-                        [36, 46],
-                        [77, 123],
-                        [94, 100],
-                      ],
-                    )
-                  }),
-                )
-                return function (e, r, n, o, a) {
-                  return t.apply(this, arguments)
-                }
-              })(),
-            },
-            {
-              key: 'changeState',
-              value: function (e, t, r) {
-                var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}
-                ;('pushState' === e && (0, h.getURL)() === r) ||
-                  ((this._shallow = n.shallow),
-                  window.history[e](
-                    {
-                      url: t,
-                      as: r,
-                      options: n,
-                      __N: !0,
-                      idx: (this._idx = 'pushState' !== e ? this._idx : this._idx + 1),
-                    },
-                    '',
-                    r,
-                  ))
-              },
-            },
-            {
-              key: 'handleRouteInfoError',
-              value: (function () {
-                var t = o(
-                  n.mark(function t(r, o, a, i, u, c) {
-                    var l, f, h, p
-                    return n.wrap(
-                      function (t) {
-                        for (;;)
-                          switch ((t.prev = t.next)) {
-                            case 0:
-                              if (!r.cancelled) {
-                                t.next = 2
-                                break
-                              }
-                              throw r
-                            case 2:
-                              if (!(0, s.isAssetError)(r) && !c) {
-                                t.next = 6
-                                break
-                              }
-                              throw (
-                                (e.events.emit('routeChangeError', r, i, u),
-                                (window.location.href = i),
-                                b())
-                              )
-                            case 6:
-                              if (
-                                ((t.prev = 6), 'undefined' !== typeof l && 'undefined' !== typeof f)
-                              ) {
-                                t.next = 14
-                                break
-                              }
-                              return (t.next = 11), this.fetchComponent('/_error')
-                            case 11:
-                              ;(h = t.sent), (l = h.page), (f = h.styleSheets)
-                            case 14:
-                              if (
-                                (p = {
-                                  props: undefined,
-                                  Component: l,
-                                  styleSheets: f,
-                                  err: r,
-                                  error: r,
-                                }).props
-                              ) {
-                                t.next = 26
-                                break
-                              }
-                              return (
-                                (t.prev = 16),
-                                (t.next = 19),
-                                this.getInitialProps(l, { err: r, pathname: o, query: a })
-                              )
-                            case 19:
-                              ;(p.props = t.sent), (t.next = 26)
-                              break
-                            case 22:
-                              ;(t.prev = 22),
-                                (t.t0 = t.catch(16)),
-                                console.error('Error in error page `getInitialProps`: ', t.t0),
-                                (p.props = {})
-                            case 26:
-                              return t.abrupt('return', p)
-                            case 29:
-                              return (
-                                (t.prev = 29),
-                                (t.t1 = t.catch(6)),
-                                t.abrupt('return', this.handleRouteInfoError(t.t1, o, a, i, u, !0))
-                              )
-                            case 32:
-                            case 'end':
-                              return t.stop()
-                          }
-                      },
-                      t,
-                      this,
-                      [
-                        [6, 29],
-                        [16, 22],
-                      ],
-                    )
-                  }),
-                )
-                return function (e, r, n, o, a, i) {
-                  return t.apply(this, arguments)
-                }
-              })(),
-            },
-            {
-              key: 'getRouteInfo',
-              value: (function () {
-                var e = o(
-                  n.mark(function e(t, r, o, a, i, u) {
-                    var c,
-                      s,
-                      l,
-                      f,
-                      p,
-                      d,
-                      v,
-                      m,
-                      y = this
-                    return n.wrap(
-                      function (e) {
-                        for (;;)
-                          switch ((e.prev = e.next)) {
-                            case 0:
-                              if (
-                                ((e.prev = 0),
-                                (c = this.components[t]),
-                                !u.shallow || !c || this.route !== t)
-                              ) {
-                                e.next = 4
-                                break
-                              }
-                              return e.abrupt('return', c)
-                            case 4:
-                              if (!(s = c && 'initial' in c ? void 0 : c)) {
-                                e.next = 9
-                                break
-                              }
-                              ;(e.t0 = s), (e.next = 12)
-                              break
-                            case 9:
-                              return (
-                                (e.next = 11),
-                                this.fetchComponent(t).then(function (e) {
-                                  return {
-                                    Component: e.page,
-                                    styleSheets: e.styleSheets,
-                                    __N_SSG: e.mod.__N_SSG,
-                                    __N_SSP: e.mod.__N_SSP,
-                                  }
-                                })
-                              )
-                            case 11:
-                              e.t0 = e.sent
-                            case 12:
-                              ;(l = e.t0),
-                                (f = l.Component),
-                                (p = l.__N_SSG),
-                                (d = l.__N_SSP),
-                                (e.next = 18)
-                              break
-                            case 18:
-                              return (
-                                (p || d) &&
-                                  (v = this.pageLoader.getDataHref(
-                                    (0, h.formatWithValidation)({ pathname: r, query: o }),
-                                    i,
-                                    p,
-                                    this.locale,
-                                  )),
-                                (e.next = 21),
-                                this._getData(function () {
-                                  return p
-                                    ? y._getStaticData(v)
-                                    : d
-                                    ? y._getServerData(v)
-                                    : y.getInitialProps(f, {
-                                        pathname: r,
-                                        query: o,
-                                        asPath: a,
-                                        locale: y.locale,
-                                        locales: y.locales,
-                                        defaultLocale: y.defaultLocale,
-                                      })
-                                })
-                              )
-                            case 21:
-                              return (
-                                (m = e.sent),
-                                (l.props = m),
-                                (this.components[t] = l),
-                                e.abrupt('return', l)
-                              )
-                            case 27:
-                              return (
-                                (e.prev = 27),
-                                (e.t1 = e.catch(0)),
-                                e.abrupt('return', this.handleRouteInfoError(e.t1, r, o, a, u))
-                              )
-                            case 30:
-                            case 'end':
-                              return e.stop()
-                          }
-                      },
-                      e,
-                      this,
-                      [[0, 27]],
-                    )
-                  }),
-                )
-                return function (t, r, n, o, a, i) {
-                  return e.apply(this, arguments)
-                }
-              })(),
-            },
-            {
-              key: 'set',
-              value: function (e, t, r, n, o, a) {
-                return (
-                  (this.isFallback = !1),
-                  (this.route = e),
-                  (this.pathname = t),
-                  (this.query = r),
-                  (this.asPath = n),
-                  this.notify(o, a)
-                )
-              },
-            },
-            {
-              key: 'beforePopState',
-              value: function (e) {
-                this._bps = e
-              },
-            },
-            {
-              key: 'onlyAHashChange',
-              value: function (e) {
-                if (!this.asPath) return !1
-                var t = this.asPath.split('#'),
-                  r = u(t, 2),
-                  n = r[0],
-                  o = r[1],
-                  a = e.split('#'),
-                  i = u(a, 2),
-                  c = i[0],
-                  s = i[1]
-                return !(!s || n !== c || o !== s) || (n === c && o !== s)
-              },
-            },
-            {
-              key: 'scrollToHash',
-              value: function (e) {
-                var t = e.split('#'),
-                  r = u(t, 2)[1]
-                if ('' !== r && 'top' !== r) {
-                  var n = document.getElementById(r)
-                  if (n) n.scrollIntoView()
-                  else {
-                    var o = document.getElementsByName(r)[0]
-                    o && o.scrollIntoView()
-                  }
-                } else window.scrollTo(0, 0)
-              },
-            },
-            {
-              key: 'urlIsNew',
-              value: function (e) {
-                return this.asPath !== e
-              },
-            },
-            {
-              key: 'prefetch',
-              value: (function () {
-                var e = o(
-                  n.mark(function e(t) {
-                    var r,
-                      o,
-                      a,
-                      i,
-                      u,
-                      s,
-                      l,
-                      f,
-                      p,
-                      v,
-                      y = this,
-                      g = arguments
-                    return n.wrap(
-                      function (e) {
-                        for (;;)
-                          switch ((e.prev = e.next)) {
-                            case 0:
-                              return (
-                                (r = g.length > 1 && void 0 !== g[1] ? g[1] : t),
-                                (o = g.length > 2 && void 0 !== g[2] ? g[2] : {}),
-                                (a = (0, d.parseRelativeUrl)(t)),
-                                (i = a.pathname),
-                                (e.next = 7),
-                                this.pageLoader.getPageList()
-                              )
-                            case 7:
-                              ;(u = e.sent), (s = r), (e.next = 19)
-                              break
-                            case 12:
-                              ;(f = e.sent),
-                                (l = f.__rewrites),
-                                (p = (0, m.default)(
-                                  k(x(r, this.locale)),
-                                  u,
-                                  l,
-                                  a.query,
-                                  function (e) {
-                                    return j(e, u)
-                                  },
-                                  this.locales,
-                                )),
-                                (s = S(L(p.asPath), this.locale)),
-                                p.matchedPage &&
-                                  p.resolvedHref &&
-                                  ((i = p.resolvedHref),
-                                  (a.pathname = i),
-                                  (t = (0, h.formatWithValidation)(a))),
-                                (e.next = 21)
-                              break
-                            case 19:
-                              ;(a.pathname = j(a.pathname, u)),
-                                a.pathname !== i &&
-                                  ((i = a.pathname),
-                                  (a.pathname = i),
-                                  (t = (0, h.formatWithValidation)(a)))
-                            case 21:
-                              ;(v = (0, c.removePathTrailingSlash)(i)), (e.next = 24)
-                              break
-                            case 24:
-                              return (
-                                (e.next = 26),
-                                Promise.all([
-                                  this.pageLoader._isSsg(v).then(function (e) {
-                                    return (
-                                      !!e &&
-                                      y._getStaticData(
-                                        y.pageLoader.getDataHref(
-                                          t,
-                                          s,
-                                          !0,
-                                          'undefined' !== typeof o.locale ? o.locale : y.locale,
-                                        ),
-                                      )
-                                    )
-                                  }),
-                                  this.pageLoader[o.priority ? 'loadPage' : 'prefetch'](v),
-                                ])
-                              )
-                            case 26:
-                            case 'end':
-                              return e.stop()
-                          }
-                      },
-                      e,
-                      this,
-                    )
-                  }),
-                )
-                return function (t) {
-                  return e.apply(this, arguments)
-                }
-              })(),
-            },
-            {
-              key: 'fetchComponent',
-              value: (function () {
-                var e = o(
-                  n.mark(function e(t) {
-                    var r, o, a, i
-                    return n.wrap(
-                      function (e) {
-                        for (;;)
-                          switch ((e.prev = e.next)) {
-                            case 0:
-                              return (
-                                (r = !1),
-                                (o = this.clc =
-                                  function () {
-                                    r = !0
-                                  }),
-                                (e.next = 4),
-                                this.pageLoader.loadPage(t)
-                              )
-                            case 4:
-                              if (((a = e.sent), !r)) {
-                                e.next = 9
-                                break
-                              }
-                              throw (
-                                (((i = new Error(
-                                  'Abort fetching component for route: "'.concat(t, '"'),
-                                )).cancelled = !0),
-                                i)
-                              )
-                            case 9:
-                              return o === this.clc && (this.clc = null), e.abrupt('return', a)
-                            case 11:
-                            case 'end':
-                              return e.stop()
-                          }
-                      },
-                      e,
-                      this,
-                    )
-                  }),
-                )
-                return function (t) {
-                  return e.apply(this, arguments)
-                }
-              })(),
-            },
-            {
-              key: '_getData',
-              value: function (e) {
-                var t = this,
-                  r = !1,
-                  n = function () {
-                    r = !0
-                  }
-                return (
-                  (this.clc = n),
-                  e().then(function (e) {
-                    if ((n === t.clc && (t.clc = null), r)) {
-                      var o = new Error('Loading initial props cancelled')
-                      throw ((o.cancelled = !0), o)
-                    }
-                    return e
-                  })
-                )
-              },
-            },
-            {
-              key: '_getStaticData',
-              value: function (e) {
-                var t = this,
-                  r = new URL(e, window.location.href).href
-                return !this.isPreview && this.sdc[r]
-                  ? Promise.resolve(this.sdc[r])
-                  : D(e, this.isSsr).then(function (e) {
-                      return (t.sdc[r] = e), e
-                    })
-              },
-            },
-            {
-              key: '_getServerData',
-              value: function (e) {
-                var t = this,
-                  r = new URL(e, window.location.href).href
-                return this.sdr[r]
-                  ? this.sdr[r]
-                  : (this.sdr[r] = D(e, this.isSsr)
-                      .then(function (e) {
-                        return delete t.sdr[r], e
-                      })
-                      .catch(function (e) {
-                        throw (delete t.sdr[r], e)
-                      }))
-              },
-            },
-            {
-              key: 'getInitialProps',
-              value: function (e, t) {
-                var r = this.components['/_app'].Component,
-                  n = this._wrapApp(r)
-                return (
-                  (t.AppTree = n),
-                  (0, h.loadGetInitialProps)(r, { AppTree: n, Component: e, router: this, ctx: t })
-                )
-              },
-            },
-            {
-              key: 'abortComponentLoad',
-              value: function (t, r) {
-                this.clc &&
-                  (e.events.emit('routeChangeError', b(), t, r), this.clc(), (this.clc = null))
-              },
-            },
-            {
-              key: 'notify',
-              value: function (e, t) {
-                return this.sub(e, this.components['/_app'].Component, t)
-              },
-            },
-          ]),
-          e
-        )
-      })()
-      ;(t.default = F), (F.events = (0, f.default)())
-    },
-    62960: function (e, t, r) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.formatUrl = function (e) {
-          var t = e.auth,
-            r = e.hostname,
-            o = e.protocol || '',
-            i = e.pathname || '',
-            u = e.hash || '',
-            c = e.query || '',
-            s = !1
-          ;(t = t ? encodeURIComponent(t).replace(/%3A/i, ':') + '@' : ''),
-            e.host
-              ? (s = t + e.host)
-              : r &&
-                ((s = t + (~r.indexOf(':') ? '['.concat(r, ']') : r)),
-                e.port && (s += ':' + e.port))
-          c && 'object' === typeof c && (c = String(n.urlQueryToSearchParams(c)))
-          var l = e.search || (c && '?'.concat(c)) || ''
-          o && ':' !== o.substr(-1) && (o += ':')
-          e.slashes || ((!o || a.test(o)) && !1 !== s)
-            ? ((s = '//' + (s || '')), i && '/' !== i[0] && (i = '/' + i))
-            : s || (s = '')
-          u && '#' !== u[0] && (u = '#' + u)
-          l && '?' !== l[0] && (l = '?' + l)
-          return (
-            (i = i.replace(/[?#]/g, encodeURIComponent)),
-            (l = l.replace('#', '%23')),
-            ''.concat(o).concat(s).concat(i).concat(l).concat(u)
-          )
-        })
-      var n = (function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== typeof e && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var r = {},
-          n = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var a in e)
-          if (Object.prototype.hasOwnProperty.call(e, a)) {
-            var i = n ? Object.getOwnPropertyDescriptor(e, a) : null
-            i && (i.get || i.set) ? Object.defineProperty(r, a, i) : (r[a] = e[a])
-          }
-        ;(r.default = e), t && t.set(e, r)
-        return r
-      })(r(68187))
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      var a = /https?|ftp|gopher|file/
-    },
-    75292: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.default = function (e) {
-          var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '',
-            r = '/' === e ? '/index' : /^\/index(\/|$)/.test(e) ? '/index'.concat(e) : ''.concat(e)
-          return r + t
-        })
-    },
-    88073: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.isDynamicRoute = function (e) {
-          return r.test(e)
-        })
-      var r = /\/\[[^/]+?\](?=\/|$)/
-    },
-    53900: function (e, t, r) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.parseRelativeUrl = function (e, t) {
-          var r = new URL((0, n.getLocationOrigin)()),
-            a = t ? new URL(t, r) : r,
-            i = new URL(e, a),
-            u = i.pathname,
-            c = i.searchParams,
-            s = i.search,
-            l = i.hash,
-            f = i.href
-          if (i.origin !== r.origin)
-            throw new Error('invariant: invalid relative URL, router received '.concat(e))
-          return {
-            pathname: u,
-            query: (0, o.searchParamsToUrlQuery)(c),
-            search: s,
-            hash: l,
-            href: f.slice(r.origin.length),
-          }
-        })
-      var n = r(24755),
-        o = r(68187)
-    },
-    68187: function (e, t, r) {
-      'use strict'
-      var n = r(53848)
-      function o(e) {
-        return 'string' === typeof e ||
-          ('number' === typeof e && !isNaN(e)) ||
-          'boolean' === typeof e
-          ? String(e)
-          : ''
-      }
-      ;(t.__esModule = !0),
-        (t.searchParamsToUrlQuery = function (e) {
-          var t = {}
-          return (
-            e.forEach(function (e, r) {
-              'undefined' === typeof t[r]
-                ? (t[r] = e)
-                : Array.isArray(t[r])
-                ? t[r].push(e)
-                : (t[r] = [t[r], e])
-            }),
-            t
-          )
-        }),
-        (t.urlQueryToSearchParams = function (e) {
-          var t = new URLSearchParams()
-          return (
-            Object.entries(e).forEach(function (e) {
-              var r = n(e, 2),
-                a = r[0],
-                i = r[1]
-              Array.isArray(i)
-                ? i.forEach(function (e) {
-                    return t.append(a, o(e))
-                  })
-                : t.set(a, o(i))
-            }),
-            t
-          )
-        }),
-        (t.assign = function (e) {
-          for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
-            r[n - 1] = arguments[n]
-          return (
-            r.forEach(function (t) {
-              Array.from(t.keys()).forEach(function (t) {
-                return e.delete(t)
-              }),
-                t.forEach(function (t, r) {
-                  return e.append(r, t)
-                })
-            }),
-            e
-          )
-        })
-    },
-    98085: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.getRouteMatcher = function (e) {
-          var t = e.re,
-            r = e.groups
-          return function (e) {
-            var n = t.exec(e)
-            if (!n) return !1
-            var o = function (e) {
-                try {
-                  return decodeURIComponent(e)
-                } catch (_) {
-                  var t = new Error('failed to decode param')
-                  throw ((t.code = 'DECODE_FAILED'), t)
-                }
-              },
-              a = {}
-            return (
-              Object.keys(r).forEach(function (e) {
-                var t = r[e],
-                  i = n[t.pos]
-                void 0 !== i &&
-                  (a[e] = ~i.indexOf('/')
-                    ? i.split('/').map(function (e) {
-                        return o(e)
-                      })
-                    : t.repeat
-                    ? [o(i)]
-                    : o(i))
-              }),
-              a
-            )
-          }
-        })
-    },
-    44550: function (e, t) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.getRouteRegex = function (e) {
-          var t = (e.replace(/\/$/, '') || '/').slice(1).split('/'),
-            r = {},
-            n = 1,
-            o = t
-              .map(function (e) {
-                if (e.startsWith('[') && e.endsWith(']')) {
-                  var t = (function (e) {
-                      var t = e.startsWith('[') && e.endsWith(']')
-                      t && (e = e.slice(1, -1))
-                      var r = e.startsWith('...')
-                      r && (e = e.slice(3))
-                      return { key: e, repeat: r, optional: t }
-                    })(e.slice(1, -1)),
-                    o = t.key,
-                    a = t.optional,
-                    i = t.repeat
-                  return (
-                    (r[o] = { pos: n++, repeat: i, optional: a }),
-                    i ? (a ? '(?:/(.+?))?' : '/(.+?)') : '/([^/]+?)'
-                  )
-                }
-                return '/'.concat(e.replace(/[|\\{}()[\]^$+*?.-]/g, '\\$&'))
-              })
-              .join('')
-          0
-          return { re: new RegExp('^'.concat(o, '(?:/)?$')), groups: r }
-        })
-    },
-    53584: function (e, t) {
-      'use strict'
-      var r
-      ;(t.__esModule = !0),
-        (t.setConfig = function (e) {
-          r = e
-        }),
-        (t.default = void 0)
-      t.default = function () {
-        return r
-      }
-    },
-    24755: function (e, t, r) {
-      'use strict'
-      var n = r(809),
-        o = r(38561)
-      ;(t.__esModule = !0),
-        (t.execOnce = function (e) {
-          var t,
-            r = !1
-          return function () {
-            return r || ((r = !0), (t = e.apply(void 0, arguments))), t
-          }
-        }),
-        (t.getLocationOrigin = i),
-        (t.getURL = function () {
-          var e = window.location.href,
-            t = i()
-          return e.substring(t.length)
-        }),
-        (t.getDisplayName = u),
-        (t.isResSent = c),
-        (t.loadGetInitialProps = s),
-        (t.formatWithValidation = function (e) {
-          0
-          return (0, a.formatUrl)(e)
-        }),
-        (t.ST = t.SP = t.urlObjectKeys = void 0)
-      var a = r(62960)
-      function i() {
-        var e = window.location,
-          t = e.protocol,
-          r = e.hostname,
-          n = e.port
-        return ''
-          .concat(t, '//')
-          .concat(r)
-          .concat(n ? ':' + n : '')
-      }
-      function u(e) {
-        return 'string' === typeof e ? e : e.displayName || e.name || 'Unknown'
-      }
-      function c(e) {
-        return e.finished || e.headersSent
-      }
-      function s(e, t) {
-        return l.apply(this, arguments)
-      }
-      function l() {
-        return (l = o(
-          n.mark(function e(t, r) {
-            var o, a, i
-            return n.wrap(function (e) {
-              for (;;)
-                switch ((e.prev = e.next)) {
-                  case 0:
-                    e.next = 4
-                    break
-                  case 4:
-                    if (((o = r.res || (r.ctx && r.ctx.res)), t.getInitialProps)) {
-                      e.next = 12
-                      break
-                    }
-                    if (!r.ctx || !r.Component) {
-                      e.next = 11
-                      break
-                    }
-                    return (e.next = 9), s(r.Component, r.ctx)
-                  case 9:
-                    return (e.t0 = e.sent), e.abrupt('return', { pageProps: e.t0 })
-                  case 11:
-                    return e.abrupt('return', {})
-                  case 12:
-                    return (e.next = 14), t.getInitialProps(r)
-                  case 14:
-                    if (((a = e.sent), !o || !c(o))) {
-                      e.next = 17
-                      break
-                    }
-                    return e.abrupt('return', a)
-                  case 17:
-                    if (a) {
-                      e.next = 20
-                      break
-                    }
-                    throw (
-                      ((i = '"'
-                        .concat(
-                          u(t),
-                          '.getInitialProps()" should resolve to an object. But found "',
-                        )
-                        .concat(a, '" instead.')),
-                      new Error(i))
-                    )
-                  case 20:
-                    return e.abrupt('return', a)
-                  case 22:
-                  case 'end':
-                    return e.stop()
-                }
-            }, e)
-          }),
-        )).apply(this, arguments)
-      }
-      t.urlObjectKeys = [
-        'auth',
-        'hash',
-        'host',
-        'hostname',
-        'href',
-        'path',
-        'pathname',
-        'port',
-        'protocol',
-        'query',
-        'search',
-        'slashes',
-      ]
-      var f = 'undefined' !== typeof performance
-      t.SP = f
-      var h =
-        f && 'function' === typeof performance.mark && 'function' === typeof performance.measure
-      t.ST = h
-    },
-    96086: function (e) {
-      'use strict'
-      var t = Object.assign.bind(Object)
-      ;(e.exports = t), (e.exports.default = e.exports)
-    },
-    5866: function (e) {
-      e.exports = (function () {
-        var e = {
-            599: function (e, t) {
-              !(function (e) {
-                'use strict'
-                var t,
-                  r,
-                  n = function () {
-                    return ''
-                      .concat(Date.now(), '-')
-                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12)
-                  },
-                  o = function (e) {
-                    return {
-                      name: e,
-                      value: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1,
-                      delta: 0,
-                      entries: [],
-                      id: n(),
-                      isFinal: !1,
-                    }
-                  },
-                  a = function (e, t) {
-                    try {
-                      if (PerformanceObserver.supportedEntryTypes.includes(e)) {
-                        var r = new PerformanceObserver(function (e) {
-                          return e.getEntries().map(t)
-                        })
-                        return r.observe({ type: e, buffered: !0 }), r
-                      }
-                    } catch (e) {}
-                  },
-                  i = !1,
-                  u = !1,
-                  c = function (e) {
-                    i = !e.persisted
-                  },
-                  s = function () {
-                    addEventListener('pagehide', c),
-                      addEventListener('beforeunload', function () {})
-                  },
-                  l = function (e) {
-                    var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]
-                    u || (s(), (u = !0)),
-                      addEventListener(
-                        'visibilitychange',
-                        function (t) {
-                          var r = t.timeStamp
-                          'hidden' === document.visibilityState &&
-                            e({ timeStamp: r, isUnloading: i })
-                        },
-                        { capture: !0, once: t },
-                      )
-                  },
-                  f = function (e, t, r, n) {
-                    var o
-                    return function () {
-                      r && t.isFinal && r.disconnect(),
-                        t.value >= 0 &&
-                          (n || t.isFinal || 'hidden' === document.visibilityState) &&
-                          ((t.delta = t.value - (o || 0)),
-                          (t.delta || t.isFinal || void 0 === o) && (e(t), (o = t.value)))
-                    }
-                  },
-                  h = function () {
-                    return (
-                      void 0 === t &&
-                        ((t = 'hidden' === document.visibilityState ? 0 : 1 / 0),
-                        l(function (e) {
-                          var r = e.timeStamp
-                          return (t = r)
-                        }, !0)),
-                      {
-                        get timeStamp() {
-                          return t
-                        },
-                      }
-                    )
-                  },
-                  p = function () {
-                    return (
-                      r ||
-                        (r = new Promise(function (e) {
-                          return ['scroll', 'keydown', 'pointerdown'].map(function (t) {
-                            addEventListener(t, e, { once: !0, passive: !0, capture: !0 })
-                          })
-                        })),
-                      r
-                    )
-                  }
-                ;(e.getCLS = function (e) {
-                  var t,
-                    r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-                    n = o('CLS', 0),
-                    i = function (e) {
-                      e.hadRecentInput || ((n.value += e.value), n.entries.push(e), t())
-                    },
-                    u = a('layout-shift', i)
-                  u &&
-                    ((t = f(e, n, u, r)),
-                    l(function (e) {
-                      var r = e.isUnloading
-                      u.takeRecords().map(i), r && (n.isFinal = !0), t()
-                    }))
-                }),
-                  (e.getFCP = function (e) {
-                    var t,
-                      r = o('FCP'),
-                      n = h(),
-                      i = a('paint', function (e) {
-                        'first-contentful-paint' === e.name &&
-                          e.startTime < n.timeStamp &&
-                          ((r.value = e.startTime), (r.isFinal = !0), r.entries.push(e), t())
-                      })
-                    i && (t = f(e, r, i))
-                  }),
-                  (e.getFID = function (e) {
-                    var t = o('FID'),
-                      r = h(),
-                      n = function (e) {
-                        e.startTime < r.timeStamp &&
-                          ((t.value = e.processingStart - e.startTime),
-                          t.entries.push(e),
-                          (t.isFinal = !0),
-                          u())
-                      },
-                      i = a('first-input', n),
-                      u = f(e, t, i)
-                    i
-                      ? l(function () {
-                          i.takeRecords().map(n), i.disconnect()
-                        }, !0)
-                      : window.perfMetrics &&
-                        window.perfMetrics.onFirstInputDelay &&
-                        window.perfMetrics.onFirstInputDelay(function (e, n) {
-                          n.timeStamp < r.timeStamp &&
-                            ((t.value = e),
-                            (t.isFinal = !0),
-                            (t.entries = [
-                              {
-                                entryType: 'first-input',
-                                name: n.type,
-                                target: n.target,
-                                cancelable: n.cancelable,
-                                startTime: n.timeStamp,
-                                processingStart: n.timeStamp + e,
-                              },
-                            ]),
-                            u())
-                        })
-                  }),
-                  (e.getLCP = function (e) {
-                    var t,
-                      r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-                      n = o('LCP'),
-                      i = h(),
-                      u = function (e) {
-                        var r = e.startTime
-                        r < i.timeStamp ? ((n.value = r), n.entries.push(e)) : (n.isFinal = !0), t()
-                      },
-                      c = a('largest-contentful-paint', u)
-                    if (c) {
-                      t = f(e, n, c, r)
-                      var s = function () {
-                        n.isFinal || (c.takeRecords().map(u), (n.isFinal = !0), t())
-                      }
-                      p().then(s), l(s, !0)
-                    }
-                  }),
-                  (e.getTTFB = function (e) {
-                    var t,
-                      r = o('TTFB')
-                    ;(t = function () {
-                      try {
-                        var t =
-                          performance.getEntriesByType('navigation')[0] ||
-                          (function () {
-                            var e = performance.timing,
-                              t = { entryType: 'navigation', startTime: 0 }
-                            for (var r in e)
-                              'navigationStart' !== r &&
-                                'toJSON' !== r &&
-                                (t[r] = Math.max(e[r] - e.navigationStart, 0))
-                            return t
-                          })()
-                        ;(r.value = r.delta = t.responseStart),
-                          (r.entries = [t]),
-                          (r.isFinal = !0),
-                          e(r)
-                      } catch (e) {}
-                    }),
-                      'complete' === document.readyState
-                        ? setTimeout(t, 0)
-                        : addEventListener('pageshow', t)
-                  }),
-                  Object.defineProperty(e, '__esModule', { value: !0 })
-              })(t)
-            },
-          },
-          t = {}
-        function r(n) {
-          if (t[n]) return t[n].exports
-          var o = (t[n] = { exports: {} }),
-            a = !0
-          try {
-            e[n].call(o.exports, o, o.exports, r), (a = !1)
-          } finally {
-            a && delete t[n]
-          }
-          return o.exports
-        }
-        return (r.ab = '//'), r(599)
-      })()
-    },
-    89320: function (e, t) {
-      'use strict'
-      function r(e) {
-        return e.replace(/\\/g, '/')
-      }
-      ;(t.__esModule = !0),
-        (t.normalizePathSep = r),
-        (t.denormalizePagePath = function (e) {
-          ;(e = r(e)).startsWith('/index/') ? (e = e.slice(6)) : '/index' === e && (e = '/')
-          return e
-        })
-    },
-    54360: function (e) {
-      e.exports = function (e, t) {
-        ;(null == t || t > e.length) && (t = e.length)
-        for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]
-        return n
-      }
-    },
-    96648: function (e) {
-      e.exports = function (e) {
-        if (Array.isArray(e)) return e
-      }
-    },
-    50450: function (e) {
-      e.exports = function (e) {
-        if (void 0 === e)
-          throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
-        return e
-      }
-    },
-    38561: function (e) {
-      function t(e, t, r, n, o, a, i) {
-        try {
-          var u = e[a](i),
-            c = u.value
-        } catch (s) {
-          return void r(s)
-        }
-        u.done ? t(c) : Promise.resolve(c).then(n, o)
-      }
-      e.exports = function (e) {
-        return function () {
-          var r = this,
-            n = arguments
-          return new Promise(function (o, a) {
-            var i = e.apply(r, n)
-            function u(e) {
-              t(i, o, a, u, c, 'next', e)
-            }
-            function c(e) {
-              t(i, o, a, u, c, 'throw', e)
-            }
-            u(void 0)
-          })
-        }
-      }
-    },
-    2553: function (e) {
-      e.exports = function (e, t) {
-        if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
-      }
-    },
-    41280: function (e, t, r) {
-      var n = r(21914),
-        o = r(78898)
-      function a(t, r, i) {
-        return (
-          o()
-            ? (e.exports = a = Reflect.construct)
-            : (e.exports = a =
-                function (e, t, r) {
-                  var o = [null]
-                  o.push.apply(o, t)
-                  var a = new (Function.bind.apply(e, o))()
-                  return r && n(a, r.prototype), a
-                }),
-          a.apply(null, arguments)
-        )
-      }
-      e.exports = a
-    },
-    62012: function (e) {
-      function t(e, t) {
-        for (var r = 0; r < t.length; r++) {
-          var n = t[r]
-          ;(n.enumerable = n.enumerable || !1),
-            (n.configurable = !0),
-            'value' in n && (n.writable = !0),
-            Object.defineProperty(e, n.key, n)
-        }
-      }
-      e.exports = function (e, r, n) {
-        return r && t(e.prototype, r), n && t(e, n), e
-      }
-    },
-    9566: function (e) {
-      function t() {
-        return (
-          (e.exports = t =
-            Object.assign ||
-            function (e) {
-              for (var t = 1; t < arguments.length; t++) {
-                var r = arguments[t]
-                for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n])
-              }
-              return e
-            }),
-          t.apply(this, arguments)
-        )
-      }
-      e.exports = t
-    },
-    99828: function (e) {
-      function t(r) {
-        return (
-          (e.exports = t =
-            Object.setPrototypeOf
-              ? Object.getPrototypeOf
-              : function (e) {
-                  return e.__proto__ || Object.getPrototypeOf(e)
-                }),
-          t(r)
-        )
-      }
-      e.exports = t
-    },
-    9807: function (e, t, r) {
-      var n = r(21914)
-      e.exports = function (e, t) {
-        if ('function' !== typeof t && null !== t)
-          throw new TypeError('Super expression must either be null or a function')
-        ;(e.prototype = Object.create(t && t.prototype, {
-          constructor: { value: e, writable: !0, configurable: !0 },
-        })),
-          t && n(e, t)
-      }
-    },
-    62426: function (e) {
-      e.exports = function (e) {
-        return e && e.__esModule ? e : { default: e }
-      }
-    },
-    69448: function (e, t, r) {
-      var n = r(87917)
-      function o() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (o = function () {
-            return e
-          }),
-          e
-        )
-      }
-      e.exports = function (e) {
-        if (e && e.__esModule) return e
-        if (null === e || ('object' !== n(e) && 'function' !== typeof e)) return { default: e }
-        var t = o()
-        if (t && t.has(e)) return t.get(e)
-        var r = {},
-          a = Object.defineProperty && Object.getOwnPropertyDescriptor
-        for (var i in e)
-          if (Object.prototype.hasOwnProperty.call(e, i)) {
-            var u = a ? Object.getOwnPropertyDescriptor(e, i) : null
-            u && (u.get || u.set) ? Object.defineProperty(r, i, u) : (r[i] = e[i])
-          }
-        return (r.default = e), t && t.set(e, r), r
-      }
-    },
-    78898: function (e) {
-      e.exports = function () {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-        } catch (e) {
-          return !1
-        }
-      }
-    },
-    56325: function (e) {
-      e.exports = function (e, t) {
-        if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) {
-          var r = [],
-            n = !0,
-            o = !1,
-            a = void 0
-          try {
-            for (
-              var i, u = e[Symbol.iterator]();
-              !(n = (i = u.next()).done) && (r.push(i.value), !t || r.length !== t);
-              n = !0
-            );
-          } catch (c) {
-            ;(o = !0), (a = c)
-          } finally {
-            try {
-              n || null == u.return || u.return()
-            } finally {
-              if (o) throw a
-            }
-          }
-          return r
-        }
-      }
-    },
-    81531: function (e) {
-      e.exports = function () {
-        throw new TypeError(
-          'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-        )
-      }
-    },
-    26169: function (e) {
-      e.exports = function (e, t) {
-        if (null == e) return {}
-        var r,
-          n,
-          o = {},
-          a = Object.keys(e)
-        for (n = 0; n < a.length; n++) (r = a[n]), t.indexOf(r) >= 0 || (o[r] = e[r])
-        return o
-      }
-    },
-    27690: function (e, t, r) {
-      var n = r(87917),
-        o = r(50450)
-      e.exports = function (e, t) {
-        return !t || ('object' !== n(t) && 'function' !== typeof t) ? o(e) : t
-      }
-    },
-    21914: function (e) {
-      function t(r, n) {
-        return (
-          (e.exports = t =
-            Object.setPrototypeOf ||
-            function (e, t) {
-              return (e.__proto__ = t), e
-            }),
-          t(r, n)
-        )
-      }
-      e.exports = t
-    },
-    53848: function (e, t, r) {
-      var n = r(96648),
-        o = r(56325),
-        a = r(73585),
-        i = r(81531)
-      e.exports = function (e, t) {
-        return n(e) || o(e, t) || a(e, t) || i()
-      }
-    },
-    87917: function (e) {
-      function t(r) {
-        return (
-          'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
-            ? (e.exports = t =
-                function (e) {
-                  return typeof e
-                })
-            : (e.exports = t =
-                function (e) {
-                  return e &&
-                    'function' === typeof Symbol &&
-                    e.constructor === Symbol &&
-                    e !== Symbol.prototype
-                    ? 'symbol'
-                    : typeof e
-                }),
-          t(r)
-        )
-      }
-      e.exports = t
-    },
-    73585: function (e, t, r) {
-      var n = r(54360)
-      e.exports = function (e, t) {
-        if (e) {
-          if ('string' === typeof e) return n(e, t)
-          var r = Object.prototype.toString.call(e).slice(8, -1)
-          return (
-            'Object' === r && e.constructor && (r = e.constructor.name),
-            'Map' === r || 'Set' === r
-              ? Array.from(e)
-              : 'Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)
-              ? n(e, t)
-              : void 0
-          )
-        }
-      }
-    },
-    809: function (e, t, r) {
-      e.exports = r(35666)
-    },
-    35666: function (e) {
-      var t = (function (e) {
-        'use strict'
-        var t,
-          r = Object.prototype,
-          n = r.hasOwnProperty,
-          o = 'function' === typeof Symbol ? Symbol : {},
-          a = o.iterator || '@@iterator',
-          i = o.asyncIterator || '@@asyncIterator',
-          u = o.toStringTag || '@@toStringTag'
-        function c(e, t, r) {
-          return (
-            Object.defineProperty(e, t, {
-              value: r,
-              enumerable: !0,
-              configurable: !0,
-              writable: !0,
-            }),
-            e[t]
-          )
-        }
-        try {
-          c({}, '')
-        } catch (A) {
-          c = function (e, t, r) {
-            return (e[t] = r)
-          }
-        }
-        function s(e, t, r, n) {
-          var o = t && t.prototype instanceof m ? t : m,
-            a = Object.create(o.prototype),
-            i = new R(n || [])
-          return (
-            (a._invoke = (function (e, t, r) {
-              var n = f
-              return function (o, a) {
-                if (n === p) throw new Error('Generator is already running')
-                if (n === d) {
-                  if ('throw' === o) throw a
-                  return T()
-                }
-                for (r.method = o, r.arg = a; ; ) {
-                  var i = r.delegate
-                  if (i) {
-                    var u = P(i, r)
-                    if (u) {
-                      if (u === v) continue
-                      return u
-                    }
-                  }
-                  if ('next' === r.method) r.sent = r._sent = r.arg
-                  else if ('throw' === r.method) {
-                    if (n === f) throw ((n = d), r.arg)
-                    r.dispatchException(r.arg)
-                  } else 'return' === r.method && r.abrupt('return', r.arg)
-                  n = p
-                  var c = l(e, t, r)
-                  if ('normal' === c.type) {
-                    if (((n = r.done ? d : h), c.arg === v)) continue
-                    return { value: c.arg, done: r.done }
-                  }
-                  'throw' === c.type && ((n = d), (r.method = 'throw'), (r.arg = c.arg))
-                }
-              }
-            })(e, r, i)),
-            a
-          )
-        }
-        function l(e, t, r) {
-          try {
-            return { type: 'normal', arg: e.call(t, r) }
-          } catch (A) {
-            return { type: 'throw', arg: A }
-          }
-        }
-        e.wrap = s
-        var f = 'suspendedStart',
-          h = 'suspendedYield',
-          p = 'executing',
-          d = 'completed',
-          v = {}
-        function m() {}
-        function y() {}
-        function g() {}
-        var w = {}
-        w[a] = function () {
-          return this
-        }
-        var b = Object.getPrototypeOf,
-          _ = b && b(b(C([])))
-        _ && _ !== r && n.call(_, a) && (w = _)
-        var x = (g.prototype = m.prototype = Object.create(w))
-        function S(e) {
-          ;['next', 'throw', 'return'].forEach(function (t) {
-            c(e, t, function (e) {
-              return this._invoke(t, e)
-            })
-          })
-        }
-        function E(e, t) {
-          function r(o, a, i, u) {
-            var c = l(e[o], e, a)
-            if ('throw' !== c.type) {
-              var s = c.arg,
-                f = s.value
-              return f && 'object' === typeof f && n.call(f, '__await')
-                ? t.resolve(f.__await).then(
-                    function (e) {
-                      r('next', e, i, u)
-                    },
-                    function (e) {
-                      r('throw', e, i, u)
-                    },
-                  )
-                : t.resolve(f).then(
-                    function (e) {
-                      ;(s.value = e), i(s)
-                    },
-                    function (e) {
-                      return r('throw', e, i, u)
-                    },
-                  )
-            }
-            u(c.arg)
-          }
-          var o
-          this._invoke = function (e, n) {
-            function a() {
-              return new t(function (t, o) {
-                r(e, n, t, o)
-              })
-            }
-            return (o = o ? o.then(a, a) : a())
-          }
-        }
-        function P(e, r) {
-          var n = e.iterator[r.method]
-          if (n === t) {
-            if (((r.delegate = null), 'throw' === r.method)) {
-              if (
-                e.iterator.return &&
-                ((r.method = 'return'), (r.arg = t), P(e, r), 'throw' === r.method)
-              )
-                return v
-              ;(r.method = 'throw'),
-                (r.arg = new TypeError("The iterator does not provide a 'throw' method"))
-            }
-            return v
-          }
-          var o = l(n, e.iterator, r.arg)
-          if ('throw' === o.type)
-            return (r.method = 'throw'), (r.arg = o.arg), (r.delegate = null), v
-          var a = o.arg
-          return a
-            ? a.done
-              ? ((r[e.resultName] = a.value),
-                (r.next = e.nextLoc),
-                'return' !== r.method && ((r.method = 'next'), (r.arg = t)),
-                (r.delegate = null),
-                v)
-              : a
-            : ((r.method = 'throw'),
-              (r.arg = new TypeError('iterator result is not an object')),
-              (r.delegate = null),
-              v)
-        }
-        function k(e) {
-          var t = { tryLoc: e[0] }
-          1 in e && (t.catchLoc = e[1]),
-            2 in e && ((t.finallyLoc = e[2]), (t.afterLoc = e[3])),
-            this.tryEntries.push(t)
-        }
-        function L(e) {
-          var t = e.completion || {}
-          ;(t.type = 'normal'), delete t.arg, (e.completion = t)
-        }
-        function R(e) {
-          ;(this.tryEntries = [{ tryLoc: 'root' }]), e.forEach(k, this), this.reset(!0)
-        }
-        function C(e) {
-          if (e) {
-            var r = e[a]
-            if (r) return r.call(e)
-            if ('function' === typeof e.next) return e
-            if (!isNaN(e.length)) {
-              var o = -1,
-                i = function r() {
-                  for (; ++o < e.length; )
-                    if (n.call(e, o)) return (r.value = e[o]), (r.done = !1), r
-                  return (r.value = t), (r.done = !0), r
-                }
-              return (i.next = i)
-            }
-          }
-          return { next: T }
-        }
-        function T() {
-          return { value: t, done: !0 }
-        }
-        return (
-          (y.prototype = x.constructor = g),
-          (g.constructor = y),
-          (y.displayName = c(g, u, 'GeneratorFunction')),
-          (e.isGeneratorFunction = function (e) {
-            var t = 'function' === typeof e && e.constructor
-            return !!t && (t === y || 'GeneratorFunction' === (t.displayName || t.name))
-          }),
-          (e.mark = function (e) {
-            return (
-              Object.setPrototypeOf
-                ? Object.setPrototypeOf(e, g)
-                : ((e.__proto__ = g), c(e, u, 'GeneratorFunction')),
-              (e.prototype = Object.create(x)),
-              e
-            )
-          }),
-          (e.awrap = function (e) {
-            return { __await: e }
-          }),
-          S(E.prototype),
-          (E.prototype[i] = function () {
-            return this
-          }),
-          (e.AsyncIterator = E),
-          (e.async = function (t, r, n, o, a) {
-            void 0 === a && (a = Promise)
-            var i = new E(s(t, r, n, o), a)
-            return e.isGeneratorFunction(r)
-              ? i
-              : i.next().then(function (e) {
-                  return e.done ? e.value : i.next()
-                })
-          }),
-          S(x),
-          c(x, u, 'Generator'),
-          (x[a] = function () {
-            return this
-          }),
-          (x.toString = function () {
-            return '[object Generator]'
-          }),
-          (e.keys = function (e) {
-            var t = []
-            for (var r in e) t.push(r)
-            return (
-              t.reverse(),
-              function r() {
-                for (; t.length; ) {
-                  var n = t.pop()
-                  if (n in e) return (r.value = n), (r.done = !1), r
-                }
-                return (r.done = !0), r
-              }
-            )
-          }),
-          (e.values = C),
-          (R.prototype = {
-            constructor: R,
-            reset: function (e) {
-              if (
-                ((this.prev = 0),
-                (this.next = 0),
-                (this.sent = this._sent = t),
-                (this.done = !1),
-                (this.delegate = null),
-                (this.method = 'next'),
-                (this.arg = t),
-                this.tryEntries.forEach(L),
-                !e)
-              )
-                for (var r in this)
-                  't' === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t)
-            },
-            stop: function () {
-              this.done = !0
-              var e = this.tryEntries[0].completion
-              if ('throw' === e.type) throw e.arg
-              return this.rval
-            },
-            dispatchException: function (e) {
-              if (this.done) throw e
-              var r = this
-              function o(n, o) {
-                return (
-                  (u.type = 'throw'),
-                  (u.arg = e),
-                  (r.next = n),
-                  o && ((r.method = 'next'), (r.arg = t)),
-                  !!o
-                )
-              }
-              for (var a = this.tryEntries.length - 1; a >= 0; --a) {
-                var i = this.tryEntries[a],
-                  u = i.completion
-                if ('root' === i.tryLoc) return o('end')
-                if (i.tryLoc <= this.prev) {
-                  var c = n.call(i, 'catchLoc'),
-                    s = n.call(i, 'finallyLoc')
-                  if (c && s) {
-                    if (this.prev < i.catchLoc) return o(i.catchLoc, !0)
-                    if (this.prev < i.finallyLoc) return o(i.finallyLoc)
-                  } else if (c) {
-                    if (this.prev < i.catchLoc) return o(i.catchLoc, !0)
-                  } else {
-                    if (!s) throw new Error('try statement without catch or finally')
-                    if (this.prev < i.finallyLoc) return o(i.finallyLoc)
-                  }
-                }
-              }
-            },
-            abrupt: function (e, t) {
-              for (var r = this.tryEntries.length - 1; r >= 0; --r) {
-                var o = this.tryEntries[r]
-                if (o.tryLoc <= this.prev && n.call(o, 'finallyLoc') && this.prev < o.finallyLoc) {
-                  var a = o
-                  break
-                }
-              }
-              a &&
-                ('break' === e || 'continue' === e) &&
-                a.tryLoc <= t &&
-                t <= a.finallyLoc &&
-                (a = null)
-              var i = a ? a.completion : {}
-              return (
-                (i.type = e),
-                (i.arg = t),
-                a ? ((this.method = 'next'), (this.next = a.finallyLoc), v) : this.complete(i)
-              )
-            },
-            complete: function (e, t) {
-              if ('throw' === e.type) throw e.arg
-              return (
-                'break' === e.type || 'continue' === e.type
-                  ? (this.next = e.arg)
-                  : 'return' === e.type
-                  ? ((this.rval = this.arg = e.arg), (this.method = 'return'), (this.next = 'end'))
-                  : 'normal' === e.type && t && (this.next = t),
-                v
-              )
-            },
-            finish: function (e) {
-              for (var t = this.tryEntries.length - 1; t >= 0; --t) {
-                var r = this.tryEntries[t]
-                if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), L(r), v
-              }
-            },
-            catch: function (e) {
-              for (var t = this.tryEntries.length - 1; t >= 0; --t) {
-                var r = this.tryEntries[t]
-                if (r.tryLoc === e) {
-                  var n = r.completion
-                  if ('throw' === n.type) {
-                    var o = n.arg
-                    L(r)
-                  }
-                  return o
-                }
-              }
-              throw new Error('illegal catch attempt')
-            },
-            delegateYield: function (e, r, n) {
-              return (
-                (this.delegate = { iterator: C(e), resultName: r, nextLoc: n }),
-                'next' === this.method && (this.arg = t),
-                v
-              )
-            },
-          }),
-          e
-        )
-      })(e.exports)
-      try {
-        regeneratorRuntime = t
-      } catch (r) {
-        Function('r', 'regeneratorRuntime = r')(t)
-      }
-    },
-    14453: function () {},
-  },
-  function (e) {
-    var t = function (t) {
-      return e((e.s = t))
-    }
-    e.O(0, [774], function () {
-      return t(59204), t(20457)
-    })
-    var r = e.O()
-    _N_E = r
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{60400:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then((function(r){return t.resolve(e()).then((function(){return r}))}),(function(r){return t.resolve(e()).then((function(){throw r}))}))})},59204:function(){"use strict";try{self["workbox:window:6.1.5"]&&_()}catch(e){}function e(e,t){return new Promise((function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])}))}function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function n(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}try{self["workbox:core:6.1.5"]&&_()}catch(e){}var o=function(){var e=this;this.promise=new Promise((function(t,r){e.resolve=t,e.reject=r}))};function a(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var i=function(e,t){this.type=e,Object.assign(this,t)};function u(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function c(){}var s={type:"SKIP_WAITING"};function l(e,t){if(!t)return e&&e.then?e.then(c):Promise.resolve()}var f=function(r){var n,c;function f(e,t){var n,c;return void 0===t&&(t={}),(n=r.call(this)||this).nn={},n.tn=0,n.rn=new o,n.en=new o,n.on=new o,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!a(t.scriptURL,n.sn)||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,o=r.state,a=r===n.vn,u={sw:r,isExternal:a,originalEvent:e};!a&&n.mn&&(u.isUpdate=!0),n.dispatchEvent(new i(o,u)),"installed"===o?n.wn=self.setTimeout((function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new i("waiting",u))}),200):"activating"===o&&(clearTimeout(n.wn),a||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new i("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},n.gn=(c=function(e){var t=e.data,r=e.source;return u(n.getSW(),(function(){n.an.has(r)&&n.dispatchEvent(new i("message",{data:t,sw:r,originalEvent:e}))}))},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(c.apply(this,e))}catch(e){return Promise.reject(e)}}),n.sn=e,n.nn=t,navigator.serviceWorker.addEventListener("message",n.gn),n}c=r,(n=f).prototype=Object.create(c.prototype),n.prototype.constructor=n,n.__proto__=c;var h,p,d=f.prototype;return d.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n=this;return function(e,t){var r=e();return r&&r.then?r.then(t):t()}((function(){if(!r&&"complete"!==document.readyState)return l(new Promise((function(e){return window.addEventListener("load",e)})))}),(function(){return n.mn=Boolean(navigator.serviceWorker.controller),n.yn=n.pn(),u(n.bn(),(function(e){n.fn=e,n.yn&&(n.hn=n.yn,n.en.resolve(n.yn),n.on.resolve(n.yn),n.yn.addEventListener("statechange",n.ln,{once:!0}));var t=n.fn.waiting;return t&&a(t.scriptURL,n.sn)&&(n.hn=t,Promise.resolve().then((function(){n.dispatchEvent(new i("waiting",{sw:t,wasWaitingBeforeRegister:!0}))})).then((function(){}))),n.hn&&(n.rn.resolve(n.hn),n.an.add(n.hn)),n.fn.addEventListener("updatefound",n.cn),navigator.serviceWorker.addEventListener("controllerchange",n.dn,{once:!0}),n.fn}))}))}catch(e){return Promise.reject(e)}},d.update=function(){try{return this.fn?l(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},d.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},d.messageSW=function(t){try{return u(this.getSW(),(function(r){return e(r,t)}))}catch(e){return Promise.reject(e)}},d.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&e(this.fn.waiting,s)},d.pn=function(){var e=navigator.serviceWorker.controller;return e&&a(e.scriptURL,this.sn)?e:void 0},d.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}((function(){return u(navigator.serviceWorker.register(e.sn,e.nn),(function(t){return e.un=performance.now(),t}))}),(function(e){throw e}))}catch(e){return Promise.reject(e)}},h=f,(p=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}])&&t(h.prototype,p),f}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=n(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());if("undefined"!==typeof window&&"serviceWorker"in navigator&&"undefined"!==typeof caches){caches.has("start-url").then((function(e){e||caches.open("start-url").then((e=>e.put("/",new Response("",{status:200}))))})),window.workbox=new f("/sw.js",{scope:"/"}),window.workbox.addEventListener("installed",(async({isUpdate:e})=>{if(!e){const e=await caches.open("start-url"),t=await fetch("/");let r=t;t.redirected&&(r=new Response(t.body,{status:200,statusText:"OK",headers:t.headers})),await e.put("/",r)}})),window.workbox.addEventListener("installed",(async()=>{const e=window.performance.getEntriesByType("resource").map((e=>e.name)).filter((e=>e.startsWith(`${window.location.origin}/_next/data/`)&&e.endsWith(".json"))),t=await caches.open("next-data");e.forEach((e=>t.add(e)))})),window.workbox.register();{const e=function(e){if(window.navigator.onLine)return"/"===e?fetch("/").then((function(e){return e.redirected?Promise.resolve():caches.open("start-url").then((t=>t.put("/",e)))})):void 0},t=history.pushState;history.pushState=function(){t.apply(history,arguments),e(arguments[2])};const r=history.replaceState;history.replaceState=function(){r.apply(history,arguments),e(arguments[2])},window.addEventListener("online",(()=>{e(window.location.pathname)}))}window.addEventListener("online",(()=>{location.reload()}))}},96792:function(e,t){"use strict";t.__esModule=!0,t.default=function(){var e=null;return{mountedInstances:new Set,updateHead:function(t){var r=e=Promise.resolve().then((function(){if(r===e){e=null;var o={};t.forEach((function(e){"link"===e.type&&e.props["data-optimized-fonts"]&&!document.querySelector('style[data-href="'.concat(e.props["data-href"],'"]'))&&(e.props.href=e.props["data-href"],e.props["data-href"]=void 0);var t=o[e.type]||[];t.push(e),o[e.type]=t}));var a=o.title?o.title[0]:null,i="";if(a){var u=a.props.children;i="string"===typeof u?u:Array.isArray(u)?u.join(""):""}i!==document.title&&(document.title=i),["meta","base","link","style","script"].forEach((function(e){!function(e,t){var r=document.getElementsByTagName("head")[0],o=r.querySelector("meta[name=next-head-count]");0;for(var a=Number(o.content),i=[],u=0,c=o.previousElementSibling;u<a;u++,c=c.previousElementSibling)c.tagName.toLowerCase()===e&&i.push(c);var s=t.map(n).filter((function(e){for(var t=0,r=i.length;t<r;t++){if(i[t].isEqualNode(e))return i.splice(t,1),!1}return!0}));i.forEach((function(e){return e.parentNode.removeChild(e)})),s.forEach((function(e){return r.insertBefore(e,o)})),o.content=(a-i.length+s.length).toString()}(e,o[e]||[])}))}}))}}},t.DOMAttributeNames=void 0;var r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"};function n(e){var t=e.type,n=e.props,o=document.createElement(t);for(var a in n)if(n.hasOwnProperty(a)&&"children"!==a&&"dangerouslySetInnerHTML"!==a&&void 0!==n[a]){var i=r[a]||a.toLowerCase();"script"!==t||"async"!==i&&"defer"!==i&&"noModule"!==i?o.setAttribute(i,n[a]):o[i]=!!n[a]}var u=n.children,c=n.dangerouslySetInnerHTML;return c?o.innerHTML=c.__html||"":u&&(o.textContent="string"===typeof u?u:Array.isArray(u)?u.join(""):""),o}t.DOMAttributeNames=r},20310:function(e,t,r){"use strict";var n=r(809),o=r(38561),a=r(2553),i=r(62012),u=r(9807),c=r(27690),s=r(99828),l=r(53848);function f(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=s(e);if(t){var o=s(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return c(this,r)}}var h=r(69448),p=r(62426);t.__esModule=!0,t.render=ue,t.renderError=se,t.default=t.emitter=t.router=t.version=void 0;var d=p(r(9566));r(60400);var v=p(r(67294)),m=p(r(73935)),y=r(41165),g=p(r(8119)),w=r(36171),b=r(29414),_=r(88073),x=h(r(68187)),S=h(r(53584)),E=r(24755),P=r(86579),k=p(r(96792)),L=p(r(47145)),R=p(r(59934)),C=r(48475),T=r(34651),A=JSON.parse(document.getElementById("__NEXT_DATA__").textContent);window.__NEXT_DATA__=A;t.version="11.0.1";var O=function(e){return[].slice.call(e)},I=A.props,j=A.err,M=A.page,N=A.query,D=A.buildId,F=A.assetPrefix,U=A.runtimeConfig,W=A.dynamicIds,q=A.isFallback,B=A.locale,H=A.locales,G=A.domainLocales,V=A.isPreview,X=A.defaultLocale,z=F||"";r.p="".concat(z,"/_next/"),S.setConfig({serverRuntimeConfig:{},publicRuntimeConfig:U||{}});var $=(0,E.getURL)();((0,b.hasBasePath)($)&&($=(0,b.delBasePath)($)),A.scriptLoader)&&(0,r(37926).initScriptLoader)(A.scriptLoader);var Q=new L.default(D,z),Y=function(e){var t=l(e,2),r=t[0],n=t[1];return Q.routeLoader.onEntrypoint(r,n)};window.__NEXT_P&&window.__NEXT_P.map((function(e){return setTimeout((function(){return Y(e)}),0)})),window.__NEXT_P=[],window.__NEXT_P.push=Y;var K,J,Z,ee,te=(0,k.default)(),re=document.getElementById("__next");t.router=J;var ne,oe=function(e){u(r,e);var t=f(r);function r(){return a(this,r),t.apply(this,arguments)}return i(r,[{key:"componentDidCatch",value:function(e,t){this.props.fn(e,t)}},{key:"componentDidMount",value:function(){this.scrollToHash(),!J.isSsr||"/404"===M||"/_error"===M&&I&&I.pageProps&&404===I.pageProps.statusCode||!(q||A.nextExport&&((0,_.isDynamicRoute)(J.pathname)||location.search)||I&&I.__N_SSG&&location.search)||J.replace(J.pathname+"?"+String(x.assign(x.urlQueryToSearchParams(J.query),new URLSearchParams(location.search))),$,{_h:1,shallow:!q})}},{key:"componentDidUpdate",value:function(){this.scrollToHash()}},{key:"scrollToHash",value:function(){var e=location.hash;if(e=e&&e.substring(1)){var t=document.getElementById(e);t&&setTimeout((function(){return t.scrollIntoView()}),0)}}},{key:"render",value:function(){return this.props.children}}]),r}(v.default.Component),ae=(0,g.default)();t.emitter=ae;var ie=function(){var e=o(n.mark((function e(){var r,o,a,i,u,c,s=arguments;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s.length>0&&void 0!==s[0]?s[0]:{},r=j,e.prev=3,e.next=6,Q.routeLoader.whenEntrypoint("/_app");case 6:if(!("error"in(o=e.sent))){e.next=9;break}throw o.error;case 9:a=o.component,i=o.exports,Z=a,i&&i.reportWebVitals&&(ee=function(e){var t,r=e.id,n=e.name,o=e.startTime,a=e.value,u=e.duration,c=e.entryType,s=e.entries,l="".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12);s&&s.length&&(t=s[0].startTime),i.reportWebVitals({id:r||l,name:n,startTime:o||t,value:null==a?u:a,label:"mark"===c||"measure"===c?"custom":"web-vital"})}),e.next=16;break;case 16:return e.next=18,Q.routeLoader.whenEntrypoint(M);case 18:e.t0=e.sent;case 19:if(!("error"in(u=e.t0))){e.next=22;break}throw u.error;case 22:ne=u.component,e.next=27;break;case 27:e.next=32;break;case 29:e.prev=29,e.t1=e.catch(3),r=e.t1;case 32:if(!window.__NEXT_PRELOADREADY){e.next=36;break}return e.next=36,window.__NEXT_PRELOADREADY(W);case 36:return t.router=J=(0,T.createRouter)(M,N,$,{initialProps:I,pageLoader:Q,App:Z,Component:ne,wrapApp:me,err:r,isFallback:Boolean(q),subscription:function(e,t,r){return ue(Object.assign({},e,{App:t,scroll:r}))},locale:B,locales:H,defaultLocale:X,domainLocales:G,isPreview:V}),ue(c={App:Z,initial:!0,Component:ne,props:I,err:r}),e.abrupt("return",ae);case 43:return e.abrupt("return",{emitter:ae,render:ue,renderCtx:c});case 44:case"end":return e.stop()}}),e,null,[[3,29]])})));return function(){return e.apply(this,arguments)}}();function ue(e){return ce.apply(this,arguments)}function ce(){return(ce=o(n.mark((function e(t){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.err){e.next=4;break}return e.next=3,se(t);case 3:return e.abrupt("return");case 4:return e.prev=4,e.next=7,ye(t);case 7:e.next=16;break;case 9:if(e.prev=9,e.t0=e.catch(4),!e.t0.cancelled){e.next=13;break}throw e.t0;case 13:return e.next=16,se((0,d.default)({},t,{err:e.t0}));case 16:case"end":return e.stop()}}),e,null,[[4,9]])})))).apply(this,arguments)}function se(e){var t=e.App,r=e.err;return console.error(r),Q.loadPage("/_error").then((function(n){var o=n.page,a=n.styleSheets,i=me(t),u={Component:o,AppTree:i,router:J,ctx:{err:r,pathname:M,query:N,asPath:$,AppTree:i}};return Promise.resolve(e.props?e.props:(0,E.loadGetInitialProps)(t,u)).then((function(t){return ye((0,d.default)({},e,{err:r,Component:o,styleSheets:a,props:t}))}))}))}t.default=ie;var le="function"===typeof m.default.hydrate;function fe(){E.ST&&(performance.mark("afterHydrate"),performance.measure("Next.js-before-hydration","navigationStart","beforeRender"),performance.measure("Next.js-hydration","beforeRender","afterHydrate"),ee&&performance.getEntriesByName("Next.js-hydration").forEach(ee),pe())}function he(){if(E.ST){performance.mark("afterRender");var e=performance.getEntriesByName("routeChange","mark");e.length&&(performance.measure("Next.js-route-change-to-render",e[0].name,"beforeRender"),performance.measure("Next.js-render","beforeRender","afterRender"),ee&&(performance.getEntriesByName("Next.js-render").forEach(ee),performance.getEntriesByName("Next.js-route-change-to-render").forEach(ee)),pe(),["Next.js-route-change-to-render","Next.js-render"].forEach((function(e){return performance.clearMeasures(e)})))}}function pe(){["beforeRender","afterHydrate","afterRender","routeChange"].forEach((function(e){return performance.clearMarks(e)}))}function de(e){var t=e.children;return v.default.createElement(oe,{fn:function(e){return se({App:Z,err:e}).catch((function(e){return console.error("Error rendering page: ",e)}))}},v.default.createElement(w.RouterContext.Provider,{value:(0,T.makePublicRouterInstance)(J)},v.default.createElement(y.HeadManagerContext.Provider,{value:te},t)))}var ve,me=function(e){return function(t){var r=(0,d.default)({},t,{Component:ne,err:j,router:J});return v.default.createElement(de,null,v.default.createElement(e,r))}};function ye(e){var t=e.App,r=e.Component,n=e.props,o=e.err,a="initial"in e?void 0:e.styleSheets;r=r||ve.Component,n=n||ve.props;var i=(0,d.default)({},n,{Component:r,err:o,router:J});ve=i;var u,c=!1,s=new Promise((function(e,t){K&&K(),u=function(){K=null,e()},K=function(){c=!0,K=null;var e=new Error("Cancel rendering route");e.cancelled=!0,t(e)}}));function l(){u()}!function(){if(!a)return!1;var e=O(document.querySelectorAll("style[data-n-href]")),t=new Set(e.map((function(e){return e.getAttribute("data-n-href")}))),r=document.querySelector("noscript[data-n-css]"),n=null==r?void 0:r.getAttribute("data-n-css");a.forEach((function(e){var r=e.href,o=e.text;if(!t.has(r)){var a=document.createElement("style");a.setAttribute("data-n-href",r),a.setAttribute("media","x"),n&&a.setAttribute("nonce",n),document.head.appendChild(a),a.appendChild(document.createTextNode(o))}}))}();var f=v.default.createElement(v.default.Fragment,null,v.default.createElement(we,{callback:function(){if(a&&!c){for(var t=new Set(a.map((function(e){return e.href}))),r=O(document.querySelectorAll("style[data-n-href]")),n=r.map((function(e){return e.getAttribute("data-n-href")})),o=0;o<n.length;++o)t.has(n[o])?r[o].removeAttribute("media"):r[o].setAttribute("media","x");var i=document.querySelector("noscript[data-n-css]");i&&a.forEach((function(e){var t=e.href,r=document.querySelector('style[data-n-href="'.concat(t,'"]'));r&&(i.parentNode.insertBefore(r,i.nextSibling),i=r)})),O(document.querySelectorAll("link[data-n-p]")).forEach((function(e){e.parentNode.removeChild(e)})),getComputedStyle(document.body,"height")}e.scroll&&window.scrollTo(e.scroll.x,e.scroll.y)}}),v.default.createElement(de,null,v.default.createElement(t,i),v.default.createElement(P.Portal,{type:"next-route-announcer"},v.default.createElement(C.RouteAnnouncer,null))));return function(e,t){E.ST&&performance.mark("beforeRender");var r=t(le?fe:he);le?(m.default.hydrate(r,e),le=!1):m.default.render(r,e)}(re,(function(e){return v.default.createElement(ge,{callbacks:[e,l]},f)})),s}function ge(e){var t=e.callbacks,r=e.children;return v.default.useLayoutEffect((function(){return t.forEach((function(e){return e()}))}),[t]),v.default.useEffect((function(){(0,R.default)(ee)}),[]),r}function we(e){var t=e.callback;return v.default.useLayoutEffect((function(){return t()}),[t]),null}},20457:function(e,t,r){"use strict";var n=r(69448)(r(20310));window.next=n,(0,n.default)().catch(console.error)},15965:function(e,t){"use strict";function r(e){return e.endsWith("/")&&"/"!==e?e.slice(0,-1):e}t.__esModule=!0,t.removePathTrailingSlash=r,t.normalizePathTrailingSlash=void 0;var n=r;t.normalizePathTrailingSlash=n},47145:function(e,t,r){"use strict";var n=r(2553),o=r(62012),a=r(69448),i=r(62426);t.__esModule=!0,t.default=void 0;var u=r(29414),c=i(r(75292)),s=r(88073),l=r(53900),f=r(15965),h=a(r(31392));var p=function(){function e(t,r){n(this,e),this.buildId=void 0,this.assetPrefix=void 0,this.promisedSsgManifest=void 0,this.promisedDevPagesManifest=void 0,this.routeLoader=void 0,this.routeLoader=(0,h.default)(r),this.buildId=t,this.assetPrefix=r,this.promisedSsgManifest=new Promise((function(e){window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=function(){e(window.__SSG_MANIFEST)}}))}return o(e,[{key:"getPageList",value:function(){return(0,h.getClientBuildManifest)().then((function(e){return e.sortedPages}))}},{key:"getDataHref",value:function(e,t,r,n){var o=this,a=(0,l.parseRelativeUrl)(e),i=a.pathname,h=a.query,p=a.search,d=(0,l.parseRelativeUrl)(t).pathname,v=function(e){if("/"!==e[0])throw new Error('Route name should start with a "/", got "'.concat(e,'"'));return"/"===e?e:e.replace(/\/$/,"")}(i),m=function(e){var t=(0,c.default)((0,f.removePathTrailingSlash)((0,u.addLocale)(e,n)),".json");return(0,u.addBasePath)("/_next/data/".concat(o.buildId).concat(t).concat(r?"":p))},y=(0,s.isDynamicRoute)(v),g=y?(0,u.interpolateAs)(i,d,h).result:"";return y?g&&m(g):m(v)}},{key:"_isSsg",value:function(e){return this.promisedSsgManifest.then((function(t){return t.has(e)}))}},{key:"loadPage",value:function(e){return this.routeLoader.loadRoute(e).then((function(e){if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map((function(e){return{href:e.href,text:e.content}}))};throw e.error}))}},{key:"prefetch",value:function(e){return this.routeLoader.prefetch(e)}}]),e}();t.default=p},59934:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=r(5866),a=(location.href,!1);function i(e){n&&n(e)}t.default=function(e){n=e,a||(a=!0,(0,o.getCLS)(i),(0,o.getFID)(i),(0,o.getFCP)(i),(0,o.getLCP)(i),(0,o.getTTFB)(i))}},86579:function(e,t,r){"use strict";var n=r(53848),o=r(69448);t.__esModule=!0,t.Portal=void 0;var a=o(r(67294)),i=r(73935);t.Portal=function(e){var t=e.children,r=e.type,o=a.useRef(null),u=a.useState(),c=n(u,2)[1];return a.useEffect((function(){return o.current=document.createElement(r),document.body.appendChild(o.current),c({}),function(){o.current&&document.body.removeChild(o.current)}}),[r]),o.current?(0,i.createPortal)(t,o.current):null}},73447:function(e,t){"use strict";t.__esModule=!0,t.cancelIdleCallback=t.requestIdleCallback=void 0;var r="undefined"!==typeof self&&self.requestIdleCallback||function(e){var t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)};t.requestIdleCallback=r;var n="undefined"!==typeof self&&self.cancelIdleCallback||function(e){return clearTimeout(e)};t.cancelIdleCallback=n},48475:function(e,t,r){"use strict";var n=r(53848),o=r(69448);t.__esModule=!0,t.RouteAnnouncer=u,t.default=void 0;var a=o(r(67294)),i=r(34651);function u(){var e=(0,i.useRouter)().asPath,t=(0,a.useState)(""),r=n(t,2),o=r[0],u=r[1],c=(0,a.useRef)(!1);return(0,a.useEffect)((function(){if(c.current){var t,r=document.querySelector("h1");r&&(t=r.innerText||r.textContent),t||(t=document.title?document.title:e),u(t)}else c.current=!0}),[e]),a.default.createElement("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},o)}var c=u;t.default=c},31392:function(e,t,r){"use strict";var n=r(62426);t.__esModule=!0,t.markAssetError=c,t.isAssetError=function(e){return e&&u in e},t.getClientBuildManifest=l,t.default=void 0;n(r(75292));var o=r(73447);function a(e,t,r){var n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);var a=new Promise((function(e){n=e}));return t.set(e,o={resolve:n,future:a}),r?r().then((function(e){return n(e),e})):a}var i=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(t){return!1}}();var u=Symbol("ASSET_LOAD_ERROR");function c(e){return Object.defineProperty(e,u,{})}function s(e,t,r){return new Promise((function(n,a){var i=!1;e.then((function(e){i=!0,n(e)})).catch(a),(0,o.requestIdleCallback)((function(){return setTimeout((function(){i||a(r)}),t)}))}))}function l(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):s(new Promise((function(e){var t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=function(){e(self.__BUILD_MANIFEST),t&&t()}})),3800,c(new Error("Failed to load client build manifest")))}function f(e,t){return l().then((function(r){if(!(t in r))throw c(new Error("Failed to lookup route: ".concat(t)));var n=r[t].map((function(t){return e+"/_next/"+encodeURI(t)}));return{scripts:n.filter((function(e){return e.endsWith(".js")})),css:n.filter((function(e){return e.endsWith(".css")}))}}))}var h=function(e){var t=new Map,r=new Map,n=new Map,u=new Map;function l(e){var t=r.get(e);return t||(document.querySelector('script[src^="'.concat(e,'"]'))?Promise.resolve():(r.set(e,t=function(e,t){return new Promise((function(r,n){(t=document.createElement("script")).onload=r,t.onerror=function(){return n(c(new Error("Failed to load script: ".concat(e))))},t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)}))}(e)),t))}function h(e){var t=n.get(e);return t||(n.set(e,t=fetch(e).then((function(t){if(!t.ok)throw new Error("Failed to load stylesheet: ".concat(e));return t.text().then((function(t){return{href:e,content:t}}))})).catch((function(e){throw c(e)}))),t)}return{whenEntrypoint:function(e){return a(e,t)},onEntrypoint:function(e,r){Promise.resolve(r).then((function(e){return e()})).then((function(e){return{component:e&&e.default||e,exports:e}}),(function(e){return{error:e}})).then((function(r){var n=t.get(e);t.set(e,r),n&&"resolve"in n&&n.resolve(r)}))},loadRoute:function(r,n){var o=this;return a(r,u,(function(){return s(f(e,r).then((function(e){var n=e.scripts,o=e.css;return Promise.all([t.has(r)?[]:Promise.all(n.map(l)),Promise.all(o.map(h))])})).then((function(e){return o.whenEntrypoint(r).then((function(t){return{entrypoint:t,styles:e[1]}}))})),3800,c(new Error("Route did not complete loading: ".concat(r)))).then((function(e){var t=e.entrypoint,r=e.styles,n=Object.assign({styles:r},t);return"error"in t?t:n})).catch((function(e){if(n)throw e;return{error:e}}))}))},prefetch:function(t){var r,n=this;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():f(e,t).then((function(e){return Promise.all(i?e.scripts.map((function(e){return t=e,r="script",new Promise((function(e,o){if(document.querySelector('link[rel="prefetch"][href^="'.concat(t,'"]')))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=o,n.href=t,document.head.appendChild(n)}));var t,r,n})):[])})).then((function(){(0,o.requestIdleCallback)((function(){return n.loadRoute(t,!0).catch((function(){}))}))})).catch((function(){}))}}};t.default=h},34651:function(e,t,r){"use strict";var n=r(41280);function o(e,t){var r;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"===typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(e,t)}(e))||t&&e&&"number"===typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var i=r(69448),u=r(62426);t.__esModule=!0,t.useRouter=function(){return c.default.useContext(l.RouterContext)},t.makePublicRouterInstance=function(e){var t,r=e,n={},a=o(p);try{for(a.s();!(t=a.n()).done;){var i=t.value;"object"!==typeof r[i]?n[i]=r[i]:n[i]=Object.assign(Array.isArray(r[i])?[]:{},r[i])}}catch(u){a.e(u)}finally{a.f()}return n.events=s.default.events,d.forEach((function(e){n[e]=function(){return r[e].apply(r,arguments)}})),n},t.createRouter=t.withRouter=t.default=void 0;var c=u(r(67294)),s=i(r(29414));t.Router=s.default,t.NextRouter=s.NextRouter;var l=r(36171),f=u(r(47413));t.withRouter=f.default;var h={router:null,readyCallbacks:[],ready:function(e){if(this.router)return e();this.readyCallbacks.push(e)}},p=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],d=["push","replace","reload","back","prefetch","beforePopState"];function v(){if(!h.router){throw new Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n')}return h.router}Object.defineProperty(h,"events",{get:function(){return s.default.events}}),p.forEach((function(e){Object.defineProperty(h,e,{get:function(){return v()[e]}})})),d.forEach((function(e){h[e]=function(){var t=v();return t[e].apply(t,arguments)}})),["routeChangeStart","beforeHistoryChange","routeChangeComplete","routeChangeError","hashChangeStart","hashChangeComplete"].forEach((function(e){h.ready((function(){s.default.events.on(e,(function(){var t="on".concat(e.charAt(0).toUpperCase()).concat(e.substring(1)),r=h;if(r[t])try{r[t].apply(r,arguments)}catch(n){console.error("Error when running the Router event: ".concat(t)),console.error("".concat(n.message,"\n").concat(n.stack))}}))}))}));var m=h;t.default=m;t.createRouter=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return h.router=n(s.default,t),h.readyCallbacks.forEach((function(e){return e()})),h.readyCallbacks=[],h.router}},37926:function(e,t,r){"use strict";var n=r(53848),o=r(62426);t.__esModule=!0,t.initScriptLoader=function(e){e.forEach(v)},t.default=void 0;var a=o(r(9566)),i=o(r(26169)),u=r(67294),c=r(41165),s=r(96792),l=r(73447),f=new Map,h=new Set,p=["onLoad","dangerouslySetInnerHTML","children","onError","strategy"],d=function(e){var t=e.src,r=e.id,o=e.onLoad,a=void 0===o?function(){}:o,i=e.dangerouslySetInnerHTML,u=e.children,c=void 0===u?"":u,l=e.onError,d=r||t;if(f.has(t))h.has(d)||(h.add(d),f.get(t).then(a,l));else{var v=document.createElement("script"),m=new Promise((function(e,t){v.addEventListener("load",(function(){e(),a&&a.call(this)})),v.addEventListener("error",(function(){t(),l&&l()}))}));t&&(f.set(t,m),h.add(d)),i?v.innerHTML=i.__html||"":c?v.textContent="string"===typeof c?c:Array.isArray(c)?c.join(""):"":t&&(v.src=t);for(var y=0,g=Object.entries(e);y<g.length;y++){var w=n(g[y],2),b=w[0],_=w[1];if(void 0!==_&&!p.includes(b)){var x=s.DOMAttributeNames[b]||b.toLowerCase();v.setAttribute(x,_)}}document.body.appendChild(v)}};function v(e){var t=e.strategy,r=void 0===t?"afterInteractive":t;"afterInteractive"===r?d(e):"lazyOnload"===r&&window.addEventListener("load",(function(){(0,l.requestIdleCallback)((function(){return d(e)}))}))}var m=function(e){var t=e.src,r=void 0===t?"":t,n=e.onLoad,o=void 0===n?function(){}:n,s=e.strategy,f=void 0===s?"afterInteractive":s,h=e.onError,p=(0,i.default)(e,["src","onLoad","dangerouslySetInnerHTML","strategy","onError"]),v=(0,u.useContext)(c.HeadManagerContext),m=v.updateScripts,y=v.scripts;return(0,u.useEffect)((function(){"afterInteractive"===f?d(e):"lazyOnload"===f&&function(e){"complete"===document.readyState?(0,l.requestIdleCallback)((function(){return d(e)})):window.addEventListener("load",(function(){(0,l.requestIdleCallback)((function(){return d(e)}))}))}(e)}),[e,f]),"beforeInteractive"===f&&m&&(y.beforeInteractive=(y.beforeInteractive||[]).concat([(0,a.default)({src:r,onLoad:o,onError:h},p)]),m(y)),null};t.default=m},47413:function(e,t,r){"use strict";var n=r(62426);t.__esModule=!0,t.default=function(e){function t(t){return o.default.createElement(e,Object.assign({router:(0,a.useRouter)()},t))}t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,!1;return t};var o=n(r(67294)),a=r(34651)},41165:function(e,t,r){"use strict";var n;t.__esModule=!0,t.HeadManagerContext=void 0;var o=((n=r(67294))&&n.__esModule?n:{default:n}).default.createContext({});t.HeadManagerContext=o},66813:function(e,t){"use strict";t.__esModule=!0,t.normalizeLocalePath=function(e,t){var r,n=e.split("/");return(t||[]).some((function(t){return n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)})),{pathname:e,detectedLocale:r}}},8119:function(e,t){"use strict";t.__esModule=!0,t.default=function(){var e=Object.create(null);return{on:function(t,r){(e[t]||(e[t]=[])).push(r)},off:function(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit:function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];(e[t]||[]).slice().map((function(e){e.apply(void 0,n)}))}}}},36171:function(e,t,r){"use strict";var n;t.__esModule=!0,t.RouterContext=void 0;var o=((n=r(67294))&&n.__esModule?n:{default:n}).default.createContext(null);t.RouterContext=o},29414:function(e,t,r){"use strict";var n=r(809),o=r(38561),a=r(2553),i=r(62012),u=r(53848);t.__esModule=!0,t.getDomainLocale=function(e,t,r,n){0;return!1},t.addLocale=x,t.delLocale=S,t.hasBasePath=P,t.addBasePath=k,t.delBasePath=L,t.isLocalURL=R,t.interpolateAs=C,t.resolveHref=A,t.default=void 0;var c=r(15965),s=r(31392),l=r(89320),f=(r(66813),w(r(8119))),h=r(24755),p=r(88073),d=r(53900),v=r(68187),m=w(r(14453)),y=r(98085),g=r(44550);function w(e){return e&&e.__esModule?e:{default:e}}function b(){return Object.assign(new Error("Route Cancelled"),{cancelled:!0})}function x(e,t,r){return e}function S(e,t){return e}function E(e){var t=e.indexOf("?"),r=e.indexOf("#");return(t>-1||r>-1)&&(e=e.substring(0,t>-1?t:r)),e}function P(e){return""===(e=E(e))||e.startsWith("/")}function k(e){return function(e,t){return t&&e.startsWith("/")?"/"===e?(0,c.normalizePathTrailingSlash)(t):"".concat(t).concat("/"===E(e)?e.substring(1):e):e}(e,"")}function L(e){return(e=e.slice("".length)).startsWith("/")||(e="/".concat(e)),e}function R(e){if(e.startsWith("/")||e.startsWith("#")||e.startsWith("?"))return!0;try{var t=(0,h.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&P(r.pathname)}catch(_){return!1}}function C(e,t,r){var n="",o=(0,g.getRouteRegex)(e),a=o.groups,i=(t!==e?(0,y.getRouteMatcher)(o)(t):"")||r;n=e;var u=Object.keys(a);return u.every((function(e){var t=i[e]||"",r=a[e],o=r.repeat,u=r.optional,c="[".concat(o?"...":"").concat(e,"]");return u&&(c="".concat(t?"":"/","[").concat(c,"]")),o&&!Array.isArray(t)&&(t=[t]),(u||e in i)&&(n=n.replace(c,o?t.map((function(e){return encodeURIComponent(e)})).join("/"):encodeURIComponent(t))||"/")}))||(n=""),{params:u,result:n}}function T(e,t){var r={};return Object.keys(e).forEach((function(n){t.includes(n)||(r[n]=e[n])})),r}function A(e,t,r){var n,o="string"===typeof t?t:(0,h.formatWithValidation)(t);try{n=new URL(o.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(_){n=new URL("/","http://n")}if(!R(o))return r?[o]:o;try{var a=new URL(o,n);a.pathname=(0,c.normalizePathTrailingSlash)(a.pathname);var i="";if((0,p.isDynamicRoute)(a.pathname)&&a.searchParams&&r){var u=(0,v.searchParamsToUrlQuery)(a.searchParams),s=C(a.pathname,a.pathname,u),l=s.result,f=s.params;l&&(i=(0,h.formatWithValidation)({pathname:l,hash:a.hash,query:T(u,f)}))}var d=a.origin===n.origin?a.href.slice(a.origin.length):a.href;return r?[d,i||d]:d}catch(_){return r?[o]:o}}function O(e){var t=(0,h.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function I(e,t,r){var n=A(e,t,!0),o=u(n,2),a=o[0],i=o[1],c=(0,h.getLocationOrigin)(),s=a.startsWith(c),l=i&&i.startsWith(c);a=O(a),i=i?O(i):i;var f=s?a:k(a),p=r?O(A(e,r)):i||a;return{url:f,as:l?p:k(p)}}function j(e,t){var r=(0,c.removePathTrailingSlash)((0,l.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some((function(t){if((0,p.isDynamicRoute)(t)&&(0,g.getRouteRegex)(t).re.test(r))return e=t,!0})),(0,c.removePathTrailingSlash)(e))}var M=Symbol("SSG_DATA_NOT_FOUND");function N(e,t){return fetch(e,{credentials:"same-origin"}).then((function(r){if(!r.ok){if(t>1&&r.status>=500)return N(e,t-1);if(404===r.status)return r.json().then((function(e){if(e.notFound)return{notFound:M};throw new Error("Failed to load static props")}));throw new Error("Failed to load static props")}return r.json()}))}function D(e,t){return N(e,t?3:1).catch((function(e){throw t||(0,s.markAssetError)(e),e}))}var F=function(){function e(t,r,n,o){var i=this,u=o.initialProps,s=o.pageLoader,l=o.App,f=o.wrapApp,v=o.Component,m=o.err,y=o.subscription,g=o.isFallback,w=o.locale,b=(o.locales,o.defaultLocale,o.domainLocales,o.isPreview);a(this,e),this.route=void 0,this.pathname=void 0,this.query=void 0,this.asPath=void 0,this.basePath=void 0,this.components=void 0,this.sdc={},this.sdr={},this.sub=void 0,this.clc=void 0,this.pageLoader=void 0,this._bps=void 0,this.events=void 0,this._wrapApp=void 0,this.isSsr=void 0,this.isFallback=void 0,this._inFlightRoute=void 0,this._shallow=void 0,this.locale=void 0,this.locales=void 0,this.defaultLocale=void 0,this.domainLocales=void 0,this.isReady=void 0,this.isPreview=void 0,this.isLocaleDomain=void 0,this._idx=0,this.onPopState=function(e){var t=e.state;if(t){if(t.__N){var r=t.url,n=t.as,o=t.options,a=t.idx;i._idx=a;var u=(0,d.parseRelativeUrl)(r).pathname;i.isSsr&&n===i.asPath&&u===i.pathname||i._bps&&!i._bps(t)||i.change("replaceState",r,n,Object.assign({},o,{shallow:o.shallow&&i._shallow,locale:o.locale||i.defaultLocale}),undefined)}}else{var c=i.pathname,s=i.query;i.changeState("replaceState",(0,h.formatWithValidation)({pathname:k(c),query:s}),(0,h.getURL)())}},this.route=(0,c.removePathTrailingSlash)(t),this.components={},"/_error"!==t&&(this.components[this.route]={Component:v,initial:!0,props:u,err:m,__N_SSG:u&&u.__N_SSG,__N_SSP:u&&u.__N_SSP}),this.components["/_app"]={Component:l,styleSheets:[]},this.events=e.events,this.pageLoader=s,this.pathname=t,this.query=r;var _=(0,p.isDynamicRoute)(t)&&self.__NEXT_DATA__.autoExport;if(this.asPath=_?t:n,this.basePath="",this.sub=y,this.clc=null,this._wrapApp=f,this.isSsr=!0,this.isFallback=g,this.isReady=!(!self.__NEXT_DATA__.gssp&&!self.__NEXT_DATA__.gip&&(_||self.location.search)),this.isPreview=!!b,this.isLocaleDomain=!1,"//"!==n.substr(0,2)){var x={locale:w};x._shouldResolveHref=n!==t,this.changeState("replaceState",(0,h.formatWithValidation)({pathname:k(t),query:r}),(0,h.getURL)(),x)}window.addEventListener("popstate",this.onPopState)}return i(e,[{key:"reload",value:function(){window.location.reload()}},{key:"back",value:function(){window.history.back()}},{key:"push",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=I(this,e,t);return e=n.url,t=n.as,this.change("pushState",e,t,r)}},{key:"replace",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=I(this,e,t);return e=n.url,t=n.as,this.change("replaceState",e,t,r)}},{key:"change",value:function(){var t=o(n.mark((function t(r,o,a,i,u){var l,f,v,m,w,b,_,E,A,O,N,D,F,U,W,q,B,H,G,V,X,z,$,Q,Y,K,J,Z,ee,te,re,ne,oe,ae,ie,ue,ce;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(R(o)){t.next=3;break}return window.location.href=o,t.abrupt("return",!1);case 3:l=o===a||i._h||i._shouldResolveHref,i._h&&(this.isReady=!0),f=i.locale!==this.locale,t.next=18;break;case 18:if(i._h||(this.isSsr=!1),h.ST&&performance.mark("routeChange"),v=i.shallow,m={shallow:void 0!==v&&v},this._inFlightRoute&&this.abortComponentLoad(this._inFlightRoute,m),a=k(x(P(a)?L(a):a,i.locale,this.defaultLocale)),w=S(P(a)?L(a):a,this.locale),this._inFlightRoute=a,i._h||!this.onlyAHashChange(w)){t.next=34;break}return this.asPath=w,e.events.emit("hashChangeStart",a,m),this.changeState(r,o,a,i),this.scrollToHash(w),this.notify(this.components[this.route],null),e.events.emit("hashChangeComplete",a,m),t.abrupt("return",!0);case 34:return b=(0,d.parseRelativeUrl)(o),_=b.pathname,E=b.query,t.prev=36,t.next=39,this.pageLoader.getPageList();case 39:return A=t.sent,t.next=42,(0,s.getClientBuildManifest)();case 42:O=t.sent,O.__rewrites,t.next=50;break;case 46:return t.prev=46,t.t0=t.catch(36),window.location.href=a,t.abrupt("return",!1);case 50:if(this.urlIsNew(w)||f||(r="replaceState"),N=a,_=_?(0,c.removePathTrailingSlash)(L(_)):_,l&&"/_error"!==_&&(i._shouldResolveHref=!0,b.pathname=j(_,A),b.pathname!==_&&(_=b.pathname,b.pathname=k(_),o=(0,h.formatWithValidation)(b))),D=(0,c.removePathTrailingSlash)(_),R(a)){t.next=60;break}t.next=58;break;case 58:return window.location.href=a,t.abrupt("return",!1);case 60:if(N=S(L(N),this.locale),!(0,p.isDynamicRoute)(D)){t.next=76;break}if(F=(0,d.parseRelativeUrl)(N),U=F.pathname,W=(0,g.getRouteRegex)(D),q=(0,y.getRouteMatcher)(W)(U),H=(B=D===U)?C(D,U,E):{},q&&(!B||H.result)){t.next=75;break}if(!((G=Object.keys(W.groups).filter((function(e){return!E[e]}))).length>0)){t.next=73;break}throw new Error((B?"The provided `href` (".concat(o,") value is missing query values (").concat(G.join(", "),") to be interpolated properly. "):"The provided `as` value (".concat(U,") is incompatible with the `href` value (").concat(D,"). "))+"Read more: https://nextjs.org/docs/messages/".concat(B?"href-interpolation-failed":"incompatible-href-as"));case 73:t.next=76;break;case 75:B?a=(0,h.formatWithValidation)(Object.assign({},F,{pathname:H.result,query:T(E,H.params)})):Object.assign(E,q);case 76:return e.events.emit("routeChangeStart",a,m),t.prev=77,t.next=80,this.getRouteInfo(D,_,E,a,N,m);case 80:if($=t.sent,Y=(Q=$).error,K=Q.props,J=Q.__N_SSG,Z=Q.__N_SSP,!J&&!Z||!K){t.next=106;break}if(!K.pageProps||!K.pageProps.__N_REDIRECT){t.next=92;break}if(!(ee=K.pageProps.__N_REDIRECT).startsWith("/")){t.next=90;break}return(te=(0,d.parseRelativeUrl)(ee)).pathname=j(te.pathname,A),re=I(this,ee,ee),ne=re.url,oe=re.as,t.abrupt("return",this.change(r,ne,oe,i));case 90:return window.location.href=ee,t.abrupt("return",new Promise((function(){})));case 92:if(this.isPreview=!!K.__N_PREVIEW,K.notFound!==M){t.next=106;break}return t.prev=94,t.next=97,this.fetchComponent("/404");case 97:ae="/404",t.next=103;break;case 100:t.prev=100,t.t1=t.catch(94),ae="/_error";case 103:return t.next=105,this.getRouteInfo(ae,ae,E,a,N,{shallow:!1});case 105:$=t.sent;case 106:return e.events.emit("beforeHistoryChange",a,m),this.changeState(r,o,a,i),i._h&&"/_error"===_&&500===(null==(V=self.__NEXT_DATA__.props)||null==(X=V.pageProps)?void 0:X.statusCode)&&null!=K&&K.pageProps&&(K.pageProps.statusCode=500),ie=i.shallow&&this.route===D,ue=null!=(z=i.scroll)?z:!ie,ce=ue?{x:0,y:0}:null,t.next=115,this.set(D,_,E,w,$,null!=u?u:ce).catch((function(e){if(!e.cancelled)throw e;Y=Y||e}));case 115:if(!Y){t.next=118;break}throw e.events.emit("routeChangeError",Y,w,m),Y;case 118:return e.events.emit("routeChangeComplete",a,m),t.abrupt("return",!0);case 123:if(t.prev=123,t.t2=t.catch(77),!t.t2.cancelled){t.next=127;break}return t.abrupt("return",!1);case 127:throw t.t2;case 128:case"end":return t.stop()}}),t,this,[[36,46],[77,123],[94,100]])})));return function(e,r,n,o,a){return t.apply(this,arguments)}}()},{key:"changeState",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};"pushState"===e&&(0,h.getURL)()===r||(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,idx:this._idx="pushState"!==e?this._idx:this._idx+1},"",r))}},{key:"handleRouteInfoError",value:function(){var t=o(n.mark((function t(r,o,a,i,u,c){var l,f,h,p;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r.cancelled){t.next=2;break}throw r;case 2:if(!(0,s.isAssetError)(r)&&!c){t.next=6;break}throw e.events.emit("routeChangeError",r,i,u),window.location.href=i,b();case 6:if(t.prev=6,"undefined"!==typeof l&&"undefined"!==typeof f){t.next=14;break}return t.next=11,this.fetchComponent("/_error");case 11:h=t.sent,l=h.page,f=h.styleSheets;case 14:if((p={props:undefined,Component:l,styleSheets:f,err:r,error:r}).props){t.next=26;break}return t.prev=16,t.next=19,this.getInitialProps(l,{err:r,pathname:o,query:a});case 19:p.props=t.sent,t.next=26;break;case 22:t.prev=22,t.t0=t.catch(16),console.error("Error in error page `getInitialProps`: ",t.t0),p.props={};case 26:return t.abrupt("return",p);case 29:return t.prev=29,t.t1=t.catch(6),t.abrupt("return",this.handleRouteInfoError(t.t1,o,a,i,u,!0));case 32:case"end":return t.stop()}}),t,this,[[6,29],[16,22]])})));return function(e,r,n,o,a,i){return t.apply(this,arguments)}}()},{key:"getRouteInfo",value:function(){var e=o(n.mark((function e(t,r,o,a,i,u){var c,s,l,f,p,d,v,m,y=this;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,c=this.components[t],!u.shallow||!c||this.route!==t){e.next=4;break}return e.abrupt("return",c);case 4:if(!(s=c&&"initial"in c?void 0:c)){e.next=9;break}e.t0=s,e.next=12;break;case 9:return e.next=11,this.fetchComponent(t).then((function(e){return{Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP}}));case 11:e.t0=e.sent;case 12:l=e.t0,f=l.Component,p=l.__N_SSG,d=l.__N_SSP,e.next=18;break;case 18:return(p||d)&&(v=this.pageLoader.getDataHref((0,h.formatWithValidation)({pathname:r,query:o}),i,p,this.locale)),e.next=21,this._getData((function(){return p?y._getStaticData(v):d?y._getServerData(v):y.getInitialProps(f,{pathname:r,query:o,asPath:a,locale:y.locale,locales:y.locales,defaultLocale:y.defaultLocale})}));case 21:return m=e.sent,l.props=m,this.components[t]=l,e.abrupt("return",l);case 27:return e.prev=27,e.t1=e.catch(0),e.abrupt("return",this.handleRouteInfoError(e.t1,r,o,a,u));case 30:case"end":return e.stop()}}),e,this,[[0,27]])})));return function(t,r,n,o,a,i){return e.apply(this,arguments)}}()},{key:"set",value:function(e,t,r,n,o,a){return this.isFallback=!1,this.route=e,this.pathname=t,this.query=r,this.asPath=n,this.notify(o,a)}},{key:"beforePopState",value:function(e){this._bps=e}},{key:"onlyAHashChange",value:function(e){if(!this.asPath)return!1;var t=this.asPath.split("#"),r=u(t,2),n=r[0],o=r[1],a=e.split("#"),i=u(a,2),c=i[0],s=i[1];return!(!s||n!==c||o!==s)||n===c&&o!==s}},{key:"scrollToHash",value:function(e){var t=e.split("#"),r=u(t,2)[1];if(""!==r&&"top"!==r){var n=document.getElementById(r);if(n)n.scrollIntoView();else{var o=document.getElementsByName(r)[0];o&&o.scrollIntoView()}}else window.scrollTo(0,0)}},{key:"urlIsNew",value:function(e){return this.asPath!==e}},{key:"prefetch",value:function(){var e=o(n.mark((function e(t){var r,o,a,i,u,s,l,f,p,v,y=this,g=arguments;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=g.length>1&&void 0!==g[1]?g[1]:t,o=g.length>2&&void 0!==g[2]?g[2]:{},a=(0,d.parseRelativeUrl)(t),i=a.pathname,e.next=7,this.pageLoader.getPageList();case 7:u=e.sent,s=r,e.next=19;break;case 12:f=e.sent,l=f.__rewrites,p=(0,m.default)(k(x(r,this.locale)),u,l,a.query,(function(e){return j(e,u)}),this.locales),s=S(L(p.asPath),this.locale),p.matchedPage&&p.resolvedHref&&(i=p.resolvedHref,a.pathname=i,t=(0,h.formatWithValidation)(a)),e.next=21;break;case 19:a.pathname=j(a.pathname,u),a.pathname!==i&&(i=a.pathname,a.pathname=i,t=(0,h.formatWithValidation)(a));case 21:v=(0,c.removePathTrailingSlash)(i),e.next=24;break;case 24:return e.next=26,Promise.all([this.pageLoader._isSsg(v).then((function(e){return!!e&&y._getStaticData(y.pageLoader.getDataHref(t,s,!0,"undefined"!==typeof o.locale?o.locale:y.locale))})),this.pageLoader[o.priority?"loadPage":"prefetch"](v)]);case 26:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"fetchComponent",value:function(){var e=o(n.mark((function e(t){var r,o,a,i;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=!1,o=this.clc=function(){r=!0},e.next=4,this.pageLoader.loadPage(t);case 4:if(a=e.sent,!r){e.next=9;break}throw(i=new Error('Abort fetching component for route: "'.concat(t,'"'))).cancelled=!0,i;case 9:return o===this.clc&&(this.clc=null),e.abrupt("return",a);case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_getData",value:function(e){var t=this,r=!1,n=function(){r=!0};return this.clc=n,e().then((function(e){if(n===t.clc&&(t.clc=null),r){var o=new Error("Loading initial props cancelled");throw o.cancelled=!0,o}return e}))}},{key:"_getStaticData",value:function(e){var t=this,r=new URL(e,window.location.href).href;return!this.isPreview&&this.sdc[r]?Promise.resolve(this.sdc[r]):D(e,this.isSsr).then((function(e){return t.sdc[r]=e,e}))}},{key:"_getServerData",value:function(e){var t=this,r=new URL(e,window.location.href).href;return this.sdr[r]?this.sdr[r]:this.sdr[r]=D(e,this.isSsr).then((function(e){return delete t.sdr[r],e})).catch((function(e){throw delete t.sdr[r],e}))}},{key:"getInitialProps",value:function(e,t){var r=this.components["/_app"].Component,n=this._wrapApp(r);return t.AppTree=n,(0,h.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}},{key:"abortComponentLoad",value:function(t,r){this.clc&&(e.events.emit("routeChangeError",b(),t,r),this.clc(),this.clc=null)}},{key:"notify",value:function(e,t){return this.sub(e,this.components["/_app"].Component,t)}}]),e}();t.default=F,F.events=(0,f.default)()},62960:function(e,t,r){"use strict";t.__esModule=!0,t.formatUrl=function(e){var t=e.auth,r=e.hostname,o=e.protocol||"",i=e.pathname||"",u=e.hash||"",c=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"[".concat(r,"]"):r),e.port&&(s+=":"+e.port));c&&"object"===typeof c&&(c=String(n.urlQueryToSearchParams(c)));var l=e.search||c&&"?".concat(c)||"";o&&":"!==o.substr(-1)&&(o+=":");e.slashes||(!o||a.test(o))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s="");u&&"#"!==u[0]&&(u="#"+u);l&&"?"!==l[0]&&(l="?"+l);return i=i.replace(/[?#]/g,encodeURIComponent),l=l.replace("#","%23"),"".concat(o).concat(s).concat(i).concat(l).concat(u)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=n?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(r,a,i):r[a]=e[a]}r.default=e,t&&t.set(e,r);return r}(r(68187));function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}var a=/https?|ftp|gopher|file/},75292:function(e,t){"use strict";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r="/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index".concat(e):"".concat(e);return r+t}},88073:function(e,t){"use strict";t.__esModule=!0,t.isDynamicRoute=function(e){return r.test(e)};var r=/\/\[[^/]+?\](?=\/|$)/},53900:function(e,t,r){"use strict";t.__esModule=!0,t.parseRelativeUrl=function(e,t){var r=new URL((0,n.getLocationOrigin)()),a=t?new URL(t,r):r,i=new URL(e,a),u=i.pathname,c=i.searchParams,s=i.search,l=i.hash,f=i.href;if(i.origin!==r.origin)throw new Error("invariant: invalid relative URL, router received ".concat(e));return{pathname:u,query:(0,o.searchParamsToUrlQuery)(c),search:s,hash:l,href:f.slice(r.origin.length)}};var n=r(24755),o=r(68187)},68187:function(e,t,r){"use strict";var n=r(53848);function o(e){return"string"===typeof e||"number"===typeof e&&!isNaN(e)||"boolean"===typeof e?String(e):""}t.__esModule=!0,t.searchParamsToUrlQuery=function(e){var t={};return e.forEach((function(e,r){"undefined"===typeof t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]})),t},t.urlQueryToSearchParams=function(e){var t=new URLSearchParams;return Object.entries(e).forEach((function(e){var r=n(e,2),a=r[0],i=r[1];Array.isArray(i)?i.forEach((function(e){return t.append(a,o(e))})):t.set(a,o(i))})),t},t.assign=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach((function(t){Array.from(t.keys()).forEach((function(t){return e.delete(t)})),t.forEach((function(t,r){return e.append(r,t)}))})),e}},98085:function(e,t){"use strict";t.__esModule=!0,t.getRouteMatcher=function(e){var t=e.re,r=e.groups;return function(e){var n=t.exec(e);if(!n)return!1;var o=function(e){try{return decodeURIComponent(e)}catch(_){var t=new Error("failed to decode param");throw t.code="DECODE_FAILED",t}},a={};return Object.keys(r).forEach((function(e){var t=r[e],i=n[t.pos];void 0!==i&&(a[e]=~i.indexOf("/")?i.split("/").map((function(e){return o(e)})):t.repeat?[o(i)]:o(i))})),a}}},44550:function(e,t){"use strict";t.__esModule=!0,t.getRouteRegex=function(e){var t=(e.replace(/\/$/,"")||"/").slice(1).split("/"),r={},n=1,o=t.map((function(e){if(e.startsWith("[")&&e.endsWith("]")){var t=function(e){var t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));var r=e.startsWith("...");r&&(e=e.slice(3));return{key:e,repeat:r,optional:t}}(e.slice(1,-1)),o=t.key,a=t.optional,i=t.repeat;return r[o]={pos:n++,repeat:i,optional:a},i?a?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}return"/".concat(e.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&"))})).join("");0;return{re:new RegExp("^".concat(o,"(?:/)?$")),groups:r}}},53584:function(e,t){"use strict";var r;t.__esModule=!0,t.setConfig=function(e){r=e},t.default=void 0;t.default=function(){return r}},24755:function(e,t,r){"use strict";var n=r(809),o=r(38561);t.__esModule=!0,t.execOnce=function(e){var t,r=!1;return function(){return r||(r=!0,t=e.apply(void 0,arguments)),t}},t.getLocationOrigin=i,t.getURL=function(){var e=window.location.href,t=i();return e.substring(t.length)},t.getDisplayName=u,t.isResSent=c,t.loadGetInitialProps=s,t.formatWithValidation=function(e){0;return(0,a.formatUrl)(e)},t.ST=t.SP=t.urlObjectKeys=void 0;var a=r(62960);function i(){var e=window.location,t=e.protocol,r=e.hostname,n=e.port;return"".concat(t,"//").concat(r).concat(n?":"+n:"")}function u(e){return"string"===typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function s(e,t){return l.apply(this,arguments)}function l(){return(l=o(n.mark((function e(t,r){var o,a,i;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=4;break;case 4:if(o=r.res||r.ctx&&r.ctx.res,t.getInitialProps){e.next=12;break}if(!r.ctx||!r.Component){e.next=11;break}return e.next=9,s(r.Component,r.ctx);case 9:return e.t0=e.sent,e.abrupt("return",{pageProps:e.t0});case 11:return e.abrupt("return",{});case 12:return e.next=14,t.getInitialProps(r);case 14:if(a=e.sent,!o||!c(o)){e.next=17;break}return e.abrupt("return",a);case 17:if(a){e.next=20;break}throw i='"'.concat(u(t),'.getInitialProps()" should resolve to an object. But found "').concat(a,'" instead.'),new Error(i);case 20:return e.abrupt("return",a);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}t.urlObjectKeys=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];var f="undefined"!==typeof performance;t.SP=f;var h=f&&"function"===typeof performance.mark&&"function"===typeof performance.measure;t.ST=h},96086:function(e){"use strict";var t=Object.assign.bind(Object);e.exports=t,e.exports.default=e.exports},5866:function(e){e.exports=function(){var e={599:function(e,t){!function(e){"use strict";var t,r,n=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(e){return{name:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,delta:0,entries:[],id:n(),isFinal:!1}},a=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return r.observe({type:e,buffered:!0}),r}}catch(e){}},i=!1,u=!1,c=function(e){i=!e.persisted},s=function(){addEventListener("pagehide",c),addEventListener("beforeunload",(function(){}))},l=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];u||(s(),u=!0),addEventListener("visibilitychange",(function(t){var r=t.timeStamp;"hidden"===document.visibilityState&&e({timeStamp:r,isUnloading:i})}),{capture:!0,once:t})},f=function(e,t,r,n){var o;return function(){r&&t.isFinal&&r.disconnect(),t.value>=0&&(n||t.isFinal||"hidden"===document.visibilityState)&&(t.delta=t.value-(o||0),(t.delta||t.isFinal||void 0===o)&&(e(t),o=t.value))}},h=function(){return void 0===t&&(t="hidden"===document.visibilityState?0:1/0,l((function(e){var r=e.timeStamp;return t=r}),!0)),{get timeStamp(){return t}}},p=function(){return r||(r=new Promise((function(e){return["scroll","keydown","pointerdown"].map((function(t){addEventListener(t,e,{once:!0,passive:!0,capture:!0})}))}))),r};e.getCLS=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("CLS",0),i=function(e){e.hadRecentInput||(n.value+=e.value,n.entries.push(e),t())},u=a("layout-shift",i);u&&(t=f(e,n,u,r),l((function(e){var r=e.isUnloading;u.takeRecords().map(i),r&&(n.isFinal=!0),t()})))},e.getFCP=function(e){var t,r=o("FCP"),n=h(),i=a("paint",(function(e){"first-contentful-paint"===e.name&&e.startTime<n.timeStamp&&(r.value=e.startTime,r.isFinal=!0,r.entries.push(e),t())}));i&&(t=f(e,r,i))},e.getFID=function(e){var t=o("FID"),r=h(),n=function(e){e.startTime<r.timeStamp&&(t.value=e.processingStart-e.startTime,t.entries.push(e),t.isFinal=!0,u())},i=a("first-input",n),u=f(e,t,i);i?l((function(){i.takeRecords().map(n),i.disconnect()}),!0):window.perfMetrics&&window.perfMetrics.onFirstInputDelay&&window.perfMetrics.onFirstInputDelay((function(e,n){n.timeStamp<r.timeStamp&&(t.value=e,t.isFinal=!0,t.entries=[{entryType:"first-input",name:n.type,target:n.target,cancelable:n.cancelable,startTime:n.timeStamp,processingStart:n.timeStamp+e}],u())}))},e.getLCP=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=o("LCP"),i=h(),u=function(e){var r=e.startTime;r<i.timeStamp?(n.value=r,n.entries.push(e)):n.isFinal=!0,t()},c=a("largest-contentful-paint",u);if(c){t=f(e,n,c,r);var s=function(){n.isFinal||(c.takeRecords().map(u),n.isFinal=!0,t())};p().then(s),l(s,!0)}},e.getTTFB=function(e){var t,r=o("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var r in e)"navigationStart"!==r&&"toJSON"!==r&&(t[r]=Math.max(e[r]-e.navigationStart,0));return t}();r.value=r.delta=t.responseStart,r.entries=[t],r.isFinal=!0,e(r)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)},Object.defineProperty(e,"__esModule",{value:!0})}(t)}},t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}},a=!0;try{e[n].call(o.exports,o,o.exports,r),a=!1}finally{a&&delete t[n]}return o.exports}return r.ab="//",r(599)}()},89320:function(e,t){"use strict";function r(e){return e.replace(/\\/g,"/")}t.__esModule=!0,t.normalizePathSep=r,t.denormalizePagePath=function(e){(e=r(e)).startsWith("/index/")?e=e.slice(6):"/index"===e&&(e="/");return e}},54360:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},96648:function(e){e.exports=function(e){if(Array.isArray(e))return e}},50450:function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},38561:function(e){function t(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(s){return void r(s)}u.done?t(c):Promise.resolve(c).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,a){var i=e.apply(r,n);function u(e){t(i,o,a,u,c,"next",e)}function c(e){t(i,o,a,u,c,"throw",e)}u(void 0)}))}}},2553:function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},41280:function(e,t,r){var n=r(21914),o=r(78898);function a(t,r,i){return o()?e.exports=a=Reflect.construct:e.exports=a=function(e,t,r){var o=[null];o.push.apply(o,t);var a=new(Function.bind.apply(e,o));return r&&n(a,r.prototype),a},a.apply(null,arguments)}e.exports=a},62012:function(e){function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}},9566:function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},t.apply(this,arguments)}e.exports=t},99828:function(e){function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(r)}e.exports=t},9807:function(e,t,r){var n=r(21914);e.exports=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},62426:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},69448:function(e,t,r){var n=r(87917);function o(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!==typeof e)return{default:e};var t=o();if(t&&t.has(e))return t.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(r,i,u):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}},78898:function(e){e.exports=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},56325:function(e){e.exports=function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(c){o=!0,a=c}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return r}}},81531:function(e){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},26169:function(e){e.exports=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}},27690:function(e,t,r){var n=r(87917),o=r(50450);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!==typeof t?o(e):t}},21914:function(e){function t(r,n){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(r,n)}e.exports=t},53848:function(e,t,r){var n=r(96648),o=r(56325),a=r(73585),i=r(81531);e.exports=function(e,t){return n(e)||o(e,t)||a(e,t)||i()}},87917:function(e){function t(r){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(r)}e.exports=t},73585:function(e,t,r){var n=r(54360);e.exports=function(e,t){if(e){if("string"===typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},809:function(e,t,r){e.exports=r(35666)},35666:function(e){var t=function(e){"use strict";var t,r=Object.prototype,n=r.hasOwnProperty,o="function"===typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(A){c=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new R(n||[]);return a._invoke=function(e,t,r){var n=f;return function(o,a){if(n===p)throw new Error("Generator is already running");if(n===d){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=P(i,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=l(e,t,r);if("normal"===c.type){if(n=r.done?d:h,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=d,r.method="throw",r.arg=c.arg)}}}(e,r,i),a}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(A){return{type:"throw",arg:A}}}e.wrap=s;var f="suspendedStart",h="suspendedYield",p="executing",d="completed",v={};function m(){}function y(){}function g(){}var w={};w[a]=function(){return this};var b=Object.getPrototypeOf,_=b&&b(b(C([])));_&&_!==r&&n.call(_,a)&&(w=_);var x=g.prototype=m.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function r(o,a,i,u){var c=l(e[o],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"===typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var o;this._invoke=function(e,n){function a(){return new t((function(t,o){r(e,n,t,o)}))}return o=o?o.then(a,a):a()}}function P(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=l(n,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function C(e){if(e){var r=e[a];if(r)return r.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}return{next:T}}function T(){return{value:t,done:!0}}return y.prototype=x.constructor=g,g.constructor=y,y.displayName=c(g,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,c(e,u,"GeneratorFunction")),e.prototype=Object.create(x),e},e.awrap=function(e){return{__await:e}},S(E.prototype),E.prototype[i]=function(){return this},e.AsyncIterator=E,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new E(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(x),c(x,u,"Generator"),x[a]=function(){return this},x.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=C,R.prototype={constructor:R,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(L),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return u.type="throw",u.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),L(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}(e.exports);try{regeneratorRuntime=t}catch(r){Function("r","regeneratorRuntime = r")(t)}},14453:function(){}},function(e){var t=function(t){return e(e.s=t)};e.O(0,[774],(function(){return t(59204),t(20457)}));var r=e.O();_N_E=r}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js b/out/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js
index fb6e8c4..56de87e 100644
--- a/out/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js
+++ b/out/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js
@@ -1,8290 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [888],
-  {
-    22122: function (r, e, t) {
-      'use strict'
-      function n() {
-        return (n =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      t.d(e, {
-        Z: function () {
-          return n
-        },
-      })
-    },
-    24738: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        SG: function () {
-          return x
-        },
-        If: function () {
-          return y
-        },
-      })
-      var n = t(73808),
-        o = t(84461),
-        a = t(80658),
-        i = t(67294),
-        s = 'chakra-ui-light',
-        l = 'chakra-ui-dark',
-        c = { classList: { add: a.ZT, remove: a.ZT } }
-      function u(r) {
-        var e = o.jU ? document.body : c
-        e.classList.add(r ? l : s), e.classList.remove(r ? s : l)
-      }
-      var d = '(prefers-color-scheme: dark)'
-      function f(r) {
-        var e
-        return (
-          null !=
-          (e = (function (r) {
-            var e = null == window.matchMedia ? void 0 : window.matchMedia(r)
-            if (e) return !!e.media === e.matches
-          })(d))
-            ? e
-            : 'dark' === r
-        )
-          ? 'dark'
-          : 'light'
-      }
-      var p = () => document.documentElement.style.getPropertyValue('--chakra-ui-color-mode'),
-        h = (r) => {
-          o.jU && document.documentElement.style.setProperty('--chakra-ui-color-mode', r)
-        },
-        b = () => 'undefined' !== typeof Storage,
-        g = 'chakra-ui-color-mode',
-        m = {
-          get(r) {
-            if (!b()) return r
-            try {
-              var e = localStorage.getItem(g)
-              return null != e ? e : r
-            } catch (t) {
-              return n.Ts && console.log(t), r
-            }
-          },
-          set(r) {
-            if (b())
-              try {
-                localStorage.setItem(g, r)
-              } catch (e) {
-                n.Ts && console.log(e)
-              }
-          },
-          type: 'localStorage',
-        }
-      var v = i.createContext({})
-      n.Ts && (v.displayName = 'ColorModeContext')
-      var y = () => {
-        var r = i.useContext(v)
-        if (void 0 === r) throw new Error('useColorMode must be used within a ColorModeProvider')
-        return r
-      }
-      function x(r) {
-        var {
-            value: e,
-            children: t,
-            options: { useSystemColorMode: n, initialColorMode: s },
-            colorModeManager: l = m,
-          } = r,
-          [c, b] = i.useState('cookie' === l.type ? l.get(s) : s)
-        i.useEffect(() => {
-          if (o.jU && 'localStorage' === l.type) {
-            var r = n ? f(s) : p() || l.get()
-            r && b(r)
-          }
-        }, [l, n, s]),
-          i.useEffect(() => {
-            var r = 'dark' === c
-            u(r), h(r ? 'dark' : 'light')
-          }, [c])
-        var g = i.useCallback(
-            (r) => {
-              l.set(r), b(r)
-            },
-            [l],
-          ),
-          y = i.useCallback(() => {
-            g('light' === c ? 'dark' : 'light')
-          }, [c, g])
-        i.useEffect(() => {
-          var r
-          return (
-            n &&
-              (r = (function (r) {
-                if (!('matchMedia' in window)) return a.ZT
-                var e = window.matchMedia(d),
-                  t = () => {
-                    r(e.matches ? 'dark' : 'light')
-                  }
-                return (
-                  t(),
-                  e.addListener(t),
-                  () => {
-                    e.removeListener(t)
-                  }
-                )
-              })(g)),
-            () => {
-              r && n && r()
-            }
-          )
-        }, [g, n])
-        var x = i.useMemo(
-          () => ({
-            colorMode: null != e ? e : c,
-            toggleColorMode: e ? a.ZT : y,
-            setColorMode: e ? a.ZT : g,
-          }),
-          [c, g, y, e],
-        )
-        return i.createElement(v.Provider, { value: x }, t)
-      }
-      n.Ts && (x.displayName = 'ColorModeProvider')
-      n.Ts
-      n.Ts
-    },
-    94577: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        vc: function () {
-          return i
-        },
-        Me: function () {
-          return s
-        },
-        ZS: function () {
-          return l
-        },
-      })
-      var n = t(67294),
-        o = { prefix: Math.round(1e10 * Math.random()), current: 0 },
-        a = n.createContext(o),
-        i = n.memo((r) => {
-          var { children: e } = r,
-            t = n.useContext(a),
-            i = t === o,
-            s = n.useMemo(() => ({ prefix: i ? 0 : ++t.prefix, current: 0 }), [i, t])
-          return n.createElement(a.Provider, { value: s }, e)
-        })
-      function s(r, e) {
-        var t = n.useContext(a)
-        return n.useMemo(() => r || [e, t.prefix, ++t.current].filter(Boolean).join('-'), [r, e])
-      }
-      function l(r) {
-        for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++)
-          t[o - 1] = arguments[o]
-        var a = s(r)
-        return n.useMemo(() => t.map((r) => r + '-' + a), [a, t])
-      }
-    },
-    34288: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        L: function () {
-          return s
-        },
-        h: function () {
-          return l
-        },
-      })
-      var n = t(73808),
-        o = t(28500),
-        a = t(67294),
-        [i, s] = (0, o.k)({ strict: !1, name: 'PortalManagerContext' })
-      function l(r) {
-        var { children: e, zIndex: t } = r
-        return a.createElement(i, { value: { zIndex: t } }, e)
-      }
-      n.Ts && (l.displayName = 'PortalManager')
-    },
-    28500: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        k: function () {
-          return o
-        },
-      })
-      var n = t(67294)
-      function o(r) {
-        void 0 === r && (r = {})
-        var {
-            strict: e = !0,
-            errorMessage:
-              t = 'useContext: `context` is undefined. Seems you forgot to wrap component within the Provider',
-            name: o,
-          } = r,
-          a = n.createContext(void 0)
-        return (
-          (a.displayName = o),
-          [
-            a.Provider,
-            function r() {
-              var o = n.useContext(a)
-              if (!o && e) {
-                var i = new Error(t)
-                throw (
-                  ((i.name = 'ContextError'),
-                  null == Error.captureStackTrace || Error.captureStackTrace(i, r),
-                  i)
-                )
-              }
-              return o
-            },
-            a,
-          ]
-        )
-      }
-    },
-    13205: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Oq: function () {
-          return B
-        },
-        Cg: function () {
-          return j
-        },
-        $_: function () {
-          return O
-        },
-        cE: function () {
-          return T
-        },
-        hX: function () {
-          return F
-        },
-        GQ: function () {
-          return P
-        },
-        eC: function () {
-          return I
-        },
-        Mw: function () {
-          return M
-        },
-        bK: function () {
-          return D
-        },
-        pb: function () {
-          return W
-        },
-        o_: function () {
-          return $
-        },
-        FK: function () {
-          return Z
-        },
-        v_: function () {
-          return V
-        },
-        Dh: function () {
-          return q
-        },
-        QX: function () {
-          return G
-        },
-        vs: function () {
-          return Y
-        },
-        eR: function () {
-          return X
-        },
-        cp: function () {
-          return U
-        },
-      })
-      var n = t(73808)
-      function o(r) {
-        var { scale: e, transform: t, compose: o } = r
-        return (r, a) => {
-          var i,
-            s = ((r, e) => (t) => {
-              var o = String(e),
-                a = r ? r + '.' + o : o
-              return (0, n.Kn)(t.__cssMap) && a in t.__cssMap ? t.__cssMap[a].varRef : e
-            })(
-              e,
-              r,
-            )(a),
-            l = null != (i = null == t ? void 0 : t(s, a)) ? i : s
-          return o && (l = o(l, a)), l
-        }
-      }
-      function a(r, e) {
-        return (t) => {
-          var n = { property: t, scale: r }
-          return (n.transform = o({ scale: r, transform: e })), n
-        }
-      }
-      var i = (r) => {
-        var { rtl: e, ltr: t } = r
-        return (r) => ('rtl' === r.direction ? e : t)
-      }
-      var s = [
-        'rotate(var(--chakra-rotate, 0))',
-        'scaleX(var(--chakra-scale-x, 1))',
-        'scaleY(var(--chakra-scale-y, 1))',
-        'skewX(var(--chakra-skew-x, 0))',
-        'skewY(var(--chakra-skew-y, 0))',
-      ]
-      var l = {
-          '--chakra-blur': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-brightness': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-contrast': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-invert': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-saturate': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-sepia': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-drop-shadow': 'var(--chakra-empty,/*!*/ /*!*/)',
-          filter: [
-            'var(--chakra-blur)',
-            'var(--chakra-brightness)',
-            'var(--chakra-contrast)',
-            'var(--chakra-grayscale)',
-            'var(--chakra-hue-rotate)',
-            'var(--chakra-invert)',
-            'var(--chakra-saturate)',
-            'var(--chakra-sepia)',
-            'var(--chakra-drop-shadow)',
-          ].join(' '),
-        },
-        c = {
-          backdropFilter: [
-            'var(--chakra-backdrop-blur)',
-            'var(--chakra-backdrop-brightness)',
-            'var(--chakra-backdrop-contrast)',
-            'var(--chakra-backdrop-grayscale)',
-            'var(--chakra-backdrop-hue-rotate)',
-            'var(--chakra-backdrop-invert)',
-            'var(--chakra-backdrop-opacity)',
-            'var(--chakra-backdrop-saturate)',
-            'var(--chakra-backdrop-sepia)',
-          ].join(' '),
-          '--chakra-backdrop-blur': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-brightness': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-contrast': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-invert': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-opacity': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-saturate': 'var(--chakra-empty,/*!*/ /*!*/)',
-          '--chakra-backdrop-sepia': 'var(--chakra-empty,/*!*/ /*!*/)',
-        }
-      var u = {
-          'row-reverse': { space: '--chakra-space-x-reverse', divide: '--chakra-divide-x-reverse' },
-          'column-reverse': {
-            space: '--chakra-space-y-reverse',
-            divide: '--chakra-divide-y-reverse',
-          },
-        },
-        d = '& > :not(style) ~ :not(style)',
-        f = {
-          [d]: {
-            marginInlineStart:
-              'calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))',
-            marginInlineEnd: 'calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))',
-          },
-        },
-        p = {
-          [d]: {
-            marginTop: 'calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))',
-            marginBottom: 'calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))',
-          },
-        }
-      function h(r, e) {
-        h = function (r, e) {
-          return new a(r, void 0, e)
-        }
-        var t = g(RegExp),
-          n = RegExp.prototype,
-          o = new WeakMap()
-        function a(r, e, n) {
-          var a = t.call(this, r, e)
-          return o.set(a, n || o.get(r)), a
-        }
-        function i(r, e) {
-          var t = o.get(e)
-          return Object.keys(t).reduce(function (e, n) {
-            return (e[n] = r[t[n]]), e
-          }, Object.create(null))
-        }
-        return (
-          b(a, t),
-          (a.prototype.exec = function (r) {
-            var e = n.exec.call(this, r)
-            return e && (e.groups = i(e, this)), e
-          }),
-          (a.prototype[Symbol.replace] = function (r, e) {
-            if ('string' === typeof e) {
-              var t = o.get(this)
-              return n[Symbol.replace].call(
-                this,
-                r,
-                e.replace(/\$<([^>]+)>/g, function (r, e) {
-                  return '$' + t[e]
-                }),
-              )
-            }
-            if ('function' === typeof e) {
-              var a = this
-              return n[Symbol.replace].call(this, r, function () {
-                var r = []
-                return (
-                  r.push.apply(r, arguments),
-                  'object' !== typeof r[r.length - 1] && r.push(i(r, a)),
-                  e.apply(this, r)
-                )
-              })
-            }
-            return n[Symbol.replace].call(this, r, e)
-          }),
-          h.apply(this, arguments)
-        )
-      }
-      function b(r, e) {
-        if ('function' !== typeof e && null !== e)
-          throw new TypeError('Super expression must either be null or a function')
-        ;(r.prototype = Object.create(e && e.prototype, {
-          constructor: { value: r, writable: !0, configurable: !0 },
-        })),
-          e && y(r, e)
-      }
-      function g(r) {
-        var e = 'function' === typeof Map ? new Map() : void 0
-        return (g = function (r) {
-          if (null === r || ((t = r), -1 === Function.toString.call(t).indexOf('[native code]')))
-            return r
-          var t
-          if ('function' !== typeof r)
-            throw new TypeError('Super expression must either be null or a function')
-          if ('undefined' !== typeof e) {
-            if (e.has(r)) return e.get(r)
-            e.set(r, n)
-          }
-          function n() {
-            return m(r, arguments, x(this).constructor)
-          }
-          return (
-            (n.prototype = Object.create(r.prototype, {
-              constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 },
-            })),
-            y(n, r)
-          )
-        })(r)
-      }
-      function m(r, e, t) {
-        return (m = v()
-          ? Reflect.construct
-          : function (r, e, t) {
-              var n = [null]
-              n.push.apply(n, e)
-              var o = new (Function.bind.apply(r, n))()
-              return t && y(o, t.prototype), o
-            }).apply(null, arguments)
-      }
-      function v() {
-        if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-        if (Reflect.construct.sham) return !1
-        if ('function' === typeof Proxy) return !0
-        try {
-          return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-        } catch (r) {
-          return !1
-        }
-      }
-      function y(r, e) {
-        return (y =
-          Object.setPrototypeOf ||
-          function (r, e) {
-            return (r.__proto__ = e), r
-          })(r, e)
-      }
-      function x(r) {
-        return (x = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function (r) {
-              return r.__proto__ || Object.getPrototypeOf(r)
-            })(r)
-      }
-      var w = {
-          'to-t': 'to top',
-          'to-tr': 'to top right',
-          'to-r': 'to right',
-          'to-br': 'to bottom right',
-          'to-b': 'to bottom',
-          'to-bl': 'to bottom left',
-          'to-l': 'to left',
-          'to-tl': 'to top left',
-        },
-        S = new Set(Object.values(w)),
-        k = new Set(['none', '-moz-initial', 'inherit', 'initial', 'revert', 'unset']),
-        _ = (r) => r.trim()
-      var C = (r) => (e) => r + '(' + e + ')',
-        A = {
-          filter: (r) => ('auto' !== r ? r : l),
-          backdropFilter: (r) => ('auto' !== r ? r : c),
-          ring: (r) =>
-            (function (r) {
-              return {
-                '--chakra-ring-offset-shadow':
-                  'var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)',
-                '--chakra-ring-shadow':
-                  'var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)',
-                '--chakra-ring-width': r,
-                boxShadow: [
-                  'var(--chakra-ring-offset-shadow)',
-                  'var(--chakra-ring-shadow)',
-                  'var(--chakra-shadow, 0 0 #0000)',
-                ].join(', '),
-              }
-            })(A.px(r)),
-          bgClip: (r) =>
-            'text' === r ? { color: 'transparent', backgroundClip: 'text' } : { backgroundClip: r },
-          transform: (r) =>
-            'auto' === r
-              ? [
-                  'translateX(var(--chakra-translate-x, 0))',
-                  'translateY(var(--chakra-translate-y, 0))',
-                  ...s,
-                ].join(' ')
-              : 'auto-gpu' === r
-              ? [
-                  'translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)',
-                  ...s,
-                ].join(' ')
-              : r,
-          px(r) {
-            if (null == r) return r
-            var { unitless: e } = ((r) => {
-              var e = parseFloat(r.toString()),
-                t = r.toString().replace(String(e), '')
-              return { unitless: !t, value: e, unit: t }
-            })(r)
-            return e || (0, n.hj)(r) ? r + 'px' : r
-          },
-          fraction: (r) => (!(0, n.hj)(r) || r > 1 ? r : 100 * r + '%'),
-          float: (r, e) => ('rtl' === e.direction ? { left: 'right', right: 'left' }[r] : r),
-          degree(r) {
-            if ((0, n.FS)(r) || null == r) return r
-            var e = (0, n.HD)(r) && !r.endsWith('deg')
-            return (0, n.hj)(r) || e ? r + 'deg' : r
-          },
-          gradient: (r, e) =>
-            (function (r, e) {
-              var t, n
-              if (null == r || k.has(r)) return r
-              var o = h(/(^[\x2DA-Za-z]+)\(((.*))\)/g, { type: 1, values: 2 }),
-                { type: a, values: i } =
-                  null != (t = null == (n = o.exec(r)) ? void 0 : n.groups) ? t : {}
-              if (!a || !i) return r
-              var s = a.includes('-gradient') ? a : a + '-gradient',
-                [l, ...c] = i.split(',').map(_).filter(Boolean)
-              if (0 === (null == c ? void 0 : c.length)) return r
-              var u = l in w ? w[l] : l
-              return (
-                c.unshift(u),
-                s +
-                  '(' +
-                  c
-                    .map((r) => {
-                      if (S.has(r)) return r
-                      var [t, n] = r.split(' '),
-                        o = 'colors.' + t,
-                        a = o in e.__cssMap ? e.__cssMap[o].varRef : t
-                      return n ? [a, n].join(' ') : a
-                    })
-                    .join(', ') +
-                  ')'
-              )
-            })(r, null != e ? e : {}),
-          blur: C('blur'),
-          opacity: C('opacity'),
-          brightness: C('brightness'),
-          contrast: C('contrast'),
-          dropShadow: C('drop-shadow'),
-          grayscale: C('grayscale'),
-          hueRotate: C('hue-rotate'),
-          invert: C('invert'),
-          saturate: C('saturate'),
-          sepia: C('sepia'),
-          bgImage: (r) => (null == r || E(r) || k.has(r) ? r : 'url(' + r + ')'),
-          outline(r) {
-            var e = '0' === String(r) || 'none' === String(r)
-            return null !== r && e
-              ? { outline: '2px solid transparent', outlineOffset: '2px' }
-              : { outline: r }
-          },
-          flexDirection(r) {
-            var e,
-              { space: t, divide: n } = null != (e = u[r]) ? e : {},
-              o = { flexDirection: r }
-            return t && (o[t] = 1), n && (o[n] = 1), o
-          },
-        },
-        E = (r) => (0, n.HD)(r) && r.includes('(') && r.includes(')')
-      function z() {
-        return (z =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var R = {
-          borderWidths: a('borderWidths'),
-          borderStyles: a('borderStyles'),
-          colors: a('colors'),
-          borders: a('borders'),
-          radii: a('radii', A.px),
-          space: a('space', A.px),
-          spaceT: a('space', A.px),
-          degreeT: (r) => ({ property: r, transform: A.degree }),
-          prop: (r, e, t) =>
-            z({ property: r, scale: e }, e && { transform: o({ scale: e, transform: t }) }),
-          propT: (r, e) => ({ property: r, transform: e }),
-          sizes: a('sizes', A.px),
-          sizesT: a('sizes', A.fraction),
-          shadows: a('shadows'),
-          logical: function (r) {
-            var { property: e, scale: t, transform: n } = r
-            return { scale: t, property: i(e), transform: t ? o({ scale: t, compose: n }) : n }
-          },
-          blur: a('blur', A.blur),
-        },
-        B = {
-          background: R.colors('background'),
-          backgroundColor: R.colors('backgroundColor'),
-          backgroundImage: R.propT('backgroundImage', A.bgImage),
-          backgroundSize: !0,
-          backgroundPosition: !0,
-          backgroundRepeat: !0,
-          backgroundAttachment: !0,
-          backgroundClip: { transform: A.bgClip },
-          bgSize: R.prop('backgroundSize'),
-          bgPosition: R.prop('backgroundPosition'),
-          bg: R.colors('background'),
-          bgColor: R.colors('backgroundColor'),
-          bgPos: R.prop('backgroundPosition'),
-          bgRepeat: R.prop('backgroundRepeat'),
-          bgAttachment: R.prop('backgroundAttachment'),
-          bgGradient: R.propT('backgroundImage', A.gradient),
-          bgClip: { transform: A.bgClip },
-        }
-      Object.assign(B, { bgImage: B.backgroundImage, bgImg: B.backgroundImage })
-      var j = {
-        border: R.borders('border'),
-        borderWidth: R.borderWidths('borderWidth'),
-        borderStyle: R.borderStyles('borderStyle'),
-        borderColor: R.colors('borderColor'),
-        borderRadius: R.radii('borderRadius'),
-        borderTop: R.borders('borderTop'),
-        borderBlockStart: R.borders('borderBlockStart'),
-        borderTopLeftRadius: R.radii('borderTopLeftRadius'),
-        borderStartStartRadius: R.logical({
-          scale: 'radii',
-          property: { ltr: 'borderTopLeftRadius', rtl: 'borderTopRightRadius' },
-        }),
-        borderEndStartRadius: R.logical({
-          scale: 'radii',
-          property: { ltr: 'borderBottomLeftRadius', rtl: 'borderBottomRightRadius' },
-        }),
-        borderTopRightRadius: R.radii('borderTopRightRadius'),
-        borderStartEndRadius: R.logical({
-          scale: 'radii',
-          property: { ltr: 'borderTopRightRadius', rtl: 'borderTopLeftRadius' },
-        }),
-        borderEndEndRadius: R.logical({
-          scale: 'radii',
-          property: { ltr: 'borderBottomRightRadius', rtl: 'borderBottomLeftRadius' },
-        }),
-        borderRight: R.borders('borderRight'),
-        borderInlineEnd: R.borders('borderInlineEnd'),
-        borderBottom: R.borders('borderBottom'),
-        borderBlockEnd: R.borders('borderBlockEnd'),
-        borderBottomLeftRadius: R.radii('borderBottomLeftRadius'),
-        borderBottomRightRadius: R.radii('borderBottomRightRadius'),
-        borderLeft: R.borders('borderLeft'),
-        borderInlineStart: { property: 'borderInlineStart', scale: 'borders' },
-        borderInlineStartRadius: R.logical({
-          scale: 'radii',
-          property: {
-            ltr: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
-            rtl: ['borderTopRightRadius', 'borderBottomRightRadius'],
-          },
-        }),
-        borderInlineEndRadius: R.logical({
-          scale: 'radii',
-          property: {
-            ltr: ['borderTopRightRadius', 'borderBottomRightRadius'],
-            rtl: ['borderTopLeftRadius', 'borderBottomLeftRadius'],
-          },
-        }),
-        borderX: R.borders(['borderLeft', 'borderRight']),
-        borderInline: R.borders('borderInline'),
-        borderY: R.borders(['borderTop', 'borderBottom']),
-        borderBlock: R.borders('borderBlock'),
-        borderTopWidth: R.borderWidths('borderTopWidth'),
-        borderBlockStartWidth: R.borderWidths('borderBlockStartWidth'),
-        borderTopColor: R.colors('borderTopColor'),
-        borderBlockStartColor: R.colors('borderBlockStartColor'),
-        borderTopStyle: R.borderStyles('borderTopStyle'),
-        borderBlockStartStyle: R.borderStyles('borderBlockStartStyle'),
-        borderBottomWidth: R.borderWidths('borderBottomWidth'),
-        borderBlockEndWidth: R.borderWidths('borderBlockEndWidth'),
-        borderBottomColor: R.colors('borderBottomColor'),
-        borderBlockEndColor: R.colors('borderBlockEndColor'),
-        borderBottomStyle: R.borderStyles('borderBottomStyle'),
-        borderBlockEndStyle: R.borderStyles('borderBlockEndStyle'),
-        borderLeftWidth: R.borderWidths('borderLeftWidth'),
-        borderInlineStartWidth: R.borderWidths('borderInlineStartWidth'),
-        borderLeftColor: R.colors('borderLeftColor'),
-        borderInlineStartColor: R.colors('borderInlineStartColor'),
-        borderLeftStyle: R.borderStyles('borderLeftStyle'),
-        borderInlineStartStyle: R.borderStyles('borderInlineStartStyle'),
-        borderRightWidth: R.borderWidths('borderRightWidth'),
-        borderInlineEndWidth: R.borderWidths('borderInlineEndWidth'),
-        borderRightColor: R.colors('borderRightColor'),
-        borderInlineEndColor: R.colors('borderInlineEndColor'),
-        borderRightStyle: R.borderStyles('borderRightStyle'),
-        borderInlineEndStyle: R.borderStyles('borderInlineEndStyle'),
-        borderTopRadius: R.radii(['borderTopLeftRadius', 'borderTopRightRadius']),
-        borderBottomRadius: R.radii(['borderBottomLeftRadius', 'borderBottomRightRadius']),
-        borderLeftRadius: R.radii(['borderTopLeftRadius', 'borderBottomLeftRadius']),
-        borderRightRadius: R.radii(['borderTopRightRadius', 'borderBottomRightRadius']),
-      }
-      Object.assign(j, {
-        rounded: j.borderRadius,
-        roundedTop: j.borderTopRadius,
-        roundedTopLeft: j.borderTopLeftRadius,
-        roundedTopRight: j.borderTopRightRadius,
-        roundedTopStart: j.borderStartStartRadius,
-        roundedTopEnd: j.borderStartEndRadius,
-        roundedBottom: j.borderBottomRadius,
-        roundedBottomLeft: j.borderBottomLeftRadius,
-        roundedBottomRight: j.borderBottomRightRadius,
-        roundedBottomStart: j.borderEndStartRadius,
-        roundedBottomEnd: j.borderEndEndRadius,
-        roundedLeft: j.borderLeftRadius,
-        roundedRight: j.borderRightRadius,
-        roundedStart: j.borderInlineStartRadius,
-        roundedEnd: j.borderInlineEndRadius,
-        borderStart: j.borderInlineStart,
-        borderEnd: j.borderInlineEnd,
-        borderTopStartRadius: j.borderStartStartRadius,
-        borderTopEndRadius: j.borderStartEndRadius,
-        borderBottomStartRadius: j.borderEndStartRadius,
-        borderBottomEndRadius: j.borderEndEndRadius,
-        borderStartRadius: j.borderInlineStartRadius,
-        borderEndRadius: j.borderInlineEndRadius,
-        borderStartWidth: j.borderInlineStartWidth,
-        borderEndWidth: j.borderInlineEndWidth,
-        borderStartColor: j.borderInlineStartColor,
-        borderEndColor: j.borderInlineEndColor,
-        borderStartStyle: j.borderInlineStartStyle,
-        borderEndStyle: j.borderInlineEndStyle,
-      })
-      var O = {
-          color: R.colors('color'),
-          textColor: R.colors('color'),
-          fill: R.colors('fill'),
-          stroke: R.colors('stroke'),
-        },
-        T = {
-          boxShadow: R.shadows('boxShadow'),
-          mixBlendMode: !0,
-          blendMode: R.prop('mixBlendMode'),
-          backgroundBlendMode: !0,
-          bgBlendMode: R.prop('backgroundBlendMode'),
-          opacity: !0,
-        }
-      Object.assign(T, { shadow: T.boxShadow })
-      var F = {
-          filter: { transform: A.filter },
-          blur: R.blur('--chakra-blur'),
-          brightness: R.propT('--chakra-brightness', A.brightness),
-          contrast: R.propT('--chakra-contrast', A.contrast),
-          hueRotate: R.degreeT('--chakra-hue-rotate'),
-          invert: R.propT('--chakra-invert', A.invert),
-          saturate: R.propT('--chakra-saturate', A.saturate),
-          dropShadow: R.propT('--chakra-drop-shadow', A.dropShadow),
-          backdropFilter: { transform: A.backdropFilter },
-          backdropBlur: R.blur('--chakra-backdrop-blur'),
-          backdropBrightness: R.propT('--chakra-backdrop-brightness', A.brightness),
-          backdropContrast: R.propT('--chakra-backdrop-contrast', A.contrast),
-          backdropHueRotate: R.degreeT('--chakra-backdrop-hue-rotate'),
-          backdropInvert: R.propT('--chakra-backdrop-invert', A.invert),
-          backdropSaturate: R.propT('--chakra-backdrop-saturate', A.saturate),
-        },
-        P = {
-          alignItems: !0,
-          alignContent: !0,
-          justifyItems: !0,
-          justifyContent: !0,
-          flexWrap: !0,
-          flexDirection: { transform: A.flexDirection },
-          experimental_spaceX: {
-            static: f,
-            transform: o({
-              scale: 'space',
-              transform: (r) => (null !== r ? { '--chakra-space-x': r } : null),
-            }),
-          },
-          experimental_spaceY: {
-            static: p,
-            transform: o({
-              scale: 'space',
-              transform: (r) => (null != r ? { '--chakra-space-y': r } : null),
-            }),
-          },
-          flex: !0,
-          flexFlow: !0,
-          flexGrow: !0,
-          flexShrink: !0,
-          flexBasis: R.sizes('flexBasis'),
-          justifySelf: !0,
-          alignSelf: !0,
-          order: !0,
-          placeItems: !0,
-          placeContent: !0,
-          placeSelf: !0,
-        }
-      Object.assign(P, { flexDir: P.flexDirection })
-      var I = {
-          gridGap: R.space('gridGap'),
-          gridColumnGap: R.space('gridColumnGap'),
-          gridRowGap: R.space('gridRowGap'),
-          gridColumn: !0,
-          gridRow: !0,
-          gridAutoFlow: !0,
-          gridAutoColumns: !0,
-          gridColumnStart: !0,
-          gridColumnEnd: !0,
-          gridRowStart: !0,
-          gridRowEnd: !0,
-          gridAutoRows: !0,
-          gridTemplate: !0,
-          gridTemplateColumns: !0,
-          gridTemplateRows: !0,
-          gridTemplateAreas: !0,
-          gridArea: !0,
-        },
-        M = {
-          appearance: !0,
-          cursor: !0,
-          resize: !0,
-          userSelect: !0,
-          pointerEvents: !0,
-          outline: { transform: A.outline },
-          outlineOffset: !0,
-          outlineColor: R.colors('outlineColor'),
-        },
-        D = {
-          width: R.sizesT('width'),
-          inlineSize: R.sizesT('inlineSize'),
-          height: R.sizes('height'),
-          blockSize: R.sizes('blockSize'),
-          boxSize: R.sizes(['width', 'height']),
-          minWidth: R.sizes('minWidth'),
-          minInlineSize: R.sizes('minInlineSize'),
-          minHeight: R.sizes('minHeight'),
-          minBlockSize: R.sizes('minBlockSize'),
-          maxWidth: R.sizes('maxWidth'),
-          maxInlineSize: R.sizes('maxInlineSize'),
-          maxHeight: R.sizes('maxHeight'),
-          maxBlockSize: R.sizes('maxBlockSize'),
-          d: R.prop('display'),
-          overflow: !0,
-          overflowX: !0,
-          overflowY: !0,
-          overscrollBehavior: !0,
-          overscrollBehaviorX: !0,
-          overscrollBehaviorY: !0,
-          display: !0,
-          verticalAlign: !0,
-          boxSizing: !0,
-          boxDecorationBreak: !0,
-          float: R.propT('float', A.float),
-          objectFit: !0,
-          objectPosition: !0,
-          visibility: !0,
-          isolation: !0,
-        }
-      Object.assign(D, {
-        w: D.width,
-        h: D.height,
-        minW: D.minWidth,
-        maxW: D.maxWidth,
-        minH: D.minHeight,
-        maxH: D.maxHeight,
-        overscroll: D.overscrollBehavior,
-        overscrollX: D.overscrollBehaviorX,
-        overscrollY: D.overscrollBehaviorY,
-      })
-      var W = {
-          listStyleType: !0,
-          listStylePosition: !0,
-          listStylePos: R.prop('listStylePosition'),
-          listStyleImage: !0,
-          listStyleImg: R.prop('listStyleImage'),
-        },
-        J = t(4651),
-        N = {
-          border: '0px',
-          clip: 'rect(0, 0, 0, 0)',
-          width: '1px',
-          height: '1px',
-          margin: '-1px',
-          padding: '0px',
-          overflow: 'hidden',
-          whiteSpace: 'nowrap',
-          position: 'absolute',
-        },
-        H = {
-          position: 'static',
-          width: 'auto',
-          height: 'auto',
-          clip: 'auto',
-          padding: '0',
-          margin: '0',
-          overflow: 'visible',
-          whiteSpace: 'normal',
-        },
-        L = (r, e, t) => {
-          var n = {},
-            o = (0, J.Wf)(r, e, {})
-          for (var a in o) {
-            ;(a in t && null != t[a]) || (n[a] = o[a])
-          }
-          return n
-        },
-        $ = {
-          srOnly: { transform: (r) => (!0 === r ? N : 'focusable' === r ? H : {}) },
-          layerStyle: { processResult: !0, transform: (r, e, t) => L(e, 'layerStyles.' + r, t) },
-          textStyle: { processResult: !0, transform: (r, e, t) => L(e, 'textStyles.' + r, t) },
-          apply: { processResult: !0, transform: (r, e, t) => L(e, r, t) },
-        },
-        Z = {
-          position: !0,
-          pos: R.prop('position'),
-          zIndex: R.prop('zIndex', 'zIndices'),
-          inset: R.spaceT(['top', 'right', 'bottom', 'left']),
-          insetX: R.spaceT(['left', 'right']),
-          insetInline: R.spaceT('insetInline'),
-          insetY: R.spaceT(['top', 'bottom']),
-          insetBlock: R.spaceT('insetBlock'),
-          top: R.spaceT('top'),
-          insetBlockStart: R.spaceT('insetBlockStart'),
-          bottom: R.spaceT('bottom'),
-          insetBlockEnd: R.spaceT('insetBlockEnd'),
-          left: R.spaceT('left'),
-          insetInlineStart: R.logical({ scale: 'space', property: { ltr: 'left', rtl: 'right' } }),
-          right: R.spaceT('right'),
-          insetInlineEnd: R.logical({ scale: 'space', property: { ltr: 'right', rtl: 'left' } }),
-        }
-      Object.assign(Z, { insetStart: Z.insetInlineStart, insetEnd: Z.insetInlineEnd })
-      var V = {
-          ring: { transform: A.ring },
-          ringColor: R.colors('--chakra-ring-color'),
-          ringOffset: R.prop('--chakra-ring-offset-width'),
-          ringOffsetColor: R.colors('--chakra-ring-offset-color'),
-          ringInset: R.prop('--chakra-ring-inset'),
-        },
-        q = {
-          margin: R.spaceT('margin'),
-          marginTop: R.spaceT('marginTop'),
-          marginBlockStart: R.spaceT('marginBlockStart'),
-          marginRight: R.spaceT('marginRight'),
-          marginInlineEnd: R.spaceT('marginInlineEnd'),
-          marginBottom: R.spaceT('marginBottom'),
-          marginBlockEnd: R.spaceT('marginBlockEnd'),
-          marginLeft: R.spaceT('marginLeft'),
-          marginInlineStart: R.spaceT('marginInlineStart'),
-          marginX: R.spaceT(['marginInlineStart', 'marginInlineEnd']),
-          marginInline: R.spaceT('marginInline'),
-          marginY: R.spaceT(['marginTop', 'marginBottom']),
-          marginBlock: R.spaceT('marginBlock'),
-          padding: R.space('padding'),
-          paddingTop: R.space('paddingTop'),
-          paddingBlockStart: R.space('paddingBlockStart'),
-          paddingRight: R.space('paddingRight'),
-          paddingBottom: R.space('paddingBottom'),
-          paddingBlockEnd: R.space('paddingBlockEnd'),
-          paddingLeft: R.space('paddingLeft'),
-          paddingInlineStart: R.space('paddingInlineStart'),
-          paddingInlineEnd: R.space('paddingInlineEnd'),
-          paddingX: R.space(['paddingInlineStart', 'paddingInlineEnd']),
-          paddingInline: R.space('paddingInline'),
-          paddingY: R.space(['paddingTop', 'paddingBottom']),
-          paddingBlock: R.space('paddingBlock'),
-        }
-      Object.assign(q, {
-        m: q.margin,
-        mt: q.marginTop,
-        mr: q.marginRight,
-        me: q.marginInlineEnd,
-        marginEnd: q.marginInlineEnd,
-        mb: q.marginBottom,
-        ml: q.marginLeft,
-        ms: q.marginInlineStart,
-        marginStart: q.marginInlineStart,
-        mx: q.marginX,
-        my: q.marginY,
-        p: q.padding,
-        pt: q.paddingTop,
-        py: q.paddingY,
-        px: q.paddingX,
-        pb: q.paddingBottom,
-        pl: q.paddingLeft,
-        ps: q.paddingInlineStart,
-        paddingStart: q.paddingInlineStart,
-        pr: q.paddingRight,
-        pe: q.paddingInlineEnd,
-        paddingEnd: q.paddingInlineEnd,
-      })
-      var G = {
-          textDecorationColor: R.colors('textDecorationColor'),
-          textDecoration: !0,
-          textDecor: { property: 'textDecoration' },
-          textDecorationLine: !0,
-          textDecorationStyle: !0,
-          textDecorationThickness: !0,
-          textUnderlineOffset: !0,
-          textShadow: R.shadows('textShadow'),
-        },
-        Y = {
-          clipPath: !0,
-          transform: R.propT('transform', A.transform),
-          transformOrigin: !0,
-          translateX: R.spaceT('--chakra-translate-x'),
-          translateY: R.spaceT('--chakra-translate-y'),
-          skewX: R.degreeT('--chakra-skew-x'),
-          skewY: R.degreeT('--chakra-skew-y'),
-          scaleX: R.prop('--chakra-scale-x'),
-          scaleY: R.prop('--chakra-scale-y'),
-          scale: R.prop(['--chakra-scale-x', '--chakra-scale-y']),
-          rotate: R.degreeT('--chakra-rotate'),
-        },
-        X = {
-          transition: !0,
-          transitionDelay: !0,
-          animation: !0,
-          willChange: !0,
-          transitionDuration: R.prop('transitionDuration', 'transition.duration'),
-          transitionProperty: R.prop('transitionProperty', 'transition.property'),
-          transitionTimingFunction: R.prop('transitionTimingFunction', 'transition.easing'),
-        },
-        U = {
-          fontFamily: R.prop('fontFamily', 'fonts'),
-          fontSize: R.prop('fontSize', 'fontSizes', A.px),
-          fontWeight: R.prop('fontWeight', 'fontWeights'),
-          lineHeight: R.prop('lineHeight', 'lineHeights'),
-          letterSpacing: R.prop('letterSpacing', 'letterSpacings'),
-          textAlign: !0,
-          fontStyle: !0,
-          wordBreak: !0,
-          overflowWrap: !0,
-          textOverflow: !0,
-          textTransform: !0,
-          whiteSpace: !0,
-          noOfLines: {
-            static: {
-              overflow: 'hidden',
-              textOverflow: 'ellipsis',
-              display: '-webkit-box',
-              WebkitBoxOrient: 'vertical',
-              WebkitLineClamp: 'var(--chakra-line-clamp)',
-            },
-            property: '--chakra-line-clamp',
-          },
-          isTruncated: {
-            transform(r) {
-              if (!0 === r)
-                return { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }
-            },
-          },
-        }
-    },
-    55608: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        c0: function () {
-          return C
-        },
-      })
-      var n = t(73808)
-      function o(r) {
-        return (0, n.Kn)(r) && r.reference ? r.reference : String(r)
-      }
-      var a = function (r) {
-          for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++)
-            t[n - 1] = arguments[n]
-          return t
-            .map(o)
-            .join(' ' + r + ' ')
-            .replace(/calc/g, '')
-        },
-        i = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return 'calc(' + a('+', ...e) + ')'
-        },
-        s = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return 'calc(' + a('-', ...e) + ')'
-        },
-        l = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return 'calc(' + a('*', ...e) + ')'
-        },
-        c = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return 'calc(' + a('/', ...e) + ')'
-        },
-        u = (r) => {
-          var e = o(r)
-          return null == e || Number.isNaN(parseFloat(e))
-            ? l(e, -1)
-            : String(e).startsWith('-')
-            ? String(e).slice(1)
-            : '-' + e
-        },
-        d = Object.assign(
-          (r) => ({
-            add: function () {
-              for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
-                t[n] = arguments[n]
-              return d(i(r, ...t))
-            },
-            subtract: function () {
-              for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
-                t[n] = arguments[n]
-              return d(s(r, ...t))
-            },
-            multiply: function () {
-              for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
-                t[n] = arguments[n]
-              return d(l(r, ...t))
-            },
-            divide: function () {
-              for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
-                t[n] = arguments[n]
-              return d(c(r, ...t))
-            },
-            negate: () => d(u(r)),
-            toString: () => r.toString(),
-          }),
-          { add: i, subtract: s, multiply: l, divide: c, negate: u },
-        ),
-        f = t(88456)
-      function p(r) {
-        var e = (function (r, e) {
-          return void 0 === e && (e = '-'), r.replace(/\s+/g, e)
-        })(r.toString())
-        return e.includes('\\.')
-          ? r
-          : !Number.isInteger(parseFloat(r.toString()))
-          ? e.replace('.', '\\.')
-          : r
-      }
-      function h(r, e) {
-        return 'var(' + p(r) + (e ? ', ' + e : '') + ')'
-      }
-      function b(r, e) {
-        return (
-          void 0 === e && (e = ''),
-          '--' +
-            (function (r, e) {
-              return void 0 === e && (e = ''), [e, p(r)].filter(Boolean).join('-')
-            })(r, e)
-        )
-      }
-      function g(r, e, t) {
-        var n = b(r, t)
-        return { variable: n, reference: h(n, e) }
-      }
-      function m() {
-        return (m =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function v(r, e) {
-        var t = { cssMap: {}, cssVars: {} }
-        return (
-          (function (r, e) {
-            ;(function r(t, o) {
-              return (
-                void 0 === o && (o = []),
-                (0, n.kJ)(t)
-                  ? t.map((e, t) => r(e, [...o, String(t)]))
-                  : (0, n.Kn)(t)
-                  ? Object.fromEntries(
-                      Object.entries(t).map((e) => {
-                        var [t, n] = e
-                        return [t, r(n, [...o, t])]
-                      }),
-                    )
-                  : e(t, o)
-              )
-            })(r)
-          })(r, (r, n) => {
-            var o,
-              [a] = n,
-              i = null != (o = y[a]) ? o : y.defaultHandler,
-              { cssVars: s, cssMap: l } = i(n, r, e)
-            Object.assign(t.cssVars, s), Object.assign(t.cssMap, l)
-          }),
-          t
-        )
-      }
-      var y = {
-          space: (r, e, t) => {
-            var n = y.defaultHandler(r, e, t),
-              [o, ...a] = r,
-              i = o + '.-' + a.join('.'),
-              s = r.join('-'),
-              { variable: l, reference: c } = g(s, void 0, t.cssVarPrefix),
-              u = d.negate(e),
-              f = d.negate(c)
-            return {
-              cssVars: n.cssVars,
-              cssMap: m({}, n.cssMap, { [i]: { value: '' + u, var: '' + l, varRef: f } }),
-            }
-          },
-          defaultHandler: (r, e, t) => {
-            var n = r.join('.'),
-              o = r.join('-'),
-              { variable: a, reference: i } = g(o, void 0, t.cssVarPrefix)
-            return { cssVars: { [a]: e }, cssMap: { [n]: { value: e, var: a, varRef: i } } }
-          },
-        },
-        x = t(4651)
-      var w = [
-        'colors',
-        'borders',
-        'borderWidths',
-        'borderStyles',
-        'fonts',
-        'fontSizes',
-        'fontWeights',
-        'letterSpacings',
-        'lineHeights',
-        'radii',
-        'space',
-        'shadows',
-        'sizes',
-        'zIndices',
-        'transition',
-        'blur',
-      ]
-      function S(r) {
-        var e = w
-        return (0, x.ei)(r, e)
-      }
-      function k(r) {
-        return (function (r, e) {
-          if (null == r) return {}
-          var t,
-            n,
-            o = {},
-            a = Object.keys(r)
-          for (n = 0; n < a.length; n++) (t = a[n]), e.indexOf(t) >= 0 || (o[t] = r[t])
-          return o
-        })(r, ['__cssMap', '__cssVars', '__breakpoints'])
-      }
-      function _() {
-        return (_ =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function C(r) {
-        var e,
-          t = k(r),
-          n = S(t),
-          o = null == (e = t.config) ? void 0 : e.cssVarPrefix,
-          { cssMap: a, cssVars: i } = v(n, { cssVarPrefix: o })
-        return (
-          Object.assign(t, {
-            __cssVars: _(
-              {},
-              {
-                '--chakra-ring-inset': 'var(--chakra-empty,/*!*/ /*!*/)',
-                '--chakra-ring-offset-width': '0px',
-                '--chakra-ring-offset-color': '#fff',
-                '--chakra-ring-color': 'rgba(66, 153, 225, 0.6)',
-                '--chakra-ring-offset-shadow': '0 0 #0000',
-                '--chakra-ring-shadow': '0 0 #0000',
-                '--chakra-space-x-reverse': '0',
-                '--chakra-space-y-reverse': '0',
-              },
-              i,
-            ),
-            __cssMap: a,
-            __breakpoints: (0, f.y)(t.breakpoints),
-          }),
-          t
-        )
-      }
-    },
-    33565: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        i: function () {
-          return f
-        },
-      })
-      var n = t(73808),
-        o = t(80658),
-        a = t(38554),
-        i = t.n(a),
-        s = t(28680),
-        l = t(25503),
-        c = (r, e) => r.startsWith('--') && (0, n.HD)(e) && !(0, n.FS)(e),
-        u = (r, e) => {
-          var t, n
-          if (null == e) return e
-          var o = (e) => {
-              var t, n
-              return null == (t = r.__cssMap) || null == (n = t[e]) ? void 0 : n.varRef
-            },
-            a = (r) => {
-              var e
-              return null != (e = o(r)) ? e : r
-            },
-            i = e.split(',').map((r) => r.trim()),
-            [s, l] = i
-          return (e = null != (t = null != (n = o(s)) ? n : a(l)) ? t : a(e))
-        }
-      function d(r) {
-        var { configs: e = {}, pseudos: t = {}, theme: a } = r
-        return function r(s, l) {
-          void 0 === l && (l = !1)
-          var d = (0, o.Pu)(s, a),
-            f = ((r) => (e) => {
-              if (!e.__breakpoints) return r
-              var { isResponsive: t, toArrayValue: a, media: i } = e.__breakpoints,
-                s = {}
-              for (var l in r) {
-                var c = (0, o.Pu)(r[l], e)
-                if (null != c)
-                  if (((c = (0, n.Kn)(c) && t(c) ? a(c) : c), Array.isArray(c)))
-                    for (var u = c.slice(0, i.length).length, d = 0; d < u; d += 1) {
-                      var f = null == i ? void 0 : i[d]
-                      f ? ((s[f] = s[f] || {}), null != c[d] && (s[f][l] = c[d])) : (s[l] = c[d])
-                    }
-                  else s[l] = c
-              }
-              return s
-            })(d)(a),
-            p = {}
-          for (var h in f) {
-            var b,
-              g,
-              m,
-              v,
-              y,
-              x = f[h],
-              w = (0, o.Pu)(x, a)
-            h in t && (h = t[h]), c(h, w) && (w = u(a, w))
-            var S = e[h]
-            if ((!0 === S && (S = { property: h }), (0, n.Kn)(w))) {
-              var k
-              ;(p[h] = null != (k = p[h]) ? k : {}), (p[h] = i()({}, p[h], r(w, !0)))
-            } else {
-              var _ =
-                null != (b = null == (g = S) || null == g.transform ? void 0 : g.transform(w, a, d))
-                  ? b
-                  : w
-              _ = null != (m = S) && m.processResult ? r(_, !0) : _
-              var C = (0, o.Pu)(null == (v = S) ? void 0 : v.property, a)
-              if (!l && null != (y = S) && y.static) {
-                var A = (0, o.Pu)(S.static, a)
-                p = i()({}, p, A)
-              }
-              if (C && Array.isArray(C)) for (var E of C) p[E] = _
-              else
-                C
-                  ? '&' === C && (0, n.Kn)(_)
-                    ? (p = i()({}, p, _))
-                    : (p[C] = _)
-                  : (0, n.Kn)(_)
-                  ? (p = i()({}, p, _))
-                  : (p[h] = _)
-            }
-          }
-          return p
-        }
-      }
-      var f = (r) => (e) => d({ theme: e, pseudos: s.v, configs: l.Ul })(r)
-    },
-    9421: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        iv: function () {
-          return n.i
-        },
-        isStyleProp: function () {
-          return i.ZR
-        },
-        layoutPropNames: function () {
-          return i.oE
-        },
-        propNames: function () {
-          return i.cC
-        },
-        toCSSVar: function () {
-          return s.c0
-        },
-      })
-      t(13205)
-      var n = t(33565),
-        o = t(41664)
-      t.o(o, 'isStyleProp') &&
-        t.d(e, {
-          isStyleProp: function () {
-            return o.isStyleProp
-          },
-        }),
-        t.o(o, 'layoutPropNames') &&
-          t.d(e, {
-            layoutPropNames: function () {
-              return o.layoutPropNames
-            },
-          }),
-        t.o(o, 'propNames') &&
-          t.d(e, {
-            propNames: function () {
-              return o.propNames
-            },
-          }),
-        t.o(o, 'toCSSVar') &&
-          t.d(e, {
-            toCSSVar: function () {
-              return o.toCSSVar
-            },
-          }),
-        t.o(o, 'useTheme') &&
-          t.d(e, {
-            useTheme: function () {
-              return o.useTheme
-            },
-          })
-      var a = t(87759)
-      t.o(a, 'isStyleProp') &&
-        t.d(e, {
-          isStyleProp: function () {
-            return a.isStyleProp
-          },
-        }),
-        t.o(a, 'layoutPropNames') &&
-          t.d(e, {
-            layoutPropNames: function () {
-              return a.layoutPropNames
-            },
-          }),
-        t.o(a, 'propNames') &&
-          t.d(e, {
-            propNames: function () {
-              return a.propNames
-            },
-          }),
-        t.o(a, 'toCSSVar') &&
-          t.d(e, {
-            toCSSVar: function () {
-              return a.toCSSVar
-            },
-          }),
-        t.o(a, 'useTheme') &&
-          t.d(e, {
-            useTheme: function () {
-              return a.useTheme
-            },
-          })
-      var i = t(25503),
-        s = t(55608)
-    },
-    28680: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        v: function () {
-          return d
-        },
-        _: function () {
-          return f
-        },
-      })
-      var n = t(4651),
-        o = (r) => r + ':focus &, ' + r + '[data-focus] &',
-        a = (r) => r + ':active &, ' + r + '[data-active] &',
-        i = (r) => r + ':disabled &, ' + r + '[data-disabled] &',
-        s = (r) => r + ':invalid &, ' + r + '[data-invalid] &',
-        l = (r) => r + ':checked &, ' + r + '[data-checked] &',
-        c = (r) => u(r, '[role=group]', '[data-group]', '.group'),
-        u = function (r) {
-          for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++)
-            t[n - 1] = arguments[n]
-          return t.map(r).join(', ')
-        },
-        d = {
-          _hover: '&:hover, &[data-hover]',
-          _active: '&:active, &[data-active]',
-          _focus: '&:focus, &[data-focus]',
-          _highlighted: '&[data-highlighted]',
-          _focusWithin: '&:focus-within',
-          _focusVisible: '&:focus-visible',
-          _disabled: '&[disabled], &[aria-disabled=true], &[data-disabled]',
-          _readOnly: '&[aria-readonly=true], &[readonly], &[data-readonly]',
-          _before: '&::before',
-          _after: '&::after',
-          _empty: '&:empty',
-          _expanded: '&[aria-expanded=true], &[data-expanded]',
-          _checked: '&[aria-checked=true], &[data-checked]',
-          _grabbed: '&[aria-grabbed=true], &[data-grabbed]',
-          _pressed: '&[aria-pressed=true], &[data-pressed]',
-          _invalid: '&[aria-invalid=true], &[data-invalid]',
-          _valid: '&[data-valid], &[data-state=valid]',
-          _loading: '&[data-loading], &[aria-busy=true]',
-          _selected: '&[aria-selected=true], &[data-selected]',
-          _hidden: '&[hidden], &[data-hidden]',
-          _autofill: '&:-webkit-autofill',
-          _even: '&:nth-of-type(even)',
-          _odd: '&:nth-of-type(odd)',
-          _first: '&:first-of-type',
-          _last: '&:last-of-type',
-          _notFirst: '&:not(:first-of-type)',
-          _notLast: '&:not(:last-of-type)',
-          _visited: '&:visited',
-          _activeLink: '&[aria-current=page]',
-          _activeStep: '&[aria-current=step]',
-          _indeterminate: '&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]',
-          _groupHover: c((r) => r + ':hover &, ' + r + '[data-hover] &'),
-          _groupFocus: c(o),
-          _groupActive: c(a),
-          _groupDisabled: c(i),
-          _groupInvalid: c(s),
-          _groupChecked: c(l),
-          _placeholder: '&::placeholder',
-          _fullScreen: '&:fullscreen',
-          _selection: '&::selection',
-          _rtl: '[dir=rtl] &',
-          _mediaDark: '@media (prefers-color-scheme: dark)',
-          _dark: '.chakra-ui-dark &, [data-theme=dark] &, &[data-theme=dark]',
-          _light: '.chakra-ui-light &, [data-theme=light] &, &[data-theme=light]',
-        },
-        f = (0, n.Yd)(d)
-    },
-    25503: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Ul: function () {
-          return c
-        },
-        oE: function () {
-          return d
-        },
-        cC: function () {
-          return f
-        },
-        ZR: function () {
-          return h
-        },
-      })
-      var n = t(38554),
-        o = t.n(n),
-        a = t(4651),
-        i = t(13205),
-        s = t(28680)
-      function l() {
-        return (l =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var c = o()(
-          {},
-          i.Oq,
-          i.Cg,
-          i.$_,
-          i.GQ,
-          i.bK,
-          i.hX,
-          i.v_,
-          i.Mw,
-          i.eC,
-          i.o_,
-          i.FK,
-          i.cE,
-          i.Dh,
-          i.cp,
-          i.QX,
-          i.vs,
-          i.pb,
-          i.eR,
-        ),
-        u = Object.assign({}, i.Dh, i.bK, i.GQ, i.eC, i.FK),
-        d = (0, a.Yd)(u),
-        f = [...(0, a.Yd)(c), ...s._],
-        p = l({}, c, s.v),
-        h = (r) => r in p
-    },
-    41664: function () {},
-    87759: function () {},
-    29676: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        f6: function () {
-          return d
-        },
-        Fg: function () {
-          return f
-        },
-        Fo: function () {
-          return p
-        },
-        yK: function () {
-          return h
-        },
-        ZL: function () {
-          return b
-        },
-      })
-      var n = t(24738),
-        o = t(9421),
-        a = t(4651),
-        i = t(80658),
-        s = t(28500),
-        l = t(30495),
-        c = t(70917),
-        u = t(67294),
-        d = (r) => {
-          var { cssVarsRoot: e = ':host, :root', theme: t, children: n } = r,
-            a = u.useMemo(() => (0, o.toCSSVar)(t), [t])
-          return u.createElement(
-            l.a,
-            { theme: a },
-            u.createElement(c.Global, { styles: (r) => ({ [e]: r.__cssVars }) }),
-            n,
-          )
-        }
-      function f() {
-        var r = u.useContext(l.T)
-        if (!r)
-          throw Error(
-            'useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`',
-          )
-        return r
-      }
-      var [p, h] = (0, s.k)({
-          name: 'StylesContext',
-          errorMessage:
-            'useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` ',
-        }),
-        b = () => {
-          var { colorMode: r } = (0, n.If)()
-          return u.createElement(c.Global, {
-            styles: (e) => {
-              var t = (0, a.Wf)(e, 'styles.global'),
-                n = (0, i.Pu)(t, { theme: e, colorMode: r })
-              if (n) return (0, o.iv)(n)(e)
-            },
-          })
-        }
-    },
-    63108: function (r, e, t) {
-      'use strict'
-      function n(r, e) {
-        return (t) => ('dark' === t.colorMode ? e : r)
-      }
-      function o(r) {
-        var { orientation: e, vertical: t, horizontal: n } = r
-        return e ? ('vertical' === e ? t : n) : {}
-      }
-      t.d(e, {
-        xJ: function () {
-          return n
-        },
-        fL: function () {
-          return o
-        },
-      })
-    },
-    83035: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Z: function () {
-          return Be
-        },
-      })
-      var n = {
-          parts: ['container', 'button', 'panel', 'icon'],
-          baseStyle: {
-            container: {
-              borderTopWidth: '1px',
-              borderColor: 'inherit',
-              _last: { borderBottomWidth: '1px' },
-            },
-            button: {
-              transitionProperty: 'common',
-              transitionDuration: 'normal',
-              fontSize: '1rem',
-              _focus: { boxShadow: 'outline' },
-              _hover: { bg: 'blackAlpha.50' },
-              _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-              px: 4,
-              py: 2,
-            },
-            panel: { pt: 2, px: 4, pb: 5 },
-            icon: { fontSize: '1.25em' },
-          },
-        },
-        o = t(17621),
-        a = t.n(o),
-        i = t(4651),
-        s = t(73808),
-        l = (r, e, t) => {
-          var n = (0, i.Wf)(r, 'colors.' + e, e)
-          return a()(n).isValid() ? n : t
-        },
-        c = (r) => (e) => {
-          var t = l(e, r)
-          return a()(t).isDark() ? 'dark' : 'light'
-        },
-        u = (r, e) => (t) => {
-          var n = l(t, r)
-          return a()(n).setAlpha(e).toRgbString()
-        }
-      function d(r, e) {
-        return (
-          void 0 === r && (r = '1rem'),
-          void 0 === e && (e = 'rgba(255, 255, 255, 0.15)'),
-          {
-            backgroundImage:
-              'linear-gradient(\n    45deg,\n    ' +
-              e +
-              ' 25%,\n    transparent 25%,\n    transparent 50%,\n    ' +
-              e +
-              ' 50%,\n    ' +
-              e +
-              ' 75%,\n    transparent 75%,\n    transparent\n  )',
-            backgroundSize: r + ' ' + r,
-          }
-        )
-      }
-      function f(r) {
-        var e = a().random().toHexString()
-        return !r || (0, s.Qr)(r)
-          ? e
-          : r.string && r.colors
-          ? (function (r, e) {
-              var t = 0
-              if (0 === r.length) return e[0]
-              for (var n = 0; n < r.length; n += 1) (t = r.charCodeAt(n) + ((t << 5) - t)), (t &= t)
-              return (t = ((t % e.length) + e.length) % e.length), e[t]
-            })(r.string, r.colors)
-          : r.string && !r.colors
-          ? (function (r) {
-              var e = 0
-              if (0 === r.length) return e.toString()
-              for (var t = 0; t < r.length; t += 1) (e = r.charCodeAt(t) + ((e << 5) - e)), (e &= e)
-              for (var n = '#', o = 0; o < 3; o += 1) {
-                n += ('00' + ((e >> (8 * o)) & 255).toString(16)).substr(-2)
-              }
-              return n
-            })(r.string)
-          : r.colors && !r.string
-          ? (function (r) {
-              return r[Math.floor(Math.random() * r.length)]
-            })(r.colors)
-          : e
-      }
-      var p = t(63108)
-      function h(r) {
-        var { theme: e, colorScheme: t } = r,
-          n = l(e, t + '.100', t),
-          o = u(t + '.200', 0.16)(e)
-        return (0, p.xJ)(n, o)(r)
-      }
-      var b = {
-          parts: ['container', 'title', 'description', 'icon'],
-          baseStyle: {
-            container: { px: 4, py: 3 },
-            title: { fontWeight: 'bold', lineHeight: 6, marginEnd: 2 },
-            description: { lineHeight: 6 },
-            icon: { flexShrink: 0, marginEnd: 3, w: 5, h: 6 },
-          },
-          variants: {
-            subtle: function (r) {
-              var { colorScheme: e } = r
-              return {
-                container: { bg: h(r) },
-                icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) },
-              }
-            },
-            'left-accent': function (r) {
-              var { colorScheme: e } = r
-              return {
-                container: {
-                  paddingStart: 3,
-                  borderStartWidth: '4px',
-                  borderStartColor: (0, p.xJ)(e + '.500', e + '.200')(r),
-                  bg: h(r),
-                },
-                icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) },
-              }
-            },
-            'top-accent': function (r) {
-              var { colorScheme: e } = r
-              return {
-                container: {
-                  pt: 2,
-                  borderTopWidth: '4px',
-                  borderTopColor: (0, p.xJ)(e + '.500', e + '.200')(r),
-                  bg: h(r),
-                },
-                icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) },
-              }
-            },
-            solid: function (r) {
-              var { colorScheme: e } = r
-              return {
-                container: {
-                  bg: (0, p.xJ)(e + '.500', e + '.200')(r),
-                  color: (0, p.xJ)('white', 'gray.900')(r),
-                },
-              }
-            },
-          },
-          defaultProps: { variant: 'subtle', colorScheme: 'blue' },
-        },
-        g = t(54681)
-      function m(r) {
-        return {
-          transform: 'translate(25%, 25%)',
-          borderRadius: 'full',
-          border: '0.2em solid',
-          borderColor: (0, p.xJ)('white', 'gray.800')(r),
-        }
-      }
-      function v(r) {
-        return { bg: (0, p.xJ)('gray.200', 'whiteAlpha.400')(r) }
-      }
-      function y(r) {
-        var { name: e, theme: t } = r,
-          n = e ? f({ string: e }) : 'gray.400',
-          o = (
-            (r) => (e) =>
-              'dark' === c(r)(e)
-          )(n)(t),
-          a = 'white'
-        return (
-          o || (a = 'gray.800'),
-          { bg: n, color: a, borderColor: (0, p.xJ)('white', 'gray.800')(r), verticalAlign: 'top' }
-        )
-      }
-      function x(r) {
-        var e = g.Z[r]
-        return {
-          container: { width: r, height: r, fontSize: 'calc(' + (null != e ? e : r) + ' / 2.5)' },
-          excessLabel: { width: r, height: r },
-          label: {
-            fontSize: 'calc(' + (null != e ? e : r) + ' / 2.5)',
-            lineHeight: '100%' !== r ? (null != e ? e : r) : void 0,
-          },
-        }
-      }
-      var w = {
-        parts: ['container', 'excessLabel', 'badge', 'label'],
-        baseStyle: (r) => ({ badge: m(r), excessLabel: v(r), container: y(r) }),
-        sizes: {
-          '2xs': x('4'),
-          xs: x('6'),
-          sm: x('8'),
-          md: x('12'),
-          lg: x('16'),
-          xl: x('24'),
-          '2xl': x('32'),
-          full: x('100%'),
-        },
-        defaultProps: { size: 'md' },
-      }
-      var S = {
-          baseStyle: {
-            px: 1,
-            textTransform: 'uppercase',
-            fontSize: 'xs',
-            borderRadius: 'sm',
-            fontWeight: 'bold',
-          },
-          variants: {
-            solid: function (r) {
-              var { colorScheme: e, theme: t } = r,
-                n = u(e + '.500', 0.6)(t)
-              return {
-                bg: (0, p.xJ)(e + '.500', n)(r),
-                color: (0, p.xJ)('white', 'whiteAlpha.800')(r),
-              }
-            },
-            subtle: function (r) {
-              var { colorScheme: e, theme: t } = r,
-                n = u(e + '.200', 0.16)(t)
-              return {
-                bg: (0, p.xJ)(e + '.100', n)(r),
-                color: (0, p.xJ)(e + '.800', e + '.200')(r),
-              }
-            },
-            outline: function (r) {
-              var { colorScheme: e, theme: t } = r,
-                n = u(e + '.200', 0.8)(t),
-                o = l(t, e + '.500'),
-                a = (0, p.xJ)(o, n)(r)
-              return { color: a, boxShadow: 'inset 0 0 0px 1px ' + a }
-            },
-          },
-          defaultProps: { variant: 'subtle', colorScheme: 'gray' },
-        },
-        k = {
-          parts: ['container', 'item', 'link', 'separator'],
-          baseStyle: {
-            link: {
-              transitionProperty: 'common',
-              transitionDuration: 'fast',
-              transitionTimingFunction: 'ease-out',
-              cursor: 'pointer',
-              textDecoration: 'none',
-              outline: 'none',
-              color: 'inherit',
-              _hover: { textDecoration: 'underline' },
-              _focus: { boxShadow: 'outline' },
-            },
-          },
-        }
-      function _() {
-        return (_ =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function C(r) {
-        var { colorScheme: e, theme: t } = r
-        if ('gray' === e)
-          return {
-            color: (0, p.xJ)('inherit', 'whiteAlpha.900')(r),
-            _hover: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.200')(r) },
-            _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) },
-          }
-        var n = u(e + '.200', 0.12)(t),
-          o = u(e + '.200', 0.24)(t)
-        return {
-          color: (0, p.xJ)(e + '.600', e + '.200')(r),
-          bg: 'transparent',
-          _hover: { bg: (0, p.xJ)(e + '.50', n)(r) },
-          _active: { bg: (0, p.xJ)(e + '.100', o)(r) },
-        }
-      }
-      var A = {
-        yellow: { bg: 'yellow.400', color: 'black', hoverBg: 'yellow.500', activeBg: 'yellow.600' },
-        cyan: { bg: 'cyan.400', color: 'black', hoverBg: 'cyan.500', activeBg: 'cyan.600' },
-      }
-      var E = {
-        baseStyle: {
-          lineHeight: '1.2',
-          borderRadius: 'md',
-          fontWeight: 'semibold',
-          transitionProperty: 'common',
-          transitionDuration: 'normal',
-          _focus: { boxShadow: 'outline' },
-          _disabled: { opacity: 0.4, cursor: 'not-allowed', boxShadow: 'none' },
-          _hover: { _disabled: { bg: 'initial' } },
-        },
-        variants: {
-          ghost: C,
-          outline: function (r) {
-            var { colorScheme: e } = r,
-              t = (0, p.xJ)('gray.200', 'whiteAlpha.300')(r)
-            return _({ border: '1px solid', borderColor: 'gray' === e ? t : 'currentColor' }, C(r))
-          },
-          solid: function (r) {
-            var { colorScheme: e } = r
-            if ('gray' === e) {
-              var t = (0, p.xJ)('gray.100', 'whiteAlpha.200')(r)
-              return {
-                bg: t,
-                _hover: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r), _disabled: { bg: t } },
-                _active: { bg: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r) },
-              }
-            }
-            var {
-                bg: n = e + '.500',
-                color: o = 'white',
-                hoverBg: a = e + '.600',
-                activeBg: i = e + '.700',
-              } = A[e] || {},
-              s = (0, p.xJ)(n, e + '.200')(r)
-            return {
-              bg: s,
-              color: (0, p.xJ)(o, 'gray.800')(r),
-              _hover: { bg: (0, p.xJ)(a, e + '.300')(r), _disabled: { bg: s } },
-              _active: { bg: (0, p.xJ)(i, e + '.400')(r) },
-            }
-          },
-          link: function (r) {
-            var { colorScheme: e } = r
-            return {
-              padding: 0,
-              height: 'auto',
-              lineHeight: 'normal',
-              verticalAlign: 'baseline',
-              color: (0, p.xJ)(e + '.500', e + '.200')(r),
-              _hover: { textDecoration: 'underline', _disabled: { textDecoration: 'none' } },
-              _active: { color: (0, p.xJ)(e + '.700', e + '.500')(r) },
-            }
-          },
-          unstyled: {
-            bg: 'none',
-            color: 'inherit',
-            display: 'inline',
-            lineHeight: 'inherit',
-            m: 0,
-            p: 0,
-          },
-        },
-        sizes: {
-          lg: { h: 12, minW: 12, fontSize: 'lg', px: 6 },
-          md: { h: 10, minW: 10, fontSize: 'md', px: 4 },
-          sm: { h: 8, minW: 8, fontSize: 'sm', px: 3 },
-          xs: { h: 6, minW: 6, fontSize: 'xs', px: 2 },
-        },
-        defaultProps: { variant: 'solid', size: 'md', colorScheme: 'gray' },
-      }
-      function z(r) {
-        var { colorScheme: e } = r
-        return {
-          w: '100%',
-          transitionProperty: 'box-shadow',
-          transitionDuration: 'normal',
-          border: '2px solid',
-          borderRadius: 'sm',
-          borderColor: 'inherit',
-          color: 'white',
-          _checked: {
-            bg: (0, p.xJ)(e + '.500', e + '.200')(r),
-            borderColor: (0, p.xJ)(e + '.500', e + '.200')(r),
-            color: (0, p.xJ)('white', 'gray.900')(r),
-            _hover: {
-              bg: (0, p.xJ)(e + '.600', e + '.300')(r),
-              borderColor: (0, p.xJ)(e + '.600', e + '.300')(r),
-            },
-            _disabled: {
-              borderColor: (0, p.xJ)('gray.200', 'transparent')(r),
-              bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r),
-              color: (0, p.xJ)('gray.500', 'whiteAlpha.500')(r),
-            },
-          },
-          _indeterminate: {
-            bg: (0, p.xJ)(e + '.500', e + '.200')(r),
-            borderColor: (0, p.xJ)(e + '.500', e + '.200')(r),
-            color: (0, p.xJ)('white', 'gray.900')(r),
-          },
-          _disabled: {
-            bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r),
-            borderColor: (0, p.xJ)('gray.100', 'transparent')(r),
-          },
-          _focus: { boxShadow: 'outline' },
-          _invalid: { borderColor: (0, p.xJ)('red.500', 'red.300')(r) },
-        }
-      }
-      var R = { userSelect: 'none', _disabled: { opacity: 0.4 } },
-        B = { transitionProperty: 'transform', transitionDuration: 'normal' },
-        j = {
-          parts: ['container', 'control', 'label', 'icon'],
-          baseStyle: (r) => ({ icon: B, control: z(r), label: R }),
-          sizes: {
-            sm: {
-              control: { h: 3, w: 3 },
-              label: { fontSize: 'sm' },
-              icon: { fontSize: '0.45rem' },
-            },
-            md: {
-              control: { w: 4, h: 4 },
-              label: { fontSize: 'md' },
-              icon: { fontSize: '0.625rem' },
-            },
-            lg: {
-              control: { w: 5, h: 5 },
-              label: { fontSize: 'lg' },
-              icon: { fontSize: '0.625rem' },
-            },
-          },
-          defaultProps: { size: 'md', colorScheme: 'blue' },
-        }
-      var O = {
-          baseStyle: function (r) {
-            return {
-              borderRadius: 'md',
-              transitionProperty: 'common',
-              transitionDuration: 'normal',
-              _disabled: { opacity: 0.4, cursor: 'not-allowed', boxShadow: 'none' },
-              _hover: { bg: (0, p.xJ)('blackAlpha.100', 'whiteAlpha.100')(r) },
-              _active: { bg: (0, p.xJ)('blackAlpha.200', 'whiteAlpha.200')(r) },
-              _focus: { boxShadow: 'outline' },
-            }
-          },
-          sizes: {
-            lg: { w: '40px', h: '40px', fontSize: '16px' },
-            md: { w: '32px', h: '32px', fontSize: '12px' },
-            sm: { w: '24px', h: '24px', fontSize: '10px' },
-          },
-          defaultProps: { size: 'md' },
-        },
-        { variants: T, defaultProps: F } = S,
-        P = {
-          baseStyle: { fontFamily: 'mono', fontSize: 'sm', px: '0.2em', borderRadius: 'sm' },
-          variants: T,
-          defaultProps: F,
-        },
-        I = { baseStyle: { w: '100%', mx: 'auto', maxW: '60ch', px: '1rem' } },
-        M = {
-          baseStyle: { opacity: 0.6, borderColor: 'inherit' },
-          variants: { solid: { borderStyle: 'solid' }, dashed: { borderStyle: 'dashed' } },
-          defaultProps: { variant: 'solid' },
-        },
-        D = { bg: 'blackAlpha.600', zIndex: 'modal' }
-      function W(r) {
-        var { isCentered: e, scrollBehavior: t } = r
-        return {
-          display: 'flex',
-          zIndex: 'modal',
-          justifyContent: 'center',
-          alignItems: e ? 'center' : 'flex-start',
-          overflow: 'inside' === t ? 'hidden' : 'auto',
-        }
-      }
-      function J(r) {
-        var { scrollBehavior: e } = r
-        return {
-          borderRadius: 'md',
-          bg: (0, p.xJ)('white', 'gray.700')(r),
-          color: 'inherit',
-          my: '3.75rem',
-          zIndex: 'modal',
-          maxH: 'inside' === e ? 'calc(100% - 7.5rem)' : void 0,
-          boxShadow: (0, p.xJ)('lg', 'dark-lg')(r),
-        }
-      }
-      var N = { px: 6, py: 4, fontSize: 'xl', fontWeight: 'semibold' },
-        H = { position: 'absolute', top: 2, insetEnd: 3 }
-      function L(r) {
-        var { scrollBehavior: e } = r
-        return { px: 6, py: 2, flex: 1, overflow: 'inside' === e ? 'auto' : void 0 }
-      }
-      var $ = { px: 6, py: 4 }
-      function Z(r) {
-        return 'full' === r ? { dialog: { maxW: '100vw', minH: '100vh' } } : { dialog: { maxW: r } }
-      }
-      var V = {
-        parts: ['overlay', 'dialogContainer', 'dialog', 'header', 'closeButton', 'body', 'footer'],
-        baseStyle: (r) => ({
-          overlay: D,
-          dialogContainer: W(r),
-          dialog: J(r),
-          header: N,
-          closeButton: H,
-          body: L(r),
-          footer: $,
-        }),
-        sizes: {
-          xs: Z('xs'),
-          sm: Z('sm'),
-          md: Z('md'),
-          lg: Z('lg'),
-          xl: Z('xl'),
-          '2xl': Z('2xl'),
-          '3xl': Z('3xl'),
-          '4xl': Z('4xl'),
-          '5xl': Z('5xl'),
-          '6xl': Z('6xl'),
-          full: Z('full'),
-        },
-        defaultProps: { size: 'md' },
-      }
-      function q() {
-        return (q =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function G(r) {
-        return 'full' === r ? { dialog: { maxW: '100vw', h: '100vh' } } : { dialog: { maxW: r } }
-      }
-      var Y = { bg: 'blackAlpha.600', zIndex: 'overlay' },
-        X = { display: 'flex', zIndex: 'modal', justifyContent: 'center' }
-      function U(r) {
-        var { isFullHeight: e } = r
-        return q({}, e && { height: '100vh' }, {
-          zIndex: 'modal',
-          maxH: '100vh',
-          bg: (0, p.xJ)('white', 'gray.700')(r),
-          color: 'inherit',
-          boxShadow: (0, p.xJ)('lg', 'dark-lg')(r),
-        })
-      }
-      var K = { px: 6, py: 4, fontSize: 'xl', fontWeight: 'semibold' },
-        Q = { position: 'absolute', top: 2, insetEnd: 3 },
-        rr = { px: 6, py: 2, flex: 1, overflow: 'auto' },
-        er = { px: 6, py: 4 },
-        tr = {
-          parts: V.parts,
-          baseStyle: (r) => ({
-            overlay: Y,
-            dialogContainer: X,
-            dialog: U(r),
-            header: K,
-            closeButton: Q,
-            body: rr,
-            footer: er,
-          }),
-          sizes: {
-            xs: G('xs'),
-            sm: G('md'),
-            md: G('lg'),
-            lg: G('2xl'),
-            xl: G('4xl'),
-            full: G('full'),
-          },
-          defaultProps: { size: 'xs' },
-        },
-        nr = {
-          parts: ['preview', 'input'],
-          baseStyle: {
-            preview: {
-              borderRadius: 'md',
-              py: '3px',
-              transitionProperty: 'common',
-              transitionDuration: 'normal',
-            },
-            input: {
-              borderRadius: 'md',
-              py: '3px',
-              transitionProperty: 'common',
-              transitionDuration: 'normal',
-              width: 'full',
-              _focus: { boxShadow: 'outline' },
-              _placeholder: { opacity: 0.6 },
-            },
-          },
-        }
-      function or(r) {
-        return { marginStart: 1, color: (0, p.xJ)('red.500', 'red.300')(r) }
-      }
-      function ar(r) {
-        return {
-          mt: 2,
-          color: (0, p.xJ)('gray.500', 'whiteAlpha.600')(r),
-          lineHeight: 'normal',
-          fontSize: 'sm',
-        }
-      }
-      var ir = {
-          parts: ['requiredIndicator', 'helperText'],
-          baseStyle: (r) => ({ requiredIndicator: or(r), helperText: ar(r) }),
-        },
-        sr = {
-          baseStyle: {
-            fontSize: 'md',
-            marginEnd: 3,
-            mb: 2,
-            fontWeight: 'medium',
-            transitionProperty: 'common',
-            transitionDuration: 'normal',
-            opacity: 1,
-            _disabled: { opacity: 0.4 },
-          },
-        },
-        lr = {
-          baseStyle: { fontFamily: 'heading', fontWeight: 'bold' },
-          sizes: {
-            '4xl': { fontSize: ['6xl', null, '7xl'], lineHeight: 1 },
-            '3xl': { fontSize: ['5xl', null, '6xl'], lineHeight: 1 },
-            '2xl': { fontSize: ['4xl', null, '5xl'], lineHeight: [1.2, null, 1] },
-            xl: { fontSize: ['3xl', null, '4xl'], lineHeight: [1.33, null, 1.2] },
-            lg: { fontSize: ['2xl', null, '3xl'], lineHeight: [1.33, null, 1.2] },
-            md: { fontSize: 'xl', lineHeight: 1.2 },
-            sm: { fontSize: 'md', lineHeight: 1.2 },
-            xs: { fontSize: 'sm', lineHeight: 1.2 },
-          },
-          defaultProps: { size: 'xl' },
-        },
-        cr = {
-          lg: { fontSize: 'lg', px: 4, h: 12, borderRadius: 'md' },
-          md: { fontSize: 'md', px: 4, h: 10, borderRadius: 'md' },
-          sm: { fontSize: 'sm', px: 3, h: 8, borderRadius: 'sm' },
-          xs: { fontSize: 'xs', px: 2, h: 6, borderRadius: 'sm' },
-        }
-      function ur(r) {
-        var { focusBorderColor: e, errorBorderColor: t } = r
-        return {
-          focusBorderColor: e || (0, p.xJ)('blue.500', 'blue.300')(r),
-          errorBorderColor: t || (0, p.xJ)('red.500', 'red.300')(r),
-        }
-      }
-      var dr = {
-        parts: ['field', 'addon'],
-        baseStyle: {
-          field: {
-            width: '100%',
-            minWidth: 0,
-            outline: 0,
-            position: 'relative',
-            appearance: 'none',
-            transitionProperty: 'common',
-            transitionDuration: 'normal',
-          },
-        },
-        sizes: {
-          lg: { field: cr.lg, addon: cr.lg },
-          md: { field: cr.md, addon: cr.md },
-          sm: { field: cr.sm, addon: cr.sm },
-          xs: { field: cr.xs, addon: cr.xs },
-        },
-        variants: {
-          outline: function (r) {
-            var { theme: e } = r,
-              { focusBorderColor: t, errorBorderColor: n } = ur(r)
-            return {
-              field: {
-                border: '1px solid',
-                borderColor: 'inherit',
-                bg: 'inherit',
-                _hover: { borderColor: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r) },
-                _readOnly: { boxShadow: 'none !important', userSelect: 'all' },
-                _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-                _invalid: { borderColor: l(e, n), boxShadow: '0 0 0 1px ' + l(e, n) },
-                _focus: { zIndex: 1, borderColor: l(e, t), boxShadow: '0 0 0 1px ' + l(e, t) },
-              },
-              addon: {
-                border: '1px solid',
-                borderColor: (0, p.xJ)('inherit', 'whiteAlpha.50')(r),
-                bg: (0, p.xJ)('gray.100', 'whiteAlpha.300')(r),
-              },
-            }
-          },
-          filled: function (r) {
-            var { theme: e } = r,
-              { focusBorderColor: t, errorBorderColor: n } = ur(r)
-            return {
-              field: {
-                border: '2px solid',
-                borderColor: 'transparent',
-                bg: (0, p.xJ)('gray.100', 'whiteAlpha.50')(r),
-                _hover: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.100')(r) },
-                _readOnly: { boxShadow: 'none !important', userSelect: 'all' },
-                _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-                _invalid: { borderColor: l(e, n) },
-                _focus: { bg: 'transparent', borderColor: l(e, t) },
-              },
-              addon: {
-                border: '2px solid',
-                borderColor: 'transparent',
-                bg: (0, p.xJ)('gray.100', 'whiteAlpha.50')(r),
-              },
-            }
-          },
-          flushed: function (r) {
-            var { theme: e } = r,
-              { focusBorderColor: t, errorBorderColor: n } = ur(r)
-            return {
-              field: {
-                borderBottom: '1px solid',
-                borderColor: 'inherit',
-                borderRadius: 0,
-                px: 0,
-                bg: 'transparent',
-                _readOnly: { boxShadow: 'none !important', userSelect: 'all' },
-                _invalid: { borderColor: l(e, n), boxShadow: '0px 1px 0px 0px ' + l(e, n) },
-                _focus: { borderColor: l(e, t), boxShadow: '0px 1px 0px 0px ' + l(e, t) },
-              },
-              addon: {
-                borderBottom: '2px solid',
-                borderColor: 'inherit',
-                borderRadius: 0,
-                px: 0,
-                bg: 'transparent',
-              },
-            }
-          },
-          unstyled: {
-            field: { bg: 'transparent', px: 0, height: 'auto' },
-            addon: { bg: 'transparent', px: 0, height: 'auto' },
-          },
-        },
-        defaultProps: { size: 'md', variant: 'outline' },
-      }
-      var fr = {
-          baseStyle: function (r) {
-            return {
-              bg: (0, p.xJ)('gray.100', 'whiteAlpha')(r),
-              borderRadius: 'md',
-              borderWidth: '1px',
-              borderBottomWidth: '3px',
-              fontSize: '0.8em',
-              fontWeight: 'bold',
-              lineHeight: 'normal',
-              px: '0.4em',
-              whiteSpace: 'nowrap',
-            }
-          },
-        },
-        pr = {
-          baseStyle: {
-            transitionProperty: 'common',
-            transitionDuration: 'fast',
-            transitionTimingFunction: 'ease-out',
-            cursor: 'pointer',
-            textDecoration: 'none',
-            outline: 'none',
-            color: 'inherit',
-            _hover: { textDecoration: 'underline' },
-            _focus: { boxShadow: 'outline' },
-          },
-        },
-        hr = {
-          parts: ['container', 'item', 'icon'],
-          baseStyle: {
-            container: {},
-            item: {},
-            icon: { marginEnd: '0.5rem', display: 'inline', verticalAlign: 'text-bottom' },
-          },
-        }
-      function br(r) {
-        return {
-          bg: (0, p.xJ)('#fff', 'gray.700')(r),
-          boxShadow: (0, p.xJ)('sm', 'dark-lg')(r),
-          color: 'inherit',
-          minW: '3xs',
-          py: '2',
-          zIndex: 1,
-          borderRadius: 'md',
-          borderWidth: '1px',
-        }
-      }
-      function gr(r) {
-        return {
-          py: '0.4rem',
-          px: '0.8rem',
-          transitionProperty: 'background',
-          transitionDuration: 'ultra-fast',
-          transitionTimingFunction: 'ease-in',
-          _focus: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r) },
-          _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.200')(r) },
-          _expanded: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r) },
-          _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-        }
-      }
-      var mr,
-        vr = { mx: 4, my: 2, fontWeight: 'semibold', fontSize: 'sm' },
-        yr = { opacity: 0.6 },
-        xr = {
-          border: 0,
-          borderBottom: '1px solid',
-          borderColor: 'inherit',
-          my: '0.5rem',
-          opacity: 0.6,
-        },
-        wr = { transitionProperty: 'common', transitionDuration: 'normal' },
-        Sr = {
-          parts: ['item', 'command', 'list', 'button', 'groupTitle', 'divider'],
-          baseStyle: (r) => ({
-            button: wr,
-            list: br(r),
-            item: gr(r),
-            groupTitle: vr,
-            command: yr,
-            divider: xr,
-          }),
-        },
-        kr = t(35268)
-      function _r() {
-        return (_r =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var { variants: Cr, defaultProps: Ar } = dr,
-        Er = {
-          '--number-input-stepper-width': '24px',
-          '--number-input-field-padding': 'calc(var(--number-input-stepper-width) + 0.5rem)',
-        },
-        zr = null == (mr = dr.baseStyle) ? void 0 : mr.field,
-        Rr = { width: 'var(--number-input-stepper-width)' }
-      function Br(r) {
-        return {
-          borderStart: '1px solid',
-          borderStartColor: (0, p.xJ)('inherit', 'whiteAlpha.300')(r),
-          color: (0, p.xJ)('inherit', 'whiteAlpha.800')(r),
-          _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) },
-          _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-        }
-      }
-      function jr(r) {
-        var e = dr.sizes[r],
-          t = { lg: 'md', md: 'md', sm: 'sm', xs: 'sm' },
-          n = kr.Z.fontSizes[e.field.fontSize]
-        return {
-          field: _r({}, e.field, {
-            paddingInlineEnd: 'var(--number-input-field-padding)',
-            verticalAlign: 'top',
-          }),
-          stepper: {
-            fontSize: 'calc(' + n + ' * 0.75)',
-            _first: { borderTopEndRadius: t[r] },
-            _last: { borderBottomEndRadius: t[r], mt: '-1px', borderTopWidth: 1 },
-          },
-        }
-      }
-      var Or = {
-        parts: ['root', 'field', 'stepper', 'stepperGroup'],
-        baseStyle: (r) => ({ root: Er, field: zr, stepperGroup: Rr, stepper: Br(r) }),
-        sizes: { xs: jr('xs'), sm: jr('sm'), md: jr('md'), lg: jr('lg') },
-        variants: Cr,
-        defaultProps: Ar,
-      }
-      function Tr() {
-        return (Tr =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var Fr = {
-          baseStyle: Tr({}, dr.baseStyle.field, { textAlign: 'center' }),
-          sizes: {
-            lg: { fontSize: 'lg', w: 12, h: 12, borderRadius: 'md' },
-            md: { fontSize: 'md', w: 10, h: 10, borderRadius: 'md' },
-            sm: { fontSize: 'sm', w: 8, h: 8, borderRadius: 'sm' },
-            xs: { fontSize: 'xs', w: 6, h: 6, borderRadius: 'sm' },
-          },
-          variants: {
-            outline: (r) => dr.variants.outline(r).field,
-            flushed: (r) => dr.variants.flushed(r).field,
-            filled: (r) => dr.variants.filled(r).field,
-            unstyled: dr.variants.unstyled.field,
-          },
-          defaultProps: dr.defaultProps,
-        },
-        Pr = { zIndex: 10 }
-      function Ir(r) {
-        return {
-          '--popover-bg': 'colors.' + (0, p.xJ)('white', 'gray.700')(r),
-          bg: 'var(--popover-bg)',
-          '--popper-arrow-bg': 'var(--popover-bg)',
-          '--popper-arrow-shadow-color': 'colors.' + (0, p.xJ)('gray.200', 'whiteAlpha.300')(r),
-          width: 'xs',
-          border: '1px solid',
-          borderColor: 'inherit',
-          borderRadius: 'md',
-          boxShadow: 'sm',
-          zIndex: 'inherit',
-          _focus: { outline: 0, boxShadow: 'outline' },
-        }
-      }
-      var Mr = { px: 3, py: 2, borderBottomWidth: '1px' },
-        Dr = { px: 3, py: 2 },
-        Wr = { px: 3, py: 2, borderTopWidth: '1px' },
-        Jr = {
-          parts: ['popper', 'content', 'header', 'body', 'footer', 'arrow'],
-          baseStyle: (r) => ({
-            popper: Pr,
-            content: Ir(r),
-            header: Mr,
-            body: Dr,
-            footer: Wr,
-            arrow: {},
-          }),
-        }
-      function Nr() {
-        return (Nr =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var Hr = { lineHeight: '1', fontSize: '0.25em', fontWeight: 'bold', color: 'white' }
-      function Lr(r) {
-        return { bg: (0, p.xJ)('gray.100', 'whiteAlpha.300')(r) }
-      }
-      function $r(r) {
-        return Nr(
-          { transitionProperty: 'common', transitionDuration: 'slow' },
-          (function (r) {
-            var { colorScheme: e, theme: t, isIndeterminate: n, hasStripe: o } = r,
-              a = (0, p.xJ)(d(), d('1rem', 'rgba(0,0,0,0.1)'))(r),
-              i = (0, p.xJ)(e + '.500', e + '.200')(r),
-              s =
-                'linear-gradient(\n    to right,\n    transparent 0%,\n    ' +
-                l(t, i) +
-                ' 50%,\n    transparent 100%\n  )'
-            return Nr({}, !n && o && a, n ? { bgImage: s } : { bgColor: i })
-          })(r),
-        )
-      }
-      var Zr = {
-        parts: ['track', 'filledTrack', 'label'],
-        sizes: {
-          xs: { track: { h: '0.25rem' } },
-          sm: { track: { h: '0.5rem' } },
-          md: { track: { h: '0.75rem' } },
-          lg: { track: { h: '1rem' } },
-        },
-        baseStyle: (r) => ({ label: Hr, filledTrack: $r(r), track: Lr(r) }),
-        defaultProps: { size: 'md', colorScheme: 'blue' },
-      }
-      function Vr() {
-        return (Vr =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function qr(r) {
-        var { control: e } = j.baseStyle(r)
-        return Vr({}, e, {
-          borderRadius: 'full',
-          _checked: Vr({}, e._checked, {
-            _before: {
-              content: '""',
-              display: 'inline-block',
-              pos: 'relative',
-              w: '50%',
-              h: '50%',
-              borderRadius: '50%',
-              bg: 'currentColor',
-            },
-          }),
-        })
-      }
-      var Gr = {
-          parts: ['container', 'control', 'label'],
-          baseStyle: (r) => ({ label: j.baseStyle(r).label, control: qr(r) }),
-          sizes: {
-            md: { control: { w: 4, h: 4 }, label: { fontSize: 'md' } },
-            lg: { control: { w: 5, h: 5 }, label: { fontSize: 'lg' } },
-            sm: { control: { width: 3, height: 3 }, label: { fontSize: 'sm' } },
-          },
-          defaultProps: { size: 'md', colorScheme: 'blue' },
-        },
-        Yr = t(38554)
-      function Xr() {
-        return (Xr =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      function Ur(r) {
-        return Xr({}, dr.baseStyle.field, {
-          appearance: 'none',
-          paddingBottom: '1px',
-          lineHeight: 'normal',
-          '> option, > optgroup': { bg: (0, p.xJ)('white', 'gray.700')(r) },
-        })
-      }
-      var Kr = {
-          width: '1.5rem',
-          height: '100%',
-          insetEnd: '0.5rem',
-          position: 'relative',
-          color: 'currentColor',
-          fontSize: '1.25rem',
-          _disabled: { opacity: 0.5 },
-        },
-        Qr = {
-          parts: ['field', 'icon'],
-          baseStyle: (r) => ({ field: Ur(r), icon: Kr }),
-          sizes: t.n(Yr)()({}, dr.sizes, { xs: { icon: { insetEnd: '0.25rem' } } }),
-          variants: dr.variants,
-          defaultProps: dr.defaultProps,
-        },
-        re = t(70917),
-        ee = (r, e) =>
-          (0, re.keyframes)({
-            from: { borderColor: r, background: r },
-            to: { borderColor: e, background: e },
-          }),
-        te = {
-          baseStyle: (r) => {
-            var e = (0, p.xJ)('gray.100', 'gray.800')(r),
-              t = (0, p.xJ)('gray.400', 'gray.600')(r),
-              { startColor: n = e, endColor: o = t, speed: a, theme: i } = r,
-              s = l(i, n),
-              c = l(i, o)
-            return {
-              opacity: 0.7,
-              borderRadius: '2px',
-              borderColor: s,
-              background: c,
-              animation: a + 's linear infinite alternate ' + ee(s, c),
-            }
-          },
-        },
-        ne = {
-          baseStyle: (r) => ({
-            borderRadius: 'md',
-            fontWeight: 'semibold',
-            _focus: {
-              boxShadow: 'outline',
-              padding: '1rem',
-              position: 'fixed',
-              top: '1.5rem',
-              insetStart: '1.5rem',
-              bg: (0, p.xJ)('white', 'gray.700')(r),
-            },
-          }),
-        }
-      function oe() {
-        return (oe =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var ae = (r) => {
-        var { orientation: e } = r
-        return oe(
-          { _disabled: { opacity: 0.6, cursor: 'default', pointerEvents: 'none' } },
-          (0, p.fL)({ orientation: e, vertical: { h: '100%' }, horizontal: { w: '100%' } }),
-        )
-      }
-      function ie(r) {
-        return {
-          borderRadius: 'sm',
-          bg: (0, p.xJ)('gray.200', 'whiteAlpha.200')(r),
-          _disabled: { bg: (0, p.xJ)('gray.300', 'whiteAlpha.300')(r) },
-        }
-      }
-      function se(r) {
-        return oe(
-          {
-            zIndex: 1,
-            borderRadius: 'full',
-            bg: 'white',
-            boxShadow: 'base',
-            border: '1px solid',
-            borderColor: 'transparent',
-            transitionProperty: 'transform',
-            transitionDuration: 'normal',
-            _focus: { boxShadow: 'outline' },
-            _disabled: { bg: 'gray.300' },
-          },
-          (function (r) {
-            return (0, p.fL)({
-              orientation: r.orientation,
-              vertical: {
-                left: '50%',
-                transform: 'translateX(-50%)',
-                _active: { transform: 'translateX(-50%) scale(1.15)' },
-              },
-              horizontal: {
-                top: '50%',
-                transform: 'translateY(-50%)',
-                _active: { transform: 'translateY(-50%) scale(1.15)' },
-              },
-            })
-          })(r),
-        )
-      }
-      function le(r) {
-        var { colorScheme: e } = r
-        return { bg: (0, p.xJ)(e + '.500', e + '.200')(r) }
-      }
-      var ce = {
-          parts: ['container', 'thumb', 'track', 'filledTrack'],
-          sizes: {
-            lg: function (r) {
-              return {
-                thumb: { w: '16px', h: '16px' },
-                track: (0, p.fL)({
-                  orientation: r.orientation,
-                  horizontal: { h: '4px' },
-                  vertical: { w: '4px' },
-                }),
-              }
-            },
-            md: function (r) {
-              return {
-                thumb: { w: '14px', h: '14px' },
-                track: (0, p.fL)({
-                  orientation: r.orientation,
-                  horizontal: { h: '4px' },
-                  vertical: { w: '4px' },
-                }),
-              }
-            },
-            sm: function (r) {
-              return {
-                thumb: { w: '10px', h: '10px' },
-                track: (0, p.fL)({
-                  orientation: r.orientation,
-                  horizontal: { h: '2px' },
-                  vertical: { w: '2px' },
-                }),
-              }
-            },
-          },
-          baseStyle: (r) => ({ container: ae(r), track: ie(r), thumb: se(r), filledTrack: le(r) }),
-          defaultProps: { size: 'md', colorScheme: 'blue' },
-        },
-        ue = {
-          baseStyle: { width: 'var(--spinner-size)', height: 'var(--spinner-size)' },
-          sizes: {
-            xs: { '--spinner-size': '0.75rem' },
-            sm: { '--spinner-size': '1rem' },
-            md: { '--spinner-size': '1.5rem' },
-            lg: { '--spinner-size': '2rem' },
-            xl: { '--spinner-size': '3rem' },
-          },
-          defaultProps: { size: 'md' },
-        },
-        de = {
-          parts: ['label', 'number', 'icon', 'helpText'],
-          baseStyle: {
-            label: { fontWeight: 'medium' },
-            helpText: { opacity: 0.8, marginBottom: 2 },
-            number: { verticalAlign: 'baseline', fontWeight: 'semibold' },
-            icon: { marginEnd: 1, w: '14px', h: '14px', verticalAlign: 'middle' },
-          },
-          sizes: {
-            md: {
-              label: { fontSize: 'sm' },
-              helpText: { fontSize: 'sm' },
-              number: { fontSize: '2xl' },
-            },
-          },
-          defaultProps: { size: 'md' },
-        }
-      function fe(r) {
-        var { colorScheme: e } = r
-        return {
-          borderRadius: 'full',
-          p: '2px',
-          width: 'var(--slider-track-width)',
-          height: 'var(--slider-track-height)',
-          transitionProperty: 'common',
-          transitionDuration: 'fast',
-          bg: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r),
-          _focus: { boxShadow: 'outline' },
-          _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-          _checked: { bg: (0, p.xJ)(e + '.500', e + '.200')(r) },
-        }
-      }
-      var pe = {
-          bg: 'white',
-          transitionProperty: 'transform',
-          transitionDuration: 'normal',
-          borderRadius: 'inherit',
-          width: 'var(--slider-track-height)',
-          height: 'var(--slider-track-height)',
-          _checked: { transform: 'translateX(var(--slider-thumb-x))' },
-        },
-        he = {
-          parts: ['container', 'track', 'thumb'],
-          baseStyle: (r) => ({
-            container: {
-              '--slider-track-diff': 'calc(var(--slider-track-width) - var(--slider-track-height))',
-              '--slider-thumb-x': 'var(--slider-track-diff)',
-              _rtl: { '--slider-thumb-x': 'calc(-1 * var(--slider-track-diff))' },
-            },
-            track: fe(r),
-            thumb: pe,
-          }),
-          sizes: {
-            sm: {
-              container: { '--slider-track-width': '1.375rem', '--slider-track-height': '0.75rem' },
-            },
-            md: {
-              container: { '--slider-track-width': '1.875rem', '--slider-track-height': '1rem' },
-            },
-            lg: {
-              container: { '--slider-track-width': '2.875rem', '--slider-track-height': '1.5rem' },
-            },
-          },
-          defaultProps: { size: 'md', colorScheme: 'blue' },
-        }
-      function be() {
-        return (be =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var ge = { '&[data-is-numeric=true]': { textAlign: 'end' } },
-        me = {
-          parts: ['table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption'],
-          baseStyle: {
-            table: {
-              fontVariantNumeric: 'lining-nums tabular-nums',
-              borderCollapse: 'collapse',
-              width: 'full',
-            },
-            th: {
-              fontFamily: 'heading',
-              fontWeight: 'bold',
-              textTransform: 'uppercase',
-              letterSpacing: 'wider',
-              textAlign: 'start',
-            },
-            td: { textAlign: 'start' },
-            caption: { mt: 4, fontFamily: 'heading', textAlign: 'center', fontWeight: 'medium' },
-          },
-          variants: {
-            simple: (r) => {
-              var { colorScheme: e } = r
-              return {
-                th: be(
-                  {
-                    color: (0, p.xJ)('gray.600', 'gray.400')(r),
-                    borderBottom: '1px',
-                    borderColor: (0, p.xJ)(e + '.100', e + '.700')(r),
-                  },
-                  ge,
-                ),
-                td: be(
-                  { borderBottom: '1px', borderColor: (0, p.xJ)(e + '.100', e + '.700')(r) },
-                  ge,
-                ),
-                caption: { color: (0, p.xJ)('gray.600', 'gray.100')(r) },
-                tfoot: { tr: { '&:last-of-type': { th: { borderBottomWidth: 0 } } } },
-              }
-            },
-            striped: (r) => {
-              var { colorScheme: e } = r
-              return {
-                th: be(
-                  {
-                    color: (0, p.xJ)('gray.600', 'gray.400')(r),
-                    borderBottom: '1px',
-                    borderColor: (0, p.xJ)(e + '.100', e + '.700')(r),
-                  },
-                  ge,
-                ),
-                td: be(
-                  { borderBottom: '1px', borderColor: (0, p.xJ)(e + '.100', e + '.700')(r) },
-                  ge,
-                ),
-                caption: { color: (0, p.xJ)('gray.600', 'gray.100')(r) },
-                tbody: {
-                  tr: {
-                    '&:nth-of-type(odd)': {
-                      'th, td': {
-                        borderBottomWidth: '1px',
-                        borderColor: (0, p.xJ)(e + '.100', e + '.700')(r),
-                      },
-                      td: { background: (0, p.xJ)(e + '.100', e + '.700')(r) },
-                    },
-                  },
-                },
-                tfoot: { tr: { '&:last-of-type': { th: { borderBottomWidth: 0 } } } },
-              }
-            },
-            unstyled: {},
-          },
-          sizes: {
-            sm: {
-              th: { px: '4', py: '1', lineHeight: '4', fontSize: 'xs' },
-              td: { px: '4', py: '2', fontSize: 'sm', lineHeight: '4' },
-              caption: { px: '4', py: '2', fontSize: 'xs' },
-            },
-            md: {
-              th: { px: '6', py: '3', lineHeight: '4', fontSize: 'xs' },
-              td: { px: '6', py: '4', lineHeight: '5' },
-              caption: { px: '6', py: '2', fontSize: 'sm' },
-            },
-            lg: {
-              th: { px: '8', py: '4', lineHeight: '5', fontSize: 'sm' },
-              td: { px: '8', py: '5', lineHeight: '6' },
-              caption: { px: '6', py: '2', fontSize: 'md' },
-            },
-          },
-          defaultProps: { variant: 'simple', size: 'md', colorScheme: 'gray' },
-        }
-      function ve(r) {
-        var { orientation: e } = r
-        return { display: 'vertical' === e ? 'flex' : 'block' }
-      }
-      function ye(r) {
-        var { isFitted: e } = r
-        return {
-          flex: e ? 1 : void 0,
-          transitionProperty: 'common',
-          transitionDuration: 'normal',
-          _focus: { zIndex: 1, boxShadow: 'outline' },
-        }
-      }
-      function xe(r) {
-        var { align: e = 'start', orientation: t } = r
-        return {
-          justifyContent: { end: 'flex-end', center: 'center', start: 'flex-start' }[e],
-          flexDirection: 'vertical' === t ? 'column' : 'row',
-        }
-      }
-      var we = { p: 4 }
-      var Se = {
-          parts: ['root', 'tablist', 'tab', 'tabpanels', 'tabpanel', 'indicator'],
-          baseStyle: (r) => ({ root: ve(r), tab: ye(r), tablist: xe(r), tabpanel: we }),
-          sizes: {
-            sm: { tab: { py: 1, px: 4, fontSize: 'sm' } },
-            md: { tab: { fontSize: 'md', py: 2, px: 4 } },
-            lg: { tab: { fontSize: 'lg', py: 3, px: 4 } },
-          },
-          variants: {
-            line: function (r) {
-              var { colorScheme: e, orientation: t } = r,
-                n = 'vertical' === t ? 'borderStart' : 'borderBottom'
-              return {
-                tablist: { [n]: '2px solid', borderColor: 'inherit' },
-                tab: {
-                  [n]: '2px solid',
-                  borderColor: 'transparent',
-                  ['vertical' === t ? 'marginStart' : 'marginBottom']: '-2px',
-                  _selected: {
-                    color: (0, p.xJ)(e + '.600', e + '.300')(r),
-                    borderColor: 'currentColor',
-                  },
-                  _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) },
-                  _disabled: { opacity: 0.4, cursor: 'not-allowed' },
-                },
-              }
-            },
-            enclosed: function (r) {
-              var { colorScheme: e } = r
-              return {
-                tab: {
-                  borderTopRadius: 'md',
-                  border: '1px solid',
-                  borderColor: 'transparent',
-                  mb: '-1px',
-                  _selected: {
-                    color: (0, p.xJ)(e + '.600', e + '.300')(r),
-                    borderColor: 'inherit',
-                    borderBottomColor: (0, p.xJ)('white', 'gray.800')(r),
-                  },
-                },
-                tablist: { mb: '-1px', borderBottom: '1px solid', borderColor: 'inherit' },
-              }
-            },
-            'enclosed-colored': function (r) {
-              var { colorScheme: e } = r
-              return {
-                tab: {
-                  border: '1px solid',
-                  borderColor: 'inherit',
-                  bg: (0, p.xJ)('gray.50', 'whiteAlpha.50')(r),
-                  mb: '-1px',
-                  _notLast: { marginEnd: '-1px' },
-                  _selected: {
-                    bg: (0, p.xJ)('#fff', 'gray.800')(r),
-                    color: (0, p.xJ)(e + '.600', e + '.300')(r),
-                    borderColor: 'inherit',
-                    borderTopColor: 'currentColor',
-                    borderBottomColor: 'transparent',
-                  },
-                },
-                tablist: { mb: '-1px', borderBottom: '1px solid', borderColor: 'inherit' },
-              }
-            },
-            'soft-rounded': function (r) {
-              var { colorScheme: e, theme: t } = r
-              return {
-                tab: {
-                  borderRadius: 'full',
-                  fontWeight: 'semibold',
-                  color: 'gray.600',
-                  _selected: { color: l(t, e + '.700'), bg: l(t, e + '.100') },
-                },
-              }
-            },
-            'solid-rounded': function (r) {
-              var { colorScheme: e } = r
-              return {
-                tab: {
-                  borderRadius: 'full',
-                  fontWeight: 'semibold',
-                  color: (0, p.xJ)('gray.600', 'inherit')(r),
-                  _selected: {
-                    color: (0, p.xJ)('#fff', 'gray.800')(r),
-                    bg: (0, p.xJ)(e + '.600', e + '.300')(r),
-                  },
-                },
-              }
-            },
-            unstyled: {},
-          },
-          defaultProps: { size: 'md', variant: 'line', colorScheme: 'blue' },
-        },
-        ke = {
-          parts: ['container', 'label', 'closeButton'],
-          variants: {
-            subtle: (r) => ({ container: S.variants.subtle(r) }),
-            solid: (r) => ({ container: S.variants.solid(r) }),
-            outline: (r) => ({ container: S.variants.outline(r) }),
-          },
-          baseStyle: {
-            container: {
-              fontWeight: 'medium',
-              lineHeight: 1.2,
-              outline: 0,
-              _focus: { boxShadow: 'outline' },
-            },
-            label: { lineHeight: 1.2 },
-            closeButton: {
-              fontSize: '18px',
-              w: '1.25rem',
-              h: '1.25rem',
-              transitionProperty: 'common',
-              transitionDuration: 'normal',
-              borderRadius: 'full',
-              marginStart: '0.375rem',
-              marginEnd: '-1',
-              opacity: 0.5,
-              _disabled: { opacity: 0.4 },
-              _focus: { boxShadow: 'outline', bg: 'rgba(0, 0, 0, 0.14)' },
-              _hover: { opacity: 0.8 },
-              _active: { opacity: 1 },
-            },
-          },
-          sizes: {
-            sm: {
-              container: {
-                minH: '1.25rem',
-                minW: '1.25rem',
-                fontSize: 'xs',
-                px: 2,
-                borderRadius: 'md',
-              },
-              closeButton: { marginEnd: '-2px', marginStart: '0.35rem' },
-            },
-            md: {
-              container: {
-                minH: '1.5rem',
-                minW: '1.5rem',
-                fontSize: 'sm',
-                borderRadius: 'md',
-                px: 2,
-              },
-            },
-            lg: { container: { minH: 8, minW: 8, fontSize: 'md', borderRadius: 'md', px: 3 } },
-          },
-          defaultProps: { size: 'md', variant: 'subtle', colorScheme: 'gray' },
-        }
-      function _e() {
-        return (_e =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var Ce = _e({}, dr.baseStyle.field, {
-          paddingY: '8px',
-          minHeight: '80px',
-          lineHeight: 'short',
-          verticalAlign: 'top',
-        }),
-        Ae = {
-          outline: (r) => dr.variants.outline(r).field,
-          flushed: (r) => dr.variants.flushed(r).field,
-          filled: (r) => dr.variants.filled(r).field,
-          unstyled: dr.variants.unstyled.field,
-        },
-        Ee = {
-          xs: dr.sizes.xs.field,
-          sm: dr.sizes.sm.field,
-          md: dr.sizes.md.field,
-          lg: dr.sizes.lg.field,
-        }
-      function ze(r) {
-        return { color: (0, p.xJ)('red.500', 'red.300')(r), mt: 2, fontSize: 'sm' }
-      }
-      function Re(r) {
-        return { marginEnd: '0.5em', color: (0, p.xJ)('red.500', 'red.300')(r) }
-      }
-      var Be = {
-        Accordion: n,
-        Alert: b,
-        Avatar: w,
-        Badge: S,
-        Breadcrumb: k,
-        Button: E,
-        Checkbox: j,
-        CloseButton: O,
-        Code: P,
-        Container: I,
-        Divider: M,
-        Drawer: tr,
-        Editable: nr,
-        Form: ir,
-        FormLabel: sr,
-        Heading: lr,
-        Input: dr,
-        Kbd: fr,
-        Link: pr,
-        List: hr,
-        Menu: Sr,
-        Modal: V,
-        NumberInput: Or,
-        PinInput: Fr,
-        Popover: Jr,
-        Progress: Zr,
-        Radio: Gr,
-        Select: Qr,
-        Skeleton: te,
-        SkipLink: ne,
-        Slider: ce,
-        Spinner: ue,
-        Stat: de,
-        Switch: he,
-        Table: me,
-        Tabs: Se,
-        Tag: ke,
-        Textarea: {
-          baseStyle: Ce,
-          sizes: Ee,
-          variants: Ae,
-          defaultProps: { size: 'md', variant: 'outline' },
-        },
-        Tooltip: {
-          baseStyle: function (r) {
-            return {
-              '--tooltip-bg': 'colors.' + (0, p.xJ)('gray.700', 'gray.300')(r),
-              px: '8px',
-              py: '2px',
-              bg: 'var(--tooltip-bg)',
-              '--popper-arrow-bg': 'var(--tooltip-bg)',
-              color: (0, p.xJ)('whiteAlpha.900', 'gray.900')(r),
-              borderRadius: 'sm',
-              fontWeight: 'medium',
-              fontSize: 'sm',
-              boxShadow: 'md',
-              maxW: '320px',
-              zIndex: 'tooltip',
-            }
-          },
-        },
-        FormError: { parts: ['text', 'icon'], baseStyle: (r) => ({ text: ze(r), icon: Re(r) }) },
-      }
-    },
-    42009: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Z: function () {
-          return b
-        },
-      })
-      var n = {
-          none: 0,
-          '1px': '1px solid',
-          '2px': '2px solid',
-          '4px': '4px solid',
-          '8px': '8px solid',
-        },
-        o = t(80658)
-      function a() {
-        return (a =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var i,
-        s =
-          ((i = { sm: '30em', md: '48em', lg: '62em', xl: '80em', '2xl': '96em' }),
-          (0, o.ZK)({
-            condition: !0,
-            message: [
-              '[chakra-ui]: createBreakpoints(...) will be deprecated pretty soon',
-              'simply pass the breakpoints as an object. Remove the createBreakpoint(..) call',
-            ].join(''),
-          }),
-          a({ base: '0em' }, i)),
-        l = {
-          transparent: 'transparent',
-          current: 'currentColor',
-          black: '#000000',
-          white: '#FFFFFF',
-          whiteAlpha: {
-            50: 'rgba(255, 255, 255, 0.04)',
-            100: 'rgba(255, 255, 255, 0.06)',
-            200: 'rgba(255, 255, 255, 0.08)',
-            300: 'rgba(255, 255, 255, 0.16)',
-            400: 'rgba(255, 255, 255, 0.24)',
-            500: 'rgba(255, 255, 255, 0.36)',
-            600: 'rgba(255, 255, 255, 0.48)',
-            700: 'rgba(255, 255, 255, 0.64)',
-            800: 'rgba(255, 255, 255, 0.80)',
-            900: 'rgba(255, 255, 255, 0.92)',
-          },
-          blackAlpha: {
-            50: 'rgba(0, 0, 0, 0.04)',
-            100: 'rgba(0, 0, 0, 0.06)',
-            200: 'rgba(0, 0, 0, 0.08)',
-            300: 'rgba(0, 0, 0, 0.16)',
-            400: 'rgba(0, 0, 0, 0.24)',
-            500: 'rgba(0, 0, 0, 0.36)',
-            600: 'rgba(0, 0, 0, 0.48)',
-            700: 'rgba(0, 0, 0, 0.64)',
-            800: 'rgba(0, 0, 0, 0.80)',
-            900: 'rgba(0, 0, 0, 0.92)',
-          },
-          gray: {
-            50: '#F7FAFC',
-            100: '#EDF2F7',
-            200: '#E2E8F0',
-            300: '#CBD5E0',
-            400: '#A0AEC0',
-            500: '#718096',
-            600: '#4A5568',
-            700: '#2D3748',
-            800: '#1A202C',
-            900: '#171923',
-          },
-          red: {
-            50: '#FFF5F5',
-            100: '#FED7D7',
-            200: '#FEB2B2',
-            300: '#FC8181',
-            400: '#F56565',
-            500: '#E53E3E',
-            600: '#C53030',
-            700: '#9B2C2C',
-            800: '#822727',
-            900: '#63171B',
-          },
-          orange: {
-            50: '#FFFAF0',
-            100: '#FEEBC8',
-            200: '#FBD38D',
-            300: '#F6AD55',
-            400: '#ED8936',
-            500: '#DD6B20',
-            600: '#C05621',
-            700: '#9C4221',
-            800: '#7B341E',
-            900: '#652B19',
-          },
-          yellow: {
-            50: '#FFFFF0',
-            100: '#FEFCBF',
-            200: '#FAF089',
-            300: '#F6E05E',
-            400: '#ECC94B',
-            500: '#D69E2E',
-            600: '#B7791F',
-            700: '#975A16',
-            800: '#744210',
-            900: '#5F370E',
-          },
-          green: {
-            50: '#F0FFF4',
-            100: '#C6F6D5',
-            200: '#9AE6B4',
-            300: '#68D391',
-            400: '#48BB78',
-            500: '#38A169',
-            600: '#2F855A',
-            700: '#276749',
-            800: '#22543D',
-            900: '#1C4532',
-          },
-          teal: {
-            50: '#E6FFFA',
-            100: '#B2F5EA',
-            200: '#81E6D9',
-            300: '#4FD1C5',
-            400: '#38B2AC',
-            500: '#319795',
-            600: '#2C7A7B',
-            700: '#285E61',
-            800: '#234E52',
-            900: '#1D4044',
-          },
-          blue: {
-            50: '#ebf8ff',
-            100: '#bee3f8',
-            200: '#90cdf4',
-            300: '#63b3ed',
-            400: '#4299e1',
-            500: '#3182ce',
-            600: '#2b6cb0',
-            700: '#2c5282',
-            800: '#2a4365',
-            900: '#1A365D',
-          },
-          cyan: {
-            50: '#EDFDFD',
-            100: '#C4F1F9',
-            200: '#9DECF9',
-            300: '#76E4F7',
-            400: '#0BC5EA',
-            500: '#00B5D8',
-            600: '#00A3C4',
-            700: '#0987A0',
-            800: '#086F83',
-            900: '#065666',
-          },
-          purple: {
-            50: '#FAF5FF',
-            100: '#E9D8FD',
-            200: '#D6BCFA',
-            300: '#B794F4',
-            400: '#9F7AEA',
-            500: '#805AD5',
-            600: '#6B46C1',
-            700: '#553C9A',
-            800: '#44337A',
-            900: '#322659',
-          },
-          pink: {
-            50: '#FFF5F7',
-            100: '#FED7E2',
-            200: '#FBB6CE',
-            300: '#F687B3',
-            400: '#ED64A6',
-            500: '#D53F8C',
-            600: '#B83280',
-            700: '#97266D',
-            800: '#702459',
-            900: '#521B41',
-          },
-          linkedin: {
-            50: '#E8F4F9',
-            100: '#CFEDFB',
-            200: '#9BDAF3',
-            300: '#68C7EC',
-            400: '#34B3E4',
-            500: '#00A0DC',
-            600: '#008CC9',
-            700: '#0077B5',
-            800: '#005E93',
-            900: '#004471',
-          },
-          facebook: {
-            50: '#E8F4F9',
-            100: '#D9DEE9',
-            200: '#B7C2DA',
-            300: '#6482C0',
-            400: '#4267B2',
-            500: '#385898',
-            600: '#314E89',
-            700: '#29487D',
-            800: '#223B67',
-            900: '#1E355B',
-          },
-          messenger: {
-            50: '#D0E6FF',
-            100: '#B9DAFF',
-            200: '#A2CDFF',
-            300: '#7AB8FF',
-            400: '#2E90FF',
-            500: '#0078FF',
-            600: '#0063D1',
-            700: '#0052AC',
-            800: '#003C7E',
-            900: '#002C5C',
-          },
-          whatsapp: {
-            50: '#dffeec',
-            100: '#b9f5d0',
-            200: '#90edb3',
-            300: '#65e495',
-            400: '#3cdd78',
-            500: '#22c35e',
-            600: '#179848',
-            700: '#0c6c33',
-            800: '#01421c',
-            900: '#001803',
-          },
-          twitter: {
-            50: '#E5F4FD',
-            100: '#C8E9FB',
-            200: '#A8DCFA',
-            300: '#83CDF7',
-            400: '#57BBF5',
-            500: '#1DA1F2',
-            600: '#1A94DA',
-            700: '#1681BF',
-            800: '#136B9E',
-            900: '#0D4D71',
-          },
-          telegram: {
-            50: '#E3F2F9',
-            100: '#C5E4F3',
-            200: '#A2D4EC',
-            300: '#7AC1E4',
-            400: '#47A9DA',
-            500: '#0088CC',
-            600: '#007AB8',
-            700: '#006BA1',
-            800: '#005885',
-            900: '#003F5E',
-          },
-        },
-        c = {
-          none: '0',
-          sm: '0.125rem',
-          base: '0.25rem',
-          md: '0.375rem',
-          lg: '0.5rem',
-          xl: '0.75rem',
-          '2xl': '1rem',
-          '3xl': '1.5rem',
-          full: '9999px',
-        },
-        u = {
-          xs: '0 0 0 1px rgba(0, 0, 0, 0.05)',
-          sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
-          base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
-          md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
-          lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
-          xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
-          '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
-          outline: '0 0 0 3px rgba(66, 153, 225, 0.6)',
-          inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)',
-          none: 'none',
-          'dark-lg':
-            'rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px',
-        },
-        d = t(54681),
-        f = t(54514),
-        p = {
-          property: {
-            common:
-              'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform',
-            colors: 'background-color, border-color, color, fill, stroke',
-            dimensions: 'width, height',
-            position: 'left, right, top, bottom',
-            background: 'background-color, background-image, background-position',
-          },
-          easing: {
-            'ease-in': 'cubic-bezier(0.4, 0, 1, 1)',
-            'ease-out': 'cubic-bezier(0, 0, 0.2, 1)',
-            'ease-in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
-          },
-          duration: {
-            'ultra-fast': '50ms',
-            faster: '100ms',
-            fast: '150ms',
-            normal: '200ms',
-            slow: '300ms',
-            slower: '400ms',
-            'ultra-slow': '500ms',
-          },
-        }
-      function h() {
-        return (h =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var b = h(
-        {
-          breakpoints: s,
-          zIndices: {
-            hide: -1,
-            auto: 'auto',
-            base: 0,
-            docked: 10,
-            dropdown: 1e3,
-            sticky: 1100,
-            banner: 1200,
-            overlay: 1300,
-            modal: 1400,
-            popover: 1500,
-            skipLink: 1600,
-            toast: 1700,
-            tooltip: 1800,
-          },
-          radii: c,
-          blur: {
-            none: 0,
-            sm: '4px',
-            base: '8px',
-            md: '12px',
-            lg: '16px',
-            xl: '24px',
-            '2xl': '40px',
-            '3xl': '64px',
-          },
-          colors: l,
-        },
-        t(35268).Z,
-        { sizes: d.Z, shadows: u, space: f.W, borders: n, transition: p },
-      )
-    },
-    54681: function (r, e, t) {
-      'use strict'
-      function n() {
-        return (n =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      var o = n(
-        {},
-        t(54514).W,
-        {
-          max: 'max-content',
-          min: 'min-content',
-          full: '100%',
-          '3xs': '14rem',
-          '2xs': '16rem',
-          xs: '20rem',
-          sm: '24rem',
-          md: '28rem',
-          lg: '32rem',
-          xl: '36rem',
-          '2xl': '42rem',
-          '3xl': '48rem',
-          '4xl': '56rem',
-          '5xl': '64rem',
-          '6xl': '72rem',
-          '7xl': '80rem',
-          '8xl': '90rem',
-        },
-        { container: { sm: '640px', md: '768px', lg: '1024px', xl: '1280px' } },
-      )
-      e.Z = o
-    },
-    54514: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        W: function () {
-          return n
-        },
-      })
-      var n = {
-        px: '1px',
-        0.5: '0.125rem',
-        1: '0.25rem',
-        1.5: '0.375rem',
-        2: '0.5rem',
-        2.5: '0.625rem',
-        3: '0.75rem',
-        3.5: '0.875rem',
-        4: '1rem',
-        5: '1.25rem',
-        6: '1.5rem',
-        7: '1.75rem',
-        8: '2rem',
-        9: '2.25rem',
-        10: '2.5rem',
-        12: '3rem',
-        14: '3.5rem',
-        16: '4rem',
-        20: '5rem',
-        24: '6rem',
-        28: '7rem',
-        32: '8rem',
-        36: '9rem',
-        40: '10rem',
-        44: '11rem',
-        48: '12rem',
-        52: '13rem',
-        56: '14rem',
-        60: '15rem',
-        64: '16rem',
-        72: '18rem',
-        80: '20rem',
-        96: '24rem',
-      }
-    },
-    35268: function (r, e) {
-      'use strict'
-      e.Z = {
-        letterSpacings: {
-          tighter: '-0.05em',
-          tight: '-0.025em',
-          normal: '0',
-          wide: '0.025em',
-          wider: '0.05em',
-          widest: '0.1em',
-        },
-        lineHeights: {
-          normal: 'normal',
-          none: 1,
-          shorter: 1.25,
-          short: 1.375,
-          base: 1.5,
-          tall: 1.625,
-          taller: '2',
-          3: '.75rem',
-          4: '1rem',
-          5: '1.25rem',
-          6: '1.5rem',
-          7: '1.75rem',
-          8: '2rem',
-          9: '2.25rem',
-          10: '2.5rem',
-        },
-        fontWeights: {
-          hairline: 100,
-          thin: 200,
-          light: 300,
-          normal: 400,
-          medium: 500,
-          semibold: 600,
-          bold: 700,
-          extrabold: 800,
-          black: 900,
-        },
-        fonts: {
-          heading:
-            '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
-          body: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
-          mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace',
-        },
-        fontSizes: {
-          xs: '0.75rem',
-          sm: '0.875rem',
-          md: '1rem',
-          lg: '1.125rem',
-          xl: '1.25rem',
-          '2xl': '1.5rem',
-          '3xl': '1.875rem',
-          '4xl': '2.25rem',
-          '5xl': '3rem',
-          '6xl': '3.75rem',
-          '7xl': '4.5rem',
-          '8xl': '6rem',
-          '9xl': '8rem',
-        },
-      }
-    },
-    84806: function (r, e, t) {
-      'use strict'
-      var n = t(83035),
-        o = t(42009),
-        a = t(41926),
-        i = t(93025)
-      function s() {
-        return (s =
-          Object.assign ||
-          function (r) {
-            for (var e = 1; e < arguments.length; e++) {
-              var t = arguments[e]
-              for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n])
-            }
-            return r
-          }).apply(this, arguments)
-      }
-      t.o(i, 'useTheme') &&
-        t.d(e, {
-          useTheme: function () {
-            return i.useTheme
-          },
-        })
-      var l = s({ direction: 'ltr' }, o.Z, {
-        components: n.Z,
-        styles: a.Z,
-        config: { useSystemColorMode: !1, initialColorMode: 'light', cssVarPrefix: 'chakra' },
-      })
-      e.Z = l
-    },
-    41926: function (r, e, t) {
-      'use strict'
-      var n = t(63108),
-        o = {
-          global: (r) => ({
-            body: {
-              fontFamily: 'body',
-              color: (0, n.xJ)('gray.800', 'whiteAlpha.900')(r),
-              bg: (0, n.xJ)('white', 'gray.800')(r),
-              transitionProperty: 'background-color',
-              transitionDuration: 'normal',
-              lineHeight: 'base',
-            },
-            '*::placeholder': { color: (0, n.xJ)('gray.400', 'whiteAlpha.400')(r) },
-            '*, *::before, &::after': {
-              borderColor: (0, n.xJ)('gray.200', 'whiteAlpha.300')(r),
-              wordWrap: 'break-word',
-            },
-          }),
-        }
-      e.Z = o
-    },
-    93025: function () {},
-    27277: function (r, e, t) {
-      'use strict'
-      function n(r) {
-        var e = null == r ? 0 : r.length
-        return e ? r[e - 1] : void 0
-      }
-      function o(r, e) {
-        return [...r, e]
-      }
-      function a(r, e) {
-        return r.filter((r) => r !== e)
-      }
-      function i(r, e, t, n) {
-        if (null == e) return n
-        if (!n) return r.find((r) => t(r).toLowerCase().startsWith(e.toLowerCase()))
-        var o,
-          a = r.filter((r) => t(r).toLowerCase().startsWith(e.toLowerCase()))
-        return a.length > 0
-          ? a.includes(n)
-            ? ((o = a.indexOf(n) + 1) === a.length && (o = 0), a[o])
-            : ((o = r.indexOf(a[0])), r[o])
-          : n
-      }
-      t.d(e, {
-        s: function () {
-          return n
-        },
-        jX: function () {
-          return o
-        },
-        cl: function () {
-          return a
-        },
-        LP: function () {
-          return i
-        },
-      })
-    },
-    73808: function (r, e, t) {
-      'use strict'
-      function n(r) {
-        return 'number' === typeof r
-      }
-      function o(r) {
-        return 'number' !== typeof r || Number.isNaN(r) || !Number.isFinite(r)
-      }
-      function a(r) {
-        return Array.isArray(r)
-      }
-      function i(r) {
-        return 'function' === typeof r
-      }
-      function s(r) {
-        return 'undefined' === typeof r || void 0 === r
-      }
-      function l(r) {
-        var e = typeof r
-        return null != r && ('object' === e || 'function' === e) && !a(r)
-      }
-      function c(r) {
-        return l(r) && 0 === Object.keys(r).length
-      }
-      function u(r) {
-        return '[object String]' === Object.prototype.toString.call(r)
-      }
-      function d(r) {
-        return /^var\(--.+\)$/.test(r)
-      }
-      t.d(e, {
-        hj: function () {
-          return n
-        },
-        iy: function () {
-          return o
-        },
-        kJ: function () {
-          return a
-        },
-        mf: function () {
-          return i
-        },
-        o8: function () {
-          return s
-        },
-        Kn: function () {
-          return l
-        },
-        Qr: function () {
-          return c
-        },
-        HD: function () {
-          return u
-        },
-        FS: function () {
-          return d
-        },
-        Ts: function () {
-          return f
-        },
-        Ys: function () {
-          return p
-        },
-      })
-      var f = !1,
-        p = !1
-    },
-    88456: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        px: function () {
-          return i
-        },
-        y: function () {
-          return d
-        },
-      })
-      var n = t(27277),
-        o = t(73808),
-        a = t(4651)
-      function i(r) {
-        if (null == r) return r
-        var { unitless: e } = (function (r) {
-          var e = parseFloat(r.toString()),
-            t = r.toString().replace(String(e), '')
-          return { unitless: !t, value: e, unit: t }
-        })(r)
-        return e || (0, o.hj)(r) ? r + 'px' : r
-      }
-      var s = (r, e) => (parseInt(r[1], 10) > parseInt(e[1], 10) ? 1 : -1),
-        l = (r) => (0, a.sq)(Object.entries(r).sort(s))
-      function c(r) {
-        var e = l(r)
-        return Object.assign(Object.values(e), e)
-      }
-      function u(r, e) {
-        var t = []
-        return (
-          r && t.push('@media screen and (min-width: ' + i(r) + ')'),
-          t.length > 0 && e && t.push('and'),
-          e && t.push('@media screen and (max-width: ' + i(e) + ')'),
-          t.join(' ')
-        )
-      }
-      function d(r) {
-        var e
-        if (!r) return null
-        r.base = null != (e = r.base) ? e : '0px'
-        var t = c(r),
-          a = Object.entries(r)
-            .sort(s)
-            .map((r, e, t) => {
-              var n,
-                [a, s] = r,
-                [, l] = null != (n = t[e + 1]) ? n : []
-              return {
-                breakpoint: a,
-                minW: s,
-                maxW: (l =
-                  parseFloat(l) > 0
-                    ? (function (r) {
-                        var e
-                        if (!r) return r
-                        var t = (r = null != (e = i(r)) ? e : r).endsWith('px') ? -1 : -0.0635
-                        return (0, o.hj)(r)
-                          ? '' + (r + t)
-                          : r.replace(/([0-9]+\.?[0-9]*)/, (r) => '' + (parseFloat(r) + t))
-                      })(l)
-                    : void 0),
-                maxWQuery: u(null, l),
-                minWQuery: u(s),
-                minMaxQuery: u(s, l),
-              }
-            }),
-          d = (function (r) {
-            var e = Object.keys(l(r))
-            return new Set(e)
-          })(r),
-          f = Array.from(d.values())
-        return {
-          keys: d,
-          normalized: t,
-          isResponsive(r) {
-            var e = Object.keys(r)
-            return e.length > 0 && e.every((r) => d.has(r))
-          },
-          asObject: l(r),
-          asArray: c(r),
-          details: a,
-          media: [null, ...t.map((r) => u(r)).slice(1)],
-          toArrayValue(r) {
-            if (!(0, o.Kn)(r)) throw new Error('toArrayValue: value must be an object')
-            for (
-              var e = f.map((e) => {
-                var t
-                return null != (t = r[e]) ? t : null
-              });
-              null === (0, n.s)(e);
-
-            )
-              e.pop()
-            return e
-          },
-          toObjectValue(r) {
-            if (!Array.isArray(r)) throw new Error('toObjectValue: value must be an array')
-            return r.reduce((r, e, t) => {
-              var n = f[t]
-              return null != n && null != e && (r[n] = e), r
-            }, {})
-          },
-        }
-      }
-    },
-    84461: function (r, e, t) {
-      'use strict'
-      function n(r) {
-        var e
-        return r instanceof Element && null != (e = r.ownerDocument) ? e : document
-      }
-      t.d(e, {
-        lZ: function () {
-          return n
-        },
-        jU: function () {
-          return o
-        },
-        PB: function () {
-          return a
-        },
-        Qm: function () {
-          return i
-        },
-        cx: function () {
-          return s
-        },
-        vY: function () {
-          return l
-        },
-        r3: function () {
-          return c
-        },
-        EV: function () {
-          return u
-        },
-        uh: function () {
-          return d
-        },
-        dO: function () {
-          return f
-        },
-      })
-      var o = !(
-          'undefined' === typeof window ||
-          !window.document ||
-          !window.document.createElement
-        ),
-        a = (r) => (r ? '' : void 0),
-        i = (r) => !!r || void 0,
-        s = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return e.filter(Boolean).join(' ')
-        }
-      function l(r) {
-        var e = n(r)
-        return null == e ? void 0 : e.activeElement
-      }
-      function c(r, e) {
-        return !!r && (r === e || r.contains(e))
-      }
-      function u(r, e, t, n) {
-        return (
-          r.addEventListener(e, t, n),
-          () => {
-            r.removeEventListener(e, t, n)
-          }
-        )
-      }
-      function d(r) {
-        var { key: e, keyCode: t } = r
-        return t >= 37 && t <= 40 && 0 !== e.indexOf('Arrow') ? 'Arrow' + e : e
-      }
-      function f(r) {
-        return 0 !== r.button
-      }
-    },
-    80658: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Pu: function () {
-          return o
-        },
-        v0: function () {
-          return a
-        },
-        ZT: function () {
-          return s
-        },
-        ZK: function () {
-          return l
-        },
-        A4: function () {
-          return c
-        },
-        zG: function () {
-          return u
-        },
-        TE: function () {
-          return p
-        },
-      })
-      var n = t(73808)
-      function o(r) {
-        for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++)
-          t[o - 1] = arguments[o]
-        return (0, n.mf)(r) ? r(...t) : r
-      }
-      function a() {
-        for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-        return function (r) {
-          e.some((e) => (null == e || e(r), null == r ? void 0 : r.defaultPrevented))
-        }
-      }
-      function i(r) {
-        var e
-        return function () {
-          if (r) {
-            for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]
-            ;(e = r.apply(this, n)), (r = null)
-          }
-          return e
-        }
-      }
-      var s = () => {},
-        l = i((r) => () => {
-          var { condition: e, message: t } = r
-          e && n.Ts && console.warn(t)
-        }),
-        c =
-          (i((r) => () => {
-            var { condition: e, message: t } = r
-            e && n.Ts && console.error(t)
-          }),
-          n.Ys
-            ? (r) => r()
-            : 'function' === typeof queueMicrotask
-            ? queueMicrotask
-            : (r) => {
-                Promise.resolve().then(r)
-              }),
-        u = function () {
-          for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-          return (r) => e.reduce((r, e) => e(r), r)
-        },
-        d = (r, e) => Math.abs(r - e),
-        f = (r) => 'x' in r && 'y' in r
-      function p(r, e) {
-        if ((0, n.hj)(r) && (0, n.hj)(e)) return d(r, e)
-        if (f(r) && f(e)) {
-          var t = d(r.x, e.x),
-            o = d(r.y, e.y)
-          return Math.sqrt(t ** 2 + o ** 2)
-        }
-        return 0
-      }
-    },
-    4651: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        CE: function () {
-          return n
-        },
-        ei: function () {
-          return o
-        },
-        Vl: function () {
-          return a
-        },
-        Wf: function () {
-          return i
-        },
-        lw: function () {
-          return s
-        },
-        YU: function () {
-          return l
-        },
-        Yd: function () {
-          return c
-        },
-        sq: function () {
-          return u
-        },
-        K1: function () {
-          return d
-        },
-      })
-      t(38554)
-      function n(r, e) {
-        var t = {}
-        return (
-          Object.keys(r).forEach((n) => {
-            e.includes(n) || (t[n] = r[n])
-          }),
-          t
-        )
-      }
-      function o(r, e) {
-        var t = {}
-        return (
-          e.forEach((e) => {
-            e in r && (t[e] = r[e])
-          }),
-          t
-        )
-      }
-      function a(r, e) {
-        var t = {},
-          n = {}
-        return (
-          Object.keys(r).forEach((o) => {
-            e.includes(o) ? (t[o] = r[o]) : (n[o] = r[o])
-          }),
-          [t, n]
-        )
-      }
-      var i = ((r) => {
-        var e = new WeakMap()
-        return (t, n, o, a) => {
-          if ('undefined' === typeof t) return r(t, n, o)
-          e.has(t) || e.set(t, new Map())
-          var i = e.get(t)
-          if (i.has(n)) return i.get(n)
-          var s = r(t, n, o, a)
-          return i.set(n, s), s
-        }
-      })(function (r, e, t, n) {
-        var o = 'string' === typeof e ? e.split('.') : [e]
-        for (n = 0; n < o.length && r; n += 1) r = r[o[n]]
-        return void 0 === r ? t : r
-      })
-      function s(r, e) {
-        var t = {}
-        return (
-          Object.keys(r).forEach((n) => {
-            var o = r[n]
-            e(o, n, r) && (t[n] = o)
-          }),
-          t
-        )
-      }
-      var l = (r) => s(r, (r) => null !== r && void 0 !== r),
-        c = (r) => Object.keys(r),
-        u = (r) =>
-          r.reduce((r, e) => {
-            var [t, n] = e
-            return (r[t] = n), r
-          }, {}),
-        d = (r, e, t) => {
-          var n, o
-          return null != (n = null == (o = r.__cssMap[e + '.' + t]) ? void 0 : o.varRef) ? n : t
-        }
-    },
-    28204: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Z: function () {
-          return er
-        },
-      })
-      var n = t(11526),
-        o = Math.abs,
-        a = String.fromCharCode
-      function i(r) {
-        return r.trim()
-      }
-      function s(r, e, t) {
-        return r.replace(e, t)
-      }
-      function l(r, e) {
-        return r.indexOf(e)
-      }
-      function c(r, e) {
-        return 0 | r.charCodeAt(e)
-      }
-      function u(r, e, t) {
-        return r.slice(e, t)
-      }
-      function d(r) {
-        return r.length
-      }
-      function f(r) {
-        return r.length
-      }
-      function p(r, e) {
-        return e.push(r), r
-      }
-      var h = 1,
-        b = 1,
-        g = 0,
-        m = 0,
-        v = 0,
-        y = ''
-      function x(r, e, t, n, o, a, i) {
-        return {
-          value: r,
-          root: e,
-          parent: t,
-          type: n,
-          props: o,
-          children: a,
-          line: h,
-          column: b,
-          length: i,
-          return: '',
-        }
-      }
-      function w(r, e, t) {
-        return x(r, e.root, e.parent, t, e.props, e.children, 0)
-      }
-      function S() {
-        return (v = m > 0 ? c(y, --m) : 0), b--, 10 === v && ((b = 1), h--), v
-      }
-      function k() {
-        return (v = m < g ? c(y, m++) : 0), b++, 10 === v && ((b = 1), h++), v
-      }
-      function _() {
-        return c(y, m)
-      }
-      function C() {
-        return m
-      }
-      function A(r, e) {
-        return u(y, r, e)
-      }
-      function E(r) {
-        switch (r) {
-          case 0:
-          case 9:
-          case 10:
-          case 13:
-          case 32:
-            return 5
-          case 33:
-          case 43:
-          case 44:
-          case 47:
-          case 62:
-          case 64:
-          case 126:
-          case 59:
-          case 123:
-          case 125:
-            return 4
-          case 58:
-            return 3
-          case 34:
-          case 39:
-          case 40:
-          case 91:
-            return 2
-          case 41:
-          case 93:
-            return 1
-        }
-        return 0
-      }
-      function z(r) {
-        return (h = b = 1), (g = d((y = r))), (m = 0), []
-      }
-      function R(r) {
-        return (y = ''), r
-      }
-      function B(r) {
-        return i(A(m - 1, T(91 === r ? r + 2 : 40 === r ? r + 1 : r)))
-      }
-      function j(r) {
-        for (; (v = _()) && v < 33; ) k()
-        return E(r) > 2 || E(v) > 3 ? '' : ' '
-      }
-      function O(r, e) {
-        for (; --e && k() && !(v < 48 || v > 102 || (v > 57 && v < 65) || (v > 70 && v < 97)); );
-        return A(r, C() + (e < 6 && 32 == _() && 32 == k()))
-      }
-      function T(r) {
-        for (; k(); )
-          switch (v) {
-            case r:
-              return m
-            case 34:
-            case 39:
-              return T(34 === r || 39 === r ? r : v)
-            case 40:
-              41 === r && T(r)
-              break
-            case 92:
-              k()
-          }
-        return m
-      }
-      function F(r, e) {
-        for (; k() && r + v !== 57 && (r + v !== 84 || 47 !== _()); );
-        return '/*' + A(e, m - 1) + '*' + a(47 === r ? r : k())
-      }
-      function P(r) {
-        for (; !E(_()); ) k()
-        return A(r, m)
-      }
-      var I = '-ms-',
-        M = '-moz-',
-        D = '-webkit-',
-        W = 'comm',
-        J = 'rule',
-        N = 'decl'
-      function H(r, e) {
-        for (var t = '', n = f(r), o = 0; o < n; o++) t += e(r[o], o, r, e) || ''
-        return t
-      }
-      function L(r, e, t, n) {
-        switch (r.type) {
-          case '@import':
-          case N:
-            return (r.return = r.return || r.value)
-          case W:
-            return ''
-          case J:
-            r.value = r.props.join(',')
-        }
-        return d((t = H(r.children, n))) ? (r.return = r.value + '{' + t + '}') : ''
-      }
-      function $(r, e) {
-        switch (
-          (function (r, e) {
-            return (((((((e << 2) ^ c(r, 0)) << 2) ^ c(r, 1)) << 2) ^ c(r, 2)) << 2) ^ c(r, 3)
-          })(r, e)
-        ) {
-          case 5103:
-            return D + 'print-' + r + r
-          case 5737:
-          case 4201:
-          case 3177:
-          case 3433:
-          case 1641:
-          case 4457:
-          case 2921:
-          case 5572:
-          case 6356:
-          case 5844:
-          case 3191:
-          case 6645:
-          case 3005:
-          case 6391:
-          case 5879:
-          case 5623:
-          case 6135:
-          case 4599:
-          case 4855:
-          case 4215:
-          case 6389:
-          case 5109:
-          case 5365:
-          case 5621:
-          case 3829:
-            return D + r + r
-          case 5349:
-          case 4246:
-          case 4810:
-          case 6968:
-          case 2756:
-            return D + r + M + r + I + r + r
-          case 6828:
-          case 4268:
-            return D + r + I + r + r
-          case 6165:
-            return D + r + I + 'flex-' + r + r
-          case 5187:
-            return D + r + s(r, /(\w+).+(:[^]+)/, '-webkit-box-$1$2-ms-flex-$1$2') + r
-          case 5443:
-            return D + r + I + 'flex-item-' + s(r, /flex-|-self/, '') + r
-          case 4675:
-            return D + r + I + 'flex-line-pack' + s(r, /align-content|flex-|-self/, '') + r
-          case 5548:
-            return D + r + I + s(r, 'shrink', 'negative') + r
-          case 5292:
-            return D + r + I + s(r, 'basis', 'preferred-size') + r
-          case 6060:
-            return D + 'box-' + s(r, '-grow', '') + D + r + I + s(r, 'grow', 'positive') + r
-          case 4554:
-            return D + s(r, /([^-])(transform)/g, '$1-webkit-$2') + r
-          case 6187:
-            return s(s(s(r, /(zoom-|grab)/, D + '$1'), /(image-set)/, D + '$1'), r, '') + r
-          case 5495:
-          case 3959:
-            return s(r, /(image-set\([^]*)/, D + '$1$`$1')
-          case 4968:
-            return (
-              s(
-                s(r, /(.+:)(flex-)?(.*)/, '-webkit-box-pack:$3-ms-flex-pack:$3'),
-                /s.+-b[^;]+/,
-                'justify',
-              ) +
-              D +
-              r +
-              r
-            )
-          case 4095:
-          case 3583:
-          case 4068:
-          case 2532:
-            return s(r, /(.+)-inline(.+)/, D + '$1$2') + r
-          case 8116:
-          case 7059:
-          case 5753:
-          case 5535:
-          case 5445:
-          case 5701:
-          case 4933:
-          case 4677:
-          case 5533:
-          case 5789:
-          case 5021:
-          case 4765:
-            if (d(r) - 1 - e > 6)
-              switch (c(r, e + 1)) {
-                case 109:
-                  if (45 !== c(r, e + 4)) break
-                case 102:
-                  return (
-                    s(
-                      r,
-                      /(.+:)(.+)-([^]+)/,
-                      '$1-webkit-$2-$3$1' + M + (108 == c(r, e + 3) ? '$3' : '$2-$3'),
-                    ) + r
-                  )
-                case 115:
-                  return ~l(r, 'stretch') ? $(s(r, 'stretch', 'fill-available'), e) + r : r
-              }
-            break
-          case 4949:
-            if (115 !== c(r, e + 1)) break
-          case 6444:
-            switch (c(r, d(r) - 3 - (~l(r, '!important') && 10))) {
-              case 107:
-                return s(r, ':', ':' + D) + r
-              case 101:
-                return (
-                  s(
-                    r,
-                    /(.+:)([^;!]+)(;|!.+)?/,
-                    '$1' +
-                      D +
-                      (45 === c(r, 14) ? 'inline-' : '') +
-                      'box$3$1' +
-                      D +
-                      '$2$3$1' +
-                      I +
-                      '$2box$3',
-                  ) + r
-                )
-            }
-            break
-          case 5936:
-            switch (c(r, e + 11)) {
-              case 114:
-                return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'tb') + r
-              case 108:
-                return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'tb-rl') + r
-              case 45:
-                return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'lr') + r
-            }
-            return D + r + I + r + r
-        }
-        return r
-      }
-      function Z(r) {
-        return R(V('', null, null, null, [''], (r = z(r)), 0, [0], r))
-      }
-      function V(r, e, t, n, o, i, l, c, u) {
-        for (
-          var f = 0,
-            h = 0,
-            b = l,
-            g = 0,
-            m = 0,
-            v = 0,
-            y = 1,
-            x = 1,
-            w = 1,
-            A = 0,
-            E = '',
-            z = o,
-            R = i,
-            T = n,
-            I = E;
-          x;
-
-        )
-          switch (((v = A), (A = k()))) {
-            case 34:
-            case 39:
-            case 91:
-            case 40:
-              I += B(A)
-              break
-            case 9:
-            case 10:
-            case 13:
-            case 32:
-              I += j(v)
-              break
-            case 92:
-              I += O(C() - 1, 7)
-              continue
-            case 47:
-              switch (_()) {
-                case 42:
-                case 47:
-                  p(G(F(k(), C()), e, t), u)
-                  break
-                default:
-                  I += '/'
-              }
-              break
-            case 123 * y:
-              c[f++] = d(I) * w
-            case 125 * y:
-            case 59:
-            case 0:
-              switch (A) {
-                case 0:
-                case 125:
-                  x = 0
-                case 59 + h:
-                  m > 0 &&
-                    d(I) - b &&
-                    p(m > 32 ? Y(I + ';', n, t, b - 1) : Y(s(I, ' ', '') + ';', n, t, b - 2), u)
-                  break
-                case 59:
-                  I += ';'
-                default:
-                  if ((p((T = q(I, e, t, f, h, o, c, E, (z = []), (R = []), b)), i), 123 === A))
-                    if (0 === h) V(I, e, T, T, z, i, b, c, R)
-                    else
-                      switch (g) {
-                        case 100:
-                        case 109:
-                        case 115:
-                          V(
-                            r,
-                            T,
-                            T,
-                            n && p(q(r, T, T, 0, 0, o, c, E, o, (z = []), b), R),
-                            o,
-                            R,
-                            b,
-                            c,
-                            n ? z : R,
-                          )
-                          break
-                        default:
-                          V(I, T, T, T, [''], R, b, c, R)
-                      }
-              }
-              ;(f = h = m = 0), (y = w = 1), (E = I = ''), (b = l)
-              break
-            case 58:
-              ;(b = 1 + d(I)), (m = v)
-            default:
-              if (y < 1)
-                if (123 == A) --y
-                else if (125 == A && 0 == y++ && 125 == S()) continue
-              switch (((I += a(A)), A * y)) {
-                case 38:
-                  w = h > 0 ? 1 : ((I += '\f'), -1)
-                  break
-                case 44:
-                  ;(c[f++] = (d(I) - 1) * w), (w = 1)
-                  break
-                case 64:
-                  45 === _() && (I += B(k())), (g = _()), (h = d((E = I += P(C())))), A++
-                  break
-                case 45:
-                  45 === v && 2 == d(I) && (y = 0)
-              }
-          }
-        return i
-      }
-      function q(r, e, t, n, a, l, c, d, p, h, b) {
-        for (var g = a - 1, m = 0 === a ? l : [''], v = f(m), y = 0, w = 0, S = 0; y < n; ++y)
-          for (var k = 0, _ = u(r, g + 1, (g = o((w = c[y])))), C = r; k < v; ++k)
-            (C = i(w > 0 ? m[k] + ' ' + _ : s(_, /&\f/g, m[k]))) && (p[S++] = C)
-        return x(r, e, t, 0 === a ? J : d, p, h, b)
-      }
-      function G(r, e, t) {
-        return x(r, e, t, W, a(v), u(r, 2, -2), 0)
-      }
-      function Y(r, e, t, n) {
-        return x(r, e, t, N, u(r, 0, n), u(r, n + 1, -1), n)
-      }
-      var X = function (r, e) {
-          return R(
-            (function (r, e) {
-              var t = -1,
-                n = 44
-              do {
-                switch (E(n)) {
-                  case 0:
-                    38 === n && 12 === _() && (e[t] = 1), (r[t] += P(m - 1))
-                    break
-                  case 2:
-                    r[t] += B(n)
-                    break
-                  case 4:
-                    if (44 === n) {
-                      ;(r[++t] = 58 === _() ? '&\f' : ''), (e[t] = r[t].length)
-                      break
-                    }
-                  default:
-                    r[t] += a(n)
-                }
-              } while ((n = k()))
-              return r
-            })(z(r), e),
-          )
-        },
-        U = new WeakMap(),
-        K = function (r) {
-          if ('rule' === r.type && r.parent && r.length) {
-            for (
-              var e = r.value, t = r.parent, n = r.column === t.column && r.line === t.line;
-              'rule' !== t.type;
-
-            )
-              if (!(t = t.parent)) return
-            if ((1 !== r.props.length || 58 === e.charCodeAt(0) || U.get(t)) && !n) {
-              U.set(r, !0)
-              for (var o = [], a = X(e, o), i = t.props, s = 0, l = 0; s < a.length; s++)
-                for (var c = 0; c < i.length; c++, l++)
-                  r.props[l] = o[s] ? a[s].replace(/&\f/g, i[c]) : i[c] + ' ' + a[s]
-            }
-          }
-        },
-        Q = function (r) {
-          if ('decl' === r.type) {
-            var e = r.value
-            108 === e.charCodeAt(0) && 98 === e.charCodeAt(2) && ((r.return = ''), (r.value = ''))
-          }
-        },
-        rr = [
-          function (r, e, t, n) {
-            if (!r.return)
-              switch (r.type) {
-                case N:
-                  r.return = $(r.value, r.length)
-                  break
-                case '@keyframes':
-                  return H([w(s(r.value, '@', '@' + D), r, '')], n)
-                case J:
-                  if (r.length)
-                    return (function (r, e) {
-                      return r.map(e).join('')
-                    })(r.props, function (e) {
-                      switch (
-                        (function (r, e) {
-                          return (r = e.exec(r)) ? r[0] : r
-                        })(e, /(::plac\w+|:read-\w+)/)
-                      ) {
-                        case ':read-only':
-                        case ':read-write':
-                          return H([w(s(e, /:(read-\w+)/, ':-moz-$1'), r, '')], n)
-                        case '::placeholder':
-                          return H(
-                            [
-                              w(s(e, /:(plac\w+)/, ':-webkit-input-$1'), r, ''),
-                              w(s(e, /:(plac\w+)/, ':-moz-$1'), r, ''),
-                              w(s(e, /:(plac\w+)/, I + 'input-$1'), r, ''),
-                            ],
-                            n,
-                          )
-                      }
-                      return ''
-                    })
-              }
-          },
-        ],
-        er = function (r) {
-          var e = r.key
-          if ('css' === e) {
-            var t = document.querySelectorAll('style[data-emotion]:not([data-s])')
-            Array.prototype.forEach.call(t, function (r) {
-              ;-1 !== r.getAttribute('data-emotion').indexOf(' ') &&
-                (document.head.appendChild(r), r.setAttribute('data-s', ''))
-            })
-          }
-          var o = r.stylisPlugins || rr
-          var a,
-            i,
-            s = {},
-            l = []
-          ;(a = r.container || document.head),
-            Array.prototype.forEach.call(
-              document.querySelectorAll('style[data-emotion^="' + e + ' "]'),
-              function (r) {
-                for (var e = r.getAttribute('data-emotion').split(' '), t = 1; t < e.length; t++)
-                  s[e[t]] = !0
-                l.push(r)
-              },
-            )
-          var c,
-            u,
-            d = [
-              L,
-              ((u = function (r) {
-                c.insert(r)
-              }),
-              function (r) {
-                r.root || ((r = r.return) && u(r))
-              }),
-            ],
-            p = (function (r) {
-              var e = f(r)
-              return function (t, n, o, a) {
-                for (var i = '', s = 0; s < e; s++) i += r[s](t, n, o, a) || ''
-                return i
-              }
-            })([K, Q].concat(o, d))
-          i = function (r, e, t, n) {
-            ;(c = t),
-              H(Z(r ? r + '{' + e.styles + '}' : e.styles), p),
-              n && (h.inserted[e.name] = !0)
-          }
-          var h = {
-            key: e,
-            sheet: new n.m({
-              key: e,
-              container: a,
-              nonce: r.nonce,
-              speedy: r.speedy,
-              prepend: r.prepend,
-            }),
-            nonce: r.nonce,
-            inserted: s,
-            registered: {},
-            insert: i,
-          }
-          return h.sheet.hydrate(l), h
-        }
-    },
-    67866: function (r, e) {
-      'use strict'
-      e.Z = function (r) {
-        var e = Object.create(null)
-        return function (t) {
-          return void 0 === e[t] && (e[t] = r(t)), e[t]
-        }
-      }
-    },
-    30495: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        C: function () {
-          return h
-        },
-        E: function () {
-          return k
-        },
-        T: function () {
-          return g
-        },
-        a: function () {
-          return y
-        },
-        b: function () {
-          return x
-        },
-        c: function () {
-          return S
-        },
-        h: function () {
-          return f
-        },
-        u: function () {
-          return m
-        },
-        w: function () {
-          return b
-        },
-      })
-      var n = t(67294),
-        o = t(28204),
-        a = t(22122),
-        i = function (r) {
-          var e = new WeakMap()
-          return function (t) {
-            if (e.has(t)) return e.get(t)
-            var n = r(t)
-            return e.set(t, n), n
-          }
-        },
-        s = t(8679),
-        l = t.n(s),
-        c = function (r, e) {
-          return l()(r, e)
-        },
-        u = t(70444),
-        d = t(94199),
-        f = Object.prototype.hasOwnProperty,
-        p = (0, n.createContext)(
-          'undefined' !== typeof HTMLElement ? (0, o.Z)({ key: 'css' }) : null,
-        ),
-        h = p.Provider,
-        b = function (r) {
-          return (0, n.forwardRef)(function (e, t) {
-            var o = (0, n.useContext)(p)
-            return r(e, o, t)
-          })
-        },
-        g = (0, n.createContext)({}),
-        m = function () {
-          return (0, n.useContext)(g)
-        },
-        v = i(function (r) {
-          return i(function (e) {
-            return (function (r, e) {
-              return 'function' === typeof e ? e(r) : (0, a.Z)({}, r, e)
-            })(r, e)
-          })
-        }),
-        y = function (r) {
-          var e = (0, n.useContext)(g)
-          return (
-            r.theme !== e && (e = v(e)(r.theme)),
-            (0, n.createElement)(g.Provider, { value: e }, r.children)
-          )
-        }
-      function x(r) {
-        var e = r.displayName || r.name || 'Component',
-          t = function (e, t) {
-            var o = (0, n.useContext)(g)
-            return (0, n.createElement)(r, (0, a.Z)({ theme: o, ref: t }, e))
-          },
-          o = (0, n.forwardRef)(t)
-        return (o.displayName = 'WithTheme(' + e + ')'), c(o, r)
-      }
-      var w = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__',
-        S = function (r, e) {
-          var t = {}
-          for (var n in e) f.call(e, n) && (t[n] = e[n])
-          return (t[w] = r), t
-        },
-        k = b(function (r, e, t) {
-          var o = r.css
-          'string' === typeof o && void 0 !== e.registered[o] && (o = e.registered[o])
-          var a = r[w],
-            i = [o],
-            s = ''
-          'string' === typeof r.className
-            ? (s = (0, u.f)(e.registered, i, r.className))
-            : null != r.className && (s = r.className + ' ')
-          var l = (0, d.O)(
-            i,
-            void 0,
-            'function' === typeof o || Array.isArray(o) ? (0, n.useContext)(g) : void 0,
-          )
-          ;(0, u.M)(e, l, 'string' === typeof a)
-          s += e.key + '-' + l.name
-          var c = {}
-          for (var p in r) f.call(r, p) && 'css' !== p && p !== w && (c[p] = r[p])
-          return (c.ref = t), (c.className = s), (0, n.createElement)(a, c)
-        })
-    },
-    70917: function (r, e, t) {
-      'use strict'
-      t.r(e),
-        t.d(e, {
-          CacheProvider: function () {
-            return o.C
-          },
-          ThemeContext: function () {
-            return o.T
-          },
-          ThemeProvider: function () {
-            return o.a
-          },
-          useTheme: function () {
-            return o.u
-          },
-          withEmotionCache: function () {
-            return o.w
-          },
-          withTheme: function () {
-            return o.b
-          },
-          ClassNames: function () {
-            return h
-          },
-          Global: function () {
-            return c
-          },
-          createElement: function () {
-            return l
-          },
-          css: function () {
-            return u
-          },
-          jsx: function () {
-            return l
-          },
-          keyframes: function () {
-            return d
-          },
-        })
-      var n = t(67294),
-        o = (t(28204), t(30495)),
-        a = (t(8679), t(70444)),
-        i = t(94199),
-        s = t(11526),
-        l = function (r, e) {
-          var t = arguments
-          if (null == e || !o.h.call(e, 'css')) return n.createElement.apply(void 0, t)
-          var a = t.length,
-            i = new Array(a)
-          ;(i[0] = o.E), (i[1] = (0, o.c)(r, e))
-          for (var s = 2; s < a; s++) i[s] = t[s]
-          return n.createElement.apply(null, i)
-        },
-        c = (0, o.w)(function (r, e) {
-          var t = r.styles,
-            l = (0, i.O)(
-              [t],
-              void 0,
-              'function' === typeof t || Array.isArray(t) ? (0, n.useContext)(o.T) : void 0,
-            ),
-            c = (0, n.useRef)()
-          return (
-            (0, n.useLayoutEffect)(
-              function () {
-                var r = e.key + '-global',
-                  t = new s.m({
-                    key: r,
-                    nonce: e.sheet.nonce,
-                    container: e.sheet.container,
-                    speedy: e.sheet.isSpeedy,
-                  }),
-                  n = !1,
-                  o = document.querySelector('style[data-emotion="' + r + ' ' + l.name + '"]')
-                return (
-                  e.sheet.tags.length && (t.before = e.sheet.tags[0]),
-                  null !== o && ((n = !0), o.setAttribute('data-emotion', r), t.hydrate([o])),
-                  (c.current = [t, n]),
-                  function () {
-                    t.flush()
-                  }
-                )
-              },
-              [e],
-            ),
-            (0, n.useLayoutEffect)(
-              function () {
-                var r = c.current,
-                  t = r[0]
-                if (r[1]) r[1] = !1
-                else {
-                  if ((void 0 !== l.next && (0, a.M)(e, l.next, !0), t.tags.length)) {
-                    var n = t.tags[t.tags.length - 1].nextElementSibling
-                    ;(t.before = n), t.flush()
-                  }
-                  e.insert('', l, t, !1)
-                }
-              },
-              [e, l.name],
-            ),
-            null
-          )
-        })
-      function u() {
-        for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-        return (0, i.O)(e)
-      }
-      var d = function () {
-          var r = u.apply(void 0, arguments),
-            e = 'animation-' + r.name
-          return {
-            name: e,
-            styles: '@keyframes ' + e + '{' + r.styles + '}',
-            anim: 1,
-            toString: function () {
-              return '_EMO_' + this.name + '_' + this.styles + '_EMO_'
-            },
-          }
-        },
-        f = function r(e) {
-          for (var t = e.length, n = 0, o = ''; n < t; n++) {
-            var a = e[n]
-            if (null != a) {
-              var i = void 0
-              switch (typeof a) {
-                case 'boolean':
-                  break
-                case 'object':
-                  if (Array.isArray(a)) i = r(a)
-                  else for (var s in ((i = ''), a)) a[s] && s && (i && (i += ' '), (i += s))
-                  break
-                default:
-                  i = a
-              }
-              i && (o && (o += ' '), (o += i))
-            }
-          }
-          return o
-        }
-      function p(r, e, t) {
-        var n = [],
-          o = (0, a.f)(r, n, t)
-        return n.length < 2 ? t : o + e(n)
-      }
-      var h = (0, o.w)(function (r, e) {
-        var t = function () {
-            for (var r = arguments.length, t = new Array(r), n = 0; n < r; n++) t[n] = arguments[n]
-            var o = (0, i.O)(t, e.registered)
-            return (0, a.M)(e, o, !1), e.key + '-' + o.name
-          },
-          s = {
-            css: t,
-            cx: function () {
-              for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
-                n[o] = arguments[o]
-              return p(e.registered, t, f(n))
-            },
-            theme: (0, n.useContext)(o.T),
-          },
-          l = r.children(s)
-        return !0, l
-      })
-    },
-    94199: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        O: function () {
-          return b
-        },
-      })
-      var n = function (r) {
-          for (var e, t = 0, n = 0, o = r.length; o >= 4; ++n, o -= 4)
-            (e =
-              1540483477 *
-                (65535 &
-                  (e =
-                    (255 & r.charCodeAt(n)) |
-                    ((255 & r.charCodeAt(++n)) << 8) |
-                    ((255 & r.charCodeAt(++n)) << 16) |
-                    ((255 & r.charCodeAt(++n)) << 24))) +
-              ((59797 * (e >>> 16)) << 16)),
-              (t =
-                (1540483477 * (65535 & (e ^= e >>> 24)) + ((59797 * (e >>> 16)) << 16)) ^
-                (1540483477 * (65535 & t) + ((59797 * (t >>> 16)) << 16)))
-          switch (o) {
-            case 3:
-              t ^= (255 & r.charCodeAt(n + 2)) << 16
-            case 2:
-              t ^= (255 & r.charCodeAt(n + 1)) << 8
-            case 1:
-              t = 1540483477 * (65535 & (t ^= 255 & r.charCodeAt(n))) + ((59797 * (t >>> 16)) << 16)
-          }
-          return (
-            ((t = 1540483477 * (65535 & (t ^= t >>> 13)) + ((59797 * (t >>> 16)) << 16)) ^
-              (t >>> 15)) >>>
-            0
-          ).toString(36)
-        },
-        o = {
-          animationIterationCount: 1,
-          borderImageOutset: 1,
-          borderImageSlice: 1,
-          borderImageWidth: 1,
-          boxFlex: 1,
-          boxFlexGroup: 1,
-          boxOrdinalGroup: 1,
-          columnCount: 1,
-          columns: 1,
-          flex: 1,
-          flexGrow: 1,
-          flexPositive: 1,
-          flexShrink: 1,
-          flexNegative: 1,
-          flexOrder: 1,
-          gridRow: 1,
-          gridRowEnd: 1,
-          gridRowSpan: 1,
-          gridRowStart: 1,
-          gridColumn: 1,
-          gridColumnEnd: 1,
-          gridColumnSpan: 1,
-          gridColumnStart: 1,
-          msGridRow: 1,
-          msGridRowSpan: 1,
-          msGridColumn: 1,
-          msGridColumnSpan: 1,
-          fontWeight: 1,
-          lineHeight: 1,
-          opacity: 1,
-          order: 1,
-          orphans: 1,
-          tabSize: 1,
-          widows: 1,
-          zIndex: 1,
-          zoom: 1,
-          WebkitLineClamp: 1,
-          fillOpacity: 1,
-          floodOpacity: 1,
-          stopOpacity: 1,
-          strokeDasharray: 1,
-          strokeDashoffset: 1,
-          strokeMiterlimit: 1,
-          strokeOpacity: 1,
-          strokeWidth: 1,
-        },
-        a = t(67866),
-        i = /[A-Z]|^ms/g,
-        s = /_EMO_([^_]+?)_([^]*?)_EMO_/g,
-        l = function (r) {
-          return 45 === r.charCodeAt(1)
-        },
-        c = function (r) {
-          return null != r && 'boolean' !== typeof r
-        },
-        u = (0, a.Z)(function (r) {
-          return l(r) ? r : r.replace(i, '-$&').toLowerCase()
-        }),
-        d = function (r, e) {
-          switch (r) {
-            case 'animation':
-            case 'animationName':
-              if ('string' === typeof e)
-                return e.replace(s, function (r, e, t) {
-                  return (p = { name: e, styles: t, next: p }), e
-                })
-          }
-          return 1 === o[r] || l(r) || 'number' !== typeof e || 0 === e ? e : e + 'px'
-        }
-      function f(r, e, t) {
-        if (null == t) return ''
-        if (void 0 !== t.__emotion_styles) return t
-        switch (typeof t) {
-          case 'boolean':
-            return ''
-          case 'object':
-            if (1 === t.anim) return (p = { name: t.name, styles: t.styles, next: p }), t.name
-            if (void 0 !== t.styles) {
-              var n = t.next
-              if (void 0 !== n)
-                for (; void 0 !== n; )
-                  (p = { name: n.name, styles: n.styles, next: p }), (n = n.next)
-              return t.styles + ';'
-            }
-            return (function (r, e, t) {
-              var n = ''
-              if (Array.isArray(t)) for (var o = 0; o < t.length; o++) n += f(r, e, t[o]) + ';'
-              else
-                for (var a in t) {
-                  var i = t[a]
-                  if ('object' !== typeof i)
-                    null != e && void 0 !== e[i]
-                      ? (n += a + '{' + e[i] + '}')
-                      : c(i) && (n += u(a) + ':' + d(a, i) + ';')
-                  else if (
-                    !Array.isArray(i) ||
-                    'string' !== typeof i[0] ||
-                    (null != e && void 0 !== e[i[0]])
-                  ) {
-                    var s = f(r, e, i)
-                    switch (a) {
-                      case 'animation':
-                      case 'animationName':
-                        n += u(a) + ':' + s + ';'
-                        break
-                      default:
-                        n += a + '{' + s + '}'
-                    }
-                  } else
-                    for (var l = 0; l < i.length; l++)
-                      c(i[l]) && (n += u(a) + ':' + d(a, i[l]) + ';')
-                }
-              return n
-            })(r, e, t)
-          case 'function':
-            if (void 0 !== r) {
-              var o = p,
-                a = t(r)
-              return (p = o), f(r, e, a)
-            }
-            break
-          case 'string':
-        }
-        if (null == e) return t
-        var i = e[t]
-        return void 0 !== i ? i : t
-      }
-      var p,
-        h = /label:\s*([^\s;\n{]+)\s*(;|$)/g
-      var b = function (r, e, t) {
-        if (1 === r.length && 'object' === typeof r[0] && null !== r[0] && void 0 !== r[0].styles)
-          return r[0]
-        var o = !0,
-          a = ''
-        p = void 0
-        var i = r[0]
-        null == i || void 0 === i.raw ? ((o = !1), (a += f(t, e, i))) : (a += i[0])
-        for (var s = 1; s < r.length; s++) (a += f(t, e, r[s])), o && (a += i[s])
-        h.lastIndex = 0
-        for (var l, c = ''; null !== (l = h.exec(a)); ) c += '-' + l[1]
-        return { name: n(a) + c, styles: a, next: p }
-      }
-    },
-    11526: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        m: function () {
-          return n
-        },
-      })
-      var n = (function () {
-        function r(r) {
-          var e = this
-          ;(this._insertTag = function (r) {
-            var t
-            ;(t =
-              0 === e.tags.length
-                ? e.prepend
-                  ? e.container.firstChild
-                  : e.before
-                : e.tags[e.tags.length - 1].nextSibling),
-              e.container.insertBefore(r, t),
-              e.tags.push(r)
-          }),
-            (this.isSpeedy = void 0 === r.speedy || r.speedy),
-            (this.tags = []),
-            (this.ctr = 0),
-            (this.nonce = r.nonce),
-            (this.key = r.key),
-            (this.container = r.container),
-            (this.prepend = r.prepend),
-            (this.before = null)
-        }
-        var e = r.prototype
-        return (
-          (e.hydrate = function (r) {
-            r.forEach(this._insertTag)
-          }),
-          (e.insert = function (r) {
-            this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 &&
-              this._insertTag(
-                (function (r) {
-                  var e = document.createElement('style')
-                  return (
-                    e.setAttribute('data-emotion', r.key),
-                    void 0 !== r.nonce && e.setAttribute('nonce', r.nonce),
-                    e.appendChild(document.createTextNode('')),
-                    e.setAttribute('data-s', ''),
-                    e
-                  )
-                })(this),
-              )
-            var e = this.tags[this.tags.length - 1]
-            if (this.isSpeedy) {
-              var t = (function (r) {
-                if (r.sheet) return r.sheet
-                for (var e = 0; e < document.styleSheets.length; e++)
-                  if (document.styleSheets[e].ownerNode === r) return document.styleSheets[e]
-              })(e)
-              try {
-                t.insertRule(r, t.cssRules.length)
-              } catch (n) {
-                0
-              }
-            } else e.appendChild(document.createTextNode(r))
-            this.ctr++
-          }),
-          (e.flush = function () {
-            this.tags.forEach(function (r) {
-              return r.parentNode.removeChild(r)
-            }),
-              (this.tags = []),
-              (this.ctr = 0)
-          }),
-          r
-        )
-      })()
-    },
-    70444: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        f: function () {
-          return n
-        },
-        M: function () {
-          return o
-        },
-      })
-      function n(r, e, t) {
-        var n = ''
-        return (
-          t.split(' ').forEach(function (t) {
-            void 0 !== r[t] ? e.push(r[t] + ';') : (n += t + ' ')
-          }),
-          n
-        )
-      }
-      var o = function (r, e, t) {
-        var n = r.key + '-' + e.name
-        if (
-          (!1 === t && void 0 === r.registered[n] && (r.registered[n] = e.styles),
-          void 0 === r.inserted[e.name])
-        ) {
-          var o = e
-          do {
-            r.insert(e === o ? '.' + n : '', o, r.sheet, !0)
-            o = o.next
-          } while (void 0 !== o)
-        }
-      }
-    },
-    8679: function (r, e, t) {
-      'use strict'
-      var n = t(59864),
-        o = {
-          childContextTypes: !0,
-          contextType: !0,
-          contextTypes: !0,
-          defaultProps: !0,
-          displayName: !0,
-          getDefaultProps: !0,
-          getDerivedStateFromError: !0,
-          getDerivedStateFromProps: !0,
-          mixins: !0,
-          propTypes: !0,
-          type: !0,
-        },
-        a = {
-          name: !0,
-          length: !0,
-          prototype: !0,
-          caller: !0,
-          callee: !0,
-          arguments: !0,
-          arity: !0,
-        },
-        i = {
-          $$typeof: !0,
-          compare: !0,
-          defaultProps: !0,
-          displayName: !0,
-          propTypes: !0,
-          type: !0,
-        },
-        s = {}
-      function l(r) {
-        return n.isMemo(r) ? i : s[r.$$typeof] || o
-      }
-      ;(s[n.ForwardRef] = {
-        $$typeof: !0,
-        render: !0,
-        defaultProps: !0,
-        displayName: !0,
-        propTypes: !0,
-      }),
-        (s[n.Memo] = i)
-      var c = Object.defineProperty,
-        u = Object.getOwnPropertyNames,
-        d = Object.getOwnPropertySymbols,
-        f = Object.getOwnPropertyDescriptor,
-        p = Object.getPrototypeOf,
-        h = Object.prototype
-      r.exports = function r(e, t, n) {
-        if ('string' !== typeof t) {
-          if (h) {
-            var o = p(t)
-            o && o !== h && r(e, o, n)
-          }
-          var i = u(t)
-          d && (i = i.concat(d(t)))
-          for (var s = l(e), b = l(t), g = 0; g < i.length; ++g) {
-            var m = i[g]
-            if (!a[m] && (!n || !n[m]) && (!b || !b[m]) && (!s || !s[m])) {
-              var v = f(t, m)
-              try {
-                c(e, m, v)
-              } catch (y) {}
-            }
-          }
-        }
-        return e
-      }
-    },
-    38554: function (r, e, t) {
-      r = t.nmd(r)
-      var n = '__lodash_hash_undefined__',
-        o = 9007199254740991,
-        a = '[object Arguments]',
-        i = '[object Function]',
-        s = '[object Object]',
-        l = /^\[object .+?Constructor\]$/,
-        c = /^(?:0|[1-9]\d*)$/,
-        u = {}
-      ;(u['[object Float32Array]'] =
-        u['[object Float64Array]'] =
-        u['[object Int8Array]'] =
-        u['[object Int16Array]'] =
-        u['[object Int32Array]'] =
-        u['[object Uint8Array]'] =
-        u['[object Uint8ClampedArray]'] =
-        u['[object Uint16Array]'] =
-        u['[object Uint32Array]'] =
-          !0),
-        (u[a] =
-          u['[object Array]'] =
-          u['[object ArrayBuffer]'] =
-          u['[object Boolean]'] =
-          u['[object DataView]'] =
-          u['[object Date]'] =
-          u['[object Error]'] =
-          u[i] =
-          u['[object Map]'] =
-          u['[object Number]'] =
-          u[s] =
-          u['[object RegExp]'] =
-          u['[object Set]'] =
-          u['[object String]'] =
-          u['[object WeakMap]'] =
-            !1)
-      var d = 'object' == typeof t.g && t.g && t.g.Object === Object && t.g,
-        f = 'object' == typeof self && self && self.Object === Object && self,
-        p = d || f || Function('return this')(),
-        h = e && !e.nodeType && e,
-        b = h && r && !r.nodeType && r,
-        g = b && b.exports === h,
-        m = g && d.process,
-        v = (function () {
-          try {
-            var r = b && b.require && b.require('util').types
-            return r || (m && m.binding && m.binding('util'))
-          } catch (e) {}
-        })(),
-        y = v && v.isTypedArray
-      function x(r, e, t) {
-        switch (t.length) {
-          case 0:
-            return r.call(e)
-          case 1:
-            return r.call(e, t[0])
-          case 2:
-            return r.call(e, t[0], t[1])
-          case 3:
-            return r.call(e, t[0], t[1], t[2])
-        }
-        return r.apply(e, t)
-      }
-      var w,
-        S,
-        k = Array.prototype,
-        _ = Function.prototype,
-        C = Object.prototype,
-        A = p['__core-js_shared__'],
-        E = _.toString,
-        z = C.hasOwnProperty,
-        R = (function () {
-          var r = /[^.]+$/.exec((A && A.keys && A.keys.IE_PROTO) || '')
-          return r ? 'Symbol(src)_1.' + r : ''
-        })(),
-        B = C.toString,
-        j = E.call(Object),
-        O = RegExp(
-          '^' +
-            E.call(z)
-              .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
-              .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
-            '$',
-        ),
-        T = g ? p.Buffer : void 0,
-        F = p.Symbol,
-        P = p.Uint8Array,
-        I = T ? T.allocUnsafe : void 0,
-        M =
-          ((w = Object.getPrototypeOf),
-          (S = Object),
-          function (r) {
-            return w(S(r))
-          }),
-        D = Object.create,
-        W = C.propertyIsEnumerable,
-        J = k.splice,
-        N = F ? F.toStringTag : void 0,
-        H = (function () {
-          try {
-            var r = pr(Object, 'defineProperty')
-            return r({}, '', {}), r
-          } catch (e) {}
-        })(),
-        L = T ? T.isBuffer : void 0,
-        $ = Math.max,
-        Z = Date.now,
-        V = pr(p, 'Map'),
-        q = pr(Object, 'create'),
-        G = (function () {
-          function r() {}
-          return function (e) {
-            if (!Cr(e)) return {}
-            if (D) return D(e)
-            r.prototype = e
-            var t = new r()
-            return (r.prototype = void 0), t
-          }
-        })()
-      function Y(r) {
-        var e = -1,
-          t = null == r ? 0 : r.length
-        for (this.clear(); ++e < t; ) {
-          var n = r[e]
-          this.set(n[0], n[1])
-        }
-      }
-      function X(r) {
-        var e = -1,
-          t = null == r ? 0 : r.length
-        for (this.clear(); ++e < t; ) {
-          var n = r[e]
-          this.set(n[0], n[1])
-        }
-      }
-      function U(r) {
-        var e = -1,
-          t = null == r ? 0 : r.length
-        for (this.clear(); ++e < t; ) {
-          var n = r[e]
-          this.set(n[0], n[1])
-        }
-      }
-      function K(r) {
-        var e = (this.__data__ = new X(r))
-        this.size = e.size
-      }
-      function Q(r, e) {
-        var t = xr(r),
-          n = !t && yr(r),
-          o = !t && !n && Sr(r),
-          a = !t && !n && !o && Er(r),
-          i = t || n || o || a,
-          s = i
-            ? (function (r, e) {
-                for (var t = -1, n = Array(r); ++t < r; ) n[t] = e(t)
-                return n
-              })(r.length, String)
-            : [],
-          l = s.length
-        for (var c in r)
-          (!e && !z.call(r, c)) ||
-            (i &&
-              ('length' == c ||
-                (o && ('offset' == c || 'parent' == c)) ||
-                (a && ('buffer' == c || 'byteLength' == c || 'byteOffset' == c)) ||
-                hr(c, l))) ||
-            s.push(c)
-        return s
-      }
-      function rr(r, e, t) {
-        ;((void 0 !== t && !vr(r[e], t)) || (void 0 === t && !(e in r))) && nr(r, e, t)
-      }
-      function er(r, e, t) {
-        var n = r[e]
-        ;(z.call(r, e) && vr(n, t) && (void 0 !== t || e in r)) || nr(r, e, t)
-      }
-      function tr(r, e) {
-        for (var t = r.length; t--; ) if (vr(r[t][0], e)) return t
-        return -1
-      }
-      function nr(r, e, t) {
-        '__proto__' == e && H
-          ? H(r, e, { configurable: !0, enumerable: !0, value: t, writable: !0 })
-          : (r[e] = t)
-      }
-      ;(Y.prototype.clear = function () {
-        ;(this.__data__ = q ? q(null) : {}), (this.size = 0)
-      }),
-        (Y.prototype.delete = function (r) {
-          var e = this.has(r) && delete this.__data__[r]
-          return (this.size -= e ? 1 : 0), e
-        }),
-        (Y.prototype.get = function (r) {
-          var e = this.__data__
-          if (q) {
-            var t = e[r]
-            return t === n ? void 0 : t
-          }
-          return z.call(e, r) ? e[r] : void 0
-        }),
-        (Y.prototype.has = function (r) {
-          var e = this.__data__
-          return q ? void 0 !== e[r] : z.call(e, r)
-        }),
-        (Y.prototype.set = function (r, e) {
-          var t = this.__data__
-          return (this.size += this.has(r) ? 0 : 1), (t[r] = q && void 0 === e ? n : e), this
-        }),
-        (X.prototype.clear = function () {
-          ;(this.__data__ = []), (this.size = 0)
-        }),
-        (X.prototype.delete = function (r) {
-          var e = this.__data__,
-            t = tr(e, r)
-          return !(t < 0) && (t == e.length - 1 ? e.pop() : J.call(e, t, 1), --this.size, !0)
-        }),
-        (X.prototype.get = function (r) {
-          var e = this.__data__,
-            t = tr(e, r)
-          return t < 0 ? void 0 : e[t][1]
-        }),
-        (X.prototype.has = function (r) {
-          return tr(this.__data__, r) > -1
-        }),
-        (X.prototype.set = function (r, e) {
-          var t = this.__data__,
-            n = tr(t, r)
-          return n < 0 ? (++this.size, t.push([r, e])) : (t[n][1] = e), this
-        }),
-        (U.prototype.clear = function () {
-          ;(this.size = 0),
-            (this.__data__ = { hash: new Y(), map: new (V || X)(), string: new Y() })
-        }),
-        (U.prototype.delete = function (r) {
-          var e = fr(this, r).delete(r)
-          return (this.size -= e ? 1 : 0), e
-        }),
-        (U.prototype.get = function (r) {
-          return fr(this, r).get(r)
-        }),
-        (U.prototype.has = function (r) {
-          return fr(this, r).has(r)
-        }),
-        (U.prototype.set = function (r, e) {
-          var t = fr(this, r),
-            n = t.size
-          return t.set(r, e), (this.size += t.size == n ? 0 : 1), this
-        }),
-        (K.prototype.clear = function () {
-          ;(this.__data__ = new X()), (this.size = 0)
-        }),
-        (K.prototype.delete = function (r) {
-          var e = this.__data__,
-            t = e.delete(r)
-          return (this.size = e.size), t
-        }),
-        (K.prototype.get = function (r) {
-          return this.__data__.get(r)
-        }),
-        (K.prototype.has = function (r) {
-          return this.__data__.has(r)
-        }),
-        (K.prototype.set = function (r, e) {
-          var t = this.__data__
-          if (t instanceof X) {
-            var n = t.__data__
-            if (!V || n.length < 199) return n.push([r, e]), (this.size = ++t.size), this
-            t = this.__data__ = new U(n)
-          }
-          return t.set(r, e), (this.size = t.size), this
-        })
-      var or,
-        ar = function (r, e, t) {
-          for (var n = -1, o = Object(r), a = t(r), i = a.length; i--; ) {
-            var s = a[or ? i : ++n]
-            if (!1 === e(o[s], s, o)) break
-          }
-          return r
-        }
-      function ir(r) {
-        return null == r
-          ? void 0 === r
-            ? '[object Undefined]'
-            : '[object Null]'
-          : N && N in Object(r)
-          ? (function (r) {
-              var e = z.call(r, N),
-                t = r[N]
-              try {
-                r[N] = void 0
-                var n = !0
-              } catch (a) {}
-              var o = B.call(r)
-              n && (e ? (r[N] = t) : delete r[N])
-              return o
-            })(r)
-          : (function (r) {
-              return B.call(r)
-            })(r)
-      }
-      function sr(r) {
-        return Ar(r) && ir(r) == a
-      }
-      function lr(r) {
-        return (
-          !(
-            !Cr(r) ||
-            (function (r) {
-              return !!R && R in r
-            })(r)
-          ) &&
-          (kr(r) ? O : l).test(
-            (function (r) {
-              if (null != r) {
-                try {
-                  return E.call(r)
-                } catch (e) {}
-                try {
-                  return r + ''
-                } catch (e) {}
-              }
-              return ''
-            })(r),
-          )
-        )
-      }
-      function cr(r) {
-        if (!Cr(r))
-          return (function (r) {
-            var e = []
-            if (null != r) for (var t in Object(r)) e.push(t)
-            return e
-          })(r)
-        var e = br(r),
-          t = []
-        for (var n in r) ('constructor' != n || (!e && z.call(r, n))) && t.push(n)
-        return t
-      }
-      function ur(r, e, t, n, o) {
-        r !== e &&
-          ar(
-            e,
-            function (a, i) {
-              if ((o || (o = new K()), Cr(a)))
-                !(function (r, e, t, n, o, a, i) {
-                  var l = gr(r, t),
-                    c = gr(e, t),
-                    u = i.get(c)
-                  if (u) return void rr(r, t, u)
-                  var d = a ? a(l, c, t + '', r, e, i) : void 0,
-                    f = void 0 === d
-                  if (f) {
-                    var p = xr(c),
-                      h = !p && Sr(c),
-                      b = !p && !h && Er(c)
-                    ;(d = c),
-                      p || h || b
-                        ? xr(l)
-                          ? (d = l)
-                          : Ar((g = l)) && wr(g)
-                          ? (d = (function (r, e) {
-                              var t = -1,
-                                n = r.length
-                              e || (e = Array(n))
-                              for (; ++t < n; ) e[t] = r[t]
-                              return e
-                            })(l))
-                          : h
-                          ? ((f = !1),
-                            (d = (function (r, e) {
-                              if (e) return r.slice()
-                              var t = r.length,
-                                n = I ? I(t) : new r.constructor(t)
-                              return r.copy(n), n
-                            })(c, !0)))
-                          : b
-                          ? ((f = !1),
-                            (d = (function (r, e) {
-                              var t = e
-                                ? (function (r) {
-                                    var e = new r.constructor(r.byteLength)
-                                    return new P(e).set(new P(r)), e
-                                  })(r.buffer)
-                                : r.buffer
-                              return new r.constructor(t, r.byteOffset, r.length)
-                            })(c, !0)))
-                          : (d = [])
-                        : (function (r) {
-                            if (!Ar(r) || ir(r) != s) return !1
-                            var e = M(r)
-                            if (null === e) return !0
-                            var t = z.call(e, 'constructor') && e.constructor
-                            return 'function' == typeof t && t instanceof t && E.call(t) == j
-                          })(c) || yr(c)
-                        ? ((d = l),
-                          yr(l)
-                            ? (d = (function (r) {
-                                return (function (r, e, t, n) {
-                                  var o = !t
-                                  t || (t = {})
-                                  var a = -1,
-                                    i = e.length
-                                  for (; ++a < i; ) {
-                                    var s = e[a],
-                                      l = n ? n(t[s], r[s], s, t, r) : void 0
-                                    void 0 === l && (l = r[s]), o ? nr(t, s, l) : er(t, s, l)
-                                  }
-                                  return t
-                                })(r, zr(r))
-                              })(l))
-                            : (Cr(l) && !kr(l)) ||
-                              (d = (function (r) {
-                                return 'function' != typeof r.constructor || br(r) ? {} : G(M(r))
-                              })(c)))
-                        : (f = !1)
-                  }
-                  var g
-                  f && (i.set(c, d), o(d, c, n, a, i), i.delete(c))
-                  rr(r, t, d)
-                })(r, e, i, t, ur, n, o)
-              else {
-                var l = n ? n(gr(r, i), a, i + '', r, e, o) : void 0
-                void 0 === l && (l = a), rr(r, i, l)
-              }
-            },
-            zr,
-          )
-      }
-      function dr(r, e) {
-        return mr(
-          (function (r, e, t) {
-            return (
-              (e = $(void 0 === e ? r.length - 1 : e, 0)),
-              function () {
-                for (var n = arguments, o = -1, a = $(n.length - e, 0), i = Array(a); ++o < a; )
-                  i[o] = n[e + o]
-                o = -1
-                for (var s = Array(e + 1); ++o < e; ) s[o] = n[o]
-                return (s[e] = t(i)), x(r, this, s)
-              }
-            )
-          })(r, e, jr),
-          r + '',
-        )
-      }
-      function fr(r, e) {
-        var t = r.__data__
-        return (function (r) {
-          var e = typeof r
-          return 'string' == e || 'number' == e || 'symbol' == e || 'boolean' == e
-            ? '__proto__' !== r
-            : null === r
-        })(e)
-          ? t['string' == typeof e ? 'string' : 'hash']
-          : t.map
-      }
-      function pr(r, e) {
-        var t = (function (r, e) {
-          return null == r ? void 0 : r[e]
-        })(r, e)
-        return lr(t) ? t : void 0
-      }
-      function hr(r, e) {
-        var t = typeof r
-        return (
-          !!(e = null == e ? o : e) &&
-          ('number' == t || ('symbol' != t && c.test(r))) &&
-          r > -1 &&
-          r % 1 == 0 &&
-          r < e
-        )
-      }
-      function br(r) {
-        var e = r && r.constructor
-        return r === (('function' == typeof e && e.prototype) || C)
-      }
-      function gr(r, e) {
-        if (('constructor' !== e || 'function' !== typeof r[e]) && '__proto__' != e) return r[e]
-      }
-      var mr = (function (r) {
-        var e = 0,
-          t = 0
-        return function () {
-          var n = Z(),
-            o = 16 - (n - t)
-          if (((t = n), o > 0)) {
-            if (++e >= 800) return arguments[0]
-          } else e = 0
-          return r.apply(void 0, arguments)
-        }
-      })(
-        H
-          ? function (r, e) {
-              return H(r, 'toString', {
-                configurable: !0,
-                enumerable: !1,
-                value:
-                  ((t = e),
-                  function () {
-                    return t
-                  }),
-                writable: !0,
-              })
-              var t
-            }
-          : jr,
-      )
-      function vr(r, e) {
-        return r === e || (r !== r && e !== e)
-      }
-      var yr = sr(
-          (function () {
-            return arguments
-          })(),
-        )
-          ? sr
-          : function (r) {
-              return Ar(r) && z.call(r, 'callee') && !W.call(r, 'callee')
-            },
-        xr = Array.isArray
-      function wr(r) {
-        return null != r && _r(r.length) && !kr(r)
-      }
-      var Sr =
-        L ||
-        function () {
-          return !1
-        }
-      function kr(r) {
-        if (!Cr(r)) return !1
-        var e = ir(r)
-        return (
-          e == i ||
-          '[object GeneratorFunction]' == e ||
-          '[object AsyncFunction]' == e ||
-          '[object Proxy]' == e
-        )
-      }
-      function _r(r) {
-        return 'number' == typeof r && r > -1 && r % 1 == 0 && r <= o
-      }
-      function Cr(r) {
-        var e = typeof r
-        return null != r && ('object' == e || 'function' == e)
-      }
-      function Ar(r) {
-        return null != r && 'object' == typeof r
-      }
-      var Er = y
-        ? (function (r) {
-            return function (e) {
-              return r(e)
-            }
-          })(y)
-        : function (r) {
-            return Ar(r) && _r(r.length) && !!u[ir(r)]
-          }
-      function zr(r) {
-        return wr(r) ? Q(r, !0) : cr(r)
-      }
-      var Rr,
-        Br =
-          ((Rr = function (r, e, t, n) {
-            ur(r, e, t, n)
-          }),
-          dr(function (r, e) {
-            var t = -1,
-              n = e.length,
-              o = n > 1 ? e[n - 1] : void 0,
-              a = n > 2 ? e[2] : void 0
-            for (
-              o = Rr.length > 3 && 'function' == typeof o ? (n--, o) : void 0,
-                a &&
-                  (function (r, e, t) {
-                    if (!Cr(t)) return !1
-                    var n = typeof e
-                    return (
-                      !!('number' == n ? wr(t) && hr(e, t.length) : 'string' == n && (e in t)) &&
-                      vr(t[e], r)
-                    )
-                  })(e[0], e[1], a) &&
-                  ((o = n < 3 ? void 0 : o), (n = 1)),
-                r = Object(r);
-              ++t < n;
-
-            ) {
-              var i = e[t]
-              i && Rr(r, i, t, o)
-            }
-            return r
-          }))
-      function jr(r) {
-        return r
-      }
-      r.exports = Br
-    },
-    29200: function (r, e, t) {
-      'use strict'
-      t.r(e),
-        t.d(e, {
-          default: function () {
-            return F
-          },
-        })
-      var n = t(26265),
-        o = t(85893),
-        a = (t(82702), t(84806)),
-        i = t(73808),
-        s = [
-          'borders',
-          'breakpoints',
-          'colors',
-          'components',
-          'config',
-          'direction',
-          'fonts',
-          'fontSizes',
-          'fontWeights',
-          'letterSpacings',
-          'lineHeights',
-          'radii',
-          'shadows',
-          'sizes',
-          'space',
-          'styles',
-          'transition',
-          'zIndices',
-        ]
-      function l(r) {
-        return !!(0, i.Kn)(r) && s.every((e) => Object.prototype.hasOwnProperty.call(r, e))
-      }
-      var c = t(80658),
-        u = t(38554),
-        d = t.n(u)
-      function f() {
-        for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-        return d()({}, ...e, p)
-      }
-      function p(r, e, t, n) {
-        if (((0, i.mf)(r) || (0, i.mf)(e)) && Object.prototype.hasOwnProperty.call(n, t))
-          return function () {
-            var t = (0, i.mf)(r) ? r(...arguments) : r,
-              n = (0, i.mf)(e) ? e(...arguments) : e
-            return d()({}, t, n, p)
-          }
-      }
-      var h = t(70917),
-        b = t(67294),
-        g = () =>
-          b.createElement(h.Global, {
-            styles:
-              '\n      html {\n        line-height: 1.5;\n        -webkit-text-size-adjust: 100%;\n        font-family: system-ui, sans-serif;\n        -webkit-font-smoothing: antialiased;\n        text-rendering: optimizeLegibility;      \n        -moz-osx-font-smoothing: grayscale; \n        touch-action: manipulation; \n      }\n\n      body {\n        position: relative;\n        min-height: 100%;\n        font-feature-settings: \'kern\';\n      }\n\n      *,\n      *::before,\n      *::after {\n        border-width: 0;\n        border-style: solid;\n        box-sizing: border-box;\n      }\n\n      main {\n        display: block;\n      }\n\n      hr {\n        border-top-width: 1px;\n        box-sizing: content-box;\n        height: 0;\n        overflow: visible;\n      }\n\n      pre,\n      code,\n      kbd,\n      samp {\n        font-family: SFMono-Regular,  Menlo, Monaco, Consolas, monospace;\n        font-size: 1em;\n      }\n\n      a {\n        background-color: transparent;\n        color: inherit;\n        text-decoration: inherit;\n      }\n\n      abbr[title] {\n        border-bottom: none;\n        text-decoration: underline;\n        -webkit-text-decoration: underline dotted;\n        text-decoration: underline dotted;\n      }\n\n      b,\n      strong {\n        font-weight: bold;\n      }\n\n      small {\n        font-size: 80%;\n      }\n\n      sub,\n      sup {\n        font-size: 75%;\n        line-height: 0;\n        position: relative;\n        vertical-align: baseline;\n      }\n\n      sub {\n        bottom: -0.25em;\n      }\n\n      sup {\n        top: -0.5em;\n      }\n\n      img {\n        border-style: none;\n      }\n\n      button,\n      input,\n      optgroup,\n      select,\n      textarea {\n        font-family: inherit;\n        font-size: 100%;\n        line-height: 1.15;\n        margin: 0;\n      }\n\n      button,\n      input {\n        overflow: visible;\n      }\n\n      button,\n      select {\n        text-transform: none;\n      }\n\n      button::-moz-focus-inner,\n      [type="button"]::-moz-focus-inner,\n      [type="reset"]::-moz-focus-inner,\n      [type="submit"]::-moz-focus-inner {\n        border-style: none;\n        padding: 0;\n      }\n\n      fieldset {\n        padding: 0.35em 0.75em 0.625em;\n      }\n\n      legend {\n        box-sizing: border-box;\n        color: inherit;\n        display: table;\n        max-width: 100%;\n        padding: 0;\n        white-space: normal;\n      }\n\n      progress {\n        vertical-align: baseline;\n      }\n\n      textarea {\n        overflow: auto;\n      }\n\n      [type="checkbox"],\n      [type="radio"] {\n        box-sizing: border-box;\n        padding: 0;\n      }\n\n      [type="number"]::-webkit-inner-spin-button,\n      [type="number"]::-webkit-outer-spin-button {\n        -webkit-appearance: none !important;\n      }\n\n      input[type="number"] {\n        -moz-appearance: textfield;\n      }\n\n      [type="search"] {\n        -webkit-appearance: textfield;\n        outline-offset: -2px;\n      }\n\n      [type="search"]::-webkit-search-decoration {\n        -webkit-appearance: none !important;\n      }\n\n      ::-webkit-file-upload-button {\n        -webkit-appearance: button;\n        font: inherit;\n      }\n\n      details {\n        display: block;\n      }\n\n      summary {\n        display: list-item;\n      }\n\n      template {\n        display: none;\n      }\n\n      [hidden] {\n        display: none !important;\n      }\n\n      body,\n      blockquote,\n      dl,\n      dd,\n      h1,\n      h2,\n      h3,\n      h4,\n      h5,\n      h6,\n      hr,\n      figure,\n      p,\n      pre {\n        margin: 0;\n      }\n\n      button {\n        background: transparent;\n        padding: 0;\n      }\n\n      fieldset {\n        margin: 0;\n        padding: 0;\n      }\n\n      ol,\n      ul {\n        margin: 0;\n        padding: 0;\n      }\n\n      textarea {\n        resize: vertical;\n      }\n\n      button,\n      [role="button"] {\n        cursor: pointer;\n      }\n\n      button::-moz-focus-inner {\n        border: 0 !important;\n      }\n\n      table {\n        border-collapse: collapse;\n      }\n\n      h1,\n      h2,\n      h3,\n      h4,\n      h5,\n      h6 {\n        font-size: inherit;\n        font-weight: inherit;\n      }\n\n      button,\n      input,\n      optgroup,\n      select,\n      textarea {\n        padding: 0;\n        line-height: inherit;\n        color: inherit;\n      }\n\n      img,\n      svg,\n      video,\n      canvas,\n      audio,\n      iframe,\n      embed,\n      object {\n        display: block;\n        vertical-align: middle;\n      }\n\n      img,\n      video {\n        max-width: 100%;\n        height: auto;\n      }\n\n      [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n        outline: none;\n        box-shadow: none;\n      }\n\n      select::-ms-expand {\n        display: none;\n      }\n    ',
-          }),
-        m = t(34288),
-        v = t(29676),
-        y = t(24738),
-        x = t(84461),
-        w = {
-          body: { classList: { add() {}, remove() {} } },
-          addEventListener() {},
-          removeEventListener() {},
-          activeElement: { blur() {}, nodeName: '' },
-          querySelector: () => null,
-          querySelectorAll: () => [],
-          getElementById: () => null,
-          createEvent: () => ({ initEvent() {} }),
-          createElement: () => ({
-            children: [],
-            childNodes: [],
-            style: {},
-            setAttribute() {},
-            getElementsByTagName: () => [],
-          }),
-        },
-        S = () => {},
-        k = {
-          window: {
-            document: w,
-            navigator: { userAgent: '' },
-            CustomEvent: function () {
-              return this
-            },
-            addEventListener: S,
-            removeEventListener: S,
-            getComputedStyle: () => ({ getPropertyValue: () => '' }),
-            matchMedia: () => ({ matches: !1, addListener: S, removeListener: S }),
-            requestAnimationFrame: (r) =>
-              'undefined' === typeof setTimeout ? (r(), null) : setTimeout(r, 0),
-            cancelAnimationFrame(r) {
-              'undefined' !== typeof setTimeout && clearTimeout(r)
-            },
-            setTimeout: () => 0,
-            clearTimeout: S,
-            setInterval: () => 0,
-            clearInterval: S,
-          },
-          document: w,
-        },
-        _ = x.jU ? { window: window, document: document } : k,
-        C = (0, b.createContext)(_)
-      function A(r) {
-        var { children: e, environment: t } = r,
-          [n, o] = (0, b.useState)(null),
-          a = (0, b.useMemo)(() => {
-            var r,
-              e = null == n ? void 0 : n.ownerDocument,
-              o = null == n ? void 0 : n.ownerDocument.defaultView
-            return null != (r = null != t ? t : e ? { document: e, window: o } : void 0) ? r : _
-          }, [n, t]),
-          i = !n && !t
-        return b.createElement(
-          C.Provider,
-          { value: a },
-          e,
-          i &&
-            b.createElement('span', {
-              ref: (r) => {
-                r && o(r)
-              },
-            }),
-        )
-      }
-      i.Ts && (C.displayName = 'EnvironmentContext'),
-        i.Ts && (A.displayName = 'EnvironmentProvider')
-      var E = t(94577),
-        z = (r) => {
-          var {
-              children: e,
-              colorModeManager: t,
-              portalZIndex: n,
-              resetCSS: o = !0,
-              theme: i = a.Z,
-              environment: s,
-              cssVarsRoot: l,
-            } = r,
-            c = b.createElement(A, { environment: s }, e)
-          return b.createElement(
-            E.vc,
-            null,
-            b.createElement(
-              v.f6,
-              { theme: i, cssVarsRoot: l },
-              b.createElement(
-                y.SG,
-                { colorModeManager: t, options: i.config },
-                o && b.createElement(g, null),
-                b.createElement(v.ZL, null),
-                n ? b.createElement(m.h, { zIndex: n }, c) : c,
-              ),
-            ),
-          )
-        },
-        R = t(54533),
-        B = t(29356)
-      function j(r, e) {
-        var t = Object.keys(r)
-        if (Object.getOwnPropertySymbols) {
-          var n = Object.getOwnPropertySymbols(r)
-          e &&
-            (n = n.filter(function (e) {
-              return Object.getOwnPropertyDescriptor(r, e).enumerable
-            })),
-            t.push.apply(t, n)
-        }
-        return t
-      }
-      function O(r) {
-        for (var e = 1; e < arguments.length; e++) {
-          var t = null != arguments[e] ? arguments[e] : {}
-          e % 2
-            ? j(Object(t), !0).forEach(function (e) {
-                ;(0, n.Z)(r, e, t[e])
-              })
-            : Object.getOwnPropertyDescriptors
-            ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(t))
-            : j(Object(t)).forEach(function (e) {
-                Object.defineProperty(r, e, Object.getOwnPropertyDescriptor(t, e))
-              })
-        }
-        return r
-      }
-      function T(r) {
-        var e = r.children,
-          t = (0, b.useContext)(B.N),
-          n = t.highlightColor,
-          s = t.emacsTheme,
-          u = R.Z(s.base1, s.base2)(0.2),
-          d =
-            'purple.500' === n
-              ? s.violet + 'aa'
-              : 'pink.500' === n
-              ? s.magenta + 'aa'
-              : 'blue.500' === n
-              ? s.blue + 'aa'
-              : 'cyan.500' === n
-              ? s.cyan + 'aa'
-              : 'green.500' === n
-              ? s.green + 'aa'
-              : 'yellow.500' === n
-              ? s.yellow + 'aa'
-              : 'orange.500' === n
-              ? s.orange + 'aa'
-              : 'red.500' === n
-              ? s.red + 'aa'
-              : void 0,
-          p = (function () {
-            for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t]
-            var n = [...e],
-              o = e[e.length - 1]
-            return (
-              l(o) && n.length > 1 ? (n = n.slice(0, n.length - 1)) : (o = a.Z),
-              (0, c.zG)(...n.map((r) => (e) => (0, i.mf)(r) ? r(e) : f(e, r)))(o)
-            )
-          })(
-            (0, b.useMemo)(
-              function () {
-                return {
-                  colors: {
-                    white: s.bg,
-                    black: s.fg,
-                    gray: {
-                      100: s.base1,
-                      200: u,
-                      300: s.base2,
-                      400: s.base3,
-                      500: s.base4,
-                      600: s.base5,
-                      700: s.base6,
-                      800: s.base7,
-                      900: s.base8,
-                    },
-                    blue: { 500: s.blue },
-                    teal: { 500: s.blue },
-                    yellow: { 500: s.yellow },
-                    orange: { 500: s.orange },
-                    red: { 500: s.red },
-                    green: { 500: s.green },
-                    purple: { 500: s.violet },
-                    pink: { 500: s.magenta },
-                    cyan: { 500: s.cyan },
-                    alt: { 100: s['bg-alt'], 900: s['fg-alt'] },
-                  },
-                  shadows: { outline: '0 0 0 3px ' + d },
-                  components: {
-                    Button: {
-                      variants: {
-                        outline: { border: '2px solid', borderColor: n, color: n },
-                        ghost: {
-                          color: n,
-                          _hover: { bg: 'inherit', border: '1px solid', borderColor: n },
-                          _active: { color: 'inherit', bg: n },
-                        },
-                      },
-                    },
-                    Accordion: {
-                      baseStyle: {
-                        container: {
-                          marginTop: '10px',
-                          borderWidth: '0px',
-                          _last: { borderWidth: '0px' },
-                        },
-                        panel: { marginRight: '10px' },
-                      },
-                    },
-                    Slider: {
-                      baseStyle: function (r) {
-                        return {
-                          thumb: { backgroundColor: n },
-                          filledTrack: { backgroundColor: 'gray.200' },
-                        }
-                      },
-                    },
-                  },
-                }
-              },
-              [n, JSON.stringify(s)],
-            ),
-            (function (r) {
-              var { colorScheme: e, components: t } = r
-              return (r) => {
-                var n = Object.keys(r.components || {})
-                return (
-                  Array.isArray(t) ? (n = t) : (0, i.Kn)(t) && (n = Object.keys(t)),
-                  f(r, {
-                    components: Object.fromEntries(
-                      n.map((r) => [r, { defaultProps: { colorScheme: e } }]),
-                    ),
-                  })
-                )
-              }
-            })({ colorScheme: n.split('.')[0] }),
-          )
-        return (0, o.jsx)(z, { theme: p, children: e })
-      }
-      var F = function (r) {
-        var e = r.Component,
-          t = r.pageProps,
-          n = {
-            base1: '#1c1f24',
-            base2: '#21272d',
-            base3: '#23272e',
-            base4: '#484854',
-            base5: '#62686E',
-            base6: '#757B80',
-            base7: '#9ca0a4',
-            base8: '#DFDFDF',
-            bg: '#242730',
-            'bg-alt': '#2a2e38',
-            blue: '#51afef',
-            cyan: '#5cEfFF',
-            'dark-blue': '#1f5582',
-            'dark-cyan': '#6A8FBF',
-            fg: '#bbc2cf',
-            'fg-alt': '#5D656B',
-            green: '#7bc275',
-            grey: '#484854',
-            magenta: '#C57BDB',
-            orange: '#e69055',
-            red: '#ff665c',
-            teal: '#4db5bd',
-            violet: '#a991f1',
-            yellow: '#FCCE7B',
-          },
-          a = (0, b.useState)(!1),
-          i = a[0],
-          s = a[1],
-          l = (0, b.useState)(n),
-          c = l[0],
-          u = l[1],
-          d = (0, b.useState)('purple.500'),
-          f = d[0],
-          p = d[1]
-        ;(0, b.useEffect)(
-          function () {
-            i && localStorage.setItem('theme', JSON.stringify(c))
-          },
-          [c],
-        ),
-          (0, b.useEffect)(
-            function () {
-              i && localStorage.setItem('highlightColor', JSON.stringify(f))
-            },
-            [f],
-          ),
-          (0, b.useEffect)(function () {
-            var r, e, t, o
-            u(
-              null !==
-                (r = JSON.parse(
-                  null !== (e = localStorage.getItem('theme')) && void 0 !== e
-                    ? e
-                    : JSON.stringify(n),
-                )) && void 0 !== r
-                ? r
-                : n,
-            ),
-              p(
-                null !==
-                  (t = JSON.parse(
-                    null !== (o = localStorage.getItem('highlightColor')) && void 0 !== o
-                      ? o
-                      : JSON.stringify(f),
-                  )) && void 0 !== t
-                  ? t
-                  : f,
-              ),
-              s(!0)
-          }, [])
-        var h = { emacsTheme: c, setEmacsTheme: u, highlightColor: f, setHighlightColor: p }
-        return (0, o.jsx)(B.N.Provider, {
-          value: h,
-          children: (0, o.jsx)(T, { children: (0, o.jsx)(e, O({}, t)) }),
-        })
-      }
-    },
-    29356: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        N: function () {
-          return n
-        },
-      })
-      var n = (0, t(67294).createContext)({
-        emacsTheme: {
-          base1: '#1c1f24',
-          base2: '#21272d',
-          base3: '#23272e',
-          base4: '#484854',
-          base5: '#62686E',
-          base6: '#757B80',
-          base7: '#9ca0a4',
-          base8: '#DFDFDF',
-          bg: '#242730',
-          'bg-alt': '#2a2e38',
-          blue: '#51afef',
-          cyan: '#5cEfFF',
-          'dark-blue': '#1f5582',
-          'dark-cyan': '#6A8FBF',
-          fg: '#bbc2cf',
-          'fg-alt': '#5D656B',
-          green: '#7bc275',
-          grey: '#484854',
-          magenta: '#C57BDB',
-          orange: '#e69055',
-          red: '#ff665c',
-          teal: '#4db5bd',
-          violet: '#a991f1',
-          yellow: '#FCCE7B',
-        },
-        setEmacsTheme: null,
-        highlightColor: 'purple',
-        setHighlightColor: null,
-      })
-    },
-    76374: function (r, e, t) {
-      'use strict'
-      function n(r, e, t) {
-        ;(r.prototype = e.prototype = t), (t.constructor = r)
-      }
-      function o(r, e) {
-        var t = Object.create(r.prototype)
-        for (var n in e) t[n] = e[n]
-        return t
-      }
-      function a() {}
-      t.d(e, {
-        ZP: function () {
-          return w
-        },
-        B8: function () {
-          return C
-        },
-      })
-      var i = 0.7,
-        s = 1 / i,
-        l = '\\s*([+-]?\\d+)\\s*',
-        c = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*',
-        u = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*',
-        d = /^#([0-9a-f]{3,8})$/,
-        f = new RegExp('^rgb\\(' + [l, l, l] + '\\)$'),
-        p = new RegExp('^rgb\\(' + [u, u, u] + '\\)$'),
-        h = new RegExp('^rgba\\(' + [l, l, l, c] + '\\)$'),
-        b = new RegExp('^rgba\\(' + [u, u, u, c] + '\\)$'),
-        g = new RegExp('^hsl\\(' + [c, u, u] + '\\)$'),
-        m = new RegExp('^hsla\\(' + [c, u, u, c] + '\\)$'),
-        v = {
-          aliceblue: 15792383,
-          antiquewhite: 16444375,
-          aqua: 65535,
-          aquamarine: 8388564,
-          azure: 15794175,
-          beige: 16119260,
-          bisque: 16770244,
-          black: 0,
-          blanchedalmond: 16772045,
-          blue: 255,
-          blueviolet: 9055202,
-          brown: 10824234,
-          burlywood: 14596231,
-          cadetblue: 6266528,
-          chartreuse: 8388352,
-          chocolate: 13789470,
-          coral: 16744272,
-          cornflowerblue: 6591981,
-          cornsilk: 16775388,
-          crimson: 14423100,
-          cyan: 65535,
-          darkblue: 139,
-          darkcyan: 35723,
-          darkgoldenrod: 12092939,
-          darkgray: 11119017,
-          darkgreen: 25600,
-          darkgrey: 11119017,
-          darkkhaki: 12433259,
-          darkmagenta: 9109643,
-          darkolivegreen: 5597999,
-          darkorange: 16747520,
-          darkorchid: 10040012,
-          darkred: 9109504,
-          darksalmon: 15308410,
-          darkseagreen: 9419919,
-          darkslateblue: 4734347,
-          darkslategray: 3100495,
-          darkslategrey: 3100495,
-          darkturquoise: 52945,
-          darkviolet: 9699539,
-          deeppink: 16716947,
-          deepskyblue: 49151,
-          dimgray: 6908265,
-          dimgrey: 6908265,
-          dodgerblue: 2003199,
-          firebrick: 11674146,
-          floralwhite: 16775920,
-          forestgreen: 2263842,
-          fuchsia: 16711935,
-          gainsboro: 14474460,
-          ghostwhite: 16316671,
-          gold: 16766720,
-          goldenrod: 14329120,
-          gray: 8421504,
-          green: 32768,
-          greenyellow: 11403055,
-          grey: 8421504,
-          honeydew: 15794160,
-          hotpink: 16738740,
-          indianred: 13458524,
-          indigo: 4915330,
-          ivory: 16777200,
-          khaki: 15787660,
-          lavender: 15132410,
-          lavenderblush: 16773365,
-          lawngreen: 8190976,
-          lemonchiffon: 16775885,
-          lightblue: 11393254,
-          lightcoral: 15761536,
-          lightcyan: 14745599,
-          lightgoldenrodyellow: 16448210,
-          lightgray: 13882323,
-          lightgreen: 9498256,
-          lightgrey: 13882323,
-          lightpink: 16758465,
-          lightsalmon: 16752762,
-          lightseagreen: 2142890,
-          lightskyblue: 8900346,
-          lightslategray: 7833753,
-          lightslategrey: 7833753,
-          lightsteelblue: 11584734,
-          lightyellow: 16777184,
-          lime: 65280,
-          limegreen: 3329330,
-          linen: 16445670,
-          magenta: 16711935,
-          maroon: 8388608,
-          mediumaquamarine: 6737322,
-          mediumblue: 205,
-          mediumorchid: 12211667,
-          mediumpurple: 9662683,
-          mediumseagreen: 3978097,
-          mediumslateblue: 8087790,
-          mediumspringgreen: 64154,
-          mediumturquoise: 4772300,
-          mediumvioletred: 13047173,
-          midnightblue: 1644912,
-          mintcream: 16121850,
-          mistyrose: 16770273,
-          moccasin: 16770229,
-          navajowhite: 16768685,
-          navy: 128,
-          oldlace: 16643558,
-          olive: 8421376,
-          olivedrab: 7048739,
-          orange: 16753920,
-          orangered: 16729344,
-          orchid: 14315734,
-          palegoldenrod: 15657130,
-          palegreen: 10025880,
-          paleturquoise: 11529966,
-          palevioletred: 14381203,
-          papayawhip: 16773077,
-          peachpuff: 16767673,
-          peru: 13468991,
-          pink: 16761035,
-          plum: 14524637,
-          powderblue: 11591910,
-          purple: 8388736,
-          rebeccapurple: 6697881,
-          red: 16711680,
-          rosybrown: 12357519,
-          royalblue: 4286945,
-          saddlebrown: 9127187,
-          salmon: 16416882,
-          sandybrown: 16032864,
-          seagreen: 3050327,
-          seashell: 16774638,
-          sienna: 10506797,
-          silver: 12632256,
-          skyblue: 8900331,
-          slateblue: 6970061,
-          slategray: 7372944,
-          slategrey: 7372944,
-          snow: 16775930,
-          springgreen: 65407,
-          steelblue: 4620980,
-          tan: 13808780,
-          teal: 32896,
-          thistle: 14204888,
-          tomato: 16737095,
-          turquoise: 4251856,
-          violet: 15631086,
-          wheat: 16113331,
-          white: 16777215,
-          whitesmoke: 16119285,
-          yellow: 16776960,
-          yellowgreen: 10145074,
-        }
-      function y() {
-        return this.rgb().formatHex()
-      }
-      function x() {
-        return this.rgb().formatRgb()
-      }
-      function w(r) {
-        var e, t
-        return (
-          (r = (r + '').trim().toLowerCase()),
-          (e = d.exec(r))
-            ? ((t = e[1].length),
-              (e = parseInt(e[1], 16)),
-              6 === t
-                ? S(e)
-                : 3 === t
-                ? new A(
-                    ((e >> 8) & 15) | ((e >> 4) & 240),
-                    ((e >> 4) & 15) | (240 & e),
-                    ((15 & e) << 4) | (15 & e),
-                    1,
-                  )
-                : 8 === t
-                ? k((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (255 & e) / 255)
-                : 4 === t
-                ? k(
-                    ((e >> 12) & 15) | ((e >> 8) & 240),
-                    ((e >> 8) & 15) | ((e >> 4) & 240),
-                    ((e >> 4) & 15) | (240 & e),
-                    (((15 & e) << 4) | (15 & e)) / 255,
-                  )
-                : null)
-            : (e = f.exec(r))
-            ? new A(e[1], e[2], e[3], 1)
-            : (e = p.exec(r))
-            ? new A((255 * e[1]) / 100, (255 * e[2]) / 100, (255 * e[3]) / 100, 1)
-            : (e = h.exec(r))
-            ? k(e[1], e[2], e[3], e[4])
-            : (e = b.exec(r))
-            ? k((255 * e[1]) / 100, (255 * e[2]) / 100, (255 * e[3]) / 100, e[4])
-            : (e = g.exec(r))
-            ? B(e[1], e[2] / 100, e[3] / 100, 1)
-            : (e = m.exec(r))
-            ? B(e[1], e[2] / 100, e[3] / 100, e[4])
-            : v.hasOwnProperty(r)
-            ? S(v[r])
-            : 'transparent' === r
-            ? new A(NaN, NaN, NaN, 0)
-            : null
-        )
-      }
-      function S(r) {
-        return new A((r >> 16) & 255, (r >> 8) & 255, 255 & r, 1)
-      }
-      function k(r, e, t, n) {
-        return n <= 0 && (r = e = t = NaN), new A(r, e, t, n)
-      }
-      function _(r) {
-        return (
-          r instanceof a || (r = w(r)), r ? new A((r = r.rgb()).r, r.g, r.b, r.opacity) : new A()
-        )
-      }
-      function C(r, e, t, n) {
-        return 1 === arguments.length ? _(r) : new A(r, e, t, null == n ? 1 : n)
-      }
-      function A(r, e, t, n) {
-        ;(this.r = +r), (this.g = +e), (this.b = +t), (this.opacity = +n)
-      }
-      function E() {
-        return '#' + R(this.r) + R(this.g) + R(this.b)
-      }
-      function z() {
-        var r = this.opacity
-        return (
-          (1 === (r = isNaN(r) ? 1 : Math.max(0, Math.min(1, r))) ? 'rgb(' : 'rgba(') +
-          Math.max(0, Math.min(255, Math.round(this.r) || 0)) +
-          ', ' +
-          Math.max(0, Math.min(255, Math.round(this.g) || 0)) +
-          ', ' +
-          Math.max(0, Math.min(255, Math.round(this.b) || 0)) +
-          (1 === r ? ')' : ', ' + r + ')')
-        )
-      }
-      function R(r) {
-        return (
-          ((r = Math.max(0, Math.min(255, Math.round(r) || 0))) < 16 ? '0' : '') + r.toString(16)
-        )
-      }
-      function B(r, e, t, n) {
-        return (
-          n <= 0 ? (r = e = t = NaN) : t <= 0 || t >= 1 ? (r = e = NaN) : e <= 0 && (r = NaN),
-          new O(r, e, t, n)
-        )
-      }
-      function j(r) {
-        if (r instanceof O) return new O(r.h, r.s, r.l, r.opacity)
-        if ((r instanceof a || (r = w(r)), !r)) return new O()
-        if (r instanceof O) return r
-        var e = (r = r.rgb()).r / 255,
-          t = r.g / 255,
-          n = r.b / 255,
-          o = Math.min(e, t, n),
-          i = Math.max(e, t, n),
-          s = NaN,
-          l = i - o,
-          c = (i + o) / 2
-        return (
-          l
-            ? ((s =
-                e === i ? (t - n) / l + 6 * (t < n) : t === i ? (n - e) / l + 2 : (e - t) / l + 4),
-              (l /= c < 0.5 ? i + o : 2 - i - o),
-              (s *= 60))
-            : (l = c > 0 && c < 1 ? 0 : s),
-          new O(s, l, c, r.opacity)
-        )
-      }
-      function O(r, e, t, n) {
-        ;(this.h = +r), (this.s = +e), (this.l = +t), (this.opacity = +n)
-      }
-      function T(r, e, t) {
-        return (
-          255 *
-          (r < 60
-            ? e + ((t - e) * r) / 60
-            : r < 180
-            ? t
-            : r < 240
-            ? e + ((t - e) * (240 - r)) / 60
-            : e)
-        )
-      }
-      n(a, w, {
-        copy: function (r) {
-          return Object.assign(new this.constructor(), this, r)
-        },
-        displayable: function () {
-          return this.rgb().displayable()
-        },
-        hex: y,
-        formatHex: y,
-        formatHsl: function () {
-          return j(this).formatHsl()
-        },
-        formatRgb: x,
-        toString: x,
-      }),
-        n(
-          A,
-          C,
-          o(a, {
-            brighter: function (r) {
-              return (
-                (r = null == r ? s : Math.pow(s, r)),
-                new A(this.r * r, this.g * r, this.b * r, this.opacity)
-              )
-            },
-            darker: function (r) {
-              return (
-                (r = null == r ? i : Math.pow(i, r)),
-                new A(this.r * r, this.g * r, this.b * r, this.opacity)
-              )
-            },
-            rgb: function () {
-              return this
-            },
-            displayable: function () {
-              return (
-                -0.5 <= this.r &&
-                this.r < 255.5 &&
-                -0.5 <= this.g &&
-                this.g < 255.5 &&
-                -0.5 <= this.b &&
-                this.b < 255.5 &&
-                0 <= this.opacity &&
-                this.opacity <= 1
-              )
-            },
-            hex: E,
-            formatHex: E,
-            formatRgb: z,
-            toString: z,
-          }),
-        ),
-        n(
-          O,
-          function (r, e, t, n) {
-            return 1 === arguments.length ? j(r) : new O(r, e, t, null == n ? 1 : n)
-          },
-          o(a, {
-            brighter: function (r) {
-              return (
-                (r = null == r ? s : Math.pow(s, r)),
-                new O(this.h, this.s, this.l * r, this.opacity)
-              )
-            },
-            darker: function (r) {
-              return (
-                (r = null == r ? i : Math.pow(i, r)),
-                new O(this.h, this.s, this.l * r, this.opacity)
-              )
-            },
-            rgb: function () {
-              var r = (this.h % 360) + 360 * (this.h < 0),
-                e = isNaN(r) || isNaN(this.s) ? 0 : this.s,
-                t = this.l,
-                n = t + (t < 0.5 ? t : 1 - t) * e,
-                o = 2 * t - n
-              return new A(
-                T(r >= 240 ? r - 240 : r + 120, o, n),
-                T(r, o, n),
-                T(r < 120 ? r + 240 : r - 120, o, n),
-                this.opacity,
-              )
-            },
-            displayable: function () {
-              return (
-                ((0 <= this.s && this.s <= 1) || isNaN(this.s)) &&
-                0 <= this.l &&
-                this.l <= 1 &&
-                0 <= this.opacity &&
-                this.opacity <= 1
-              )
-            },
-            formatHsl: function () {
-              var r = this.opacity
-              return (
-                (1 === (r = isNaN(r) ? 1 : Math.max(0, Math.min(1, r))) ? 'hsl(' : 'hsla(') +
-                (this.h || 0) +
-                ', ' +
-                100 * (this.s || 0) +
-                '%, ' +
-                100 * (this.l || 0) +
-                '%' +
-                (1 === r ? ')' : ', ' + r + ')')
-              )
-            },
-          }),
-        )
-    },
-    62210: function (r, e) {
-      'use strict'
-      e.Z = function (r) {
-        return function () {
-          return r
-        }
-      }
-    },
-    16033: function (r, e, t) {
-      'use strict'
-      function n(r, e) {
-        return (
-          (r = +r),
-          (e = +e),
-          function (t) {
-            return r * (1 - t) + e * t
-          }
-        )
-      }
-      t.d(e, {
-        Z: function () {
-          return n
-        },
-      })
-    },
-    73028: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        ZP: function () {
-          return c
-        },
-      })
-      var n = t(76374)
-      function o(r, e, t, n, o) {
-        var a = r * r,
-          i = a * r
-        return (
-          ((1 - 3 * r + 3 * a - i) * e +
-            (4 - 6 * a + 3 * i) * t +
-            (1 + 3 * r + 3 * a - 3 * i) * n +
-            i * o) /
-          6
-        )
-      }
-      var a = t(62210)
-      function i(r, e) {
-        return function (t) {
-          return r + t * e
-        }
-      }
-      function s(r) {
-        return 1 === (r = +r)
-          ? l
-          : function (e, t) {
-              return t - e
-                ? (function (r, e, t) {
-                    return (
-                      (r = Math.pow(r, t)),
-                      (e = Math.pow(e, t) - r),
-                      (t = 1 / t),
-                      function (n) {
-                        return Math.pow(r + n * e, t)
-                      }
-                    )
-                  })(e, t, r)
-                : (0, a.Z)(isNaN(e) ? t : e)
-            }
-      }
-      function l(r, e) {
-        var t = e - r
-        return t ? i(r, t) : (0, a.Z)(isNaN(r) ? e : r)
-      }
-      var c = (function r(e) {
-        var t = s(e)
-        function o(r, e) {
-          var o = t((r = (0, n.B8)(r)).r, (e = (0, n.B8)(e)).r),
-            a = t(r.g, e.g),
-            i = t(r.b, e.b),
-            s = l(r.opacity, e.opacity)
-          return function (e) {
-            return (r.r = o(e)), (r.g = a(e)), (r.b = i(e)), (r.opacity = s(e)), r + ''
-          }
-        }
-        return (o.gamma = r), o
-      })(1)
-      function u(r) {
-        return function (e) {
-          var t,
-            o,
-            a = e.length,
-            i = new Array(a),
-            s = new Array(a),
-            l = new Array(a)
-          for (t = 0; t < a; ++t)
-            (o = (0, n.B8)(e[t])), (i[t] = o.r || 0), (s[t] = o.g || 0), (l[t] = o.b || 0)
-          return (
-            (i = r(i)),
-            (s = r(s)),
-            (l = r(l)),
-            (o.opacity = 1),
-            function (r) {
-              return (o.r = i(r)), (o.g = s(r)), (o.b = l(r)), o + ''
-            }
-          )
-        }
-      }
-      u(function (r) {
-        var e = r.length - 1
-        return function (t) {
-          var n = t <= 0 ? (t = 0) : t >= 1 ? ((t = 1), e - 1) : Math.floor(t * e),
-            a = r[n],
-            i = r[n + 1],
-            s = n > 0 ? r[n - 1] : 2 * a - i,
-            l = n < e - 1 ? r[n + 2] : 2 * i - a
-          return o((t - n / e) * e, s, a, i, l)
-        }
-      }),
-        u(function (r) {
-          var e = r.length
-          return function (t) {
-            var n = Math.floor(((t %= 1) < 0 ? ++t : t) * e),
-              a = r[(n + e - 1) % e],
-              i = r[n % e],
-              s = r[(n + 1) % e],
-              l = r[(n + 2) % e]
-            return o((t - n / e) * e, a, i, s, l)
-          }
-        })
-    },
-    10370: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Z: function () {
-          return i
-        },
-      })
-      var n = t(16033),
-        o = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
-        a = new RegExp(o.source, 'g')
-      function i(r, e) {
-        var t,
-          i,
-          s,
-          l = (o.lastIndex = a.lastIndex = 0),
-          c = -1,
-          u = [],
-          d = []
-        for (r += '', e += ''; (t = o.exec(r)) && (i = a.exec(e)); )
-          (s = i.index) > l && ((s = e.slice(l, s)), u[c] ? (u[c] += s) : (u[++c] = s)),
-            (t = t[0]) === (i = i[0])
-              ? u[c]
-                ? (u[c] += i)
-                : (u[++c] = i)
-              : ((u[++c] = null), d.push({ i: c, x: (0, n.Z)(t, i) })),
-            (l = a.lastIndex)
-        return (
-          l < e.length && ((s = e.slice(l)), u[c] ? (u[c] += s) : (u[++c] = s)),
-          u.length < 2
-            ? d[0]
-              ? (function (r) {
-                  return function (e) {
-                    return r(e) + ''
-                  }
-                })(d[0].x)
-              : (function (r) {
-                  return function () {
-                    return r
-                  }
-                })(e)
-            : ((e = d.length),
-              function (r) {
-                for (var t, n = 0; n < e; ++n) u[(t = d[n]).i] = t.x(r)
-                return u.join('')
-              })
-        )
-      }
-    },
-    54533: function (r, e, t) {
-      'use strict'
-      t.d(e, {
-        Z: function () {
-          return f
-        },
-      })
-      var n = t(76374),
-        o = t(73028)
-      function a(r, e) {
-        var t,
-          n = e ? e.length : 0,
-          o = r ? Math.min(n, r.length) : 0,
-          a = new Array(o),
-          i = new Array(n)
-        for (t = 0; t < o; ++t) a[t] = f(r[t], e[t])
-        for (; t < n; ++t) i[t] = e[t]
-        return function (r) {
-          for (t = 0; t < o; ++t) i[t] = a[t](r)
-          return i
-        }
-      }
-      function i(r, e) {
-        var t = new Date()
-        return (
-          (r = +r),
-          (e = +e),
-          function (n) {
-            return t.setTime(r * (1 - n) + e * n), t
-          }
-        )
-      }
-      var s = t(16033)
-      function l(r, e) {
-        var t,
-          n = {},
-          o = {}
-        for (t in ((null !== r && 'object' === typeof r) || (r = {}),
-        (null !== e && 'object' === typeof e) || (e = {}),
-        e))
-          t in r ? (n[t] = f(r[t], e[t])) : (o[t] = e[t])
-        return function (r) {
-          for (t in n) o[t] = n[t](r)
-          return o
-        }
-      }
-      var c = t(10370),
-        u = t(62210)
-      function d(r, e) {
-        e || (e = [])
-        var t,
-          n = r ? Math.min(e.length, r.length) : 0,
-          o = e.slice()
-        return function (a) {
-          for (t = 0; t < n; ++t) o[t] = r[t] * (1 - a) + e[t] * a
-          return o
-        }
-      }
-      function f(r, e) {
-        var t,
-          f,
-          p = typeof e
-        return null == e || 'boolean' === p
-          ? (0, u.Z)(e)
-          : ('number' === p
-              ? s.Z
-              : 'string' === p
-              ? (t = (0, n.ZP)(e))
-                ? ((e = t), o.ZP)
-                : c.Z
-              : e instanceof n.ZP
-              ? o.ZP
-              : e instanceof Date
-              ? i
-              : ((f = e),
-                !ArrayBuffer.isView(f) || f instanceof DataView
-                  ? Array.isArray(e)
-                    ? a
-                    : ('function' !== typeof e.valueOf && 'function' !== typeof e.toString) ||
-                      isNaN(e)
-                    ? l
-                    : s.Z
-                  : d))(r, e)
-      }
-    },
-    76363: function (r, e, t) {
-      ;(window.__NEXT_P = window.__NEXT_P || []).push([
-        '/_app',
-        function () {
-          return t(29200)
-        },
-      ])
-    },
-    82702: function () {},
-    26265: function (r, e, t) {
-      'use strict'
-      function n(r, e, t) {
-        return (
-          e in r
-            ? Object.defineProperty(r, e, {
-                value: t,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (r[e] = t),
-          r
-        )
-      }
-      t.d(e, {
-        Z: function () {
-          return n
-        },
-      })
-    },
-    69921: function (r, e) {
-      'use strict'
-      var t = 'function' === typeof Symbol && Symbol.for,
-        n = t ? Symbol.for('react.element') : 60103,
-        o = t ? Symbol.for('react.portal') : 60106,
-        a = t ? Symbol.for('react.fragment') : 60107,
-        i = t ? Symbol.for('react.strict_mode') : 60108,
-        s = t ? Symbol.for('react.profiler') : 60114,
-        l = t ? Symbol.for('react.provider') : 60109,
-        c = t ? Symbol.for('react.context') : 60110,
-        u = t ? Symbol.for('react.async_mode') : 60111,
-        d = t ? Symbol.for('react.concurrent_mode') : 60111,
-        f = t ? Symbol.for('react.forward_ref') : 60112,
-        p = t ? Symbol.for('react.suspense') : 60113,
-        h = t ? Symbol.for('react.suspense_list') : 60120,
-        b = t ? Symbol.for('react.memo') : 60115,
-        g = t ? Symbol.for('react.lazy') : 60116,
-        m = t ? Symbol.for('react.block') : 60121,
-        v = t ? Symbol.for('react.fundamental') : 60117,
-        y = t ? Symbol.for('react.responder') : 60118,
-        x = t ? Symbol.for('react.scope') : 60119
-      function w(r) {
-        if ('object' === typeof r && null !== r) {
-          var e = r.$$typeof
-          switch (e) {
-            case n:
-              switch ((r = r.type)) {
-                case u:
-                case d:
-                case a:
-                case s:
-                case i:
-                case p:
-                  return r
-                default:
-                  switch ((r = r && r.$$typeof)) {
-                    case c:
-                    case f:
-                    case g:
-                    case b:
-                    case l:
-                      return r
-                    default:
-                      return e
-                  }
-              }
-            case o:
-              return e
-          }
-        }
-      }
-      function S(r) {
-        return w(r) === d
-      }
-      ;(e.AsyncMode = u),
-        (e.ConcurrentMode = d),
-        (e.ContextConsumer = c),
-        (e.ContextProvider = l),
-        (e.Element = n),
-        (e.ForwardRef = f),
-        (e.Fragment = a),
-        (e.Lazy = g),
-        (e.Memo = b),
-        (e.Portal = o),
-        (e.Profiler = s),
-        (e.StrictMode = i),
-        (e.Suspense = p),
-        (e.isAsyncMode = function (r) {
-          return S(r) || w(r) === u
-        }),
-        (e.isConcurrentMode = S),
-        (e.isContextConsumer = function (r) {
-          return w(r) === c
-        }),
-        (e.isContextProvider = function (r) {
-          return w(r) === l
-        }),
-        (e.isElement = function (r) {
-          return 'object' === typeof r && null !== r && r.$$typeof === n
-        }),
-        (e.isForwardRef = function (r) {
-          return w(r) === f
-        }),
-        (e.isFragment = function (r) {
-          return w(r) === a
-        }),
-        (e.isLazy = function (r) {
-          return w(r) === g
-        }),
-        (e.isMemo = function (r) {
-          return w(r) === b
-        }),
-        (e.isPortal = function (r) {
-          return w(r) === o
-        }),
-        (e.isProfiler = function (r) {
-          return w(r) === s
-        }),
-        (e.isStrictMode = function (r) {
-          return w(r) === i
-        }),
-        (e.isSuspense = function (r) {
-          return w(r) === p
-        }),
-        (e.isValidElementType = function (r) {
-          return (
-            'string' === typeof r ||
-            'function' === typeof r ||
-            r === a ||
-            r === d ||
-            r === s ||
-            r === i ||
-            r === p ||
-            r === h ||
-            ('object' === typeof r &&
-              null !== r &&
-              (r.$$typeof === g ||
-                r.$$typeof === b ||
-                r.$$typeof === l ||
-                r.$$typeof === c ||
-                r.$$typeof === f ||
-                r.$$typeof === v ||
-                r.$$typeof === y ||
-                r.$$typeof === x ||
-                r.$$typeof === m))
-          )
-        }),
-        (e.typeOf = w)
-    },
-    59864: function (r, e, t) {
-      'use strict'
-      r.exports = t(69921)
-    },
-    17621: function (r, e, t) {
-      var n
-      !(function (o) {
-        var a = /^\s+/,
-          i = /\s+$/,
-          s = 0,
-          l = o.round,
-          c = o.min,
-          u = o.max,
-          d = o.random
-        function f(r, e) {
-          if (((e = e || {}), (r = r || '') instanceof f)) return r
-          if (!(this instanceof f)) return new f(r, e)
-          var t = (function (r) {
-            var e = { r: 0, g: 0, b: 0 },
-              t = 1,
-              n = null,
-              s = null,
-              l = null,
-              d = !1,
-              f = !1
-            'string' == typeof r &&
-              (r = (function (r) {
-                r = r.replace(a, '').replace(i, '').toLowerCase()
-                var e,
-                  t = !1
-                if (B[r]) (r = B[r]), (t = !0)
-                else if ('transparent' == r) return { r: 0, g: 0, b: 0, a: 0, format: 'name' }
-                if ((e = J.rgb.exec(r))) return { r: e[1], g: e[2], b: e[3] }
-                if ((e = J.rgba.exec(r))) return { r: e[1], g: e[2], b: e[3], a: e[4] }
-                if ((e = J.hsl.exec(r))) return { h: e[1], s: e[2], l: e[3] }
-                if ((e = J.hsla.exec(r))) return { h: e[1], s: e[2], l: e[3], a: e[4] }
-                if ((e = J.hsv.exec(r))) return { h: e[1], s: e[2], v: e[3] }
-                if ((e = J.hsva.exec(r))) return { h: e[1], s: e[2], v: e[3], a: e[4] }
-                if ((e = J.hex8.exec(r)))
-                  return {
-                    r: P(e[1]),
-                    g: P(e[2]),
-                    b: P(e[3]),
-                    a: W(e[4]),
-                    format: t ? 'name' : 'hex8',
-                  }
-                if ((e = J.hex6.exec(r)))
-                  return { r: P(e[1]), g: P(e[2]), b: P(e[3]), format: t ? 'name' : 'hex' }
-                if ((e = J.hex4.exec(r)))
-                  return {
-                    r: P(e[1] + '' + e[1]),
-                    g: P(e[2] + '' + e[2]),
-                    b: P(e[3] + '' + e[3]),
-                    a: W(e[4] + '' + e[4]),
-                    format: t ? 'name' : 'hex8',
-                  }
-                if ((e = J.hex3.exec(r)))
-                  return {
-                    r: P(e[1] + '' + e[1]),
-                    g: P(e[2] + '' + e[2]),
-                    b: P(e[3] + '' + e[3]),
-                    format: t ? 'name' : 'hex',
-                  }
-                return !1
-              })(r))
-            'object' == typeof r &&
-              (N(r.r) && N(r.g) && N(r.b)
-                ? ((p = r.r),
-                  (h = r.g),
-                  (b = r.b),
-                  (e = { r: 255 * T(p, 255), g: 255 * T(h, 255), b: 255 * T(b, 255) }),
-                  (d = !0),
-                  (f = '%' === String(r.r).substr(-1) ? 'prgb' : 'rgb'))
-                : N(r.h) && N(r.s) && N(r.v)
-                ? ((n = M(r.s)),
-                  (s = M(r.v)),
-                  (e = (function (r, e, t) {
-                    ;(r = 6 * T(r, 360)), (e = T(e, 100)), (t = T(t, 100))
-                    var n = o.floor(r),
-                      a = r - n,
-                      i = t * (1 - e),
-                      s = t * (1 - a * e),
-                      l = t * (1 - (1 - a) * e),
-                      c = n % 6
-                    return {
-                      r: 255 * [t, s, i, i, l, t][c],
-                      g: 255 * [l, t, t, s, i, i][c],
-                      b: 255 * [i, i, l, t, t, s][c],
-                    }
-                  })(r.h, n, s)),
-                  (d = !0),
-                  (f = 'hsv'))
-                : N(r.h) &&
-                  N(r.s) &&
-                  N(r.l) &&
-                  ((n = M(r.s)),
-                  (l = M(r.l)),
-                  (e = (function (r, e, t) {
-                    var n, o, a
-                    function i(r, e, t) {
-                      return (
-                        t < 0 && (t += 1),
-                        t > 1 && (t -= 1),
-                        t < 1 / 6
-                          ? r + 6 * (e - r) * t
-                          : t < 0.5
-                          ? e
-                          : t < 2 / 3
-                          ? r + (e - r) * (2 / 3 - t) * 6
-                          : r
-                      )
-                    }
-                    if (((r = T(r, 360)), (e = T(e, 100)), (t = T(t, 100)), 0 === e)) n = o = a = t
-                    else {
-                      var s = t < 0.5 ? t * (1 + e) : t + e - t * e,
-                        l = 2 * t - s
-                      ;(n = i(l, s, r + 1 / 3)), (o = i(l, s, r)), (a = i(l, s, r - 1 / 3))
-                    }
-                    return { r: 255 * n, g: 255 * o, b: 255 * a }
-                  })(r.h, n, l)),
-                  (d = !0),
-                  (f = 'hsl')),
-              r.hasOwnProperty('a') && (t = r.a))
-            var p, h, b
-            return (
-              (t = O(t)),
-              {
-                ok: d,
-                format: r.format || f,
-                r: c(255, u(e.r, 0)),
-                g: c(255, u(e.g, 0)),
-                b: c(255, u(e.b, 0)),
-                a: t,
-              }
-            )
-          })(r)
-          ;(this._originalInput = r),
-            (this._r = t.r),
-            (this._g = t.g),
-            (this._b = t.b),
-            (this._a = t.a),
-            (this._roundA = l(100 * this._a) / 100),
-            (this._format = e.format || t.format),
-            (this._gradientType = e.gradientType),
-            this._r < 1 && (this._r = l(this._r)),
-            this._g < 1 && (this._g = l(this._g)),
-            this._b < 1 && (this._b = l(this._b)),
-            (this._ok = t.ok),
-            (this._tc_id = s++)
-        }
-        function p(r, e, t) {
-          ;(r = T(r, 255)), (e = T(e, 255)), (t = T(t, 255))
-          var n,
-            o,
-            a = u(r, e, t),
-            i = c(r, e, t),
-            s = (a + i) / 2
-          if (a == i) n = o = 0
-          else {
-            var l = a - i
-            switch (((o = s > 0.5 ? l / (2 - a - i) : l / (a + i)), a)) {
-              case r:
-                n = (e - t) / l + (e < t ? 6 : 0)
-                break
-              case e:
-                n = (t - r) / l + 2
-                break
-              case t:
-                n = (r - e) / l + 4
-            }
-            n /= 6
-          }
-          return { h: n, s: o, l: s }
-        }
-        function h(r, e, t) {
-          ;(r = T(r, 255)), (e = T(e, 255)), (t = T(t, 255))
-          var n,
-            o,
-            a = u(r, e, t),
-            i = c(r, e, t),
-            s = a,
-            l = a - i
-          if (((o = 0 === a ? 0 : l / a), a == i)) n = 0
-          else {
-            switch (a) {
-              case r:
-                n = (e - t) / l + (e < t ? 6 : 0)
-                break
-              case e:
-                n = (t - r) / l + 2
-                break
-              case t:
-                n = (r - e) / l + 4
-            }
-            n /= 6
-          }
-          return { h: n, s: o, v: s }
-        }
-        function b(r, e, t, n) {
-          var o = [I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16))]
-          return n &&
-            o[0].charAt(0) == o[0].charAt(1) &&
-            o[1].charAt(0) == o[1].charAt(1) &&
-            o[2].charAt(0) == o[2].charAt(1)
-            ? o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0)
-            : o.join('')
-        }
-        function g(r, e, t, n) {
-          return [I(D(n)), I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16))].join(
-            '',
-          )
-        }
-        function m(r, e) {
-          e = 0 === e ? 0 : e || 10
-          var t = f(r).toHsl()
-          return (t.s -= e / 100), (t.s = F(t.s)), f(t)
-        }
-        function v(r, e) {
-          e = 0 === e ? 0 : e || 10
-          var t = f(r).toHsl()
-          return (t.s += e / 100), (t.s = F(t.s)), f(t)
-        }
-        function y(r) {
-          return f(r).desaturate(100)
-        }
-        function x(r, e) {
-          e = 0 === e ? 0 : e || 10
-          var t = f(r).toHsl()
-          return (t.l += e / 100), (t.l = F(t.l)), f(t)
-        }
-        function w(r, e) {
-          e = 0 === e ? 0 : e || 10
-          var t = f(r).toRgb()
-          return (
-            (t.r = u(0, c(255, t.r - l((-e / 100) * 255)))),
-            (t.g = u(0, c(255, t.g - l((-e / 100) * 255)))),
-            (t.b = u(0, c(255, t.b - l((-e / 100) * 255)))),
-            f(t)
-          )
-        }
-        function S(r, e) {
-          e = 0 === e ? 0 : e || 10
-          var t = f(r).toHsl()
-          return (t.l -= e / 100), (t.l = F(t.l)), f(t)
-        }
-        function k(r, e) {
-          var t = f(r).toHsl(),
-            n = (t.h + e) % 360
-          return (t.h = n < 0 ? 360 + n : n), f(t)
-        }
-        function _(r) {
-          var e = f(r).toHsl()
-          return (e.h = (e.h + 180) % 360), f(e)
-        }
-        function C(r) {
-          var e = f(r).toHsl(),
-            t = e.h
-          return [
-            f(r),
-            f({ h: (t + 120) % 360, s: e.s, l: e.l }),
-            f({ h: (t + 240) % 360, s: e.s, l: e.l }),
-          ]
-        }
-        function A(r) {
-          var e = f(r).toHsl(),
-            t = e.h
-          return [
-            f(r),
-            f({ h: (t + 90) % 360, s: e.s, l: e.l }),
-            f({ h: (t + 180) % 360, s: e.s, l: e.l }),
-            f({ h: (t + 270) % 360, s: e.s, l: e.l }),
-          ]
-        }
-        function E(r) {
-          var e = f(r).toHsl(),
-            t = e.h
-          return [
-            f(r),
-            f({ h: (t + 72) % 360, s: e.s, l: e.l }),
-            f({ h: (t + 216) % 360, s: e.s, l: e.l }),
-          ]
-        }
-        function z(r, e, t) {
-          ;(e = e || 6), (t = t || 30)
-          var n = f(r).toHsl(),
-            o = 360 / t,
-            a = [f(r)]
-          for (n.h = (n.h - ((o * e) >> 1) + 720) % 360; --e; )
-            (n.h = (n.h + o) % 360), a.push(f(n))
-          return a
-        }
-        function R(r, e) {
-          e = e || 6
-          for (var t = f(r).toHsv(), n = t.h, o = t.s, a = t.v, i = [], s = 1 / e; e--; )
-            i.push(f({ h: n, s: o, v: a })), (a = (a + s) % 1)
-          return i
-        }
-        ;(f.prototype = {
-          isDark: function () {
-            return this.getBrightness() < 128
-          },
-          isLight: function () {
-            return !this.isDark()
-          },
-          isValid: function () {
-            return this._ok
-          },
-          getOriginalInput: function () {
-            return this._originalInput
-          },
-          getFormat: function () {
-            return this._format
-          },
-          getAlpha: function () {
-            return this._a
-          },
-          getBrightness: function () {
-            var r = this.toRgb()
-            return (299 * r.r + 587 * r.g + 114 * r.b) / 1e3
-          },
-          getLuminance: function () {
-            var r,
-              e,
-              t,
-              n = this.toRgb()
-            return (
-              (r = n.r / 255),
-              (e = n.g / 255),
-              (t = n.b / 255),
-              0.2126 * (r <= 0.03928 ? r / 12.92 : o.pow((r + 0.055) / 1.055, 2.4)) +
-                0.7152 * (e <= 0.03928 ? e / 12.92 : o.pow((e + 0.055) / 1.055, 2.4)) +
-                0.0722 * (t <= 0.03928 ? t / 12.92 : o.pow((t + 0.055) / 1.055, 2.4))
-            )
-          },
-          setAlpha: function (r) {
-            return (this._a = O(r)), (this._roundA = l(100 * this._a) / 100), this
-          },
-          toHsv: function () {
-            var r = h(this._r, this._g, this._b)
-            return { h: 360 * r.h, s: r.s, v: r.v, a: this._a }
-          },
-          toHsvString: function () {
-            var r = h(this._r, this._g, this._b),
-              e = l(360 * r.h),
-              t = l(100 * r.s),
-              n = l(100 * r.v)
-            return 1 == this._a
-              ? 'hsv(' + e + ', ' + t + '%, ' + n + '%)'
-              : 'hsva(' + e + ', ' + t + '%, ' + n + '%, ' + this._roundA + ')'
-          },
-          toHsl: function () {
-            var r = p(this._r, this._g, this._b)
-            return { h: 360 * r.h, s: r.s, l: r.l, a: this._a }
-          },
-          toHslString: function () {
-            var r = p(this._r, this._g, this._b),
-              e = l(360 * r.h),
-              t = l(100 * r.s),
-              n = l(100 * r.l)
-            return 1 == this._a
-              ? 'hsl(' + e + ', ' + t + '%, ' + n + '%)'
-              : 'hsla(' + e + ', ' + t + '%, ' + n + '%, ' + this._roundA + ')'
-          },
-          toHex: function (r) {
-            return b(this._r, this._g, this._b, r)
-          },
-          toHexString: function (r) {
-            return '#' + this.toHex(r)
-          },
-          toHex8: function (r) {
-            return (function (r, e, t, n, o) {
-              var a = [I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16)), I(D(n))]
-              if (
-                o &&
-                a[0].charAt(0) == a[0].charAt(1) &&
-                a[1].charAt(0) == a[1].charAt(1) &&
-                a[2].charAt(0) == a[2].charAt(1) &&
-                a[3].charAt(0) == a[3].charAt(1)
-              )
-                return a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) + a[3].charAt(0)
-              return a.join('')
-            })(this._r, this._g, this._b, this._a, r)
-          },
-          toHex8String: function (r) {
-            return '#' + this.toHex8(r)
-          },
-          toRgb: function () {
-            return { r: l(this._r), g: l(this._g), b: l(this._b), a: this._a }
-          },
-          toRgbString: function () {
-            return 1 == this._a
-              ? 'rgb(' + l(this._r) + ', ' + l(this._g) + ', ' + l(this._b) + ')'
-              : 'rgba(' +
-                  l(this._r) +
-                  ', ' +
-                  l(this._g) +
-                  ', ' +
-                  l(this._b) +
-                  ', ' +
-                  this._roundA +
-                  ')'
-          },
-          toPercentageRgb: function () {
-            return {
-              r: l(100 * T(this._r, 255)) + '%',
-              g: l(100 * T(this._g, 255)) + '%',
-              b: l(100 * T(this._b, 255)) + '%',
-              a: this._a,
-            }
-          },
-          toPercentageRgbString: function () {
-            return 1 == this._a
-              ? 'rgb(' +
-                  l(100 * T(this._r, 255)) +
-                  '%, ' +
-                  l(100 * T(this._g, 255)) +
-                  '%, ' +
-                  l(100 * T(this._b, 255)) +
-                  '%)'
-              : 'rgba(' +
-                  l(100 * T(this._r, 255)) +
-                  '%, ' +
-                  l(100 * T(this._g, 255)) +
-                  '%, ' +
-                  l(100 * T(this._b, 255)) +
-                  '%, ' +
-                  this._roundA +
-                  ')'
-          },
-          toName: function () {
-            return 0 === this._a
-              ? 'transparent'
-              : !(this._a < 1) && (j[b(this._r, this._g, this._b, !0)] || !1)
-          },
-          toFilter: function (r) {
-            var e = '#' + g(this._r, this._g, this._b, this._a),
-              t = e,
-              n = this._gradientType ? 'GradientType = 1, ' : ''
-            if (r) {
-              var o = f(r)
-              t = '#' + g(o._r, o._g, o._b, o._a)
-            }
-            return (
-              'progid:DXImageTransform.Microsoft.gradient(' +
-              n +
-              'startColorstr=' +
-              e +
-              ',endColorstr=' +
-              t +
-              ')'
-            )
-          },
-          toString: function (r) {
-            var e = !!r
-            r = r || this._format
-            var t = !1,
-              n = this._a < 1 && this._a >= 0
-            return e ||
-              !n ||
-              ('hex' !== r &&
-                'hex6' !== r &&
-                'hex3' !== r &&
-                'hex4' !== r &&
-                'hex8' !== r &&
-                'name' !== r)
-              ? ('rgb' === r && (t = this.toRgbString()),
-                'prgb' === r && (t = this.toPercentageRgbString()),
-                ('hex' !== r && 'hex6' !== r) || (t = this.toHexString()),
-                'hex3' === r && (t = this.toHexString(!0)),
-                'hex4' === r && (t = this.toHex8String(!0)),
-                'hex8' === r && (t = this.toHex8String()),
-                'name' === r && (t = this.toName()),
-                'hsl' === r && (t = this.toHslString()),
-                'hsv' === r && (t = this.toHsvString()),
-                t || this.toHexString())
-              : 'name' === r && 0 === this._a
-              ? this.toName()
-              : this.toRgbString()
-          },
-          clone: function () {
-            return f(this.toString())
-          },
-          _applyModification: function (r, e) {
-            var t = r.apply(null, [this].concat([].slice.call(e)))
-            return (this._r = t._r), (this._g = t._g), (this._b = t._b), this.setAlpha(t._a), this
-          },
-          lighten: function () {
-            return this._applyModification(x, arguments)
-          },
-          brighten: function () {
-            return this._applyModification(w, arguments)
-          },
-          darken: function () {
-            return this._applyModification(S, arguments)
-          },
-          desaturate: function () {
-            return this._applyModification(m, arguments)
-          },
-          saturate: function () {
-            return this._applyModification(v, arguments)
-          },
-          greyscale: function () {
-            return this._applyModification(y, arguments)
-          },
-          spin: function () {
-            return this._applyModification(k, arguments)
-          },
-          _applyCombination: function (r, e) {
-            return r.apply(null, [this].concat([].slice.call(e)))
-          },
-          analogous: function () {
-            return this._applyCombination(z, arguments)
-          },
-          complement: function () {
-            return this._applyCombination(_, arguments)
-          },
-          monochromatic: function () {
-            return this._applyCombination(R, arguments)
-          },
-          splitcomplement: function () {
-            return this._applyCombination(E, arguments)
-          },
-          triad: function () {
-            return this._applyCombination(C, arguments)
-          },
-          tetrad: function () {
-            return this._applyCombination(A, arguments)
-          },
-        }),
-          (f.fromRatio = function (r, e) {
-            if ('object' == typeof r) {
-              var t = {}
-              for (var n in r) r.hasOwnProperty(n) && (t[n] = 'a' === n ? r[n] : M(r[n]))
-              r = t
-            }
-            return f(r, e)
-          }),
-          (f.equals = function (r, e) {
-            return !(!r || !e) && f(r).toRgbString() == f(e).toRgbString()
-          }),
-          (f.random = function () {
-            return f.fromRatio({ r: d(), g: d(), b: d() })
-          }),
-          (f.mix = function (r, e, t) {
-            t = 0 === t ? 0 : t || 50
-            var n = f(r).toRgb(),
-              o = f(e).toRgb(),
-              a = t / 100
-            return f({
-              r: (o.r - n.r) * a + n.r,
-              g: (o.g - n.g) * a + n.g,
-              b: (o.b - n.b) * a + n.b,
-              a: (o.a - n.a) * a + n.a,
-            })
-          }),
-          (f.readability = function (r, e) {
-            var t = f(r),
-              n = f(e)
-            return (
-              (o.max(t.getLuminance(), n.getLuminance()) + 0.05) /
-              (o.min(t.getLuminance(), n.getLuminance()) + 0.05)
-            )
-          }),
-          (f.isReadable = function (r, e, t) {
-            var n,
-              o,
-              a = f.readability(r, e)
-            switch (
-              ((o = !1),
-              (n = (function (r) {
-                var e, t
-                ;(e = ((r = r || { level: 'AA', size: 'small' }).level || 'AA').toUpperCase()),
-                  (t = (r.size || 'small').toLowerCase()),
-                  'AA' !== e && 'AAA' !== e && (e = 'AA')
-                'small' !== t && 'large' !== t && (t = 'small')
-                return { level: e, size: t }
-              })(t)).level + n.size)
-            ) {
-              case 'AAsmall':
-              case 'AAAlarge':
-                o = a >= 4.5
-                break
-              case 'AAlarge':
-                o = a >= 3
-                break
-              case 'AAAsmall':
-                o = a >= 7
-            }
-            return o
-          }),
-          (f.mostReadable = function (r, e, t) {
-            var n,
-              o,
-              a,
-              i,
-              s = null,
-              l = 0
-            ;(o = (t = t || {}).includeFallbackColors), (a = t.level), (i = t.size)
-            for (var c = 0; c < e.length; c++)
-              (n = f.readability(r, e[c])) > l && ((l = n), (s = f(e[c])))
-            return f.isReadable(r, s, { level: a, size: i }) || !o
-              ? s
-              : ((t.includeFallbackColors = !1), f.mostReadable(r, ['#fff', '#000'], t))
-          })
-        var B = (f.names = {
-            aliceblue: 'f0f8ff',
-            antiquewhite: 'faebd7',
-            aqua: '0ff',
-            aquamarine: '7fffd4',
-            azure: 'f0ffff',
-            beige: 'f5f5dc',
-            bisque: 'ffe4c4',
-            black: '000',
-            blanchedalmond: 'ffebcd',
-            blue: '00f',
-            blueviolet: '8a2be2',
-            brown: 'a52a2a',
-            burlywood: 'deb887',
-            burntsienna: 'ea7e5d',
-            cadetblue: '5f9ea0',
-            chartreuse: '7fff00',
-            chocolate: 'd2691e',
-            coral: 'ff7f50',
-            cornflowerblue: '6495ed',
-            cornsilk: 'fff8dc',
-            crimson: 'dc143c',
-            cyan: '0ff',
-            darkblue: '00008b',
-            darkcyan: '008b8b',
-            darkgoldenrod: 'b8860b',
-            darkgray: 'a9a9a9',
-            darkgreen: '006400',
-            darkgrey: 'a9a9a9',
-            darkkhaki: 'bdb76b',
-            darkmagenta: '8b008b',
-            darkolivegreen: '556b2f',
-            darkorange: 'ff8c00',
-            darkorchid: '9932cc',
-            darkred: '8b0000',
-            darksalmon: 'e9967a',
-            darkseagreen: '8fbc8f',
-            darkslateblue: '483d8b',
-            darkslategray: '2f4f4f',
-            darkslategrey: '2f4f4f',
-            darkturquoise: '00ced1',
-            darkviolet: '9400d3',
-            deeppink: 'ff1493',
-            deepskyblue: '00bfff',
-            dimgray: '696969',
-            dimgrey: '696969',
-            dodgerblue: '1e90ff',
-            firebrick: 'b22222',
-            floralwhite: 'fffaf0',
-            forestgreen: '228b22',
-            fuchsia: 'f0f',
-            gainsboro: 'dcdcdc',
-            ghostwhite: 'f8f8ff',
-            gold: 'ffd700',
-            goldenrod: 'daa520',
-            gray: '808080',
-            green: '008000',
-            greenyellow: 'adff2f',
-            grey: '808080',
-            honeydew: 'f0fff0',
-            hotpink: 'ff69b4',
-            indianred: 'cd5c5c',
-            indigo: '4b0082',
-            ivory: 'fffff0',
-            khaki: 'f0e68c',
-            lavender: 'e6e6fa',
-            lavenderblush: 'fff0f5',
-            lawngreen: '7cfc00',
-            lemonchiffon: 'fffacd',
-            lightblue: 'add8e6',
-            lightcoral: 'f08080',
-            lightcyan: 'e0ffff',
-            lightgoldenrodyellow: 'fafad2',
-            lightgray: 'd3d3d3',
-            lightgreen: '90ee90',
-            lightgrey: 'd3d3d3',
-            lightpink: 'ffb6c1',
-            lightsalmon: 'ffa07a',
-            lightseagreen: '20b2aa',
-            lightskyblue: '87cefa',
-            lightslategray: '789',
-            lightslategrey: '789',
-            lightsteelblue: 'b0c4de',
-            lightyellow: 'ffffe0',
-            lime: '0f0',
-            limegreen: '32cd32',
-            linen: 'faf0e6',
-            magenta: 'f0f',
-            maroon: '800000',
-            mediumaquamarine: '66cdaa',
-            mediumblue: '0000cd',
-            mediumorchid: 'ba55d3',
-            mediumpurple: '9370db',
-            mediumseagreen: '3cb371',
-            mediumslateblue: '7b68ee',
-            mediumspringgreen: '00fa9a',
-            mediumturquoise: '48d1cc',
-            mediumvioletred: 'c71585',
-            midnightblue: '191970',
-            mintcream: 'f5fffa',
-            mistyrose: 'ffe4e1',
-            moccasin: 'ffe4b5',
-            navajowhite: 'ffdead',
-            navy: '000080',
-            oldlace: 'fdf5e6',
-            olive: '808000',
-            olivedrab: '6b8e23',
-            orange: 'ffa500',
-            orangered: 'ff4500',
-            orchid: 'da70d6',
-            palegoldenrod: 'eee8aa',
-            palegreen: '98fb98',
-            paleturquoise: 'afeeee',
-            palevioletred: 'db7093',
-            papayawhip: 'ffefd5',
-            peachpuff: 'ffdab9',
-            peru: 'cd853f',
-            pink: 'ffc0cb',
-            plum: 'dda0dd',
-            powderblue: 'b0e0e6',
-            purple: '800080',
-            rebeccapurple: '663399',
-            red: 'f00',
-            rosybrown: 'bc8f8f',
-            royalblue: '4169e1',
-            saddlebrown: '8b4513',
-            salmon: 'fa8072',
-            sandybrown: 'f4a460',
-            seagreen: '2e8b57',
-            seashell: 'fff5ee',
-            sienna: 'a0522d',
-            silver: 'c0c0c0',
-            skyblue: '87ceeb',
-            slateblue: '6a5acd',
-            slategray: '708090',
-            slategrey: '708090',
-            snow: 'fffafa',
-            springgreen: '00ff7f',
-            steelblue: '4682b4',
-            tan: 'd2b48c',
-            teal: '008080',
-            thistle: 'd8bfd8',
-            tomato: 'ff6347',
-            turquoise: '40e0d0',
-            violet: 'ee82ee',
-            wheat: 'f5deb3',
-            white: 'fff',
-            whitesmoke: 'f5f5f5',
-            yellow: 'ff0',
-            yellowgreen: '9acd32',
-          }),
-          j = (f.hexNames = (function (r) {
-            var e = {}
-            for (var t in r) r.hasOwnProperty(t) && (e[r[t]] = t)
-            return e
-          })(B))
-        function O(r) {
-          return (r = parseFloat(r)), (isNaN(r) || r < 0 || r > 1) && (r = 1), r
-        }
-        function T(r, e) {
-          ;(function (r) {
-            return 'string' == typeof r && -1 != r.indexOf('.') && 1 === parseFloat(r)
-          })(r) && (r = '100%')
-          var t = (function (r) {
-            return 'string' === typeof r && -1 != r.indexOf('%')
-          })(r)
-          return (
-            (r = c(e, u(0, parseFloat(r)))),
-            t && (r = parseInt(r * e, 10) / 100),
-            o.abs(r - e) < 1e-6 ? 1 : (r % e) / parseFloat(e)
-          )
-        }
-        function F(r) {
-          return c(1, u(0, r))
-        }
-        function P(r) {
-          return parseInt(r, 16)
-        }
-        function I(r) {
-          return 1 == r.length ? '0' + r : '' + r
-        }
-        function M(r) {
-          return r <= 1 && (r = 100 * r + '%'), r
-        }
-        function D(r) {
-          return o.round(255 * parseFloat(r)).toString(16)
-        }
-        function W(r) {
-          return P(r) / 255
-        }
-        var J = (function () {
-          var r = '(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)',
-            e = '[\\s|\\(]+(' + r + ')[,|\\s]+(' + r + ')[,|\\s]+(' + r + ')\\s*\\)?',
-            t =
-              '[\\s|\\(]+(' +
-              r +
-              ')[,|\\s]+(' +
-              r +
-              ')[,|\\s]+(' +
-              r +
-              ')[,|\\s]+(' +
-              r +
-              ')\\s*\\)?'
-          return {
-            CSS_UNIT: new RegExp(r),
-            rgb: new RegExp('rgb' + e),
-            rgba: new RegExp('rgba' + t),
-            hsl: new RegExp('hsl' + e),
-            hsla: new RegExp('hsla' + t),
-            hsv: new RegExp('hsv' + e),
-            hsva: new RegExp('hsva' + t),
-            hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
-            hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
-            hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
-            hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
-          }
-        })()
-        function N(r) {
-          return !!J.CSS_UNIT.exec(r)
-        }
-        r.exports
-          ? (r.exports = f)
-          : void 0 ===
-              (n = function () {
-                return f
-              }.call(e, t, e, r)) || (r.exports = n)
-      })(Math)
-    },
-  },
-  function (r) {
-    var e = function (e) {
-      return r((r.s = e))
-    }
-    r.O(0, [774, 179], function () {
-      return e(76363), e(34651)
-    })
-    var t = r.O()
-    _N_E = t
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{22122:function(r,e,t){"use strict";function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}t.d(e,{Z:function(){return n}})},24738:function(r,e,t){"use strict";t.d(e,{SG:function(){return x},If:function(){return y}});var n=t(73808),o=t(84461),a=t(80658),i=t(67294),s="chakra-ui-light",l="chakra-ui-dark",c={classList:{add:a.ZT,remove:a.ZT}};function u(r){var e=o.jU?document.body:c;e.classList.add(r?l:s),e.classList.remove(r?s:l)}var d="(prefers-color-scheme: dark)";function f(r){var e;return(null!=(e=function(r){var e=null==window.matchMedia?void 0:window.matchMedia(r);if(e)return!!e.media===e.matches}(d))?e:"dark"===r)?"dark":"light"}var p=()=>document.documentElement.style.getPropertyValue("--chakra-ui-color-mode"),h=r=>{o.jU&&document.documentElement.style.setProperty("--chakra-ui-color-mode",r)},b=()=>"undefined"!==typeof Storage,g="chakra-ui-color-mode",m={get(r){if(!b())return r;try{var e=localStorage.getItem(g);return null!=e?e:r}catch(t){return n.Ts&&console.log(t),r}},set(r){if(b())try{localStorage.setItem(g,r)}catch(e){n.Ts&&console.log(e)}},type:"localStorage"};var v=i.createContext({});n.Ts&&(v.displayName="ColorModeContext");var y=()=>{var r=i.useContext(v);if(void 0===r)throw new Error("useColorMode must be used within a ColorModeProvider");return r};function x(r){var{value:e,children:t,options:{useSystemColorMode:n,initialColorMode:s},colorModeManager:l=m}=r,[c,b]=i.useState("cookie"===l.type?l.get(s):s);i.useEffect((()=>{if(o.jU&&"localStorage"===l.type){var r=n?f(s):p()||l.get();r&&b(r)}}),[l,n,s]),i.useEffect((()=>{var r="dark"===c;u(r),h(r?"dark":"light")}),[c]);var g=i.useCallback((r=>{l.set(r),b(r)}),[l]),y=i.useCallback((()=>{g("light"===c?"dark":"light")}),[c,g]);i.useEffect((()=>{var r;return n&&(r=function(r){if(!("matchMedia"in window))return a.ZT;var e=window.matchMedia(d),t=()=>{r(e.matches?"dark":"light")};return t(),e.addListener(t),()=>{e.removeListener(t)}}(g)),()=>{r&&n&&r()}}),[g,n]);var x=i.useMemo((()=>({colorMode:null!=e?e:c,toggleColorMode:e?a.ZT:y,setColorMode:e?a.ZT:g})),[c,g,y,e]);return i.createElement(v.Provider,{value:x},t)}n.Ts&&(x.displayName="ColorModeProvider");n.Ts;n.Ts},94577:function(r,e,t){"use strict";t.d(e,{vc:function(){return i},Me:function(){return s},ZS:function(){return l}});var n=t(67294),o={prefix:Math.round(1e10*Math.random()),current:0},a=n.createContext(o),i=n.memo((r=>{var{children:e}=r,t=n.useContext(a),i=t===o,s=n.useMemo((()=>({prefix:i?0:++t.prefix,current:0})),[i,t]);return n.createElement(a.Provider,{value:s},e)}));function s(r,e){var t=n.useContext(a);return n.useMemo((()=>r||[e,t.prefix,++t.current].filter(Boolean).join("-")),[r,e])}function l(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),o=1;o<e;o++)t[o-1]=arguments[o];var a=s(r);return n.useMemo((()=>t.map((r=>r+"-"+a))),[a,t])}},34288:function(r,e,t){"use strict";t.d(e,{L:function(){return s},h:function(){return l}});var n=t(73808),o=t(28500),a=t(67294),[i,s]=(0,o.k)({strict:!1,name:"PortalManagerContext"});function l(r){var{children:e,zIndex:t}=r;return a.createElement(i,{value:{zIndex:t}},e)}n.Ts&&(l.displayName="PortalManager")},28500:function(r,e,t){"use strict";t.d(e,{k:function(){return o}});var n=t(67294);function o(r){void 0===r&&(r={});var{strict:e=!0,errorMessage:t="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:o}=r,a=n.createContext(void 0);return a.displayName=o,[a.Provider,function r(){var o=n.useContext(a);if(!o&&e){var i=new Error(t);throw i.name="ContextError",null==Error.captureStackTrace||Error.captureStackTrace(i,r),i}return o},a]}},13205:function(r,e,t){"use strict";t.d(e,{Oq:function(){return B},Cg:function(){return j},$_:function(){return O},cE:function(){return T},hX:function(){return F},GQ:function(){return P},eC:function(){return I},Mw:function(){return M},bK:function(){return D},pb:function(){return W},o_:function(){return $},FK:function(){return Z},v_:function(){return V},Dh:function(){return q},QX:function(){return G},vs:function(){return Y},eR:function(){return X},cp:function(){return U}});var n=t(73808);function o(r){var{scale:e,transform:t,compose:o}=r;return(r,a)=>{var i,s=((r,e)=>t=>{var o=String(e),a=r?r+"."+o:o;return(0,n.Kn)(t.__cssMap)&&a in t.__cssMap?t.__cssMap[a].varRef:e})(e,r)(a),l=null!=(i=null==t?void 0:t(s,a))?i:s;return o&&(l=o(l,a)),l}}function a(r,e){return t=>{var n={property:t,scale:r};return n.transform=o({scale:r,transform:e}),n}}var i=r=>{var{rtl:e,ltr:t}=r;return r=>"rtl"===r.direction?e:t};var s=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];var l={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},c={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};var u={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},d="& > :not(style) ~ :not(style)",f={[d]:{marginInlineStart:"calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))",marginInlineEnd:"calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))"}},p={[d]:{marginTop:"calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))",marginBottom:"calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))"}};function h(r,e){h=function(r,e){return new a(r,void 0,e)};var t=g(RegExp),n=RegExp.prototype,o=new WeakMap;function a(r,e,n){var a=t.call(this,r,e);return o.set(a,n||o.get(r)),a}function i(r,e){var t=o.get(e);return Object.keys(t).reduce((function(e,n){return e[n]=r[t[n]],e}),Object.create(null))}return b(a,t),a.prototype.exec=function(r){var e=n.exec.call(this,r);return e&&(e.groups=i(e,this)),e},a.prototype[Symbol.replace]=function(r,e){if("string"===typeof e){var t=o.get(this);return n[Symbol.replace].call(this,r,e.replace(/\$<([^>]+)>/g,(function(r,e){return"$"+t[e]})))}if("function"===typeof e){var a=this;return n[Symbol.replace].call(this,r,(function(){var r=[];return r.push.apply(r,arguments),"object"!==typeof r[r.length-1]&&r.push(i(r,a)),e.apply(this,r)}))}return n[Symbol.replace].call(this,r,e)},h.apply(this,arguments)}function b(r,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&y(r,e)}function g(r){var e="function"===typeof Map?new Map:void 0;return(g=function(r){if(null===r||(t=r,-1===Function.toString.call(t).indexOf("[native code]")))return r;var t;if("function"!==typeof r)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof e){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return m(r,arguments,x(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),y(n,r)})(r)}function m(r,e,t){return(m=v()?Reflect.construct:function(r,e,t){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(r,n));return t&&y(o,t.prototype),o}).apply(null,arguments)}function v(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}function y(r,e){return(y=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r})(r,e)}function x(r){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)})(r)}var w={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},S=new Set(Object.values(w)),k=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),_=r=>r.trim();var C=r=>e=>r+"("+e+")",A={filter:r=>"auto"!==r?r:l,backdropFilter:r=>"auto"!==r?r:c,ring:r=>function(r){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":r,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}(A.px(r)),bgClip:r=>"text"===r?{color:"transparent",backgroundClip:"text"}:{backgroundClip:r},transform:r=>"auto"===r?["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...s].join(" "):"auto-gpu"===r?["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...s].join(" "):r,px(r){if(null==r)return r;var{unitless:e}=(r=>{var e=parseFloat(r.toString()),t=r.toString().replace(String(e),"");return{unitless:!t,value:e,unit:t}})(r);return e||(0,n.hj)(r)?r+"px":r},fraction:r=>!(0,n.hj)(r)||r>1?r:100*r+"%",float:(r,e)=>"rtl"===e.direction?{left:"right",right:"left"}[r]:r,degree(r){if((0,n.FS)(r)||null==r)return r;var e=(0,n.HD)(r)&&!r.endsWith("deg");return(0,n.hj)(r)||e?r+"deg":r},gradient:(r,e)=>function(r,e){var t,n;if(null==r||k.has(r))return r;var o=h(/(^[\x2DA-Za-z]+)\(((.*))\)/g,{type:1,values:2}),{type:a,values:i}=null!=(t=null==(n=o.exec(r))?void 0:n.groups)?t:{};if(!a||!i)return r;var s=a.includes("-gradient")?a:a+"-gradient",[l,...c]=i.split(",").map(_).filter(Boolean);if(0===(null==c?void 0:c.length))return r;var u=l in w?w[l]:l;return c.unshift(u),s+"("+c.map((r=>{if(S.has(r))return r;var[t,n]=r.split(" "),o="colors."+t,a=o in e.__cssMap?e.__cssMap[o].varRef:t;return n?[a,n].join(" "):a})).join(", ")+")"}(r,null!=e?e:{}),blur:C("blur"),opacity:C("opacity"),brightness:C("brightness"),contrast:C("contrast"),dropShadow:C("drop-shadow"),grayscale:C("grayscale"),hueRotate:C("hue-rotate"),invert:C("invert"),saturate:C("saturate"),sepia:C("sepia"),bgImage:r=>null==r||E(r)||k.has(r)?r:"url("+r+")",outline(r){var e="0"===String(r)||"none"===String(r);return null!==r&&e?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:r}},flexDirection(r){var e,{space:t,divide:n}=null!=(e=u[r])?e:{},o={flexDirection:r};return t&&(o[t]=1),n&&(o[n]=1),o}},E=r=>(0,n.HD)(r)&&r.includes("(")&&r.includes(")");function z(){return(z=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var R={borderWidths:a("borderWidths"),borderStyles:a("borderStyles"),colors:a("colors"),borders:a("borders"),radii:a("radii",A.px),space:a("space",A.px),spaceT:a("space",A.px),degreeT:r=>({property:r,transform:A.degree}),prop:(r,e,t)=>z({property:r,scale:e},e&&{transform:o({scale:e,transform:t})}),propT:(r,e)=>({property:r,transform:e}),sizes:a("sizes",A.px),sizesT:a("sizes",A.fraction),shadows:a("shadows"),logical:function(r){var{property:e,scale:t,transform:n}=r;return{scale:t,property:i(e),transform:t?o({scale:t,compose:n}):n}},blur:a("blur",A.blur)},B={background:R.colors("background"),backgroundColor:R.colors("backgroundColor"),backgroundImage:R.propT("backgroundImage",A.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:A.bgClip},bgSize:R.prop("backgroundSize"),bgPosition:R.prop("backgroundPosition"),bg:R.colors("background"),bgColor:R.colors("backgroundColor"),bgPos:R.prop("backgroundPosition"),bgRepeat:R.prop("backgroundRepeat"),bgAttachment:R.prop("backgroundAttachment"),bgGradient:R.propT("backgroundImage",A.gradient),bgClip:{transform:A.bgClip}};Object.assign(B,{bgImage:B.backgroundImage,bgImg:B.backgroundImage});var j={border:R.borders("border"),borderWidth:R.borderWidths("borderWidth"),borderStyle:R.borderStyles("borderStyle"),borderColor:R.colors("borderColor"),borderRadius:R.radii("borderRadius"),borderTop:R.borders("borderTop"),borderBlockStart:R.borders("borderBlockStart"),borderTopLeftRadius:R.radii("borderTopLeftRadius"),borderStartStartRadius:R.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:R.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:R.radii("borderTopRightRadius"),borderStartEndRadius:R.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:R.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:R.borders("borderRight"),borderInlineEnd:R.borders("borderInlineEnd"),borderBottom:R.borders("borderBottom"),borderBlockEnd:R.borders("borderBlockEnd"),borderBottomLeftRadius:R.radii("borderBottomLeftRadius"),borderBottomRightRadius:R.radii("borderBottomRightRadius"),borderLeft:R.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:R.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:R.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:R.borders(["borderLeft","borderRight"]),borderInline:R.borders("borderInline"),borderY:R.borders(["borderTop","borderBottom"]),borderBlock:R.borders("borderBlock"),borderTopWidth:R.borderWidths("borderTopWidth"),borderBlockStartWidth:R.borderWidths("borderBlockStartWidth"),borderTopColor:R.colors("borderTopColor"),borderBlockStartColor:R.colors("borderBlockStartColor"),borderTopStyle:R.borderStyles("borderTopStyle"),borderBlockStartStyle:R.borderStyles("borderBlockStartStyle"),borderBottomWidth:R.borderWidths("borderBottomWidth"),borderBlockEndWidth:R.borderWidths("borderBlockEndWidth"),borderBottomColor:R.colors("borderBottomColor"),borderBlockEndColor:R.colors("borderBlockEndColor"),borderBottomStyle:R.borderStyles("borderBottomStyle"),borderBlockEndStyle:R.borderStyles("borderBlockEndStyle"),borderLeftWidth:R.borderWidths("borderLeftWidth"),borderInlineStartWidth:R.borderWidths("borderInlineStartWidth"),borderLeftColor:R.colors("borderLeftColor"),borderInlineStartColor:R.colors("borderInlineStartColor"),borderLeftStyle:R.borderStyles("borderLeftStyle"),borderInlineStartStyle:R.borderStyles("borderInlineStartStyle"),borderRightWidth:R.borderWidths("borderRightWidth"),borderInlineEndWidth:R.borderWidths("borderInlineEndWidth"),borderRightColor:R.colors("borderRightColor"),borderInlineEndColor:R.colors("borderInlineEndColor"),borderRightStyle:R.borderStyles("borderRightStyle"),borderInlineEndStyle:R.borderStyles("borderInlineEndStyle"),borderTopRadius:R.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:R.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:R.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:R.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(j,{rounded:j.borderRadius,roundedTop:j.borderTopRadius,roundedTopLeft:j.borderTopLeftRadius,roundedTopRight:j.borderTopRightRadius,roundedTopStart:j.borderStartStartRadius,roundedTopEnd:j.borderStartEndRadius,roundedBottom:j.borderBottomRadius,roundedBottomLeft:j.borderBottomLeftRadius,roundedBottomRight:j.borderBottomRightRadius,roundedBottomStart:j.borderEndStartRadius,roundedBottomEnd:j.borderEndEndRadius,roundedLeft:j.borderLeftRadius,roundedRight:j.borderRightRadius,roundedStart:j.borderInlineStartRadius,roundedEnd:j.borderInlineEndRadius,borderStart:j.borderInlineStart,borderEnd:j.borderInlineEnd,borderTopStartRadius:j.borderStartStartRadius,borderTopEndRadius:j.borderStartEndRadius,borderBottomStartRadius:j.borderEndStartRadius,borderBottomEndRadius:j.borderEndEndRadius,borderStartRadius:j.borderInlineStartRadius,borderEndRadius:j.borderInlineEndRadius,borderStartWidth:j.borderInlineStartWidth,borderEndWidth:j.borderInlineEndWidth,borderStartColor:j.borderInlineStartColor,borderEndColor:j.borderInlineEndColor,borderStartStyle:j.borderInlineStartStyle,borderEndStyle:j.borderInlineEndStyle});var O={color:R.colors("color"),textColor:R.colors("color"),fill:R.colors("fill"),stroke:R.colors("stroke")},T={boxShadow:R.shadows("boxShadow"),mixBlendMode:!0,blendMode:R.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:R.prop("backgroundBlendMode"),opacity:!0};Object.assign(T,{shadow:T.boxShadow});var F={filter:{transform:A.filter},blur:R.blur("--chakra-blur"),brightness:R.propT("--chakra-brightness",A.brightness),contrast:R.propT("--chakra-contrast",A.contrast),hueRotate:R.degreeT("--chakra-hue-rotate"),invert:R.propT("--chakra-invert",A.invert),saturate:R.propT("--chakra-saturate",A.saturate),dropShadow:R.propT("--chakra-drop-shadow",A.dropShadow),backdropFilter:{transform:A.backdropFilter},backdropBlur:R.blur("--chakra-backdrop-blur"),backdropBrightness:R.propT("--chakra-backdrop-brightness",A.brightness),backdropContrast:R.propT("--chakra-backdrop-contrast",A.contrast),backdropHueRotate:R.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:R.propT("--chakra-backdrop-invert",A.invert),backdropSaturate:R.propT("--chakra-backdrop-saturate",A.saturate)},P={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:A.flexDirection},experimental_spaceX:{static:f,transform:o({scale:"space",transform:r=>null!==r?{"--chakra-space-x":r}:null})},experimental_spaceY:{static:p,transform:o({scale:"space",transform:r=>null!=r?{"--chakra-space-y":r}:null})},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:R.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0};Object.assign(P,{flexDir:P.flexDirection});var I={gridGap:R.space("gridGap"),gridColumnGap:R.space("gridColumnGap"),gridRowGap:R.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},M={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:A.outline},outlineOffset:!0,outlineColor:R.colors("outlineColor")},D={width:R.sizesT("width"),inlineSize:R.sizesT("inlineSize"),height:R.sizes("height"),blockSize:R.sizes("blockSize"),boxSize:R.sizes(["width","height"]),minWidth:R.sizes("minWidth"),minInlineSize:R.sizes("minInlineSize"),minHeight:R.sizes("minHeight"),minBlockSize:R.sizes("minBlockSize"),maxWidth:R.sizes("maxWidth"),maxInlineSize:R.sizes("maxInlineSize"),maxHeight:R.sizes("maxHeight"),maxBlockSize:R.sizes("maxBlockSize"),d:R.prop("display"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:R.propT("float",A.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(D,{w:D.width,h:D.height,minW:D.minWidth,maxW:D.maxWidth,minH:D.minHeight,maxH:D.maxHeight,overscroll:D.overscrollBehavior,overscrollX:D.overscrollBehaviorX,overscrollY:D.overscrollBehaviorY});var W={listStyleType:!0,listStylePosition:!0,listStylePos:R.prop("listStylePosition"),listStyleImage:!0,listStyleImg:R.prop("listStyleImage")},J=t(4651),N={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},H={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},L=(r,e,t)=>{var n={},o=(0,J.Wf)(r,e,{});for(var a in o){a in t&&null!=t[a]||(n[a]=o[a])}return n},$={srOnly:{transform:r=>!0===r?N:"focusable"===r?H:{}},layerStyle:{processResult:!0,transform:(r,e,t)=>L(e,"layerStyles."+r,t)},textStyle:{processResult:!0,transform:(r,e,t)=>L(e,"textStyles."+r,t)},apply:{processResult:!0,transform:(r,e,t)=>L(e,r,t)}},Z={position:!0,pos:R.prop("position"),zIndex:R.prop("zIndex","zIndices"),inset:R.spaceT(["top","right","bottom","left"]),insetX:R.spaceT(["left","right"]),insetInline:R.spaceT("insetInline"),insetY:R.spaceT(["top","bottom"]),insetBlock:R.spaceT("insetBlock"),top:R.spaceT("top"),insetBlockStart:R.spaceT("insetBlockStart"),bottom:R.spaceT("bottom"),insetBlockEnd:R.spaceT("insetBlockEnd"),left:R.spaceT("left"),insetInlineStart:R.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:R.spaceT("right"),insetInlineEnd:R.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Z,{insetStart:Z.insetInlineStart,insetEnd:Z.insetInlineEnd});var V={ring:{transform:A.ring},ringColor:R.colors("--chakra-ring-color"),ringOffset:R.prop("--chakra-ring-offset-width"),ringOffsetColor:R.colors("--chakra-ring-offset-color"),ringInset:R.prop("--chakra-ring-inset")},q={margin:R.spaceT("margin"),marginTop:R.spaceT("marginTop"),marginBlockStart:R.spaceT("marginBlockStart"),marginRight:R.spaceT("marginRight"),marginInlineEnd:R.spaceT("marginInlineEnd"),marginBottom:R.spaceT("marginBottom"),marginBlockEnd:R.spaceT("marginBlockEnd"),marginLeft:R.spaceT("marginLeft"),marginInlineStart:R.spaceT("marginInlineStart"),marginX:R.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:R.spaceT("marginInline"),marginY:R.spaceT(["marginTop","marginBottom"]),marginBlock:R.spaceT("marginBlock"),padding:R.space("padding"),paddingTop:R.space("paddingTop"),paddingBlockStart:R.space("paddingBlockStart"),paddingRight:R.space("paddingRight"),paddingBottom:R.space("paddingBottom"),paddingBlockEnd:R.space("paddingBlockEnd"),paddingLeft:R.space("paddingLeft"),paddingInlineStart:R.space("paddingInlineStart"),paddingInlineEnd:R.space("paddingInlineEnd"),paddingX:R.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:R.space("paddingInline"),paddingY:R.space(["paddingTop","paddingBottom"]),paddingBlock:R.space("paddingBlock")};Object.assign(q,{m:q.margin,mt:q.marginTop,mr:q.marginRight,me:q.marginInlineEnd,marginEnd:q.marginInlineEnd,mb:q.marginBottom,ml:q.marginLeft,ms:q.marginInlineStart,marginStart:q.marginInlineStart,mx:q.marginX,my:q.marginY,p:q.padding,pt:q.paddingTop,py:q.paddingY,px:q.paddingX,pb:q.paddingBottom,pl:q.paddingLeft,ps:q.paddingInlineStart,paddingStart:q.paddingInlineStart,pr:q.paddingRight,pe:q.paddingInlineEnd,paddingEnd:q.paddingInlineEnd});var G={textDecorationColor:R.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:R.shadows("textShadow")},Y={clipPath:!0,transform:R.propT("transform",A.transform),transformOrigin:!0,translateX:R.spaceT("--chakra-translate-x"),translateY:R.spaceT("--chakra-translate-y"),skewX:R.degreeT("--chakra-skew-x"),skewY:R.degreeT("--chakra-skew-y"),scaleX:R.prop("--chakra-scale-x"),scaleY:R.prop("--chakra-scale-y"),scale:R.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:R.degreeT("--chakra-rotate")},X={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:R.prop("transitionDuration","transition.duration"),transitionProperty:R.prop("transitionProperty","transition.property"),transitionTimingFunction:R.prop("transitionTimingFunction","transition.easing")},U={fontFamily:R.prop("fontFamily","fonts"),fontSize:R.prop("fontSize","fontSizes",A.px),fontWeight:R.prop("fontWeight","fontWeights"),lineHeight:R.prop("lineHeight","lineHeights"),letterSpacing:R.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"},isTruncated:{transform(r){if(!0===r)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}}}},55608:function(r,e,t){"use strict";t.d(e,{c0:function(){return C}});var n=t(73808);function o(r){return(0,n.Kn)(r)&&r.reference?r.reference:String(r)}var a=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return t.map(o).join(" "+r+" ").replace(/calc/g,"")},i=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return"calc("+a("+",...e)+")"},s=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return"calc("+a("-",...e)+")"},l=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return"calc("+a("*",...e)+")"},c=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return"calc("+a("/",...e)+")"},u=r=>{var e=o(r);return null==e||Number.isNaN(parseFloat(e))?l(e,-1):String(e).startsWith("-")?String(e).slice(1):"-"+e},d=Object.assign((r=>({add:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return d(i(r,...t))},subtract:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return d(s(r,...t))},multiply:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return d(l(r,...t))},divide:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return d(c(r,...t))},negate:()=>d(u(r)),toString:()=>r.toString()})),{add:i,subtract:s,multiply:l,divide:c,negate:u}),f=t(88456);function p(r){var e=function(r,e){return void 0===e&&(e="-"),r.replace(/\s+/g,e)}(r.toString());return e.includes("\\.")?r:!Number.isInteger(parseFloat(r.toString()))?e.replace(".","\\."):r}function h(r,e){return"var("+p(r)+(e?", "+e:"")+")"}function b(r,e){return void 0===e&&(e=""),"--"+function(r,e){return void 0===e&&(e=""),[e,p(r)].filter(Boolean).join("-")}(r,e)}function g(r,e,t){var n=b(r,t);return{variable:n,reference:h(n,e)}}function m(){return(m=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function v(r,e){var t={cssMap:{},cssVars:{}};return function(r,e){(function r(t,o){return void 0===o&&(o=[]),(0,n.kJ)(t)?t.map(((e,t)=>r(e,[...o,String(t)]))):(0,n.Kn)(t)?Object.fromEntries(Object.entries(t).map((e=>{var[t,n]=e;return[t,r(n,[...o,t])]}))):e(t,o)})(r)}(r,((r,n)=>{var o,[a]=n,i=null!=(o=y[a])?o:y.defaultHandler,{cssVars:s,cssMap:l}=i(n,r,e);Object.assign(t.cssVars,s),Object.assign(t.cssMap,l)})),t}var y={space:(r,e,t)=>{var n=y.defaultHandler(r,e,t),[o,...a]=r,i=o+".-"+a.join("."),s=r.join("-"),{variable:l,reference:c}=g(s,void 0,t.cssVarPrefix),u=d.negate(e),f=d.negate(c);return{cssVars:n.cssVars,cssMap:m({},n.cssMap,{[i]:{value:""+u,var:""+l,varRef:f}})}},defaultHandler:(r,e,t)=>{var n=r.join("."),o=r.join("-"),{variable:a,reference:i}=g(o,void 0,t.cssVarPrefix);return{cssVars:{[a]:e},cssMap:{[n]:{value:e,var:a,varRef:i}}}}},x=t(4651);var w=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur"];function S(r){var e=w;return(0,x.ei)(r,e)}function k(r){return function(r,e){if(null==r)return{};var t,n,o={},a=Object.keys(r);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,["__cssMap","__cssVars","__breakpoints"])}function _(){return(_=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function C(r){var e,t=k(r),n=S(t),o=null==(e=t.config)?void 0:e.cssVarPrefix,{cssMap:a,cssVars:i}=v(n,{cssVarPrefix:o});return Object.assign(t,{__cssVars:_({},{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},i),__cssMap:a,__breakpoints:(0,f.y)(t.breakpoints)}),t}},33565:function(r,e,t){"use strict";t.d(e,{i:function(){return f}});var n=t(73808),o=t(80658),a=t(38554),i=t.n(a),s=t(28680),l=t(25503),c=(r,e)=>r.startsWith("--")&&(0,n.HD)(e)&&!(0,n.FS)(e),u=(r,e)=>{var t,n;if(null==e)return e;var o=e=>{var t,n;return null==(t=r.__cssMap)||null==(n=t[e])?void 0:n.varRef},a=r=>{var e;return null!=(e=o(r))?e:r},i=e.split(",").map((r=>r.trim())),[s,l]=i;return e=null!=(t=null!=(n=o(s))?n:a(l))?t:a(e)};function d(r){var{configs:e={},pseudos:t={},theme:a}=r;return function r(s,l){void 0===l&&(l=!1);var d=(0,o.Pu)(s,a),f=(r=>e=>{if(!e.__breakpoints)return r;var{isResponsive:t,toArrayValue:a,media:i}=e.__breakpoints,s={};for(var l in r){var c=(0,o.Pu)(r[l],e);if(null!=c)if(c=(0,n.Kn)(c)&&t(c)?a(c):c,Array.isArray(c))for(var u=c.slice(0,i.length).length,d=0;d<u;d+=1){var f=null==i?void 0:i[d];f?(s[f]=s[f]||{},null!=c[d]&&(s[f][l]=c[d])):s[l]=c[d]}else s[l]=c}return s})(d)(a),p={};for(var h in f){var b,g,m,v,y,x=f[h],w=(0,o.Pu)(x,a);h in t&&(h=t[h]),c(h,w)&&(w=u(a,w));var S=e[h];if(!0===S&&(S={property:h}),(0,n.Kn)(w)){var k;p[h]=null!=(k=p[h])?k:{},p[h]=i()({},p[h],r(w,!0))}else{var _=null!=(b=null==(g=S)||null==g.transform?void 0:g.transform(w,a,d))?b:w;_=null!=(m=S)&&m.processResult?r(_,!0):_;var C=(0,o.Pu)(null==(v=S)?void 0:v.property,a);if(!l&&null!=(y=S)&&y.static){var A=(0,o.Pu)(S.static,a);p=i()({},p,A)}if(C&&Array.isArray(C))for(var E of C)p[E]=_;else C?"&"===C&&(0,n.Kn)(_)?p=i()({},p,_):p[C]=_:(0,n.Kn)(_)?p=i()({},p,_):p[h]=_}}return p}}var f=r=>e=>d({theme:e,pseudos:s.v,configs:l.Ul})(r)},9421:function(r,e,t){"use strict";t.d(e,{iv:function(){return n.i},isStyleProp:function(){return i.ZR},layoutPropNames:function(){return i.oE},propNames:function(){return i.cC},toCSSVar:function(){return s.c0}});t(13205);var n=t(33565),o=t(41664);t.o(o,"isStyleProp")&&t.d(e,{isStyleProp:function(){return o.isStyleProp}}),t.o(o,"layoutPropNames")&&t.d(e,{layoutPropNames:function(){return o.layoutPropNames}}),t.o(o,"propNames")&&t.d(e,{propNames:function(){return o.propNames}}),t.o(o,"toCSSVar")&&t.d(e,{toCSSVar:function(){return o.toCSSVar}}),t.o(o,"useTheme")&&t.d(e,{useTheme:function(){return o.useTheme}});var a=t(87759);t.o(a,"isStyleProp")&&t.d(e,{isStyleProp:function(){return a.isStyleProp}}),t.o(a,"layoutPropNames")&&t.d(e,{layoutPropNames:function(){return a.layoutPropNames}}),t.o(a,"propNames")&&t.d(e,{propNames:function(){return a.propNames}}),t.o(a,"toCSSVar")&&t.d(e,{toCSSVar:function(){return a.toCSSVar}}),t.o(a,"useTheme")&&t.d(e,{useTheme:function(){return a.useTheme}});var i=t(25503),s=t(55608)},28680:function(r,e,t){"use strict";t.d(e,{v:function(){return d},_:function(){return f}});var n=t(4651),o=r=>r+":focus &, "+r+"[data-focus] &",a=r=>r+":active &, "+r+"[data-active] &",i=r=>r+":disabled &, "+r+"[data-disabled] &",s=r=>r+":invalid &, "+r+"[data-invalid] &",l=r=>r+":checked &, "+r+"[data-checked] &",c=r=>u(r,"[role=group]","[data-group]",".group"),u=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return t.map(r).join(", ")},d={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible",_disabled:"&[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:c((r=>r+":hover &, "+r+"[data-hover] &")),_groupFocus:c(o),_groupActive:c(a),_groupDisabled:c(i),_groupInvalid:c(s),_groupChecked:c(l),_placeholder:"&::placeholder",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &",_mediaDark:"@media (prefers-color-scheme: dark)",_dark:".chakra-ui-dark &, [data-theme=dark] &, &[data-theme=dark]",_light:".chakra-ui-light &, [data-theme=light] &, &[data-theme=light]"},f=(0,n.Yd)(d)},25503:function(r,e,t){"use strict";t.d(e,{Ul:function(){return c},oE:function(){return d},cC:function(){return f},ZR:function(){return h}});var n=t(38554),o=t.n(n),a=t(4651),i=t(13205),s=t(28680);function l(){return(l=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var c=o()({},i.Oq,i.Cg,i.$_,i.GQ,i.bK,i.hX,i.v_,i.Mw,i.eC,i.o_,i.FK,i.cE,i.Dh,i.cp,i.QX,i.vs,i.pb,i.eR),u=Object.assign({},i.Dh,i.bK,i.GQ,i.eC,i.FK),d=(0,a.Yd)(u),f=[...(0,a.Yd)(c),...s._],p=l({},c,s.v),h=r=>r in p},41664:function(){},87759:function(){},29676:function(r,e,t){"use strict";t.d(e,{f6:function(){return d},Fg:function(){return f},Fo:function(){return p},yK:function(){return h},ZL:function(){return b}});var n=t(24738),o=t(9421),a=t(4651),i=t(80658),s=t(28500),l=t(30495),c=t(70917),u=t(67294),d=r=>{var{cssVarsRoot:e=":host, :root",theme:t,children:n}=r,a=u.useMemo((()=>(0,o.toCSSVar)(t)),[t]);return u.createElement(l.a,{theme:a},u.createElement(c.Global,{styles:r=>({[e]:r.__cssVars})}),n)};function f(){var r=u.useContext(l.T);if(!r)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`");return r}var[p,h]=(0,s.k)({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` "}),b=()=>{var{colorMode:r}=(0,n.If)();return u.createElement(c.Global,{styles:e=>{var t=(0,a.Wf)(e,"styles.global"),n=(0,i.Pu)(t,{theme:e,colorMode:r});if(n)return(0,o.iv)(n)(e)}})}},63108:function(r,e,t){"use strict";function n(r,e){return t=>"dark"===t.colorMode?e:r}function o(r){var{orientation:e,vertical:t,horizontal:n}=r;return e?"vertical"===e?t:n:{}}t.d(e,{xJ:function(){return n},fL:function(){return o}})},83035:function(r,e,t){"use strict";t.d(e,{Z:function(){return Be}});var n={parts:["container","button","panel","icon"],baseStyle:{container:{borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},button:{transitionProperty:"common",transitionDuration:"normal",fontSize:"1rem",_focus:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:4,py:2},panel:{pt:2,px:4,pb:5},icon:{fontSize:"1.25em"}}},o=t(17621),a=t.n(o),i=t(4651),s=t(73808),l=(r,e,t)=>{var n=(0,i.Wf)(r,"colors."+e,e);return a()(n).isValid()?n:t},c=r=>e=>{var t=l(e,r);return a()(t).isDark()?"dark":"light"},u=(r,e)=>t=>{var n=l(t,r);return a()(n).setAlpha(e).toRgbString()};function d(r,e){return void 0===r&&(r="1rem"),void 0===e&&(e="rgba(255, 255, 255, 0.15)"),{backgroundImage:"linear-gradient(\n    45deg,\n    "+e+" 25%,\n    transparent 25%,\n    transparent 50%,\n    "+e+" 50%,\n    "+e+" 75%,\n    transparent 75%,\n    transparent\n  )",backgroundSize:r+" "+r}}function f(r){var e=a().random().toHexString();return!r||(0,s.Qr)(r)?e:r.string&&r.colors?function(r,e){var t=0;if(0===r.length)return e[0];for(var n=0;n<r.length;n+=1)t=r.charCodeAt(n)+((t<<5)-t),t&=t;return t=(t%e.length+e.length)%e.length,e[t]}(r.string,r.colors):r.string&&!r.colors?function(r){var e=0;if(0===r.length)return e.toString();for(var t=0;t<r.length;t+=1)e=r.charCodeAt(t)+((e<<5)-e),e&=e;for(var n="#",o=0;o<3;o+=1){n+=("00"+(e>>8*o&255).toString(16)).substr(-2)}return n}(r.string):r.colors&&!r.string?function(r){return r[Math.floor(Math.random()*r.length)]}(r.colors):e}var p=t(63108);function h(r){var{theme:e,colorScheme:t}=r,n=l(e,t+".100",t),o=u(t+".200",.16)(e);return(0,p.xJ)(n,o)(r)}var b={parts:["container","title","description","icon"],baseStyle:{container:{px:4,py:3},title:{fontWeight:"bold",lineHeight:6,marginEnd:2},description:{lineHeight:6},icon:{flexShrink:0,marginEnd:3,w:5,h:6}},variants:{subtle:function(r){var{colorScheme:e}=r;return{container:{bg:h(r)},icon:{color:(0,p.xJ)(e+".500",e+".200")(r)}}},"left-accent":function(r){var{colorScheme:e}=r;return{container:{paddingStart:3,borderStartWidth:"4px",borderStartColor:(0,p.xJ)(e+".500",e+".200")(r),bg:h(r)},icon:{color:(0,p.xJ)(e+".500",e+".200")(r)}}},"top-accent":function(r){var{colorScheme:e}=r;return{container:{pt:2,borderTopWidth:"4px",borderTopColor:(0,p.xJ)(e+".500",e+".200")(r),bg:h(r)},icon:{color:(0,p.xJ)(e+".500",e+".200")(r)}}},solid:function(r){var{colorScheme:e}=r;return{container:{bg:(0,p.xJ)(e+".500",e+".200")(r),color:(0,p.xJ)("white","gray.900")(r)}}}},defaultProps:{variant:"subtle",colorScheme:"blue"}},g=t(54681);function m(r){return{transform:"translate(25%, 25%)",borderRadius:"full",border:"0.2em solid",borderColor:(0,p.xJ)("white","gray.800")(r)}}function v(r){return{bg:(0,p.xJ)("gray.200","whiteAlpha.400")(r)}}function y(r){var{name:e,theme:t}=r,n=e?f({string:e}):"gray.400",o=(r=>e=>"dark"===c(r)(e))(n)(t),a="white";return o||(a="gray.800"),{bg:n,color:a,borderColor:(0,p.xJ)("white","gray.800")(r),verticalAlign:"top"}}function x(r){var e=g.Z[r];return{container:{width:r,height:r,fontSize:"calc("+(null!=e?e:r)+" / 2.5)"},excessLabel:{width:r,height:r},label:{fontSize:"calc("+(null!=e?e:r)+" / 2.5)",lineHeight:"100%"!==r?null!=e?e:r:void 0}}}var w={parts:["container","excessLabel","badge","label"],baseStyle:r=>({badge:m(r),excessLabel:v(r),container:y(r)}),sizes:{"2xs":x("4"),xs:x("6"),sm:x("8"),md:x("12"),lg:x("16"),xl:x("24"),"2xl":x("32"),full:x("100%")},defaultProps:{size:"md"}};var S={baseStyle:{px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},variants:{solid:function(r){var{colorScheme:e,theme:t}=r,n=u(e+".500",.6)(t);return{bg:(0,p.xJ)(e+".500",n)(r),color:(0,p.xJ)("white","whiteAlpha.800")(r)}},subtle:function(r){var{colorScheme:e,theme:t}=r,n=u(e+".200",.16)(t);return{bg:(0,p.xJ)(e+".100",n)(r),color:(0,p.xJ)(e+".800",e+".200")(r)}},outline:function(r){var{colorScheme:e,theme:t}=r,n=u(e+".200",.8)(t),o=l(t,e+".500"),a=(0,p.xJ)(o,n)(r);return{color:a,boxShadow:"inset 0 0 0px 1px "+a}}},defaultProps:{variant:"subtle",colorScheme:"gray"}},k={parts:["container","item","link","separator"],baseStyle:{link:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focus:{boxShadow:"outline"}}}};function _(){return(_=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function C(r){var{colorScheme:e,theme:t}=r;if("gray"===e)return{color:(0,p.xJ)("inherit","whiteAlpha.900")(r),_hover:{bg:(0,p.xJ)("gray.100","whiteAlpha.200")(r)},_active:{bg:(0,p.xJ)("gray.200","whiteAlpha.300")(r)}};var n=u(e+".200",.12)(t),o=u(e+".200",.24)(t);return{color:(0,p.xJ)(e+".600",e+".200")(r),bg:"transparent",_hover:{bg:(0,p.xJ)(e+".50",n)(r)},_active:{bg:(0,p.xJ)(e+".100",o)(r)}}}var A={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}};var E={baseStyle:{lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focus:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}},variants:{ghost:C,outline:function(r){var{colorScheme:e}=r,t=(0,p.xJ)("gray.200","whiteAlpha.300")(r);return _({border:"1px solid",borderColor:"gray"===e?t:"currentColor"},C(r))},solid:function(r){var{colorScheme:e}=r;if("gray"===e){var t=(0,p.xJ)("gray.100","whiteAlpha.200")(r);return{bg:t,_hover:{bg:(0,p.xJ)("gray.200","whiteAlpha.300")(r),_disabled:{bg:t}},_active:{bg:(0,p.xJ)("gray.300","whiteAlpha.400")(r)}}}var{bg:n=e+".500",color:o="white",hoverBg:a=e+".600",activeBg:i=e+".700"}=A[e]||{},s=(0,p.xJ)(n,e+".200")(r);return{bg:s,color:(0,p.xJ)(o,"gray.800")(r),_hover:{bg:(0,p.xJ)(a,e+".300")(r),_disabled:{bg:s}},_active:{bg:(0,p.xJ)(i,e+".400")(r)}}},link:function(r){var{colorScheme:e}=r;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:(0,p.xJ)(e+".500",e+".200")(r),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:(0,p.xJ)(e+".700",e+".500")(r)}}},unstyled:{bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:0,p:0}},sizes:{lg:{h:12,minW:12,fontSize:"lg",px:6},md:{h:10,minW:10,fontSize:"md",px:4},sm:{h:8,minW:8,fontSize:"sm",px:3},xs:{h:6,minW:6,fontSize:"xs",px:2}},defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}};function z(r){var{colorScheme:e}=r;return{w:"100%",transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:(0,p.xJ)(e+".500",e+".200")(r),borderColor:(0,p.xJ)(e+".500",e+".200")(r),color:(0,p.xJ)("white","gray.900")(r),_hover:{bg:(0,p.xJ)(e+".600",e+".300")(r),borderColor:(0,p.xJ)(e+".600",e+".300")(r)},_disabled:{borderColor:(0,p.xJ)("gray.200","transparent")(r),bg:(0,p.xJ)("gray.200","whiteAlpha.300")(r),color:(0,p.xJ)("gray.500","whiteAlpha.500")(r)}},_indeterminate:{bg:(0,p.xJ)(e+".500",e+".200")(r),borderColor:(0,p.xJ)(e+".500",e+".200")(r),color:(0,p.xJ)("white","gray.900")(r)},_disabled:{bg:(0,p.xJ)("gray.100","whiteAlpha.100")(r),borderColor:(0,p.xJ)("gray.100","transparent")(r)},_focus:{boxShadow:"outline"},_invalid:{borderColor:(0,p.xJ)("red.500","red.300")(r)}}}var R={userSelect:"none",_disabled:{opacity:.4}},B={transitionProperty:"transform",transitionDuration:"normal"},j={parts:["container","control","label","icon"],baseStyle:r=>({icon:B,control:z(r),label:R}),sizes:{sm:{control:{h:3,w:3},label:{fontSize:"sm"},icon:{fontSize:"0.45rem"}},md:{control:{w:4,h:4},label:{fontSize:"md"},icon:{fontSize:"0.625rem"}},lg:{control:{w:5,h:5},label:{fontSize:"lg"},icon:{fontSize:"0.625rem"}}},defaultProps:{size:"md",colorScheme:"blue"}};var O={baseStyle:function(r){return{borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{bg:(0,p.xJ)("blackAlpha.100","whiteAlpha.100")(r)},_active:{bg:(0,p.xJ)("blackAlpha.200","whiteAlpha.200")(r)},_focus:{boxShadow:"outline"}}},sizes:{lg:{w:"40px",h:"40px",fontSize:"16px"},md:{w:"32px",h:"32px",fontSize:"12px"},sm:{w:"24px",h:"24px",fontSize:"10px"}},defaultProps:{size:"md"}},{variants:T,defaultProps:F}=S,P={baseStyle:{fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},variants:T,defaultProps:F},I={baseStyle:{w:"100%",mx:"auto",maxW:"60ch",px:"1rem"}},M={baseStyle:{opacity:.6,borderColor:"inherit"},variants:{solid:{borderStyle:"solid"},dashed:{borderStyle:"dashed"}},defaultProps:{variant:"solid"}},D={bg:"blackAlpha.600",zIndex:"modal"};function W(r){var{isCentered:e,scrollBehavior:t}=r;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:e?"center":"flex-start",overflow:"inside"===t?"hidden":"auto"}}function J(r){var{scrollBehavior:e}=r;return{borderRadius:"md",bg:(0,p.xJ)("white","gray.700")(r),color:"inherit",my:"3.75rem",zIndex:"modal",maxH:"inside"===e?"calc(100% - 7.5rem)":void 0,boxShadow:(0,p.xJ)("lg","dark-lg")(r)}}var N={px:6,py:4,fontSize:"xl",fontWeight:"semibold"},H={position:"absolute",top:2,insetEnd:3};function L(r){var{scrollBehavior:e}=r;return{px:6,py:2,flex:1,overflow:"inside"===e?"auto":void 0}}var $={px:6,py:4};function Z(r){return"full"===r?{dialog:{maxW:"100vw",minH:"100vh"}}:{dialog:{maxW:r}}}var V={parts:["overlay","dialogContainer","dialog","header","closeButton","body","footer"],baseStyle:r=>({overlay:D,dialogContainer:W(r),dialog:J(r),header:N,closeButton:H,body:L(r),footer:$}),sizes:{xs:Z("xs"),sm:Z("sm"),md:Z("md"),lg:Z("lg"),xl:Z("xl"),"2xl":Z("2xl"),"3xl":Z("3xl"),"4xl":Z("4xl"),"5xl":Z("5xl"),"6xl":Z("6xl"),full:Z("full")},defaultProps:{size:"md"}};function q(){return(q=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function G(r){return"full"===r?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:r}}}var Y={bg:"blackAlpha.600",zIndex:"overlay"},X={display:"flex",zIndex:"modal",justifyContent:"center"};function U(r){var{isFullHeight:e}=r;return q({},e&&{height:"100vh"},{zIndex:"modal",maxH:"100vh",bg:(0,p.xJ)("white","gray.700")(r),color:"inherit",boxShadow:(0,p.xJ)("lg","dark-lg")(r)})}var K={px:6,py:4,fontSize:"xl",fontWeight:"semibold"},Q={position:"absolute",top:2,insetEnd:3},rr={px:6,py:2,flex:1,overflow:"auto"},er={px:6,py:4},tr={parts:V.parts,baseStyle:r=>({overlay:Y,dialogContainer:X,dialog:U(r),header:K,closeButton:Q,body:rr,footer:er}),sizes:{xs:G("xs"),sm:G("md"),md:G("lg"),lg:G("2xl"),xl:G("4xl"),full:G("full")},defaultProps:{size:"xs"}},nr={parts:["preview","input"],baseStyle:{preview:{borderRadius:"md",py:"3px",transitionProperty:"common",transitionDuration:"normal"},input:{borderRadius:"md",py:"3px",transitionProperty:"common",transitionDuration:"normal",width:"full",_focus:{boxShadow:"outline"},_placeholder:{opacity:.6}}}};function or(r){return{marginStart:1,color:(0,p.xJ)("red.500","red.300")(r)}}function ar(r){return{mt:2,color:(0,p.xJ)("gray.500","whiteAlpha.600")(r),lineHeight:"normal",fontSize:"sm"}}var ir={parts:["requiredIndicator","helperText"],baseStyle:r=>({requiredIndicator:or(r),helperText:ar(r)})},sr={baseStyle:{fontSize:"md",marginEnd:3,mb:2,fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}}},lr={baseStyle:{fontFamily:"heading",fontWeight:"bold"},sizes:{"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},defaultProps:{size:"xl"}},cr={lg:{fontSize:"lg",px:4,h:12,borderRadius:"md"},md:{fontSize:"md",px:4,h:10,borderRadius:"md"},sm:{fontSize:"sm",px:3,h:8,borderRadius:"sm"},xs:{fontSize:"xs",px:2,h:6,borderRadius:"sm"}};function ur(r){var{focusBorderColor:e,errorBorderColor:t}=r;return{focusBorderColor:e||(0,p.xJ)("blue.500","blue.300")(r),errorBorderColor:t||(0,p.xJ)("red.500","red.300")(r)}}var dr={parts:["field","addon"],baseStyle:{field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal"}},sizes:{lg:{field:cr.lg,addon:cr.lg},md:{field:cr.md,addon:cr.md},sm:{field:cr.sm,addon:cr.sm},xs:{field:cr.xs,addon:cr.xs}},variants:{outline:function(r){var{theme:e}=r,{focusBorderColor:t,errorBorderColor:n}=ur(r);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:(0,p.xJ)("gray.300","whiteAlpha.400")(r)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_disabled:{opacity:.4,cursor:"not-allowed"},_invalid:{borderColor:l(e,n),boxShadow:"0 0 0 1px "+l(e,n)},_focus:{zIndex:1,borderColor:l(e,t),boxShadow:"0 0 0 1px "+l(e,t)}},addon:{border:"1px solid",borderColor:(0,p.xJ)("inherit","whiteAlpha.50")(r),bg:(0,p.xJ)("gray.100","whiteAlpha.300")(r)}}},filled:function(r){var{theme:e}=r,{focusBorderColor:t,errorBorderColor:n}=ur(r);return{field:{border:"2px solid",borderColor:"transparent",bg:(0,p.xJ)("gray.100","whiteAlpha.50")(r),_hover:{bg:(0,p.xJ)("gray.200","whiteAlpha.100")(r)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_disabled:{opacity:.4,cursor:"not-allowed"},_invalid:{borderColor:l(e,n)},_focus:{bg:"transparent",borderColor:l(e,t)}},addon:{border:"2px solid",borderColor:"transparent",bg:(0,p.xJ)("gray.100","whiteAlpha.50")(r)}}},flushed:function(r){var{theme:e}=r,{focusBorderColor:t,errorBorderColor:n}=ur(r);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:0,px:0,bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:l(e,n),boxShadow:"0px 1px 0px 0px "+l(e,n)},_focus:{borderColor:l(e,t),boxShadow:"0px 1px 0px 0px "+l(e,t)}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:0,px:0,bg:"transparent"}}},unstyled:{field:{bg:"transparent",px:0,height:"auto"},addon:{bg:"transparent",px:0,height:"auto"}}},defaultProps:{size:"md",variant:"outline"}};var fr={baseStyle:function(r){return{bg:(0,p.xJ)("gray.100","whiteAlpha")(r),borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"}}},pr={baseStyle:{transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focus:{boxShadow:"outline"}}},hr={parts:["container","item","icon"],baseStyle:{container:{},item:{},icon:{marginEnd:"0.5rem",display:"inline",verticalAlign:"text-bottom"}}};function br(r){return{bg:(0,p.xJ)("#fff","gray.700")(r),boxShadow:(0,p.xJ)("sm","dark-lg")(r),color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px"}}function gr(r){return{py:"0.4rem",px:"0.8rem",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{bg:(0,p.xJ)("gray.100","whiteAlpha.100")(r)},_active:{bg:(0,p.xJ)("gray.200","whiteAlpha.200")(r)},_expanded:{bg:(0,p.xJ)("gray.100","whiteAlpha.100")(r)},_disabled:{opacity:.4,cursor:"not-allowed"}}}var mr,vr={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},yr={opacity:.6},xr={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"0.5rem",opacity:.6},wr={transitionProperty:"common",transitionDuration:"normal"},Sr={parts:["item","command","list","button","groupTitle","divider"],baseStyle:r=>({button:wr,list:br(r),item:gr(r),groupTitle:vr,command:yr,divider:xr})},kr=t(35268);function _r(){return(_r=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var{variants:Cr,defaultProps:Ar}=dr,Er={"--number-input-stepper-width":"24px","--number-input-field-padding":"calc(var(--number-input-stepper-width) + 0.5rem)"},zr=null==(mr=dr.baseStyle)?void 0:mr.field,Rr={width:"var(--number-input-stepper-width)"};function Br(r){return{borderStart:"1px solid",borderStartColor:(0,p.xJ)("inherit","whiteAlpha.300")(r),color:(0,p.xJ)("inherit","whiteAlpha.800")(r),_active:{bg:(0,p.xJ)("gray.200","whiteAlpha.300")(r)},_disabled:{opacity:.4,cursor:"not-allowed"}}}function jr(r){var e=dr.sizes[r],t={lg:"md",md:"md",sm:"sm",xs:"sm"},n=kr.Z.fontSizes[e.field.fontSize];return{field:_r({},e.field,{paddingInlineEnd:"var(--number-input-field-padding)",verticalAlign:"top"}),stepper:{fontSize:"calc("+n+" * 0.75)",_first:{borderTopEndRadius:t[r]},_last:{borderBottomEndRadius:t[r],mt:"-1px",borderTopWidth:1}}}}var Or={parts:["root","field","stepper","stepperGroup"],baseStyle:r=>({root:Er,field:zr,stepperGroup:Rr,stepper:Br(r)}),sizes:{xs:jr("xs"),sm:jr("sm"),md:jr("md"),lg:jr("lg")},variants:Cr,defaultProps:Ar};function Tr(){return(Tr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var Fr={baseStyle:Tr({},dr.baseStyle.field,{textAlign:"center"}),sizes:{lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},variants:{outline:r=>dr.variants.outline(r).field,flushed:r=>dr.variants.flushed(r).field,filled:r=>dr.variants.filled(r).field,unstyled:dr.variants.unstyled.field},defaultProps:dr.defaultProps},Pr={zIndex:10};function Ir(r){return{"--popover-bg":"colors."+(0,p.xJ)("white","gray.700")(r),bg:"var(--popover-bg)","--popper-arrow-bg":"var(--popover-bg)","--popper-arrow-shadow-color":"colors."+(0,p.xJ)("gray.200","whiteAlpha.300")(r),width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focus:{outline:0,boxShadow:"outline"}}}var Mr={px:3,py:2,borderBottomWidth:"1px"},Dr={px:3,py:2},Wr={px:3,py:2,borderTopWidth:"1px"},Jr={parts:["popper","content","header","body","footer","arrow"],baseStyle:r=>({popper:Pr,content:Ir(r),header:Mr,body:Dr,footer:Wr,arrow:{}})};function Nr(){return(Nr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var Hr={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"};function Lr(r){return{bg:(0,p.xJ)("gray.100","whiteAlpha.300")(r)}}function $r(r){return Nr({transitionProperty:"common",transitionDuration:"slow"},function(r){var{colorScheme:e,theme:t,isIndeterminate:n,hasStripe:o}=r,a=(0,p.xJ)(d(),d("1rem","rgba(0,0,0,0.1)"))(r),i=(0,p.xJ)(e+".500",e+".200")(r),s="linear-gradient(\n    to right,\n    transparent 0%,\n    "+l(t,i)+" 50%,\n    transparent 100%\n  )";return Nr({},!n&&o&&a,n?{bgImage:s}:{bgColor:i})}(r))}var Zr={parts:["track","filledTrack","label"],sizes:{xs:{track:{h:"0.25rem"}},sm:{track:{h:"0.5rem"}},md:{track:{h:"0.75rem"}},lg:{track:{h:"1rem"}}},baseStyle:r=>({label:Hr,filledTrack:$r(r),track:Lr(r)}),defaultProps:{size:"md",colorScheme:"blue"}};function Vr(){return(Vr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function qr(r){var{control:e}=j.baseStyle(r);return Vr({},e,{borderRadius:"full",_checked:Vr({},e._checked,{_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}})})}var Gr={parts:["container","control","label"],baseStyle:r=>({label:j.baseStyle(r).label,control:qr(r)}),sizes:{md:{control:{w:4,h:4},label:{fontSize:"md"}},lg:{control:{w:5,h:5},label:{fontSize:"lg"}},sm:{control:{width:3,height:3},label:{fontSize:"sm"}}},defaultProps:{size:"md",colorScheme:"blue"}},Yr=t(38554);function Xr(){return(Xr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function Ur(r){return Xr({},dr.baseStyle.field,{appearance:"none",paddingBottom:"1px",lineHeight:"normal","> option, > optgroup":{bg:(0,p.xJ)("white","gray.700")(r)}})}var Kr={width:"1.5rem",height:"100%",insetEnd:"0.5rem",position:"relative",color:"currentColor",fontSize:"1.25rem",_disabled:{opacity:.5}},Qr={parts:["field","icon"],baseStyle:r=>({field:Ur(r),icon:Kr}),sizes:t.n(Yr)()({},dr.sizes,{xs:{icon:{insetEnd:"0.25rem"}}}),variants:dr.variants,defaultProps:dr.defaultProps},re=t(70917),ee=(r,e)=>(0,re.keyframes)({from:{borderColor:r,background:r},to:{borderColor:e,background:e}}),te={baseStyle:r=>{var e=(0,p.xJ)("gray.100","gray.800")(r),t=(0,p.xJ)("gray.400","gray.600")(r),{startColor:n=e,endColor:o=t,speed:a,theme:i}=r,s=l(i,n),c=l(i,o);return{opacity:.7,borderRadius:"2px",borderColor:s,background:c,animation:a+"s linear infinite alternate "+ee(s,c)}}},ne={baseStyle:r=>({borderRadius:"md",fontWeight:"semibold",_focus:{boxShadow:"outline",padding:"1rem",position:"fixed",top:"1.5rem",insetStart:"1.5rem",bg:(0,p.xJ)("white","gray.700")(r)}})};function oe(){return(oe=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var ae=r=>{var{orientation:e}=r;return oe({_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"}},(0,p.fL)({orientation:e,vertical:{h:"100%"},horizontal:{w:"100%"}}))};function ie(r){return{borderRadius:"sm",bg:(0,p.xJ)("gray.200","whiteAlpha.200")(r),_disabled:{bg:(0,p.xJ)("gray.300","whiteAlpha.300")(r)}}}function se(r){return oe({zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focus:{boxShadow:"outline"},_disabled:{bg:"gray.300"}},function(r){return(0,p.fL)({orientation:r.orientation,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}})}(r))}function le(r){var{colorScheme:e}=r;return{bg:(0,p.xJ)(e+".500",e+".200")(r)}}var ce={parts:["container","thumb","track","filledTrack"],sizes:{lg:function(r){return{thumb:{w:"16px",h:"16px"},track:(0,p.fL)({orientation:r.orientation,horizontal:{h:"4px"},vertical:{w:"4px"}})}},md:function(r){return{thumb:{w:"14px",h:"14px"},track:(0,p.fL)({orientation:r.orientation,horizontal:{h:"4px"},vertical:{w:"4px"}})}},sm:function(r){return{thumb:{w:"10px",h:"10px"},track:(0,p.fL)({orientation:r.orientation,horizontal:{h:"2px"},vertical:{w:"2px"}})}}},baseStyle:r=>({container:ae(r),track:ie(r),thumb:se(r),filledTrack:le(r)}),defaultProps:{size:"md",colorScheme:"blue"}},ue={baseStyle:{width:"var(--spinner-size)",height:"var(--spinner-size)"},sizes:{xs:{"--spinner-size":"0.75rem"},sm:{"--spinner-size":"1rem"},md:{"--spinner-size":"1.5rem"},lg:{"--spinner-size":"2rem"},xl:{"--spinner-size":"3rem"}},defaultProps:{size:"md"}},de={parts:["label","number","icon","helpText"],baseStyle:{label:{fontWeight:"medium"},helpText:{opacity:.8,marginBottom:2},number:{verticalAlign:"baseline",fontWeight:"semibold"},icon:{marginEnd:1,w:"14px",h:"14px",verticalAlign:"middle"}},sizes:{md:{label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}}},defaultProps:{size:"md"}};function fe(r){var{colorScheme:e}=r;return{borderRadius:"full",p:"2px",width:"var(--slider-track-width)",height:"var(--slider-track-height)",transitionProperty:"common",transitionDuration:"fast",bg:(0,p.xJ)("gray.300","whiteAlpha.400")(r),_focus:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{bg:(0,p.xJ)(e+".500",e+".200")(r)}}}var pe={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:"var(--slider-track-height)",height:"var(--slider-track-height)",_checked:{transform:"translateX(var(--slider-thumb-x))"}},he={parts:["container","track","thumb"],baseStyle:r=>({container:{"--slider-track-diff":"calc(var(--slider-track-width) - var(--slider-track-height))","--slider-thumb-x":"var(--slider-track-diff)",_rtl:{"--slider-thumb-x":"calc(-1 * var(--slider-track-diff))"}},track:fe(r),thumb:pe}),sizes:{sm:{container:{"--slider-track-width":"1.375rem","--slider-track-height":"0.75rem"}},md:{container:{"--slider-track-width":"1.875rem","--slider-track-height":"1rem"}},lg:{container:{"--slider-track-width":"2.875rem","--slider-track-height":"1.5rem"}}},defaultProps:{size:"md",colorScheme:"blue"}};function be(){return(be=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var ge={"&[data-is-numeric=true]":{textAlign:"end"}},me={parts:["table","thead","tbody","tr","th","td","caption"],baseStyle:{table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}},variants:{simple:r=>{var{colorScheme:e}=r;return{th:be({color:(0,p.xJ)("gray.600","gray.400")(r),borderBottom:"1px",borderColor:(0,p.xJ)(e+".100",e+".700")(r)},ge),td:be({borderBottom:"1px",borderColor:(0,p.xJ)(e+".100",e+".700")(r)},ge),caption:{color:(0,p.xJ)("gray.600","gray.100")(r)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}},striped:r=>{var{colorScheme:e}=r;return{th:be({color:(0,p.xJ)("gray.600","gray.400")(r),borderBottom:"1px",borderColor:(0,p.xJ)(e+".100",e+".700")(r)},ge),td:be({borderBottom:"1px",borderColor:(0,p.xJ)(e+".100",e+".700")(r)},ge),caption:{color:(0,p.xJ)("gray.600","gray.100")(r)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:(0,p.xJ)(e+".100",e+".700")(r)},td:{background:(0,p.xJ)(e+".100",e+".700")(r)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}},unstyled:{}},sizes:{sm:{th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}},md:{th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}},lg:{th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}}},defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}};function ve(r){var{orientation:e}=r;return{display:"vertical"===e?"flex":"block"}}function ye(r){var{isFitted:e}=r;return{flex:e?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focus:{zIndex:1,boxShadow:"outline"}}}function xe(r){var{align:e="start",orientation:t}=r;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[e],flexDirection:"vertical"===t?"column":"row"}}var we={p:4};var Se={parts:["root","tablist","tab","tabpanels","tabpanel","indicator"],baseStyle:r=>({root:ve(r),tab:ye(r),tablist:xe(r),tabpanel:we}),sizes:{sm:{tab:{py:1,px:4,fontSize:"sm"}},md:{tab:{fontSize:"md",py:2,px:4}},lg:{tab:{fontSize:"lg",py:3,px:4}}},variants:{line:function(r){var{colorScheme:e,orientation:t}=r,n="vertical"===t?"borderStart":"borderBottom";return{tablist:{[n]:"2px solid",borderColor:"inherit"},tab:{[n]:"2px solid",borderColor:"transparent",["vertical"===t?"marginStart":"marginBottom"]:"-2px",_selected:{color:(0,p.xJ)(e+".600",e+".300")(r),borderColor:"currentColor"},_active:{bg:(0,p.xJ)("gray.200","whiteAlpha.300")(r)},_disabled:{opacity:.4,cursor:"not-allowed"}}}},enclosed:function(r){var{colorScheme:e}=r;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",_selected:{color:(0,p.xJ)(e+".600",e+".300")(r),borderColor:"inherit",borderBottomColor:(0,p.xJ)("white","gray.800")(r)}},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}},"enclosed-colored":function(r){var{colorScheme:e}=r;return{tab:{border:"1px solid",borderColor:"inherit",bg:(0,p.xJ)("gray.50","whiteAlpha.50")(r),mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{bg:(0,p.xJ)("#fff","gray.800")(r),color:(0,p.xJ)(e+".600",e+".300")(r),borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"}},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}},"soft-rounded":function(r){var{colorScheme:e,theme:t}=r;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:l(t,e+".700"),bg:l(t,e+".100")}}}},"solid-rounded":function(r){var{colorScheme:e}=r;return{tab:{borderRadius:"full",fontWeight:"semibold",color:(0,p.xJ)("gray.600","inherit")(r),_selected:{color:(0,p.xJ)("#fff","gray.800")(r),bg:(0,p.xJ)(e+".600",e+".300")(r)}}}},unstyled:{}},defaultProps:{size:"md",variant:"line",colorScheme:"blue"}},ke={parts:["container","label","closeButton"],variants:{subtle:r=>({container:S.variants.subtle(r)}),solid:r=>({container:S.variants.solid(r)}),outline:r=>({container:S.variants.outline(r)})},baseStyle:{container:{fontWeight:"medium",lineHeight:1.2,outline:0,_focus:{boxShadow:"outline"}},label:{lineHeight:1.2},closeButton:{fontSize:"18px",w:"1.25rem",h:"1.25rem",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"0.375rem",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focus:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}}},sizes:{sm:{container:{minH:"1.25rem",minW:"1.25rem",fontSize:"xs",px:2,borderRadius:"md"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}},md:{container:{minH:"1.5rem",minW:"1.5rem",fontSize:"sm",borderRadius:"md",px:2}},lg:{container:{minH:8,minW:8,fontSize:"md",borderRadius:"md",px:3}}},defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}};function _e(){return(_e=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var Ce=_e({},dr.baseStyle.field,{paddingY:"8px",minHeight:"80px",lineHeight:"short",verticalAlign:"top"}),Ae={outline:r=>dr.variants.outline(r).field,flushed:r=>dr.variants.flushed(r).field,filled:r=>dr.variants.filled(r).field,unstyled:dr.variants.unstyled.field},Ee={xs:dr.sizes.xs.field,sm:dr.sizes.sm.field,md:dr.sizes.md.field,lg:dr.sizes.lg.field};function ze(r){return{color:(0,p.xJ)("red.500","red.300")(r),mt:2,fontSize:"sm"}}function Re(r){return{marginEnd:"0.5em",color:(0,p.xJ)("red.500","red.300")(r)}}var Be={Accordion:n,Alert:b,Avatar:w,Badge:S,Breadcrumb:k,Button:E,Checkbox:j,CloseButton:O,Code:P,Container:I,Divider:M,Drawer:tr,Editable:nr,Form:ir,FormLabel:sr,Heading:lr,Input:dr,Kbd:fr,Link:pr,List:hr,Menu:Sr,Modal:V,NumberInput:Or,PinInput:Fr,Popover:Jr,Progress:Zr,Radio:Gr,Select:Qr,Skeleton:te,SkipLink:ne,Slider:ce,Spinner:ue,Stat:de,Switch:he,Table:me,Tabs:Se,Tag:ke,Textarea:{baseStyle:Ce,sizes:Ee,variants:Ae,defaultProps:{size:"md",variant:"outline"}},Tooltip:{baseStyle:function(r){return{"--tooltip-bg":"colors."+(0,p.xJ)("gray.700","gray.300")(r),px:"8px",py:"2px",bg:"var(--tooltip-bg)","--popper-arrow-bg":"var(--tooltip-bg)",color:(0,p.xJ)("whiteAlpha.900","gray.900")(r),borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"320px",zIndex:"tooltip"}}},FormError:{parts:["text","icon"],baseStyle:r=>({text:ze(r),icon:Re(r)})}}},42009:function(r,e,t){"use strict";t.d(e,{Z:function(){return b}});var n={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},o=t(80658);function a(){return(a=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var i,s=(i={sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},(0,o.ZK)({condition:!0,message:["[chakra-ui]: createBreakpoints(...) will be deprecated pretty soon","simply pass the breakpoints as an object. Remove the createBreakpoint(..) call"].join("")}),a({base:"0em"},i)),l={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},c={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},u={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},d=t(54681),f=t(54514),p={property:{common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},easing:{"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},duration:{"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"}};function h(){return(h=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var b=h({breakpoints:s,zIndices:{hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},radii:c,blur:{none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},colors:l},t(35268).Z,{sizes:d.Z,shadows:u,space:f.W,borders:n,transition:p})},54681:function(r,e,t){"use strict";function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var o=n({},t(54514).W,{max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem"},{container:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"}});e.Z=o},54514:function(r,e,t){"use strict";t.d(e,{W:function(){return n}});var n={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"}},35268:function(r,e){"use strict";e.Z={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}}},84806:function(r,e,t){"use strict";var n=t(83035),o=t(42009),a=t(41926),i=t(93025);function s(){return(s=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}t.o(i,"useTheme")&&t.d(e,{useTheme:function(){return i.useTheme}});var l=s({direction:"ltr"},o.Z,{components:n.Z,styles:a.Z,config:{useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"}});e.Z=l},41926:function(r,e,t){"use strict";var n=t(63108),o={global:r=>({body:{fontFamily:"body",color:(0,n.xJ)("gray.800","whiteAlpha.900")(r),bg:(0,n.xJ)("white","gray.800")(r),transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:(0,n.xJ)("gray.400","whiteAlpha.400")(r)},"*, *::before, &::after":{borderColor:(0,n.xJ)("gray.200","whiteAlpha.300")(r),wordWrap:"break-word"}})};e.Z=o},93025:function(){},27277:function(r,e,t){"use strict";function n(r){var e=null==r?0:r.length;return e?r[e-1]:void 0}function o(r,e){return[...r,e]}function a(r,e){return r.filter((r=>r!==e))}function i(r,e,t,n){if(null==e)return n;if(!n)return r.find((r=>t(r).toLowerCase().startsWith(e.toLowerCase())));var o,a=r.filter((r=>t(r).toLowerCase().startsWith(e.toLowerCase())));return a.length>0?a.includes(n)?((o=a.indexOf(n)+1)===a.length&&(o=0),a[o]):(o=r.indexOf(a[0]),r[o]):n}t.d(e,{s:function(){return n},jX:function(){return o},cl:function(){return a},LP:function(){return i}})},73808:function(r,e,t){"use strict";function n(r){return"number"===typeof r}function o(r){return"number"!==typeof r||Number.isNaN(r)||!Number.isFinite(r)}function a(r){return Array.isArray(r)}function i(r){return"function"===typeof r}function s(r){return"undefined"===typeof r||void 0===r}function l(r){var e=typeof r;return null!=r&&("object"===e||"function"===e)&&!a(r)}function c(r){return l(r)&&0===Object.keys(r).length}function u(r){return"[object String]"===Object.prototype.toString.call(r)}function d(r){return/^var\(--.+\)$/.test(r)}t.d(e,{hj:function(){return n},iy:function(){return o},kJ:function(){return a},mf:function(){return i},o8:function(){return s},Kn:function(){return l},Qr:function(){return c},HD:function(){return u},FS:function(){return d},Ts:function(){return f},Ys:function(){return p}});var f=!1,p=!1},88456:function(r,e,t){"use strict";t.d(e,{px:function(){return i},y:function(){return d}});var n=t(27277),o=t(73808),a=t(4651);function i(r){if(null==r)return r;var{unitless:e}=function(r){var e=parseFloat(r.toString()),t=r.toString().replace(String(e),"");return{unitless:!t,value:e,unit:t}}(r);return e||(0,o.hj)(r)?r+"px":r}var s=(r,e)=>parseInt(r[1],10)>parseInt(e[1],10)?1:-1,l=r=>(0,a.sq)(Object.entries(r).sort(s));function c(r){var e=l(r);return Object.assign(Object.values(e),e)}function u(r,e){var t=[];return r&&t.push("@media screen and (min-width: "+i(r)+")"),t.length>0&&e&&t.push("and"),e&&t.push("@media screen and (max-width: "+i(e)+")"),t.join(" ")}function d(r){var e;if(!r)return null;r.base=null!=(e=r.base)?e:"0px";var t=c(r),a=Object.entries(r).sort(s).map(((r,e,t)=>{var n,[a,s]=r,[,l]=null!=(n=t[e+1])?n:[];return{breakpoint:a,minW:s,maxW:l=parseFloat(l)>0?function(r){var e;if(!r)return r;var t=(r=null!=(e=i(r))?e:r).endsWith("px")?-1:-.0635;return(0,o.hj)(r)?""+(r+t):r.replace(/([0-9]+\.?[0-9]*)/,(r=>""+(parseFloat(r)+t)))}(l):void 0,maxWQuery:u(null,l),minWQuery:u(s),minMaxQuery:u(s,l)}})),d=function(r){var e=Object.keys(l(r));return new Set(e)}(r),f=Array.from(d.values());return{keys:d,normalized:t,isResponsive(r){var e=Object.keys(r);return e.length>0&&e.every((r=>d.has(r)))},asObject:l(r),asArray:c(r),details:a,media:[null,...t.map((r=>u(r))).slice(1)],toArrayValue(r){if(!(0,o.Kn)(r))throw new Error("toArrayValue: value must be an object");for(var e=f.map((e=>{var t;return null!=(t=r[e])?t:null}));null===(0,n.s)(e);)e.pop();return e},toObjectValue(r){if(!Array.isArray(r))throw new Error("toObjectValue: value must be an array");return r.reduce(((r,e,t)=>{var n=f[t];return null!=n&&null!=e&&(r[n]=e),r}),{})}}}},84461:function(r,e,t){"use strict";function n(r){var e;return r instanceof Element&&null!=(e=r.ownerDocument)?e:document}t.d(e,{lZ:function(){return n},jU:function(){return o},PB:function(){return a},Qm:function(){return i},cx:function(){return s},vY:function(){return l},r3:function(){return c},EV:function(){return u},uh:function(){return d},dO:function(){return f}});var o=!("undefined"===typeof window||!window.document||!window.document.createElement),a=r=>r?"":void 0,i=r=>!!r||void 0,s=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return e.filter(Boolean).join(" ")};function l(r){var e=n(r);return null==e?void 0:e.activeElement}function c(r,e){return!!r&&(r===e||r.contains(e))}function u(r,e,t,n){return r.addEventListener(e,t,n),()=>{r.removeEventListener(e,t,n)}}function d(r){var{key:e,keyCode:t}=r;return t>=37&&t<=40&&0!==e.indexOf("Arrow")?"Arrow"+e:e}function f(r){return 0!==r.button}},80658:function(r,e,t){"use strict";t.d(e,{Pu:function(){return o},v0:function(){return a},ZT:function(){return s},ZK:function(){return l},A4:function(){return c},zG:function(){return u},TE:function(){return p}});var n=t(73808);function o(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),o=1;o<e;o++)t[o-1]=arguments[o];return(0,n.mf)(r)?r(...t):r}function a(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return function(r){e.some((e=>(null==e||e(r),null==r?void 0:r.defaultPrevented)))}}function i(r){var e;return function(){if(r){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e=r.apply(this,n),r=null}return e}}var s=()=>{},l=i((r=>()=>{var{condition:e,message:t}=r;e&&n.Ts&&console.warn(t)})),c=(i((r=>()=>{var{condition:e,message:t}=r;e&&n.Ts&&console.error(t)})),n.Ys?r=>r():"function"===typeof queueMicrotask?queueMicrotask:r=>{Promise.resolve().then(r)}),u=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return r=>e.reduce(((r,e)=>e(r)),r)},d=(r,e)=>Math.abs(r-e),f=r=>"x"in r&&"y"in r;function p(r,e){if((0,n.hj)(r)&&(0,n.hj)(e))return d(r,e);if(f(r)&&f(e)){var t=d(r.x,e.x),o=d(r.y,e.y);return Math.sqrt(t**2+o**2)}return 0}},4651:function(r,e,t){"use strict";t.d(e,{CE:function(){return n},ei:function(){return o},Vl:function(){return a},Wf:function(){return i},lw:function(){return s},YU:function(){return l},Yd:function(){return c},sq:function(){return u},K1:function(){return d}});t(38554);function n(r,e){var t={};return Object.keys(r).forEach((n=>{e.includes(n)||(t[n]=r[n])})),t}function o(r,e){var t={};return e.forEach((e=>{e in r&&(t[e]=r[e])})),t}function a(r,e){var t={},n={};return Object.keys(r).forEach((o=>{e.includes(o)?t[o]=r[o]:n[o]=r[o]})),[t,n]}var i=(r=>{var e=new WeakMap;return(t,n,o,a)=>{if("undefined"===typeof t)return r(t,n,o);e.has(t)||e.set(t,new Map);var i=e.get(t);if(i.has(n))return i.get(n);var s=r(t,n,o,a);return i.set(n,s),s}})((function(r,e,t,n){var o="string"===typeof e?e.split("."):[e];for(n=0;n<o.length&&r;n+=1)r=r[o[n]];return void 0===r?t:r}));function s(r,e){var t={};return Object.keys(r).forEach((n=>{var o=r[n];e(o,n,r)&&(t[n]=o)})),t}var l=r=>s(r,(r=>null!==r&&void 0!==r)),c=r=>Object.keys(r),u=r=>r.reduce(((r,e)=>{var[t,n]=e;return r[t]=n,r}),{}),d=(r,e,t)=>{var n,o;return null!=(n=null==(o=r.__cssMap[e+"."+t])?void 0:o.varRef)?n:t}},28204:function(r,e,t){"use strict";t.d(e,{Z:function(){return er}});var n=t(11526),o=Math.abs,a=String.fromCharCode;function i(r){return r.trim()}function s(r,e,t){return r.replace(e,t)}function l(r,e){return r.indexOf(e)}function c(r,e){return 0|r.charCodeAt(e)}function u(r,e,t){return r.slice(e,t)}function d(r){return r.length}function f(r){return r.length}function p(r,e){return e.push(r),r}var h=1,b=1,g=0,m=0,v=0,y="";function x(r,e,t,n,o,a,i){return{value:r,root:e,parent:t,type:n,props:o,children:a,line:h,column:b,length:i,return:""}}function w(r,e,t){return x(r,e.root,e.parent,t,e.props,e.children,0)}function S(){return v=m>0?c(y,--m):0,b--,10===v&&(b=1,h--),v}function k(){return v=m<g?c(y,m++):0,b++,10===v&&(b=1,h++),v}function _(){return c(y,m)}function C(){return m}function A(r,e){return u(y,r,e)}function E(r){switch(r){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function z(r){return h=b=1,g=d(y=r),m=0,[]}function R(r){return y="",r}function B(r){return i(A(m-1,T(91===r?r+2:40===r?r+1:r)))}function j(r){for(;(v=_())&&v<33;)k();return E(r)>2||E(v)>3?"":" "}function O(r,e){for(;--e&&k()&&!(v<48||v>102||v>57&&v<65||v>70&&v<97););return A(r,C()+(e<6&&32==_()&&32==k()))}function T(r){for(;k();)switch(v){case r:return m;case 34:case 39:return T(34===r||39===r?r:v);case 40:41===r&&T(r);break;case 92:k()}return m}function F(r,e){for(;k()&&r+v!==57&&(r+v!==84||47!==_()););return"/*"+A(e,m-1)+"*"+a(47===r?r:k())}function P(r){for(;!E(_());)k();return A(r,m)}var I="-ms-",M="-moz-",D="-webkit-",W="comm",J="rule",N="decl";function H(r,e){for(var t="",n=f(r),o=0;o<n;o++)t+=e(r[o],o,r,e)||"";return t}function L(r,e,t,n){switch(r.type){case"@import":case N:return r.return=r.return||r.value;case W:return"";case J:r.value=r.props.join(",")}return d(t=H(r.children,n))?r.return=r.value+"{"+t+"}":""}function $(r,e){switch(function(r,e){return(((e<<2^c(r,0))<<2^c(r,1))<<2^c(r,2))<<2^c(r,3)}(r,e)){case 5103:return D+"print-"+r+r;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return D+r+r;case 5349:case 4246:case 4810:case 6968:case 2756:return D+r+M+r+I+r+r;case 6828:case 4268:return D+r+I+r+r;case 6165:return D+r+I+"flex-"+r+r;case 5187:return D+r+s(r,/(\w+).+(:[^]+)/,"-webkit-box-$1$2-ms-flex-$1$2")+r;case 5443:return D+r+I+"flex-item-"+s(r,/flex-|-self/,"")+r;case 4675:return D+r+I+"flex-line-pack"+s(r,/align-content|flex-|-self/,"")+r;case 5548:return D+r+I+s(r,"shrink","negative")+r;case 5292:return D+r+I+s(r,"basis","preferred-size")+r;case 6060:return D+"box-"+s(r,"-grow","")+D+r+I+s(r,"grow","positive")+r;case 4554:return D+s(r,/([^-])(transform)/g,"$1-webkit-$2")+r;case 6187:return s(s(s(r,/(zoom-|grab)/,D+"$1"),/(image-set)/,D+"$1"),r,"")+r;case 5495:case 3959:return s(r,/(image-set\([^]*)/,D+"$1$`$1");case 4968:return s(s(r,/(.+:)(flex-)?(.*)/,"-webkit-box-pack:$3-ms-flex-pack:$3"),/s.+-b[^;]+/,"justify")+D+r+r;case 4095:case 3583:case 4068:case 2532:return s(r,/(.+)-inline(.+)/,D+"$1$2")+r;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(d(r)-1-e>6)switch(c(r,e+1)){case 109:if(45!==c(r,e+4))break;case 102:return s(r,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+M+(108==c(r,e+3)?"$3":"$2-$3"))+r;case 115:return~l(r,"stretch")?$(s(r,"stretch","fill-available"),e)+r:r}break;case 4949:if(115!==c(r,e+1))break;case 6444:switch(c(r,d(r)-3-(~l(r,"!important")&&10))){case 107:return s(r,":",":"+D)+r;case 101:return s(r,/(.+:)([^;!]+)(;|!.+)?/,"$1"+D+(45===c(r,14)?"inline-":"")+"box$3$1"+D+"$2$3$1"+I+"$2box$3")+r}break;case 5936:switch(c(r,e+11)){case 114:return D+r+I+s(r,/[svh]\w+-[tblr]{2}/,"tb")+r;case 108:return D+r+I+s(r,/[svh]\w+-[tblr]{2}/,"tb-rl")+r;case 45:return D+r+I+s(r,/[svh]\w+-[tblr]{2}/,"lr")+r}return D+r+I+r+r}return r}function Z(r){return R(V("",null,null,null,[""],r=z(r),0,[0],r))}function V(r,e,t,n,o,i,l,c,u){for(var f=0,h=0,b=l,g=0,m=0,v=0,y=1,x=1,w=1,A=0,E="",z=o,R=i,T=n,I=E;x;)switch(v=A,A=k()){case 34:case 39:case 91:case 40:I+=B(A);break;case 9:case 10:case 13:case 32:I+=j(v);break;case 92:I+=O(C()-1,7);continue;case 47:switch(_()){case 42:case 47:p(G(F(k(),C()),e,t),u);break;default:I+="/"}break;case 123*y:c[f++]=d(I)*w;case 125*y:case 59:case 0:switch(A){case 0:case 125:x=0;case 59+h:m>0&&d(I)-b&&p(m>32?Y(I+";",n,t,b-1):Y(s(I," ","")+";",n,t,b-2),u);break;case 59:I+=";";default:if(p(T=q(I,e,t,f,h,o,c,E,z=[],R=[],b),i),123===A)if(0===h)V(I,e,T,T,z,i,b,c,R);else switch(g){case 100:case 109:case 115:V(r,T,T,n&&p(q(r,T,T,0,0,o,c,E,o,z=[],b),R),o,R,b,c,n?z:R);break;default:V(I,T,T,T,[""],R,b,c,R)}}f=h=m=0,y=w=1,E=I="",b=l;break;case 58:b=1+d(I),m=v;default:if(y<1)if(123==A)--y;else if(125==A&&0==y++&&125==S())continue;switch(I+=a(A),A*y){case 38:w=h>0?1:(I+="\f",-1);break;case 44:c[f++]=(d(I)-1)*w,w=1;break;case 64:45===_()&&(I+=B(k())),g=_(),h=d(E=I+=P(C())),A++;break;case 45:45===v&&2==d(I)&&(y=0)}}return i}function q(r,e,t,n,a,l,c,d,p,h,b){for(var g=a-1,m=0===a?l:[""],v=f(m),y=0,w=0,S=0;y<n;++y)for(var k=0,_=u(r,g+1,g=o(w=c[y])),C=r;k<v;++k)(C=i(w>0?m[k]+" "+_:s(_,/&\f/g,m[k])))&&(p[S++]=C);return x(r,e,t,0===a?J:d,p,h,b)}function G(r,e,t){return x(r,e,t,W,a(v),u(r,2,-2),0)}function Y(r,e,t,n){return x(r,e,t,N,u(r,0,n),u(r,n+1,-1),n)}var X=function(r,e){return R(function(r,e){var t=-1,n=44;do{switch(E(n)){case 0:38===n&&12===_()&&(e[t]=1),r[t]+=P(m-1);break;case 2:r[t]+=B(n);break;case 4:if(44===n){r[++t]=58===_()?"&\f":"",e[t]=r[t].length;break}default:r[t]+=a(n)}}while(n=k());return r}(z(r),e))},U=new WeakMap,K=function(r){if("rule"===r.type&&r.parent&&r.length){for(var e=r.value,t=r.parent,n=r.column===t.column&&r.line===t.line;"rule"!==t.type;)if(!(t=t.parent))return;if((1!==r.props.length||58===e.charCodeAt(0)||U.get(t))&&!n){U.set(r,!0);for(var o=[],a=X(e,o),i=t.props,s=0,l=0;s<a.length;s++)for(var c=0;c<i.length;c++,l++)r.props[l]=o[s]?a[s].replace(/&\f/g,i[c]):i[c]+" "+a[s]}}},Q=function(r){if("decl"===r.type){var e=r.value;108===e.charCodeAt(0)&&98===e.charCodeAt(2)&&(r.return="",r.value="")}},rr=[function(r,e,t,n){if(!r.return)switch(r.type){case N:r.return=$(r.value,r.length);break;case"@keyframes":return H([w(s(r.value,"@","@"+D),r,"")],n);case J:if(r.length)return function(r,e){return r.map(e).join("")}(r.props,(function(e){switch(function(r,e){return(r=e.exec(r))?r[0]:r}(e,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return H([w(s(e,/:(read-\w+)/,":-moz-$1"),r,"")],n);case"::placeholder":return H([w(s(e,/:(plac\w+)/,":-webkit-input-$1"),r,""),w(s(e,/:(plac\w+)/,":-moz-$1"),r,""),w(s(e,/:(plac\w+)/,I+"input-$1"),r,"")],n)}return""}))}}],er=function(r){var e=r.key;if("css"===e){var t=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(t,(function(r){-1!==r.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(r),r.setAttribute("data-s",""))}))}var o=r.stylisPlugins||rr;var a,i,s={},l=[];a=r.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+e+' "]'),(function(r){for(var e=r.getAttribute("data-emotion").split(" "),t=1;t<e.length;t++)s[e[t]]=!0;l.push(r)}));var c,u,d=[L,(u=function(r){c.insert(r)},function(r){r.root||(r=r.return)&&u(r)})],p=function(r){var e=f(r);return function(t,n,o,a){for(var i="",s=0;s<e;s++)i+=r[s](t,n,o,a)||"";return i}}([K,Q].concat(o,d));i=function(r,e,t,n){c=t,H(Z(r?r+"{"+e.styles+"}":e.styles),p),n&&(h.inserted[e.name]=!0)};var h={key:e,sheet:new n.m({key:e,container:a,nonce:r.nonce,speedy:r.speedy,prepend:r.prepend}),nonce:r.nonce,inserted:s,registered:{},insert:i};return h.sheet.hydrate(l),h}},67866:function(r,e){"use strict";e.Z=function(r){var e=Object.create(null);return function(t){return void 0===e[t]&&(e[t]=r(t)),e[t]}}},30495:function(r,e,t){"use strict";t.d(e,{C:function(){return h},E:function(){return k},T:function(){return g},a:function(){return y},b:function(){return x},c:function(){return S},h:function(){return f},u:function(){return m},w:function(){return b}});var n=t(67294),o=t(28204),a=t(22122),i=function(r){var e=new WeakMap;return function(t){if(e.has(t))return e.get(t);var n=r(t);return e.set(t,n),n}},s=t(8679),l=t.n(s),c=function(r,e){return l()(r,e)},u=t(70444),d=t(94199),f=Object.prototype.hasOwnProperty,p=(0,n.createContext)("undefined"!==typeof HTMLElement?(0,o.Z)({key:"css"}):null),h=p.Provider,b=function(r){return(0,n.forwardRef)((function(e,t){var o=(0,n.useContext)(p);return r(e,o,t)}))},g=(0,n.createContext)({}),m=function(){return(0,n.useContext)(g)},v=i((function(r){return i((function(e){return function(r,e){return"function"===typeof e?e(r):(0,a.Z)({},r,e)}(r,e)}))})),y=function(r){var e=(0,n.useContext)(g);return r.theme!==e&&(e=v(e)(r.theme)),(0,n.createElement)(g.Provider,{value:e},r.children)};function x(r){var e=r.displayName||r.name||"Component",t=function(e,t){var o=(0,n.useContext)(g);return(0,n.createElement)(r,(0,a.Z)({theme:o,ref:t},e))},o=(0,n.forwardRef)(t);return o.displayName="WithTheme("+e+")",c(o,r)}var w="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",S=function(r,e){var t={};for(var n in e)f.call(e,n)&&(t[n]=e[n]);return t[w]=r,t},k=b((function(r,e,t){var o=r.css;"string"===typeof o&&void 0!==e.registered[o]&&(o=e.registered[o]);var a=r[w],i=[o],s="";"string"===typeof r.className?s=(0,u.f)(e.registered,i,r.className):null!=r.className&&(s=r.className+" ");var l=(0,d.O)(i,void 0,"function"===typeof o||Array.isArray(o)?(0,n.useContext)(g):void 0);(0,u.M)(e,l,"string"===typeof a);s+=e.key+"-"+l.name;var c={};for(var p in r)f.call(r,p)&&"css"!==p&&p!==w&&(c[p]=r[p]);return c.ref=t,c.className=s,(0,n.createElement)(a,c)}))},70917:function(r,e,t){"use strict";t.r(e),t.d(e,{CacheProvider:function(){return o.C},ThemeContext:function(){return o.T},ThemeProvider:function(){return o.a},useTheme:function(){return o.u},withEmotionCache:function(){return o.w},withTheme:function(){return o.b},ClassNames:function(){return h},Global:function(){return c},createElement:function(){return l},css:function(){return u},jsx:function(){return l},keyframes:function(){return d}});var n=t(67294),o=(t(28204),t(30495)),a=(t(8679),t(70444)),i=t(94199),s=t(11526),l=function(r,e){var t=arguments;if(null==e||!o.h.call(e,"css"))return n.createElement.apply(void 0,t);var a=t.length,i=new Array(a);i[0]=o.E,i[1]=(0,o.c)(r,e);for(var s=2;s<a;s++)i[s]=t[s];return n.createElement.apply(null,i)},c=(0,o.w)((function(r,e){var t=r.styles,l=(0,i.O)([t],void 0,"function"===typeof t||Array.isArray(t)?(0,n.useContext)(o.T):void 0),c=(0,n.useRef)();return(0,n.useLayoutEffect)((function(){var r=e.key+"-global",t=new s.m({key:r,nonce:e.sheet.nonce,container:e.sheet.container,speedy:e.sheet.isSpeedy}),n=!1,o=document.querySelector('style[data-emotion="'+r+" "+l.name+'"]');return e.sheet.tags.length&&(t.before=e.sheet.tags[0]),null!==o&&(n=!0,o.setAttribute("data-emotion",r),t.hydrate([o])),c.current=[t,n],function(){t.flush()}}),[e]),(0,n.useLayoutEffect)((function(){var r=c.current,t=r[0];if(r[1])r[1]=!1;else{if(void 0!==l.next&&(0,a.M)(e,l.next,!0),t.tags.length){var n=t.tags[t.tags.length-1].nextElementSibling;t.before=n,t.flush()}e.insert("",l,t,!1)}}),[e,l.name]),null}));function u(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return(0,i.O)(e)}var d=function(){var r=u.apply(void 0,arguments),e="animation-"+r.name;return{name:e,styles:"@keyframes "+e+"{"+r.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}},f=function r(e){for(var t=e.length,n=0,o="";n<t;n++){var a=e[n];if(null!=a){var i=void 0;switch(typeof a){case"boolean":break;case"object":if(Array.isArray(a))i=r(a);else for(var s in i="",a)a[s]&&s&&(i&&(i+=" "),i+=s);break;default:i=a}i&&(o&&(o+=" "),o+=i)}}return o};function p(r,e,t){var n=[],o=(0,a.f)(r,n,t);return n.length<2?t:o+e(n)}var h=(0,o.w)((function(r,e){var t=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];var o=(0,i.O)(t,e.registered);return(0,a.M)(e,o,!1),e.key+"-"+o.name},s={css:t,cx:function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return p(e.registered,t,f(n))},theme:(0,n.useContext)(o.T)},l=r.children(s);return!0,l}))},94199:function(r,e,t){"use strict";t.d(e,{O:function(){return b}});var n=function(r){for(var e,t=0,n=0,o=r.length;o>=4;++n,o-=4)e=1540483477*(65535&(e=255&r.charCodeAt(n)|(255&r.charCodeAt(++n))<<8|(255&r.charCodeAt(++n))<<16|(255&r.charCodeAt(++n))<<24))+(59797*(e>>>16)<<16),t=1540483477*(65535&(e^=e>>>24))+(59797*(e>>>16)<<16)^1540483477*(65535&t)+(59797*(t>>>16)<<16);switch(o){case 3:t^=(255&r.charCodeAt(n+2))<<16;case 2:t^=(255&r.charCodeAt(n+1))<<8;case 1:t=1540483477*(65535&(t^=255&r.charCodeAt(n)))+(59797*(t>>>16)<<16)}return(((t=1540483477*(65535&(t^=t>>>13))+(59797*(t>>>16)<<16))^t>>>15)>>>0).toString(36)},o={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},a=t(67866),i=/[A-Z]|^ms/g,s=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(r){return 45===r.charCodeAt(1)},c=function(r){return null!=r&&"boolean"!==typeof r},u=(0,a.Z)((function(r){return l(r)?r:r.replace(i,"-$&").toLowerCase()})),d=function(r,e){switch(r){case"animation":case"animationName":if("string"===typeof e)return e.replace(s,(function(r,e,t){return p={name:e,styles:t,next:p},e}))}return 1===o[r]||l(r)||"number"!==typeof e||0===e?e:e+"px"};function f(r,e,t){if(null==t)return"";if(void 0!==t.__emotion_styles)return t;switch(typeof t){case"boolean":return"";case"object":if(1===t.anim)return p={name:t.name,styles:t.styles,next:p},t.name;if(void 0!==t.styles){var n=t.next;if(void 0!==n)for(;void 0!==n;)p={name:n.name,styles:n.styles,next:p},n=n.next;return t.styles+";"}return function(r,e,t){var n="";if(Array.isArray(t))for(var o=0;o<t.length;o++)n+=f(r,e,t[o])+";";else for(var a in t){var i=t[a];if("object"!==typeof i)null!=e&&void 0!==e[i]?n+=a+"{"+e[i]+"}":c(i)&&(n+=u(a)+":"+d(a,i)+";");else if(!Array.isArray(i)||"string"!==typeof i[0]||null!=e&&void 0!==e[i[0]]){var s=f(r,e,i);switch(a){case"animation":case"animationName":n+=u(a)+":"+s+";";break;default:n+=a+"{"+s+"}"}}else for(var l=0;l<i.length;l++)c(i[l])&&(n+=u(a)+":"+d(a,i[l])+";")}return n}(r,e,t);case"function":if(void 0!==r){var o=p,a=t(r);return p=o,f(r,e,a)}break;case"string":}if(null==e)return t;var i=e[t];return void 0!==i?i:t}var p,h=/label:\s*([^\s;\n{]+)\s*(;|$)/g;var b=function(r,e,t){if(1===r.length&&"object"===typeof r[0]&&null!==r[0]&&void 0!==r[0].styles)return r[0];var o=!0,a="";p=void 0;var i=r[0];null==i||void 0===i.raw?(o=!1,a+=f(t,e,i)):a+=i[0];for(var s=1;s<r.length;s++)a+=f(t,e,r[s]),o&&(a+=i[s]);h.lastIndex=0;for(var l,c="";null!==(l=h.exec(a));)c+="-"+l[1];return{name:n(a)+c,styles:a,next:p}}},11526:function(r,e,t){"use strict";t.d(e,{m:function(){return n}});var n=function(){function r(r){var e=this;this._insertTag=function(r){var t;t=0===e.tags.length?e.prepend?e.container.firstChild:e.before:e.tags[e.tags.length-1].nextSibling,e.container.insertBefore(r,t),e.tags.push(r)},this.isSpeedy=void 0===r.speedy||r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.before=null}var e=r.prototype;return e.hydrate=function(r){r.forEach(this._insertTag)},e.insert=function(r){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(r){var e=document.createElement("style");return e.setAttribute("data-emotion",r.key),void 0!==r.nonce&&e.setAttribute("nonce",r.nonce),e.appendChild(document.createTextNode("")),e.setAttribute("data-s",""),e}(this));var e=this.tags[this.tags.length-1];if(this.isSpeedy){var t=function(r){if(r.sheet)return r.sheet;for(var e=0;e<document.styleSheets.length;e++)if(document.styleSheets[e].ownerNode===r)return document.styleSheets[e]}(e);try{t.insertRule(r,t.cssRules.length)}catch(n){0}}else e.appendChild(document.createTextNode(r));this.ctr++},e.flush=function(){this.tags.forEach((function(r){return r.parentNode.removeChild(r)})),this.tags=[],this.ctr=0},r}()},70444:function(r,e,t){"use strict";t.d(e,{f:function(){return n},M:function(){return o}});function n(r,e,t){var n="";return t.split(" ").forEach((function(t){void 0!==r[t]?e.push(r[t]+";"):n+=t+" "})),n}var o=function(r,e,t){var n=r.key+"-"+e.name;if(!1===t&&void 0===r.registered[n]&&(r.registered[n]=e.styles),void 0===r.inserted[e.name]){var o=e;do{r.insert(e===o?"."+n:"",o,r.sheet,!0);o=o.next}while(void 0!==o)}}},8679:function(r,e,t){"use strict";var n=t(59864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(r){return n.isMemo(r)?i:s[r.$$typeof]||o}s[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[n.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;r.exports=function r(e,t,n){if("string"!==typeof t){if(h){var o=p(t);o&&o!==h&&r(e,o,n)}var i=u(t);d&&(i=i.concat(d(t)));for(var s=l(e),b=l(t),g=0;g<i.length;++g){var m=i[g];if(!a[m]&&(!n||!n[m])&&(!b||!b[m])&&(!s||!s[m])){var v=f(t,m);try{c(e,m,v)}catch(y){}}}}return e}},38554:function(r,e,t){r=t.nmd(r);var n="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Function]",s="[object Object]",l=/^\[object .+?Constructor\]$/,c=/^(?:0|[1-9]\d*)$/,u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u[a]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u[i]=u["[object Map]"]=u["[object Number]"]=u[s]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1;var d="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,f="object"==typeof self&&self&&self.Object===Object&&self,p=d||f||Function("return this")(),h=e&&!e.nodeType&&e,b=h&&r&&!r.nodeType&&r,g=b&&b.exports===h,m=g&&d.process,v=function(){try{var r=b&&b.require&&b.require("util").types;return r||m&&m.binding&&m.binding("util")}catch(e){}}(),y=v&&v.isTypedArray;function x(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}var w,S,k=Array.prototype,_=Function.prototype,C=Object.prototype,A=p["__core-js_shared__"],E=_.toString,z=C.hasOwnProperty,R=function(){var r=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),B=C.toString,j=E.call(Object),O=RegExp("^"+E.call(z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),T=g?p.Buffer:void 0,F=p.Symbol,P=p.Uint8Array,I=T?T.allocUnsafe:void 0,M=(w=Object.getPrototypeOf,S=Object,function(r){return w(S(r))}),D=Object.create,W=C.propertyIsEnumerable,J=k.splice,N=F?F.toStringTag:void 0,H=function(){try{var r=pr(Object,"defineProperty");return r({},"",{}),r}catch(e){}}(),L=T?T.isBuffer:void 0,$=Math.max,Z=Date.now,V=pr(p,"Map"),q=pr(Object,"create"),G=function(){function r(){}return function(e){if(!Cr(e))return{};if(D)return D(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();function Y(r){var e=-1,t=null==r?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}function X(r){var e=-1,t=null==r?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}function U(r){var e=-1,t=null==r?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}function K(r){var e=this.__data__=new X(r);this.size=e.size}function Q(r,e){var t=xr(r),n=!t&&yr(r),o=!t&&!n&&Sr(r),a=!t&&!n&&!o&&Er(r),i=t||n||o||a,s=i?function(r,e){for(var t=-1,n=Array(r);++t<r;)n[t]=e(t);return n}(r.length,String):[],l=s.length;for(var c in r)!e&&!z.call(r,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||hr(c,l))||s.push(c);return s}function rr(r,e,t){(void 0!==t&&!vr(r[e],t)||void 0===t&&!(e in r))&&nr(r,e,t)}function er(r,e,t){var n=r[e];z.call(r,e)&&vr(n,t)&&(void 0!==t||e in r)||nr(r,e,t)}function tr(r,e){for(var t=r.length;t--;)if(vr(r[t][0],e))return t;return-1}function nr(r,e,t){"__proto__"==e&&H?H(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}Y.prototype.clear=function(){this.__data__=q?q(null):{},this.size=0},Y.prototype.delete=function(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e},Y.prototype.get=function(r){var e=this.__data__;if(q){var t=e[r];return t===n?void 0:t}return z.call(e,r)?e[r]:void 0},Y.prototype.has=function(r){var e=this.__data__;return q?void 0!==e[r]:z.call(e,r)},Y.prototype.set=function(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=q&&void 0===e?n:e,this},X.prototype.clear=function(){this.__data__=[],this.size=0},X.prototype.delete=function(r){var e=this.__data__,t=tr(e,r);return!(t<0)&&(t==e.length-1?e.pop():J.call(e,t,1),--this.size,!0)},X.prototype.get=function(r){var e=this.__data__,t=tr(e,r);return t<0?void 0:e[t][1]},X.prototype.has=function(r){return tr(this.__data__,r)>-1},X.prototype.set=function(r,e){var t=this.__data__,n=tr(t,r);return n<0?(++this.size,t.push([r,e])):t[n][1]=e,this},U.prototype.clear=function(){this.size=0,this.__data__={hash:new Y,map:new(V||X),string:new Y}},U.prototype.delete=function(r){var e=fr(this,r).delete(r);return this.size-=e?1:0,e},U.prototype.get=function(r){return fr(this,r).get(r)},U.prototype.has=function(r){return fr(this,r).has(r)},U.prototype.set=function(r,e){var t=fr(this,r),n=t.size;return t.set(r,e),this.size+=t.size==n?0:1,this},K.prototype.clear=function(){this.__data__=new X,this.size=0},K.prototype.delete=function(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t},K.prototype.get=function(r){return this.__data__.get(r)},K.prototype.has=function(r){return this.__data__.has(r)},K.prototype.set=function(r,e){var t=this.__data__;if(t instanceof X){var n=t.__data__;if(!V||n.length<199)return n.push([r,e]),this.size=++t.size,this;t=this.__data__=new U(n)}return t.set(r,e),this.size=t.size,this};var or,ar=function(r,e,t){for(var n=-1,o=Object(r),a=t(r),i=a.length;i--;){var s=a[or?i:++n];if(!1===e(o[s],s,o))break}return r};function ir(r){return null==r?void 0===r?"[object Undefined]":"[object Null]":N&&N in Object(r)?function(r){var e=z.call(r,N),t=r[N];try{r[N]=void 0;var n=!0}catch(a){}var o=B.call(r);n&&(e?r[N]=t:delete r[N]);return o}(r):function(r){return B.call(r)}(r)}function sr(r){return Ar(r)&&ir(r)==a}function lr(r){return!(!Cr(r)||function(r){return!!R&&R in r}(r))&&(kr(r)?O:l).test(function(r){if(null!=r){try{return E.call(r)}catch(e){}try{return r+""}catch(e){}}return""}(r))}function cr(r){if(!Cr(r))return function(r){var e=[];if(null!=r)for(var t in Object(r))e.push(t);return e}(r);var e=br(r),t=[];for(var n in r)("constructor"!=n||!e&&z.call(r,n))&&t.push(n);return t}function ur(r,e,t,n,o){r!==e&&ar(e,(function(a,i){if(o||(o=new K),Cr(a))!function(r,e,t,n,o,a,i){var l=gr(r,t),c=gr(e,t),u=i.get(c);if(u)return void rr(r,t,u);var d=a?a(l,c,t+"",r,e,i):void 0,f=void 0===d;if(f){var p=xr(c),h=!p&&Sr(c),b=!p&&!h&&Er(c);d=c,p||h||b?xr(l)?d=l:Ar(g=l)&&wr(g)?d=function(r,e){var t=-1,n=r.length;e||(e=Array(n));for(;++t<n;)e[t]=r[t];return e}(l):h?(f=!1,d=function(r,e){if(e)return r.slice();var t=r.length,n=I?I(t):new r.constructor(t);return r.copy(n),n}(c,!0)):b?(f=!1,d=function(r,e){var t=e?function(r){var e=new r.constructor(r.byteLength);return new P(e).set(new P(r)),e}(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}(c,!0)):d=[]:function(r){if(!Ar(r)||ir(r)!=s)return!1;var e=M(r);if(null===e)return!0;var t=z.call(e,"constructor")&&e.constructor;return"function"==typeof t&&t instanceof t&&E.call(t)==j}(c)||yr(c)?(d=l,yr(l)?d=function(r){return function(r,e,t,n){var o=!t;t||(t={});var a=-1,i=e.length;for(;++a<i;){var s=e[a],l=n?n(t[s],r[s],s,t,r):void 0;void 0===l&&(l=r[s]),o?nr(t,s,l):er(t,s,l)}return t}(r,zr(r))}(l):Cr(l)&&!kr(l)||(d=function(r){return"function"!=typeof r.constructor||br(r)?{}:G(M(r))}(c))):f=!1}var g;f&&(i.set(c,d),o(d,c,n,a,i),i.delete(c));rr(r,t,d)}(r,e,i,t,ur,n,o);else{var l=n?n(gr(r,i),a,i+"",r,e,o):void 0;void 0===l&&(l=a),rr(r,i,l)}}),zr)}function dr(r,e){return mr(function(r,e,t){return e=$(void 0===e?r.length-1:e,0),function(){for(var n=arguments,o=-1,a=$(n.length-e,0),i=Array(a);++o<a;)i[o]=n[e+o];o=-1;for(var s=Array(e+1);++o<e;)s[o]=n[o];return s[e]=t(i),x(r,this,s)}}(r,e,jr),r+"")}function fr(r,e){var t=r.__data__;return function(r){var e=typeof r;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r}(e)?t["string"==typeof e?"string":"hash"]:t.map}function pr(r,e){var t=function(r,e){return null==r?void 0:r[e]}(r,e);return lr(t)?t:void 0}function hr(r,e){var t=typeof r;return!!(e=null==e?o:e)&&("number"==t||"symbol"!=t&&c.test(r))&&r>-1&&r%1==0&&r<e}function br(r){var e=r&&r.constructor;return r===("function"==typeof e&&e.prototype||C)}function gr(r,e){if(("constructor"!==e||"function"!==typeof r[e])&&"__proto__"!=e)return r[e]}var mr=function(r){var e=0,t=0;return function(){var n=Z(),o=16-(n-t);if(t=n,o>0){if(++e>=800)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}(H?function(r,e){return H(r,"toString",{configurable:!0,enumerable:!1,value:(t=e,function(){return t}),writable:!0});var t}:jr);function vr(r,e){return r===e||r!==r&&e!==e}var yr=sr(function(){return arguments}())?sr:function(r){return Ar(r)&&z.call(r,"callee")&&!W.call(r,"callee")},xr=Array.isArray;function wr(r){return null!=r&&_r(r.length)&&!kr(r)}var Sr=L||function(){return!1};function kr(r){if(!Cr(r))return!1;var e=ir(r);return e==i||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}function _r(r){return"number"==typeof r&&r>-1&&r%1==0&&r<=o}function Cr(r){var e=typeof r;return null!=r&&("object"==e||"function"==e)}function Ar(r){return null!=r&&"object"==typeof r}var Er=y?function(r){return function(e){return r(e)}}(y):function(r){return Ar(r)&&_r(r.length)&&!!u[ir(r)]};function zr(r){return wr(r)?Q(r,!0):cr(r)}var Rr,Br=(Rr=function(r,e,t,n){ur(r,e,t,n)},dr((function(r,e){var t=-1,n=e.length,o=n>1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=Rr.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(r,e,t){if(!Cr(t))return!1;var n=typeof e;return!!("number"==n?wr(t)&&hr(e,t.length):"string"==n&&e in t)&&vr(t[e],r)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),r=Object(r);++t<n;){var i=e[t];i&&Rr(r,i,t,o)}return r})));function jr(r){return r}r.exports=Br},29200:function(r,e,t){"use strict";t.r(e),t.d(e,{default:function(){return F}});var n=t(26265),o=t(85893),a=(t(82702),t(84806)),i=t(73808),s=["borders","breakpoints","colors","components","config","direction","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","shadows","sizes","space","styles","transition","zIndices"];function l(r){return!!(0,i.Kn)(r)&&s.every((e=>Object.prototype.hasOwnProperty.call(r,e)))}var c=t(80658),u=t(38554),d=t.n(u);function f(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return d()({},...e,p)}function p(r,e,t,n){if(((0,i.mf)(r)||(0,i.mf)(e))&&Object.prototype.hasOwnProperty.call(n,t))return function(){var t=(0,i.mf)(r)?r(...arguments):r,n=(0,i.mf)(e)?e(...arguments):e;return d()({},t,n,p)}}var h=t(70917),b=t(67294),g=()=>b.createElement(h.Global,{styles:'\n      html {\n        line-height: 1.5;\n        -webkit-text-size-adjust: 100%;\n        font-family: system-ui, sans-serif;\n        -webkit-font-smoothing: antialiased;\n        text-rendering: optimizeLegibility;      \n        -moz-osx-font-smoothing: grayscale; \n        touch-action: manipulation; \n      }\n\n      body {\n        position: relative;\n        min-height: 100%;\n        font-feature-settings: \'kern\';\n      }\n\n      *,\n      *::before,\n      *::after {\n        border-width: 0;\n        border-style: solid;\n        box-sizing: border-box;\n      }\n\n      main {\n        display: block;\n      }\n\n      hr {\n        border-top-width: 1px;\n        box-sizing: content-box;\n        height: 0;\n        overflow: visible;\n      }\n\n      pre,\n      code,\n      kbd,\n      samp {\n        font-family: SFMono-Regular,  Menlo, Monaco, Consolas, monospace;\n        font-size: 1em;\n      }\n\n      a {\n        background-color: transparent;\n        color: inherit;\n        text-decoration: inherit;\n      }\n\n      abbr[title] {\n        border-bottom: none;\n        text-decoration: underline;\n        -webkit-text-decoration: underline dotted;\n        text-decoration: underline dotted;\n      }\n\n      b,\n      strong {\n        font-weight: bold;\n      }\n\n      small {\n        font-size: 80%;\n      }\n\n      sub,\n      sup {\n        font-size: 75%;\n        line-height: 0;\n        position: relative;\n        vertical-align: baseline;\n      }\n\n      sub {\n        bottom: -0.25em;\n      }\n\n      sup {\n        top: -0.5em;\n      }\n\n      img {\n        border-style: none;\n      }\n\n      button,\n      input,\n      optgroup,\n      select,\n      textarea {\n        font-family: inherit;\n        font-size: 100%;\n        line-height: 1.15;\n        margin: 0;\n      }\n\n      button,\n      input {\n        overflow: visible;\n      }\n\n      button,\n      select {\n        text-transform: none;\n      }\n\n      button::-moz-focus-inner,\n      [type="button"]::-moz-focus-inner,\n      [type="reset"]::-moz-focus-inner,\n      [type="submit"]::-moz-focus-inner {\n        border-style: none;\n        padding: 0;\n      }\n\n      fieldset {\n        padding: 0.35em 0.75em 0.625em;\n      }\n\n      legend {\n        box-sizing: border-box;\n        color: inherit;\n        display: table;\n        max-width: 100%;\n        padding: 0;\n        white-space: normal;\n      }\n\n      progress {\n        vertical-align: baseline;\n      }\n\n      textarea {\n        overflow: auto;\n      }\n\n      [type="checkbox"],\n      [type="radio"] {\n        box-sizing: border-box;\n        padding: 0;\n      }\n\n      [type="number"]::-webkit-inner-spin-button,\n      [type="number"]::-webkit-outer-spin-button {\n        -webkit-appearance: none !important;\n      }\n\n      input[type="number"] {\n        -moz-appearance: textfield;\n      }\n\n      [type="search"] {\n        -webkit-appearance: textfield;\n        outline-offset: -2px;\n      }\n\n      [type="search"]::-webkit-search-decoration {\n        -webkit-appearance: none !important;\n      }\n\n      ::-webkit-file-upload-button {\n        -webkit-appearance: button;\n        font: inherit;\n      }\n\n      details {\n        display: block;\n      }\n\n      summary {\n        display: list-item;\n      }\n\n      template {\n        display: none;\n      }\n\n      [hidden] {\n        display: none !important;\n      }\n\n      body,\n      blockquote,\n      dl,\n      dd,\n      h1,\n      h2,\n      h3,\n      h4,\n      h5,\n      h6,\n      hr,\n      figure,\n      p,\n      pre {\n        margin: 0;\n      }\n\n      button {\n        background: transparent;\n        padding: 0;\n      }\n\n      fieldset {\n        margin: 0;\n        padding: 0;\n      }\n\n      ol,\n      ul {\n        margin: 0;\n        padding: 0;\n      }\n\n      textarea {\n        resize: vertical;\n      }\n\n      button,\n      [role="button"] {\n        cursor: pointer;\n      }\n\n      button::-moz-focus-inner {\n        border: 0 !important;\n      }\n\n      table {\n        border-collapse: collapse;\n      }\n\n      h1,\n      h2,\n      h3,\n      h4,\n      h5,\n      h6 {\n        font-size: inherit;\n        font-weight: inherit;\n      }\n\n      button,\n      input,\n      optgroup,\n      select,\n      textarea {\n        padding: 0;\n        line-height: inherit;\n        color: inherit;\n      }\n\n      img,\n      svg,\n      video,\n      canvas,\n      audio,\n      iframe,\n      embed,\n      object {\n        display: block;\n        vertical-align: middle;\n      }\n\n      img,\n      video {\n        max-width: 100%;\n        height: auto;\n      }\n\n      [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n        outline: none;\n        box-shadow: none;\n      }\n\n      select::-ms-expand {\n        display: none;\n      }\n    '}),m=t(34288),v=t(29676),y=t(24738),x=t(84461),w={body:{classList:{add(){},remove(){}}},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]})},S=()=>{},k={window:{document:w,navigator:{userAgent:""},CustomEvent:function(){return this},addEventListener:S,removeEventListener:S,getComputedStyle:()=>({getPropertyValue:()=>""}),matchMedia:()=>({matches:!1,addListener:S,removeListener:S}),requestAnimationFrame:r=>"undefined"===typeof setTimeout?(r(),null):setTimeout(r,0),cancelAnimationFrame(r){"undefined"!==typeof setTimeout&&clearTimeout(r)},setTimeout:()=>0,clearTimeout:S,setInterval:()=>0,clearInterval:S},document:w},_=x.jU?{window:window,document:document}:k,C=(0,b.createContext)(_);function A(r){var{children:e,environment:t}=r,[n,o]=(0,b.useState)(null),a=(0,b.useMemo)((()=>{var r,e=null==n?void 0:n.ownerDocument,o=null==n?void 0:n.ownerDocument.defaultView;return null!=(r=null!=t?t:e?{document:e,window:o}:void 0)?r:_}),[n,t]),i=!n&&!t;return b.createElement(C.Provider,{value:a},e,i&&b.createElement("span",{ref:r=>{r&&o(r)}}))}i.Ts&&(C.displayName="EnvironmentContext"),i.Ts&&(A.displayName="EnvironmentProvider");var E=t(94577),z=r=>{var{children:e,colorModeManager:t,portalZIndex:n,resetCSS:o=!0,theme:i=a.Z,environment:s,cssVarsRoot:l}=r,c=b.createElement(A,{environment:s},e);return b.createElement(E.vc,null,b.createElement(v.f6,{theme:i,cssVarsRoot:l},b.createElement(y.SG,{colorModeManager:t,options:i.config},o&&b.createElement(g,null),b.createElement(v.ZL,null),n?b.createElement(m.h,{zIndex:n},c):c)))},R=t(54533),B=t(29356);function j(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function O(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?j(Object(t),!0).forEach((function(e){(0,n.Z)(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):j(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}function T(r){var e=r.children,t=(0,b.useContext)(B.N),n=t.highlightColor,s=t.emacsTheme,u=R.Z(s.base1,s.base2)(.2),d="purple.500"===n?s.violet+"aa":"pink.500"===n?s.magenta+"aa":"blue.500"===n?s.blue+"aa":"cyan.500"===n?s.cyan+"aa":"green.500"===n?s.green+"aa":"yellow.500"===n?s.yellow+"aa":"orange.500"===n?s.orange+"aa":"red.500"===n?s.red+"aa":void 0,p=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var n=[...e],o=e[e.length-1];return l(o)&&n.length>1?n=n.slice(0,n.length-1):o=a.Z,(0,c.zG)(...n.map((r=>e=>(0,i.mf)(r)?r(e):f(e,r))))(o)}((0,b.useMemo)((function(){return{colors:{white:s.bg,black:s.fg,gray:{100:s.base1,200:u,300:s.base2,400:s.base3,500:s.base4,600:s.base5,700:s.base6,800:s.base7,900:s.base8},blue:{500:s.blue},teal:{500:s.blue},yellow:{500:s.yellow},orange:{500:s.orange},red:{500:s.red},green:{500:s.green},purple:{500:s.violet},pink:{500:s.magenta},cyan:{500:s.cyan},alt:{100:s["bg-alt"],900:s["fg-alt"]}},shadows:{outline:"0 0 0 3px "+d},components:{Button:{variants:{outline:{border:"2px solid",borderColor:n,color:n},ghost:{color:n,_hover:{bg:"inherit",border:"1px solid",borderColor:n},_active:{color:"inherit",bg:n}}}},Accordion:{baseStyle:{container:{marginTop:"10px",borderWidth:"0px",_last:{borderWidth:"0px"}},panel:{marginRight:"10px"}}},Slider:{baseStyle:function(r){return{thumb:{backgroundColor:n},filledTrack:{backgroundColor:"gray.200"}}}}}}}),[n,JSON.stringify(s)]),function(r){var{colorScheme:e,components:t}=r;return r=>{var n=Object.keys(r.components||{});return Array.isArray(t)?n=t:(0,i.Kn)(t)&&(n=Object.keys(t)),f(r,{components:Object.fromEntries(n.map((r=>[r,{defaultProps:{colorScheme:e}}])))})}}({colorScheme:n.split(".")[0]}));return(0,o.jsx)(z,{theme:p,children:e})}var F=function(r){var e=r.Component,t=r.pageProps,n={base1:"#1c1f24",base2:"#21272d",base3:"#23272e",base4:"#484854",base5:"#62686E",base6:"#757B80",base7:"#9ca0a4",base8:"#DFDFDF",bg:"#242730","bg-alt":"#2a2e38",blue:"#51afef",cyan:"#5cEfFF","dark-blue":"#1f5582","dark-cyan":"#6A8FBF",fg:"#bbc2cf","fg-alt":"#5D656B",green:"#7bc275",grey:"#484854",magenta:"#C57BDB",orange:"#e69055",red:"#ff665c",teal:"#4db5bd",violet:"#a991f1",yellow:"#FCCE7B"},a=(0,b.useState)(!1),i=a[0],s=a[1],l=(0,b.useState)(n),c=l[0],u=l[1],d=(0,b.useState)("purple.500"),f=d[0],p=d[1];(0,b.useEffect)((function(){i&&localStorage.setItem("theme",JSON.stringify(c))}),[c]),(0,b.useEffect)((function(){i&&localStorage.setItem("highlightColor",JSON.stringify(f))}),[f]),(0,b.useEffect)((function(){var r,e,t,o;u(null!==(r=JSON.parse(null!==(e=localStorage.getItem("theme"))&&void 0!==e?e:JSON.stringify(n)))&&void 0!==r?r:n),p(null!==(t=JSON.parse(null!==(o=localStorage.getItem("highlightColor"))&&void 0!==o?o:JSON.stringify(f)))&&void 0!==t?t:f),s(!0)}),[]);var h={emacsTheme:c,setEmacsTheme:u,highlightColor:f,setHighlightColor:p};return(0,o.jsx)(B.N.Provider,{value:h,children:(0,o.jsx)(T,{children:(0,o.jsx)(e,O({},t))})})}},29356:function(r,e,t){"use strict";t.d(e,{N:function(){return n}});var n=(0,t(67294).createContext)({emacsTheme:{base1:"#1c1f24",base2:"#21272d",base3:"#23272e",base4:"#484854",base5:"#62686E",base6:"#757B80",base7:"#9ca0a4",base8:"#DFDFDF",bg:"#242730","bg-alt":"#2a2e38",blue:"#51afef",cyan:"#5cEfFF","dark-blue":"#1f5582","dark-cyan":"#6A8FBF",fg:"#bbc2cf","fg-alt":"#5D656B",green:"#7bc275",grey:"#484854",magenta:"#C57BDB",orange:"#e69055",red:"#ff665c",teal:"#4db5bd",violet:"#a991f1",yellow:"#FCCE7B"},setEmacsTheme:null,highlightColor:"purple",setHighlightColor:null})},76374:function(r,e,t){"use strict";function n(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function o(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function a(){}t.d(e,{ZP:function(){return w},B8:function(){return C}});var i=.7,s=1/i,l="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",u="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",d=/^#([0-9a-f]{3,8})$/,f=new RegExp("^rgb\\("+[l,l,l]+"\\)$"),p=new RegExp("^rgb\\("+[u,u,u]+"\\)$"),h=new RegExp("^rgba\\("+[l,l,l,c]+"\\)$"),b=new RegExp("^rgba\\("+[u,u,u,c]+"\\)$"),g=new RegExp("^hsl\\("+[c,u,u]+"\\)$"),m=new RegExp("^hsla\\("+[c,u,u,c]+"\\)$"),v={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function y(){return this.rgb().formatHex()}function x(){return this.rgb().formatRgb()}function w(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=d.exec(r))?(t=e[1].length,e=parseInt(e[1],16),6===t?S(e):3===t?new A(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===t?k(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===t?k(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=f.exec(r))?new A(e[1],e[2],e[3],1):(e=p.exec(r))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(r))?k(e[1],e[2],e[3],e[4]):(e=b.exec(r))?k(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(r))?B(e[1],e[2]/100,e[3]/100,1):(e=m.exec(r))?B(e[1],e[2]/100,e[3]/100,e[4]):v.hasOwnProperty(r)?S(v[r]):"transparent"===r?new A(NaN,NaN,NaN,0):null}function S(r){return new A(r>>16&255,r>>8&255,255&r,1)}function k(r,e,t,n){return n<=0&&(r=e=t=NaN),new A(r,e,t,n)}function _(r){return r instanceof a||(r=w(r)),r?new A((r=r.rgb()).r,r.g,r.b,r.opacity):new A}function C(r,e,t,n){return 1===arguments.length?_(r):new A(r,e,t,null==n?1:n)}function A(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}function E(){return"#"+R(this.r)+R(this.g)+R(this.b)}function z(){var r=this.opacity;return(1===(r=isNaN(r)?1:Math.max(0,Math.min(1,r)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===r?")":", "+r+")")}function R(r){return((r=Math.max(0,Math.min(255,Math.round(r)||0)))<16?"0":"")+r.toString(16)}function B(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new O(r,e,t,n)}function j(r){if(r instanceof O)return new O(r.h,r.s,r.l,r.opacity);if(r instanceof a||(r=w(r)),!r)return new O;if(r instanceof O)return r;var e=(r=r.rgb()).r/255,t=r.g/255,n=r.b/255,o=Math.min(e,t,n),i=Math.max(e,t,n),s=NaN,l=i-o,c=(i+o)/2;return l?(s=e===i?(t-n)/l+6*(t<n):t===i?(n-e)/l+2:(e-t)/l+4,l/=c<.5?i+o:2-i-o,s*=60):l=c>0&&c<1?0:s,new O(s,l,c,r.opacity)}function O(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}function T(r,e,t){return 255*(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)}n(a,w,{copy:function(r){return Object.assign(new this.constructor,this,r)},displayable:function(){return this.rgb().displayable()},hex:y,formatHex:y,formatHsl:function(){return j(this).formatHsl()},formatRgb:x,toString:x}),n(A,C,o(a,{brighter:function(r){return r=null==r?s:Math.pow(s,r),new A(this.r*r,this.g*r,this.b*r,this.opacity)},darker:function(r){return r=null==r?i:Math.pow(i,r),new A(this.r*r,this.g*r,this.b*r,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:E,formatHex:E,formatRgb:z,toString:z})),n(O,(function(r,e,t,n){return 1===arguments.length?j(r):new O(r,e,t,null==n?1:n)}),o(a,{brighter:function(r){return r=null==r?s:Math.pow(s,r),new O(this.h,this.s,this.l*r,this.opacity)},darker:function(r){return r=null==r?i:Math.pow(i,r),new O(this.h,this.s,this.l*r,this.opacity)},rgb:function(){var r=this.h%360+360*(this.h<0),e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,o=2*t-n;return new A(T(r>=240?r-240:r+120,o,n),T(r,o,n),T(r<120?r+240:r-120,o,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var r=this.opacity;return(1===(r=isNaN(r)?1:Math.max(0,Math.min(1,r)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===r?")":", "+r+")")}}))},62210:function(r,e){"use strict";e.Z=function(r){return function(){return r}}},16033:function(r,e,t){"use strict";function n(r,e){return r=+r,e=+e,function(t){return r*(1-t)+e*t}}t.d(e,{Z:function(){return n}})},73028:function(r,e,t){"use strict";t.d(e,{ZP:function(){return c}});var n=t(76374);function o(r,e,t,n,o){var a=r*r,i=a*r;return((1-3*r+3*a-i)*e+(4-6*a+3*i)*t+(1+3*r+3*a-3*i)*n+i*o)/6}var a=t(62210);function i(r,e){return function(t){return r+t*e}}function s(r){return 1===(r=+r)?l:function(e,t){return t-e?function(r,e,t){return r=Math.pow(r,t),e=Math.pow(e,t)-r,t=1/t,function(n){return Math.pow(r+n*e,t)}}(e,t,r):(0,a.Z)(isNaN(e)?t:e)}}function l(r,e){var t=e-r;return t?i(r,t):(0,a.Z)(isNaN(r)?e:r)}var c=function r(e){var t=s(e);function o(r,e){var o=t((r=(0,n.B8)(r)).r,(e=(0,n.B8)(e)).r),a=t(r.g,e.g),i=t(r.b,e.b),s=l(r.opacity,e.opacity);return function(e){return r.r=o(e),r.g=a(e),r.b=i(e),r.opacity=s(e),r+""}}return o.gamma=r,o}(1);function u(r){return function(e){var t,o,a=e.length,i=new Array(a),s=new Array(a),l=new Array(a);for(t=0;t<a;++t)o=(0,n.B8)(e[t]),i[t]=o.r||0,s[t]=o.g||0,l[t]=o.b||0;return i=r(i),s=r(s),l=r(l),o.opacity=1,function(r){return o.r=i(r),o.g=s(r),o.b=l(r),o+""}}}u((function(r){var e=r.length-1;return function(t){var n=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),a=r[n],i=r[n+1],s=n>0?r[n-1]:2*a-i,l=n<e-1?r[n+2]:2*i-a;return o((t-n/e)*e,s,a,i,l)}})),u((function(r){var e=r.length;return function(t){var n=Math.floor(((t%=1)<0?++t:t)*e),a=r[(n+e-1)%e],i=r[n%e],s=r[(n+1)%e],l=r[(n+2)%e];return o((t-n/e)*e,a,i,s,l)}}))},10370:function(r,e,t){"use strict";t.d(e,{Z:function(){return i}});var n=t(16033),o=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=new RegExp(o.source,"g");function i(r,e){var t,i,s,l=o.lastIndex=a.lastIndex=0,c=-1,u=[],d=[];for(r+="",e+="";(t=o.exec(r))&&(i=a.exec(e));)(s=i.index)>l&&(s=e.slice(l,s),u[c]?u[c]+=s:u[++c]=s),(t=t[0])===(i=i[0])?u[c]?u[c]+=i:u[++c]=i:(u[++c]=null,d.push({i:c,x:(0,n.Z)(t,i)})),l=a.lastIndex;return l<e.length&&(s=e.slice(l),u[c]?u[c]+=s:u[++c]=s),u.length<2?d[0]?function(r){return function(e){return r(e)+""}}(d[0].x):function(r){return function(){return r}}(e):(e=d.length,function(r){for(var t,n=0;n<e;++n)u[(t=d[n]).i]=t.x(r);return u.join("")})}},54533:function(r,e,t){"use strict";t.d(e,{Z:function(){return f}});var n=t(76374),o=t(73028);function a(r,e){var t,n=e?e.length:0,o=r?Math.min(n,r.length):0,a=new Array(o),i=new Array(n);for(t=0;t<o;++t)a[t]=f(r[t],e[t]);for(;t<n;++t)i[t]=e[t];return function(r){for(t=0;t<o;++t)i[t]=a[t](r);return i}}function i(r,e){var t=new Date;return r=+r,e=+e,function(n){return t.setTime(r*(1-n)+e*n),t}}var s=t(16033);function l(r,e){var t,n={},o={};for(t in null!==r&&"object"===typeof r||(r={}),null!==e&&"object"===typeof e||(e={}),e)t in r?n[t]=f(r[t],e[t]):o[t]=e[t];return function(r){for(t in n)o[t]=n[t](r);return o}}var c=t(10370),u=t(62210);function d(r,e){e||(e=[]);var t,n=r?Math.min(e.length,r.length):0,o=e.slice();return function(a){for(t=0;t<n;++t)o[t]=r[t]*(1-a)+e[t]*a;return o}}function f(r,e){var t,f,p=typeof e;return null==e||"boolean"===p?(0,u.Z)(e):("number"===p?s.Z:"string"===p?(t=(0,n.ZP)(e))?(e=t,o.ZP):c.Z:e instanceof n.ZP?o.ZP:e instanceof Date?i:(f=e,!ArrayBuffer.isView(f)||f instanceof DataView?Array.isArray(e)?a:"function"!==typeof e.valueOf&&"function"!==typeof e.toString||isNaN(e)?l:s.Z:d))(r,e)}},76363:function(r,e,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return t(29200)}])},82702:function(){},26265:function(r,e,t){"use strict";function n(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}t.d(e,{Z:function(){return n}})},69921:function(r,e){"use strict";var t="function"===typeof Symbol&&Symbol.for,n=t?Symbol.for("react.element"):60103,o=t?Symbol.for("react.portal"):60106,a=t?Symbol.for("react.fragment"):60107,i=t?Symbol.for("react.strict_mode"):60108,s=t?Symbol.for("react.profiler"):60114,l=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,u=t?Symbol.for("react.async_mode"):60111,d=t?Symbol.for("react.concurrent_mode"):60111,f=t?Symbol.for("react.forward_ref"):60112,p=t?Symbol.for("react.suspense"):60113,h=t?Symbol.for("react.suspense_list"):60120,b=t?Symbol.for("react.memo"):60115,g=t?Symbol.for("react.lazy"):60116,m=t?Symbol.for("react.block"):60121,v=t?Symbol.for("react.fundamental"):60117,y=t?Symbol.for("react.responder"):60118,x=t?Symbol.for("react.scope"):60119;function w(r){if("object"===typeof r&&null!==r){var e=r.$$typeof;switch(e){case n:switch(r=r.type){case u:case d:case a:case s:case i:case p:return r;default:switch(r=r&&r.$$typeof){case c:case f:case g:case b:case l:return r;default:return e}}case o:return e}}}function S(r){return w(r)===d}e.AsyncMode=u,e.ConcurrentMode=d,e.ContextConsumer=c,e.ContextProvider=l,e.Element=n,e.ForwardRef=f,e.Fragment=a,e.Lazy=g,e.Memo=b,e.Portal=o,e.Profiler=s,e.StrictMode=i,e.Suspense=p,e.isAsyncMode=function(r){return S(r)||w(r)===u},e.isConcurrentMode=S,e.isContextConsumer=function(r){return w(r)===c},e.isContextProvider=function(r){return w(r)===l},e.isElement=function(r){return"object"===typeof r&&null!==r&&r.$$typeof===n},e.isForwardRef=function(r){return w(r)===f},e.isFragment=function(r){return w(r)===a},e.isLazy=function(r){return w(r)===g},e.isMemo=function(r){return w(r)===b},e.isPortal=function(r){return w(r)===o},e.isProfiler=function(r){return w(r)===s},e.isStrictMode=function(r){return w(r)===i},e.isSuspense=function(r){return w(r)===p},e.isValidElementType=function(r){return"string"===typeof r||"function"===typeof r||r===a||r===d||r===s||r===i||r===p||r===h||"object"===typeof r&&null!==r&&(r.$$typeof===g||r.$$typeof===b||r.$$typeof===l||r.$$typeof===c||r.$$typeof===f||r.$$typeof===v||r.$$typeof===y||r.$$typeof===x||r.$$typeof===m)},e.typeOf=w},59864:function(r,e,t){"use strict";r.exports=t(69921)},17621:function(r,e,t){var n;!function(o){var a=/^\s+/,i=/\s+$/,s=0,l=o.round,c=o.min,u=o.max,d=o.random;function f(r,e){if(e=e||{},(r=r||"")instanceof f)return r;if(!(this instanceof f))return new f(r,e);var t=function(r){var e={r:0,g:0,b:0},t=1,n=null,s=null,l=null,d=!1,f=!1;"string"==typeof r&&(r=function(r){r=r.replace(a,"").replace(i,"").toLowerCase();var e,t=!1;if(B[r])r=B[r],t=!0;else if("transparent"==r)return{r:0,g:0,b:0,a:0,format:"name"};if(e=J.rgb.exec(r))return{r:e[1],g:e[2],b:e[3]};if(e=J.rgba.exec(r))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=J.hsl.exec(r))return{h:e[1],s:e[2],l:e[3]};if(e=J.hsla.exec(r))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=J.hsv.exec(r))return{h:e[1],s:e[2],v:e[3]};if(e=J.hsva.exec(r))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=J.hex8.exec(r))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:W(e[4]),format:t?"name":"hex8"};if(e=J.hex6.exec(r))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:t?"name":"hex"};if(e=J.hex4.exec(r))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),a:W(e[4]+""+e[4]),format:t?"name":"hex8"};if(e=J.hex3.exec(r))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),format:t?"name":"hex"};return!1}(r));"object"==typeof r&&(N(r.r)&&N(r.g)&&N(r.b)?(p=r.r,h=r.g,b=r.b,e={r:255*T(p,255),g:255*T(h,255),b:255*T(b,255)},d=!0,f="%"===String(r.r).substr(-1)?"prgb":"rgb"):N(r.h)&&N(r.s)&&N(r.v)?(n=M(r.s),s=M(r.v),e=function(r,e,t){r=6*T(r,360),e=T(e,100),t=T(t,100);var n=o.floor(r),a=r-n,i=t*(1-e),s=t*(1-a*e),l=t*(1-(1-a)*e),c=n%6;return{r:255*[t,s,i,i,l,t][c],g:255*[l,t,t,s,i,i][c],b:255*[i,i,l,t,t,s][c]}}(r.h,n,s),d=!0,f="hsv"):N(r.h)&&N(r.s)&&N(r.l)&&(n=M(r.s),l=M(r.l),e=function(r,e,t){var n,o,a;function i(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+6*(e-r)*t:t<.5?e:t<2/3?r+(e-r)*(2/3-t)*6:r}if(r=T(r,360),e=T(e,100),t=T(t,100),0===e)n=o=a=t;else{var s=t<.5?t*(1+e):t+e-t*e,l=2*t-s;n=i(l,s,r+1/3),o=i(l,s,r),a=i(l,s,r-1/3)}return{r:255*n,g:255*o,b:255*a}}(r.h,n,l),d=!0,f="hsl"),r.hasOwnProperty("a")&&(t=r.a));var p,h,b;return t=O(t),{ok:d,format:r.format||f,r:c(255,u(e.r,0)),g:c(255,u(e.g,0)),b:c(255,u(e.b,0)),a:t}}(r);this._originalInput=r,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=l(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=t.ok,this._tc_id=s++}function p(r,e,t){r=T(r,255),e=T(e,255),t=T(t,255);var n,o,a=u(r,e,t),i=c(r,e,t),s=(a+i)/2;if(a==i)n=o=0;else{var l=a-i;switch(o=s>.5?l/(2-a-i):l/(a+i),a){case r:n=(e-t)/l+(e<t?6:0);break;case e:n=(t-r)/l+2;break;case t:n=(r-e)/l+4}n/=6}return{h:n,s:o,l:s}}function h(r,e,t){r=T(r,255),e=T(e,255),t=T(t,255);var n,o,a=u(r,e,t),i=c(r,e,t),s=a,l=a-i;if(o=0===a?0:l/a,a==i)n=0;else{switch(a){case r:n=(e-t)/l+(e<t?6:0);break;case e:n=(t-r)/l+2;break;case t:n=(r-e)/l+4}n/=6}return{h:n,s:o,v:s}}function b(r,e,t,n){var o=[I(l(r).toString(16)),I(l(e).toString(16)),I(l(t).toString(16))];return n&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function g(r,e,t,n){return[I(D(n)),I(l(r).toString(16)),I(l(e).toString(16)),I(l(t).toString(16))].join("")}function m(r,e){e=0===e?0:e||10;var t=f(r).toHsl();return t.s-=e/100,t.s=F(t.s),f(t)}function v(r,e){e=0===e?0:e||10;var t=f(r).toHsl();return t.s+=e/100,t.s=F(t.s),f(t)}function y(r){return f(r).desaturate(100)}function x(r,e){e=0===e?0:e||10;var t=f(r).toHsl();return t.l+=e/100,t.l=F(t.l),f(t)}function w(r,e){e=0===e?0:e||10;var t=f(r).toRgb();return t.r=u(0,c(255,t.r-l(-e/100*255))),t.g=u(0,c(255,t.g-l(-e/100*255))),t.b=u(0,c(255,t.b-l(-e/100*255))),f(t)}function S(r,e){e=0===e?0:e||10;var t=f(r).toHsl();return t.l-=e/100,t.l=F(t.l),f(t)}function k(r,e){var t=f(r).toHsl(),n=(t.h+e)%360;return t.h=n<0?360+n:n,f(t)}function _(r){var e=f(r).toHsl();return e.h=(e.h+180)%360,f(e)}function C(r){var e=f(r).toHsl(),t=e.h;return[f(r),f({h:(t+120)%360,s:e.s,l:e.l}),f({h:(t+240)%360,s:e.s,l:e.l})]}function A(r){var e=f(r).toHsl(),t=e.h;return[f(r),f({h:(t+90)%360,s:e.s,l:e.l}),f({h:(t+180)%360,s:e.s,l:e.l}),f({h:(t+270)%360,s:e.s,l:e.l})]}function E(r){var e=f(r).toHsl(),t=e.h;return[f(r),f({h:(t+72)%360,s:e.s,l:e.l}),f({h:(t+216)%360,s:e.s,l:e.l})]}function z(r,e,t){e=e||6,t=t||30;var n=f(r).toHsl(),o=360/t,a=[f(r)];for(n.h=(n.h-(o*e>>1)+720)%360;--e;)n.h=(n.h+o)%360,a.push(f(n));return a}function R(r,e){e=e||6;for(var t=f(r).toHsv(),n=t.h,o=t.s,a=t.v,i=[],s=1/e;e--;)i.push(f({h:n,s:o,v:a})),a=(a+s)%1;return i}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var r=this.toRgb();return(299*r.r+587*r.g+114*r.b)/1e3},getLuminance:function(){var r,e,t,n=this.toRgb();return r=n.r/255,e=n.g/255,t=n.b/255,.2126*(r<=.03928?r/12.92:o.pow((r+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:o.pow((e+.055)/1.055,2.4))+.0722*(t<=.03928?t/12.92:o.pow((t+.055)/1.055,2.4))},setAlpha:function(r){return this._a=O(r),this._roundA=l(100*this._a)/100,this},toHsv:function(){var r=h(this._r,this._g,this._b);return{h:360*r.h,s:r.s,v:r.v,a:this._a}},toHsvString:function(){var r=h(this._r,this._g,this._b),e=l(360*r.h),t=l(100*r.s),n=l(100*r.v);return 1==this._a?"hsv("+e+", "+t+"%, "+n+"%)":"hsva("+e+", "+t+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var r=p(this._r,this._g,this._b);return{h:360*r.h,s:r.s,l:r.l,a:this._a}},toHslString:function(){var r=p(this._r,this._g,this._b),e=l(360*r.h),t=l(100*r.s),n=l(100*r.l);return 1==this._a?"hsl("+e+", "+t+"%, "+n+"%)":"hsla("+e+", "+t+"%, "+n+"%, "+this._roundA+")"},toHex:function(r){return b(this._r,this._g,this._b,r)},toHexString:function(r){return"#"+this.toHex(r)},toHex8:function(r){return function(r,e,t,n,o){var a=[I(l(r).toString(16)),I(l(e).toString(16)),I(l(t).toString(16)),I(D(n))];if(o&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1))return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0);return a.join("")}(this._r,this._g,this._b,this._a,r)},toHex8String:function(r){return"#"+this.toHex8(r)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*T(this._r,255))+"%",g:l(100*T(this._g,255))+"%",b:l(100*T(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*T(this._r,255))+"%, "+l(100*T(this._g,255))+"%, "+l(100*T(this._b,255))+"%)":"rgba("+l(100*T(this._r,255))+"%, "+l(100*T(this._g,255))+"%, "+l(100*T(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(j[b(this._r,this._g,this._b,!0)]||!1)},toFilter:function(r){var e="#"+g(this._r,this._g,this._b,this._a),t=e,n=this._gradientType?"GradientType = 1, ":"";if(r){var o=f(r);t="#"+g(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+t+")"},toString:function(r){var e=!!r;r=r||this._format;var t=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==r&&"hex6"!==r&&"hex3"!==r&&"hex4"!==r&&"hex8"!==r&&"name"!==r?("rgb"===r&&(t=this.toRgbString()),"prgb"===r&&(t=this.toPercentageRgbString()),"hex"!==r&&"hex6"!==r||(t=this.toHexString()),"hex3"===r&&(t=this.toHexString(!0)),"hex4"===r&&(t=this.toHex8String(!0)),"hex8"===r&&(t=this.toHex8String()),"name"===r&&(t=this.toName()),"hsl"===r&&(t=this.toHslString()),"hsv"===r&&(t=this.toHsvString()),t||this.toHexString()):"name"===r&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(r,e){var t=r.apply(null,[this].concat([].slice.call(e)));return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this},lighten:function(){return this._applyModification(x,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(S,arguments)},desaturate:function(){return this._applyModification(m,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(y,arguments)},spin:function(){return this._applyModification(k,arguments)},_applyCombination:function(r,e){return r.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(z,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(R,arguments)},splitcomplement:function(){return this._applyCombination(E,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(A,arguments)}},f.fromRatio=function(r,e){if("object"==typeof r){var t={};for(var n in r)r.hasOwnProperty(n)&&(t[n]="a"===n?r[n]:M(r[n]));r=t}return f(r,e)},f.equals=function(r,e){return!(!r||!e)&&f(r).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:d(),g:d(),b:d()})},f.mix=function(r,e,t){t=0===t?0:t||50;var n=f(r).toRgb(),o=f(e).toRgb(),a=t/100;return f({r:(o.r-n.r)*a+n.r,g:(o.g-n.g)*a+n.g,b:(o.b-n.b)*a+n.b,a:(o.a-n.a)*a+n.a})},f.readability=function(r,e){var t=f(r),n=f(e);return(o.max(t.getLuminance(),n.getLuminance())+.05)/(o.min(t.getLuminance(),n.getLuminance())+.05)},f.isReadable=function(r,e,t){var n,o,a=f.readability(r,e);switch(o=!1,(n=function(r){var e,t;e=((r=r||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(r.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t)).level+n.size){case"AAsmall":case"AAAlarge":o=a>=4.5;break;case"AAlarge":o=a>=3;break;case"AAAsmall":o=a>=7}return o},f.mostReadable=function(r,e,t){var n,o,a,i,s=null,l=0;o=(t=t||{}).includeFallbackColors,a=t.level,i=t.size;for(var c=0;c<e.length;c++)(n=f.readability(r,e[c]))>l&&(l=n,s=f(e[c]));return f.isReadable(r,s,{level:a,size:i})||!o?s:(t.includeFallbackColors=!1,f.mostReadable(r,["#fff","#000"],t))};var B=f.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},j=f.hexNames=function(r){var e={};for(var t in r)r.hasOwnProperty(t)&&(e[r[t]]=t);return e}(B);function O(r){return r=parseFloat(r),(isNaN(r)||r<0||r>1)&&(r=1),r}function T(r,e){(function(r){return"string"==typeof r&&-1!=r.indexOf(".")&&1===parseFloat(r)})(r)&&(r="100%");var t=function(r){return"string"===typeof r&&-1!=r.indexOf("%")}(r);return r=c(e,u(0,parseFloat(r))),t&&(r=parseInt(r*e,10)/100),o.abs(r-e)<1e-6?1:r%e/parseFloat(e)}function F(r){return c(1,u(0,r))}function P(r){return parseInt(r,16)}function I(r){return 1==r.length?"0"+r:""+r}function M(r){return r<=1&&(r=100*r+"%"),r}function D(r){return o.round(255*parseFloat(r)).toString(16)}function W(r){return P(r)/255}var J=function(){var r="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",t="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+t),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+t),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+t),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function N(r){return!!J.CSS_UNIT.exec(r)}r.exports?r.exports=f:void 0===(n=function(){return f}.call(e,t,e,r))||(r.exports=n)}(Math)}},function(r){var e=function(e){return r(r.s=e)};r.O(0,[774,179],(function(){return e(76363),e(34651)}));var t=r.O();_N_E=t}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js b/out/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js
index 3d18290..f3332cc 100644
--- a/out/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js
+++ b/out/_next/static/chunks/pages/_error-f5e67a79c709c2df06b8.js
@@ -1,491 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [820],
-  {
-    23398: function (e, t, n) {
-      'use strict'
-      var r
-      ;(t.__esModule = !0), (t.AmpStateContext = void 0)
-      var a = ((r = n(67294)) && r.__esModule ? r : { default: r }).default.createContext({})
-      t.AmpStateContext = a
-    },
-    76393: function (e, t, n) {
-      'use strict'
-      ;(t.__esModule = !0),
-        (t.isInAmpMode = i),
-        (t.useAmp = function () {
-          return i(a.default.useContext(o.AmpStateContext))
-        })
-      var r,
-        a = (r = n(67294)) && r.__esModule ? r : { default: r },
-        o = n(23398)
-      function i() {
-        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
-          t = e.ampFirst,
-          n = void 0 !== t && t,
-          r = e.hybrid,
-          a = void 0 !== r && r,
-          o = e.hasQuery,
-          i = void 0 !== o && o
-        return n || (a && i)
-      }
-    },
-    92775: function (e, t, n) {
-      'use strict'
-      var r = n(61682)
-      function a(e, t) {
-        var n = Object.keys(e)
-        if (Object.getOwnPropertySymbols) {
-          var r = Object.getOwnPropertySymbols(e)
-          t &&
-            (r = r.filter(function (t) {
-              return Object.getOwnPropertyDescriptor(e, t).enumerable
-            })),
-            n.push.apply(n, r)
-        }
-        return n
-      }
-      ;(t.__esModule = !0), (t.defaultHead = d), (t.default = void 0)
-      var o,
-        i = (function (e) {
-          if (e && e.__esModule) return e
-          if (null === e || ('object' !== typeof e && 'function' !== typeof e))
-            return { default: e }
-          var t = f()
-          if (t && t.has(e)) return t.get(e)
-          var n = {},
-            r = Object.defineProperty && Object.getOwnPropertyDescriptor
-          for (var a in e)
-            if (Object.prototype.hasOwnProperty.call(e, a)) {
-              var o = r ? Object.getOwnPropertyDescriptor(e, a) : null
-              o && (o.get || o.set) ? Object.defineProperty(n, a, o) : (n[a] = e[a])
-            }
-          ;(n.default = e), t && t.set(e, n)
-          return n
-        })(n(67294)),
-        u = (o = n(73244)) && o.__esModule ? o : { default: o },
-        c = n(23398),
-        s = n(41165),
-        l = n(76393)
-      function f() {
-        if ('function' !== typeof WeakMap) return null
-        var e = new WeakMap()
-        return (
-          (f = function () {
-            return e
-          }),
-          e
-        )
-      }
-      function d() {
-        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
-          t = [i.default.createElement('meta', { charSet: 'utf-8' })]
-        return (
-          e ||
-            t.push(
-              i.default.createElement('meta', { name: 'viewport', content: 'width=device-width' }),
-            ),
-          t
-        )
-      }
-      function p(e, t) {
-        return 'string' === typeof t || 'number' === typeof t
-          ? e
-          : t.type === i.default.Fragment
-          ? e.concat(
-              i.default.Children.toArray(t.props.children).reduce(function (e, t) {
-                return 'string' === typeof t || 'number' === typeof t ? e : e.concat(t)
-              }, []),
-            )
-          : e.concat(t)
-      }
-      var h = ['name', 'httpEquiv', 'charSet', 'itemProp']
-      function y(e, t) {
-        return e
-          .reduce(function (e, t) {
-            var n = i.default.Children.toArray(t.props.children)
-            return e.concat(n)
-          }, [])
-          .reduce(p, [])
-          .reverse()
-          .concat(d(t.inAmpMode))
-          .filter(
-            (function () {
-              var e = new Set(),
-                t = new Set(),
-                n = new Set(),
-                r = {}
-              return function (a) {
-                var o = !0,
-                  i = !1
-                if (a.key && 'number' !== typeof a.key && a.key.indexOf('$') > 0) {
-                  i = !0
-                  var u = a.key.slice(a.key.indexOf('$') + 1)
-                  e.has(u) ? (o = !1) : e.add(u)
-                }
-                switch (a.type) {
-                  case 'title':
-                  case 'base':
-                    t.has(a.type) ? (o = !1) : t.add(a.type)
-                    break
-                  case 'meta':
-                    for (var c = 0, s = h.length; c < s; c++) {
-                      var l = h[c]
-                      if (a.props.hasOwnProperty(l))
-                        if ('charSet' === l) n.has(l) ? (o = !1) : n.add(l)
-                        else {
-                          var f = a.props[l],
-                            d = r[l] || new Set()
-                          ;('name' === l && i) || !d.has(f) ? (d.add(f), (r[l] = d)) : (o = !1)
-                        }
-                    }
-                }
-                return o
-              }
-            })(),
-          )
-          .reverse()
-          .map(function (e, n) {
-            var o = e.key || n
-            if (
-              !t.inAmpMode &&
-              'link' === e.type &&
-              e.props.href &&
-              ['https://fonts.googleapis.com/css', 'https://use.typekit.net/'].some(function (t) {
-                return e.props.href.startsWith(t)
-              })
-            ) {
-              var u = (function (e) {
-                for (var t = 1; t < arguments.length; t++) {
-                  var n = null != arguments[t] ? arguments[t] : {}
-                  t % 2
-                    ? a(Object(n), !0).forEach(function (t) {
-                        r(e, t, n[t])
-                      })
-                    : Object.getOwnPropertyDescriptors
-                    ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
-                    : a(Object(n)).forEach(function (t) {
-                        Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
-                      })
-                }
-                return e
-              })({}, e.props || {})
-              return (
-                (u['data-href'] = u.href),
-                (u.href = void 0),
-                (u['data-optimized-fonts'] = !0),
-                i.default.cloneElement(e, u)
-              )
-            }
-            return i.default.cloneElement(e, { key: o })
-          })
-      }
-      var m = function (e) {
-        var t = e.children,
-          n = (0, i.useContext)(c.AmpStateContext),
-          r = (0, i.useContext)(s.HeadManagerContext)
-        return i.default.createElement(
-          u.default,
-          { reduceComponentsToState: y, headManager: r, inAmpMode: (0, l.isInAmpMode)(n) },
-          t,
-        )
-      }
-      t.default = m
-    },
-    73244: function (e, t, n) {
-      'use strict'
-      var r = n(83115),
-        a = n(2553),
-        o = n(62012),
-        i = (n(50450), n(9807)),
-        u = n(27690),
-        c = n(99828)
-      function s(e) {
-        var t = (function () {
-          if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-          if (Reflect.construct.sham) return !1
-          if ('function' === typeof Proxy) return !0
-          try {
-            return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-          } catch (e) {
-            return !1
-          }
-        })()
-        return function () {
-          var n,
-            r = c(e)
-          if (t) {
-            var a = c(this).constructor
-            n = Reflect.construct(r, arguments, a)
-          } else n = r.apply(this, arguments)
-          return u(this, n)
-        }
-      }
-      ;(t.__esModule = !0), (t.default = void 0)
-      var l = n(67294),
-        f = (function (e) {
-          i(n, e)
-          var t = s(n)
-          function n(e) {
-            var o
-            return (
-              a(this, n),
-              ((o = t.call(this, e))._hasHeadManager = void 0),
-              (o.emitChange = function () {
-                o._hasHeadManager &&
-                  o.props.headManager.updateHead(
-                    o.props.reduceComponentsToState(
-                      r(o.props.headManager.mountedInstances),
-                      o.props,
-                    ),
-                  )
-              }),
-              (o._hasHeadManager = o.props.headManager && o.props.headManager.mountedInstances),
-              o
-            )
-          }
-          return (
-            o(n, [
-              {
-                key: 'componentDidMount',
-                value: function () {
-                  this._hasHeadManager && this.props.headManager.mountedInstances.add(this),
-                    this.emitChange()
-                },
-              },
-              {
-                key: 'componentDidUpdate',
-                value: function () {
-                  this.emitChange()
-                },
-              },
-              {
-                key: 'componentWillUnmount',
-                value: function () {
-                  this._hasHeadManager && this.props.headManager.mountedInstances.delete(this),
-                    this.emitChange()
-                },
-              },
-              {
-                key: 'render',
-                value: function () {
-                  return null
-                },
-              },
-            ]),
-            n
-          )
-        })(l.Component)
-      t.default = f
-    },
-    3359: function (e, t, n) {
-      'use strict'
-      var r = n(2553),
-        a = n(62012),
-        o = n(9807),
-        i = n(27690),
-        u = n(99828)
-      function c(e) {
-        var t = (function () {
-          if ('undefined' === typeof Reflect || !Reflect.construct) return !1
-          if (Reflect.construct.sham) return !1
-          if ('function' === typeof Proxy) return !0
-          try {
-            return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0
-          } catch (e) {
-            return !1
-          }
-        })()
-        return function () {
-          var n,
-            r = u(e)
-          if (t) {
-            var a = u(this).constructor
-            n = Reflect.construct(r, arguments, a)
-          } else n = r.apply(this, arguments)
-          return i(this, n)
-        }
-      }
-      var s = n(62426)
-      ;(t.__esModule = !0), (t.default = void 0)
-      var l = s(n(67294)),
-        f = s(n(92775)),
-        d = {
-          400: 'Bad Request',
-          404: 'This page could not be found',
-          405: 'Method Not Allowed',
-          500: 'Internal Server Error',
-        }
-      function p(e) {
-        var t = e.res,
-          n = e.err
-        return { statusCode: t && t.statusCode ? t.statusCode : n ? n.statusCode : 404 }
-      }
-      var h = (function (e) {
-        o(n, e)
-        var t = c(n)
-        function n() {
-          return r(this, n), t.apply(this, arguments)
-        }
-        return (
-          a(n, [
-            {
-              key: 'render',
-              value: function () {
-                var e = this.props.statusCode,
-                  t = this.props.title || d[e] || 'An unexpected error has occurred'
-                return l.default.createElement(
-                  'div',
-                  { style: y.error },
-                  l.default.createElement(
-                    f.default,
-                    null,
-                    l.default.createElement(
-                      'title',
-                      null,
-                      e
-                        ? ''.concat(e, ': ').concat(t)
-                        : 'Application error: a client-side exception has occurred',
-                    ),
-                  ),
-                  l.default.createElement(
-                    'div',
-                    null,
-                    l.default.createElement('style', {
-                      dangerouslySetInnerHTML: { __html: 'body { margin: 0 }' },
-                    }),
-                    e ? l.default.createElement('h1', { style: y.h1 }, e) : null,
-                    l.default.createElement(
-                      'div',
-                      { style: y.desc },
-                      l.default.createElement(
-                        'h2',
-                        { style: y.h2 },
-                        this.props.title || e
-                          ? t
-                          : l.default.createElement(
-                              l.default.Fragment,
-                              null,
-                              'Application error: a client-side exception has occurred (',
-                              l.default.createElement(
-                                'a',
-                                {
-                                  href: 'https://nextjs.org/docs/messages/client-side-exception-occurred',
-                                },
-                                'developer guidance',
-                              ),
-                              ')',
-                            ),
-                        '.',
-                      ),
-                    ),
-                  ),
-                )
-              },
-            },
-          ]),
-          n
-        )
-      })(l.default.Component)
-      ;(t.default = h),
-        (h.displayName = 'ErrorPage'),
-        (h.getInitialProps = p),
-        (h.origGetInitialProps = p)
-      var y = {
-        error: {
-          color: '#000',
-          background: '#fff',
-          fontFamily:
-            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
-          height: '100vh',
-          textAlign: 'center',
-          display: 'flex',
-          flexDirection: 'column',
-          alignItems: 'center',
-          justifyContent: 'center',
-        },
-        desc: {
-          display: 'inline-block',
-          textAlign: 'left',
-          lineHeight: '49px',
-          height: '49px',
-          verticalAlign: 'middle',
-        },
-        h1: {
-          display: 'inline-block',
-          borderRight: '1px solid rgba(0, 0, 0,.3)',
-          margin: 0,
-          marginRight: '20px',
-          padding: '10px 23px 10px 0',
-          fontSize: '24px',
-          fontWeight: 500,
-          verticalAlign: 'top',
-        },
-        h2: {
-          fontSize: '14px',
-          fontWeight: 'normal',
-          lineHeight: 'inherit',
-          margin: 0,
-          padding: 0,
-        },
-      }
-    },
-    14977: function (e, t, n) {
-      ;(window.__NEXT_P = window.__NEXT_P || []).push([
-        '/_error',
-        function () {
-          return n(3359)
-        },
-      ])
-    },
-    38164: function (e, t, n) {
-      var r = n(54360)
-      e.exports = function (e) {
-        if (Array.isArray(e)) return r(e)
-      }
-    },
-    61682: function (e) {
-      e.exports = function (e, t, n) {
-        return (
-          t in e
-            ? Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !0,
-              })
-            : (e[t] = n),
-          e
-        )
-      }
-    },
-    27381: function (e) {
-      e.exports = function (e) {
-        if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e)
-      }
-    },
-    95725: function (e) {
-      e.exports = function () {
-        throw new TypeError(
-          'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-        )
-      }
-    },
-    83115: function (e, t, n) {
-      var r = n(38164),
-        a = n(27381),
-        o = n(73585),
-        i = n(95725)
-      e.exports = function (e) {
-        return r(e) || a(e) || o(e) || i()
-      }
-    },
-  },
-  function (e) {
-    e.O(0, [774, 888, 179], function () {
-      return (t = 14977), e((e.s = t))
-      var t
-    })
-    var t = e.O()
-    _N_E = t
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{23398:function(e,t,n){"use strict";var r;t.__esModule=!0,t.AmpStateContext=void 0;var a=((r=n(67294))&&r.__esModule?r:{default:r}).default.createContext({});t.AmpStateContext=a},76393:function(e,t,n){"use strict";t.__esModule=!0,t.isInAmpMode=i,t.useAmp=function(){return i(a.default.useContext(o.AmpStateContext))};var r,a=(r=n(67294))&&r.__esModule?r:{default:r},o=n(23398);function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.ampFirst,n=void 0!==t&&t,r=e.hybrid,a=void 0!==r&&r,o=e.hasQuery,i=void 0!==o&&o;return n||a&&i}},92775:function(e,t,n){"use strict";var r=n(61682);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.__esModule=!0,t.defaultHead=d,t.default=void 0;var o,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=f();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var o=r?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(67294)),u=(o=n(73244))&&o.__esModule?o:{default:o},c=n(23398),s=n(41165),l=n(76393);function f(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return f=function(){return e},e}function d(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=[i.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(i.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function p(e,t){return"string"===typeof t||"number"===typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((function(e,t){return"string"===typeof t||"number"===typeof t?e:e.concat(t)}),[])):e.concat(t)}var h=["name","httpEquiv","charSet","itemProp"];function y(e,t){return e.reduce((function(e,t){var n=i.default.Children.toArray(t.props.children);return e.concat(n)}),[]).reduce(p,[]).reverse().concat(d(t.inAmpMode)).filter(function(){var e=new Set,t=new Set,n=new Set,r={};return function(a){var o=!0,i=!1;if(a.key&&"number"!==typeof a.key&&a.key.indexOf("$")>0){i=!0;var u=a.key.slice(a.key.indexOf("$")+1);e.has(u)?o=!1:e.add(u)}switch(a.type){case"title":case"base":t.has(a.type)?o=!1:t.add(a.type);break;case"meta":for(var c=0,s=h.length;c<s;c++){var l=h[c];if(a.props.hasOwnProperty(l))if("charSet"===l)n.has(l)?o=!1:n.add(l);else{var f=a.props[l],d=r[l]||new Set;"name"===l&&i||!d.has(f)?(d.add(f),r[l]=d):o=!1}}}return o}}()).reverse().map((function(e,n){var o=e.key||n;if(!t.inAmpMode&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some((function(t){return e.props.href.startsWith(t)}))){var u=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.props||{});return u["data-href"]=u.href,u.href=void 0,u["data-optimized-fonts"]=!0,i.default.cloneElement(e,u)}return i.default.cloneElement(e,{key:o})}))}var m=function(e){var t=e.children,n=(0,i.useContext)(c.AmpStateContext),r=(0,i.useContext)(s.HeadManagerContext);return i.default.createElement(u.default,{reduceComponentsToState:y,headManager:r,inAmpMode:(0,l.isInAmpMode)(n)},t)};t.default=m},73244:function(e,t,n){"use strict";var r=n(83115),a=n(2553),o=n(62012),i=(n(50450),n(9807)),u=n(27690),c=n(99828);function s(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=c(e);if(t){var a=c(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return u(this,n)}}t.__esModule=!0,t.default=void 0;var l=n(67294),f=function(e){i(n,e);var t=s(n);function n(e){var o;return a(this,n),(o=t.call(this,e))._hasHeadManager=void 0,o.emitChange=function(){o._hasHeadManager&&o.props.headManager.updateHead(o.props.reduceComponentsToState(r(o.props.headManager.mountedInstances),o.props))},o._hasHeadManager=o.props.headManager&&o.props.headManager.mountedInstances,o}return o(n,[{key:"componentDidMount",value:function(){this._hasHeadManager&&this.props.headManager.mountedInstances.add(this),this.emitChange()}},{key:"componentDidUpdate",value:function(){this.emitChange()}},{key:"componentWillUnmount",value:function(){this._hasHeadManager&&this.props.headManager.mountedInstances.delete(this),this.emitChange()}},{key:"render",value:function(){return null}}]),n}(l.Component);t.default=f},3359:function(e,t,n){"use strict";var r=n(2553),a=n(62012),o=n(9807),i=n(27690),u=n(99828);function c(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=u(e);if(t){var a=u(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return i(this,n)}}var s=n(62426);t.__esModule=!0,t.default=void 0;var l=s(n(67294)),f=s(n(92775)),d={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function p(e){var t=e.res,n=e.err;return{statusCode:t&&t.statusCode?t.statusCode:n?n.statusCode:404}}var h=function(e){o(n,e);var t=c(n);function n(){return r(this,n),t.apply(this,arguments)}return a(n,[{key:"render",value:function(){var e=this.props.statusCode,t=this.props.title||d[e]||"An unexpected error has occurred";return l.default.createElement("div",{style:y.error},l.default.createElement(f.default,null,l.default.createElement("title",null,e?"".concat(e,": ").concat(t):"Application error: a client-side exception has occurred")),l.default.createElement("div",null,l.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body { margin: 0 }"}}),e?l.default.createElement("h1",{style:y.h1},e):null,l.default.createElement("div",{style:y.desc},l.default.createElement("h2",{style:y.h2},this.props.title||e?t:l.default.createElement(l.default.Fragment,null,"Application error: a client-side exception has occurred (",l.default.createElement("a",{href:"https://nextjs.org/docs/messages/client-side-exception-occurred"},"developer guidance"),")"),"."))))}}]),n}(l.default.Component);t.default=h,h.displayName="ErrorPage",h.getInitialProps=p,h.origGetInitialProps=p;var y={error:{color:"#000",background:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block",textAlign:"left",lineHeight:"49px",height:"49px",verticalAlign:"middle"},h1:{display:"inline-block",borderRight:"1px solid rgba(0, 0, 0,.3)",margin:0,marginRight:"20px",padding:"10px 23px 10px 0",fontSize:"24px",fontWeight:500,verticalAlign:"top"},h2:{fontSize:"14px",fontWeight:"normal",lineHeight:"inherit",margin:0,padding:0}}},14977:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return n(3359)}])},38164:function(e,t,n){var r=n(54360);e.exports=function(e){if(Array.isArray(e))return r(e)}},61682:function(e){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},27381:function(e){e.exports=function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},95725:function(e){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},83115:function(e,t,n){var r=n(38164),a=n(27381),o=n(73585),i=n(95725);e.exports=function(e){return r(e)||a(e)||o(e)||i()}}},function(e){e.O(0,[774,888,179],(function(){return t=14977,e(e.s=t);var t}));var t=e.O();_N_E=t}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js b/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js
deleted file mode 100644
index 66c9ce2..0000000
--- a/out/_next/static/chunks/pages/index-9893d4710094df6598ce.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{374:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return ye},GraphPage:function(){return Ce},default:function(){return ve}});var r=t(809),i=t.n(r),o=t(92447),l=t(85893),s=t(59999),a=t(26265),c=t(64121),u=t(67294);function d(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=h(e,null!==(t=r.storage)&&void 0!==t?t:localStorage),o=i.get(),l=void 0!==o?o:n;l!==o&&i.update(l);var s=(0,u.useState)(l),a=s[0],c=s[1];(0,u.useEffect)((function(){a!==l&&c(l)}),[e]);var d=function(e){e instanceof Function?c((function(n){var t=e(n);return i.update(t),t})):(c(e),i.update(e))};return[a,d]}function h(e,n){return{get:function(){var t=n.getItem(e);if(t&&"undefined"!==t)return JSON.parse(t)},update:function(t){n.setItem(e,JSON.stringify(t))},remove:function(){n.removeItem(e)}}}var g=t(54533),f=t(54309),x=t(20233),p=t(40980),j=t(48017),m=t(36194),v=[],b={};for(var C in m.oY)for(var y in m.oY[C]){var k=C+y;"LinearNone"===k&&(k="Linear"),v.push(k),b[k]=m.oY[C][y]}var w=b,S={enabled:!0,charge:-700,collision:!0,collisionStrength:20,centering:!0,centeringStrength:.05,linkStrength:.1,linkIts:1,alphaDecay:.02,alphaTarget:0,alphaMin:0,velocityDecay:.25,gravity:.3,gravityOn:!0},L={orphans:!1,parents:!0,fileless_cites:!1,tagsBlacklist:[],tagsWhitelist:[],nodes:[],links:[],date:[]},I={particles:!1,particlesNumber:0,particlesWidth:4,arrows:!1,arrowsLength:1,arrowsPos:.5,arrowsColor:"",linkOpacity:.8,linkWidth:1,nodeRel:4,nodeOpacity:1,nodeResolution:12,labels:2,labelScale:1.5,highlight:!0,highlightNodeSize:2,highlightLinkSize:2,highlightAnim:!0,animationSpeed:700,algorithmOptions:v,algorithmName:"BackOut",linkColorScheme:"gray.500",nodeColorScheme:["red.500","gray.600","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","orange.500"],nodeHighlight:"",linkHighlight:"purple.500",backgroundColor:"white",emacsNodeColor:"gray.800",labelTextColor:"black",labelBackgroundColor:"white",labelBackgroundOpacity:.7,citeDashes:!0,citeDashLength:35,citeGapLength:15,citeLinkColor:"gray.600",citeLinkHighlightColor:"",citeNodeColor:"black",refDashes:!0,refDashLength:35,refGapLength:15,refLinkColor:"gray.400",refLinkHighlightColor:"",refNodeColor:"black"},O={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},N={highlight:"hover",local:"click",follow:"double"},D=t(38347),R=t(93924),z=t(83986),T=t(48931),H=t(67546),P=t(93441),E=t(6569),Z=t(24189),B=t(2827),F=t(90454),A=t(48420),V=t(96699),M=t(40155),W=t(56769),X=t(336),_=t(72026),U=t(94096),G=t(64115),Q=t(88134),q=t(48235),K=t(67273),J=t(15267),Y=t(46049),$=t(95818),ee=t(47647),ne=t(86658),te=t(29356);function re(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function ie(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?re(Object(t),!0).forEach((function(n){(0,a.Z)(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):re(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var oe=function(e){var n=e.physics,t=e.setPhysics,r=e.threeDim,i=e.setThreeDim,o=e.filter,a=e.setFilter,d=e.visuals,h=e.setVisuals,g=e.mouse,f=e.setMouse,x=e.behavior,p=e.setBehavior,m=e.tags,v=e.tagColors,b=e.setTagColors,C=(0,u.useState)(!0),y=C[0],k=C[1],w=(0,u.useContext)(te.N),Z=w.highlightColor,B=w.setHighlightColor,$=["red.500","orange.500","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","white","gray.100","gray.200","gray.300","gray.400","gray.500","gray.600","gray.700","gray.800","gray.900","black"];return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(F.R,{in:!y,children:(0,l.jsx)(j.xu,{position:"absolute",zIndex:"overlay",marginTop:10,marginLeft:10,display:y?"none":"block",children:(0,l.jsx)(A.h,{"aria-label":"Settings",icon:(0,l.jsx)(R.e,{}),onClick:function(){return k(!0)}})})}),(0,l.jsx)(F.R,{in:y,children:(0,l.jsxs)(j.xu,{bg:"alt.100",w:"xs",marginTop:10,marginLeft:10,borderRadius:"xl",maxH:650,paddingBottom:5,zIndex:300,position:"relative",boxShadow:"xl",children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",alignItems:"center",paddingRight:2,paddingTop:1,children:[(0,l.jsx)(V.u,{label:"2D",children:(0,l.jsx)(M.z,{onClick:function(){return i(!r)},variant:"ghost",zIndex:"overlay",children:r?"3D":"2D"})}),(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(V.u,{label:"Reset settings to defaults",children:(0,l.jsx)(A.h,{"aria-label":"Reset Defaults",icon:(0,l.jsx)(z.A,{}),onClick:function(){h(I),a(L),f(N),t(S),p(O)},variant:"none",size:"sm"})}),(0,l.jsx)(A.h,{size:"sm",icon:(0,l.jsx)(T.T,{}),"aria-label":"Close Tweak Panel",variant:"ghost",onClick:function(){return k(!1)}})]})]}),(0,l.jsx)(ne.ZP,{autoHeight:!0,autoHeightMax:600,autoHide:!0,renderThumbVertical:function(e){var n=e.style,t=(0,D.Z)(e,["style"]);return(0,l.jsx)(j.xu,ie(ie({},t),{},{style:ie(ie({},n),{},{borderRadius:10}),bg:Z}))},children:(0,l.jsxs)(W.UQ,{allowMultiple:!0,allowToggle:!0,color:"black",children:[(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Filter"})]}),(0,l.jsxs)(W.Hk,{children:[(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(U.k,{justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Orphans"}),(0,l.jsx)(Q.r,{onChange:function(){a(ie(ie({},o),{},{orphans:!o.orphans}))},isChecked:o.orphans})]}),(0,l.jsxs)(U.k,{justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Link nodes with parent file"}),(0,l.jsx)(Q.r,{onChange:function(){a(ie(ie({},o),{},{parents:!o.parents}))},isChecked:o.parents})]}),(0,l.jsxs)(U.k,{justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Citations without note files"}),(0,l.jsx)(Q.r,{onChange:function(){a(ie(ie({},o),{},{fileless_cites:!o.fileless_cites}))},isChecked:o.fileless_cites})]})]}),(0,l.jsxs)(W.UQ,{padding:0,allowToggle:!0,allowMultiple:!0,paddingLeft:3,children:[(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:["Tag filters",(0,l.jsx)(W.XE,{})]}),(0,l.jsxs)(W.Hk,{pr:0,mr:0,children:[(0,l.jsx)(ue,{highlightColor:Z,filter:o,setFilter:a,tags:m,mode:"blacklist"}),(0,l.jsx)(ue,{highlightColor:Z,filter:o,setFilter:a,tags:m,mode:"whitelist"})]})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:["Tag Colors",(0,l.jsx)(W.XE,{})]}),(0,l.jsx)(W.Hk,{pr:0,mr:0,children:(0,l.jsx)(de,{tags:m,colorList:$,tagColors:v,setTagColors:b,highlightColor:Z})})]})]})]})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsx)(W.KF,{display:"flex",justifyContent:"space-between",children:(0,l.jsxs)(j.xu,{display:"flex",children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Physics"})]})}),(0,l.jsxs)(W.Hk,{children:[(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsx)(ae,{label:"Gravity",value:n.gravityOn,onChange:function(){return t(ie(ie({},n),{},{gravityOn:!n.gravityOn}))},children:(0,l.jsx)(se,{label:"Strength",value:10*n.gravity,onChange:function(e){return t(ie(ie({},n),{},{gravity:e/10}))}})}),(0,l.jsx)(se,{value:-n.charge/100,onChange:function(e){return t(ie(ie({},n),{},{charge:-100*e}))},label:"Repulsive Force"}),(0,l.jsx)(ae,{label:"Collision",infoText:"Perfomance sap, disable if slow",value:n.collision,onChange:function(){return t(ie(ie({},n),{},{collision:!n.collision}))},children:(0,l.jsx)(se,{value:n.collisionStrength/5,onChange:function(e){return t(ie(ie({},n),{},{collisionStrength:5*e}))},label:"Collision Radius",infoText:"Easy with this one, high values can lead to a real jiggly mess"})}),(0,l.jsx)(se,{value:5*n.linkStrength,onChange:function(e){return t(ie(ie({},n),{},{linkStrength:e/5}))},label:"Link Force"}),(0,l.jsx)(se,{label:"Link Iterations",value:n.linkIts,onChange:function(e){return t(ie(ie({},n),{},{linkIts:e}))},min:0,max:6,step:1,infoText:"How many links down the line the physics of a single node affects (Slow)"}),(0,l.jsx)(se,{label:"Viscosity",value:10*n.velocityDecay,onChange:function(e){return t(ie(ie({},n),{},{velocityDecay:e/10}))}})]}),(0,l.jsx)(j.xu,{children:(0,l.jsx)(W.UQ,{paddingLeft:3,allowToggle:!0,children:(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(G.x,{children:"Advanced"}),(0,l.jsx)(W.XE,{marginRight:2})]}),(0,l.jsx)(W.Hk,{children:(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:3,color:"gray.800",children:[(0,l.jsx)(se,{label:"Stabilization rate",value:50*n.alphaDecay,onChange:function(e){return t(ie(ie({},n),{},{alphaDecay:e/50}))}}),(0,l.jsx)(ae,{label:"Center nodes",value:n.centering,onChange:function(){return t(ie(ie({},n),{},{centering:!n.centering}))},infoText:"Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.",children:(0,l.jsx)(se,{label:"Centering Strength",value:n.centeringStrength,max:2,step:.01,onChange:function(e){return t(ie(ie({},n),{},{centeringStrength:e}))}})})]})})]})})})]})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Visual"})]}),(0,l.jsx)(W.Hk,{children:(0,l.jsxs)(_.gC,{justifyContent:"flex-start",align:"stretch",children:[(0,l.jsx)(W.UQ,{allowToggle:!0,defaultIndex:[0],paddingLeft:3,children:(0,l.jsxs)(W.Qd,{children:[(0,l.jsx)(W.KF,{children:(0,l.jsxs)(U.k,{justifyContent:"space-between",w:"100%",children:[(0,l.jsx)(G.x,{children:"Colors"}),(0,l.jsx)(W.XE,{marginRight:2})]})}),(0,l.jsx)(W.Hk,{children:(0,l.jsx)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Nodes"}),(0,l.jsx)(V.u,{label:"Shuffle node colors",children:(0,l.jsx)(A.h,{"aria-label":"Shuffle node colors",size:"sm",icon:(0,l.jsx)(H.n,{}),variant:"ghost",onClick:function(){var e,n=null!==(e=d.nodeColorScheme)&&void 0!==e?e:[];h(ie(ie({},d),{},{nodeColorScheme:n.map((function(e){return[Math.random(),e]})).sort((function(e,n){return(0,c.Z)(e,1)[0]-(0,c.Z)(n,1)[0]})).map((function(e){var n=(0,c.Z)(e,2);n[0];return n[1]}))}))}})}),(0,l.jsx)(V.u,{label:"Cycle node colors",children:(0,l.jsx)(A.h,{"aria-label":"Shift node colors",icon:(0,l.jsx)(P.L,{}),size:"sm",variant:"ghost",onClick:function(){var e,n=null!==(e=d.nodeColorScheme)&&void 0!==e?e:[];h(ie(ie({},d),{},{nodeColorScheme:[].concat((0,s.Z)(n.slice(1,n.length)),[n[0]])}))}})}),(0,l.jsxs)(q.v2,{placement:"right",closeOnSelect:!1,matchWidth:!0,children:[(0,l.jsx)(q.j2,{width:20,as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:(0,l.jsx)(U.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:d.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsx)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:(0,l.jsx)(q.__,{width:500,type:"checkbox",defaultValue:d.nodeColorScheme,onChange:function(e){e.length&&h(ie(ie({},d),{},{nodeColorScheme:e}))},children:$.map((function(e){return(0,l.jsx)(q.ii,{isChecked:d.nodeColorScheme.some((function(n){return n===e})),value:e,isDisabled:1===d.nodeColorScheme.length&&d.nodeColorScheme[0]===e,children:(0,l.jsx)(j.xu,{justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})})},e)}))})})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Links"}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:(0,l.jsx)(j.xu,{children:d.linkColorScheme?(0,l.jsx)(j.xu,{bgColor:d.linkColorScheme,borderRadius:"sm",height:6,width:6}):(0,l.jsx)(U.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:d.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{linkColorScheme:""}))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(U.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:d.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})}),$.map((function(e){return(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{linkColorScheme:e}))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Accent"}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:(0,l.jsx)(j.xu,{bgColor:Z,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsx)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:$.map((function(e){return(0,l.jsx)(q.sN,{onClick:function(){return B(e)},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))})]})]})]}),(0,l.jsx)(ce,{colorList:$,label:"Link highlight",visuals:d,setVisuals:h,value:"linkHighlight",visValue:d.linkHighlight}),(0,l.jsx)(ce,{colorList:$,label:"Node highlight",visuals:d,setVisuals:h,value:"nodeHighlight",visValue:d.nodeHighlight}),(0,l.jsx)(ce,{colorList:$,label:"Background",visuals:d,setVisuals:h,value:"backgroundColor",visValue:d.backgroundColor}),(0,l.jsx)(ce,{colorList:$,label:"Emacs node",visuals:d,setVisuals:h,value:"emacsNodeColor",visValue:d.emacsNodeColor})]})})})]})}),(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsx)(se,{label:"Node size",value:d.nodeRel,onChange:function(e){return h(ie(ie({},d),{},{nodeRel:e}))}}),r&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(se,{label:"Node opacity",value:d.nodeOpacity,min:0,max:1,onChange:function(e){return h(ie(ie({},d),{},{nodeOpacity:e}))}}),(0,l.jsx)(se,{label:"Node resolution",value:d.nodeResolution,min:5,max:32,step:1,onChange:function(e){return h(ie(ie({},d),{},{nodeResolution:e}))}})]}),(0,l.jsx)(se,{label:"Link width",value:d.linkWidth,onChange:function(e){return h(ie(ie({},d),{},{linkWidth:e}))}}),r&&(0,l.jsx)(se,{label:"Link opacity",min:0,max:1,value:d.linkOpacity,onChange:function(e){return h(ie(ie({},d),{},{linkOpacity:e}))}}),(0,l.jsxs)(ae,{label:"Dash cite links",infoText:"Add dashes to citation links made with org-roam-bibtex",value:d.citeDashes,onChange:function(){return h(ie(ie({},d),{},{citeDashes:!d.citeDashes}))},children:[(0,l.jsx)(se,{label:"Dash length",value:d.citeDashLength/10,onChange:function(e){return h(ie(ie({},d),{},{citeDashLength:10*e}))}}),(0,l.jsx)(se,{label:"Gap length",value:d.citeGapLength/5,onChange:function(e){return h(ie(ie({},d),{},{citeGapLength:5*e}))}})]}),(0,l.jsx)(ce,{colorList:$,label:"Citation node color",visuals:d,setVisuals:h,value:"citeNodeColor",visValue:d.citeNodeColor}),(0,l.jsx)(ce,{colorList:$,label:"Citation link color",visuals:d,setVisuals:h,value:"citeLinkColor",visValue:d.citeLinkColor}),(0,l.jsx)(ce,{colorList:$,label:"Reference link highlight",visuals:d,setVisuals:h,value:"citeLinkHighlightColor",visValue:d.citeLinkHighlightColor}),(0,l.jsxs)(ae,{label:"Dash ref links",infoText:"Add dashes to citation links, whose target has a note, made with org-roam-bibtex",value:d.refDashes,onChange:function(){return h(ie(ie({},d),{},{refDashes:!d.refDashes}))},children:[(0,l.jsx)(se,{label:"Dash length",value:d.refDashLength/10,onChange:function(e){return h(ie(ie({},d),{},{refDashLength:10*e}))}}),(0,l.jsx)(se,{label:"Gap length",value:d.refGapLength/5,onChange:function(e){return h(ie(ie({},d),{},{refGapLength:5*e}))}})]}),(0,l.jsx)(ce,{colorList:$,label:"Reference node color",visuals:d,setVisuals:h,value:"refNodeColor",visValue:d.refNodeColor}),(0,l.jsx)(ce,{colorList:$,label:"Reference link color",visuals:d,setVisuals:h,value:"refLinkColor",visValue:d.refLinkColor}),(0,l.jsx)(ce,{colorList:$,label:"Reference link highlight",visuals:d,setVisuals:h,value:"refLinkHighlightColor",visValue:d.refLinkHighlightColor}),(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Labels"}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:d.labels?d.labels<2?"On Highlight":"Always":"Never"}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{labels:0}))},children:"Never"}),(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{labels:1}))},children:"On Highlight"}),(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{labels:2}))},children:"Always"}),(0,l.jsx)(q.sN,{onClick:function(){return h(ie(ie({},d),{},{labels:3}))},children:"Always (even in 3D)"})]})]})]})]}),(0,l.jsx)(J.U,{in:d.labels>0,animateOpacity:!0,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:2,color:"gray.800",children:[(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelTextColor",visValue:d.labelTextColor}),(0,l.jsx)(ce,{colorList:$,label:"Text",visuals:d,setVisuals:h,value:"labelBackgroundColor",visValue:d.labelBackgroundColor}),(0,l.jsx)(J.U,{in:!!d.labelBackgroundColor,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Background opacity",value:d.labelBackgroundOpacity,onChange:function(e){console.log(d.labelBackgroundOpacity),h(ie(ie({},d),{},{labelBackgroundOpacity:e}))},min:0,max:1,step:.01})})}),(0,l.jsx)(J.U,{in:d.labels>1,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(se,{label:"Label Appearance Scale",value:5*d.labelScale,onChange:function(e){return h(ie(ie({},d),{},{labelScale:e/5}))}})})})]})})]}),(0,l.jsxs)(ae,{label:"Link arrows",value:d.arrows,onChange:function(){return h(ie(ie({},d),{},{arrows:!d.arrows}))},children:[(0,l.jsx)(se,{label:"Arrow size",value:d.arrowsLength/10,onChange:function(e){return h(ie(ie({},d),{},{arrowsLength:10*e}))}}),(0,l.jsx)(se,{label:"Arrow Position",value:d.arrowsPos,min:0,max:1,step:.01,onChange:function(e){return h(ie(ie({},d),{},{arrowsPos:e}))}}),(0,l.jsx)(ce,{colorList:$,label:"Arrow Color",visuals:d,setVisuals:h,value:"arrowsColor",visValue:d.arrowsColor})]}),(0,l.jsxs)(ae,{label:"Directional Particles",value:d.particles,onChange:function(){return h(ie(ie({},d),{},{particles:!d.particles}))},children:[(0,l.jsx)(se,{label:"Particle Number",value:d.particlesNumber,max:5,step:1,onChange:function(e){return h(ie(ie({},d),{},{particlesNumber:e}))}}),(0,l.jsx)(se,{label:"Particle Size",value:d.particlesWidth,onChange:function(e){return h(ie(ie({},d),{},{particlesWidth:e}))}})]}),(0,l.jsx)(ae,{label:"Highlight",onChange:function(){return h(ie(ie({},d),{},{highlight:!d.highlight}))},value:d.highlight,children:(0,l.jsxs)(_.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:0,children:[(0,l.jsx)(se,{label:"Highlight Link Thickness",value:d.highlightLinkSize,onChange:function(e){return h(ie(ie({},d),{},{highlightLinkSize:e}))}}),(0,l.jsx)(se,{label:"Highlight Node Size",value:d.highlightNodeSize,onChange:function(e){return h(ie(ie({},d),{},{highlightNodeSize:e}))}}),(0,l.jsxs)(ae,{label:"Highlight Animation",onChange:function(){h(ie(ie({},d),{},{highlightAnim:!d.highlightAnim}))},value:d.highlightAnim,children:[(0,l.jsx)(se,{label:"Animation speed",onChange:function(e){return h(ie(ie({},d),{},{animationSpeed:e}))},value:d.animationSpeed,infoText:"Slower speed has a chance of being buggy",min:50,max:1e3,step:10}),(0,l.jsx)(Y.Ph,{placeholder:d.algorithmName,onChange:function(e){h(ie(ie({},d),{},{algorithmName:e.target.value}))},children:d.algorithmOptions.map((function(e){return(0,l.jsx)("option",{value:e,children:e},e)}))})]})]})})]})]})})]}),(0,l.jsxs)(W.Qd,{children:[(0,l.jsxs)(W.KF,{children:[(0,l.jsx)(W.XE,{marginRight:2}),(0,l.jsx)(X.X,{size:"sm",children:"Behavior"})]}),(0,l.jsx)(W.Hk,{children:(0,l.jsxs)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsxs)(U.k,{children:[(0,l.jsx)(G.x,{children:"Expand Node"}),(0,l.jsx)(le,{infoText:"View only the node and its direct neighbors"})]}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:g.local?g.local[0].toUpperCase()+g.local.slice(1):"Never"})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:""}))},children:"Never"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"click"}))},children:"Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"double"}))},children:"Double Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{local:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Open in Emacs"}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:g.follow?g.follow[0].toUpperCase()+g.follow.slice(1):"Never"})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:""}))},children:"Never"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"click"}))},children:"Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"double"}))},children:"Double Click"}),(0,l.jsx)(q.sN,{onClick:function(){return f(ie(ie({},g),{},{follow:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:"Follow Emacs by..."}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,rightIcon:(0,l.jsx)(E.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(G.x,{children:x.follow[0].toUpperCase()+x.follow.slice(1)})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(q.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"local"}))},children:"Opening the local graph"}),(0,l.jsx)(q.sN,{onClick:function(){return p(ie(ie({},x),{},{follow:"zoom"}))},children:"Zooming to the current node"})]})]})]})]}),(0,l.jsx)(se,{label:"Zoom speed",value:x.zoomSpeed,min:0,max:4e3,step:100,onChange:function(e){return p(ie(ie({},x),{},{zoomSpeed:e}))}}),(0,l.jsx)(se,{label:"Zoom padding",value:x.zoomPadding,min:0,max:400,step:1,onChange:function(e){return p(ie(ie({},x),{},{zoomPadding:e}))},infoText:"How much to zoom out to accomodate all nodes when changing the view."})]})})]})]})})]})})]})},le=function(e){var n=e.infoText;return(0,l.jsx)(j.xu,{paddingLeft:"1",children:(0,l.jsx)(V.u,{label:n,placement:"top",color:"gray.100",bg:"gray.800",hasArrow:!0,children:(0,l.jsx)(Z.h,{})})})},se=function(e){var n=e.min,t=void 0===n?0:n,r=e.max,i=void 0===r?10:r,o=e.step,s=void 0===o?.1:o,a=e.value,c=void 0===a?1:a,d=(0,D.Z)(e,["min","max","step","value"]),h=d.onChange,g=d.label,f=d.infoText,x=(0,u.useContext)(te.N).highlightColor;return(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-end",children:[(0,l.jsx)(G.x,{children:g}),f&&(0,l.jsx)(le,{infoText:f})]}),(0,l.jsxs)($.iR,{value:c,onChange:h,min:t,max:i,step:s,children:[(0,l.jsx)($.Uj,{children:(0,l.jsx)($.Ms,{})}),(0,l.jsx)(V.u,{bg:x,label:c.toFixed(1),children:(0,l.jsx)($.gs,{bg:"white"})})]})]})},ae=function(e){var n=e.value,t=e.onChange,r=e.label,i=e.infoText,o=e.children;return(0,l.jsxs)(j.xu,{paddingTop:2,children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",paddingBottom:2,children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(G.x,{children:r}),i&&(0,l.jsx)(le,{infoText:i})]}),(0,l.jsx)(Q.r,{isChecked:!!n,onChange:t})]}),(0,l.jsx)(J.U,{in:!!n,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingLeft:4,paddingTop:2,paddingBottom:2,children:o})})]})},ce=function(e){var n=e.label,t=e.colorList,r=e.value,i=e.visuals,o=e.visValue,s=e.setVisuals;return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(G.x,{children:n}),(0,l.jsxs)(q.v2,{placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(E.v,{}),children:(0,l.jsx)(j.xu,{bgColor:o,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsxs)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(q.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,"")))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{height:6,width:6})}),t.map((function(e){return(0,l.jsx)(q.sN,{onClick:function(){return s(ie(ie({},i),{},(0,a.Z)({},r,e)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]})},ue=function(e){var n=e.filter,t=e.setFilter,r=e.tags,i=e.highlightColor,o=e.mode,s=r.map((function(e){return{value:e,label:e}})),c="blacklist"===o?"tagsBlacklist":"tagsWhitelist",d=(0,u.useState)(n[c].map((function(e){return{value:e,label:e}}))),h=d[0],g=d[1];return(0,l.jsx)(ee.CUIAutoComplete,{items:s,label:"Add tag to "+o,placeholder:" ",onCreateItem:function(e){return null},disableCreateItem:!0,selectedItems:h,onSelectedItemsChange:function(e){e.selectedItems&&(g(e.selectedItems),t(ie(ie({},n),{},(0,a.Z)({},c,e.selectedItems.map((function(e){return e.value}))))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}})},de=function(e){var n=e.colorList,t=e.tagColors,r=e.setTagColors,i=e.highlightColor,o=e.tags.map((function(e){return{value:e,label:e}})),s=(0,u.useState)(Object.keys(t).map((function(e){return{value:e,label:e}}))),c=s[0],d=s[1];return(0,l.jsxs)(j.xu,{children:[(0,l.jsx)(ee.CUIAutoComplete,{items:o,label:"Add tag to filter",placeholder:" ",disableCreateItem:!0,selectedItems:c,onSelectedItemsChange:function(e){e.selectedItems&&(d(Array.from(new Set(e.selectedItems))),r(Object.fromEntries(Array.from(new Set(e.selectedItems)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{display:"none",rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}}),(0,l.jsx)(_.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(_.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:Object.keys(t).map((function(e){return(0,l.jsxs)(U.k,{alignItems:"center",justifyContent:"space-between",width:"100%",pl:2,children:[(0,l.jsx)(j.xu,{width:"100%",children:(0,l.jsx)(G.x,{fontWeight:"bold",children:e})}),(0,l.jsxs)(q.v2,{isLazy:!0,placement:"right",children:[(0,l.jsx)(q.j2,{as:M.z,colorScheme:"",color:"black",children:(0,l.jsx)(j.xu,{bgColor:t[e],borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(K.h,{children:[" ",(0,l.jsx)(q.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:n.map((function(n){return(0,l.jsx)(q.sN,{onClick:function(){return r(ie(ie({},t),{},(0,a.Z)({},e,n)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:n,borderRadius:"sm",height:6,width:6})},n)}))})]})]}),(0,l.jsx)(A.h,{"aria-label":"Delete tag color",variant:"ghost",icon:(0,l.jsx)(B.p,{}),onClick:function(){r(Object.fromEntries(Array.from(new Set(c)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))),d(c.filter((function(n){return n.value!==e})))}})]},e)}))})]})},he=t(31122),ge=t(22003);function fe(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function xe(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?fe(Object(t),!0).forEach((function(n){(0,a.Z)(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var pe=t.e(4).then(t.bind(t,57004)),je=t.g.window?t(61957).f$:null,me=t.g.window?t(61957).s6:null;function ve(){var e=(0,u.useState)(!1),n=e[0],t=e[1];return(0,u.useEffect)((function(){t(!0)}),[]),n?(0,l.jsx)(Ce,{}):null}function be(e){return["object"===typeof e.source?e.source.id:e.source,"object"===typeof e.target?e.target.id:e.target]}function Ce(){var e=d("physics",S),n=(0,c.Z)(e,2),t=n[0],r=n[1],i=d("filter",L),o=(0,c.Z)(i,2),h=o[0],g=o[1],f=d("visuals",I),x=(0,c.Z)(f,2),p=x[0],m=x[1],v=(0,u.useState)(null),b=v[0],C=v[1],y=(0,u.useState)(null),k=y[0],w=y[1],D=d("behavior",O),R=(0,c.Z)(D,2),z=R[0],T=R[1],H=d("mouse",N),P=(0,c.Z)(H,2),E=P[0],Z=P[1],B=(0,u.useRef)({}),F=(0,u.useRef)({}),A=(0,u.useRef)([]),V=(0,u.useContext)(te.N).setEmacsTheme,M=d("3d",!1),W=(0,c.Z)(M,2),X=W[0],_=W[1],U=d("tagCols",{}),G=(0,c.Z)(U,2),Q=G[0],q=G[1],K=(0,u.useState)({nodeIds:[]}),J=K[0],Y=K[1],$=(0,u.useRef)({nodeIds:[]}),ee=(0,u.useRef)(O);ee.current=z;var ne=(0,u.useRef)(null),re=(0,u.useRef)(null);$.current=J;var ie=function(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2e3,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,o=ne.current,l=$.current,a=ee.current,c=null!==(t=F.current[n])&&void 0!==t?t:[],u=Object.fromEntries([n].concat((0,s.Z)(c.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})));return"zoom"===e?(console.log(l),l.nodeIds.length&&(console.log("emptying"),console.log("scope "+l.nodeIds),Y({nodeIds:[]})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):l.nodeIds.length?"add"!==a.localSame?(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):l.nodeIds.includes(n)&&l.nodeIds.some((function(e){return u[e]}))?(Y((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n])})})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return u[e.id]}))}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50)):(Y({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50))};return(0,u.useEffect)((function(){re.current=new ge.Z("ws://localhost:35903"),re.current.addEventListener("open",(function(e){console.log("Connection with Emacs established")})),re.current.addEventListener("message",(function(e){ne.current;var n=ee.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n;A.current=null!==(n=e.tags)&&void 0!==n?n:[];var t=e.nodes.reduce((function(e,n){var t;return xe(xe({},e),{},(0,a.Z)({},n.file,[].concat((0,s.Z)(null!==(t=e[n.file])&&void 0!==t?t:[]),[n])))}),{}),r=Object.keys(t).flatMap((function(e){var n,r=null!==(n=t[e])&&void 0!==n?n:[],i=r.find((function(e){return 0===e.level})),o=r.filter((function(e){return 0!==e.level}));return i?o.map((function(e){return{source:e.id,target:i.id,type:"parent"}})):[]}));B.current=Object.fromEntries(e.nodes.map((function(e){return[e.id,e]})));var i=[].concat((0,s.Z)(e.links),(0,s.Z)(r)).filter((function(e){var n=e.source,t=e.target;return B.current[n]&&B.current[t]}));F.current=i.reduce((function(e,n){var t,r,i;return xe(xe({},e),{},(i={},(0,a.Z)(i,n.source,[].concat((0,s.Z)(null!==(t=e[n.source])&&void 0!==t?t:[]),[n])),(0,a.Z)(i,n.target,[].concat((0,s.Z)(null!==(r=e[n.target])&&void 0!==r?r:[]),[n])),i))}),{});var o=xe(xe({},e),{},{links:i}),l=JSON.parse(JSON.stringify(o));C(l)}(t.data);case"theme":return V(t.data);case"command":switch(t.data.commandName){case"local":var r=z.zoomSpeed,i=z.zoomPadding;ie("local",t.data.id,r,i),w(t.data.id);break;case"zoom":var o,l,c=(null===t||void 0===t||null===(o=t.data)||void 0===o?void 0:o.speed)||n.zoomSpeed,u=(null===t||void 0===t||null===(l=t.data)||void 0===l?void 0:l.padding)||n.zoomPadding;ie("zoom",t.data.id,c,u),w(t.data.id);break;case"follow":ie(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),w(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),b?(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100%",children:[(0,l.jsx)(oe,xe(xe({},{physics:t,setPhysics:r,threeDim:X,setThreeDim:_,filter:h,setFilter:g,visuals:p,setVisuals:m,mouse:E,setMouse:Z,behavior:z,setBehavior:T,tagColors:Q,setTagColors:q}),{},{tags:A.current})),(0,l.jsx)(j.xu,{position:"absolute",alignItems:"top",children:(0,l.jsx)(ye,xe({ref:ne,nodeById:B.current,linksByNodeId:F.current,webSocket:re.current},{physics:t,graphData:b,threeDim:X,emacsNodeId:k,filter:h,visuals:p,behavior:z,mouse:E,scope:J,setScope:Y,tagColors:Q}))})]}):null}var ye=(0,u.forwardRef)((function(e,n){var t=e.physics,r=e.graphData,d=e.threeDim,h=e.linksByNodeId,j=e.filter,m=e.emacsNodeId,v=e.nodeById,b=e.visuals,C=(e.behavior,e.mouse),y=e.scope,k=e.setScope,S=e.webSocket,L=e.tagColors,I=(0,f.iP)(),O=(0,c.Z)(I,2),N=O[0],D=O[1],R=(0,u.useState)(null),z=R[0],T=R[1],H=(0,p.useTheme)(),P=(0,u.useContext)(te.N).emacsTheme,E=function(e,n){switch(e){case C.local:if(y.nodeIds.includes(n.id))break;k((function(e){return xe(xe({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n.id])})}));break;case C.follow:S.send(n.id)}},Z=(0,u.useRef)(null);(0,u.useEffect)((function(){m&&T(v[m])}),[m]),Z.current=z;var B=(0,u.useMemo)((function(){if(!Z.current)return{};var e=h[Z.current.id];return e?Object.fromEntries([Z.current.id].concat((0,s.Z)(e.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]}))):{}}),[Z.current,h]),F=(0,u.useRef)({}),A=((0,u.useRef)({}),(0,u.useMemo)((function(){F.current={};var e=r.nodes.filter((function(e){var n=e;return j.tagsBlacklist.length&&j.tagsBlacklist.some((function(e){return n.tags.indexOf(e)>-1}))||j.tagsWhitelist.length>0&&!j.tagsWhitelist.some((function(e){return n.tags.indexOf(e)>-1}))?(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1):!j.fileless_cites||!n.properties.FILELESS||(F.current=xe(xe({},F.current),{},(0,a.Z)({},n.id,n)),!1)})).filter((function(e){var n,t=(null!==(n=h[e.id])&&void 0!==n?n:[]).filter((function(e){return!F.current[e.source]&&!F.current[e.target]}));return!j.orphans||(j.parents?0!==t.length:0!==t.length&&t.some((function(e){return!["parent"].includes(e.type)})))})),n=e.map((function(e){return e.id}));return{filteredNodes:e,filteredLinks:r.links.filter((function(e){var t=be(e),r=(0,c.Z)(t,2),i=r[0],o=r[1];if(j.tagsBlacklist.length||j.tagsWhitelist.length||j.fileless_cites)return n.includes(i)&&n.includes(o);var l=e;return j.parents||"parent"!==l.type}))}}),[j,r])),V=(0,u.useMemo)((function(){var e=A.filteredNodes.filter((function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[];return y.nodeIds.includes(e.id)||t.some((function(e){return y.nodeIds.includes(e.source)||y.nodeIds.includes(e.target)}))})),n=e.map((function(e){return e.id})),t=A.filteredLinks.filter((function(e){var t=be(e),r=(0,c.Z)(t,2),i=r[0],o=r[1];return n.includes(i)&&n.includes(o)}));return 0===y.nodeIds.length?{nodes:A.filteredNodes,links:A.filteredLinks}:{nodes:e,links:t}}),[j,y,r]);(0,u.useEffect)((function(){(0,o.Z)(i().mark((function e(){var r,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.current,e.next=3,pe;case 3:o=e.sent,t.gravityOn?(r.d3Force("x",o.forceX().strength(t.gravity)),r.d3Force("y",o.forceY().strength(t.gravity)),d&&r.d3Force("z",o.forceZ().strength(t.gravity))):(r.d3Force("x",null),r.d3Force("y",null),d&&r.d3Force("z",null)),t.centering?r.d3Force("center",o.forceCenter().strength(t.centeringStrength)):r.d3Force("center",null),t.linkStrength&&r.d3Force("link").strength(t.linkStrength),t.linkIts&&r.d3Force("link").iterations(t.linkIts),t.charge&&r.d3Force("charge").strength(t.charge),r.d3Force("collide",t.collision?o.forceCollide().radius(t.collisionStrength):null);case 10:case"end":return e.stop()}}),e)})))()})),(0,u.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t]);var M=(0,u.useRef)(0),W=(0,u.useState)(1),X=W[0],_=W[1],U=(0,x._7)((function(e){return _(e)}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),G=(0,c.Z)(U,2),Q=G[0],q=G[1],K=(0,x._7)((function(e){return _(Math.min(X,-1*(e-1)))}),{duration:b.animationSpeed,algorithm:w[b.algorithmName]}),J=(0,c.Z)(K,2),Y=J[0],$=J[1],ee=(0,u.useRef)(null);(0,u.useEffect)((function(){if(z&&(ee.current=z),!b.highlightAnim)return _(z?1:0);z?Q():(q(),X>.5?Y():_(0))}),[z]);var ne=function(e){if(H)return e.split(".").reduce((function(e,n){return e[n]}),H.colors)},re=(0,u.useMemo)((function(){var e=b.nodeColorScheme.concat(b.linkColorScheme||[],b.linkHighlight||[],b.nodeHighlight||[],b.citeNodeColor||[],b.citeLinkColor||[],b.citeLinkHighlightColor||[],b.refNodeColor||[],b.refLinkColor||[],b.refLinkHighlightColor||[]);return Object.fromEntries(e.map((function(n){var t=ne(n),r=e.map((function(e){return[e,g.Z(t,ne(e))]}));return[n,Object.fromEntries(r)]})))}),[b.nodeColorScheme,b.linkHighlight,b.nodeHighlight,b.linkColorScheme,P]),ie=(0,u.useMemo)((function(){var e,n,t,r=null!==(e=h[null===(n=ee.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=ee.current)||void 0===t?void 0:t.id].concat((0,s.Z)(r.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})))}),[JSON.stringify(z),ee.current]),oe=function(e){var n,t,r,i,o,l,s=null!==(n=null===(t=h[e])||void 0===t?void 0:t.length)&&void 0!==n?n:0,a=s?null===(r=h[e])||void 0===r?void 0:r.filter((function(e){return"parent"===e.type})).length:0,c=j.parents?s:s-a;return b.nodeColorScheme[(i=c,o=0,l=b.nodeColorScheme.length-1,Math.min(Math.max(i,o),l))]},le=function(e,n){return h[e]>h[n]?oe(e):oe(n)},se=function(e,n){return"rgba("+(e=e.replace("#","")).match(new RegExp("(.{"+e.length/3+"})","g")).map((function(n){return parseInt(e.length%2?n+n:n,16)})).concat(isFinite(n)?n:1).join(",")+")"},ae=(0,u.useMemo)((function(){return ne(b.labelTextColor)}),[b.labelTextColor,P]),ce=(0,u.useMemo)((function(){return ne(b.labelBackgroundColor)}),[b.labelBackgroundColor,P]),ue={graphData:V,width:N,height:D,backgroundColor:H.colors.gray[b.backgroundColor],nodeLabel:function(e){return e.title},nodeColor:function(e){return function(e){var n=B[e.id]||ie[e.id];if(b.emacsNodeColor&&e.id===m)return ne(b.emacsNodeColor);if(L&&e.tags.some((function(e){return L[e]}))){var t=L[e.tags.filter((function(e){return L[e]}))[0]];return ne(t)}return b.citeNodeColor&&e.properties.ROAM_REFS&&e.properties.FILELESS?ne(b.citeNodeColor):b.refNodeColor&&e.properties.ROAM_REFS?ne(b.refNodeColor):n&&b.nodeHighlight?re[oe(e.id)][b.nodeHighlight](X):ne(oe(e.id))}(e)},nodeRelSize:b.nodeRel,nodeVal:function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[],r=t.length?t.filter((function(e){return"parent"===e.type})).length:0;return(3+t.length-(j.parents?0:r))*(B[e.id]||ie[e.id]?1+X*(b.highlightNodeSize-1):1)},nodeCanvasObject:function(e,n,t){if(e&&b.labels){var r=ie[e.id];if(!(t<=b.labelScale||1===b.labels)||B[e.id]||r){var i=e.title,o=i.substring(0,Math.min(i.length,40)),l=12/t,a=[1.1*n.measureText(o).width,l].map((function(e){return e+.5*l})),c=Math.min(3*(t-b.labelScale)/b.labelScale,1),u=function(){return 1===b.labels||t<=b.labelScale?X:B[e.id]||ie[e.id]?Math.max(c,X):1*c*(-1*(.5*X-1))};if(b.labelBackgroundColor&&b.labelBackgroundOpacity){var d=u()*b.labelBackgroundOpacity,h=se(ce,d);n.fillStyle=h,n.fillRect.apply(n,[e.x-a[0]/2,e.y-a[1]/2].concat((0,s.Z)(a)))}var g=u();n.textAlign="center",n.textBaseline="middle";var f=se(ae,g);n.fillStyle=f,n.font="".concat(l,"px Sans-Serif"),n.fillText(o,e.x,e.y)}}},nodeCanvasObjectMode:function(){return"after"},linkDirectionalParticles:b.particles?b.particlesNumber:void 0,linkDirectionalArrowLength:b.arrows?b.arrowsLength:void 0,linkDirectionalArrowRelPos:b.arrowsPos,linkDirectionalArrowColor:b.arrowsColor?function(e){return ne(b.arrowsColor)}:void 0,linkColor:function(e){var n="object"===typeof e.source?e.source.id:e.source,t="object"===typeof e.target?e.target.id:e.target,r=ke(e,Z.current),i=ke(e,ee.current),o=r||i,l=e;return b.refLinkColor&&"ref"===l.type?o&&(b.refLinkHighlightColor||b.linkHighlight)?re[b.refLinkColor][b.refLinkHighlightColor||b.linkHighlight](X):ne(b.refLinkColor):b.citeLinkColor&&"cite"===l.type?o&&(b.citeLinkHighlightColor||b.linkHighlight)?re[b.citeLinkColor][b.citeLinkHighlightColor||b.linkHighlight](X):ne(b.citeLinkColor):function(e,n,t){if(!b.linkHighlight&&!b.linkColorScheme&&!t){var r=le(e,n);return ne(r)}if(!t&&!b.linkColorScheme){var i=le(e,n);return ne(i)}if(!t)return ne(b.linkColorScheme);if(!b.linkHighlight&&!b.linkColorScheme){var o=le(e,n);return ne(o)}return b.linkHighlight?b.linkColorScheme?re[b.linkColorScheme][b.linkHighlight](X):re[le(e,n)][b.linkHighlight](X):ne(b.linkColorScheme)}(n,t,o)},linkWidth:function(e){var n=ke(e,Z.current),t=ke(e,ee.current);return n||t?b.linkWidth*(1+X*(b.highlightLinkSize-1)):b.linkWidth},linkDirectionalParticleWidth:b.particlesWidth,d3AlphaDecay:t.alphaDecay,d3AlphaMin:t.alphaMin,d3VelocityDecay:t.velocityDecay,onNodeClick:function(e,n){var t=n.timeStamp-M.current<400;return M.current=n.timeStamp,E(t?"double":"click",e)},onBackgroundClick:function(){T(null),0!==y.nodeIds.length&&k((function(e){return xe(xe({},e),{},{nodeIds:[]})}))},onNodeHover:function(e){b.highlight&&(z||($(),_(0)),T(e))},onNodeRightClick:function(e){E("right",e)}};return(0,l.jsx)("div",{children:d?(0,l.jsx)(me,xe(xe({ref:n},ue),{},{nodeThreeObjectExtend:!0,backgroundColor:H.colors.white,nodeOpacity:b.nodeOpacity,nodeResolution:b.nodeResolution,linkOpacity:b.linkOpacity,nodeThreeObject:function(e){if(b.labels&&(!(b.labels<3)||B[e.id])){var n=new he.Z(e.title.substring(0,40));return n.color=ne(b.labelTextColor),n.backgroundColor=ne(b.labelBackgroundColor),n.padding=2,n.textHeight=8,n}}})):(0,l.jsx)(je,xe(xe({ref:n},ue),{},{linkLineDash:function(e){var n=e;return b.citeDashes&&"cite"===n.type?[b.citeDashLength,b.citeGapLength]:b.refDashes&&"ref"==n.type?[b.refDashLength,b.refGapLength]:null}}))})}));function ke(e,n){return e.source.id===(null===n||void 0===n?void 0:n.id)||e.target.id===(null===n||void 0===n?void 0:n.id)}},45301:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(374)}])}},function(e){e.O(0,[774,737,446,13,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/pages/index-a22d59b6e873aa5b1f23.js b/out/_next/static/chunks/pages/index-a22d59b6e873aa5b1f23.js
new file mode 100644
index 0000000..6f721ec
--- /dev/null
+++ b/out/_next/static/chunks/pages/index-a22d59b6e873aa5b1f23.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{96834:function(e,n,t){"use strict";t.r(n),t.d(n,{Graph:function(){return ze},GraphPage:function(){return Ne},default:function(){return Le}});var r=t(809),i=t.n(r),o=t(92447),l=t(85893),s=t(59999),a=t(26265),c=t(64121),d=t(67294);function u(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=h(e,null!==(t=r.storage)&&void 0!==t?t:localStorage),o=i.get(),l=void 0!==o?o:n;l!==o&&i.update(l);var s=(0,d.useState)(l),a=s[0],c=s[1];(0,d.useEffect)((function(){a!==l&&c(l)}),[e]);var u=function(e){e instanceof Function?c((function(n){var t=e(n);return i.update(t),t})):(c(e),i.update(e))};return[a,u]}function h(e,n){return{get:function(){var t=n.getItem(e);if(t&&"undefined"!==t)return JSON.parse(t)},update:function(t){n.setItem(e,JSON.stringify(t))},remove:function(){n.removeItem(e)}}}var g=t(54533),f=t(54309),x=t(20233),p=t(40980),j=t(48017),m=t(74860),v=t(36194),b=[],C={};for(var y in v.oY)for(var k in v.oY[y]){var w=y+k;"LinearNone"===w&&(w="Linear"),b.push(w),C[w]=v.oY[y][k]}var S=C,I={enabled:!0,charge:-700,collision:!0,collisionStrength:20,centering:!0,centeringStrength:.05,linkStrength:.3,linkIts:1,alphaDecay:.1,alphaTarget:0,alphaMin:0,velocityDecay:.25,gravity:.3,gravityOn:!0},L={orphans:!1,parents:!0,filelessCites:!1,tagsBlacklist:[],tagsWhitelist:[],bad:!0,nodes:[],links:[],date:[]},O={particles:!1,particlesNumber:0,particlesWidth:4,arrows:!1,arrowsLength:1,arrowsPos:.5,arrowsColor:"",linkOpacity:.8,linkWidth:1,nodeRel:4,nodeOpacity:1,nodeResolution:12,labels:2,labelScale:1.5,highlight:!0,highlightNodeSize:2,highlightLinkSize:2,highlightFade:.8,highlightAnim:!0,animationSpeed:420,algorithmOptions:b,algorithmName:"SinusoidalOut",linkColorScheme:"gray.500",nodeColorScheme:["red.500","gray.600","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","orange.500"],nodeHighlight:"purple.500",linkHighlight:"purple.500",backgroundColor:"white",emacsNodeColor:"gray.800",labelTextColor:"gray.900",labelBackgroundColor:"",labelBackgroundOpacity:.7,citeDashes:!0,citeDashLength:35,citeGapLength:15,citeLinkColor:"gray.700",citeLinkHighlightColor:"",citeNodeColor:"black",refDashes:!0,refDashLength:35,refGapLength:15,refLinkColor:"gray.700",refLinkHighlightColor:"",refNodeColor:"black",nodeSizeLinks:.5},N={follow:"zoom",localSame:"add",zoomPadding:200,zoomSpeed:2e3},z={highlight:"hover",local:"click",follow:"double"},R=["red.500","orange.500","yellow.500","green.500","cyan.500","blue.500","pink.500","purple.500","white","gray.100","gray.200","gray.300","gray.400","gray.500","gray.600","gray.700","gray.800","gray.900","black"],D=t(38347),T=t(93924),E=t(83986),F=t(48931),Z=t(67546),H=t(93441),P=t(6569),B=t(24189),A=t(2827),V=t(48420),M=t(96699),W=t(40155),X=t(56769),_=t(336),U=t(72026),G=t(94096),q=t(64115),Q=t(88134),K=t(48235),J=t(67273),Y=t(15267),$=t(46049),ee=t(95818),ne=t(47647),te=t(86658),re=t(29356);function ie(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function oe(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?ie(Object(t),!0).forEach((function(n){(0,a.Z)(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ie(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var le=function(e){var n=e.physics,t=e.setPhysics,r=e.threeDim,i=e.setThreeDim,o=e.filter,a=e.setFilter,u=e.visuals,h=e.setVisuals,g=e.mouse,f=e.setMouse,x=e.behavior,p=e.setBehavior,m=e.tags,v=e.tagColors,b=e.setTagColors,C=(0,d.useState)(!0),y=C[0],k=C[1],w=(0,d.useContext)(re.N),S=w.highlightColor,B=w.setHighlightColor;return y?(0,l.jsxs)(j.xu,{bg:"alt.100",w:"xs",marginTop:10,marginLeft:10,borderRadius:"xl",paddingBottom:5,zIndex:300,position:"relative",boxShadow:"xl",maxH:.95*globalThis.innerHeight,children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",alignItems:"center",paddingRight:2,paddingTop:1,children:[(0,l.jsx)(M.u,{label:"2D",children:(0,l.jsx)(W.z,{onClick:function(){return i(!r)},variant:"ghost",zIndex:"overlay",children:r?"3D":"2D"})}),(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(M.u,{label:"Reset settings to defaults",children:(0,l.jsx)(V.h,{"aria-label":"Reset Defaults",icon:(0,l.jsx)(E.A,{}),onClick:function(){h(O),a(L),f(z),t(I),p(N)},variant:"none",size:"sm"})}),(0,l.jsx)(V.h,{size:"sm",icon:(0,l.jsx)(F.T,{}),"aria-label":"Close Tweak Panel",variant:"ghost",onClick:function(){return k(!1)}})]})]}),(0,l.jsx)(te.ZP,{autoHeight:!0,autoHeightMax:.85*globalThis.innerHeight,autoHide:!0,renderThumbVertical:function(e){var n=e.style,t=(0,D.Z)(e,["style"]);return(0,l.jsx)(j.xu,oe(oe({},t),{},{style:oe(oe({},n),{},{borderRadius:10}),bg:S}))},children:(0,l.jsxs)(X.UQ,{allowMultiple:!0,allowToggle:!0,color:"black",children:[(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:[(0,l.jsx)(X.XE,{marginRight:2}),(0,l.jsx)(_.X,{size:"sm",children:"Filter"})]}),(0,l.jsxs)(X.Hk,{children:[(0,l.jsxs)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(G.k,{justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Orphans"}),(0,l.jsx)(Q.r,{onChange:function(){a(oe(oe({},o),{},{orphans:!o.orphans}))},isChecked:o.orphans})]}),(0,l.jsxs)(G.k,{justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Link nodes with parent file"}),(0,l.jsx)(Q.r,{onChange:function(){a(oe(oe({},o),{},{parents:!o.parents}))},isChecked:o.parents})]}),(0,l.jsxs)(G.k,{justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Citations without note files"}),(0,l.jsx)(Q.r,{onChange:function(){a(oe(oe({},o),{},{filelessCites:!o.filelessCites}))},isChecked:o.filelessCites})]}),(0,l.jsxs)(G.k,{justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Non-existant nodes"}),(0,l.jsx)(Q.r,{onChange:function(){b(oe(oe({},v),{},{bad:"white"})),a(oe(oe({},o),{},{bad:!o.bad}))},isChecked:o.bad})]})]}),(0,l.jsxs)(X.UQ,{padding:0,allowToggle:!0,allowMultiple:!0,paddingLeft:3,children:[(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:["Tag filters",(0,l.jsx)(X.XE,{})]}),(0,l.jsxs)(X.Hk,{pr:0,mr:0,children:[(0,l.jsx)(ue,{highlightColor:S,filter:o,setFilter:a,tags:m,mode:"blacklist"}),(0,l.jsx)(ue,{highlightColor:S,filter:o,setFilter:a,tags:m,mode:"whitelist"})]})]}),(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:["Tag Colors",(0,l.jsx)(X.XE,{})]}),(0,l.jsx)(X.Hk,{pr:0,mr:0,children:(0,l.jsx)(he,{tags:m,colorList:R,tagColors:v,setTagColors:b,highlightColor:S})})]})]})]})]}),(0,l.jsxs)(X.Qd,{children:[(0,l.jsx)(X.KF,{display:"flex",justifyContent:"space-between",children:(0,l.jsxs)(j.xu,{display:"flex",children:[(0,l.jsx)(X.XE,{marginRight:2}),(0,l.jsx)(_.X,{size:"sm",children:"Physics"})]})}),(0,l.jsxs)(X.Hk,{children:[(0,l.jsxs)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsx)(ce,{label:"Gravity",value:n.gravityOn,onChange:function(){return t(oe(oe({},n),{},{gravityOn:!n.gravityOn}))},children:(0,l.jsx)(ae,{label:"Strength",value:10*n.gravity,onChange:function(e){return t(oe(oe({},n),{},{gravity:e/10}))}})}),(0,l.jsx)(ae,{value:-n.charge/100,onChange:function(e){return t(oe(oe({},n),{},{charge:-100*e}))},label:"Repulsive Force"}),(0,l.jsx)(ce,{label:"Collision",infoText:"Perfomance sap, disable if slow",value:n.collision,onChange:function(){return t(oe(oe({},n),{},{collision:!n.collision}))},children:(0,l.jsx)(ae,{value:n.collisionStrength/5,onChange:function(e){return t(oe(oe({},n),{},{collisionStrength:5*e}))},label:"Collision Radius",infoText:"Easy with this one, high values can lead to a real jiggly mess"})}),(0,l.jsx)(ae,{value:5*n.linkStrength,onChange:function(e){return t(oe(oe({},n),{},{linkStrength:e/5}))},label:"Link Force"}),(0,l.jsx)(ae,{label:"Link Iterations",value:n.linkIts,onChange:function(e){return t(oe(oe({},n),{},{linkIts:e}))},min:0,max:6,step:1,infoText:"How many links down the line the physics of a single node affects (Slow)"}),(0,l.jsx)(ae,{label:"Viscosity",value:10*n.velocityDecay,onChange:function(e){return t(oe(oe({},n),{},{velocityDecay:e/10}))}})]}),(0,l.jsx)(j.xu,{children:(0,l.jsx)(X.UQ,{paddingLeft:3,allowToggle:!0,children:(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:[(0,l.jsx)(q.x,{children:"Advanced"}),(0,l.jsx)(X.XE,{marginRight:2})]}),(0,l.jsx)(X.Hk,{children:(0,l.jsxs)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:3,color:"gray.800",children:[(0,l.jsx)(ae,{label:"Stabilization rate",value:50*n.alphaDecay,onChange:function(e){return t(oe(oe({},n),{},{alphaDecay:e/50}))}}),(0,l.jsx)(ce,{label:"Center nodes",value:n.centering,onChange:function(){return t(oe(oe({},n),{},{centering:!n.centering}))},infoText:"Keeps the nodes in the center of the viewport. If disabled you can drag the nodes anywhere you want.",children:(0,l.jsx)(ae,{label:"Centering Strength",value:n.centeringStrength,max:2,step:.01,onChange:function(e){return t(oe(oe({},n),{},{centeringStrength:e}))}})})]})})]})})})]})]}),(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:[(0,l.jsx)(X.XE,{marginRight:2}),(0,l.jsx)(_.X,{size:"sm",children:"Visual"})]}),(0,l.jsx)(X.Hk,{children:(0,l.jsxs)(U.gC,{justifyContent:"flex-start",align:"stretch",children:[(0,l.jsx)(X.UQ,{allowToggle:!0,defaultIndex:[0],paddingLeft:3,children:(0,l.jsxs)(X.Qd,{children:[(0,l.jsx)(X.KF,{children:(0,l.jsxs)(G.k,{justifyContent:"space-between",w:"100%",children:[(0,l.jsx)(q.x,{children:"Colors"}),(0,l.jsx)(X.XE,{marginRight:2})]})}),(0,l.jsx)(X.Hk,{children:(0,l.jsx)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Nodes"}),(0,l.jsx)(M.u,{label:"Shuffle node colors",children:(0,l.jsx)(V.h,{"aria-label":"Shuffle node colors",size:"sm",icon:(0,l.jsx)(Z.n,{}),variant:"ghost",onClick:function(){var e,n=null!==(e=u.nodeColorScheme)&&void 0!==e?e:[];h(oe(oe({},u),{},{nodeColorScheme:n.map((function(e){return[Math.random(),e]})).sort((function(e,n){return(0,c.Z)(e,1)[0]-(0,c.Z)(n,1)[0]})).map((function(e){var n=(0,c.Z)(e,2);n[0];return n[1]}))}))}})}),(0,l.jsx)(M.u,{label:"Cycle node colors",children:(0,l.jsx)(V.h,{"aria-label":"Shift node colors",icon:(0,l.jsx)(H.L,{}),size:"sm",variant:"ghost",onClick:function(){var e,n=null!==(e=u.nodeColorScheme)&&void 0!==e?e:[];h(oe(oe({},u),{},{nodeColorScheme:[].concat((0,s.Z)(n.slice(1,n.length)),[n[0]])}))}})}),(0,l.jsxs)(K.v2,{placement:"right",closeOnSelect:!1,matchWidth:!0,children:[(0,l.jsx)(K.j2,{width:20,as:W.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(P.v,{}),children:(0,l.jsx)(G.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:u.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsx)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:(0,l.jsx)(K.__,{width:500,type:"checkbox",defaultValue:u.nodeColorScheme,onChange:function(e){e.length&&h(oe(oe({},u),{},{nodeColorScheme:e}))},children:R.map((function(e){return(0,l.jsx)(K.ii,{isChecked:u.nodeColorScheme.some((function(n){return n===e})),value:e,isDisabled:1===u.nodeColorScheme.length&&u.nodeColorScheme[0]===e,children:(0,l.jsx)(j.xu,{justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})})},e)}))})})]})]})]}),(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Links"}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(P.v,{}),children:(0,l.jsx)(j.xu,{children:u.linkColorScheme?(0,l.jsx)(j.xu,{bgColor:u.linkColorScheme,borderRadius:"sm",height:6,width:6}):(0,l.jsx)(G.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:u.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{linkColorScheme:""}))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(G.k,{height:6,width:6,flexDirection:"column",flexWrap:"wrap",children:u.nodeColorScheme.map((function(e){return(0,l.jsx)(j.xu,{bgColor:e,flex:"1 1 8px",borderRadius:"2xl"},e)}))})}),R.map((function(e){return(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{linkColorScheme:e}))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]}),(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Accent"}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(P.v,{}),children:(0,l.jsx)(j.xu,{bgColor:S,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsx)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:R.map((function(e){return(0,l.jsx)(K.sN,{onClick:function(){return B(e)},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))})]})]})]}),(0,l.jsx)(de,{colorList:R,label:"Link highlight",visuals:u,setVisuals:h,value:"linkHighlight",visValue:u.linkHighlight}),(0,l.jsx)(de,{colorList:R,label:"Node highlight",visuals:u,setVisuals:h,value:"nodeHighlight",visValue:u.nodeHighlight}),(0,l.jsx)(de,{colorList:R,label:"Background",visuals:u,setVisuals:h,value:"backgroundColor",visValue:u.backgroundColor}),(0,l.jsx)(de,{colorList:R,label:"Emacs node",visuals:u,setVisuals:h,value:"emacsNodeColor",visValue:u.emacsNodeColor})]})})})]})}),(0,l.jsxs)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsx)(ae,{label:"Node size",value:u.nodeRel,onChange:function(e){return h(oe(oe({},u),{},{nodeRel:e}))}}),(0,l.jsx)(ae,{label:"Node connections size scale",value:u.nodeSizeLinks,min:0,max:2,onChange:function(e){return h(oe(oe({},u),{},{nodeSizeLinks:e}))}}),r&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ae,{label:"Node opacity",value:u.nodeOpacity,min:0,max:1,onChange:function(e){return h(oe(oe({},u),{},{nodeOpacity:e}))}}),(0,l.jsx)(ae,{label:"Node resolution",value:u.nodeResolution,min:5,max:32,step:1,onChange:function(e){return h(oe(oe({},u),{},{nodeResolution:e}))}})]}),(0,l.jsx)(ae,{label:"Link width",value:u.linkWidth,onChange:function(e){return h(oe(oe({},u),{},{linkWidth:e}))}}),r&&(0,l.jsx)(ae,{label:"Link opacity",min:0,max:1,value:u.linkOpacity,onChange:function(e){return h(oe(oe({},u),{},{linkOpacity:e}))}}),(0,l.jsxs)(ce,{label:"Dash cite links",infoText:"Add dashes to citation links made with org-roam-bibtex",value:u.citeDashes,onChange:function(){return h(oe(oe({},u),{},{citeDashes:!u.citeDashes}))},children:[(0,l.jsx)(ae,{label:"Dash length",value:u.citeDashLength/10,onChange:function(e){return h(oe(oe({},u),{},{citeDashLength:10*e}))}}),(0,l.jsx)(ae,{label:"Gap length",value:u.citeGapLength/5,onChange:function(e){return h(oe(oe({},u),{},{citeGapLength:5*e}))}})]}),(0,l.jsx)(de,{colorList:R,label:"Citation node color",visuals:u,setVisuals:h,value:"citeNodeColor",visValue:u.citeNodeColor}),(0,l.jsx)(de,{colorList:R,label:"Citation link color",visuals:u,setVisuals:h,value:"citeLinkColor",visValue:u.citeLinkColor}),(0,l.jsx)(de,{colorList:R,label:"Reference link highlight",visuals:u,setVisuals:h,value:"citeLinkHighlightColor",visValue:u.citeLinkHighlightColor}),(0,l.jsxs)(ce,{label:"Dash ref links",infoText:"Add dashes to citation links, whose target has a note, made with org-roam-bibtex",value:u.refDashes,onChange:function(){return h(oe(oe({},u),{},{refDashes:!u.refDashes}))},children:[(0,l.jsx)(ae,{label:"Dash length",value:u.refDashLength/10,onChange:function(e){return h(oe(oe({},u),{},{refDashLength:10*e}))}}),(0,l.jsx)(ae,{label:"Gap length",value:u.refGapLength/5,onChange:function(e){return h(oe(oe({},u),{},{refGapLength:5*e}))}})]}),(0,l.jsx)(de,{colorList:R,label:"Reference node color",visuals:u,setVisuals:h,value:"refNodeColor",visValue:u.refNodeColor}),(0,l.jsx)(de,{colorList:R,label:"Reference link color",visuals:u,setVisuals:h,value:"refLinkColor",visValue:u.refLinkColor}),(0,l.jsx)(de,{colorList:R,label:"Reference link highlight",visuals:u,setVisuals:h,value:"refLinkHighlightColor",visValue:u.refLinkHighlightColor}),(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Labels"}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(P.v,{}),children:u.labels?u.labels<2?"On Highlight":"Always":"Never"}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{labels:0}))},children:"Never"}),(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{labels:1}))},children:"On Highlight"}),(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{labels:2}))},children:"Always"}),(0,l.jsx)(K.sN,{onClick:function(){return h(oe(oe({},u),{},{labels:3}))},children:"Always (even in 3D)"})]})]})]})]}),(0,l.jsx)(Y.U,{in:u.labels>0,animateOpacity:!0,children:(0,l.jsxs)(U.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:2,color:"gray.800",children:[(0,l.jsx)(de,{colorList:R,label:"Text",visuals:u,setVisuals:h,value:"labelTextColor",visValue:u.labelTextColor}),(0,l.jsx)(de,{colorList:R,label:"Text",visuals:u,setVisuals:h,value:"labelBackgroundColor",visValue:u.labelBackgroundColor}),(0,l.jsx)(Y.U,{in:!!u.labelBackgroundColor,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(ae,{label:"Background opacity",value:u.labelBackgroundOpacity,onChange:function(e){console.log(u.labelBackgroundOpacity),h(oe(oe({},u),{},{labelBackgroundOpacity:e}))},min:0,max:1,step:.01})})}),(0,l.jsx)(Y.U,{in:u.labels>1,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingTop:2,children:(0,l.jsx)(ae,{label:"Label Appearance Scale",value:5*u.labelScale,onChange:function(e){return h(oe(oe({},u),{},{labelScale:e/5}))}})})})]})})]}),(0,l.jsxs)(ce,{label:"Link arrows",value:u.arrows,onChange:function(){return h(oe(oe({},u),{},{arrows:!u.arrows}))},children:[(0,l.jsx)(ae,{label:"Arrow size",value:u.arrowsLength/10,onChange:function(e){return h(oe(oe({},u),{},{arrowsLength:10*e}))}}),(0,l.jsx)(ae,{label:"Arrow Position",value:u.arrowsPos,min:0,max:1,step:.01,onChange:function(e){return h(oe(oe({},u),{},{arrowsPos:e}))}}),(0,l.jsx)(de,{colorList:R,label:"Arrow Color",visuals:u,setVisuals:h,value:"arrowsColor",visValue:u.arrowsColor})]}),(0,l.jsxs)(ce,{label:"Directional Particles",value:u.particles,onChange:function(){return h(oe(oe({},u),{},{particles:!u.particles}))},children:[(0,l.jsx)(ae,{label:"Particle Number",value:u.particlesNumber,max:5,step:1,onChange:function(e){return h(oe(oe({},u),{},{particlesNumber:e}))}}),(0,l.jsx)(ae,{label:"Particle Size",value:u.particlesWidth,onChange:function(e){return h(oe(oe({},u),{},{particlesWidth:e}))}})]}),(0,l.jsx)(ce,{label:"Highlight",onChange:function(){return h(oe(oe({},u),{},{highlight:!u.highlight}))},value:u.highlight,children:(0,l.jsxs)(U.gC,{spacing:1,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.400"}),align:"stretch",paddingLeft:0,children:[(0,l.jsx)(ae,{label:"Highlight Link Thickness",value:u.highlightLinkSize,onChange:function(e){return h(oe(oe({},u),{},{highlightLinkSize:e}))}}),(0,l.jsx)(ae,{label:"Highlight Node Size",value:u.highlightNodeSize,onChange:function(e){return h(oe(oe({},u),{},{highlightNodeSize:e}))}}),(0,l.jsx)(ae,{min:0,max:1,label:"Highlight Fade",value:u.highlightFade,onChange:function(e){return h(oe(oe({},u),{},{highlightFade:e}))}}),(0,l.jsxs)(ce,{label:"Highlight Animation",onChange:function(){h(oe(oe({},u),{},{highlightAnim:!u.highlightAnim}))},value:u.highlightAnim,children:[(0,l.jsx)(ae,{label:"Animation speed",onChange:function(e){return h(oe(oe({},u),{},{animationSpeed:e}))},value:u.animationSpeed,infoText:"Slower speed has a chance of being buggy",min:50,max:1e3,step:10}),(0,l.jsx)($.Ph,{placeholder:u.algorithmName,onChange:function(e){h(oe(oe({},u),{},{algorithmName:e.target.value}))},children:u.algorithmOptions.map((function(e){return(0,l.jsx)("option",{value:e,children:e},e)}))})]})]})})]})]})})]}),(0,l.jsxs)(X.Qd,{children:[(0,l.jsxs)(X.KF,{children:[(0,l.jsx)(X.XE,{marginRight:2}),(0,l.jsx)(_.X,{size:"sm",children:"Behavior"})]}),(0,l.jsx)(X.Hk,{children:(0,l.jsxs)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",paddingLeft:7,color:"gray.800",children:[(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsxs)(G.k,{children:[(0,l.jsx)(q.x,{children:"Expand Node"}),(0,l.jsx)(se,{infoText:"View only the node and its direct neighbors"})]}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,rightIcon:(0,l.jsx)(P.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(q.x,{children:g.local?g.local[0].toUpperCase()+g.local.slice(1):"Never"})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{local:""}))},children:"Never"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{local:"click"}))},children:"Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{local:"double"}))},children:"Double Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{local:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Open in Emacs"}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,rightIcon:(0,l.jsx)(P.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(q.x,{children:g.follow?g.follow[0].toUpperCase()+g.follow.slice(1):"Never"})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{follow:""}))},children:"Never"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{follow:"click"}))},children:"Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{follow:"double"}))},children:"Double Click"}),(0,l.jsx)(K.sN,{onClick:function(){return f(oe(oe({},g),{},{follow:"right"}))},children:"Right Click"})]})]})]})]}),(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:"Follow Emacs by..."}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,rightIcon:(0,l.jsx)(P.v,{}),colorScheme:"",color:"black",children:(0,l.jsx)(q.x,{children:x.follow[0].toUpperCase()+x.follow.slice(1)})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{bgColor:"gray.200",zIndex:"popover",children:[(0,l.jsx)(K.sN,{onClick:function(){return p(oe(oe({},x),{},{follow:"color"}))},children:"Just coloring the currently opened node"}),(0,l.jsx)(K.sN,{onClick:function(){return p(oe(oe({},x),{},{follow:"local"}))},children:"Opening the local graph"}),(0,l.jsx)(K.sN,{onClick:function(){return p(oe(oe({},x),{},{follow:"zoom"}))},children:"Zooming to the current node"})]})]})]})]}),(0,l.jsx)(ae,{label:"Zoom speed",value:x.zoomSpeed,min:0,max:4e3,step:100,onChange:function(e){return p(oe(oe({},x),{},{zoomSpeed:e}))}}),(0,l.jsx)(ae,{label:"Zoom padding",value:x.zoomPadding,min:0,max:400,step:1,onChange:function(e){return p(oe(oe({},x),{},{zoomPadding:e}))},infoText:"How much to zoom out to accomodate all nodes when changing the view."})]})})]})]})})]}):(0,l.jsx)(j.xu,{position:"absolute",zIndex:"overlay",marginTop:10,marginLeft:10,display:y?"none":"block",children:(0,l.jsx)(V.h,{variant:"ghost","aria-label":"Settings",icon:(0,l.jsx)(T.e,{}),onClick:function(){return k(!0)}})})},se=function(e){var n=e.infoText;return(0,l.jsx)(j.xu,{paddingLeft:"1",children:(0,l.jsx)(M.u,{label:n,placement:"top",color:"gray.100",bg:"gray.800",hasArrow:!0,children:(0,l.jsx)(B.h,{})})})},ae=function(e){var n=e.min,t=void 0===n?0:n,r=e.max,i=void 0===r?10:r,o=e.step,s=void 0===o?.1:o,a=e.value,c=void 0===a?1:a,u=(0,D.Z)(e,["min","max","step","value"]),h=u.onChange,g=u.label,f=u.infoText,x=(0,d.useContext)(re.N).highlightColor;return(0,l.jsxs)(j.xu,{children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-end",children:[(0,l.jsx)(q.x,{children:g}),f&&(0,l.jsx)(se,{infoText:f})]}),(0,l.jsxs)(ee.iR,{value:c,onChange:h,min:t,max:i,step:s,children:[(0,l.jsx)(ee.Uj,{children:(0,l.jsx)(ee.Ms,{})}),(0,l.jsx)(M.u,{bg:x,label:c.toFixed(1),children:(0,l.jsx)(ee.gs,{bg:"white"})})]})]})},ce=function(e){var n=e.value,t=e.onChange,r=e.label,i=e.infoText,o=e.children;return(0,l.jsxs)(j.xu,{paddingTop:2,children:[(0,l.jsxs)(j.xu,{display:"flex",justifyContent:"space-between",paddingBottom:2,children:[(0,l.jsxs)(j.xu,{display:"flex",alignItems:"center",children:[(0,l.jsx)(q.x,{children:r}),i&&(0,l.jsx)(se,{infoText:i})]}),(0,l.jsx)(Q.r,{isChecked:!!n,onChange:t})]}),(0,l.jsx)(Y.U,{in:!!n,animateOpacity:!0,children:(0,l.jsx)(j.xu,{paddingLeft:4,paddingTop:2,paddingBottom:2,children:o})})]})},de=function(e){var n=e.label,t=e.colorList,r=e.value,i=e.visuals,o=e.visValue,s=e.setVisuals;return(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(q.x,{children:n}),(0,l.jsxs)(K.v2,{placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,colorScheme:"",color:"black",rightIcon:(0,l.jsx)(P.v,{}),children:(0,l.jsx)(j.xu,{bgColor:o,borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsxs)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:[(0,l.jsx)(K.sN,{onClick:function(){return s(oe(oe({},i),{},(0,a.Z)({},r,"")))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{height:6,width:6})}),t.map((function(e){return(0,l.jsx)(K.sN,{onClick:function(){return s(oe(oe({},i),{},(0,a.Z)({},r,e)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:e,borderRadius:"sm",height:6,width:6})},e)}))]})]})]})]})},ue=function(e){var n=e.filter,t=e.setFilter,r=e.tags,i=e.highlightColor,o=e.mode,s=r.map((function(e){return{value:e,label:e}})),c="blacklist"===o?"tagsBlacklist":"tagsWhitelist",u=(0,d.useState)(n[c].map((function(e){return{value:e,label:e}}))),h=u[0],g=u[1];return(0,l.jsx)(ne.CUIAutoComplete,{items:s,label:"Add tag to "+o,placeholder:" ",onCreateItem:function(e){return null},disableCreateItem:!0,selectedItems:h,onSelectedItemsChange:function(e){e.selectedItems&&(g(e.selectedItems),t(oe(oe({},n),{},(0,a.Z)({},c,e.selectedItems.map((function(e){return e.value}))))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}})},he=function(e){var n=e.colorList,t=e.tagColors,r=e.setTagColors,i=e.highlightColor,o=e.tags.map((function(e){return{value:e,label:e}})),s=(0,d.useState)(Object.keys(t).map((function(e){return{value:e,label:e}}))),c=s[0],u=s[1];return(0,l.jsxs)(j.xu,{children:[(0,l.jsx)(ne.CUIAutoComplete,{items:o,label:"Add tag to filter",placeholder:" ",disableCreateItem:!0,selectedItems:c,onSelectedItemsChange:function(e){e.selectedItems&&(u(Array.from(new Set(e.selectedItems))),r(Object.fromEntries(Array.from(new Set(e.selectedItems)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))))},listItemStyleProps:{overflow:"hidden"},highlightItemBg:"gray.400",toggleButtonStyleProps:{variant:"outline"},inputStyleProps:{focusBorderColor:i,color:"gray.800",borderColor:"gray.600"},tagStyleProps:{display:"none",rounded:"full",bg:i,height:8,paddingLeft:4,fontWeight:"bold"},hideToggleButton:!0,itemRenderer:function(e){return e.label}}),(0,l.jsx)(U.gC,{spacing:2,justifyContent:"flex-start",divider:(0,l.jsx)(U.cX,{borderColor:"gray.500"}),align:"stretch",color:"gray.800",children:Object.keys(t).map((function(e){return(0,l.jsxs)(G.k,{alignItems:"center",justifyContent:"space-between",width:"100%",pl:2,children:[(0,l.jsx)(j.xu,{width:"100%",children:(0,l.jsx)(q.x,{fontWeight:"bold",children:e})}),(0,l.jsxs)(K.v2,{isLazy:!0,placement:"right",children:[(0,l.jsx)(K.j2,{as:W.z,colorScheme:"",color:"black",children:(0,l.jsx)(j.xu,{bgColor:t[e],borderRadius:"sm",height:6,width:6})}),(0,l.jsxs)(J.h,{children:[" ",(0,l.jsx)(K.qy,{minW:10,zIndex:"popover",bgColor:"gray.200",children:n.map((function(n){return(0,l.jsx)(K.sN,{onClick:function(){return r(oe(oe({},t),{},(0,a.Z)({},e,n)))},justifyContent:"space-between",alignItems:"center",display:"flex",children:(0,l.jsx)(j.xu,{bgColor:n,borderRadius:"sm",height:6,width:6})},n)}))})]})]}),(0,l.jsx)(V.h,{"aria-label":"Delete tag color",variant:"ghost",icon:(0,l.jsx)(A.p,{}),onClick:function(){r(Object.fromEntries(Array.from(new Set(c)).map((function(e){var n;return[e.label,null!==(n=t[e.label])&&void 0!==n?n:"gray.600"]})))),u(c.filter((function(n){return n.value!==e})))}})]},e)}))})]})},ge=t(49065),fe=t(94030),xe=t(55830),pe=t(46617),je=t(50862),me=t(68928),ve=function(e){e.background;var n=e.node,t=(e.nodeType,e.coordinates),r=e.handleLocal,i=e.menuClose,o=e.scope,s=e.openNodeInEmacs,a=e.deleteNodeInEmacs,c=e.createNodeInEmacs,u=(0,m.q)(),h=u.isOpen,g=u.onOpen,f=u.onClose;(0,d.useRef)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j.xu,{position:"absolute",zIndex:"overlay",left:t[0]+10,top:t[1]-10,padding:5,children:(0,l.jsx)(K.v2,{closeOnBlur:!1,defaultIsOpen:!0,onClose:function(){return i()},children:(0,l.jsxs)(K.qy,{zIndex:"overlay",bgColor:"alt.100",borderColor:"gray.500",maxWidth:"xs",children:[n&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(_.X,{size:"sm",isTruncated:!0,px:3,py:1,children:n.title}),(0,l.jsx)(K.R,{borderColor:"gray.500"})]}),0!==o.nodeIds.length&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(K.sN,{onClick:function(){return r(n,"add")},icon:(0,l.jsx)(fe.I,{}),children:"Expand local graph at node"}),(0,l.jsx)(K.sN,{onClick:function(){return r(n,"replace")},icon:(0,l.jsx)(xe.O,{}),children:"Open local graph for this node"})]}),null!==n&&void 0!==n&&n.properties.FILELESS?(0,l.jsx)(K.sN,{icon:(0,l.jsx)(je.d,{}),onClick:function(){return c(n)},children:"Create node"}):(0,l.jsx)(K.sN,{icon:(0,l.jsx)(pe.d,{}),onClick:function(){return s(n)},children:"Open in Emacs"}),(null===n||void 0===n?void 0:n.properties.ROAM_REFS)&&(0,l.jsx)(K.sN,{icon:(0,l.jsx)(me.h,{}),children:"Open in Zotero"}),0===o.nodeIds.length&&(0,l.jsx)(K.sN,{icon:(0,l.jsx)(xe.O,{}),onClick:function(){return r(n,"replace")},children:"Open local graph"}),0===(null===n||void 0===n?void 0:n.level)&&(0,l.jsx)(K.sN,{closeOnSelect:!1,icon:(0,l.jsx)(A.p,{color:"red.500"}),color:"red.500",onClick:g,children:"Permenantly delete note"})]})})}),(0,l.jsxs)(ge.u_,{isCentered:!0,isOpen:h,onClose:f,children:[(0,l.jsx)(ge.ZA,{}),(0,l.jsxs)(ge.hz,{zIndex:"popover",children:[(0,l.jsx)(ge.xB,{children:"Delete node?"}),(0,l.jsx)(ge.ol,{}),(0,l.jsx)(ge.fe,{children:(0,l.jsxs)(U.gC,{spacing:4,display:"flex",alignItems:"flex-start",children:[(0,l.jsx)(q.x,{children:"This will permanently delete your note:"}),(0,l.jsx)(q.x,{fontWeight:"bold",children:null===n||void 0===n?void 0:n.title}),0!==(null===n||void 0===n?void 0:n.level)&&(0,l.jsx)(q.x,{children:"This will only delete the from this heading until but not including the next node. Your parent file and all other nodes will not be deleted."}),(0,l.jsx)(q.x,{children:"Are you sure you want to do continue?"})]})}),(0,l.jsxs)(ge.mz,{children:[(0,l.jsx)(W.z,{mr:3,onClick:function(){console.log("closing"),f(),i()},children:"Cancel"}),(0,l.jsx)(W.z,{variant:"link",colorScheme:"red",ml:3,onClick:function(){console.log("aaaaa"),a(n),f(),i()},children:"Delete node"})]})]})]})]})},be=t(31122),Ce=t(22003);function ye(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function ke(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?ye(Object(t),!0).forEach((function(n){(0,a.Z)(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ye(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var we=t.e(4).then(t.bind(t,57004)),Se=t.g.window?t(61957).f$:null,Ie=t.g.window?t(61957).s6:null;function Le(){var e=(0,d.useState)(!1),n=e[0],t=e[1];return(0,d.useEffect)((function(){t(!0)}),[]),n?(0,l.jsx)(Ne,{}):null}function Oe(e){return["object"===typeof e.source?e.source.id:e.source,"object"===typeof e.target?e.target.id:e.target]}function Ne(){var e=u("physics",I),n=(0,c.Z)(e,2),t=n[0],r=n[1],i=u("filter",L),o=(0,c.Z)(i,2),h=o[0],g=o[1],f=u("visuals",O),x=(0,c.Z)(f,2),p=x[0],m=x[1],v=(0,d.useState)(null),b=v[0],C=v[1],y=(0,d.useState)(null),k=y[0],w=y[1],S=u("behavior",N),R=(0,c.Z)(S,2),D=R[0],T=R[1],E=u("mouse",z),F=(0,c.Z)(E,2),Z=F[0],H=F[1],P=(0,d.useRef)({}),B=(0,d.useRef)({}),A=(0,d.useRef)([]),V=(0,d.useRef)(null),M=(0,d.useRef)({nodes:[],links:[]});(0,d.useEffect)((function(){b&&(M.current=b)}),[b]);var W=(0,d.useContext)(re.N).setEmacsTheme,X=u("3d",!1),_=(0,c.Z)(X,2),U=_[0],G=_[1],q=u("tagCols",{}),Q=(0,c.Z)(q,2),K=Q[0],J=Q[1],Y=(0,d.useState)({nodeIds:[]}),$=Y[0],ee=Y[1],ne=(0,d.useRef)({nodeIds:[]}),te=(0,d.useRef)(N);te.current=D;var ie=(0,d.useRef)(null);ne.current=$;var oe=function(e,n){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2e3,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;if("color"!==e){var o=V.current,l=ne.current,a=te.current,c=null!==(t=B.current[n])&&void 0!==t?t:[],d=Object.fromEntries([n].concat((0,s.Z)(c.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})));if("zoom"===e)return console.log(l),l.nodeIds.length&&(console.log("emptying"),console.log("scope "+l.nodeIds),ee({nodeIds:[]})),void setTimeout((function(){return o.zoomToFit(r,i,(function(e){return d[e.id]}))}),50);if(!l.nodeIds.length)return ee({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50);if("add"!==a.localSame)return ee({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50);if(!l.nodeIds.includes(n)||!l.nodeIds.some((function(e){return d[e]})))return ee({nodeIds:[n]}),void setTimeout((function(){o.centerAt(0,0,r)}),50);ee((function(e){return ke(ke({},e),{},{nodeIds:[].concat((0,s.Z)(e.nodeIds),[n])})})),setTimeout((function(){return o.zoomToFit(r,i,(function(e){return d[e.id]}))}),50)}};return(0,d.useEffect)((function(){ie.current=new Ce.Z("ws://localhost:35903"),ie.current.addEventListener("open",(function(e){console.log("Connection with Emacs established")})),ie.current.addEventListener("message",(function(e){V.current;var n=te.current,t=JSON.parse(e.data);switch(t.type){case"graphdata":return function(e){var n,t=M.current,r=P.current;B.current,A.current=null!==(n=e.tags)&&void 0!==n?n:[];var i=e.nodes.reduce((function(e,n){var t;return ke(ke({},e),{},(0,a.Z)({},n.file,[].concat((0,s.Z)(null!==(t=e[n.file])&&void 0!==t?t:[]),[n])))}),{}),o=Object.keys(i).flatMap((function(e){var n,t=null!==(n=i[e])&&void 0!==n?n:[],r=t.find((function(e){return 0===e.level})),o=t.filter((function(e){return 0!==e.level}));return r?o.map((function(e){return{source:e.id,target:r.id,type:"parent"}})):[]}));P.current=Object.fromEntries(e.nodes.map((function(e){return[e.id,e]})));var l=[].concat((0,s.Z)(e.links),(0,s.Z)(o)),d=[],u=l.map((function(e){var n=e.source,t=e.target;return P.current[n]?P.current[t]?e:(d.push({id:t,tags:["bad"],properties:{FILELESS:"yes",bad:"yes"},file:"",title:t,level:0}),ke(ke({},e),{},{type:"bad"})):(d.push({id:n,tags:["bad"],properties:{FILELESS:"yes",bad:"yes"},file:"",title:n,level:0}),ke(ke({},e),{},{type:"bad"}))}));P.current=ke(ke({},P.current),Object.fromEntries(d.map((function(e){return[e.id,e]})))),B.current=u.reduce((function(e,n){var t,r,i;return ke(ke({},e),{},(i={},(0,a.Z)(i,n.source,[].concat((0,s.Z)(null!==(t=e[n.source])&&void 0!==t?t:[]),[n])),(0,a.Z)(i,n.target,[].concat((0,s.Z)(null!==(r=e[n.target])&&void 0!==r?r:[]),[n])),i))}),{});var h={nodes:[].concat((0,s.Z)(e.nodes),d),links:u};if(!t.nodes.length){var g=JSON.parse(JSON.stringify(h));return console.log(g),M.current=g,void C(g)}var f=[].concat((0,s.Z)(t.nodes.map((function(e){var n,t=null!==(n=P.current[null===e||void 0===e?void 0:e.id])&&void 0!==n&&n;if(t)return ke(ke({},e),t)}))),(0,s.Z)(Object.keys(P.current).filter((function(e){return!r[e]})).map((function(e){return console.log(e),P.current[e]})))),x=f.reduce((function(e,n,t){var r=null===n||void 0===n?void 0:n.id;return ke(ke({},e),{},(0,a.Z)({},r,t))}),{});console.log(f),console.log(x);var p=u.map((function(e){var n=Oe(e),t=(0,c.Z)(n,2),r=t[0],i=t[1];return ke(ke({},e),{},{source:f[x[r]],target:f[x[i]]})}));V.current,C({nodes:f,links:p})}(t.data);case"theme":return W(t.data);case"command":switch(t.data.commandName){case"local":var r=D.zoomSpeed,i=D.zoomPadding;oe("local",t.data.id,r,i),w(t.data.id);break;case"zoom":var o,l,d=(null===t||void 0===t||null===(o=t.data)||void 0===o?void 0:o.speed)||n.zoomSpeed,u=(null===t||void 0===t||null===(l=t.data)||void 0===l?void 0:l.padding)||n.zoomPadding;oe("zoom",t.data.id,d,u),w(t.data.id);break;case"follow":oe(n.follow,t.data.id,n.zoomSpeed,n.zoomPadding),w(t.data.id);break;default:return console.error("unknown message type",t.type)}}}))}),[]),b?(0,l.jsxs)(j.xu,{display:"flex",alignItems:"flex-start",flexDirection:"row",height:"100%",overflow:"hidden",children:[(0,l.jsx)(le,ke(ke({},{physics:t,setPhysics:r,threeDim:U,setThreeDim:G,filter:h,setFilter:g,visuals:p,setVisuals:m,mouse:Z,setMouse:H,behavior:D,setBehavior:T,tagColors:K,setTagColors:J}),{},{tags:A.current})),(0,l.jsx)(j.xu,{position:"absolute",alignItems:"top",overflow:"hidden",children:(0,l.jsx)(ze,ke({ref:V,nodeById:P.current,linksByNodeId:B.current,webSocket:ie.current},{physics:t,graphData:b,threeDim:U,emacsNodeId:k,filter:h,visuals:p,behavior:D,mouse:Z,scope:$,setScope:ee,tagColors:K}))})]}):null}var ze=(0,d.forwardRef)((function(e,n){var t=e.physics,r=e.graphData,u=e.threeDim,h=e.linksByNodeId,v=e.filter,b=e.emacsNodeId,C=e.nodeById,y=e.visuals,k=e.behavior,w=e.mouse,I=e.scope,L=e.setScope,O=e.webSocket,N=e.tagColors,z=(0,f.iP)(),D=(0,c.Z)(z,2),T=D[0],E=D[1],F=(0,d.useState)(null),Z=F[0],H=F[1],P=(0,p.useTheme)(),B=(0,d.useContext)(re.N).emacsTheme,A=function(e,n){I.nodeIds.includes(e.id)||L("replace"!==n?function(n){return ke(ke({},n),{},{nodeIds:[].concat((0,s.Z)(n.nodeIds),[e.id])})}:{nodeIds:[e.id]})},V=function(e,n){O.send(JSON.stringify({command:e,data:n}))},M=function(e){V("open",{id:e.id})},W=function(e,n){switch(e){case w.local:A(n,k.localSame);break;case w.follow:M(n)}},X=(0,d.useRef)(null);(0,d.useEffect)((function(){b&&H(C[b])}),[b]),X.current=Z;var _=(0,d.useMemo)((function(){if(!X.current)return{};var e=h[X.current.id];return e?Object.fromEntries([X.current.id].concat((0,s.Z)(e.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]}))):{}}),[X.current,h]),U=(0,d.useRef)({}),G=((0,d.useRef)({}),(0,d.useMemo)((function(){var e;U.current={};var n=null===r||void 0===r||null===(e=r.nodes)||void 0===e?void 0:e.filter((function(e){if(e){var n=e;return v.tagsBlacklist.length&&v.tagsBlacklist.some((function(e){return n.tags.indexOf(e)>-1}))||v.tagsWhitelist.length>0&&!v.tagsWhitelist.some((function(e){return n.tags.indexOf(e)>-1}))||v.filelessCites&&n.properties.FILELESS?(U.current=ke(ke({},U.current),{},(0,a.Z)({},n.id,n)),!1):!v.bad||!n.properties.bad||(U.current=ke(ke({},U.current),{},(0,a.Z)({},n.id,n)),!1)}})).filter((function(e){var n,t=(null!==(n=h[null===e||void 0===e?void 0:e.id])&&void 0!==n?n:[]).filter((function(e){return!U.current[e.source]&&!U.current[e.target]}));return!v.orphans||(v.parents?0!==t.length:0!==t.length&&t.some((function(e){return!["parent"].includes(e.type)})))})),t=n.map((function(e){return e.id}));return{filteredNodes:n,filteredLinks:r.links.filter((function(e){var n=Oe(e),r=(0,c.Z)(n,2),i=r[0],o=r[1];if(v.bad||v.tagsBlacklist.length||v.tagsWhitelist.length||v.filelessCites)return t.includes(i)&&t.includes(o);var l=e;return v.parents||"parent"!==l.type}))}}),[v,r])),q=(0,d.useMemo)((function(){var e=G.filteredNodes.filter((function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[];return I.nodeIds.includes(e.id)||t.some((function(e){return I.nodeIds.includes(e.source)||I.nodeIds.includes(e.target)}))})),n=e.map((function(e){return e.id})),t=G.filteredLinks.filter((function(e){var t=Oe(e),r=(0,c.Z)(t,2),i=r[0],o=r[1];return n.includes(i)&&n.includes(o)}));return 0===I.nodeIds.length?{nodes:G.filteredNodes,links:G.filteredLinks}:{nodes:e,links:t}}),[v,I,r]);(0,d.useEffect)((function(){(0,o.Z)(i().mark((function e(){var r,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.current,e.next=3,we;case 3:o=e.sent,t.gravityOn?(r.d3Force("x",o.forceX().strength(t.gravity)),r.d3Force("y",o.forceY().strength(t.gravity)),u&&r.d3Force("z",o.forceZ().strength(t.gravity))):(r.d3Force("x",null),r.d3Force("y",null),u&&r.d3Force("z",null)),t.centering?r.d3Force("center",o.forceCenter().strength(t.centeringStrength)):r.d3Force("center",null),t.linkStrength&&r.d3Force("link").strength(t.linkStrength),t.linkIts&&r.d3Force("link").iterations(t.linkIts),t.charge&&r.d3Force("charge").strength(t.charge),r.d3Force("collide",t.collision?o.forceCollide().radius(t.collisionStrength):null);case 10:case"end":return e.stop()}}),e)})))()}),[t]),(0,d.useEffect)((function(){var e;null===(e=n.current)||void 0===e||e.d3ReheatSimulation()}),[t]);var Q=(0,d.useRef)(0),K=(0,d.useState)(1),J=K[0],Y=K[1],$=(0,x._7)((function(e){return Y(e)}),{duration:y.animationSpeed,algorithm:S[y.algorithmName]}),ee=(0,c.Z)($,2),ne=ee[0],te=ee[1],ie=(0,x._7)((function(e){return Y(Math.min(J,-1*(e-1)))}),{duration:y.animationSpeed,algorithm:S[y.algorithmName]}),oe=(0,c.Z)(ie,2),le=oe[0],se=oe[1],ae=(0,d.useRef)(null);(0,d.useEffect)((function(){if(Z&&(ae.current=Z),!y.highlightAnim)return Y(Z?1:0);Z?ne():(te(),J>.5?le():Y(0))}),[Z]);var ce=function(e){if(P)return e.split(".").reduce((function(e,n){return e[n]}),P.colors)},de=(0,d.useMemo)((function(){return Object.fromEntries(R.map((function(e){var n=ce(e),t=R.map((function(e){return[e,g.Z(n,ce(e))]}));return[e,Object.fromEntries(t)]})))}),[B]),ue=(0,d.useMemo)((function(){var e,n,t,r=null!==(e=h[null===(n=ae.current)||void 0===n?void 0:n.id])&&void 0!==e?e:[];return Object.fromEntries([null===(t=ae.current)||void 0===t?void 0:t.id].concat((0,s.Z)(r.flatMap((function(e){return[e.source,e.target]})))).map((function(e){return[e,{}]})))}),[JSON.stringify(Z),ae.current]),he=function(e){var n,t,r,i,o,l,s=null!==(n=null===(t=h[e])||void 0===t?void 0:t.length)&&void 0!==n?n:0,a=s?null===(r=h[e])||void 0===r?void 0:r.filter((function(e){return"parent"===e.type})).length:0,c=v.parents?s:s-a;return y.nodeColorScheme[(i=c,o=0,l=y.nodeColorScheme.length-1,Math.min(Math.max(i,o),l))]},ge=function(e,n){return h[e]>h[n]?he(e):he(n)},fe=function(e,n){return"rgba("+(e=e.replace("#","")).match(new RegExp("(.{"+e.length/3+"})","g")).map((function(n){return parseInt(e.length%2?n+n:n,16)})).concat(isFinite(n)?n:1).join(",")+")"},xe=(0,d.useMemo)((function(){return ce(y.labelTextColor)}),[y.labelTextColor,B]),pe=(0,d.useMemo)((function(){return ce(y.labelBackgroundColor)}),[y.labelBackgroundColor,B]),je=function(e){var n,t=null!==(n=h[e.id])&&void 0!==n?n:[],r=t.length?t.filter((function(e){return"parent"===e.type})).length:0,i=3+t.length*y.nodeSizeLinks-(v.parents?0:r);return 1===y.highlightNodeSize?i:i*(_[e.id]||ue[e.id]?1+J*(y.highlightNodeSize-1):1)},me=(0,d.useState)(!1),Ce=me[0],ye=me[1],Le=(0,m.q)(),Ne=Le.isOpen,ze=Le.onOpen,De=Le.onClose,Te=(0,d.useState)(null),Ee=Te[0],Fe=Te[1],Ze=(0,d.useState)([0,0]),He=Ze[0],Pe=Ze[1],Be={graphData:q,width:T,height:E,backgroundColor:P.colors.gray[y.backgroundColor],nodeLabel:function(e){return e.title},nodeColor:function(e){return function(e){_.length;var n=_[e.id]||ue[e.id];if(y.emacsNodeColor&&e.id===b)return ce(y.emacsNodeColor);if(N&&e.tags.some((function(e){return N[e]}))){var t=N[e.tags.filter((function(e){return N[e]}))[0]];return de[t][y.backgroundColor](y.highlightFade*J)}return y.citeNodeColor&&e.properties.ROAM_REFS&&e.properties.FILELESS?n?ce(y.citeNodeColor):de[y.citeNodeColor][y.backgroundColor](y.highlightFade*J):y.refNodeColor&&e.properties.ROAM_REFS?n?ce(y.refNodeColor):de[y.refNodeColor][y.backgroundColor](y.highlightFade*J):n?y.nodeHighlight?de[he(e.id)][y.nodeHighlight](J):ce(he(e.id)):de[he(e.id)][y.backgroundColor](y.highlightFade*J)}(e)},nodeRelSize:y.nodeRel,nodeVal:function(e){return je(e)},nodeCanvasObject:function(e,n,t){if(e&&!Ce&&y.labels){var r=ue[e.id];if(!(t<=y.labelScale||1===y.labels)||_[e.id]||r){var i=e.title,o=i.substring(0,Math.min(i.length,40)),l=14/(.75*Math.min(Math.max(.5,t),3)),a=[1.1*n.measureText(o).width,l].map((function(e){return e+.5*l})),c=Math.min(3*(t-y.labelScale)/y.labelScale,1),d=function(){return 1===y.labels||t<=y.labelScale?J:_[e.id]||ue[e.id]?Math.max(c,J):1*c*(-1*(y.highlightFade*J-1))},u=8*Math.cbrt(je(e)*y.nodeRel);if(y.labelBackgroundColor&&y.labelBackgroundOpacity){var h=d()*y.labelBackgroundOpacity,g=fe(pe,h);n.fillStyle=g,n.fillRect.apply(n,[e.x-a[0]/2,e.y-a[1]/2+u].concat((0,s.Z)(a)))}var f=d();n.textAlign="center",n.textBaseline="middle";var x=fe(xe,f);n.fillStyle=x,n.font="".concat(l,"px Sans-Serif"),n.fillText(o,e.x,e.y+u)}}},nodeCanvasObjectMode:function(){return"after"},linkDirectionalParticles:y.particles?y.particlesNumber:void 0,linkDirectionalArrowLength:y.arrows?y.arrowsLength:void 0,linkDirectionalArrowRelPos:y.arrowsPos,linkDirectionalArrowColor:y.arrowsColor?function(e){return ce(y.arrowsColor)}:void 0,linkColor:function(e){var n="object"===typeof e.source?e.source.id:e.source,t="object"===typeof e.target?e.target.id:e.target,r=Re(e,X.current),i=Re(e,ae.current),o=r||i,l=e;return y.refLinkColor&&"ref"===l.type?o&&(y.refLinkHighlightColor||y.linkHighlight)?de[y.refLinkColor][y.refLinkHighlightColor||y.linkHighlight](J):de[y.refLinkColor][y.backgroundColor](y.highlightFade*J):y.citeLinkColor&&"cite"===l.type?o&&(y.citeLinkHighlightColor||y.linkHighlight)?de[y.citeLinkColor][y.citeLinkHighlightColor||y.linkHighlight](J):de[y.citeLinkColor][y.backgroundColor](y.highlightFade*J):function(e,n,t){if(!y.linkHighlight&&!y.linkColorScheme&&!t){var r=ge(e,n);return ce(r)}if(!t&&!y.linkColorScheme){var i=ge(e,n);return de[i][y.backgroundColor](y.highlightFade*J)}if(!t)return de[y.linkColorScheme][y.backgroundColor](y.highlightFade*J);if(!y.linkHighlight&&!y.linkColorScheme){var o=ge(e,n);return ce(o)}return y.linkHighlight?y.linkColorScheme?de[y.linkColorScheme][y.linkHighlight](J):de[ge(e,n)][y.linkHighlight](J):ce(y.linkColorScheme)}(n,t,o)},linkWidth:function(e){if(1===y.highlightLinkSize)return y.linkWidth;var n=Re(e,X.current),t=Re(e,ae.current);return n||t?y.linkWidth*(1+J*(y.highlightLinkSize-1)):y.linkWidth},linkDirectionalParticleWidth:y.particlesWidth,d3AlphaDecay:t.alphaDecay,d3AlphaMin:t.alphaMin,d3VelocityDecay:t.velocityDecay,onNodeClick:function(e,n){var t=e;De();var r=n.timeStamp-Q.current<400;return Q.current=n.timeStamp,W(r?"double":"click",t)},onBackgroundClick:function(){De(),H(null),0!==I.nodeIds.length&&L((function(e){return ke(ke({},e),{},{nodeIds:[]})}))},onNodeHover:function(e){y.highlight&&(Z||(se(),Y(0)),H(e))},onNodeRightClick:function(e,n){!function(e,n){Pe([n.pageX,n.pageY]),Fe(e),ze()}(e,n)},onNodeDrag:function(e){De(),H(e),ye(!0)},onNodeDragEnd:function(e){H(null),ye(!1)}};return(0,l.jsxs)(j.xu,{overflow:"hidden",children:[Ne&&(0,l.jsx)(ve,{scope:I,node:Ee,nodeType:null===Ee||void 0===Ee?void 0:Ee.id,background:!1,coordinates:He,handleLocal:A,menuClose:De,openNodeInEmacs:M,deleteNodeInEmacs:function(e){0===e.level&&V("delete",{id:e.id,file:e.file})},createNodeInEmacs:function(e){V("create",{id:e.id,title:e.title,ref:e.properties.ROAM_REFS})}}),u?(0,l.jsx)(Ie,ke(ke({ref:n},Be),{},{nodeThreeObjectExtend:!0,backgroundColor:P.colors.white,nodeOpacity:y.nodeOpacity,nodeResolution:y.nodeResolution,linkOpacity:y.linkOpacity,nodeThreeObject:function(e){if(y.labels&&(!(y.labels<3)||_[e.id])){var n=new be.Z(e.title.substring(0,40));return n.color=ce(y.labelTextColor),n.backgroundColor=ce(y.labelBackgroundColor),n.padding=2,n.textHeight=8,n}}})):(0,l.jsx)(Se,ke(ke({ref:n},Be),{},{linkLineDash:function(e){var n=e;return y.citeDashes&&"cite"===n.type?[y.citeDashLength,y.citeGapLength]:y.refDashes&&"ref"==n.type?[y.refDashLength,y.refGapLength]:null}}))]})}));function Re(e,n){var t,r;return(null===(t=e.source)||void 0===t?void 0:t.id)===(null===n||void 0===n?void 0:n.id)||(null===(r=e.target)||void 0===r?void 0:r.id)===(null===n||void 0===n?void 0:n.id)}},45301:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(96834)}])}},function(e){e.O(0,[774,737,446,238,888,179],(function(){return n=45301,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/polyfills-e7a279300235e161e32a.js b/out/_next/static/chunks/polyfills-e7a279300235e161e32a.js
index 6ab47a2..803147d 100644
--- a/out/_next/static/chunks/polyfills-e7a279300235e161e32a.js
+++ b/out/_next/static/chunks/polyfills-e7a279300235e161e32a.js
@@ -1,6072 +1 @@
-;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
-  [429],
-  {
-    62589: function (t, e, r) {
-      'use strict'
-      r(61784)
-    },
-    61784: function (t, e, r) {
-      !(function () {
-        var t =
-          'undefined' != typeof globalThis
-            ? globalThis
-            : 'undefined' != typeof window
-            ? window
-            : 'undefined' != typeof r.g
-            ? r.g
-            : 'undefined' != typeof self
-            ? self
-            : {}
-        function e(t) {
-          var e = { exports: {} }
-          return t(e, e.exports), e.exports
-        }
-        var n = function (t) {
-            return t && t.Math == Math && t
-          },
-          o =
-            n('object' == typeof globalThis && globalThis) ||
-            n('object' == typeof window && window) ||
-            n('object' == typeof self && self) ||
-            n('object' == typeof t && t) ||
-            Function('return this')(),
-          i = function (t) {
-            try {
-              return !!t()
-            } catch (t) {
-              return !0
-            }
-          },
-          a = !i(function () {
-            return (
-              7 !=
-              Object.defineProperty({}, 1, {
-                get: function () {
-                  return 7
-                },
-              })[1]
-            )
-          }),
-          u = {}.propertyIsEnumerable,
-          s = Object.getOwnPropertyDescriptor,
-          c = {
-            f:
-              s && !u.call({ 1: 2 }, 1)
-                ? function (t) {
-                    var e = s(this, t)
-                    return !!e && e.enumerable
-                  }
-                : u,
-          },
-          f = function (t, e) {
-            return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e }
-          },
-          l = {}.toString,
-          h = function (t) {
-            return l.call(t).slice(8, -1)
-          },
-          p = ''.split,
-          d = i(function () {
-            return !Object('z').propertyIsEnumerable(0)
-          })
-            ? function (t) {
-                return 'String' == h(t) ? p.call(t, '') : Object(t)
-              }
-            : Object,
-          v = function (t) {
-            if (null == t) throw TypeError("Can't call method on " + t)
-            return t
-          },
-          g = function (t) {
-            return d(v(t))
-          },
-          y = function (t) {
-            return 'object' == typeof t ? null !== t : 'function' == typeof t
-          },
-          m = function (t, e) {
-            if (!y(t)) return t
-            var r, n
-            if (e && 'function' == typeof (r = t.toString) && !y((n = r.call(t)))) return n
-            if ('function' == typeof (r = t.valueOf) && !y((n = r.call(t)))) return n
-            if (!e && 'function' == typeof (r = t.toString) && !y((n = r.call(t)))) return n
-            throw TypeError("Can't convert object to primitive value")
-          },
-          b = {}.hasOwnProperty,
-          w = function (t, e) {
-            return b.call(t, e)
-          },
-          S = o.document,
-          E = y(S) && y(S.createElement),
-          x = function (t) {
-            return E ? S.createElement(t) : {}
-          },
-          A =
-            !a &&
-            !i(function () {
-              return (
-                7 !=
-                Object.defineProperty(x('div'), 'a', {
-                  get: function () {
-                    return 7
-                  },
-                }).a
-              )
-            }),
-          O = Object.getOwnPropertyDescriptor,
-          R = {
-            f: a
-              ? O
-              : function (t, e) {
-                  if (((t = g(t)), (e = m(e, !0)), A))
-                    try {
-                      return O(t, e)
-                    } catch (t) {}
-                  if (w(t, e)) return f(!c.f.call(t, e), t[e])
-                },
-          },
-          j = function (t) {
-            if (!y(t)) throw TypeError(String(t) + ' is not an object')
-            return t
-          },
-          P = Object.defineProperty,
-          I = {
-            f: a
-              ? P
-              : function (t, e, r) {
-                  if ((j(t), (e = m(e, !0)), j(r), A))
-                    try {
-                      return P(t, e, r)
-                    } catch (t) {}
-                  if ('get' in r || 'set' in r) throw TypeError('Accessors not supported')
-                  return 'value' in r && (t[e] = r.value), t
-                },
-          },
-          k = a
-            ? function (t, e, r) {
-                return I.f(t, e, f(1, r))
-              }
-            : function (t, e, r) {
-                return (t[e] = r), t
-              },
-          T = function (t, e) {
-            try {
-              k(o, t, e)
-            } catch (n) {
-              o[t] = e
-            }
-            return e
-          },
-          L = '__core-js_shared__',
-          U = o[L] || T(L, {}),
-          _ = Function.toString
-        'function' != typeof U.inspectSource &&
-          (U.inspectSource = function (t) {
-            return _.call(t)
-          })
-        var M,
-          N,
-          C,
-          F = U.inspectSource,
-          B = o.WeakMap,
-          D = 'function' == typeof B && /native code/.test(F(B)),
-          q = !1,
-          z = e(function (t) {
-            ;(t.exports = function (t, e) {
-              return U[t] || (U[t] = void 0 !== e ? e : {})
-            })('versions', []).push({
-              version: '3.6.5',
-              mode: 'global',
-              copyright: '\xa9 2020 Denis Pushkarev (zloirock.ru)',
-            })
-          }),
-          W = 0,
-          K = Math.random(),
-          G = function (t) {
-            return 'Symbol(' + String(void 0 === t ? '' : t) + ')_' + (++W + K).toString(36)
-          },
-          $ = z('keys'),
-          V = function (t) {
-            return $[t] || ($[t] = G(t))
-          },
-          H = {}
-        if (D) {
-          var X = new (0, o.WeakMap)(),
-            Y = X.get,
-            J = X.has,
-            Q = X.set
-          ;(M = function (t, e) {
-            return Q.call(X, t, e), e
-          }),
-            (N = function (t) {
-              return Y.call(X, t) || {}
-            }),
-            (C = function (t) {
-              return J.call(X, t)
-            })
-        } else {
-          var Z = V('state')
-          ;(H[Z] = !0),
-            (M = function (t, e) {
-              return k(t, Z, e), e
-            }),
-            (N = function (t) {
-              return w(t, Z) ? t[Z] : {}
-            }),
-            (C = function (t) {
-              return w(t, Z)
-            })
-        }
-        var tt,
-          et = {
-            set: M,
-            get: N,
-            has: C,
-            enforce: function (t) {
-              return C(t) ? N(t) : M(t, {})
-            },
-            getterFor: function (t) {
-              return function (e) {
-                var r
-                if (!y(e) || (r = N(e)).type !== t)
-                  throw TypeError('Incompatible receiver, ' + t + ' required')
-                return r
-              }
-            },
-          },
-          rt = e(function (t) {
-            var e = et.get,
-              r = et.enforce,
-              n = String(String).split('String')
-            ;(t.exports = function (t, e, i, a) {
-              var u = !!a && !!a.unsafe,
-                s = !!a && !!a.enumerable,
-                c = !!a && !!a.noTargetGet
-              'function' == typeof i &&
-                ('string' != typeof e || w(i, 'name') || k(i, 'name', e),
-                (r(i).source = n.join('string' == typeof e ? e : ''))),
-                t !== o
-                  ? (u ? !c && t[e] && (s = !0) : delete t[e], s ? (t[e] = i) : k(t, e, i))
-                  : s
-                  ? (t[e] = i)
-                  : T(e, i)
-            })(Function.prototype, 'toString', function () {
-              return ('function' == typeof this && e(this).source) || F(this)
-            })
-          }),
-          nt = o,
-          ot = function (t) {
-            return 'function' == typeof t ? t : void 0
-          },
-          it = function (t, e) {
-            return arguments.length < 2
-              ? ot(nt[t]) || ot(o[t])
-              : (nt[t] && nt[t][e]) || (o[t] && o[t][e])
-          },
-          at = Math.ceil,
-          ut = Math.floor,
-          st = function (t) {
-            return isNaN((t = +t)) ? 0 : (t > 0 ? ut : at)(t)
-          },
-          ct = Math.min,
-          ft = function (t) {
-            return t > 0 ? ct(st(t), 9007199254740991) : 0
-          },
-          lt = Math.max,
-          ht = Math.min,
-          pt = function (t, e) {
-            var r = st(t)
-            return r < 0 ? lt(r + e, 0) : ht(r, e)
-          },
-          dt = function (t) {
-            return function (e, r, n) {
-              var o,
-                i = g(e),
-                a = ft(i.length),
-                u = pt(n, a)
-              if (t && r != r) {
-                for (; a > u; ) if ((o = i[u++]) != o) return !0
-              } else for (; a > u; u++) if ((t || u in i) && i[u] === r) return t || u || 0
-              return !t && -1
-            }
-          },
-          vt = { includes: dt(!0), indexOf: dt(!1) },
-          gt = vt.indexOf,
-          yt = function (t, e) {
-            var r,
-              n = g(t),
-              o = 0,
-              i = []
-            for (r in n) !w(H, r) && w(n, r) && i.push(r)
-            for (; e.length > o; ) w(n, (r = e[o++])) && (~gt(i, r) || i.push(r))
-            return i
-          },
-          mt = [
-            'constructor',
-            'hasOwnProperty',
-            'isPrototypeOf',
-            'propertyIsEnumerable',
-            'toLocaleString',
-            'toString',
-            'valueOf',
-          ],
-          bt = mt.concat('length', 'prototype'),
-          wt = {
-            f:
-              Object.getOwnPropertyNames ||
-              function (t) {
-                return yt(t, bt)
-              },
-          },
-          St = { f: Object.getOwnPropertySymbols },
-          Et =
-            it('Reflect', 'ownKeys') ||
-            function (t) {
-              var e = wt.f(j(t)),
-                r = St.f
-              return r ? e.concat(r(t)) : e
-            },
-          xt = function (t, e) {
-            for (var r = Et(e), n = I.f, o = R.f, i = 0; i < r.length; i++) {
-              var a = r[i]
-              w(t, a) || n(t, a, o(e, a))
-            }
-          },
-          At = /#|\.prototype\./,
-          Ot = function (t, e) {
-            var r = jt[Rt(t)]
-            return r == It || (r != Pt && ('function' == typeof e ? i(e) : !!e))
-          },
-          Rt = (Ot.normalize = function (t) {
-            return String(t).replace(At, '.').toLowerCase()
-          }),
-          jt = (Ot.data = {}),
-          Pt = (Ot.NATIVE = 'N'),
-          It = (Ot.POLYFILL = 'P'),
-          kt = Ot,
-          Tt = R.f,
-          Lt = function (t, e) {
-            var r,
-              n,
-              i,
-              a,
-              u,
-              s = t.target,
-              c = t.global,
-              f = t.stat
-            if ((r = c ? o : f ? o[s] || T(s, {}) : (o[s] || {}).prototype))
-              for (n in e) {
-                if (
-                  ((a = e[n]),
-                  (i = t.noTargetGet ? (u = Tt(r, n)) && u.value : r[n]),
-                  !kt(c ? n : s + (f ? '.' : '#') + n, t.forced) && void 0 !== i)
-                ) {
-                  if (typeof a == typeof i) continue
-                  xt(a, i)
-                }
-                ;(t.sham || (i && i.sham)) && k(a, 'sham', !0), rt(r, n, a, t)
-              }
-          },
-          Ut = function (t) {
-            return Object(v(t))
-          },
-          _t = Math.min,
-          Mt =
-            [].copyWithin ||
-            function (t, e) {
-              var r = Ut(this),
-                n = ft(r.length),
-                o = pt(t, n),
-                i = pt(e, n),
-                a = arguments.length > 2 ? arguments[2] : void 0,
-                u = _t((void 0 === a ? n : pt(a, n)) - i, n - o),
-                s = 1
-              for (i < o && o < i + u && ((s = -1), (i += u - 1), (o += u - 1)); u-- > 0; )
-                i in r ? (r[o] = r[i]) : delete r[o], (o += s), (i += s)
-              return r
-            },
-          Nt =
-            !!Object.getOwnPropertySymbols &&
-            !i(function () {
-              return !String(Symbol())
-            }),
-          Ct = Nt && !Symbol.sham && 'symbol' == typeof Symbol.iterator,
-          Ft = z('wks'),
-          Bt = o.Symbol,
-          Dt = Ct ? Bt : (Bt && Bt.withoutSetter) || G,
-          qt = function (t) {
-            return w(Ft, t) || (Ft[t] = Nt && w(Bt, t) ? Bt[t] : Dt('Symbol.' + t)), Ft[t]
-          },
-          zt =
-            Object.keys ||
-            function (t) {
-              return yt(t, mt)
-            },
-          Wt = a
-            ? Object.defineProperties
-            : function (t, e) {
-                j(t)
-                for (var r, n = zt(e), o = n.length, i = 0; o > i; ) I.f(t, (r = n[i++]), e[r])
-                return t
-              },
-          Kt = it('document', 'documentElement'),
-          Gt = V('IE_PROTO'),
-          $t = function () {},
-          Vt = function (t) {
-            return '<script>' + t + '</script>'
-          },
-          Ht = function () {
-            try {
-              tt = document.domain && new ActiveXObject('htmlfile')
-            } catch (t) {}
-            var t, e
-            Ht = tt
-              ? (function (t) {
-                  t.write(Vt('')), t.close()
-                  var e = t.parentWindow.Object
-                  return (t = null), e
-                })(tt)
-              : (((e = x('iframe')).style.display = 'none'),
-                Kt.appendChild(e),
-                (e.src = String('javascript:')),
-                (t = e.contentWindow.document).open(),
-                t.write(Vt('document.F=Object')),
-                t.close(),
-                t.F)
-            for (var r = mt.length; r--; ) delete Ht.prototype[mt[r]]
-            return Ht()
-          }
-        H[Gt] = !0
-        var Xt =
-            Object.create ||
-            function (t, e) {
-              var r
-              return (
-                null !== t
-                  ? (($t.prototype = j(t)), (r = new $t()), ($t.prototype = null), (r[Gt] = t))
-                  : (r = Ht()),
-                void 0 === e ? r : Wt(r, e)
-              )
-            },
-          Yt = qt('unscopables'),
-          Jt = Array.prototype
-        null == Jt[Yt] && I.f(Jt, Yt, { configurable: !0, value: Xt(null) })
-        var Qt = function (t) {
-          Jt[Yt][t] = !0
-        }
-        Lt({ target: 'Array', proto: !0 }, { copyWithin: Mt }), Qt('copyWithin')
-        var Zt = function (t) {
-            if ('function' != typeof t) throw TypeError(String(t) + ' is not a function')
-            return t
-          },
-          te = function (t, e, r) {
-            if ((Zt(t), void 0 === e)) return t
-            switch (r) {
-              case 0:
-                return function () {
-                  return t.call(e)
-                }
-              case 1:
-                return function (r) {
-                  return t.call(e, r)
-                }
-              case 2:
-                return function (r, n) {
-                  return t.call(e, r, n)
-                }
-              case 3:
-                return function (r, n, o) {
-                  return t.call(e, r, n, o)
-                }
-            }
-            return function () {
-              return t.apply(e, arguments)
-            }
-          },
-          ee = Function.call,
-          re = function (t, e, r) {
-            return te(ee, o[t].prototype[e], r)
-          }
-        re('Array', 'copyWithin'),
-          Lt(
-            { target: 'Array', proto: !0 },
-            {
-              fill: function (t) {
-                for (
-                  var e = Ut(this),
-                    r = ft(e.length),
-                    n = arguments.length,
-                    o = pt(n > 1 ? arguments[1] : void 0, r),
-                    i = n > 2 ? arguments[2] : void 0,
-                    a = void 0 === i ? r : pt(i, r);
-                  a > o;
-
-                )
-                  e[o++] = t
-                return e
-              },
-            },
-          ),
-          Qt('fill'),
-          re('Array', 'fill')
-        var ne =
-            Array.isArray ||
-            function (t) {
-              return 'Array' == h(t)
-            },
-          oe = qt('species'),
-          ie = function (t, e) {
-            var r
-            return (
-              ne(t) &&
-                ('function' != typeof (r = t.constructor) || (r !== Array && !ne(r.prototype))
-                  ? y(r) && null === (r = r[oe]) && (r = void 0)
-                  : (r = void 0)),
-              new (void 0 === r ? Array : r)(0 === e ? 0 : e)
-            )
-          },
-          ae = [].push,
-          ue = function (t) {
-            var e = 1 == t,
-              r = 2 == t,
-              n = 3 == t,
-              o = 4 == t,
-              i = 6 == t,
-              a = 5 == t || i
-            return function (u, s, c, f) {
-              for (
-                var l,
-                  h,
-                  p = Ut(u),
-                  v = d(p),
-                  g = te(s, c, 3),
-                  y = ft(v.length),
-                  m = 0,
-                  b = f || ie,
-                  w = e ? b(u, y) : r ? b(u, 0) : void 0;
-                y > m;
-                m++
-              )
-                if ((a || m in v) && ((h = g((l = v[m]), m, p)), t))
-                  if (e) w[m] = h
-                  else if (h)
-                    switch (t) {
-                      case 3:
-                        return !0
-                      case 5:
-                        return l
-                      case 6:
-                        return m
-                      case 2:
-                        ae.call(w, l)
-                    }
-                  else if (o) return !1
-              return i ? -1 : n || o ? o : w
-            }
-          },
-          se = {
-            forEach: ue(0),
-            map: ue(1),
-            filter: ue(2),
-            some: ue(3),
-            every: ue(4),
-            find: ue(5),
-            findIndex: ue(6),
-          },
-          ce = Object.defineProperty,
-          fe = {},
-          le = function (t) {
-            throw t
-          },
-          he = function (t, e) {
-            if (w(fe, t)) return fe[t]
-            e || (e = {})
-            var r = [][t],
-              n = !!w(e, 'ACCESSORS') && e.ACCESSORS,
-              o = w(e, 0) ? e[0] : le,
-              u = w(e, 1) ? e[1] : void 0
-            return (fe[t] =
-              !!r &&
-              !i(function () {
-                if (n && !a) return !0
-                var t = { length: -1 }
-                n ? ce(t, 1, { enumerable: !0, get: le }) : (t[1] = 1), r.call(t, o, u)
-              }))
-          },
-          pe = se.find,
-          de = 'find',
-          ve = !0,
-          ge = he(de)
-        de in [] &&
-          Array(1).find(function () {
-            ve = !1
-          }),
-          Lt(
-            { target: 'Array', proto: !0, forced: ve || !ge },
-            {
-              find: function (t) {
-                return pe(this, t, arguments.length > 1 ? arguments[1] : void 0)
-              },
-            },
-          ),
-          Qt(de),
-          re('Array', 'find')
-        var ye = se.findIndex,
-          me = 'findIndex',
-          be = !0,
-          we = he(me)
-        me in [] &&
-          Array(1).findIndex(function () {
-            be = !1
-          }),
-          Lt(
-            { target: 'Array', proto: !0, forced: be || !we },
-            {
-              findIndex: function (t) {
-                return ye(this, t, arguments.length > 1 ? arguments[1] : void 0)
-              },
-            },
-          ),
-          Qt(me),
-          re('Array', 'findIndex')
-        var Se = function t(e, r, n, o, i, a, u, s) {
-          for (var c, f = i, l = 0, h = !!u && te(u, s, 3); l < o; ) {
-            if (l in n) {
-              if (((c = h ? h(n[l], l, r) : n[l]), a > 0 && ne(c)))
-                f = t(e, r, c, ft(c.length), f, a - 1) - 1
-              else {
-                if (f >= 9007199254740991) throw TypeError('Exceed the acceptable array length')
-                e[f] = c
-              }
-              f++
-            }
-            l++
-          }
-          return f
-        }
-        Lt(
-          { target: 'Array', proto: !0 },
-          {
-            flatMap: function (t) {
-              var e,
-                r = Ut(this),
-                n = ft(r.length)
-              return (
-                Zt(t),
-                ((e = ie(r, 0)).length = Se(
-                  e,
-                  r,
-                  r,
-                  n,
-                  0,
-                  1,
-                  t,
-                  arguments.length > 1 ? arguments[1] : void 0,
-                )),
-                e
-              )
-            },
-          },
-        ),
-          Qt('flatMap'),
-          re('Array', 'flatMap'),
-          Lt(
-            { target: 'Array', proto: !0 },
-            {
-              flat: function () {
-                var t = arguments.length ? arguments[0] : void 0,
-                  e = Ut(this),
-                  r = ft(e.length),
-                  n = ie(e, 0)
-                return (n.length = Se(n, e, e, r, 0, void 0 === t ? 1 : st(t))), n
-              },
-            },
-          ),
-          Qt('flat'),
-          re('Array', 'flat')
-        var Ee,
-          xe,
-          Ae,
-          Oe = function (t) {
-            return function (e, r) {
-              var n,
-                o,
-                i = String(v(e)),
-                a = st(r),
-                u = i.length
-              return a < 0 || a >= u
-                ? t
-                  ? ''
-                  : void 0
-                : (n = i.charCodeAt(a)) < 55296 ||
-                  n > 56319 ||
-                  a + 1 === u ||
-                  (o = i.charCodeAt(a + 1)) < 56320 ||
-                  o > 57343
-                ? t
-                  ? i.charAt(a)
-                  : n
-                : t
-                ? i.slice(a, a + 2)
-                : o - 56320 + ((n - 55296) << 10) + 65536
-            }
-          },
-          Re = { codeAt: Oe(!1), charAt: Oe(!0) },
-          je = !i(function () {
-            function t() {}
-            return (t.prototype.constructor = null), Object.getPrototypeOf(new t()) !== t.prototype
-          }),
-          Pe = V('IE_PROTO'),
-          Ie = Object.prototype,
-          ke = je
-            ? Object.getPrototypeOf
-            : function (t) {
-                return (
-                  (t = Ut(t)),
-                  w(t, Pe)
-                    ? t[Pe]
-                    : 'function' == typeof t.constructor && t instanceof t.constructor
-                    ? t.constructor.prototype
-                    : t instanceof Object
-                    ? Ie
-                    : null
-                )
-              },
-          Te = qt('iterator'),
-          Le = !1
-        ;[].keys &&
-          ('next' in (Ae = [].keys())
-            ? (xe = ke(ke(Ae))) !== Object.prototype && (Ee = xe)
-            : (Le = !0)),
-          null == Ee && (Ee = {}),
-          w(Ee, Te) ||
-            k(Ee, Te, function () {
-              return this
-            })
-        var Ue = { IteratorPrototype: Ee, BUGGY_SAFARI_ITERATORS: Le },
-          _e = I.f,
-          Me = qt('toStringTag'),
-          Ne = function (t, e, r) {
-            t && !w((t = r ? t : t.prototype), Me) && _e(t, Me, { configurable: !0, value: e })
-          },
-          Ce = {},
-          Fe = Ue.IteratorPrototype,
-          Be = function () {
-            return this
-          },
-          De = function (t, e, r) {
-            var n = e + ' Iterator'
-            return (t.prototype = Xt(Fe, { next: f(1, r) })), Ne(t, n, !1), (Ce[n] = Be), t
-          },
-          qe = function (t) {
-            if (!y(t) && null !== t) throw TypeError("Can't set " + String(t) + ' as a prototype')
-            return t
-          },
-          ze =
-            Object.setPrototypeOf ||
-            ('__proto__' in {}
-              ? (function () {
-                  var t,
-                    e = !1,
-                    r = {}
-                  try {
-                    ;(t = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set).call(
-                      r,
-                      [],
-                    ),
-                      (e = r instanceof Array)
-                  } catch (t) {}
-                  return function (r, n) {
-                    return j(r), qe(n), e ? t.call(r, n) : (r.__proto__ = n), r
-                  }
-                })()
-              : void 0),
-          We = Ue.IteratorPrototype,
-          Ke = Ue.BUGGY_SAFARI_ITERATORS,
-          Ge = qt('iterator'),
-          $e = 'keys',
-          Ve = 'values',
-          He = 'entries',
-          Xe = function () {
-            return this
-          },
-          Ye = function (t, e, r, n, o, i, a) {
-            De(r, e, n)
-            var u,
-              s,
-              c,
-              f = function (t) {
-                if (t === o && v) return v
-                if (!Ke && t in p) return p[t]
-                switch (t) {
-                  case $e:
-                  case Ve:
-                  case He:
-                    return function () {
-                      return new r(this, t)
-                    }
-                }
-                return function () {
-                  return new r(this)
-                }
-              },
-              l = e + ' Iterator',
-              h = !1,
-              p = t.prototype,
-              d = p[Ge] || p['@@iterator'] || (o && p[o]),
-              v = (!Ke && d) || f(o),
-              g = ('Array' == e && p.entries) || d
-            if (
-              (g &&
-                ((u = ke(g.call(new t()))),
-                We !== Object.prototype &&
-                  u.next &&
-                  (ke(u) !== We && (ze ? ze(u, We) : 'function' != typeof u[Ge] && k(u, Ge, Xe)),
-                  Ne(u, l, !0))),
-              o == Ve &&
-                d &&
-                d.name !== Ve &&
-                ((h = !0),
-                (v = function () {
-                  return d.call(this)
-                })),
-              p[Ge] !== v && k(p, Ge, v),
-              (Ce[e] = v),
-              o)
-            )
-              if (((s = { values: f(Ve), keys: i ? v : f($e), entries: f(He) }), a))
-                for (c in s) (Ke || h || !(c in p)) && rt(p, c, s[c])
-              else Lt({ target: e, proto: !0, forced: Ke || h }, s)
-            return s
-          },
-          Je = Re.charAt,
-          Qe = 'String Iterator',
-          Ze = et.set,
-          tr = et.getterFor(Qe)
-        Ye(
-          String,
-          'String',
-          function (t) {
-            Ze(this, { type: Qe, string: String(t), index: 0 })
-          },
-          function () {
-            var t,
-              e = tr(this),
-              r = e.string,
-              n = e.index
-            return n >= r.length
-              ? { value: void 0, done: !0 }
-              : ((t = Je(r, n)), (e.index += t.length), { value: t, done: !1 })
-          },
-        )
-        var er = function (t, e, r, n) {
-            try {
-              return n ? e(j(r)[0], r[1]) : e(r)
-            } catch (e) {
-              var o = t.return
-              throw (void 0 !== o && j(o.call(t)), e)
-            }
-          },
-          rr = qt('iterator'),
-          nr = Array.prototype,
-          or = function (t) {
-            return void 0 !== t && (Ce.Array === t || nr[rr] === t)
-          },
-          ir = function (t, e, r) {
-            var n = m(e)
-            n in t ? I.f(t, n, f(0, r)) : (t[n] = r)
-          },
-          ar = {}
-        ar[qt('toStringTag')] = 'z'
-        var ur = '[object z]' === String(ar),
-          sr = qt('toStringTag'),
-          cr =
-            'Arguments' ==
-            h(
-              (function () {
-                return arguments
-              })(),
-            ),
-          fr = ur
-            ? h
-            : function (t) {
-                var e, r, n
-                return void 0 === t
-                  ? 'Undefined'
-                  : null === t
-                  ? 'Null'
-                  : 'string' ==
-                    typeof (r = (function (t, e) {
-                      try {
-                        return t[e]
-                      } catch (t) {}
-                    })((e = Object(t)), sr))
-                  ? r
-                  : cr
-                  ? h(e)
-                  : 'Object' == (n = h(e)) && 'function' == typeof e.callee
-                  ? 'Arguments'
-                  : n
-              },
-          lr = qt('iterator'),
-          hr = function (t) {
-            if (null != t) return t[lr] || t['@@iterator'] || Ce[fr(t)]
-          },
-          pr = function (t) {
-            var e,
-              r,
-              n,
-              o,
-              i,
-              a,
-              u = Ut(t),
-              s = 'function' == typeof this ? this : Array,
-              c = arguments.length,
-              f = c > 1 ? arguments[1] : void 0,
-              l = void 0 !== f,
-              h = hr(u),
-              p = 0
-            if (
-              (l && (f = te(f, c > 2 ? arguments[2] : void 0, 2)),
-              null == h || (s == Array && or(h)))
-            )
-              for (r = new s((e = ft(u.length))); e > p; p++)
-                (a = l ? f(u[p], p) : u[p]), ir(r, p, a)
-            else
-              for (i = (o = h.call(u)).next, r = new s(); !(n = i.call(o)).done; p++)
-                (a = l ? er(o, f, [n.value, p], !0) : n.value), ir(r, p, a)
-            return (r.length = p), r
-          },
-          dr = qt('iterator'),
-          vr = !1
-        try {
-          var gr = 0,
-            yr = {
-              next: function () {
-                return { done: !!gr++ }
-              },
-              return: function () {
-                vr = !0
-              },
-            }
-          ;(yr[dr] = function () {
-            return this
-          }),
-            Array.from(yr, function () {
-              throw 2
-            })
-        } catch (t) {}
-        var mr = function (t, e) {
-            if (!e && !vr) return !1
-            var r = !1
-            try {
-              var n = {}
-              ;(n[dr] = function () {
-                return {
-                  next: function () {
-                    return { done: (r = !0) }
-                  },
-                }
-              }),
-                t(n)
-            } catch (t) {}
-            return r
-          },
-          br = !mr(function (t) {
-            Array.from(t)
-          })
-        Lt({ target: 'Array', stat: !0, forced: br }, { from: pr })
-        var wr = vt.includes,
-          Sr = he('indexOf', { ACCESSORS: !0, 1: 0 })
-        Lt(
-          { target: 'Array', proto: !0, forced: !Sr },
-          {
-            includes: function (t) {
-              return wr(this, t, arguments.length > 1 ? arguments[1] : void 0)
-            },
-          },
-        ),
-          Qt('includes'),
-          re('Array', 'includes')
-        var Er = 'Array Iterator',
-          xr = et.set,
-          Ar = et.getterFor(Er),
-          Or = Ye(
-            Array,
-            'Array',
-            function (t, e) {
-              xr(this, { type: Er, target: g(t), index: 0, kind: e })
-            },
-            function () {
-              var t = Ar(this),
-                e = t.target,
-                r = t.kind,
-                n = t.index++
-              return !e || n >= e.length
-                ? ((t.target = void 0), { value: void 0, done: !0 })
-                : 'keys' == r
-                ? { value: n, done: !1 }
-                : 'values' == r
-                ? { value: e[n], done: !1 }
-                : { value: [n, e[n]], done: !1 }
-            },
-            'values',
-          )
-        ;(Ce.Arguments = Ce.Array), Qt('keys'), Qt('values'), Qt('entries'), re('Array', 'values')
-        var Rr = i(function () {
-          function t() {}
-          return !(Array.of.call(t) instanceof t)
-        })
-        Lt(
-          { target: 'Array', stat: !0, forced: Rr },
-          {
-            of: function () {
-              for (
-                var t = 0,
-                  e = arguments.length,
-                  r = new ('function' == typeof this ? this : Array)(e);
-                e > t;
-
-              )
-                ir(r, t, arguments[t++])
-              return (r.length = e), r
-            },
-          },
-        )
-        var jr = qt('hasInstance'),
-          Pr = Function.prototype
-        jr in Pr ||
-          I.f(Pr, jr, {
-            value: function (t) {
-              if ('function' != typeof this || !y(t)) return !1
-              if (!y(this.prototype)) return t instanceof this
-              for (; (t = ke(t)); ) if (this.prototype === t) return !0
-              return !1
-            },
-          }),
-          qt('hasInstance')
-        var Ir = Function.prototype,
-          kr = Ir.toString,
-          Tr = /^\s*function ([^ (]*)/,
-          Lr = 'name'
-        a &&
-          !(Lr in Ir) &&
-          (0, I.f)(Ir, Lr, {
-            configurable: !0,
-            get: function () {
-              try {
-                return kr.call(this).match(Tr)[1]
-              } catch (t) {
-                return ''
-              }
-            },
-          })
-        var Ur = !i(function () {
-            return Object.isExtensible(Object.preventExtensions({}))
-          }),
-          _r = e(function (t) {
-            var e = I.f,
-              r = G('meta'),
-              n = 0,
-              o =
-                Object.isExtensible ||
-                function () {
-                  return !0
-                },
-              i = function (t) {
-                e(t, r, { value: { objectID: 'O' + ++n, weakData: {} } })
-              },
-              a = (t.exports = {
-                REQUIRED: !1,
-                fastKey: function (t, e) {
-                  if (!y(t))
-                    return 'symbol' == typeof t ? t : ('string' == typeof t ? 'S' : 'P') + t
-                  if (!w(t, r)) {
-                    if (!o(t)) return 'F'
-                    if (!e) return 'E'
-                    i(t)
-                  }
-                  return t[r].objectID
-                },
-                getWeakData: function (t, e) {
-                  if (!w(t, r)) {
-                    if (!o(t)) return !0
-                    if (!e) return !1
-                    i(t)
-                  }
-                  return t[r].weakData
-                },
-                onFreeze: function (t) {
-                  return Ur && a.REQUIRED && o(t) && !w(t, r) && i(t), t
-                },
-              })
-            H[r] = !0
-          }),
-          Mr = e(function (t) {
-            var e = function (t, e) {
-              ;(this.stopped = t), (this.result = e)
-            }
-            ;(t.exports = function (t, r, n, o, i) {
-              var a,
-                u,
-                s,
-                c,
-                f,
-                l,
-                h,
-                p = te(r, n, o ? 2 : 1)
-              if (i) a = t
-              else {
-                if ('function' != typeof (u = hr(t))) throw TypeError('Target is not iterable')
-                if (or(u)) {
-                  for (s = 0, c = ft(t.length); c > s; s++)
-                    if ((f = o ? p(j((h = t[s]))[0], h[1]) : p(t[s])) && f instanceof e) return f
-                  return new e(!1)
-                }
-                a = u.call(t)
-              }
-              for (l = a.next; !(h = l.call(a)).done; )
-                if ('object' == typeof (f = er(a, p, h.value, o)) && f && f instanceof e) return f
-              return new e(!1)
-            }).stop = function (t) {
-              return new e(!0, t)
-            }
-          }),
-          Nr = function (t, e, r) {
-            if (!(t instanceof e)) throw TypeError('Incorrect ' + (r ? r + ' ' : '') + 'invocation')
-            return t
-          },
-          Cr = function (t, e, r) {
-            var n, o
-            return (
-              ze &&
-                'function' == typeof (n = e.constructor) &&
-                n !== r &&
-                y((o = n.prototype)) &&
-                o !== r.prototype &&
-                ze(t, o),
-              t
-            )
-          },
-          Fr = function (t, e, r) {
-            var n = -1 !== t.indexOf('Map'),
-              a = -1 !== t.indexOf('Weak'),
-              u = n ? 'set' : 'add',
-              s = o[t],
-              c = s && s.prototype,
-              f = s,
-              l = {},
-              h = function (t) {
-                var e = c[t]
-                rt(
-                  c,
-                  t,
-                  'add' == t
-                    ? function (t) {
-                        return e.call(this, 0 === t ? 0 : t), this
-                      }
-                    : 'delete' == t
-                    ? function (t) {
-                        return !(a && !y(t)) && e.call(this, 0 === t ? 0 : t)
-                      }
-                    : 'get' == t
-                    ? function (t) {
-                        return a && !y(t) ? void 0 : e.call(this, 0 === t ? 0 : t)
-                      }
-                    : 'has' == t
-                    ? function (t) {
-                        return !(a && !y(t)) && e.call(this, 0 === t ? 0 : t)
-                      }
-                    : function (t, r) {
-                        return e.call(this, 0 === t ? 0 : t, r), this
-                      },
-                )
-              }
-            if (
-              kt(
-                t,
-                'function' != typeof s ||
-                  !(
-                    a ||
-                    (c.forEach &&
-                      !i(function () {
-                        new s().entries().next()
-                      }))
-                  ),
-              )
-            )
-              (f = r.getConstructor(e, t, n, u)), (_r.REQUIRED = !0)
-            else if (kt(t, !0)) {
-              var p = new f(),
-                d = p[u](a ? {} : -0, 1) != p,
-                v = i(function () {
-                  p.has(1)
-                }),
-                g = mr(function (t) {
-                  new s(t)
-                }),
-                m =
-                  !a &&
-                  i(function () {
-                    for (var t = new s(), e = 5; e--; ) t[u](e, e)
-                    return !t.has(-0)
-                  })
-              g ||
-                (((f = e(function (e, r) {
-                  Nr(e, f, t)
-                  var o = Cr(new s(), e, f)
-                  return null != r && Mr(r, o[u], o, n), o
-                })).prototype = c),
-                (c.constructor = f)),
-                (v || m) && (h('delete'), h('has'), n && h('get')),
-                (m || d) && h(u),
-                a && c.clear && delete c.clear
-            }
-            return (
-              (l[t] = f),
-              Lt({ global: !0, forced: f != s }, l),
-              Ne(f, t),
-              a || r.setStrong(f, t, n),
-              f
-            )
-          },
-          Br = function (t, e, r) {
-            for (var n in e) rt(t, n, e[n], r)
-            return t
-          },
-          Dr = qt('species'),
-          qr = function (t) {
-            var e = it(t)
-            a &&
-              e &&
-              !e[Dr] &&
-              (0, I.f)(e, Dr, {
-                configurable: !0,
-                get: function () {
-                  return this
-                },
-              })
-          },
-          zr = I.f,
-          Wr = _r.fastKey,
-          Kr = et.set,
-          Gr = et.getterFor,
-          $r = {
-            getConstructor: function (t, e, r, n) {
-              var o = t(function (t, i) {
-                  Nr(t, o, e),
-                    Kr(t, { type: e, index: Xt(null), first: void 0, last: void 0, size: 0 }),
-                    a || (t.size = 0),
-                    null != i && Mr(i, t[n], t, r)
-                }),
-                i = Gr(e),
-                u = function (t, e, r) {
-                  var n,
-                    o,
-                    u = i(t),
-                    c = s(t, e)
-                  return (
-                    c
-                      ? (c.value = r)
-                      : ((u.last = c =
-                          {
-                            index: (o = Wr(e, !0)),
-                            key: e,
-                            value: r,
-                            previous: (n = u.last),
-                            next: void 0,
-                            removed: !1,
-                          }),
-                        u.first || (u.first = c),
-                        n && (n.next = c),
-                        a ? u.size++ : t.size++,
-                        'F' !== o && (u.index[o] = c)),
-                    t
-                  )
-                },
-                s = function (t, e) {
-                  var r,
-                    n = i(t),
-                    o = Wr(e)
-                  if ('F' !== o) return n.index[o]
-                  for (r = n.first; r; r = r.next) if (r.key == e) return r
-                }
-              return (
-                Br(o.prototype, {
-                  clear: function () {
-                    for (var t = i(this), e = t.index, r = t.first; r; )
-                      (r.removed = !0),
-                        r.previous && (r.previous = r.previous.next = void 0),
-                        delete e[r.index],
-                        (r = r.next)
-                    ;(t.first = t.last = void 0), a ? (t.size = 0) : (this.size = 0)
-                  },
-                  delete: function (t) {
-                    var e = this,
-                      r = i(e),
-                      n = s(e, t)
-                    if (n) {
-                      var o = n.next,
-                        u = n.previous
-                      delete r.index[n.index],
-                        (n.removed = !0),
-                        u && (u.next = o),
-                        o && (o.previous = u),
-                        r.first == n && (r.first = o),
-                        r.last == n && (r.last = u),
-                        a ? r.size-- : e.size--
-                    }
-                    return !!n
-                  },
-                  forEach: function (t) {
-                    for (
-                      var e,
-                        r = i(this),
-                        n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3);
-                      (e = e ? e.next : r.first);
-
-                    )
-                      for (n(e.value, e.key, this); e && e.removed; ) e = e.previous
-                  },
-                  has: function (t) {
-                    return !!s(this, t)
-                  },
-                }),
-                Br(
-                  o.prototype,
-                  r
-                    ? {
-                        get: function (t) {
-                          var e = s(this, t)
-                          return e && e.value
-                        },
-                        set: function (t, e) {
-                          return u(this, 0 === t ? 0 : t, e)
-                        },
-                      }
-                    : {
-                        add: function (t) {
-                          return u(this, (t = 0 === t ? 0 : t), t)
-                        },
-                      },
-                ),
-                a &&
-                  zr(o.prototype, 'size', {
-                    get: function () {
-                      return i(this).size
-                    },
-                  }),
-                o
-              )
-            },
-            setStrong: function (t, e, r) {
-              var n = e + ' Iterator',
-                o = Gr(e),
-                i = Gr(n)
-              Ye(
-                t,
-                e,
-                function (t, e) {
-                  Kr(this, { type: n, target: t, state: o(t), kind: e, last: void 0 })
-                },
-                function () {
-                  for (var t = i(this), e = t.kind, r = t.last; r && r.removed; ) r = r.previous
-                  return t.target && (t.last = r = r ? r.next : t.state.first)
-                    ? 'keys' == e
-                      ? { value: r.key, done: !1 }
-                      : 'values' == e
-                      ? { value: r.value, done: !1 }
-                      : { value: [r.key, r.value], done: !1 }
-                    : ((t.target = void 0), { value: void 0, done: !0 })
-                },
-                r ? 'entries' : 'values',
-                !r,
-                !0,
-              ),
-                qr(e)
-            },
-          },
-          Vr = Fr(
-            'Map',
-            function (t) {
-              return function () {
-                return t(this, arguments.length ? arguments[0] : void 0)
-              }
-            },
-            $r,
-          )
-        ur ||
-          rt(
-            Object.prototype,
-            'toString',
-            ur
-              ? {}.toString
-              : function () {
-                  return '[object ' + fr(this) + ']'
-                },
-            { unsafe: !0 },
-          )
-        var Hr = {
-            CSSRuleList: 0,
-            CSSStyleDeclaration: 0,
-            CSSValueList: 0,
-            ClientRectList: 0,
-            DOMRectList: 0,
-            DOMStringList: 0,
-            DOMTokenList: 1,
-            DataTransferItemList: 0,
-            FileList: 0,
-            HTMLAllCollection: 0,
-            HTMLCollection: 0,
-            HTMLFormElement: 0,
-            HTMLSelectElement: 0,
-            MediaList: 0,
-            MimeTypeArray: 0,
-            NamedNodeMap: 0,
-            NodeList: 1,
-            PaintRequestList: 0,
-            Plugin: 0,
-            PluginArray: 0,
-            SVGLengthList: 0,
-            SVGNumberList: 0,
-            SVGPathSegList: 0,
-            SVGPointList: 0,
-            SVGStringList: 0,
-            SVGTransformList: 0,
-            SourceBufferList: 0,
-            StyleSheetList: 0,
-            TextTrackCueList: 0,
-            TextTrackList: 0,
-            TouchList: 0,
-          },
-          Xr = qt('iterator'),
-          Yr = qt('toStringTag'),
-          Jr = Or.values
-        for (var Qr in Hr) {
-          var Zr = o[Qr],
-            tn = Zr && Zr.prototype
-          if (tn) {
-            if (tn[Xr] !== Jr)
-              try {
-                k(tn, Xr, Jr)
-              } catch (t) {
-                tn[Xr] = Jr
-              }
-            if ((tn[Yr] || k(tn, Yr, Qr), Hr[Qr]))
-              for (var en in Or)
-                if (tn[en] !== Or[en])
-                  try {
-                    k(tn, en, Or[en])
-                  } catch (t) {
-                    tn[en] = Or[en]
-                  }
-          }
-        }
-        var rn = function (t) {
-          var e,
-            r,
-            n,
-            o,
-            i = arguments.length,
-            a = i > 1 ? arguments[1] : void 0
-          return (
-            Zt(this),
-            (e = void 0 !== a) && Zt(a),
-            null == t
-              ? new this()
-              : ((r = []),
-                e
-                  ? ((n = 0),
-                    (o = te(a, i > 2 ? arguments[2] : void 0, 2)),
-                    Mr(t, function (t) {
-                      r.push(o(t, n++))
-                    }))
-                  : Mr(t, r.push, r),
-                new this(r))
-          )
-        }
-        Lt({ target: 'Map', stat: !0 }, { from: rn })
-        var nn = function () {
-          for (var t = arguments.length, e = new Array(t); t--; ) e[t] = arguments[t]
-          return new this(e)
-        }
-        Lt({ target: 'Map', stat: !0 }, { of: nn })
-        var on = function () {
-          for (
-            var t, e = j(this), r = Zt(e.delete), n = !0, o = 0, i = arguments.length;
-            o < i;
-            o++
-          )
-            (t = r.call(e, arguments[o])), (n = n && t)
-          return !!n
-        }
-        Lt(
-          { target: 'Map', proto: !0, real: !0, forced: q },
-          {
-            deleteAll: function () {
-              return on.apply(this, arguments)
-            },
-          },
-        )
-        var an = function (t) {
-            var e = hr(t)
-            if ('function' != typeof e) throw TypeError(String(t) + ' is not iterable')
-            return j(e.call(t))
-          },
-          un = function (t) {
-            return Map.prototype.entries.call(t)
-          }
-        Lt(
-          { target: 'Map', proto: !0, real: !0, forced: q },
-          {
-            every: function (t) {
-              var e = j(this),
-                r = un(e),
-                n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-              return !Mr(
-                r,
-                function (t, r) {
-                  if (!n(r, t, e)) return Mr.stop()
-                },
-                void 0,
-                !0,
-                !0,
-              ).stopped
-            },
-          },
-        )
-        var sn = qt('species'),
-          cn = function (t, e) {
-            var r,
-              n = j(t).constructor
-            return void 0 === n || null == (r = j(n)[sn]) ? e : Zt(r)
-          }
-        Lt(
-          { target: 'Map', proto: !0, real: !0, forced: q },
-          {
-            filter: function (t) {
-              var e = j(this),
-                r = un(e),
-                n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                o = new (cn(e, it('Map')))(),
-                i = Zt(o.set)
-              return (
-                Mr(
-                  r,
-                  function (t, r) {
-                    n(r, t, e) && i.call(o, t, r)
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ),
-                o
-              )
-            },
-          },
-        ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              find: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-                return Mr(
-                  r,
-                  function (t, r) {
-                    if (n(r, t, e)) return Mr.stop(r)
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ).result
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              findKey: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-                return Mr(
-                  r,
-                  function (t, r) {
-                    if (n(r, t, e)) return Mr.stop(t)
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ).result
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', stat: !0 },
-            {
-              groupBy: function (t, e) {
-                var r = new this()
-                Zt(e)
-                var n = Zt(r.has),
-                  o = Zt(r.get),
-                  i = Zt(r.set)
-                return (
-                  Mr(t, function (t) {
-                    var a = e(t)
-                    n.call(r, a) ? o.call(r, a).push(t) : i.call(r, a, [t])
-                  }),
-                  r
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              includes: function (t) {
-                return Mr(
-                  un(j(this)),
-                  function (e, r) {
-                    if ((n = r) === (o = t) || (n != n && o != o)) return Mr.stop()
-                    var n, o
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ).stopped
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', stat: !0 },
-            {
-              keyBy: function (t, e) {
-                var r = new this()
-                Zt(e)
-                var n = Zt(r.set)
-                return (
-                  Mr(t, function (t) {
-                    n.call(r, e(t), t)
-                  }),
-                  r
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              keyOf: function (t) {
-                return Mr(
-                  un(j(this)),
-                  function (e, r) {
-                    if (r === t) return Mr.stop(e)
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ).result
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              mapKeys: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                  o = new (cn(e, it('Map')))(),
-                  i = Zt(o.set)
-                return (
-                  Mr(
-                    r,
-                    function (t, r) {
-                      i.call(o, n(r, t, e), r)
-                    },
-                    void 0,
-                    !0,
-                    !0,
-                  ),
-                  o
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              mapValues: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                  o = new (cn(e, it('Map')))(),
-                  i = Zt(o.set)
-                return (
-                  Mr(
-                    r,
-                    function (t, r) {
-                      i.call(o, t, n(r, t, e))
-                    },
-                    void 0,
-                    !0,
-                    !0,
-                  ),
-                  o
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              merge: function (t) {
-                for (var e = j(this), r = Zt(e.set), n = 0; n < arguments.length; )
-                  Mr(arguments[n++], r, e, !0)
-                return e
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              reduce: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = arguments.length < 2,
-                  o = n ? void 0 : arguments[1]
-                if (
-                  (Zt(t),
-                  Mr(
-                    r,
-                    function (r, i) {
-                      n ? ((n = !1), (o = i)) : (o = t(o, i, r, e))
-                    },
-                    void 0,
-                    !0,
-                    !0,
-                  ),
-                  n)
-                )
-                  throw TypeError('Reduce of empty map with no initial value')
-                return o
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              some: function (t) {
-                var e = j(this),
-                  r = un(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-                return Mr(
-                  r,
-                  function (t, r) {
-                    if (n(r, t, e)) return Mr.stop()
-                  },
-                  void 0,
-                  !0,
-                  !0,
-                ).stopped
-              },
-            },
-          ),
-          Lt(
-            { target: 'Map', proto: !0, real: !0, forced: q },
-            {
-              update: function (t, e) {
-                var r = j(this),
-                  n = arguments.length
-                Zt(e)
-                var o = r.has(t)
-                if (!o && n < 3) throw TypeError('Updating absent value')
-                var i = o ? r.get(t) : Zt(n > 2 ? arguments[2] : void 0)(t, r)
-                return r.set(t, e(i, t, r)), r
-              },
-            },
-          )
-        var fn = function (t, e) {
-          var r,
-            n = j(this),
-            o = arguments.length > 2 ? arguments[2] : void 0
-          if ('function' != typeof e && 'function' != typeof o)
-            throw TypeError('At least one callback required')
-          return (
-            n.has(t)
-              ? ((r = n.get(t)), 'function' == typeof e && ((r = e(r)), n.set(t, r)))
-              : 'function' == typeof o && ((r = o()), n.set(t, r)),
-            r
-          )
-        }
-        Lt({ target: 'Map', proto: !0, real: !0, forced: q }, { upsert: fn }),
-          Lt({ target: 'Map', proto: !0, real: !0, forced: q }, { updateOrInsert: fn })
-        var ln =
-            '\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff',
-          hn = '[' + ln + ']',
-          pn = RegExp('^' + hn + hn + '*'),
-          dn = RegExp(hn + hn + '*$'),
-          vn = function (t) {
-            return function (e) {
-              var r = String(v(e))
-              return 1 & t && (r = r.replace(pn, '')), 2 & t && (r = r.replace(dn, '')), r
-            }
-          },
-          gn = { start: vn(1), end: vn(2), trim: vn(3) },
-          yn = wt.f,
-          mn = R.f,
-          bn = I.f,
-          wn = gn.trim,
-          Sn = 'Number',
-          En = o.Number,
-          xn = En.prototype,
-          An = h(Xt(xn)) == Sn,
-          On = function (t) {
-            var e,
-              r,
-              n,
-              o,
-              i,
-              a,
-              u,
-              s,
-              c = m(t, !1)
-            if ('string' == typeof c && c.length > 2)
-              if (43 === (e = (c = wn(c)).charCodeAt(0)) || 45 === e) {
-                if (88 === (r = c.charCodeAt(2)) || 120 === r) return NaN
-              } else if (48 === e) {
-                switch (c.charCodeAt(1)) {
-                  case 66:
-                  case 98:
-                    ;(n = 2), (o = 49)
-                    break
-                  case 79:
-                  case 111:
-                    ;(n = 8), (o = 55)
-                    break
-                  default:
-                    return +c
-                }
-                for (a = (i = c.slice(2)).length, u = 0; u < a; u++)
-                  if ((s = i.charCodeAt(u)) < 48 || s > o) return NaN
-                return parseInt(i, n)
-              }
-            return +c
-          }
-        if (kt(Sn, !En(' 0o1') || !En('0b1') || En('+0x1'))) {
-          for (
-            var Rn,
-              jn = function (t) {
-                var e = arguments.length < 1 ? 0 : t,
-                  r = this
-                return r instanceof jn &&
-                  (An
-                    ? i(function () {
-                        xn.valueOf.call(r)
-                      })
-                    : h(r) != Sn)
-                  ? Cr(new En(On(e)), r, jn)
-                  : On(e)
-              },
-              Pn = a
-                ? yn(En)
-                : 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'.split(
-                    ',',
-                  ),
-              In = 0;
-            Pn.length > In;
-            In++
-          )
-            w(En, (Rn = Pn[In])) && !w(jn, Rn) && bn(jn, Rn, mn(En, Rn))
-          ;(jn.prototype = xn), (xn.constructor = jn), rt(o, Sn, jn)
-        }
-        Lt({ target: 'Number', stat: !0 }, { EPSILON: Math.pow(2, -52) })
-        var kn = o.isFinite
-        Lt(
-          { target: 'Number', stat: !0 },
-          {
-            isFinite:
-              Number.isFinite ||
-              function (t) {
-                return 'number' == typeof t && kn(t)
-              },
-          },
-        )
-        var Tn = Math.floor,
-          Ln = function (t) {
-            return !y(t) && isFinite(t) && Tn(t) === t
-          }
-        Lt({ target: 'Number', stat: !0 }, { isInteger: Ln }),
-          Lt(
-            { target: 'Number', stat: !0 },
-            {
-              isNaN: function (t) {
-                return t != t
-              },
-            },
-          )
-        var Un = Math.abs
-        Lt(
-          { target: 'Number', stat: !0 },
-          {
-            isSafeInteger: function (t) {
-              return Ln(t) && Un(t) <= 9007199254740991
-            },
-          },
-        ),
-          Lt({ target: 'Number', stat: !0 }, { MAX_SAFE_INTEGER: 9007199254740991 }),
-          Lt({ target: 'Number', stat: !0 }, { MIN_SAFE_INTEGER: -9007199254740991 })
-        var _n = gn.trim,
-          Mn = o.parseFloat,
-          Nn =
-            1 / Mn(ln + '-0') != -1 / 0
-              ? function (t) {
-                  var e = _n(String(t)),
-                    r = Mn(e)
-                  return 0 === r && '-' == e.charAt(0) ? -0 : r
-                }
-              : Mn
-        Lt({ target: 'Number', stat: !0, forced: Number.parseFloat != Nn }, { parseFloat: Nn })
-        var Cn = gn.trim,
-          Fn = o.parseInt,
-          Bn = /^[+-]?0[Xx]/,
-          Dn =
-            8 !== Fn(ln + '08') || 22 !== Fn(ln + '0x16')
-              ? function (t, e) {
-                  var r = Cn(String(t))
-                  return Fn(r, e >>> 0 || (Bn.test(r) ? 16 : 10))
-                }
-              : Fn
-        Lt({ target: 'Number', stat: !0, forced: Number.parseInt != Dn }, { parseInt: Dn })
-        var qn = c.f,
-          zn = function (t) {
-            return function (e) {
-              for (var r, n = g(e), o = zt(n), i = o.length, u = 0, s = []; i > u; )
-                (r = o[u++]), (a && !qn.call(n, r)) || s.push(t ? [r, n[r]] : n[r])
-              return s
-            }
-          },
-          Wn = { entries: zn(!0), values: zn(!1) },
-          Kn = Wn.entries
-        Lt(
-          { target: 'Object', stat: !0 },
-          {
-            entries: function (t) {
-              return Kn(t)
-            },
-          },
-        ),
-          Lt(
-            { target: 'Object', stat: !0, sham: !a },
-            {
-              getOwnPropertyDescriptors: function (t) {
-                for (var e, r, n = g(t), o = R.f, i = Et(n), a = {}, u = 0; i.length > u; )
-                  void 0 !== (r = o(n, (e = i[u++]))) && ir(a, e, r)
-                return a
-              },
-            },
-          )
-        var Gn = i(function () {
-          zt(1)
-        })
-        Lt(
-          { target: 'Object', stat: !0, forced: Gn },
-          {
-            keys: function (t) {
-              return zt(Ut(t))
-            },
-          },
-        )
-        var $n =
-          Object.is ||
-          function (t, e) {
-            return t === e ? 0 !== t || 1 / t == 1 / e : t != t && e != e
-          }
-        Lt({ target: 'Object', stat: !0 }, { is: $n })
-        var Vn = Wn.values
-        Lt(
-          { target: 'Object', stat: !0 },
-          {
-            values: function (t) {
-              return Vn(t)
-            },
-          },
-        )
-        var Hn = it('Reflect', 'apply'),
-          Xn = Function.apply,
-          Yn = !i(function () {
-            Hn(function () {})
-          })
-        Lt(
-          { target: 'Reflect', stat: !0, forced: Yn },
-          {
-            apply: function (t, e, r) {
-              return Zt(t), j(r), Hn ? Hn(t, e, r) : Xn.call(t, e, r)
-            },
-          },
-        )
-        var Jn = [].slice,
-          Qn = {},
-          Zn = function (t, e, r) {
-            if (!(e in Qn)) {
-              for (var n = [], o = 0; o < e; o++) n[o] = 'a[' + o + ']'
-              Qn[e] = Function('C,a', 'return new C(' + n.join(',') + ')')
-            }
-            return Qn[e](t, r)
-          },
-          to =
-            Function.bind ||
-            function (t) {
-              var e = Zt(this),
-                r = Jn.call(arguments, 1),
-                n = function () {
-                  var o = r.concat(Jn.call(arguments))
-                  return this instanceof n ? Zn(e, o.length, o) : e.apply(t, o)
-                }
-              return y(e.prototype) && (n.prototype = e.prototype), n
-            },
-          eo = it('Reflect', 'construct'),
-          ro = i(function () {
-            function t() {}
-            return !(eo(function () {}, [], t) instanceof t)
-          }),
-          no = !i(function () {
-            eo(function () {})
-          }),
-          oo = ro || no
-        Lt(
-          { target: 'Reflect', stat: !0, forced: oo, sham: oo },
-          {
-            construct: function (t, e) {
-              Zt(t), j(e)
-              var r = arguments.length < 3 ? t : Zt(arguments[2])
-              if (no && !ro) return eo(t, e, r)
-              if (t == r) {
-                switch (e.length) {
-                  case 0:
-                    return new t()
-                  case 1:
-                    return new t(e[0])
-                  case 2:
-                    return new t(e[0], e[1])
-                  case 3:
-                    return new t(e[0], e[1], e[2])
-                  case 4:
-                    return new t(e[0], e[1], e[2], e[3])
-                }
-                var n = [null]
-                return n.push.apply(n, e), new (to.apply(t, n))()
-              }
-              var o = r.prototype,
-                i = Xt(y(o) ? o : Object.prototype),
-                a = Function.apply.call(t, i, e)
-              return y(a) ? a : i
-            },
-          },
-        )
-        var io = i(function () {
-          Reflect.defineProperty(I.f({}, 1, { value: 1 }), 1, { value: 2 })
-        })
-        Lt(
-          { target: 'Reflect', stat: !0, forced: io, sham: !a },
-          {
-            defineProperty: function (t, e, r) {
-              j(t)
-              var n = m(e, !0)
-              j(r)
-              try {
-                return I.f(t, n, r), !0
-              } catch (t) {
-                return !1
-              }
-            },
-          },
-        )
-        var ao = R.f
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            deleteProperty: function (t, e) {
-              var r = ao(j(t), e)
-              return !(r && !r.configurable) && delete t[e]
-            },
-          },
-        ),
-          Lt(
-            { target: 'Reflect', stat: !0 },
-            {
-              get: function t(e, r) {
-                var n,
-                  o,
-                  i = arguments.length < 3 ? e : arguments[2]
-                return j(e) === i
-                  ? e[r]
-                  : (n = R.f(e, r))
-                  ? w(n, 'value')
-                    ? n.value
-                    : void 0 === n.get
-                    ? void 0
-                    : n.get.call(i)
-                  : y((o = ke(e)))
-                  ? t(o, r, i)
-                  : void 0
-              },
-            },
-          ),
-          Lt(
-            { target: 'Reflect', stat: !0, sham: !a },
-            {
-              getOwnPropertyDescriptor: function (t, e) {
-                return R.f(j(t), e)
-              },
-            },
-          ),
-          Lt(
-            { target: 'Reflect', stat: !0, sham: !je },
-            {
-              getPrototypeOf: function (t) {
-                return ke(j(t))
-              },
-            },
-          ),
-          Lt(
-            { target: 'Reflect', stat: !0 },
-            {
-              has: function (t, e) {
-                return e in t
-              },
-            },
-          )
-        var uo = Object.isExtensible
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            isExtensible: function (t) {
-              return j(t), !uo || uo(t)
-            },
-          },
-        ),
-          Lt({ target: 'Reflect', stat: !0 }, { ownKeys: Et }),
-          Lt(
-            { target: 'Reflect', stat: !0, sham: !Ur },
-            {
-              preventExtensions: function (t) {
-                j(t)
-                try {
-                  var e = it('Object', 'preventExtensions')
-                  return e && e(t), !0
-                } catch (t) {
-                  return !1
-                }
-              },
-            },
-          )
-        var so = i(function () {
-          var t = I.f({}, 'a', { configurable: !0 })
-          return !1 !== Reflect.set(ke(t), 'a', 1, t)
-        })
-        Lt(
-          { target: 'Reflect', stat: !0, forced: so },
-          {
-            set: function t(e, r, n) {
-              var o,
-                i,
-                a = arguments.length < 4 ? e : arguments[3],
-                u = R.f(j(e), r)
-              if (!u) {
-                if (y((i = ke(e)))) return t(i, r, n, a)
-                u = f(0)
-              }
-              if (w(u, 'value')) {
-                if (!1 === u.writable || !y(a)) return !1
-                if ((o = R.f(a, r))) {
-                  if (o.get || o.set || !1 === o.writable) return !1
-                  ;(o.value = n), I.f(a, r, o)
-                } else I.f(a, r, f(0, n))
-                return !0
-              }
-              return void 0 !== u.set && (u.set.call(a, n), !0)
-            },
-          },
-        ),
-          ze &&
-            Lt(
-              { target: 'Reflect', stat: !0 },
-              {
-                setPrototypeOf: function (t, e) {
-                  j(t), qe(e)
-                  try {
-                    return ze(t, e), !0
-                  } catch (t) {
-                    return !1
-                  }
-                },
-              },
-            )
-        var co = _r.getWeakData,
-          fo = et.set,
-          lo = et.getterFor,
-          ho = se.find,
-          po = se.findIndex,
-          vo = 0,
-          go = function (t) {
-            return t.frozen || (t.frozen = new yo())
-          },
-          yo = function () {
-            this.entries = []
-          },
-          mo = function (t, e) {
-            return ho(t.entries, function (t) {
-              return t[0] === e
-            })
-          }
-        yo.prototype = {
-          get: function (t) {
-            var e = mo(this, t)
-            if (e) return e[1]
-          },
-          has: function (t) {
-            return !!mo(this, t)
-          },
-          set: function (t, e) {
-            var r = mo(this, t)
-            r ? (r[1] = e) : this.entries.push([t, e])
-          },
-          delete: function (t) {
-            var e = po(this.entries, function (e) {
-              return e[0] === t
-            })
-            return ~e && this.entries.splice(e, 1), !!~e
-          },
-        }
-        var bo = {
-            getConstructor: function (t, e, r, n) {
-              var o = t(function (t, i) {
-                  Nr(t, o, e),
-                    fo(t, { type: e, id: vo++, frozen: void 0 }),
-                    null != i && Mr(i, t[n], t, r)
-                }),
-                i = lo(e),
-                a = function (t, e, r) {
-                  var n = i(t),
-                    o = co(j(e), !0)
-                  return !0 === o ? go(n).set(e, r) : (o[n.id] = r), t
-                }
-              return (
-                Br(o.prototype, {
-                  delete: function (t) {
-                    var e = i(this)
-                    if (!y(t)) return !1
-                    var r = co(t)
-                    return !0 === r ? go(e).delete(t) : r && w(r, e.id) && delete r[e.id]
-                  },
-                  has: function (t) {
-                    var e = i(this)
-                    if (!y(t)) return !1
-                    var r = co(t)
-                    return !0 === r ? go(e).has(t) : r && w(r, e.id)
-                  },
-                }),
-                Br(
-                  o.prototype,
-                  r
-                    ? {
-                        get: function (t) {
-                          var e = i(this)
-                          if (y(t)) {
-                            var r = co(t)
-                            return !0 === r ? go(e).get(t) : r ? r[e.id] : void 0
-                          }
-                        },
-                        set: function (t, e) {
-                          return a(this, t, e)
-                        },
-                      }
-                    : {
-                        add: function (t) {
-                          return a(this, t, !0)
-                        },
-                      },
-                ),
-                o
-              )
-            },
-          },
-          wo = e(function (t) {
-            var e,
-              r = et.enforce,
-              n = !o.ActiveXObject && 'ActiveXObject' in o,
-              i = Object.isExtensible,
-              a = function (t) {
-                return function () {
-                  return t(this, arguments.length ? arguments[0] : void 0)
-                }
-              },
-              u = (t.exports = Fr('WeakMap', a, bo))
-            if (D && n) {
-              ;(e = bo.getConstructor(a, 'WeakMap', !0)), (_r.REQUIRED = !0)
-              var s = u.prototype,
-                c = s.delete,
-                f = s.has,
-                l = s.get,
-                h = s.set
-              Br(s, {
-                delete: function (t) {
-                  if (y(t) && !i(t)) {
-                    var n = r(this)
-                    return n.frozen || (n.frozen = new e()), c.call(this, t) || n.frozen.delete(t)
-                  }
-                  return c.call(this, t)
-                },
-                has: function (t) {
-                  if (y(t) && !i(t)) {
-                    var n = r(this)
-                    return n.frozen || (n.frozen = new e()), f.call(this, t) || n.frozen.has(t)
-                  }
-                  return f.call(this, t)
-                },
-                get: function (t) {
-                  if (y(t) && !i(t)) {
-                    var n = r(this)
-                    return (
-                      n.frozen || (n.frozen = new e()),
-                      f.call(this, t) ? l.call(this, t) : n.frozen.get(t)
-                    )
-                  }
-                  return l.call(this, t)
-                },
-                set: function (t, n) {
-                  if (y(t) && !i(t)) {
-                    var o = r(this)
-                    o.frozen || (o.frozen = new e()),
-                      f.call(this, t) ? h.call(this, t, n) : o.frozen.set(t, n)
-                  } else h.call(this, t, n)
-                  return this
-                },
-              })
-            }
-          }),
-          So = z('metadata'),
-          Eo = So.store || (So.store = new wo()),
-          xo = function (t, e, r) {
-            var n = Eo.get(t)
-            if (!n) {
-              if (!r) return
-              Eo.set(t, (n = new Vr()))
-            }
-            var o = n.get(e)
-            if (!o) {
-              if (!r) return
-              n.set(e, (o = new Vr()))
-            }
-            return o
-          },
-          Ao = {
-            store: Eo,
-            getMap: xo,
-            has: function (t, e, r) {
-              var n = xo(e, r, !1)
-              return void 0 !== n && n.has(t)
-            },
-            get: function (t, e, r) {
-              var n = xo(e, r, !1)
-              return void 0 === n ? void 0 : n.get(t)
-            },
-            set: function (t, e, r, n) {
-              xo(r, n, !0).set(t, e)
-            },
-            keys: function (t, e) {
-              var r = xo(t, e, !1),
-                n = []
-              return (
-                r &&
-                  r.forEach(function (t, e) {
-                    n.push(e)
-                  }),
-                n
-              )
-            },
-            toKey: function (t) {
-              return void 0 === t || 'symbol' == typeof t ? t : String(t)
-            },
-          },
-          Oo = Ao.toKey,
-          Ro = Ao.set
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            defineMetadata: function (t, e, r) {
-              var n = arguments.length < 4 ? void 0 : Oo(arguments[3])
-              Ro(t, e, j(r), n)
-            },
-          },
-        )
-        var jo = Ao.toKey,
-          Po = Ao.getMap,
-          Io = Ao.store
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            deleteMetadata: function (t, e) {
-              var r = arguments.length < 3 ? void 0 : jo(arguments[2]),
-                n = Po(j(e), r, !1)
-              if (void 0 === n || !n.delete(t)) return !1
-              if (n.size) return !0
-              var o = Io.get(e)
-              return o.delete(r), !!o.size || Io.delete(e)
-            },
-          },
-        )
-        var ko = Ao.has,
-          To = Ao.get,
-          Lo = Ao.toKey,
-          Uo = function t(e, r, n) {
-            if (ko(e, r, n)) return To(e, r, n)
-            var o = ke(r)
-            return null !== o ? t(e, o, n) : void 0
-          }
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            getMetadata: function (t, e) {
-              var r = arguments.length < 3 ? void 0 : Lo(arguments[2])
-              return Uo(t, j(e), r)
-            },
-          },
-        )
-        var _o = Fr(
-            'Set',
-            function (t) {
-              return function () {
-                return t(this, arguments.length ? arguments[0] : void 0)
-              }
-            },
-            $r,
-          ),
-          Mo = Ao.keys,
-          No = Ao.toKey,
-          Co = function t(e, r) {
-            var n = Mo(e, r),
-              o = ke(e)
-            if (null === o) return n
-            var i,
-              a,
-              u = t(o, r)
-            return u.length
-              ? n.length
-                ? ((i = new _o(n.concat(u))), Mr(i, (a = []).push, a), a)
-                : u
-              : n
-          }
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            getMetadataKeys: function (t) {
-              var e = arguments.length < 2 ? void 0 : No(arguments[1])
-              return Co(j(t), e)
-            },
-          },
-        )
-        var Fo = Ao.get,
-          Bo = Ao.toKey
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            getOwnMetadata: function (t, e) {
-              var r = arguments.length < 3 ? void 0 : Bo(arguments[2])
-              return Fo(t, j(e), r)
-            },
-          },
-        )
-        var Do = Ao.keys,
-          qo = Ao.toKey
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            getOwnMetadataKeys: function (t) {
-              var e = arguments.length < 2 ? void 0 : qo(arguments[1])
-              return Do(j(t), e)
-            },
-          },
-        )
-        var zo = Ao.has,
-          Wo = Ao.toKey,
-          Ko = function t(e, r, n) {
-            if (zo(e, r, n)) return !0
-            var o = ke(r)
-            return null !== o && t(e, o, n)
-          }
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            hasMetadata: function (t, e) {
-              var r = arguments.length < 3 ? void 0 : Wo(arguments[2])
-              return Ko(t, j(e), r)
-            },
-          },
-        )
-        var Go = Ao.has,
-          $o = Ao.toKey
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            hasOwnMetadata: function (t, e) {
-              var r = arguments.length < 3 ? void 0 : $o(arguments[2])
-              return Go(t, j(e), r)
-            },
-          },
-        )
-        var Vo = Ao.toKey,
-          Ho = Ao.set
-        Lt(
-          { target: 'Reflect', stat: !0 },
-          {
-            metadata: function (t, e) {
-              return function (r, n) {
-                Ho(t, e, j(r), Vo(n))
-              }
-            },
-          },
-        )
-        var Xo = qt('match'),
-          Yo = function (t) {
-            var e
-            return y(t) && (void 0 !== (e = t[Xo]) ? !!e : 'RegExp' == h(t))
-          },
-          Jo = function () {
-            var t = j(this),
-              e = ''
-            return (
-              t.global && (e += 'g'),
-              t.ignoreCase && (e += 'i'),
-              t.multiline && (e += 'm'),
-              t.dotAll && (e += 's'),
-              t.unicode && (e += 'u'),
-              t.sticky && (e += 'y'),
-              e
-            )
-          }
-        function Qo(t, e) {
-          return RegExp(t, e)
-        }
-        var Zo = {
-            UNSUPPORTED_Y: i(function () {
-              var t = Qo('a', 'y')
-              return (t.lastIndex = 2), null != t.exec('abcd')
-            }),
-            BROKEN_CARET: i(function () {
-              var t = Qo('^r', 'gy')
-              return (t.lastIndex = 2), null != t.exec('str')
-            }),
-          },
-          ti = I.f,
-          ei = wt.f,
-          ri = et.set,
-          ni = qt('match'),
-          oi = o.RegExp,
-          ii = oi.prototype,
-          ai = /a/g,
-          ui = /a/g,
-          si = new oi(ai) !== ai,
-          ci = Zo.UNSUPPORTED_Y
-        if (
-          a &&
-          kt(
-            'RegExp',
-            !si ||
-              ci ||
-              i(function () {
-                return (ui[ni] = !1), oi(ai) != ai || oi(ui) == ui || '/a/i' != oi(ai, 'i')
-              }),
-          )
-        ) {
-          for (
-            var fi = function (t, e) {
-                var r,
-                  n = this instanceof fi,
-                  o = Yo(t),
-                  i = void 0 === e
-                if (!n && o && t.constructor === fi && i) return t
-                si
-                  ? o && !i && (t = t.source)
-                  : t instanceof fi && (i && (e = Jo.call(t)), (t = t.source)),
-                  ci && (r = !!e && e.indexOf('y') > -1) && (e = e.replace(/y/g, ''))
-                var a = Cr(si ? new oi(t, e) : oi(t, e), n ? this : ii, fi)
-                return ci && r && ri(a, { sticky: r }), a
-              },
-              li = function (t) {
-                ;(t in fi) ||
-                  ti(fi, t, {
-                    configurable: !0,
-                    get: function () {
-                      return oi[t]
-                    },
-                    set: function (e) {
-                      oi[t] = e
-                    },
-                  })
-              },
-              hi = ei(oi),
-              pi = 0;
-            hi.length > pi;
-
-          )
-            li(hi[pi++])
-          ;(ii.constructor = fi), (fi.prototype = ii), rt(o, 'RegExp', fi)
-        }
-        qr('RegExp')
-        var di = 'toString',
-          vi = RegExp.prototype,
-          gi = vi.toString
-        ;(i(function () {
-          return '/a/b' != gi.call({ source: 'a', flags: 'b' })
-        }) ||
-          gi.name != di) &&
-          rt(
-            RegExp.prototype,
-            di,
-            function () {
-              var t = j(this),
-                e = String(t.source),
-                r = t.flags
-              return (
-                '/' +
-                e +
-                '/' +
-                String(void 0 === r && t instanceof RegExp && !('flags' in vi) ? Jo.call(t) : r)
-              )
-            },
-            { unsafe: !0 },
-          )
-        var yi = RegExp.prototype.exec,
-          mi = String.prototype.replace,
-          bi = yi,
-          wi = (function () {
-            var t = /a/,
-              e = /b*/g
-            return yi.call(t, 'a'), yi.call(e, 'a'), 0 !== t.lastIndex || 0 !== e.lastIndex
-          })(),
-          Si = Zo.UNSUPPORTED_Y || Zo.BROKEN_CARET,
-          Ei = void 0 !== /()??/.exec('')[1]
-        ;(wi || Ei || Si) &&
-          (bi = function (t) {
-            var e,
-              r,
-              n,
-              o,
-              i = this,
-              a = Si && i.sticky,
-              u = Jo.call(i),
-              s = i.source,
-              c = 0,
-              f = t
-            return (
-              a &&
-                (-1 === (u = u.replace('y', '')).indexOf('g') && (u += 'g'),
-                (f = String(t).slice(i.lastIndex)),
-                i.lastIndex > 0 &&
-                  (!i.multiline || (i.multiline && '\n' !== t[i.lastIndex - 1])) &&
-                  ((s = '(?: ' + s + ')'), (f = ' ' + f), c++),
-                (r = new RegExp('^(?:' + s + ')', u))),
-              Ei && (r = new RegExp('^' + s + '$(?!\\s)', u)),
-              wi && (e = i.lastIndex),
-              (n = yi.call(a ? r : i, f)),
-              a
-                ? n
-                  ? ((n.input = n.input.slice(c)),
-                    (n[0] = n[0].slice(c)),
-                    (n.index = i.lastIndex),
-                    (i.lastIndex += n[0].length))
-                  : (i.lastIndex = 0)
-                : wi && n && (i.lastIndex = i.global ? n.index + n[0].length : e),
-              Ei &&
-                n &&
-                n.length > 1 &&
-                mi.call(n[0], r, function () {
-                  for (o = 1; o < arguments.length - 2; o++)
-                    void 0 === arguments[o] && (n[o] = void 0)
-                }),
-              n
-            )
-          })
-        var xi = bi
-        Lt({ target: 'RegExp', proto: !0, forced: /./.exec !== xi }, { exec: xi }),
-          a &&
-            ('g' != /./g.flags || Zo.UNSUPPORTED_Y) &&
-            I.f(RegExp.prototype, 'flags', { configurable: !0, get: Jo })
-        var Ai = et.get,
-          Oi = RegExp.prototype
-        a &&
-          Zo.UNSUPPORTED_Y &&
-          (0, I.f)(RegExp.prototype, 'sticky', {
-            configurable: !0,
-            get: function () {
-              if (this !== Oi) {
-                if (this instanceof RegExp) return !!Ai(this).sticky
-                throw TypeError('Incompatible receiver, RegExp required')
-              }
-            },
-          })
-        var Ri,
-          ji,
-          Pi =
-            ((Ri = !1),
-            ((ji = /[ac]/).exec = function () {
-              return (Ri = !0), /./.exec.apply(this, arguments)
-            }),
-            !0 === ji.test('abc') && Ri),
-          Ii = /./.test
-        Lt(
-          { target: 'RegExp', proto: !0, forced: !Pi },
-          {
-            test: function (t) {
-              if ('function' != typeof this.exec) return Ii.call(this, t)
-              var e = this.exec(t)
-              if (null !== e && !y(e))
-                throw new Error(
-                  'RegExp exec method returned something other than an Object or null',
-                )
-              return !!e
-            },
-          },
-        )
-        var ki = qt('species'),
-          Ti = !i(function () {
-            var t = /./
-            return (
-              (t.exec = function () {
-                var t = []
-                return (t.groups = { a: '7' }), t
-              }),
-              '7' !== ''.replace(t, '$<a>')
-            )
-          }),
-          Li = '$0' === 'a'.replace(/./, '$0'),
-          Ui = qt('replace'),
-          _i = !!/./[Ui] && '' === /./[Ui]('a', '$0'),
-          Mi = !i(function () {
-            var t = /(?:)/,
-              e = t.exec
-            t.exec = function () {
-              return e.apply(this, arguments)
-            }
-            var r = 'ab'.split(t)
-            return 2 !== r.length || 'a' !== r[0] || 'b' !== r[1]
-          }),
-          Ni = function (t, e, r, n) {
-            var o = qt(t),
-              a = !i(function () {
-                var e = {}
-                return (
-                  (e[o] = function () {
-                    return 7
-                  }),
-                  7 != ''[t](e)
-                )
-              }),
-              u =
-                a &&
-                !i(function () {
-                  var e = !1,
-                    r = /a/
-                  return (
-                    'split' === t &&
-                      (((r = {}).constructor = {}),
-                      (r.constructor[ki] = function () {
-                        return r
-                      }),
-                      (r.flags = ''),
-                      (r[o] = /./[o])),
-                    (r.exec = function () {
-                      return (e = !0), null
-                    }),
-                    r[o](''),
-                    !e
-                  )
-                })
-            if (!a || !u || ('replace' === t && (!Ti || !Li || _i)) || ('split' === t && !Mi)) {
-              var s = /./[o],
-                c = r(
-                  o,
-                  ''[t],
-                  function (t, e, r, n, o) {
-                    return e.exec === xi
-                      ? a && !o
-                        ? { done: !0, value: s.call(e, r, n) }
-                        : { done: !0, value: t.call(r, e, n) }
-                      : { done: !1 }
-                  },
-                  { REPLACE_KEEPS_$0: Li, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: _i },
-                ),
-                f = c[1]
-              rt(String.prototype, t, c[0]),
-                rt(
-                  RegExp.prototype,
-                  o,
-                  2 == e
-                    ? function (t, e) {
-                        return f.call(t, this, e)
-                      }
-                    : function (t) {
-                        return f.call(t, this)
-                      },
-                )
-            }
-            n && k(RegExp.prototype[o], 'sham', !0)
-          },
-          Ci = Re.charAt,
-          Fi = function (t, e, r) {
-            return e + (r ? Ci(t, e).length : 1)
-          },
-          Bi = function (t, e) {
-            var r = t.exec
-            if ('function' == typeof r) {
-              var n = r.call(t, e)
-              if ('object' != typeof n)
-                throw TypeError(
-                  'RegExp exec method returned something other than an Object or null',
-                )
-              return n
-            }
-            if ('RegExp' !== h(t)) throw TypeError('RegExp#exec called on incompatible receiver')
-            return xi.call(t, e)
-          }
-        Ni('match', 1, function (t, e, r) {
-          return [
-            function (e) {
-              var r = v(this),
-                n = null == e ? void 0 : e[t]
-              return void 0 !== n ? n.call(e, r) : new RegExp(e)[t](String(r))
-            },
-            function (t) {
-              var n = r(e, t, this)
-              if (n.done) return n.value
-              var o = j(t),
-                i = String(this)
-              if (!o.global) return Bi(o, i)
-              var a = o.unicode
-              o.lastIndex = 0
-              for (var u, s = [], c = 0; null !== (u = Bi(o, i)); ) {
-                var f = String(u[0])
-                ;(s[c] = f), '' === f && (o.lastIndex = Fi(i, ft(o.lastIndex), a)), c++
-              }
-              return 0 === c ? null : s
-            },
-          ]
-        })
-        var Di = Math.max,
-          qi = Math.min,
-          zi = Math.floor,
-          Wi = /\$([$&'`]|\d\d?|<[^>]*>)/g,
-          Ki = /\$([$&'`]|\d\d?)/g
-        Ni('replace', 2, function (t, e, r, n) {
-          var o = n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,
-            i = n.REPLACE_KEEPS_$0,
-            a = o ? '$' : '$0'
-          return [
-            function (r, n) {
-              var o = v(this),
-                i = null == r ? void 0 : r[t]
-              return void 0 !== i ? i.call(r, o, n) : e.call(String(o), r, n)
-            },
-            function (t, n) {
-              if ((!o && i) || ('string' == typeof n && -1 === n.indexOf(a))) {
-                var s = r(e, t, this, n)
-                if (s.done) return s.value
-              }
-              var c = j(t),
-                f = String(this),
-                l = 'function' == typeof n
-              l || (n = String(n))
-              var h = c.global
-              if (h) {
-                var p = c.unicode
-                c.lastIndex = 0
-              }
-              for (var d = []; ; ) {
-                var v = Bi(c, f)
-                if (null === v) break
-                if ((d.push(v), !h)) break
-                '' === String(v[0]) && (c.lastIndex = Fi(f, ft(c.lastIndex), p))
-              }
-              for (var g, y = '', m = 0, b = 0; b < d.length; b++) {
-                v = d[b]
-                for (
-                  var w = String(v[0]), S = Di(qi(st(v.index), f.length), 0), E = [], x = 1;
-                  x < v.length;
-                  x++
-                )
-                  E.push(void 0 === (g = v[x]) ? g : String(g))
-                var A = v.groups
-                if (l) {
-                  var O = [w].concat(E, S, f)
-                  void 0 !== A && O.push(A)
-                  var R = String(n.apply(void 0, O))
-                } else R = u(w, f, S, E, A, n)
-                S >= m && ((y += f.slice(m, S) + R), (m = S + w.length))
-              }
-              return y + f.slice(m)
-            },
-          ]
-          function u(t, r, n, o, i, a) {
-            var u = n + t.length,
-              s = o.length,
-              c = Ki
-            return (
-              void 0 !== i && ((i = Ut(i)), (c = Wi)),
-              e.call(a, c, function (e, a) {
-                var c
-                switch (a.charAt(0)) {
-                  case '$':
-                    return '$'
-                  case '&':
-                    return t
-                  case '`':
-                    return r.slice(0, n)
-                  case "'":
-                    return r.slice(u)
-                  case '<':
-                    c = i[a.slice(1, -1)]
-                    break
-                  default:
-                    var f = +a
-                    if (0 === f) return e
-                    if (f > s) {
-                      var l = zi(f / 10)
-                      return 0 === l
-                        ? e
-                        : l <= s
-                        ? void 0 === o[l - 1]
-                          ? a.charAt(1)
-                          : o[l - 1] + a.charAt(1)
-                        : e
-                    }
-                    c = o[f - 1]
-                }
-                return void 0 === c ? '' : c
-              })
-            )
-          }
-        }),
-          Ni('search', 1, function (t, e, r) {
-            return [
-              function (e) {
-                var r = v(this),
-                  n = null == e ? void 0 : e[t]
-                return void 0 !== n ? n.call(e, r) : new RegExp(e)[t](String(r))
-              },
-              function (t) {
-                var n = r(e, t, this)
-                if (n.done) return n.value
-                var o = j(t),
-                  i = String(this),
-                  a = o.lastIndex
-                $n(a, 0) || (o.lastIndex = 0)
-                var u = Bi(o, i)
-                return $n(o.lastIndex, a) || (o.lastIndex = a), null === u ? -1 : u.index
-              },
-            ]
-          })
-        var Gi = [].push,
-          $i = Math.min,
-          Vi = 4294967295,
-          Hi = !i(function () {
-            return !RegExp(Vi, 'y')
-          })
-        Ni(
-          'split',
-          2,
-          function (t, e, r) {
-            var n
-            return (
-              (n =
-                'c' == 'abbc'.split(/(b)*/)[1] ||
-                4 != 'test'.split(/(?:)/, -1).length ||
-                2 != 'ab'.split(/(?:ab)*/).length ||
-                4 != '.'.split(/(.?)(.?)/).length ||
-                '.'.split(/()()/).length > 1 ||
-                ''.split(/.?/).length
-                  ? function (t, r) {
-                      var n = String(v(this)),
-                        o = void 0 === r ? Vi : r >>> 0
-                      if (0 === o) return []
-                      if (void 0 === t) return [n]
-                      if (!Yo(t)) return e.call(n, t, o)
-                      for (
-                        var i,
-                          a,
-                          u,
-                          s = [],
-                          c = 0,
-                          f = new RegExp(
-                            t.source,
-                            (t.ignoreCase ? 'i' : '') +
-                              (t.multiline ? 'm' : '') +
-                              (t.unicode ? 'u' : '') +
-                              (t.sticky ? 'y' : '') +
-                              'g',
-                          );
-                        (i = xi.call(f, n)) &&
-                        !(
-                          (a = f.lastIndex) > c &&
-                          (s.push(n.slice(c, i.index)),
-                          i.length > 1 && i.index < n.length && Gi.apply(s, i.slice(1)),
-                          (u = i[0].length),
-                          (c = a),
-                          s.length >= o)
-                        );
-
-                      )
-                        f.lastIndex === i.index && f.lastIndex++
-                      return (
-                        c === n.length ? (!u && f.test('')) || s.push('') : s.push(n.slice(c)),
-                        s.length > o ? s.slice(0, o) : s
-                      )
-                    }
-                  : '0'.split(void 0, 0).length
-                  ? function (t, r) {
-                      return void 0 === t && 0 === r ? [] : e.call(this, t, r)
-                    }
-                  : e),
-              [
-                function (e, r) {
-                  var o = v(this),
-                    i = null == e ? void 0 : e[t]
-                  return void 0 !== i ? i.call(e, o, r) : n.call(String(o), e, r)
-                },
-                function (t, o) {
-                  var i = r(n, t, this, o, n !== e)
-                  if (i.done) return i.value
-                  var a = j(t),
-                    u = String(this),
-                    s = cn(a, RegExp),
-                    c = a.unicode,
-                    f = new s(
-                      Hi ? a : '^(?:' + a.source + ')',
-                      (a.ignoreCase ? 'i' : '') +
-                        (a.multiline ? 'm' : '') +
-                        (a.unicode ? 'u' : '') +
-                        (Hi ? 'y' : 'g'),
-                    ),
-                    l = void 0 === o ? Vi : o >>> 0
-                  if (0 === l) return []
-                  if (0 === u.length) return null === Bi(f, u) ? [u] : []
-                  for (var h = 0, p = 0, d = []; p < u.length; ) {
-                    f.lastIndex = Hi ? p : 0
-                    var v,
-                      g = Bi(f, Hi ? u : u.slice(p))
-                    if (null === g || (v = $i(ft(f.lastIndex + (Hi ? 0 : p)), u.length)) === h)
-                      p = Fi(u, p, c)
-                    else {
-                      if ((d.push(u.slice(h, p)), d.length === l)) return d
-                      for (var y = 1; y <= g.length - 1; y++)
-                        if ((d.push(g[y]), d.length === l)) return d
-                      p = h = v
-                    }
-                  }
-                  return d.push(u.slice(h)), d
-                },
-              ]
-            )
-          },
-          !Hi,
-        ),
-          Lt({ target: 'Set', stat: !0 }, { from: rn }),
-          Lt({ target: 'Set', stat: !0 }, { of: nn })
-        var Xi = function () {
-          for (var t = j(this), e = Zt(t.add), r = 0, n = arguments.length; r < n; r++)
-            e.call(t, arguments[r])
-          return t
-        }
-        Lt(
-          { target: 'Set', proto: !0, real: !0, forced: q },
-          {
-            addAll: function () {
-              return Xi.apply(this, arguments)
-            },
-          },
-        ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              deleteAll: function () {
-                return on.apply(this, arguments)
-              },
-            },
-          )
-        var Yi = function (t) {
-          return Set.prototype.values.call(t)
-        }
-        Lt(
-          { target: 'Set', proto: !0, real: !0, forced: q },
-          {
-            every: function (t) {
-              var e = j(this),
-                r = Yi(e),
-                n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-              return !Mr(
-                r,
-                function (t) {
-                  if (!n(t, t, e)) return Mr.stop()
-                },
-                void 0,
-                !1,
-                !0,
-              ).stopped
-            },
-          },
-        ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              difference: function (t) {
-                var e = j(this),
-                  r = new (cn(e, it('Set')))(e),
-                  n = Zt(r.delete)
-                return (
-                  Mr(t, function (t) {
-                    n.call(r, t)
-                  }),
-                  r
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              filter: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                  o = new (cn(e, it('Set')))(),
-                  i = Zt(o.add)
-                return (
-                  Mr(
-                    r,
-                    function (t) {
-                      n(t, t, e) && i.call(o, t)
-                    },
-                    void 0,
-                    !1,
-                    !0,
-                  ),
-                  o
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              find: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-                return Mr(
-                  r,
-                  function (t) {
-                    if (n(t, t, e)) return Mr.stop(t)
-                  },
-                  void 0,
-                  !1,
-                  !0,
-                ).result
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              intersection: function (t) {
-                var e = j(this),
-                  r = new (cn(e, it('Set')))(),
-                  n = Zt(e.has),
-                  o = Zt(r.add)
-                return (
-                  Mr(t, function (t) {
-                    n.call(e, t) && o.call(r, t)
-                  }),
-                  r
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              isDisjointFrom: function (t) {
-                var e = j(this),
-                  r = Zt(e.has)
-                return !Mr(t, function (t) {
-                  if (!0 === r.call(e, t)) return Mr.stop()
-                }).stopped
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              isSubsetOf: function (t) {
-                var e = an(this),
-                  r = j(t),
-                  n = r.has
-                return (
-                  'function' != typeof n && ((r = new (it('Set'))(t)), (n = Zt(r.has))),
-                  !Mr(
-                    e,
-                    function (t) {
-                      if (!1 === n.call(r, t)) return Mr.stop()
-                    },
-                    void 0,
-                    !1,
-                    !0,
-                  ).stopped
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              isSupersetOf: function (t) {
-                var e = j(this),
-                  r = Zt(e.has)
-                return !Mr(t, function (t) {
-                  if (!1 === r.call(e, t)) return Mr.stop()
-                }).stopped
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              join: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = void 0 === t ? ',' : String(t),
-                  o = []
-                return Mr(r, o.push, o, !1, !0), o.join(n)
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              map: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                  o = new (cn(e, it('Set')))(),
-                  i = Zt(o.add)
-                return (
-                  Mr(
-                    r,
-                    function (t) {
-                      i.call(o, n(t, t, e))
-                    },
-                    void 0,
-                    !1,
-                    !0,
-                  ),
-                  o
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              reduce: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = arguments.length < 2,
-                  o = n ? void 0 : arguments[1]
-                if (
-                  (Zt(t),
-                  Mr(
-                    r,
-                    function (r) {
-                      n ? ((n = !1), (o = r)) : (o = t(o, r, r, e))
-                    },
-                    void 0,
-                    !1,
-                    !0,
-                  ),
-                  n)
-                )
-                  throw TypeError('Reduce of empty set with no initial value')
-                return o
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              some: function (t) {
-                var e = j(this),
-                  r = Yi(e),
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3)
-                return Mr(
-                  r,
-                  function (t) {
-                    if (n(t, t, e)) return Mr.stop()
-                  },
-                  void 0,
-                  !1,
-                  !0,
-                ).stopped
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              symmetricDifference: function (t) {
-                var e = j(this),
-                  r = new (cn(e, it('Set')))(e),
-                  n = Zt(r.delete),
-                  o = Zt(r.add)
-                return (
-                  Mr(t, function (t) {
-                    n.call(r, t) || o.call(r, t)
-                  }),
-                  r
-                )
-              },
-            },
-          ),
-          Lt(
-            { target: 'Set', proto: !0, real: !0, forced: q },
-            {
-              union: function (t) {
-                var e = j(this),
-                  r = new (cn(e, it('Set')))(e)
-                return Mr(t, Zt(r.add), r), r
-              },
-            },
-          )
-        var Ji,
-          Qi,
-          Zi = it('navigator', 'userAgent') || '',
-          ta = o.process,
-          ea = ta && ta.versions,
-          ra = ea && ea.v8
-        ra
-          ? (Qi = (Ji = ra.split('.'))[0] + Ji[1])
-          : Zi &&
-            (!(Ji = Zi.match(/Edge\/(\d+)/)) || Ji[1] >= 74) &&
-            (Ji = Zi.match(/Chrome\/(\d+)/)) &&
-            (Qi = Ji[1])
-        var na = Qi && +Qi,
-          oa = qt('species'),
-          ia = qt('isConcatSpreadable'),
-          aa = 9007199254740991,
-          ua = 'Maximum allowed index exceeded',
-          sa =
-            na >= 51 ||
-            !i(function () {
-              var t = []
-              return (t[ia] = !1), t.concat()[0] !== t
-            }),
-          ca =
-            na >= 51 ||
-            !i(function () {
-              var t = []
-              return (
-                ((t.constructor = {})[oa] = function () {
-                  return { foo: 1 }
-                }),
-                1 !== t.concat(Boolean).foo
-              )
-            }),
-          fa = function (t) {
-            if (!y(t)) return !1
-            var e = t[ia]
-            return void 0 !== e ? !!e : ne(t)
-          }
-        Lt(
-          { target: 'Array', proto: !0, forced: !sa || !ca },
-          {
-            concat: function (t) {
-              var e,
-                r,
-                n,
-                o,
-                i,
-                a = Ut(this),
-                u = ie(a, 0),
-                s = 0
-              for (e = -1, n = arguments.length; e < n; e++)
-                if (fa((i = -1 === e ? a : arguments[e]))) {
-                  if (s + (o = ft(i.length)) > aa) throw TypeError(ua)
-                  for (r = 0; r < o; r++, s++) r in i && ir(u, s, i[r])
-                } else {
-                  if (s >= aa) throw TypeError(ua)
-                  ir(u, s++, i)
-                }
-              return (u.length = s), u
-            },
-          },
-        )
-        var la = wt.f,
-          ha = {}.toString,
-          pa =
-            'object' == typeof window && window && Object.getOwnPropertyNames
-              ? Object.getOwnPropertyNames(window)
-              : [],
-          da = {
-            f: function (t) {
-              return pa && '[object Window]' == ha.call(t)
-                ? (function (t) {
-                    try {
-                      return la(t)
-                    } catch (t) {
-                      return pa.slice()
-                    }
-                  })(t)
-                : la(g(t))
-            },
-          },
-          va = { f: qt },
-          ga = I.f,
-          ya = function (t) {
-            var e = nt.Symbol || (nt.Symbol = {})
-            w(e, t) || ga(e, t, { value: va.f(t) })
-          },
-          ma = se.forEach,
-          ba = V('hidden'),
-          wa = 'Symbol',
-          Sa = qt('toPrimitive'),
-          Ea = et.set,
-          xa = et.getterFor(wa),
-          Aa = Object.prototype,
-          Oa = o.Symbol,
-          Ra = it('JSON', 'stringify'),
-          ja = R.f,
-          Pa = I.f,
-          Ia = da.f,
-          ka = c.f,
-          Ta = z('symbols'),
-          La = z('op-symbols'),
-          Ua = z('string-to-symbol-registry'),
-          _a = z('symbol-to-string-registry'),
-          Ma = z('wks'),
-          Na = o.QObject,
-          Ca = !Na || !Na.prototype || !Na.prototype.findChild,
-          Fa =
-            a &&
-            i(function () {
-              return (
-                7 !=
-                Xt(
-                  Pa({}, 'a', {
-                    get: function () {
-                      return Pa(this, 'a', { value: 7 }).a
-                    },
-                  }),
-                ).a
-              )
-            })
-              ? function (t, e, r) {
-                  var n = ja(Aa, e)
-                  n && delete Aa[e], Pa(t, e, r), n && t !== Aa && Pa(Aa, e, n)
-                }
-              : Pa,
-          Ba = function (t, e) {
-            var r = (Ta[t] = Xt(Oa.prototype))
-            return Ea(r, { type: wa, tag: t, description: e }), a || (r.description = e), r
-          },
-          Da = Ct
-            ? function (t) {
-                return 'symbol' == typeof t
-              }
-            : function (t) {
-                return Object(t) instanceof Oa
-              },
-          qa = function (t, e, r) {
-            t === Aa && qa(La, e, r), j(t)
-            var n = m(e, !0)
-            return (
-              j(r),
-              w(Ta, n)
-                ? (r.enumerable
-                    ? (w(t, ba) && t[ba][n] && (t[ba][n] = !1),
-                      (r = Xt(r, { enumerable: f(0, !1) })))
-                    : (w(t, ba) || Pa(t, ba, f(1, {})), (t[ba][n] = !0)),
-                  Fa(t, n, r))
-                : Pa(t, n, r)
-            )
-          },
-          za = function (t, e) {
-            j(t)
-            var r = g(e),
-              n = zt(r).concat($a(r))
-            return (
-              ma(n, function (e) {
-                ;(a && !Wa.call(r, e)) || qa(t, e, r[e])
-              }),
-              t
-            )
-          },
-          Wa = function (t) {
-            var e = m(t, !0),
-              r = ka.call(this, e)
-            return (
-              !(this === Aa && w(Ta, e) && !w(La, e)) &&
-              (!(r || !w(this, e) || !w(Ta, e) || (w(this, ba) && this[ba][e])) || r)
-            )
-          },
-          Ka = function (t, e) {
-            var r = g(t),
-              n = m(e, !0)
-            if (r !== Aa || !w(Ta, n) || w(La, n)) {
-              var o = ja(r, n)
-              return !o || !w(Ta, n) || (w(r, ba) && r[ba][n]) || (o.enumerable = !0), o
-            }
-          },
-          Ga = function (t) {
-            var e = Ia(g(t)),
-              r = []
-            return (
-              ma(e, function (t) {
-                w(Ta, t) || w(H, t) || r.push(t)
-              }),
-              r
-            )
-          },
-          $a = function (t) {
-            var e = t === Aa,
-              r = Ia(e ? La : g(t)),
-              n = []
-            return (
-              ma(r, function (t) {
-                !w(Ta, t) || (e && !w(Aa, t)) || n.push(Ta[t])
-              }),
-              n
-            )
-          }
-        if (
-          (Nt ||
-            (rt(
-              (Oa = function () {
-                if (this instanceof Oa) throw TypeError('Symbol is not a constructor')
-                var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0,
-                  e = G(t),
-                  r = function t(r) {
-                    this === Aa && t.call(La, r),
-                      w(this, ba) && w(this[ba], e) && (this[ba][e] = !1),
-                      Fa(this, e, f(1, r))
-                  }
-                return a && Ca && Fa(Aa, e, { configurable: !0, set: r }), Ba(e, t)
-              }).prototype,
-              'toString',
-              function () {
-                return xa(this).tag
-              },
-            ),
-            rt(Oa, 'withoutSetter', function (t) {
-              return Ba(G(t), t)
-            }),
-            (c.f = Wa),
-            (I.f = qa),
-            (R.f = Ka),
-            (wt.f = da.f = Ga),
-            (St.f = $a),
-            (va.f = function (t) {
-              return Ba(qt(t), t)
-            }),
-            a &&
-              (Pa(Oa.prototype, 'description', {
-                configurable: !0,
-                get: function () {
-                  return xa(this).description
-                },
-              }),
-              rt(Aa, 'propertyIsEnumerable', Wa, { unsafe: !0 }))),
-          Lt({ global: !0, wrap: !0, forced: !Nt, sham: !Nt }, { Symbol: Oa }),
-          ma(zt(Ma), function (t) {
-            ya(t)
-          }),
-          Lt(
-            { target: wa, stat: !0, forced: !Nt },
-            {
-              for: function (t) {
-                var e = String(t)
-                if (w(Ua, e)) return Ua[e]
-                var r = Oa(e)
-                return (Ua[e] = r), (_a[r] = e), r
-              },
-              keyFor: function (t) {
-                if (!Da(t)) throw TypeError(t + ' is not a symbol')
-                if (w(_a, t)) return _a[t]
-              },
-              useSetter: function () {
-                Ca = !0
-              },
-              useSimple: function () {
-                Ca = !1
-              },
-            },
-          ),
-          Lt(
-            { target: 'Object', stat: !0, forced: !Nt, sham: !a },
-            {
-              create: function (t, e) {
-                return void 0 === e ? Xt(t) : za(Xt(t), e)
-              },
-              defineProperty: qa,
-              defineProperties: za,
-              getOwnPropertyDescriptor: Ka,
-            },
-          ),
-          Lt(
-            { target: 'Object', stat: !0, forced: !Nt },
-            { getOwnPropertyNames: Ga, getOwnPropertySymbols: $a },
-          ),
-          Lt(
-            {
-              target: 'Object',
-              stat: !0,
-              forced: i(function () {
-                St.f(1)
-              }),
-            },
-            {
-              getOwnPropertySymbols: function (t) {
-                return St.f(Ut(t))
-              },
-            },
-          ),
-          Ra)
-        ) {
-          var Va =
-            !Nt ||
-            i(function () {
-              var t = Oa()
-              return '[null]' != Ra([t]) || '{}' != Ra({ a: t }) || '{}' != Ra(Object(t))
-            })
-          Lt(
-            { target: 'JSON', stat: !0, forced: Va },
-            {
-              stringify: function (t, e, r) {
-                for (var n, o = [t], i = 1; arguments.length > i; ) o.push(arguments[i++])
-                if (((n = e), (y(e) || void 0 !== t) && !Da(t)))
-                  return (
-                    ne(e) ||
-                      (e = function (t, e) {
-                        if (('function' == typeof n && (e = n.call(this, t, e)), !Da(e))) return e
-                      }),
-                    (o[1] = e),
-                    Ra.apply(null, o)
-                  )
-              },
-            },
-          )
-        }
-        Oa.prototype[Sa] || k(Oa.prototype, Sa, Oa.prototype.valueOf),
-          Ne(Oa, wa),
-          (H[ba] = !0),
-          ya('asyncIterator')
-        var Ha = I.f,
-          Xa = o.Symbol
-        if (
-          a &&
-          'function' == typeof Xa &&
-          (!('description' in Xa.prototype) || void 0 !== Xa().description)
-        ) {
-          var Ya = {},
-            Ja = function () {
-              var t =
-                  arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]),
-                e = this instanceof Ja ? new Xa(t) : void 0 === t ? Xa() : Xa(t)
-              return '' === t && (Ya[e] = !0), e
-            }
-          xt(Ja, Xa)
-          var Qa = (Ja.prototype = Xa.prototype)
-          Qa.constructor = Ja
-          var Za = Qa.toString,
-            tu = 'Symbol(test)' == String(Xa('test')),
-            eu = /^Symbol\((.*)\)[^)]+$/
-          Ha(Qa, 'description', {
-            configurable: !0,
-            get: function () {
-              var t = y(this) ? this.valueOf() : this,
-                e = Za.call(t)
-              if (w(Ya, t)) return ''
-              var r = tu ? e.slice(7, -1) : e.replace(eu, '$1')
-              return '' === r ? void 0 : r
-            },
-          }),
-            Lt({ global: !0, forced: !0 }, { Symbol: Ja })
-        }
-        ya('hasInstance'),
-          ya('isConcatSpreadable'),
-          ya('iterator'),
-          ya('match'),
-          ya('matchAll'),
-          ya('replace'),
-          ya('search'),
-          ya('species'),
-          ya('split'),
-          ya('toPrimitive'),
-          ya('toStringTag'),
-          ya('unscopables'),
-          Ne(Math, 'Math', !0),
-          Ne(o.JSON, 'JSON', !0),
-          ya('asyncDispose'),
-          ya('dispose'),
-          ya('observable'),
-          ya('patternMatch'),
-          ya('replaceAll'),
-          va.f('asyncIterator')
-        var ru = Re.codeAt
-        Lt(
-          { target: 'String', proto: !0 },
-          {
-            codePointAt: function (t) {
-              return ru(this, t)
-            },
-          },
-        ),
-          re('String', 'codePointAt')
-        var nu,
-          ou = function (t) {
-            if (Yo(t)) throw TypeError("The method doesn't accept regular expressions")
-            return t
-          },
-          iu = qt('match'),
-          au = function (t) {
-            var e = /./
-            try {
-              '/./'[t](e)
-            } catch (n) {
-              try {
-                return (e[iu] = !1), '/./'[t](e)
-              } catch (t) {}
-            }
-            return !1
-          },
-          uu = R.f,
-          su = ''.endsWith,
-          cu = Math.min,
-          fu = au('endsWith'),
-          lu = !(fu || ((nu = uu(String.prototype, 'endsWith')), !nu || nu.writable))
-        Lt(
-          { target: 'String', proto: !0, forced: !lu && !fu },
-          {
-            endsWith: function (t) {
-              var e = String(v(this))
-              ou(t)
-              var r = arguments.length > 1 ? arguments[1] : void 0,
-                n = ft(e.length),
-                o = void 0 === r ? n : cu(ft(r), n),
-                i = String(t)
-              return su ? su.call(e, i, o) : e.slice(o - i.length, o) === i
-            },
-          },
-        ),
-          re('String', 'endsWith')
-        var hu = String.fromCharCode,
-          pu = String.fromCodePoint
-        Lt(
-          { target: 'String', stat: !0, forced: !!pu && 1 != pu.length },
-          {
-            fromCodePoint: function (t) {
-              for (var e, r = [], n = arguments.length, o = 0; n > o; ) {
-                if (((e = +arguments[o++]), pt(e, 1114111) !== e))
-                  throw RangeError(e + ' is not a valid code point')
-                r.push(e < 65536 ? hu(e) : hu(55296 + ((e -= 65536) >> 10), (e % 1024) + 56320))
-              }
-              return r.join('')
-            },
-          },
-        ),
-          Lt(
-            { target: 'String', proto: !0, forced: !au('includes') },
-            {
-              includes: function (t) {
-                return !!~String(v(this)).indexOf(
-                  ou(t),
-                  arguments.length > 1 ? arguments[1] : void 0,
-                )
-              },
-            },
-          ),
-          re('String', 'includes')
-        var du =
-            ''.repeat ||
-            function (t) {
-              var e = String(v(this)),
-                r = '',
-                n = st(t)
-              if (n < 0 || 1 / 0 == n) throw RangeError('Wrong number of repetitions')
-              for (; n > 0; (n >>>= 1) && (e += e)) 1 & n && (r += e)
-              return r
-            },
-          vu = Math.ceil,
-          gu = function (t) {
-            return function (e, r, n) {
-              var o,
-                i,
-                a = String(v(e)),
-                u = a.length,
-                s = void 0 === n ? ' ' : String(n),
-                c = ft(r)
-              return c <= u || '' == s
-                ? a
-                : ((i = du.call(s, vu((o = c - u) / s.length))).length > o && (i = i.slice(0, o)),
-                  t ? a + i : i + a)
-            }
-          },
-          yu = { start: gu(!1), end: gu(!0) },
-          mu = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(Zi),
-          bu = yu.start
-        Lt(
-          { target: 'String', proto: !0, forced: mu },
-          {
-            padStart: function (t) {
-              return bu(this, t, arguments.length > 1 ? arguments[1] : void 0)
-            },
-          },
-        ),
-          re('String', 'padStart')
-        var wu = yu.end
-        Lt(
-          { target: 'String', proto: !0, forced: mu },
-          {
-            padEnd: function (t) {
-              return wu(this, t, arguments.length > 1 ? arguments[1] : void 0)
-            },
-          },
-        ),
-          re('String', 'padEnd'),
-          Lt(
-            { target: 'String', stat: !0 },
-            {
-              raw: function (t) {
-                for (
-                  var e = g(t.raw), r = ft(e.length), n = arguments.length, o = [], i = 0;
-                  r > i;
-
-                )
-                  o.push(String(e[i++])), i < n && o.push(String(arguments[i]))
-                return o.join('')
-              },
-            },
-          ),
-          Lt({ target: 'String', proto: !0 }, { repeat: du }),
-          re('String', 'repeat')
-        var Su = R.f,
-          Eu = ''.startsWith,
-          xu = Math.min,
-          Au = au('startsWith'),
-          Ou =
-            !Au &&
-            !!(function () {
-              var t = Su(String.prototype, 'startsWith')
-              return t && !t.writable
-            })()
-        Lt(
-          { target: 'String', proto: !0, forced: !Ou && !Au },
-          {
-            startsWith: function (t) {
-              var e = String(v(this))
-              ou(t)
-              var r = ft(xu(arguments.length > 1 ? arguments[1] : void 0, e.length)),
-                n = String(t)
-              return Eu ? Eu.call(e, n, r) : e.slice(r, r + n.length) === n
-            },
-          },
-        ),
-          re('String', 'startsWith')
-        var Ru = function (t) {
-            return i(function () {
-              return !!ln[t]() || '\u200b\x85\u180e' != '\u200b\x85\u180e'[t]() || ln[t].name !== t
-            })
-          },
-          ju = gn.start,
-          Pu = Ru('trimStart'),
-          Iu = Pu
-            ? function () {
-                return ju(this)
-              }
-            : ''.trimStart
-        Lt({ target: 'String', proto: !0, forced: Pu }, { trimStart: Iu, trimLeft: Iu }),
-          re('String', 'trimLeft')
-        var ku = gn.end,
-          Tu = Ru('trimEnd'),
-          Lu = Tu
-            ? function () {
-                return ku(this)
-              }
-            : ''.trimEnd
-        Lt({ target: 'String', proto: !0, forced: Tu }, { trimEnd: Lu, trimRight: Lu }),
-          re('String', 'trimRight')
-        var Uu = qt('iterator'),
-          _u = !i(function () {
-            var t = new URL('b?a=1&b=2&c=3', 'http://a'),
-              e = t.searchParams,
-              r = ''
-            return (
-              (t.pathname = 'c%20d'),
-              e.forEach(function (t, n) {
-                e.delete('b'), (r += n + t)
-              }),
-              !e.sort ||
-                'http://a/c%20d?a=1&c=3' !== t.href ||
-                '3' !== e.get('c') ||
-                'a=1' !== String(new URLSearchParams('?a=1')) ||
-                !e[Uu] ||
-                'a' !== new URL('https://a@b').username ||
-                'b' !== new URLSearchParams(new URLSearchParams('a=b')).get('a') ||
-                'xn--e1aybc' !== new URL('http://\u0442\u0435\u0441\u0442').host ||
-                '#%D0%B1' !== new URL('http://a#\u0431').hash ||
-                'a1c3' !== r ||
-                'x' !== new URL('http://x', void 0).host
-            )
-          }),
-          Mu = Object.assign,
-          Nu = Object.defineProperty,
-          Cu =
-            !Mu ||
-            i(function () {
-              if (
-                a &&
-                1 !==
-                  Mu(
-                    { b: 1 },
-                    Mu(
-                      Nu({}, 'a', {
-                        enumerable: !0,
-                        get: function () {
-                          Nu(this, 'b', { value: 3, enumerable: !1 })
-                        },
-                      }),
-                      { b: 2 },
-                    ),
-                  ).b
-              )
-                return !0
-              var t = {},
-                e = {},
-                r = Symbol(),
-                n = 'abcdefghijklmnopqrst'
-              return (
-                (t[r] = 7),
-                n.split('').forEach(function (t) {
-                  e[t] = t
-                }),
-                7 != Mu({}, t)[r] || zt(Mu({}, e)).join('') != n
-              )
-            })
-              ? function (t, e) {
-                  for (var r = Ut(t), n = arguments.length, o = 1, i = St.f, u = c.f; n > o; )
-                    for (
-                      var s,
-                        f = d(arguments[o++]),
-                        l = i ? zt(f).concat(i(f)) : zt(f),
-                        h = l.length,
-                        p = 0;
-                      h > p;
-
-                    )
-                      (s = l[p++]), (a && !u.call(f, s)) || (r[s] = f[s])
-                  return r
-                }
-              : Mu,
-          Fu = 2147483647,
-          Bu = /[^\0-\u007E]/,
-          Du = /[.\u3002\uFF0E\uFF61]/g,
-          qu = 'Overflow: input needs wider integers to process',
-          zu = Math.floor,
-          Wu = String.fromCharCode,
-          Ku = function (t) {
-            return t + 22 + 75 * (t < 26)
-          },
-          Gu = function (t, e, r) {
-            var n = 0
-            for (t = r ? zu(t / 700) : t >> 1, t += zu(t / e); t > 455; n += 36) t = zu(t / 35)
-            return zu(n + (36 * t) / (t + 38))
-          },
-          $u = function (t) {
-            var e,
-              r,
-              n = [],
-              o = (t = (function (t) {
-                for (var e = [], r = 0, n = t.length; r < n; ) {
-                  var o = t.charCodeAt(r++)
-                  if (o >= 55296 && o <= 56319 && r < n) {
-                    var i = t.charCodeAt(r++)
-                    56320 == (64512 & i)
-                      ? e.push(((1023 & o) << 10) + (1023 & i) + 65536)
-                      : (e.push(o), r--)
-                  } else e.push(o)
-                }
-                return e
-              })(t)).length,
-              i = 128,
-              a = 0,
-              u = 72
-            for (e = 0; e < t.length; e++) (r = t[e]) < 128 && n.push(Wu(r))
-            var s = n.length,
-              c = s
-            for (s && n.push('-'); c < o; ) {
-              var f = Fu
-              for (e = 0; e < t.length; e++) (r = t[e]) >= i && r < f && (f = r)
-              var l = c + 1
-              if (f - i > zu((Fu - a) / l)) throw RangeError(qu)
-              for (a += (f - i) * l, i = f, e = 0; e < t.length; e++) {
-                if ((r = t[e]) < i && ++a > Fu) throw RangeError(qu)
-                if (r == i) {
-                  for (var h = a, p = 36; ; p += 36) {
-                    var d = p <= u ? 1 : p >= u + 26 ? 26 : p - u
-                    if (h < d) break
-                    var v = h - d,
-                      g = 36 - d
-                    n.push(Wu(Ku(d + (v % g)))), (h = zu(v / g))
-                  }
-                  n.push(Wu(Ku(h))), (u = Gu(a, l, c == s)), (a = 0), ++c
-                }
-              }
-              ++a, ++i
-            }
-            return n.join('')
-          },
-          Vu = it('fetch'),
-          Hu = it('Headers'),
-          Xu = qt('iterator'),
-          Yu = 'URLSearchParams',
-          Ju = 'URLSearchParamsIterator',
-          Qu = et.set,
-          Zu = et.getterFor(Yu),
-          ts = et.getterFor(Ju),
-          es = /\+/g,
-          rs = Array(4),
-          ns = function (t) {
-            return rs[t - 1] || (rs[t - 1] = RegExp('((?:%[\\da-f]{2}){' + t + '})', 'gi'))
-          },
-          os = function (t) {
-            try {
-              return decodeURIComponent(t)
-            } catch (e) {
-              return t
-            }
-          },
-          is = function (t) {
-            var e = t.replace(es, ' '),
-              r = 4
-            try {
-              return decodeURIComponent(e)
-            } catch (t) {
-              for (; r; ) e = e.replace(ns(r--), os)
-              return e
-            }
-          },
-          as = /[!'()~]|%20/g,
-          us = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+' },
-          ss = function (t) {
-            return us[t]
-          },
-          cs = function (t) {
-            return encodeURIComponent(t).replace(as, ss)
-          },
-          fs = function (t, e) {
-            if (e)
-              for (var r, n, o = e.split('&'), i = 0; i < o.length; )
-                (r = o[i++]).length &&
-                  ((n = r.split('=')), t.push({ key: is(n.shift()), value: is(n.join('=')) }))
-          },
-          ls = function (t) {
-            ;(this.entries.length = 0), fs(this.entries, t)
-          },
-          hs = function (t, e) {
-            if (t < e) throw TypeError('Not enough arguments')
-          },
-          ps = De(
-            function (t, e) {
-              Qu(this, { type: Ju, iterator: an(Zu(t).entries), kind: e })
-            },
-            'Iterator',
-            function () {
-              var t = ts(this),
-                e = t.kind,
-                r = t.iterator.next(),
-                n = r.value
-              return (
-                r.done ||
-                  (r.value = 'keys' === e ? n.key : 'values' === e ? n.value : [n.key, n.value]),
-                r
-              )
-            },
-          ),
-          ds = function () {
-            Nr(this, ds, Yu)
-            var t,
-              e,
-              r,
-              n,
-              o,
-              i,
-              a,
-              u,
-              s,
-              c = arguments.length > 0 ? arguments[0] : void 0,
-              f = this,
-              l = []
-            if (
-              (Qu(f, { type: Yu, entries: l, updateURL: function () {}, updateSearchParams: ls }),
-              void 0 !== c)
-            )
-              if (y(c))
-                if ('function' == typeof (t = hr(c)))
-                  for (r = (e = t.call(c)).next; !(n = r.call(e)).done; ) {
-                    if (
-                      (a = (i = (o = an(j(n.value))).next).call(o)).done ||
-                      (u = i.call(o)).done ||
-                      !i.call(o).done
-                    )
-                      throw TypeError('Expected sequence with length 2')
-                    l.push({ key: a.value + '', value: u.value + '' })
-                  }
-                else for (s in c) w(c, s) && l.push({ key: s, value: c[s] + '' })
-              else fs(l, 'string' == typeof c ? ('?' === c.charAt(0) ? c.slice(1) : c) : c + '')
-          },
-          vs = ds.prototype
-        Br(
-          vs,
-          {
-            append: function (t, e) {
-              hs(arguments.length, 2)
-              var r = Zu(this)
-              r.entries.push({ key: t + '', value: e + '' }), r.updateURL()
-            },
-            delete: function (t) {
-              hs(arguments.length, 1)
-              for (var e = Zu(this), r = e.entries, n = t + '', o = 0; o < r.length; )
-                r[o].key === n ? r.splice(o, 1) : o++
-              e.updateURL()
-            },
-            get: function (t) {
-              hs(arguments.length, 1)
-              for (var e = Zu(this).entries, r = t + '', n = 0; n < e.length; n++)
-                if (e[n].key === r) return e[n].value
-              return null
-            },
-            getAll: function (t) {
-              hs(arguments.length, 1)
-              for (var e = Zu(this).entries, r = t + '', n = [], o = 0; o < e.length; o++)
-                e[o].key === r && n.push(e[o].value)
-              return n
-            },
-            has: function (t) {
-              hs(arguments.length, 1)
-              for (var e = Zu(this).entries, r = t + '', n = 0; n < e.length; )
-                if (e[n++].key === r) return !0
-              return !1
-            },
-            set: function (t, e) {
-              hs(arguments.length, 1)
-              for (
-                var r, n = Zu(this), o = n.entries, i = !1, a = t + '', u = e + '', s = 0;
-                s < o.length;
-                s++
-              )
-                (r = o[s]).key === a && (i ? o.splice(s--, 1) : ((i = !0), (r.value = u)))
-              i || o.push({ key: a, value: u }), n.updateURL()
-            },
-            sort: function () {
-              var t,
-                e,
-                r,
-                n = Zu(this),
-                o = n.entries,
-                i = o.slice()
-              for (o.length = 0, r = 0; r < i.length; r++) {
-                for (t = i[r], e = 0; e < r; e++)
-                  if (o[e].key > t.key) {
-                    o.splice(e, 0, t)
-                    break
-                  }
-                e === r && o.push(t)
-              }
-              n.updateURL()
-            },
-            forEach: function (t) {
-              for (
-                var e,
-                  r = Zu(this).entries,
-                  n = te(t, arguments.length > 1 ? arguments[1] : void 0, 3),
-                  o = 0;
-                o < r.length;
-
-              )
-                n((e = r[o++]).value, e.key, this)
-            },
-            keys: function () {
-              return new ps(this, 'keys')
-            },
-            values: function () {
-              return new ps(this, 'values')
-            },
-            entries: function () {
-              return new ps(this, 'entries')
-            },
-          },
-          { enumerable: !0 },
-        ),
-          rt(vs, Xu, vs.entries),
-          rt(
-            vs,
-            'toString',
-            function () {
-              for (var t, e = Zu(this).entries, r = [], n = 0; n < e.length; )
-                (t = e[n++]), r.push(cs(t.key) + '=' + cs(t.value))
-              return r.join('&')
-            },
-            { enumerable: !0 },
-          ),
-          Ne(ds, Yu),
-          Lt({ global: !0, forced: !_u }, { URLSearchParams: ds }),
-          _u ||
-            'function' != typeof Vu ||
-            'function' != typeof Hu ||
-            Lt(
-              { global: !0, enumerable: !0, forced: !0 },
-              {
-                fetch: function (t) {
-                  var e,
-                    r,
-                    n,
-                    o = [t]
-                  return (
-                    arguments.length > 1 &&
-                      (y((e = arguments[1])) &&
-                        fr((r = e.body)) === Yu &&
-                        ((n = e.headers ? new Hu(e.headers) : new Hu()).has('content-type') ||
-                          n.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'),
-                        (e = Xt(e, { body: f(0, String(r)), headers: f(0, n) }))),
-                      o.push(e)),
-                    Vu.apply(this, o)
-                  )
-                },
-              },
-            )
-        var gs,
-          ys = { URLSearchParams: ds, getState: Zu },
-          ms = Re.codeAt,
-          bs = o.URL,
-          ws = ys.URLSearchParams,
-          Ss = ys.getState,
-          Es = et.set,
-          xs = et.getterFor('URL'),
-          As = Math.floor,
-          Os = Math.pow,
-          Rs = 'Invalid scheme',
-          js = 'Invalid host',
-          Ps = 'Invalid port',
-          Is = /[A-Za-z]/,
-          ks = /[\d+-.A-Za-z]/,
-          Ts = /\d/,
-          Ls = /^(0x|0X)/,
-          Us = /^[0-7]+$/,
-          _s = /^\d+$/,
-          Ms = /^[\dA-Fa-f]+$/,
-          Ns = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,
-          Cs = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/,
-          Fs = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,
-          Bs = /[\u0009\u000A\u000D]/g,
-          Ds = function (t, e) {
-            var r, n, o
-            if ('[' == e.charAt(0)) {
-              if (']' != e.charAt(e.length - 1)) return js
-              if (!(r = zs(e.slice(1, -1)))) return js
-              t.host = r
-            } else if (Ys(t)) {
-              if (
-                ((e = (function (t) {
-                  var e,
-                    r,
-                    n = [],
-                    o = t.toLowerCase().replace(Du, '.').split('.')
-                  for (e = 0; e < o.length; e++) n.push(Bu.test((r = o[e])) ? 'xn--' + $u(r) : r)
-                  return n.join('.')
-                })(e)),
-                Ns.test(e))
-              )
-                return js
-              if (null === (r = qs(e))) return js
-              t.host = r
-            } else {
-              if (Cs.test(e)) return js
-              for (r = '', n = pr(e), o = 0; o < n.length; o++) r += Hs(n[o], Ks)
-              t.host = r
-            }
-          },
-          qs = function (t) {
-            var e,
-              r,
-              n,
-              o,
-              i,
-              a,
-              u,
-              s = t.split('.')
-            if ((s.length && '' == s[s.length - 1] && s.pop(), (e = s.length) > 4)) return t
-            for (r = [], n = 0; n < e; n++) {
-              if ('' == (o = s[n])) return t
-              if (
-                ((i = 10),
-                o.length > 1 &&
-                  '0' == o.charAt(0) &&
-                  ((i = Ls.test(o) ? 16 : 8), (o = o.slice(8 == i ? 1 : 2))),
-                '' === o)
-              )
-                a = 0
-              else {
-                if (!(10 == i ? _s : 8 == i ? Us : Ms).test(o)) return t
-                a = parseInt(o, i)
-              }
-              r.push(a)
-            }
-            for (n = 0; n < e; n++)
-              if (((a = r[n]), n == e - 1)) {
-                if (a >= Os(256, 5 - e)) return null
-              } else if (a > 255) return null
-            for (u = r.pop(), n = 0; n < r.length; n++) u += r[n] * Os(256, 3 - n)
-            return u
-          },
-          zs = function (t) {
-            var e,
-              r,
-              n,
-              o,
-              i,
-              a,
-              u,
-              s = [0, 0, 0, 0, 0, 0, 0, 0],
-              c = 0,
-              f = null,
-              l = 0,
-              h = function () {
-                return t.charAt(l)
-              }
-            if (':' == h()) {
-              if (':' != t.charAt(1)) return
-              ;(l += 2), (f = ++c)
-            }
-            for (; h(); ) {
-              if (8 == c) return
-              if (':' != h()) {
-                for (e = r = 0; r < 4 && Ms.test(h()); ) (e = 16 * e + parseInt(h(), 16)), l++, r++
-                if ('.' == h()) {
-                  if (0 == r) return
-                  if (((l -= r), c > 6)) return
-                  for (n = 0; h(); ) {
-                    if (((o = null), n > 0)) {
-                      if (!('.' == h() && n < 4)) return
-                      l++
-                    }
-                    if (!Ts.test(h())) return
-                    for (; Ts.test(h()); ) {
-                      if (((i = parseInt(h(), 10)), null === o)) o = i
-                      else {
-                        if (0 == o) return
-                        o = 10 * o + i
-                      }
-                      if (o > 255) return
-                      l++
-                    }
-                    ;(s[c] = 256 * s[c] + o), (2 != ++n && 4 != n) || c++
-                  }
-                  if (4 != n) return
-                  break
-                }
-                if (':' == h()) {
-                  if ((l++, !h())) return
-                } else if (h()) return
-                s[c++] = e
-              } else {
-                if (null !== f) return
-                l++, (f = ++c)
-              }
-            }
-            if (null !== f)
-              for (a = c - f, c = 7; 0 != c && a > 0; )
-                (u = s[c]), (s[c--] = s[f + a - 1]), (s[f + --a] = u)
-            else if (8 != c) return
-            return s
-          },
-          Ws = function (t) {
-            var e, r, n, o
-            if ('number' == typeof t) {
-              for (e = [], r = 0; r < 4; r++) e.unshift(t % 256), (t = As(t / 256))
-              return e.join('.')
-            }
-            if ('object' == typeof t) {
-              for (
-                e = '',
-                  n = (function (t) {
-                    for (var e = null, r = 1, n = null, o = 0, i = 0; i < 8; i++)
-                      0 !== t[i]
-                        ? (o > r && ((e = n), (r = o)), (n = null), (o = 0))
-                        : (null === n && (n = i), ++o)
-                    return o > r && ((e = n), (r = o)), e
-                  })(t),
-                  r = 0;
-                r < 8;
-                r++
-              )
-                (o && 0 === t[r]) ||
-                  (o && (o = !1),
-                  n === r
-                    ? ((e += r ? ':' : '::'), (o = !0))
-                    : ((e += t[r].toString(16)), r < 7 && (e += ':')))
-              return '[' + e + ']'
-            }
-            return t
-          },
-          Ks = {},
-          Gs = Cu({}, Ks, { ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 }),
-          $s = Cu({}, Gs, { '#': 1, '?': 1, '{': 1, '}': 1 }),
-          Vs = Cu({}, $s, {
-            '/': 1,
-            ':': 1,
-            ';': 1,
-            '=': 1,
-            '@': 1,
-            '[': 1,
-            '\\': 1,
-            ']': 1,
-            '^': 1,
-            '|': 1,
-          }),
-          Hs = function (t, e) {
-            var r = ms(t, 0)
-            return r > 32 && r < 127 && !w(e, t) ? t : encodeURIComponent(t)
-          },
-          Xs = { ftp: 21, file: null, http: 80, https: 443, ws: 80, wss: 443 },
-          Ys = function (t) {
-            return w(Xs, t.scheme)
-          },
-          Js = function (t) {
-            return '' != t.username || '' != t.password
-          },
-          Qs = function (t) {
-            return !t.host || t.cannotBeABaseURL || 'file' == t.scheme
-          },
-          Zs = function (t, e) {
-            var r
-            return (
-              2 == t.length &&
-              Is.test(t.charAt(0)) &&
-              (':' == (r = t.charAt(1)) || (!e && '|' == r))
-            )
-          },
-          tc = function (t) {
-            var e
-            return (
-              t.length > 1 &&
-              Zs(t.slice(0, 2)) &&
-              (2 == t.length || '/' === (e = t.charAt(2)) || '\\' === e || '?' === e || '#' === e)
-            )
-          },
-          ec = function (t) {
-            var e = t.path,
-              r = e.length
-            !r || ('file' == t.scheme && 1 == r && Zs(e[0], !0)) || e.pop()
-          },
-          rc = function (t) {
-            return '.' === t || '%2e' === t.toLowerCase()
-          },
-          nc = {},
-          oc = {},
-          ic = {},
-          ac = {},
-          uc = {},
-          sc = {},
-          cc = {},
-          fc = {},
-          lc = {},
-          hc = {},
-          pc = {},
-          dc = {},
-          vc = {},
-          gc = {},
-          yc = {},
-          mc = {},
-          bc = {},
-          wc = {},
-          Sc = {},
-          Ec = {},
-          xc = {},
-          Ac = function (t, e, r, n) {
-            var o,
-              i,
-              a,
-              u,
-              s,
-              c = r || nc,
-              f = 0,
-              l = '',
-              h = !1,
-              p = !1,
-              d = !1
-            for (
-              r ||
-                ((t.scheme = ''),
-                (t.username = ''),
-                (t.password = ''),
-                (t.host = null),
-                (t.port = null),
-                (t.path = []),
-                (t.query = null),
-                (t.fragment = null),
-                (t.cannotBeABaseURL = !1),
-                (e = e.replace(Fs, ''))),
-                e = e.replace(Bs, ''),
-                o = pr(e);
-              f <= o.length;
-
-            ) {
-              switch (((i = o[f]), c)) {
-                case nc:
-                  if (!i || !Is.test(i)) {
-                    if (r) return Rs
-                    c = ic
-                    continue
-                  }
-                  ;(l += i.toLowerCase()), (c = oc)
-                  break
-                case oc:
-                  if (i && (ks.test(i) || '+' == i || '-' == i || '.' == i)) l += i.toLowerCase()
-                  else {
-                    if (':' != i) {
-                      if (r) return Rs
-                      ;(l = ''), (c = ic), (f = 0)
-                      continue
-                    }
-                    if (
-                      r &&
-                      (Ys(t) != w(Xs, l) ||
-                        ('file' == l && (Js(t) || null !== t.port)) ||
-                        ('file' == t.scheme && !t.host))
-                    )
-                      return
-                    if (((t.scheme = l), r))
-                      return void (Ys(t) && Xs[t.scheme] == t.port && (t.port = null))
-                    ;(l = ''),
-                      'file' == t.scheme
-                        ? (c = gc)
-                        : Ys(t) && n && n.scheme == t.scheme
-                        ? (c = ac)
-                        : Ys(t)
-                        ? (c = fc)
-                        : '/' == o[f + 1]
-                        ? ((c = uc), f++)
-                        : ((t.cannotBeABaseURL = !0), t.path.push(''), (c = Sc))
-                  }
-                  break
-                case ic:
-                  if (!n || (n.cannotBeABaseURL && '#' != i)) return Rs
-                  if (n.cannotBeABaseURL && '#' == i) {
-                    ;(t.scheme = n.scheme),
-                      (t.path = n.path.slice()),
-                      (t.query = n.query),
-                      (t.fragment = ''),
-                      (t.cannotBeABaseURL = !0),
-                      (c = xc)
-                    break
-                  }
-                  c = 'file' == n.scheme ? gc : sc
-                  continue
-                case ac:
-                  if ('/' != i || '/' != o[f + 1]) {
-                    c = sc
-                    continue
-                  }
-                  ;(c = lc), f++
-                  break
-                case uc:
-                  if ('/' == i) {
-                    c = hc
-                    break
-                  }
-                  c = wc
-                  continue
-                case sc:
-                  if (((t.scheme = n.scheme), i == gs))
-                    (t.username = n.username),
-                      (t.password = n.password),
-                      (t.host = n.host),
-                      (t.port = n.port),
-                      (t.path = n.path.slice()),
-                      (t.query = n.query)
-                  else if ('/' == i || ('\\' == i && Ys(t))) c = cc
-                  else if ('?' == i)
-                    (t.username = n.username),
-                      (t.password = n.password),
-                      (t.host = n.host),
-                      (t.port = n.port),
-                      (t.path = n.path.slice()),
-                      (t.query = ''),
-                      (c = Ec)
-                  else {
-                    if ('#' != i) {
-                      ;(t.username = n.username),
-                        (t.password = n.password),
-                        (t.host = n.host),
-                        (t.port = n.port),
-                        (t.path = n.path.slice()),
-                        t.path.pop(),
-                        (c = wc)
-                      continue
-                    }
-                    ;(t.username = n.username),
-                      (t.password = n.password),
-                      (t.host = n.host),
-                      (t.port = n.port),
-                      (t.path = n.path.slice()),
-                      (t.query = n.query),
-                      (t.fragment = ''),
-                      (c = xc)
-                  }
-                  break
-                case cc:
-                  if (!Ys(t) || ('/' != i && '\\' != i)) {
-                    if ('/' != i) {
-                      ;(t.username = n.username),
-                        (t.password = n.password),
-                        (t.host = n.host),
-                        (t.port = n.port),
-                        (c = wc)
-                      continue
-                    }
-                    c = hc
-                  } else c = lc
-                  break
-                case fc:
-                  if (((c = lc), '/' != i || '/' != l.charAt(f + 1))) continue
-                  f++
-                  break
-                case lc:
-                  if ('/' != i && '\\' != i) {
-                    c = hc
-                    continue
-                  }
-                  break
-                case hc:
-                  if ('@' == i) {
-                    h && (l = '%40' + l), (h = !0), (a = pr(l))
-                    for (var v = 0; v < a.length; v++) {
-                      var g = a[v]
-                      if (':' != g || d) {
-                        var y = Hs(g, Vs)
-                        d ? (t.password += y) : (t.username += y)
-                      } else d = !0
-                    }
-                    l = ''
-                  } else if (i == gs || '/' == i || '?' == i || '#' == i || ('\\' == i && Ys(t))) {
-                    if (h && '' == l) return 'Invalid authority'
-                    ;(f -= pr(l).length + 1), (l = ''), (c = pc)
-                  } else l += i
-                  break
-                case pc:
-                case dc:
-                  if (r && 'file' == t.scheme) {
-                    c = mc
-                    continue
-                  }
-                  if (':' != i || p) {
-                    if (i == gs || '/' == i || '?' == i || '#' == i || ('\\' == i && Ys(t))) {
-                      if (Ys(t) && '' == l) return js
-                      if (r && '' == l && (Js(t) || null !== t.port)) return
-                      if ((u = Ds(t, l))) return u
-                      if (((l = ''), (c = bc), r)) return
-                      continue
-                    }
-                    '[' == i ? (p = !0) : ']' == i && (p = !1), (l += i)
-                  } else {
-                    if ('' == l) return js
-                    if ((u = Ds(t, l))) return u
-                    if (((l = ''), (c = vc), r == dc)) return
-                  }
-                  break
-                case vc:
-                  if (!Ts.test(i)) {
-                    if (i == gs || '/' == i || '?' == i || '#' == i || ('\\' == i && Ys(t)) || r) {
-                      if ('' != l) {
-                        var m = parseInt(l, 10)
-                        if (m > 65535) return Ps
-                        ;(t.port = Ys(t) && m === Xs[t.scheme] ? null : m), (l = '')
-                      }
-                      if (r) return
-                      c = bc
-                      continue
-                    }
-                    return Ps
-                  }
-                  l += i
-                  break
-                case gc:
-                  if (((t.scheme = 'file'), '/' == i || '\\' == i)) c = yc
-                  else {
-                    if (!n || 'file' != n.scheme) {
-                      c = wc
-                      continue
-                    }
-                    if (i == gs) (t.host = n.host), (t.path = n.path.slice()), (t.query = n.query)
-                    else if ('?' == i)
-                      (t.host = n.host), (t.path = n.path.slice()), (t.query = ''), (c = Ec)
-                    else {
-                      if ('#' != i) {
-                        tc(o.slice(f).join('')) ||
-                          ((t.host = n.host), (t.path = n.path.slice()), ec(t)),
-                          (c = wc)
-                        continue
-                      }
-                      ;(t.host = n.host),
-                        (t.path = n.path.slice()),
-                        (t.query = n.query),
-                        (t.fragment = ''),
-                        (c = xc)
-                    }
-                  }
-                  break
-                case yc:
-                  if ('/' == i || '\\' == i) {
-                    c = mc
-                    break
-                  }
-                  n &&
-                    'file' == n.scheme &&
-                    !tc(o.slice(f).join('')) &&
-                    (Zs(n.path[0], !0) ? t.path.push(n.path[0]) : (t.host = n.host)),
-                    (c = wc)
-                  continue
-                case mc:
-                  if (i == gs || '/' == i || '\\' == i || '?' == i || '#' == i) {
-                    if (!r && Zs(l)) c = wc
-                    else if ('' == l) {
-                      if (((t.host = ''), r)) return
-                      c = bc
-                    } else {
-                      if ((u = Ds(t, l))) return u
-                      if (('localhost' == t.host && (t.host = ''), r)) return
-                      ;(l = ''), (c = bc)
-                    }
-                    continue
-                  }
-                  l += i
-                  break
-                case bc:
-                  if (Ys(t)) {
-                    if (((c = wc), '/' != i && '\\' != i)) continue
-                  } else if (r || '?' != i)
-                    if (r || '#' != i) {
-                      if (i != gs && ((c = wc), '/' != i)) continue
-                    } else (t.fragment = ''), (c = xc)
-                  else (t.query = ''), (c = Ec)
-                  break
-                case wc:
-                  if (
-                    i == gs ||
-                    '/' == i ||
-                    ('\\' == i && Ys(t)) ||
-                    (!r && ('?' == i || '#' == i))
-                  ) {
-                    if (
-                      ('..' === (s = (s = l).toLowerCase()) ||
-                      '%2e.' === s ||
-                      '.%2e' === s ||
-                      '%2e%2e' === s
-                        ? (ec(t), '/' == i || ('\\' == i && Ys(t)) || t.path.push(''))
-                        : rc(l)
-                        ? '/' == i || ('\\' == i && Ys(t)) || t.path.push('')
-                        : ('file' == t.scheme &&
-                            !t.path.length &&
-                            Zs(l) &&
-                            (t.host && (t.host = ''), (l = l.charAt(0) + ':')),
-                          t.path.push(l)),
-                      (l = ''),
-                      'file' == t.scheme && (i == gs || '?' == i || '#' == i))
-                    )
-                      for (; t.path.length > 1 && '' === t.path[0]; ) t.path.shift()
-                    '?' == i
-                      ? ((t.query = ''), (c = Ec))
-                      : '#' == i && ((t.fragment = ''), (c = xc))
-                  } else l += Hs(i, $s)
-                  break
-                case Sc:
-                  '?' == i
-                    ? ((t.query = ''), (c = Ec))
-                    : '#' == i
-                    ? ((t.fragment = ''), (c = xc))
-                    : i != gs && (t.path[0] += Hs(i, Ks))
-                  break
-                case Ec:
-                  r || '#' != i
-                    ? i != gs &&
-                      ("'" == i && Ys(t)
-                        ? (t.query += '%27')
-                        : (t.query += '#' == i ? '%23' : Hs(i, Ks)))
-                    : ((t.fragment = ''), (c = xc))
-                  break
-                case xc:
-                  i != gs && (t.fragment += Hs(i, Gs))
-              }
-              f++
-            }
-          },
-          Oc = function (t) {
-            var e,
-              r,
-              n = Nr(this, Oc, 'URL'),
-              o = arguments.length > 1 ? arguments[1] : void 0,
-              i = String(t),
-              u = Es(n, { type: 'URL' })
-            if (void 0 !== o)
-              if (o instanceof Oc) e = xs(o)
-              else if ((r = Ac((e = {}), String(o)))) throw TypeError(r)
-            if ((r = Ac(u, i, null, e))) throw TypeError(r)
-            var s = (u.searchParams = new ws()),
-              c = Ss(s)
-            c.updateSearchParams(u.query),
-              (c.updateURL = function () {
-                u.query = String(s) || null
-              }),
-              a ||
-                ((n.href = jc.call(n)),
-                (n.origin = Pc.call(n)),
-                (n.protocol = Ic.call(n)),
-                (n.username = kc.call(n)),
-                (n.password = Tc.call(n)),
-                (n.host = Lc.call(n)),
-                (n.hostname = Uc.call(n)),
-                (n.port = _c.call(n)),
-                (n.pathname = Mc.call(n)),
-                (n.search = Nc.call(n)),
-                (n.searchParams = Cc.call(n)),
-                (n.hash = Fc.call(n)))
-          },
-          Rc = Oc.prototype,
-          jc = function () {
-            var t = xs(this),
-              e = t.scheme,
-              r = t.username,
-              n = t.password,
-              o = t.host,
-              i = t.port,
-              a = t.path,
-              u = t.query,
-              s = t.fragment,
-              c = e + ':'
-            return (
-              null !== o
-                ? ((c += '//'),
-                  Js(t) && (c += r + (n ? ':' + n : '') + '@'),
-                  (c += Ws(o)),
-                  null !== i && (c += ':' + i))
-                : 'file' == e && (c += '//'),
-              (c += t.cannotBeABaseURL ? a[0] : a.length ? '/' + a.join('/') : ''),
-              null !== u && (c += '?' + u),
-              null !== s && (c += '#' + s),
-              c
-            )
-          },
-          Pc = function () {
-            var t = xs(this),
-              e = t.scheme,
-              r = t.port
-            if ('blob' == e)
-              try {
-                return new URL(e.path[0]).origin
-              } catch (t) {
-                return 'null'
-              }
-            return 'file' != e && Ys(t)
-              ? e + '://' + Ws(t.host) + (null !== r ? ':' + r : '')
-              : 'null'
-          },
-          Ic = function () {
-            return xs(this).scheme + ':'
-          },
-          kc = function () {
-            return xs(this).username
-          },
-          Tc = function () {
-            return xs(this).password
-          },
-          Lc = function () {
-            var t = xs(this),
-              e = t.host,
-              r = t.port
-            return null === e ? '' : null === r ? Ws(e) : Ws(e) + ':' + r
-          },
-          Uc = function () {
-            var t = xs(this).host
-            return null === t ? '' : Ws(t)
-          },
-          _c = function () {
-            var t = xs(this).port
-            return null === t ? '' : String(t)
-          },
-          Mc = function () {
-            var t = xs(this),
-              e = t.path
-            return t.cannotBeABaseURL ? e[0] : e.length ? '/' + e.join('/') : ''
-          },
-          Nc = function () {
-            var t = xs(this).query
-            return t ? '?' + t : ''
-          },
-          Cc = function () {
-            return xs(this).searchParams
-          },
-          Fc = function () {
-            var t = xs(this).fragment
-            return t ? '#' + t : ''
-          },
-          Bc = function (t, e) {
-            return { get: t, set: e, configurable: !0, enumerable: !0 }
-          }
-        if (
-          (a &&
-            Wt(Rc, {
-              href: Bc(jc, function (t) {
-                var e = xs(this),
-                  r = String(t),
-                  n = Ac(e, r)
-                if (n) throw TypeError(n)
-                Ss(e.searchParams).updateSearchParams(e.query)
-              }),
-              origin: Bc(Pc),
-              protocol: Bc(Ic, function (t) {
-                var e = xs(this)
-                Ac(e, String(t) + ':', nc)
-              }),
-              username: Bc(kc, function (t) {
-                var e = xs(this),
-                  r = pr(String(t))
-                if (!Qs(e)) {
-                  e.username = ''
-                  for (var n = 0; n < r.length; n++) e.username += Hs(r[n], Vs)
-                }
-              }),
-              password: Bc(Tc, function (t) {
-                var e = xs(this),
-                  r = pr(String(t))
-                if (!Qs(e)) {
-                  e.password = ''
-                  for (var n = 0; n < r.length; n++) e.password += Hs(r[n], Vs)
-                }
-              }),
-              host: Bc(Lc, function (t) {
-                var e = xs(this)
-                e.cannotBeABaseURL || Ac(e, String(t), pc)
-              }),
-              hostname: Bc(Uc, function (t) {
-                var e = xs(this)
-                e.cannotBeABaseURL || Ac(e, String(t), dc)
-              }),
-              port: Bc(_c, function (t) {
-                var e = xs(this)
-                Qs(e) || ('' == (t = String(t)) ? (e.port = null) : Ac(e, t, vc))
-              }),
-              pathname: Bc(Mc, function (t) {
-                var e = xs(this)
-                e.cannotBeABaseURL || ((e.path = []), Ac(e, t + '', bc))
-              }),
-              search: Bc(Nc, function (t) {
-                var e = xs(this)
-                '' == (t = String(t))
-                  ? (e.query = null)
-                  : ('?' == t.charAt(0) && (t = t.slice(1)), (e.query = ''), Ac(e, t, Ec)),
-                  Ss(e.searchParams).updateSearchParams(e.query)
-              }),
-              searchParams: Bc(Cc),
-              hash: Bc(Fc, function (t) {
-                var e = xs(this)
-                '' != (t = String(t))
-                  ? ('#' == t.charAt(0) && (t = t.slice(1)), (e.fragment = ''), Ac(e, t, xc))
-                  : (e.fragment = null)
-              }),
-            }),
-          rt(
-            Rc,
-            'toJSON',
-            function () {
-              return jc.call(this)
-            },
-            { enumerable: !0 },
-          ),
-          rt(
-            Rc,
-            'toString',
-            function () {
-              return jc.call(this)
-            },
-            { enumerable: !0 },
-          ),
-          bs)
-        ) {
-          var Dc = bs.createObjectURL,
-            qc = bs.revokeObjectURL
-          Dc &&
-            rt(Oc, 'createObjectURL', function (t) {
-              return Dc.apply(bs, arguments)
-            }),
-            qc &&
-              rt(Oc, 'revokeObjectURL', function (t) {
-                return qc.apply(bs, arguments)
-              })
-        }
-        Ne(Oc, 'URL'),
-          Lt({ global: !0, forced: !_u, sham: !a }, { URL: Oc }),
-          Lt(
-            { target: 'URL', proto: !0, enumerable: !0 },
-            {
-              toJSON: function () {
-                return URL.prototype.toString.call(this)
-              },
-            },
-          ),
-          Lt({ target: 'WeakMap', stat: !0 }, { from: rn }),
-          Lt({ target: 'WeakMap', stat: !0 }, { of: nn }),
-          Lt(
-            { target: 'WeakMap', proto: !0, real: !0, forced: q },
-            {
-              deleteAll: function () {
-                return on.apply(this, arguments)
-              },
-            },
-          ),
-          Lt({ target: 'WeakMap', proto: !0, real: !0, forced: q }, { upsert: fn }),
-          Fr(
-            'WeakSet',
-            function (t) {
-              return function () {
-                return t(this, arguments.length ? arguments[0] : void 0)
-              }
-            },
-            bo,
-          ),
-          Lt(
-            { target: 'WeakSet', proto: !0, real: !0, forced: q },
-            {
-              addAll: function () {
-                return Xi.apply(this, arguments)
-              },
-            },
-          ),
-          Lt(
-            { target: 'WeakSet', proto: !0, real: !0, forced: q },
-            {
-              deleteAll: function () {
-                return on.apply(this, arguments)
-              },
-            },
-          ),
-          Lt({ target: 'WeakSet', stat: !0 }, { from: rn }),
-          Lt({ target: 'WeakSet', stat: !0 }, { of: nn })
-        var zc,
-          Wc,
-          Kc,
-          Gc = o.Promise,
-          $c = /(iphone|ipod|ipad).*applewebkit/i.test(Zi),
-          Vc = o.location,
-          Hc = o.setImmediate,
-          Xc = o.clearImmediate,
-          Yc = o.process,
-          Jc = o.MessageChannel,
-          Qc = o.Dispatch,
-          Zc = 0,
-          tf = {},
-          ef = function (t) {
-            if (tf.hasOwnProperty(t)) {
-              var e = tf[t]
-              delete tf[t], e()
-            }
-          },
-          rf = function (t) {
-            return function () {
-              ef(t)
-            }
-          },
-          nf = function (t) {
-            ef(t.data)
-          },
-          of = function (t) {
-            o.postMessage(t + '', Vc.protocol + '//' + Vc.host)
-          }
-        ;(Hc && Xc) ||
-          ((Hc = function (t) {
-            for (var e = [], r = 1; arguments.length > r; ) e.push(arguments[r++])
-            return (
-              (tf[++Zc] = function () {
-                ;('function' == typeof t ? t : Function(t)).apply(void 0, e)
-              }),
-              zc(Zc),
-              Zc
-            )
-          }),
-          (Xc = function (t) {
-            delete tf[t]
-          }),
-          'process' == h(Yc)
-            ? (zc = function (t) {
-                Yc.nextTick(rf(t))
-              })
-            : Qc && Qc.now
-            ? (zc = function (t) {
-                Qc.now(rf(t))
-              })
-            : Jc && !$c
-            ? ((Kc = (Wc = new Jc()).port2),
-              (Wc.port1.onmessage = nf),
-              (zc = te(Kc.postMessage, Kc, 1)))
-            : !o.addEventListener ||
-              'function' != typeof postMessage ||
-              o.importScripts ||
-              i(of) ||
-              'file:' === Vc.protocol
-            ? (zc =
-                'onreadystatechange' in x('script')
-                  ? function (t) {
-                      Kt.appendChild(x('script')).onreadystatechange = function () {
-                        Kt.removeChild(this), ef(t)
-                      }
-                    }
-                  : function (t) {
-                      setTimeout(rf(t), 0)
-                    })
-            : ((zc = of), o.addEventListener('message', nf, !1)))
-        var af,
-          uf,
-          sf,
-          cf,
-          ff,
-          lf,
-          hf,
-          pf,
-          df = { set: Hc, clear: Xc },
-          vf = R.f,
-          gf = df.set,
-          yf = o.MutationObserver || o.WebKitMutationObserver,
-          mf = o.process,
-          bf = o.Promise,
-          wf = 'process' == h(mf),
-          Sf = vf(o, 'queueMicrotask'),
-          Ef = Sf && Sf.value
-        Ef ||
-          ((af = function () {
-            var t, e
-            for (wf && (t = mf.domain) && t.exit(); uf; ) {
-              ;(e = uf.fn), (uf = uf.next)
-              try {
-                e()
-              } catch (t) {
-                throw (uf ? cf() : (sf = void 0), t)
-              }
-            }
-            ;(sf = void 0), t && t.enter()
-          }),
-          wf
-            ? (cf = function () {
-                mf.nextTick(af)
-              })
-            : yf && !$c
-            ? ((ff = !0),
-              (lf = document.createTextNode('')),
-              new yf(af).observe(lf, { characterData: !0 }),
-              (cf = function () {
-                lf.data = ff = !ff
-              }))
-            : bf && bf.resolve
-            ? ((hf = bf.resolve(void 0)),
-              (pf = hf.then),
-              (cf = function () {
-                pf.call(hf, af)
-              }))
-            : (cf = function () {
-                gf.call(o, af)
-              }))
-        var xf,
-          Af,
-          Of,
-          Rf,
-          jf =
-            Ef ||
-            function (t) {
-              var e = { fn: t, next: void 0 }
-              sf && (sf.next = e), uf || ((uf = e), cf()), (sf = e)
-            },
-          Pf = function (t) {
-            var e, r
-            ;(this.promise = new t(function (t, n) {
-              if (void 0 !== e || void 0 !== r) throw TypeError('Bad Promise constructor')
-              ;(e = t), (r = n)
-            })),
-              (this.resolve = Zt(e)),
-              (this.reject = Zt(r))
-          },
-          If = {
-            f: function (t) {
-              return new Pf(t)
-            },
-          },
-          kf = function (t, e) {
-            if ((j(t), y(e) && e.constructor === t)) return e
-            var r = If.f(t)
-            return (0, r.resolve)(e), r.promise
-          },
-          Tf = function (t) {
-            try {
-              return { error: !1, value: t() }
-            } catch (t) {
-              return { error: !0, value: t }
-            }
-          },
-          Lf = df.set,
-          Uf = qt('species'),
-          _f = 'Promise',
-          Mf = et.get,
-          Nf = et.set,
-          Cf = et.getterFor(_f),
-          Ff = Gc,
-          Bf = o.TypeError,
-          Df = o.document,
-          qf = o.process,
-          zf = it('fetch'),
-          Wf = If.f,
-          Kf = Wf,
-          Gf = 'process' == h(qf),
-          $f = !!(Df && Df.createEvent && o.dispatchEvent),
-          Vf = 'unhandledrejection',
-          Hf = kt(_f, function () {
-            if (F(Ff) === String(Ff)) {
-              if (66 === na) return !0
-              if (!Gf && 'function' != typeof PromiseRejectionEvent) return !0
-            }
-            if (na >= 51 && /native code/.test(Ff)) return !1
-            var t = Ff.resolve(1),
-              e = function (t) {
-                t(
-                  function () {},
-                  function () {},
-                )
-              }
-            return ((t.constructor = {})[Uf] = e), !(t.then(function () {}) instanceof e)
-          }),
-          Xf =
-            Hf ||
-            !mr(function (t) {
-              Ff.all(t).catch(function () {})
-            }),
-          Yf = function (t) {
-            var e
-            return !(!y(t) || 'function' != typeof (e = t.then)) && e
-          },
-          Jf = function (t, e, r) {
-            if (!e.notified) {
-              e.notified = !0
-              var n = e.reactions
-              jf(function () {
-                for (var o = e.value, i = 1 == e.state, a = 0; n.length > a; ) {
-                  var u,
-                    s,
-                    c,
-                    f = n[a++],
-                    l = i ? f.ok : f.fail,
-                    h = f.resolve,
-                    p = f.reject,
-                    d = f.domain
-                  try {
-                    l
-                      ? (i || (2 === e.rejection && el(t, e), (e.rejection = 1)),
-                        !0 === l
-                          ? (u = o)
-                          : (d && d.enter(), (u = l(o)), d && (d.exit(), (c = !0))),
-                        u === f.promise
-                          ? p(Bf('Promise-chain cycle'))
-                          : (s = Yf(u))
-                          ? s.call(u, h, p)
-                          : h(u))
-                      : p(o)
-                  } catch (t) {
-                    d && !c && d.exit(), p(t)
-                  }
-                }
-                ;(e.reactions = []), (e.notified = !1), r && !e.rejection && Zf(t, e)
-              })
-            }
-          },
-          Qf = function (t, e, r) {
-            var n, i
-            $f
-              ? (((n = Df.createEvent('Event')).promise = e),
-                (n.reason = r),
-                n.initEvent(t, !1, !0),
-                o.dispatchEvent(n))
-              : (n = { promise: e, reason: r }),
-              (i = o['on' + t])
-                ? i(n)
-                : t === Vf &&
-                  (function (t, e) {
-                    var r = o.console
-                    r && r.error && (1 === arguments.length ? r.error(t) : r.error(t, e))
-                  })('Unhandled promise rejection', r)
-          },
-          Zf = function (t, e) {
-            Lf.call(o, function () {
-              var r,
-                n = e.value
-              if (
-                tl(e) &&
-                ((r = Tf(function () {
-                  Gf ? qf.emit('unhandledRejection', n, t) : Qf(Vf, t, n)
-                })),
-                (e.rejection = Gf || tl(e) ? 2 : 1),
-                r.error)
-              )
-                throw r.value
-            })
-          },
-          tl = function (t) {
-            return 1 !== t.rejection && !t.parent
-          },
-          el = function (t, e) {
-            Lf.call(o, function () {
-              Gf ? qf.emit('rejectionHandled', t) : Qf('rejectionhandled', t, e.value)
-            })
-          },
-          rl = function (t, e, r, n) {
-            return function (o) {
-              t(e, r, o, n)
-            }
-          },
-          nl = function (t, e, r, n) {
-            e.done || ((e.done = !0), n && (e = n), (e.value = r), (e.state = 2), Jf(t, e, !0))
-          },
-          ol = function t(e, r, n, o) {
-            if (!r.done) {
-              ;(r.done = !0), o && (r = o)
-              try {
-                if (e === n) throw Bf("Promise can't be resolved itself")
-                var i = Yf(n)
-                i
-                  ? jf(function () {
-                      var o = { done: !1 }
-                      try {
-                        i.call(n, rl(t, e, o, r), rl(nl, e, o, r))
-                      } catch (t) {
-                        nl(e, o, t, r)
-                      }
-                    })
-                  : ((r.value = n), (r.state = 1), Jf(e, r, !1))
-              } catch (t) {
-                nl(e, { done: !1 }, t, r)
-              }
-            }
-          }
-        Hf &&
-          ((Ff = function (t) {
-            Nr(this, Ff, _f), Zt(t), xf.call(this)
-            var e = Mf(this)
-            try {
-              t(rl(ol, this, e), rl(nl, this, e))
-            } catch (t) {
-              nl(this, e, t)
-            }
-          }),
-          ((xf = function (t) {
-            Nf(this, {
-              type: _f,
-              done: !1,
-              notified: !1,
-              parent: !1,
-              reactions: [],
-              rejection: !1,
-              state: 0,
-              value: void 0,
-            })
-          }).prototype = Br(Ff.prototype, {
-            then: function (t, e) {
-              var r = Cf(this),
-                n = Wf(cn(this, Ff))
-              return (
-                (n.ok = 'function' != typeof t || t),
-                (n.fail = 'function' == typeof e && e),
-                (n.domain = Gf ? qf.domain : void 0),
-                (r.parent = !0),
-                r.reactions.push(n),
-                0 != r.state && Jf(this, r, !1),
-                n.promise
-              )
-            },
-            catch: function (t) {
-              return this.then(void 0, t)
-            },
-          })),
-          (Af = function () {
-            var t = new xf(),
-              e = Mf(t)
-            ;(this.promise = t), (this.resolve = rl(ol, t, e)), (this.reject = rl(nl, t, e))
-          }),
-          (If.f = Wf =
-            function (t) {
-              return t === Ff || t === Of ? new Af(t) : Kf(t)
-            }),
-          'function' == typeof Gc &&
-            ((Rf = Gc.prototype.then),
-            rt(
-              Gc.prototype,
-              'then',
-              function (t, e) {
-                var r = this
-                return new Ff(function (t, e) {
-                  Rf.call(r, t, e)
-                }).then(t, e)
-              },
-              { unsafe: !0 },
-            ),
-            'function' == typeof zf &&
-              Lt(
-                { global: !0, enumerable: !0, forced: !0 },
-                {
-                  fetch: function (t) {
-                    return kf(Ff, zf.apply(o, arguments))
-                  },
-                },
-              ))),
-          Lt({ global: !0, wrap: !0, forced: Hf }, { Promise: Ff }),
-          Ne(Ff, _f, !1),
-          qr(_f),
-          (Of = it(_f)),
-          Lt(
-            { target: _f, stat: !0, forced: Hf },
-            {
-              reject: function (t) {
-                var e = Wf(this)
-                return e.reject.call(void 0, t), e.promise
-              },
-            },
-          ),
-          Lt(
-            { target: _f, stat: !0, forced: Hf },
-            {
-              resolve: function (t) {
-                return kf(this, t)
-              },
-            },
-          ),
-          Lt(
-            { target: _f, stat: !0, forced: Xf },
-            {
-              all: function (t) {
-                var e = this,
-                  r = Wf(e),
-                  n = r.resolve,
-                  o = r.reject,
-                  i = Tf(function () {
-                    var r = Zt(e.resolve),
-                      i = [],
-                      a = 0,
-                      u = 1
-                    Mr(t, function (t) {
-                      var s = a++,
-                        c = !1
-                      i.push(void 0),
-                        u++,
-                        r.call(e, t).then(function (t) {
-                          c || ((c = !0), (i[s] = t), --u || n(i))
-                        }, o)
-                    }),
-                      --u || n(i)
-                  })
-                return i.error && o(i.value), r.promise
-              },
-              race: function (t) {
-                var e = this,
-                  r = Wf(e),
-                  n = r.reject,
-                  o = Tf(function () {
-                    var o = Zt(e.resolve)
-                    Mr(t, function (t) {
-                      o.call(e, t).then(r.resolve, n)
-                    })
-                  })
-                return o.error && n(o.value), r.promise
-              },
-            },
-          ),
-          Lt(
-            { target: 'Promise', stat: !0 },
-            {
-              allSettled: function (t) {
-                var e = this,
-                  r = If.f(e),
-                  n = r.resolve,
-                  o = r.reject,
-                  i = Tf(function () {
-                    var r = Zt(e.resolve),
-                      o = [],
-                      i = 0,
-                      a = 1
-                    Mr(t, function (t) {
-                      var u = i++,
-                        s = !1
-                      o.push(void 0),
-                        a++,
-                        r.call(e, t).then(
-                          function (t) {
-                            s || ((s = !0), (o[u] = { status: 'fulfilled', value: t }), --a || n(o))
-                          },
-                          function (t) {
-                            s || ((s = !0), (o[u] = { status: 'rejected', reason: t }), --a || n(o))
-                          },
-                        )
-                    }),
-                      --a || n(o)
-                  })
-                return i.error && o(i.value), r.promise
-              },
-            },
-          )
-        var il =
-          !!Gc &&
-          i(function () {
-            Gc.prototype.finally.call({ then: function () {} }, function () {})
-          })
-        Lt(
-          { target: 'Promise', proto: !0, real: !0, forced: il },
-          {
-            finally: function (t) {
-              var e = cn(this, it('Promise')),
-                r = 'function' == typeof t
-              return this.then(
-                r
-                  ? function (r) {
-                      return kf(e, t()).then(function () {
-                        return r
-                      })
-                    }
-                  : t,
-                r
-                  ? function (r) {
-                      return kf(e, t()).then(function () {
-                        throw r
-                      })
-                    }
-                  : t,
-              )
-            },
-          },
-        ),
-          'function' != typeof Gc ||
-            Gc.prototype.finally ||
-            rt(Gc.prototype, 'finally', it('Promise').prototype.finally)
-        var al = et.set,
-          ul = et.getterFor('AggregateError'),
-          sl = function (t, e) {
-            var r = this
-            if (!(r instanceof sl)) return new sl(t, e)
-            ze && (r = ze(new Error(e), ke(r)))
-            var n = []
-            return (
-              Mr(t, n.push, n),
-              a ? al(r, { errors: n, type: 'AggregateError' }) : (r.errors = n),
-              void 0 !== e && k(r, 'message', String(e)),
-              r
-            )
-          }
-        ;(sl.prototype = Xt(Error.prototype, {
-          constructor: f(5, sl),
-          message: f(5, ''),
-          name: f(5, 'AggregateError'),
-        })),
-          a &&
-            I.f(sl.prototype, 'errors', {
-              get: function () {
-                return ul(this).errors
-              },
-              configurable: !0,
-            }),
-          Lt({ global: !0 }, { AggregateError: sl }),
-          Lt(
-            { target: 'Promise', stat: !0 },
-            {
-              try: function (t) {
-                var e = If.f(this),
-                  r = Tf(t)
-                return (r.error ? e.reject : e.resolve)(r.value), e.promise
-              },
-            },
-          )
-        var cl = 'No one promise resolved'
-        Lt(
-          { target: 'Promise', stat: !0 },
-          {
-            any: function (t) {
-              var e = this,
-                r = If.f(e),
-                n = r.resolve,
-                o = r.reject,
-                i = Tf(function () {
-                  var r = Zt(e.resolve),
-                    i = [],
-                    a = 0,
-                    u = 1,
-                    s = !1
-                  Mr(t, function (t) {
-                    var c = a++,
-                      f = !1
-                    i.push(void 0),
-                      u++,
-                      r.call(e, t).then(
-                        function (t) {
-                          f || s || ((s = !0), n(t))
-                        },
-                        function (t) {
-                          f ||
-                            s ||
-                            ((f = !0), (i[c] = t), --u || o(new (it('AggregateError'))(i, cl)))
-                        },
-                      )
-                  }),
-                    --u || o(new (it('AggregateError'))(i, cl))
-                })
-              return i.error && o(i.value), r.promise
-            },
-          },
-        ),
-          re('Promise', 'finally')
-        var fl = 'URLSearchParams' in self,
-          ll = 'Symbol' in self && 'iterator' in Symbol,
-          hl =
-            'FileReader' in self &&
-            'Blob' in self &&
-            (function () {
-              try {
-                return new Blob(), !0
-              } catch (t) {
-                return !1
-              }
-            })(),
-          pl = 'FormData' in self,
-          dl = 'ArrayBuffer' in self
-        if (dl)
-          var vl = [
-              '[object Int8Array]',
-              '[object Uint8Array]',
-              '[object Uint8ClampedArray]',
-              '[object Int16Array]',
-              '[object Uint16Array]',
-              '[object Int32Array]',
-              '[object Uint32Array]',
-              '[object Float32Array]',
-              '[object Float64Array]',
-            ],
-            gl =
-              ArrayBuffer.isView ||
-              function (t) {
-                return t && vl.indexOf(Object.prototype.toString.call(t)) > -1
-              }
-        function yl(t) {
-          if (('string' != typeof t && (t = String(t)), /[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t)))
-            throw new TypeError('Invalid character in header field name')
-          return t.toLowerCase()
-        }
-        function ml(t) {
-          return 'string' != typeof t && (t = String(t)), t
-        }
-        function bl(t) {
-          var e = {
-            next: function () {
-              var e = t.shift()
-              return { done: void 0 === e, value: e }
-            },
-          }
-          return (
-            ll &&
-              (e[Symbol.iterator] = function () {
-                return e
-              }),
-            e
-          )
-        }
-        function wl(t) {
-          ;(this.map = {}),
-            t instanceof wl
-              ? t.forEach(function (t, e) {
-                  this.append(e, t)
-                }, this)
-              : Array.isArray(t)
-              ? t.forEach(function (t) {
-                  this.append(t[0], t[1])
-                }, this)
-              : t &&
-                Object.getOwnPropertyNames(t).forEach(function (e) {
-                  this.append(e, t[e])
-                }, this)
-        }
-        function Sl(t) {
-          if (t.bodyUsed) return Promise.reject(new TypeError('Already read'))
-          t.bodyUsed = !0
-        }
-        function El(t) {
-          return new Promise(function (e, r) {
-            ;(t.onload = function () {
-              e(t.result)
-            }),
-              (t.onerror = function () {
-                r(t.error)
-              })
-          })
-        }
-        function xl(t) {
-          var e = new FileReader(),
-            r = El(e)
-          return e.readAsArrayBuffer(t), r
-        }
-        function Al(t) {
-          if (t.slice) return t.slice(0)
-          var e = new Uint8Array(t.byteLength)
-          return e.set(new Uint8Array(t)), e.buffer
-        }
-        function Ol() {
-          return (
-            (this.bodyUsed = !1),
-            (this._initBody = function (t) {
-              var e
-              ;(this._bodyInit = t),
-                t
-                  ? 'string' == typeof t
-                    ? (this._bodyText = t)
-                    : hl && Blob.prototype.isPrototypeOf(t)
-                    ? (this._bodyBlob = t)
-                    : pl && FormData.prototype.isPrototypeOf(t)
-                    ? (this._bodyFormData = t)
-                    : fl && URLSearchParams.prototype.isPrototypeOf(t)
-                    ? (this._bodyText = t.toString())
-                    : dl && hl && (e = t) && DataView.prototype.isPrototypeOf(e)
-                    ? ((this._bodyArrayBuffer = Al(t.buffer)),
-                      (this._bodyInit = new Blob([this._bodyArrayBuffer])))
-                    : dl && (ArrayBuffer.prototype.isPrototypeOf(t) || gl(t))
-                    ? (this._bodyArrayBuffer = Al(t))
-                    : (this._bodyText = t = Object.prototype.toString.call(t))
-                  : (this._bodyText = ''),
-                this.headers.get('content-type') ||
-                  ('string' == typeof t
-                    ? this.headers.set('content-type', 'text/plain;charset=UTF-8')
-                    : this._bodyBlob && this._bodyBlob.type
-                    ? this.headers.set('content-type', this._bodyBlob.type)
-                    : fl &&
-                      URLSearchParams.prototype.isPrototypeOf(t) &&
-                      this.headers.set(
-                        'content-type',
-                        'application/x-www-form-urlencoded;charset=UTF-8',
-                      ))
-            }),
-            hl &&
-              ((this.blob = function () {
-                var t = Sl(this)
-                if (t) return t
-                if (this._bodyBlob) return Promise.resolve(this._bodyBlob)
-                if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]))
-                if (this._bodyFormData) throw new Error('could not read FormData body as blob')
-                return Promise.resolve(new Blob([this._bodyText]))
-              }),
-              (this.arrayBuffer = function () {
-                return this._bodyArrayBuffer
-                  ? Sl(this) || Promise.resolve(this._bodyArrayBuffer)
-                  : this.blob().then(xl)
-              })),
-            (this.text = function () {
-              var t = Sl(this)
-              if (t) return t
-              if (this._bodyBlob)
-                return (function (t) {
-                  var e = new FileReader(),
-                    r = El(e)
-                  return e.readAsText(t), r
-                })(this._bodyBlob)
-              if (this._bodyArrayBuffer)
-                return Promise.resolve(
-                  (function (t) {
-                    for (
-                      var e = new Uint8Array(t), r = new Array(e.length), n = 0;
-                      n < e.length;
-                      n++
-                    )
-                      r[n] = String.fromCharCode(e[n])
-                    return r.join('')
-                  })(this._bodyArrayBuffer),
-                )
-              if (this._bodyFormData) throw new Error('could not read FormData body as text')
-              return Promise.resolve(this._bodyText)
-            }),
-            pl &&
-              (this.formData = function () {
-                return this.text().then(Pl)
-              }),
-            (this.json = function () {
-              return this.text().then(JSON.parse)
-            }),
-            this
-          )
-        }
-        ;(wl.prototype.append = function (t, e) {
-          ;(t = yl(t)), (e = ml(e))
-          var r = this.map[t]
-          this.map[t] = r ? r + ', ' + e : e
-        }),
-          (wl.prototype.delete = function (t) {
-            delete this.map[yl(t)]
-          }),
-          (wl.prototype.get = function (t) {
-            return (t = yl(t)), this.has(t) ? this.map[t] : null
-          }),
-          (wl.prototype.has = function (t) {
-            return this.map.hasOwnProperty(yl(t))
-          }),
-          (wl.prototype.set = function (t, e) {
-            this.map[yl(t)] = ml(e)
-          }),
-          (wl.prototype.forEach = function (t, e) {
-            for (var r in this.map) this.map.hasOwnProperty(r) && t.call(e, this.map[r], r, this)
-          }),
-          (wl.prototype.keys = function () {
-            var t = []
-            return (
-              this.forEach(function (e, r) {
-                t.push(r)
-              }),
-              bl(t)
-            )
-          }),
-          (wl.prototype.values = function () {
-            var t = []
-            return (
-              this.forEach(function (e) {
-                t.push(e)
-              }),
-              bl(t)
-            )
-          }),
-          (wl.prototype.entries = function () {
-            var t = []
-            return (
-              this.forEach(function (e, r) {
-                t.push([r, e])
-              }),
-              bl(t)
-            )
-          }),
-          ll && (wl.prototype[Symbol.iterator] = wl.prototype.entries)
-        var Rl = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']
-        function jl(t, e) {
-          var r,
-            n,
-            o = (e = e || {}).body
-          if (t instanceof jl) {
-            if (t.bodyUsed) throw new TypeError('Already read')
-            ;(this.url = t.url),
-              (this.credentials = t.credentials),
-              e.headers || (this.headers = new wl(t.headers)),
-              (this.method = t.method),
-              (this.mode = t.mode),
-              (this.signal = t.signal),
-              o || null == t._bodyInit || ((o = t._bodyInit), (t.bodyUsed = !0))
-          } else this.url = String(t)
-          if (
-            ((this.credentials = e.credentials || this.credentials || 'same-origin'),
-            (!e.headers && this.headers) || (this.headers = new wl(e.headers)),
-            (this.method =
-              ((n = (r = e.method || this.method || 'GET').toUpperCase()),
-              Rl.indexOf(n) > -1 ? n : r)),
-            (this.mode = e.mode || this.mode || null),
-            (this.signal = e.signal || this.signal),
-            (this.referrer = null),
-            ('GET' === this.method || 'HEAD' === this.method) && o)
-          )
-            throw new TypeError('Body not allowed for GET or HEAD requests')
-          this._initBody(o)
-        }
-        function Pl(t) {
-          var e = new FormData()
-          return (
-            t
-              .trim()
-              .split('&')
-              .forEach(function (t) {
-                if (t) {
-                  var r = t.split('='),
-                    n = r.shift().replace(/\+/g, ' '),
-                    o = r.join('=').replace(/\+/g, ' ')
-                  e.append(decodeURIComponent(n), decodeURIComponent(o))
-                }
-              }),
-            e
-          )
-        }
-        function Il(t, e) {
-          e || (e = {}),
-            (this.type = 'default'),
-            (this.status = void 0 === e.status ? 200 : e.status),
-            (this.ok = this.status >= 200 && this.status < 300),
-            (this.statusText = 'statusText' in e ? e.statusText : 'OK'),
-            (this.headers = new wl(e.headers)),
-            (this.url = e.url || ''),
-            this._initBody(t)
-        }
-        ;(jl.prototype.clone = function () {
-          return new jl(this, { body: this._bodyInit })
-        }),
-          Ol.call(jl.prototype),
-          Ol.call(Il.prototype),
-          (Il.prototype.clone = function () {
-            return new Il(this._bodyInit, {
-              status: this.status,
-              statusText: this.statusText,
-              headers: new wl(this.headers),
-              url: this.url,
-            })
-          }),
-          (Il.error = function () {
-            var t = new Il(null, { status: 0, statusText: '' })
-            return (t.type = 'error'), t
-          })
-        var kl = [301, 302, 303, 307, 308]
-        Il.redirect = function (t, e) {
-          if (-1 === kl.indexOf(e)) throw new RangeError('Invalid status code')
-          return new Il(null, { status: e, headers: { location: t } })
-        }
-        var Tl = self.DOMException
-        try {
-          new Tl()
-        } catch (t) {
-          ;((Tl = function (t, e) {
-            ;(this.message = t), (this.name = e)
-            var r = Error(t)
-            this.stack = r.stack
-          }).prototype = Object.create(Error.prototype)),
-            (Tl.prototype.constructor = Tl)
-        }
-        function Ll(t, e) {
-          return new Promise(function (r, n) {
-            var o = new jl(t, e)
-            if (o.signal && o.signal.aborted) return n(new Tl('Aborted', 'AbortError'))
-            var i = new XMLHttpRequest()
-            function a() {
-              i.abort()
-            }
-            ;(i.onload = function () {
-              var t,
-                e,
-                n = {
-                  status: i.status,
-                  statusText: i.statusText,
-                  headers:
-                    ((t = i.getAllResponseHeaders() || ''),
-                    (e = new wl()),
-                    t
-                      .replace(/\r?\n[\t ]+/g, ' ')
-                      .split(/\r?\n/)
-                      .forEach(function (t) {
-                        var r = t.split(':'),
-                          n = r.shift().trim()
-                        if (n) {
-                          var o = r.join(':').trim()
-                          e.append(n, o)
-                        }
-                      }),
-                    e),
-                }
-              ;(n.url = 'responseURL' in i ? i.responseURL : n.headers.get('X-Request-URL')),
-                r(new Il('response' in i ? i.response : i.responseText, n))
-            }),
-              (i.onerror = function () {
-                n(new TypeError('Network request failed'))
-              }),
-              (i.ontimeout = function () {
-                n(new TypeError('Network request failed'))
-              }),
-              (i.onabort = function () {
-                n(new Tl('Aborted', 'AbortError'))
-              }),
-              i.open(o.method, o.url, !0),
-              'include' === o.credentials
-                ? (i.withCredentials = !0)
-                : 'omit' === o.credentials && (i.withCredentials = !1),
-              'responseType' in i && hl && (i.responseType = 'blob'),
-              o.headers.forEach(function (t, e) {
-                i.setRequestHeader(e, t)
-              }),
-              o.signal &&
-                (o.signal.addEventListener('abort', a),
-                (i.onreadystatechange = function () {
-                  4 === i.readyState && o.signal.removeEventListener('abort', a)
-                })),
-              i.send(void 0 === o._bodyInit ? null : o._bodyInit)
-          })
-        }
-        ;(Ll.polyfill = !0),
-          self.fetch ||
-            ((self.fetch = Ll), (self.Headers = wl), (self.Request = jl), (self.Response = Il))
-        var Ul = Object.getOwnPropertySymbols,
-          _l = Object.prototype.hasOwnProperty,
-          Ml = Object.prototype.propertyIsEnumerable
-        function Nl(t) {
-          if (null == t)
-            throw new TypeError('Object.assign cannot be called with null or undefined')
-          return Object(t)
-        }
-        var Cl = (function () {
-          try {
-            if (!Object.assign) return !1
-            var t = new String('abc')
-            if (((t[5] = 'de'), '5' === Object.getOwnPropertyNames(t)[0])) return !1
-            for (var e = {}, r = 0; r < 10; r++) e['_' + String.fromCharCode(r)] = r
-            if (
-              '0123456789' !==
-              Object.getOwnPropertyNames(e)
-                .map(function (t) {
-                  return e[t]
-                })
-                .join('')
-            )
-              return !1
-            var n = {}
-            return (
-              'abcdefghijklmnopqrst'.split('').forEach(function (t) {
-                n[t] = t
-              }),
-              'abcdefghijklmnopqrst' === Object.keys(Object.assign({}, n)).join('')
-            )
-          } catch (t) {
-            return !1
-          }
-        })()
-          ? Object.assign
-          : function (t, e) {
-              for (var r, n, o = Nl(t), i = 1; i < arguments.length; i++) {
-                for (var a in (r = Object(arguments[i]))) _l.call(r, a) && (o[a] = r[a])
-                if (Ul) {
-                  n = Ul(r)
-                  for (var u = 0; u < n.length; u++) Ml.call(r, n[u]) && (o[n[u]] = r[n[u]])
-                }
-              }
-              return o
-            }
-        Object.assign = Cl
-      })()
-    },
-  },
-  function (t) {
-    var e,
-      r = ((e = 62589), t((t.s = e)))
-    _N_E = r
-  },
-])
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[429],{62589:function(t,e,r){"use strict";r(61784)},61784:function(t,e,r){!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof r.g?r.g:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,c={f:s&&!u.call({1:2},1)?function(t){var e=s(this,t);return!!e&&e.enumerable}:u},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},p="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!y(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!y(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,e){return b.call(t,e)},S=o.document,E=y(S)&&y(S.createElement),x=function(t){return E?S.createElement(t):{}},A=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),O=Object.getOwnPropertyDescriptor,R={f:a?O:function(t,e){if(t=g(t),e=m(e,!0),A)try{return O(t,e)}catch(t){}if(w(t,e))return f(!c.f.call(t,e),t[e])}},j=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,I={f:a?P:function(t,e,r){if(j(t),e=m(e,!0),j(r),A)try{return P(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},k=a?function(t,e,r){return I.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},T=function(t,e){try{k(o,t,e)}catch(n){o[t]=e}return e},L="__core-js_shared__",U=o[L]||T(L,{}),_=Function.toString;"function"!=typeof U.inspectSource&&(U.inspectSource=function(t){return _.call(t)});var M,N,C,F=U.inspectSource,B=o.WeakMap,D="function"==typeof B&&/native code/.test(F(B)),q=!1,z=e((function(t){(t.exports=function(t,e){return U[t]||(U[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})})),W=0,K=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+K).toString(36)},$=z("keys"),V=function(t){return $[t]||($[t]=G(t))},H={};if(D){var X=new(0,o.WeakMap),Y=X.get,J=X.has,Q=X.set;M=function(t,e){return Q.call(X,t,e),e},N=function(t){return Y.call(X,t)||{}},C=function(t){return J.call(X,t)}}else{var Z=V("state");H[Z]=!0,M=function(t,e){return k(t,Z,e),e},N=function(t){return w(t,Z)?t[Z]:{}},C=function(t){return w(t,Z)}}var tt,et={set:M,get:N,has:C,enforce:function(t){return C(t)?N(t):M(t,{})},getterFor:function(t){return function(e){var r;if(!y(e)||(r=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=e((function(t){var e=et.get,r=et.enforce,n=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||k(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(u?!c&&t[e]&&(s=!0):delete t[e],s?t[e]=i:k(t,e,i)):s?t[e]=i:T(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),nt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},at=Math.ceil,ut=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ut:at)(t)},ct=Math.min,ft=function(t){return t>0?ct(st(t),9007199254740991):0},lt=Math.max,ht=Math.min,pt=function(t,e){var r=st(t);return r<0?lt(r+e,0):ht(r,e)},dt=function(t){return function(e,r,n){var o,i=g(e),a=ft(i.length),u=pt(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},vt={includes:dt(!0),indexOf:dt(!1)},gt=vt.indexOf,yt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!w(H,r)&&w(n,r)&&i.push(r);for(;e.length>o;)w(n,r=e[o++])&&(~gt(i,r)||i.push(r));return i},mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=mt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},St={f:Object.getOwnPropertySymbols},Et=it("Reflect","ownKeys")||function(t){var e=wt.f(j(t)),r=St.f;return r?e.concat(r(t)):e},xt=function(t,e){for(var r=Et(e),n=I.f,o=R.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||n(t,a,o(e,a))}},At=/#|\.prototype\./,Ot=function(t,e){var r=jt[Rt(t)];return r==It||r!=Pt&&("function"==typeof e?i(e):!!e)},Rt=Ot.normalize=function(t){return String(t).replace(At,".").toLowerCase()},jt=Ot.data={},Pt=Ot.NATIVE="N",It=Ot.POLYFILL="P",kt=Ot,Tt=R.f,Lt=function(t,e){var r,n,i,a,u,s=t.target,c=t.global,f=t.stat;if(r=c?o:f?o[s]||T(s,{}):(o[s]||{}).prototype)for(n in e){if(a=e[n],i=t.noTargetGet?(u=Tt(r,n))&&u.value:r[n],!kt(c?n:s+(f?".":"#")+n,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;xt(a,i)}(t.sham||i&&i.sham)&&k(a,"sham",!0),rt(r,n,a,t)}},Ut=function(t){return Object(v(t))},_t=Math.min,Mt=[].copyWithin||function(t,e){var r=Ut(this),n=ft(r.length),o=pt(t,n),i=pt(e,n),a=arguments.length>2?arguments[2]:void 0,u=_t((void 0===a?n:pt(a,n))-i,n-o),s=1;for(i<o&&o<i+u&&(s=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=s,i+=s;return r},Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ft=z("wks"),Bt=o.Symbol,Dt=Ct?Bt:Bt&&Bt.withoutSetter||G,qt=function(t){return w(Ft,t)||(Ft[t]=Nt&&w(Bt,t)?Bt[t]:Dt("Symbol."+t)),Ft[t]},zt=Object.keys||function(t){return yt(t,mt)},Wt=a?Object.defineProperties:function(t,e){j(t);for(var r,n=zt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Kt=it("document","documentElement"),Gt=V("IE_PROTO"),$t=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},Ht=function(){try{tt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Ht=tt?function(t){t.write(Vt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(tt):((e=x("iframe")).style.display="none",Kt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var r=mt.length;r--;)delete Ht.prototype[mt[r]];return Ht()};H[Gt]=!0;var Xt=Object.create||function(t,e){var r;return null!==t?($t.prototype=j(t),r=new $t,$t.prototype=null,r[Gt]=t):r=Ht(),void 0===e?r:Wt(r,e)},Yt=qt("unscopables"),Jt=Array.prototype;null==Jt[Yt]&&I.f(Jt,Yt,{configurable:!0,value:Xt(null)});var Qt=function(t){Jt[Yt][t]=!0};Lt({target:"Array",proto:!0},{copyWithin:Mt}),Qt("copyWithin");var Zt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},te=function(t,e,r){if(Zt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},ee=Function.call,re=function(t,e,r){return te(ee,o[t].prototype[e],r)};re("Array","copyWithin"),Lt({target:"Array",proto:!0},{fill:function(t){for(var e=Ut(this),r=ft(e.length),n=arguments.length,o=pt(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:pt(i,r);a>o;)e[o++]=t;return e}}),Qt("fill"),re("Array","fill");var ne=Array.isArray||function(t){return"Array"==h(t)},oe=qt("species"),ie=function(t,e){var r;return ne(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!ne(r.prototype)?y(r)&&null===(r=r[oe])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},ae=[].push,ue=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,s,c,f){for(var l,h,p=Ut(u),v=d(p),g=te(s,c,3),y=ft(v.length),m=0,b=f||ie,w=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(h=g(l=v[m],m,p),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:ae.call(w,l)}else if(o)return!1;return i?-1:n||o?o:w}},se={forEach:ue(0),map:ue(1),filter:ue(2),some:ue(3),every:ue(4),find:ue(5),findIndex:ue(6)},ce=Object.defineProperty,fe={},le=function(t){throw t},he=function(t,e){if(w(fe,t))return fe[t];e||(e={});var r=[][t],n=!!w(e,"ACCESSORS")&&e.ACCESSORS,o=w(e,0)?e[0]:le,u=w(e,1)?e[1]:void 0;return fe[t]=!!r&&!i((function(){if(n&&!a)return!0;var t={length:-1};n?ce(t,1,{enumerable:!0,get:le}):t[1]=1,r.call(t,o,u)}))},pe=se.find,de="find",ve=!0,ge=he(de);de in[]&&Array(1).find((function(){ve=!1})),Lt({target:"Array",proto:!0,forced:ve||!ge},{find:function(t){return pe(this,t,arguments.length>1?arguments[1]:void 0)}}),Qt(de),re("Array","find");var ye=se.findIndex,me="findIndex",be=!0,we=he(me);me in[]&&Array(1).findIndex((function(){be=!1})),Lt({target:"Array",proto:!0,forced:be||!we},{findIndex:function(t){return ye(this,t,arguments.length>1?arguments[1]:void 0)}}),Qt(me),re("Array","findIndex");var Se=function t(e,r,n,o,i,a,u,s){for(var c,f=i,l=0,h=!!u&&te(u,s,3);l<o;){if(l in n){if(c=h?h(n[l],l,r):n[l],a>0&&ne(c))f=t(e,r,c,ft(c.length),f,a-1)-1;else{if(f>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[f]=c}f++}l++}return f};Lt({target:"Array",proto:!0},{flatMap:function(t){var e,r=Ut(this),n=ft(r.length);return Zt(t),(e=ie(r,0)).length=Se(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Qt("flatMap"),re("Array","flatMap"),Lt({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Ut(this),r=ft(e.length),n=ie(e,0);return n.length=Se(n,e,e,r,0,void 0===t?1:st(t)),n}}),Qt("flat"),re("Array","flat");var Ee,xe,Ae,Oe=function(t){return function(e,r){var n,o,i=String(v(e)),a=st(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Re={codeAt:Oe(!1),charAt:Oe(!0)},je=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),Pe=V("IE_PROTO"),Ie=Object.prototype,ke=je?Object.getPrototypeOf:function(t){return t=Ut(t),w(t,Pe)?t[Pe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Ie:null},Te=qt("iterator"),Le=!1;[].keys&&("next"in(Ae=[].keys())?(xe=ke(ke(Ae)))!==Object.prototype&&(Ee=xe):Le=!0),null==Ee&&(Ee={}),w(Ee,Te)||k(Ee,Te,(function(){return this}));var Ue={IteratorPrototype:Ee,BUGGY_SAFARI_ITERATORS:Le},_e=I.f,Me=qt("toStringTag"),Ne=function(t,e,r){t&&!w(t=r?t:t.prototype,Me)&&_e(t,Me,{configurable:!0,value:e})},Ce={},Fe=Ue.IteratorPrototype,Be=function(){return this},De=function(t,e,r){var n=e+" Iterator";return t.prototype=Xt(Fe,{next:f(1,r)}),Ne(t,n,!1),Ce[n]=Be,t},qe=function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},ze=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),qe(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),We=Ue.IteratorPrototype,Ke=Ue.BUGGY_SAFARI_ITERATORS,Ge=qt("iterator"),$e="keys",Ve="values",He="entries",Xe=function(){return this},Ye=function(t,e,r,n,o,i,a){De(r,e,n);var u,s,c,f=function(t){if(t===o&&v)return v;if(!Ke&&t in p)return p[t];switch(t){case $e:case Ve:case He:return function(){return new r(this,t)}}return function(){return new r(this)}},l=e+" Iterator",h=!1,p=t.prototype,d=p[Ge]||p["@@iterator"]||o&&p[o],v=!Ke&&d||f(o),g="Array"==e&&p.entries||d;if(g&&(u=ke(g.call(new t)),We!==Object.prototype&&u.next&&(ke(u)!==We&&(ze?ze(u,We):"function"!=typeof u[Ge]&&k(u,Ge,Xe)),Ne(u,l,!0))),o==Ve&&d&&d.name!==Ve&&(h=!0,v=function(){return d.call(this)}),p[Ge]!==v&&k(p,Ge,v),Ce[e]=v,o)if(s={values:f(Ve),keys:i?v:f($e),entries:f(He)},a)for(c in s)(Ke||h||!(c in p))&&rt(p,c,s[c]);else Lt({target:e,proto:!0,forced:Ke||h},s);return s},Je=Re.charAt,Qe="String Iterator",Ze=et.set,tr=et.getterFor(Qe);Ye(String,"String",(function(t){Ze(this,{type:Qe,string:String(t),index:0})}),(function(){var t,e=tr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Je(r,n),e.index+=t.length,{value:t,done:!1})}));var er=function(t,e,r,n){try{return n?e(j(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&j(o.call(t)),e}},rr=qt("iterator"),nr=Array.prototype,or=function(t){return void 0!==t&&(Ce.Array===t||nr[rr]===t)},ir=function(t,e,r){var n=m(e);n in t?I.f(t,n,f(0,r)):t[n]=r},ar={};ar[qt("toStringTag")]="z";var ur="[object z]"===String(ar),sr=qt("toStringTag"),cr="Arguments"==h(function(){return arguments}()),fr=ur?h:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),sr))?r:cr?h(e):"Object"==(n=h(e))&&"function"==typeof e.callee?"Arguments":n},lr=qt("iterator"),hr=function(t){if(null!=t)return t[lr]||t["@@iterator"]||Ce[fr(t)]},pr=function(t){var e,r,n,o,i,a,u=Ut(t),s="function"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=hr(u),p=0;if(l&&(f=te(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&or(h))for(r=new s(e=ft(u.length));e>p;p++)a=l?f(u[p],p):u[p],ir(r,p,a);else for(i=(o=h.call(u)).next,r=new s;!(n=i.call(o)).done;p++)a=l?er(o,f,[n.value,p],!0):n.value,ir(r,p,a);return r.length=p,r},dr=qt("iterator"),vr=!1;try{var gr=0,yr={next:function(){return{done:!!gr++}},return:function(){vr=!0}};yr[dr]=function(){return this},Array.from(yr,(function(){throw 2}))}catch(t){}var mr=function(t,e){if(!e&&!vr)return!1;var r=!1;try{var n={};n[dr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},br=!mr((function(t){Array.from(t)}));Lt({target:"Array",stat:!0,forced:br},{from:pr});var wr=vt.includes,Sr=he("indexOf",{ACCESSORS:!0,1:0});Lt({target:"Array",proto:!0,forced:!Sr},{includes:function(t){return wr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qt("includes"),re("Array","includes");var Er="Array Iterator",xr=et.set,Ar=et.getterFor(Er),Or=Ye(Array,"Array",(function(t,e){xr(this,{type:Er,target:g(t),index:0,kind:e})}),(function(){var t=Ar(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");Ce.Arguments=Ce.Array,Qt("keys"),Qt("values"),Qt("entries"),re("Array","values");var Rr=i((function(){function t(){}return!(Array.of.call(t)instanceof t)}));Lt({target:"Array",stat:!0,forced:Rr},{of:function(){for(var t=0,e=arguments.length,r=new("function"==typeof this?this:Array)(e);e>t;)ir(r,t,arguments[t++]);return r.length=e,r}});var jr=qt("hasInstance"),Pr=Function.prototype;jr in Pr||I.f(Pr,jr,{value:function(t){if("function"!=typeof this||!y(t))return!1;if(!y(this.prototype))return t instanceof this;for(;t=ke(t);)if(this.prototype===t)return!0;return!1}}),qt("hasInstance");var Ir=Function.prototype,kr=Ir.toString,Tr=/^\s*function ([^ (]*)/,Lr="name";a&&!(Lr in Ir)&&(0,I.f)(Ir,Lr,{configurable:!0,get:function(){try{return kr.call(this).match(Tr)[1]}catch(t){return""}}});var Ur=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),_r=e((function(t){var e=I.f,r=G("meta"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!y(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,r)){if(!o(t))return"F";if(!e)return"E";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!w(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Ur&&a.REQUIRED&&o(t)&&!w(t,r)&&i(t),t}};H[r]=!0})),Mr=e((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,o,i){var a,u,s,c,f,l,h,p=te(r,n,o?2:1);if(i)a=t;else{if("function"!=typeof(u=hr(t)))throw TypeError("Target is not iterable");if(or(u)){for(s=0,c=ft(t.length);c>s;s++)if((f=o?p(j(h=t[s])[0],h[1]):p(t[s]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(f=er(a,p,h.value,o))&&f&&f instanceof e)return f;return new e(!1)}).stop=function(t){return new e(!0,t)}})),Nr=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},Cr=function(t,e,r){var n,o;return ze&&"function"==typeof(n=e.constructor)&&n!==r&&y(o=n.prototype)&&o!==r.prototype&&ze(t,o),t},Fr=function(t,e,r){var n=-1!==t.indexOf("Map"),a=-1!==t.indexOf("Weak"),u=n?"set":"add",s=o[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=c[t];rt(c,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return a&&!y(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(kt(t,"function"!=typeof s||!(a||c.forEach&&!i((function(){(new s).entries().next()})))))f=r.getConstructor(e,t,n,u),_r.REQUIRED=!0;else if(kt(t,!0)){var p=new f,d=p[u](a?{}:-0,1)!=p,v=i((function(){p.has(1)})),g=mr((function(t){new s(t)})),m=!a&&i((function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((f=e((function(e,r){Nr(e,f,t);var o=Cr(new s,e,f);return null!=r&&Mr(r,o[u],o,n),o}))).prototype=c,c.constructor=f),(v||m)&&(h("delete"),h("has"),n&&h("get")),(m||d)&&h(u),a&&c.clear&&delete c.clear}return l[t]=f,Lt({global:!0,forced:f!=s},l),Ne(f,t),a||r.setStrong(f,t,n),f},Br=function(t,e,r){for(var n in e)rt(t,n,e[n],r);return t},Dr=qt("species"),qr=function(t){var e=it(t);a&&e&&!e[Dr]&&(0,I.f)(e,Dr,{configurable:!0,get:function(){return this}})},zr=I.f,Wr=_r.fastKey,Kr=et.set,Gr=et.getterFor,$r={getConstructor:function(t,e,r,n){var o=t((function(t,i){Nr(t,o,e),Kr(t,{type:e,index:Xt(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Mr(i,t[n],t,r)})),i=Gr(e),u=function(t,e,r){var n,o,u=i(t),c=s(t,e);return c?c.value=r:(u.last=c={index:o=Wr(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),a?u.size++:t.size++,"F"!==o&&(u.index[o]=c)),t},s=function(t,e){var r,n=i(t),o=Wr(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return Br(o.prototype,{clear:function(){for(var t=i(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var e=this,r=i(e),n=s(e,t);if(n){var o=n.next,u=n.previous;delete r.index[n.index],n.removed=!0,u&&(u.next=o),o&&(o.previous=u),r.first==n&&(r.first=o),r.last==n&&(r.last=u),a?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=i(this),n=te(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),Br(o.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&zr(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=Gr(e),i=Gr(n);Ye(t,e,(function(t,e){Kr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),r?"entries":"values",!r,!0),qr(e)}},Vr=Fr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),$r);ur||rt(Object.prototype,"toString",ur?{}.toString:function(){return"[object "+fr(this)+"]"},{unsafe:!0});var Hr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Xr=qt("iterator"),Yr=qt("toStringTag"),Jr=Or.values;for(var Qr in Hr){var Zr=o[Qr],tn=Zr&&Zr.prototype;if(tn){if(tn[Xr]!==Jr)try{k(tn,Xr,Jr)}catch(t){tn[Xr]=Jr}if(tn[Yr]||k(tn,Yr,Qr),Hr[Qr])for(var en in Or)if(tn[en]!==Or[en])try{k(tn,en,Or[en])}catch(t){tn[en]=Or[en]}}}var rn=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return Zt(this),(e=void 0!==a)&&Zt(a),null==t?new this:(r=[],e?(n=0,o=te(a,i>2?arguments[2]:void 0,2),Mr(t,(function(t){r.push(o(t,n++))}))):Mr(t,r.push,r),new this(r))};Lt({target:"Map",stat:!0},{from:rn});var nn=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};Lt({target:"Map",stat:!0},{of:nn});var on=function(){for(var t,e=j(this),r=Zt(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};Lt({target:"Map",proto:!0,real:!0,forced:q},{deleteAll:function(){return on.apply(this,arguments)}});var an=function(t){var e=hr(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return j(e.call(t))},un=function(t){return Map.prototype.entries.call(t)};Lt({target:"Map",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return!Mr(r,(function(t,r){if(!n(r,t,e))return Mr.stop()}),void 0,!0,!0).stopped}});var sn=qt("species"),cn=function(t,e){var r,n=j(t).constructor;return void 0===n||null==(r=j(n)[sn])?e:Zt(r)};Lt({target:"Map",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3),o=new(cn(e,it("Map"))),i=Zt(o.set);return Mr(r,(function(t,r){n(r,t,e)&&i.call(o,t,r)}),void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return Mr(r,(function(t,r){if(n(r,t,e))return Mr.stop(r)}),void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{findKey:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return Mr(r,(function(t,r){if(n(r,t,e))return Mr.stop(t)}),void 0,!0,!0).result}}),Lt({target:"Map",stat:!0},{groupBy:function(t,e){var r=new this;Zt(e);var n=Zt(r.has),o=Zt(r.get),i=Zt(r.set);return Mr(t,(function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])})),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{includes:function(t){return Mr(un(j(this)),(function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Mr.stop();var n,o}),void 0,!0,!0).stopped}}),Lt({target:"Map",stat:!0},{keyBy:function(t,e){var r=new this;Zt(e);var n=Zt(r.set);return Mr(t,(function(t){n.call(r,e(t),t)})),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{keyOf:function(t){return Mr(un(j(this)),(function(e,r){if(r===t)return Mr.stop(e)}),void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapKeys:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3),o=new(cn(e,it("Map"))),i=Zt(o.set);return Mr(r,(function(t,r){i.call(o,n(r,t,e),r)}),void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapValues:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3),o=new(cn(e,it("Map"))),i=Zt(o.set);return Mr(r,(function(t,r){i.call(o,t,n(r,t,e))}),void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{merge:function(t){for(var e=j(this),r=Zt(e.set),n=0;n<arguments.length;)Mr(arguments[n++],r,e,!0);return e}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=un(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Zt(t),Mr(r,(function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)}),void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=un(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return Mr(r,(function(t,r){if(n(r,t,e))return Mr.stop()}),void 0,!0,!0).stopped}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{update:function(t,e){var r=j(this),n=arguments.length;Zt(e);var o=r.has(t);if(!o&&n<3)throw TypeError("Updating absent value");var i=o?r.get(t):Zt(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var fn=function(t,e){var r,n=j(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof e&&"function"!=typeof o)throw TypeError("At least one callback required");return n.has(t)?(r=n.get(t),"function"==typeof e&&(r=e(r),n.set(t,r))):"function"==typeof o&&(r=o(),n.set(t,r)),r};Lt({target:"Map",proto:!0,real:!0,forced:q},{upsert:fn}),Lt({target:"Map",proto:!0,real:!0,forced:q},{updateOrInsert:fn});var ln="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff",hn="["+ln+"]",pn=RegExp("^"+hn+hn+"*"),dn=RegExp(hn+hn+"*$"),vn=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(pn,"")),2&t&&(r=r.replace(dn,"")),r}},gn={start:vn(1),end:vn(2),trim:vn(3)},yn=wt.f,mn=R.f,bn=I.f,wn=gn.trim,Sn="Number",En=o.Number,xn=En.prototype,An=h(Xt(xn))==Sn,On=function(t){var e,r,n,o,i,a,u,s,c=m(t,!1);if("string"==typeof c&&c.length>2)if(43===(e=(c=wn(c)).charCodeAt(0))||45===e){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;u<a;u++)if((s=i.charCodeAt(u))<48||s>o)return NaN;return parseInt(i,n)}return+c};if(kt(Sn,!En(" 0o1")||!En("0b1")||En("+0x1"))){for(var Rn,jn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof jn&&(An?i((function(){xn.valueOf.call(r)})):h(r)!=Sn)?Cr(new En(On(e)),r,jn):On(e)},Pn=a?yn(En):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),In=0;Pn.length>In;In++)w(En,Rn=Pn[In])&&!w(jn,Rn)&&bn(jn,Rn,mn(En,Rn));jn.prototype=xn,xn.constructor=jn,rt(o,Sn,jn)}Lt({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)});var kn=o.isFinite;Lt({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&kn(t)}});var Tn=Math.floor,Ln=function(t){return!y(t)&&isFinite(t)&&Tn(t)===t};Lt({target:"Number",stat:!0},{isInteger:Ln}),Lt({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Un=Math.abs;Lt({target:"Number",stat:!0},{isSafeInteger:function(t){return Ln(t)&&Un(t)<=9007199254740991}}),Lt({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Lt({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var _n=gn.trim,Mn=o.parseFloat,Nn=1/Mn(ln+"-0")!=-1/0?function(t){var e=_n(String(t)),r=Mn(e);return 0===r&&"-"==e.charAt(0)?-0:r}:Mn;Lt({target:"Number",stat:!0,forced:Number.parseFloat!=Nn},{parseFloat:Nn});var Cn=gn.trim,Fn=o.parseInt,Bn=/^[+-]?0[Xx]/,Dn=8!==Fn(ln+"08")||22!==Fn(ln+"0x16")?function(t,e){var r=Cn(String(t));return Fn(r,e>>>0||(Bn.test(r)?16:10))}:Fn;Lt({target:"Number",stat:!0,forced:Number.parseInt!=Dn},{parseInt:Dn});var qn=c.f,zn=function(t){return function(e){for(var r,n=g(e),o=zt(n),i=o.length,u=0,s=[];i>u;)r=o[u++],a&&!qn.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},Wn={entries:zn(!0),values:zn(!1)},Kn=Wn.entries;Lt({target:"Object",stat:!0},{entries:function(t){return Kn(t)}}),Lt({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var e,r,n=g(t),o=R.f,i=Et(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&ir(a,e,r);return a}});var Gn=i((function(){zt(1)}));Lt({target:"Object",stat:!0,forced:Gn},{keys:function(t){return zt(Ut(t))}});var $n=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Lt({target:"Object",stat:!0},{is:$n});var Vn=Wn.values;Lt({target:"Object",stat:!0},{values:function(t){return Vn(t)}});var Hn=it("Reflect","apply"),Xn=Function.apply,Yn=!i((function(){Hn((function(){}))}));Lt({target:"Reflect",stat:!0,forced:Yn},{apply:function(t,e,r){return Zt(t),j(r),Hn?Hn(t,e,r):Xn.call(t,e,r)}});var Jn=[].slice,Qn={},Zn=function(t,e,r){if(!(e in Qn)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";Qn[e]=Function("C,a","return new C("+n.join(",")+")")}return Qn[e](t,r)},to=Function.bind||function(t){var e=Zt(this),r=Jn.call(arguments,1),n=function(){var o=r.concat(Jn.call(arguments));return this instanceof n?Zn(e,o.length,o):e.apply(t,o)};return y(e.prototype)&&(n.prototype=e.prototype),n},eo=it("Reflect","construct"),ro=i((function(){function t(){}return!(eo((function(){}),[],t)instanceof t)})),no=!i((function(){eo((function(){}))})),oo=ro||no;Lt({target:"Reflect",stat:!0,forced:oo,sham:oo},{construct:function(t,e){Zt(t),j(e);var r=arguments.length<3?t:Zt(arguments[2]);if(no&&!ro)return eo(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(to.apply(t,n))}var o=r.prototype,i=Xt(y(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return y(a)?a:i}});var io=i((function(){Reflect.defineProperty(I.f({},1,{value:1}),1,{value:2})}));Lt({target:"Reflect",stat:!0,forced:io,sham:!a},{defineProperty:function(t,e,r){j(t);var n=m(e,!0);j(r);try{return I.f(t,n,r),!0}catch(t){return!1}}});var ao=R.f;Lt({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=ao(j(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Lt({target:"Reflect",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return j(e)===i?e[r]:(n=R.f(e,r))?w(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):y(o=ke(e))?t(o,r,i):void 0}}),Lt({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(t,e){return R.f(j(t),e)}}),Lt({target:"Reflect",stat:!0,sham:!je},{getPrototypeOf:function(t){return ke(j(t))}}),Lt({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var uo=Object.isExtensible;Lt({target:"Reflect",stat:!0},{isExtensible:function(t){return j(t),!uo||uo(t)}}),Lt({target:"Reflect",stat:!0},{ownKeys:Et}),Lt({target:"Reflect",stat:!0,sham:!Ur},{preventExtensions:function(t){j(t);try{var e=it("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var so=i((function(){var t=I.f({},"a",{configurable:!0});return!1!==Reflect.set(ke(t),"a",1,t)}));Lt({target:"Reflect",stat:!0,forced:so},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=R.f(j(e),r);if(!u){if(y(i=ke(e)))return t(i,r,n,a);u=f(0)}if(w(u,"value")){if(!1===u.writable||!y(a))return!1;if(o=R.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,I.f(a,r,o)}else I.f(a,r,f(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),ze&&Lt({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){j(t),qe(e);try{return ze(t,e),!0}catch(t){return!1}}});var co=_r.getWeakData,fo=et.set,lo=et.getterFor,ho=se.find,po=se.findIndex,vo=0,go=function(t){return t.frozen||(t.frozen=new yo)},yo=function(){this.entries=[]},mo=function(t,e){return ho(t.entries,(function(t){return t[0]===e}))};yo.prototype={get:function(t){var e=mo(this,t);if(e)return e[1]},has:function(t){return!!mo(this,t)},set:function(t,e){var r=mo(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=po(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var bo={getConstructor:function(t,e,r,n){var o=t((function(t,i){Nr(t,o,e),fo(t,{type:e,id:vo++,frozen:void 0}),null!=i&&Mr(i,t[n],t,r)})),i=lo(e),a=function(t,e,r){var n=i(t),o=co(j(e),!0);return!0===o?go(n).set(e,r):o[n.id]=r,t};return Br(o.prototype,{delete:function(t){var e=i(this);if(!y(t))return!1;var r=co(t);return!0===r?go(e).delete(t):r&&w(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!y(t))return!1;var r=co(t);return!0===r?go(e).has(t):r&&w(r,e.id)}}),Br(o.prototype,r?{get:function(t){var e=i(this);if(y(t)){var r=co(t);return!0===r?go(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},wo=e((function(t){var e,r=et.enforce,n=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Fr("WeakMap",a,bo);if(D&&n){e=bo.getConstructor(a,"WeakMap",!0),_r.REQUIRED=!0;var s=u.prototype,c=s.delete,f=s.has,l=s.get,h=s.set;Br(s,{delete:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),c.call(this,t)||n.frozen.delete(t)}return c.call(this,t)},has:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(y(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}})),So=z("metadata"),Eo=So.store||(So.store=new wo),xo=function(t,e,r){var n=Eo.get(t);if(!n){if(!r)return;Eo.set(t,n=new Vr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Vr)}return o},Ao={store:Eo,getMap:xo,has:function(t,e,r){var n=xo(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=xo(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){xo(r,n,!0).set(t,e)},keys:function(t,e){var r=xo(t,e,!1),n=[];return r&&r.forEach((function(t,e){n.push(e)})),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}},Oo=Ao.toKey,Ro=Ao.set;Lt({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:Oo(arguments[3]);Ro(t,e,j(r),n)}});var jo=Ao.toKey,Po=Ao.getMap,Io=Ao.store;Lt({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:jo(arguments[2]),n=Po(j(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=Io.get(e);return o.delete(r),!!o.size||Io.delete(e)}});var ko=Ao.has,To=Ao.get,Lo=Ao.toKey,Uo=function t(e,r,n){if(ko(e,r,n))return To(e,r,n);var o=ke(r);return null!==o?t(e,o,n):void 0};Lt({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:Lo(arguments[2]);return Uo(t,j(e),r)}});var _o=Fr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),$r),Mo=Ao.keys,No=Ao.toKey,Co=function t(e,r){var n=Mo(e,r),o=ke(e);if(null===o)return n;var i,a,u=t(o,r);return u.length?n.length?(i=new _o(n.concat(u)),Mr(i,(a=[]).push,a),a):u:n};Lt({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:No(arguments[1]);return Co(j(t),e)}});var Fo=Ao.get,Bo=Ao.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Bo(arguments[2]);return Fo(t,j(e),r)}});var Do=Ao.keys,qo=Ao.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:qo(arguments[1]);return Do(j(t),e)}});var zo=Ao.has,Wo=Ao.toKey,Ko=function t(e,r,n){if(zo(e,r,n))return!0;var o=ke(r);return null!==o&&t(e,o,n)};Lt({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:Wo(arguments[2]);return Ko(t,j(e),r)}});var Go=Ao.has,$o=Ao.toKey;Lt({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:$o(arguments[2]);return Go(t,j(e),r)}});var Vo=Ao.toKey,Ho=Ao.set;Lt({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){Ho(t,e,j(r),Vo(n))}}});var Xo=qt("match"),Yo=function(t){var e;return y(t)&&(void 0!==(e=t[Xo])?!!e:"RegExp"==h(t))},Jo=function(){var t=j(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Qo(t,e){return RegExp(t,e)}var Zo={UNSUPPORTED_Y:i((function(){var t=Qo("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Qo("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},ti=I.f,ei=wt.f,ri=et.set,ni=qt("match"),oi=o.RegExp,ii=oi.prototype,ai=/a/g,ui=/a/g,si=new oi(ai)!==ai,ci=Zo.UNSUPPORTED_Y;if(a&&kt("RegExp",!si||ci||i((function(){return ui[ni]=!1,oi(ai)!=ai||oi(ui)==ui||"/a/i"!=oi(ai,"i")})))){for(var fi=function(t,e){var r,n=this instanceof fi,o=Yo(t),i=void 0===e;if(!n&&o&&t.constructor===fi&&i)return t;si?o&&!i&&(t=t.source):t instanceof fi&&(i&&(e=Jo.call(t)),t=t.source),ci&&(r=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var a=Cr(si?new oi(t,e):oi(t,e),n?this:ii,fi);return ci&&r&&ri(a,{sticky:r}),a},li=function(t){t in fi||ti(fi,t,{configurable:!0,get:function(){return oi[t]},set:function(e){oi[t]=e}})},hi=ei(oi),pi=0;hi.length>pi;)li(hi[pi++]);ii.constructor=fi,fi.prototype=ii,rt(o,"RegExp",fi)}qr("RegExp");var di="toString",vi=RegExp.prototype,gi=vi.toString;(i((function(){return"/a/b"!=gi.call({source:"a",flags:"b"})}))||gi.name!=di)&&rt(RegExp.prototype,di,(function(){var t=j(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in vi)?Jo.call(t):r)}),{unsafe:!0});var yi=RegExp.prototype.exec,mi=String.prototype.replace,bi=yi,wi=function(){var t=/a/,e=/b*/g;return yi.call(t,"a"),yi.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Si=Zo.UNSUPPORTED_Y||Zo.BROKEN_CARET,Ei=void 0!==/()??/.exec("")[1];(wi||Ei||Si)&&(bi=function(t){var e,r,n,o,i=this,a=Si&&i.sticky,u=Jo.call(i),s=i.source,c=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(s="(?: "+s+")",f=" "+f,c++),r=new RegExp("^(?:"+s+")",u)),Ei&&(r=new RegExp("^"+s+"$(?!\\s)",u)),wi&&(e=i.lastIndex),n=yi.call(a?r:i,f),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:wi&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ei&&n&&n.length>1&&mi.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var xi=bi;Lt({target:"RegExp",proto:!0,forced:/./.exec!==xi},{exec:xi}),a&&("g"!=/./g.flags||Zo.UNSUPPORTED_Y)&&I.f(RegExp.prototype,"flags",{configurable:!0,get:Jo});var Ai=et.get,Oi=RegExp.prototype;a&&Zo.UNSUPPORTED_Y&&(0,I.f)(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==Oi){if(this instanceof RegExp)return!!Ai(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}});var Ri,ji,Pi=(Ri=!1,(ji=/[ac]/).exec=function(){return Ri=!0,/./.exec.apply(this,arguments)},!0===ji.test("abc")&&Ri),Ii=/./.test;Lt({target:"RegExp",proto:!0,forced:!Pi},{test:function(t){if("function"!=typeof this.exec)return Ii.call(this,t);var e=this.exec(t);if(null!==e&&!y(e))throw new Error("RegExp exec method returned something other than an Object or null");return!!e}});var ki=qt("species"),Ti=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Li="$0"==="a".replace(/./,"$0"),Ui=qt("replace"),_i=!!/./[Ui]&&""===/./[Ui]("a","$0"),Mi=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Ni=function(t,e,r,n){var o=qt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=a&&!i((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[ki]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return e=!0,null},r[o](""),!e}));if(!a||!u||"replace"===t&&(!Ti||!Li||_i)||"split"===t&&!Mi){var s=/./[o],c=r(o,""[t],(function(t,e,r,n,o){return e.exec===xi?a&&!o?{done:!0,value:s.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Li,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:_i}),f=c[1];rt(String.prototype,t,c[0]),rt(RegExp.prototype,o,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&k(RegExp.prototype[o],"sham",!0)},Ci=Re.charAt,Fi=function(t,e,r){return e+(r?Ci(t,e).length:1)},Bi=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==h(t))throw TypeError("RegExp#exec called on incompatible receiver");return xi.call(t,e)};Ni("match",1,(function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this);if(!o.global)return Bi(o,i);var a=o.unicode;o.lastIndex=0;for(var u,s=[],c=0;null!==(u=Bi(o,i));){var f=String(u[0]);s[c]=f,""===f&&(o.lastIndex=Fi(i,ft(o.lastIndex),a)),c++}return 0===c?null:s}]}));var Di=Math.max,qi=Math.min,zi=Math.floor,Wi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Ki=/\$([$&'`]|\d\d?)/g;Ni("replace",2,(function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?"$":"$0";return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||"string"==typeof n&&-1===n.indexOf(a)){var s=r(e,t,this,n);if(s.done)return s.value}var c=j(t),f=String(this),l="function"==typeof n;l||(n=String(n));var h=c.global;if(h){var p=c.unicode;c.lastIndex=0}for(var d=[];;){var v=Bi(c,f);if(null===v)break;if(d.push(v),!h)break;""===String(v[0])&&(c.lastIndex=Fi(f,ft(c.lastIndex),p))}for(var g,y="",m=0,b=0;b<d.length;b++){v=d[b];for(var w=String(v[0]),S=Di(qi(st(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var A=v.groups;if(l){var O=[w].concat(E,S,f);void 0!==A&&O.push(A);var R=String(n.apply(void 0,O))}else R=u(w,f,S,E,A,n);S>=m&&(y+=f.slice(m,S)+R,m=S+w.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,s=o.length,c=Ki;return void 0!==i&&(i=Ut(i),c=Wi),e.call(a,c,(function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=zi(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?"":c}))}})),Ni("search",1,(function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this),a=o.lastIndex;$n(a,0)||(o.lastIndex=0);var u=Bi(o,i);return $n(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]}));var Gi=[].push,$i=Math.min,Vi=4294967295,Hi=!i((function(){return!RegExp(Vi,"y")}));Ni("split",2,(function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(v(this)),o=void 0===r?Vi:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Yo(t))return e.call(n,t,o);for(var i,a,u,s=[],c=0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(i=xi.call(f,n))&&!((a=f.lastIndex)>c&&(s.push(n.slice(c,i.index)),i.length>1&&i.index<n.length&&Gi.apply(s,i.slice(1)),u=i[0].length,c=a,s.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return c===n.length?!u&&f.test("")||s.push(""):s.push(n.slice(c)),s.length>o?s.slice(0,o):s}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=v(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=j(t),u=String(this),s=cn(a,RegExp),c=a.unicode,f=new s(Hi?a:"^(?:"+a.source+")",(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Hi?"y":"g")),l=void 0===o?Vi:o>>>0;if(0===l)return[];if(0===u.length)return null===Bi(f,u)?[u]:[];for(var h=0,p=0,d=[];p<u.length;){f.lastIndex=Hi?p:0;var v,g=Bi(f,Hi?u:u.slice(p));if(null===g||(v=$i(ft(f.lastIndex+(Hi?0:p)),u.length))===h)p=Fi(u,p,c);else{if(d.push(u.slice(h,p)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;p=h=v}}return d.push(u.slice(h)),d}]}),!Hi),Lt({target:"Set",stat:!0},{from:rn}),Lt({target:"Set",stat:!0},{of:nn});var Xi=function(){for(var t=j(this),e=Zt(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};Lt({target:"Set",proto:!0,real:!0,forced:q},{addAll:function(){return Xi.apply(this,arguments)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{deleteAll:function(){return on.apply(this,arguments)}});var Yi=function(t){return Set.prototype.values.call(t)};Lt({target:"Set",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=Yi(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return!Mr(r,(function(t){if(!n(t,t,e))return Mr.stop()}),void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{difference:function(t){var e=j(this),r=new(cn(e,it("Set")))(e),n=Zt(r.delete);return Mr(t,(function(t){n.call(r,t)})),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=Yi(e),n=te(t,arguments.length>1?arguments[1]:void 0,3),o=new(cn(e,it("Set"))),i=Zt(o.add);return Mr(r,(function(t){n(t,t,e)&&i.call(o,t)}),void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=Yi(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return Mr(r,(function(t){if(n(t,t,e))return Mr.stop(t)}),void 0,!1,!0).result}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{intersection:function(t){var e=j(this),r=new(cn(e,it("Set"))),n=Zt(e.has),o=Zt(r.add);return Mr(t,(function(t){n.call(e,t)&&o.call(r,t)})),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isDisjointFrom:function(t){var e=j(this),r=Zt(e.has);return!Mr(t,(function(t){if(!0===r.call(e,t))return Mr.stop()})).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSubsetOf:function(t){var e=an(this),r=j(t),n=r.has;return"function"!=typeof n&&(r=new(it("Set"))(t),n=Zt(r.has)),!Mr(e,(function(t){if(!1===n.call(r,t))return Mr.stop()}),void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSupersetOf:function(t){var e=j(this),r=Zt(e.has);return!Mr(t,(function(t){if(!1===r.call(e,t))return Mr.stop()})).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{join:function(t){var e=j(this),r=Yi(e),n=void 0===t?",":String(t),o=[];return Mr(r,o.push,o,!1,!0),o.join(n)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{map:function(t){var e=j(this),r=Yi(e),n=te(t,arguments.length>1?arguments[1]:void 0,3),o=new(cn(e,it("Set"))),i=Zt(o.add);return Mr(r,(function(t){i.call(o,n(t,t,e))}),void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=Yi(e),n=arguments.length<2,o=n?void 0:arguments[1];if(Zt(t),Mr(r,(function(r){n?(n=!1,o=r):o=t(o,r,r,e)}),void 0,!1,!0),n)throw TypeError("Reduce of empty set with no initial value");return o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=Yi(e),n=te(t,arguments.length>1?arguments[1]:void 0,3);return Mr(r,(function(t){if(n(t,t,e))return Mr.stop()}),void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{symmetricDifference:function(t){var e=j(this),r=new(cn(e,it("Set")))(e),n=Zt(r.delete),o=Zt(r.add);return Mr(t,(function(t){n.call(r,t)||o.call(r,t)})),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{union:function(t){var e=j(this),r=new(cn(e,it("Set")))(e);return Mr(t,Zt(r.add),r),r}});var Ji,Qi,Zi=it("navigator","userAgent")||"",ta=o.process,ea=ta&&ta.versions,ra=ea&&ea.v8;ra?Qi=(Ji=ra.split("."))[0]+Ji[1]:Zi&&(!(Ji=Zi.match(/Edge\/(\d+)/))||Ji[1]>=74)&&(Ji=Zi.match(/Chrome\/(\d+)/))&&(Qi=Ji[1]);var na=Qi&&+Qi,oa=qt("species"),ia=qt("isConcatSpreadable"),aa=9007199254740991,ua="Maximum allowed index exceeded",sa=na>=51||!i((function(){var t=[];return t[ia]=!1,t.concat()[0]!==t})),ca=na>=51||!i((function(){var t=[];return(t.constructor={})[oa]=function(){return{foo:1}},1!==t.concat(Boolean).foo})),fa=function(t){if(!y(t))return!1;var e=t[ia];return void 0!==e?!!e:ne(t)};Lt({target:"Array",proto:!0,forced:!sa||!ca},{concat:function(t){var e,r,n,o,i,a=Ut(this),u=ie(a,0),s=0;for(e=-1,n=arguments.length;e<n;e++)if(fa(i=-1===e?a:arguments[e])){if(s+(o=ft(i.length))>aa)throw TypeError(ua);for(r=0;r<o;r++,s++)r in i&&ir(u,s,i[r])}else{if(s>=aa)throw TypeError(ua);ir(u,s++,i)}return u.length=s,u}});var la=wt.f,ha={}.toString,pa="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],da={f:function(t){return pa&&"[object Window]"==ha.call(t)?function(t){try{return la(t)}catch(t){return pa.slice()}}(t):la(g(t))}},va={f:qt},ga=I.f,ya=function(t){var e=nt.Symbol||(nt.Symbol={});w(e,t)||ga(e,t,{value:va.f(t)})},ma=se.forEach,ba=V("hidden"),wa="Symbol",Sa=qt("toPrimitive"),Ea=et.set,xa=et.getterFor(wa),Aa=Object.prototype,Oa=o.Symbol,Ra=it("JSON","stringify"),ja=R.f,Pa=I.f,Ia=da.f,ka=c.f,Ta=z("symbols"),La=z("op-symbols"),Ua=z("string-to-symbol-registry"),_a=z("symbol-to-string-registry"),Ma=z("wks"),Na=o.QObject,Ca=!Na||!Na.prototype||!Na.prototype.findChild,Fa=a&&i((function(){return 7!=Xt(Pa({},"a",{get:function(){return Pa(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=ja(Aa,e);n&&delete Aa[e],Pa(t,e,r),n&&t!==Aa&&Pa(Aa,e,n)}:Pa,Ba=function(t,e){var r=Ta[t]=Xt(Oa.prototype);return Ea(r,{type:wa,tag:t,description:e}),a||(r.description=e),r},Da=Ct?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Oa},qa=function(t,e,r){t===Aa&&qa(La,e,r),j(t);var n=m(e,!0);return j(r),w(Ta,n)?(r.enumerable?(w(t,ba)&&t[ba][n]&&(t[ba][n]=!1),r=Xt(r,{enumerable:f(0,!1)})):(w(t,ba)||Pa(t,ba,f(1,{})),t[ba][n]=!0),Fa(t,n,r)):Pa(t,n,r)},za=function(t,e){j(t);var r=g(e),n=zt(r).concat($a(r));return ma(n,(function(e){a&&!Wa.call(r,e)||qa(t,e,r[e])})),t},Wa=function(t){var e=m(t,!0),r=ka.call(this,e);return!(this===Aa&&w(Ta,e)&&!w(La,e))&&(!(r||!w(this,e)||!w(Ta,e)||w(this,ba)&&this[ba][e])||r)},Ka=function(t,e){var r=g(t),n=m(e,!0);if(r!==Aa||!w(Ta,n)||w(La,n)){var o=ja(r,n);return!o||!w(Ta,n)||w(r,ba)&&r[ba][n]||(o.enumerable=!0),o}},Ga=function(t){var e=Ia(g(t)),r=[];return ma(e,(function(t){w(Ta,t)||w(H,t)||r.push(t)})),r},$a=function(t){var e=t===Aa,r=Ia(e?La:g(t)),n=[];return ma(r,(function(t){!w(Ta,t)||e&&!w(Aa,t)||n.push(Ta[t])})),n};if(Nt||(rt((Oa=function(){if(this instanceof Oa)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=G(t),r=function t(r){this===Aa&&t.call(La,r),w(this,ba)&&w(this[ba],e)&&(this[ba][e]=!1),Fa(this,e,f(1,r))};return a&&Ca&&Fa(Aa,e,{configurable:!0,set:r}),Ba(e,t)}).prototype,"toString",(function(){return xa(this).tag})),rt(Oa,"withoutSetter",(function(t){return Ba(G(t),t)})),c.f=Wa,I.f=qa,R.f=Ka,wt.f=da.f=Ga,St.f=$a,va.f=function(t){return Ba(qt(t),t)},a&&(Pa(Oa.prototype,"description",{configurable:!0,get:function(){return xa(this).description}}),rt(Aa,"propertyIsEnumerable",Wa,{unsafe:!0}))),Lt({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Oa}),ma(zt(Ma),(function(t){ya(t)})),Lt({target:wa,stat:!0,forced:!Nt},{for:function(t){var e=String(t);if(w(Ua,e))return Ua[e];var r=Oa(e);return Ua[e]=r,_a[r]=e,r},keyFor:function(t){if(!Da(t))throw TypeError(t+" is not a symbol");if(w(_a,t))return _a[t]},useSetter:function(){Ca=!0},useSimple:function(){Ca=!1}}),Lt({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,e){return void 0===e?Xt(t):za(Xt(t),e)},defineProperty:qa,defineProperties:za,getOwnPropertyDescriptor:Ka}),Lt({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:Ga,getOwnPropertySymbols:$a}),Lt({target:"Object",stat:!0,forced:i((function(){St.f(1)}))},{getOwnPropertySymbols:function(t){return St.f(Ut(t))}}),Ra){var Va=!Nt||i((function(){var t=Oa();return"[null]"!=Ra([t])||"{}"!=Ra({a:t})||"{}"!=Ra(Object(t))}));Lt({target:"JSON",stat:!0,forced:Va},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(y(e)||void 0!==t)&&!Da(t))return ne(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Da(e))return e}),o[1]=e,Ra.apply(null,o)}})}Oa.prototype[Sa]||k(Oa.prototype,Sa,Oa.prototype.valueOf),Ne(Oa,wa),H[ba]=!0,ya("asyncIterator");var Ha=I.f,Xa=o.Symbol;if(a&&"function"==typeof Xa&&(!("description"in Xa.prototype)||void 0!==Xa().description)){var Ya={},Ja=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Ja?new Xa(t):void 0===t?Xa():Xa(t);return""===t&&(Ya[e]=!0),e};xt(Ja,Xa);var Qa=Ja.prototype=Xa.prototype;Qa.constructor=Ja;var Za=Qa.toString,tu="Symbol(test)"==String(Xa("test")),eu=/^Symbol\((.*)\)[^)]+$/;Ha(Qa,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,e=Za.call(t);if(w(Ya,t))return"";var r=tu?e.slice(7,-1):e.replace(eu,"$1");return""===r?void 0:r}}),Lt({global:!0,forced:!0},{Symbol:Ja})}ya("hasInstance"),ya("isConcatSpreadable"),ya("iterator"),ya("match"),ya("matchAll"),ya("replace"),ya("search"),ya("species"),ya("split"),ya("toPrimitive"),ya("toStringTag"),ya("unscopables"),Ne(Math,"Math",!0),Ne(o.JSON,"JSON",!0),ya("asyncDispose"),ya("dispose"),ya("observable"),ya("patternMatch"),ya("replaceAll"),va.f("asyncIterator");var ru=Re.codeAt;Lt({target:"String",proto:!0},{codePointAt:function(t){return ru(this,t)}}),re("String","codePointAt");var nu,ou=function(t){if(Yo(t))throw TypeError("The method doesn't accept regular expressions");return t},iu=qt("match"),au=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[iu]=!1,"/./"[t](e)}catch(t){}}return!1},uu=R.f,su="".endsWith,cu=Math.min,fu=au("endsWith"),lu=!(fu||(nu=uu(String.prototype,"endsWith"),!nu||nu.writable));Lt({target:"String",proto:!0,forced:!lu&&!fu},{endsWith:function(t){var e=String(v(this));ou(t);var r=arguments.length>1?arguments[1]:void 0,n=ft(e.length),o=void 0===r?n:cu(ft(r),n),i=String(t);return su?su.call(e,i,o):e.slice(o-i.length,o)===i}}),re("String","endsWith");var hu=String.fromCharCode,pu=String.fromCodePoint;Lt({target:"String",stat:!0,forced:!!pu&&1!=pu.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],pt(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?hu(e):hu(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}}),Lt({target:"String",proto:!0,forced:!au("includes")},{includes:function(t){return!!~String(v(this)).indexOf(ou(t),arguments.length>1?arguments[1]:void 0)}}),re("String","includes");var du="".repeat||function(t){var e=String(v(this)),r="",n=st(t);if(n<0||1/0==n)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},vu=Math.ceil,gu=function(t){return function(e,r,n){var o,i,a=String(v(e)),u=a.length,s=void 0===n?" ":String(n),c=ft(r);return c<=u||""==s?a:((i=du.call(s,vu((o=c-u)/s.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},yu={start:gu(!1),end:gu(!0)},mu=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(Zi),bu=yu.start;Lt({target:"String",proto:!0,forced:mu},{padStart:function(t){return bu(this,t,arguments.length>1?arguments[1]:void 0)}}),re("String","padStart");var wu=yu.end;Lt({target:"String",proto:!0,forced:mu},{padEnd:function(t){return wu(this,t,arguments.length>1?arguments[1]:void 0)}}),re("String","padEnd"),Lt({target:"String",stat:!0},{raw:function(t){for(var e=g(t.raw),r=ft(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join("")}}),Lt({target:"String",proto:!0},{repeat:du}),re("String","repeat");var Su=R.f,Eu="".startsWith,xu=Math.min,Au=au("startsWith"),Ou=!Au&&!!function(){var t=Su(String.prototype,"startsWith");return t&&!t.writable}();Lt({target:"String",proto:!0,forced:!Ou&&!Au},{startsWith:function(t){var e=String(v(this));ou(t);var r=ft(xu(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return Eu?Eu.call(e,n,r):e.slice(r,r+n.length)===n}}),re("String","startsWith");var Ru=function(t){return i((function(){return!!ln[t]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[t]()||ln[t].name!==t}))},ju=gn.start,Pu=Ru("trimStart"),Iu=Pu?function(){return ju(this)}:"".trimStart;Lt({target:"String",proto:!0,forced:Pu},{trimStart:Iu,trimLeft:Iu}),re("String","trimLeft");var ku=gn.end,Tu=Ru("trimEnd"),Lu=Tu?function(){return ku(this)}:"".trimEnd;Lt({target:"String",proto:!0,forced:Tu},{trimEnd:Lu,trimRight:Lu}),re("String","trimRight");var Uu=qt("iterator"),_u=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,r="";return t.pathname="c%20d",e.forEach((function(t,n){e.delete("b"),r+=n+t})),!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Uu]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://\u0442\u0435\u0441\u0442").host||"#%D0%B1"!==new URL("http://a#\u0431").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host})),Mu=Object.assign,Nu=Object.defineProperty,Cu=!Mu||i((function(){if(a&&1!==Mu({b:1},Mu(Nu({},"a",{enumerable:!0,get:function(){Nu(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach((function(t){e[t]=t})),7!=Mu({},t)[r]||zt(Mu({},e)).join("")!=n}))?function(t,e){for(var r=Ut(t),n=arguments.length,o=1,i=St.f,u=c.f;n>o;)for(var s,f=d(arguments[o++]),l=i?zt(f).concat(i(f)):zt(f),h=l.length,p=0;h>p;)s=l[p++],a&&!u.call(f,s)||(r[s]=f[s]);return r}:Mu,Fu=2147483647,Bu=/[^\0-\u007E]/,Du=/[.\u3002\uFF0E\uFF61]/g,qu="Overflow: input needs wider integers to process",zu=Math.floor,Wu=String.fromCharCode,Ku=function(t){return t+22+75*(t<26)},Gu=function(t,e,r){var n=0;for(t=r?zu(t/700):t>>1,t+=zu(t/e);t>455;n+=36)t=zu(t/35);return zu(n+36*t/(t+38))},$u=function(t){var e,r,n=[],o=(t=function(t){for(var e=[],r=0,n=t.length;r<n;){var o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=t.charCodeAt(r++);56320==(64512&i)?e.push(((1023&o)<<10)+(1023&i)+65536):(e.push(o),r--)}else e.push(o)}return e}(t)).length,i=128,a=0,u=72;for(e=0;e<t.length;e++)(r=t[e])<128&&n.push(Wu(r));var s=n.length,c=s;for(s&&n.push("-");c<o;){var f=Fu;for(e=0;e<t.length;e++)(r=t[e])>=i&&r<f&&(f=r);var l=c+1;if(f-i>zu((Fu-a)/l))throw RangeError(qu);for(a+=(f-i)*l,i=f,e=0;e<t.length;e++){if((r=t[e])<i&&++a>Fu)throw RangeError(qu);if(r==i){for(var h=a,p=36;;p+=36){var d=p<=u?1:p>=u+26?26:p-u;if(h<d)break;var v=h-d,g=36-d;n.push(Wu(Ku(d+v%g))),h=zu(v/g)}n.push(Wu(Ku(h))),u=Gu(a,l,c==s),a=0,++c}}++a,++i}return n.join("")},Vu=it("fetch"),Hu=it("Headers"),Xu=qt("iterator"),Yu="URLSearchParams",Ju="URLSearchParamsIterator",Qu=et.set,Zu=et.getterFor(Yu),ts=et.getterFor(Ju),es=/\+/g,rs=Array(4),ns=function(t){return rs[t-1]||(rs[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},os=function(t){try{return decodeURIComponent(t)}catch(e){return t}},is=function(t){var e=t.replace(es," "),r=4;try{return decodeURIComponent(e)}catch(t){for(;r;)e=e.replace(ns(r--),os);return e}},as=/[!'()~]|%20/g,us={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ss=function(t){return us[t]},cs=function(t){return encodeURIComponent(t).replace(as,ss)},fs=function(t,e){if(e)for(var r,n,o=e.split("&"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split("="),t.push({key:is(n.shift()),value:is(n.join("="))}))},ls=function(t){this.entries.length=0,fs(this.entries,t)},hs=function(t,e){if(t<e)throw TypeError("Not enough arguments")},ps=De((function(t,e){Qu(this,{type:Ju,iterator:an(Zu(t).entries),kind:e})}),"Iterator",(function(){var t=ts(this),e=t.kind,r=t.iterator.next(),n=r.value;return r.done||(r.value="keys"===e?n.key:"values"===e?n.value:[n.key,n.value]),r})),ds=function(){Nr(this,ds,Yu);var t,e,r,n,o,i,a,u,s,c=arguments.length>0?arguments[0]:void 0,f=this,l=[];if(Qu(f,{type:Yu,entries:l,updateURL:function(){},updateSearchParams:ls}),void 0!==c)if(y(c))if("function"==typeof(t=hr(c)))for(r=(e=t.call(c)).next;!(n=r.call(e)).done;){if((a=(i=(o=an(j(n.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(s in c)w(c,s)&&l.push({key:s,value:c[s]+""});else fs(l,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:c+"")},vs=ds.prototype;Br(vs,{append:function(t,e){hs(arguments.length,2);var r=Zu(this);r.entries.push({key:t+"",value:e+""}),r.updateURL()},delete:function(t){hs(arguments.length,1);for(var e=Zu(this),r=e.entries,n=t+"",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;e.updateURL()},get:function(t){hs(arguments.length,1);for(var e=Zu(this).entries,r=t+"",n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){hs(arguments.length,1);for(var e=Zu(this).entries,r=t+"",n=[],o=0;o<e.length;o++)e[o].key===r&&n.push(e[o].value);return n},has:function(t){hs(arguments.length,1);for(var e=Zu(this).entries,r=t+"",n=0;n<e.length;)if(e[n++].key===r)return!0;return!1},set:function(t,e){hs(arguments.length,1);for(var r,n=Zu(this),o=n.entries,i=!1,a=t+"",u=e+"",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=u));i||o.push({key:a,value:u}),n.updateURL()},sort:function(){var t,e,r,n=Zu(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(t=i[r],e=0;e<r;e++)if(o[e].key>t.key){o.splice(e,0,t);break}e===r&&o.push(t)}n.updateURL()},forEach:function(t){for(var e,r=Zu(this).entries,n=te(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((e=r[o++]).value,e.key,this)},keys:function(){return new ps(this,"keys")},values:function(){return new ps(this,"values")},entries:function(){return new ps(this,"entries")}},{enumerable:!0}),rt(vs,Xu,vs.entries),rt(vs,"toString",(function(){for(var t,e=Zu(this).entries,r=[],n=0;n<e.length;)t=e[n++],r.push(cs(t.key)+"="+cs(t.value));return r.join("&")}),{enumerable:!0}),Ne(ds,Yu),Lt({global:!0,forced:!_u},{URLSearchParams:ds}),_u||"function"!=typeof Vu||"function"!=typeof Hu||Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var e,r,n,o=[t];return arguments.length>1&&(y(e=arguments[1])&&fr(r=e.body)===Yu&&((n=e.headers?new Hu(e.headers):new Hu).has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),e=Xt(e,{body:f(0,String(r)),headers:f(0,n)})),o.push(e)),Vu.apply(this,o)}});var gs,ys={URLSearchParams:ds,getState:Zu},ms=Re.codeAt,bs=o.URL,ws=ys.URLSearchParams,Ss=ys.getState,Es=et.set,xs=et.getterFor("URL"),As=Math.floor,Os=Math.pow,Rs="Invalid scheme",js="Invalid host",Ps="Invalid port",Is=/[A-Za-z]/,ks=/[\d+-.A-Za-z]/,Ts=/\d/,Ls=/^(0x|0X)/,Us=/^[0-7]+$/,_s=/^\d+$/,Ms=/^[\dA-Fa-f]+$/,Ns=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,Cs=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Fs=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Bs=/[\u0009\u000A\u000D]/g,Ds=function(t,e){var r,n,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return js;if(!(r=zs(e.slice(1,-1))))return js;t.host=r}else if(Ys(t)){if(e=function(t){var e,r,n=[],o=t.toLowerCase().replace(Du,".").split(".");for(e=0;e<o.length;e++)n.push(Bu.test(r=o[e])?"xn--"+$u(r):r);return n.join(".")}(e),Ns.test(e))return js;if(null===(r=qs(e)))return js;t.host=r}else{if(Cs.test(e))return js;for(r="",n=pr(e),o=0;o<n.length;o++)r+=Hs(n[o],Ks);t.host=r}},qs=function(t){var e,r,n,o,i,a,u,s=t.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(e=s.length)>4)return t;for(r=[],n=0;n<e;n++){if(""==(o=s[n]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=Ls.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?_s:8==i?Us:Ms).test(o))return t;a=parseInt(o,i)}r.push(a)}for(n=0;n<e;n++)if(a=r[n],n==e-1){if(a>=Os(256,5-e))return null}else if(a>255)return null;for(u=r.pop(),n=0;n<r.length;n++)u+=r[n]*Os(256,3-n);return u},zs=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,f=++c}for(;h();){if(8==c)return;if(":"!=h()){for(e=r=0;r<4&&Ms.test(h());)e=16*e+parseInt(h(),16),l++,r++;if("."==h()){if(0==r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."==h()&&n<4))return;l++}if(!Ts.test(h()))return;for(;Ts.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!=c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!=c)return;return s},Ws=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)e.unshift(t%256),t=As(t/256);return e.join(".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(e=n,r=o),e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=t[r].toString(16),r<7&&(e+=":")));return"["+e+"]"}return t},Ks={},Gs=Cu({},Ks,{" ":1,'"':1,"<":1,">":1,"`":1}),$s=Cu({},Gs,{"#":1,"?":1,"{":1,"}":1}),Vs=Cu({},$s,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Hs=function(t,e){var r=ms(t,0);return r>32&&r<127&&!w(e,t)?t:encodeURIComponent(t)},Xs={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Ys=function(t){return w(Xs,t.scheme)},Js=function(t){return""!=t.username||""!=t.password},Qs=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Zs=function(t,e){var r;return 2==t.length&&Is.test(t.charAt(0))&&(":"==(r=t.charAt(1))||!e&&"|"==r)},tc=function(t){var e;return t.length>1&&Zs(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},ec=function(t){var e=t.path,r=e.length;!r||"file"==t.scheme&&1==r&&Zs(e[0],!0)||e.pop()},rc=function(t){return"."===t||"%2e"===t.toLowerCase()},nc={},oc={},ic={},ac={},uc={},sc={},cc={},fc={},lc={},hc={},pc={},dc={},vc={},gc={},yc={},mc={},bc={},wc={},Sc={},Ec={},xc={},Ac=function(t,e,r,n){var o,i,a,u,s,c=r||nc,f=0,l="",h=!1,p=!1,d=!1;for(r||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(Fs,"")),e=e.replace(Bs,""),o=pr(e);f<=o.length;){switch(i=o[f],c){case nc:if(!i||!Is.test(i)){if(r)return Rs;c=ic;continue}l+=i.toLowerCase(),c=oc;break;case oc:if(i&&(ks.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(r)return Rs;l="",c=ic,f=0;continue}if(r&&(Ys(t)!=w(Xs,l)||"file"==l&&(Js(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,r)return void(Ys(t)&&Xs[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?c=gc:Ys(t)&&n&&n.scheme==t.scheme?c=ac:Ys(t)?c=fc:"/"==o[f+1]?(c=uc,f++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Sc)}break;case ic:if(!n||n.cannotBeABaseURL&&"#"!=i)return Rs;if(n.cannotBeABaseURL&&"#"==i){t.scheme=n.scheme,t.path=n.path.slice(),t.query=n.query,t.fragment="",t.cannotBeABaseURL=!0,c=xc;break}c="file"==n.scheme?gc:sc;continue;case ac:if("/"!=i||"/"!=o[f+1]){c=sc;continue}c=lc,f++;break;case uc:if("/"==i){c=hc;break}c=wc;continue;case sc:if(t.scheme=n.scheme,i==gs)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query;else if("/"==i||"\\"==i&&Ys(t))c=cc;else if("?"==i)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query="",c=Ec;else{if("#"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.path.pop(),c=wc;continue}t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=xc}break;case cc:if(!Ys(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,c=wc;continue}c=hc}else c=lc;break;case fc:if(c=lc,"/"!=i||"/"!=l.charAt(f+1))continue;f++;break;case lc:if("/"!=i&&"\\"!=i){c=hc;continue}break;case hc:if("@"==i){h&&(l="%40"+l),h=!0,a=pr(l);for(var v=0;v<a.length;v++){var g=a[v];if(":"!=g||d){var y=Hs(g,Vs);d?t.password+=y:t.username+=y}else d=!0}l=""}else if(i==gs||"/"==i||"?"==i||"#"==i||"\\"==i&&Ys(t)){if(h&&""==l)return"Invalid authority";f-=pr(l).length+1,l="",c=pc}else l+=i;break;case pc:case dc:if(r&&"file"==t.scheme){c=mc;continue}if(":"!=i||p){if(i==gs||"/"==i||"?"==i||"#"==i||"\\"==i&&Ys(t)){if(Ys(t)&&""==l)return js;if(r&&""==l&&(Js(t)||null!==t.port))return;if(u=Ds(t,l))return u;if(l="",c=bc,r)return;continue}"["==i?p=!0:"]"==i&&(p=!1),l+=i}else{if(""==l)return js;if(u=Ds(t,l))return u;if(l="",c=vc,r==dc)return}break;case vc:if(!Ts.test(i)){if(i==gs||"/"==i||"?"==i||"#"==i||"\\"==i&&Ys(t)||r){if(""!=l){var m=parseInt(l,10);if(m>65535)return Ps;t.port=Ys(t)&&m===Xs[t.scheme]?null:m,l=""}if(r)return;c=bc;continue}return Ps}l+=i;break;case gc:if(t.scheme="file","/"==i||"\\"==i)c=yc;else{if(!n||"file"!=n.scheme){c=wc;continue}if(i==gs)t.host=n.host,t.path=n.path.slice(),t.query=n.query;else if("?"==i)t.host=n.host,t.path=n.path.slice(),t.query="",c=Ec;else{if("#"!=i){tc(o.slice(f).join(""))||(t.host=n.host,t.path=n.path.slice(),ec(t)),c=wc;continue}t.host=n.host,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=xc}}break;case yc:if("/"==i||"\\"==i){c=mc;break}n&&"file"==n.scheme&&!tc(o.slice(f).join(""))&&(Zs(n.path[0],!0)?t.path.push(n.path[0]):t.host=n.host),c=wc;continue;case mc:if(i==gs||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&Zs(l))c=wc;else if(""==l){if(t.host="",r)return;c=bc}else{if(u=Ds(t,l))return u;if("localhost"==t.host&&(t.host=""),r)return;l="",c=bc}continue}l+=i;break;case bc:if(Ys(t)){if(c=wc,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=gs&&(c=wc,"/"!=i))continue}else t.fragment="",c=xc;else t.query="",c=Ec;break;case wc:if(i==gs||"/"==i||"\\"==i&&Ys(t)||!r&&("?"==i||"#"==i)){if(".."===(s=(s=l).toLowerCase())||"%2e."===s||".%2e"===s||"%2e%2e"===s?(ec(t),"/"==i||"\\"==i&&Ys(t)||t.path.push("")):rc(l)?"/"==i||"\\"==i&&Ys(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Zs(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==gs||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",c=Ec):"#"==i&&(t.fragment="",c=xc)}else l+=Hs(i,$s);break;case Sc:"?"==i?(t.query="",c=Ec):"#"==i?(t.fragment="",c=xc):i!=gs&&(t.path[0]+=Hs(i,Ks));break;case Ec:r||"#"!=i?i!=gs&&("'"==i&&Ys(t)?t.query+="%27":t.query+="#"==i?"%23":Hs(i,Ks)):(t.fragment="",c=xc);break;case xc:i!=gs&&(t.fragment+=Hs(i,Gs))}f++}},Oc=function(t){var e,r,n=Nr(this,Oc,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=Es(n,{type:"URL"});if(void 0!==o)if(o instanceof Oc)e=xs(o);else if(r=Ac(e={},String(o)))throw TypeError(r);if(r=Ac(u,i,null,e))throw TypeError(r);var s=u.searchParams=new ws,c=Ss(s);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(s)||null},a||(n.href=jc.call(n),n.origin=Pc.call(n),n.protocol=Ic.call(n),n.username=kc.call(n),n.password=Tc.call(n),n.host=Lc.call(n),n.hostname=Uc.call(n),n.port=_c.call(n),n.pathname=Mc.call(n),n.search=Nc.call(n),n.searchParams=Cc.call(n),n.hash=Fc.call(n))},Rc=Oc.prototype,jc=function(){var t=xs(this),e=t.scheme,r=t.username,n=t.password,o=t.host,i=t.port,a=t.path,u=t.query,s=t.fragment,c=e+":";return null!==o?(c+="//",Js(t)&&(c+=r+(n?":"+n:"")+"@"),c+=Ws(o),null!==i&&(c+=":"+i)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(c+="?"+u),null!==s&&(c+="#"+s),c},Pc=function(){var t=xs(this),e=t.scheme,r=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(t){return"null"}return"file"!=e&&Ys(t)?e+"://"+Ws(t.host)+(null!==r?":"+r:""):"null"},Ic=function(){return xs(this).scheme+":"},kc=function(){return xs(this).username},Tc=function(){return xs(this).password},Lc=function(){var t=xs(this),e=t.host,r=t.port;return null===e?"":null===r?Ws(e):Ws(e)+":"+r},Uc=function(){var t=xs(this).host;return null===t?"":Ws(t)},_c=function(){var t=xs(this).port;return null===t?"":String(t)},Mc=function(){var t=xs(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},Nc=function(){var t=xs(this).query;return t?"?"+t:""},Cc=function(){return xs(this).searchParams},Fc=function(){var t=xs(this).fragment;return t?"#"+t:""},Bc=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(a&&Wt(Rc,{href:Bc(jc,(function(t){var e=xs(this),r=String(t),n=Ac(e,r);if(n)throw TypeError(n);Ss(e.searchParams).updateSearchParams(e.query)})),origin:Bc(Pc),protocol:Bc(Ic,(function(t){var e=xs(this);Ac(e,String(t)+":",nc)})),username:Bc(kc,(function(t){var e=xs(this),r=pr(String(t));if(!Qs(e)){e.username="";for(var n=0;n<r.length;n++)e.username+=Hs(r[n],Vs)}})),password:Bc(Tc,(function(t){var e=xs(this),r=pr(String(t));if(!Qs(e)){e.password="";for(var n=0;n<r.length;n++)e.password+=Hs(r[n],Vs)}})),host:Bc(Lc,(function(t){var e=xs(this);e.cannotBeABaseURL||Ac(e,String(t),pc)})),hostname:Bc(Uc,(function(t){var e=xs(this);e.cannotBeABaseURL||Ac(e,String(t),dc)})),port:Bc(_c,(function(t){var e=xs(this);Qs(e)||(""==(t=String(t))?e.port=null:Ac(e,t,vc))})),pathname:Bc(Mc,(function(t){var e=xs(this);e.cannotBeABaseURL||(e.path=[],Ac(e,t+"",bc))})),search:Bc(Nc,(function(t){var e=xs(this);""==(t=String(t))?e.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),e.query="",Ac(e,t,Ec)),Ss(e.searchParams).updateSearchParams(e.query)})),searchParams:Bc(Cc),hash:Bc(Fc,(function(t){var e=xs(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),e.fragment="",Ac(e,t,xc)):e.fragment=null}))}),rt(Rc,"toJSON",(function(){return jc.call(this)}),{enumerable:!0}),rt(Rc,"toString",(function(){return jc.call(this)}),{enumerable:!0}),bs){var Dc=bs.createObjectURL,qc=bs.revokeObjectURL;Dc&&rt(Oc,"createObjectURL",(function(t){return Dc.apply(bs,arguments)})),qc&&rt(Oc,"revokeObjectURL",(function(t){return qc.apply(bs,arguments)}))}Ne(Oc,"URL"),Lt({global:!0,forced:!_u,sham:!a},{URL:Oc}),Lt({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}}),Lt({target:"WeakMap",stat:!0},{from:rn}),Lt({target:"WeakMap",stat:!0},{of:nn}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{deleteAll:function(){return on.apply(this,arguments)}}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{upsert:fn}),Fr("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),bo),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{addAll:function(){return Xi.apply(this,arguments)}}),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{deleteAll:function(){return on.apply(this,arguments)}}),Lt({target:"WeakSet",stat:!0},{from:rn}),Lt({target:"WeakSet",stat:!0},{of:nn});var zc,Wc,Kc,Gc=o.Promise,$c=/(iphone|ipod|ipad).*applewebkit/i.test(Zi),Vc=o.location,Hc=o.setImmediate,Xc=o.clearImmediate,Yc=o.process,Jc=o.MessageChannel,Qc=o.Dispatch,Zc=0,tf={},ef=function(t){if(tf.hasOwnProperty(t)){var e=tf[t];delete tf[t],e()}},rf=function(t){return function(){ef(t)}},nf=function(t){ef(t.data)},of=function(t){o.postMessage(t+"",Vc.protocol+"//"+Vc.host)};Hc&&Xc||(Hc=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return tf[++Zc]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},zc(Zc),Zc},Xc=function(t){delete tf[t]},"process"==h(Yc)?zc=function(t){Yc.nextTick(rf(t))}:Qc&&Qc.now?zc=function(t){Qc.now(rf(t))}:Jc&&!$c?(Kc=(Wc=new Jc).port2,Wc.port1.onmessage=nf,zc=te(Kc.postMessage,Kc,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(of)||"file:"===Vc.protocol?zc="onreadystatechange"in x("script")?function(t){Kt.appendChild(x("script")).onreadystatechange=function(){Kt.removeChild(this),ef(t)}}:function(t){setTimeout(rf(t),0)}:(zc=of,o.addEventListener("message",nf,!1)));var af,uf,sf,cf,ff,lf,hf,pf,df={set:Hc,clear:Xc},vf=R.f,gf=df.set,yf=o.MutationObserver||o.WebKitMutationObserver,mf=o.process,bf=o.Promise,wf="process"==h(mf),Sf=vf(o,"queueMicrotask"),Ef=Sf&&Sf.value;Ef||(af=function(){var t,e;for(wf&&(t=mf.domain)&&t.exit();uf;){e=uf.fn,uf=uf.next;try{e()}catch(t){throw uf?cf():sf=void 0,t}}sf=void 0,t&&t.enter()},wf?cf=function(){mf.nextTick(af)}:yf&&!$c?(ff=!0,lf=document.createTextNode(""),new yf(af).observe(lf,{characterData:!0}),cf=function(){lf.data=ff=!ff}):bf&&bf.resolve?(hf=bf.resolve(void 0),pf=hf.then,cf=function(){pf.call(hf,af)}):cf=function(){gf.call(o,af)});var xf,Af,Of,Rf,jf=Ef||function(t){var e={fn:t,next:void 0};sf&&(sf.next=e),uf||(uf=e,cf()),sf=e},Pf=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n})),this.resolve=Zt(e),this.reject=Zt(r)},If={f:function(t){return new Pf(t)}},kf=function(t,e){if(j(t),y(e)&&e.constructor===t)return e;var r=If.f(t);return(0,r.resolve)(e),r.promise},Tf=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Lf=df.set,Uf=qt("species"),_f="Promise",Mf=et.get,Nf=et.set,Cf=et.getterFor(_f),Ff=Gc,Bf=o.TypeError,Df=o.document,qf=o.process,zf=it("fetch"),Wf=If.f,Kf=Wf,Gf="process"==h(qf),$f=!!(Df&&Df.createEvent&&o.dispatchEvent),Vf="unhandledrejection",Hf=kt(_f,(function(){if(F(Ff)===String(Ff)){if(66===na)return!0;if(!Gf&&"function"!=typeof PromiseRejectionEvent)return!0}if(na>=51&&/native code/.test(Ff))return!1;var t=Ff.resolve(1),e=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Uf]=e,!(t.then((function(){}))instanceof e)})),Xf=Hf||!mr((function(t){Ff.all(t).catch((function(){}))})),Yf=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},Jf=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;jf((function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&el(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(Bf("Promise-chain cycle")):(s=Yf(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&Zf(t,e)}))}},Qf=function(t,e,r){var n,i;$f?((n=Df.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),o.dispatchEvent(n)):n={promise:e,reason:r},(i=o["on"+t])?i(n):t===Vf&&function(t,e){var r=o.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}("Unhandled promise rejection",r)},Zf=function(t,e){Lf.call(o,(function(){var r,n=e.value;if(tl(e)&&(r=Tf((function(){Gf?qf.emit("unhandledRejection",n,t):Qf(Vf,t,n)})),e.rejection=Gf||tl(e)?2:1,r.error))throw r.value}))},tl=function(t){return 1!==t.rejection&&!t.parent},el=function(t,e){Lf.call(o,(function(){Gf?qf.emit("rejectionHandled",t):Qf("rejectionhandled",t,e.value)}))},rl=function(t,e,r,n){return function(o){t(e,r,o,n)}},nl=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,Jf(t,e,!0))},ol=function t(e,r,n,o){if(!r.done){r.done=!0,o&&(r=o);try{if(e===n)throw Bf("Promise can't be resolved itself");var i=Yf(n);i?jf((function(){var o={done:!1};try{i.call(n,rl(t,e,o,r),rl(nl,e,o,r))}catch(t){nl(e,o,t,r)}})):(r.value=n,r.state=1,Jf(e,r,!1))}catch(t){nl(e,{done:!1},t,r)}}};Hf&&(Ff=function(t){Nr(this,Ff,_f),Zt(t),xf.call(this);var e=Mf(this);try{t(rl(ol,this,e),rl(nl,this,e))}catch(t){nl(this,e,t)}},(xf=function(t){Nf(this,{type:_f,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Br(Ff.prototype,{then:function(t,e){var r=Cf(this),n=Wf(cn(this,Ff));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=Gf?qf.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&Jf(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Af=function(){var t=new xf,e=Mf(t);this.promise=t,this.resolve=rl(ol,t,e),this.reject=rl(nl,t,e)},If.f=Wf=function(t){return t===Ff||t===Of?new Af(t):Kf(t)},"function"==typeof Gc&&(Rf=Gc.prototype.then,rt(Gc.prototype,"then",(function(t,e){var r=this;return new Ff((function(t,e){Rf.call(r,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof zf&&Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return kf(Ff,zf.apply(o,arguments))}}))),Lt({global:!0,wrap:!0,forced:Hf},{Promise:Ff}),Ne(Ff,_f,!1),qr(_f),Of=it(_f),Lt({target:_f,stat:!0,forced:Hf},{reject:function(t){var e=Wf(this);return e.reject.call(void 0,t),e.promise}}),Lt({target:_f,stat:!0,forced:Hf},{resolve:function(t){return kf(this,t)}}),Lt({target:_f,stat:!0,forced:Xf},{all:function(t){var e=this,r=Wf(e),n=r.resolve,o=r.reject,i=Tf((function(){var r=Zt(e.resolve),i=[],a=0,u=1;Mr(t,(function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then((function(t){c||(c=!0,i[s]=t,--u||n(i))}),o)})),--u||n(i)}));return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=Wf(e),n=r.reject,o=Tf((function(){var o=Zt(e.resolve);Mr(t,(function(t){o.call(e,t).then(r.resolve,n)}))}));return o.error&&n(o.value),r.promise}}),Lt({target:"Promise",stat:!0},{allSettled:function(t){var e=this,r=If.f(e),n=r.resolve,o=r.reject,i=Tf((function(){var r=Zt(e.resolve),o=[],i=0,a=1;Mr(t,(function(t){var u=i++,s=!1;o.push(void 0),a++,r.call(e,t).then((function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))}),(function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))}))})),--a||n(o)}));return i.error&&o(i.value),r.promise}});var il=!!Gc&&i((function(){Gc.prototype.finally.call({then:function(){}},(function(){}))}));Lt({target:"Promise",proto:!0,real:!0,forced:il},{finally:function(t){var e=cn(this,it("Promise")),r="function"==typeof t;return this.then(r?function(r){return kf(e,t()).then((function(){return r}))}:t,r?function(r){return kf(e,t()).then((function(){throw r}))}:t)}}),"function"!=typeof Gc||Gc.prototype.finally||rt(Gc.prototype,"finally",it("Promise").prototype.finally);var al=et.set,ul=et.getterFor("AggregateError"),sl=function(t,e){var r=this;if(!(r instanceof sl))return new sl(t,e);ze&&(r=ze(new Error(e),ke(r)));var n=[];return Mr(t,n.push,n),a?al(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==e&&k(r,"message",String(e)),r};sl.prototype=Xt(Error.prototype,{constructor:f(5,sl),message:f(5,""),name:f(5,"AggregateError")}),a&&I.f(sl.prototype,"errors",{get:function(){return ul(this).errors},configurable:!0}),Lt({global:!0},{AggregateError:sl}),Lt({target:"Promise",stat:!0},{try:function(t){var e=If.f(this),r=Tf(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}});var cl="No one promise resolved";Lt({target:"Promise",stat:!0},{any:function(t){var e=this,r=If.f(e),n=r.resolve,o=r.reject,i=Tf((function(){var r=Zt(e.resolve),i=[],a=0,u=1,s=!1;Mr(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,r.call(e,t).then((function(t){f||s||(s=!0,n(t))}),(function(t){f||s||(f=!0,i[c]=t,--u||o(new(it("AggregateError"))(i,cl)))}))})),--u||o(new(it("AggregateError"))(i,cl))}));return i.error&&o(i.value),r.promise}}),re("Promise","finally");var fl="URLSearchParams"in self,ll="Symbol"in self&&"iterator"in Symbol,hl="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),pl="FormData"in self,dl="ArrayBuffer"in self;if(dl)var vl=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],gl=ArrayBuffer.isView||function(t){return t&&vl.indexOf(Object.prototype.toString.call(t))>-1};function yl(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function ml(t){return"string"!=typeof t&&(t=String(t)),t}function bl(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return ll&&(e[Symbol.iterator]=function(){return e}),e}function wl(t){this.map={},t instanceof wl?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function Sl(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function El(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function xl(t){var e=new FileReader,r=El(e);return e.readAsArrayBuffer(t),r}function Al(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function Ol(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:hl&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:pl&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:fl&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():dl&&hl&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Al(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):dl&&(ArrayBuffer.prototype.isPrototypeOf(t)||gl(t))?this._bodyArrayBuffer=Al(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):fl&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},hl&&(this.blob=function(){var t=Sl(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Sl(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(xl)}),this.text=function(){var t=Sl(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=El(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},pl&&(this.formData=function(){return this.text().then(Pl)}),this.json=function(){return this.text().then(JSON.parse)},this}wl.prototype.append=function(t,e){t=yl(t),e=ml(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},wl.prototype.delete=function(t){delete this.map[yl(t)]},wl.prototype.get=function(t){return t=yl(t),this.has(t)?this.map[t]:null},wl.prototype.has=function(t){return this.map.hasOwnProperty(yl(t))},wl.prototype.set=function(t,e){this.map[yl(t)]=ml(e)},wl.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},wl.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),bl(t)},wl.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),bl(t)},wl.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),bl(t)},ll&&(wl.prototype[Symbol.iterator]=wl.prototype.entries);var Rl=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function jl(t,e){var r,n,o=(e=e||{}).body;if(t instanceof jl){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new wl(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new wl(e.headers)),this.method=(n=(r=e.method||this.method||"GET").toUpperCase(),Rl.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function Pl(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function Il(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new wl(e.headers),this.url=e.url||"",this._initBody(t)}jl.prototype.clone=function(){return new jl(this,{body:this._bodyInit})},Ol.call(jl.prototype),Ol.call(Il.prototype),Il.prototype.clone=function(){return new Il(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new wl(this.headers),url:this.url})},Il.error=function(){var t=new Il(null,{status:0,statusText:""});return t.type="error",t};var kl=[301,302,303,307,308];Il.redirect=function(t,e){if(-1===kl.indexOf(e))throw new RangeError("Invalid status code");return new Il(null,{status:e,headers:{location:t}})};var Tl=self.DOMException;try{new Tl}catch(t){(Tl=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),Tl.prototype.constructor=Tl}function Ll(t,e){return new Promise((function(r,n){var o=new jl(t,e);if(o.signal&&o.signal.aborted)return n(new Tl("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new wl,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new Il("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new Tl("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&hl&&(i.responseType="blob"),o.headers.forEach((function(t,e){i.setRequestHeader(e,t)})),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)}))}Ll.polyfill=!0,self.fetch||(self.fetch=Ll,self.Headers=wl,self.Request=jl,self.Response=Il);var Ul=Object.getOwnPropertySymbols,_l=Object.prototype.hasOwnProperty,Ml=Object.prototype.propertyIsEnumerable;function Nl(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var Cl=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=Nl(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))_l.call(r,a)&&(o[a]=r[a]);if(Ul){n=Ul(r);for(var u=0;u<n.length;u++)Ml.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=Cl}()}},function(t){var e,r=(e=62589,t(t.s=e));_N_E=r}]);
\ No newline at end of file
diff --git a/out/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js b/out/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js
index 19abdd6..8ea7cee 100644
--- a/out/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js
+++ b/out/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js
@@ -1,185 +1 @@
-!(function () {
-  'use strict'
-  var e = {},
-    t = {}
-  function n(r) {
-    var o = t[r]
-    if (void 0 !== o) return o.exports
-    var i = (t[r] = { id: r, loaded: !1, exports: {} }),
-      u = !0
-    try {
-      e[r].call(i.exports, i, i.exports, n), (u = !1)
-    } finally {
-      u && delete t[r]
-    }
-    return (i.loaded = !0), i.exports
-  }
-  ;(n.m = e),
-    (function () {
-      var e = []
-      n.O = function (t, r, o, i) {
-        if (!r) {
-          var u = 1 / 0
-          for (f = 0; f < e.length; f++) {
-            ;(r = e[f][0]), (o = e[f][1]), (i = e[f][2])
-            for (var a = !0, c = 0; c < r.length; c++)
-              (!1 & i || u >= i) &&
-              Object.keys(n.O).every(function (e) {
-                return n.O[e](r[c])
-              })
-                ? r.splice(c--, 1)
-                : ((a = !1), i < u && (u = i))
-            a && (e.splice(f--, 1), (t = o()))
-          }
-          return t
-        }
-        i = i || 0
-        for (var f = e.length; f > 0 && e[f - 1][2] > i; f--) e[f] = e[f - 1]
-        e[f] = [r, o, i]
-      }
-    })(),
-    (n.n = function (e) {
-      var t =
-        e && e.__esModule
-          ? function () {
-              return e.default
-            }
-          : function () {
-              return e
-            }
-      return n.d(t, { a: t }), t
-    }),
-    (n.d = function (e, t) {
-      for (var r in t)
-        n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] })
-    }),
-    (n.f = {}),
-    (n.e = function (e) {
-      return Promise.all(
-        Object.keys(n.f).reduce(function (t, r) {
-          return n.f[r](e, t), t
-        }, []),
-      )
-    }),
-    (n.u = function (e) {
-      return 'static/chunks/' + e + '.c9fdfbcb8f8ce1720633.js'
-    }),
-    (n.miniCssF = function (e) {
-      return 'static/css/331301db207a91d407e5.css'
-    }),
-    (n.g = (function () {
-      if ('object' === typeof globalThis) return globalThis
-      try {
-        return this || new Function('return this')()
-      } catch (e) {
-        if ('object' === typeof window) return window
-      }
-    })()),
-    (n.o = function (e, t) {
-      return Object.prototype.hasOwnProperty.call(e, t)
-    }),
-    (function () {
-      var e = {},
-        t = '_N_E:'
-      n.l = function (r, o, i, u) {
-        if (e[r]) e[r].push(o)
-        else {
-          var a, c
-          if (void 0 !== i)
-            for (var f = document.getElementsByTagName('script'), l = 0; l < f.length; l++) {
-              var s = f[l]
-              if (s.getAttribute('src') == r || s.getAttribute('data-webpack') == t + i) {
-                a = s
-                break
-              }
-            }
-          a ||
-            ((c = !0),
-            ((a = document.createElement('script')).charset = 'utf-8'),
-            (a.timeout = 120),
-            n.nc && a.setAttribute('nonce', n.nc),
-            a.setAttribute('data-webpack', t + i),
-            (a.src = r)),
-            (e[r] = [o])
-          var d = function (t, n) {
-              ;(a.onerror = a.onload = null), clearTimeout(p)
-              var o = e[r]
-              if (
-                (delete e[r],
-                a.parentNode && a.parentNode.removeChild(a),
-                o &&
-                  o.forEach(function (e) {
-                    return e(n)
-                  }),
-                t)
-              )
-                return t(n)
-            },
-            p = setTimeout(d.bind(null, void 0, { type: 'timeout', target: a }), 12e4)
-          ;(a.onerror = d.bind(null, a.onerror)),
-            (a.onload = d.bind(null, a.onload)),
-            c && document.head.appendChild(a)
-        }
-      }
-    })(),
-    (n.r = function (e) {
-      'undefined' !== typeof Symbol &&
-        Symbol.toStringTag &&
-        Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
-        Object.defineProperty(e, '__esModule', { value: !0 })
-    }),
-    (n.nmd = function (e) {
-      return (e.paths = []), e.children || (e.children = []), e
-    }),
-    (n.p = '/_next/'),
-    (function () {
-      var e = { 272: 0 }
-      ;(n.f.j = function (t, r) {
-        var o = n.o(e, t) ? e[t] : void 0
-        if (0 !== o)
-          if (o) r.push(o[2])
-          else if (272 != t) {
-            var i = new Promise(function (n, r) {
-              o = e[t] = [n, r]
-            })
-            r.push((o[2] = i))
-            var u = n.p + n.u(t),
-              a = new Error()
-            n.l(
-              u,
-              function (r) {
-                if (n.o(e, t) && (0 !== (o = e[t]) && (e[t] = void 0), o)) {
-                  var i = r && ('load' === r.type ? 'missing' : r.type),
-                    u = r && r.target && r.target.src
-                  ;(a.message = 'Loading chunk ' + t + ' failed.\n(' + i + ': ' + u + ')'),
-                    (a.name = 'ChunkLoadError'),
-                    (a.type = i),
-                    (a.request = u),
-                    o[1](a)
-                }
-              },
-              'chunk-' + t,
-              t,
-            )
-          } else e[t] = 0
-      }),
-        (n.O.j = function (t) {
-          return 0 === e[t]
-        })
-      var t = function (t, r) {
-          var o,
-            i,
-            u = r[0],
-            a = r[1],
-            c = r[2],
-            f = 0
-          for (o in a) n.o(a, o) && (n.m[o] = a[o])
-          if (c) var l = c(n)
-          for (t && t(r); f < u.length; f++)
-            (i = u[f]), n.o(e, i) && e[i] && e[i][0](), (e[u[f]] = 0)
-          return n.O(l)
-        },
-        r = (self.webpackChunk_N_E = self.webpackChunk_N_E || [])
-      r.forEach(t.bind(null, 0)), (r.push = t.bind(null, r.push.bind(r)))
-    })()
-})()
+!function(){"use strict";var e={},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}},u=!0;try{e[r].call(i.exports,i,i.exports,n),u=!1}finally{u&&delete t[r]}return i.loaded=!0,i.exports}n.m=e,function(){var e=[];n.O=function(t,r,o,i){if(!r){var u=1/0;for(f=0;f<e.length;f++){r=e[f][0],o=e[f][1],i=e[f][2];for(var a=!0,c=0;c<r.length;c++)(!1&i||u>=i)&&Object.keys(n.O).every((function(e){return n.O[e](r[c])}))?r.splice(c--,1):(a=!1,i<u&&(u=i));a&&(e.splice(f--,1),t=o())}return t}i=i||0;for(var f=e.length;f>0&&e[f-1][2]>i;f--)e[f]=e[f-1];e[f]=[r,o,i]}}(),n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))},n.u=function(e){return"static/chunks/"+e+".c9fdfbcb8f8ce1720633.js"},n.miniCssF=function(e){return"static/css/331301db207a91d407e5.css"},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={},t="_N_E:";n.l=function(r,o,i,u){if(e[r])e[r].push(o);else{var a,c;if(void 0!==i)for(var f=document.getElementsByTagName("script"),l=0;l<f.length;l++){var s=f[l];if(s.getAttribute("src")==r||s.getAttribute("data-webpack")==t+i){a=s;break}}a||(c=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack",t+i),a.src=r),e[r]=[o];var d=function(t,n){a.onerror=a.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(e){return e(n)})),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}}}(),n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},n.p="/_next/",function(){var e={272:0};n.f.j=function(t,r){var o=n.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(272!=t){var i=new Promise((function(n,r){o=e[t]=[n,r]}));r.push(o[2]=i);var u=n.p+n.u(t),a=new Error;n.l(u,(function(r){if(n.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var i=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+u+")",a.name="ChunkLoadError",a.type=i,a.request=u,o[1](a)}}),"chunk-"+t,t)}else e[t]=0},n.O.j=function(t){return 0===e[t]};var t=function(t,r){var o,i,u=r[0],a=r[1],c=r[2],f=0;for(o in a)n.o(a,o)&&(n.m[o]=a[o]);if(c)var l=c(n);for(t&&t(r);f<u.length;f++)i=u[f],n.o(e,i)&&e[i]&&e[i][0](),e[u[f]]=0;return n.O(l)},r=self.webpackChunk_N_E=self.webpackChunk_N_E||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}()}();
\ No newline at end of file
diff --git a/out/_next/static/css/331301db207a91d407e5.css b/out/_next/static/css/331301db207a91d407e5.css
index 9fe3835..0a8400d 100644
--- a/out/_next/static/css/331301db207a91d407e5.css
+++ b/out/_next/static/css/331301db207a91d407e5.css
@@ -1,15 +1 @@
-body,
-html {
-  padding: 0;
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell,
-    Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
-}
-h1 {
-  font-weight: 700;
-}
-* {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
+body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}h1{font-weight:700}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
\ No newline at end of file
diff --git a/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js b/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js
new file mode 100644
index 0000000..517b59e
--- /dev/null
+++ b/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js
@@ -0,0 +1 @@
+self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/fb7d5399-0d6001c72a29ebec41eb.js","static/chunks/d25bd147-2c59edc357c0e2372258.js","static/chunks/238-434e9626e5c308be74a3.js","static/chunks/pages/index-a22d59b6e873aa5b1f23.js"],"/_error":["static/chunks/pages/_error-f5e67a79c709c2df06b8.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
\ No newline at end of file
diff --git a/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js b/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js
new file mode 100644
index 0000000..0511aa8
--- /dev/null
+++ b/out/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js
@@ -0,0 +1 @@
+self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB();
\ No newline at end of file
diff --git a/out/index.html b/out/index.html
index dd4f50f..4758f0f 100644
--- a/out/index.html
+++ b/out/index.html
@@ -1,708 +1 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width" />
-    <meta name="next-head-count" content="2" />
-    <link rel="preload" href="/_next/static/css/331301db207a91d407e5.css" as="style" />
-    <link rel="stylesheet" href="/_next/static/css/331301db207a91d407e5.css" data-n-g="" />
-    <noscript data-n-css=""></noscript>
-    <script
-      defer=""
-      nomodule=""
-      src="/_next/static/chunks/polyfills-e7a279300235e161e32a.js"
-    ></script>
-    <script src="/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js" defer=""></script>
-    <script src="/_next/static/chunks/framework-2f612445bd50b211f15a.js" defer=""></script>
-    <script src="/_next/static/chunks/main-ae68c11529959c16c50f.js" defer=""></script>
-    <script src="/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js" defer=""></script>
-    <script src="/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js" defer=""></script>
-    <script src="/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js" defer=""></script>
-    <script src="/_next/static/chunks/13-b599b309c84d7675574b.js" defer=""></script>
-    <script src="/_next/static/chunks/pages/index-9893d4710094df6598ce.js" defer=""></script>
-    <script src="/_next/static/2giOJ1nmT-CM3zCDwFm5_/_buildManifest.js" defer=""></script>
-    <script src="/_next/static/2giOJ1nmT-CM3zCDwFm5_/_ssgManifest.js" defer=""></script>
-  </head>
-  <body>
-    <div id="__next">
-      <style data-emotion="css-global 1n4e8ad">
-        :host,
-        :root {
-          --chakra-ring-inset: var(--chakra-empty, /*!*/ /*!*/);
-          --chakra-ring-offset-width: 0px;
-          --chakra-ring-offset-color: #fff;
-          --chakra-ring-color: rgba(66, 153, 225, 0.6);
-          --chakra-ring-offset-shadow: 0 0 #0000;
-          --chakra-ring-shadow: 0 0 #0000;
-          --chakra-space-x-reverse: 0;
-          --chakra-space-y-reverse: 0;
-          --chakra-colors-transparent: transparent;
-          --chakra-colors-current: currentColor;
-          --chakra-colors-black: #bbc2cf;
-          --chakra-colors-white: #242730;
-          --chakra-colors-whiteAlpha-50: rgba(255, 255, 255, 0.04);
-          --chakra-colors-whiteAlpha-100: rgba(255, 255, 255, 0.06);
-          --chakra-colors-whiteAlpha-200: rgba(255, 255, 255, 0.08);
-          --chakra-colors-whiteAlpha-300: rgba(255, 255, 255, 0.16);
-          --chakra-colors-whiteAlpha-400: rgba(255, 255, 255, 0.24);
-          --chakra-colors-whiteAlpha-500: rgba(255, 255, 255, 0.36);
-          --chakra-colors-whiteAlpha-600: rgba(255, 255, 255, 0.48);
-          --chakra-colors-whiteAlpha-700: rgba(255, 255, 255, 0.64);
-          --chakra-colors-whiteAlpha-800: rgba(255, 255, 255, 0.8);
-          --chakra-colors-whiteAlpha-900: rgba(255, 255, 255, 0.92);
-          --chakra-colors-blackAlpha-50: rgba(0, 0, 0, 0.04);
-          --chakra-colors-blackAlpha-100: rgba(0, 0, 0, 0.06);
-          --chakra-colors-blackAlpha-200: rgba(0, 0, 0, 0.08);
-          --chakra-colors-blackAlpha-300: rgba(0, 0, 0, 0.16);
-          --chakra-colors-blackAlpha-400: rgba(0, 0, 0, 0.24);
-          --chakra-colors-blackAlpha-500: rgba(0, 0, 0, 0.36);
-          --chakra-colors-blackAlpha-600: rgba(0, 0, 0, 0.48);
-          --chakra-colors-blackAlpha-700: rgba(0, 0, 0, 0.64);
-          --chakra-colors-blackAlpha-800: rgba(0, 0, 0, 0.8);
-          --chakra-colors-blackAlpha-900: rgba(0, 0, 0, 0.92);
-          --chakra-colors-gray-50: #f7fafc;
-          --chakra-colors-gray-100: #1c1f24;
-          --chakra-colors-gray-200: rgb(29, 33, 38);
-          --chakra-colors-gray-300: #21272d;
-          --chakra-colors-gray-400: #23272e;
-          --chakra-colors-gray-500: #484854;
-          --chakra-colors-gray-600: #62686e;
-          --chakra-colors-gray-700: #757b80;
-          --chakra-colors-gray-800: #9ca0a4;
-          --chakra-colors-gray-900: #dfdfdf;
-          --chakra-colors-red-50: #fff5f5;
-          --chakra-colors-red-100: #fed7d7;
-          --chakra-colors-red-200: #feb2b2;
-          --chakra-colors-red-300: #fc8181;
-          --chakra-colors-red-400: #f56565;
-          --chakra-colors-red-500: #ff665c;
-          --chakra-colors-red-600: #c53030;
-          --chakra-colors-red-700: #9b2c2c;
-          --chakra-colors-red-800: #822727;
-          --chakra-colors-red-900: #63171b;
-          --chakra-colors-orange-50: #fffaf0;
-          --chakra-colors-orange-100: #feebc8;
-          --chakra-colors-orange-200: #fbd38d;
-          --chakra-colors-orange-300: #f6ad55;
-          --chakra-colors-orange-400: #ed8936;
-          --chakra-colors-orange-500: #e69055;
-          --chakra-colors-orange-600: #c05621;
-          --chakra-colors-orange-700: #9c4221;
-          --chakra-colors-orange-800: #7b341e;
-          --chakra-colors-orange-900: #652b19;
-          --chakra-colors-yellow-50: #fffff0;
-          --chakra-colors-yellow-100: #fefcbf;
-          --chakra-colors-yellow-200: #faf089;
-          --chakra-colors-yellow-300: #f6e05e;
-          --chakra-colors-yellow-400: #ecc94b;
-          --chakra-colors-yellow-500: #fcce7b;
-          --chakra-colors-yellow-600: #b7791f;
-          --chakra-colors-yellow-700: #975a16;
-          --chakra-colors-yellow-800: #744210;
-          --chakra-colors-yellow-900: #5f370e;
-          --chakra-colors-green-50: #f0fff4;
-          --chakra-colors-green-100: #c6f6d5;
-          --chakra-colors-green-200: #9ae6b4;
-          --chakra-colors-green-300: #68d391;
-          --chakra-colors-green-400: #48bb78;
-          --chakra-colors-green-500: #7bc275;
-          --chakra-colors-green-600: #2f855a;
-          --chakra-colors-green-700: #276749;
-          --chakra-colors-green-800: #22543d;
-          --chakra-colors-green-900: #1c4532;
-          --chakra-colors-teal-50: #e6fffa;
-          --chakra-colors-teal-100: #b2f5ea;
-          --chakra-colors-teal-200: #81e6d9;
-          --chakra-colors-teal-300: #4fd1c5;
-          --chakra-colors-teal-400: #38b2ac;
-          --chakra-colors-teal-500: #51afef;
-          --chakra-colors-teal-600: #2c7a7b;
-          --chakra-colors-teal-700: #285e61;
-          --chakra-colors-teal-800: #234e52;
-          --chakra-colors-teal-900: #1d4044;
-          --chakra-colors-blue-50: #ebf8ff;
-          --chakra-colors-blue-100: #bee3f8;
-          --chakra-colors-blue-200: #90cdf4;
-          --chakra-colors-blue-300: #63b3ed;
-          --chakra-colors-blue-400: #4299e1;
-          --chakra-colors-blue-500: #51afef;
-          --chakra-colors-blue-600: #2b6cb0;
-          --chakra-colors-blue-700: #2c5282;
-          --chakra-colors-blue-800: #2a4365;
-          --chakra-colors-blue-900: #1a365d;
-          --chakra-colors-cyan-50: #edfdfd;
-          --chakra-colors-cyan-100: #c4f1f9;
-          --chakra-colors-cyan-200: #9decf9;
-          --chakra-colors-cyan-300: #76e4f7;
-          --chakra-colors-cyan-400: #0bc5ea;
-          --chakra-colors-cyan-500: #5cefff;
-          --chakra-colors-cyan-600: #00a3c4;
-          --chakra-colors-cyan-700: #0987a0;
-          --chakra-colors-cyan-800: #086f83;
-          --chakra-colors-cyan-900: #065666;
-          --chakra-colors-purple-50: #faf5ff;
-          --chakra-colors-purple-100: #e9d8fd;
-          --chakra-colors-purple-200: #d6bcfa;
-          --chakra-colors-purple-300: #b794f4;
-          --chakra-colors-purple-400: #9f7aea;
-          --chakra-colors-purple-500: #a991f1;
-          --chakra-colors-purple-600: #6b46c1;
-          --chakra-colors-purple-700: #553c9a;
-          --chakra-colors-purple-800: #44337a;
-          --chakra-colors-purple-900: #322659;
-          --chakra-colors-pink-50: #fff5f7;
-          --chakra-colors-pink-100: #fed7e2;
-          --chakra-colors-pink-200: #fbb6ce;
-          --chakra-colors-pink-300: #f687b3;
-          --chakra-colors-pink-400: #ed64a6;
-          --chakra-colors-pink-500: #c57bdb;
-          --chakra-colors-pink-600: #b83280;
-          --chakra-colors-pink-700: #97266d;
-          --chakra-colors-pink-800: #702459;
-          --chakra-colors-pink-900: #521b41;
-          --chakra-colors-linkedin-50: #e8f4f9;
-          --chakra-colors-linkedin-100: #cfedfb;
-          --chakra-colors-linkedin-200: #9bdaf3;
-          --chakra-colors-linkedin-300: #68c7ec;
-          --chakra-colors-linkedin-400: #34b3e4;
-          --chakra-colors-linkedin-500: #00a0dc;
-          --chakra-colors-linkedin-600: #008cc9;
-          --chakra-colors-linkedin-700: #0077b5;
-          --chakra-colors-linkedin-800: #005e93;
-          --chakra-colors-linkedin-900: #004471;
-          --chakra-colors-facebook-50: #e8f4f9;
-          --chakra-colors-facebook-100: #d9dee9;
-          --chakra-colors-facebook-200: #b7c2da;
-          --chakra-colors-facebook-300: #6482c0;
-          --chakra-colors-facebook-400: #4267b2;
-          --chakra-colors-facebook-500: #385898;
-          --chakra-colors-facebook-600: #314e89;
-          --chakra-colors-facebook-700: #29487d;
-          --chakra-colors-facebook-800: #223b67;
-          --chakra-colors-facebook-900: #1e355b;
-          --chakra-colors-messenger-50: #d0e6ff;
-          --chakra-colors-messenger-100: #b9daff;
-          --chakra-colors-messenger-200: #a2cdff;
-          --chakra-colors-messenger-300: #7ab8ff;
-          --chakra-colors-messenger-400: #2e90ff;
-          --chakra-colors-messenger-500: #0078ff;
-          --chakra-colors-messenger-600: #0063d1;
-          --chakra-colors-messenger-700: #0052ac;
-          --chakra-colors-messenger-800: #003c7e;
-          --chakra-colors-messenger-900: #002c5c;
-          --chakra-colors-whatsapp-50: #dffeec;
-          --chakra-colors-whatsapp-100: #b9f5d0;
-          --chakra-colors-whatsapp-200: #90edb3;
-          --chakra-colors-whatsapp-300: #65e495;
-          --chakra-colors-whatsapp-400: #3cdd78;
-          --chakra-colors-whatsapp-500: #22c35e;
-          --chakra-colors-whatsapp-600: #179848;
-          --chakra-colors-whatsapp-700: #0c6c33;
-          --chakra-colors-whatsapp-800: #01421c;
-          --chakra-colors-whatsapp-900: #001803;
-          --chakra-colors-twitter-50: #e5f4fd;
-          --chakra-colors-twitter-100: #c8e9fb;
-          --chakra-colors-twitter-200: #a8dcfa;
-          --chakra-colors-twitter-300: #83cdf7;
-          --chakra-colors-twitter-400: #57bbf5;
-          --chakra-colors-twitter-500: #1da1f2;
-          --chakra-colors-twitter-600: #1a94da;
-          --chakra-colors-twitter-700: #1681bf;
-          --chakra-colors-twitter-800: #136b9e;
-          --chakra-colors-twitter-900: #0d4d71;
-          --chakra-colors-telegram-50: #e3f2f9;
-          --chakra-colors-telegram-100: #c5e4f3;
-          --chakra-colors-telegram-200: #a2d4ec;
-          --chakra-colors-telegram-300: #7ac1e4;
-          --chakra-colors-telegram-400: #47a9da;
-          --chakra-colors-telegram-500: #0088cc;
-          --chakra-colors-telegram-600: #007ab8;
-          --chakra-colors-telegram-700: #006ba1;
-          --chakra-colors-telegram-800: #005885;
-          --chakra-colors-telegram-900: #003f5e;
-          --chakra-colors-alt-100: #2a2e38;
-          --chakra-colors-alt-900: #5d656b;
-          --chakra-borders-none: 0;
-          --chakra-borders-1px: 1px solid;
-          --chakra-borders-2px: 2px solid;
-          --chakra-borders-4px: 4px solid;
-          --chakra-borders-8px: 8px solid;
-          --chakra-fonts-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
-            sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
-          --chakra-fonts-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
-            sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
-          --chakra-fonts-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
-            'Courier New', monospace;
-          --chakra-fontSizes-xs: 0.75rem;
-          --chakra-fontSizes-sm: 0.875rem;
-          --chakra-fontSizes-md: 1rem;
-          --chakra-fontSizes-lg: 1.125rem;
-          --chakra-fontSizes-xl: 1.25rem;
-          --chakra-fontSizes-2xl: 1.5rem;
-          --chakra-fontSizes-3xl: 1.875rem;
-          --chakra-fontSizes-4xl: 2.25rem;
-          --chakra-fontSizes-5xl: 3rem;
-          --chakra-fontSizes-6xl: 3.75rem;
-          --chakra-fontSizes-7xl: 4.5rem;
-          --chakra-fontSizes-8xl: 6rem;
-          --chakra-fontSizes-9xl: 8rem;
-          --chakra-fontWeights-hairline: 100;
-          --chakra-fontWeights-thin: 200;
-          --chakra-fontWeights-light: 300;
-          --chakra-fontWeights-normal: 400;
-          --chakra-fontWeights-medium: 500;
-          --chakra-fontWeights-semibold: 600;
-          --chakra-fontWeights-bold: 700;
-          --chakra-fontWeights-extrabold: 800;
-          --chakra-fontWeights-black: 900;
-          --chakra-letterSpacings-tighter: -0.05em;
-          --chakra-letterSpacings-tight: -0.025em;
-          --chakra-letterSpacings-normal: 0;
-          --chakra-letterSpacings-wide: 0.025em;
-          --chakra-letterSpacings-wider: 0.05em;
-          --chakra-letterSpacings-widest: 0.1em;
-          --chakra-lineHeights-3: 0.75rem;
-          --chakra-lineHeights-4: 1rem;
-          --chakra-lineHeights-5: 1.25rem;
-          --chakra-lineHeights-6: 1.5rem;
-          --chakra-lineHeights-7: 1.75rem;
-          --chakra-lineHeights-8: 2rem;
-          --chakra-lineHeights-9: 2.25rem;
-          --chakra-lineHeights-10: 2.5rem;
-          --chakra-lineHeights-normal: normal;
-          --chakra-lineHeights-none: 1;
-          --chakra-lineHeights-shorter: 1.25;
-          --chakra-lineHeights-short: 1.375;
-          --chakra-lineHeights-base: 1.5;
-          --chakra-lineHeights-tall: 1.625;
-          --chakra-lineHeights-taller: 2;
-          --chakra-radii-none: 0;
-          --chakra-radii-sm: 0.125rem;
-          --chakra-radii-base: 0.25rem;
-          --chakra-radii-md: 0.375rem;
-          --chakra-radii-lg: 0.5rem;
-          --chakra-radii-xl: 0.75rem;
-          --chakra-radii-2xl: 1rem;
-          --chakra-radii-3xl: 1.5rem;
-          --chakra-radii-full: 9999px;
-          --chakra-space-1: 0.25rem;
-          --chakra-space-2: 0.5rem;
-          --chakra-space-3: 0.75rem;
-          --chakra-space-4: 1rem;
-          --chakra-space-5: 1.25rem;
-          --chakra-space-6: 1.5rem;
-          --chakra-space-7: 1.75rem;
-          --chakra-space-8: 2rem;
-          --chakra-space-9: 2.25rem;
-          --chakra-space-10: 2.5rem;
-          --chakra-space-12: 3rem;
-          --chakra-space-14: 3.5rem;
-          --chakra-space-16: 4rem;
-          --chakra-space-20: 5rem;
-          --chakra-space-24: 6rem;
-          --chakra-space-28: 7rem;
-          --chakra-space-32: 8rem;
-          --chakra-space-36: 9rem;
-          --chakra-space-40: 10rem;
-          --chakra-space-44: 11rem;
-          --chakra-space-48: 12rem;
-          --chakra-space-52: 13rem;
-          --chakra-space-56: 14rem;
-          --chakra-space-60: 15rem;
-          --chakra-space-64: 16rem;
-          --chakra-space-72: 18rem;
-          --chakra-space-80: 20rem;
-          --chakra-space-96: 24rem;
-          --chakra-space-px: 1px;
-          --chakra-space-0\.5: 0.125rem;
-          --chakra-space-1\.5: 0.375rem;
-          --chakra-space-2\.5: 0.625rem;
-          --chakra-space-3\.5: 0.875rem;
-          --chakra-shadows-xs: 0 0 0 1px rgba(0, 0, 0, 0.05);
-          --chakra-shadows-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
-          --chakra-shadows-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
-          --chakra-shadows-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
-          --chakra-shadows-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
-            0 4px 6px -2px rgba(0, 0, 0, 0.05);
-          --chakra-shadows-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
-            0 10px 10px -5px rgba(0, 0, 0, 0.04);
-          --chakra-shadows-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
-          --chakra-shadows-outline: 0 0 0 3px #a991f1aa;
-          --chakra-shadows-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
-          --chakra-shadows-none: none;
-          --chakra-shadows-dark-lg: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,
-            rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px;
-          --chakra-sizes-1: 0.25rem;
-          --chakra-sizes-2: 0.5rem;
-          --chakra-sizes-3: 0.75rem;
-          --chakra-sizes-4: 1rem;
-          --chakra-sizes-5: 1.25rem;
-          --chakra-sizes-6: 1.5rem;
-          --chakra-sizes-7: 1.75rem;
-          --chakra-sizes-8: 2rem;
-          --chakra-sizes-9: 2.25rem;
-          --chakra-sizes-10: 2.5rem;
-          --chakra-sizes-12: 3rem;
-          --chakra-sizes-14: 3.5rem;
-          --chakra-sizes-16: 4rem;
-          --chakra-sizes-20: 5rem;
-          --chakra-sizes-24: 6rem;
-          --chakra-sizes-28: 7rem;
-          --chakra-sizes-32: 8rem;
-          --chakra-sizes-36: 9rem;
-          --chakra-sizes-40: 10rem;
-          --chakra-sizes-44: 11rem;
-          --chakra-sizes-48: 12rem;
-          --chakra-sizes-52: 13rem;
-          --chakra-sizes-56: 14rem;
-          --chakra-sizes-60: 15rem;
-          --chakra-sizes-64: 16rem;
-          --chakra-sizes-72: 18rem;
-          --chakra-sizes-80: 20rem;
-          --chakra-sizes-96: 24rem;
-          --chakra-sizes-px: 1px;
-          --chakra-sizes-0\.5: 0.125rem;
-          --chakra-sizes-1\.5: 0.375rem;
-          --chakra-sizes-2\.5: 0.625rem;
-          --chakra-sizes-3\.5: 0.875rem;
-          --chakra-sizes-max: max-content;
-          --chakra-sizes-min: min-content;
-          --chakra-sizes-full: 100%;
-          --chakra-sizes-3xs: 14rem;
-          --chakra-sizes-2xs: 16rem;
-          --chakra-sizes-xs: 20rem;
-          --chakra-sizes-sm: 24rem;
-          --chakra-sizes-md: 28rem;
-          --chakra-sizes-lg: 32rem;
-          --chakra-sizes-xl: 36rem;
-          --chakra-sizes-2xl: 42rem;
-          --chakra-sizes-3xl: 48rem;
-          --chakra-sizes-4xl: 56rem;
-          --chakra-sizes-5xl: 64rem;
-          --chakra-sizes-6xl: 72rem;
-          --chakra-sizes-7xl: 80rem;
-          --chakra-sizes-8xl: 90rem;
-          --chakra-sizes-container-sm: 640px;
-          --chakra-sizes-container-md: 768px;
-          --chakra-sizes-container-lg: 1024px;
-          --chakra-sizes-container-xl: 1280px;
-          --chakra-zIndices-hide: -1;
-          --chakra-zIndices-auto: auto;
-          --chakra-zIndices-base: 0;
-          --chakra-zIndices-docked: 10;
-          --chakra-zIndices-dropdown: 1000;
-          --chakra-zIndices-sticky: 1100;
-          --chakra-zIndices-banner: 1200;
-          --chakra-zIndices-overlay: 1300;
-          --chakra-zIndices-modal: 1400;
-          --chakra-zIndices-popover: 1500;
-          --chakra-zIndices-skipLink: 1600;
-          --chakra-zIndices-toast: 1700;
-          --chakra-zIndices-tooltip: 1800;
-          --chakra-transition-property-common: background-color, border-color, color, fill, stroke,
-            opacity, box-shadow, transform;
-          --chakra-transition-property-colors: background-color, border-color, color, fill, stroke;
-          --chakra-transition-property-dimensions: width, height;
-          --chakra-transition-property-position: left, right, top, bottom;
-          --chakra-transition-property-background: background-color, background-image,
-            background-position;
-          --chakra-transition-easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
-          --chakra-transition-easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
-          --chakra-transition-easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
-          --chakra-transition-duration-ultra-fast: 50ms;
-          --chakra-transition-duration-faster: 100ms;
-          --chakra-transition-duration-fast: 150ms;
-          --chakra-transition-duration-normal: 200ms;
-          --chakra-transition-duration-slow: 300ms;
-          --chakra-transition-duration-slower: 400ms;
-          --chakra-transition-duration-ultra-slow: 500ms;
-          --chakra-blur-none: 0;
-          --chakra-blur-sm: 4px;
-          --chakra-blur-base: 8px;
-          --chakra-blur-md: 12px;
-          --chakra-blur-lg: 16px;
-          --chakra-blur-xl: 24px;
-          --chakra-blur-2xl: 40px;
-          --chakra-blur-3xl: 64px;
-        }</style
-      ><style data-emotion="css-global 1syi0wy">
-        html {
-          line-height: 1.5;
-          -webkit-text-size-adjust: 100%;
-          font-family: system-ui, sans-serif;
-          -webkit-font-smoothing: antialiased;
-          text-rendering: optimizeLegibility;
-          -moz-osx-font-smoothing: grayscale;
-          touch-action: manipulation;
-        }
-        body {
-          position: relative;
-          min-height: 100%;
-          font-feature-settings: 'kern';
-        }
-        *,
-        *::before,
-        *::after {
-          border-width: 0;
-          border-style: solid;
-          box-sizing: border-box;
-        }
-        main {
-          display: block;
-        }
-        hr {
-          border-top-width: 1px;
-          box-sizing: content-box;
-          height: 0;
-          overflow: visible;
-        }
-        pre,
-        code,
-        kbd,
-        samp {
-          font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
-          font-size: 1em;
-        }
-        a {
-          background-color: transparent;
-          color: inherit;
-          -webkit-text-decoration: inherit;
-          text-decoration: inherit;
-        }
-        abbr[title] {
-          border-bottom: none;
-          -webkit-text-decoration: underline;
-          text-decoration: underline;
-          -webkit-text-decoration: underline dotted;
-          -webkit-text-decoration: underline dotted;
-          text-decoration: underline dotted;
-        }
-        b,
-        strong {
-          font-weight: bold;
-        }
-        small {
-          font-size: 80%;
-        }
-        sub,
-        sup {
-          font-size: 75%;
-          line-height: 0;
-          position: relative;
-          vertical-align: baseline;
-        }
-        sub {
-          bottom: -0.25em;
-        }
-        sup {
-          top: -0.5em;
-        }
-        img {
-          border-style: none;
-        }
-        button,
-        input,
-        optgroup,
-        select,
-        textarea {
-          font-family: inherit;
-          font-size: 100%;
-          line-height: 1.15;
-          margin: 0;
-        }
-        button,
-        input {
-          overflow: visible;
-        }
-        button,
-        select {
-          text-transform: none;
-        }
-        button::-moz-focus-inner,
-        [type='button']::-moz-focus-inner,
-        [type='reset']::-moz-focus-inner,
-        [type='submit']::-moz-focus-inner {
-          border-style: none;
-          padding: 0;
-        }
-        fieldset {
-          padding: 0.35em 0.75em 0.625em;
-        }
-        legend {
-          box-sizing: border-box;
-          color: inherit;
-          display: table;
-          max-width: 100%;
-          padding: 0;
-          white-space: normal;
-        }
-        progress {
-          vertical-align: baseline;
-        }
-        textarea {
-          overflow: auto;
-        }
-        [type='checkbox'],
-        [type='radio'] {
-          box-sizing: border-box;
-          padding: 0;
-        }
-        [type='number']::-webkit-inner-spin-button,
-        [type='number']::-webkit-outer-spin-button {
-          -webkit-appearance: none !important;
-        }
-        input[type='number'] {
-          -moz-appearance: textfield;
-        }
-        [type='search'] {
-          -webkit-appearance: textfield;
-          outline-offset: -2px;
-        }
-        [type='search']::-webkit-search-decoration {
-          -webkit-appearance: none !important;
-        }
-        ::-webkit-file-upload-button {
-          -webkit-appearance: button;
-          font: inherit;
-        }
-        details {
-          display: block;
-        }
-        summary {
-          display: -webkit-box;
-          display: -webkit-list-item;
-          display: -ms-list-itembox;
-          display: list-item;
-        }
-        template {
-          display: none;
-        }
-        [hidden] {
-          display: none !important;
-        }
-        body,
-        blockquote,
-        dl,
-        dd,
-        h1,
-        h2,
-        h3,
-        h4,
-        h5,
-        h6,
-        hr,
-        figure,
-        p,
-        pre {
-          margin: 0;
-        }
-        button {
-          background: transparent;
-          padding: 0;
-        }
-        fieldset {
-          margin: 0;
-          padding: 0;
-        }
-        ol,
-        ul {
-          margin: 0;
-          padding: 0;
-        }
-        textarea {
-          resize: vertical;
-        }
-        button,
-        [role='button'] {
-          cursor: pointer;
-        }
-        button::-moz-focus-inner {
-          border: 0 !important;
-        }
-        table {
-          border-collapse: collapse;
-        }
-        h1,
-        h2,
-        h3,
-        h4,
-        h5,
-        h6 {
-          font-size: inherit;
-          font-weight: inherit;
-        }
-        button,
-        input,
-        optgroup,
-        select,
-        textarea {
-          padding: 0;
-          line-height: inherit;
-          color: inherit;
-        }
-        img,
-        svg,
-        video,
-        canvas,
-        audio,
-        iframe,
-        embed,
-        object {
-          display: block;
-          vertical-align: middle;
-        }
-        img,
-        video {
-          max-width: 100%;
-          height: auto;
-        }
-        [data-js-focus-visible] :focus:not([data-focus-visible-added]) {
-          outline: none;
-          box-shadow: none;
-        }
-        select::-ms-expand {
-          display: none;
-        }</style
-      ><style data-emotion="css-global 1baqkrf">
-        body {
-          font-family: var(--chakra-fonts-body);
-          color: var(--chakra-colors-gray-800);
-          background: var(--chakra-colors-white);
-          transition-property: background-color;
-          transition-duration: var(--chakra-transition-duration-normal);
-          line-height: var(--chakra-lineHeights-base);
-        }
-        *::-webkit-input-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *::-moz-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *:-ms-input-placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *::placeholder {
-          color: var(--chakra-colors-gray-400);
-        }
-        *,
-        *::before,
-        ::after {
-          border-color: var(--chakra-colors-gray-200);
-          word-wrap: break-word;
-        }</style
-      ><span></span>
-    </div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/",
-        "query": {},
-        "buildId": "2giOJ1nmT-CM3zCDwFm5_",
-        "nextExport": true,
-        "autoExport": true,
-        "isFallback": false,
-        "scriptLoader": []
-      }
-    </script>
-  </body>
-</html>
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/331301db207a91d407e5.css" as="style"/><link rel="stylesheet" href="/_next/static/css/331301db207a91d407e5.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-e7a279300235e161e32a.js"></script><script src="/_next/static/chunks/webpack-9c7513cc478a82b87a1b.js" defer=""></script><script src="/_next/static/chunks/framework-2f612445bd50b211f15a.js" defer=""></script><script src="/_next/static/chunks/main-ae68c11529959c16c50f.js" defer=""></script><script src="/_next/static/chunks/pages/_app-b9a9a4081d35806300d5.js" defer=""></script><script src="/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js" defer=""></script><script src="/_next/static/chunks/d25bd147-2c59edc357c0e2372258.js" defer=""></script><script src="/_next/static/chunks/238-434e9626e5c308be74a3.js" defer=""></script><script src="/_next/static/chunks/pages/index-a22d59b6e873aa5b1f23.js" defer=""></script><script src="/_next/static/nbHD_zoDspTWfAmwLMeAv/_buildManifest.js" defer=""></script><script src="/_next/static/nbHD_zoDspTWfAmwLMeAv/_ssgManifest.js" defer=""></script></head><body><div id="__next"><style data-emotion="css-global 1n4e8ad">:host,:root{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#bbc2cf;--chakra-colors-white:#242730;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#1c1f24;--chakra-colors-gray-200:rgb(29, 33, 38);--chakra-colors-gray-300:#21272d;--chakra-colors-gray-400:#23272e;--chakra-colors-gray-500:#484854;--chakra-colors-gray-600:#62686E;--chakra-colors-gray-700:#757B80;--chakra-colors-gray-800:#9ca0a4;--chakra-colors-gray-900:#DFDFDF;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#ff665c;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#e69055;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#FCCE7B;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#7bc275;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#51afef;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#51afef;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#5cEfFF;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#a991f1;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#C57BDB;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-alt-100:#2a2e38;--chakra-colors-alt-900:#5D656B;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0\.5:0.125rem;--chakra-space-1\.5:0.375rem;--chakra-space-2\.5:0.625rem;--chakra-space-3\.5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px #a991f1aa;--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0\.5:0.125rem;--chakra-sizes-1\.5:0.375rem;--chakra-sizes-2\.5:0.625rem;--chakra-sizes-3\.5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;}</style><style data-emotion="css-global 1syi0wy">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;font-feature-settings:'kern';}*,*::before,*::after{border-width:0;border-style:solid;box-sizing:border-box;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bold;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}textarea{resize:vertical;}button,[role="button"]{cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;}img,video{max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]){outline:none;box-shadow:none;}select::-ms-expand{display:none;}</style><style data-emotion="css-global 1baqkrf">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-gray-800);background:var(--chakra-colors-white);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-gray-400);}*::-moz-placeholder{color:var(--chakra-colors-gray-400);}*:-ms-input-placeholder{color:var(--chakra-colors-gray-400);}*::placeholder{color:var(--chakra-colors-gray-400);}*,*::before,::after{border-color:var(--chakra-colors-gray-200);word-wrap:break-word;}</style><span></span></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"nbHD_zoDspTWfAmwLMeAv","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
\ No newline at end of file
diff --git a/pages/index.tsx b/pages/index.tsx
index 3dd0e9a..75efbfa 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -31,6 +31,7 @@ import {
   initialMouse,
   algos,
   TagColors,
+  colorList,
 } from '../components/config'
 import { Tweaks } from '../components/tweaks'
 import { ContextMenu } from '../components/contextmenu'
@@ -130,12 +131,40 @@ export function GraphPage() {
     nodeByIdRef.current = Object.fromEntries(orgRoamGraphData.nodes.map((node) => [node.id, node]))
 
     const dirtyLinks = [...orgRoamGraphData.links, ...fileLinks]
-    const links = dirtyLinks.filter((link) => {
+    const nonExistantNodes: OrgRoamNode[] = []
+    const links = dirtyLinks.map((link) => {
       const sourceId = link.source as string
       const targetId = link.target as string
-      return nodeByIdRef.current[sourceId] && nodeByIdRef.current[targetId]
+      if (!nodeByIdRef.current[sourceId]) {
+        nonExistantNodes.push({
+          id: sourceId,
+          tags: ['bad'],
+          properties: { FILELESS: 'yes', bad: 'yes' },
+          file: '',
+          title: sourceId,
+          level: 0,
+        })
+        return { ...link, type: 'bad' }
+      }
+      if (!nodeByIdRef.current[targetId]) {
+        nonExistantNodes.push({
+          id: targetId,
+          tags: ['bad'],
+          properties: { FILELESS: 'yes', bad: 'yes' },
+          file: '',
+          title: targetId,
+          level: 0,
+        })
+        return { ...link, type: 'bad' }
+      }
+      return link
     })
 
+    nodeByIdRef.current = {
+      ...nodeByIdRef.current,
+      ...Object.fromEntries(nonExistantNodes.map((node) => [node.id, node])),
+    }
+
     linksByNodeIdRef.current = links.reduce<LinksByNodeId>((acc, link) => {
       return {
         ...acc,
@@ -144,8 +173,9 @@ export function GraphPage() {
       }
     }, {})
 
-    const orgRoamGraphDataWithFileLinks = {
-      ...orgRoamGraphData,
+    const nodes = [...orgRoamGraphData.nodes, ...nonExistantNodes]
+    const orgRoamGraphDataWithFileLinksAndBadNdes = {
+      nodes,
       links,
     }
 
@@ -153,7 +183,10 @@ export function GraphPage() {
       // react-force-graph modifies the graph data implicitly,
       // so we make sure there's no overlap between the objects we pass it and
       // nodeByIdRef, linksByNodeIdRef
-      const orgRoamGraphDataClone = JSON.parse(JSON.stringify(orgRoamGraphDataWithFileLinks))
+      const orgRoamGraphDataClone = JSON.parse(
+        JSON.stringify(orgRoamGraphDataWithFileLinksAndBadNdes),
+      )
+      console.log(orgRoamGraphDataClone)
       currentGraphDataRef.current = orgRoamGraphDataClone
       setGraphData(orgRoamGraphDataClone)
       return
@@ -175,7 +208,7 @@ export function GraphPage() {
         }),
     ]
 
-    const nodeIndex = newNodes.reduce((acc, node, index) => {
+    const nodeIndex = newNodes.reduce<{ [id: string]: number }>((acc, node, index) => {
       const id = node?.id as string
       return {
         ...acc,
@@ -192,45 +225,45 @@ export function GraphPage() {
 *  [sourceTarget]: index
 * }
 },{}) */
-    const newLinks = [
-      ...currentGraphData!.links.filter((link) => {
-        const [source, target] = normalizeLinkEnds(link)
-        if (!nodeByIdRef.current[source] || !nodeByIdRef.current[target]) {
-          return false
-        }
-        if (
-          !linksByNodeIdRef.current[source]!.some(
-            (link) => link.target === target || link.source === target,
-          ) &&
-          !linksByNodeIdRef.current[target]!.some(
-            (link) => link.target === source || link.source === source,
-          )
-        ) {
-          return false
-        }
-        return true
-      }),
-      ...Object.keys(linksByNodeIdRef.current).flatMap((id) => {
-        if (!oldLinksByNodeId[id]!) {
-          return linksByNodeIdRef.current![id!]!
-        }
-        return (
-          linksByNodeIdRef.current![id]!.filter((link) => {
-            const [source, target] = normalizeLinkEnds(link)
-            return !oldLinksByNodeId[id]!.some(
-              (oldLink) => oldLink.source === source && oldLink.target === target,
-            )!
-          }) ?? []
-        )
-      }),
-    ]
-
+    /* const newLinks = [
+     *   ...currentGraphData!.links.filter((link) => {
+     *     const [source, target] = normalizeLinkEnds(link)
+     *     if (!nodeByIdRef.current[source] || !nodeByIdRef.current[target]) {
+     *       return false
+     *     }
+     *     if (
+     *       !linksByNodeIdRef.current[source]!.some(
+     *         (link) => link.target === target || link.source === target,
+     *       ) &&
+     *       !linksByNodeIdRef.current[target]!.some(
+     *         (link) => link.target === source || link.source === source,
+     *       )
+     *     ) {
+     *       return false
+     *     }
+     *     return true
+     *   }),
+     *   ...Object.keys(linksByNodeIdRef.current).flatMap((id) => {
+     *     if (!oldLinksByNodeId[id]!) {
+     *       return linksByNodeIdRef.current![id!]!
+     *     }
+     *     return (
+     *       linksByNodeIdRef.current![id]!.filter((link) => {
+     *         const [source, target] = normalizeLinkEnds(link)
+     *         return !oldLinksByNodeId[id]!.some(
+     *           (oldLink) => oldLink.source === source && oldLink.target === target,
+     *         )!
+     *       }) ?? []
+     *     )
+     *   }),
+     * ]
+     */
     const newerLinks = links.map((link) => {
       const [source, target] = normalizeLinkEnds(link)
       return {
         ...link,
-        source: newNodes[nodeIndex[source]],
-        target: newNodes[nodeIndex[target]],
+        source: newNodes[nodeIndex![source]],
+        target: newNodes[nodeIndex![target]],
       }
     })
     const fg = graphRef.current
@@ -486,6 +519,10 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     sendMessageToEmacs('delete', { id: node.id, file: node.file })
   }
 
+  const createNodeInEmacs = (node: OrgRoamNode) => {
+    sendMessageToEmacs('create', { id: node.id, title: node.title, ref: node.properties.ROAM_REFS })
+  }
+
   const handleClick = (click: string, node: OrgRoamNode) => {
     switch (click) {
       //mouse.highlight:
@@ -565,7 +602,11 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
           hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node }
           return false
         }
-        if (filter.fileless_cites && node.properties.FILELESS) {
+        if (filter.filelessCites && node.properties.FILELESS) {
+          hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node }
+          return false
+        }
+        if (filter.bad && node.properties.bad) {
           hiddenNodeIdsRef.current = { ...hiddenNodeIdsRef.current, [node.id]: node }
           return false
         }
@@ -596,7 +637,12 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     const filteredNodeIds = filteredNodes.map((node) => node.id as string)
     const filteredLinks = graphData.links.filter((link) => {
       const [sourceId, targetId] = normalizeLinkEnds(link)
-      if (filter.tagsBlacklist.length || filter.tagsWhitelist.length || filter.fileless_cites) {
+      if (
+        filter.bad ||
+        filter.tagsBlacklist.length ||
+        filter.tagsWhitelist.length ||
+        filter.filelessCites
+      ) {
         return (
           filteredNodeIds.includes(sourceId as string) &&
           filteredNodeIds.includes(targetId as string)
@@ -712,43 +758,17 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
   }
 
   const highlightColors = useMemo(() => {
-    const allColors = visuals.nodeColorScheme.concat(
-      visuals.linkColorScheme || [],
-      visuals.linkHighlight || [],
-      visuals.nodeHighlight || [],
-      visuals.citeNodeColor || [],
-      visuals.citeLinkColor || [],
-      visuals.citeLinkHighlightColor || [],
-      visuals.refNodeColor || [],
-      visuals.refLinkColor || [],
-      visuals.refLinkHighlightColor || [],
-      visuals.backgroundColor || [],
-    )
-
     return Object.fromEntries(
-      allColors.map((color) => {
+      colorList.map((color) => {
         const color1 = getThemeColor(color)
-        const crisscross = allColors.map((color2) => [
+        const crisscross = colorList.map((color2) => [
           color2,
           d3int.interpolate(color1, getThemeColor(color2)),
         ])
         return [color, Object.fromEntries(crisscross)]
       }),
     )
-  }, [
-    visuals.nodeColorScheme,
-    visuals.linkHighlight,
-    visuals.nodeHighlight,
-    visuals.linkColorScheme,
-    visuals.refLinkColor,
-    visuals.refNodeColor,
-    visuals.citeNodeColor,
-    visuals.refLinkHighlightColor,
-    visuals.citeLinkHighlightColor,
-    visuals.citeLinkColor,
-    visuals.backgroundColor,
-    emacsTheme,
-  ])
+  }, [emacsTheme])
 
   const previouslyHighlightedNodes = useMemo(() => {
     const previouslyHighlightedLinks = linksByNodeId[lastHoverNode.current?.id!] ?? []
@@ -788,11 +808,13 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
 
     if (!needsHighlighting && !visuals.linkColorScheme) {
       const nodeColor = getLinkNodeColor(sourceId, targetId)
-      return getThemeColor(nodeColor)
+      return highlightColors[nodeColor][visuals.backgroundColor](visuals.highlightFade * opacity)
     }
 
     if (!needsHighlighting) {
-      return getThemeColor(visuals.linkColorScheme)
+      return highlightColors[visuals.linkColorScheme][visuals.backgroundColor](
+        visuals.highlightFade * opacity,
+      )
     }
 
     if (!visuals.linkHighlight && !visuals.linkColorScheme) {
@@ -821,16 +843,26 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     }
     if (tagColors && node.tags.some((tag) => tagColors[tag])) {
       const tagColor = tagColors[node.tags.filter((tag) => tagColors[tag])[0]]
-      return getThemeColor(tagColor)
+      return highlightColors[tagColor][visuals.backgroundColor](visuals.highlightFade * opacity)
     }
     if (visuals.citeNodeColor && node.properties.ROAM_REFS && node.properties.FILELESS) {
-      return getThemeColor(visuals.citeNodeColor)
+      return needsHighlighting
+        ? getThemeColor(visuals.citeNodeColor)
+        : highlightColors[visuals.citeNodeColor][visuals.backgroundColor](
+            visuals.highlightFade * opacity,
+          )
     }
     if (visuals.refNodeColor && node.properties.ROAM_REFS) {
-      return getThemeColor(visuals.refNodeColor)
+      return needsHighlighting
+        ? getThemeColor(visuals.refNodeColor)
+        : highlightColors[visuals.refNodeColor][visuals.backgroundColor](
+            visuals.highlightFade * opacity,
+          )
     }
     if (!needsHighlighting) {
-      return getThemeColor(getNodeColorById(node.id as string))
+      return highlightColors[getNodeColorById(node.id as string)][visuals.backgroundColor](
+        visuals.highlightFade * opacity,
+      )
     }
     if (!visuals.nodeHighlight) {
       return getThemeColor(getNodeColorById(node.id as string))
@@ -858,6 +890,22 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     [visuals.labelBackgroundColor, emacsTheme],
   )
 
+  const nodeSize = (node: NodeObject) => {
+    const links = linksByNodeId[node.id!] ?? []
+    const parentNeighbors = links.length ? links.filter((link) => link.type === 'parent').length : 0
+    const basicSize =
+      3 + links.length * visuals.nodeSizeLinks - (!filter.parents ? parentNeighbors : 0)
+    if (visuals.highlightNodeSize === 1) {
+      return basicSize
+    }
+    const highlightSize =
+      highlightedNodes[node.id!] || previouslyHighlightedNodes[node.id!]
+        ? 1 + opacity * (visuals.highlightNodeSize - 1)
+        : 1
+    return basicSize * highlightSize
+  }
+
+  const [dragging, setDragging] = useState(false)
   const { isOpen, onOpen, onClose } = useDisclosure()
   const [rightClickedNode, setRightClickedNode] = useState<OrgRoamNode | null>(null)
   const [contextPos, setContextPos] = useState([0, 0])
@@ -878,25 +926,15 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
     },
     nodeRelSize: visuals.nodeRel,
     nodeVal: (node) => {
-      const links = linksByNodeId[node.id!] ?? []
-      const parentNeighbors = links.length
-        ? links.filter((link) => link.type === 'parent').length
-        : 0
-      const basicSize =
-        3 + links.length * visuals.nodeSizeLinks - (!filter.parents ? parentNeighbors : 0)
-      if (visuals.highlightNodeSize === 1) {
-        return basicSize
-      }
-      const highlightSize =
-        highlightedNodes[node.id!] || previouslyHighlightedNodes[node.id!]
-          ? 1 + opacity * (visuals.highlightNodeSize - 1)
-          : 1
-      return basicSize * highlightSize
+      return nodeSize(node)
     },
     nodeCanvasObject: (node, ctx, globalScale) => {
       if (!node) {
         return
       }
+      if (dragging) {
+        return
+      }
 
       if (!visuals.labels) {
         return
@@ -914,7 +952,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
       const nodeTitle = (node as OrgRoamNode).title!
       const label = nodeTitle.substring(0, Math.min(nodeTitle.length, 40))
       // const label = 'label'
-      const fontSize = 12 / globalScale
+      const fontSize = 14 / (0.75 * Math.min(Math.max(0.5, globalScale), 3))
       const textWidth = ctx.measureText(label).width
       const bckgDimensions = [textWidth * 1.1, fontSize].map((n) => n + fontSize * 0.5) as [
         number,
@@ -933,16 +971,16 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
         }
         return highlightedNodes[node.id!] || previouslyHighlightedNodes[node.id!]
           ? Math.max(fadeFactor, opacity)
-          : 1 * fadeFactor * (-1 * (0.5 * opacity - 1))
+          : 1 * fadeFactor * (-1 * (visuals.highlightFade * opacity - 1))
       }
-
+      const nodeS = 8 * Math.cbrt(nodeSize(node) * visuals.nodeRel)
       if (visuals.labelBackgroundColor && visuals.labelBackgroundOpacity) {
         const backgroundOpacity = getLabelOpacity() * visuals.labelBackgroundOpacity
         const labelBackground = hexToRGBA(labelBackgroundColor, backgroundOpacity)
         ctx.fillStyle = labelBackground
         ctx.fillRect(
           node.x! - bckgDimensions[0] / 2,
-          node.y! - bckgDimensions[1] / 2,
+          node.y! - bckgDimensions[1] / 2 + nodeS,
           ...bckgDimensions,
         )
       }
@@ -954,7 +992,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
       const labelText = hexToRGBA(labelTextColor, textOpacity)
       ctx.fillStyle = labelText
       ctx.font = `${fontSize}px Sans-Serif`
-      ctx.fillText(label, node.x!, node.y!)
+      ctx.fillText(label, node.x!, node.y! + nodeS)
     },
     nodeCanvasObjectMode: () => 'after',
 
@@ -977,14 +1015,18 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
           ? highlightColors[visuals.refLinkColor][
               visuals.refLinkHighlightColor || visuals.linkHighlight
             ](opacity)
-          : getThemeColor(visuals.refLinkColor)
+          : highlightColors[visuals.refLinkColor][visuals.backgroundColor](
+              visuals.highlightFade * opacity,
+            )
       }
       if (visuals.citeLinkColor && roamLink.type === 'cite') {
         return needsHighlighting && (visuals.citeLinkHighlightColor || visuals.linkHighlight)
           ? highlightColors[visuals.citeLinkColor][
               visuals.citeLinkHighlightColor || visuals.linkHighlight
             ](opacity)
-          : getThemeColor(visuals.citeLinkColor)
+          : highlightColors[visuals.citeLinkColor][visuals.backgroundColor](
+              visuals.highlightFade * opacity,
+            )
       }
 
       return getLinkColor(sourceId as string, targetId as string, needsHighlighting)
@@ -1044,6 +1086,15 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
 
       //handleClick('right', node)
     },
+    onNodeDrag: (node) => {
+      onClose()
+      setHoverNode(node)
+      setDragging(true)
+    },
+    onNodeDragEnd: (node) => {
+      setHoverNode(null)
+      setDragging(false)
+    },
   }
 
   return (
@@ -1059,6 +1110,7 @@ export const Graph = forwardRef(function (props: GraphProps, graphRef: any) {
           menuClose={onClose}
           openNodeInEmacs={openNodeInEmacs}
           deleteNodeInEmacs={deleteNodeInEmacs}
+          createNodeInEmacs={createNodeInEmacs}
         />
       )}
       {threeDim ? (
-- 
cgit v1.2.3

